PageSourceSearch

https://cdn.host.io/static/assets/prism.js

js host.io collected 2026-10-01 11:32:55 UTC 38,226 bytes, 826 lines download raw bytes

1/* PrismJS 1.19.0
2https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+bash+json */
3var _self =
4        'undefined' != typeof window
5            ? window
6            : 'undefined' != typeof WorkerGlobalScope &&
7              self instanceof WorkerGlobalScope
8            ? self
9            : {},
10    Prism = (function(u) {
11        var c = /\blang(?:uage)?-([\w-]+)\b/i,
12            r = 0,
13            C = {
14                manual: u.Prism && u.Prism.manual,
15                disableWorkerMessageHandler:
16                    u.Prism && u.Prism.disableWorkerMessageHandler,
17                util: {
18                    encode: function e(r) {
19                        return r instanceof _
20                            ? new _(r.type, e(r.content), r.alias)
21                            : Array.isArray(r)
22                            ? r.map(e)
23                            : r
24                                  .replace(/&/g, '&')
25                                  .replace(/</g, '&lt;')
26                                  .replace(/\u00a0/g, ' ')
27                    },
28                    type: function(e) {
29                        return Object.prototype.toString.call(e).slice(8, -1)
30                    },
31                    objId: function(e) {
32                        return (
33                            e.__id ||
34                                Object.defineProperty(e, '__id', {
35                                    value: ++r
36                                }),
37                            e.__id
38                        )
39                    },
40                    clone: function n(e, t) {
41                        var a,
42                            r,
43                            i = C.util.type(e)
44                        switch (((t = t || {}), i)) {
45                            case 'Object':
46                                if (((r = C.util.objId(e)), t[r])) return t[r]
47                                for (var o in ((a = {}), (t[r] = a), e))
48                                    e.hasOwnProperty(o) && (a[o] = n(e[o], t))
49                                return a
50                            case 'Array':
51                                return (
52                                    (r = C.util.objId(e)),
53                                    t[r]
54                                        ? t[r]
55                                        : ((a = []),
56                                          (t[r] = a),
57                                          e.forEach(function(e, r) {
58                                              a[r] = n(e, t)
59                                          }),
60                                          a)
61                                )
62                            default:
63                                return e
64                        }
65                    },
66                    getLanguage: function(e) {
67                        for (; e && !c.test(e.className); ) e = e.parentElement
68                        return e
69                            ? (e.className.match(c) || [
70                                  ,
71                                  'none'
72                              ])[1].toLowerCase()
73                            : 'none'
74                    },
75                    currentScript: function() {
76                        if ('undefined' == typeof document) return null
77                        if ('currentScript' in document)
78                            return document.currentScript
79                        try {
80                            throw new Error()
81                        } catch (e) {
82                            var r = (/at [^(\r\n]*\((.*):.+:.+\)$/i.exec(
83                                e.stack
84                            ) || [])[1]
85                            if (r) {
86                                var n = document.getElementsByTagName('script')
87                                for (var t in n) if (n[t].src == r) return n[t]
88                            }
89                            return null
90                        }
91                    }
92                },
93                languages: {
94                    extend: function(e, r) {
95                        var n = C.util.clone(C.languages[e])
96                        for (var t in r) n[t] = r[t]
97                        return n
98                    },
99                    insertBefore: function(n, e, r, t) {
100                        var a = (t = t || C.languages)[n],
101                            i = {}
102                        for (var o in a)
103                            if (a.hasOwnProperty(o)) {
104                                if (o == e)
105                                    for (var l in r)
106                                        r.hasOwnProperty(l) && (i[l] = r[l])
107                                r.hasOwnProperty(o) || (i[o] = a[o])
108                            }
109                        var s = t[n]
110                        return (
111                            (t[n] = i),
112                            C.languages.DFS(C.languages, function(e, r) {
113                                r === s && e != n && (this[e] = i)
114                            }),
115                            i
116                        )
117                    },
118                    DFS: function e(r, n, t, a) {
119                        a = a || {}
120                        var i = C.util.objId
121                        for (var o in r)
122                            if (r.hasOwnProperty(o)) {
123                                n.call(r, o, r[o], t || o)
124                                var l = r[o],
125                                    s = C.util.type(l)
126                                'Object' !== s || a[i(l)]
127                                    ? 'Array' !== s ||
128                                      a[i(l)] ||
129                                      ((a[i(l)] = !0), e(l, n, o, a))
130                                    : ((a[i(l)] = !0), e(l, n, null, a))
131                            }
132                    }
133                },
134                plugins: {},
135                highlightAll: function(e, r) {
136                    C.highlightAllUnder(document, e, r)
137                },
138                highlightAllUnder: function(e, r, n) {
139                    var t = {
140                        callback: n,
141                        container: e,
142                        selector:
143                            'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
144                    }
145                    C.hooks.run('before-highlightall', t),
146                        (t.elements = Array.prototype.slice.apply(
147                            t.container.querySelectorAll(t.selector)
148                        )),
149                        C.hooks.run('before-all-elements-highlight', t)
150                    for (var a, i = 0; (a = t.elements[i++]); )
151                        C.highlightElement(a, !0 === r, t.callback)
152                },
153                highlightElement: function(e, r, n) {
154                    var t = C.util.getLanguage(e),
155                        a = C.languages[t]
156                    e.className =
157                        e.className.replace(c, '').replace(/\s+/g, ' ') +
158                        ' language-' +
159                        t
160                    var i = e.parentNode
161                    i &&
162                        'pre' === i.nodeName.toLowerCase() &&
163                        (i.className =
164                            i.className.replace(c, '').replace(/\s+/g, ' ') +
165                            ' language-' +
166                            t)
167                    var o = {
168                        element: e,
169                        language: t,
170                        grammar: a,
171                        code: e.textContent
172                    }
173                    function l(e) {
174                        ;
174(o.highlightedCode = e),
175                            C.hooks.run('before-insert', o),
176                            (o.element.innerHTML = o.highlightedCode),
177                            C.hooks.run('after-highlight', o),
178                            C.hooks.run('complete', o),
179                            n && n.call(o.element)
180                    }
181                    if ((C.hooks.run('before-sanity-check', o), !o.code))
182                        return (
183                            C.hooks.run('complete', o),
184                            void (n && n.call(o.element))
185                        )
186                    if ((C.hooks.run('before-highlight', o), o.grammar))
187                        if (r && u.Worker) {
188                            var s = new Worker(C.filename)
189                            ;(s.onmessage = function(e) {
190                                l(e.data)
191                            }),
192                                s.postMessage(
193                                    JSON.stringify({
194                                        language: o.language,
195                                        code: o.code,
196                                        immediateClose: !0
197                                    })
198                                )
199                        } else l(C.highlight(o.code, o.grammar, o.language))
200                    else l(C.util.encode(o.code))
201                },
202                highlight: function(e, r, n) {
203                    var t = { code: e, grammar: r, language: n }
204                    return (
205                        C.hooks.run('before-tokenize', t),
206                        (t.tokens = C.tokenize(t.code, t.grammar)),
207                        C.hooks.run('after-tokenize', t),
208                        _.stringify(C.util.encode(t.tokens), t.language)
209                    )
210                },
211                matchGrammar: function(e, r, n, t, a, i, o) {
212                    for (var l in n)
213                        if (n.hasOwnProperty(l) && n[l]) {
214                            var s = n[l]
215                            s = Array.isArray(s) ? s : [s]
216                            for (var u = 0; u < s.length; ++u) {
217                                if (o && o == l + ',' + u) return
218                                var c = s[u],
219                                    g = c.inside,
220                                    f = !!c.lookbehind,
221                                    h = !!c.greedy,
222                                    d = 0,
223                                    m = c.alias
224                                if (h && !c.pattern.global) {
225                                    var p = c.pattern
226                                        .toString()
227                                        .match(/[imsuy]*$/)[0]
228                                    c.pattern = RegExp(
229                                        c.pattern.source,
230                                        p + 'g'
231                                    )
232                                }
233                                c = c.pattern || c
234                                for (
235                                    var y = t, v = a;
236                                    y < r.length;
237                                    v += r[y].length, ++y
238                                ) {
239                                    var k = r[y]
240                                    if (r.length > e.length) return
241                                    if (!(k instanceof _)) {
242                                        if (h && y != r.length - 1) {
243                                            if (
244                                                ((c.lastIndex = v),
245                                                !(S = c.exec(e)))
246                                            )
247                                                break
248                                            for (
249                                                var b =
250                                                        S.index +
251                                                        (f && S[1]
252                                                            ? S[1].length
253                                                            : 0),
254                                                    w = S.index + S[0].length,
255                                                    A = y,
256                                                    P = v,
257                                                    x = r.length;
258                                                A < x &&
259                                                (P < w ||
260                                                    (!r[A].type &&
261                                                        !r[A - 1].greedy));
262                                                ++A
263                                            )
264                                                (P += r[A].length) <= b &&
265                                                    (++y, (v = P))
266                                            if (r[y] instanceof _) continue
267                                            ;(O = A - y),
268                                                (k = e.slice(v, P)),
269                                                (S.index -= v)
270                                        } else {
271                                            c.lastIndex = 0
272                                            var S = c.exec(k),
273                                                O = 1
274                                        }
275                                        if (S) {
276                                            f && (d = S[1] ? S[1].length : 0)
277                                            w =
278                                                (b = S.index + d) +
279                                                (S = S[0].slice(d)).length
280                                            var E = k.slice(0, b),
281                                                N = k.slice(w),
282                                                j = [y, O]
283                                            E &&
284                                                (++y,
285                                                (v += E.length),
286                                                j.push(E))
287                                            var L = new _(
288                                                l,
289                                                g ? C.tokenize(S, g) : S,
290                                                m,
291                                                S,
292                                                h
293                                            )
294                                            if (
295                                                (j.push(L),
296                                                N && j.push(N),
297                                                Array.prototype.splice.apply(
298                                                    r,
299                                                    j
300                                                ),
301                                                1 != O &&
302                                                    C.matchGrammar(
303                                                        e,
304                                                        r,
305                                                        n,
306                                                        y,
307                                                        v,
308                                                        !0,
309                                                        l + ',' + u
310                                                    ),
311                                                i)
312                                            )
313                                                break
314                                        } else if (i) break
315                                    }
316                                }
317                            }
318                        }
319                },
320                tokenize: function(e, r) {
321                    var n = [e],
322                        t = r.rest
323                    if (t) {
324                        for (var a in t) r[a] = t[a]
325                        delete r.rest
326                    }
327                    return C.matchGrammar(e, n, r, 0, 0, !1), n
328                },
329                hooks: {
330                    all: {},
331                    add: function(e, r) {
332                        var n = C.hooks.all
333                        ;(n[e] = n[e] || []), n[e].push(r)
334                    },
335                    run: function(e, r) {
336                        var n = C.hooks.all[e]
337                        if (n && n.length)
338                            for (var t, a = 0; (t = n[a++]); ) t(r)
339                    }
340                },
341                Token: _
342            }
343        function _(e, r, n, t, a) {
344            ;(this.type = e),
345                (this.content = r),
346                (this.alias = n),
347                (this.length = 0 | (t || '').length),
348                (this.greedy = !!a)
349        }
350        if (
351            ((u.Prism = C),
352            (_.stringify = function r(e, n) {
353                if ('string' == typeof e) return e
354                if (Array.isArray(e)) {
355                    var t = ''
356                    return (
357                        e.forEach(function(e) {
358                            t += r(e, n)
359                        }),
360                        t
361                    )
362                }
363                var a = {
364                        type: e.type,
365                        content: r(e.content, n),
366                        tag: 'span',
367                        classes: ['token', e.type],
368                        attributes: {},
369                        language: n
370                    },
371                    i = e.alias
372                i &&
373                    (Array.isArray(i)
374                        ? Array.prototype.push.apply(a.classes, i)
375                        : a.classes.push(i)),
376                    C.hooks.run('wrap', a)
377                var o = ''
378                for (var l in a.attributes)
379                    o +=
380                        ' ' +
381                        l +
382                        '="' +
383                        (a.attributes[l] || '').replace(/"/g, '&quot;') +
384                        '"'
385                return (
386                    '<' +
387                    a.tag +
388                    ' class="' +
389                    a.classes.join(' ') +
390                    '"' +
391                    o +
392                    '>' +
393                    a.content +
394                    '</' +
395                    a.tag +
396                    '>'
397                )
398            }),
399            !u.document)
400        )
401            return (
402                u.addEventListener &&
403                    (C.disableWorkerMessageHandler ||
404                        u.addEventListener(
405                            'message',
406                            function(e) {
407                                var r = JSON.parse(e.data),
408                                    n = r.language,
409                                    t = r.code,
410                                    a = r.immediateClose
411                                u.postMessage(
412                                    C.highlight(t, C.languages[n], n)
413                                ),
414                                    a && u.close()
415                            },
416                            !1
417                        )),
418                C
419            )
420        var e = C.util.currentScript()
421        function n() {
422            C.manual || C.highlightAll()
423        }
424        if (
425            (e &&
426                ((C.filename = e.src),
427                e.hasAttribute('data-manual') && (C.manual = !0)),
428            !C.manual)
429        ) {
430            var t = document.readyState
431            'loading' === t || ('interactive' === t && e && e.defer)
432                ? document.addEventListener('DOMContentLoaded', n)
433                : window.requestAnimationFrame
434                ? window.requestAnimationFrame(n)
435                : window.setTimeout(n, 16)
436        }
437        return C
438    })(_self)
439'undefined' != typeof module && module.exports && (module.exports = Prism),
440    'undefined' != typeof global && (global.Prism = Prism)
441;(Prism.languages.markup = {
442    comment: /<!--[\s\S]*?-->/,
443    prolog: /<\?[\s\S]+?\?>/,
444    doctype: {
445        pattern: /<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:(?!<!--)[^"'\]]|"[^"]*"|'[^']*'|<!--[\s\S]*?-->)*\]\s*)?>/i,
446        greedy: !0
447    },
448    cdata: /<!\[CDATA\[[\s\S]*?]]>/i,
449    tag: {
450        pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>
450\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,
451        greedy: !0,
452        inside: {
453            tag: {
454                pattern: /^<\/?[^\s>\/]+/i,
455                inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ }
456            },
457            'attr-value': {
458                pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,
459                inside: {
460                    punctuation: [
461                        /^=/,
462                        { pattern: /^(\s*)["']|["']$/, lookbehind: !0 }
463                    ]
464                }
465            },
466            punctuation: /\/?>/,
467            'attr-name': {
468                pattern: /[^\s>\/]+/,
469                inside: { namespace: /^[^\s>\/:]+:/ }
470            }
471        }
472    },
473    entity: /&#?[\da-z]{1,8};/i
474}),
475    (Prism.languages.markup.tag.inside['attr-value'].inside.entity =
476        Prism.languages.markup.entity),
477    Prism.hooks.add('wrap', function(a) {
478        'entity' === a.type &&
479            (a.attributes.title = a.content.replace(/&amp;/, '&'))
480    }),
481    Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {
482        value: function(a, e) {
483            var s = {}
484            ;(s['language-' + e] = {
485                pattern: /(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,
486                lookbehind: !0,
487                inside: Prism.languages[e]
488            }),
489                (s.cdata = /^<!\[CDATA\[|\]\]>$/i)
490            var n = {
491                'included-cdata': {
492                    pattern: /<!\[CDATA\[[\s\S]*?\]\]>/i,
493                    inside: s
494                }
495            }
496            n['language-' + e] = {
497                pattern: /[\s\S]+/,
498                inside: Prism.languages[e]
499            }
500            var t = {}
501            ;(t[a] = {
502                pattern: RegExp(
503                    '(<__[\\s\\S]*?>)(?:<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\s*|[\\s\\S])*?(?=<\\/__>)'.replace(
504                        /__/g,
505                        a
506                    ),
507                    'i'
508                ),
509                lookbehind: !0,
510                greedy: !0,
511                inside: n
512            }),
513                Prism.languages.insertBefore('markup', 'cdata', t)
514        }
515    }),
516    (Prism.languages.xml = Prism.languages.extend('markup', {})),
517    (Prism.languages.html = Prism.languages.markup),
518    (Prism.languages.mathml = Prism.languages.markup),
519    (Prism.languages.svg = Prism.languages.markup)
520!(function(s) {
521    var e = /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/
522    ;(s.languages.css = {
523        comment: /\/\*[\s\S]*?\*\//,
524        atrule: {
525            pattern: /@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,
526            inside: {
527                rule: /^@[\w-]+/,
528                'selector-function-argument': {
529                    pattern: /(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/,
530                    lookbehind: !0,
531                    alias: 'selector'
532                }
533            }
534        },
535        url: {
536            pattern: RegExp('url\\((?:' + e.source + '|[^\n\r()]*)\\)', 'i'),
537            inside: { function: /^url/i, punctuation: /^\(|\)$/ }
538        },
539        selector: RegExp('[^{}\\s](?:[^{};"\']|' + e.source + ')*?(?=\\s*\\{)'),
540        string: { pattern: e, greedy: !0 },
541        property: /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,
542        important: /!important\b/i,
543        function: /[-a-z0-9]+(?=\()/i,
544        punctuation: /[(){};:,]/
545    }),
546        (s.languages.css.atrule.inside.rest = s.languages.css)
547    var t = s.languages.markup
548    t &&
549        (t.tag.addInlined('style', 'css'),
550        s.languages.insertBefore(
551            'inside',
552            'attr-value',
553            {
554                'style-attr': {
555                    pattern: /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,
556                    inside: {
557                        'attr-name': {
558                            pattern: /^\s*style/i,
559                            inside: t.tag.inside
560                        },
561                        punctuation: /^\s*=\s*['"]|['"]\s*$/,
562                        'attr-value': {
563                            pattern: /.+/i,
564                            inside: s.languages.css
565                        }
566                    },
567                    alias: 'language-css'
568                }
569            },
570            t.tag
571        ))
572})(Prism)
573Prism.languages.clike = {
574    comment: [
575        { pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: !0 },
576        { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 }
577    ],
578    string: {
579        pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
580        greedy: !0
581    },
582    'class-name': {
583        pattern: /(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,
584        lookbehind: !0,
585        inside: { punctuation: /[.\\]/ }
586    },
587    keyword: /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
588    boolean: /\b(?:true|false)\b/,
589    function: /\w+(?=\()/,
590    number: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,
591    operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,
592    punctuation: /[{}[\];(),.:]/
593}
594;(Prism.languages.javascript = Prism.languages.extend('clike', {
595    'class-name': [
596        Prism.languages.clike['class-name'],
597        {
598            pattern: /(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,
599            lookbehind: !0
600        }
601    ],
602    keyword: [
603        { pattern: /((?:^|})\s*)(?:catch|finally)\b/, lookbehind: !0 },
604        {
605            pattern: /(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,
606            lookbehind: !0
607        }
608    ],
609    number: /\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,
610    function: /#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,
611    operator: /--|\+\+|\*\*=?|=>|&&|\|\||[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?[.?]?|[~:]/
612})),
613    (Prism.languages.javascript[
614        'class-name'
615    ][0].pattern = /(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/),
616    Prism.languages.insertBefore('javascript', 'keyword', {
617        regex: {
618            pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*[\s\S]*?\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,
619            lookbehind: !0,
620            greedy: !0
621        },
622        'function-variable': {
623            pattern: /#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]
623*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,
624            alias: 'function'
625        },
626        parameter: [
627            {
628                pattern: /(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,
629                lookbehind: !0,
630                inside: Prism.languages.javascript
631            },
632            {
633                pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,
634                inside: Prism.languages.javascript
635            },
636            {
637                pattern: /(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,
638                lookbehind: !0,
639                inside: Prism.languages.javascript
640            },
641            {
642                pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,
643                lookbehind: !0,
644                inside: Prism.languages.javascript
645            }
646        ],
647        constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/
648    }),
649    Prism.languages.insertBefore('javascript', 'string', {
650        'template-string': {
651            pattern: /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,
652            greedy: !0,
653            inside: {
654                'template-punctuation': { pattern: /^`|`$/, alias: 'string' },
655                interpolation: {
656                    pattern: /((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,
657                    lookbehind: !0,
658                    inside: {
659                        'interpolation-punctuation': {
660                            pattern: /^\${|}$/,
661                            alias: 'punctuation'
662                        },
663                        rest: Prism.languages.javascript
664                    }
665                },
666                string: /[\s\S]+/
667            }
668        }
669    }),
670    Prism.languages.markup &&
671        Prism.languages.markup.tag.addInlined('script', 'javascript'),
672    (Prism.languages.js = Prism.languages.javascript)
673!(function(e) {
674    var t =
675            '\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_
675CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b',
676        n = {
677            environment: { pattern: RegExp('\\$' + t), alias: 'constant' },
678            variable: [
679                {
680                    pattern: /\$?\(\([\s\S]+?\)\)/,
681                    greedy: !0,
682                    inside: {
683                        variable: [
684                            { pattern: /(^\$\(\([\s\S]+)\)\)/, lookbehind: !0 },
685                            /^\$\(\(/
686                        ],
687                        number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/,
688                        operator: /--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,
689                        punctuation: /\(\(?|\)\)?|,|;/
690                    }
691                },
692                {
693                    pattern: /\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,
694                    greedy: !0,
695                    inside: { variable: /^\$\(|^`|\)$|`$/ }
696                },
697                {
698                    pattern: /\$\{[^}]+\}/,
699                    greedy: !0,
700                    inside: {
701                        operator: /:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,
702                        punctuation: /[\[\]]/,
703                        environment: {
704                            pattern: RegExp('(\\{)' + t),
705                            lookbehind: !0,
706                            alias: 'constant'
707                        }
708                    }
709                },
710                /\$(?:\w+|[#?*!@$])/
711            ],
712            entity: /\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/
713        }
714    e.languages.bash = {
715        shebang: { pattern: /^#!\s*\/.*/, alias: 'important' },
716        comment: { pattern: /(^|[^"{\\$])#.*/, lookbehind: !0 },
717        'function-name': [
718            {
719                pattern: /(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,
720                lookbehind: !0,
721                alias: 'function'
722            },
723            { pattern: /\b\w+(?=\s*\(\s*\)\s*\{)/, alias: 'function' }
724        ],
725        'for-or-select': {
726            pattern: /(\b(?:for|select)\s+)\w+(?=\s+in\s)/,
727            alias: 'variable',
728            lookbehind: !0
729        },
730        'assign-left': {
731            pattern: /(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,
732            inside: {
733                environment: {
734                    pattern: RegExp('(^|[\\s;|&]|[<>]\\()' + t),
735                    lookbehind: !0,
736                    alias: 'constant'
737                }
738            },
739            alias: 'variable',
740            lookbehind: !0
741        },
742        string: [
743            {
744                pattern: /((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\2/,
745                lookbehind: !0,
746                greedy: !0,
747                inside: n
748            },
749            {
750                pattern: /((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)[\s\S]*?(?:\r?\n|\r)\3/,
751                lookbehind: !0,
752                greedy: !0
753            },
754            {
755                pattern: /(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/,
756                greedy: !0,
757                inside: n
758            }
759        ],
760        environment: { pattern: RegExp('\\$?' + t), alias: 'constant' },
761        variable: n.variable,
762        function: {
763            pattern: /(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|
763scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,
764            lookbehind: !0
765        },
766        keyword: {
767            pattern: /(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,
768            lookbehind: !0
769        },
770        builtin: {
771            pattern: /(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,
772            lookbehind: !0,
773            alias: 'class-name'
774        },
775        boolean: {
776            pattern: /(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,
777            lookbehind: !0
778        },
779        'file-descriptor': { pattern: /\B&\d\b/, alias: 'important' },
780        operator: {
781            pattern: /\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,
782            inside: {
783                'file-descriptor': { pattern: /^\d/, alias: 'important' }
784            }
785        },
786        punctuation: /\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,
787        number: {
788            pattern: /(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,
789            lookbehind: !0
790        }
791    }
792    for (
793        var a = [
794                'comment',
795                'function-name',
796                'for-or-select',
797                'assign-left',
798                'string',
799                'environment',
800                'function',
801                'keyword',
802                'builtin',
803                'boolean',
804                'file-descriptor',
805                'operator',
806                'punctuation',
807                'number'
808            ],
809            r = n.variable[1].inside,
810            s = 0;
811        s < a.length;
812        s++
813    )
814        r[a[s]] = e.languages.bash[a[s]]
815    e.languages.shell = e.languages.bash
816})(Prism)
817Prism.languages.json = {
818    property: { pattern: /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/, greedy: !0 },
819    string: { pattern: /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/, greedy: !0 },
820    comment: /\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,
821    number: /-?\d+\.?\d*(?:e[+-]?\d+)?/i,
822    punctuation: /[{}[\],]/,
823    operator: /:/,
824    boolean: /\b(?:true|false)\b/,
825    null: { pattern: /\bnull\b/, alias: 'keyword' }
826}

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.