codemirror-lang-svelte 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,1356 @@
1
+ import { ExternalTokenizer as m, ContextTracker as qe, LRParser as fe } from "@lezer/lr";
2
+ import { styleTags as ue, tags as r } from "@lezer/highlight";
3
+ import { syntaxTree as y, indentNodeProp as ge, LRLanguage as ve, foldNodeProp as Pe, LanguageSupport as Ve } from "@codemirror/language";
4
+ import { cssLanguage as ke, css as xe } from "@codemirror/lang-css";
5
+ import { typescriptLanguage as Te, javascriptLanguage as Oe, javascript as Qe } from "@codemirror/lang-javascript";
6
+ import { EditorSelection as _ } from "@codemirror/state";
7
+ import { EditorView as We } from "@codemirror/view";
8
+ import { parseMixed as je } from "@lezer/common";
9
+ import { parser as ye } from "@lezer/javascript";
10
+ import { snippetCompletion as $ } from "@codemirror/autocomplete";
11
+ import { htmlCompletionSource as Be } from "@codemirror/lang-html";
12
+ const Ae = 158, Ye = 1, Ee = 159, _e = 2, Ue = 160, Xe = 3, u = 4, te = 5, ne = 6, ae = 7, re = 8, Ce = 9, Re = 11, V = 161, Ze = 12, U = 162, T = 13, Q = 14, f = 15, Me = 75, Ne = 120, Ie = 123, De = 126, Ke = 128, Ge = /* @__PURE__ */ new Set([
13
+ "area",
14
+ "base",
15
+ "br",
16
+ "col",
17
+ "command",
18
+ "embed",
19
+ "frame",
20
+ "hr",
21
+ "img",
22
+ "input",
23
+ "keygen",
24
+ "link",
25
+ "meta",
26
+ "param",
27
+ "source",
28
+ "track",
29
+ "wbr",
30
+ "menuitem",
31
+ // SVG self-closing tags
32
+ "circle",
33
+ "ellipse",
34
+ "line",
35
+ "path",
36
+ "polygon",
37
+ "polyline",
38
+ "rect",
39
+ "stop",
40
+ "use"
41
+ ]), Fe = /* @__PURE__ */ new Set([
42
+ "dd",
43
+ "li",
44
+ "optgroup",
45
+ "option",
46
+ "p",
47
+ "rp",
48
+ "rt",
49
+ "tbody",
50
+ "td",
51
+ "tfoot",
52
+ "th",
53
+ "tr"
54
+ ]), Je = /* @__PURE__ */ new Map([
55
+ ["dd", /* @__PURE__ */ new Set(["dd", "dt"])],
56
+ ["dt", /* @__PURE__ */ new Set(["dd", "dt"])],
57
+ ["li", /* @__PURE__ */ new Set(["li"])],
58
+ ["option", /* @__PURE__ */ new Set(["option", "optgroup"])],
59
+ ["optgroup", /* @__PURE__ */ new Set(["optgroup"])],
60
+ [
61
+ "p",
62
+ /* @__PURE__ */ new Set([
63
+ "address",
64
+ "article",
65
+ "aside",
66
+ "blockquote",
67
+ "dir",
68
+ "div",
69
+ "dl",
70
+ "fieldset",
71
+ "footer",
72
+ "form",
73
+ "h1",
74
+ "h2",
75
+ "h3",
76
+ "h4",
77
+ "h5",
78
+ "h6",
79
+ "header",
80
+ "hgroup",
81
+ "hr",
82
+ "menu",
83
+ "nav",
84
+ "ol",
85
+ "p",
86
+ "pre",
87
+ "section",
88
+ "table",
89
+ "ul"
90
+ ])
91
+ ],
92
+ ["rp", /* @__PURE__ */ new Set(["rp", "rt"])],
93
+ ["rt", /* @__PURE__ */ new Set(["rp", "rt"])],
94
+ ["tbody", /* @__PURE__ */ new Set(["tbody", "tfoot"])],
95
+ ["td", /* @__PURE__ */ new Set(["td", "th"])],
96
+ ["tfoot", /* @__PURE__ */ new Set(["tbody"])],
97
+ ["th", /* @__PURE__ */ new Set(["td", "th"])],
98
+ ["thead", /* @__PURE__ */ new Set(["tbody", "tfoot"])],
99
+ ["tr", /* @__PURE__ */ new Set(["tr"])]
100
+ ]);
101
+ function He(e) {
102
+ return e == 45 || e == 46 || e == 58 || e >= 65 && e <= 90 || e == 95 || e >= 97 && e <= 122 || e >= 161;
103
+ }
104
+ function oe(e) {
105
+ return e == 9 || e == 10 || e == 13 || e == 32;
106
+ }
107
+ let X = null, C = null, R = 0;
108
+ function W(e, O) {
109
+ const t = e.pos + O;
110
+ if (R === t && C === e)
111
+ return X;
112
+ let n = e.peek(O);
113
+ for (; oe(n); ) n = e.peek(++O);
114
+ let a = "";
115
+ for (; He(n); )
116
+ a += String.fromCharCode(n), n = e.peek(++O);
117
+ return C = e, R = t, X = a, a ? /^[A-Z]/.test(a) ? a : a.toLowerCase() : n === ze || n === eO ? void 0 : null;
118
+ }
119
+ const se = 60, Le = 62, ie = 47, ze = 63, eO = 33;
120
+ class k {
121
+ name;
122
+ parent;
123
+ hash;
124
+ constructor(O, t) {
125
+ this.name = O, this.parent = t, this.hash = t ? t.hash : 0;
126
+ }
127
+ }
128
+ const OO = /* @__PURE__ */ new Set([
129
+ u,
130
+ re,
131
+ te,
132
+ ne,
133
+ ae
134
+ ]), tO = new qe({
135
+ start: null,
136
+ shift(e, O, t, n) {
137
+ return OO.has(O) ? new k(W(n, 1) ?? "", e) : e;
138
+ },
139
+ reduce(e, O) {
140
+ return O === Me && e ? e.parent ?? new k("", null) : e;
141
+ },
142
+ reuse(e, O, t, n) {
143
+ const a = O.type.id;
144
+ return a === u || a === Ke ? new k(W(n, 1) ?? "", e) : e;
145
+ },
146
+ hash(e) {
147
+ return e ? e.hash : 0;
148
+ },
149
+ strict: !1
150
+ }), nO = new m(
151
+ (e, O) => {
152
+ const t = e.next;
153
+ if (t !== se) {
154
+ t < 0 && O.context && e.acceptToken(V);
155
+ return;
156
+ }
157
+ e.advance();
158
+ const a = e.next === ie;
159
+ a && e.advance();
160
+ const o = W(e, 0);
161
+ if (o === void 0)
162
+ return;
163
+ if (!o) {
164
+ e.acceptToken(a ? Ze : u);
165
+ return;
166
+ }
167
+ const s = O.context ? O.context.name : null;
168
+ if (a) {
169
+ if (o === s) {
170
+ e.acceptToken(Ce);
171
+ return;
172
+ }
173
+ if (s && Fe.has(s)) {
174
+ e.acceptToken(V, -2);
175
+ return;
176
+ }
177
+ for (let i = O.context; i; i = i.parent)
178
+ if (i.name === o)
179
+ return;
180
+ e.acceptToken(Re);
181
+ return;
182
+ }
183
+ if (o === "script") {
184
+ e.acceptToken(te);
185
+ return;
186
+ }
187
+ if (o === "style") {
188
+ e.acceptToken(ne);
189
+ return;
190
+ }
191
+ if (o === "textarea") {
192
+ e.acceptToken(ae);
193
+ return;
194
+ }
195
+ if (Ge.has(o)) {
196
+ e.acceptToken(re);
197
+ return;
198
+ }
199
+ s && Je.get(s)?.has(o) ? e.acceptToken(V, -1) : e.acceptToken(u);
200
+ },
201
+ { contextual: !0 }
202
+ );
203
+ function B(e, O, t) {
204
+ const n = 2 + e.length;
205
+ return new m((a) => {
206
+ for (let o = 0, s = 0, i = 0; ; i++) {
207
+ if (a.next < 0) {
208
+ i && a.acceptToken(O);
209
+ break;
210
+ }
211
+ if (o === 0 && a.next === se || o === 1 && a.next === ie || o >= 2 && o < n && a.next === e.charCodeAt(o - 2))
212
+ o++, s++;
213
+ else if ((o === 2 || o === n) && oe(a.next))
214
+ s++;
215
+ else if (o === n && a.next === Le) {
216
+ i > s ? a.acceptToken(O, -s) : a.acceptToken(t, -(s - 2));
217
+ break;
218
+ } else if ((a.next == 10 || a.next == 13) && i) {
219
+ a.acceptToken(O, 1);
220
+ break;
221
+ } else
222
+ o = s = 0;
223
+ a.advance();
224
+ }
225
+ });
226
+ }
227
+ const aO = B(
228
+ "script",
229
+ Ae,
230
+ Ye
231
+ ), rO = B(
232
+ "style",
233
+ Ee,
234
+ _e
235
+ ), oO = B(
236
+ "textarea",
237
+ Ue,
238
+ Xe
239
+ ), sO = [
240
+ 9,
241
+ 10,
242
+ 11,
243
+ 12,
244
+ 13,
245
+ 32,
246
+ 133,
247
+ 160,
248
+ 5760,
249
+ 8192,
250
+ 8193,
251
+ 8194,
252
+ 8195,
253
+ 8196,
254
+ 8197,
255
+ 8198,
256
+ 8199,
257
+ 8200,
258
+ 8201,
259
+ 8202,
260
+ 8232,
261
+ 8233,
262
+ 8239,
263
+ 8287,
264
+ 12288
265
+ ], le = 40, g = 41, pe = 91, v = 93, ce = 123, P = 125, iO = 44, lO = 58, pO = 35, cO = 64, b = 47, $O = 62, mO = 45, Z = 34, M = 39, wO = 92, hO = 10, N = 42, I = 96, $e = [lO, pO, cO, b], bO = new m((e) => {
266
+ for (let O = 0, t = 0; ; t++) {
267
+ if (e.next < 0) {
268
+ t && e.acceptToken(U);
269
+ break;
270
+ }
271
+ if (e.next === mO)
272
+ O++;
273
+ else if (e.next === $O && O >= 2) {
274
+ t > 3 && e.acceptToken(U, -2);
275
+ break;
276
+ } else
277
+ O = 0;
278
+ e.advance();
279
+ }
280
+ });
281
+ function me(e) {
282
+ let O = !1, t = null, n = !1;
283
+ return () => O ? n ? (n = !1, !0) : e.next === wO ? (n = !0, !0) : ((t === "double" && e.next === Z || t === "single" && e.next === M || t === "template" && e.next === I) && (O = !1, t = null), !0) : e.next === Z ? (O = !0, t = "double", !0) : e.next === M ? (O = !0, t = "single", !0) : e.next === I ? (O = !0, t = "template", !0) : !1;
284
+ }
285
+ function we(e) {
286
+ let O = !1, t = !1;
287
+ return () => O ? (e.next === hO && (O = !1), !0) : t ? (e.next === N && e.peek(1) === b && (t = !1), !0) : e.next === b && e.peek(1) === b ? (O = !0, !0) : e.next === b && e.peek(1) === N ? (t = !0, !0) : !1;
288
+ }
289
+ function dO(e) {
290
+ let O = "";
291
+ for (let t = 0; t < 3; t++)
292
+ O += String.fromCharCode(e.peek(t));
293
+ return O === " as";
294
+ }
295
+ function he(e = !1) {
296
+ return (O) => {
297
+ if ($e.includes(O.next))
298
+ return;
299
+ const t = we(O), n = me(O), a = [], o = (s) => {
300
+ const i = a.lastIndexOf(s);
301
+ if (i !== -1)
302
+ for (; a.length > i; )
303
+ a.pop();
304
+ };
305
+ for (let s = 0; ; s++) {
306
+ if (O.next < 0) {
307
+ s > 0 && O.acceptToken(
308
+ e ? Q : T
309
+ );
310
+ break;
311
+ }
312
+ if (t() || n()) {
313
+ O.advance();
314
+ continue;
315
+ }
316
+ if (a.length === 0 && (O.next === P || O.next === g || O.next === v || e && dO(O))) {
317
+ O.acceptToken(
318
+ e ? Q : T
319
+ );
320
+ break;
321
+ }
322
+ switch (O.next) {
323
+ case le:
324
+ a.push("(");
325
+ break;
326
+ case g:
327
+ o("(");
328
+ break;
329
+ case pe:
330
+ a.push("[");
331
+ break;
332
+ case v:
333
+ o("[");
334
+ break;
335
+ case ce:
336
+ a.push("{");
337
+ break;
338
+ case P:
339
+ o("{");
340
+ break;
341
+ }
342
+ O.advance();
343
+ }
344
+ };
345
+ }
346
+ const SO = new m(
347
+ he()
348
+ ), qO = new m(
349
+ he(!0)
350
+ ), fO = new m((e) => {
351
+ if ($e.includes(e.peek(0)))
352
+ return;
353
+ const O = we(e), t = me(e), n = [], a = (o) => {
354
+ const s = n.lastIndexOf(o);
355
+ if (s !== -1)
356
+ for (; n.length > s; )
357
+ n.pop();
358
+ };
359
+ for (let o = 0; ; o++) {
360
+ if (e.next < 0) {
361
+ o > 0 && e.acceptToken(f);
362
+ break;
363
+ }
364
+ if (O() || t()) {
365
+ e.advance();
366
+ continue;
367
+ }
368
+ if (n.length === 0 && (e.next === P || e.next === g || e.next === v || e.next === iO)) {
369
+ e.acceptToken(f);
370
+ break;
371
+ }
372
+ switch (e.next) {
373
+ case le:
374
+ n.push("(");
375
+ break;
376
+ case g:
377
+ a("(");
378
+ break;
379
+ case pe:
380
+ n.push("[");
381
+ break;
382
+ case v:
383
+ a("[");
384
+ break;
385
+ case ce:
386
+ n.push("{");
387
+ break;
388
+ case P:
389
+ a("{");
390
+ break;
391
+ }
392
+ if (o !== 0 && n.length === 0 && sO.includes(e.next)) {
393
+ e.acceptToken(f);
394
+ break;
395
+ }
396
+ e.advance();
397
+ }
398
+ }), uO = ue({
399
+ "Text RawText": r.content,
400
+ "StartTag StartCloseTag SelfClosingEndTag EndTag": r.angleBracket,
401
+ TagName: r.tagName,
402
+ "MismatchedCloseTag/TagName": [r.tagName, r.invalid],
403
+ AttributeName: r.attributeName,
404
+ UnquotedAttributeValue: r.attributeValue,
405
+ "DoubleQuote SingleQuote AttributeValueContent": r.attributeValue,
406
+ Is: r.definitionOperator,
407
+ "EntityReference CharacterReference": r.character,
408
+ Comment: r.blockComment,
409
+ ProcessingInst: r.processingInstruction,
410
+ DoctypeDecl: r.documentMeta,
411
+ "{ }": r.bracket,
412
+ "[ ]": r.squareBracket,
413
+ "( )": r.paren,
414
+ "| , :": r.punctuation,
415
+ "...": r.derefOperator,
416
+ ComponentName: r.className,
417
+ SvelteElementNamespace: r.namespace,
418
+ SvelteElementType: r.tagName,
419
+ StyleAttributeName: r.propertyName,
420
+ BlockType: r.controlKeyword,
421
+ BlockPrefix: r.typeOperator,
422
+ "UnknownBlock/BlockType": r.invalid,
423
+ UnknownBlockContent: r.invalid,
424
+ "if then catch": r.controlKeyword,
425
+ as: r.definitionOperator,
426
+ Variable: r.variableName,
427
+ SnippetIdentifier: r.function(r.variableName),
428
+ Modifier: r.modifier,
429
+ DirectlyInterpolatedAttributeValue: r.variableName,
430
+ "DirectiveOn/DirectiveName": r.controlKeyword,
431
+ "DirectiveOn/DirectiveTarget": r.typeName,
432
+ "DirectiveUse/DirectiveName": r.controlKeyword,
433
+ "DirectiveUse/DirectiveTarget": r.function(r.variableName),
434
+ "DirectiveBind/DirectiveName": r.controlKeyword,
435
+ "DirectiveBind/DirectiveTarget": r.variableName,
436
+ "DirectiveLet/DirectiveName": r.definitionKeyword,
437
+ "DirectiveLet/DirectiveTarget": r.definition(r.variableName),
438
+ "DirectiveTransition/DirectiveName": r.operatorKeyword,
439
+ "DirectiveTransition/DirectiveTarget": r.function(r.variableName),
440
+ "DirectiveIn/DirectiveName": r.operatorKeyword,
441
+ "DirectiveIn/DirectiveTarget": r.function(r.variableName),
442
+ "DirectiveOut/DirectiveName": r.operatorKeyword,
443
+ "DirectiveOut/DirectiveTarget": r.function(r.variableName),
444
+ "DirectiveAnimate/DirectiveName": r.operatorKeyword,
445
+ "DirectiveAnimate/DirectiveTarget": r.function(r.variableName),
446
+ "DirectiveClass/DirectiveName": r.attributeName,
447
+ "DirectiveClass/DirectiveTarget": r.variableName,
448
+ "DirectiveStyle/DirectiveName": r.attributeName,
449
+ "DirectiveStyle/DirectiveTarget": r.propertyName
450
+ }), gO = { __proto__: null, "#": 43, ":": 53, "/": 61, "@": 111 }, vO = { __proto__: null, if: 46, else: 54, each: 66, await: 84, then: 92, catch: 96, key: 104, html: 112, debug: 116, const: 120, snippet: 126, render: 134, attach: 236 }, PO = { __proto__: null, if: 56, as: 68, then: 86, catch: 88 }, VO = { __proto__: null, on: 337, bind: 341, let: 343, class: 345, style: 347, use: 349, transition: 351, in: 353, out: 355, animate: 357 }, kO = { __proto__: null, svelte: 263 }, xO = fe.deserialize({
451
+ version: 14,
452
+ states: "!.YQQO&rOOO!UO&rO'#CmO#VO&rO'#C{O$WO&rO'#DUO%XO&rO'#D`O&YO&rO'#DkO'ZO,vO'#DrO'iO,UO'#DzO'qO,UO'#EzO'yO,UO'#E}O(RO,UO'#FQO(aO,UO'#FWO(iOXO'#DyO(tOYO'#DyO)PO[O'#DyO*`O&rO'#DyOOOW'#Dy'#DyO*gO,fO'#FYO(RO,UO'#F[O(RO,UO'#F]OOOW'#Fu'#FuOOOW'#F_'#F_QQO&rOOOOOW'#Fa'#FaO!UO&rO,59XOOOW,59X,59XO+QO,vO'#DrO#VO&rO,59gOOOW,59g,59gO+XO,vO'#DrOOOW'#Fb'#FbO$WO&rO,59pOOOW,59p,59pO+qO,vO'#DrOOOW'#Fc'#FcO%XO&rO,59zOOOW,59z,59zO+xO,vO'#DrO&YO&rO,5:VOOOW,5:V,5:VO,ZO,vO'#DrO,lO,UO,5:^O,qO7[O,5:_O,vO7[O,59YO-XO7[O,5:OOOO%x'#F`'#F`O-gO,UO,5:fO-oO7[O,5:fO-wO,UO,5;fO.PO7[O,5;fO.XO,UO,5;iO.aO7[O,5;iO(RO,UO,5;lO.iO7[O'#FSOOOO'#GY'#GYO.nO7[O,5;lO.yO,UO,5;rO/RO7[O,5;rOOOX'#Fj'#FjO/^OXO'#ExO/iOXO,5:eOOOY'#Fk'#FkO/qOYO'#E{O/|OYO,5:eOOO['#Fl'#FlO0UO[O'#FOO0aO[O,5:eO0iO&rO,5:eO(RO,UO'#FVOOOW,5:e,5:eOOO`'#Fn'#FnO0pO,fO,5;tOOOW,5;t,5;tO(RO,UO,5;vO0xO7[O,5;vO(RO,UO,5;wO1QO7[O,5;wOOOW-E9]-E9]OOOW-E9_-E9_OOOW1G.s1G.sO1YO7[O,59aO1_O7[O,59eOOOW1G/R1G/RO1dO7[O,59oOOOW-E9`-E9`OOOW1G/[1G/[O1iO7[O,59uO1qO7[O,59yOOOW-E9a-E9aOOOW1G/f1G/fO1vO7[O,59}OOOW1G/q1G/qO1{O7[O,5:ZOOOW1G/x1G/xO2QOMhO1G/yO'lO,UO1G.tO'lO,UO1G/SO'lO,UO1G/]O'lO,UO1G/gO'lO,UO1G/rO2]OpO1G/jO'lO,UO1G/mO2bOpO1G/oO2gOpO1G/vOOO%x-E9^-E9^O2lO7[O1G0QO2tO!LQO'#FfO2lO7[O1G0QOOOX1G0Q1G0QO3rO7[O1G1QO3rO7[O1G1QOOOY1G1Q1G1QO3zO7[O1G1TO4SO!LQO1G1TO3zO7[O1G1TOOO[1G1T1G1TO4ZO7[O1G1WO4fO$ISO,5;nO4kO!LQO1G1WO4ZO7[O1G1WOOOW1G1W1G1WOOOW1G1^1G1^O4uO7[O1G1^O5QO!LQO1G1^O4uO7[O1G1^OOOX-E9h-E9hO5[O,UO'#EyOOOW1G0P1G0POOOY-E9i-E9iO5dO,UO'#E|OOO[-E9j-E9jO5lO,UO'#FPO(RO,UO,5;qO5tO7[O,5;qOOO`-E9l-E9lOOOW1G1`1G1`O5|O7[O1G1bO5|O7[O1G1bOOOW1G1b1G1bO6UO7[O1G1cO6UO7[O1G1cOOOW1G1c1G1cP*oO,vO'#DrO6^O,UO1G.{O6fO,UO1G/PO6kO,UO1G/ZP+`O,vO'#DrO6pO,UO1G/aO6xO,UO1G/cO7QO,UO1G/eO7VO,UO1G/iO7[O,UO1G/uO7aOMhO7+%eOOOW7+%e7+%eO7lO,UO7+%eO7qO,vO7+$`O7yO-hO7+$nO8RO.zO7+$wO8ZO,vO7+%RO8cO(CWO7+%^O8kO,UO7+%UO8pO07`O7+%XO8xO,UO7+%ZO8}O,UO7+%bO9SO7[O7+%lOOOX7+%l7+%lO9[O(CWO'#D|OOOO'#ES'#ESO9mO7[O'#EROOOO'#EW'#EWO9rO7[O'#EVOOOO'#EY'#EYO9wO7[O'#EXOOOO'#E['#E[O9|O7[O'#EZOOOO'#E^'#E^O:RO7[O'#E]OOOO'#E`'#E`O:WO7[O'#E_OOOO'#Eb'#EbO:]O7[O'#EaOOOO'#Ed'#EdO:bO7[O'#EcOOOO'#Ef'#EfO:gO7[O'#EeOOOO'#Eh'#EhO:lO7[O'#EgO:qO7[O'#EQO;SO7[O'#ErO;bO7[O'#EtOOOO'#Fx'#FxOOOO,5<Q,5<QOOOO'#Fy'#FyOOOO-E9d-E9dO;sO7[O7+&lOOOY7+&l7+&lO;{O!LQO7+&oO<SO7[O7+&oOOO[7+&o7+&oO<[O!LQO7+&rO<fO7[O7+&rOOOW7+&r7+&rOOOW7+&x7+&xOOOO1G1Y1G1YOOOO,5<X,5<XOOOO-E9k-E9kO<qO!LQO7+&xO<{O7[O7+&xO=WO,UO,5;eO=`O7[O,5;eO=hO,UO,5;hO=pO7[O,5;hO=xO,UO,5;kO>QO7[O,5;kO>YO7[O1G1]O>YO7[O1G1]OOOW1G1]1G1]O>bO7[O7+&|OOOW7+&|7+&|O>jO7[O7+&}OOOW7+&}7+&}O>rO(CWO7+$gOOOW7+$g7+$gOOOW7+$k7+$kOOOW7+$u7+$uO>zO07`O7+${OOOW7+${7+${O?SO07`O7+$}OOOW7+$}7+$}OOOW7+%P7+%POOOW7+%T7+%TOOOW7+%a7+%aOOOW<<IP<<IPO?[O,UO<<IPO?aO,UO<<GzO'lO,UO<<HYO?fO,UO<<HcO?nO,UO<<HmOOOO'#Dn'#DnO?sO,UO<<HxOOOW<<Hp<<HpO?xO,UO<<HsOOOW<<Hu<<HuOOOW<<H|<<H|OOOX<<IW<<IWO@TO(CWO,5:hOOOO'#D}'#D}OOOO,5:h,5:hO@cO,UO,5:hO@kOpO,5:jO@pO7[O,5;aO@uO?MpO,5:mO@zO?MpO,5:qOAPO?MpO,5:sOAUO?MpO,5:uOAZO?MpO,5:wOA`O?MpO,5:yOAeO?MpO,5:{OAjO?MpO,5:}OAoO?MpO,5;POAtO?MpO,5;RPAyO7[O,5:lOBXO!0LbO'#FgOB^O7[O,5:lOBoO#@ItO,5:lOCQO,UO,5;^OCYO#@ItO,5;^PCkO7[O,5;`OCyO7[O,5;`OD[O#@ItO,5;`OOOY<<JW<<JWOOO[<<JZ<<JZODmO!LQO<<JZOOOW<<J^<<J^OOOW<<Jd<<JdODtO!LQO<<J^P2tO!LQO'#F`OEOO!LQO<<JdOEYO7[O1G1POEYO7[O1G1POOOW1G1P1G1POEbO7[O1G1SOEbO7[O1G1SOOOW1G1S1G1SOEjO7[O1G1VOEjO7[O1G1VOOOW1G1V1G1VOErO7[O7+&wOOOW7+&w7+&wOOOW<<Jh<<JhOOOW<<Ji<<JiO'lO,UO<<HROEzO,UO<<HgOFSO,UO<<HiOOOWAN>kAN>kOOOWAN=fAN=fOF[O(CWOAN=tOFdO(CWOAN=}OOOWAN=}AN=}OOOWAN>XAN>XOFoO07`OAN>dOFzO,UOAN>_OGVO07`O'#FdOG_O,UOAN>_OOOWAN>_AN>_OGgO(CWO1G0SOOOO1G0S1G0SOGuO,UO1G0SOG}OpO1G0UOGuO,UO1G0SOHSO,UO1G0UO'lO,UO1G0{OOOO1G0X1G0XOOOO1G0]1G0]OOOO1G0_1G0_OOOO1G0a1G0aOOOO1G0c1G0cOOOO1G0e1G0eOOOO1G0g1G0gOOOO1G0i1G0iOOOO1G0k1G0kOOOO1G0m1G0mOHXO#@ItO1G0WOOOO,5<R,5<RPHjO7[O1G0WOOOO-E9e-E9eOHXO#@ItO1G0WOHxOpO'#DrOOOO'#El'#ElOI`O&2DjO'#ElOIxO+D:UO'#ElOOOO1G0W1G0WOJPO#@ItO1G0xOJPO#@ItO1G0xOOOO1G0x1G0xOJbO#@ItO1G0zPJsO7[O1G0zOJbO#@ItO1G0zOOOO1G0z1G0zOOO[AN?uAN?uOOOWAN?xAN?xOOOWAN@OAN@OOKRO7[O7+&kOOOW7+&k7+&kOKZO7[O7+&nOOOW7+&n7+&nOKcO7[O7+&qOOOW7+&q7+&qOOOW<<Jc<<JcOKkO,vOAN=mOKsO,UOAN>ROOOWAN>RAN>ROK{O,UOAN>TOOOWAN>TAN>TO'lO,UOG23`O'lO,UOG23iOLTO07`OG24OOL`O07`O'#FeOLnO07`OG24OOLvO,UOG24OOMOO,UOG23yOOOWG23yG23yOMWO07`O,5<OOOOO,5<O,5<OOOOO-E9b-E9bOOOO7+%n7+%nOM`O,UO7+%nOMhO,UO7+%pOOOO7+%p7+%pOMmO,vO7+&gOMuO#@ItO7+%rOOOO7+%r7+%rPMuO#@ItO7+%rOOOO'#GW'#GWOOOO'#Fh'#FhONWO&2DjO'#EnOOOO,5;W,5;WON_O,UO,5;WOOOO'#Fi'#FiONdO+D:UO'#EpONkO,UO,5;WONpO#@ItO7+&dOOOO7+&d7+&dO! RO#@ItO7+&fOOOO7+&f7+&fP! RO#@ItO7+&fOOOW<<JV<<JVOOOW<<JY<<JYOOOW<<J]<<J]O! dO,UOG23XOOOWG23mG23mOOOWG23oG23oO! iO.zOLD(zO! qO.zOLD)TO! yO07`OLD)jO!!RO,UOLD)jO!!ZO07`O,5<PO!!iO07`O,5<POOOO-E9c-E9cO!!RO,UOLD)jOOOWLD)jLD)jOOOWLD)eLD)eOOOO1G1j1G1jOOOO<<IY<<IYOOOO<<I[<<I[O!!tO,UO<<JROOOO<<I^<<I^P!!yO#@ItO<<I^OOOO-E9f-E9fOOOO1G0r1G0rOOOO-E9g-E9gOOOO<<JO<<JOOOOO<<JQ<<JQP!#[O#@ItO<<JQOOOWLD(sLD(sO!#mO,UO!$'LfO!#xO,UO!$'LoO!#}O,UO!$'MUO!#}O,UO!$'MUOOOW!$'MU!$'MUO!$VO07`O1G1kOOOOAN?mAN?mPOOOAN>xAN>xPOOOAN?lAN?lO!$bO,UO!)9BQOOOW!)9BQ!)9BQO!$mO,UO!)9BQOOOW!)9BZ!)9BZO!$uO,UO!)9BpOOOW!)9Bp!)9BpOOOW!.K7l!.K7lO!$}OpO!.K7lO!%SO07`O!.K7lOOOW!.K8[!.K8[O!%bO,UO!4/-WOOOW!4/-W!4/-WO!%gOpO!4/-WO!%lO,UO!4/-WO!%tO,UO!9A!rO!%|O,UO!9A!rO!&RO,UO!9A!rOOOW!9A!r!9A!rO!&^O,UO!?$F^OOOW!?$F^!?$F^O!&^O,UO!?$F^O!&fOpO!?$F^OOOW!D6;x!D6;xO!&kO,UO!D6;xO!&sO,UO!D6;xOOOW!IH1d!IH1dO!&xO,UO!IH1dO!'QO,UO# ,'OOOOW# ,'O# ,'OOOOW#&=Jj#&=Jj",
453
+ stateData: "!'g~OSYOTVOUWOVXOWZOYcOZbO[dOcUO!idO!jdO!kdO!ldO#}dO$QeO$}aO~OSYOTVOUWOVXOWZOYcOZbO[dOcjO!idO!jdO!kdO!ldO#}dO$}aO~OSYOTVOUWOVXOWZOYcOZbO[dOcmO!idO!jdO!kdO!ldO#}dO$}aO~OSYOTVOUWOVXOWZOYcOZbO[dOcqO!idO!jdO!kdO!ldO#}dO$}aO~OSYOTVOUWOVXOWZOYcOZbO[dOcuO!idO!jdO!kdO!ldO#}dO$}aO~OSYOTVOUWOVXOWZOYcOZbO[dOcxO!idO!jdO!kdO!ldO#}dO$}aO~O]yOdzOe{O!X|O~O!o!PO$j}O~O!o!RO$j}O~O!o!TO$j}O~O!o!WO#u!WO#w!VO$j}O~O!o!ZO$j}O~O$d![OP#lP$g#lP~O$e!_OQ#oP$g#oP~O$f!bOR#rP$g#rP~OSYOTVOUWOVXOWZOX!fOYcOZbO[dOcUO!idO!jdO!kdO!ldO#}dO$}aO~O$g!gO~P)[O$h!hO%O!jO~O]yOdzOe{Oj!rO!X|O~On!sO~P*oOn!uO~P*oO]yOdzOe{Oj!xO!X|O~On!yO~P+`O]yOdzOe{On!|O!X|O~O]yOdzOe{On#OO!X|O~Oh#PO~Of#QO~Og#ROq#SOz#TO!U#UO!a#VO~O!Y#WO![#XO!^#YO!e#ZO~O!o#]O$j}O~O#k#`O$j}O~O!o#aO$j}O~O#k#cO$j}O~O!o#dO$j}O~O#k#gO$j}O~O$o#iO~O#k#lO#{#mO$j}O~O!o#nO$j}O~O#k#mO#{#mO$j}O~O$d![OP#lX$g#lX~OP#rO$g#sO~O$e!_OQ#oX$g#oX~OQ#uO$g#sO~O$f!bOR#rX$g#rX~OR#wO$g#sO~O$g#sO~P)[O$h!hO%O#{O~O#k$OO$j}O~O#k$RO$j}O~Ok$TO~Og$UO~Oq$VO~O!O$XO!Q$YO~Oz$ZO~O!U$[O~O!a$]O~Oh$_O!h$`O$j}O~O]$fO~O]$hO~O]$iO~O#k$kO$j}O~Oc$lO!w%TO#g%SO$j}O$n$mO$p$oO$q$qO$r$sO$s$uO$t$wO$u$yO$v${O$w$}O$x%PO~O#k%ZO$j}O~O#k%^O$j}O~O#k%^O~P2tO#k%aO#{%bO$j}O~O#x%cO~O#k%aO#{%bO~P2tO#k%bO#{%bO$j}O~O#k%bO#{%bO~P2tO!o%iO$j}O~O!o%kO$j}O~O!o%mO$j}O~O#k%pO$j}O~O#k%rO$j}O~O#k%tO$j}O~Oh%vO$j}O~Oh%wO~Oh%xO~Oh%zO$j}O~Oh%|O$j}O~Oh%}O~Oh&OO~Oh&PO~Oh&QO!h&RO$j}O~Oh&QO~O]&SO$j}O~O^&TO$j}O~O_&UO$j}O~O]&VO$j}O~O$j}O$k&WO~Oh&YO~Ov&ZO$j}O~Oh&[O~Oh&]O~O#k&^O$j}O~Oh&aO!X&dO!s&cO$j}O$k&`O~O$o&eO~O$o&fO~O$o&gO~O$o&hO~O$o&iO~O$o&jO~O$o&kO~O$o&lO~O$o&mO~O$o&nO~O#]&pO#_&rO#k!tX$j!tX#{!tX~O#_&tO$j}O#k#fX#{#fX~O#]&pO#_&wO#k#hX$j#hX#{#hX~O#k&xO$j}O~O#k&yO~P2tO#k&yO$j}O~O#k&{O#{&|O~P2tO#k&{O#{&|O$j}O~O#k&|O#{&|O~P2tO#k&|O#{&|O$j}O~O!o'QO$j}O~O#k'SO$j}O~O!o'TO$j}O~O#k'VO$j}O~O!o'WO$j}O~O#k'YO$j}O~O#k'[O$j}O~O#k']O$j}O~O#k'^O$j}O~Ol'_O$j}O~Ov'`O$j}O~Ov'aO$j}O~Oh'bO~Oh'cO~Oh'fO$j}O~Oh'gO~Os'hO~Oh'lOu'jO$j}O~Oh'nO!s'pO$j}O$k&`O~Oh'nO$j}O~O]'rO~O#j'sO~O!x'tO~O!x'uO~O!x'vO~O!x'wO~O!x'xO~O!x'yO~O!x'zO~O!x'{O~O!x'|O~O!x'}O~O#_(OO#k!ta$j!ta#{!ta~O#^(PO~O#]&pO#_(OO#k!ta$j!ta#{!ta~Oc(TO#a(VO#c(WO#e(XO$j}O~O#_(YO$j}O~Oc(TO#a(VO#c(WO#e([O$j}O~O#_(]O#k#ha$j#ha#{#ha~O#]&pO#_(]O#k#ha$j#ha#{#ha~Oc(TO#a(VO#c(WO#e(`O$j}O~O#k(aO~P2tO#k(bO#{(cO~P2tO#k(cO#{(cO~P2tO#k(eO$j}O~O#k(gO$j}O~O#k(iO$j}O~O#k(jO$j}O~Oh(mO$j}O~Oh(oO$j}O~Or(pO$j}O~O{(qO|(qO$j}O~Ot(uOv(sO$j}O~Oh(wOu'jO$j}O~Ov(yO$j}O~Oh(wOu'jO~Oh({O!s$Sc$j$Sc$k$Sc~Oh({O$j}O~O](}O~Oh)OO~Oc(TO#a(VO#c(WO#e)RO$j}O~O#_)SO#k!ti$j!ti#{!ti~O]yO~Oc(TO!j)TO!k)TO!l)TO$y)UO~O#a)WO~PH}Oc(TO!j)TO!k)TO!l)TO${)YO~O#c)WO~PIgOc(TO#a(VO#c(WO#e)^O$j}O~Oc(TO#a(VO#c(WO#e)`O$j}O~O#_)aO#k#hi$j#hi#{#hi~O#k)bO$j}O~O#k)cO$j}O~O#k)dO$j}O~O])eO$j}O~Oh)fO$j}O~Oh)gO$j}O~Ot)kOv(sO$j}O~Ou'jO$j}Ot$XXv$XX~Ot)kOv(sO~Oh)pO$j}O~Oh)qOu'jO~Ov)rO$j}O~Oh)sO$j}O~Oh)tO~O])uO$j}O~Oc(TO#a(VO#c(WO#e)vO$j}O~O#a#bX~PH}O#a)yO~O#c#dX~PIgO#c)yO~Oc(TO#a(VO#c(WO#e){O$j}O~Oc(TO#a(VO#c(WO#e)|O$j}O~Oh*OO~O_*PO$j}O~O_*QO$j}O~Ot*ROv(sO~Oh*TO$j}O~Ou'jO$j}Ot$Xav$Xa~Ou'jOt$Xav$Xa~Oh*VO~Oc(TO#a(VO#c(WO#e*WO$j}O~Oc(TO#a(VO#c(WO#e*XO$j}O~Oh*ZOu*[O$j}O~Oh*]O~Oh*_O$j}O~Ou'jOt$Xiv$Xi~Oh*`Os*aO$j}O~Oh*`O$j}O~Oh*cO$j}O~O]*dO~Oh*eOs*fOv*gO$j}O~Ot*hO~O]*iO~Oh*kO$j}O~Oh*mO$j}O~Ot*nO~Oh*mOs*oO$j}O~Oh*pO$j}O~O]*rO~Oh*sO$j}O~Ot*tO~Oh*vO$j}O~Oh*wO$j}O~O!h$j#{$}#}$Q!k!j#g!w!l#k~",
454
+ goto: ";z$}PPPPPPPPPPPPPPPPP%O%`PPPPPP%pPPP%vP%O%|PPPPPP&^%O&dPPP&tP&tP&x%O'OP'`%OPP%OP%OP%O'fP'v'y%OP(P%OPPPPP%O(yP)Z)h)ZP)Z)n){PP)n*Y)n*g)n*t)n+R)n+`)n+m)n+z)n,X)n,fPPP,sP-kP-nP)ZP)Z)ZPP-q-t-w.X.[._.o.r.uP/VPP/a/gP%OP%O%OP/w/}6z7U7[7j7|8W8r8|9S9Y9`9f9l:OPPPPPP:UPP:l:{PPPPPPPPPPPP;YP;bmdOPQRST_fhkosv!emPOPQRST_fhkosv!eXgPQhkQiPR!qhmQOPQRST_fhkosv!eQlQR!tkmROPQRST_fhkosv!eTnRoQpRR!womSOPQRST_fhkosv!eQtSR!{smTOPQRST_fhkosv!eR&X$eQwTR!}vldOPQRST_fhkosv!ep(U&r&t&w(O(S(Y(Z(](_)Q)S)])_)a)w)}X)T(V(W)V)Zm[OPQRST_fhkosv!eg%U#^#e#j#o%[%_%f&z&}'O'PQ&b$lR'o&_g%W#^#e#j#o%[%_%f&z&}'O'Pg$n#^#e#j#o%[%_%f&z&}'O'Pg$p#^#e#j#o%[%_%f&z&}'O'Pg$r#^#e#j#o%[%_%f&z&}'O'Pg$t#^#e#j#o%[%_%f&z&}'O'Pg$v#^#e#j#o%[%_%f&z&}'O'Pg$x#^#e#j#o%[%_%f&z&}'O'Pg$z#^#e#j#o%[%_%f&z&}'O'Pg$|#^#e#j#o%[%_%f&z&}'O'Pg%O#^#e#j#o%[%_%f&z&}'O'Pg%Q#^#e#j#o%[%_%f&z&}'O'PQ(X&rQ([&tQ(`&wS)R(O(SS)^(Y(ZS)`(](_S)v)Q)SQ){)]S)|)_)aQ*W)wR*X)}R)X(VR)[(WR!^[R#s!^m]OPQRST_fhkosv!eR!a]R#s!am^OPQRST_fhkosv!eR!d^R#s!dm_OPQRST_fhkosv!ea!WYbc!U!f!k!m#xQ!g_R#s!em`OPQRST_fhkosv!eQfOR!ofQ!OVQ!QWQ!SXQ!UYQ!YZQ!kbQ!mc$^#[!O!Q!S!U!Y!k!m#^#e#j#o#x#}$Q$^$a$b$c$d$e$g%[%_%f%h%j%l%o%q%s%u%y%{&s&z&}'O'P'R'U'X'Z'd'e'i'q(S(Z(_(d(f(h(k(l(n(r(x(|)P)Q)])_)h)i)l)o)w)}*S*Y*^*b*j*l*q*u`#^!P!R#]#_#a#b$j%YQ#e!TQ#j!XQ#o!ZQ#x!fQ#}!lQ$Q!nQ$^#QQ$a#RQ$b#SQ$c#TQ$d#UQ$e#VQ$g#XS%[#d#fS%_#h#kS%f#n#pQ%h#rQ%j#uQ%l#wQ%o#yQ%q#|Q%s$PQ%u$TQ%y$XQ%{$YQ&_$lQ&s%SQ&z%]Q&}%`Q'P%gQ'R%iQ'U%kQ'X%mQ'Z%nQ'd&TQ'e&UQ'i&ZQ'm&_Q'q&bQ(S&rQ(Z&tQ(_&wQ(d'QQ(f'TQ(h'WQ(k'_Q(l'`Q(n'aQ(r'hQ(x'jQ(|'oQ)P'sQ)Q(OQ)](YQ)_(]Q)h(pQ)i(qQ)l(sQ)o(uQ)w)SQ)})aQ*S)kQ*Y*PQ*^*RQ*b*[Q*j*gQ*l*hQ*q*nR*u*tQhPQkQT!phkQoRR!voQsSQvTQ!e_V!zsv!eQ'k&ZQ(v'iW(z'k(v)m*UQ)m(sR*U)lQ(t'hQ)j(rT)n(t)jQ#_!PQ#b!RQ#f!TQ$j#][%X#_#b#f$j%Y%]Q%Y#aR%]#dQ&q%RQ&v%TT(R&q&vQ)V(VR)x)VQ)Z(WR)z)ZQ!][R#q!]Q!`]R#t!`Q!c^R#v!cQ#k!XQ#p!ZQ%`#hW%e#k#p%`%gR%g#nQ!iaR#z!iSeOfWgPQhkSnRo]rST_sv!eW%V#^#e%[&z_%d#j#o%_%f&}'O'Pg%R#^#e#j#o%[%_%f&z&}'O'PS)U(V)VT)Y(W)ZQ!XYQ!lbQ!ncQ#h!UQ#y!fQ#|!kQ$P!mR%n#x",
455
+ nodeNames: "⚠ StartCloseTag StartCloseTag StartCloseTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag LongExpression AsTerminatedLongExpression ShortExpression Document IfBlock IfBlockOpen { BlockPrefix BlockPrefix BlockType BlockType } ElseBlock BlockPrefix BlockType if IfBlockClose BlockPrefix EachBlock EachBlockOpen BlockType as ( ) , Variable EachBlockClose AwaitBlock AwaitBlockOpen BlockType then catch ThenBlock BlockType CatchBlock BlockType AwaitBlockClose KeyBlock KeyBlockOpen BlockType KeyBlockClose RawHTMLBlock BlockPrefix BlockType DebugBlock BlockType ConstBlock BlockType SnippetBlock SnippetBlockOpen BlockType SnippetIdentifier SnippetBlockClose RenderBlock BlockType Interpolation UnknownBlock UnknownBlockContent Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName DirectlyInterpolatedAttribute DirectlyInterpolatedAttributeValue SpreadInterpolatedAttribute ... Directive DirectiveOn DirectiveName AttributeName DirectiveTarget DirectiveBind DirectiveName DirectiveLet DirectiveName DirectiveClass DirectiveName DirectiveStyle DirectiveName DirectiveUse DirectiveName DirectiveTransition DirectiveName DirectiveIn DirectiveName DirectiveOut DirectiveName DirectiveAnimate DirectiveName | Modifier Is AttributeValue DoubleQuote AttributeValueContent SingleQuote AttributeValueContent UnquotedAttributeValue StyleAttribute StyleAttributeName Attribute Attachment BlockType EndTag ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag ComponentName SvelteElementName SvelteElementNamespace SvelteElementType CloseTag SelfClosingTag SelfClosingEndTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",
456
+ maxTerm: 184,
457
+ context: tO,
458
+ nodeProps: [
459
+ ["closedBy", -10, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, "EndTag", 4, "EndTag SelfClosingEndTag", 18, "IfBlockClose", 19, "}", 32, "EachBlockClose", 35, "(", 41, "AwaitBlockClose", 49, "AwaitBlockOpen", 51, "KeyBlockClose", 62, "SnippetBlockClose", -4, 76, 122, 125, 128, "CloseTag", 109, '"', 111, "'"],
460
+ ["group", -15, 12, 54, 57, 59, 66, 68, 69, 72, 73, 74, 75, 136, 137, 138, 139, "Entity", -5, 17, 31, 40, 50, 61, "Block Entity", -5, 18, 32, 41, 51, 62, "BlockOpen", -3, 25, 45, 47, "BlockInline", -5, 29, 39, 49, 53, 65, "BlockClose", 71, "Entity TextContent", -3, 120, 123, 126, "TextContent Entity"],
461
+ ["openedBy", 24, "{", 29, "IfBlockOpen", 36, ")", 39, "EachBlockOpen", 53, "KeyBlockOpen", 65, "SnippetBlockOpen", 109, '"', 111, "'", 119, "StartTag StartCloseTag StartSelfClosingTag", -4, 121, 124, 127, 133, "OpenTag", 135, "StartTag"]
462
+ ],
463
+ propSources: [uO],
464
+ skippedNodes: [0],
465
+ repeatNodeCount: 16,
466
+ tokenData: "%Eq$IRR!dOX%aXY/TYZ/TZ[%a[]1{]^/T^p%apq/Tqr2yrsETstFRtuHluv2yvw!)Owx#+fxy#,dyz#.}z|2y|}#1h}!O#4R!O!P#JV!P!Q$#n!Q![2y![!]$&g!]!^2y!^!_$(a!_!`$5X!`!a$6X!a!b2y!b!cFR!c!}$7X!}#R2y#R#S$Nb#S#T%2y#T#o%4y#o#p%>]#p#q%>p#q#r%@h#r#s2y#s$f%a$f$g2y$g%WHl%W%o$Nb%o%pHl%p&a$Nb&a&bHl&b1p$Nb1p4UHl4U4d$Nb4d4eHl4e$IS$Nb$IS$I`Hl$I`$Ib$Nb$Ib$KhHl$Kh%#t$Nb%#t&/xHl&/x&Et$Nb&Et&FVHl&FV;'S$Nb;'S;:j%By;:j;=`%CP<%l?&rHl?&r?Ah$Nb?Ah?BY%CV?BY?Mn$Nb?MnO%CV$3P%ng!iP#e7[$yMh${!LQ!hWOX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!a(w!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'V7e'`g!iP#e7[!hWOX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!a(w!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'VX)OZ!iP!hWOv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(wW)vS!hWO#q)q#r;'S)q;'S;=`*S<%lO)qW*VP;=`<%l)qP*_U!iPOv*Yw!^*Y!_#o*Y#p;'S*Y;'S;=`*q<%lO*YP*tP;=`<%l*YX*zP;=`<%l(w7d+Uc#e7[!hWOX*}XZ)qZ[*}[^)q^p*}pq)qqr*}rs)qsw*}wx)qx!^*}!^!a)q!a#S*}#S#T)q#T#q*}#q#r,a#r;'S*};'S;=`-[<%lO*}7[,fY#e7[OX,aZ[,a^p,aqr,asw,ax!^,a!a#S,a#T;'S,a;'S;=`-U<%lO,a7[-XP;=`<%l,a7d-_P;=`<%l*}7]-id!iP#e7[OX-bXZ*YZ[-b[^*Y^p-bpq*Yqr-brs*Ysv-bvw,awx*Yx!^-b!_!a*Y!a#S-b#S#T*Y#T#o-b#o#p,a#p;'S-b;'S;=`.w<%lO-b7].zP;=`<%l-b7e/QP;=`<%l'V$7o/bb!iP$yMh${!LQ!hW$j<SOX(wXY0jYZ0jZ](w]^0j^p(wpq0jqv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w<T0sb!iP!hW$j<SOX(wXY0jYZ0jZ](w]^0j^p(wpq0jqv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w#Js2WZ!iP$yMh${!LQ!hWOv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$DR3^p!x&j#^,U!iP#e7[$yMh${!LQ!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_)q!_!a(w!a#S5b#S#T>s#T#o5b#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f;'S5b;'S;=`D}<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VHg5qp!x&j#^,U!iP#e7[!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_)q!_!a(w!a#S5b#S#T>s#T#o5b#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f;'S5b;'S;=`D}<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VHf8Sm!x&j#^,U#e7[!hW!w`OX*}XZ)qZ[*}[^)q^p*}pq)qqr7urs)qsw7uwx)qx!P7u!P!Q*}!Q![7u![!]*}!]!^7u!^!a)q!a#S7u#S#T9}#T#o7u#o#q*}#q#r<v#r#s7u#s$f*}$f;'S7u;'S;=`>m<%l?Ah7u?Ah?BY*}?BY?Mn7u?MnO*}2Y:Yf!x&j#^,U!hW!w`Oq)qqr9}rs)qsw9}wx)qx!P9}!P!Q)q!Q![9}![!])q!]!^9}!^!a)q!a#o9}#o#q)q#q#r;n#r#s9}#s$f)q$f;'S9};'S;=`<p<%l?Ah9}?Ah?BY)q?BY?Mn9}?MnO)q2Q;wZ!x&j#^,U!w`qr;nsw;nx!P;n!Q![;n!]!^;n!a#o;n#q#s;n$f;'S;n;'S;=`<j<%l?Ah;n?BY?Mn;n2Q<mP;=`<%l;n2Y<sP;=`<%l9}H^=Rf!x&j#^,U#e7[!w`OX,aZ[,a^p,aqr<vsw<vx!P<v!P!Q,a!Q![<v![!],a!]!^<v!a#S<v#S#T;n#T#o<v#o#q,a#q#s<v#s$f,a$f;'S<v;'S;=`>g<%l?Ah<v?Ah?BY,a?BY?Mn<v?MnO,aH^>jP;=`<%l<vHf>pP;=`<%l7u2Z?Qi!x&j#^,U!iP!hW!w`Oq(wqr>srs(wsv>svw9}wx(wx!P>s!P!Q(w!Q![>s![!](w!]!^>s!^!_)q!_!a(w!a#o>s#o#p)q#p#q(w#q#r@o#r#s>s#s$f(w$f;'S>s;'S;=`Bf<%l?Ah>s?Ah?BY(w?BY?Mn>s?MnO(w2R@zf!x&j#^,U!iP!w`Oq*Yqr@ors*Ysv@ovw;nwx*Yx!P@o!P!Q*Y!Q![@o![!]*Y!]!^@o!_!a*Y!a#o@o#p#q*Y#q#s@o#s$f*Y$f;'S@o;'S;=`B`<%l?Ah@o?Ah?BY*Y?BY?Mn@o?MnO*Y2RBcP;=`<%l@o2ZBiP;=`<%l>sH_Byn!x&j#^,U!iP#e7[!w`OX-bXZ*YZ[-b[^*Y^p-bpq*YqrBlrs*YsvBlvw<vwx*Yx!PBl!P!Q-b!Q![Bl![!]-b!]!^Bl!_!a*Y!a#SBl#S#T@o#T#oBl#o#p,a#p#q-b#q#sBl#s$f-b$f;'SBl;'S;=`Dw<%l?AhBl?Ah?BY-b?BY?MnBl?MnO-bH_DzP;=`<%lBlHgEQP;=`<%l5b$3RE`Z#a!5v!iP${!LQ!hWOv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$EgFhpd!d!x&j#^,U!iP#e7[$yMh${!LQ!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_)q!_!a(w!a#S5b#S#T>s#T#o5b#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f;'S5b;'S;=`D}<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$H_IVwfS!x&j#^,U!iP#e7[v#t$yMh${!LQ$k!b!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuKpuv5bvw7uwx(wx!O5b!O!PNp!P!Q'V!Q![Kp![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}Kp!}#R5b#R#SKp#S#T>s#T#oKp#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$g5b$g;'SKp;'S;=`!&[<%l?AhKp?Ah?BY!&b?BY?MnKp?MnO!&bLsLVwfS!x&j#^,U!iP#e7[v#t$k!b!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuKpuv5bvw7uwx(wx!O5b!O!PNp!P!Q'V!Q![Kp![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}Kp!}#R5b#R#SKp#S#T>s#T#oKp#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$g5b$g;'SKp;'S;=`!&[<%l?AhKp?Ah?BY!&b?BY?MnKp?MnO!&bK]! Rw!x&j#^,U!iP#e7[v#t!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuNpuv5bvw7uwx(wx!O5b!O!PNp!P!Q'V!Q![Np![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}Np!}#R5b#R#SNp#S#T>s#T#oNp#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$g5b$g;'SNp;'S;=`!#l<%l?AhNp?Ah?BY!#r?BY?MnNp?MnO!#rK]!#oP;=`<%lNp:Z!#}q!iP#e7[v#t!hWOX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wst'Vtu!#ruv'Vvw*}wx(wx!O'V!O!P!#r!P!Q'V!Q![!#r![!^'V!^!_)q!_!a(w!a!c'V!c!}!#r!}#R'V#R#S!#r#S#T(w#T#o!#r#o#p*}#p#q'V#q#r-b#r$g'V$g;'S!#r;'S;=`!&U<%lO!#r:Z!&XP;=`<%l!#rLs!&_P;=`<%lKp;q!&qqfS!iP#e7[v#t$k!b!hWOX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wst'Vtu!&buv'Vvw*}wx(wx!O'V!O!P!#r!P!Q'V!Q![!&b![!^'V!^!_)q!_!a(w!a!c'V!c!}!&b!}#R'V#R#S!&b#S#T(w#T#o!&b#o#p*}#p#q'V#q#r-b#r$g'V$g;'S!&b;'S;=`!(x<%lO!&b;q!({P;=`<%l!&b$DR!)_n!x&j#^,U#e7[!hW!w`!l#JkOX!+]XZ!,uZ[!+][^!,u^p!+]pq)qqr!2qrs!,ust!Aktw!2qwx!,ux!P!2q!P!Q!+]!Q![!2q![!]!+]!]!^7u!^!a!,u!a#S!2q#S#T!7W#T#o!2q#o#q!+]#q#r!=i#r#s!2q#s$f!+]$f;'S!2q;'S;=`!Ae<%l?Ah!2q?Ah?BY!+]?BY?Mn!2q?MnO!+]$3P!+de#e7[!hWOX!+]XZ!,uZ[!+][^!,u^p!+]pq)qqr!+]rs!,ust*}tw!+]wx!,ux!]!+]!]!^!.{!^!a!,u!a#S!+]#S#T!,u#T#q!+]#q#r!0a#r;'S!+];'S;=`!2k<%lO!+]#Js!,zZ!hWOp!,upq)qqs!,ust)qt!]!,u!]!^!-m!^#q!,u#q#r!.Q#r;'S!,u;'S;=`!.u<%lO!,u#Js!-tS!hW!j#JkO#q)q#r;'S)q;'S;=`*S<%lO)q#Jk!.TVOp!.Qqs!.Qt!]!.Q!]!^!.j!^;'S!.Q;'S;=`!.o<%lO!.Q#Jk!.oO!j#Jk#Jk!.rP;=`<%l!.Q#Js!.xP;=`<%l!,u$3P!/Uc#e7[!hW!j#JkOX*}XZ)qZ[*}[^)q^p*}pq)qqr*}rs)qsw*}wx)qx!^*}!^!a)q!a#S*}#S#T)q#T#q*}#q#r,a#r;'S*};'S;=`-[<%lO*}$2w!0fb#e7[OX!0aXZ!.QZ[!0a[^!.Q^p!0aqr!0ars!.Qst,atw!0awx!.Qx!]!0a!]!^!1n!^!a!.Q!a#S!0a#S#T!.Q#T;'S!0a;'S;=`!2e<%lO!0a$2w!1uY#e7[!j#JkOX,aZ[,a^p,aqr,asw,ax!^,a!a#S,a#T;'S,a;'S;=`-U<%lO,a$2w!2hP;=`<%l!0a$3P!2nP;=`<%l!+]$DR!3On!x&j#^,U#e7[!hW!w`OX!+]XZ!,uZ[!+][^!,u^p!+]pq)qqr!2qrs!,ust7utw!2qwx!,ux!P!2q!P!Q!+]!Q![!2q![!]!+]!]!^!4|!^!a!,u!a#S!2q#S#T!7W#T#o!2q#o#q!+]#q#r!=i#r#s!2q#s$f!+]$f;'S!2q;'S;=`!Ae<%l?Ah!2q?Ah?BY!+]?BY?Mn!2q?MnO!+]$DR!5]m!x&j#^,U#e7[!hW!j#Jk!w`OX*}XZ)qZ[*}[^)q^p*}pq)qqr7urs)qsw7uwx)qx!P7u!P!Q*}!Q![7u![!]*}!]!^7u!^!a)q!a#S7u#S#T9}#T#o7u#o#q*}#q#r<v#r#s7u#s$f*}$f;'S7u;'S;=`>m<%l?Ah7u?Ah?BY*}?BY?Mn7u?MnO*}$-u!7ch!x&j#^,U!hW!w`Op!,upq)qqr!7Wrs!,ust9}tw!7Wwx!,ux!P!7W!P!Q!,u!Q![!7W![!]!,u!]!^!8}!^!a!,u!a#o!7W#o#q!,u#q#r!:p#r#s!7W#s$f!,u$f;'S!7W;'S;=`!=c<%l?Ah!7W?Ah?BY!,u?BY?Mn!7W?MnO!,u$-u!9[f!x&j#^,U!hW!j#Jk!w`Oq)qqr9}rs)qsw9}wx)qx!P9}!P!Q)q!Q![9}![!])q!]!^9}!^!a)q!a#o9}#o#q)q#q#r;n#r#s9}#s$f)q$f;'S9};'S;=`<p<%l?Ah9}?Ah?BY)q?BY?Mn9}?MnO)q$-m!:yf!x&j#^,U!w`Op!.Qqr!:prs!.Qst;ntw!:pwx!.Qx!P!:p!P!Q!.Q!Q![!:p![!]!.Q!]!^!<_!^!a!.Q!a#o!:p#o#q!.Q#q#s!:p#s$f!.Q$f;'S!:p;'S;=`!=]<%l?Ah!:p?Ah?BY!.Q?BY?Mn!:p?MnO!.Q$-m!<jZ!x&j#^,U!j#Jk!w`qr;nsw;nx!P;n!Q![;n!]!^;n!a#o;n#q#s;n$f;'S;n;'S;=`<j<%l?Ah;n?BY?Mn;n$-m!=`P;=`<%l!:p$-u!=fP;=`<%l!7W$Cy!=tl!x&j#^,U#e7[!w`OX!0aXZ!.QZ[!0a[^!.Q^p!0aqr!=irs!.Qst<vtw!=iwx!.Qx!P!=i!P!Q!0a!Q![!=i![!]!0a!]!^!?l!^!a!.Q!a#S!=i#S#T!:p#T#o!=i#o#q!0a#q#s!=i#s$f!0a$f;'S!=i;'S;=`!A_<%l?Ah!=i?Ah?BY!0a?BY?Mn!=i?MnO!0a$Cy!?yf!x&j#^,U#e7[!j#Jk!w`OX,aZ[,a^p,aqr<vsw<vx!P<v!P!Q,a!Q![<v![!],a!]!^<v!a#S<v#S#T;n#T#o<v#o#q,a#q#s<v#s$f,a$f;'S<v;'S;=`>g<%l?Ah<v?Ah?BY,a?BY?Mn<v?MnO,a$Cy!AbP;=`<%l!=i$DR!AhP;=`<%l!2q$DR!Axm!x&j#^,U#e7[!hW!w`OX!CsXZ!EYZ[!Cs[^!EY^p!Cspq)qqr!Jxrs!EYsw!Jxwx!EYx!P!Jx!P!Q!Cs!Q![!Jx![!]!Cs!]!^7u!^!a!EY!a#S!Jx#S#T# [#T#o!Jx#o#q!Cs#q#r#'g#r#s!Jx#s$f!Cs$f;'S!Jx;'S;=`#+`<%l?Ah!Jx?Ah?BY!Cs?BY?Mn!Jx?MnO!Cs$3P!Czd#e7[!hWOX!CsXZ!EYZ[!Cs[^!EY^p!Cspq)qqr!Csrs!EYsw!Cswx!EYx!]!Cs!]!^!GV!^!a!EY!a#S!Cs#S#T!EY#T#q!Cs#q#r!Hk#r;'S!Cs;'S;=`!Jr<%lO!Cs#Js!E_X!hWOp!EYpq)qq!]!EY!]!^!Ez!^#q!EY#q#r!F_#r;'S!EY;'S;=`!GP<%lO!EY#Js!FRS!hW!k#JkO#q)q#r;'S)q;'S;=`*S<%lO)q#Jk!FbUOp!F_q!]!F_!]!^!Ft!^;'S!F_;'S;=`!Fy<%lO!F_#Jk!FyO!k#Jk#Jk!F|P;=`<%l!F_#Js!GSP;=`<%l!EY$3P!G`c#e7[!hW!k#JkOX*}XZ)qZ[*}[^)q^p*}pq)qqr*}rs)qsw*}wx)qx!^*}!^!a)q!a#S*}#S#T)q#T#q*}#q#r,a#r;'S*};'S;=`-[<%lO*}$2w!Hpa#e7[OX!HkXZ!F_Z[!Hk[^!F_^p!Hkqr!Hkrs!F_sw!Hkwx!F_x!]!Hk!]!^!Iu!^!a!F_!a#S!Hk#S#T!F_#T;'S!Hk;'S;=`!Jl<%lO!Hk$2w!I|Y#e7[!k#JkOX,aZ[,a^p,aqr,asw,ax!^,a!a#S,a#T;'S,a;'S;=`-U<%lO,a$2w!JoP;=`<%l!Hk$3P!JuP;=`<%l!Cs$DR!KVm!x&j#^,U#e7[!hW!w`OX!CsXZ!EYZ[!Cs[^!EY^p!Cspq)qqr!Jxrs!EYsw!Jxwx!EYx!P!Jx!P!Q!Cs!Q![!Jx![!]!Cs!]!^!MQ!^!a!EY!a#S!Jx#S#T# [#T#o!Jx#o#q!Cs#q#r#'g#r#s!Jx#s$f!Cs$f;'S!Jx;'S;=`#+`<%l?Ah!Jx?Ah?BY!Cs?BY?Mn!Jx?MnO!Cs$DR!Mam!x&j#^,U#e7[!hW!k#Jk!w`OX*}XZ)qZ[*}[^)q^p*}pq)qqr7urs)qsw7uwx)qx!P7u!P!Q*}!Q![7u![!]*}!]!^7u!^!a)q!a#S7u#S#T9}#T#o7u#o#q*}#q#r<v#r#s7u#s$f*}$f;'S7u;'S;=`>m<%l?Ah7u?Ah?BY*}?BY?Mn7u?MnO*}$-u# gg!x&j#^,U!hW!w`Op!EYpq)qqr# [rs!EYsw# [wx!EYx!P# [!P!Q!EY!Q![# [![!]!EY!]!^##O!^!a!EY!a#o# [#o#q!EY#q#r#$q#r#s# [#s$f!EY$f;'S# [;'S;=`#'a<%l?Ah# [?Ah?BY!EY?BY?Mn# [?MnO!EY$-u##]f!x&j#^,U!hW!k#Jk!w`Oq)qqr9}rs)qsw9}wx)qx!P9}!P!Q)q!Q![9}![!])q!]!^9}!^!a)q!a#o9}#o#q)q#q#r;n#r#s9}#s$f)q$f;'S9};'S;=`<p<%l?Ah9}?Ah?BY)q?BY?Mn9}?MnO)q$-m#$ze!x&j#^,U!w`Op!F_qr#$qrs!F_sw#$qwx!F_x!P#$q!P!Q!F_!Q![#$q![!]!F_!]!^#&]!^!a!F_!a#o#$q#o#q!F_#q#s#$q#s$f!F_$f;'S#$q;'S;=`#'Z<%l?Ah#$q?Ah?BY!F_?BY?Mn#$q?MnO!F_$-m#&hZ!x&j#^,U!k#Jk!w`qr;nsw;nx!P;n!Q![;n!]!^;n!a#o;n#q#s;n$f;'S;n;'S;=`<j<%l?Ah;n?BY?Mn;n$-m#'^P;=`<%l#$q$-u#'dP;=`<%l# [$Cy#'rk!x&j#^,U#e7[!w`OX!HkXZ!F_Z[!Hk[^!F_^p!Hkqr#'grs!F_sw#'gwx!F_x!P#'g!P!Q!Hk!Q![#'g![!]!Hk!]!^#)g!^!a!F_!a#S#'g#S#T#$q#T#o#'g#o#q!Hk#q#s#'g#s$f!Hk$f;'S#'g;'S;=`#+Y<%l?Ah#'g?Ah?BY!Hk?BY?Mn#'g?MnO!Hk$Cy#)tf!x&j#^,U#e7[!k#Jk!w`OX,aZ[,a^p,aqr<vsw<vx!P<v!P!Q,a!Q![<v![!],a!]!^<v!a#S<v#S#T;n#T#o<v#o#q,a#q#s<v#s$f,a$f;'S<v;'S;=`>g<%l?Ah<v?Ah?BY,a?BY?Mn<v?MnO,a$Cy#+]P;=`<%l#'g$DR#+cP;=`<%l!Jx$3R#+qZ#c#4`!iP$yMh!hWOv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$Fy#,yps#v!x&j#^,U!iP#e7[$yMh${!LQ!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_)q!_!a(w!a#S5b#S#T>s#T#o5b#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f;'S5b;'S;=`D}<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$Fy#/dpt#v!x&j#^,U!iP#e7[$yMh${!LQ!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_)q!_!a(w!a#S5b#S#T>s#T#o5b#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f;'S5b;'S;=`D}<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$Fy#1}pu#v!x&j#^,U!iP#e7[$yMh${!LQ!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_)q!_!a(w!a#S5b#S#T>s#T#o5b#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f;'S5b;'S;=`D}<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$DT#4fr!x&j#^,U!iP#e7[$yMh${!LQ!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx}5b}!O#6p!O!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_)q!_!a(w!a#S5b#S#T>s#T#o5b#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f;'S5b;'S;=`D}<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VHi#7Pq!x&j#^,U!iP#e7[!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr#9Wrs(wsv#9Wvw#;mwx(wx!P#9W!P!Q'V!Q![#9W![!]'V!]!^#9W!^!_)q!_!`(w!`!a#IZ!a#S#9W#S#T#Bs#T#o#9W#o#p*}#p#q'V#q#r#Fp#r#s#9W#s$f'V$f;'S#9W;'S;=`#IT<%l?Ah#9W?Ah?BY'V?BY?Mn#9W?MnO'VHg#9ip!x&j#^,U!iP#e7[!hW#g`!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr#9Wrs(wsv#9Wvw#;mwx(wx!P#9W!P!Q'V!Q![#9W![!]'V!]!^#9W!^!_)q!_!a(w!a#S#9W#S#T#Bs#T#o#9W#o#p*}#p#q'V#q#r#Fp#r#s#9W#s$f'V$f;'S#9W;'S;=`#IT<%l?Ah#9W?Ah?BY'V?BY?Mn#9W?MnO'VHf#;|m!x&j#^,U#e7[!hW#g`!w`OX*}XZ)qZ[*}[^)q^p*}pq)qqr#;mrs)qsw#;mwx)qx!P#;m!P!Q*}!Q![#;m![!]*}!]!^#;m!^!a)q!a#S#;m#S#T#=w#T#o#;m#o#q*}#q#r#@t#r#s#;m#s$f*}$f;'S#;m;'S;=`#Bm<%l?Ah#;m?Ah?BY*}?BY?Mn#;m?MnO*}2Y#>Uf!x&j#^,U!hW#g`!w`Oq)qqr#=wrs)qsw#=wwx)qx!P#=w!P!Q)q!Q![#=w![!])q!]!^#=w!^!a)q!a#o#=w#o#q)q#q#r#?j#r#s#=w#s$f)q$f;'S#=w;'S;=`#@n<%l?Ah#=w?Ah?BY)q?BY?Mn#=w?MnO)q2Q#?uZ!x&j#^,U#g`!w`qr#?jsw#?jx!P#?j!Q![#?j!]!^#?j!a#o#?j#q#s#?j$f;'S#?j;'S;=`#@h<%l?Ah#?j?BY?Mn#?j2Q#@kP;=`<%l#?j2Y#@qP;=`<%l#=wH^#ARf!x&j#^,U#e7[#g`!w`OX,aZ[,a^p,aqr#@tsw#@tx!P#@t!P!Q,a!Q![#@t![!],a!]!^#@t!a#S#@t#S#T#?j#T#o#@t#o#q,a#q#s#@t#s$f,a$f;'S#@t;'S;=`#Bg<%l?Ah#@t?Ah?BY,a?BY?Mn#@t?MnO,aH^#BjP;=`<%l#@tHf#BpP;=`<%l#;m2Z#CSi!x&j#^,U!iP!hW#g`!w`Oq(wqr#Bsrs(wsv#Bsvw#=wwx(wx!P#Bs!P!Q(w!Q![#Bs![!](w!]!^#Bs!^!_)q!_!a(w!a#o#Bs#o#p)q#p#q(w#q#r#Dq#r#s#Bs#s$f(w$f;'S#Bs;'S;=`#Fj<%l?Ah#Bs?Ah?BY(w?BY?Mn#Bs?MnO(w2R#EOf!x&j#^,U!iP#g`!w`Oq*Yqr#Dqrs*Ysv#Dqvw#?jwx*Yx!P#Dq!P!Q*Y!Q![#Dq![!]*Y!]!^#Dq!_!a*Y!a#o#Dq#p#q*Y#q#s#Dq#s$f*Y$f;'S#Dq;'S;=`#Fd<%l?Ah#Dq?Ah?BY*Y?BY?Mn#Dq?MnO*Y2R#FgP;=`<%l#Dq2Z#FmP;=`<%l#BsH_#GPn!x&j#^,U!iP#e7[#g`!w`OX-bXZ*YZ[-b[^*Y^p-bpq*Yqr#Fprs*Ysv#Fpvw#@twx*Yx!P#Fp!P!Q-b!Q![#Fp![!]-b!]!^#Fp!_!a*Y!a#S#Fp#S#T#Dq#T#o#Fp#o#p,a#p#q-b#q#s#Fp#s$f-b$f;'S#Fp;'S;=`#H}<%l?Ah#Fp?Ah?BY-b?BY?Mn#Fp?MnO-bH_#IQP;=`<%l#FpHg#IWP;=`<%l#9WZ#IdZ!iP%OQ!hWOv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$Ee#Jjq!x&j#^,U!iP#e7[$yMh${!LQ!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!O5b!O!P#Lq!P!Q'V!Q![5b![!]'V!]!^5b!^!_)q!_!a(w!a#S5b#S#T>s#T#o5b#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f;'S5b;'S;=`D}<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VIy#MQq!x&j#^,U!iP#e7[!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!O5b!O!P$ X!P!Q'V!Q![5b![!]'V!]!^5b!^!_)q!_!a(w!a#S5b#S#T>s#T#o5b#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f;'S5b;'S;=`D}<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'VIy$ jp!s!b!x&j#^,U!iP#e7[!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx!P5b!P!Q'V!Q![5b![!]'V!]!^5b!^!_)q!_!a(w!a#S5b#S#T>s#T#o5b#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f;'S5b;'S;=`D}<%l?Ah5b?Ah?BY'V?BY?Mn5b?MnO'V$4y$#}hd!d!iP#e7[$yMh${!LQ!hWOX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!`(w!`!a$%i!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'Vm$%tZ!iP!hW#{d#kdOv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$4i$&xg$oSd!d!iP#e7[$yMh${!LQ!hWOX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!a(w!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'V#Js$(jW$yMh${!LQ!hWOq)qqr$)Sr!a)q!a!b$2g!b#q)q#r;'S)q;'S;=`*S<%lO)qX$)XY!hWO})q}!O$)w!O!f)q!f!g$*s!g#W)q#W#X$/g#X#q)q#r;'S)q;'S;=`*S<%lO)qX$)|U!hWO})q}!O$*`!O#q)q#r;'S)q;'S;=`*S<%lO)qX$*gS!hW$}PO#q)q#r;'S)q;'S;=`*S<%lO)qX$*xU!hWO!q)q!q!r$+[!r#q)q#r;'S)q;'S;=`*S<%lO)qX$+aU!hWO!e)q!e!f$+s!f#q)q#r;'S)q;'S;=`*S<%lO)qX$+xU!hWO!v)q!v!w$,[!w#q)q#r;'S)q;'S;=`*S<%lO)qX$,aU!hWO!{)q!{!|$,s!|#q)q#r;'S)q;'S;=`*S<%lO)qX$,xU!hWO!r)q!r!s$-[!s#q)q#r;'S)q;'S;=`*S<%lO)qX$-aU!hWO!g)q!g!h$-s!h#q)q#r;'S)q;'S;=`*S<%lO)qX$-xV!hWO!`$-s!`!a$._!a#q$-s#q#r$.r#r;'S$-s;'S;=`$/a<%lO$-sX$.fS!hW$QPO#q)q#r;'S)q;'S;=`*S<%lO)qP$.uTO!`$.r!`!a$/U!a;'S$.r;'S;=`$/Z<%lO$.rP$/ZO$QPP$/^P;=`<%l$.rX$/dP;=`<%l$-sX$/lU!hWO#c)q#c#d$0O#d#q)q#r;'S)q;'S;=`*S<%lO)qX$0TU!hWO#V)q#V#W$0g#W#q)q#r;'S)q;'S;=`*S<%lO)qX$0lU!hWO#h)q#h#i$1O#i#q)q#r;'S)q;'S;=`*S<%lO)qX$1TU!hWO#m)q#m#n$1g#n#q)q#r;'S)q;'S;=`*S<%lO)qX$1lU!hWO#d)q#d#e$2O#e#q)q#r;'S)q;'S;=`*S<%lO)qX$2TU!hWO#X)q#X#Y$-s#Y#q)q#r;'S)q;'S;=`*S<%lO)qX$2lV!hWO!a$2g!a!b$3R!b#q$2g#q#r$4Q#r;'S$2g;'S;=`$5R<%lO$2gX$3WV!hWO!`$2g!`!a$3m!a#q$2g#q#r$4Q#r;'S$2g;'S;=`$5R<%lO$2gX$3tS!hW#}PO#q)q#r;'S)q;'S;=`*S<%lO)qP$4TTO!a$4Q!a!b$4d!b;'S$4Q;'S;=`$4{<%lO$4QP$4gTO!`$4Q!`!a$4v!a;'S$4Q;'S;=`$4{<%lO$4QP$4{O#}PP$5OP;=`<%l$4QX$5UP;=`<%l$2g#Jy$5fZ#_U!iP$yMh${!LQ!hWOv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w#KX$6fZ!iP$yMh${!LQ!hW#kdOv(wvw)qw!^(w!^!_)q!_#o(w#o#p)q#p#q(w#q#r*Y#r;'S(w;'S;=`*w<%lO(w$IR$7v!afS#uQ!x&j#^,U#xp!iP#e7[v#t$yMh${!LQ$k!b!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuKpuv5bvw7uwx(wx}5b}!O$;{!O!P$@`!P!Q'V!Q![$EO![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}$Ir!}#R5b#R#S$EO#S#T>s#T#o$Ir#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$g5b$g$}Kp$}%O$EO%O%WKp%W%o$EO%o%pKp%p&a$EO&a&bKp&b1p$EO1p4U$EO4U4d$EO4d4eKp4e$IS$EO$IS$I`Kp$I`$Ib$EO$Ib$JeKp$Je$Jg$EO$Jg$KhKp$Kh%#t$EO%#t&/xKp&/x&Et$EO&Et&FVKp&FV;'S$EO;'S;:j$Il;:j;=`!&[<%l?&rKp?&r?Ah$EO?Ah?BY!&b?BY?Mn$EO?MnO!&bHi$<^!^#uQ!x&j#^,U!iP#e7[!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx}5b}!O$;{!O!P$;{!P!Q'V!Q![$;{![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}$;{!}#R5b#R#S$;{#S#T>s#T#o$;{#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$}5b$}%O$;{%O%W5b%W%o$;{%o%p5b%p&a$;{&a&b5b&b1p$;{1p4U$;{4U4d$;{4d4e5b4e$IS$;{$IS$I`5b$I`$Ib$;{$Ib$Je5b$Je$Jg$;{$Jg$Kh5b$Kh%#t$;{%#t&/x5b&/x&Et$;{&Et&FV5b&FV;'S$;{;'S;:j$@Y;:j;=`D}<%l?&r5b?&r?Ah$;{?Ah?BY'V?BY?Mn$;{?MnO'VHi$@]P;=`<%l$;{K_$@s!a#uQ!x&j#^,U!iP#e7[v#t!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuNpuv5bvw7uwx(wx}5b}!O$;{!O!P$@`!P!Q'V!Q![$@`![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}$@`!}#R5b#R#S$@`#S#T>s#T#o$@`#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$g5b$g$}Np$}%O$@`%O%WNp%W%o$@`%o%pNp%p&a$@`&a&bNp&b1p$@`1p4U$@`4U4d$@`4d4eNp4e$IS$@`$IS$I`Np$I`$Ib$@`$Ib$JeNp$Je$Jg$@`$Jg$KhNp$Kh%#t$@`%#t&/xNp&/x&Et$@`&Et&FVNp&FV;'S$@`;'S;:j$Dx;:j;=`!#l<%l?&rNp?&r?Ah$@`?Ah?BY!#r?BY?Mn$@`?MnO!#rK_$D{P;=`<%l$@`Lu$Eg!afS#uQ!x&j#^,U!iP#e7[v#t$k!b!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuKpuv5bvw7uwx(wx}5b}!O$;{!O!P$@`!P!Q'V!Q![$EO![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}$EO!}#R5b#R#S$EO#S#T>s#T#o$EO#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$g5b$g$}Kp$}%O$EO%O%WKp%W%o$EO%o%pKp%p&a$EO&a&bKp&b1p$EO1p4U$EO4U4d$EO4d4eKp4e$IS$EO$IS$I`Kp$I`$Ib$EO$Ib$JeKp$Je$Jg$EO$Jg$KhKp$Kh%#t$EO%#t&/xKp&/x&Et$EO&Et&FVKp&FV;'S$EO;'S;:j$Il;:j;=`!&[<%l?&rKp?&r?Ah$EO?Ah?BY!&b?BY?Mn$EO?MnO!&bLu$IoP;=`<%l$EOMg$J]!afS#uQ!x&j#^,U#xp!iP#e7[v#t$k!b!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuKpuv5bvw7uwx(wx}5b}!O$;{!O!P$@`!P!Q'V!Q![$EO![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}$Ir!}#R5b#R#S$EO#S#T>s#T#o$Ir#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$g5b$g$}Kp$}%O$EO%O%WKp%W%o$EO%o%pKp%p&a$EO&a&bKp&b1p$EO1p4U$EO4U4d$EO4d4eKp4e$IS$EO$IS$I`Kp$I`$Ib$EO$Ib$JeKp$Je$Jg$EO$Jg$KhKp$Kh%#t$EO%#t&/xKp&/x&Et$EO&Et&FVKp&FV;'S$EO;'S;:j$Il;:j;=`!&[<%l?&rKp?&r?Ah$EO?Ah?BY!&b?BY?Mn$EO?MnO!&b$Ha$N}!afS!x&j#^,U!oQ!iP#e7[v#t$yMh${!LQ$k!b!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuKpuv5bvw7uwx(wx}5b}!O%%S!O!P%)g!P!Q'V!Q![%.V![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}%.V!}#R5b#R#S%.V#S#T>s#T#o%.V#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$g5b$g$}Kp$}%O%.V%O%WKp%W%o%.V%o%pKp%p&a%.V&a&bKp&b1p%.V1p4U%.V4U4d%.V4d4eKp4e$IS%.V$IS$I`Kp$I`$Ib%.V$Ib$JeKp$Je$Jg%.V$Jg$KhKp$Kh%#t%.V%#t&/xKp&/x&Et%.V&Et&FVKp&FV;'S%.V;'S;:j%2s;:j;=`!&[<%l?&rKp?&r?Ah%.V?Ah?BY!&b?BY?Mn%.V?MnO!&bHi%%e!^!x&j#^,U!oQ!iP#e7[!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wsv5bvw7uwx(wx}5b}!O%%S!O!P%%S!P!Q'V!Q![%%S![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}%%S!}#R5b#R#S%%S#S#T>s#T#o%%S#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$}5b$}%O%%S%O%W5b%W%o%%S%o%p5b%p&a%%S&a&b5b&b1p%%S1p4U%%S4U4d%%S4d4e5b4e$IS%%S$IS$I`5b$I`$Ib%%S$Ib$Je5b$Je$Jg%%S$Jg$Kh5b$Kh%#t%%S%#t&/x5b&/x&Et%%S&Et&FV5b&FV;'S%%S;'S;:j%)a;:j;=`D}<%l?&r5b?&r?Ah%%S?Ah?BY'V?BY?Mn%%S?MnO'VHi%)dP;=`<%l%%SK_%)z!a!x&j#^,U!oQ!iP#e7[v#t!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuNpuv5bvw7uwx(wx}5b}!O%%S!O!P%)g!P!Q'V!Q![%)g![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}%)g!}#R5b#R#S%)g#S#T>s#T#o%)g#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$g5b$g$}Np$}%O%)g%O%WNp%W%o%)g%o%pNp%p&a%)g&a&bNp&b1p%)g1p4U%)g4U4d%)g4d4eNp4e$IS%)g$IS$I`Np$I`$Ib%)g$Ib$JeNp$Je$Jg%)g$Jg$KhNp$Kh%#t%)g%#t&/xNp&/x&Et%)g&Et&FVNp&FV;'S%)g;'S;:j%.P;:j;=`!#l<%l?&rNp?&r?Ah%)g?Ah?BY!#r?BY?Mn%)g?MnO!#rK_%.SP;=`<%l%)gLu%.n!afS!x&j#^,U!oQ!iP#e7[v#t$k!b!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuKpuv5bvw7uwx(wx}5b}!O%%S!O!P%)g!P!Q'V!Q![%.V![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}%.V!}#R5b#R#S%.V#S#T>s#T#o%.V#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$g5b$g$}Kp$}%O%.V%O%WKp%W%o%.V%o%pKp%p&a%.V&a&bKp&b1p%.V1p4U%.V4U4d%.V4d4eKp4e$IS%.V$IS$I`Kp$I`$Ib%.V$Ib$JeKp$Je$Jg%.V$Jg$KhKp$Kh%#t%.V%#t&/xKp&/x&Et%.V&Et&FVKp&FV;'S%.V;'S;:j%2s;:j;=`!&[<%l?&rKp?&r?Ah%.V?Ah?BY!&b?BY?Mn%.V?MnO!&bLu%2vP;=`<%l%.V$-u%3[i!x&j#^,U!iP$yMh${!LQ!hW!w`Oq(wqr>srs(wsv>svw9}wx(wx!P>s!P!Q(w!Q![>s![!](w!]!^>s!^!_)q!_!a(w!a#o>s#o#p)q#p#q(w#q#r@o#r#s>s#s$f(w$f;'S>s;'S;=`Bf<%l?Ah>s?Ah?BY(w?BY?Mn>s?MnO(w$IR%5h!afS!x&j#^,U#xp!oQ!iP#e7[v#t$yMh${!LQ$k!b!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuKpuv5bvw7uwx(wx}5b}!O%%S!O!P%)g!P!Q'V!Q![%.V![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}%9m!}#R5b#R#S%.V#S#T>s#T#o%9m#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$g5b$g$}Kp$}%O%.V%O%WKp%W%o%.V%o%pKp%p&a%.V&a&bKp&b1p%.V1p4U%.V4U4d%.V4d4eKp4e$IS%.V$IS$I`Kp$I`$Ib%.V$Ib$JeKp$Je$Jg%.V$Jg$KhKp$Kh%#t%.V%#t&/xKp&/x&Et%.V&Et&FVKp&FV;'S%.V;'S;:j%2s;:j;=`!&[<%l?&rKp?&r?Ah%.V?Ah?BY!&b?BY?Mn%.V?MnO!&bMg%:W!afS!x&j#^,U#xp!oQ!iP#e7[v#t$k!b!hW!w`OX'VXZ(wZ['V[^(w^p'Vpq(wqr5brs(wst5btuKpuv5bvw7uwx(wx}5b}!O%%S!O!P%)g!P!Q'V!Q![%.V![!]'V!]!^5b!^!_)q!_!a(w!a!c5b!c!}%9m!}#R5b#R#S%.V#S#T>s#T#o%9m#o#p*}#p#q'V#q#rBl#r#s5b#s$f'V$f$g5b$g$}Kp$}%O%.V%O%WKp%W%o%.V%o%pKp%p&a%.V&a&bKp&b1p%.V1p4U%.V4U4d%.V4d4eKp4e$IS%.V$IS$I`Kp$I`$Ib%.V$Ib$JeKp$Je$Jg%.V$Jg$KhKp$Kh%#t%.V%#t&/xKp&/x&Et%.V&Et&FVKp&FV;'S%.V;'S;:j%2s;:j;=`!&[<%l?&rKp?&r?Ah%.V?Ah?BY!&b?BY?Mn%.V?MnO!&b$3a%>dSc$3X!hWO#q)q#r;'S)q;'S;=`*S<%lO)q$3T%?Pg#]S!iP#e7[$yMh${!LQ!hWOX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wsv'Vvw*}wx(wx!^'V!^!_)q!_!a(w!a#S'V#S#T(w#T#o'V#o#p*}#p#q'V#q#r-b#r;'S'V;'S;=`.}<%lO'V$H]%@{nh%b!x&j#^,U!iP#e7[$yMh${!LQ!w`OX-bXZ*YZ[-b[^*Y^p-bpq*YqrBlrs*YsvBlvw<vwx*Yx!PBl!P!Q-b!Q![Bl![!]-b!]!^Bl!_!a*Y!a#SBl#S#T@o#T#oBl#o#p,a#p#q-b#q#sBl#s$f-b$f;'SBl;'S;=`Dw<%l?AhBl?Ah?BY-b?BY?MnBl?MnO-b$Ha%B|P;=`<%l$Nb$H_%CSP;=`<%lHl$7]%CjqfS!iP#e7[v#t$yMh${!LQ$k!b!hWOX'VXZ(wZ['V[^(w^p'Vpq(wqr'Vrs(wst'Vtu!&buv'Vvw*}wx(wx!O'V!O!P!#r!P!Q'V!Q![!&b![!^'V!^!_)q!_!a(w!a!c'V!c!}!&b!}#R'V#R#S!&b#S#T(w#T#o!&b#o#p*}#p#q'V#q#r-b#r$g'V$g;'S!&b;'S;=`!(x<%lO!&b",
467
+ tokenizers: [aO, rO, oO, nO, bO, SO, qO, fO, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
468
+ topRules: { Document: [0, 16] },
469
+ specialized: [{ term: 20, get: (e) => gO[e] || -1 }, { term: 22, get: (e) => vO[e] || -1 }, { term: 165, get: (e) => PO[e] || -1 }, { term: 85, get: (e) => VO[e] || -1 }, { term: 77, get: (e) => kO[e] || -1 }],
470
+ tokenPrec: 2402
471
+ });
472
+ function TO(e, O) {
473
+ const t = /* @__PURE__ */ Object.create(null), n = (
474
+ // The firstChild is the open tag node
475
+ e.firstChild?.getChildren("Attributes") ?? []
476
+ );
477
+ for (const a of n) {
478
+ const o = a.getChild("AttributeName"), s = a.getChild("AttributeValue") ?? a.getChild("UnquotedAttributeValue");
479
+ o && (t[O.read(o.from, o.to)] = s ? s.name == "AttributeValue" ? O.read(s.from + 1, s.to - 1) : O.read(s.from, s.to) : "");
480
+ }
481
+ return t;
482
+ }
483
+ function x(e, O, t) {
484
+ const n = e.node.parent;
485
+ if (!n)
486
+ return null;
487
+ const a = TO(n, O);
488
+ for (const o of t)
489
+ if (!o.attributeMatcher || o.attributeMatcher(a))
490
+ return { parser: o.parser };
491
+ return null;
492
+ }
493
+ const QO = ye.configure({
494
+ top: "SingleExpression"
495
+ });
496
+ function WO(e) {
497
+ const O = [], t = [], n = [];
498
+ for (const a of e) {
499
+ const { tag: o } = a;
500
+ (o === "script" ? O : o === "style" ? t : n).push(a);
501
+ }
502
+ return je((a, o) => {
503
+ const s = a.type.id;
504
+ return s === T || s === Q || s === f ? { parser: QO } : s === Ne ? x(a, o, O) : s === Ie ? x(a, o, t) : s === De ? x(a, o, n) : null;
505
+ });
506
+ }
507
+ const jO = [
508
+ { name: "onabort" },
509
+ { name: "onanimationcancel" },
510
+ { name: "onanimationend" },
511
+ { name: "onanimationiteration" },
512
+ { name: "onanimationstart" },
513
+ { name: "onauxclick" },
514
+ { name: "onbeforeinput" },
515
+ { name: "onblur" },
516
+ { name: "oncancel" },
517
+ { name: "oncanplay" },
518
+ { name: "oncanplaythrough" },
519
+ { name: "onchange" },
520
+ { name: "onclick" },
521
+ { name: "onclose" },
522
+ { name: "oncontextmenu" },
523
+ { name: "oncopy" },
524
+ { name: "oncuechange" },
525
+ { name: "oncut" },
526
+ { name: "ondblclick" },
527
+ { name: "ondrag" },
528
+ { name: "ondragend" },
529
+ { name: "ondragenter" },
530
+ { name: "ondragleave" },
531
+ { name: "ondragover" },
532
+ { name: "ondragstart" },
533
+ { name: "ondrop" },
534
+ { name: "ondurationchange" },
535
+ { name: "onemptied" },
536
+ { name: "onended" },
537
+ { name: "onerror" },
538
+ { name: "onfocus" },
539
+ { name: "onformdata" },
540
+ { name: "ongotpointercapture" },
541
+ { name: "oninput" },
542
+ { name: "oninvalid" },
543
+ { name: "onkeydown" },
544
+ { name: "onkeypress" },
545
+ { name: "onkeyup" },
546
+ { name: "onload" },
547
+ { name: "onloadeddata" },
548
+ { name: "onloadedmetadata" },
549
+ { name: "onloadstart" },
550
+ { name: "onlostpointercapture" },
551
+ { name: "onmousedown" },
552
+ { name: "onmouseenter" },
553
+ { name: "onmouseleave" },
554
+ { name: "onmousemove" },
555
+ { name: "onmouseout" },
556
+ { name: "onmouseover" },
557
+ { name: "onmouseup" },
558
+ { name: "onpaste" },
559
+ { name: "onpause" },
560
+ { name: "onplay" },
561
+ { name: "onplaying" },
562
+ { name: "onpointercancel" },
563
+ { name: "onpointerdown" },
564
+ { name: "onpointerenter" },
565
+ { name: "onpointerleave" },
566
+ { name: "onpointermove" },
567
+ { name: "onpointerout" },
568
+ { name: "onpointerover" },
569
+ { name: "onpointerup" },
570
+ { name: "onprogress" },
571
+ { name: "onratechange" },
572
+ { name: "onreset" },
573
+ { name: "onresize" },
574
+ { name: "onscroll" },
575
+ { name: "onsecuritypolicyviolation" },
576
+ { name: "onseeked" },
577
+ { name: "onseeking" },
578
+ { name: "onselect" },
579
+ { name: "onselectionchange" },
580
+ { name: "onselectstart" },
581
+ { name: "onslotchange" },
582
+ { name: "onstalled" },
583
+ { name: "onsubmit" },
584
+ { name: "onsuspend" },
585
+ { name: "ontimeupdate" },
586
+ { name: "ontoggle" },
587
+ { name: "ontouchcancel" },
588
+ { name: "ontouchend" },
589
+ { name: "ontouchmove" },
590
+ { name: "ontouchstart" },
591
+ { name: "ontransitioncancel" },
592
+ { name: "ontransitionend" },
593
+ { name: "ontransitionrun" },
594
+ { name: "ontransitionstart" },
595
+ { name: "onvolumechange" },
596
+ { name: "onwaiting" },
597
+ { name: "onwebkitanimationend" },
598
+ { name: "onwebkitanimationiteration" },
599
+ { name: "onwebkitanimationstart" },
600
+ { name: "onwebkittransitionend" },
601
+ { name: "onwheel" }
602
+ ], D = [
603
+ ...jO,
604
+ {
605
+ name: "onintrostart",
606
+ description: "Available when element has transition"
607
+ },
608
+ {
609
+ name: "onintroend",
610
+ description: "Available when element has transition"
611
+ },
612
+ {
613
+ name: "onoutrostart",
614
+ description: "Available when element has transition"
615
+ },
616
+ {
617
+ name: "onoutroend",
618
+ description: "Available when element has transition"
619
+ }
620
+ ], yO = [
621
+ {
622
+ name: "bind:innerHTML",
623
+ description: "Available when contenteditable=true"
624
+ },
625
+ {
626
+ name: "bind:textContent",
627
+ description: "Available when contenteditable=true"
628
+ },
629
+ {
630
+ name: "bind:innerText",
631
+ description: "Available when contenteditable=true"
632
+ },
633
+ {
634
+ name: "bind:clientWidth",
635
+ description: "Available on all visible elements. (read-only)"
636
+ },
637
+ {
638
+ name: "bind:clientHeight",
639
+ description: "Available on all visible elements. (read-only)"
640
+ },
641
+ {
642
+ name: "bind:offsetWidth",
643
+ description: "Available on all visible elements. (read-only)"
644
+ },
645
+ {
646
+ name: "bind:offsetHeight",
647
+ description: "Available on all visible elements. (read-only)"
648
+ },
649
+ {
650
+ name: "bind:this",
651
+ description: "To get a reference to a DOM node, use bind:this. If used on a component, gets a reference to that component instance."
652
+ }
653
+ ], be = [
654
+ {
655
+ name: "data-sveltekit-keepfocus",
656
+ description: "SvelteKit-specific attribute. Currently focused element will retain focus after navigation. Otherwise, focus will be reset to the body.",
657
+ valueSet: "v",
658
+ values: [{ name: "off" }]
659
+ },
660
+ {
661
+ name: "data-sveltekit-noscroll",
662
+ description: "SvelteKit-specific attribute. Will prevent scrolling after the link is clicked.",
663
+ valueSet: "v",
664
+ values: [{ name: "off" }]
665
+ },
666
+ {
667
+ name: "data-sveltekit-preload-code",
668
+ description: "SvelteKit-specific attribute. Will cause SvelteKit to run the page's load function as soon as the user hovers over the link (on a desktop) or touches it (on mobile), rather than waiting for the click event to trigger navigation.",
669
+ valueSet: "v",
670
+ values: [
671
+ { name: "eager" },
672
+ { name: "viewport" },
673
+ { name: "hover" },
674
+ { name: "tap" },
675
+ { name: "off" }
676
+ ]
677
+ },
678
+ {
679
+ name: "data-sveltekit-preload-data",
680
+ description: "SvelteKit-specific attribute. Will cause SvelteKit to run the page's load function as soon as the user hovers over the link (on a desktop) or touches it (on mobile), rather than waiting for the click event to trigger navigation.",
681
+ valueSet: "v",
682
+ values: [{ name: "hover" }, { name: "tap" }, { name: "off" }]
683
+ },
684
+ {
685
+ name: "data-sveltekit-reload",
686
+ description: "SvelteKit-specific attribute. Will cause SvelteKit to do a normal browser navigation which results in a full page reload.",
687
+ valueSet: "v",
688
+ values: [{ name: "off" }]
689
+ },
690
+ {
691
+ name: "data-sveltekit-replacestate",
692
+ description: "SvelteKit-specific attribute. Will replace the current `history` entry rather than creating a new one with `pushState` when the link is clicked.",
693
+ valueSet: "v",
694
+ values: [{ name: "off" }]
695
+ }
696
+ ], de = [
697
+ {
698
+ name: "svelte:self",
699
+ description: `Allows a component to include itself, recursively.
700
+
701
+ It cannot appear at the top level of your markup; it must be inside an if or each block to prevent an infinite loop.`,
702
+ attributes: []
703
+ },
704
+ {
705
+ name: "svelte:component",
706
+ description: `Renders a component dynamically, using the component constructor specified as the this property. When the property changes, the component is destroyed and recreated.
707
+
708
+ If this is falsy, no component is rendered.`,
709
+ attributes: [
710
+ {
711
+ name: "this",
712
+ description: `Component to render.
713
+
714
+ When this property changes, the component is destroyed and recreated.
715
+ If this is falsy, no component is rendered.`
716
+ }
717
+ ]
718
+ },
719
+ {
720
+ name: "svelte:element",
721
+ description: `Renders a DOM element dynamically, using the string as the this property. When the property changes, the element is destroyed and recreated.
722
+
723
+ If this is falsy, no element is rendered.`,
724
+ attributes: [
725
+ {
726
+ name: "this",
727
+ description: `DOM element to render.
728
+
729
+ When this property changes, the element is destroyed and recreated.
730
+ If this is falsy, no element is rendered.`
731
+ }
732
+ ]
733
+ },
734
+ {
735
+ name: "svelte:window",
736
+ description: "Allows you to add event listeners to the window object without worrying about removing them when the component is destroyed, or checking for the existence of window when server-side rendering.",
737
+ attributes: [
738
+ {
739
+ name: "bind:innerWidth",
740
+ description: "Bind to the inner width of the window. (read-only)"
741
+ },
742
+ {
743
+ name: "bind:innerHeight",
744
+ description: "Bind to the inner height of the window. (read-only)"
745
+ },
746
+ {
747
+ name: "bind:outerWidth",
748
+ description: "Bind to the outer width of the window. (read-only)"
749
+ },
750
+ {
751
+ name: "bind:outerHeight",
752
+ description: "Bind to the outer height of the window. (read-only)"
753
+ },
754
+ {
755
+ name: "bind:scrollX",
756
+ description: "Bind to the scroll x position of the window."
757
+ },
758
+ {
759
+ name: "bind:scrollY",
760
+ description: "Bind to the scroll y position of the window."
761
+ },
762
+ {
763
+ name: "bind:online",
764
+ description: "An alias for window.navigator.onLine"
765
+ },
766
+ // window events
767
+ { name: "onafterprint" },
768
+ { name: "onbeforeprint" },
769
+ { name: "onbeforeunload" },
770
+ { name: "ongamepadconnected" },
771
+ { name: "ongamepaddisconnected" },
772
+ { name: "onhashchange" },
773
+ { name: "onlanguagechange" },
774
+ { name: "onmessage" },
775
+ { name: "onmessageerror" },
776
+ { name: "onoffline" },
777
+ { name: "ononline" },
778
+ { name: "onpagehide" },
779
+ { name: "onpageshow" },
780
+ { name: "onpopstate" },
781
+ { name: "onrejectionhandled" },
782
+ { name: "onstorage" },
783
+ { name: "onunhandledrejection" },
784
+ { name: "onunload" }
785
+ ]
786
+ },
787
+ {
788
+ name: "svelte:document",
789
+ description: "As with <svelte:window>, this element allows you to add listeners to events on document, such as visibilitychange, which don't fire on window.",
790
+ attributes: [
791
+ // document events
792
+ { name: "onfullscreenchange" },
793
+ { name: "onfullscreenerror" },
794
+ { name: "onpointerlockchange" },
795
+ { name: "onpointerlockerror" },
796
+ { name: "onreadystatechange" },
797
+ { name: "onvisibilitychange" }
798
+ ]
799
+ },
800
+ {
801
+ name: "svelte:body",
802
+ description: "As with <svelte:window>, this element allows you to add listeners to events on document.body, such as mouseenter and mouseleave which don't fire on window.",
803
+ attributes: []
804
+ },
805
+ {
806
+ name: "svelte:head",
807
+ description: "This element makes it possible to insert elements into document.head. During server-side rendering, head content exposed separately to the main html content.",
808
+ attributes: []
809
+ },
810
+ {
811
+ name: "svelte:options",
812
+ description: "Provides a place to specify per-component compiler options",
813
+ attributes: [
814
+ {
815
+ name: "immutable",
816
+ description: "If true, tells the compiler that you promise not to mutate any objects. This allows it to be less conservative about checking whether values have changed.",
817
+ values: [
818
+ {
819
+ name: "{true}",
820
+ description: "You never use mutable data, so the compiler can do simple referential equality checks to determine if values have changed"
821
+ },
822
+ {
823
+ name: "{false}",
824
+ description: "The default. Svelte will be more conservative about whether or not mutable objects have changed"
825
+ }
826
+ ]
827
+ },
828
+ {
829
+ name: "accessors",
830
+ description: "If true, getters and setters will be created for the component's props. If false, they will only be created for readonly exported values (i.e. those declared with const, class and function). If compiling with customElement: true this option defaults to true.",
831
+ values: [
832
+ {
833
+ name: "{true}",
834
+ description: "Adds getters and setters for the component's props"
835
+ },
836
+ {
837
+ name: "{false}",
838
+ description: "The default."
839
+ }
840
+ ]
841
+ },
842
+ {
843
+ name: "namespace",
844
+ description: 'The namespace where this component will be used, most commonly "svg"'
845
+ },
846
+ {
847
+ name: "tag",
848
+ description: "The name to use when compiling this component as a custom element"
849
+ }
850
+ ]
851
+ },
852
+ {
853
+ name: "svelte:fragment",
854
+ description: "This element is useful if you want to assign a component to a named slot without creating a wrapper DOM element.",
855
+ attributes: [
856
+ {
857
+ name: "slot",
858
+ description: "The name of the named slot that should be targeted."
859
+ }
860
+ ]
861
+ },
862
+ {
863
+ name: "slot",
864
+ description: `Components can have child content, in the same way that elements can.
865
+
866
+ The content is exposed in the child component using the <slot> element, which can contain fallback content that is rendered if no children are provided.`,
867
+ attributes: [
868
+ {
869
+ name: "name",
870
+ description: "Named slots allow consumers to target specific areas. They can also have fallback content."
871
+ }
872
+ ]
873
+ }
874
+ ], K = [
875
+ {
876
+ name: "bind:duration",
877
+ description: "The total duration of the video, in seconds. (readonly)"
878
+ },
879
+ {
880
+ name: "bind:buffered",
881
+ description: "An array of {start, end} objects. (readonly)"
882
+ },
883
+ {
884
+ name: "bind:seekable",
885
+ description: "An array of {start, end} objects. (readonly)"
886
+ },
887
+ {
888
+ name: "bind:played",
889
+ description: "An array of {start, end} objects. (readonly)"
890
+ },
891
+ {
892
+ name: "bind:seeking",
893
+ description: "boolean. (readonly)"
894
+ },
895
+ {
896
+ name: "bind:ended",
897
+ description: "boolean. (readonly)"
898
+ },
899
+ {
900
+ name: "bind:currentTime",
901
+ description: "The current point in the video, in seconds."
902
+ },
903
+ {
904
+ name: "bind:playbackRate",
905
+ description: "how fast or slow to play the video, where 1 is 'normal'"
906
+ },
907
+ {
908
+ name: "bind:paused"
909
+ },
910
+ {
911
+ name: "bind:volume",
912
+ description: "A value between 0 and 1"
913
+ },
914
+ {
915
+ name: "bind:muted"
916
+ },
917
+ {
918
+ name: "bind:readyState"
919
+ }
920
+ ], BO = [
921
+ {
922
+ name: "bind:videoWidth",
923
+ description: "readonly"
924
+ },
925
+ {
926
+ name: "bind:videoHeight",
927
+ description: "readonly"
928
+ }
929
+ ], G = {
930
+ name: "indeterminate",
931
+ description: 'Available for type="checkbox"'
932
+ }, AO = /* @__PURE__ */ new Map([
933
+ ["select", [{ name: "bind:value" }]],
934
+ [
935
+ "input",
936
+ [
937
+ { name: "bind:value" },
938
+ {
939
+ name: "bind:group",
940
+ description: 'Available for type="radio" and type="checkbox"'
941
+ },
942
+ { name: "bind:checked", description: 'Available for type="checkbox"' },
943
+ {
944
+ name: "bind:files",
945
+ description: 'Available for type="file" (readonly)'
946
+ },
947
+ G,
948
+ { ...G, name: "bind:indeterminate" }
949
+ ]
950
+ ],
951
+ ["img", [{ name: "bind:naturalWidth" }, { name: "bind:naturalHeight" }]],
952
+ ["textarea", [{ name: "bind:value" }]],
953
+ ["video", [...K, ...BO]],
954
+ ["audio", [...K]],
955
+ ["details", [{ name: "bind:open" }]]
956
+ ]), q = (e) => {
957
+ let O = e.parent;
958
+ if (e.name === "." || e.name === "PropertyName") {
959
+ if (O?.name !== "MemberExpression") return !1;
960
+ O = O.parent;
961
+ }
962
+ return O ? O.name === "VariableDeclaration" || O.name === "PropertyDeclaration" : !1;
963
+ }, d = (e) => {
964
+ let O = e.parent;
965
+ if (e.name === "." || e.name === "PropertyName") {
966
+ if (O?.name !== "MemberExpression") return !1;
967
+ O = O.parent;
968
+ }
969
+ return O?.name !== "CallExpression" || (O = O.parent, !O) ? !1 : O.name === "VariableDeclaration" || O.name === "PropertyDeclaration";
970
+ }, h = (e) => e.name === "VariableName" ? e.parent?.name === "ExpressionStatement" : e.name === "." || e.name === "PropertyName" ? e.parent?.parent?.name === "ExpressionStatement" : !1, F = (e) => e.name === "VariableName" && e.parent?.name === "VariableDeclaration" && e.parent.parent?.name === "Script", YO = (e, O) => {
971
+ if (e.parent?.name !== "PatternProperty" || e.parent.parent?.name !== "ObjectPattern" || e.parent.parent.parent?.name !== "VariableDeclaration") return !1;
972
+ let t = e.parent.parent.parent.lastChild;
973
+ return !t || t.name === "ObjectPattern" || t.name === "Equals" || t.name === "⚠" || t.name === ";" && (t = t.prevSibling, !t || t.name === "⚠") ? !0 : t.name === "CallExpression" && t.firstChild?.name === "VariableName" && O.state.sliceDoc(t.firstChild.from, t.firstChild.to) === "$props";
974
+ }, EO = (e, O) => d(e) && e.parent?.parent?.parent?.parent?.name === "Script", J = [
975
+ { snippet: "$state(${})", test: q },
976
+ { snippet: "$state", test: d },
977
+ { snippet: "$props()", test: F },
978
+ { snippet: "$props.id", test: EO },
979
+ { snippet: "$props.id()", test: F },
980
+ { snippet: "$derived(${});", test: q },
981
+ { snippet: "$derived", test: d },
982
+ { snippet: `$derived.by(() => {
983
+ \${}
984
+ });`, test: q },
985
+ { snippet: "$derived.by", test: d },
986
+ { snippet: `$effect(() => {
987
+ \${}
988
+ });`, test: h },
989
+ { snippet: `$effect.pre(() => {
990
+ \${}
991
+ });`, test: h },
992
+ { snippet: "$state.raw(${});", test: q },
993
+ { snippet: "$state.raw", test: d },
994
+ { snippet: "$bindable()", test: YO },
995
+ { snippet: `$effect.root(() => {
996
+ \${}
997
+ })` },
998
+ { snippet: "$state.snapshot(${})" },
999
+ { snippet: "$effect.tracking()" },
1000
+ { snippet: "$inspect(${});", test: h },
1001
+ { snippet: "$inspect.trace();", test: h },
1002
+ { snippet: "$inspect.trace(${});", test: h },
1003
+ { snippet: "$host()" }
1004
+ ], _O = [
1005
+ { snippet: `#if \${}}
1006
+
1007
+ {/if`, label: "#if" },
1008
+ { snippet: `#each \${} as }
1009
+
1010
+ {/each`, label: "#each" },
1011
+ { snippet: `#await \${} then }
1012
+
1013
+ {/await`, label: "#await then" },
1014
+ { snippet: `#await \${}}
1015
+
1016
+ {:then }
1017
+
1018
+ {/await`, label: "#await :then" },
1019
+ { snippet: `#key \${}}
1020
+
1021
+ {/key`, label: "#key" }
1022
+ ], UO = [
1023
+ { snippet: "@html ${}", label: "@html" },
1024
+ { snippet: "@debug ${}", label: "@debug" },
1025
+ { snippet: "@const ${}", label: "@const" },
1026
+ { snippet: "@render ${}", label: "@render" }
1027
+ ], XO = [
1028
+ { snippet: "@attach ${}", label: "@attach" }
1029
+ ], CO = _O.map(({ snippet: e, label: O }) => $(e, { label: O, type: "keyword" })), RO = UO.map(({ snippet: e, label: O }) => $(e, { label: O, type: "keyword" })), ZO = XO.map(
1030
+ ({ snippet: e, label: O }) => $(e, { label: O, type: "keyword" })
1031
+ ), MO = de.filter(
1032
+ (e) => e.name.startsWith("svelte:")
1033
+ );
1034
+ function H(e, O) {
1035
+ const t = e.state.doc.sliceString(O.from, O.from + 1), n = O.parent, a = O.parent?.parent, o = O.from, s = e.pos, i = "keyword", p = {
1036
+ from: o,
1037
+ to: s
1038
+ };
1039
+ switch (t) {
1040
+ case "/": {
1041
+ const l = (c) => ({
1042
+ ...p,
1043
+ options: [{ label: c, type: i }],
1044
+ validFor: /^\/\w*$/
1045
+ });
1046
+ if (n?.name === "EachBlockClose" || a?.name === "EachBlock")
1047
+ return l("/each");
1048
+ if (n?.name === "IfBlockClose" || a?.name === "IfBlock")
1049
+ return l("/if");
1050
+ if (n?.name === "AwaitBlockClose" || a?.name === "AwaitBlock")
1051
+ return l("/await");
1052
+ if (n?.name === "KeyBlockClose" || a?.name === "KeyBlock")
1053
+ return l("/key");
1054
+ break;
1055
+ }
1056
+ case ":": {
1057
+ const l = (c) => ({
1058
+ ...p,
1059
+ options: c,
1060
+ validFor: /^:\w*$/
1061
+ });
1062
+ if (n?.name === "ElseBlock" || a?.name === "IfBlock")
1063
+ return l([
1064
+ { label: ":else", type: i },
1065
+ { label: ":else if ", type: i }
1066
+ ]);
1067
+ if (n?.name === "ThenBlock" || a?.name === "AwaitBlock")
1068
+ return l([
1069
+ { label: ":then", type: i },
1070
+ { label: ":catch", type: i }
1071
+ ]);
1072
+ break;
1073
+ }
1074
+ case "#":
1075
+ return { from: o, to: s, options: CO, validFor: /^#(\w)*$/ };
1076
+ case "@": {
1077
+ const l = O.parent?.parent?.name;
1078
+ return {
1079
+ ...p,
1080
+ options: l === "SelfClosingTag" || l === "OpenTag" ? ZO : RO,
1081
+ validFor: /^@(\w)*$/
1082
+ };
1083
+ }
1084
+ }
1085
+ return null;
1086
+ }
1087
+ const NO = [
1088
+ ...D.map((e) => ({
1089
+ ...e,
1090
+ boost: 1,
1091
+ name: e.name.replace(":", "")
1092
+ })),
1093
+ ...D
1094
+ ].map(
1095
+ (e) => $(e.name + "={${}}", {
1096
+ label: e.name,
1097
+ info: e.description,
1098
+ type: "keyword",
1099
+ boost: e.boost || 0
1100
+ })
1101
+ ), IO = be.map((e) => ({
1102
+ label: e.name,
1103
+ info: e.description,
1104
+ type: "keyword"
1105
+ })), DO = be.reduce((e, O) => (e.set(
1106
+ O.name,
1107
+ O.values.map((t) => ({
1108
+ label: t.name,
1109
+ type: "keyword"
1110
+ }))
1111
+ ), e), /* @__PURE__ */ new Map());
1112
+ function A(e) {
1113
+ return e.map(
1114
+ (O) => $(O.name + "={${}}", {
1115
+ label: O.name,
1116
+ info: O.description,
1117
+ type: "keyword"
1118
+ })
1119
+ );
1120
+ }
1121
+ const KO = A(yO), GO = de.reduce(
1122
+ (e, O) => (e[O.name] = A(O.attributes), e),
1123
+ {}
1124
+ );
1125
+ function L(e, O) {
1126
+ const t = (i) => ({ from: O.from, to: e.pos, options: i, validFor: /^\w*$/ }), n = [
1127
+ ...NO,
1128
+ ...KO,
1129
+ ...IO
1130
+ ], a = O.parent?.parent?.firstChild?.nextSibling, o = e.state.doc.sliceString(
1131
+ a?.from ?? 0,
1132
+ a?.to ?? 0
1133
+ );
1134
+ if (a?.name === "SvelteElementName")
1135
+ return t([...n, ...GO[o]]);
1136
+ const s = AO.get(o);
1137
+ if (a?.name === "TagName" && s) {
1138
+ const i = A(s);
1139
+ return t([...n, ...i]);
1140
+ }
1141
+ return t(n);
1142
+ }
1143
+ function FO(e, O, t) {
1144
+ const n = DO.get(t);
1145
+ return n ? {
1146
+ from: O.name === "AttributeValueContent" ? O.from : O.from + 1,
1147
+ to: e.pos,
1148
+ options: n,
1149
+ validFor: /^\w*$/
1150
+ } : null;
1151
+ }
1152
+ function JO(e) {
1153
+ const O = e.name === "TagName";
1154
+ return {
1155
+ from: O ? e.from : e.from - 7,
1156
+ options: MO.map(({ name: t }) => ({
1157
+ label: t,
1158
+ type: "keyword"
1159
+ })),
1160
+ validFor: O ? /^sve\w*:?$/ : /^svelte:\w*$/
1161
+ };
1162
+ }
1163
+ function HO(e) {
1164
+ const O = y(e.state).resolveInner(e.pos, -1);
1165
+ if (O.name === "BlockPrefix")
1166
+ return H(e, O);
1167
+ if (O.prevSibling?.name === "BlockPrefix")
1168
+ return H(e, O.prevSibling);
1169
+ if (O.name === "AttributeName")
1170
+ return L(e, O);
1171
+ if ((O.name === "DirectiveOn" || O.name === "DirectiveBind" || O.name === "DirectiveTarget") && O.parent)
1172
+ return L(e, O.parent);
1173
+ if (O.parent?.name === "AttributeValue" && O.parent.parent?.firstChild) {
1174
+ const t = O.parent.parent.firstChild, n = e.state.doc.sliceString(
1175
+ t.from,
1176
+ t.to
1177
+ );
1178
+ if (n.startsWith("data-sveltekit-"))
1179
+ return FO(e, O, n);
1180
+ }
1181
+ return O.name === "TagName" && e.state.sliceDoc(O.from, O.to).startsWith("sve") || O.name === "SvelteElementType" ? JO(O) : null;
1182
+ }
1183
+ const LO = J.map(({ snippet: e, test: O }, t) => ({
1184
+ option: $(e, {
1185
+ type: "keyword",
1186
+ boost: J.length - t,
1187
+ label: e.includes("(") ? e.slice(0, e.indexOf("(")) : e
1188
+ }),
1189
+ test: O
1190
+ }));
1191
+ function zO(e) {
1192
+ const O = y(e.state).resolveInner(e.pos, -1);
1193
+ if (O.name === "String" && O.parent?.name === "ImportDeclaration") {
1194
+ const t = [
1195
+ "svelte",
1196
+ "svelte/animate",
1197
+ "svelte/easing",
1198
+ "svelte/legacy",
1199
+ "svelte/motion",
1200
+ "svelte/reactivity",
1201
+ "svelte/reactivity/window",
1202
+ "svelte/store",
1203
+ "svelte/transition"
1204
+ ];
1205
+ return {
1206
+ from: O.from + 1,
1207
+ options: t.map((n) => ({
1208
+ label: n,
1209
+ type: "string"
1210
+ }))
1211
+ };
1212
+ }
1213
+ if (O.name === "VariableName" || O.name === "PropertyName" || O.name === ".") {
1214
+ if ((O.name === "PropertyName" || O.name === ".") && O.parent?.name === "MemberExpression" && O.parent.firstChild?.name === "CallExpression" && O.parent.firstChild.firstChild?.name === "VariableName" && e.state.sliceDoc(
1215
+ O.parent.firstChild.firstChild.from,
1216
+ O.parent.firstChild.firstChild.to
1217
+ ) === "$inspect") {
1218
+ const n = e.matchBefore(/\.\w*/);
1219
+ return n ? {
1220
+ from: n.from,
1221
+ options: [
1222
+ $(".with(${})", {
1223
+ type: "keyword",
1224
+ label: ".with"
1225
+ })
1226
+ ]
1227
+ } : null;
1228
+ }
1229
+ const t = e.matchBefore(/\$[\w.]*/);
1230
+ return t ? {
1231
+ from: t.from,
1232
+ options: LO.filter((n) => n.test ? n.test(O, e) : !0).map((n) => n.option)
1233
+ } : null;
1234
+ }
1235
+ return null;
1236
+ }
1237
+ function z(e) {
1238
+ const O = /^\s*(<\/)?/.exec(e.textAfter);
1239
+ return e.lineIndent(e.node.from) + (O ? 0 : e.unit);
1240
+ }
1241
+ const et = ge.add({
1242
+ Element: z,
1243
+ Block: (e) => {
1244
+ const O = e.node, t = e.textAfter.trim(), n = O.name, a = n === "IfBlock" && t.startsWith("{/if") || n === "EachBlock" && t.startsWith("{/each") || n === "AwaitBlock" && t.startsWith("{/await") || n === "KeyBlock" && t.startsWith("{/key") || n === "SnippetBlock" && t.startsWith("{/snippet");
1245
+ return t.startsWith("{/") && a ? e.lineIndent(e.node.from) : t.startsWith("{/") && !a ? null : (n === "IfBlock" || n === "EachBlock") && t.startsWith("{:else") || n === "AwaitBlock" && t.startsWith("{:then") || n === "AwaitBlock" && t.startsWith("{:catch") ? e.lineIndent(e.node.from) : z(e);
1246
+ },
1247
+ "BlockOpen BlockClose BlockInline OpenTag CloseTag SelfClosingTag": (e) => {
1248
+ const O = /^\s*\/?>/.exec(e.textAfter);
1249
+ return e.column(e.node.from) + (O ? 0 : e.unit);
1250
+ },
1251
+ "Interpolation DirectlyInterpolatedAttribute": (e) => {
1252
+ const O = /^\s*}/.exec(e.textAfter);
1253
+ return e.lineIndent(e.node.from) + (O ? 0 : e.unit);
1254
+ }
1255
+ }), Ot = [
1256
+ {
1257
+ tag: "script",
1258
+ attributeMatcher: (e) => e.type === "text/typescript" || e.lang === "ts",
1259
+ parser: Te.parser
1260
+ },
1261
+ {
1262
+ tag: "script",
1263
+ attributeMatcher(e) {
1264
+ return !e.type || /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(
1265
+ e.type
1266
+ );
1267
+ },
1268
+ parser: Oe.parser
1269
+ },
1270
+ {
1271
+ tag: "style",
1272
+ attributeMatcher(e) {
1273
+ return (!e.lang || e.lang === "css" || e.lang === "scss") && (!e.type || /^(text\/)?(x-)?(stylesheet|css|scss)$/i.test(e.type));
1274
+ },
1275
+ parser: ke.parser
1276
+ }
1277
+ ], j = ve.define({
1278
+ parser: xO.configure({
1279
+ wrap: WO(Ot),
1280
+ props: [
1281
+ et,
1282
+ Pe.add({
1283
+ Block: (e) => {
1284
+ const O = `${e.name}Open`, t = `${e.name}Close`, n = e.firstChild, a = e.lastChild;
1285
+ return !n || n.name !== O ? null : {
1286
+ from: n.to,
1287
+ to: a?.name === t ? a.from : e.to
1288
+ };
1289
+ },
1290
+ Element: (e) => {
1291
+ const O = e.firstChild, t = e.lastChild;
1292
+ return !O || !t || O.name !== "OpenTag" ? null : {
1293
+ from: O.to,
1294
+ to: t.name === "CloseTag" ? t.from : e.to
1295
+ };
1296
+ }
1297
+ })
1298
+ ]
1299
+ }),
1300
+ languageData: {
1301
+ commentTokens: { block: { open: "<!--", close: "-->" } },
1302
+ indentOnInput: /^\s*((<\/\w+\W)|(\/?>)|(\{:(else|then|catch))|(\{\/(if|each|await|key|snippet)))$/,
1303
+ wordChars: "-._",
1304
+ autocomplete: HO
1305
+ }
1306
+ });
1307
+ function ee(e, O, t = e.length) {
1308
+ if (!O)
1309
+ return "";
1310
+ const n = O.firstChild, a = n && (n.getChild("TagName") ?? n.getChild("ComponentName") ?? n.getChild("SvelteElementName"));
1311
+ return a ? e.sliceString(a.from, Math.min(a.to, t)) : "";
1312
+ }
1313
+ const tt = We.inputHandler.of(
1314
+ (e, O, t, n) => {
1315
+ if (e.composing || e.state.readOnly || O !== t || n !== ">" && n !== "/" || // Note that this will disable auto closing using "/" inside script/style tags
1316
+ !j.isActiveAt(e.state, O, -1))
1317
+ return !1;
1318
+ const { state: a } = e, o = a.changeByRange((s) => {
1319
+ const { head: i } = s;
1320
+ let p = y(a).resolveInner(i, -1), l;
1321
+ (p.name === "TagName" || p.name === "ComponentName" || p.name === "SvelteElementName" || p.name === "StartTag") && (p = p.parent), l = ee(a.doc, p.parent, i);
1322
+ const c = a.doc.sliceString(i, i + 1);
1323
+ if (n === ">" && p.name === "OpenTag" && // Ensure there is no closing tag already
1324
+ (p.parent?.lastChild?.name !== "CloseTag" || c !== "<") && l) {
1325
+ const w = c === ">", S = `${w ? "" : ">"}</${l}>`;
1326
+ return {
1327
+ range: _.cursor(i + 1),
1328
+ changes: { from: i + (w ? 1 : 0), insert: S }
1329
+ };
1330
+ }
1331
+ const Y = p.parent, E = Y?.parent;
1332
+ if (l = ee(a.doc, E, i), n === "/" && p.name === "OpenTag" && Y?.from === i - 1 && E?.lastChild?.name !== "CloseTag" && l) {
1333
+ const w = e.state.doc.sliceString(i, i + 1) === ">", S = `/${l}${w ? "" : ">"}`, Se = i + S.length + (w ? 1 : 0);
1334
+ return {
1335
+ range: _.cursor(Se),
1336
+ changes: { from: i, insert: S }
1337
+ };
1338
+ }
1339
+ return { range: s };
1340
+ });
1341
+ return o.changes.empty ? !1 : (e.dispatch(o, { userEvent: "input.type", scrollIntoView: !0 }), !0);
1342
+ }
1343
+ );
1344
+ function wt() {
1345
+ return new Ve(j, [
1346
+ Qe().support,
1347
+ Oe.data.of({ autocomplete: zO }),
1348
+ xe().support,
1349
+ tt,
1350
+ j.data.of({ autocomplete: Be })
1351
+ ]);
1352
+ }
1353
+ export {
1354
+ wt as svelte,
1355
+ xO as svelteParser
1356
+ };