vue-api-request-builder 0.2.7 → 0.2.9
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/README.md +216 -216
- package/dist/index.css +1 -1
- package/dist/index.es.js +673 -673
- package/dist/index.umd.js +15 -15
- package/package.json +2 -2
package/dist/index.es.js
CHANGED
|
@@ -9,10 +9,10 @@ var h = (t, e, n) => jr(t, typeof e != "symbol" ? e + "" : e, n), Mt = (t, e, n)
|
|
|
9
9
|
var K = (t, e, n) => (Mt(t, e, "read from private field"), n ? n.call(t) : e.get(t)), Ce = (t, e, n) => e.has(t) ? Tn("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(t) : e.set(t, n), se = (t, e, n, a) => (Mt(t, e, "write to private field"), a ? a.call(t, n) : e.set(t, n), n), Ot = (t, e, n) => (Mt(t, e, "access private method"), n);
|
|
10
10
|
var Ln = (t, e, n) => Lr(Tr(t), n, e);
|
|
11
11
|
import { defineComponent as st, ref as L, watch as Qe, resolveComponent as j, createElementBlock as J, openBlock as M, createElementVNode as N, createCommentVNode as te, createBlock as me, createVNode as E, withCtx as R, createTextVNode as D, toDisplayString as Ee, Fragment as _n, renderList as va, computed as Gt, useModel as Ca, normalizeStyle as Mr, withDirectives as Or, vModelText as Gr, nextTick as Fr, onMounted as Dr, unref as Ur } from "vue";
|
|
12
|
-
const zr = { class: "key-value-input flex flex-col gap-1" }, qr = { class: "flex gap-2" },
|
|
12
|
+
const zr = { class: "key-value-input flex flex-col gap-1" }, qr = { class: "flex gap-2" }, Hr = {
|
|
13
13
|
key: 0,
|
|
14
14
|
class: "flex flex-col gap-1"
|
|
15
|
-
},
|
|
15
|
+
}, Wr = { class: "flex w-full gap-1 items-center" }, Vr = /* @__PURE__ */ st({
|
|
16
16
|
__name: "KeyValueInput",
|
|
17
17
|
props: {
|
|
18
18
|
modelValue: {},
|
|
@@ -25,24 +25,24 @@ const zr = { class: "key-value-input flex flex-col gap-1" }, qr = { class: "flex
|
|
|
25
25
|
const n = t, a = e, r = L(n.modelValue);
|
|
26
26
|
Qe(
|
|
27
27
|
() => n.modelValue,
|
|
28
|
-
(
|
|
29
|
-
r.value =
|
|
28
|
+
(l) => {
|
|
29
|
+
r.value = l;
|
|
30
30
|
}
|
|
31
31
|
), Qe(
|
|
32
32
|
r,
|
|
33
|
-
(
|
|
34
|
-
a("update:modelValue",
|
|
33
|
+
(l) => {
|
|
34
|
+
a("update:modelValue", l);
|
|
35
35
|
},
|
|
36
36
|
{ deep: !0 }
|
|
37
37
|
);
|
|
38
38
|
const s = () => {
|
|
39
39
|
r.value.push({ key: "", value: "" });
|
|
40
|
-
}, o = (
|
|
41
|
-
r.value.splice(
|
|
42
|
-
},
|
|
40
|
+
}, o = (l) => {
|
|
41
|
+
r.value.splice(l, 1);
|
|
42
|
+
}, i = () => {
|
|
43
43
|
r.value = [];
|
|
44
44
|
};
|
|
45
|
-
return (
|
|
45
|
+
return (l, c) => {
|
|
46
46
|
const u = j("a-button"), p = j("a-popconfirm"), d = j("a-input"), f = j("a-typography-paragraph"), m = j("a-typography");
|
|
47
47
|
return M(), J("div", zr, [
|
|
48
48
|
N("div", qr, [
|
|
@@ -53,7 +53,7 @@ const zr = { class: "key-value-input flex flex-col gap-1" }, qr = { class: "flex
|
|
|
53
53
|
size: "small"
|
|
54
54
|
}, {
|
|
55
55
|
default: R(() => [
|
|
56
|
-
D(Ee(
|
|
56
|
+
D(Ee(l.addButtonText), 1)
|
|
57
57
|
]),
|
|
58
58
|
_: 1
|
|
59
59
|
}),
|
|
@@ -63,7 +63,7 @@ const zr = { class: "key-value-input flex flex-col gap-1" }, qr = { class: "flex
|
|
|
63
63
|
description: "确定要清空所有参数吗?",
|
|
64
64
|
"ok-text": "确认",
|
|
65
65
|
"cancel-text": "取消",
|
|
66
|
-
onConfirm:
|
|
66
|
+
onConfirm: i
|
|
67
67
|
}, {
|
|
68
68
|
default: R(() => [
|
|
69
69
|
E(u, {
|
|
@@ -82,12 +82,12 @@ const zr = { class: "key-value-input flex flex-col gap-1" }, qr = { class: "flex
|
|
|
82
82
|
_: 1
|
|
83
83
|
})
|
|
84
84
|
]),
|
|
85
|
-
r.value.length > 0 ? (M(), J("div",
|
|
85
|
+
r.value.length > 0 ? (M(), J("div", Hr, [
|
|
86
86
|
(M(!0), J(_n, null, va(r.value, (_, g) => (M(), J("div", {
|
|
87
87
|
key: g,
|
|
88
88
|
class: "flex"
|
|
89
89
|
}, [
|
|
90
|
-
N("div",
|
|
90
|
+
N("div", Wr, [
|
|
91
91
|
E(u, {
|
|
92
92
|
type: "primary",
|
|
93
93
|
danger: "",
|
|
@@ -117,14 +117,14 @@ const zr = { class: "key-value-input flex flex-col gap-1" }, qr = { class: "flex
|
|
|
117
117
|
])
|
|
118
118
|
]))), 128))
|
|
119
119
|
])) : te("", !0),
|
|
120
|
-
|
|
120
|
+
l.showPreview ? (M(), me(m, {
|
|
121
121
|
key: 1,
|
|
122
122
|
class: "m-0"
|
|
123
123
|
}, {
|
|
124
124
|
default: R(() => [
|
|
125
125
|
E(f, { class: "!m-0" }, {
|
|
126
126
|
default: R(() => [
|
|
127
|
-
N("pre", null, Ee(
|
|
127
|
+
N("pre", null, Ee(l.previewText), 1)
|
|
128
128
|
]),
|
|
129
129
|
_: 1
|
|
130
130
|
})
|
|
@@ -165,7 +165,7 @@ const zr = { class: "key-value-input flex flex-col gap-1" }, qr = { class: "flex
|
|
|
165
165
|
},
|
|
166
166
|
emits: ["update:modelValue"],
|
|
167
167
|
setup(t, { emit: e }) {
|
|
168
|
-
const n = t, a = e, r = L(n.modelValue.method), s = L(n.modelValue.url), o = L(n.modelValue.auth.type),
|
|
168
|
+
const n = t, a = e, r = L(n.modelValue.method), s = L(n.modelValue.url), o = L(n.modelValue.auth.type), i = L(n.modelValue.path), l = L(n.modelValue.auth.username || ""), c = L(n.modelValue.auth.password || ""), u = L(n.modelValue.auth.token || ""), p = L(n.modelValue.params), d = L(n.modelValue.headers), f = L(n.modelValue.body.formData || []), m = L(n.modelValue.body.type), _ = L(n.modelValue.body.json || ""), g = L(n.modelValue.body.raw || ""), b = L("");
|
|
169
169
|
function w(x, $) {
|
|
170
170
|
let T;
|
|
171
171
|
return function(...ue) {
|
|
@@ -176,7 +176,7 @@ const zr = { class: "key-value-input flex flex-col gap-1" }, qr = { class: "flex
|
|
|
176
176
|
const x = {
|
|
177
177
|
method: r.value,
|
|
178
178
|
url: s.value,
|
|
179
|
-
path:
|
|
179
|
+
path: i.value,
|
|
180
180
|
auth: { type: "none" },
|
|
181
181
|
// 默认提供一个空的auth对象
|
|
182
182
|
params: p.value,
|
|
@@ -189,7 +189,7 @@ const zr = { class: "key-value-input flex flex-col gap-1" }, qr = { class: "flex
|
|
|
189
189
|
return n.showAuth && (x.auth = {
|
|
190
190
|
type: o.value,
|
|
191
191
|
...o.value === "Basic" ? {
|
|
192
|
-
username:
|
|
192
|
+
username: l.value,
|
|
193
193
|
password: c.value
|
|
194
194
|
} : o.value === "Bearer" ? {
|
|
195
195
|
token: u.value
|
|
@@ -202,9 +202,9 @@ const zr = { class: "key-value-input flex flex-col gap-1" }, qr = { class: "flex
|
|
|
202
202
|
[
|
|
203
203
|
r,
|
|
204
204
|
s,
|
|
205
|
-
l,
|
|
206
|
-
o,
|
|
207
205
|
i,
|
|
206
|
+
o,
|
|
207
|
+
l,
|
|
208
208
|
c,
|
|
209
209
|
u,
|
|
210
210
|
p,
|
|
@@ -222,7 +222,7 @@ const zr = { class: "key-value-input flex flex-col gap-1" }, qr = { class: "flex
|
|
|
222
222
|
() => n.modelValue,
|
|
223
223
|
(x) => {
|
|
224
224
|
const $ = k();
|
|
225
|
-
JSON.stringify(x) !== JSON.stringify($) && (r.value = x.method, s.value = x.url,
|
|
225
|
+
JSON.stringify(x) !== JSON.stringify($) && (r.value = x.method, s.value = x.url, i.value = x.path, n.showAuth && x.auth && (o.value = x.auth.type, l.value = x.auth.username || "", c.value = x.auth.password || "", u.value = x.auth.token || ""), p.value = x.params, d.value = x.headers, m.value = x.body.type, f.value = x.body.formData || [], _.value = x.body.json || "", g.value = x.body.raw || "");
|
|
226
226
|
},
|
|
227
227
|
{ deep: !0 }
|
|
228
228
|
);
|
|
@@ -261,10 +261,10 @@ ${T.value}\r
|
|
|
261
261
|
}, q = () => {
|
|
262
262
|
try {
|
|
263
263
|
const x = s.value, $ = new URL(x);
|
|
264
|
-
s.value = `${$.protocol}//${$.host}`,
|
|
264
|
+
s.value = `${$.protocol}//${$.host}`, i.value = $.pathname;
|
|
265
265
|
const T = new URLSearchParams($.search), ue = [];
|
|
266
|
-
T.forEach((
|
|
267
|
-
ue.push({ key: ie, value:
|
|
266
|
+
T.forEach((W, ie) => {
|
|
267
|
+
ue.push({ key: ie, value: W });
|
|
268
268
|
}), p.value = ue;
|
|
269
269
|
} catch (x) {
|
|
270
270
|
console.error("URL解析失败:", x);
|
|
@@ -279,7 +279,7 @@ ${T.value}\r
|
|
|
279
279
|
}
|
|
280
280
|
});
|
|
281
281
|
return (x, $) => {
|
|
282
|
-
const T = j("a-input"), ue = j("a-button"),
|
|
282
|
+
const T = j("a-input"), ue = j("a-button"), W = j("a-select-option"), ie = j("a-select"), ye = j("a-card"), Le = j("a-radio-button"), Bn = j("a-radio-group"), Rr = j("a-input-password"), jt = j("a-textarea"), Nr = j("a-alert"), Pr = j("a-form");
|
|
283
283
|
return M(), J("div", Zr, [
|
|
284
284
|
E(Pr, { layout: "vertical" }, {
|
|
285
285
|
default: R(() => [
|
|
@@ -317,31 +317,31 @@ ${T.value}\r
|
|
|
317
317
|
size: "small"
|
|
318
318
|
}, {
|
|
319
319
|
default: R(() => [
|
|
320
|
-
E(
|
|
320
|
+
E(W, { value: "GET" }, {
|
|
321
321
|
default: R(() => $[14] || ($[14] = [
|
|
322
322
|
D("GET")
|
|
323
323
|
])),
|
|
324
324
|
_: 1
|
|
325
325
|
}),
|
|
326
|
-
E(
|
|
326
|
+
E(W, { value: "POST" }, {
|
|
327
327
|
default: R(() => $[15] || ($[15] = [
|
|
328
328
|
D("POST")
|
|
329
329
|
])),
|
|
330
330
|
_: 1
|
|
331
331
|
}),
|
|
332
|
-
E(
|
|
332
|
+
E(W, { value: "PUT" }, {
|
|
333
333
|
default: R(() => $[16] || ($[16] = [
|
|
334
334
|
D("PUT")
|
|
335
335
|
])),
|
|
336
336
|
_: 1
|
|
337
337
|
}),
|
|
338
|
-
E(
|
|
338
|
+
E(W, { value: "DELETE" }, {
|
|
339
339
|
default: R(() => $[17] || ($[17] = [
|
|
340
340
|
D("DELETE")
|
|
341
341
|
])),
|
|
342
342
|
_: 1
|
|
343
343
|
}),
|
|
344
|
-
E(
|
|
344
|
+
E(W, { value: "OPTIONS" }, {
|
|
345
345
|
default: R(() => $[18] || ($[18] = [
|
|
346
346
|
D("OPTIONS")
|
|
347
347
|
])),
|
|
@@ -351,8 +351,8 @@ ${T.value}\r
|
|
|
351
351
|
_: 1
|
|
352
352
|
}, 8, ["value"]),
|
|
353
353
|
E(T, {
|
|
354
|
-
value:
|
|
355
|
-
"onUpdate:value": $[2] || ($[2] = (B) =>
|
|
354
|
+
value: i.value,
|
|
355
|
+
"onUpdate:value": $[2] || ($[2] = (B) => i.value = B),
|
|
356
356
|
placeholder: "路径",
|
|
357
357
|
size: "small"
|
|
358
358
|
}, null, 8, ["value"])
|
|
@@ -364,7 +364,7 @@ ${T.value}\r
|
|
|
364
364
|
"onUpdate:modelValue": $[3] || ($[3] = (B) => p.value = B),
|
|
365
365
|
"add-button-text": "添加参数",
|
|
366
366
|
"show-preview": !0,
|
|
367
|
-
"preview-text": s.value +
|
|
367
|
+
"preview-text": s.value + i.value + A.value
|
|
368
368
|
}, null, 8, ["modelValue", "preview-text"])
|
|
369
369
|
])
|
|
370
370
|
]),
|
|
@@ -409,8 +409,8 @@ ${T.value}\r
|
|
|
409
409
|
N("div", ts, [
|
|
410
410
|
$[22] || ($[22] = N("p", { class: "m-0 w-16" }, "用户名", -1)),
|
|
411
411
|
E(T, {
|
|
412
|
-
value:
|
|
413
|
-
"onUpdate:value": $[5] || ($[5] = (B) =>
|
|
412
|
+
value: l.value,
|
|
413
|
+
"onUpdate:value": $[5] || ($[5] = (B) => l.value = B),
|
|
414
414
|
size: "small"
|
|
415
415
|
}, null, 8, ["value"])
|
|
416
416
|
]),
|
|
@@ -530,7 +530,7 @@ ${T.value}\r
|
|
|
530
530
|
]);
|
|
531
531
|
};
|
|
532
532
|
}
|
|
533
|
-
}), au = /* @__PURE__ */ Rt(ss, [["__scopeId", "data-v-
|
|
533
|
+
}), au = /* @__PURE__ */ Rt(ss, [["__scopeId", "data-v-398ba576"]]);
|
|
534
534
|
async function os(t, e = "xhr") {
|
|
535
535
|
return e === "fetch" ? is(t) : ls(t);
|
|
536
536
|
}
|
|
@@ -556,8 +556,8 @@ async function is(t) {
|
|
|
556
556
|
break;
|
|
557
557
|
case "multipart/form-data":
|
|
558
558
|
const o = new FormData();
|
|
559
|
-
(s = t.body.formData) == null || s.forEach((
|
|
560
|
-
|
|
559
|
+
(s = t.body.formData) == null || s.forEach((i) => {
|
|
560
|
+
i.key && o.append(i.key, i.value);
|
|
561
561
|
}), r.body = o;
|
|
562
562
|
break;
|
|
563
563
|
case "text/plain":
|
|
@@ -565,24 +565,24 @@ async function is(t) {
|
|
|
565
565
|
break;
|
|
566
566
|
}
|
|
567
567
|
try {
|
|
568
|
-
const o = await fetch(n, r),
|
|
568
|
+
const o = await fetch(n, r), i = {};
|
|
569
569
|
o.headers.forEach((u, p) => {
|
|
570
|
-
|
|
570
|
+
i[p.toLowerCase()] = u;
|
|
571
571
|
});
|
|
572
|
-
let
|
|
573
|
-
if ((
|
|
572
|
+
let l = "";
|
|
573
|
+
if ((i["content-type"] || "").startsWith("application/json"))
|
|
574
574
|
try {
|
|
575
575
|
const u = await o.json();
|
|
576
|
-
|
|
576
|
+
l = JSON.stringify(u, null, 2);
|
|
577
577
|
} catch {
|
|
578
|
-
|
|
578
|
+
l = await o.text();
|
|
579
579
|
}
|
|
580
580
|
else
|
|
581
|
-
|
|
581
|
+
l = await o.text();
|
|
582
582
|
return {
|
|
583
583
|
status: o.status.toString(),
|
|
584
|
-
headers:
|
|
585
|
-
body:
|
|
584
|
+
headers: i,
|
|
585
|
+
body: l
|
|
586
586
|
};
|
|
587
587
|
} catch {
|
|
588
588
|
throw new Error("Request failed");
|
|
@@ -590,9 +590,9 @@ async function is(t) {
|
|
|
590
590
|
}
|
|
591
591
|
async function ls(t) {
|
|
592
592
|
return new Promise((e, n) => {
|
|
593
|
-
var
|
|
594
|
-
const a = new XMLHttpRequest(), r = t.auth.type === "Basic" ? t.auth.username : null, s = t.auth.type === "Basic" ? t.auth.password : null, o = t.params.filter((c) => !!c.key).map((c) => `${c.key}=${encodeURIComponent(c.value)}`).join("&"),
|
|
595
|
-
if (a.open(t.method,
|
|
593
|
+
var l;
|
|
594
|
+
const a = new XMLHttpRequest(), r = t.auth.type === "Basic" ? t.auth.username : null, s = t.auth.type === "Basic" ? t.auth.password : null, o = t.params.filter((c) => !!c.key).map((c) => `${c.key}=${encodeURIComponent(c.value)}`).join("&"), i = `${t.url}${t.path}${o ? "?" + o : ""}`;
|
|
595
|
+
if (a.open(t.method, i, !0, r, s), t.headers.forEach((c) => {
|
|
596
596
|
c.key && a.setRequestHeader(c.key, c.value);
|
|
597
597
|
}), t.auth.type === "Bearer" && t.auth.token && a.setRequestHeader("Authorization", `Bearer ${t.auth.token}`), t.method === "POST" || t.method === "PUT") {
|
|
598
598
|
let c = "";
|
|
@@ -602,7 +602,7 @@ async function ls(t) {
|
|
|
602
602
|
break;
|
|
603
603
|
case "multipart/form-data":
|
|
604
604
|
const u = new FormData();
|
|
605
|
-
(
|
|
605
|
+
(l = t.body.formData) == null || l.forEach((p) => {
|
|
606
606
|
p.key && u.append(p.key, p.value);
|
|
607
607
|
}), c = u;
|
|
608
608
|
break;
|
|
@@ -636,8 +636,8 @@ async function ls(t) {
|
|
|
636
636
|
function cs(t) {
|
|
637
637
|
const e = t.getAllResponseHeaders().trim().split(/[\r\n]+/), n = {};
|
|
638
638
|
return e.forEach(function(a) {
|
|
639
|
-
var
|
|
640
|
-
const r = a.split(": "), s = ((
|
|
639
|
+
var i;
|
|
640
|
+
const r = a.split(": "), s = ((i = r.shift()) == null ? void 0 : i.toLowerCase()) || "", o = r.join(": ");
|
|
641
641
|
n[s] = o;
|
|
642
642
|
}), n;
|
|
643
643
|
}
|
|
@@ -655,24 +655,24 @@ const us = { style: { display: "flex", "align-items": "center", gap: "8px", "mar
|
|
|
655
655
|
headers: {},
|
|
656
656
|
body: "",
|
|
657
657
|
timing: 0
|
|
658
|
-
}), r = L(""), s = (
|
|
659
|
-
const c = Number(
|
|
658
|
+
}), r = L(""), s = (l) => {
|
|
659
|
+
const c = Number(l);
|
|
660
660
|
return c >= 200 && c < 300 ? "success" : c >= 300 && c < 400 ? "warning" : c >= 400 && c < 500 || c >= 500 ? "error" : "default";
|
|
661
|
-
}, o = (
|
|
661
|
+
}, o = (l) => l instanceof Error ? l.message : "请求失败", i = async () => {
|
|
662
662
|
r.value = "";
|
|
663
|
-
const
|
|
663
|
+
const l = Date.now();
|
|
664
664
|
try {
|
|
665
|
-
a.value = await os(e.modelValue, n.value), a.value.timing = Date.now() -
|
|
665
|
+
a.value = await os(e.modelValue, n.value), a.value.timing = Date.now() - l;
|
|
666
666
|
} catch (c) {
|
|
667
667
|
r.value = o(c), a.value = {
|
|
668
668
|
status: "Error",
|
|
669
669
|
headers: {},
|
|
670
670
|
body: c instanceof Error ? c.message : "Request failed",
|
|
671
|
-
timing: Date.now() -
|
|
671
|
+
timing: Date.now() - l
|
|
672
672
|
};
|
|
673
673
|
}
|
|
674
674
|
};
|
|
675
|
-
return (
|
|
675
|
+
return (l, c) => {
|
|
676
676
|
const u = j("a-radio-button"), p = j("a-radio-group"), d = j("a-button"), f = j("a-alert"), m = j("a-tag"), _ = j("a-textarea"), g = j("a-card");
|
|
677
677
|
return M(), me(g, {
|
|
678
678
|
title: "响应",
|
|
@@ -705,7 +705,7 @@ const us = { style: { display: "flex", "align-items": "center", gap: "8px", "mar
|
|
|
705
705
|
}, 8, ["value"]),
|
|
706
706
|
E(d, {
|
|
707
707
|
type: "primary",
|
|
708
|
-
onClick:
|
|
708
|
+
onClick: i,
|
|
709
709
|
size: "small"
|
|
710
710
|
}, {
|
|
711
711
|
default: R(() => c[4] || (c[4] = [
|
|
@@ -804,18 +804,18 @@ var Dt = /\$(\d+)|\${(\d+):\/(downcase|upcase)}/g, ct = class {
|
|
|
804
804
|
}
|
|
805
805
|
static replaceCaptures(t, e, n) {
|
|
806
806
|
return t.replace(Dt, (a, r, s, o) => {
|
|
807
|
-
let
|
|
808
|
-
if (
|
|
809
|
-
let
|
|
810
|
-
for (;
|
|
811
|
-
|
|
807
|
+
let i = n[parseInt(r || s, 10)];
|
|
808
|
+
if (i) {
|
|
809
|
+
let l = e.substring(i.start, i.end);
|
|
810
|
+
for (; l[0] === "."; )
|
|
811
|
+
l = l.substring(1);
|
|
812
812
|
switch (o) {
|
|
813
813
|
case "downcase":
|
|
814
|
-
return
|
|
814
|
+
return l.toLowerCase();
|
|
815
815
|
case "upcase":
|
|
816
|
-
return
|
|
816
|
+
return l.toUpperCase();
|
|
817
817
|
default:
|
|
818
|
-
return
|
|
818
|
+
return l;
|
|
819
819
|
}
|
|
820
820
|
} else
|
|
821
821
|
return a;
|
|
@@ -969,28 +969,28 @@ function vs(t) {
|
|
|
969
969
|
let o = e[r];
|
|
970
970
|
if (!o.settings)
|
|
971
971
|
continue;
|
|
972
|
-
let
|
|
972
|
+
let i;
|
|
973
973
|
if (typeof o.scope == "string") {
|
|
974
974
|
let p = o.scope;
|
|
975
|
-
p = p.replace(/^[,]+/, ""), p = p.replace(/[,]+$/, ""),
|
|
976
|
-
} else Array.isArray(o.scope) ?
|
|
977
|
-
let
|
|
975
|
+
p = p.replace(/^[,]+/, ""), p = p.replace(/[,]+$/, ""), i = p.split(",");
|
|
976
|
+
} else Array.isArray(o.scope) ? i = o.scope : i = [""];
|
|
977
|
+
let l = -1;
|
|
978
978
|
if (typeof o.settings.fontStyle == "string") {
|
|
979
|
-
|
|
979
|
+
l = 0;
|
|
980
980
|
let p = o.settings.fontStyle.split(" ");
|
|
981
981
|
for (let d = 0, f = p.length; d < f; d++)
|
|
982
982
|
switch (p[d]) {
|
|
983
983
|
case "italic":
|
|
984
|
-
|
|
984
|
+
l = l | 1;
|
|
985
985
|
break;
|
|
986
986
|
case "bold":
|
|
987
|
-
|
|
987
|
+
l = l | 2;
|
|
988
988
|
break;
|
|
989
989
|
case "underline":
|
|
990
|
-
|
|
990
|
+
l = l | 4;
|
|
991
991
|
break;
|
|
992
992
|
case "strikethrough":
|
|
993
|
-
|
|
993
|
+
l = l | 8;
|
|
994
994
|
break;
|
|
995
995
|
}
|
|
996
996
|
}
|
|
@@ -998,13 +998,13 @@ function vs(t) {
|
|
|
998
998
|
typeof o.settings.foreground == "string" && jn(o.settings.foreground) && (c = o.settings.foreground);
|
|
999
999
|
let u = null;
|
|
1000
1000
|
typeof o.settings.background == "string" && jn(o.settings.background) && (u = o.settings.background);
|
|
1001
|
-
for (let p = 0, d =
|
|
1002
|
-
let m =
|
|
1001
|
+
for (let p = 0, d = i.length; p < d; p++) {
|
|
1002
|
+
let m = i[p].trim().split(" "), _ = m[m.length - 1], g = null;
|
|
1003
1003
|
m.length > 1 && (g = m.slice(0, m.length - 1), g.reverse()), n[a++] = new Cs(
|
|
1004
1004
|
_,
|
|
1005
1005
|
g,
|
|
1006
1006
|
r,
|
|
1007
|
-
|
|
1007
|
+
l,
|
|
1008
1008
|
c,
|
|
1009
1009
|
u
|
|
1010
1010
|
);
|
|
@@ -1018,21 +1018,21 @@ var Cs = class {
|
|
|
1018
1018
|
}
|
|
1019
1019
|
}, Z = /* @__PURE__ */ ((t) => (t[t.NotSet = -1] = "NotSet", t[t.None = 0] = "None", t[t.Italic = 1] = "Italic", t[t.Bold = 2] = "Bold", t[t.Underline = 4] = "Underline", t[t.Strikethrough = 8] = "Strikethrough", t))(Z || {});
|
|
1020
1020
|
function xs(t, e) {
|
|
1021
|
-
t.sort((
|
|
1022
|
-
let u = Ea(
|
|
1023
|
-
return u !== 0 || (u = Aa(
|
|
1021
|
+
t.sort((l, c) => {
|
|
1022
|
+
let u = Ea(l.scope, c.scope);
|
|
1023
|
+
return u !== 0 || (u = Aa(l.parentScopes, c.parentScopes), u !== 0) ? u : l.index - c.index;
|
|
1024
1024
|
});
|
|
1025
1025
|
let n = 0, a = "#000000", r = "#ffffff";
|
|
1026
1026
|
for (; t.length >= 1 && t[0].scope === ""; ) {
|
|
1027
|
-
let
|
|
1028
|
-
|
|
1027
|
+
let l = t.shift();
|
|
1028
|
+
l.fontStyle !== -1 && (n = l.fontStyle), l.foreground !== null && (a = l.foreground), l.background !== null && (r = l.background);
|
|
1029
1029
|
}
|
|
1030
|
-
let s = new Ss(e), o = new Na(n, s.getId(a), s.getId(r)),
|
|
1031
|
-
for (let
|
|
1032
|
-
let u = t[
|
|
1033
|
-
|
|
1030
|
+
let s = new Ss(e), o = new Na(n, s.getId(a), s.getId(r)), i = new As(new tn(0, null, -1, 0, 0), []);
|
|
1031
|
+
for (let l = 0, c = t.length; l < c; l++) {
|
|
1032
|
+
let u = t[l];
|
|
1033
|
+
i.insert(0, u.scope, u.parentScopes, u.fontStyle, s.getId(u.foreground), s.getId(u.background));
|
|
1034
1034
|
}
|
|
1035
|
-
return new yt(s, o,
|
|
1035
|
+
return new yt(s, o, i);
|
|
1036
1036
|
}
|
|
1037
1037
|
var Ss = class {
|
|
1038
1038
|
constructor(t) {
|
|
@@ -1113,20 +1113,20 @@ var Ss = class {
|
|
|
1113
1113
|
this._doInsertHere(e, a, r, s, o);
|
|
1114
1114
|
return;
|
|
1115
1115
|
}
|
|
1116
|
-
let
|
|
1117
|
-
|
|
1116
|
+
let i = n.indexOf("."), l, c;
|
|
1117
|
+
i === -1 ? (l = n, c = "") : (l = n.substring(0, i), c = n.substring(i + 1));
|
|
1118
1118
|
let u;
|
|
1119
|
-
this._children.hasOwnProperty(
|
|
1119
|
+
this._children.hasOwnProperty(l) ? u = this._children[l] : (u = new nn(this._mainRule.clone(), tn.cloneArr(this._rulesWithParentScopes)), this._children[l] = u), u.insert(e + 1, c, a, r, s, o);
|
|
1120
1120
|
}
|
|
1121
1121
|
_doInsertHere(e, n, a, r, s) {
|
|
1122
1122
|
if (n === null) {
|
|
1123
1123
|
this._mainRule.acceptOverwrite(e, a, r, s);
|
|
1124
1124
|
return;
|
|
1125
1125
|
}
|
|
1126
|
-
for (let o = 0,
|
|
1127
|
-
let
|
|
1128
|
-
if (Aa(
|
|
1129
|
-
|
|
1126
|
+
for (let o = 0, i = this._rulesWithParentScopes.length; o < i; o++) {
|
|
1127
|
+
let l = this._rulesWithParentScopes[o];
|
|
1128
|
+
if (Aa(l.parentScopes, n) === 0) {
|
|
1129
|
+
l.acceptOverwrite(e, a, r, s);
|
|
1130
1130
|
return;
|
|
1131
1131
|
}
|
|
1132
1132
|
}
|
|
@@ -1168,23 +1168,23 @@ var Ss = class {
|
|
|
1168
1168
|
* Updates the fields in `metadata`.
|
|
1169
1169
|
* A value of `0`, `NotSet` or `null` indicates that the corresponding field should be left as is.
|
|
1170
1170
|
*/
|
|
1171
|
-
static set(e, n, a, r, s, o,
|
|
1172
|
-
let
|
|
1173
|
-
return n !== 0 && (
|
|
1171
|
+
static set(e, n, a, r, s, o, i) {
|
|
1172
|
+
let l = ee.getLanguageId(e), c = ee.getTokenType(e), u = ee.containsBalancedBrackets(e) ? 1 : 0, p = ee.getFontStyle(e), d = ee.getForeground(e), f = ee.getBackground(e);
|
|
1173
|
+
return n !== 0 && (l = n), a !== 8 && (c = a), r !== null && (u = r ? 1 : 0), s !== -1 && (p = s), o !== 0 && (d = o), i !== 0 && (f = i), (l << 0 | c << 8 | u << 10 | p << 11 | d << 15 | f << 24) >>> 0;
|
|
1174
1174
|
}
|
|
1175
1175
|
};
|
|
1176
1176
|
function _t(t, e) {
|
|
1177
1177
|
const n = [], a = Is(t);
|
|
1178
1178
|
let r = a.next();
|
|
1179
1179
|
for (; r !== null; ) {
|
|
1180
|
-
let
|
|
1180
|
+
let l = 0;
|
|
1181
1181
|
if (r.length === 2 && r.charAt(1) === ":") {
|
|
1182
1182
|
switch (r.charAt(0)) {
|
|
1183
1183
|
case "R":
|
|
1184
|
-
|
|
1184
|
+
l = 1;
|
|
1185
1185
|
break;
|
|
1186
1186
|
case "L":
|
|
1187
|
-
|
|
1187
|
+
l = -1;
|
|
1188
1188
|
break;
|
|
1189
1189
|
default:
|
|
1190
1190
|
console.log(`Unknown priority ${r} in scope selector`);
|
|
@@ -1192,7 +1192,7 @@ function _t(t, e) {
|
|
|
1192
1192
|
r = a.next();
|
|
1193
1193
|
}
|
|
1194
1194
|
let c = o();
|
|
1195
|
-
if (n.push({ matcher: c, priority:
|
|
1195
|
+
if (n.push({ matcher: c, priority: l }), r !== ",")
|
|
1196
1196
|
break;
|
|
1197
1197
|
r = a.next();
|
|
1198
1198
|
}
|
|
@@ -1200,40 +1200,40 @@ function _t(t, e) {
|
|
|
1200
1200
|
function s() {
|
|
1201
1201
|
if (r === "-") {
|
|
1202
1202
|
r = a.next();
|
|
1203
|
-
const
|
|
1204
|
-
return (c) => !!
|
|
1203
|
+
const l = s();
|
|
1204
|
+
return (c) => !!l && !l(c);
|
|
1205
1205
|
}
|
|
1206
1206
|
if (r === "(") {
|
|
1207
1207
|
r = a.next();
|
|
1208
|
-
const
|
|
1209
|
-
return r === ")" && (r = a.next()),
|
|
1208
|
+
const l = i();
|
|
1209
|
+
return r === ")" && (r = a.next()), l;
|
|
1210
1210
|
}
|
|
1211
1211
|
if (Mn(r)) {
|
|
1212
|
-
const
|
|
1212
|
+
const l = [];
|
|
1213
1213
|
do
|
|
1214
|
-
|
|
1214
|
+
l.push(r), r = a.next();
|
|
1215
1215
|
while (Mn(r));
|
|
1216
|
-
return (c) => e(
|
|
1216
|
+
return (c) => e(l, c);
|
|
1217
1217
|
}
|
|
1218
1218
|
return null;
|
|
1219
1219
|
}
|
|
1220
1220
|
function o() {
|
|
1221
|
-
const
|
|
1221
|
+
const l = [];
|
|
1222
1222
|
let c = s();
|
|
1223
1223
|
for (; c; )
|
|
1224
|
-
|
|
1225
|
-
return (u) =>
|
|
1224
|
+
l.push(c), c = s();
|
|
1225
|
+
return (u) => l.every((p) => p(u));
|
|
1226
1226
|
}
|
|
1227
|
-
function
|
|
1228
|
-
const
|
|
1227
|
+
function i() {
|
|
1228
|
+
const l = [];
|
|
1229
1229
|
let c = o();
|
|
1230
|
-
for (; c && (
|
|
1230
|
+
for (; c && (l.push(c), r === "|" || r === ","); ) {
|
|
1231
1231
|
do
|
|
1232
1232
|
r = a.next();
|
|
1233
1233
|
while (r === "|" || r === ",");
|
|
1234
1234
|
c = o();
|
|
1235
1235
|
}
|
|
1236
|
-
return (u) =>
|
|
1236
|
+
return (u) => l.some((p) => p(u));
|
|
1237
1237
|
}
|
|
1238
1238
|
}
|
|
1239
1239
|
function Mn(t) {
|
|
@@ -1320,8 +1320,8 @@ function Bs(t, e, n, a) {
|
|
|
1320
1320
|
);
|
|
1321
1321
|
const o = n.injections(t.scopeName);
|
|
1322
1322
|
if (o)
|
|
1323
|
-
for (const
|
|
1324
|
-
a.add(new Ye(
|
|
1323
|
+
for (const i of o)
|
|
1324
|
+
a.add(new Ye(i));
|
|
1325
1325
|
}
|
|
1326
1326
|
function an(t, e, n) {
|
|
1327
1327
|
if (e.repository && e.repository[t]) {
|
|
@@ -1363,10 +1363,10 @@ function $t(t, e, n) {
|
|
|
1363
1363
|
break;
|
|
1364
1364
|
case 3:
|
|
1365
1365
|
case 4:
|
|
1366
|
-
const
|
|
1367
|
-
if (
|
|
1368
|
-
const
|
|
1369
|
-
o.kind === 4 ? an(o.ruleName,
|
|
1366
|
+
const i = o.scopeName === e.selfGrammar.scopeName ? e.selfGrammar : o.scopeName === e.baseGrammar.scopeName ? e.baseGrammar : void 0;
|
|
1367
|
+
if (i) {
|
|
1368
|
+
const l = { baseGrammar: e.baseGrammar, selfGrammar: i, repository: r };
|
|
1369
|
+
o.kind === 4 ? an(o.ruleName, l, n) : gt(l, n);
|
|
1370
1370
|
} else
|
|
1371
1371
|
o.kind === 4 ? n.add(new Rs(o.scopeName, o.ruleName)) : n.add(new Ye(o.scopeName));
|
|
1372
1372
|
break;
|
|
@@ -1501,7 +1501,7 @@ var ot = class {
|
|
|
1501
1501
|
return this._cachedCompiledPatterns || (this._cachedCompiledPatterns = new tt(), this.collectPatterns(e, this._cachedCompiledPatterns)), this._cachedCompiledPatterns;
|
|
1502
1502
|
}
|
|
1503
1503
|
}, rn = class extends ot {
|
|
1504
|
-
constructor(e, n, a, r, s, o,
|
|
1504
|
+
constructor(e, n, a, r, s, o, i, l, c, u) {
|
|
1505
1505
|
super(e, n, a, r);
|
|
1506
1506
|
h(this, "_begin");
|
|
1507
1507
|
h(this, "beginCaptures");
|
|
@@ -1512,7 +1512,7 @@ var ot = class {
|
|
|
1512
1512
|
h(this, "hasMissingPatterns");
|
|
1513
1513
|
h(this, "patterns");
|
|
1514
1514
|
h(this, "_cachedCompiledPatterns");
|
|
1515
|
-
this._begin = new et(s, this.id), this.beginCaptures = o, this._end = new et(
|
|
1515
|
+
this._begin = new et(s, this.id), this.beginCaptures = o, this._end = new et(i || "", -1), this.endHasBackReferences = this._end.hasBackReferences, this.endCaptures = l, this.applyEndPatternLast = c || !1, this.patterns = u.patterns, this.hasMissingPatterns = u.hasMissingPatterns, this._cachedCompiledPatterns = null;
|
|
1516
1516
|
}
|
|
1517
1517
|
dispose() {
|
|
1518
1518
|
this._cachedCompiledPatterns && (this._cachedCompiledPatterns.dispose(), this._cachedCompiledPatterns = null);
|
|
@@ -1545,7 +1545,7 @@ var ot = class {
|
|
|
1545
1545
|
return this._end.hasBackReferences && (this.applyEndPatternLast ? this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, n) : this._cachedCompiledPatterns.setSource(0, n)), this._cachedCompiledPatterns;
|
|
1546
1546
|
}
|
|
1547
1547
|
}, wt = class extends ot {
|
|
1548
|
-
constructor(e, n, a, r, s, o,
|
|
1548
|
+
constructor(e, n, a, r, s, o, i, l, c) {
|
|
1549
1549
|
super(e, n, a, r);
|
|
1550
1550
|
h(this, "_begin");
|
|
1551
1551
|
h(this, "beginCaptures");
|
|
@@ -1556,7 +1556,7 @@ var ot = class {
|
|
|
1556
1556
|
h(this, "patterns");
|
|
1557
1557
|
h(this, "_cachedCompiledPatterns");
|
|
1558
1558
|
h(this, "_cachedCompiledWhilePatterns");
|
|
1559
|
-
this._begin = new et(s, this.id), this.beginCaptures = o, this.whileCaptures =
|
|
1559
|
+
this._begin = new et(s, this.id), this.beginCaptures = o, this.whileCaptures = l, this._while = new et(i, La), this.whileHasBackReferences = this._while.hasBackReferences, this.patterns = c.patterns, this.hasMissingPatterns = c.hasMissingPatterns, this._cachedCompiledPatterns = null, this._cachedCompiledWhilePatterns = null;
|
|
1560
1560
|
}
|
|
1561
1561
|
dispose() {
|
|
1562
1562
|
this._cachedCompiledPatterns && (this._cachedCompiledPatterns.dispose(), this._cachedCompiledPatterns = null), this._cachedCompiledWhilePatterns && (this._cachedCompiledWhilePatterns.dispose(), this._cachedCompiledWhilePatterns = null);
|
|
@@ -1652,17 +1652,17 @@ var ot = class {
|
|
|
1652
1652
|
for (const o in e) {
|
|
1653
1653
|
if (o === "$vscodeTextmateLocation")
|
|
1654
1654
|
continue;
|
|
1655
|
-
const
|
|
1656
|
-
|
|
1655
|
+
const i = parseInt(o, 10);
|
|
1656
|
+
i > s && (s = i);
|
|
1657
1657
|
}
|
|
1658
1658
|
for (let o = 0; o <= s; o++)
|
|
1659
1659
|
r[o] = null;
|
|
1660
1660
|
for (const o in e) {
|
|
1661
1661
|
if (o === "$vscodeTextmateLocation")
|
|
1662
1662
|
continue;
|
|
1663
|
-
const
|
|
1664
|
-
let
|
|
1665
|
-
e[o].patterns && (
|
|
1663
|
+
const i = parseInt(o, 10);
|
|
1664
|
+
let l = 0;
|
|
1665
|
+
e[o].patterns && (l = V.getCompiledRuleId(e[o], n, a)), r[i] = V.createCaptureRule(n, e[o].$vscodeTextmateLocation, e[o].name, e[o].contentName, l);
|
|
1666
1666
|
}
|
|
1667
1667
|
}
|
|
1668
1668
|
return r;
|
|
@@ -1671,18 +1671,18 @@ var ot = class {
|
|
|
1671
1671
|
let r = [];
|
|
1672
1672
|
if (e)
|
|
1673
1673
|
for (let s = 0, o = e.length; s < o; s++) {
|
|
1674
|
-
const
|
|
1675
|
-
let
|
|
1676
|
-
if (
|
|
1677
|
-
const c = Ta(
|
|
1674
|
+
const i = e[s];
|
|
1675
|
+
let l = -1;
|
|
1676
|
+
if (i.include) {
|
|
1677
|
+
const c = Ta(i.include);
|
|
1678
1678
|
switch (c.kind) {
|
|
1679
1679
|
case 0:
|
|
1680
1680
|
case 1:
|
|
1681
|
-
|
|
1681
|
+
l = V.getCompiledRuleId(a[i.include], n, a);
|
|
1682
1682
|
break;
|
|
1683
1683
|
case 2:
|
|
1684
1684
|
let u = a[c.ruleName];
|
|
1685
|
-
u && (
|
|
1685
|
+
u && (l = V.getCompiledRuleId(u, n, a));
|
|
1686
1686
|
break;
|
|
1687
1687
|
case 3:
|
|
1688
1688
|
case 4:
|
|
@@ -1690,19 +1690,19 @@ var ot = class {
|
|
|
1690
1690
|
if (f)
|
|
1691
1691
|
if (d) {
|
|
1692
1692
|
let m = f.repository[d];
|
|
1693
|
-
m && (
|
|
1693
|
+
m && (l = V.getCompiledRuleId(m, n, f.repository));
|
|
1694
1694
|
} else
|
|
1695
|
-
|
|
1695
|
+
l = V.getCompiledRuleId(f.repository.$self, n, f.repository);
|
|
1696
1696
|
break;
|
|
1697
1697
|
}
|
|
1698
1698
|
} else
|
|
1699
|
-
|
|
1700
|
-
if (
|
|
1701
|
-
const c = n.getRule(
|
|
1699
|
+
l = V.getCompiledRuleId(i, n, a);
|
|
1700
|
+
if (l !== -1) {
|
|
1701
|
+
const c = n.getRule(l);
|
|
1702
1702
|
let u = !1;
|
|
1703
1703
|
if ((c instanceof Gn || c instanceof rn || c instanceof wt) && c.hasMissingPatterns && c.patterns.length === 0 && (u = !0), u)
|
|
1704
1704
|
continue;
|
|
1705
|
-
r.push(
|
|
1705
|
+
r.push(l);
|
|
1706
1706
|
}
|
|
1707
1707
|
}
|
|
1708
1708
|
return {
|
|
@@ -1720,10 +1720,10 @@ var ot = class {
|
|
|
1720
1720
|
if (e && typeof e == "string") {
|
|
1721
1721
|
const a = e.length;
|
|
1722
1722
|
let r = 0, s = [], o = !1;
|
|
1723
|
-
for (let
|
|
1724
|
-
if (e.charAt(
|
|
1725
|
-
const c = e.charAt(
|
|
1726
|
-
c === "z" ? (s.push(e.substring(r,
|
|
1723
|
+
for (let i = 0; i < a; i++)
|
|
1724
|
+
if (e.charAt(i) === "\\" && i + 1 < a) {
|
|
1725
|
+
const c = e.charAt(i + 1);
|
|
1726
|
+
c === "z" ? (s.push(e.substring(r, i)), s.push("$(?!\\n)(?<!\\n)"), r = i + 2) : (c === "A" || c === "G") && (o = !0), i++;
|
|
1727
1727
|
}
|
|
1728
1728
|
this.hasAnchor = o, r === 0 ? this.source = e : (s.push(e.substring(r, a)), this.source = s.join(""));
|
|
1729
1729
|
} else
|
|
@@ -1745,9 +1745,9 @@ var ot = class {
|
|
|
1745
1745
|
_buildAnchorCache() {
|
|
1746
1746
|
if (typeof this.source != "string")
|
|
1747
1747
|
throw new Error("This method should only be called if the source is a string");
|
|
1748
|
-
let e = [], n = [], a = [], r = [], s, o,
|
|
1748
|
+
let e = [], n = [], a = [], r = [], s, o, i, l;
|
|
1749
1749
|
for (s = 0, o = this.source.length; s < o; s++)
|
|
1750
|
-
|
|
1750
|
+
i = this.source.charAt(s), e[s] = i, n[s] = i, a[s] = i, r[s] = i, i === "\\" && s + 1 < o && (l = this.source.charAt(s + 1), l === "A" ? (e[s + 1] = "", n[s + 1] = "", a[s + 1] = "A", r[s + 1] = "A") : l === "G" ? (e[s + 1] = "", n[s + 1] = "G", a[s + 1] = "", r[s + 1] = "G") : (e[s + 1] = l, n[s + 1] = l, a[s + 1] = l, r[s + 1] = l), s++);
|
|
1751
1751
|
return {
|
|
1752
1752
|
A0_G0: e.join(""),
|
|
1753
1753
|
A0_G1: n.join(""),
|
|
@@ -1903,11 +1903,11 @@ var Dn = class {
|
|
|
1903
1903
|
this.stack = t, this.stoppedEarly = e;
|
|
1904
1904
|
}
|
|
1905
1905
|
};
|
|
1906
|
-
function Oa(t, e, n, a, r, s, o,
|
|
1907
|
-
const
|
|
1906
|
+
function Oa(t, e, n, a, r, s, o, i) {
|
|
1907
|
+
const l = e.content.length;
|
|
1908
1908
|
let c = !1, u = -1;
|
|
1909
1909
|
if (o) {
|
|
1910
|
-
const f =
|
|
1910
|
+
const f = Hs(
|
|
1911
1911
|
t,
|
|
1912
1912
|
e,
|
|
1913
1913
|
n,
|
|
@@ -1919,13 +1919,13 @@ function Oa(t, e, n, a, r, s, o, l) {
|
|
|
1919
1919
|
}
|
|
1920
1920
|
const p = Date.now();
|
|
1921
1921
|
for (; !c; ) {
|
|
1922
|
-
if (
|
|
1922
|
+
if (i !== 0 && Date.now() - p > i)
|
|
1923
1923
|
return new Dn(r, !0);
|
|
1924
1924
|
d();
|
|
1925
1925
|
}
|
|
1926
1926
|
return new Dn(r, !1);
|
|
1927
1927
|
function d() {
|
|
1928
|
-
const f =
|
|
1928
|
+
const f = Ws(
|
|
1929
1929
|
t,
|
|
1930
1930
|
e,
|
|
1931
1931
|
n,
|
|
@@ -1934,7 +1934,7 @@ function Oa(t, e, n, a, r, s, o, l) {
|
|
|
1934
1934
|
u
|
|
1935
1935
|
);
|
|
1936
1936
|
if (!f) {
|
|
1937
|
-
s.produce(r,
|
|
1937
|
+
s.produce(r, l), c = !0;
|
|
1938
1938
|
return;
|
|
1939
1939
|
}
|
|
1940
1940
|
const m = f.captureIndices, _ = f.matchedRuleId, g = m && m.length > 0 ? m[0].end > a : !1;
|
|
@@ -1951,7 +1951,7 @@ function Oa(t, e, n, a, r, s, o, l) {
|
|
|
1951
1951
|
), s.produce(r, m[0].end);
|
|
1952
1952
|
const w = r;
|
|
1953
1953
|
if (r = r.parent, u = w.getAnchorPos(), !g && w.getEnterPos() === a) {
|
|
1954
|
-
r = w, s.produce(r,
|
|
1954
|
+
r = w, s.produce(r, l), c = !0;
|
|
1955
1955
|
return;
|
|
1956
1956
|
}
|
|
1957
1957
|
} else {
|
|
@@ -1965,7 +1965,7 @@ function Oa(t, e, n, a, r, s, o, l) {
|
|
|
1965
1965
|
_,
|
|
1966
1966
|
a,
|
|
1967
1967
|
u,
|
|
1968
|
-
m[0].end ===
|
|
1968
|
+
m[0].end === l,
|
|
1969
1969
|
null,
|
|
1970
1970
|
v,
|
|
1971
1971
|
v
|
|
@@ -1993,7 +1993,7 @@ function Oa(t, e, n, a, r, s, o, l) {
|
|
|
1993
1993
|
m
|
|
1994
1994
|
)
|
|
1995
1995
|
)), !g && w.hasSameRuleAs(r)) {
|
|
1996
|
-
r = r.pop(), s.produce(r,
|
|
1996
|
+
r = r.pop(), s.produce(r, l), c = !0;
|
|
1997
1997
|
return;
|
|
1998
1998
|
}
|
|
1999
1999
|
} else if (b instanceof wt) {
|
|
@@ -2020,7 +2020,7 @@ function Oa(t, e, n, a, r, s, o, l) {
|
|
|
2020
2020
|
m
|
|
2021
2021
|
)
|
|
2022
2022
|
)), !g && w.hasSameRuleAs(r)) {
|
|
2023
|
-
r = r.pop(), s.produce(r,
|
|
2023
|
+
r = r.pop(), s.produce(r, l), c = !0;
|
|
2024
2024
|
return;
|
|
2025
2025
|
}
|
|
2026
2026
|
} else if (Ze(
|
|
@@ -2032,59 +2032,59 @@ function Oa(t, e, n, a, r, s, o, l) {
|
|
|
2032
2032
|
b.captures,
|
|
2033
2033
|
m
|
|
2034
2034
|
), s.produce(r, m[0].end), r = r.pop(), !g) {
|
|
2035
|
-
r = r.safePop(), s.produce(r,
|
|
2035
|
+
r = r.safePop(), s.produce(r, l), c = !0;
|
|
2036
2036
|
return;
|
|
2037
2037
|
}
|
|
2038
2038
|
}
|
|
2039
2039
|
m[0].end > a && (a = m[0].end, n = !1);
|
|
2040
2040
|
}
|
|
2041
2041
|
}
|
|
2042
|
-
function
|
|
2042
|
+
function Hs(t, e, n, a, r, s) {
|
|
2043
2043
|
let o = r.beginRuleCapturedEOL ? 0 : -1;
|
|
2044
|
-
const
|
|
2045
|
-
for (let
|
|
2046
|
-
const c =
|
|
2047
|
-
c instanceof wt &&
|
|
2044
|
+
const i = [];
|
|
2045
|
+
for (let l = r; l; l = l.pop()) {
|
|
2046
|
+
const c = l.getRule(t);
|
|
2047
|
+
c instanceof wt && i.push({
|
|
2048
2048
|
rule: c,
|
|
2049
|
-
stack:
|
|
2049
|
+
stack: l
|
|
2050
2050
|
});
|
|
2051
2051
|
}
|
|
2052
|
-
for (let
|
|
2053
|
-
const { ruleScanner: c, findOptions: u } = Zs(
|
|
2052
|
+
for (let l = i.pop(); l; l = i.pop()) {
|
|
2053
|
+
const { ruleScanner: c, findOptions: u } = Zs(l.rule, t, l.stack.endRule, n, a === o), p = c.findNextMatchSync(e, a, u);
|
|
2054
2054
|
if (p) {
|
|
2055
2055
|
if (p.ruleId !== La) {
|
|
2056
|
-
r =
|
|
2056
|
+
r = l.stack.pop();
|
|
2057
2057
|
break;
|
|
2058
2058
|
}
|
|
2059
|
-
p.captureIndices && p.captureIndices.length && (s.produce(
|
|
2059
|
+
p.captureIndices && p.captureIndices.length && (s.produce(l.stack, p.captureIndices[0].start), Ze(t, e, n, l.stack, s, l.rule.whileCaptures, p.captureIndices), s.produce(l.stack, p.captureIndices[0].end), o = p.captureIndices[0].end, p.captureIndices[0].end > a && (a = p.captureIndices[0].end, n = !1));
|
|
2060
2060
|
} else {
|
|
2061
|
-
r =
|
|
2061
|
+
r = l.stack.pop();
|
|
2062
2062
|
break;
|
|
2063
2063
|
}
|
|
2064
2064
|
}
|
|
2065
2065
|
return { stack: r, linePos: a, anchorPosition: o, isFirstLine: n };
|
|
2066
2066
|
}
|
|
2067
|
-
function
|
|
2068
|
-
const o = Vs(t, e, n, a, r, s),
|
|
2069
|
-
if (
|
|
2067
|
+
function Ws(t, e, n, a, r, s) {
|
|
2068
|
+
const o = Vs(t, e, n, a, r, s), i = t.getInjections();
|
|
2069
|
+
if (i.length === 0)
|
|
2070
2070
|
return o;
|
|
2071
|
-
const
|
|
2072
|
-
if (!
|
|
2071
|
+
const l = Xs(i, t, e, n, a, r, s);
|
|
2072
|
+
if (!l)
|
|
2073
2073
|
return o;
|
|
2074
2074
|
if (!o)
|
|
2075
|
-
return
|
|
2076
|
-
const c = o.captureIndices[0].start, u =
|
|
2077
|
-
return u < c ||
|
|
2075
|
+
return l;
|
|
2076
|
+
const c = o.captureIndices[0].start, u = l.captureIndices[0].start;
|
|
2077
|
+
return u < c || l.priorityMatch && u === c ? l : o;
|
|
2078
2078
|
}
|
|
2079
2079
|
function Vs(t, e, n, a, r, s) {
|
|
2080
|
-
const o = r.getRule(t), { ruleScanner:
|
|
2080
|
+
const o = r.getRule(t), { ruleScanner: i, findOptions: l } = Ga(o, t, r.endRule, n, a === s), c = i.findNextMatchSync(e, a, l);
|
|
2081
2081
|
return c ? {
|
|
2082
2082
|
captureIndices: c.captureIndices,
|
|
2083
2083
|
matchedRuleId: c.ruleId
|
|
2084
2084
|
} : null;
|
|
2085
2085
|
}
|
|
2086
2086
|
function Xs(t, e, n, a, r, s, o) {
|
|
2087
|
-
let
|
|
2087
|
+
let i = Number.MAX_VALUE, l = null, c, u = 0;
|
|
2088
2088
|
const p = s.contentNameScopesList.getScopeNames();
|
|
2089
2089
|
for (let d = 0, f = t.length; d < f; d++) {
|
|
2090
2090
|
const m = t[d];
|
|
@@ -2094,12 +2094,12 @@ function Xs(t, e, n, a, r, s, o) {
|
|
|
2094
2094
|
if (!w)
|
|
2095
2095
|
continue;
|
|
2096
2096
|
const k = w.captureIndices[0].start;
|
|
2097
|
-
if (!(k >=
|
|
2097
|
+
if (!(k >= i) && (i = k, l = w.captureIndices, c = w.ruleId, u = m.priority, i === r))
|
|
2098
2098
|
break;
|
|
2099
2099
|
}
|
|
2100
|
-
return
|
|
2100
|
+
return l ? {
|
|
2101
2101
|
priorityMatch: u === -1,
|
|
2102
|
-
captureIndices:
|
|
2102
|
+
captureIndices: l,
|
|
2103
2103
|
matchedRuleId: c
|
|
2104
2104
|
} : null;
|
|
2105
2105
|
}
|
|
@@ -2120,8 +2120,8 @@ function Zs(t, e, n, a, r) {
|
|
|
2120
2120
|
function Ze(t, e, n, a, r, s, o) {
|
|
2121
2121
|
if (s.length === 0)
|
|
2122
2122
|
return;
|
|
2123
|
-
const
|
|
2124
|
-
for (let p = 0; p <
|
|
2123
|
+
const i = e.content, l = Math.min(s.length, o.length), c = [], u = o[0].end;
|
|
2124
|
+
for (let p = 0; p < l; p++) {
|
|
2125
2125
|
const d = s[p];
|
|
2126
2126
|
if (d === null)
|
|
2127
2127
|
continue;
|
|
@@ -2133,7 +2133,7 @@ function Ze(t, e, n, a, r, s, o) {
|
|
|
2133
2133
|
for (; c.length > 0 && c[c.length - 1].endPos <= f.start; )
|
|
2134
2134
|
r.produceFromScopes(c[c.length - 1].scopes, c[c.length - 1].endPos), c.pop();
|
|
2135
2135
|
if (c.length > 0 ? r.produceFromScopes(c[c.length - 1].scopes, f.start) : r.produce(a, f.start), d.retokenizeCapturedWithRuleId) {
|
|
2136
|
-
const _ = d.getName(
|
|
2136
|
+
const _ = d.getName(i, o), g = a.contentNameScopesList.pushAttributed(_, t), b = d.getContentName(i, o), w = g.pushAttributed(b, t), k = a.push(d.retokenizeCapturedWithRuleId, f.start, -1, !1, null, g, w), v = t.createOnigString(i.substring(0, f.end));
|
|
2137
2137
|
Oa(
|
|
2138
2138
|
t,
|
|
2139
2139
|
v,
|
|
@@ -2147,7 +2147,7 @@ function Ze(t, e, n, a, r, s, o) {
|
|
|
2147
2147
|
), Ba(v);
|
|
2148
2148
|
continue;
|
|
2149
2149
|
}
|
|
2150
|
-
const m = d.getName(
|
|
2150
|
+
const m = d.getName(i, o);
|
|
2151
2151
|
if (m !== null) {
|
|
2152
2152
|
const g = (c.length > 0 ? c[c.length - 1].scopes : a.contentNameScopesList).pushAttributed(m, t);
|
|
2153
2153
|
c.push(new Ks(g, f.end));
|
|
@@ -2163,7 +2163,7 @@ var Ks = class {
|
|
|
2163
2163
|
this.scopes = t, this.endPos = e;
|
|
2164
2164
|
}
|
|
2165
2165
|
};
|
|
2166
|
-
function Js(t, e, n, a, r, s, o,
|
|
2166
|
+
function Js(t, e, n, a, r, s, o, i) {
|
|
2167
2167
|
return new Ys(
|
|
2168
2168
|
t,
|
|
2169
2169
|
e,
|
|
@@ -2172,18 +2172,18 @@ function Js(t, e, n, a, r, s, o, l) {
|
|
|
2172
2172
|
r,
|
|
2173
2173
|
s,
|
|
2174
2174
|
o,
|
|
2175
|
-
|
|
2175
|
+
i
|
|
2176
2176
|
);
|
|
2177
2177
|
}
|
|
2178
2178
|
function Un(t, e, n, a, r) {
|
|
2179
2179
|
const s = _t(e, kt), o = ja.getCompiledRuleId(n, a, r.repository);
|
|
2180
|
-
for (const
|
|
2180
|
+
for (const i of s)
|
|
2181
2181
|
t.push({
|
|
2182
2182
|
debugSelector: e,
|
|
2183
|
-
matcher:
|
|
2183
|
+
matcher: i.matcher,
|
|
2184
2184
|
ruleId: o,
|
|
2185
2185
|
grammar: r,
|
|
2186
|
-
priority:
|
|
2186
|
+
priority: i.priority
|
|
2187
2187
|
});
|
|
2188
2188
|
}
|
|
2189
2189
|
function kt(t, e) {
|
|
@@ -2206,7 +2206,7 @@ function Qs(t, e) {
|
|
|
2206
2206
|
return t.length > n && t.substr(0, n) === e && t[n] === ".";
|
|
2207
2207
|
}
|
|
2208
2208
|
var Ys = class {
|
|
2209
|
-
constructor(t, e, n, a, r, s, o,
|
|
2209
|
+
constructor(t, e, n, a, r, s, o, i) {
|
|
2210
2210
|
h(this, "_rootId");
|
|
2211
2211
|
h(this, "_lastRuleId");
|
|
2212
2212
|
h(this, "_ruleId2desc");
|
|
@@ -2216,16 +2216,16 @@ var Ys = class {
|
|
|
2216
2216
|
h(this, "_injections");
|
|
2217
2217
|
h(this, "_basicScopeAttributesProvider");
|
|
2218
2218
|
h(this, "_tokenTypeMatchers");
|
|
2219
|
-
if (this._rootScopeName = t, this.balancedBracketSelectors = s, this._onigLib =
|
|
2219
|
+
if (this._rootScopeName = t, this.balancedBracketSelectors = s, this._onigLib = i, this._basicScopeAttributesProvider = new zs(
|
|
2220
2220
|
n,
|
|
2221
2221
|
a
|
|
2222
2222
|
), this._rootId = -1, this._lastRuleId = 0, this._ruleId2desc = [null], this._includedGrammars = {}, this._grammarRepository = o, this._grammar = zn(e, null), this._injections = null, this._tokenTypeMatchers = [], r)
|
|
2223
|
-
for (const
|
|
2224
|
-
const c = _t(
|
|
2223
|
+
for (const l of Object.keys(r)) {
|
|
2224
|
+
const c = _t(l, kt);
|
|
2225
2225
|
for (const u of c)
|
|
2226
2226
|
this._tokenTypeMatchers.push({
|
|
2227
2227
|
matcher: u.matcher,
|
|
2228
|
-
type: r[
|
|
2228
|
+
type: r[l]
|
|
2229
2229
|
});
|
|
2230
2230
|
}
|
|
2231
2231
|
}
|
|
@@ -2263,15 +2263,15 @@ var Ys = class {
|
|
|
2263
2263
|
);
|
|
2264
2264
|
const s = this._grammarRepository.injections(n);
|
|
2265
2265
|
s && s.forEach((o) => {
|
|
2266
|
-
const
|
|
2267
|
-
if (
|
|
2268
|
-
const
|
|
2269
|
-
|
|
2266
|
+
const i = this.getExternalGrammar(o);
|
|
2267
|
+
if (i) {
|
|
2268
|
+
const l = i.injectionSelector;
|
|
2269
|
+
l && Un(
|
|
2270
2270
|
e,
|
|
2271
|
-
i,
|
|
2272
2271
|
l,
|
|
2272
|
+
i,
|
|
2273
2273
|
this,
|
|
2274
|
-
|
|
2274
|
+
i
|
|
2275
2275
|
);
|
|
2276
2276
|
}
|
|
2277
2277
|
});
|
|
@@ -2359,26 +2359,26 @@ var Ys = class {
|
|
|
2359
2359
|
r = !1, e.reset();
|
|
2360
2360
|
t = t + `
|
|
2361
2361
|
`;
|
|
2362
|
-
const s = this.createOnigString(t), o = s.content.length,
|
|
2362
|
+
const s = this.createOnigString(t), o = s.content.length, i = new to(
|
|
2363
2363
|
n,
|
|
2364
2364
|
t,
|
|
2365
2365
|
this._tokenTypeMatchers,
|
|
2366
2366
|
this.balancedBracketSelectors
|
|
2367
|
-
),
|
|
2367
|
+
), l = Oa(
|
|
2368
2368
|
this,
|
|
2369
2369
|
s,
|
|
2370
2370
|
r,
|
|
2371
2371
|
0,
|
|
2372
2372
|
e,
|
|
2373
|
-
|
|
2373
|
+
i,
|
|
2374
2374
|
!0,
|
|
2375
2375
|
a
|
|
2376
2376
|
);
|
|
2377
2377
|
return Ba(s), {
|
|
2378
2378
|
lineLength: o,
|
|
2379
|
-
lineTokens:
|
|
2380
|
-
ruleStack:
|
|
2381
|
-
stoppedEarly:
|
|
2379
|
+
lineTokens: i,
|
|
2380
|
+
ruleStack: l.stack,
|
|
2381
|
+
stoppedEarly: l.stoppedEarly
|
|
2382
2382
|
};
|
|
2383
2383
|
}
|
|
2384
2384
|
};
|
|
@@ -2411,12 +2411,12 @@ var Ke = class le {
|
|
|
2411
2411
|
return new le(null, new Ut(null, e), n);
|
|
2412
2412
|
}
|
|
2413
2413
|
static createRootAndLookUpScopeName(e, n, a) {
|
|
2414
|
-
const r = a.getMetadataForScope(e), s = new Ut(null, e), o = a.themeProvider.themeMatch(s),
|
|
2414
|
+
const r = a.getMetadataForScope(e), s = new Ut(null, e), o = a.themeProvider.themeMatch(s), i = le.mergeAttributes(
|
|
2415
2415
|
n,
|
|
2416
2416
|
r,
|
|
2417
2417
|
o
|
|
2418
2418
|
);
|
|
2419
|
-
return new le(null, s,
|
|
2419
|
+
return new le(null, s, i);
|
|
2420
2420
|
}
|
|
2421
2421
|
get scopeName() {
|
|
2422
2422
|
return this.scopePath.scopeName;
|
|
@@ -2460,12 +2460,12 @@ var Ke = class le {
|
|
|
2460
2460
|
return r;
|
|
2461
2461
|
}
|
|
2462
2462
|
static _pushAttributed(e, n, a) {
|
|
2463
|
-
const r = a.getMetadataForScope(n), s = e.scopePath.push(n), o = a.themeProvider.themeMatch(s),
|
|
2463
|
+
const r = a.getMetadataForScope(n), s = e.scopePath.push(n), o = a.themeProvider.themeMatch(s), i = le.mergeAttributes(
|
|
2464
2464
|
e.tokenAttributes,
|
|
2465
2465
|
r,
|
|
2466
2466
|
o
|
|
2467
2467
|
);
|
|
2468
|
-
return new le(e, s,
|
|
2468
|
+
return new le(e, s, i);
|
|
2469
2469
|
}
|
|
2470
2470
|
getScopeNames() {
|
|
2471
2471
|
return this.scopePath.getSegments();
|
|
@@ -2493,7 +2493,7 @@ var Ke = class le {
|
|
|
2493
2493
|
* }
|
|
2494
2494
|
* ```
|
|
2495
2495
|
*/
|
|
2496
|
-
constructor(e, n, a, r, s, o,
|
|
2496
|
+
constructor(e, n, a, r, s, o, i, l) {
|
|
2497
2497
|
h(this, "_stackElementBrand");
|
|
2498
2498
|
/**
|
|
2499
2499
|
* The position on the current line where this state was pushed.
|
|
@@ -2511,7 +2511,7 @@ var Ke = class le {
|
|
|
2511
2511
|
* The depth of the stack.
|
|
2512
2512
|
*/
|
|
2513
2513
|
h(this, "depth");
|
|
2514
|
-
this.parent = e, this.ruleId = n, this.beginRuleCapturedEOL = s, this.endRule = o, this.nameScopesList =
|
|
2514
|
+
this.parent = e, this.ruleId = n, this.beginRuleCapturedEOL = s, this.endRule = o, this.nameScopesList = i, this.contentNameScopesList = l, this.depth = this.parent ? this.parent.depth + 1 : 1, this._enterPos = a, this._anchorPos = r;
|
|
2515
2515
|
}
|
|
2516
2516
|
equals(e) {
|
|
2517
2517
|
return e === null ? !1 : ne._equals(this, e);
|
|
@@ -2547,7 +2547,7 @@ var Ke = class le {
|
|
|
2547
2547
|
safePop() {
|
|
2548
2548
|
return this.parent ? this.parent : this;
|
|
2549
2549
|
}
|
|
2550
|
-
push(e, n, a, r, s, o,
|
|
2550
|
+
push(e, n, a, r, s, o, i) {
|
|
2551
2551
|
return new ne(
|
|
2552
2552
|
this,
|
|
2553
2553
|
e,
|
|
@@ -2556,7 +2556,7 @@ var Ke = class le {
|
|
|
2556
2556
|
r,
|
|
2557
2557
|
s,
|
|
2558
2558
|
o,
|
|
2559
|
-
|
|
2559
|
+
i
|
|
2560
2560
|
);
|
|
2561
2561
|
}
|
|
2562
2562
|
getEnterPos() {
|
|
@@ -2698,11 +2698,11 @@ h(ne, "NULL", new ne(
|
|
|
2698
2698
|
let r = (t == null ? void 0 : t.tokenAttributes) ?? 0, s = !1;
|
|
2699
2699
|
if ((a = this.balancedBracketSelectors) != null && a.matchesAlways && (s = !0), this._tokenTypeOverrides.length > 0 || this.balancedBracketSelectors && !this.balancedBracketSelectors.matchesAlways && !this.balancedBracketSelectors.matchesNever) {
|
|
2700
2700
|
const o = (t == null ? void 0 : t.getScopeNames()) ?? [];
|
|
2701
|
-
for (const
|
|
2702
|
-
|
|
2701
|
+
for (const i of this._tokenTypeOverrides)
|
|
2702
|
+
i.matcher(o) && (r = ze.set(
|
|
2703
2703
|
r,
|
|
2704
2704
|
0,
|
|
2705
|
-
|
|
2705
|
+
i.type,
|
|
2706
2706
|
null,
|
|
2707
2707
|
-1,
|
|
2708
2708
|
0,
|
|
@@ -2869,7 +2869,7 @@ h(ne, "NULL", new ne(
|
|
|
2869
2869
|
_loadGrammar(e, n, a, r, s) {
|
|
2870
2870
|
const o = new Ps(this._syncRegistry, e);
|
|
2871
2871
|
for (; o.Q.length > 0; )
|
|
2872
|
-
o.Q.map((
|
|
2872
|
+
o.Q.map((i) => this._loadSingleGrammar(i.scopeName)), o.processQueue();
|
|
2873
2873
|
return this._grammarForScopeName(
|
|
2874
2874
|
e,
|
|
2875
2875
|
n,
|
|
@@ -4035,18 +4035,18 @@ const oo = qe({
|
|
|
4035
4035
|
transform(t, e) {
|
|
4036
4036
|
return "xlink:" + e.slice(5).toLowerCase();
|
|
4037
4037
|
}
|
|
4038
|
-
}),
|
|
4038
|
+
}), Ha = qe({
|
|
4039
4039
|
attributes: { xmlnsxlink: "xmlns:xlink" },
|
|
4040
4040
|
properties: { xmlnsXLink: null, xmlns: null },
|
|
4041
4041
|
space: "xmlns",
|
|
4042
4042
|
transform: za
|
|
4043
|
-
}),
|
|
4043
|
+
}), Wa = qe({
|
|
4044
4044
|
properties: { xmlBase: null, xmlLang: null, xmlSpace: null },
|
|
4045
4045
|
space: "xml",
|
|
4046
4046
|
transform(t, e) {
|
|
4047
4047
|
return "xml:" + e.slice(3).toLowerCase();
|
|
4048
4048
|
}
|
|
4049
|
-
}), lo = /[A-Z]/g,
|
|
4049
|
+
}), lo = /[A-Z]/g, Hn = /-[a-z]/g, co = /^data[-\w.:]+$/i;
|
|
4050
4050
|
function uo(t, e) {
|
|
4051
4051
|
const n = ln(e);
|
|
4052
4052
|
let a = e, r = Q;
|
|
@@ -4054,11 +4054,11 @@ function uo(t, e) {
|
|
|
4054
4054
|
return t.property[t.normal[n]];
|
|
4055
4055
|
if (n.length > 4 && n.slice(0, 4) === "data" && co.test(e)) {
|
|
4056
4056
|
if (e.charAt(4) === "-") {
|
|
4057
|
-
const s = e.slice(5).replace(
|
|
4057
|
+
const s = e.slice(5).replace(Hn, mo);
|
|
4058
4058
|
a = "data" + s.charAt(0).toUpperCase() + s.slice(1);
|
|
4059
4059
|
} else {
|
|
4060
4060
|
const s = e.slice(4);
|
|
4061
|
-
if (!
|
|
4061
|
+
if (!Hn.test(s)) {
|
|
4062
4062
|
let o = s.replace(lo, po);
|
|
4063
4063
|
o.charAt(0) !== "-" && (o = "-" + o), e = "data" + o;
|
|
4064
4064
|
}
|
|
@@ -4073,15 +4073,15 @@ function po(t) {
|
|
|
4073
4073
|
function mo(t) {
|
|
4074
4074
|
return t.charAt(1).toUpperCase();
|
|
4075
4075
|
}
|
|
4076
|
-
const fo = Fa([Da, oo, qa,
|
|
4076
|
+
const fo = Fa([Da, oo, qa, Ha, Wa], "html"), Va = Fa([Da, io, qa, Ha, Wa], "svg"), Wn = {}.hasOwnProperty;
|
|
4077
4077
|
function ho(t, e) {
|
|
4078
4078
|
const n = e || {};
|
|
4079
4079
|
function a(r, ...s) {
|
|
4080
4080
|
let o = a.invalid;
|
|
4081
|
-
const
|
|
4082
|
-
if (r &&
|
|
4083
|
-
const
|
|
4084
|
-
o =
|
|
4081
|
+
const i = a.handlers;
|
|
4082
|
+
if (r && Wn.call(r, t)) {
|
|
4083
|
+
const l = String(r[t]);
|
|
4084
|
+
o = Wn.call(i, l) ? i[l] : a.unknown;
|
|
4085
4085
|
}
|
|
4086
4086
|
if (o)
|
|
4087
4087
|
return o.call(this, r, ...s);
|
|
@@ -4242,7 +4242,7 @@ const Eo = [
|
|
|
4242
4242
|
"yacute",
|
|
4243
4243
|
"yen",
|
|
4244
4244
|
"yuml"
|
|
4245
|
-
],
|
|
4245
|
+
], Ht = {
|
|
4246
4246
|
nbsp: " ",
|
|
4247
4247
|
iexcl: "¡",
|
|
4248
4248
|
cent: "¢",
|
|
@@ -4506,8 +4506,8 @@ const Eo = [
|
|
|
4506
4506
|
"times"
|
|
4507
4507
|
], Xa = {}.hasOwnProperty, pn = {};
|
|
4508
4508
|
let ut;
|
|
4509
|
-
for (ut in
|
|
4510
|
-
Xa.call(
|
|
4509
|
+
for (ut in Ht)
|
|
4510
|
+
Xa.call(Ht, ut) && (pn[Ht[ut]] = ut);
|
|
4511
4511
|
const Io = /[^\dA-Za-z]/;
|
|
4512
4512
|
function Ro(t, e, n, a) {
|
|
4513
4513
|
const r = String.fromCharCode(t);
|
|
@@ -4583,11 +4583,11 @@ function Ka(t) {
|
|
|
4583
4583
|
return e;
|
|
4584
4584
|
function e(n, a, r) {
|
|
4585
4585
|
const s = n ? n.children : Fo;
|
|
4586
|
-
let o = (a || 0) + t,
|
|
4586
|
+
let o = (a || 0) + t, i = s[o];
|
|
4587
4587
|
if (!r)
|
|
4588
|
-
for (;
|
|
4589
|
-
o += t,
|
|
4590
|
-
return
|
|
4588
|
+
for (; i && kn(i); )
|
|
4589
|
+
o += t, i = s[o];
|
|
4590
|
+
return i;
|
|
4591
4591
|
}
|
|
4592
4592
|
}
|
|
4593
4593
|
const Do = {}.hasOwnProperty;
|
|
@@ -4599,13 +4599,13 @@ function Ja(t) {
|
|
|
4599
4599
|
}
|
|
4600
4600
|
const vn = Ja({
|
|
4601
4601
|
body: zo,
|
|
4602
|
-
caption:
|
|
4603
|
-
colgroup:
|
|
4602
|
+
caption: Wt,
|
|
4603
|
+
colgroup: Wt,
|
|
4604
4604
|
dd: Vo,
|
|
4605
|
-
dt:
|
|
4606
|
-
head:
|
|
4605
|
+
dt: Wo,
|
|
4606
|
+
head: Wt,
|
|
4607
4607
|
html: Uo,
|
|
4608
|
-
li:
|
|
4608
|
+
li: Ho,
|
|
4609
4609
|
optgroup: Xo,
|
|
4610
4610
|
option: Zo,
|
|
4611
4611
|
p: qo,
|
|
@@ -4618,7 +4618,7 @@ const vn = Ja({
|
|
|
4618
4618
|
thead: Ko,
|
|
4619
4619
|
tr: Yo
|
|
4620
4620
|
});
|
|
4621
|
-
function
|
|
4621
|
+
function Wt(t, e, n) {
|
|
4622
4622
|
const a = z(n, e, !0);
|
|
4623
4623
|
return !a || a.type !== "comment" && !(a.type === "text" && kn(a.value.charAt(0)));
|
|
4624
4624
|
}
|
|
@@ -4635,11 +4635,11 @@ function qo(t, e, n) {
|
|
|
4635
4635
|
return a ? a.type === "element" && (a.tagName === "address" || a.tagName === "article" || a.tagName === "aside" || a.tagName === "blockquote" || a.tagName === "details" || a.tagName === "div" || a.tagName === "dl" || a.tagName === "fieldset" || a.tagName === "figcaption" || a.tagName === "figure" || a.tagName === "footer" || a.tagName === "form" || a.tagName === "h1" || a.tagName === "h2" || a.tagName === "h3" || a.tagName === "h4" || a.tagName === "h5" || a.tagName === "h6" || a.tagName === "header" || a.tagName === "hgroup" || a.tagName === "hr" || a.tagName === "main" || a.tagName === "menu" || a.tagName === "nav" || a.tagName === "ol" || a.tagName === "p" || a.tagName === "pre" || a.tagName === "section" || a.tagName === "table" || a.tagName === "ul") : !n || // Confusing parent.
|
|
4636
4636
|
!(n.type === "element" && (n.tagName === "a" || n.tagName === "audio" || n.tagName === "del" || n.tagName === "ins" || n.tagName === "map" || n.tagName === "noscript" || n.tagName === "video"));
|
|
4637
4637
|
}
|
|
4638
|
-
function
|
|
4638
|
+
function Ho(t, e, n) {
|
|
4639
4639
|
const a = z(n, e);
|
|
4640
4640
|
return !a || a.type === "element" && a.tagName === "li";
|
|
4641
4641
|
}
|
|
4642
|
-
function
|
|
4642
|
+
function Wo(t, e, n) {
|
|
4643
4643
|
const a = z(n, e);
|
|
4644
4644
|
return !!(a && a.type === "element" && (a.tagName === "dt" || a.tagName === "dd"));
|
|
4645
4645
|
}
|
|
@@ -4744,13 +4744,13 @@ const pt = {
|
|
|
4744
4744
|
function oi(t, e, n, a) {
|
|
4745
4745
|
const r = a.schema, s = r.space === "svg" ? !1 : a.settings.omitOptionalTags;
|
|
4746
4746
|
let o = r.space === "svg" ? a.settings.closeEmptyElements : a.settings.voids.includes(t.tagName.toLowerCase());
|
|
4747
|
-
const
|
|
4748
|
-
let
|
|
4747
|
+
const i = [];
|
|
4748
|
+
let l;
|
|
4749
4749
|
r.space === "html" && t.tagName === "svg" && (a.schema = Va);
|
|
4750
4750
|
const c = ii(a, t.properties), u = a.all(
|
|
4751
4751
|
r.space === "html" && t.tagName === "template" ? t.content : t
|
|
4752
4752
|
);
|
|
4753
|
-
return a.schema = r, u && (o = !1), (c || !s || !ei(t, e, n)) && (
|
|
4753
|
+
return a.schema = r, u && (o = !1), (c || !s || !ei(t, e, n)) && (i.push("<", t.tagName, c ? " " + c : ""), o && (r.space === "svg" || a.settings.closeSelfClosing) && (l = c.charAt(c.length - 1), (!a.settings.tightSelfClosing || l === "/" || l && l !== '"' && l !== "'") && i.push(" "), i.push("/")), i.push(">")), i.push(u), !o && (!s || !vn(t, e, n)) && i.push("</" + t.tagName + ">"), i.join("");
|
|
4754
4754
|
}
|
|
4755
4755
|
function ii(t, e) {
|
|
4756
4756
|
const n = [];
|
|
@@ -4770,10 +4770,10 @@ function ii(t, e) {
|
|
|
4770
4770
|
}
|
|
4771
4771
|
function li(t, e, n) {
|
|
4772
4772
|
const a = uo(t.schema, e), r = t.settings.allowParseErrors && t.schema.space === "html" ? 0 : 1, s = t.settings.allowDangerousCharacters ? 0 : 1;
|
|
4773
|
-
let o = t.quote,
|
|
4773
|
+
let o = t.quote, i;
|
|
4774
4774
|
if (a.overloadedBoolean && (n === a.attribute || n === "") ? n = !0 : (a.boolean || a.overloadedBoolean) && (typeof n != "string" || n === a.attribute || n === "") && (n = !!n), n == null || n === !1 || typeof n == "number" && Number.isNaN(n))
|
|
4775
4775
|
return "";
|
|
4776
|
-
const
|
|
4776
|
+
const l = Ue(
|
|
4777
4777
|
a.attribute,
|
|
4778
4778
|
Object.assign({}, t.settings.characterReferences, {
|
|
4779
4779
|
// Always encode without parse errors in non-HTML.
|
|
@@ -4782,20 +4782,20 @@ function li(t, e, n) {
|
|
|
4782
4782
|
);
|
|
4783
4783
|
return n === !0 || (n = Array.isArray(n) ? (a.commaSeparated ? Mo : Oo)(n, {
|
|
4784
4784
|
padLeft: !t.settings.tightCommaSeparatedLists
|
|
4785
|
-
}) : String(n), t.settings.collapseEmptyAttributes && !n) ?
|
|
4785
|
+
}) : String(n), t.settings.collapseEmptyAttributes && !n) ? l : (t.settings.preferUnquoted && (i = Ue(
|
|
4786
4786
|
n,
|
|
4787
4787
|
Object.assign({}, t.settings.characterReferences, {
|
|
4788
4788
|
attribute: !0,
|
|
4789
4789
|
subset: pt.unquoted[r][s]
|
|
4790
4790
|
})
|
|
4791
|
-
)),
|
|
4791
|
+
)), i !== n && (t.settings.quoteSmart && Xn(n, o) > Xn(n, t.alternative) && (o = t.alternative), i = o + Ue(
|
|
4792
4792
|
n,
|
|
4793
4793
|
Object.assign({}, t.settings.characterReferences, {
|
|
4794
4794
|
// Always encode without parse errors in non-HTML.
|
|
4795
4795
|
subset: (o === "'" ? pt.single : pt.double)[r][s],
|
|
4796
4796
|
attribute: !0
|
|
4797
4797
|
})
|
|
4798
|
-
) + o),
|
|
4798
|
+
) + o), l + (i && "=" + i));
|
|
4799
4799
|
}
|
|
4800
4800
|
const ci = ["<", "&"];
|
|
4801
4801
|
function Qa(t, e, n, a) {
|
|
@@ -4916,8 +4916,8 @@ function Nt(t, e = !1) {
|
|
|
4916
4916
|
let a = 0;
|
|
4917
4917
|
const r = [];
|
|
4918
4918
|
for (let o = 0; o < n.length; o += 2) {
|
|
4919
|
-
const
|
|
4920
|
-
r.push([
|
|
4919
|
+
const i = e ? n[o] + (n[o + 1] || "") : n[o];
|
|
4920
|
+
r.push([i, a]), a += n[o].length, a += ((s = n[o + 1]) == null ? void 0 : s.length) || 0;
|
|
4921
4921
|
}
|
|
4922
4922
|
return r;
|
|
4923
4923
|
}
|
|
@@ -4930,17 +4930,17 @@ function Ci(t) {
|
|
|
4930
4930
|
character: e[e.length - 1].length
|
|
4931
4931
|
};
|
|
4932
4932
|
let s = r, o = 0;
|
|
4933
|
-
for (const
|
|
4934
|
-
if (s <
|
|
4933
|
+
for (const i of e) {
|
|
4934
|
+
if (s < i.length)
|
|
4935
4935
|
break;
|
|
4936
|
-
s -=
|
|
4936
|
+
s -= i.length, o++;
|
|
4937
4937
|
}
|
|
4938
4938
|
return { line: o, character: s };
|
|
4939
4939
|
}
|
|
4940
4940
|
function a(r, s) {
|
|
4941
4941
|
let o = 0;
|
|
4942
|
-
for (let
|
|
4943
|
-
o += e[
|
|
4942
|
+
for (let i = 0; i < r; i++)
|
|
4943
|
+
o += e[i].length;
|
|
4944
4944
|
return o += s, o;
|
|
4945
4945
|
}
|
|
4946
4946
|
return {
|
|
@@ -4967,7 +4967,7 @@ function xi(t, e) {
|
|
|
4967
4967
|
function Si(t, e) {
|
|
4968
4968
|
const n = Array.from(e instanceof Set ? e : new Set(e)).sort((a, r) => a - r);
|
|
4969
4969
|
return n.length ? t.map((a) => a.flatMap((r) => {
|
|
4970
|
-
const s = n.filter((o) => r.offset < o && o < r.offset + r.content.length).map((o) => o - r.offset).sort((o,
|
|
4970
|
+
const s = n.filter((o) => r.offset < o && o < r.offset + r.content.length).map((o) => o - r.offset).sort((o, i) => o - i);
|
|
4971
4971
|
return s.length ? xi(r, s) : r;
|
|
4972
4972
|
})) : t;
|
|
4973
4973
|
}
|
|
@@ -4976,18 +4976,18 @@ function Ei(t, e, n, a) {
|
|
|
4976
4976
|
content: t.content,
|
|
4977
4977
|
explanation: t.explanation,
|
|
4978
4978
|
offset: t.offset
|
|
4979
|
-
}, s = e.map((
|
|
4980
|
-
return s.forEach((
|
|
4979
|
+
}, s = e.map((l) => Ct(t.variants[l])), o = new Set(s.flatMap((l) => Object.keys(l))), i = {};
|
|
4980
|
+
return s.forEach((l, c) => {
|
|
4981
4981
|
for (const u of o) {
|
|
4982
|
-
const p =
|
|
4982
|
+
const p = l[u] || "inherit";
|
|
4983
4983
|
if (c === 0 && a)
|
|
4984
|
-
|
|
4984
|
+
i[u] = p;
|
|
4985
4985
|
else {
|
|
4986
4986
|
const d = u === "color" ? "" : u === "background-color" ? "-bg" : `-${u}`, f = n + e[c] + (u === "color" ? "" : d);
|
|
4987
|
-
|
|
4987
|
+
i[f] = p;
|
|
4988
4988
|
}
|
|
4989
4989
|
}
|
|
4990
|
-
}), r.htmlStyle =
|
|
4990
|
+
}), r.htmlStyle = i, r;
|
|
4991
4991
|
}
|
|
4992
4992
|
function Ct(t) {
|
|
4993
4993
|
const e = {};
|
|
@@ -5008,7 +5008,7 @@ function Pt(t, e) {
|
|
|
5008
5008
|
function nt(t) {
|
|
5009
5009
|
return tr.get(t);
|
|
5010
5010
|
}
|
|
5011
|
-
class
|
|
5011
|
+
class He {
|
|
5012
5012
|
constructor(...e) {
|
|
5013
5013
|
/**
|
|
5014
5014
|
* Theme to Stack mapping
|
|
@@ -5036,7 +5036,7 @@ class We {
|
|
|
5036
5036
|
* Static method to create a initial grammar state.
|
|
5037
5037
|
*/
|
|
5038
5038
|
static initial(e, n) {
|
|
5039
|
-
return new
|
|
5039
|
+
return new He(
|
|
5040
5040
|
Object.fromEntries(wi(n).map((a) => [a, on])),
|
|
5041
5041
|
e
|
|
5042
5042
|
);
|
|
@@ -5073,7 +5073,7 @@ function Ai(t) {
|
|
|
5073
5073
|
return a(t), e;
|
|
5074
5074
|
}
|
|
5075
5075
|
function Ii(t, e) {
|
|
5076
|
-
if (!(t instanceof
|
|
5076
|
+
if (!(t instanceof He))
|
|
5077
5077
|
throw new X("Invalid grammar state");
|
|
5078
5078
|
return t.getInternalStack(e);
|
|
5079
5079
|
}
|
|
@@ -5090,11 +5090,11 @@ function Ri() {
|
|
|
5090
5090
|
offset: o
|
|
5091
5091
|
};
|
|
5092
5092
|
} else {
|
|
5093
|
-
const
|
|
5094
|
-
if (
|
|
5093
|
+
const i = r.lines[o.line];
|
|
5094
|
+
if (i === void 0)
|
|
5095
5095
|
throw new X(`Invalid decoration position ${JSON.stringify(o)}. Lines length: ${r.lines.length}`);
|
|
5096
|
-
if (o.character < 0 || o.character >
|
|
5097
|
-
throw new X(`Invalid decoration position ${JSON.stringify(o)}. Line ${o.line} length: ${
|
|
5096
|
+
if (o.character < 0 || o.character > i.length)
|
|
5097
|
+
throw new X(`Invalid decoration position ${JSON.stringify(o)}. Line ${o.line} length: ${i.length}`);
|
|
5098
5098
|
return {
|
|
5099
5099
|
...o,
|
|
5100
5100
|
offset: r.posToIndex(o.line, o.character)
|
|
@@ -5120,7 +5120,7 @@ function Ri() {
|
|
|
5120
5120
|
var o;
|
|
5121
5121
|
if (!((o = this.options.decorations) != null && o.length))
|
|
5122
5122
|
return;
|
|
5123
|
-
const r = e(this).decorations.flatMap((
|
|
5123
|
+
const r = e(this).decorations.flatMap((i) => [i.start.offset, i.end.offset]);
|
|
5124
5124
|
return Si(n, r);
|
|
5125
5125
|
},
|
|
5126
5126
|
code(n) {
|
|
@@ -5142,9 +5142,9 @@ function Ri() {
|
|
|
5142
5142
|
throw new X(`Failed to find end index for decoration ${JSON.stringify(m.end)}`);
|
|
5143
5143
|
const k = _.children.slice(b, w);
|
|
5144
5144
|
if (!m.alwaysWrap && k.length === _.children.length)
|
|
5145
|
-
|
|
5145
|
+
i(_, m, "line");
|
|
5146
5146
|
else if (!m.alwaysWrap && k.length === 1 && k[0].type === "element")
|
|
5147
|
-
|
|
5147
|
+
i(k[0], m, "token");
|
|
5148
5148
|
else {
|
|
5149
5149
|
const v = {
|
|
5150
5150
|
type: "element",
|
|
@@ -5152,13 +5152,13 @@ function Ri() {
|
|
|
5152
5152
|
properties: {},
|
|
5153
5153
|
children: k
|
|
5154
5154
|
};
|
|
5155
|
-
|
|
5155
|
+
i(v, m, "wrapper"), _.children.splice(b, k.length, v);
|
|
5156
5156
|
}
|
|
5157
5157
|
}
|
|
5158
5158
|
function o(p, d) {
|
|
5159
|
-
r[p] =
|
|
5159
|
+
r[p] = i(r[p], d, "line");
|
|
5160
5160
|
}
|
|
5161
|
-
function
|
|
5161
|
+
function i(p, d, f) {
|
|
5162
5162
|
var g;
|
|
5163
5163
|
const m = d.properties || {}, _ = d.transform || ((b) => b);
|
|
5164
5164
|
return p.tagName = d.tagName || "span", p.properties = {
|
|
@@ -5167,7 +5167,7 @@ function Ri() {
|
|
|
5167
5167
|
class: p.properties.class
|
|
5168
5168
|
}, (g = d.properties) != null && g.class && er(p, d.properties.class), p = _(p, f) || p, p;
|
|
5169
5169
|
}
|
|
5170
|
-
const
|
|
5170
|
+
const l = [], c = a.decorations.sort((p, d) => d.start.offset - p.start.offset || p.end.offset - d.end.offset);
|
|
5171
5171
|
for (const p of c) {
|
|
5172
5172
|
const { start: d, end: f } = p;
|
|
5173
5173
|
if (d.line === f.line)
|
|
@@ -5175,11 +5175,11 @@ function Ri() {
|
|
|
5175
5175
|
else if (d.line < f.line) {
|
|
5176
5176
|
s(d.line, d.character, Number.POSITIVE_INFINITY, p);
|
|
5177
5177
|
for (let m = d.line + 1; m < f.line; m++)
|
|
5178
|
-
|
|
5178
|
+
l.unshift(() => o(m, p));
|
|
5179
5179
|
s(f.line, 0, f.character, p);
|
|
5180
5180
|
}
|
|
5181
5181
|
}
|
|
5182
|
-
|
|
5182
|
+
l.forEach((p) => p());
|
|
5183
5183
|
}
|
|
5184
5184
|
};
|
|
5185
5185
|
}
|
|
@@ -5189,9 +5189,9 @@ function Ni(t) {
|
|
|
5189
5189
|
if (n.start.offset > n.end.offset)
|
|
5190
5190
|
throw new X(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);
|
|
5191
5191
|
for (let a = e + 1; a < t.length; a++) {
|
|
5192
|
-
const r = t[a], s = n.start.offset <= r.start.offset && r.start.offset < n.end.offset, o = n.start.offset < r.end.offset && r.end.offset <= n.end.offset,
|
|
5193
|
-
if (s || o ||
|
|
5194
|
-
if (s && o ||
|
|
5192
|
+
const r = t[a], s = n.start.offset <= r.start.offset && r.start.offset < n.end.offset, o = n.start.offset < r.end.offset && r.end.offset <= n.end.offset, i = r.start.offset <= n.start.offset && n.start.offset < r.end.offset, l = r.start.offset < n.end.offset && n.end.offset <= r.end.offset;
|
|
5193
|
+
if (s || o || i || l) {
|
|
5194
|
+
if (s && o || i && l)
|
|
5195
5195
|
continue;
|
|
5196
5196
|
throw new X(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(r.start)} intersect.`);
|
|
5197
5197
|
}
|
|
@@ -5340,17 +5340,17 @@ function Li() {
|
|
|
5340
5340
|
const r = [];
|
|
5341
5341
|
let s = 0;
|
|
5342
5342
|
do {
|
|
5343
|
-
const o = Bi(a, s),
|
|
5344
|
-
if (
|
|
5345
|
-
value:
|
|
5343
|
+
const o = Bi(a, s), i = o.sequence ? a.substring(s, o.startPosition) : a.substring(s);
|
|
5344
|
+
if (i.length > 0 && r.push({
|
|
5345
|
+
value: i,
|
|
5346
5346
|
foreground: t,
|
|
5347
5347
|
background: e,
|
|
5348
5348
|
decorations: new Set(n)
|
|
5349
5349
|
}), o.sequence) {
|
|
5350
|
-
const
|
|
5351
|
-
for (const c of
|
|
5350
|
+
const l = Ti(o.sequence);
|
|
5351
|
+
for (const c of l)
|
|
5352
5352
|
c.type === "resetAll" ? (t = null, e = null, n.clear()) : c.type === "resetForegroundColor" ? t = null : c.type === "resetBackgroundColor" ? e = null : c.type === "resetDecoration" && n.delete(c.value);
|
|
5353
|
-
for (const c of
|
|
5353
|
+
for (const c of l)
|
|
5354
5354
|
c.type === "setForegroundColor" ? t = c.value : c.type === "setBackgroundColor" ? e = c.value : c.type === "setDecoration" && n.add(c.value);
|
|
5355
5355
|
}
|
|
5356
5356
|
s = o.position;
|
|
@@ -5378,11 +5378,11 @@ var ji = {
|
|
|
5378
5378
|
brightWhite: "#ffffff"
|
|
5379
5379
|
};
|
|
5380
5380
|
function Mi(t = ji) {
|
|
5381
|
-
function e(
|
|
5382
|
-
return t[
|
|
5381
|
+
function e(i) {
|
|
5382
|
+
return t[i];
|
|
5383
5383
|
}
|
|
5384
|
-
function n(
|
|
5385
|
-
return `#${
|
|
5384
|
+
function n(i) {
|
|
5385
|
+
return `#${i.map((l) => Math.max(0, Math.min(l, 255)).toString(16).padStart(2, "0")).join("")}`;
|
|
5386
5386
|
}
|
|
5387
5387
|
let a;
|
|
5388
5388
|
function r() {
|
|
@@ -5391,27 +5391,27 @@ function Mi(t = ji) {
|
|
|
5391
5391
|
a = [];
|
|
5392
5392
|
for (let c = 0; c < Ie.length; c++)
|
|
5393
5393
|
a.push(e(Ie[c]));
|
|
5394
|
-
let
|
|
5394
|
+
let i = [0, 95, 135, 175, 215, 255];
|
|
5395
5395
|
for (let c = 0; c < 6; c++)
|
|
5396
5396
|
for (let u = 0; u < 6; u++)
|
|
5397
5397
|
for (let p = 0; p < 6; p++)
|
|
5398
|
-
a.push(n([
|
|
5399
|
-
let
|
|
5400
|
-
for (let c = 0; c < 24; c++,
|
|
5401
|
-
a.push(n([
|
|
5398
|
+
a.push(n([i[c], i[u], i[p]]));
|
|
5399
|
+
let l = 8;
|
|
5400
|
+
for (let c = 0; c < 24; c++, l += 10)
|
|
5401
|
+
a.push(n([l, l, l]));
|
|
5402
5402
|
return a;
|
|
5403
5403
|
}
|
|
5404
|
-
function s(
|
|
5405
|
-
return r()[
|
|
5404
|
+
function s(i) {
|
|
5405
|
+
return r()[i];
|
|
5406
5406
|
}
|
|
5407
|
-
function o(
|
|
5408
|
-
switch (
|
|
5407
|
+
function o(i) {
|
|
5408
|
+
switch (i.type) {
|
|
5409
5409
|
case "named":
|
|
5410
|
-
return e(
|
|
5410
|
+
return e(i.name);
|
|
5411
5411
|
case "rgb":
|
|
5412
|
-
return n(
|
|
5412
|
+
return n(i.rgb);
|
|
5413
5413
|
case "table":
|
|
5414
|
-
return s(
|
|
5414
|
+
return s(i.index);
|
|
5415
5415
|
}
|
|
5416
5416
|
}
|
|
5417
5417
|
return {
|
|
@@ -5421,23 +5421,23 @@ function Mi(t = ji) {
|
|
|
5421
5421
|
function Oi(t, e, n) {
|
|
5422
5422
|
const a = vt(t, n), r = Nt(e), s = Mi(
|
|
5423
5423
|
Object.fromEntries(
|
|
5424
|
-
Ie.map((
|
|
5425
|
-
var
|
|
5424
|
+
Ie.map((i) => {
|
|
5425
|
+
var l;
|
|
5426
5426
|
return [
|
|
5427
|
-
|
|
5428
|
-
(
|
|
5427
|
+
i,
|
|
5428
|
+
(l = t.colors) == null ? void 0 : l[`terminal.ansi${i[0].toUpperCase()}${i.substring(1)}`]
|
|
5429
5429
|
];
|
|
5430
5430
|
})
|
|
5431
5431
|
)
|
|
5432
5432
|
), o = Li();
|
|
5433
5433
|
return r.map(
|
|
5434
|
-
(
|
|
5434
|
+
(i) => o.parse(i[0]).map((l) => {
|
|
5435
5435
|
let c, u;
|
|
5436
|
-
|
|
5436
|
+
l.decorations.has("reverse") ? (c = l.background ? s.value(l.background) : t.bg, u = l.foreground ? s.value(l.foreground) : t.fg) : (c = l.foreground ? s.value(l.foreground) : t.fg, u = l.background ? s.value(l.background) : void 0), c = Ae(c, a), u = Ae(u, a), l.decorations.has("dim") && (c = Gi(c));
|
|
5437
5437
|
let p = Z.None;
|
|
5438
|
-
return
|
|
5439
|
-
content:
|
|
5440
|
-
offset:
|
|
5438
|
+
return l.decorations.has("bold") && (p |= Z.Bold), l.decorations.has("italic") && (p |= Z.Italic), l.decorations.has("underline") && (p |= Z.Underline), l.decorations.has("strikethrough") && (p |= Z.Strikethrough), {
|
|
5439
|
+
content: l.value,
|
|
5440
|
+
offset: i[1],
|
|
5441
5441
|
// TODO: more accurate offset? might need to fork ansi-sequence-parser
|
|
5442
5442
|
color: c,
|
|
5443
5443
|
bgColor: u,
|
|
@@ -5462,18 +5462,18 @@ function Sn(t, e, n = {}) {
|
|
|
5462
5462
|
theme: r = t.getLoadedThemes()[0]
|
|
5463
5463
|
} = n;
|
|
5464
5464
|
if (Cn(a) || xn(r))
|
|
5465
|
-
return Nt(e).map((
|
|
5465
|
+
return Nt(e).map((l) => [{ content: l[0], offset: l[1] }]);
|
|
5466
5466
|
const { theme: s, colorMap: o } = t.setTheme(r);
|
|
5467
5467
|
if (a === "ansi")
|
|
5468
5468
|
return Oi(s, e, n);
|
|
5469
|
-
const
|
|
5469
|
+
const i = t.getLanguage(a);
|
|
5470
5470
|
if (n.grammarState) {
|
|
5471
|
-
if (n.grammarState.lang !==
|
|
5472
|
-
throw new X(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${
|
|
5471
|
+
if (n.grammarState.lang !== i.name)
|
|
5472
|
+
throw new X(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${i.name}"`);
|
|
5473
5473
|
if (!n.grammarState.themes.includes(s.name))
|
|
5474
5474
|
throw new X(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${s.name}"`);
|
|
5475
5475
|
}
|
|
5476
|
-
return Di(e,
|
|
5476
|
+
return Di(e, i, s, o, n);
|
|
5477
5477
|
}
|
|
5478
5478
|
function Fi(...t) {
|
|
5479
5479
|
if (t.length === 2)
|
|
@@ -5486,15 +5486,15 @@ function Fi(...t) {
|
|
|
5486
5486
|
throw new X("Plain language does not have grammar state");
|
|
5487
5487
|
if (r === "ansi")
|
|
5488
5488
|
throw new X("ANSI language does not have grammar state");
|
|
5489
|
-
const { theme: o, colorMap:
|
|
5490
|
-
return new
|
|
5491
|
-
St(n,
|
|
5492
|
-
|
|
5489
|
+
const { theme: o, colorMap: i } = e.setTheme(s), l = e.getLanguage(r);
|
|
5490
|
+
return new He(
|
|
5491
|
+
St(n, l, o, i, a).stateStack,
|
|
5492
|
+
l.name,
|
|
5493
5493
|
o.name
|
|
5494
5494
|
);
|
|
5495
5495
|
}
|
|
5496
5496
|
function Di(t, e, n, a, r) {
|
|
5497
|
-
const s = St(t, e, n, a, r), o = new
|
|
5497
|
+
const s = St(t, e, n, a, r), o = new He(
|
|
5498
5498
|
St(t, e, n, a, r).stateStack,
|
|
5499
5499
|
e.name,
|
|
5500
5500
|
n.name
|
|
@@ -5504,8 +5504,8 @@ function Di(t, e, n, a, r) {
|
|
|
5504
5504
|
function St(t, e, n, a, r) {
|
|
5505
5505
|
const s = vt(n, r), {
|
|
5506
5506
|
tokenizeMaxLineLength: o = 0,
|
|
5507
|
-
tokenizeTimeLimit:
|
|
5508
|
-
} = r,
|
|
5507
|
+
tokenizeTimeLimit: i = 500
|
|
5508
|
+
} = r, l = Nt(t);
|
|
5509
5509
|
let c = r.grammarState ? Ii(r.grammarState, n.name) ?? on : r.grammarContextCode != null ? St(
|
|
5510
5510
|
r.grammarContextCode,
|
|
5511
5511
|
e,
|
|
@@ -5518,8 +5518,8 @@ function St(t, e, n, a, r) {
|
|
|
5518
5518
|
}
|
|
5519
5519
|
).stateStack : on, u = [];
|
|
5520
5520
|
const p = [];
|
|
5521
|
-
for (let d = 0, f =
|
|
5522
|
-
const [m, _] =
|
|
5521
|
+
for (let d = 0, f = l.length; d < f; d++) {
|
|
5522
|
+
const [m, _] = l[d];
|
|
5523
5523
|
if (m === "") {
|
|
5524
5524
|
u = [], p.push([]);
|
|
5525
5525
|
continue;
|
|
@@ -5534,8 +5534,8 @@ function St(t, e, n, a, r) {
|
|
|
5534
5534
|
continue;
|
|
5535
5535
|
}
|
|
5536
5536
|
let g, b, w;
|
|
5537
|
-
r.includeExplanation && (g = e.tokenizeLine(m, c,
|
|
5538
|
-
const k = e.tokenizeLine2(m, c,
|
|
5537
|
+
r.includeExplanation && (g = e.tokenizeLine(m, c, i), b = g.tokens, w = 0);
|
|
5538
|
+
const k = e.tokenizeLine2(m, c, i), v = k.tokens.length / 2;
|
|
5539
5539
|
for (let A = 0; A < v; A++) {
|
|
5540
5540
|
const O = k.tokens[2 * A], I = A + 1 < v ? k.tokens[2 * A + 2] : m.length;
|
|
5541
5541
|
if (O === I)
|
|
@@ -5552,37 +5552,37 @@ function St(t, e, n, a, r) {
|
|
|
5552
5552
|
if (r.includeExplanation) {
|
|
5553
5553
|
const T = [];
|
|
5554
5554
|
if (r.includeExplanation !== "scopeName")
|
|
5555
|
-
for (const
|
|
5555
|
+
for (const W of n.settings) {
|
|
5556
5556
|
let ie;
|
|
5557
|
-
switch (typeof
|
|
5557
|
+
switch (typeof W.scope) {
|
|
5558
5558
|
case "string":
|
|
5559
|
-
ie =
|
|
5559
|
+
ie = W.scope.split(/,/).map((ye) => ye.trim());
|
|
5560
5560
|
break;
|
|
5561
5561
|
case "object":
|
|
5562
|
-
ie =
|
|
5562
|
+
ie = W.scope;
|
|
5563
5563
|
break;
|
|
5564
5564
|
default:
|
|
5565
5565
|
continue;
|
|
5566
5566
|
}
|
|
5567
5567
|
T.push({
|
|
5568
|
-
settings:
|
|
5568
|
+
settings: W,
|
|
5569
5569
|
selectors: ie.map((ye) => ye.split(/ /))
|
|
5570
5570
|
});
|
|
5571
5571
|
}
|
|
5572
5572
|
$.explanation = [];
|
|
5573
5573
|
let ue = 0;
|
|
5574
5574
|
for (; O + ue < I; ) {
|
|
5575
|
-
const
|
|
5576
|
-
|
|
5577
|
-
|
|
5575
|
+
const W = b[w], ie = m.substring(
|
|
5576
|
+
W.startIndex,
|
|
5577
|
+
W.endIndex
|
|
5578
5578
|
);
|
|
5579
5579
|
ue += ie.length, $.explanation.push({
|
|
5580
5580
|
content: ie,
|
|
5581
5581
|
scopes: r.includeExplanation === "scopeName" ? Ui(
|
|
5582
|
-
|
|
5582
|
+
W.scopes
|
|
5583
5583
|
) : zi(
|
|
5584
5584
|
T,
|
|
5585
|
-
|
|
5585
|
+
W.scopes
|
|
5586
5586
|
)
|
|
5587
5587
|
}), w += 1;
|
|
5588
5588
|
}
|
|
@@ -5605,7 +5605,7 @@ function zi(t, e) {
|
|
|
5605
5605
|
const s = e[a];
|
|
5606
5606
|
n[a] = {
|
|
5607
5607
|
scopeName: s,
|
|
5608
|
-
themeMatches:
|
|
5608
|
+
themeMatches: Hi(t, s, e.slice(0, a))
|
|
5609
5609
|
};
|
|
5610
5610
|
}
|
|
5611
5611
|
return n;
|
|
@@ -5621,7 +5621,7 @@ function qi(t, e, n) {
|
|
|
5621
5621
|
Yn(t[a], n[r]) && (a -= 1), r -= 1;
|
|
5622
5622
|
return a === -1;
|
|
5623
5623
|
}
|
|
5624
|
-
function
|
|
5624
|
+
function Hi(t, e, n) {
|
|
5625
5625
|
const a = [];
|
|
5626
5626
|
for (const { selectors: r, settings: s } of t)
|
|
5627
5627
|
for (const o of r)
|
|
@@ -5632,20 +5632,20 @@ function Wi(t, e, n) {
|
|
|
5632
5632
|
return a;
|
|
5633
5633
|
}
|
|
5634
5634
|
function ar(t, e, n) {
|
|
5635
|
-
const a = Object.entries(n.themes).filter((
|
|
5635
|
+
const a = Object.entries(n.themes).filter((l) => l[1]).map((l) => ({ color: l[0], theme: l[1] })), r = a.map((l) => {
|
|
5636
5636
|
const c = Sn(t, e, {
|
|
5637
5637
|
...n,
|
|
5638
|
-
theme:
|
|
5639
|
-
}), u = nt(c), p = typeof
|
|
5638
|
+
theme: l.theme
|
|
5639
|
+
}), u = nt(c), p = typeof l.theme == "string" ? l.theme : l.theme.name;
|
|
5640
5640
|
return {
|
|
5641
5641
|
tokens: c,
|
|
5642
5642
|
state: u,
|
|
5643
5643
|
theme: p
|
|
5644
5644
|
};
|
|
5645
|
-
}), s =
|
|
5646
|
-
...r.map((
|
|
5645
|
+
}), s = Wi(
|
|
5646
|
+
...r.map((l) => l.tokens)
|
|
5647
5647
|
), o = s[0].map(
|
|
5648
|
-
(
|
|
5648
|
+
(l, c) => l.map((u, p) => {
|
|
5649
5649
|
const d = {
|
|
5650
5650
|
content: u.content,
|
|
5651
5651
|
variants: {},
|
|
@@ -5661,32 +5661,32 @@ function ar(t, e, n) {
|
|
|
5661
5661
|
d.variants[a[m].color] = w;
|
|
5662
5662
|
}), d;
|
|
5663
5663
|
})
|
|
5664
|
-
),
|
|
5665
|
-
Object.fromEntries(r.map((
|
|
5664
|
+
), i = r[0].state ? new He(
|
|
5665
|
+
Object.fromEntries(r.map((l) => {
|
|
5666
5666
|
var c;
|
|
5667
|
-
return [
|
|
5667
|
+
return [l.theme, (c = l.state) == null ? void 0 : c.getInternalStack(l.theme)];
|
|
5668
5668
|
})),
|
|
5669
5669
|
r[0].state.lang
|
|
5670
5670
|
) : void 0;
|
|
5671
|
-
return
|
|
5671
|
+
return i && Pt(o, i), o;
|
|
5672
5672
|
}
|
|
5673
|
-
function
|
|
5673
|
+
function Wi(...t) {
|
|
5674
5674
|
const e = t.map(() => []), n = t.length;
|
|
5675
5675
|
for (let a = 0; a < t[0].length; a++) {
|
|
5676
|
-
const r = t.map((
|
|
5677
|
-
e.forEach((
|
|
5678
|
-
const o = r.map(() => 0),
|
|
5679
|
-
for (;
|
|
5680
|
-
const
|
|
5676
|
+
const r = t.map((l) => l[a]), s = e.map(() => []);
|
|
5677
|
+
e.forEach((l, c) => l.push(s[c]));
|
|
5678
|
+
const o = r.map(() => 0), i = r.map((l) => l[0]);
|
|
5679
|
+
for (; i.every((l) => l); ) {
|
|
5680
|
+
const l = Math.min(...i.map((c) => c.content.length));
|
|
5681
5681
|
for (let c = 0; c < n; c++) {
|
|
5682
|
-
const u =
|
|
5683
|
-
u.content.length ===
|
|
5682
|
+
const u = i[c];
|
|
5683
|
+
u.content.length === l ? (s[c].push(u), o[c] += 1, i[c] = r[c][o[c]]) : (s[c].push({
|
|
5684
5684
|
...u,
|
|
5685
|
-
content: u.content.slice(0,
|
|
5686
|
-
}),
|
|
5685
|
+
content: u.content.slice(0, l)
|
|
5686
|
+
}), i[c] = {
|
|
5687
5687
|
...u,
|
|
5688
|
-
content: u.content.slice(
|
|
5689
|
-
offset: u.offset +
|
|
5688
|
+
content: u.content.slice(l),
|
|
5689
|
+
offset: u.offset + l
|
|
5690
5690
|
});
|
|
5691
5691
|
}
|
|
5692
5692
|
}
|
|
@@ -5694,7 +5694,7 @@ function Hi(...t) {
|
|
|
5694
5694
|
return e;
|
|
5695
5695
|
}
|
|
5696
5696
|
function Et(t, e, n) {
|
|
5697
|
-
let a, r, s, o,
|
|
5697
|
+
let a, r, s, o, i, l;
|
|
5698
5698
|
if ("themes" in n) {
|
|
5699
5699
|
const {
|
|
5700
5700
|
defaultColor: c = "light",
|
|
@@ -5707,12 +5707,12 @@ function Et(t, e, n) {
|
|
|
5707
5707
|
e,
|
|
5708
5708
|
n
|
|
5709
5709
|
);
|
|
5710
|
-
if (
|
|
5710
|
+
if (l = nt(d), c && !p.find((g) => g.color === c))
|
|
5711
5711
|
throw new X(`\`themes\` option must contain the defaultColor key \`${c}\``);
|
|
5712
5712
|
const f = p.map((g) => t.getTheme(g.theme)), m = p.map((g) => g.color);
|
|
5713
|
-
s = d.map((g) => g.map((b) => Ei(b, m, u, c))),
|
|
5713
|
+
s = d.map((g) => g.map((b) => Ei(b, m, u, c))), l && Pt(s, l);
|
|
5714
5714
|
const _ = p.map((g) => vt(g.theme, n));
|
|
5715
|
-
r = p.map((g, b) => (b === 0 && c ? "" : `${u + g.color}:`) + (Ae(f[b].fg, _[b]) || "inherit")).join(";"), a = p.map((g, b) => (b === 0 && c ? "" : `${u + g.color}-bg:`) + (Ae(f[b].bg, _[b]) || "inherit")).join(";"), o = `shiki-themes ${f.map((g) => g.name).join(" ")}`,
|
|
5715
|
+
r = p.map((g, b) => (b === 0 && c ? "" : `${u + g.color}:`) + (Ae(f[b].fg, _[b]) || "inherit")).join(";"), a = p.map((g, b) => (b === 0 && c ? "" : `${u + g.color}-bg:`) + (Ae(f[b].bg, _[b]) || "inherit")).join(";"), o = `shiki-themes ${f.map((g) => g.name).join(" ")}`, i = c ? void 0 : [r, a].join(";");
|
|
5716
5716
|
} else if ("theme" in n) {
|
|
5717
5717
|
const c = vt(n.theme, n);
|
|
5718
5718
|
s = Sn(
|
|
@@ -5721,7 +5721,7 @@ function Et(t, e, n) {
|
|
|
5721
5721
|
n
|
|
5722
5722
|
);
|
|
5723
5723
|
const u = t.getTheme(n.theme);
|
|
5724
|
-
a = Ae(u.bg, c), r = Ae(u.fg, c), o = u.name,
|
|
5724
|
+
a = Ae(u.bg, c), r = Ae(u.fg, c), o = u.name, l = nt(s);
|
|
5725
5725
|
} else
|
|
5726
5726
|
throw new X("Invalid options, either `theme` or `themes` must be provided");
|
|
5727
5727
|
return {
|
|
@@ -5729,8 +5729,8 @@ function Et(t, e, n) {
|
|
|
5729
5729
|
fg: r,
|
|
5730
5730
|
bg: a,
|
|
5731
5731
|
themeName: o,
|
|
5732
|
-
rootStyle:
|
|
5733
|
-
grammarState:
|
|
5732
|
+
rootStyle: i,
|
|
5733
|
+
grammarState: l
|
|
5734
5734
|
};
|
|
5735
5735
|
}
|
|
5736
5736
|
function At(t, e, n, a = {
|
|
@@ -5746,8 +5746,8 @@ function At(t, e, n, a = {
|
|
|
5746
5746
|
let {
|
|
5747
5747
|
tokens: s,
|
|
5748
5748
|
fg: o,
|
|
5749
|
-
bg:
|
|
5750
|
-
themeName:
|
|
5749
|
+
bg: i,
|
|
5750
|
+
themeName: l,
|
|
5751
5751
|
rootStyle: c,
|
|
5752
5752
|
grammarState: u
|
|
5753
5753
|
} = Et(t, r, n);
|
|
@@ -5769,8 +5769,8 @@ function At(t, e, n, a = {
|
|
|
5769
5769
|
{
|
|
5770
5770
|
...n,
|
|
5771
5771
|
fg: o,
|
|
5772
|
-
bg:
|
|
5773
|
-
themeName:
|
|
5772
|
+
bg: i,
|
|
5773
|
+
themeName: l,
|
|
5774
5774
|
rootStyle: c
|
|
5775
5775
|
},
|
|
5776
5776
|
f,
|
|
@@ -5783,8 +5783,8 @@ function Vi(t, e, n, a = nt(t)) {
|
|
|
5783
5783
|
type: "root",
|
|
5784
5784
|
children: []
|
|
5785
5785
|
}, {
|
|
5786
|
-
structure:
|
|
5787
|
-
tabindex:
|
|
5786
|
+
structure: i = "classic",
|
|
5787
|
+
tabindex: l = "0"
|
|
5788
5788
|
} = e;
|
|
5789
5789
|
let c = {
|
|
5790
5790
|
type: "element",
|
|
@@ -5792,8 +5792,8 @@ function Vi(t, e, n, a = nt(t)) {
|
|
|
5792
5792
|
properties: {
|
|
5793
5793
|
class: `shiki ${e.themeName || ""}`,
|
|
5794
5794
|
style: e.rootStyle || `background-color:${e.bg};color:${e.fg}`,
|
|
5795
|
-
...
|
|
5796
|
-
tabindex:
|
|
5795
|
+
...l !== !1 && l != null ? {
|
|
5796
|
+
tabindex: l.toString()
|
|
5797
5797
|
} : {},
|
|
5798
5798
|
...Object.fromEntries(
|
|
5799
5799
|
Array.from(
|
|
@@ -5810,7 +5810,7 @@ function Vi(t, e, n, a = nt(t)) {
|
|
|
5810
5810
|
};
|
|
5811
5811
|
const p = [], d = {
|
|
5812
5812
|
...n,
|
|
5813
|
-
structure:
|
|
5813
|
+
structure: i,
|
|
5814
5814
|
addClassToHast: er,
|
|
5815
5815
|
get source() {
|
|
5816
5816
|
return n.source;
|
|
@@ -5836,7 +5836,7 @@ function Vi(t, e, n, a = nt(t)) {
|
|
|
5836
5836
|
};
|
|
5837
5837
|
if (t.forEach((b, w) => {
|
|
5838
5838
|
var A, O;
|
|
5839
|
-
w && (
|
|
5839
|
+
w && (i === "inline" ? o.children.push({ type: "element", tagName: "br", properties: {}, children: [] }) : i === "classic" && s.push({ type: "text", value: `
|
|
5840
5840
|
` }));
|
|
5841
5841
|
let k = {
|
|
5842
5842
|
type: "element",
|
|
@@ -5857,14 +5857,14 @@ function Vi(t, e, n, a = nt(t)) {
|
|
|
5857
5857
|
ce && (q.properties.style = ce);
|
|
5858
5858
|
for (const x of r)
|
|
5859
5859
|
q = ((A = x == null ? void 0 : x.span) == null ? void 0 : A.call(d, q, w + 1, v, k, I)) || q;
|
|
5860
|
-
|
|
5860
|
+
i === "inline" ? o.children.push(q) : i === "classic" && k.children.push(q), v += I.content.length;
|
|
5861
5861
|
}
|
|
5862
|
-
if (
|
|
5862
|
+
if (i === "classic") {
|
|
5863
5863
|
for (const I of r)
|
|
5864
5864
|
k = ((O = I == null ? void 0 : I.line) == null ? void 0 : O.call(d, k, w + 1)) || k;
|
|
5865
5865
|
p.push(k), s.push(k);
|
|
5866
5866
|
}
|
|
5867
|
-
}),
|
|
5867
|
+
}), i === "classic") {
|
|
5868
5868
|
for (const b of r)
|
|
5869
5869
|
u = ((m = b == null ? void 0 : b.code) == null ? void 0 : m.call(d, u)) || u;
|
|
5870
5870
|
c.children.push(u);
|
|
@@ -5882,8 +5882,8 @@ function Xi(t) {
|
|
|
5882
5882
|
const n = [];
|
|
5883
5883
|
let a = "", r = 0;
|
|
5884
5884
|
return e.forEach((s, o) => {
|
|
5885
|
-
const
|
|
5886
|
-
|
|
5885
|
+
const l = !(s.fontStyle && (s.fontStyle & Z.Underline || s.fontStyle & Z.Strikethrough));
|
|
5886
|
+
l && s.content.match(/^\s+$/) && e[o + 1] ? (r || (r = s.offset), a += s.content) : a ? (l ? n.push({
|
|
5887
5887
|
...s,
|
|
5888
5888
|
offset: r,
|
|
5889
5889
|
content: a + s.content
|
|
@@ -5907,18 +5907,18 @@ function Zi(t) {
|
|
|
5907
5907
|
const [, r, s, o] = a;
|
|
5908
5908
|
if (!r && !o)
|
|
5909
5909
|
return n;
|
|
5910
|
-
const
|
|
5910
|
+
const i = [{
|
|
5911
5911
|
...n,
|
|
5912
5912
|
offset: n.offset + r.length,
|
|
5913
5913
|
content: s
|
|
5914
5914
|
}];
|
|
5915
|
-
return r &&
|
|
5915
|
+
return r && i.unshift({
|
|
5916
5916
|
content: r,
|
|
5917
5917
|
offset: n.offset
|
|
5918
|
-
}), o &&
|
|
5918
|
+
}), o && i.push({
|
|
5919
5919
|
content: o,
|
|
5920
5920
|
offset: n.offset + r.length + s.length
|
|
5921
|
-
}),
|
|
5921
|
+
}), i;
|
|
5922
5922
|
}));
|
|
5923
5923
|
}
|
|
5924
5924
|
function Ki(t) {
|
|
@@ -5929,8 +5929,8 @@ function Ki(t) {
|
|
|
5929
5929
|
n.push({ ...a });
|
|
5930
5930
|
continue;
|
|
5931
5931
|
}
|
|
5932
|
-
const r = n[n.length - 1], s = r.htmlStyle || dn(Ct(r)), o = a.htmlStyle || dn(Ct(a)),
|
|
5933
|
-
!
|
|
5932
|
+
const r = n[n.length - 1], s = r.htmlStyle || dn(Ct(r)), o = a.htmlStyle || dn(Ct(a)), i = r.fontStyle && (r.fontStyle & Z.Underline || r.fontStyle & Z.Strikethrough), l = a.fontStyle && (a.fontStyle & Z.Underline || a.fontStyle & Z.Strikethrough);
|
|
5933
|
+
!i && !l && s === o ? r.content += a.content : n.push({ ...a });
|
|
5934
5934
|
}
|
|
5935
5935
|
return n;
|
|
5936
5936
|
});
|
|
@@ -5941,8 +5941,8 @@ function Qi(t, e, n) {
|
|
|
5941
5941
|
const a = {
|
|
5942
5942
|
meta: {},
|
|
5943
5943
|
options: n,
|
|
5944
|
-
codeToHast: (o,
|
|
5945
|
-
codeToTokens: (o,
|
|
5944
|
+
codeToHast: (o, i) => At(t, o, i),
|
|
5945
|
+
codeToTokens: (o, i) => Et(t, o, i)
|
|
5946
5946
|
};
|
|
5947
5947
|
let r = Ji(At(t, e, n, a));
|
|
5948
5948
|
for (const o of xt(n))
|
|
@@ -5951,7 +5951,7 @@ function Qi(t, e, n) {
|
|
|
5951
5951
|
}
|
|
5952
5952
|
const ea = { light: "#333333", dark: "#bbbbbb" }, ta = { light: "#fffffe", dark: "#1e1e1e" }, na = "__shiki_resolved";
|
|
5953
5953
|
function En(t) {
|
|
5954
|
-
var
|
|
5954
|
+
var i, l, c, u, p;
|
|
5955
5955
|
if (t != null && t[na])
|
|
5956
5956
|
return t;
|
|
5957
5957
|
const e = {
|
|
@@ -5961,7 +5961,7 @@ function En(t) {
|
|
|
5961
5961
|
let { bg: n, fg: a } = e;
|
|
5962
5962
|
if (!n || !a) {
|
|
5963
5963
|
const d = e.settings ? e.settings.find((f) => !f.name && !f.scope) : void 0;
|
|
5964
|
-
(
|
|
5964
|
+
(i = d == null ? void 0 : d.settings) != null && i.foreground && (a = d.settings.foreground), (l = d == null ? void 0 : d.settings) != null && l.background && (n = d.settings.background), !a && ((c = e == null ? void 0 : e.colors) != null && c["editor.foreground"]) && (a = e.colors["editor.foreground"]), !n && ((u = e == null ? void 0 : e.colors) != null && u["editor.background"]) && (n = e.colors["editor.background"]), a || (a = e.type === "light" ? ea.light : ea.dark), n || (n = e.type === "light" ? ta.light : ta.dark), e.fg = a, e.bg = n;
|
|
5965
5965
|
}
|
|
5966
5966
|
e.settings[0] && e.settings[0].settings && !e.settings[0].scope || e.settings.unshift({
|
|
5967
5967
|
settings: {
|
|
@@ -6075,7 +6075,7 @@ class tl extends ao {
|
|
|
6075
6075
|
return this._resolvedGrammars.get(n);
|
|
6076
6076
|
}
|
|
6077
6077
|
loadLanguage(n) {
|
|
6078
|
-
var o,
|
|
6078
|
+
var o, i, l, c;
|
|
6079
6079
|
if (this.getGrammar(n.name))
|
|
6080
6080
|
return;
|
|
6081
6081
|
const a = new Set(
|
|
@@ -6095,7 +6095,7 @@ class tl extends ao {
|
|
|
6095
6095
|
this._alias[u] = n.name;
|
|
6096
6096
|
}), this._loadedLanguagesCache = null, a.size)
|
|
6097
6097
|
for (const u of a)
|
|
6098
|
-
this._resolvedGrammars.delete(u.name), this._loadedLanguagesCache = null, (
|
|
6098
|
+
this._resolvedGrammars.delete(u.name), this._loadedLanguagesCache = null, (i = (o = this._syncRegistry) == null ? void 0 : o._injectionGrammars) == null || i.delete(u.scopeName), (c = (l = this._syncRegistry) == null ? void 0 : l._grammars) == null || c.delete(u.scopeName), this.loadLanguage(this._langMap.get(u.name));
|
|
6099
6099
|
}
|
|
6100
6100
|
dispose() {
|
|
6101
6101
|
super.dispose(), this._resolvedThemes.clear(), this._resolvedGrammars.clear(), this._langMap.clear(), this._langGraph.clear(), this._loadedThemesCache = null;
|
|
@@ -6105,9 +6105,9 @@ class tl extends ao {
|
|
|
6105
6105
|
this.resolveEmbeddedLanguages(s);
|
|
6106
6106
|
const a = Array.from(this._langGraph.entries()), r = a.filter(([s, o]) => !o);
|
|
6107
6107
|
if (r.length) {
|
|
6108
|
-
const s = a.filter(([o,
|
|
6109
|
-
var
|
|
6110
|
-
return
|
|
6108
|
+
const s = a.filter(([o, i]) => {
|
|
6109
|
+
var l;
|
|
6110
|
+
return i && ((l = i.embeddedLangs) == null ? void 0 : l.some((c) => r.map(([u]) => u).includes(c)));
|
|
6111
6111
|
}).filter((o) => !r.includes(o));
|
|
6112
6112
|
throw new Fe(`Missing languages ${r.map(([o]) => `\`${o}\``).join(", ")}, required by ${s.map(([o]) => `\`${o}\``).join(", ")}`);
|
|
6113
6113
|
}
|
|
@@ -6172,14 +6172,14 @@ function al(t) {
|
|
|
6172
6172
|
throw new Fe("`engine` option is required for synchronous mode");
|
|
6173
6173
|
const n = (t.langs || []).flat(1), a = (t.themes || []).flat(1).map(En), r = new nl(t.engine, n), s = new tl(r, a, n, t.langAlias);
|
|
6174
6174
|
let o;
|
|
6175
|
-
function
|
|
6175
|
+
function i(w) {
|
|
6176
6176
|
g();
|
|
6177
6177
|
const k = s.getGrammar(typeof w == "string" ? w : w.name);
|
|
6178
6178
|
if (!k)
|
|
6179
6179
|
throw new Fe(`Language \`${w}\` not found, you may need to load it first`);
|
|
6180
6180
|
return k;
|
|
6181
6181
|
}
|
|
6182
|
-
function
|
|
6182
|
+
function l(w) {
|
|
6183
6183
|
if (w === "none")
|
|
6184
6184
|
return { bg: "", fg: "", name: "none", settings: [], type: "dark" };
|
|
6185
6185
|
g();
|
|
@@ -6190,7 +6190,7 @@ function al(t) {
|
|
|
6190
6190
|
}
|
|
6191
6191
|
function c(w) {
|
|
6192
6192
|
g();
|
|
6193
|
-
const k =
|
|
6193
|
+
const k = l(w);
|
|
6194
6194
|
o !== w && (s.setTheme(k), o = w);
|
|
6195
6195
|
const v = s.getColorMap();
|
|
6196
6196
|
return {
|
|
@@ -6227,8 +6227,8 @@ function al(t) {
|
|
|
6227
6227
|
}
|
|
6228
6228
|
return {
|
|
6229
6229
|
setTheme: c,
|
|
6230
|
-
getTheme:
|
|
6231
|
-
getLanguage:
|
|
6230
|
+
getTheme: l,
|
|
6231
|
+
getLanguage: i,
|
|
6232
6232
|
getLoadedThemes: u,
|
|
6233
6233
|
getLoadedLanguages: p,
|
|
6234
6234
|
loadLanguage: f,
|
|
@@ -6275,19 +6275,19 @@ async function sl(t) {
|
|
|
6275
6275
|
const ol = Object.freeze(JSON.parse('{"colors":{"activityBar.activeBorder":"#f9826c","activityBar.background":"#24292e","activityBar.border":"#1b1f23","activityBar.foreground":"#e1e4e8","activityBar.inactiveForeground":"#6a737d","activityBarBadge.background":"#0366d6","activityBarBadge.foreground":"#fff","badge.background":"#044289","badge.foreground":"#c8e1ff","breadcrumb.activeSelectionForeground":"#d1d5da","breadcrumb.focusForeground":"#e1e4e8","breadcrumb.foreground":"#959da5","breadcrumbPicker.background":"#2b3036","button.background":"#176f2c","button.foreground":"#dcffe4","button.hoverBackground":"#22863a","button.secondaryBackground":"#444d56","button.secondaryForeground":"#fff","button.secondaryHoverBackground":"#586069","checkbox.background":"#444d56","checkbox.border":"#1b1f23","debugToolBar.background":"#2b3036","descriptionForeground":"#959da5","diffEditor.insertedTextBackground":"#28a74530","diffEditor.removedTextBackground":"#d73a4930","dropdown.background":"#2f363d","dropdown.border":"#1b1f23","dropdown.foreground":"#e1e4e8","dropdown.listBackground":"#24292e","editor.background":"#24292e","editor.findMatchBackground":"#ffd33d44","editor.findMatchHighlightBackground":"#ffd33d22","editor.focusedStackFrameHighlightBackground":"#2b6a3033","editor.foldBackground":"#58606915","editor.foreground":"#e1e4e8","editor.inactiveSelectionBackground":"#3392FF22","editor.lineHighlightBackground":"#2b3036","editor.linkedEditingBackground":"#3392FF22","editor.selectionBackground":"#3392FF44","editor.selectionHighlightBackground":"#17E5E633","editor.selectionHighlightBorder":"#17E5E600","editor.stackFrameHighlightBackground":"#C6902625","editor.wordHighlightBackground":"#17E5E600","editor.wordHighlightBorder":"#17E5E699","editor.wordHighlightStrongBackground":"#17E5E600","editor.wordHighlightStrongBorder":"#17E5E666","editorBracketHighlight.foreground1":"#79b8ff","editorBracketHighlight.foreground2":"#ffab70","editorBracketHighlight.foreground3":"#b392f0","editorBracketHighlight.foreground4":"#79b8ff","editorBracketHighlight.foreground5":"#ffab70","editorBracketHighlight.foreground6":"#b392f0","editorBracketMatch.background":"#17E5E650","editorBracketMatch.border":"#17E5E600","editorCursor.foreground":"#c8e1ff","editorError.foreground":"#f97583","editorGroup.border":"#1b1f23","editorGroupHeader.tabsBackground":"#1f2428","editorGroupHeader.tabsBorder":"#1b1f23","editorGutter.addedBackground":"#28a745","editorGutter.deletedBackground":"#ea4a5a","editorGutter.modifiedBackground":"#2188ff","editorIndentGuide.activeBackground":"#444d56","editorIndentGuide.background":"#2f363d","editorLineNumber.activeForeground":"#e1e4e8","editorLineNumber.foreground":"#444d56","editorOverviewRuler.border":"#1b1f23","editorWarning.foreground":"#ffea7f","editorWhitespace.foreground":"#444d56","editorWidget.background":"#1f2428","errorForeground":"#f97583","focusBorder":"#005cc5","foreground":"#d1d5da","gitDecoration.addedResourceForeground":"#34d058","gitDecoration.conflictingResourceForeground":"#ffab70","gitDecoration.deletedResourceForeground":"#ea4a5a","gitDecoration.ignoredResourceForeground":"#6a737d","gitDecoration.modifiedResourceForeground":"#79b8ff","gitDecoration.submoduleResourceForeground":"#6a737d","gitDecoration.untrackedResourceForeground":"#34d058","input.background":"#2f363d","input.border":"#1b1f23","input.foreground":"#e1e4e8","input.placeholderForeground":"#959da5","list.activeSelectionBackground":"#39414a","list.activeSelectionForeground":"#e1e4e8","list.focusBackground":"#044289","list.hoverBackground":"#282e34","list.hoverForeground":"#e1e4e8","list.inactiveFocusBackground":"#1d2d3e","list.inactiveSelectionBackground":"#282e34","list.inactiveSelectionForeground":"#e1e4e8","notificationCenterHeader.background":"#24292e","notificationCenterHeader.foreground":"#959da5","notifications.background":"#2f363d","notifications.border":"#1b1f23","notifications.foreground":"#e1e4e8","notificationsErrorIcon.foreground":"#ea4a5a","notificationsInfoIcon.foreground":"#79b8ff","notificationsWarningIcon.foreground":"#ffab70","panel.background":"#1f2428","panel.border":"#1b1f23","panelInput.border":"#2f363d","panelTitle.activeBorder":"#f9826c","panelTitle.activeForeground":"#e1e4e8","panelTitle.inactiveForeground":"#959da5","peekViewEditor.background":"#1f242888","peekViewEditor.matchHighlightBackground":"#ffd33d33","peekViewResult.background":"#1f2428","peekViewResult.matchHighlightBackground":"#ffd33d33","pickerGroup.border":"#444d56","pickerGroup.foreground":"#e1e4e8","progressBar.background":"#0366d6","quickInput.background":"#24292e","quickInput.foreground":"#e1e4e8","scrollbar.shadow":"#0008","scrollbarSlider.activeBackground":"#6a737d88","scrollbarSlider.background":"#6a737d33","scrollbarSlider.hoverBackground":"#6a737d44","settings.headerForeground":"#e1e4e8","settings.modifiedItemIndicator":"#0366d6","sideBar.background":"#1f2428","sideBar.border":"#1b1f23","sideBar.foreground":"#d1d5da","sideBarSectionHeader.background":"#1f2428","sideBarSectionHeader.border":"#1b1f23","sideBarSectionHeader.foreground":"#e1e4e8","sideBarTitle.foreground":"#e1e4e8","statusBar.background":"#24292e","statusBar.border":"#1b1f23","statusBar.debuggingBackground":"#931c06","statusBar.debuggingForeground":"#fff","statusBar.foreground":"#d1d5da","statusBar.noFolderBackground":"#24292e","statusBarItem.prominentBackground":"#282e34","statusBarItem.remoteBackground":"#24292e","statusBarItem.remoteForeground":"#d1d5da","tab.activeBackground":"#24292e","tab.activeBorder":"#24292e","tab.activeBorderTop":"#f9826c","tab.activeForeground":"#e1e4e8","tab.border":"#1b1f23","tab.hoverBackground":"#24292e","tab.inactiveBackground":"#1f2428","tab.inactiveForeground":"#959da5","tab.unfocusedActiveBorder":"#24292e","tab.unfocusedActiveBorderTop":"#1b1f23","tab.unfocusedHoverBackground":"#24292e","terminal.ansiBlack":"#586069","terminal.ansiBlue":"#2188ff","terminal.ansiBrightBlack":"#959da5","terminal.ansiBrightBlue":"#79b8ff","terminal.ansiBrightCyan":"#56d4dd","terminal.ansiBrightGreen":"#85e89d","terminal.ansiBrightMagenta":"#b392f0","terminal.ansiBrightRed":"#f97583","terminal.ansiBrightWhite":"#fafbfc","terminal.ansiBrightYellow":"#ffea7f","terminal.ansiCyan":"#39c5cf","terminal.ansiGreen":"#34d058","terminal.ansiMagenta":"#b392f0","terminal.ansiRed":"#ea4a5a","terminal.ansiWhite":"#d1d5da","terminal.ansiYellow":"#ffea7f","terminal.foreground":"#d1d5da","terminal.tab.activeBorder":"#f9826c","terminalCursor.background":"#586069","terminalCursor.foreground":"#79b8ff","textBlockQuote.background":"#24292e","textBlockQuote.border":"#444d56","textCodeBlock.background":"#2f363d","textLink.activeForeground":"#c8e1ff","textLink.foreground":"#79b8ff","textPreformat.foreground":"#d1d5da","textSeparator.foreground":"#586069","titleBar.activeBackground":"#24292e","titleBar.activeForeground":"#e1e4e8","titleBar.border":"#1b1f23","titleBar.inactiveBackground":"#1f2428","titleBar.inactiveForeground":"#959da5","tree.indentGuidesStroke":"#2f363d","welcomePage.buttonBackground":"#2f363d","welcomePage.buttonHoverBackground":"#444d56"},"displayName":"GitHub Dark","name":"github-dark","semanticHighlighting":true,"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#6a737d"}},{"scope":["constant","entity.name.constant","variable.other.constant","variable.other.enummember","variable.language"],"settings":{"foreground":"#79b8ff"}},{"scope":["entity","entity.name"],"settings":{"foreground":"#b392f0"}},{"scope":"variable.parameter.function","settings":{"foreground":"#e1e4e8"}},{"scope":"entity.name.tag","settings":{"foreground":"#85e89d"}},{"scope":"keyword","settings":{"foreground":"#f97583"}},{"scope":["storage","storage.type"],"settings":{"foreground":"#f97583"}},{"scope":["storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#e1e4e8"}},{"scope":["string","punctuation.definition.string","string punctuation.section.embedded source"],"settings":{"foreground":"#9ecbff"}},{"scope":"support","settings":{"foreground":"#79b8ff"}},{"scope":"meta.property-name","settings":{"foreground":"#79b8ff"}},{"scope":"variable","settings":{"foreground":"#ffab70"}},{"scope":"variable.other","settings":{"foreground":"#e1e4e8"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"carriage-return","settings":{"background":"#f97583","content":"^M","fontStyle":"italic underline","foreground":"#24292e"}},{"scope":"message.error","settings":{"foreground":"#fdaeb7"}},{"scope":"string variable","settings":{"foreground":"#79b8ff"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#dbedff"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#dbedff"}},{"scope":"string.regexp constant.character.escape","settings":{"fontStyle":"bold","foreground":"#85e89d"}},{"scope":"support.constant","settings":{"foreground":"#79b8ff"}},{"scope":"support.variable","settings":{"foreground":"#79b8ff"}},{"scope":"meta.module-reference","settings":{"foreground":"#79b8ff"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#ffab70"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"markup.quote","settings":{"foreground":"#85e89d"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#e1e4e8"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#e1e4e8"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.strikethrough"],"settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"foreground":"#79b8ff"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#86181d","foreground":"#fdaeb7"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#144620","foreground":"#85e89d"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#c24e00","foreground":"#ffab70"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"background":"#79b8ff","foreground":"#2f363d"}},{"scope":"meta.diff.range","settings":{"fontStyle":"bold","foreground":"#b392f0"}},{"scope":"meta.diff.header","settings":{"foreground":"#79b8ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"meta.output","settings":{"foreground":"#79b8ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#d1d5da"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#fdaeb7"}},{"scope":["constant.other.reference.link","string.other.link"],"settings":{"fontStyle":"underline","foreground":"#dbedff"}}],"type":"dark"}')), il = Object.freeze(JSON.parse('{"displayName":"TypeScript","name":"typescript","patterns":[{"include":"#directives"},{"include":"#statements"},{"include":"#shebang"}],"repository":{"access-modifier":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.modifier.ts"},"after-operator-block-as-object-literal":{"begin":"(?<!\\\\+\\\\+|--)(?<=[!(+,:=>?\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\|\\\\||\\\\*)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.objectliteral.ts","patterns":[{"include":"#object-member"}]},"array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#binding-element"},{"include":"#punctuation-comma"}]},"array-binding-pattern-const":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#binding-element-const"},{"include":"#punctuation-comma"}]},"array-literal":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"arrow-function":{"patterns":[{"captures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"variable.parameter.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\b(async)\\\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?==>)","name":"meta.arrow.ts"},{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\b(async))?((?<![]!)}])\\\\s*(?=((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.arrow.ts","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#arrow-return-type"},{"include":"#possibly-arrow-return-type"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.ts"}},"end":"((?<=[}\\\\S])(?<!=>)|((?!\\\\{)(?=\\\\S)))(?!/[*/])","name":"meta.arrow.ts","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#decl-block"},{"include":"#expression"}]}]},"arrow-return-type":{"begin":"(?<=\\\\))\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","name":"meta.return.type.arrow.ts","patterns":[{"include":"#arrow-return-type-body"}]},"arrow-return-type-body":{"patterns":[{"begin":"(?<=:)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"async-modifier":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(async)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.modifier.async.ts"},"binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#object-binding-pattern"},{"include":"#array-binding-pattern"},{"include":"#destructuring-variable-rest"},{"include":"#variable-initializer"}]},"binding-element-const":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#object-binding-pattern-const"},{"include":"#array-binding-pattern-const"},{"include":"#destructuring-variable-rest-const"},{"include":"#variable-initializer"}]},"boolean-literal":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))true(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"constant.language.boolean.true.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))false(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"constant.language.boolean.false.ts"}]},"brackets":{"patterns":[{"begin":"\\\\{","end":"}|(?=\\\\*/)","patterns":[{"include":"#brackets"}]},{"begin":"\\\\[","end":"]|(?=\\\\*/)","patterns":[{"include":"#brackets"}]}]},"cast":{"patterns":[{"captures":{"1":{"name":"meta.brace.angle.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"meta.brace.angle.ts"}},"match":"\\\\s*(<)\\\\s*(const)\\\\s*(>)","name":"cast.expr.ts"},{"begin":"(?<!\\\\+\\\\+|--)(?<=^return|[^$._[:alnum:]]return|^throw|[^$._[:alnum:]]throw|^yield|[^$._[:alnum:]]yield|^await|[^$._[:alnum:]]await|^default|[^$._[:alnum:]]default|[\\\\&(*,:=>?^|]|[^$_[:alnum:]](?:\\\\+\\\\+|--)|[^+]\\\\+|[^-]-)\\\\s*(<)(?!<?=)(?!\\\\s*$)","beginCaptures":{"1":{"name":"meta.brace.angle.ts"}},"end":"(>)","endCaptures":{"1":{"name":"meta.brace.angle.ts"}},"name":"cast.expr.ts","patterns":[{"include":"#type"}]},{"begin":"(?<=^)\\\\s*(<)(?=[$_[:alpha:]][$_[:alnum:]]*\\\\s*>)","beginCaptures":{"1":{"name":"meta.brace.angle.ts"}},"end":"(>)","endCaptures":{"1":{"name":"meta.brace.angle.ts"}},"name":"cast.expr.ts","patterns":[{"include":"#type"}]}]},"class-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(?:(abstract)\\\\s+)?\\\\b(class)\\\\b(?=\\\\s+|/[*/])","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.type.class.ts"}},"end":"(?<=})","name":"meta.class.ts","patterns":[{"include":"#class-declaration-or-expression-patterns"}]},"class-declaration-or-expression-patterns":{"patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"captures":{"0":{"name":"entity.name.type.class.ts"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}]},"class-expression":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(class)\\\\b(?=\\\\s+|[<{]|/[*/])","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.type.class.ts"}},"end":"(?<=})","name":"meta.class.ts","patterns":[{"include":"#class-declaration-or-expression-patterns"}]},"class-or-interface-body":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"#comment"},{"include":"#decorator"},{"begin":"(?<=:)\\\\s*","end":"(?=[-\\\\])+,:;}\\\\s]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#expression"}]},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#field-declaration"},{"include":"#string"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"include":"#access-modifier"},{"include":"#property-accessor"},{"include":"#async-modifier"},{"include":"#after-operator-block-as-object-literal"},{"include":"#decl-block"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]},"class-or-interface-heritage":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))\\\\b(extends|implements)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"storage.modifier.ts"}},"end":"(?=\\\\{)","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"include":"#type-parameters"},{"include":"#expressionWithoutIdentifiers"},{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))(?=\\\\s*[$_[:alpha:]][$_[:alnum:]]*(\\\\s*\\\\??\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\\\s*)"},{"captures":{"1":{"name":"entity.other.inherited-class.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)"},{"include":"#expressionPunctuations"}]},"comment":{"patterns":[{"begin":"/\\\\*\\\\*(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.ts"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.ts"}},"name":"comment.block.documentation.ts","patterns":[{"include":"#docblock"}]},{"begin":"(/\\\\*)(?:\\\\s*((@)internal)(?=\\\\s|(\\\\*/)))?","beginCaptures":{"1":{"name":"punctuation.definition.comment.ts"},"2":{"name":"storage.type.internaldeclaration.ts"},"3":{"name":"punctuation.decorator.internaldeclaration.ts"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.ts"}},"name":"comment.block.ts"},{"begin":"(^[\\\\t ]+)?((//)(?:\\\\s*((@)internal)(?=\\\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ts"},"2":{"name":"comment.line.double-slash.ts"},"3":{"name":"punctuation.definition.comment.ts"},"4":{"name":"storage.type.internaldeclaration.ts"},"5":{"name":"punctuation.decorator.internaldeclaration.ts"}},"contentName":"comment.line.double-slash.ts","end":"(?=$)"}]},"control-statement":{"patterns":[{"include":"#switch-statement"},{"include":"#for-loop"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.trycatch.ts"},{"captures":{"1":{"name":"keyword.control.loop.ts"},"2":{"name":"entity.name.label.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(break|continue|goto)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.loop.ts"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(return)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"0":{"name":"keyword.control.flow.ts"}},"end":"(?=[;}]|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#expression"}]},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.switch.ts"},{"include":"#if-statement"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.conditional.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(with)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.with.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(package)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.other.debugger.ts"}]},"decl-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.block.ts","patterns":[{"include":"#statements"}]},"declaration":{"patterns":[{"include":"#decorator"},{"include":"#var-expr"},{"include":"#function-declaration"},{"include":"#class-declaration"},{"include":"#interface-declaration"},{"include":"#enum-declaration"},{"include":"#namespace-declaration"},{"include":"#type-alias-declaration"},{"include":"#import-equals-declaration"},{"include":"#import-declaration"},{"include":"#export-declaration"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.modifier.ts"}]},"decorator":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))@","beginCaptures":{"0":{"name":"punctuation.decorator.ts"}},"end":"(?=\\\\s)","name":"meta.decorator.ts","patterns":[{"include":"#expression"}]},"destructuring-const":{"patterns":[{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\{)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))","name":"meta.object-binding-pattern-variable.ts","patterns":[{"include":"#object-binding-pattern-const"},{"include":"#type-annotation"},{"include":"#comment"}]},{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\[)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))","name":"meta.array-binding-pattern-variable.ts","patterns":[{"include":"#array-binding-pattern-const"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-parameter":{"patterns":[{"begin":"(?<![:=])\\\\s*(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.object.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.ts"}},"name":"meta.parameter.object-binding-pattern.ts","patterns":[{"include":"#parameter-object-binding-element"}]},{"begin":"(?<![:=])\\\\s*(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"name":"meta.paramter.array-binding-pattern.ts","patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]}]},"destructuring-parameter-rest":{"captures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"variable.parameter.ts"}},"match":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"destructuring-variable":{"patterns":[{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\{)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))","name":"meta.object-binding-pattern-variable.ts","patterns":[{"include":"#object-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]},{"begin":"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\s*(?=\\\\[)","end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))","name":"meta.array-binding-pattern-variable.ts","patterns":[{"include":"#array-binding-pattern"},{"include":"#type-annotation"},{"include":"#comment"}]}]},"destructuring-variable-rest":{"captures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"meta.definition.variable.ts variable.other.readwrite.ts"}},"match":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"destructuring-variable-rest-const":{"captures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"meta.definition.variable.ts variable.other.constant.ts"}},"match":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)"},"directives":{"begin":"^(///)\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\s*=\\\\s*((\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)))+\\\\s*/>\\\\s*$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.ts"}},"end":"(?=$)","name":"comment.line.triple-slash.directive.ts","patterns":[{"begin":"(<)(reference|amd-dependency|amd-module)","beginCaptures":{"1":{"name":"punctuation.definition.tag.directive.ts"},"2":{"name":"entity.name.tag.directive.ts"}},"end":"/>","endCaptures":{"0":{"name":"punctuation.definition.tag.directive.ts"}},"name":"meta.tag.ts","patterns":[{"match":"path|types|no-default-lib|lib|name|resolution-mode","name":"entity.other.attribute-name.directive.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"include":"#string"}]}]},"docblock":{"patterns":[{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.access-type.jsdoc"}},"match":"((@)a(?:ccess|pi))\\\\s+(p(?:rivate|rotected|ublic))\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"5":{"name":"constant.other.email.link.underline.jsdoc"},"6":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"match":"((@)author)\\\\s+([^*/<>@\\\\s](?:[^*/<>@]|\\\\*[^/])*)(?:\\\\s*(<)([^>\\\\s]+)(>))?"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"},"4":{"name":"keyword.operator.control.jsdoc"},"5":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)borrows)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)\\\\s+(as)\\\\s+((?:[^*/@\\\\s]|\\\\*[^/])+)"},{"begin":"((@)example)\\\\s+","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=@|\\\\*/)","name":"meta.example.jsdoc","patterns":[{"match":"^\\\\s\\\\*\\\\s+"},{"begin":"\\\\G(<)caption(>)","beginCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}},"contentName":"constant.other.description.jsdoc","end":"(</)caption(>)|(?=\\\\*/)","endCaptures":{"0":{"name":"entity.name.tag.inline.jsdoc"},"1":{"name":"punctuation.definition.bracket.angle.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.angle.end.jsdoc"}}},{"captures":{"0":{"name":"source.embedded.ts"}},"match":"[^*@\\\\s](?:[^*]|\\\\*[^/])*"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"constant.language.symbol-type.jsdoc"}},"match":"((@)kind)\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\b"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.link.underline.jsdoc"},"4":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)see)\\\\s+(?:((?=https?://)(?:[^*\\\\s]|\\\\*[^/])+)|((?!https?://|(?:\\\\[[^]\\\\[]*])?\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\b)(?:[^*/@\\\\s]|\\\\*[^/])+))"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)template)\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*(?:\\\\s*,\\\\s*[$A-Z_a-z][]$.\\\\[\\\\w]*)*)"},{"begin":"((@)template)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\s+([$A-Z_a-z][]$.\\\\[\\\\w]*)"},{"begin":"((@)typedef)\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"(?:[^*/@\\\\s]|\\\\*[^/])+","name":"entity.name.type.instance.jsdoc"}]},{"begin":"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"},{"match":"([$A-Z_a-z][]$.\\\\[\\\\w]*)","name":"variable.other.jsdoc"},{"captures":{"1":{"name":"punctuation.definition.optional-value.begin.bracket.square.jsdoc"},"2":{"name":"keyword.operator.assignment.jsdoc"},"3":{"name":"source.embedded.ts"},"4":{"name":"punctuation.definition.optional-value.end.bracket.square.jsdoc"},"5":{"name":"invalid.illegal.syntax.jsdoc"}},"match":"(\\\\[)\\\\s*[$\\\\w]+(?:(?:\\\\[])?\\\\.[$\\\\w]+)*(?:\\\\s*(=)\\\\s*((?>\\"(?:\\\\*(?!/)|\\\\\\\\(?!\\")|[^*\\\\\\\\])*?\\"|\'(?:\\\\*(?!/)|\\\\\\\\(?!\')|[^*\\\\\\\\])*?\'|\\\\[(?:\\\\*(?!/)|[^*])*?]|(?:\\\\*(?!/)|\\\\s(?!\\\\s*])|\\\\[.*?(?:]|(?=\\\\*/))|[^]*\\\\[\\\\s])*)*))?\\\\s*(?:(])((?:[^*\\\\s]|\\\\*[^/\\\\s])+)?|(?=\\\\*/))","name":"variable.other.jsdoc"}]},{"begin":"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\s+(?=\\\\{)","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"end":"(?=\\\\s|\\\\*/|[^]$A-\\\\[_a-{}])","patterns":[{"include":"#jsdoctype"}]},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"entity.name.type.instance.jsdoc"}},"match":"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\s+((?:[^*@{}\\\\s]|\\\\*[^/])+)"},{"begin":"((@)(?:default(?:value)?|license|version))\\\\s+(([\\"\']))","beginCaptures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"},"4":{"name":"punctuation.definition.string.begin.jsdoc"}},"contentName":"variable.other.jsdoc","end":"(\\\\3)|(?=$|\\\\*/)","endCaptures":{"0":{"name":"variable.other.jsdoc"},"1":{"name":"punctuation.definition.string.end.jsdoc"}}},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"},"3":{"name":"variable.other.jsdoc"}},"match":"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\s+([^*\\\\s]+)"},{"captures":{"1":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\b","name":"storage.type.class.jsdoc"},{"include":"#inline-tags"},{"captures":{"1":{"name":"storage.type.class.jsdoc"},"2":{"name":"punctuation.definition.block.tag.jsdoc"}},"match":"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s+)"}]},"enum-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?(?:\\\\b(const)\\\\s+)?\\\\b(enum)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.type.enum.ts"},"5":{"name":"entity.name.type.enum.ts"}},"end":"(?<=})","name":"meta.enum.declaration.ts","patterns":[{"include":"#comment"},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"#comment"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"0":{"name":"variable.other.enummember.ts"}},"end":"(?=[,}]|$)","patterns":[{"include":"#comment"},{"include":"#variable-initializer"}]},{"begin":"(?=((\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+])))","end":"(?=[,}]|$)","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#comment"},{"include":"#variable-initializer"}]},{"include":"#punctuation-comma"}]}]},"export-declaration":{"patterns":[{"captures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"keyword.control.as.ts"},"3":{"name":"storage.type.namespace.ts"},"4":{"name":"entity.name.type.module.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)\\\\s+(as)\\\\s+(namespace)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)(?:\\\\s+(type))?(?:\\\\s*(=)|\\\\s+(default)(?=\\\\s+))","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"keyword.control.type.ts"},"3":{"name":"keyword.operator.assignment.ts"},"4":{"name":"keyword.control.default.ts"}},"end":"(?=$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","name":"meta.export.default.ts","patterns":[{"include":"#interface-declaration"},{"include":"#expression"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(export)(?:\\\\s+(type))?\\\\b(?!(\\\\$)|(\\\\s*:))((?=\\\\s*[*{])|((?=\\\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\\\s]))(?!\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)))","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"keyword.control.type.ts"}},"end":"(?=$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","name":"meta.export.ts","patterns":[{"include":"#import-export-declaration"}]}]},"expression":{"patterns":[{"include":"#expressionWithoutIdentifiers"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expression-inside-possibly-arrow-parens":{"patterns":[{"include":"#expressionWithoutIdentifiers"},{"include":"#comment"},{"include":"#string"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"captures":{"1":{"name":"storage.modifier.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|protected|private|readonly)\\\\s+(?=(override|public|protected|private|readonly)\\\\s+)"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"entity.name.function.ts variable.language.this.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*[,:]|$)"},{"include":"#type-annotation"},{"include":"#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.ts"},{"include":"#identifiers"},{"include":"#expressionPunctuations"}]},"expression-operators":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(await)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.control.flow.ts"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?=\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*\\\\*)","beginCaptures":{"1":{"name":"keyword.control.flow.ts"}},"end":"\\\\*","endCaptures":{"0":{"name":"keyword.generator.asterisk.ts"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.control.flow.ts"},"2":{"name":"keyword.generator.asterisk.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?:\\\\s*(\\\\*))?"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))delete(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.expression.delete.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))in(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?!\\\\()","name":"keyword.operator.expression.in.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))of(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?!\\\\()","name":"keyword.operator.expression.of.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.expression.instanceof.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.new.ts"},{"include":"#typeof-operator"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))void(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.expression.void.ts"},{"captures":{"1":{"name":"keyword.control.as.ts"},"2":{"name":"storage.modifier.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*($|[]),:;}]))"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(as)|(satisfies))\\\\s+","beginCaptures":{"1":{"name":"keyword.control.as.ts"},"2":{"name":"keyword.control.satisfies.ts"}},"end":"(?=^|[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as|satisfies)\\\\s+)|(\\\\s+<))","patterns":[{"include":"#type"}]},{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.spread.ts"},{"match":"(?:\\\\*|(?<!\\\\()/|[-%+])=","name":"keyword.operator.assignment.compound.ts"},{"match":"(?:[\\\\&^]|<<|>>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"keyword.operator.assignment.compound.ts"},"3":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])(!)\\\\s*(?:(/=)|(/)(?![*/]))"},{"match":"!|&&|\\\\|\\\\||\\\\?\\\\?","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"begin":"(?<=[]$)_[:alnum:]])\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)+(?:(/=)|(/)(?![*/])))","end":"(/=)|(/)(?!\\\\*([^*]|(\\\\*[^/]))*\\\\*/)","endCaptures":{"1":{"name":"keyword.operator.assignment.compound.ts"},"2":{"name":"keyword.operator.arithmetic.ts"}},"patterns":[{"include":"#comment"}]},{"captures":{"1":{"name":"keyword.operator.assignment.compound.ts"},"2":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[]$)_[:alnum:]])\\\\s*(?:(/=)|(/)(?![*/]))"}]},"expressionPunctuations":{"patterns":[{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"}]},"expressionWithoutIdentifiers":{"patterns":[{"include":"#string"},{"include":"#regex"},{"include":"#comment"},{"include":"#function-expression"},{"include":"#class-expression"},{"include":"#arrow-function"},{"include":"#paren-expression-possibly-arrow"},{"include":"#cast"},{"include":"#ternary-expression"},{"include":"#new-expr"},{"include":"#instanceof-expr"},{"include":"#object-literal"},{"include":"#expression-operators"},{"include":"#function-call"},{"include":"#literal"},{"include":"#support-objects"},{"include":"#paren-expression"}]},"field-declaration":{"begin":"(?<!\\\\()(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)\\\\s+)?(?=\\\\s*(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(?:(?:(\\\\?)|(!))\\\\s*)?([,:;=}]|$))","beginCaptures":{"1":{"name":"storage.modifier.ts"}},"end":"(?=[,;}]|$|^((?!\\\\s*(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(?:(?:(\\\\?)|(!))\\\\s*)?([,:;=]|$))))|(?<=})","name":"meta.field.declaration.ts","patterns":[{"include":"#variable-initializer"},{"include":"#type-annotation"},{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"include":"#comment"},{"captures":{"1":{"name":"meta.definition.property.ts entity.name.function.ts"},"2":{"name":"keyword.operator.optional.ts"},"3":{"name":"keyword.operator.definiteassignment.ts"}},"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\\\?)|(!))?(?=\\\\s*\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"match":"#?[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.property.ts variable.object.property.ts"},{"match":"\\\\?","name":"keyword.operator.optional.ts"},{"match":"!","name":"keyword.operator.definiteassignment.ts"}]},"for-loop":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))for(?=((\\\\s+|(\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*))await)?\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)?(\\\\())","beginCaptures":{"0":{"name":"keyword.control.loop.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#comment"},{"match":"await","name":"keyword.control.loop.ts"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#var-expr"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]}]},"function-body":{"patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"include":"#function-parameters"},{"include":"#return-type"},{"include":"#type-function-return-type"},{"include":"#decl-block"},{"match":"\\\\*","name":"keyword.generator.asterisk.ts"}]},"function-call":{"patterns":[{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\\\\())","end":"(?<=\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\\\\())","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=\\\\s*(?:(\\\\?\\\\.\\\\s*)|(!))?((<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?\\\\())","name":"meta.function-call.ts","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"},{"include":"#paren-expression"}]},{"begin":"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","end":"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\)))(<\\\\s*[(\\\\[{]\\\\s*)$)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\s*\\\\??\\\\.\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*[(\\\\[{]\\\\s*)$)","name":"meta.function-call.ts","patterns":[{"include":"#function-call-target"}]},{"include":"#comment"},{"include":"#function-call-optionals"},{"include":"#type-arguments"}]}]},"function-call-optionals":{"patterns":[{"match":"\\\\?\\\\.","name":"meta.function-call.ts punctuation.accessor.optional.ts"},{"match":"!","name":"meta.function-call.ts keyword.operator.definiteassignment.ts"}]},"function-call-target":{"patterns":[{"include":"#support-function-call-identifiers"},{"match":"(#?[$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"}]},"function-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?(?:(async)\\\\s+)?(function)\\\\b(?:\\\\s*(\\\\*))?(?:(?:\\\\s+|(?<=\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\s*","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.async.ts"},"4":{"name":"storage.type.function.ts"},"5":{"name":"keyword.generator.asterisk.ts"},"6":{"name":"meta.definition.function.ts entity.name.function.ts"}},"end":"(?=;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|(?<=})","name":"meta.function.ts","patterns":[{"include":"#function-name"},{"include":"#function-body"}]},"function-expression":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(async)\\\\s+)?(function)\\\\b(?:\\\\s*(\\\\*))?(?:(?:\\\\s+|(?<=\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\s*","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"storage.type.function.ts"},"3":{"name":"keyword.generator.asterisk.ts"},"4":{"name":"meta.definition.function.ts entity.name.function.ts"}},"end":"(?=;)|(?<=})","name":"meta.function.expression.ts","patterns":[{"include":"#function-name"},{"include":"#single-line-comment-consuming-line-ending"},{"include":"#function-body"}]},"function-name":{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.function.ts entity.name.function.ts"},"function-parameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ts"}},"name":"meta.parameters.ts","patterns":[{"include":"#function-parameters-body"}]},"function-parameters-body":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#decorator"},{"include":"#destructuring-parameter"},{"include":"#parameter-name"},{"include":"#parameter-type-annotation"},{"include":"#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.ts"}]},"identifiers":{"patterns":[{"include":"#object-identifiers"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"entity.name.function.ts"}},"match":"(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"variable.other.constant.property.ts"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"variable.other.property.ts"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"variable.other.constant.ts"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"if-statement":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bif\\\\s*(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))\\\\s*(?!\\\\{))","end":"(?=;|$|})","patterns":[{"include":"#comment"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(if)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.conditional.ts"},"2":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression"}]},{"begin":"(?<=\\\\))\\\\s*/(?![*/])(?=(?:[^/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"keyword.other.ts"}},"name":"string.regexp.ts","patterns":[{"include":"#regexp"}]},{"include":"#statements"}]}]},"import-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(import)(?:\\\\s+(type)(?!\\\\s+from))?(?!\\\\s*[(:])(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.control.import.ts"},"4":{"name":"keyword.control.type.ts"}},"end":"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)","name":"meta.import.ts","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#string"},{"begin":"(?<=(?:^|[^$._[:alnum:]])import)(?!\\\\s*[\\"\'])","end":"\\\\bfrom\\\\b","endCaptures":{"0":{"name":"keyword.control.from.ts"}},"patterns":[{"include":"#import-export-declaration"}]},{"include":"#import-export-declaration"}]},"import-equals-declaration":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(import)(?:\\\\s+(type))?\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)\\\\s*(require)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.control.import.ts"},"4":{"name":"keyword.control.type.ts"},"5":{"name":"variable.other.readwrite.alias.ts"},"6":{"name":"keyword.operator.assignment.ts"},"7":{"name":"keyword.control.require.ts"},"8":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.import-equals.external.ts","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(import)(?:\\\\s+(type))?\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)\\\\s*(?!require\\\\b)","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.control.import.ts"},"4":{"name":"keyword.control.type.ts"},"5":{"name":"variable.other.readwrite.alias.ts"},"6":{"name":"keyword.operator.assignment.ts"}},"end":"(?=;|$|^)","name":"meta.import-equals.internal.ts","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.other.readwrite.ts"}]}]},"import-export-assert-clause":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(with)|(assert))\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.with.ts"},"2":{"name":"keyword.control.assert.ts"},"3":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"#comment"},{"include":"#string"},{"match":"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)","name":"meta.object-literal.key.ts"},{"match":":","name":"punctuation.separator.key-value.ts"}]},"import-export-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.block.ts","patterns":[{"include":"#import-export-clause"}]},"import-export-clause":{"patterns":[{"include":"#comment"},{"captures":{"1":{"name":"keyword.control.type.ts"},"2":{"name":"keyword.control.default.ts"},"3":{"name":"constant.language.import-export-all.ts"},"4":{"name":"variable.other.readwrite.ts"},"5":{"name":"string.quoted.alias.ts"},"12":{"name":"keyword.control.as.ts"},"13":{"name":"keyword.control.default.ts"},"14":{"name":"variable.other.readwrite.alias.ts"},"15":{"name":"string.quoted.alias.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(type)\\\\s+)?(?:\\\\b(default)|(\\\\*)|\\\\b([$_[:alpha:]][$_[:alnum:]]*)|((\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)))\\\\s+(as)\\\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|((\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)))"},{"include":"#punctuation-comma"},{"match":"\\\\*","name":"constant.language.import-export-all.ts"},{"match":"\\\\b(default)\\\\b","name":"keyword.control.default.ts"},{"captures":{"1":{"name":"keyword.control.type.ts"},"2":{"name":"variable.other.readwrite.alias.ts"},"3":{"name":"string.quoted.alias.ts"}},"match":"(?:\\\\b(type)\\\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|((\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)))"}]},"import-export-declaration":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#import-export-block"},{"match":"\\\\bfrom\\\\b","name":"keyword.control.from.ts"},{"include":"#import-export-assert-clause"},{"include":"#import-export-clause"}]},"indexer-declaration":{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)\\\\s*)?\\\\s*(\\\\[)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=:)","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"meta.brace.square.ts"},"3":{"name":"variable.parameter.ts"}},"end":"(])\\\\s*(\\\\?\\\\s*)?|$","endCaptures":{"1":{"name":"meta.brace.square.ts"},"2":{"name":"keyword.operator.optional.ts"}},"name":"meta.indexer.declaration.ts","patterns":[{"include":"#type-annotation"}]},"indexer-mapped-type-declaration":{"begin":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([-+])?(readonly)\\\\s*)?\\\\s*(\\\\[)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(in)\\\\s+","beginCaptures":{"1":{"name":"keyword.operator.type.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"meta.brace.square.ts"},"4":{"name":"entity.name.type.ts"},"5":{"name":"keyword.operator.expression.in.ts"}},"end":"(])([-+])?\\\\s*(\\\\?\\\\s*)?|$","endCaptures":{"1":{"name":"meta.brace.square.ts"},"2":{"name":"keyword.operator.type.modifier.ts"},"3":{"name":"keyword.operator.optional.ts"}},"name":"meta.indexer.mappedtype.declaration.ts","patterns":[{"captures":{"1":{"name":"keyword.control.as.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+"},{"include":"#type"}]},"inline-tags":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.bracket.square.begin.jsdoc"},"2":{"name":"punctuation.definition.bracket.square.end.jsdoc"}},"match":"(\\\\[)[^]]+(])(?=\\\\{@(?:link|linkcode|linkplain|tutorial))","name":"constant.other.description.jsdoc"},{"begin":"(\\\\{)((@)(?:link(?:code|plain)?|tutorial))\\\\s*","beginCaptures":{"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"},"2":{"name":"storage.type.class.jsdoc"},"3":{"name":"punctuation.definition.inline.tag.jsdoc"}},"end":"}|(?=\\\\*/)","endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}},"name":"entity.name.type.instance.jsdoc","patterns":[{"captures":{"1":{"name":"variable.other.link.underline.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}},"match":"\\\\G((?=https?://)(?:[^*|}\\\\s]|\\\\*/)+)(\\\\|)?"},{"captures":{"1":{"name":"variable.other.description.jsdoc"},"2":{"name":"punctuation.separator.pipe.jsdoc"}},"match":"\\\\G((?:[^*@{|}\\\\s]|\\\\*[^/])+)(\\\\|)?"}]}]},"instanceof-expr":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"keyword.operator.expression.instanceof.ts"}},"end":"(?<=\\\\))|(?=[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|([!=]==?)|(([\\\\&^|~]\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))function((\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\s*\\\\())))","patterns":[{"include":"#type"}]},"interface-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(?:(abstract)\\\\s+)?\\\\b(interface)\\\\b(?=\\\\s+|/[*/])","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.type.interface.ts"}},"end":"(?<=})","name":"meta.interface.ts","patterns":[{"include":"#comment"},{"include":"#class-or-interface-heritage"},{"captures":{"0":{"name":"entity.name.type.interface.ts"}},"match":"[$_[:alpha:]][$_[:alnum:]]*"},{"include":"#type-parameters"},{"include":"#class-or-interface-body"}]},"jsdoctype":{"patterns":[{"begin":"\\\\G(\\\\{)","beginCaptures":{"0":{"name":"entity.name.type.instance.jsdoc"},"1":{"name":"punctuation.definition.bracket.curly.begin.jsdoc"}},"contentName":"entity.name.type.instance.jsdoc","end":"((}))\\\\s*|(?=\\\\*/)","endCaptures":{"1":{"name":"entity.name.type.instance.jsdoc"},"2":{"name":"punctuation.definition.bracket.curly.end.jsdoc"}},"patterns":[{"include":"#brackets"}]}]},"label":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(:)(?=\\\\s*\\\\{)","beginCaptures":{"1":{"name":"entity.name.label.ts"},"2":{"name":"punctuation.separator.label.ts"}},"end":"(?<=})","patterns":[{"include":"#decl-block"}]},{"captures":{"1":{"name":"entity.name.label.ts"},"2":{"name":"punctuation.separator.label.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(:)"}]},"literal":{"patterns":[{"include":"#numeric-literal"},{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#undefined-literal"},{"include":"#numericConstant-literal"},{"include":"#array-literal"},{"include":"#this-literal"},{"include":"#super-literal"}]},"method-declaration":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?\\\\s*\\\\b(constructor)\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.modifier.async.ts"},"5":{"name":"storage.type.ts"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?(?:\\\\s*\\\\b(new)\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))|(?:(\\\\*)\\\\s*)?)(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.modifier.async.ts"},"5":{"name":"keyword.operator.new.ts"},"6":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(override)\\\\s+)?(?:\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(?:\\\\b(abstract)\\\\s+)?(?:\\\\b(async)\\\\s+)?(?:\\\\b([gs]et)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*((\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.modifier.ts"},"4":{"name":"storage.modifier.async.ts"},"5":{"name":"storage.type.property.ts"},"6":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}]|$)|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"}]}]},"method-declaration-name":{"begin":"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??)\\\\s*[(<])","end":"(?=[(<])","patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"meta.definition.method.ts entity.name.function.ts"},{"match":"\\\\?","name":"keyword.operator.optional.ts"}]},"namespace-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(namespace|module)\\\\s+(?=[\\"$\'_`[:alpha:]])","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.namespace.ts"}},"end":"(?<=})|(?=;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","name":"meta.namespace.declaration.ts","patterns":[{"include":"#comment"},{"include":"#string"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.type.module.ts"},{"include":"#punctuation-accessor"},{"include":"#decl-block"}]},"new-expr":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(new)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"keyword.operator.new.ts"}},"end":"(?<=\\\\))|(?=[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))function((\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\s*\\\\())))","name":"new.expr.ts","patterns":[{"include":"#expression"}]},"null-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))null(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"constant.language.null.ts"},"numeric-literal":{"patterns":[{"captures":{"1":{"name":"storage.type.numeric.bigint.ts"}},"match":"\\\\b(?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$)","name":"constant.numeric.hex.ts"},{"captures":{"1":{"name":"storage.type.numeric.bigint.ts"}},"match":"\\\\b(?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$)","name":"constant.numeric.binary.ts"},{"captures":{"1":{"name":"storage.type.numeric.bigint.ts"}},"match":"\\\\b(?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$)","name":"constant.numeric.octal.ts"},{"captures":{"0":{"name":"constant.numeric.decimal.ts"},"1":{"name":"meta.delimiter.decimal.period.ts"},"2":{"name":"storage.type.numeric.bigint.ts"},"3":{"name":"meta.delimiter.decimal.period.ts"},"4":{"name":"storage.type.numeric.bigint.ts"},"5":{"name":"meta.delimiter.decimal.period.ts"},"6":{"name":"storage.type.numeric.bigint.ts"},"7":{"name":"storage.type.numeric.bigint.ts"},"8":{"name":"meta.delimiter.decimal.period.ts"},"9":{"name":"storage.type.numeric.bigint.ts"},"10":{"name":"meta.delimiter.decimal.period.ts"},"11":{"name":"storage.type.numeric.bigint.ts"},"12":{"name":"meta.delimiter.decimal.period.ts"},"13":{"name":"storage.type.numeric.bigint.ts"},"14":{"name":"storage.type.numeric.bigint.ts"}},"match":"(?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$)"}]},"numericConstant-literal":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))NaN(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"constant.language.nan.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Infinity(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"constant.language.infinity.ts"}]},"object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#binding-element"}]},{"include":"#object-binding-pattern"},{"include":"#destructuring-variable-rest"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"object-binding-element-const":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#binding-element-const"}]},{"include":"#object-binding-pattern-const"},{"include":"#destructuring-variable-rest-const"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"object-binding-element-propertyName":{"begin":"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))","end":"(:)","endCaptures":{"0":{"name":"punctuation.destructuring.ts"}},"patterns":[{"include":"#string"},{"include":"#array-literal"},{"include":"#numeric-literal"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"variable.object.property.ts"}]},"object-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.object.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.ts"}},"patterns":[{"include":"#object-binding-element"}]},"object-binding-pattern-const":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.object.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.ts"}},"patterns":[{"include":"#object-binding-element-const"}]},"object-identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\??\\\\.\\\\s*prototype\\\\b(?!\\\\$))","name":"support.class.ts"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"variable.other.constant.object.property.ts"},"4":{"name":"variable.other.object.property.ts"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(?:(#?\\\\p{upper}[$_\\\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"variable.other.constant.object.ts"},"2":{"name":"variable.other.object.ts"}},"match":"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\??\\\\.\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)"}]},"object-literal":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.objectliteral.ts","patterns":[{"include":"#object-member"}]},"object-literal-method-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(async)\\\\s+)?(?:\\\\b([gs]et)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*((\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"storage.type.property.ts"},"3":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#method-declaration-name"},{"include":"#function-body"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(async)\\\\s+)?(?:\\\\b([gs]et)\\\\s+)?(?:(\\\\*)\\\\s*)?(?=\\\\s*((\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(\\\\??))\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"storage.type.property.ts"},"3":{"name":"keyword.generator.asterisk.ts"}},"end":"(?=[(<])","patterns":[{"include":"#method-declaration-name"}]}]},"object-member":{"patterns":[{"include":"#comment"},{"include":"#object-literal-method-declaration"},{"begin":"(?=\\\\[)","end":"(?=:)|((?<=])(?=\\\\s*[(<]))","name":"meta.object.member.ts meta.object-literal.key.ts","patterns":[{"include":"#comment"},{"include":"#array-literal"}]},{"begin":"(?=[\\"\'`])","end":"(?=:)|((?<=[\\"\'`])(?=((\\\\s*[(,<}])|(\\\\s+(as|satisifies)\\\\s+))))","name":"meta.object.member.ts meta.object-literal.key.ts","patterns":[{"include":"#comment"},{"include":"#string"}]},{"begin":"(?=\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$)))","end":"(?=:)|(?=\\\\s*([(,<}])|(\\\\s+as|satisifies\\\\s+))","name":"meta.object.member.ts meta.object-literal.key.ts","patterns":[{"include":"#comment"},{"include":"#numeric-literal"}]},{"begin":"(?<=[]\\"\'`])(?=\\\\s*[(<])","end":"(?=[,;}])|(?<=})","name":"meta.method.declaration.ts","patterns":[{"include":"#function-body"}]},{"captures":{"0":{"name":"meta.object-literal.key.ts"},"1":{"name":"constant.numeric.decimal.ts"}},"match":"(?![$_[:alpha:]])(\\\\d+)\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)","name":"meta.object.member.ts"},{"captures":{"0":{"name":"meta.object-literal.key.ts"},"1":{"name":"entity.name.function.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:(\\\\s*/\\\\*([^*]|(\\\\*[^/]))*\\\\*/)*\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))","name":"meta.object.member.ts"},{"captures":{"0":{"name":"meta.object-literal.key.ts"}},"match":"[$_[:alpha:]][$_[:alnum:]]*\\\\s*(?=(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*:)","name":"meta.object.member.ts"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.ts"}},"end":"(?=[,}])","name":"meta.object.member.ts","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"variable.other.readwrite.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?=[,}]|$|//|/\\\\*)","name":"meta.object.member.ts"},{"captures":{"1":{"name":"keyword.control.as.ts"},"2":{"name":"storage.modifier.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as)\\\\s+(const)(?=\\\\s*([,}]|$))","name":"meta.object.member.ts"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(as)|(satisfies))\\\\s+","beginCaptures":{"1":{"name":"keyword.control.as.ts"},"2":{"name":"keyword.control.satisfies.ts"}},"end":"(?=[-\\\\])+,:;>?}]|\\\\|\\\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(as|satisifies)\\\\s+))","name":"meta.object.member.ts","patterns":[{"include":"#type"}]},{"begin":"(?=[$_[:alpha:]][$_[:alnum:]]*\\\\s*=)","end":"(?=[,}]|$|//|/\\\\*)","name":"meta.object.member.ts","patterns":[{"include":"#expression"}]},{"begin":":","beginCaptures":{"0":{"name":"meta.object-literal.key.ts punctuation.separator.key-value.ts"}},"end":"(?=[,}])","name":"meta.object.member.ts","patterns":[{"begin":"(?<=:)\\\\s*(async)?(?=\\\\s*(<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"},"2":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"begin":"(?<=:)\\\\s*(async)?\\\\s*(?=<\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=>)","patterns":[{"include":"#type-parameters"}]},{"begin":"(?<=>)\\\\s*(\\\\()(?=\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]},{"include":"#possibly-arrow-return-type"},{"include":"#expression"}]},{"include":"#punctuation-comma"},{"include":"#decl-block"}]},"parameter-array-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\[)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"patterns":[{"include":"#parameter-binding-element"},{"include":"#punctuation-comma"}]},"parameter-binding-element":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#numeric-literal"},{"include":"#regex"},{"include":"#parameter-object-binding-pattern"},{"include":"#parameter-array-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"}]},"parameter-name":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|protected|private|readonly)\\\\s+(?=(override|public|protected|private|readonly)\\\\s+)"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"entity.name.function.ts variable.language.this.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(override|public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*(\\\\??)"}]},"parameter-object-binding-element":{"patterns":[{"include":"#comment"},{"begin":"(?=(\\\\b((?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$))|\\\\b((?<!\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\b(?!\\\\$))|((?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])+]))\\\\s*(:))","end":"(?=[,}])","patterns":[{"include":"#object-binding-element-propertyName"},{"include":"#parameter-binding-element"},{"include":"#paren-expression"}]},{"include":"#parameter-object-binding-pattern"},{"include":"#destructuring-parameter-rest"},{"include":"#variable-initializer"},{"include":"#punctuation-comma"}]},"parameter-object-binding-pattern":{"begin":"(?:(\\\\.\\\\.\\\\.)\\\\s*)?(\\\\{)","beginCaptures":{"1":{"name":"keyword.operator.rest.ts"},"2":{"name":"punctuation.definition.binding-pattern.object.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.binding-pattern.object.ts"}},"patterns":[{"include":"#parameter-object-binding-element"}]},"parameter-type-annotation":{"patterns":[{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=[),])|(?==[^>])","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]}]},"paren-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression"}]},"paren-expression-possibly-arrow":{"patterns":[{"begin":"(?<=[(,=])\\\\s*(async)?(?=\\\\s*((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"begin":"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\s*(async)?(?=\\\\s*((((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*))?\\\\()|(<)|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)))\\\\s*$)","beginCaptures":{"1":{"name":"storage.modifier.async.ts"}},"end":"(?<=\\\\))","patterns":[{"include":"#paren-expression-possibly-arrow-with-typeparameters"}]},{"include":"#possibly-arrow-return-type"}]},"paren-expression-possibly-arrow-with-typeparameters":{"patterns":[{"include":"#type-parameters"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#expression-inside-possibly-arrow-parens"}]}]},"possibly-arrow-return-type":{"begin":"(?<=\\\\)|^)\\\\s*(:)(?=\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*=>)","beginCaptures":{"1":{"name":"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts"}},"contentName":"meta.arrow.ts meta.return.type.arrow.ts","end":"(?==>|\\\\{|^(\\\\s*(export|function|class|interface|let|var|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\s+))","patterns":[{"include":"#arrow-return-type-body"}]},"property-accessor":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.type.property.ts"},"punctuation-accessor":{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"}},"match":"(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d))"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.ts"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.ts"},"qstring-double":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\\")|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.double.ts","patterns":[{"include":"#string-character-escape"}]},"qstring-single":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.single.ts","patterns":[{"include":"#string-character-escape"}]},"regex":{"patterns":[{"begin":"(?<!\\\\+\\\\+|--|})(?<=[!(+,:=?\\\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\\\|\\\\||\\\\*/)\\\\s*(/)(?![*/])(?=(?:[^()/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)+]|\\\\(([^)\\\\\\\\]|\\\\\\\\.)+\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.ts"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"keyword.other.ts"}},"name":"string.regexp.ts","patterns":[{"include":"#regexp"}]},{"begin":"((?<![]$)_[:alnum:]]|\\\\+\\\\+|--|}|\\\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\\\s*)/(?![*/])(?=(?:[^/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[([^]\\\\\\\\]|\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\*))(?!\\\\s*[$0-9A-Z_a-z]))","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(/)([dgimsuvy]*)","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"keyword.other.ts"}},"name":"string.regexp.ts","patterns":[{"include":"#regexp"}]}]},"regex-character-class":{"patterns":[{"match":"\\\\\\\\[DSWdfnrstvw]|\\\\.","name":"constant.other.character-class.regexp"},{"match":"\\\\\\\\([0-7]{3}|x\\\\h{2}|u\\\\h{4})","name":"constant.character.numeric.regexp"},{"match":"\\\\\\\\c[A-Z]","name":"constant.character.control.regexp"},{"match":"\\\\\\\\.","name":"constant.character.escape.backslash.regexp"}]},"regexp":{"patterns":[{"match":"\\\\\\\\[Bb]|[$^]","name":"keyword.control.anchor.regexp"},{"captures":{"0":{"name":"keyword.other.back-reference.regexp"},"1":{"name":"variable.other.regexp"}},"match":"\\\\\\\\(?:[1-9]\\\\d*|k<([$A-Z_a-z][$\\\\w]*)>)"},{"match":"[*+?]|\\\\{(\\\\d+,\\\\d+|\\\\d+,|,\\\\d+|\\\\d+)}\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.or.regexp"},{"begin":"(\\\\()((\\\\?=)|(\\\\?!)|(\\\\?<=)|(\\\\?<!))","beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"punctuation.definition.group.assertion.regexp"},"3":{"name":"meta.assertion.look-ahead.regexp"},"4":{"name":"meta.assertion.negative-look-ahead.regexp"},"5":{"name":"meta.assertion.look-behind.regexp"},"6":{"name":"meta.assertion.negative-look-behind.regexp"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.assertion.regexp","patterns":[{"include":"#regexp"}]},{"begin":"\\\\((?:(\\\\?:)|\\\\?<([$A-Z_a-z][$\\\\w]*)>)?","beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.no-capture.regexp"},"2":{"name":"variable.other.regexp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}},"name":"meta.group.regexp","patterns":[{"include":"#regexp"}]},{"begin":"(\\\\[)(\\\\^)?","beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}},"name":"constant.other.character-class.set.regexp","patterns":[{"captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}},"match":"(?:.|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))-(?:[^]\\\\\\\\]|(\\\\\\\\(?:[0-7]{3}|x\\\\h{2}|u\\\\h{4}))|(\\\\\\\\c[A-Z])|(\\\\\\\\.))","name":"constant.other.character-class.range.regexp"},{"include":"#regex-character-class"}]},{"include":"#regex-character-class"}]},"return-type":{"patterns":[{"begin":"(?<=\\\\))\\\\s*(:)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?<![\\\\&:|])(?=$|^|[,;{}]|//)","name":"meta.return.type.ts","patterns":[{"include":"#return-type-core"}]},{"begin":"(?<=\\\\))\\\\s*(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?<![\\\\&:|])((?=[,;{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))","name":"meta.return.type.ts","patterns":[{"include":"#return-type-core"}]}]},"return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<=[\\\\&:|])(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"shebang":{"captures":{"1":{"name":"punctuation.definition.comment.ts"}},"match":"\\\\A(#!).*(?=$)","name":"comment.line.shebang.ts"},"single-line-comment-consuming-line-ending":{"begin":"(^[\\\\t ]+)?((//)(?:\\\\s*((@)internal)(?=\\\\s|$))?)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.ts"},"2":{"name":"comment.line.double-slash.ts"},"3":{"name":"punctuation.definition.comment.ts"},"4":{"name":"storage.type.internaldeclaration.ts"},"5":{"name":"punctuation.decorator.internaldeclaration.ts"}},"contentName":"comment.line.double-slash.ts","end":"(?=^)"},"statements":{"patterns":[{"include":"#declaration"},{"include":"#control-statement"},{"include":"#after-operator-block-as-object-literal"},{"include":"#decl-block"},{"include":"#label"},{"include":"#expression"},{"include":"#punctuation-semicolon"},{"include":"#string"},{"include":"#comment"}]},"string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template"}]},"string-character-escape":{"match":"\\\\\\\\(x\\\\h{2}|u\\\\h{4}|u\\\\{\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.ts"},"super-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))super\\\\b(?!\\\\$)","name":"variable.language.super.ts"},"support-function-call-identifiers":{"patterns":[{"include":"#literal"},{"include":"#support-objects"},{"include":"#object-identifiers"},{"include":"#punctuation-accessor"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))import(?=\\\\s*\\\\(\\\\s*[\\"\'`])","name":"keyword.operator.expression.import.ts"}]},"support-objects":{"patterns":[{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(arguments)\\\\b(?!\\\\$)","name":"variable.language.arguments.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(Promise)\\\\b(?!\\\\$)","name":"support.class.promise.ts"},{"captures":{"1":{"name":"keyword.control.import.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"},"4":{"name":"support.variable.property.importmeta.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(import)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(meta)\\\\b(?!\\\\$)"},{"captures":{"1":{"name":"keyword.operator.new.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"},"4":{"name":"support.variable.property.target.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(new)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(target)\\\\b(?!\\\\$)"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"punctuation.accessor.optional.ts"},"3":{"name":"support.variable.property.ts"},"4":{"name":"support.constant.ts"}},"match":"(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(?:(constructor|length|prototype|__proto__)\\\\b(?!\\\\$|\\\\s*(<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\b(?!\\\\$))"},{"captures":{"1":{"name":"support.type.object.module.ts"},"2":{"name":"support.type.object.module.ts"},"3":{"name":"punctuation.accessor.ts"},"4":{"name":"punctuation.accessor.optional.ts"},"5":{"name":"support.type.object.module.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(exports)|(module)(?:(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))(exports|id|filename|loaded|parent|children))?)\\\\b(?!\\\\$)"}]},"switch-statement":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?=\\\\bswitch\\\\s*\\\\()","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"switch-statement.expr.ts","patterns":[{"include":"#comment"},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(switch)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"keyword.control.switch.ts"},"2":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"switch-expression.expr.ts","patterns":[{"include":"#expression"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"(?=})","name":"switch-block.expr.ts","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"keyword.control.switch.ts"}},"end":"(?=:)","name":"case-clause.expr.ts","patterns":[{"include":"#expression"}]},{"begin":"(:)\\\\s*(\\\\{)","beginCaptures":{"1":{"name":"case-clause.expr.ts punctuation.definition.section.case-statement.ts"},"2":{"name":"meta.block.ts punctuation.definition.block.ts"}},"contentName":"meta.block.ts","end":"}","endCaptures":{"0":{"name":"meta.block.ts punctuation.definition.block.ts"}},"patterns":[{"include":"#statements"}]},{"captures":{"0":{"name":"case-clause.expr.ts punctuation.definition.section.case-statement.ts"}},"match":"(:)"},{"include":"#statements"}]}]},"template":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#template-substitution-element"},{"include":"#string-character-escape"}]}]},"template-call":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#type-arguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#type-arguments"}]}]},"template-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#expression"}]},"template-type":{"patterns":[{"include":"#template-call"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#template-type-substitution-element"},{"include":"#string-character-escape"}]}]},"template-type-substitution-element":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#type"}]},"ternary-expression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#expression"}]},"this-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))this\\\\b(?!\\\\$)","name":"variable.language.this.ts"},"type":{"patterns":[{"include":"#comment"},{"include":"#type-string"},{"include":"#numeric-literal"},{"include":"#type-primitive"},{"include":"#type-builtin-literals"},{"include":"#type-parameters"},{"include":"#type-tuple"},{"include":"#type-object"},{"include":"#type-operators"},{"include":"#type-conditional"},{"include":"#type-fn-type-parameters"},{"include":"#type-paren-or-function-parameters"},{"include":"#type-function-return-type"},{"captures":{"1":{"name":"storage.modifier.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*"},{"include":"#type-name"}]},"type-alias-declaration":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(type)\\\\b\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.type.ts"},"4":{"name":"entity.name.type.alias.ts"}},"end":"(?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","name":"meta.type.declaration.ts","patterns":[{"include":"#comment"},{"include":"#type-parameters"},{"begin":"(=)\\\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"},"2":{"name":"keyword.control.intrinsic.ts"}},"end":"(?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#type"}]},{"begin":"(=)\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=[;}]|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#type"}]}]},"type-annotation":{"patterns":[{"begin":"(:)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?<![\\\\&:|])(?!\\\\s*[\\\\&|]\\\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?<![\\\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)))","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type-arguments-body"}]},"type-arguments-body":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"include":"#type"},{"include":"#punctuation-comma"}]},"type-builtin-literals":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"support.type.builtin.ts"},"type-conditional":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(extends)\\\\s+","beginCaptures":{"1":{"name":"storage.modifier.ts"}},"end":"(?<=:)","patterns":[{"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.ts"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#type"}]},{"include":"#type"}]}]},"type-fn-type-parameters":{"patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(new)\\\\b(?=\\\\s*<)","beginCaptures":{"1":{"name":"meta.type.constructor.ts storage.modifier.ts"},"2":{"name":"meta.type.constructor.ts keyword.control.new.ts"}},"end":"(?<=>)","patterns":[{"include":"#comment"},{"include":"#type-parameters"}]},{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(abstract)\\\\s+)?(new)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.control.new.ts"}},"end":"(?<=\\\\))","name":"meta.type.constructor.ts","patterns":[{"include":"#function-parameters"}]},{"begin":"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#function-parameters"}]}]},"type-function-return-type":{"patterns":[{"begin":"(=>)(?=\\\\s*\\\\S)","beginCaptures":{"1":{"name":"storage.type.function.arrow.ts"}},"end":"(?<!=>)(?<![\\\\&|])(?=[]),:;=>?{}]|//|$)","name":"meta.type.function.return.ts","patterns":[{"include":"#type-function-return-type-core"}]},{"begin":"=>","beginCaptures":{"0":{"name":"storage.type.function.arrow.ts"}},"end":"(?<!=>)(?<![\\\\&|])((?=[]),:;=>?{}]|//|^\\\\s*$)|((?<=\\\\S)(?=\\\\s*$)))","name":"meta.type.function.return.ts","patterns":[{"include":"#type-function-return-type-core"}]}]},"type-function-return-type-core":{"patterns":[{"include":"#comment"},{"begin":"(?<==>)(?=\\\\s*\\\\{)","end":"(?<=})","patterns":[{"include":"#type-object"}]},{"include":"#type-predicate-operator"},{"include":"#type"}]},"type-infer":{"patterns":[{"captures":{"1":{"name":"keyword.operator.expression.infer.ts"},"2":{"name":"entity.name.type.ts"},"3":{"name":"keyword.operator.expression.extends.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(infer)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))(?:\\\\s+(extends)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))?","name":"meta.type.infer.ts"}]},"type-name":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))\\\\s*(<)","captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"},"4":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts"}},"contentName":"meta.type.parameters.ts","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},"patterns":[{"include":"#type-arguments-body"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<)","beginCaptures":{"1":{"name":"entity.name.type.ts"},"2":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts"}},"contentName":"meta.type.parameters.ts","end":"(>)","endCaptures":{"1":{"name":"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts"}},"patterns":[{"include":"#type-arguments-body"}]},{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"},"3":{"name":"punctuation.accessor.optional.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(?:(\\\\.)|(\\\\?\\\\.(?!\\\\s*\\\\d)))"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"type-object":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#comment"},{"include":"#method-declaration"},{"include":"#indexer-declaration"},{"include":"#indexer-mapped-type-declaration"},{"include":"#field-declaration"},{"include":"#type-annotation"},{"begin":"\\\\.\\\\.\\\\.","beginCaptures":{"0":{"name":"keyword.operator.spread.ts"}},"end":"(?=[,;}]|$)|(?<=})","patterns":[{"include":"#type"}]},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#type"}]},"type-operators":{"patterns":[{"include":"#typeof-operator"},{"include":"#type-infer"},{"begin":"([\\\\&|])(?=\\\\s*\\\\{)","beginCaptures":{"0":{"name":"keyword.operator.type.ts"}},"end":"(?<=})","patterns":[{"include":"#type-object"}]},{"begin":"[\\\\&|]","beginCaptures":{"0":{"name":"keyword.operator.type.ts"}},"end":"(?=\\\\S)"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))keyof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.expression.keyof.ts"},{"match":"([:?])","name":"keyword.operator.ternary.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))import(?=\\\\s*\\\\()","name":"keyword.operator.expression.import.ts"}]},"type-parameters":{"begin":"(<)","beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":"(>)","endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#comment"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"storage.modifier.ts"},{"include":"#type"},{"include":"#punctuation-comma"},{"match":"(=)(?!>)","name":"keyword.operator.assignment.ts"}]},"type-paren-or-function-parameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"entity.name.function.ts variable.language.this.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\s*(\\\\??)(?=\\\\s*(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"keyword.operator.rest.ts"},"3":{"name":"variable.parameter.ts variable.language.this.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(public|private|protected|readonly)\\\\s+)?(?:(\\\\.\\\\.\\\\.)\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\s*(\\\\??)(?=:)"},{"include":"#type-annotation"},{"match":",","name":"punctuation.separator.parameter.ts"},{"include":"#type"}]},"type-predicate-operator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.type.asserts.ts"},"2":{"name":"variable.parameter.ts variable.language.this.ts"},"3":{"name":"variable.parameter.ts"},"4":{"name":"keyword.operator.expression.is.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:(asserts)\\\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\s(is)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"captures":{"1":{"name":"keyword.operator.type.asserts.ts"},"2":{"name":"variable.parameter.ts variable.language.this.ts"},"3":{"name":"variable.parameter.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(asserts)\\\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))asserts(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.type.asserts.ts"},{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))is(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"keyword.operator.expression.is.ts"}]},"type-primitive":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"support.type.primitive.ts"},"type-string":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#template-type"}]},"type-tuple":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.type.tuple.ts","patterns":[{"match":"\\\\.\\\\.\\\\.","name":"keyword.operator.rest.ts"},{"captures":{"1":{"name":"entity.name.label.ts"},"2":{"name":"keyword.operator.optional.ts"},"3":{"name":"punctuation.separator.label.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\?)?\\\\s*(:)"},{"include":"#type"},{"include":"#punctuation-comma"}]},"typeof-operator":{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))typeof(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","beginCaptures":{"0":{"name":"keyword.operator.expression.typeof.ts"}},"end":"(?=[]\\\\&),:;=>?{|}]|(extends\\\\s+)|$|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)","patterns":[{"include":"#type-arguments"},{"include":"#expression"}]},"undefined-literal":{"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))undefined(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))","name":"constant.language.undefined.ts"},"var-expr":{"patterns":[{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))","end":"(?!(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\\\s*$)))","name":"meta.var.expr.ts","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.ts"}},"end":"(?=\\\\S)"},{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\\\s*(?=$|//)","beginCaptures":{"1":{"name":"punctuation.separator.comma.ts"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#destructuring-variable"},{"include":"#var-single-variable"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]},{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.ts"}},"end":"(?!(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\\\s*$)))","name":"meta.var.expr.ts","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b(const(?!\\\\s+enum\\\\b))(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.ts"}},"end":"(?=\\\\S)"},{"include":"#destructuring-const"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\\\s*(?=$|//)","beginCaptures":{"1":{"name":"punctuation.separator.comma.ts"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#destructuring-const"},{"include":"#var-single-const"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]},{"begin":"(?=(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b\\\\b(using(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])|await\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.ts"}},"end":"(?!(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b\\\\b(using(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])|await\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\\\s+|[^$._[:alnum:]]await\\\\s+)using)(?=\\\\s*$)))","name":"meta.var.expr.ts","patterns":[{"begin":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(?:\\\\b(export)\\\\s+)?(?:\\\\b(declare)\\\\s+)?\\\\b\\\\b(using(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])|await\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b)\\\\b(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))\\\\s*","beginCaptures":{"1":{"name":"keyword.control.export.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"storage.type.ts"}},"end":"(?=\\\\S)"},{"include":"#var-single-const"},{"include":"#variable-initializer"},{"include":"#comment"},{"begin":"(,)\\\\s*((?!\\\\S)|(?=//))","beginCaptures":{"1":{"name":"punctuation.separator.comma.ts"}},"end":"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|^\\\\s*$))|((?<=\\\\S)(?=\\\\s*$)))","patterns":[{"include":"#single-line-comment-consuming-line-ending"},{"include":"#comment"},{"include":"#var-single-const"},{"include":"#punctuation-comma"}]},{"include":"#punctuation-comma"}]}]},"var-single-const":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))","name":"meta.var-single-variable.expr.ts","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)","beginCaptures":{"1":{"name":"meta.definition.variable.ts variable.other.constant.ts"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))","name":"meta.var-single-variable.expr.ts","patterns":[{"include":"#var-single-variable-type-annotation"}]}]},"var-single-variable":{"patterns":[{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\\\s*(=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>)))))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>)))))))|(:\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.)))|(:\\\\s*((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))))))|(:\\\\s*(=>|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\s*(((async\\\\s+)?((function\\\\s*[(*<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)))|((async\\\\s*)?(((<\\\\s*)$|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*((([\\\\[{]\\\\s*)?)$|((\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})\\\\s*((:\\\\s*\\\\{?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*)))|((\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])\\\\s*((:\\\\s*\\\\[?)$|((\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+\\\\s*)?=\\\\s*))))))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*((\\\\)\\\\s*:)|((\\\\.\\\\.\\\\.\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\s*:)))|((<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\s*(((const\\\\s+)?[$_[:alpha:]])|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\s*)?\\\\(\\\\s*(/\\\\*([^*]|(\\\\*[^/]))*\\\\*/\\\\s*)*(([$_[:alpha:]]|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\\\\.\\\\.\\\\.\\\\s*[$_[:alpha:]]))([^\\"\'()`]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))*)?\\\\)(\\\\s*:\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\([^()]+\\\\)|\\\\{[^{}]+})+)?\\\\s*=>))))))","beginCaptures":{"1":{"name":"meta.definition.variable.ts entity.name.function.ts"},"2":{"name":"keyword.operator.definiteassignment.ts"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))","name":"meta.var-single-variable.expr.ts","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.ts variable.other.constant.ts"},"2":{"name":"keyword.operator.definiteassignment.ts"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))","name":"meta.var-single-variable.expr.ts","patterns":[{"include":"#var-single-variable-type-annotation"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)(!)?","beginCaptures":{"1":{"name":"meta.definition.variable.ts variable.other.readwrite.ts"},"2":{"name":"keyword.operator.definiteassignment.ts"}},"end":"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+)|(;|^\\\\s*$|^\\\\s*(?:abstract|async|\\\\bawait\\\\s+\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\busing(?=\\\\s+(?!in\\\\b|of\\\\b(?!\\\\s*(?:of\\\\b|=)))[$_[:alpha:]])\\\\b|var|while)\\\\b))","name":"meta.var-single-variable.expr.ts","patterns":[{"include":"#var-single-variable-type-annotation"}]}]},"var-single-variable-type-annotation":{"patterns":[{"include":"#type-annotation"},{"include":"#string"},{"include":"#comment"}]},"variable-initializer":{"patterns":[{"begin":"(?<![!=])(=)(?!=)(?=\\\\s*\\\\S)(?!\\\\s*.*=>\\\\s*$)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))","patterns":[{"include":"#expression"}]},{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(of|in)\\\\s+))|(?=^\\\\s*$)|(?<![-\\\\&*+/|])(?<=\\\\S)(?<!=)(?=\\\\s*$)","patterns":[{"include":"#expression"}]}]}},"scopeName":"source.ts","aliases":["ts"]}')), ll = [
|
|
6276
6276
|
il
|
|
6277
6277
|
];
|
|
6278
|
-
function
|
|
6278
|
+
function We(t) {
|
|
6279
6279
|
if ([...t].length !== 1) throw new Error(`Expected "${t}" to be a single code point`);
|
|
6280
6280
|
return t.codePointAt(0);
|
|
6281
6281
|
}
|
|
6282
6282
|
function cl(t, e, n) {
|
|
6283
6283
|
return t.has(e) || t.set(e, n), t.get(e);
|
|
6284
6284
|
}
|
|
6285
|
-
const An = /* @__PURE__ */ new Set(["alnum", "alpha", "ascii", "blank", "cntrl", "digit", "graph", "lower", "print", "punct", "space", "upper", "word", "xdigit"]),
|
|
6285
|
+
const An = /* @__PURE__ */ new Set(["alnum", "alpha", "ascii", "blank", "cntrl", "digit", "graph", "lower", "print", "punct", "space", "upper", "word", "xdigit"]), H = String.raw;
|
|
6286
6286
|
function Ve(t, e) {
|
|
6287
6287
|
if (t == null) throw new Error(e ?? "Value expected");
|
|
6288
6288
|
return t;
|
|
6289
6289
|
}
|
|
6290
|
-
const or =
|
|
6290
|
+
const or = H`\[\^?`, ir = `c.? | C(?:-.?)?|${H`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${H`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${H`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${H`o\{[^\}]*\}?`}|${H`\d{1,3}`}`, In = /[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/, dt = new RegExp(H`
|
|
6291
6291
|
\\ (?:
|
|
6292
6292
|
${ir}
|
|
6293
6293
|
| [gk]<[^>]*>?
|
|
@@ -6309,7 +6309,7 @@ const or = W`\[\^?`, ir = `c.? | C(?:-.?)?|${W`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x
|
|
|
6309
6309
|
| (?:${In.source})+
|
|
6310
6310
|
| ${or}
|
|
6311
6311
|
| .
|
|
6312
|
-
`.replace(/\s+/g, ""), "gsu"), Xt = new RegExp(
|
|
6312
|
+
`.replace(/\s+/g, ""), "gsu"), Xt = new RegExp(H`
|
|
6313
6313
|
\\ (?:
|
|
6314
6314
|
${ir}
|
|
6315
6315
|
| .
|
|
@@ -6331,19 +6331,19 @@ function ul(t, e = {}) {
|
|
|
6331
6331
|
}, replaceCurrentModX(p) {
|
|
6332
6332
|
r[r.length - 1] = p;
|
|
6333
6333
|
}, singleline: n.rules.singleline };
|
|
6334
|
-
let o = [],
|
|
6335
|
-
for (dt.lastIndex = 0;
|
|
6336
|
-
const p = pl(s, t,
|
|
6334
|
+
let o = [], i;
|
|
6335
|
+
for (dt.lastIndex = 0; i = dt.exec(t); ) {
|
|
6336
|
+
const p = pl(s, t, i[0], dt.lastIndex);
|
|
6337
6337
|
p.tokens ? o.push(...p.tokens) : p.token && o.push(p.token), p.lastIndex !== void 0 && (dt.lastIndex = p.lastIndex);
|
|
6338
6338
|
}
|
|
6339
|
-
const
|
|
6339
|
+
const l = [];
|
|
6340
6340
|
let c = 0;
|
|
6341
6341
|
o.filter((p) => p.type === "GroupOpen").forEach((p) => {
|
|
6342
|
-
p.kind === "capturing" ? p.number = ++c : p.raw === "(" &&
|
|
6343
|
-
}), c ||
|
|
6342
|
+
p.kind === "capturing" ? p.number = ++c : p.raw === "(" && l.push(p);
|
|
6343
|
+
}), c || l.forEach((p, d) => {
|
|
6344
6344
|
p.kind = "capturing", p.number = d + 1;
|
|
6345
6345
|
});
|
|
6346
|
-
const u = c ||
|
|
6346
|
+
const u = c || l.length;
|
|
6347
6347
|
return { tokens: o.map((p) => p.type === "EscapedNumber" ? Nl(p, u) : p).flat(), flags: a };
|
|
6348
6348
|
}
|
|
6349
6349
|
function pl(t, e, n, a) {
|
|
@@ -6404,10 +6404,10 @@ function pl(t, e, n, a) {
|
|
|
6404
6404
|
}
|
|
6405
6405
|
if (n === ".") return { token: Re("dot", n) };
|
|
6406
6406
|
if (n === "^" || n === "$") {
|
|
6407
|
-
const o = t.singleline ? { "^":
|
|
6407
|
+
const o = t.singleline ? { "^": H`\A`, $: H`\Z` }[n] : n;
|
|
6408
6408
|
return { token: aa(o, n) };
|
|
6409
6409
|
}
|
|
6410
|
-
return n === "|" ? { token: fl(n) } : In.test(n) ? { tokens: Pl(n) } : { token: ge(
|
|
6410
|
+
return n === "|" ? { token: fl(n) } : In.test(n) ? { tokens: Pl(n) } : { token: ge(We(n), n) };
|
|
6411
6411
|
}
|
|
6412
6412
|
function dl(t, e, n) {
|
|
6413
6413
|
const a = [ra(e[1] === "^", e)];
|
|
@@ -6419,8 +6419,8 @@ function dl(t, e, n) {
|
|
|
6419
6419
|
if (a.at(-1).type === "CharacterClassOpen") a.push(ge(93, o));
|
|
6420
6420
|
else if (r--, a.push(hl(o)), !r) break;
|
|
6421
6421
|
} else {
|
|
6422
|
-
const
|
|
6423
|
-
Array.isArray(
|
|
6422
|
+
const i = ml(o);
|
|
6423
|
+
Array.isArray(i) ? a.push(...i) : a.push(i);
|
|
6424
6424
|
}
|
|
6425
6425
|
}
|
|
6426
6426
|
return { tokens: a, lastIndex: Xt.lastIndex || t.length };
|
|
@@ -6432,13 +6432,13 @@ function ml(t) {
|
|
|
6432
6432
|
if (!e || !An.has(e.groups.name)) throw new Error(`Invalid POSIX class "${t}"`);
|
|
6433
6433
|
return Re("posix", t, { value: e.groups.name, negate: !!e.groups.negate });
|
|
6434
6434
|
}
|
|
6435
|
-
return t === "-" ? gl(t) : t === "&&" ? bl(t) : ge(
|
|
6435
|
+
return t === "-" ? gl(t) : t === "&&" ? bl(t) : ge(We(t), t);
|
|
6436
6436
|
}
|
|
6437
6437
|
function lr(t, { inCharClass: e }) {
|
|
6438
6438
|
const n = t[1];
|
|
6439
6439
|
if (n === "c" || n === "C") return Cl(t);
|
|
6440
6440
|
if ("dDhHsSwW".includes(n)) return El(t);
|
|
6441
|
-
if (t.startsWith(
|
|
6441
|
+
if (t.startsWith(H`\o{`)) throw new Error(`Incomplete, invalid, or unsupported octal code point "${t}"`);
|
|
6442
6442
|
if (/^\\[pP]\{/.test(t)) {
|
|
6443
6443
|
if (t.length === 3) throw new Error(`Incomplete or invalid Unicode property "${t}"`);
|
|
6444
6444
|
return Al(t);
|
|
@@ -6446,8 +6446,8 @@ function lr(t, { inCharClass: e }) {
|
|
|
6446
6446
|
if (new RegExp("^\\\\x[89A-Fa-f]\\p{AHex}", "u").test(t)) try {
|
|
6447
6447
|
const a = t.split(/\\x/).slice(1).map((o) => parseInt(o, 16)), r = new TextDecoder("utf-8", { ignoreBOM: !0, fatal: !0 }).decode(new Uint8Array(a)), s = new TextEncoder();
|
|
6448
6448
|
return [...r].map((o) => {
|
|
6449
|
-
const
|
|
6450
|
-
return ge(
|
|
6449
|
+
const i = [...s.encode(o)].map((l) => `\\x${l.toString(16)}`).join("");
|
|
6450
|
+
return ge(We(o), i);
|
|
6451
6451
|
});
|
|
6452
6452
|
} catch {
|
|
6453
6453
|
throw new Error(`Multibyte code "${t}" incomplete or invalid in Oniguruma`);
|
|
@@ -6455,7 +6455,7 @@ function lr(t, { inCharClass: e }) {
|
|
|
6455
6455
|
if (n === "u" || n === "x") return ge(Rl(t), t);
|
|
6456
6456
|
if (sa.has(n)) return ge(sa.get(n), t);
|
|
6457
6457
|
if (/\d/.test(n)) return yl(e, t);
|
|
6458
|
-
if (t === "\\") throw new Error(
|
|
6458
|
+
if (t === "\\") throw new Error(H`Incomplete escape "\"`);
|
|
6459
6459
|
if (n === "M") throw new Error(`Unsupported meta "${t}"`);
|
|
6460
6460
|
if ([...t].length === 2) return ge(t.codePointAt(1), t);
|
|
6461
6461
|
throw new Error(`Unexpected escape "${t}"`);
|
|
@@ -6512,14 +6512,14 @@ const vl = /* @__PURE__ */ new Set(["COUNT", "CMP", "ERROR", "FAIL", "MAX", "MIS
|
|
|
6512
6512
|
function Cl(t) {
|
|
6513
6513
|
const e = t[1] === "c" ? t[2] : t[3];
|
|
6514
6514
|
if (!e || !/[A-Za-z]/.test(e)) throw new Error(`Unsupported control character "${t}"`);
|
|
6515
|
-
return ge(
|
|
6515
|
+
return ge(We(e.toUpperCase()) - 64, t);
|
|
6516
6516
|
}
|
|
6517
6517
|
function xl(t, e) {
|
|
6518
6518
|
let { on: n, off: a } = /^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(t).groups;
|
|
6519
6519
|
a ?? (a = "");
|
|
6520
|
-
const r = (e.getCurrentModX() || n.includes("x")) && !a.includes("x"), s = ia(n), o = ia(a),
|
|
6521
|
-
if (s && (
|
|
6522
|
-
if (t.endsWith(":")) return e.pushModX(r), e.numOpenGroups++, Oe("group", t, { ...(s || o) && { flags:
|
|
6520
|
+
const r = (e.getCurrentModX() || n.includes("x")) && !a.includes("x"), s = ia(n), o = ia(a), i = {};
|
|
6521
|
+
if (s && (i.enable = s), o && (i.disable = o), t.endsWith(")")) return e.replaceCurrentModX(r), ur("flags", t, { flags: i });
|
|
6522
|
+
if (t.endsWith(":")) return e.pushModX(r), e.numOpenGroups++, Oe("group", t, { ...(s || o) && { flags: i } });
|
|
6523
6523
|
throw new Error(`Unexpected flag modifier "${t}"`);
|
|
6524
6524
|
}
|
|
6525
6525
|
function Sl(t) {
|
|
@@ -6528,7 +6528,7 @@ function Sl(t) {
|
|
|
6528
6528
|
const { name: n, tag: a, args: r } = e.groups;
|
|
6529
6529
|
if (!n) throw new Error(`Invalid named callout "${t}"`);
|
|
6530
6530
|
if (a === "") throw new Error(`Named callout tag with empty value not allowed "${t}"`);
|
|
6531
|
-
const s = r ? r.split(",").filter((u) => u !== "").map((u) => /^[+-]?\d+$/.test(u) ? +u : u) : [], [o,
|
|
6531
|
+
const s = r ? r.split(",").filter((u) => u !== "").map((u) => /^[+-]?\d+$/.test(u) ? +u : u) : [], [o, i, l] = s, c = vl.has(n) ? n.toLowerCase() : "custom";
|
|
6532
6532
|
switch (c) {
|
|
6533
6533
|
case "fail":
|
|
6534
6534
|
case "mismatch":
|
|
@@ -6542,7 +6542,7 @@ function Sl(t) {
|
|
|
6542
6542
|
case "max":
|
|
6543
6543
|
if (!s.length || s.length > 2) throw new Error(`Named callout must have one or two arguments "${s}"`);
|
|
6544
6544
|
if (typeof o == "string" && !/^[A-Za-z_]\w*$/.test(o)) throw new Error(`Named callout argument one must be a tag or number "${o}"`);
|
|
6545
|
-
if (s.length === 2 && (typeof
|
|
6545
|
+
if (s.length === 2 && (typeof i == "number" || !/^[<>X]$/.test(i))) throw new Error(`Named callout optional argument two must be '<', '>', or 'X' "${i}"`);
|
|
6546
6546
|
break;
|
|
6547
6547
|
case "count":
|
|
6548
6548
|
case "total_count":
|
|
@@ -6552,8 +6552,8 @@ function Sl(t) {
|
|
|
6552
6552
|
case "cmp":
|
|
6553
6553
|
if (s.length !== 3) throw new Error(`Named callout must have three arguments "${s}"`);
|
|
6554
6554
|
if (typeof o == "string" && !/^[A-Za-z_]\w*$/.test(o)) throw new Error(`Named callout argument one must be a tag or number "${o}"`);
|
|
6555
|
-
if (typeof
|
|
6556
|
-
if (typeof
|
|
6555
|
+
if (typeof i == "number" || !/^(?:[<>!=]=|[<>])$/.test(i)) throw new Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${i}"`);
|
|
6556
|
+
if (typeof l == "string" && !/^[A-Za-z_]\w*$/.test(l)) throw new Error(`Named callout argument three must be a tag or number "${l}"`);
|
|
6557
6557
|
break;
|
|
6558
6558
|
case "custom":
|
|
6559
6559
|
throw new Error(`Undefined callout name "${n}"`);
|
|
@@ -6609,13 +6609,13 @@ function Nl(t, e) {
|
|
|
6609
6609
|
const { raw: n, inCharClass: a } = t, r = n.slice(1);
|
|
6610
6610
|
if (!a && (r !== "0" && r.length === 1 || r[0] !== "0" && +r <= e)) return [cr(n)];
|
|
6611
6611
|
const s = [], o = r.match(/^[0-7]+|\d/g);
|
|
6612
|
-
for (let
|
|
6613
|
-
const
|
|
6612
|
+
for (let i = 0; i < o.length; i++) {
|
|
6613
|
+
const l = o[i];
|
|
6614
6614
|
let c;
|
|
6615
|
-
if (
|
|
6616
|
-
if (c = parseInt(
|
|
6617
|
-
} else c =
|
|
6618
|
-
s.push(ge(c, (
|
|
6615
|
+
if (i === 0 && l !== "8" && l !== "9") {
|
|
6616
|
+
if (c = parseInt(l, 8), c > 127) throw new Error(H`Octal encoded byte above 177 unsupported "${n}"`);
|
|
6617
|
+
} else c = We(l);
|
|
6618
|
+
s.push(ge(c, (i === 0 ? "\\" : "") + l));
|
|
6619
6619
|
}
|
|
6620
6620
|
return s;
|
|
6621
6621
|
}
|
|
@@ -6627,8 +6627,8 @@ function Pl(t) {
|
|
|
6627
6627
|
if (r[0] === "{") {
|
|
6628
6628
|
const s = /^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(r);
|
|
6629
6629
|
if (s) {
|
|
6630
|
-
const { min: o, max:
|
|
6631
|
-
if (+o > +
|
|
6630
|
+
const { min: o, max: i } = s.groups;
|
|
6631
|
+
if (+o > +i && r.endsWith("?")) {
|
|
6632
6632
|
n.lastIndex--, e.push(oa(r.slice(0, -1)));
|
|
6633
6633
|
continue;
|
|
6634
6634
|
}
|
|
@@ -6667,7 +6667,7 @@ function dr(t, e = {}) {
|
|
|
6667
6667
|
case "CharacterSet":
|
|
6668
6668
|
return Gl(m, s);
|
|
6669
6669
|
case "Directive":
|
|
6670
|
-
return
|
|
6670
|
+
return Hl(m.kind, { flags: m.flags });
|
|
6671
6671
|
case "GroupOpen":
|
|
6672
6672
|
return Fl(m, s, f);
|
|
6673
6673
|
case "NamedCallout":
|
|
@@ -6679,33 +6679,33 @@ function dr(t, e = {}) {
|
|
|
6679
6679
|
default:
|
|
6680
6680
|
throw new Error(`Unexpected token type "${m.type}"`);
|
|
6681
6681
|
}
|
|
6682
|
-
}, s = { capturingGroups: [], hasNumberedRef: !1, namedGroupsByName: /* @__PURE__ */ new Map(), nextIndex: 0, normalizeUnknownPropertyNames: n.normalizeUnknownPropertyNames, parent: null, skipBackrefValidation: n.skipBackrefValidation, skipLookbehindValidation: n.skipLookbehindValidation, skipPropertyNameValidation: n.skipPropertyNameValidation, subroutines: [], tokens: a.tokens, unicodePropertyMap: n.unicodePropertyMap, walk: r }, o = Zl(
|
|
6683
|
-
let
|
|
6682
|
+
}, s = { capturingGroups: [], hasNumberedRef: !1, namedGroupsByName: /* @__PURE__ */ new Map(), nextIndex: 0, normalizeUnknownPropertyNames: n.normalizeUnknownPropertyNames, parent: null, skipBackrefValidation: n.skipBackrefValidation, skipLookbehindValidation: n.skipLookbehindValidation, skipPropertyNameValidation: n.skipPropertyNameValidation, subroutines: [], tokens: a.tokens, unicodePropertyMap: n.unicodePropertyMap, walk: r }, o = Zl(Wl(a.flags));
|
|
6683
|
+
let i = o.body[0];
|
|
6684
6684
|
for (; s.nextIndex < a.tokens.length; ) {
|
|
6685
|
-
const d = r(
|
|
6686
|
-
d.type === "Alternative" ? (o.body.push(d),
|
|
6685
|
+
const d = r(i, {});
|
|
6686
|
+
d.type === "Alternative" ? (o.body.push(d), i = d) : i.body.push(d);
|
|
6687
6687
|
}
|
|
6688
|
-
const { capturingGroups:
|
|
6688
|
+
const { capturingGroups: l, hasNumberedRef: c, namedGroupsByName: u, subroutines: p } = s;
|
|
6689
6689
|
if (c && u.size && !n.rules.captureGroup) throw new Error("Numbered backref/subroutine not allowed when using named capture");
|
|
6690
6690
|
for (const { ref: d } of p) if (typeof d == "number") {
|
|
6691
|
-
if (d >
|
|
6692
|
-
d && (
|
|
6691
|
+
if (d > l.length) throw new Error("Subroutine uses a group number that's not defined");
|
|
6692
|
+
d && (l[d - 1].isSubroutined = !0);
|
|
6693
6693
|
} else if (u.has(d)) {
|
|
6694
|
-
if (u.get(d).length > 1) throw new Error(
|
|
6694
|
+
if (u.get(d).length > 1) throw new Error(H`Subroutine uses a duplicate group name "\g<${d}>"`);
|
|
6695
6695
|
u.get(d)[0].isSubroutined = !0;
|
|
6696
|
-
} else throw new Error(
|
|
6696
|
+
} else throw new Error(H`Subroutine uses a group name that's not defined "\g<${d}>"`);
|
|
6697
6697
|
return o;
|
|
6698
6698
|
}
|
|
6699
6699
|
function Ll({ kind: t }) {
|
|
6700
|
-
return mn(Ve({ "^": "line_start", $: "line_end", "\\A": "string_start", "\\b": "word_boundary", "\\B": "word_boundary", "\\G": "search_start", "\\y": "text_segment_boundary", "\\Y": "text_segment_boundary", "\\z": "string_end", "\\Z": "string_end_newline" }[t], `Unexpected assertion kind "${t}"`), { negate: t ===
|
|
6700
|
+
return mn(Ve({ "^": "line_start", $: "line_end", "\\A": "string_start", "\\b": "word_boundary", "\\B": "word_boundary", "\\G": "search_start", "\\y": "text_segment_boundary", "\\Y": "text_segment_boundary", "\\z": "string_end", "\\Z": "string_end_newline" }[t], `Unexpected assertion kind "${t}"`), { negate: t === H`\B` || t === H`\Y` });
|
|
6701
6701
|
}
|
|
6702
6702
|
function jl({ raw: t }, e) {
|
|
6703
6703
|
const n = /^\\k[<']/.test(t), a = n ? t.slice(3, -1) : t.slice(1), r = (s, o = !1) => {
|
|
6704
|
-
const
|
|
6705
|
-
let
|
|
6706
|
-
if (s >
|
|
6704
|
+
const i = e.capturingGroups.length;
|
|
6705
|
+
let l = !1;
|
|
6706
|
+
if (s > i) if (e.skipBackrefValidation) l = !0;
|
|
6707
6707
|
else throw new Error(`Not enough capturing groups defined to the left "${t}"`);
|
|
6708
|
-
return e.hasNumberedRef = !0, fn(o ?
|
|
6708
|
+
return e.hasNumberedRef = !0, fn(o ? i + 1 - s : s, { orphan: l });
|
|
6709
6709
|
};
|
|
6710
6710
|
if (n) {
|
|
6711
6711
|
const s = /^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(a);
|
|
@@ -6717,45 +6717,45 @@ function jl({ raw: t }, e) {
|
|
|
6717
6717
|
return r(+a);
|
|
6718
6718
|
}
|
|
6719
6719
|
function Ml(t, e, n) {
|
|
6720
|
-
const { tokens: a, walk: r } = e, s = e.parent, o = s.body.at(-1),
|
|
6721
|
-
if (!n.isCheckingRangeEnd && o && o.type !== "CharacterClass" && o.type !== "CharacterClassRange" &&
|
|
6722
|
-
const
|
|
6723
|
-
if (o.type === "Character" &&
|
|
6720
|
+
const { tokens: a, walk: r } = e, s = e.parent, o = s.body.at(-1), i = a[e.nextIndex];
|
|
6721
|
+
if (!n.isCheckingRangeEnd && o && o.type !== "CharacterClass" && o.type !== "CharacterClassRange" && i && i.type !== "CharacterClassOpen" && i.type !== "CharacterClassClose" && i.type !== "CharacterClassIntersector") {
|
|
6722
|
+
const l = r(s, { ...n, isCheckingRangeEnd: !0 });
|
|
6723
|
+
if (o.type === "Character" && l.type === "Character") return s.body.pop(), ql(o, l);
|
|
6724
6724
|
throw new Error("Invalid character class range");
|
|
6725
6725
|
}
|
|
6726
|
-
return Bt(
|
|
6726
|
+
return Bt(We("-"));
|
|
6727
6727
|
}
|
|
6728
6728
|
function Ol({ negate: t }, e, n) {
|
|
6729
6729
|
const { tokens: a, walk: r } = e, s = a[e.nextIndex], o = [bt()];
|
|
6730
|
-
let
|
|
6731
|
-
for (;
|
|
6732
|
-
if (
|
|
6730
|
+
let i = ua(s);
|
|
6731
|
+
for (; i.type !== "CharacterClassClose"; ) {
|
|
6732
|
+
if (i.type === "CharacterClassIntersector") o.push(bt()), e.nextIndex++;
|
|
6733
6733
|
else {
|
|
6734
6734
|
const c = o.at(-1);
|
|
6735
6735
|
c.body.push(r(c, n));
|
|
6736
6736
|
}
|
|
6737
|
-
|
|
6737
|
+
i = ua(a[e.nextIndex], s);
|
|
6738
6738
|
}
|
|
6739
|
-
const
|
|
6740
|
-
return o.length === 1 ?
|
|
6739
|
+
const l = bt({ negate: t });
|
|
6740
|
+
return o.length === 1 ? l.body = o[0].body : (l.kind = "intersection", l.body = o.map((c) => c.body.length === 1 ? c.body[0] : c)), e.nextIndex++, l;
|
|
6741
6741
|
}
|
|
6742
6742
|
function Gl({ kind: t, negate: e, value: n }, a) {
|
|
6743
6743
|
const { normalizeUnknownPropertyNames: r, skipPropertyNameValidation: s, unicodePropertyMap: o } = a;
|
|
6744
6744
|
if (t === "property") {
|
|
6745
|
-
const
|
|
6746
|
-
if (An.has(
|
|
6745
|
+
const i = Tt(n);
|
|
6746
|
+
if (An.has(i) && !(o != null && o.has(i))) t = "posix", n = i;
|
|
6747
6747
|
else return Ge(n, { negate: e, normalizeUnknownPropertyNames: r, skipPropertyNameValidation: s, unicodePropertyMap: o });
|
|
6748
6748
|
}
|
|
6749
6749
|
return t === "posix" ? Xl(n, { negate: e }) : hn(t, { negate: e });
|
|
6750
6750
|
}
|
|
6751
6751
|
function Fl(t, e, n) {
|
|
6752
|
-
const { tokens: a, capturingGroups: r, namedGroupsByName: s, skipLookbehindValidation: o, walk:
|
|
6753
|
-
if (
|
|
6752
|
+
const { tokens: a, capturingGroups: r, namedGroupsByName: s, skipLookbehindValidation: o, walk: i } = e, l = Kl(t), c = l.type === "AbsenceFunction", u = ca(l), p = u && l.negate;
|
|
6753
|
+
if (l.type === "CapturingGroup" && (r.push(l), l.name && cl(s, l.name, []).push(l)), c && n.isInAbsenceFunction) throw new Error("Nested absence function not supported by Oniguruma");
|
|
6754
6754
|
let d = pa(a[e.nextIndex]);
|
|
6755
6755
|
for (; d.type !== "GroupClose"; ) {
|
|
6756
|
-
if (d.type === "Alternator")
|
|
6756
|
+
if (d.type === "Alternator") l.body.push(Be()), e.nextIndex++;
|
|
6757
6757
|
else {
|
|
6758
|
-
const f =
|
|
6758
|
+
const f = l.body.at(-1), m = i(f, { ...n, isInAbsenceFunction: n.isInAbsenceFunction || c, isInLookbehind: n.isInLookbehind || u, isInNegLookbehind: n.isInNegLookbehind || p });
|
|
6759
6759
|
if (f.body.push(m), (u || n.isInLookbehind) && !o) {
|
|
6760
6760
|
const _ = "Lookbehind includes a pattern not allowed by Oniguruma";
|
|
6761
6761
|
if (p || n.isInNegLookbehind) {
|
|
@@ -6765,7 +6765,7 @@ function Fl(t, e, n) {
|
|
|
6765
6765
|
}
|
|
6766
6766
|
d = pa(a[e.nextIndex]);
|
|
6767
6767
|
}
|
|
6768
|
-
return e.nextIndex++,
|
|
6768
|
+
return e.nextIndex++, l;
|
|
6769
6769
|
}
|
|
6770
6770
|
function Dl({ kind: t, min: e, max: n }, a) {
|
|
6771
6771
|
const r = a.parent, s = r.body.at(-1);
|
|
@@ -6778,8 +6778,8 @@ function Ul({ raw: t }, e) {
|
|
|
6778
6778
|
let r = t.slice(3, -1);
|
|
6779
6779
|
const s = /^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(r);
|
|
6780
6780
|
if (s) {
|
|
6781
|
-
const
|
|
6782
|
-
if (e.hasNumberedRef = !0, r = { "":
|
|
6781
|
+
const i = +s.groups.num, l = n.length;
|
|
6782
|
+
if (e.hasNumberedRef = !0, r = { "": i, "+": l + i, "-": l + 1 - i }[s.groups.sign], r < 1) throw new Error("Invalid subroutine number");
|
|
6783
6783
|
} else r === "0" && (r = 0);
|
|
6784
6784
|
const o = hr(r);
|
|
6785
6785
|
return a.push(o), o;
|
|
@@ -6824,12 +6824,12 @@ function hn(t, e) {
|
|
|
6824
6824
|
const n = !!(e != null && e.negate), a = { type: "CharacterSet", kind: t };
|
|
6825
6825
|
return (t === "digit" || t === "hex" || t === "newline" || t === "space" || t === "word") && (a.negate = n), (t === "text_segment" || t === "newline" && !n) && (a.variableLength = !0), a;
|
|
6826
6826
|
}
|
|
6827
|
-
function
|
|
6827
|
+
function Hl(t, e = {}) {
|
|
6828
6828
|
if (t === "keep") return { type: "Directive", kind: t };
|
|
6829
6829
|
if (t === "flags") return { type: "Directive", kind: t, flags: Ve(e.flags) };
|
|
6830
6830
|
throw new Error(`Unexpected directive kind "${t}"`);
|
|
6831
6831
|
}
|
|
6832
|
-
function
|
|
6832
|
+
function Wl(t) {
|
|
6833
6833
|
return { type: "Flags", ...t };
|
|
6834
6834
|
}
|
|
6835
6835
|
function oe(t) {
|
|
@@ -6865,7 +6865,7 @@ function Ge(t, e) {
|
|
|
6865
6865
|
let a = (r = n.unicodePropertyMap) == null ? void 0 : r.get(Tt(t));
|
|
6866
6866
|
if (!a) {
|
|
6867
6867
|
if (n.normalizeUnknownPropertyNames) a = Ql(t);
|
|
6868
|
-
else if (n.unicodePropertyMap && !n.skipPropertyNameValidation) throw new Error(
|
|
6868
|
+
else if (n.unicodePropertyMap && !n.skipPropertyNameValidation) throw new Error(H`Invalid Unicode property "\p{${t}}"`);
|
|
6869
6869
|
}
|
|
6870
6870
|
return { type: "CharacterSet", kind: "property", value: a ?? t, negate: n.negate };
|
|
6871
6871
|
}
|
|
@@ -6919,29 +6919,29 @@ function pa(t) {
|
|
|
6919
6919
|
}
|
|
6920
6920
|
function Je(t, e, n = null) {
|
|
6921
6921
|
function a(s, o) {
|
|
6922
|
-
for (let
|
|
6923
|
-
const
|
|
6924
|
-
|
|
6922
|
+
for (let i = 0; i < s.length; i++) {
|
|
6923
|
+
const l = r(s[i], o, i, s);
|
|
6924
|
+
i = Math.max(-1, i + l);
|
|
6925
6925
|
}
|
|
6926
6926
|
}
|
|
6927
|
-
function r(s, o = null,
|
|
6927
|
+
function r(s, o = null, i = null, l = null) {
|
|
6928
6928
|
var b, w;
|
|
6929
6929
|
let c = 0, u = !1;
|
|
6930
|
-
const p = { node: s, parent: o, key:
|
|
6931
|
-
mt(
|
|
6930
|
+
const p = { node: s, parent: o, key: i, container: l, root: t, remove() {
|
|
6931
|
+
mt(l).splice(Math.max(0, je(i) + c), 1), c--, u = !0;
|
|
6932
6932
|
}, removeAllNextSiblings() {
|
|
6933
|
-
return mt(
|
|
6933
|
+
return mt(l).splice(je(i) + 1);
|
|
6934
6934
|
}, removeAllPrevSiblings() {
|
|
6935
|
-
const k = je(
|
|
6936
|
-
return c -= k, mt(
|
|
6935
|
+
const k = je(i) + c;
|
|
6936
|
+
return c -= k, mt(l).splice(0, Math.max(0, k));
|
|
6937
6937
|
}, replaceWith(k, v = {}) {
|
|
6938
6938
|
const A = !!v.traverse;
|
|
6939
|
-
|
|
6939
|
+
l ? l[Math.max(0, je(i) + c)] = k : Ve(o, "Can't replace root node")[i] = k, A && r(k, o, i, l), u = !0;
|
|
6940
6940
|
}, replaceWithMultiple(k, v = {}) {
|
|
6941
6941
|
const A = !!v.traverse;
|
|
6942
|
-
if (mt(
|
|
6942
|
+
if (mt(l).splice(Math.max(0, je(i) + c), 1, ...k), c += k.length - 1, A) {
|
|
6943
6943
|
let O = 0;
|
|
6944
|
-
for (let I = 0; I < k.length; I++) O += r(k[I], o, je(
|
|
6944
|
+
for (let I = 0; I < k.length; I++) O += r(k[I], o, je(i) + I + O, l);
|
|
6945
6945
|
}
|
|
6946
6946
|
u = !0;
|
|
6947
6947
|
}, skip() {
|
|
@@ -7007,19 +7007,19 @@ const re = Object.freeze({
|
|
|
7007
7007
|
});
|
|
7008
7008
|
function Rn(t, e, n, a) {
|
|
7009
7009
|
const r = new RegExp(String.raw`${e}|(?<$skip>\[\^?|\\?.)`, "gsu"), s = [!1];
|
|
7010
|
-
let o = 0,
|
|
7011
|
-
for (const
|
|
7012
|
-
const { 0: c, groups: { $skip: u } } =
|
|
7010
|
+
let o = 0, i = "";
|
|
7011
|
+
for (const l of t.matchAll(r)) {
|
|
7012
|
+
const { 0: c, groups: { $skip: u } } = l;
|
|
7013
7013
|
if (!u && (!a || a === re.DEFAULT == !o)) {
|
|
7014
|
-
n instanceof Function ?
|
|
7014
|
+
n instanceof Function ? i += n(l, {
|
|
7015
7015
|
context: o ? re.CHAR_CLASS : re.DEFAULT,
|
|
7016
7016
|
negated: s[s.length - 1]
|
|
7017
|
-
}) :
|
|
7017
|
+
}) : i += n;
|
|
7018
7018
|
continue;
|
|
7019
7019
|
}
|
|
7020
|
-
c[0] === "[" ? (o++, s.push(c[1] === "^")) : c === "]" && o && (o--, s.pop()),
|
|
7020
|
+
c[0] === "[" ? (o++, s.push(c[1] === "^")) : c === "]" && o && (o--, s.pop()), i += c;
|
|
7021
7021
|
}
|
|
7022
|
-
return
|
|
7022
|
+
return i;
|
|
7023
7023
|
}
|
|
7024
7024
|
function br(t, e, n, a) {
|
|
7025
7025
|
Rn(t, e, n, a);
|
|
@@ -7031,10 +7031,10 @@ function nc(t, e, n = 0, a) {
|
|
|
7031
7031
|
r.lastIndex = n;
|
|
7032
7032
|
let s = 0, o;
|
|
7033
7033
|
for (; o = r.exec(t); ) {
|
|
7034
|
-
const { 0:
|
|
7035
|
-
if (!
|
|
7034
|
+
const { 0: i, groups: { $skip: l } } = o;
|
|
7035
|
+
if (!l && (!a || a === re.DEFAULT == !s))
|
|
7036
7036
|
return o;
|
|
7037
|
-
|
|
7037
|
+
i === "[" ? s++ : i === "]" && s && s--, r.lastIndex == o.index && r.lastIndex++;
|
|
7038
7038
|
}
|
|
7039
7039
|
return null;
|
|
7040
7040
|
}
|
|
@@ -7046,14 +7046,14 @@ function ac(t, e) {
|
|
|
7046
7046
|
n.lastIndex = e;
|
|
7047
7047
|
let a = t.length, r = 0, s = 1, o;
|
|
7048
7048
|
for (; o = n.exec(t); ) {
|
|
7049
|
-
const [
|
|
7050
|
-
if (
|
|
7049
|
+
const [i] = o;
|
|
7050
|
+
if (i === "[")
|
|
7051
7051
|
r++;
|
|
7052
7052
|
else if (r)
|
|
7053
|
-
|
|
7054
|
-
else if (
|
|
7053
|
+
i === "]" && r--;
|
|
7054
|
+
else if (i === "(")
|
|
7055
7055
|
s++;
|
|
7056
|
-
else if (
|
|
7056
|
+
else if (i === ")" && (s--, !s)) {
|
|
7057
7057
|
a = o.index;
|
|
7058
7058
|
break;
|
|
7059
7059
|
}
|
|
@@ -7070,8 +7070,8 @@ function rc(t, e) {
|
|
|
7070
7070
|
captureTransfers: a,
|
|
7071
7071
|
hiddenCaptures: n
|
|
7072
7072
|
};
|
|
7073
|
-
const r = "(?>", s = "(?:(?=(", o = [0],
|
|
7074
|
-
let
|
|
7073
|
+
const r = "(?>", s = "(?:(?=(", o = [0], i = [];
|
|
7074
|
+
let l = 0, c = 0, u = NaN, p;
|
|
7075
7075
|
do {
|
|
7076
7076
|
p = !1;
|
|
7077
7077
|
let d = 0, f = 0, m = !1, _;
|
|
@@ -7086,12 +7086,12 @@ function rc(t, e) {
|
|
|
7086
7086
|
else if (m && k)
|
|
7087
7087
|
f++;
|
|
7088
7088
|
else if (w)
|
|
7089
|
-
m ? f++ : (
|
|
7089
|
+
m ? f++ : (l++, o.push(l + c));
|
|
7090
7090
|
else if (g === ")" && m) {
|
|
7091
7091
|
if (!f) {
|
|
7092
7092
|
c++;
|
|
7093
|
-
const v =
|
|
7094
|
-
if (t = `${t.slice(0, u)}${s}${t.slice(u + r.length, b)}))<$$${v}>)${t.slice(b + 1)}`, p = !0,
|
|
7093
|
+
const v = l + c;
|
|
7094
|
+
if (t = `${t.slice(0, u)}${s}${t.slice(u + r.length, b)}))<$$${v}>)${t.slice(b + 1)}`, p = !0, i.push(v), ec(n, v), a.size) {
|
|
7095
7095
|
const A = /* @__PURE__ */ new Map();
|
|
7096
7096
|
a.forEach((O, I) => {
|
|
7097
7097
|
A.set(
|
|
@@ -7106,7 +7106,7 @@ function rc(t, e) {
|
|
|
7106
7106
|
}
|
|
7107
7107
|
}
|
|
7108
7108
|
} while (p);
|
|
7109
|
-
return n.push(...
|
|
7109
|
+
return n.push(...i), t = Rn(
|
|
7110
7110
|
t,
|
|
7111
7111
|
String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,
|
|
7112
7112
|
({ 0: d, groups: { backrefNum: f, wrappedBackrefNum: m } }) => {
|
|
@@ -7149,31 +7149,31 @@ function sc(t) {
|
|
|
7149
7149
|
const e = [];
|
|
7150
7150
|
let n = null, a = null, r = "", s = 0, o;
|
|
7151
7151
|
for (Zt.lastIndex = 0; o = Zt.exec(t); ) {
|
|
7152
|
-
const { 0:
|
|
7153
|
-
if (
|
|
7154
|
-
s || (a =
|
|
7155
|
-
else if (
|
|
7152
|
+
const { 0: i, index: l, groups: { qBase: c, qMod: u, invalidQ: p } } = o;
|
|
7153
|
+
if (i === "[")
|
|
7154
|
+
s || (a = l), s++;
|
|
7155
|
+
else if (i === "]")
|
|
7156
7156
|
s ? s-- : a = null;
|
|
7157
7157
|
else if (!s)
|
|
7158
7158
|
if (u === "+" && r && !r.startsWith("(")) {
|
|
7159
7159
|
if (p)
|
|
7160
|
-
throw new Error(`Invalid quantifier "${
|
|
7160
|
+
throw new Error(`Invalid quantifier "${i}"`);
|
|
7161
7161
|
let d = -1;
|
|
7162
7162
|
if (/^\{\d+\}$/.test(c))
|
|
7163
|
-
t = tc(t,
|
|
7163
|
+
t = tc(t, l + c.length, u, "");
|
|
7164
7164
|
else {
|
|
7165
7165
|
if (r === ")" || r === "]") {
|
|
7166
7166
|
const f = r === ")" ? n : a;
|
|
7167
7167
|
if (f === null)
|
|
7168
7168
|
throw new Error(`Invalid unmatched "${r}"`);
|
|
7169
|
-
t = `${t.slice(0, f)}(?>${t.slice(f,
|
|
7169
|
+
t = `${t.slice(0, f)}(?>${t.slice(f, l)}${c})${t.slice(l + i.length)}`;
|
|
7170
7170
|
} else
|
|
7171
|
-
t = `${t.slice(0,
|
|
7171
|
+
t = `${t.slice(0, l - r.length)}(?>${r}${c})${t.slice(l + i.length)}`;
|
|
7172
7172
|
d += 4;
|
|
7173
7173
|
}
|
|
7174
7174
|
Zt.lastIndex += d;
|
|
7175
|
-
} else
|
|
7176
|
-
r =
|
|
7175
|
+
} else i[0] === "(" ? e.push(l) : i === ")" && (n = e.length ? e.pop() : null);
|
|
7176
|
+
r = i;
|
|
7177
7177
|
}
|
|
7178
7178
|
return {
|
|
7179
7179
|
pattern: t
|
|
@@ -7195,7 +7195,7 @@ function ic(t, e) {
|
|
|
7195
7195
|
};
|
|
7196
7196
|
if (a === "plugin" && ft(t, ae`\(\?\(DEFINE\)`, re.DEFAULT))
|
|
7197
7197
|
throw new Error("DEFINE groups cannot be used with recursion");
|
|
7198
|
-
const s = [], o = ft(t, ae`\\[1-9]`, re.DEFAULT),
|
|
7198
|
+
const s = [], o = ft(t, ae`\\[1-9]`, re.DEFAULT), i = /* @__PURE__ */ new Map(), l = [];
|
|
7199
7199
|
let c = !1, u = 0, p = 0, d;
|
|
7200
7200
|
for (xe.lastIndex = 0; d = xe.exec(t); ) {
|
|
7201
7201
|
const { 0: f, groups: { captureName: m, rDepth: _, gRNameOrNum: g, gRDepth: b } } = d;
|
|
@@ -7236,7 +7236,7 @@ function ic(t, e) {
|
|
|
7236
7236
|
} else if (g) {
|
|
7237
7237
|
ma(b);
|
|
7238
7238
|
let w = !1;
|
|
7239
|
-
for (const T of
|
|
7239
|
+
for (const T of l)
|
|
7240
7240
|
if (T.name === g || T.num === +g) {
|
|
7241
7241
|
if (w = !0, T.hasRecursedWithin)
|
|
7242
7242
|
throw new Error(Kt);
|
|
@@ -7244,7 +7244,7 @@ function ic(t, e) {
|
|
|
7244
7244
|
}
|
|
7245
7245
|
if (!w)
|
|
7246
7246
|
throw new Error(ae`Recursive \g cannot be used outside the referenced group "${a === "external" ? g : ae`\g<${g}&R=${b}>`}"`);
|
|
7247
|
-
const k =
|
|
7247
|
+
const k = i.get(g), v = ac(t, k);
|
|
7248
7248
|
if (o && ft(v, ae`${Lt}|\((?!\?)`, re.DEFAULT))
|
|
7249
7249
|
throw new Error(
|
|
7250
7250
|
// When used in `external` mode by transpilers other than Regex+, backrefs might have
|
|
@@ -7269,16 +7269,16 @@ function ic(t, e) {
|
|
|
7269
7269
|
p
|
|
7270
7270
|
);
|
|
7271
7271
|
const x = t.slice(0, k), $ = t.slice(k + v.length);
|
|
7272
|
-
t = `${x}${ce}${$}`, xe.lastIndex += ce.length - f.length - A.length - O.length,
|
|
7272
|
+
t = `${x}${ce}${$}`, xe.lastIndex += ce.length - f.length - A.length - O.length, l.forEach((T) => T.hasRecursedWithin = !0), c = !0;
|
|
7273
7273
|
} else if (m)
|
|
7274
|
-
p++,
|
|
7274
|
+
p++, i.set(String(p), xe.lastIndex), i.set(m, xe.lastIndex), l.push({
|
|
7275
7275
|
num: p,
|
|
7276
7276
|
name: m
|
|
7277
7277
|
});
|
|
7278
7278
|
else if (f[0] === "(") {
|
|
7279
7279
|
const w = f === "(";
|
|
7280
|
-
w && (p++,
|
|
7281
|
-
} else f === ")" &&
|
|
7280
|
+
w && (p++, i.set(String(p), xe.lastIndex)), l.push(w ? { num: p } : {});
|
|
7281
|
+
} else f === ")" && l.pop();
|
|
7282
7282
|
}
|
|
7283
7283
|
return n.push(...s), {
|
|
7284
7284
|
pattern: t,
|
|
@@ -7294,24 +7294,24 @@ function ma(t) {
|
|
|
7294
7294
|
throw new Error(e);
|
|
7295
7295
|
}
|
|
7296
7296
|
function fa(t, e, n, a, r, s, o) {
|
|
7297
|
-
const
|
|
7297
|
+
const i = /* @__PURE__ */ new Set();
|
|
7298
7298
|
a && br(t + e, Lt, ({ groups: { captureName: c } }) => {
|
|
7299
|
-
|
|
7299
|
+
i.add(c);
|
|
7300
7300
|
}, re.DEFAULT);
|
|
7301
|
-
const
|
|
7301
|
+
const l = [
|
|
7302
7302
|
n,
|
|
7303
|
-
a ?
|
|
7303
|
+
a ? i : null,
|
|
7304
7304
|
r,
|
|
7305
7305
|
s,
|
|
7306
7306
|
o
|
|
7307
7307
|
];
|
|
7308
|
-
return `${t}${ha(`(?:${t}`, "forward", ...
|
|
7308
|
+
return `${t}${ha(`(?:${t}`, "forward", ...l)}(?:)${ha(`${e})`, "backward", ...l)}${e}`;
|
|
7309
7309
|
}
|
|
7310
7310
|
function ha(t, e, n, a, r, s, o) {
|
|
7311
|
-
const
|
|
7311
|
+
const l = (u) => e === "forward" ? u + 2 : n - u + 2 - 1;
|
|
7312
7312
|
let c = "";
|
|
7313
7313
|
for (let u = 0; u < n; u++) {
|
|
7314
|
-
const p =
|
|
7314
|
+
const p = l(u);
|
|
7315
7315
|
c += Rn(
|
|
7316
7316
|
t,
|
|
7317
7317
|
ae`${_r}|\\k<(?<backref>[^>]+)>`,
|
|
@@ -7338,22 +7338,22 @@ function ga(t, e, n, a, r, s) {
|
|
|
7338
7338
|
if (t.size && a) {
|
|
7339
7339
|
let o = 0;
|
|
7340
7340
|
br(e, _r, () => o++, re.DEFAULT);
|
|
7341
|
-
const
|
|
7341
|
+
const i = s - o + r, l = /* @__PURE__ */ new Map();
|
|
7342
7342
|
return t.forEach((c, u) => {
|
|
7343
|
-
const p = (a - o * n) / n, d = o * n, f = u >
|
|
7343
|
+
const p = (a - o * n) / n, d = o * n, f = u > i + o ? u + a : u, m = [];
|
|
7344
7344
|
for (const _ of c)
|
|
7345
|
-
if (_ <=
|
|
7345
|
+
if (_ <= i)
|
|
7346
7346
|
m.push(_);
|
|
7347
|
-
else if (_ >
|
|
7347
|
+
else if (_ > i + o + p)
|
|
7348
7348
|
m.push(_ + a);
|
|
7349
|
-
else if (_ <=
|
|
7349
|
+
else if (_ <= i + o)
|
|
7350
7350
|
for (let g = 0; g <= n; g++)
|
|
7351
7351
|
m.push(_ + o * g);
|
|
7352
7352
|
else
|
|
7353
7353
|
for (let g = 0; g <= n; g++)
|
|
7354
7354
|
m.push(_ + d + p * g);
|
|
7355
|
-
|
|
7356
|
-
}),
|
|
7355
|
+
l.set(f, m);
|
|
7356
|
+
}), l;
|
|
7357
7357
|
}
|
|
7358
7358
|
return t;
|
|
7359
7359
|
}
|
|
@@ -7727,19 +7727,19 @@ var _c = {
|
|
|
7727
7727
|
}
|
|
7728
7728
|
}
|
|
7729
7729
|
},
|
|
7730
|
-
Assertion({ node: t, parent: e, key: n, container: a, root: r, remove: s, replaceWith: o },
|
|
7731
|
-
const { kind:
|
|
7732
|
-
if (
|
|
7730
|
+
Assertion({ node: t, parent: e, key: n, container: a, root: r, remove: s, replaceWith: o }, i) {
|
|
7731
|
+
const { kind: l, negate: c } = t, { asciiWordBoundaries: u, avoidSubclass: p, supportedGNodes: d, wordIsAscii: f } = i;
|
|
7732
|
+
if (l === "text_segment_boundary")
|
|
7733
7733
|
throw new Error(`Unsupported text segment boundary "\\${c ? "Y" : "y"}"`);
|
|
7734
|
-
if (
|
|
7734
|
+
if (l === "line_end")
|
|
7735
7735
|
o(G(Se({ body: [
|
|
7736
7736
|
Be({ body: [mn("string_end")] }),
|
|
7737
7737
|
Be({ body: [Bt(10)] })
|
|
7738
7738
|
// `\n`
|
|
7739
7739
|
] }), e));
|
|
7740
|
-
else if (
|
|
7740
|
+
else if (l === "line_start")
|
|
7741
7741
|
o(G(de(C`(?<=\A|\n(?!\z))`, { skipLookbehindValidation: !0 }), e));
|
|
7742
|
-
else if (
|
|
7742
|
+
else if (l === "search_start")
|
|
7743
7743
|
if (d.has(t))
|
|
7744
7744
|
r.flags.sticky = !0, s();
|
|
7745
7745
|
else {
|
|
@@ -7749,18 +7749,18 @@ var _c = {
|
|
|
7749
7749
|
else {
|
|
7750
7750
|
if (p)
|
|
7751
7751
|
throw new Error(C`Uses "\G" in a way that requires a subclass`);
|
|
7752
|
-
o($e(mn("string_start"), e)),
|
|
7752
|
+
o($e(mn("string_start"), e)), i.strategy = "clip_search";
|
|
7753
7753
|
}
|
|
7754
7754
|
}
|
|
7755
|
-
else if (!(
|
|
7755
|
+
else if (!(l === "string_end" || l === "string_start")) if (l === "string_end_newline")
|
|
7756
7756
|
o(G(de(C`(?=\n?\z)`), e));
|
|
7757
|
-
else if (
|
|
7757
|
+
else if (l === "word_boundary") {
|
|
7758
7758
|
if (!f && !u) {
|
|
7759
7759
|
const m = `(?:(?<=${pe})(?!${pe})|(?<!${pe})(?=${pe}))`, _ = `(?:(?<=${pe})(?=${pe})|(?<!${pe})(?!${pe}))`;
|
|
7760
7760
|
o(G(de(c ? _ : m), e));
|
|
7761
7761
|
}
|
|
7762
7762
|
} else
|
|
7763
|
-
throw new Error(`Unexpected assertion kind "${
|
|
7763
|
+
throw new Error(`Unexpected assertion kind "${l}"`);
|
|
7764
7764
|
},
|
|
7765
7765
|
Backreference({ node: t }, { jsGroupNameMap: e }) {
|
|
7766
7766
|
let { ref: n } = t;
|
|
@@ -7776,25 +7776,25 @@ var _c = {
|
|
|
7776
7776
|
n(G(a, e), { traverse: !0 });
|
|
7777
7777
|
}
|
|
7778
7778
|
},
|
|
7779
|
-
CharacterSet({ node: t, parent: e, replaceWith: n }, { accuracy: a, minTargetEs2024: r, digitIsAscii: s, spaceIsAscii: o, wordIsAscii:
|
|
7780
|
-
const { kind:
|
|
7781
|
-
if (s && (
|
|
7779
|
+
CharacterSet({ node: t, parent: e, replaceWith: n }, { accuracy: a, minTargetEs2024: r, digitIsAscii: s, spaceIsAscii: o, wordIsAscii: i }) {
|
|
7780
|
+
const { kind: l, negate: c, value: u } = t;
|
|
7781
|
+
if (s && (l === "digit" || u === "digit")) {
|
|
7782
7782
|
n($e(hn("digit", { negate: c }), e));
|
|
7783
7783
|
return;
|
|
7784
7784
|
}
|
|
7785
|
-
if (o && (
|
|
7785
|
+
if (o && (l === "space" || u === "space")) {
|
|
7786
7786
|
n(G(en(de(pc), c), e));
|
|
7787
7787
|
return;
|
|
7788
7788
|
}
|
|
7789
|
-
if (
|
|
7789
|
+
if (i && (l === "word" || u === "word")) {
|
|
7790
7790
|
n($e(hn("word", { negate: c }), e));
|
|
7791
7791
|
return;
|
|
7792
7792
|
}
|
|
7793
|
-
if (
|
|
7793
|
+
if (l === "any")
|
|
7794
7794
|
n($e(Ge("Any"), e));
|
|
7795
|
-
else if (
|
|
7795
|
+
else if (l === "digit")
|
|
7796
7796
|
n($e(Ge("Nd", { negate: c }), e));
|
|
7797
|
-
else if (
|
|
7797
|
+
else if (l !== "dot") if (l === "text_segment") {
|
|
7798
7798
|
if (a === "strict")
|
|
7799
7799
|
throw new Error(C`Use of "\X" requires non-strict accuracy`);
|
|
7800
7800
|
const p = "\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?", d = C`\p{RI}{2}|${p}(?:\u200D${p})*`;
|
|
@@ -7804,14 +7804,14 @@ var _c = {
|
|
|
7804
7804
|
// Allow JS property `RGI_Emoji` through
|
|
7805
7805
|
{ skipPropertyNameValidation: !0 }
|
|
7806
7806
|
), e));
|
|
7807
|
-
} else if (
|
|
7807
|
+
} else if (l === "hex")
|
|
7808
7808
|
n($e(Ge("AHex", { negate: c }), e));
|
|
7809
|
-
else if (
|
|
7809
|
+
else if (l === "newline")
|
|
7810
7810
|
n(G(de(c ? `[^
|
|
7811
7811
|
]` : `(?>\r
|
|
7812
7812
|
?|[
|
|
7813
7813
|
\v\f
\u2028\u2029])`), e));
|
|
7814
|
-
else if (
|
|
7814
|
+
else if (l === "posix")
|
|
7815
7815
|
if (!r && (u === "graph" || u === "print")) {
|
|
7816
7816
|
if (a === "strict")
|
|
7817
7817
|
throw new Error(`POSIX class "${u}" requires min target ES2024 or non-strict accuracy`);
|
|
@@ -7822,25 +7822,25 @@ var _c = {
|
|
|
7822
7822
|
c && (p = `\0-${U(p.codePointAt(0) - 1)}${U(p.codePointAt(2) + 1)}-`), n(G(de(`[${p}]`), e));
|
|
7823
7823
|
} else
|
|
7824
7824
|
n(G(en(de(gc.get(u)), c), e));
|
|
7825
|
-
else if (
|
|
7825
|
+
else if (l === "property")
|
|
7826
7826
|
Nn.has(Tt(u)) || (t.key = "sc");
|
|
7827
|
-
else if (
|
|
7827
|
+
else if (l === "space")
|
|
7828
7828
|
n($e(Ge("space", { negate: c }), e));
|
|
7829
|
-
else if (
|
|
7829
|
+
else if (l === "word")
|
|
7830
7830
|
n(G(en(de(pe), c), e));
|
|
7831
7831
|
else
|
|
7832
|
-
throw new Error(`Unexpected character set kind "${
|
|
7832
|
+
throw new Error(`Unexpected character set kind "${l}"`);
|
|
7833
7833
|
},
|
|
7834
7834
|
Directive({ node: t, parent: e, root: n, remove: a, replaceWith: r, removeAllPrevSiblings: s, removeAllNextSiblings: o }) {
|
|
7835
|
-
const { kind:
|
|
7836
|
-
if (
|
|
7837
|
-
if (!
|
|
7835
|
+
const { kind: i, flags: l } = t;
|
|
7836
|
+
if (i === "flags")
|
|
7837
|
+
if (!l.enable && !l.disable)
|
|
7838
7838
|
a();
|
|
7839
7839
|
else {
|
|
7840
|
-
const c = oe({ flags:
|
|
7840
|
+
const c = oe({ flags: l });
|
|
7841
7841
|
c.body[0].body = o(), r(G(c, e), { traverse: !0 });
|
|
7842
7842
|
}
|
|
7843
|
-
else if (
|
|
7843
|
+
else if (i === "keep") {
|
|
7844
7844
|
const c = n.body[0], p = n.body.length === 1 && // Not emulatable if within a `CapturingGroup`
|
|
7845
7845
|
pr(c, { type: "Group" }) && c.body[0].body.length === 1 ? c.body[0] : n;
|
|
7846
7846
|
if (e.parent !== p || p.body.length > 1)
|
|
@@ -7848,7 +7848,7 @@ var _c = {
|
|
|
7848
7848
|
const d = Se({ behind: !0 });
|
|
7849
7849
|
d.body[0].body = s(), r(G(d, e));
|
|
7850
7850
|
} else
|
|
7851
|
-
throw new Error(`Unexpected directive kind "${
|
|
7851
|
+
throw new Error(`Unexpected directive kind "${i}"`);
|
|
7852
7852
|
},
|
|
7853
7853
|
Flags({ node: t, parent: e }) {
|
|
7854
7854
|
if (t.posixIsAscii)
|
|
@@ -7958,16 +7958,16 @@ var _c = {
|
|
|
7958
7958
|
groupOriginByCopy: r,
|
|
7959
7959
|
groupsByName: s,
|
|
7960
7960
|
multiplexCapturesToLeftByRef: o,
|
|
7961
|
-
openRefs:
|
|
7962
|
-
reffedNodesByReferencer:
|
|
7961
|
+
openRefs: i,
|
|
7962
|
+
reffedNodesByReferencer: l
|
|
7963
7963
|
}) {
|
|
7964
7964
|
const c = r.get(t);
|
|
7965
|
-
if (c &&
|
|
7965
|
+
if (c && i.has(t.number)) {
|
|
7966
7966
|
const p = $e(ya(t.number), e);
|
|
7967
|
-
|
|
7967
|
+
l.set(p, i.get(t.number)), n(p);
|
|
7968
7968
|
return;
|
|
7969
7969
|
}
|
|
7970
|
-
|
|
7970
|
+
i.set(t.number, t), o.set(t.number, []), t.name && at(o, t.name, []);
|
|
7971
7971
|
const u = o.get(t.name ?? t.number);
|
|
7972
7972
|
for (let p = 0; p < u.length; p++) {
|
|
7973
7973
|
const d = u[p];
|
|
@@ -8017,21 +8017,21 @@ var _c = {
|
|
|
8017
8017
|
a.reffedNodesByReferencer.set(t, u);
|
|
8018
8018
|
return;
|
|
8019
8019
|
}
|
|
8020
|
-
const o = a.subroutineRefMap.get(s),
|
|
8020
|
+
const o = a.subroutineRefMap.get(s), i = s === 0, l = i ? ya(0) : (
|
|
8021
8021
|
// The reffed group might itself contain subroutines, which are expanded during sub-traversal
|
|
8022
8022
|
Cr(o, a.groupOriginByCopy, null)
|
|
8023
8023
|
);
|
|
8024
|
-
let c =
|
|
8025
|
-
if (!
|
|
8024
|
+
let c = l;
|
|
8025
|
+
if (!i) {
|
|
8026
8026
|
const u = xr(Cc(
|
|
8027
8027
|
o,
|
|
8028
8028
|
(d) => d.type === "Group" && !!d.flags
|
|
8029
8029
|
)), p = u ? It(a.globalFlags, u) : a.globalFlags;
|
|
8030
8030
|
kc(p, a.currentFlags) || (c = oe({
|
|
8031
8031
|
flags: xc(p)
|
|
8032
|
-
}), c.body[0].body.push(
|
|
8032
|
+
}), c.body[0].body.push(l));
|
|
8033
8033
|
}
|
|
8034
|
-
n(G(c, e), { traverse: !
|
|
8034
|
+
n(G(c, e), { traverse: !i });
|
|
8035
8035
|
}
|
|
8036
8036
|
}, wc = {
|
|
8037
8037
|
Backreference({ node: t, parent: e, replaceWith: n }, a) {
|
|
@@ -8045,8 +8045,8 @@ var _c = {
|
|
|
8045
8045
|
else if (s.length > 1) {
|
|
8046
8046
|
const o = oe({
|
|
8047
8047
|
atomic: !0,
|
|
8048
|
-
body: s.reverse().map((
|
|
8049
|
-
body: [fn(
|
|
8048
|
+
body: s.reverse().map((i) => Be({
|
|
8049
|
+
body: [fn(i.number)]
|
|
8050
8050
|
}))
|
|
8051
8051
|
});
|
|
8052
8052
|
n(G(o, e));
|
|
@@ -8212,7 +8212,7 @@ function Ic(t, e) {
|
|
|
8212
8212
|
const n = $r(e), a = bn(n.target, "ES2024"), r = bn(n.target, "ES2025"), s = n.rules.recursionLimit;
|
|
8213
8213
|
if (!Number.isInteger(s) || s < 2 || s > 20)
|
|
8214
8214
|
throw new Error("Invalid recursionLimit; use 2-20");
|
|
8215
|
-
let o = null,
|
|
8215
|
+
let o = null, i = null;
|
|
8216
8216
|
if (!r) {
|
|
8217
8217
|
const f = [t.flags.ignoreCase];
|
|
8218
8218
|
Je(t, Rc, {
|
|
@@ -8224,22 +8224,22 @@ function Ic(t, e) {
|
|
|
8224
8224
|
f.push(m);
|
|
8225
8225
|
},
|
|
8226
8226
|
setHasCasedChar() {
|
|
8227
|
-
f.at(-1) ? o = !0 :
|
|
8227
|
+
f.at(-1) ? o = !0 : i = !0;
|
|
8228
8228
|
}
|
|
8229
8229
|
});
|
|
8230
8230
|
}
|
|
8231
|
-
const
|
|
8231
|
+
const l = {
|
|
8232
8232
|
dotAll: t.flags.dotAll,
|
|
8233
8233
|
// - Turn global flag i on if a case insensitive node was used and no case sensitive nodes were
|
|
8234
8234
|
// used (to avoid unnecessary node expansion).
|
|
8235
8235
|
// - Turn global flag i off if a case sensitive node was used (since case sensitivity can't be
|
|
8236
8236
|
// forced without the use of ES2025 flag groups)
|
|
8237
|
-
ignoreCase: !!((t.flags.ignoreCase || o) && !
|
|
8237
|
+
ignoreCase: !!((t.flags.ignoreCase || o) && !i)
|
|
8238
8238
|
};
|
|
8239
8239
|
let c = t;
|
|
8240
8240
|
const u = {
|
|
8241
8241
|
accuracy: n.accuracy,
|
|
8242
|
-
appliedGlobalFlags:
|
|
8242
|
+
appliedGlobalFlags: l,
|
|
8243
8243
|
captureMap: /* @__PURE__ */ new Map(),
|
|
8244
8244
|
currentFlags: {
|
|
8245
8245
|
dotAll: t.flags.dotAll,
|
|
@@ -8249,7 +8249,7 @@ function Ic(t, e) {
|
|
|
8249
8249
|
lastNode: c,
|
|
8250
8250
|
originMap: t._originMap,
|
|
8251
8251
|
recursionLimit: s,
|
|
8252
|
-
useAppliedIgnoreCase: !!(!r && o &&
|
|
8252
|
+
useAppliedIgnoreCase: !!(!r && o && i),
|
|
8253
8253
|
useFlagMods: r,
|
|
8254
8254
|
useFlagV: a,
|
|
8255
8255
|
verbose: n.verbose
|
|
@@ -8326,8 +8326,8 @@ var Rc = {
|
|
|
8326
8326
|
@param {CapturingGroupNode} node
|
|
8327
8327
|
*/
|
|
8328
8328
|
CapturingGroup(t, e, n) {
|
|
8329
|
-
const { body: a, name: r, number: s } = t, o = { ignoreCase: e.currentFlags.ignoreCase },
|
|
8330
|
-
return
|
|
8329
|
+
const { body: a, name: r, number: s } = t, o = { ignoreCase: e.currentFlags.ignoreCase }, i = e.originMap.get(t);
|
|
8330
|
+
return i && (o.hidden = !0, s > i.number && (o.transferTo = i.number)), e.captureMap.set(s, o), `(${r ? `?<${r}>` : ""}${a.map(n).join("|")})`;
|
|
8331
8331
|
},
|
|
8332
8332
|
/**
|
|
8333
8333
|
@param {CharacterNode} node
|
|
@@ -8355,7 +8355,7 @@ var Rc = {
|
|
|
8355
8355
|
if (a === "intersection" && !e.useFlagV)
|
|
8356
8356
|
throw new Error("Use of class intersection requires min target ES2024");
|
|
8357
8357
|
be.bugFlagVLiteralHyphenIsRange && e.useFlagV && o.some(wa) && (o = [Bt(45), ...o.filter((c) => !wa(c))]);
|
|
8358
|
-
const
|
|
8358
|
+
const i = () => `[${r ? "^" : ""}${o.map(n).join(a === "intersection" ? "&&" : "")}]`;
|
|
8359
8359
|
if (!e.inCharClass) {
|
|
8360
8360
|
if (
|
|
8361
8361
|
// Already established `kind !== 'intersection'` if `!state.useFlagV`; don't check again
|
|
@@ -8373,20 +8373,20 @@ var Rc = {
|
|
|
8373
8373
|
}
|
|
8374
8374
|
}
|
|
8375
8375
|
e.inCharClass = !0;
|
|
8376
|
-
const c =
|
|
8376
|
+
const c = i();
|
|
8377
8377
|
return e.inCharClass = !1, c;
|
|
8378
8378
|
}
|
|
8379
|
-
const
|
|
8379
|
+
const l = o[0];
|
|
8380
8380
|
if (
|
|
8381
8381
|
// Already established that the parent is a char class via `inCharClass`; don't check again
|
|
8382
|
-
a === "union" && !r &&
|
|
8382
|
+
a === "union" && !r && l && // Allows many nested classes to work with `target` ES2018 which doesn't support nesting
|
|
8383
8383
|
((!e.useFlagV || !e.verbose) && s.kind === "union" && !(be.bugFlagVLiteralHyphenIsRange && e.useFlagV) || !e.verbose && s.kind === "intersection" && // JS doesn't allow intersection with union or ranges
|
|
8384
|
-
o.length === 1 &&
|
|
8384
|
+
o.length === 1 && l.type !== "CharacterClassRange")
|
|
8385
8385
|
)
|
|
8386
8386
|
return o.map(n).join("");
|
|
8387
8387
|
if (!e.useFlagV && s.type === "CharacterClass")
|
|
8388
8388
|
throw new Error("Use of nested character class requires min target ES2024");
|
|
8389
|
-
return
|
|
8389
|
+
return i();
|
|
8390
8390
|
},
|
|
8391
8391
|
/**
|
|
8392
8392
|
@param {CharacterClassRangeNode} node
|
|
@@ -8396,16 +8396,16 @@ var Rc = {
|
|
|
8396
8396
|
escDigit: !1,
|
|
8397
8397
|
inCharClass: !0,
|
|
8398
8398
|
useFlagV: e.useFlagV
|
|
8399
|
-
}, s = Me(n, r), o = Me(a, r),
|
|
8399
|
+
}, s = Me(n, r), o = Me(a, r), i = /* @__PURE__ */ new Set();
|
|
8400
8400
|
if (e.useAppliedIgnoreCase && e.currentFlags.ignoreCase) {
|
|
8401
|
-
const
|
|
8402
|
-
jc(
|
|
8403
|
-
|
|
8401
|
+
const l = Ir(t);
|
|
8402
|
+
jc(l).forEach((u) => {
|
|
8403
|
+
i.add(
|
|
8404
8404
|
Array.isArray(u) ? `${Me(u[0], r)}-${Me(u[1], r)}` : Me(u, r)
|
|
8405
8405
|
);
|
|
8406
8406
|
});
|
|
8407
8407
|
}
|
|
8408
|
-
return `${s}-${o}${[...
|
|
8408
|
+
return `${s}-${o}${[...i].join("")}`;
|
|
8409
8409
|
},
|
|
8410
8410
|
/**
|
|
8411
8411
|
@param {CharacterSetNode} node
|
|
@@ -8446,9 +8446,9 @@ var Rc = {
|
|
|
8446
8446
|
Group({ atomic: t, body: e, flags: n, parent: a }, r, s) {
|
|
8447
8447
|
const o = r.currentFlags;
|
|
8448
8448
|
n && (r.currentFlags = It(o, n));
|
|
8449
|
-
const
|
|
8450
|
-
a.type !== "Quantifier" && !t && (!r.useFlagMods || !n) ?
|
|
8451
|
-
return r.currentFlags = o,
|
|
8449
|
+
const i = e.map(s).join("|"), l = !r.verbose && e.length === 1 && // Single alt
|
|
8450
|
+
a.type !== "Quantifier" && !t && (!r.useFlagMods || !n) ? i : `(?${Mc(t, n, r.useFlagMods)}${i})`;
|
|
8451
|
+
return r.currentFlags = o, l;
|
|
8452
8452
|
},
|
|
8453
8453
|
/**
|
|
8454
8454
|
@param {LookaroundAssertionNode} node
|
|
@@ -8551,14 +8551,14 @@ function Ir(t, e) {
|
|
|
8551
8551
|
if (a < 65 && (r === 65535 || r >= 131071) || a === 65536 && r >= 131071)
|
|
8552
8552
|
return s;
|
|
8553
8553
|
for (let o = a; o <= r; o++) {
|
|
8554
|
-
const
|
|
8555
|
-
if (!Pn(
|
|
8554
|
+
const i = U(o);
|
|
8555
|
+
if (!Pn(i))
|
|
8556
8556
|
continue;
|
|
8557
|
-
const
|
|
8557
|
+
const l = wr(i).filter((c) => {
|
|
8558
8558
|
const u = c.codePointAt(0);
|
|
8559
8559
|
return u < a || u > r;
|
|
8560
8560
|
});
|
|
8561
|
-
if (
|
|
8561
|
+
if (l.length && (s.push(...l), n))
|
|
8562
8562
|
break;
|
|
8563
8563
|
}
|
|
8564
8564
|
return s;
|
|
@@ -8701,16 +8701,16 @@ yn = function(n) {
|
|
|
8701
8701
|
let s;
|
|
8702
8702
|
this.hasIndices && (s = [...a.indices], a.indices.length = 1);
|
|
8703
8703
|
const o = [0];
|
|
8704
|
-
for (let
|
|
8705
|
-
const { hidden:
|
|
8706
|
-
if (
|
|
8704
|
+
for (let i = 1; i < r.length; i++) {
|
|
8705
|
+
const { hidden: l, transferTo: c } = K(this, we).get(i) ?? {};
|
|
8706
|
+
if (l ? o.push(null) : (o.push(a.length), a.push(r[i]), this.hasIndices && a.indices.push(s[i])), c && r[i] !== void 0) {
|
|
8707
8707
|
const u = o[c];
|
|
8708
8708
|
if (!u)
|
|
8709
8709
|
throw new Error(`Invalid capture transfer to "${u}"`);
|
|
8710
|
-
if (a[u] = r[
|
|
8710
|
+
if (a[u] = r[i], this.hasIndices && (a.indices[u] = s[i]), a.groups) {
|
|
8711
8711
|
K(this, ke) || se(this, ke, zc(this.source));
|
|
8712
8712
|
const p = K(this, ke).get(c);
|
|
8713
|
-
p && (a.groups[p] = r[
|
|
8713
|
+
p && (a.groups[p] = r[i], this.hasIndices && (a.indices.groups[p] = s[i]));
|
|
8714
8714
|
}
|
|
8715
8715
|
}
|
|
8716
8716
|
}
|
|
@@ -8720,13 +8720,13 @@ function Dc(t, e, n, a) {
|
|
|
8720
8720
|
if (t.index += e, t.input = n, a) {
|
|
8721
8721
|
const r = t.indices;
|
|
8722
8722
|
for (let o = 0; o < r.length; o++) {
|
|
8723
|
-
const
|
|
8724
|
-
|
|
8723
|
+
const i = r[o];
|
|
8724
|
+
i && (r[o] = [i[0] + e, i[1] + e]);
|
|
8725
8725
|
}
|
|
8726
8726
|
const s = r.groups;
|
|
8727
8727
|
s && Object.keys(s).forEach((o) => {
|
|
8728
|
-
const
|
|
8729
|
-
|
|
8728
|
+
const i = s[o];
|
|
8729
|
+
i && (s[o] = [i[0] + e, i[1] + e]);
|
|
8730
8730
|
});
|
|
8731
8731
|
}
|
|
8732
8732
|
}
|
|
@@ -8745,16 +8745,16 @@ function zc(t) {
|
|
|
8745
8745
|
const e = /(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu, n = /* @__PURE__ */ new Map();
|
|
8746
8746
|
let a = 0, r = 0, s;
|
|
8747
8747
|
for (; s = e.exec(t); ) {
|
|
8748
|
-
const { 0: o, groups: { capture:
|
|
8749
|
-
o === "[" ? a++ : a ? o === "]" && a-- :
|
|
8748
|
+
const { 0: o, groups: { capture: i, name: l } } = s;
|
|
8749
|
+
o === "[" ? a++ : a ? o === "]" && a-- : i && (r++, l && n.set(r, l));
|
|
8750
8750
|
}
|
|
8751
8751
|
return n;
|
|
8752
8752
|
}
|
|
8753
8753
|
function qc(t, e) {
|
|
8754
|
-
const n =
|
|
8754
|
+
const n = Hc(t, e);
|
|
8755
8755
|
return n.options ? new Fc(n.pattern, n.flags, n.options) : new RegExp(n.pattern, n.flags);
|
|
8756
8756
|
}
|
|
8757
|
-
function
|
|
8757
|
+
function Hc(t, e) {
|
|
8758
8758
|
const n = $r(e), a = dr(t, {
|
|
8759
8759
|
flags: n.flags,
|
|
8760
8760
|
normalizeUnknownPropertyNames: !0,
|
|
@@ -8773,18 +8773,18 @@ function Wc(t, e) {
|
|
|
8773
8773
|
captureTransfers: s._captureTransfers,
|
|
8774
8774
|
hiddenCaptures: s._hiddenCaptures,
|
|
8775
8775
|
mode: "external"
|
|
8776
|
-
}),
|
|
8776
|
+
}), i = sc(o.pattern), l = rc(i.pattern, {
|
|
8777
8777
|
captureTransfers: o.captureTransfers,
|
|
8778
8778
|
hiddenCaptures: o.hiddenCaptures
|
|
8779
8779
|
}), c = {
|
|
8780
|
-
pattern:
|
|
8780
|
+
pattern: l.pattern,
|
|
8781
8781
|
flags: `${n.hasIndices ? "d" : ""}${n.global ? "g" : ""}${s.flags}${s.options.disable.v ? "u" : "v"}`
|
|
8782
8782
|
};
|
|
8783
8783
|
if (n.avoidSubclass) {
|
|
8784
8784
|
if (n.lazyCompileLength !== 1 / 0)
|
|
8785
8785
|
throw new Error("Lazy compilation requires subclass");
|
|
8786
8786
|
} else {
|
|
8787
|
-
const u =
|
|
8787
|
+
const u = l.hiddenCaptures.sort((m, _) => m - _), p = Array.from(l.captureTransfers), d = r._strategy, f = c.pattern.length >= n.lazyCompileLength;
|
|
8788
8788
|
(u.length || p.length || d || f) && (c.options = {
|
|
8789
8789
|
...u.length && { hiddenCaptures: u },
|
|
8790
8790
|
...p.length && { transfers: p },
|
|
@@ -8795,7 +8795,7 @@ function Wc(t, e) {
|
|
|
8795
8795
|
return c;
|
|
8796
8796
|
}
|
|
8797
8797
|
const ka = 4294967295;
|
|
8798
|
-
class
|
|
8798
|
+
class Wc {
|
|
8799
8799
|
constructor(e, n = {}) {
|
|
8800
8800
|
h(this, "regexps");
|
|
8801
8801
|
this.patterns = e, this.options = n;
|
|
@@ -8809,30 +8809,30 @@ class Hc {
|
|
|
8809
8809
|
this.regexps = e.map((o) => {
|
|
8810
8810
|
if (typeof o != "string")
|
|
8811
8811
|
return o;
|
|
8812
|
-
const
|
|
8813
|
-
if (
|
|
8814
|
-
if (
|
|
8815
|
-
return
|
|
8812
|
+
const i = r == null ? void 0 : r.get(o);
|
|
8813
|
+
if (i) {
|
|
8814
|
+
if (i instanceof RegExp)
|
|
8815
|
+
return i;
|
|
8816
8816
|
if (a)
|
|
8817
8817
|
return null;
|
|
8818
|
-
throw
|
|
8818
|
+
throw i;
|
|
8819
8819
|
}
|
|
8820
8820
|
try {
|
|
8821
|
-
const
|
|
8822
|
-
return r == null || r.set(o,
|
|
8823
|
-
} catch (
|
|
8824
|
-
if (r == null || r.set(o,
|
|
8821
|
+
const l = s(o);
|
|
8822
|
+
return r == null || r.set(o, l), l;
|
|
8823
|
+
} catch (l) {
|
|
8824
|
+
if (r == null || r.set(o, l), a)
|
|
8825
8825
|
return null;
|
|
8826
|
-
throw
|
|
8826
|
+
throw l;
|
|
8827
8827
|
}
|
|
8828
8828
|
});
|
|
8829
8829
|
}
|
|
8830
8830
|
findNextMatchSync(e, n, a) {
|
|
8831
8831
|
const r = typeof e == "string" ? e : e.content, s = [];
|
|
8832
|
-
function o(
|
|
8832
|
+
function o(i, l, c = 0) {
|
|
8833
8833
|
return {
|
|
8834
|
-
index:
|
|
8835
|
-
captureIndices:
|
|
8834
|
+
index: i,
|
|
8835
|
+
captureIndices: l.indices.map((u) => u == null ? {
|
|
8836
8836
|
start: ka,
|
|
8837
8837
|
end: ka,
|
|
8838
8838
|
length: 0
|
|
@@ -8843,17 +8843,17 @@ class Hc {
|
|
|
8843
8843
|
})
|
|
8844
8844
|
};
|
|
8845
8845
|
}
|
|
8846
|
-
for (let
|
|
8847
|
-
const
|
|
8848
|
-
if (
|
|
8846
|
+
for (let i = 0; i < this.regexps.length; i++) {
|
|
8847
|
+
const l = this.regexps[i];
|
|
8848
|
+
if (l)
|
|
8849
8849
|
try {
|
|
8850
|
-
|
|
8851
|
-
const c =
|
|
8850
|
+
l.lastIndex = n;
|
|
8851
|
+
const c = l.exec(r);
|
|
8852
8852
|
if (!c)
|
|
8853
8853
|
continue;
|
|
8854
8854
|
if (c.index === n)
|
|
8855
|
-
return o(
|
|
8856
|
-
s.push([
|
|
8855
|
+
return o(i, c, 0);
|
|
8856
|
+
s.push([i, c, 0]);
|
|
8857
8857
|
} catch (c) {
|
|
8858
8858
|
if (this.options.forgiving)
|
|
8859
8859
|
continue;
|
|
@@ -8861,10 +8861,10 @@ class Hc {
|
|
|
8861
8861
|
}
|
|
8862
8862
|
}
|
|
8863
8863
|
if (s.length) {
|
|
8864
|
-
const
|
|
8865
|
-
for (const [
|
|
8866
|
-
if (c.index ===
|
|
8867
|
-
return o(
|
|
8864
|
+
const i = Math.min(...s.map((l) => l[1].index));
|
|
8865
|
+
for (const [l, c, u] of s)
|
|
8866
|
+
if (c.index === i)
|
|
8867
|
+
return o(l, c, u);
|
|
8868
8868
|
}
|
|
8869
8869
|
return null;
|
|
8870
8870
|
}
|
|
@@ -8906,7 +8906,7 @@ function Xc(t = {}) {
|
|
|
8906
8906
|
);
|
|
8907
8907
|
return e.regexConstructor || (e.regexConstructor = (n) => Vc(n, { target: e.target })), {
|
|
8908
8908
|
createScanner(n) {
|
|
8909
|
-
return new
|
|
8909
|
+
return new Wc(n, e);
|
|
8910
8910
|
},
|
|
8911
8911
|
createString(n) {
|
|
8912
8912
|
return {
|
|
@@ -8954,14 +8954,14 @@ const Zc = { class: "relative float-left min-w-full" }, Kc = ["innerHTML"], Jc =
|
|
|
8954
8954
|
}
|
|
8955
8955
|
})();
|
|
8956
8956
|
const s = L(), o = L();
|
|
8957
|
-
function
|
|
8957
|
+
function i() {
|
|
8958
8958
|
if (!o.value || !s.value) return;
|
|
8959
8959
|
const c = o.value.children[0];
|
|
8960
8960
|
c && (c.scrollLeft = s.value.scrollLeft);
|
|
8961
8961
|
}
|
|
8962
|
-
function
|
|
8962
|
+
function l() {
|
|
8963
8963
|
Fr().then(() => {
|
|
8964
|
-
|
|
8964
|
+
i();
|
|
8965
8965
|
});
|
|
8966
8966
|
}
|
|
8967
8967
|
return (c, u) => (M(), J("div", {
|
|
@@ -8984,8 +8984,8 @@ const Zc = { class: "relative float-left min-w-full" }, Kc = ["innerHTML"], Jc =
|
|
|
8984
8984
|
autocorrect: "off",
|
|
8985
8985
|
autocapitalize: "off",
|
|
8986
8986
|
spellcheck: "false",
|
|
8987
|
-
onInput:
|
|
8988
|
-
onScroll:
|
|
8987
|
+
onInput: l,
|
|
8988
|
+
onScroll: i
|
|
8989
8989
|
}, null, 544), [
|
|
8990
8990
|
[Gr, e.value]
|
|
8991
8991
|
])
|
|
@@ -9020,8 +9020,8 @@ function lu(t, e) {
|
|
|
9020
9020
|
return e;
|
|
9021
9021
|
try {
|
|
9022
9022
|
let n = t;
|
|
9023
|
-
const a = "function transformData(data)
|
|
9024
|
-
return
|
|
9023
|
+
const a = "function transformData(data)", r = "}", s = n.trim(), o = s.indexOf(a), i = s.lastIndexOf(r);
|
|
9024
|
+
return o !== -1 && i !== -1 && i > o + a.length && (n = s.substring(o + a.length, i).trim()), new Function("data", n)(e);
|
|
9025
9025
|
} catch (n) {
|
|
9026
9026
|
return console.error("执行数据转换函数失败:", n), e;
|
|
9027
9027
|
}
|
|
@@ -9031,8 +9031,8 @@ function cu(t) {
|
|
|
9031
9031
|
return !1;
|
|
9032
9032
|
try {
|
|
9033
9033
|
let e = t;
|
|
9034
|
-
const n = "function transformData(data) {", a = "}";
|
|
9035
|
-
return
|
|
9034
|
+
const n = "function transformData(data) {", a = "}", r = e.trim(), s = r.indexOf(n), o = r.lastIndexOf(a);
|
|
9035
|
+
return s !== -1 && o !== -1 && o > s + n.length && (e = r.substring(s + n.length, o).trim()), new Function("data", e), !0;
|
|
9036
9036
|
} catch (e) {
|
|
9037
9037
|
return console.error("数据转换函数无效:", e), !1;
|
|
9038
9038
|
}
|