PageSourceSearch

https://edge-functions-examples.netlify.app/lib/highlight.min.js

js edge-functions-examples.netlify.app collected 2026-10-03 10:40:52 UTC 69,747 bytes, 2,340 lines download raw bytes

1// Supported languages in this file
2
3// Bash
4// JavaScript
5// HTML, XML
6// Markdown
7// TypeScript
8
9/*!
10  Highlight.js v11.5.0 (git: 7a62552656)
11  (c) 2006-2022 Ivan Sagalaev and other contributors
12  License: BSD-3-Clause
13 */
14var hljs = (function () {
15  "use strict";
16  var e = { exports: {} };
17  function t(e) {
18    return (
19      e instanceof Map
20        ? (e.clear =
21            e.delete =
22            e.set =
23              () => {
24                throw Error("map is read-only");
25              })
26        : e instanceof Set &&
27          (e.add =
28            e.clear =
29            e.delete =
30              () => {
31                throw Error("set is read-only");
32              }),
33      Object.freeze(e),
34      Object.getOwnPropertyNames(e).forEach((n) => {
35        var i = e[n];
36        "object" != typeof i || Object.isFrozen(i) || t(i);
37      }),
38      e
39    );
40  }
41  (e.exports = t), (e.exports.default = t);
42  var n = e.exports;
43  class i {
44    constructor(e) {
45      void 0 === e.data && (e.data = {}), (this.data = e.data), (this.isMatchIgnored = !1);
46    }
47    ignoreMatch() {
48      this.isMatchIgnored = !0;
49    }
50  }
51  function r(e) {
52    return e
53      .replace(/&/g, "&")
54      .replace(/</g, "&lt;")
55      .replace(/>/g, "&gt;")
56      .replace(/"/g, "&quot;")
57      .replace(/'/g, "&#x27;");
58  }
59  function s(e, ...t) {
60    const n = Object.create(null);
61    for (const t in e) n[t] = e[t];
62    return (
63      t.forEach((e) => {
64        for (const t in e) n[t] = e[t];
65      }),
66      n
67    );
68  }
69  const o = (e) => !!e.kind;
70  class a {
71    constructor(e, t) {
72      (this.buffer = ""), (this.classPrefix = t.classPrefix), e.walk(this);
73    }
74    addText(e) {
75      this.buffer += r(e);
76    }
77    openNode(e) {
78      if (!o(e)) return;
79      let t = e.kind;
80      (t = e.sublanguage
81        ? "language-" + t
82        : ((e, { prefix: t }) => {
83            if (e.includes(".")) {
84              const n = e.split(".");
85              return [`${t}${n.shift()}`, ...n.map((e, t) => `${e}${"_".repeat(t + 1)}`)].join(" ");
86            }
87            return `${t}${e}`;
88          })(t, { prefix: this.classPrefix })),
89        this.span(t);
90    }
91    closeNode(e) {
92      o(e) && (this.buffer += "</span>");
93    }
94    value() {
95      return this.buffer;
96    }
97    span(e) {
98      this.buffer += `<span class="${e}">`;
99    }
100  }
101  class c {
102    constructor() {
103      (this.rootNode = {
104        children: [],
105      }),
106        (this.stack = [this.rootNode]);
107    }
108    get top() {
109      return this.stack[this.stack.length - 1];
110    }
111    get root() {
112      return this.rootNode;
113    }
114    add(e) {
115      this.top.children.push(e);
116    }
117    openNode(e) {
118      const t = { kind: e, children: [] };
119      this.add(t), this.stack.push(t);
120    }
121    closeNode() {
122      if (this.stack.length > 1) return this.stack.pop();
123    }
124    closeAllNodes() {
125      for (; this.closeNode(); );
126    }
127    toJSON() {
128      return JSON.stringify(this.rootNode, null, 4);
129    }
130    walk(e) {
131      return this.constructor._walk(e, this.rootNode);
132    }
133    static _walk(e, t) {
134      return (
135        "string" == typeof t
136          ? e.addText(t)
137          : t.children && (e.openNode(t), t.children.forEach((t) => this._walk(e, t)), e.closeNode(t)),
138        e
139      );
140    }
141    static _collapse(e) {
142      "string" != typeof e &&
143        e.children &&
144        (e.children.every((e) => "string" == typeof e)
145          ? (e.children = [e.children.join("")])
146          : e.children.forEach((e) => {
147              c._collapse(e);
148            }));
149    }
150  }
151  class l extends c {
152    constructor(e) {
153      super(), (this.options = e);
154    }
155    addKeyword(e, t) {
156      "" !== e && (this.openNode(t), this.addText(e), this.closeNode());
157    }
158    addText(e) {
159      "" !== e && this.add(e);
160    }
161    addSublanguage(e, t) {
162      const n = e.root;
163      (n.kind = t), (n.sublanguage = !0), this.add(n);
164    }
165    toHTML() {
166      return new a(this, this.options).value();
167    }
168    finalize() {
169      return !0;
170    }
171  }
172  function g(e) {
173    return e ? ("string" == typeof e ? e : e.source) : null;
174  }
175  function d(e) {
176    return f("(?=", e, ")");
177  }
178  function u(e) {
179    return f("(?:", e, ")*");
180  }
181  function h(e) {
182    return f("(?:", e, ")?");
183  }
184  function f(...e) {
185    return e.map((e) => g(e)).join("");
186  }
187  function p(...e) {
188    const t = ((e) => {
189      const t = e[e.length - 1];
190      return "object" == typeof t && t.constructor === Object ? (e.splice(e.length - 1, 1), t) : {};
191    })(e);
192    return "(" + (t.capture ? "" : "?:") + e.map((e) => g(e)).join("|") + ")";
193  }
194  function b(e) {
195    return RegExp(e.toString() + "|").exec("").length - 1;
196  }
197  const m = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;
198  function E(e, { joinWith: t }) {
199    let n = 0;
200    return e
201      .map((e) => {
202        n += 1;
203        const t = n;
204        let i = g(e),
205          r = "";
206        for (; i.length > 0; ) {
207          const e = m.exec(i);
208          if (!e) {
209            r += i;
210            break;
211          }
212          (r += i.substring(0, e.index)),
213            (i = i.substring(e.index + e[0].length)),
214            "\\" === e[0][0] && e[1] ? (r += "\\" + (Number(e[1]) + t)) : ((r += e[0]), "(" === e[0] && n++);
215        }
216        return r;
217      })
218      .map((e) => `(${e})`)
219      .join(t);
220  }
221  const x = "[a-zA-Z]\\w*",
222    w = "[a-zA-Z_]\\w*",
223    y = "\\b\\d+(\\.\\d+)?",
224    _ = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",
225    k = "\\b(0b[01]+)",
226    v = {
227      begin: "\\\\[\\s\\S]",
228      relevance: 0,
229    },
230    O = { scope: "string", begin: "'", end: "'", illegal: "\\n", contains: [v] },
231    N = { scope: "string", begin: '"', end: '"', illegal: "\\n", contains: [v] },
232    M = (e, t, n = {}) => {
233      const i = s({ scope: "comment", begin: e, end: t, contains: [] }, n);
234      i.contains.push({
235        scope: "doctag",
236        begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
237        end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,
238        excludeBegin: !0,
239        relevance: 0,
240      });
241      const r = p(
242        "I",
243        "a",
244        "is",
245        "so",
246        "us",
247        "to",
248        "at",
249        "if",
250        "in",
251        "it",
252        "on",
253        /[A-Za-z]+['](d|ve|re|ll|t|s|n)/,
254        /[A-Za-z]+[-][a-z]+/,
255        /[A-Za-z][a-z]{2,}/,
256      );
257      return i.contains.push({ begin: f(/[ ]+/, "(", r, /[.]?[:]?([.][ ]|[ ])/, "){3}") }), i;
258    },
259    S = M("//", "$"),
260    R = M("/\\*", "\\*/"),
261    j = M("#", "$");
262  var A = Object.freeze({
263    __proto__: null,
264    MATCH_NOTHING_RE: /\b\B/,
265    IDENT_RE: x,
266    UNDERSCORE_IDENT_RE: w,
267    NUMBER_RE: y,
268    C_NUMBER_RE: _,
269    BINARY_NUMBER_RE: k,
270    RE_STARTERS_RE:
271      "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",
272    SHEBANG: (e = {}) => {
273      const t = /^#![ ]*\//;
274      return (
275        e.binary && (e.begin = f(t, /.*\b/, e.binary, /\b.*/)),
276        s(
277          {
278            scope: "meta",
279            begin: t,
280            end: /$/,
281            relevance: 0,
282            "on:begin": (e, t) => {
283              0 !== e.index && t.ignoreMatch();
284            },
285          },
286          e,
287        )
288      );
289    },
290    BACKSLASH_ESCAPE: v,
291    APOS_STRING_MODE: O,
292    QUOTE_STRING_MODE: N,
293    PHRASAL_WORDS_MODE: {
294      begin:
295        /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/,
296    },
297    COMMENT: M,
298    C_LINE_COMMENT_MODE: S,
299    C_BLOCK_COMMENT_MODE: R,
300    HASH_COMMENT_MODE: j,
301    NUMBER_MODE: { scope: "number", begin: y, relevance: 0 },
302    C_NUMBER_MODE: { scope: "number", begin: _, relevance: 0 },
303    BINARY_NUMBER_MODE: { scope: "number", begin: k, relevance: 0 },
304    REGEXP_MODE: {
305      begin: /(?=\/[^/\n]*\/)/,
306      contains: [
307        {
308          scope: "regexp",
309          begin: /\//,
310          end: /\/[gimuy]*/,
311          illegal: /\n/,
312          contains: [v, { begin: /\[/, end: /\]/, relevance: 0, contains: [v] }],
313        },
314      ],
315    },
316    TITLE_MODE: { scope: "title", begin: x, relevance: 0 },
317    UNDERSCORE_TITLE_MODE: { scope: "title", begin: w, relevance: 0 },
318    METHOD_GUARD: {
319      begin: "\\.\\s*[a-zA-Z_]\\w*",
320      relevance: 0,
321    },
322    END_SAME_AS_BEGIN: (e) =>
323      Object.assign(e, {
324        "on:begin": (e, t) => {
325          t.data._beginMatch = e[1];
326        },
327        "on:end": (e, t) => {
328          t.data._beginMatch !== e[1] && t.ignoreMatch();
329        },
330      }),
331  });
332  function I(e, t) {
333    "." === e.input[e.index - 1] && t.ignoreMatch();
334  }
335  function T(e, t) {
336    void 0 !== e.className && ((e.scope = e.className), delete e.className);
337  }
338  function L(e, t) {
339    t &&
340      e.beginKeywords &&
341      ((e.begin = "\\b(" + e.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)"),
342      (e.__beforeBegin = I),
343      (e.keywords = e.keywords || e.beginKeywords),
344      delete e.beginKeywords,
345      void 0 === e.relevance && (e.relevance = 0));
346  }
347  function B(e, t) {
348    Array.isArray(e.illegal) && (e.illegal = p(...e.illegal));
349  }
350  function D(e, t) {
351    if (e.match) {
352      if (e.begin || e.end) throw Error("begin & end are not supported with match");
353      (e.begin = e.match), delete e.match;
354    }
355  }
356  function H(e, t) {
357    void 0 === e.relevance && (e.relevance = 1);
358  }
359  const P = (e, t) => {
360      if (!e.beforeMatch) return;
361      if (e.starts) throw Error("beforeMatch cannot be used with starts");
362      const n = Object.assign({}, e);
363      Object.keys(e).forEach((t) => {
364        delete e[t];
365      }),
366        (e.keywords = n.keywords),
367        (e.begin = f(n.beforeMatch, d(n.begin))),
368        (e.starts = {
369          relevance: 0,
370          contains: [Object.assign(n, { endsParent: !0 })],
371        }),
372        (e.relevance = 0),
373        delete n.beforeMatch;
374    },
375    C = ["of", "and", "for", "in", "not", "or", "if", "then", "parent", "list", "value"];
376  function $(e, t, n = "keyword") {
377    const i = Object.create(null);
378    return (
379      "string" == typeof e
380        ? r(n, e.split(" "))
381        : Array.isArray(e)
382        ? r(n, e)
383        : Object.keys(e).forEach((n) => {
384            Object.assign(i, $(e[n], t, n));
385          }),
386      i
387    );
388    function r(e, n) {
389      t && (n = n.map((e) => e.toLowerCase())),
390        n.forEach((t) => {
391          const n = t.split("|");
392          i[n[0]] = [e, U(n[0], n[1])];
393        });
394    }
395  }
396  function U(e, t) {
397    return t ? Number(t) : ((e) => C.includes(e.toLowerCase()))(e) ? 0 : 1;
398  }
399  const z = {},
400    K = (e) => {
401      console.error(e);
402    },
403    W = (e, ...t) => {
404      console.log("WARN: " + e, ...t);
405    },
406    X = (e, t) => {
407      z[`${e}/${t}`] || (console.log(`Deprecated as of ${e}. ${t}`), (z[`${e}/${t}`] = !0));
408    },
409    G = Error();
410  function Z(e, t, { key: n }) {
411    let i = 0;
412    const r = e[n],
413      s = {},
414      o = {};
415    for (let e = 1; e <= t.length; e++) (o[e + i] = r[e]), (s[e + i] = !0), (i += b(t[e - 1]));
416    (e[n] = o), (e[n]._emit = s), (e[n]._multi = !0);
417  }
418  function F(e) {
419    ((e) => {
420      e.scope && "object" == typeof e.scope && null !== e.scope && ((e.beginScope = e.scope), delete e.scope);
421    })(e),
422      "string" == typeof e.beginScope &&
423        (e.beginScope = {
424          _wrap: e.beginScope,
425        }),
426      "string" == typeof e.endScope && (e.endScope = { _wrap: e.endScope }),
427      ((e) => {
428        if (Array.isArray(e.begin)) {
429          if (e.skip || e.excludeBegin || e.returnBegin)
430            throw (K("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), G);
431          if ("object" != typeof e.beginScope || null === e.beginScope) throw (K("beginScope must be object"), G);
432          Z(e, e.begin, { key: "beginScope" }), (e.begin = E(e.begin, { joinWith: "" }));
433        }
434      })(e),
435      ((e) => {
436        if (Array.isArray(e.end)) {
437          if (e.skip || e.excludeEnd || e.returnEnd)
438            throw (K("skip, excludeEnd, returnEnd not compatible with endScope: {}"), G);
439          if ("object" != typeof e.endScope || null === e.endScope) throw (K("endScope must be object"), G);
440          Z(e, e.end, { key: "endScope" }), (e.end = E(e.end, { joinWith: "" }));
441        }
442      })(e);
443  }
444  function V(e) {
445    function t(t, n) {
446      return RegExp(g(t), "m" + (e.case_insensitive ? "i" : "") + (e.unicodeRegex ? "u" : "") + (n ? "g" : ""));
447    }
448    class n {
449      constructor() {
450        (this.matchIndexes = {}), (this.regexes = []), (this.matchAt = 1), (this.position = 0);
451      }
452      addRule(e, t) {
453        (t.position = this.position++),
454          (this.matchIndexes[this.matchAt] = t),
455          this.regexes.push([t, e]),
456          (this.matchAt += b(e) + 1);
457      }
458      compile() {
459        0 === this.regexes.length && (this.exec = () => null);
460        const e = this.regexes.map((e) => e[1]);
461        (this.matcherRe = t(E(e, { joinWith: "|" }), !0)), (this.lastIndex = 0);
462      }
463      exec(e) {
464        this.matcherRe.lastIndex = this.lastIndex;
465        const t = this.matcherRe.exec(e);
466        if (!t) return null;
467        const n = t.findIndex((e, t) => t > 0 && void 0 !== e),
468          i = this.matchIndexes[n];
469        return t.splice(0, n), Object.assign(t, i);
470      }
471    }
472    class i {
473      constructor() {
474        (this.rules = []), (this.multiRegexes = []), (this.count = 0), (this.lastIndex = 0), (this.regexIndex = 0);
475      }
476      getMatcher(e) {
477        if (this.multiRegexes[e]) return this.multiRegexes[e];
478        const t = new n();
479        return this.rules.slice(e).forEach(([e, n]) => t.addRule(e, n)), t.compile(), (this.multiRegexes[e] = t), t;
480      }
481      resumingScanAtSamePosition() {
482        return 0 !== this.regexIndex;
483      }
484      considerAll() {
485        this.regexIndex = 0;
486      }
487      addRule(e, t) {
488        this.rules.push([e, t]), "begin" === t.type && this.count++;
489      }
490      exec(e) {
491        const t = this.getMatcher(this.regexIndex);
492        t.lastIndex = this.lastIndex;
493        let n = t.exec(e);
494        if (this.resumingScanAtSamePosition())
495          if (n && n.index === this.lastIndex);
496          else {
497            const t = this.getMatcher(0);
498            (t.lastIndex = this.lastIndex + 1), (n = t.exec(e));
499          }
500        return n && ((this.regexIndex += n.position + 1), this.regexIndex === this.count && this.considerAll()), n;
501      }
502    }
503    if ((e.compilerExtensions || (e.compilerExtensions = []), e.contains && e.contains.includes("self")))
504      throw Error("ERR: contains `self` is not supported at the top-level of a language.  See documentation.");
505    return (
506      (e.classNameAliases = s(e.classNameAliases || {})),
507      (function n(r, o) {
508        const a = r;
509        if (r.isCompiled) return a;
510        [T, D, F, P].forEach((e) => e(r, o)),
511          e.compilerExtensions.forEach((e) => e(r, o)),
512          (r.__beforeBegin = null),
513          [L, B, H].forEach((e) => e(r, o)),
514          (r.isCompiled = !0);
515        let c = null;
516        return (
517          "object" == typeof r.keywords &&
518            r.keywords.$pattern &&
519            ((r.keywords = Object.assign({}, r.keywords)), (c = r.keywords.$pattern), delete r.keywords.$pattern),
520          (c = c || /\w+/),
521          r.keywords && (r.keywords = $(r.keywords, e.case_insensitive)),
522          (a.keywordPatternRe = t(c, !0)),
523          o &&
524            (r.begin || (r.begin = /\B|\b/),
525            (a.beginRe = t(a.begin)),
526            r.end || r.endsWithParent || (r.end = /\B|\b/),
527            r.end && (a.endRe = t(a.end)),
528            (a.terminatorEnd = g(a.end) || ""),
529            r.endsWithParent && o.terminatorEnd && (a.terminatorEnd += (r.end ? "|" : "") + o.terminatorEnd)),
530          r.illegal && (a.illegalRe = t(r.illegal)),
531          r.contains || (r.contains = []),
532          (r.contains = [].concat(
533            ...r.contains.map((e) =>
534              ((e) => (
535                e.variants &&
536                  !e.cachedVariants &&
537                  (e.cachedVariants = e.variants.map((t) =>
538                    s(
539                      e,
540                      {
541                        variants: null,
542                      },
543                      t,
544                    ),
545                  )),
546                e.cachedVariants
547                  ? e.cachedVariants
548                  : q(e)
549                  ? s(e, {
550                      starts: e.starts ? s(e.starts) : null,
551                    })
552                  : Object.isFrozen(e)
553                  ? s(e)
554                  : e
555              ))("self" === e ? r : e),
556            ),
557          )),
558          r.contains.forEach((e) => {
559            n(e, a);
560          }),
561          r.starts && n(r.starts, o),
562          (a.matcher = ((e) => {
563            const t = new i();
564            return (
565              e.contains.forEach((e) => t.addRule(e.begin, { rule: e, type: "begin" })),
566              e.terminatorEnd && t.addRule(e.terminatorEnd, { type: "end" }),
567              e.illegal && t.addRule(e.illegal, { type: "illegal" }),
568              t
569            );
570          })(a)),
571          a
572        );
573      })(e)
574    );
575  }
576  function q(e) {
577    return !!e && (e.endsWithParent || q(e.starts));
578  }
579  class J extends Error {
580    constructor(e, t) {
581      super(e), (this.name = "HTMLInjectionError"), (this.html = t);
582    }
583  }
584  const Y = r,
585    Q = s,
586    ee = Symbol("nomatch");
587  var te = ((e) => {
588    const t = Object.create(null),
589      r = Object.create(null),
590      s = [];
591    let o = !0;
592    const a = "Could not find the language '{}', did you forget to load/include a language module?",
593      c = {
594        disableAutodetect: !0,
595        name: "Plain text",
596        contains: [],
597      };
598    let g = {
599      ignoreUnescapedHTML: !1,
600      throwUnescapedHTML: !1,
601      noHighlightRe: /^(no-?highlight)$/i,
602      languageDetectRe: /\blang(?:uage)?-([\w-]+)\b/i,
603      classPrefix: "hljs-",
604      cssSelector: "pre code",
605      languages: null,
606      __emitter: l,
607    };
608    function b(e) {
609      return g.noHighlightRe.test(e);
610    }
611    function m(e, t, n) {
612      let i = "",
613        r = "";
614      "object" == typeof t
615        ? ((i = e), (n = t.ignoreIllegals), (r = t.language))
616        : (X("10.7.0", "highlight(lang, code, ...args) has been deprecated."),
617          X(
618            "10.7.0",
619            "Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277",
620          ),
621          (r = e),
622          (i = t)),
623        void 0 === n && (n = !0);
624      const s = { code: i, language: r };
625      N("before:highlight", s);
626      const o = s.result ? s.result : E(s.language, s.code, n);
627      return (o.code = s.code), N("after:highlight", o), o;
628    }
629    function E(e, n, r, s) {
630      const c = Object.create(null);
631      function l() {
632        if (!O.keywords) return void M.addText(S);
633        let e = 0;
634        O.keywordPatternRe.lastIndex = 0;
635        let t = O.keywordPatternRe.exec(S),
636          n = "";
637        for (; t; ) {
638          n += S.substring(e, t.index);
639          const r = y.case_insensitive ? t[0].toLowerCase() : t[0],
640            s = ((i = r), O.keywords[i]);
641          if (s) {
642            const [e, i] = s;
643            if ((M.addText(n), (n = ""), (c[r] = (c[r] || 0) + 1), c[r] <= 7 && (R += i), e.startsWith("_"))) n += t[0];
644            else {
645              const n = y.classNameAliases[e] || e;
646              M.addKeyword(t[0], n);
647            }
648          } else n += t[0];
649          (e = O.keywordPatternRe.lastIndex), (t = O.keywordPatternRe.exec(S));
650        }
651        var i;
652        (n += S.substr(e)), M.addText(n);
653      }
654      function d() {
655        null != O.subLanguage
656          ? (() => {
657              if ("" === S) return;
658              let e = null;
659              if ("string" == typeof O.subLanguage) {
660                if (!t[O.subLanguage]) return void M.addText(S);
661                (e = E(O.subLanguage, S, !0, N[O.subLanguage])), (N[O.subLanguage] = e._top);
662              } else e = x(S, O.subLanguage.length ? O.subLanguage : null);
663              O.relevance > 0 && (R += e.relevance), M.addSublanguage(e._emitter, e.language);
664            })()
665          : l(),
666          (S = "");
667      }
668      function u(e, t) {
669        let n = 1;
670        const i = t.length - 1;
671        for (;
671 n <= i; ) {
672          if (!e._emit[n]) {
673            n++;
674            continue;
675          }
676          const i = y.classNameAliases[e[n]] || e[n],
677            r = t[n];
678          i ? M.addKeyword(r, i) : ((S = r), l(), (S = "")), n++;
679        }
680      }
681      function h(e, t) {
682        return (
683          e.scope && "string" == typeof e.scope && M.openNode(y.classNameAliases[e.scope] || e.scope),
684          e.beginScope &&
685            (e.beginScope._wrap
686              ? (M.addKeyword(S, y.classNameAliases[e.beginScope._wrap] || e.beginScope._wrap), (S = ""))
687              : e.beginScope._multi && (u(e.beginScope, t), (S = ""))),
688          (O = Object.create(e, {
689            parent: {
690              value: O,
691            },
692          })),
693          O
694        );
695      }
696      function f(e, t, n) {
697        let r = ((e, t) => {
698          const n = e && e.exec(t);
699          return n && 0 === n.index;
700        })(e.endRe, n);
701        if (r) {
702          if (e["on:end"]) {
703            const n = new i(e);
704            e["on:end"](t, n), n.isMatchIgnored && (r = !1);
705          }
706          if (r) {
707            for (; e.endsParent && e.parent; ) e = e.parent;
708            return e;
709          }
710        }
711        if (e.endsWithParent) return f(e.parent, t, n);
712      }
713      function p(e) {
714        return 0 === O.matcher.regexIndex ? ((S += e[0]), 1) : ((I = !0), 0);
715      }
716      function b(e) {
717        const t = e[0],
718          i = n.substr(e.index),
719          r = f(O, e, i);
720        if (!r) return ee;
721        const s = O;
722        O.endScope && O.endScope._wrap
723          ? (d(), M.addKeyword(t, O.endScope._wrap))
724          : O.endScope && O.endScope._multi
725          ? (d(), u(O.endScope, e))
726          : s.skip
727          ? (S += t)
728          : (s.returnEnd || s.excludeEnd || (S += t), d(), s.excludeEnd && (S = t));
729        do {
730          O.scope && M.closeNode(), O.skip || O.subLanguage || (R += O.relevance), (O = O.parent);
731        } while (O !== r.parent);
732        return r.starts && h(r.starts, e), s.returnEnd ? 0 : t.length;
733      }
734      let m = {};
735      function w(t, s) {
736        const a = s && s[0];
737        if (((S += t), null == a)) return d(), 0;
738        if ("begin" === m.type && "end" === s.type && m.index === s.index && "" === a) {
739          if (((S += n.slice(s.index, s.index + 1)), !o)) {
740            const t = Error(`0 width match regex (${e})`);
741            throw ((t.languageName = e), (t.badRule = m.rule), t);
742          }
743          return 1;
744        }
745        if (((m = s), "begin" === s.type))
746          return ((e) => {
747            const t = e[0],
748              n = e.rule,
749              r = new i(n),
750              s = [n.__beforeBegin, n["on:begin"]];
751            for (const n of s) if (n && (n(e, r), r.isMatchIgnored)) return p(t);
752            return (
753              n.skip ? (S += t) : (n.excludeBegin && (S += t), d(), n.returnBegin || n.excludeBegin || (S = t)),
754              h(n, e),
755              n.returnBegin ? 0 : t.length
756            );
757          })(s);
758        if ("illegal" === s.type && !r) {
759          const e = Error('Illegal lexeme "' + a + '" for mode "' + (O.scope || "<unnamed>") + '"');
760          throw ((e.mode = O), e);
761        }
762        if ("end" === s.type) {
763          const e = b(s);
764          if (e !== ee) return e;
765        }
766        if ("illegal" === s.type && "" === a) return 1;
767        if (A > 1e5 && A > 3 * s.index) throw Error("potential infinite loop, way more iterations than matches");
768        return (S += a), a.length;
769      }
770      const y = k(e);
771      if (!y) throw (K(a.replace("{}", e)), Error('Unknown language: "' + e + '"'));
772      const _ = V(y);
773      let v = "",
774        O = s || _;
775      const N = {},
776        M = new g.__emitter(g);
777      (() => {
778        const e = [];
779        for (let t = O; t !== y; t = t.parent) t.scope && e.unshift(t.scope);
780        e.forEach((e) => M.openNode(e));
781      })();
782      let S = "",
783        R = 0,
784        j = 0,
785        A = 0,
786        I = !1;
787      try {
788        for (O.matcher.considerAll(); ; ) {
789          A++, I ? (I = !1) : O.matcher.considerAll(), (O.matcher.lastIndex = j);
790          const e = O.matcher.exec(n);
791          if (!e) break;
792          const t = w(n.substring(j, e.index), e);
793          j = e.index + t;
794        }
795        return (
796          w(n.substr(j)),
797          M.closeAllNodes(),
798          M.finalize(),
799          (v = M.toHTML()),
800          {
801            language: e,
802            value: v,
803            relevance: R,
804            illegal: !1,
805            _emitter: M,
806            _top: O,
807          }
808        );
809      } catch (t) {
810        if (t.message && t.message.includes("Illegal"))
811          return {
812            language: e,
813            value: Y(n),
814            illegal: !0,
815            relevance: 0,
816            _illegalBy: {
817              message: t.message,
818              index: j,
819              context: n.slice(j - 100, j + 100),
820              mode: t.mode,
821              resultSoFar: v,
822            },
823            _emitter: M,
824          };
825        if (o)
826          return {
827            language: e,
828            value: Y(n),
829            illegal: !1,
830            relevance: 0,
831            errorRaised: t,
832            _emitter: M,
833            _top: O,
834          };
835        throw t;
836      }
837    }
838    function x(e, n) {
839      n = n || g.languages || Object.keys(t);
840      const i = ((e) => {
841          const t = { value: Y(e), illegal: !1, relevance: 0, _top: c, _emitter: new g.__emitter(g) };
842          return t._emitter.addText(e), t;
843        })(e),
844        r = n
845          .filter(k)
846          .filter(O)
847          .map((t) => E(t, e, !1));
848      r.unshift(i);
849      const s = r.sort((e, t) => {
850          if (e.relevance !== t.relevance) return t.relevance - e.relevance;
851          if (e.language && t.language) {
852            if (k(e.language).supersetOf === t.language) return 1;
853            if (k(t.language).supersetOf === e.language) return -1;
854          }
855          return 0;
856        }),
857        [o, a] = s,
858        l = o;
859      return (l.secondBest = a), l;
860    }
861    function w(e) {
862      let t = null;
863      const n = ((e) => {
864        let t = e.className + " ";
865        t += e.parentNode ? e.parentNode.className : "";
866        const n = g.languageDetectRe.exec(t);
867        if (n) {
868          const t = k(n[1]);
869          return (
870            t || (W(a.replace("{}", n[1])), W("Falling back to no-highlight mode for this block.", e)),
871            t ? n[1] : "no-highlight"
872          );
873        }
874        return t.split(/\s+/).find((e) => b(e) || k(e));
875      })(e);
876      if (b(n)) return;
877      if (
878        (N("before:highlightElement", { el: e, language: n }),
879        e.children.length > 0 &&
880          (g.ignoreUnescapedHTML ||
881            (console.warn(
882              "One of your code blocks includes unescaped HTML. This is a potentially serious security risk.",
883            ),
884            console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),
885            console.warn("The element with unescaped HTML:"),
886            console.warn(e)),
887          g.throwUnescapedHTML))
888      )
889        throw new J("One of your code blocks includes unescaped HTML.", e.innerHTML);
890      t = e;
891      const i = t.textContent,
892        s = n ? m(i, { language: n, ignoreIllegals: !0 }) : x(i);
893      (e.innerHTML = s.value),
894        ((e, t, n) => {
895          const i = (t && r[t]) || n;
896          e.classList.add("hljs"), e.classList.add("language-" + i);
897        })(e, n, s.language),
898        (e.result = { language: s.language, re: s.relevance, relevance: s.relevance }),
899        s.secondBest &&
900          (e.secondBest = {
901            language: s.secondBest.language,
902            relevance: s.secondBest.relevance,
903          }),
904        N("after:highlightElement", { el: e, result: s, text: i });
905    }
906    let y = !1;
907    function _() {
908      "loading" !== document.readyState ? document.querySelectorAll(g.cssSelector).forEach(w) : (y = !0);
909    }
910    function k(e) {
911      return (e = (e || "").toLowerCase()), t[e] || t[r[e]];
912    }
913    function v(e, { languageName: t }) {
914      "string" == typeof e && (e = [e]),
915        e.forEach((e) => {
916          r[e.toLowerCase()] = t;
917        });
918    }
919    function O(e) {
920      const t = k(e);
921      return t && !t.disableAutodetect;
922    }
923    function N(e, t) {
924      const n = e;
925      s.forEach((e) => {
926        e[n] && e[n](t);
927      });
928    }
929    "undefined" != typeof window &&
930      window.addEventListener &&
931      window.addEventListener(
932        "DOMContentLoaded",
933        () => {
934          y && _();
935        },
936        !1,
937      ),
938      Object.assign(e, {
939        highlight: m,
940        highlightAuto: x,
941        highlightAll: _,
942        highlightElement: w,
943        highlightBlock: (e) => (
944          X("10.7.0", "highlightBlock will be removed entirely in v12.0"),
945          X("10.7.0", "Please use highlightElement now."),
946          w(e)
947        ),
948        configure: (e) => {
949          g = Q(g, e);
950        },
951        initHighlighting: () => {
952          _(), X("10.6.0", "initHighlighting() deprecated.  Use highlightAll() now.");
953        },
954        initHighlightingOnLoad: () => {
955          _(), X("10.6.0", "initHighlightingOnLoad() deprecated.  Use highlightAll() now.");
956        },
957        registerLanguage: (n, i) => {
958          let r = null;
959          try {
960            r = i(e);
961          } catch (e) {
962            if ((K("Language definition for '{}' could not be registered.".replace("{}", n)), !o)) throw e;
963            K(e), (r = c);
964          }
965          r.name || (r.name = n),
966            (t[n] = r),
967            (r.rawDefinition = i.bind(null, e)),
968            r.aliases &&
969              v(r.aliases, {
970                languageName: n,
971              });
972        },
973        unregisterLanguage: (e) => {
974          delete t[e];
975          for (const t of Object.keys(r)) r[t] === e && delete r[t];
976        },
977        listLanguages: () => Object.keys(t),
978        getLanguage: k,
979        registerAliases: v,
980        autoDetection: O,
981        inherit: Q,
982        addPlugin: (e) => {
983          ((e) => {
984            e["before:highlightBlock"] &&
985              !e["before:highlightElement"] &&
986              (e["before:highlightElement"] = (t) => {
987                e["before:highlightBlock"](Object.assign({ block: t.el }, t));
988              }),
989              e["after:highlightBlock"] &&
990                !e["after:highlightElement"] &&
991                (e["after:highlightElement"] = (t) => {
992                  e["after:highlightBlock"](Object.assign({ block: t.el }, t));
993                });
994          })(e),
995            s.push(e);
996        },
997      }),
998      (e.debugMode = () => {
999        o = !1;
1000      }),
1001      (e.safeMode = () => {
1002        o = !0;
1003      }),
1004      (e.versionString = "11.5.0"),
1005      (e.regex = { concat: f, lookahead: d, either: p, optional: h, anyNumberOfTimes: u });
1006    for (const e in A) "object" == typeof A[e] && n(A[e]);
1007    return Object.assign(e, A), e;
1008  })({});
1009  return te;
1010})();
1011"object" == typeof exports &&
1012  "undefined" != typeof module &&
1013  (module.exports = hljs); /*! `typescript` grammar compiled for Highlight.js 11.5.0 */
1014(() => {
1015  var e = (() => {
1016    "use strict";
1017    const e = "[A-Za-z$_][0-9A-Za-z$_]*",
1018      n = [
1019        "as",
1020        "in",
1021        "of",
1022        "if",
1023        "for",
1024        "while",
1025        "finally",
1026        "var",
1027        "new",
1028        "function",
1029        "do",
1030        "return",
1031        "void",
1032        "else",
1033        "break",
1034        "catch",
1035        "instanceof",
1036        "with",
1037        "throw",
1038        "case",
1039        "default",
1040        "try",
1041        "switch",
1042        "continue",
1043        "typeof",
1044        "delete",
1045        "let",
1046        "yield",
1047        "const",
1048        "class",
1049        "debugger",
1050        "async",
1051        "await",
1052        "static",
1053        "import",
1054        "from",
1055        "export",
1056        "extends",
1057      ],
1058      a = ["true", "false", "null", "undefined", "NaN", "Infinity"],
1059      t = [
1060        "Object",
1061        "Function",
1062        "Boolean",
1063        "Symbol",
1064        "Math",
1065        "Date",
1066        "Number",
1067        "BigInt",
1068        "String",
1069        "RegExp",
1070        "Array",
1071        "Float32Array",
1072        "Float64Array",
1073        "Int8Array",
1074        "Uint8Array",
1075        "Uint8ClampedArray",
1076        "Int16Array",
1077        "Int32Array",
1078        "Uint16Array",
1079        "Uint32Array",
1080        "BigInt64Array",
1081        "BigUint64Array",
1082        "Set",
1083        "Map",
1084        "WeakSet",
1085        "WeakMap",
1086        "ArrayBuffer",
1087        "SharedArrayBuffer",
1088        "Atomics",
1089        "DataView",
1090        "JSON",
1091        "Promise",
1092        "Generator",
1093        "GeneratorFunction",
1094        "AsyncFunction",
1095        "Reflect",
1096        "Proxy",
1097        "Intl",
1098        "WebAssembly",
1099      ],
1100      s = [
1101        "Error",
1102        "EvalError",
1103        "InternalError",
1104        "RangeError",
1105        "ReferenceError",
1106        "SyntaxError",
1107        "TypeError",
1108        "URIError",
1109      ],
1110      r = [
1111        "setInterval",
1112        "setTimeout",
1113        "clearInterval",
1114        "clearTimeout",
1115        "require",
1116        "exports",
1117        "eval",
1118        "isFinite",
1119        "isNaN",
1120        "parseFloat",
1121        "parseInt",
1122        "decodeURI",
1123        "decodeURIComponent",
1124        "encodeURI",
1125        "encodeURIComponent",
1126        "escape",
1127        "unescape",
1128      ],
1129      c = ["arguments", "this", "super", "console", "window", "document", "localStorage", "module", "global"],
1130      i = [].concat(r, t, s);
1131    function o(o) {
1132      const l = o.regex,
1133        d = e,
1134        b = {
1135          begin: /<[A-Za-z0-9\\._:-]+/,
1136          end: /\/[A-Za-z0-9\\._:-]+>|\/>/,
1137          isTrulyOpeningTag: (e, n) => {
1138            const a = e[0].length + e.index,
1139              t = e.input[a];
1140            if ("<" === t || "," === t) return void n.ignoreMatch();
1141            let s;
1142            ">" === t &&
1143              (((e, { after: n }) => {
1144                const a = "</" + e[0].slice(1);
1145                return -1 !== e.input.indexOf(a, n);
1146              })(e, { after: a }) ||
1147                n.ignoreMatch()),
1148              (s = e.input.substr(a).match(/^\s+extends\s+/)) && 0 === s.index && n.ignoreMatch();
1149          },
1150        },
1151        g = { $pattern: e, keyword: n, literal: a, built_in: i, "variable.language": c },
1152        u = "\\.([0-9](_?[0-9])*)",
1153        m = "0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",
1154        E = {
1155          className: "number",
1156          variants: [
1157            {
1158              begin: `(\\b(${m})((${u})|\\.)?|(${u}))[eE][+-]?([0-9](_?[0-9])*)\\b`,
1159            },
1160            {
1161              begin: `\\b(${m})\\b((${u})\\b|\\.)?|(${u})\\b`,
1162            },
1163            {
1164              begin: "\\b(0|[1-9](_?[0-9])*)n\\b",
1165            },
1166            {
1167              begin: "\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b",
1168            },
1169            {
1170              begin: "\\b0[bB][0-1](_?[0-1])*n?\\b",
1171            },
1172            { begin: "\\b0[oO][0-7](_?[0-7])*n?\\b" },
1173            {
1174              begin: "\\b0[0-7]+n?\\b",
1175            },
1176          ],
1177          relevance: 0,
1178        },
1179        y = { className: "subst", begin: "\\$\\{", end: "\\}", keywords: g, contains: [] },
1180        A = {
1181          begin: "html`",
1182          end: "",
1183          starts: { end: "`", returnEnd: !1, contains: [o.BACKSLASH_ESCAPE, y], subLanguage: "xml" },
1184        },
1185        _ = {
1186          begin: "css`",
1187          end: "",
1188          starts: { end: "`", returnEnd: !1, contains: [o.BACKSLASH_ESCAPE, y], subLanguage: "css" },
1189        },
1190        p = { className: "string", begin: "`", end: "`", contains: [o.BACKSLASH_ESCAPE, y] },
1191        N = {
1192          className: "comment",
1193          variants: [
1194            o.COMMENT(/\/\*\*(?!\/)/, "\\*/", {
1195              relevance: 0,
1196              contains: [
1197                {
1198                  begin: "(?=@[A-Za-z]+)",
1199                  relevance: 0,
1200                  contains: [
1201                    { className: "doctag", begin: "@[A-Za-z]+" },
1202                    { className: "type", begin: "\\{", end: "\\}", excludeEnd: !0, excludeBegin: !0, relevance: 0 },
1203                    { className: "variable", begin: d + "(?=\\s*(-)|$)", endsParent: !0, relevance: 0 },
1204                    { begin: /(?=[^\n])\s/, relevance: 0 },
1205                  ],
1206                },
1207              ],
1208            }),
1209            o.C_BLOCK_COMMENT_MODE,
1210            o.C_LINE_COMMENT_MODE,
1211          ],
1212        },
1213        f = [o.APOS_STRING_MODE, o.QUOTE_STRING_MODE, A, _, p, E];
1214      y.contains = f.concat({
1215        begin: /\{/,
1216        end: /\}/,
1217        keywords: g,
1218        contains: ["self"].concat(f),
1219      });
1220      const h = [].concat(N, y.contains),
1221        v = h.concat([{ begin: /\(/, end: /\)/, keywords: g, contains: ["self"].concat(h) }]),
1222        S = { className: "params", begin: /\(/, end: /\)/, excludeBegin: !0, excludeEnd: !0, keywords: g, contains: v },
1223        w = {
1224          variants: [
1225            {
1226              match: [/class/, /\s+/, d, /\s+/, /extends/, /\s+/, l.concat(d, "(", l.concat(/\./, d), ")*")],
1227              scope: { 1: "keyword", 3: "title.class", 5: "keyword", 7: "title.class.inherited" },
1228            },
1229            {
1230              match: [/class/, /\s+/, d],
1231              scope: { 1: "keyword", 3: "title.class" },
1232            },
1233          ],
1234        },
1235        R = {
1236          relevance: 0,
1237          match: l.either(
1238            /\bJSON/,
1239            /\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,
1240            /\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,
1241            /\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/,
1242          ),
1243          className: "title.class",
1244          keywords: { _: [...t, ...s] },
1245        },
1246        x = {
1247          variants: [
1248            {
1249              match: [/function/, /\s+/, d, /(?=\s*\()/],
1250            },
1251            { match: [/function/, /\s*(?=\()/] },
1252          ],
1253          className: { 1: "keyword", 3: "title.function" },
1254          label: "func.def",
1255          contains: [S],
1256          illegal: /%/,
1257        },
1258        k = {
1259          match: l.concat(/\b/, ((O = [...r, "super"]), l.concat("(?!", O.join("|"), ")")), d, l.lookahead(/\(/)),
1260          className: "title.function",
1261          relevance: 0,
1262        };
1263      var O;
1264      const I = {
1265          begin: l.concat(/\./, l.lookahead(l.concat(d, /(?![0-9A-Za-z$_(])/))),
1266          end: d,
1267          excludeBegin: !0,
1268          keywords: "prototype",
1269          className: "property",
1270          relevance: 0,
1271        },
1272        C = {
1273          match: [/get|set/, /\s+/, d, /(?=\()/],
1274          className: { 1: "keyword", 3: "title.function" },
1275          contains: [{ begin: /\(\)/ }, S],
1276        },
1277        T = "(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|" + o.UNDERSCORE_IDENT_RE + ")\\s*=>",
1278        M = {
1279          match: [/const|var|let/, /\s+/, d, /\s*/, /=\s*/, /(async\s*)?/, l.lookahead(T)],
1280          keywords: "async",
1281          className: { 1: "keyword", 3: "title.function" },
1282          contains: [S],
1283        };
1284      return {
1285        name: "Javascript",
1286        aliases: ["js", "jsx", "mjs", "cjs"],
1287        keywords: g,
1288        exports: {
1289          PARAMS_CONTAINS: v,
1290          CLASS_REFERENCE: R,
1291        },
1292        illegal: /#(?![$_A-z])/,
1293        contains: [
1294          o.SHEBANG({ label: "shebang", binary: "node", relevance: 5 }),
1295          {
1296            label: "use_strict",
1297            className: "meta",
1298            relevance: 10,
1299            begin: /^\s*['"]use (strict|asm)['"]/,
1300          },
1301          o.APOS_STRING_MODE,
1302          o.QUOTE_STRING_MODE,
1303          A,
1304          _,
1305          p,
1306          N,
1307          E,
1308          R,
1309          { className: "attr", begin: d + l.lookahead(":"), relevance: 0 },
1310          M,
1311          {
1312            begin: "(" + o.RE_STARTERS_RE + "|\\b(case|return|throw)\\b)\\s*",
1313            keywords: "return throw case",
1314            relevance: 0,
1315            contains: [
1316              N,
1317              o.REGEXP_MODE,
1318              {
1319                className: "function",
1320                begin: T,
1321                returnBegin: !0,
1322                end: "\\s*=>",
1323                contains: [
1324                  {
1325                    className: "params",
1326                    variants: [
1327                      { begin: o.UNDERSCORE_IDENT_RE, relevance: 0 },
1328                      {
1329                        className: null,
1330                        begin: /\(\s*\)/,
1331                        skip: !0,
1332                      },
1333                      { begin: /\(/, end: /\)/, excludeBegin: !0, excludeEnd: !0, keywords: g, contains: v },
1334                    ],
1335                  },
1336                ],
1337              },
1338              { begin: /,/, relevance: 0 },
1339              { match: /\s+/, relevance: 0 },
1340              {
1341                variants: [
1342                  { begin: "<>", end: "</>" },
1343                  {
1344                    match: /<[A-Za-z0-9\\._:-]+\s*\/>/,
1345                  },
1346                  { begin: b.begin, "on:begin": b.isTrulyOpeningTag, end: b.end },
1347                ],
1348                subLanguage: "xml",
1349                contains: [
1350                  {
1351                    begin: b.begin,
1352                    end: b.end,
1353                    skip: !0,
1354                    contains: ["self"],
1355                  },
1356                ],
1357              },
1358            ],
1359          },
1360          x,
1361          {
1362            beginKeywords: "while if switch catch for",
1363          },
1364          {
1365            begin:
1366              "\\b(?!function)" +
1367              o.UNDERSCORE_IDENT_RE +
1368              "\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",
1369            returnBegin: !0,
1370            label: "func.def",
1371            contains: [S, o.inherit(o.TITLE_MODE, { begin: d, className: "title.function" })],
1372          },
1373          { match: /\.\.\./, relevance: 0 },
1374          I,
1375          { match: "\\$" + d, relevance: 0 },
1376          { match: [/\bconstructor(?=\s*\()/], className: { 1: "title.function" }, contains: [S] },
1377          k,
1378          { relevance: 0, match: /\b[A-Z][A-Z_0-9]+\b/, className: "variable.constant" },
1379          w,
1380          C,
1381          { match: /\$[(.]/ },
1382        ],
1383      };
1384    }
1385    return (t) => {
1386      const s = o(t),
1387        r = ["any", "void", "number", "boolean", "string", "object", "never", "symbol", "bigint", "unknown"],
1388        l = {
1389          beginKeywords: "namespace",
1390          end: /\{/,
1391          excludeEnd: !0,
1392          contains: [s.exports.CLASS_REFERENCE],
1393        },
1394        d = {
1395          beginKeywords: "interface",
1396          end: /\{/,
1397          excludeEnd: !0,
1398          keywords: { keyword: "interface extends", built_in: r },
1399          contains: [s.exports.CLASS_REFERENCE],
1400        },
1401        b = {
1402          $pattern: e,
1403          keyword: n.concat([
1404            "type",
1405            "namespace",
1406            "interface",
1407            "public",
1408            "private",
1409            "protected",
1410            "implements",
1411            "declare",
1412            "abstract",
1413            "readonly",
1414            "enum",
1415            "override",
1416          ]),
1417          literal: a,
1418          built_in: i.concat(r),
1419          "variable.language": c,
1420        },
1421        g = { className: "meta", begin: "@[A-Za-z$_][0-9A-Za-z$_]*" },
1422        u = (e, n, a) => {
1423          const t = e.contains.findIndex((e) => e.label === n);
1424          if (-1 === t) throw Error("can not find mode to replace");
1425          e.contains.splice(t, 1, a);
1426        };
1427      return (
1428        Object.assign(s.keywords, b),
1429        s.exports.PARAMS_CONTAINS.push(g),
1430        (s.contains = s.contains.concat([g, l, d])),
1431        u(s, "shebang", t.SHEBANG()),
1432        u(s, "use_strict", { className: "meta", relevance: 10, begin: /^\s*['"]use strict['"]/ }),
1433        (s.contains.find((e) => "func.def" === e.label).relevance = 0),
1434        Object.assign(s, {
1435          name: "TypeScript",
1436          aliases: ["ts", "tsx"],
1437        }),
1438        s
1439      );
1440    };
1441  })();
1442  hljs.registerLanguage("typescript", e);
1443})(); /*! `bash` grammar compiled for Highlight.js 11.5.0 */
1444(() => {
1445  var e = (() => {
1446    "use strict";
1447    return (e) => {
1448      const s = e.regex,
1449        t = {},
1450        n = { begin: /\$\{/, end: /\}/, contains: ["self", { begin: /:-/, contains: [t] }] };
1451      Object.assign(t, {
1452        className: "variable",
1453        variants: [
1454          {
1455            begin: s.concat(/\$[\w\d#@][\w\d_]*/, "(?![\\w\\d])(?![$])"),
1456          },
1457          n,
1458        ],
1459      });
1460      const a = {
1461          className: "subst",
1462          begin: /\$\(/,
1463          end: /\)/,
1464          contains: [e.BACKSLASH_ESCAPE],
1465        },
1466        i = {
1467          begin: /<<-?\s*(?=\w+)/,
1468          starts: { contains: [e.END_SAME_AS_BEGIN({ begin: /(\w+)/, end: /(\w+)/, className: "string" })] },
1469        },
1470        c = { className: "string", begin: /"/, end: /"/, contains: [e.BACKSLASH_ESCAPE, t, a] };
1471      a.contains.push(c);
1472      const o = {
1473          begin: /\$\(\(/,
1474          end: /\)\)/,
1475          contains: [{ begin: /\d+#[0-9a-f]+/, className: "number" }, e.NUMBER_MODE, t],
1476        },
1477        r = e.SHEBANG({ binary: "(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)", relevance: 10 }),
1478        l = {
1479          className: "function",
1480          begin: /\w[\w\d_]*\s*\(\s*\)\s*\{/,
1481          returnBegin: !0,
1482          contains: [e.inherit(e.TITLE_MODE, { begin: /\w[\w\d_]*/ })],
1483          relevance: 0,
1484        };
1485      return {
1486        name: "Bash",
1487        aliases: ["sh"],
1488        keywords: {
1489          $pattern: /\b[a-z][a-z0-9._-]+\b/,
1490          keyword: ["if", "then", "else", "elif", "fi", "for", "while", "in", "do", "done", "case", "esac", "function"],
1491          literal: ["true", "false"],
1492          built_in: [
1493            "break",
1494            "cd",
1495            "continue",
1496            "eval",
1497            "exec",
1498            "exit",
1499            "export",
1500            "getopts",
1501            "hash",
1502            "pwd",
1503            "readonly",
1504            "return",
1505            "shift",
1506            "test",
1507            "times",
1508            "trap",
1509            "umask",
1510            "unset",
1511            "alias",
1512            "bind",
1513            "builtin",
1514            "caller",
1515            "command",
1516            "declare",
1517            "echo",
1518            "enable",
1519            "help",
1520            "let",
1521            "local",
1522            "logout",
1523            "mapfile",
1524            "printf",
1525            "read",
1526            "readarray",
1527            "source",
1528            "type",
1529            "typeset",
1530            "ulimit",
1531            "unalias",
1532            "set",
1533            "shopt",
1534            "autoload",
1535            "bg",
1536            "bindkey",
1537            "bye",
1538            "cap",
1539            "chdir",
1540            "clone",
1541            "comparguments",
1542            "compcall",
1543            "compctl",
1544            "compdescribe",
1545            "compfiles",
1546            "compgroups",
1547            "compquote",
1548            "comptags",
1549            "comptry",
1550            "compvalues",
1551            "dirs",
1552            "disable",
1553            "disown",
1554            "echotc",
1555            "echoti",
1556            "emulate",
1557            "fc",
1558            "fg",
1559            "float",
1560            "functions",
1561            "getcap",
1562            "getln",
1563            "history",
1564            "integer",
1565            "jobs",
1566            "kill",
1567            "limit",
1568            "log",
1569            "noglob",
1570            "popd",
1571            "print",
1572            "pushd",
1573            "pushln",
1574            "rehash",
1575            "sched",
1576            "setcap",
1577            "setopt",
1578            "stat",
1579            "suspend",
1580            "ttyctl",
1581            "unfunction",
1582            "unhash",
1583            "unlimit",
1584            "unsetopt",
1585            "vared",
1586            "wait",
1587            "whence",
1588            "where",
1589            "which",
1590            "zcompile",
1591            "zformat",
1592            "zftp",
1593            "zle",
1594            "zmodload",
1595            "zparseopts",
1596            "zprof",
1597            "zpty",
1598            "zregexparse",
1599            "zsocket",
1600            "zstyle",
1601            "ztcp",
1602            "chcon",
1603            "chgrp",
1604            "chown",
1605            "chmod",
1606            "cp",
1607            "dd",
1608            "df",
1609            "dir",
1610            "dircolors",
1611            "ln",
1612            "ls",
1613            "mkdir",
1614            "mkfifo",
1615            "mknod",
1616            "mktemp",
1617            "mv",
1618            "realpath",
1619            "rm",
1620            "rmdir",
1621            "shred",
1622            "sync",
1623            "touch",
1624            "truncate",
1625            "vdir",
1626            "b2sum",
1627            "base32",
1628            "base64",
1629            "cat",
1630            "cksum",
1631            "comm",
1632            "csplit",
1633            "cut",
1634            "expand",
1635            "fmt",
1636            "fold",
1637            "head",
1638            "join",
1639            "md5sum",
1640            "nl",
1641            "numfmt",
1642            "od",
1643            "paste",
1644            "ptx",
1645            "pr",
1646            "sha1sum",
1647            "sha224sum",
1648            "sha256sum",
1649            "sha384sum",
1650            "sha512sum",
1651            "shuf",
1652            "sort",
1653            "split",
1654            "sum",
1655            "tac",
1656            "tail",
1657            "tr",
1658            "tsort",
1659            "unexpand",
1660            "uniq",
1661            "wc",
1662            "arch",
1663            "basename",
1664            "chroot",
1665            "date",
1666            "dirname",
1667            "du",
1668            "echo",
1669            "env",
1670            "expr",
1671            "factor",
1672            "groups",
1673            "hostid",
1674            "id",
1675            "link",
1676            "logname",
1677            "nice",
1678            "nohup",
1679            "nproc",
1680            "pathchk",
1681            "pinky",
1682            "printenv",
1683            "printf",
1684            "pwd",
1685            "readlink",
1686            "runcon",
1687            "seq",
1688            "sleep",
1689            "stat",
1690            "stdbuf",
1691            "stty",
1692            "tee",
1693            "test",
1694            "timeout",
1695            "tty",
1696            "uname",
1697            "unlink",
1698            "uptime",
1699            "users",
1700            "who",
1701            "whoami",
1702            "yes",
1703          ],
1704        },
1705        contains: [
1706          r,
1707          e.SHEBANG(),
1708          l,
1709          o,
1710          e.HASH_COMMENT_MODE,
1711          i,
1712          { match: /(\/[a-z._-]+)+/ },
1713          c,
1714          {
1715            className: "",
1716            begin: /\\"/,
1717          },
1718          { className: "string", begin: /'/, end: /'/ },
1719          t,
1720        ],
1721      };
1722    };
1723  })();
1724  hljs.registerLanguage("bash", e);
1725})(); /*! `xml` grammar compiled for Highlight.js 11.5.0 */
1726(() => {
1727  var e = (() => {
1728    "use strict";
1729    return (e) => {
1730      const a = e.regex,
1731        n = a.concat(/[A-Z_]/, a.optional(/[A-Z0-9_.-]*:/), /[A-Z0-9_.-]*/),
1732        s = {
1733          className: "symbol",
1734          begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/,
1735        },
1736        t = { begin: /\s/, contains: [{ className: "keyword", begin: /#?[a-z_][a-z1-9_-]+/, illegal: /\n/ }] },
1737        i = e.inherit(t, { begin: /\(/, end: /\)/ }),
1738        c = e.inherit(e.APOS_STRING_MODE, {
1739          className: "string",
1740        }),
1741        l = e.inherit(e.QUOTE_STRING_MODE, { className: "string" }),
1742        r = {
1743          endsWithParent: !0,
1744          illegal: /</,
1745          relevance: 0,
1746          contains: [
1747            { className: "attr", begin: /[A-Za-z0-9._:-]+/, relevance: 0 },
1748            {
1749              begin: /=\s*/,
1750              relevance: 0,
1751              contains: [
1752                {
1753                  className: "string",
1754                  endsParent: !0,
1755                  variants: [
1756                    { begin: /"/, end: /"/, contains: [s] },
1757                    {
1758                      begin: /'/,
1759                      end: /'/,
1760                      contains: [s],
1761                    },
1762                    { begin: /[^\s"'=<>`]+/ },
1763                  ],
1764                },
1765              ],
1766            },
1767          ],
1768        };
1769      return {
1770        name: "HTML, XML",
1771        aliases: ["html", "xhtml", "rss", "atom", "xjb", "xsd", "xsl", "plist", "wsf", "svg"],
1772        case_insensitive: !0,
1773        contains: [
1774          {
1775            className: "meta",
1776            begin: /<![a-z]/,
1777            end: />/,
1778            relevance: 10,
1779            contains: [
1780              t,
1781              l,
1782              c,
1783              i,
1784              {
1785                begin: /\[/,
1786                end: /\]/,
1787                contains: [{ className: "meta", begin: /<![a-z]/, end: />/, contains: [t, i, l, c] }],
1788              },
1789            ],
1790          },
1791          e.COMMENT(/<!--/, /-->/, {
1792            relevance: 10,
1793          }),
1794          { begin: /<!\[CDATA\[/, end: /\]\]>/, relevance: 10 },
1795          s,
1796          {
1797            className: "meta",
1798            end: /\?>/,
1799            variants: [{ begin: /<\?xml/, relevance: 10, contains: [l] }, { begin: /<\?[a-z][a-z0-9]+/ }],
1800          },
1801          {
1802            className: "tag",
1803            begin: /<style(?=\s|>)/,
1804            end: />/,
1805            keywords: { name: "style" },
1806            contains: [r],
1807            starts: { end: /<\/style>/, returnEnd: !0, subLanguage: ["css", "xml"] },
1808          },
1809          {
1810            className: "tag",
1811            begin: /<script(?=\s|>)/,
1812            end: />/,
1813            keywords: { name: "script" },
1814            contains: [r],
1815            starts: { end: /<\/script>/, returnEnd: !0, subLanguage: ["javascript", "handlebars", "xml"] },
1816          },
1817          { className: "tag", begin: /<>|<\/>/ },
1818          {
1819            className: "tag",
1820            begin: a.concat(/</, a.lookahead(a.concat(n, a.either(/\/>/, />/, /\s/)))),
1821            end: /\/?>/,
1822            contains: [{ className: "name", begin: n, relevance: 0, starts: r }],
1823          },
1824          {
1825            className: "tag",
1826            begin: a.concat(/<\//, a.lookahead(a.concat(n, />/))),
1827            contains: [
1828              {
1829                className: "name",
1830                begin: n,
1831                relevance: 0,
1832              },
1833              { begin: />/, relevance: 0, endsParent: !0 },
1834            ],
1835          },
1836        ],
1837      };
1838    };
1839  })();
1840  hljs.registerLanguage("xml", e);
1841})(); /*! `javascript` grammar compiled for Highlight.js 11.5.0 */
1842(() => {
1843  var e = (() => {
1844    "use strict";
1845    const e = "[A-Za-z$_][0-9A-Za-z$_]*",
1846      n = [
1847        "as",
1848        "in",
1849        "of",
1850        "if",
1851        "for",
1852        "while",
1853        "finally",
1854        "var",
1855        "new",
1856        "function",
1857        "do",
1858        "return",
1859        "void",
1860        "else",
1861        "break",
1862        "catch",
1863        "instanceof",
1864        "with",
1865        "throw",
1866        "case",
1867        "default",
1868        "try",
1869        "switch",
1870        "continue",
1871        "typeof",
1872        "delete",
1873        "let",
1874        "yield",
1875        "const",
1876        "class",
1877        "debugger",
1878        "async",
1879        "await",
1880        "static",
1881        "import",
1882        "from",
1883        "export",
1884        "extends",
1885      ],
1886      a = ["true", "false", "null", "undefined", "NaN", "Infinity"],
1887      t = [
1888        "Object",
1889        "Function",
1890        "Boolean",
1891        "Symbol",
1892        "Math",
1893        "Date",
1894        "Number",
1895        "BigInt",
1896        "String",
1897        "RegExp",
1898        "Array",
1899        "Float32Array",
1900        "Float64Array",
1901        "Int8Array",
1902        "Uint8Array",
1903        "Uint8ClampedArray",
1904        "Int16Array",
1905        "Int32Array",
1906        "Uint16Array",
1907        "Uint32Array",
1908        "BigInt64Array",
1909        "BigUint64Array",
1910        "Set",
1911        "Map",
1912        "WeakSet",
1913        "WeakMap",
1914        "ArrayBuffer",
1915        "SharedArrayBuffer",
1916        "Atomics",
1917        "DataView",
1918        "JSON",
1919        "Promise",
1920        "Generator",
1921        "GeneratorFunction",
1922        "AsyncFunction",
1923        "Reflect",
1924        "Proxy",
1925        "Intl",
1926        "WebAssembly",
1927      ],
1928      s = [
1929        "Error",
1930        "EvalError",
1931        "InternalError",
1932        "RangeError",
1933        "ReferenceError",
1934        "SyntaxError",
1935        "TypeError",
1936        "URIError",
1937      ],
1938      r = [
1939        "setInterval",
1940        "setTimeout",
1941        "clearInterval",
1942        "clearTimeout",
1943        "require",
1944        "exports",
1945        "eval",
1946        "isFinite",
1947        "isNaN",
1948        "parseFloat",
1949        "parseInt",
1950        "decodeURI",
1951        "decodeURIComponent",
1952        "encodeURI",
1953        "encodeURIComponent",
1954        "escape",
1955        "unescape",
1956      ],
1957      c = ["arguments", "this", "super", "console", "window", "document", "localStorage", "module", "global"],
1958      i = [].concat(r, t, s);
1959    return (o) => {
1960      const l = o.regex,
1961        b = e,
1962        d = {
1963          begin: /<[A-Za-z0-9\\._:-]+/,
1964          end: /\/[A-Za-z0-9\\._:-]+>|\/>/,
1965          isTrulyOpeningTag: (e, n) => {
1966            const a = e[0].length + e.index,
1967              t = e.input[a];
1968            if ("<" === t || "," === t) return void n.ignoreMatch();
1969            let s;
1970            ">" === t &&
1971              (((e, { after: n }) => {
1972                const a = "</" + e[0].slice(1);
1973                return -1 !== e.input.indexOf(a, n);
1974              })(e, { after: a }) ||
1975                n.ignoreMatch()),
1976              (s = e.input.substr(a).match(/^\s+extends\s+/)) && 0 === s.index && n.ignoreMatch();
1977          },
1978        },
1979        g = { $pattern: e, keyword: n, literal: a, built_in: i, "variable.language": c },
1980        u = "\\.([0-9](_?[0-9])*)",
1981        m = "0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",
1982        E = {
1983          className: "number",
1984          variants: [
1985            {
1986              begin: `(\\b(${m})((${u})|\\.)?|(${u}))[eE][+-]?([0-9](_?[0-9])*)\\b`,
1987            },
1988            {
1989              begin: `\\b(${m})\\b((${u})\\b|\\.)?|(${u})\\b`,
1990            },
1991            {
1992              begin: "\\b(0|[1-9](_?[0-9])*)n\\b",
1993            },
1994            {
1995              begin: "\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b",
1996            },
1997            {
1998              begin: "\\b0[bB][0-1](_?[0-1])*n?\\b",
1999            },
2000            { begin: "\\b0[oO][0-7](_?[0-7])*n?\\b" },
2001            {
2002              begin: "\\b0[0-7]+n?\\b",
2003            },
2004          ],
2005          relevance: 0,
2006        },
2007        A = { className: "subst", begin: "\\$\\{", end: "\\}", keywords: g, contains: [] },
2008        y = {
2009          begin: "html`",
2010          end: "",
2011          starts: { end: "`", returnEnd: !1, contains: [o.BACKSLASH_ESCAPE, A], subLanguage: "xml" },
2012        },
2013        N = {
2014          begin: "css`",
2015          end: "",
2016          starts: { end: "`", returnEnd: !1, contains: [o.BACKSLASH_ESCAPE, A], subLanguage: "css" },
2017        },
2018        _ = { className: "string", begin: "`", end: "`", contains: [o.BACKSLASH_ESCAPE, A] },
2019        f = {
2020          className: "comment",
2021          variants: [
2022            o.COMMENT(/\/\*\*(?!\/)/, "\\*/", {
2023              relevance: 0,
2024              contains: [
2025                {
2026                  begin: "(?=@[A-Za-z]+)",
2027                  relevance: 0,
2028                  contains: [
2029                    { className: "doctag", begin: "@[A-Za-z]+" },
2030                    { className: "type", begin: "\\{", end: "\\}", excludeEnd: !0, excludeBegin: !0, relevance: 0 },
2031                    { className: "variable", begin: b + "(?=\\s*(-)|$)", endsParent: !0, relevance: 0 },
2032                    { begin: /(?=[^\n])\s/, relevance: 0 },
2033                  ],
2034                },
2035              ],
2036            }),
2037            o.C_BLOCK_COMMENT_MODE,
2038            o.C_LINE_COMMENT_MODE,
2039          ],
2040        },
2041        h = [o.APOS_STRING_MODE, o.QUOTE_STRING_MODE, y, N, _, E];
2042      A.contains = h.concat({
2043        begin: /\{/,
2044        end: /\}/,
2045        keywords: g,
2046        contains: ["self"].concat(h),
2047      });
2048      const v = [].concat(f, A.contains),
2049        p = v.concat([{ begin: /\(/, end: /\)/, keywords: g, contains: ["self"].concat(v) }]),
2050        S = { className: "params", begin: /\(/, end: /\)/, excludeBegin: !0, excludeEnd: !0, keywords: g, contains: p },
2051        w = {
2052          variants: [
2053            {
2054              match: [/class/, /\s+/, b, /\s+/, /extends/, /\s+/, l.concat(b, "(", l.concat(/\./, b), ")*")],
2055              scope: { 1: "keyword", 3: "title.class", 5: "keyword", 7: "title.class.inherited" },
2056            },
2057            {
2058              match: [/class/, /\s+/, b],
2059              scope: { 1: "keyword", 3: "title.class" },
2060            },
2061          ],
2062        },
2063        R = {
2064          relevance: 0,
2065          match: l.either(
2066            /\bJSON/,
2067            /\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,
2068            /\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,
2069            /\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/,
2070          ),
2071          className: "title.class",
2072          keywords: { _: [...t, ...s] },
2073        },
2074        O = {
2075          variants: [
2076            {
2077              match: [/function/, /\s+/, b, /(?=\s*\()/],
2078            },
2079            { match: [/function/, /\s*(?=\()/] },
2080          ],
2081          className: { 1: "keyword", 3: "title.function" },
2082          label: "func.def",
2083          contains: [S],
2084          illegal: /%/,
2085        },
2086        k = {
2087          match: l.concat(/\b/, ((I = [...r, "super"]), l.concat("(?!", I.join("|"), ")")), b, l.lookahead(/\(/)),
2088          className: "title.function",
2089          relevance: 0,
2090        };
2091      var I;
2092      const x = {
2093          begin: l.concat(/\./, l.lookahead(l.concat(b, /(?![0-9A-Za-z$_(])/))),
2094          end: b,
2095          excludeBegin: !0,
2096          keywords: "prototype",
2097          className: "property",
2098          relevance: 0,
2099        },
2100        T = {
2101          match: [/get|set/, /\s+/, b, /(?=\()/],
2102          className: { 1: "keyword", 3: "title.function" },
2103          contains: [{ begin: /\(\)/ }, S],
2104        },
2105        C = "(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|" + o.UNDERSCORE_IDENT_RE + ")\\s*=>",
2106        M = {
2107          match: [/const|var|let/, /\s+/, b, /\s*/, /=\s*/, /(async\s*)?/, l.lookahead(C)],
2108          keywords: "async",
2109          className: { 1: "keyword", 3: "title.function" },
2110          contains: [S],
2111        };
2112      return {
2113        name: "Javascript",
2114        aliases: ["js", "jsx", "mjs", "cjs"],
2115        keywords: g,
2116        exports: {
2117          PARAMS_CONTAINS: p,
2118          CLASS_REFERENCE: R,
2119        },
2120        illegal: /#(?![$_A-z])/,
2121        contains: [
2122          o.SHEBANG({ label: "shebang", binary: "node", relevance: 5 }),
2123          {
2124            label: "use_strict",
2125            className: "meta",
2126            relevance: 10,
2127            begin: /^\s*['"]use (strict|asm)['"]/,
2128          },
2129          o.APOS_STRING_MODE,
2130          o.QUOTE_STRING_MODE,
2131          y,
2132          N,
2133          _,
2134          f,
2135          E,
2136          R,
2137          { className: "attr", begin: b + l.lookahead(":"), relevance: 0 },
2138          M,
2139          {
2140            begin: "(" + o.RE_STARTERS_RE + "|\\b(case|return|throw)\\b)\\s*",
2141            keywords: "return throw case",
2142            relevance: 0,
2143            contains: [
2144              f,
2145              o.REGEXP_MODE,
2146              {
2147                className: "function",
2148                begin: C,
2149                returnBegin: !0,
2150                end: "\\s*=>",
2151                contains: [
2152                  {
2153                    className: "params",
2154                    variants: [
2155                      { begin: o.UNDERSCORE_IDENT_RE, relevance: 0 },
2156                      {
2157                        className: null,
2158                        begin: /\(\s*\)/,
2159                        skip: !0,
2160                      },
2161                      { begin: /\(/, end: /\)/, excludeBegin: !0, excludeEnd: !0, keywords: g, contains: p },
2162                    ],
2163                  },
2164                ],
2165              },
2166              { begin: /,/, relevance: 0 },
2167              { match: /\s+/, relevance: 0 },
2168              {
2169                variants: [
2170                  { begin: "<>", end: "</>" },
2171                  {
2172                    match: /<[A-Za-z0-9\\._:-]+\s*\/>/,
2173                  },
2174                  { begin: d.begin, "on:begin": d.isTrulyOpeningTag, end: d.end },
2175                ],
2176                subLanguage: "xml",
2177                contains: [
2178                  {
2179                    begin: d.begin,
2180                    end: d.end,
2181                    skip: !0,
2182                    contains: ["self"],
2183                  },
2184                ],
2185              },
2186            ],
2187          },
2188          O,
2189          {
2190            beginKeywords: "while if switch catch for",
2191          },
2192          {
2193            begin:
2194              "\\b(?!function)" +
2195              o.UNDERSCORE_IDENT_RE +
2196              "\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",
2197            returnBegin: !0,
2198            label: "func.def",
2199            contains: [S, o.inherit(o.TITLE_MODE, { begin: b, className: "title.function" })],
2200          },
2201          { match: /\.\.\./, relevance: 0 },
2202          x,
2203          { match: "\\$" + b, relevance: 0 },
2204          { match: [/\bconstructor(?=\s*\()/], className: { 1: "title.function" }, contains: [S] },
2205          k,
2206          { relevance: 0, match: /\b[A-Z][A-Z_0-9]+\b/, className: "variable.constant" },
2207          w,
2208          T,
2209          { match: /\$[(.]/ },
2210        ],
2211      };
2212    };
2213  })();
2214  hljs.registerLanguage("javascript", e);
2215})(); /*! `markdown` grammar compiled for Highlight.js 11.5.0 */
2216(() => {
2217  var e = (() => {
2218    "use strict";
2219    return (e) => {
2220      const n = { begin: /<\/?[A-Za-z_]/, end: ">", subLanguage: "xml", relevance: 0 },
2221        a = {
2222          variants: [
2223            { begin: /\[.+?\]\[.*?\]/, relevance: 0 },
2224            {
2225              begin: /\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,
2226              relevance: 2,
2227            },
2228            {
2229              begin: e.regex.concat(/\[.+?\]\(/, /[A-Za-z][A-Za-z0-9+.-]*/, /:\/\/.*?\)/),
2230              relevance: 2,
2231            },
2232            { begin: /\[.+?\]\([./?&#].*?\)/, relevance: 1 },
2233            {
2234              begin: /\[.*?\]\(.*?\)/,
2235              relevance: 0,
2236            },
2237          ],
2238          returnBegin: !0,
2239          contains: [
2240            { match: /\[(?=\])/ },
2241            { className: "string", relevance: 0, begin: "\\[", end: "\\]", excludeBegin: !0, returnEnd: !0 },
2242            { className: "link", relevance: 0, begin: "\\]\\(", end: "\\)", excludeBegin: !0, excludeEnd: !0 },
2243            { className: "symbol", relevance: 0, begin: "\\]\\[", end: "\\]", excludeBegin: !0, excludeEnd: !0 },
2244          ],
2245        },
2246        i = {
2247          className: "strong",
2248          contains: [],
2249          variants: [
2250            { begin: /_{2}/, end: /_{2}/ },
2251            { begin: /\*{2}/, end: /\*{2}/ },
2252          ],
2253        },
2254        s = {
2255          className: "emphasis",
2256          contains: [],
2257          variants: [
2258            { begin: /\*(?!\*)/, end: /\*/ },
2259            {
2260              begin: /_(?!_)/,
2261              end: /_/,
2262              relevance: 0,
2263            },
2264          ],
2265        },
2266        c = e.inherit(i, { contains: [] }),
2267        t = e.inherit(s, { contains: [] });
2268      i.contains.push(t), s.contains.push(c);
2269      let g = [n, a];
2270      return (
2271        [i, s, c, t].forEach((e) => {
2272          e.contains = e.contains.concat(g);
2273        }),
2274        (g = g.concat(i, s)),
2275        {
2276          name: "Markdown",
2277          aliases: ["md", "mkdown", "mkd"],
2278          contains: [
2279            {
2280              className: "section",
2281              variants: [
2282                { begin: "^#{1,6}", end: "$", contains: g },
2283                {
2284                  begin: "(?=^.+?\\n[=-]{2,}$)",
2285                  contains: [{ begin: "^[=-]*$" }, { begin: "^", end: "\\n", contains: g }],
2286                },
2287              ],
2288            },
2289            n,
2290            { className: "bullet", begin: "^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", end: "\\s+", excludeEnd: !0 },
2291            i,
2292            s,
2293            { className: "quote", begin: "^>\\s+", contains: g, end: "$" },
2294            {
2295              className: "code",
2296              variants: [
2297                { begin: "(`{3,})[^`](.|\\n)*?\\1`*[ ]*" },
2298                {
2299                  begin: "(~{3,})[^~](.|\\n)*?\\1~*[ ]*",
2300                },
2301                { begin: "```", end: "```+[ ]*$" },
2302                {
2303                  begin: "~~~",
2304                  end: "~~~+[ ]*$",
2305                },
2306                { begin: "`.+?`" },
2307                { begin: "(?=^( {4}|\\t))", contains: [{ begin: "^( {4}|\\t)", end: "(\\n)$" }], relevance: 0 },
2308              ],
2309            },
2310            {
2311              begin: "^[-\\*]{3,}",
2312              end: "$",
2313            },
2314            a,
2315            {
2316              begin: /^\[[^\n]+\]:/,
2317              returnBegin: !0,
2318              contains: [
2319                {
2320                  className: "symbol",
2321                  begin: /\[/,
2322                  end: /\]/,
2323                  excludeBegin: !0,
2324                  excludeEnd: !0,
2325                },
2326                {
2327                  className: "link",
2328                  begin: /:\s*/,
2329                  end: /$/,
2330                  excludeBegin: !0,
2331                },
2332              ],
2333            },
2334          ],
2335        }
2336      );
2337    };
2338  })();
2339  hljs.registerLanguage("markdown", e);
2340})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.