git-history-ui 5.0.2 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/README.md +21 -10
- package/build/frontend/chunk-5K2HNBK3.js +1 -0
- package/build/frontend/chunk-AS5GIWPS.js +1 -0
- package/build/frontend/{chunk-S56XRIZ7.js → chunk-COLUQZLF.js} +1 -1
- package/build/frontend/chunk-EAY7RGLT.js +1 -0
- package/build/frontend/{chunk-J5ZVP6TN.js → chunk-GHYTSHSI.js} +1 -1
- package/build/frontend/chunk-HHK3LJFN.js +1 -0
- package/build/frontend/chunk-HSZFTFM3.js +1 -0
- package/build/frontend/{chunk-UM7ESEXJ.js → chunk-MTI6UKQ3.js} +1 -1
- package/build/frontend/chunk-Q72JIHF2.js +1 -0
- package/build/frontend/chunk-T5NR37IK.js +1 -0
- package/build/frontend/chunk-UC5UORBU.js +1 -0
- package/build/frontend/{chunk-STUSEB5P.js → chunk-VDZMKPJL.js} +1 -1
- package/build/frontend/chunk-VT6O3MYC.js +1 -0
- package/build/frontend/index.html +2 -2
- package/build/frontend/main-TYWZN6ZP.js +1 -0
- package/build/frontend/styles-VRDIEW7E.css +1 -0
- package/dist/backend/server.d.ts.map +1 -1
- package/dist/backend/server.js +15 -0
- package/dist/backend/server.js.map +1 -1
- package/dist/backend/wrapped.d.ts +81 -0
- package/dist/backend/wrapped.d.ts.map +1 -0
- package/dist/backend/wrapped.js +251 -0
- package/dist/backend/wrapped.js.map +1 -0
- package/dist/cli.js +106 -1
- package/dist/cli.js.map +1 -1
- package/docs/API.md +1 -0
- package/package.json +7 -2
- package/scripts/check-native.js +65 -0
- package/build/frontend/chunk-6DL2ZTKG.js +0 -1
- package/build/frontend/chunk-ACWXPHRR.js +0 -1
- package/build/frontend/chunk-F6HZ5OVS.js +0 -1
- package/build/frontend/chunk-GHSRMAIR.js +0 -1
- package/build/frontend/chunk-PRY6VAFG.js +0 -1
- package/build/frontend/chunk-PXNKNORB.js +0 -1
- package/build/frontend/chunk-VGAHCEAA.js +0 -1
- package/build/frontend/chunk-XLGWMKXV.js +0 -1
- package/build/frontend/main-W5NQX3FE.js +0 -1
- package/build/frontend/styles-RQGRQK4Z.css +0 -1
- package/docs/images/demo.gif +0 -0
- package/docs/screenshot.png +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,30 @@ All notable changes to this project are documented in this file.
|
|
|
4
4
|
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and
|
|
5
5
|
this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [Unreleased]
|
|
8
|
+
|
|
9
|
+
## [5.1.0] - 2026-06-06
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- **Git Wrapped** — a Spotify-Wrapped-style year-in-review computed entirely
|
|
14
|
+
from local history. New `GET /api/wrapped` endpoint (params: `year`,
|
|
15
|
+
`since`, `until`, `branch`, `author`, `maxCommits`) and a
|
|
16
|
+
`git-history-ui wrapped [--year] [--author] [--json]` CLI subcommand that
|
|
17
|
+
prints a shareable terminal card. Reports commit/author/line/file totals,
|
|
18
|
+
top contributors, top files, top commit-message words, night-owl and
|
|
19
|
+
weekend-warrior percentages, biggest commit, busiest day/hour, and longest
|
|
20
|
+
commit streak. Local-first: no commit content leaves the machine.
|
|
21
|
+
|
|
22
|
+
## [5.0.3] - 2026-05-15
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- Replaced the 26 MB `demo.gif` with a 586 KB `demo.mp4` (H.264) embedded
|
|
27
|
+
via an HTML5 `<video>` tag in the README.
|
|
28
|
+
- Restricted the published npm tarball to markdown files under `docs/` so
|
|
29
|
+
binary assets never ship with the package again.
|
|
30
|
+
|
|
7
31
|
## [5.0.2] - 2026-05-15
|
|
8
32
|
|
|
9
33
|
### Changed
|
package/README.md
CHANGED
|
@@ -41,16 +41,11 @@ npx git-history-ui@latest
|
|
|
41
41
|
|
|
42
42
|
## ⚡ 10-second workflow
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
Done.
|
|
50
|
-
|
|
51
|
-
## 👀 Preview
|
|
52
|
-
|
|
53
|
-

|
|
44
|
+
<p align="center">
|
|
45
|
+
<video src="https://github.com/beingmartinbmc/git-history-ui/raw/main/docs/images/demo.mp4" controls muted playsinline width="900">
|
|
46
|
+
<a href="https://github.com/beingmartinbmc/git-history-ui/raw/main/docs/images/demo.mp4">▶ Watch the demo</a>
|
|
47
|
+
</video>
|
|
48
|
+
</p>
|
|
54
49
|
|
|
55
50
|
> `npx git-history-ui@latest` is the fastest way to see it for yourself —
|
|
56
51
|
> it opens in your browser in under a second.
|
|
@@ -215,8 +210,24 @@ Options:
|
|
|
215
210
|
|
|
216
211
|
Commands:
|
|
217
212
|
presets <action> [name] manage saved CLI presets
|
|
213
|
+
wrapped [options] print a "Git Wrapped" year-in-review for the repo
|
|
218
214
|
```
|
|
219
215
|
|
|
216
|
+
### Git Wrapped
|
|
217
|
+
|
|
218
|
+
Generate a shareable year-in-review for any repo, straight from the terminal:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
npx git-history-ui wrapped # current year
|
|
222
|
+
npx git-history-ui wrapped --year 2025 # a specific year
|
|
223
|
+
npx git-history-ui wrapped --author alice # one contributor
|
|
224
|
+
npx git-history-ui wrapped --json # raw JSON for scripting
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
The same data powers the in-browser **Insights → Wrapped** card, which you can
|
|
228
|
+
export as an image to share on social media. Everything is computed locally —
|
|
229
|
+
no commit content leaves your machine.
|
|
230
|
+
|
|
220
231
|
### Optional: bring your own AI key
|
|
221
232
|
|
|
222
233
|
```bash
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ac as a,Bc as g,Ec as l,Fc as s,X as m,aa as p}from"./chunk-MTI6UKQ3.js";var o=class n{http=p(g);base="/api";cache=new l(100);bundle(t={}){let e=new a;for(let[i,r]of Object.entries(t))r!=null&&(e=e.set(i,String(r)));return this.cache.get(`insights:${e.toString()}`,()=>this.http.get(`${this.base}/insights`,{params:e}),s.VOLATILE)}fileStats(t){let e=new a().set("file",t);return this.cache.get(`file-stats:${t}`,()=>this.http.get(`${this.base}/file-stats`,{params:e}),s.VOLATILE)}impact(t){return this.cache.get(`impact:${t}`,()=>this.http.get(`${this.base}/impact/${t}`),s.IMMUTABLE)}breakage(t,e={}){let i=new a().set("file",t);return e.limit!==void 0&&(i=i.set("limit",String(e.limit))),this.cache.get(`breakage:${i.toString()}`,()=>this.http.get(`${this.base}/breakage`,{params:i}),s.VOLATILE)}summarizeDiff(t){return this.http.post(`${this.base}/summarize-diff`,{text:t})}explainCommit(t){return this.cache.get(`explain:${t}`,()=>this.http.post(`${this.base}/explain-commit/${t}`,{}),s.IMMUTABLE)}wrapped(t={}){let e=new a;for(let[i,r]of Object.entries(t))r!=null&&r!==""&&(e=e.set(i,String(r)));return this.cache.get(`wrapped:${e.toString()}`,()=>this.http.get(`${this.base}/wrapped`,{params:e}),s.VOLATILE)}invalidate(){this.cache.clear()}static \u0275fac=function(e){return new(e||n)};static \u0275prov=m({token:n,factory:n.\u0275fac,providedIn:"root"})};export{o as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as G}from"./chunk-VDZMKPJL.js";import{c as A,e as q}from"./chunk-Q72JIHF2.js";import{a as w}from"./chunk-HSZFTFM3.js";import{a as U}from"./chunk-5K2HNBK3.js";import{$a as M,$b as k,Ab as f,Bb as d,Jb as V,Kb as b,Mb as a,Nb as c,Ob as u,Pb as T,Qb as H,Rb as $,Sa as r,Yb as y,a as D,aa as C,b as z,eb as m,ec as O,fa as v,fc as R,ga as x,nb as F,pa as g,qb as s,rb as i,rc as P,sb as n,sc as S,tb as B,uc as j,vc as I,xb as N,yb as L,zb as h}from"./chunk-MTI6UKQ3.js";function Y(t,o){t&1&&(i(0,"div",3),a(1,"Loading blame\u2026"),n())}function Z(t,o){if(t&1&&(i(0,"div",4),a(1),n()),t&2){let e=o.ngIf;r(),c(e)}}function ee(t,o){t&1&&(i(0,"div",3),a(1," No blame data (file may be binary or freshly created). "),n())}function te(t,o){if(t&1){let e=h();i(0,"div",7)(1,"div",8)(2,"code",9),f("click",function(){let p=v(e).$implicit,_=d(2);return x(_.onSelectCommit(p.hash))}),a(3),n(),i(4,"span",10),a(5),n(),i(6,"span",11),a(7),n()(),i(8,"span",12),a(9),n(),i(10,"pre",13),a(11),n()()}if(t&2){let e=o.$implicit,l=d(2);r(),b("invisible",!e.isFirstOfBlock),r(2),c(e.hash.slice(0,7)),r(2),c(e.author),r(2),c(l.shortDate(e.date)),r(2),c(e.line),r(2),c(e.content)}}function ne(t,o){if(t&1&&(i(0,"div",5),m(1,te,12,7,"div",6),n()),t&2){let e=d();r(),s("ngForOf",e.rows())("ngForTrackBy",e.trackByLine)}}var E=class t{gitService=C(w);set file(o){this._file=o,o?this.load(o):this.lines.set([])}get file(){return this._file}_file=null;onCommitClick=null;lines=g([]);loading=g(!1);error=g(null);rows=O(()=>{let o=[],e="";for(let l of this.lines())o.push(z(D({},l),{isFirstOfBlock:l.hash!==e})),e=l.hash;return o});trackByLine(o,e){return e.line}shortDate(o){return(o||"").slice(0,10)}onSelectCommit(o){this.onCommitClick&&this.onCommitClick(o)}load(o){this.loading.set(!0),this.error.set(null),this.gitService.getBlame(o).subscribe({next:e=>{this.lines.set(e),this.loading.set(!1)},error:e=>{this.error.set(e?.error?.error??"Failed to load blame"),this.loading.set(!1)}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=M({type:t,selectors:[["app-blame"]],inputs:{file:"file",onCommitClick:"onCommitClick"},decls:4,vars:4,consts:[["class","empty",4,"ngIf"],["class","empty error",4,"ngIf"],["class","blame",4,"ngIf"],[1,"empty"],[1,"empty","error"],[1,"blame"],["class","row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"row"],[1,"meta"],[1,"hash",3,"click"],[1,"author"],[1,"date"],[1,"line-no"],[1,"code"]],template:function(e,l){e&1&&m(0,Y,2,0,"div",0)(1,Z,2,1,"div",1)(2,ee,2,0,"div",0)(3,ne,2,2,"div",2),e&2&&(s("ngIf",l.loading()),r(),s("ngIf",l.error()),r(),s("ngIf",!l.loading()&&!l.error()&&l.rows().length===0&&l.file),r(),s("ngIf",l.rows().length>0))},dependencies:[I,P,S],styles:["[_nghost-%COMP%]{display:block;font-family:var(--font-mono, monospace);font-size:12.5px}.empty[_ngcontent-%COMP%]{padding:1.5rem;color:var(--fg-muted);text-align:center}.empty.error[_ngcontent-%COMP%]{color:var(--danger)}.blame[_ngcontent-%COMP%]{display:block;background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);overflow:auto;max-height:70vh}.row[_ngcontent-%COMP%]{display:grid;grid-template-columns:220px 50px 1fr;align-items:center;gap:.5rem;padding:0 .5rem;border-bottom:1px solid color-mix(in oklab,var(--border-soft) 50%,transparent)}.row[_ngcontent-%COMP%]:hover{background:var(--bg-elevated)}.meta[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center;font-size:11px;color:var(--fg-muted);padding:.15rem 0;border-right:1px solid var(--border-soft)}.meta.invisible[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{visibility:hidden}.hash[_ngcontent-%COMP%]{color:var(--accent);cursor:pointer;text-decoration:none}.hash[_ngcontent-%COMP%]:hover{text-decoration:underline}.author[_ngcontent-%COMP%]{max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.date[_ngcontent-%COMP%]{color:var(--fg-subtle)}.line-no[_ngcontent-%COMP%]{color:var(--fg-subtle);text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.code[_ngcontent-%COMP%]{margin:0;padding:.15rem 0;white-space:pre;overflow-x:auto;color:var(--fg-primary)}"],changeDetection:0})};function ie(t,o){if(t&1&&(i(0,"div",11)(1,"span"),a(2),n(),i(3,"span"),a(4,"\xB7"),n(),i(5,"span"),a(6),n(),i(7,"span"),a(8,"\xB7"),n(),i(9,"span"),a(10),y(11,"slice"),n(),i(12,"span"),a(13,"\xB7"),n(),i(14,"span"),a(15),y(16,"slice"),n()()),t&2){let e=o.ngIf;r(2),u("",e.totalCommits," commits"),r(4),u("",e.contributors.length," contributors"),r(4),u("first: ",k(11,4,e.firstSeen,0,10)),r(5),u("last: ",k(16,8,e.lastTouched,0,10))}}function oe(t,o){t&1&&(i(0,"div",17),a(1,"Loading commits\u2026"),n())}function re(t,o){if(t&1&&(i(0,"div",18),a(1),n()),t&2){let e=o.ngIf;r(),c(e)}}function ae(t,o){if(t&1){let e=h();i(0,"li",19),f("click",function(){let p=v(e).$implicit,_=d(2);return x(_.onSelectCommit(p.hash))}),i(1,"code",20),a(2),n(),i(3,"div",21)(4,"span",22),a(5),n(),i(6,"span",23),a(7),y(8,"slice"),n()()()}if(t&2){let e=o.$implicit,l=d(2);b("selected",e.hash===l.state.selectedHash()),r(2),c(e.shortHash),r(3),c(e.subject),r(2),T("",e.author," \xB7 ",k(8,6,e.date,0,10))}}function le(t,o){if(t&1&&(i(0,"section",12),m(1,oe,2,0,"div",13)(2,re,2,1,"div",14),i(3,"ul",15),m(4,ae,9,10,"li",16),n()()),t&2){let e=d();r(),s("ngIf",e.loading()),r(),s("ngIf",e.error()),r(2),s("ngForOf",e.commits())}}function se(t,o){if(t&1&&(i(0,"section",24),B(1,"app-blame",25),n()),t&2){let e=d();r(),s("file",e.filePath())("onCommitClick",e.onSelectCommit.bind(e))}}function ce(t,o){t&1&&(i(0,"div",17),a(1,"Analyzing breakage history\u2026"),n())}function me(t,o){if(t&1&&(i(0,"div",18),a(1),n()),t&2){let e=o.ngIf;r(),c(e)}}function de(t,o){t&1&&(i(0,"span"),a(1,"\xB7"),n())}function pe(t,o){if(t&1&&(i(0,"span")(1,"strong"),a(2),n(),a(3),n()),t&2){let e=d().ngIf;r(2),c(e.suspects.length),r(),u(" suspect",e.suspects.length===1?"":"s")}}function ge(t,o){t&1&&(i(0,"div",46),a(1," No prior change is strongly correlated with a recent fix. "),n())}function _e(t,o){if(t&1&&(i(0,"li"),a(1),n()),t&2){let e=o.$implicit;r(),c(e)}}function fe(t,o){t&1&&(i(0,"span"),a(1,", "),n())}function ue(t,o){if(t&1){let e=h();i(0,"a",57),f("click",function(p){let _=v(e).$implicit,K=d(6);return p.stopPropagation(),x(K.onSelectCommit(_.hash))}),i(1,"code"),a(2),n(),m(3,fe,2,0,"span",27),n()}if(t&2){let e=o.$implicit,l=o.last;r(2),c(e.shortHash),r(),s("ngIf",!l)}}function ve(t,o){if(t&1&&(i(0,"div",55),a(1),m(2,ue,4,2,"a",56),n()),t&2){let e=d().$implicit;r(),u(" Linked fix",e.linkedFixes.length===1?"":"es",": "),r(),s("ngForOf",e.linkedFixes)}}function xe(t,o){if(t&1){let e=h();i(0,"li",49),f("click",function(){let p=v(e).$implicit,_=d(4);return x(_.onSelectCommit(p.hash))}),i(1,"div",50)(2,"code",20),a(3),n(),i(4,"span",51),a(5),n(),i(6,"span",22),a(7),n()(),i(8,"div",23),a(9),y(10,"slice"),n(),i(11,"ul",52),m(12,_e,2,1,"li",53),n(),m(13,ve,3,2,"div",54),n()}if(t&2){let e=o.$implicit;r(3),c(e.shortHash),r(),F("data-strong",e.score>=8?"true":"false"),r(),c(e.score),r(2),c(e.subject),r(2),H(" ",e.author," \xB7 ",k(10,9,e.date,0,10)," \xB7 ",e.churn," lines changed "),r(3),s("ngForOf",e.reasons),r(),s("ngIf",e.linkedFixes.length)}}function he(t,o){if(t&1&&(i(0,"ol",47),m(1,xe,14,13,"li",48),n()),t&2){let e=d().ngIf;r(),s("ngForOf",e.suspects)}}function be(t,o){t&1&&(i(0,"div",46),a(1," No fix/revert commits matched recent history. "),n())}function Ce(t,o){t&1&&(i(0,"span",62),a(1,"revert"),n())}function ye(t,o){t&1&&(i(0,"span",63),a(1,"fix"),n())}function ke(t,o){if(t&1){let e=h();i(0,"li",19),f("click",function(){let p=v(e).$implicit,_=d(4);return x(_.onSelectCommit(p.hash))}),i(1,"code",20),a(2),n(),i(3,"div",21)(4,"span",22),m(5,Ce,2,0,"span",60)(6,ye,2,0,"span",61),a(7),n(),i(8,"span",23),a(9),y(10,"slice"),n()()()}if(t&2){let e=o.$implicit;b("revert",e.isRevert),r(2),c(e.shortHash),r(3),s("ngIf",e.isRevert),r(),s("ngIf",e.isFix),r(),u(" ",e.subject," "),r(2),H("",e.author," \xB7 ",k(10,9,e.date,0,10)," \xB7 ",e.churn," lines")}}function Me(t,o){if(t&1&&(i(0,"ul",58),m(1,ke,11,13,"li",59),n()),t&2){let e=d().ngIf;r(),s("ngForOf",e.fixCommits)}}function Oe(t,o){if(t&1){let e=h();i(0,"li",66),f("click",function(){let p=v(e).$implicit,_=d(4);return x(_.openFile(p.file))}),i(1,"span",67),a(2),n(),i(3,"span",68),a(4),n()()}if(t&2){let e=o.$implicit;r(2),c(e.file),r(2),u("",e.count,"\xD7")}}function Pe(t,o){if(t&1&&(i(0,"article",37)(1,"header",38)(2,"h3"),a(3,"Often changed together"),n(),i(4,"span",39),a(5,"From recent fixes & suspects"),n()(),i(6,"ul",64),m(7,Oe,5,2,"li",65),n()()),t&2){let e=d().ngIf;r(7),s("ngForOf",e.coChangedFiles)}}function Se(t,o){t&1&&(i(0,"span",63),a(1,"fix"),n())}function Ie(t,o){t&1&&(i(0,"span",62),a(1,"revert"),n())}function we(t,o){if(t&1){let e=h();i(0,"li",19),f("click",function(){let p=v(e).$implicit,_=d(3);return x(_.onSelectCommit(p.hash))}),i(1,"code",20),a(2),n(),i(3,"div",21)(4,"span",22),m(5,Se,2,0,"span",61)(6,Ie,2,0,"span",60),a(7),n(),i(8,"span",23),a(9),y(10,"slice"),n()()()}if(t&2){let e=o.$implicit;b("is-fix",e.isFix||e.isRevert),r(2),c(e.shortHash),r(3),s("ngIf",e.isFix),r(),s("ngIf",e.isRevert),r(),u(" ",e.subject," "),r(2),$("",e.author," \xB7 ",k(10,10,e.date,0,10)," \xB7 +",e.additions,"/-",e.deletions)}}function Ee(t,o){if(t&1&&(N(0),i(1,"div",28)(2,"div",29),B(3,"div",30),n(),i(4,"div",31)(5,"span",32),a(6),n(),i(7,"span",33),a(8),n()(),i(9,"p",34),a(10),n(),i(11,"div",35)(12,"span")(13,"strong"),a(14),n(),a(15," recent touches"),n(),i(16,"span"),a(17,"\xB7"),n(),i(18,"span")(19,"strong"),a(20),n(),a(21," fixes/reverts"),n(),m(22,de,2,0,"span",27)(23,pe,4,2,"span",27),n()(),i(24,"div",36)(25,"article",37)(26,"header",38)(27,"h3"),a(28,"Likely culprits"),n(),i(29,"span",39),a(30,"Scored by proximity to fix commits"),n()(),m(31,ge,2,0,"div",40)(32,he,2,1,"ol",41),n(),i(33,"article",37)(34,"header",38)(35,"h3"),a(36,"Fixes & reverts on this file"),n(),i(37,"span",39),a(38),n()(),m(39,be,2,0,"div",40)(40,Me,2,1,"ul",42),n(),m(41,Pe,8,1,"article",43),i(42,"article",37)(43,"header",38)(44,"h3"),a(45,"Recent commits"),n(),i(46,"span",39),a(47),n()(),i(48,"ul",44),m(49,we,11,14,"li",45),n()()(),L()),t&2){let e=o.ngIf,l=d(2);r(),F("data-level",l.riskLevel()),r(2),V("width",e.riskScore,"%"),r(3),u("",e.riskScore,"/100"),r(2),u("",l.riskLevel()," breakage risk"),r(2),c(e.summary),r(4),c(e.commits.length),r(6),c(e.fixCount),r(2),s("ngIf",e.suspects.length),r(),s("ngIf",e.suspects.length),r(8),s("ngIf",!e.suspects.length),r(),s("ngIf",e.suspects.length),r(6),T("",e.fixCount," of ",e.commits.length," recent commits"),r(),s("ngIf",!e.fixCommits.length),r(),s("ngIf",e.fixCommits.length),r(),s("ngIf",e.coChangedFiles.length),r(6),u("Last ",e.commits.length," touches"),r(2),s("ngForOf",e.commits)}}function Fe(t,o){if(t&1&&(i(0,"section",26),m(1,ce,2,0,"div",13)(2,me,2,1,"div",14)(3,Ee,50,19,"ng-container",27),n()),t&2){let e=d();r(),s("ngIf",e.breakageLoading()),r(),s("ngIf",e.breakageError()),r(),s("ngIf",e.breakage())}}var J=class t{route=C(A);router=C(q);git=C(w);insightsApi=C(U);state=C(G);filePath=g("");stats=g(null);commits=g([]);loading=g(!1);error=g(null);tab=g("history");breakage=g(null);breakageLoading=g(!1);breakageError=g(null);riskLevel=O(()=>{let o=this.breakage()?.riskScore??0;return o>=60?"high":o>=30?"moderate":"low"});constructor(){R(()=>{let o=this.route.snapshot.paramMap.get("path")??"",e=decodeURIComponent(o),l=this.route.snapshot.queryParamMap.get("tab");(l==="breakage"||l==="blame"||l==="history")&&this.tab.set(l),this.filePath.set(e),e&&this.load(e)})}onSelectCommit(o){this.state.selectHash(o),this.router.navigate(["/"],{queryParams:{commit:o}})}goBack(){this.router.navigate(["/"])}onSelectBreakageTab(){this.tab.set("breakage"),!this.breakage()&&!this.breakageLoading()&&this.loadBreakage(this.filePath())}openFile(o){o&&this.router.navigate(["/file",encodeURIComponent(o)])}load(o){this.loading.set(!0),this.error.set(null),this.breakage.set(null),this.breakageError.set(null),this.insightsApi.fileStats(o).subscribe({next:e=>this.stats.set(e),error:()=>this.stats.set(null)}),this.git.getCommits({file:o,page:1,pageSize:200}).subscribe({next:e=>{this.commits.set(e.commits),this.loading.set(!1)},error:e=>{this.error.set(e?.error?.error??"Failed to load file history"),this.loading.set(!1)}}),this.tab()==="breakage"&&this.loadBreakage(o)}loadBreakage(o){o&&(this.breakageLoading.set(!0),this.breakageError.set(null),this.insightsApi.breakage(o).subscribe({next:e=>{this.breakage.set(e),this.breakageLoading.set(!1)},error:e=>{this.breakageError.set(e?.error?.error??"Failed to analyze breakage"),this.breakageLoading.set(!1)}}))}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=M({type:t,selectors:[["app-file-history"]],decls:18,vars:11,consts:[[1,"page"],[1,"head"],[1,"btn","btn-ghost",3,"click"],[1,"title-block"],["class","meta",4,"ngIf"],[1,"tabs"],[1,"tab",3,"click"],["title","Heuristic analysis of recent fixes/reverts and likely culprits.",1,"tab",3,"click"],["class","history",4,"ngIf"],["class","blame-tab",4,"ngIf"],["class","breakage","data-testid","breakage-tab",4,"ngIf"],[1,"meta"],[1,"history"],["class","empty",4,"ngIf"],["class","empty error",4,"ngIf"],[1,"commits"],["class","commit",3,"selected","click",4,"ngFor","ngForOf"],[1,"empty"],[1,"empty","error"],[1,"commit",3,"click"],[1,"hash"],[1,"info"],[1,"subject"],[1,"byline"],[1,"blame-tab"],[3,"file","onCommitClick"],["data-testid","breakage-tab",1,"breakage"],[4,"ngIf"],[1,"risk-card"],["aria-hidden","true",1,"risk-meter"],[1,"risk-meter-fill"],[1,"risk-meta"],[1,"risk-score"],[1,"risk-label"],[1,"summary"],[1,"risk-stats"],[1,"cards"],[1,"card"],[1,"card-head"],[1,"hint"],["class","empty inline",4,"ngIf"],["class","suspects",4,"ngIf"],["class","fixes",4,"ngIf"],["class","card",4,"ngIf"],[1,"recent"],["class","commit",3,"is-fix","click",4,"ngFor","ngForOf"],[1,"empty","inline"],[1,"suspects"],["class","suspect",3,"click",4,"ngFor","ngForOf"],[1,"suspect",3,"click"],[1,"suspect-row"],[1,"score"],[1,"reasons"],[4,"ngFor","ngForOf"],["class","linked",4,"ngIf"],[1,"linked"],["class","link",3,"click",4,"ngFor","ngForOf"],[1,"link",3,"click"],[1,"fixes"],["class","commit",3,"revert","click",4,"ngFor","ngForOf"],["class","tag",4,"ngIf"],["class","tag fix",4,"ngIf"],[1,"tag"],[1,"tag","fix"],[1,"cochanged"],[3,"click",4,"ngFor","ngForOf"],[3,"click"],[1,"path"],[1,"count"]],template:function(e,l){e&1&&(i(0,"div",0)(1,"header",1)(2,"button",2),f("click",function(){return l.goBack()}),a(3,"\u2190 Back"),n(),i(4,"div",3)(5,"h2"),a(6),n(),m(7,ie,17,12,"div",4),n()(),i(8,"nav",5)(9,"button",6),f("click",function(){return l.tab.set("history")}),a(10," History "),n(),i(11,"button",6),f("click",function(){return l.tab.set("blame")}),a(12," Blame "),n(),i(13,"button",7),f("click",function(){return l.onSelectBreakageTab()}),a(14," Breakage Analysis "),n()(),m(15,le,5,3,"section",8)(16,se,2,2,"section",9)(17,Fe,4,3,"section",10),n()),e&2&&(r(6),c(l.filePath()),r(),s("ngIf",l.stats()),r(2),b("active",l.tab()==="history"),r(2),b("active",l.tab()==="blame"),r(2),b("active",l.tab()==="breakage"),r(2),s("ngIf",l.tab()==="history"),r(),s("ngIf",l.tab()==="blame"),r(),s("ngIf",l.tab()==="breakage"))},dependencies:[I,P,S,E,j],styles:["[_nghost-%COMP%]{display:block;flex:1;min-height:0;overflow-y:auto}.page[_ngcontent-%COMP%]{padding:1.1rem 1.25rem;max-width:1200px;margin:0 auto}.head[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:.9rem 1rem;background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.head[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:16px;font-family:var(--font-mono, monospace);word-break:break-all}.meta[_ngcontent-%COMP%]{color:var(--fg-muted);font-size:12px;display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.25rem}.tabs[_ngcontent-%COMP%]{display:flex;gap:.5rem;padding:.25rem;border:1px solid var(--border-soft);border-radius:999px;background:var(--bg-panel);margin-bottom:1rem;width:fit-content}.tab[_ngcontent-%COMP%]{background:transparent;border:0;padding:.5rem .75rem;cursor:pointer;color:var(--fg-muted);border-radius:999px;font-size:13px}.tab.active[_ngcontent-%COMP%]{color:var(--accent);background:var(--accent-soft);font-weight:600}.empty[_ngcontent-%COMP%]{padding:1.5rem;color:var(--fg-muted);text-align:center;font-size:13px}.empty.error[_ngcontent-%COMP%]{color:var(--danger)}.commits[_ngcontent-%COMP%]{list-style:none;margin:0;padding:.35rem;background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.commit[_ngcontent-%COMP%]{display:flex;gap:.75rem;align-items:flex-start;padding:.55rem .85rem;border-radius:var(--radius-md);cursor:pointer}.commit[_ngcontent-%COMP%]:hover{background:var(--bg-elevated)}.commit.selected[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--accent) 18%,transparent)}.commit[_ngcontent-%COMP%] .hash[_ngcontent-%COMP%]{font-family:var(--font-mono, monospace);font-size:11px;color:var(--fg-muted);padding-top:2px}.commit[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:0}.commit[_ngcontent-%COMP%] .subject[_ngcontent-%COMP%]{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.commit[_ngcontent-%COMP%] .byline[_ngcontent-%COMP%]{font-size:11px;color:var(--fg-muted);margin-top:2px}.breakage[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.risk-card[_ngcontent-%COMP%]{padding:1rem 1.1rem;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--bg-panel);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.55rem}.risk-meter[_ngcontent-%COMP%]{width:100%;height:8px;background:var(--bg-elevated);border-radius:999px;overflow:hidden}.risk-meter-fill[_ngcontent-%COMP%]{height:100%;background:var(--accent);transition:width .3s ease}.risk-card[data-level=high][_ngcontent-%COMP%] .risk-meter-fill[_ngcontent-%COMP%]{background:var(--danger, #dc2626)}.risk-card[data-level=moderate][_ngcontent-%COMP%] .risk-meter-fill[_ngcontent-%COMP%]{background:var(--warning, #d97706)}.risk-card[data-level=low][_ngcontent-%COMP%] .risk-meter-fill[_ngcontent-%COMP%]{background:var(--success, #16a34a)}.risk-meta[_ngcontent-%COMP%]{display:flex;gap:.6rem;align-items:baseline;font-size:13px}.risk-score[_ngcontent-%COMP%]{font-weight:700;font-family:var(--font-mono, monospace)}.risk-label[_ngcontent-%COMP%]{color:var(--fg-muted);text-transform:capitalize}.summary[_ngcontent-%COMP%]{margin:0;font-size:13px;line-height:1.5}.risk-stats[_ngcontent-%COMP%]{display:flex;gap:.4rem;flex-wrap:wrap;font-size:12px;color:var(--fg-muted)}.risk-stats[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--fg);font-weight:600}.cards[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1rem}.card[_ngcontent-%COMP%]{background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:.85rem;display:flex;flex-direction:column;gap:.6rem;min-width:0}.card-head[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.card-head[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:13px;font-weight:600}.hint[_ngcontent-%COMP%]{font-size:11px;color:var(--fg-muted)}.empty.inline[_ngcontent-%COMP%]{padding:.75rem;font-size:12px}.suspects[_ngcontent-%COMP%], .fixes[_ngcontent-%COMP%], .recent[_ngcontent-%COMP%], .cochanged[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.suspect[_ngcontent-%COMP%]{padding:.55rem .7rem;border:1px solid var(--border-soft);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-elevated)}.suspect[_ngcontent-%COMP%]:hover{border-color:var(--accent)}.suspect-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;min-width:0}.suspect-row[_ngcontent-%COMP%] .subject[_ngcontent-%COMP%]{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.score[_ngcontent-%COMP%]{font-family:var(--font-mono, monospace);font-size:11px;padding:1px 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:700}.score[data-strong=true][_ngcontent-%COMP%]{background:color-mix(in oklab,var(--danger, #dc2626) 18%,transparent);color:var(--danger, #dc2626)}.reasons[_ngcontent-%COMP%]{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.reasons[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{font-size:11px;color:var(--fg-muted);padding:1px 6px;border-radius:6px;background:var(--bg-panel);border:1px solid var(--border-soft)}.linked[_ngcontent-%COMP%]{margin-top:.35rem;font-size:11px;color:var(--fg-muted)}.linked[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{cursor:pointer;color:var(--accent)}.linked[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{font-family:var(--font-mono, monospace)}.tag[_ngcontent-%COMP%]{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:1px 5px;border-radius:4px;background:var(--bg-elevated);color:var(--fg-muted);margin-right:.25rem;vertical-align:middle}.tag.fix[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--accent) 18%,transparent);color:var(--accent)}.commit.revert[_ngcontent-%COMP%] .tag[_ngcontent-%COMP%], .commit.is-fix[_ngcontent-%COMP%] .tag.fix[_ngcontent-%COMP%]{font-weight:600}.cochanged[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;border-radius:var(--radius-md);cursor:pointer;font-size:12px}.cochanged[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:hover{background:var(--bg-elevated)}.cochanged[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{font-family:var(--font-mono, monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cochanged[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{color:var(--fg-muted);flex-shrink:0}"],changeDetection:0})};export{J as FileHistoryComponent};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as $n}from"./chunk-6DL2ZTKG.js";import{$ as M,$a as ke,Ab as kn,B as sn,Bb as An,C as at,Db as Ke,Eb as Ve,Fb as He,Hb as Mn,I as cn,Ib as be,Kb as W,Lb as ge,Ma as ct,Mb as Me,N as ln,P as dn,Q as Bt,Qa as C,R as un,S as ot,Sa as En,Ta as Pt,Ua as vn,Ub as qe,V as gn,W as Ee,Wa as yn,X as ze,Z as ve,Za as lt,_a as $e,bb as Ft,bc as In,c as O,cb as Ne,cc as ut,d as fa,dc as Dn,e as nn,ea as Ce,eb as Nn,fa as Re,fb as Ge,g as Lt,gb as wn,gc as Ln,hc as Bn,i as rn,j as le,ja as pn,jc as Pn,ka as st,kb as Sn,la as fn,lb as Ut,m as an,n as on,oa as re,ob as q,pb as H,q as Ue,qa as mn,qb as U,qc as Fn,ra as bn,rb as dt,s as rt,sa as _n,sb as Tn,tb as xn,tc as Un,ub as On,va as ye,vb as Cn,wb as Rn,xb as zt,xc as zn,yb as Ae,za as hn,zb as ne}from"./chunk-UM7ESEXJ.js";var Ei=O((Bc,hi)=>{"use strict";function oi(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(n=>{let t=e[n],i=typeof t;(i==="object"||i==="function")&&!Object.isFrozen(t)&&oi(t)}),e}var Et=class{constructor(n){n.data===void 0&&(n.data={}),this.data=n.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function si(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function _e(e,...n){let t=Object.create(null);for(let i in e)t[i]=e[i];return n.forEach(function(i){for(let r in i)t[r]=i[r]}),t}var Aa="</span>",ei=e=>!!e.scope,Ma=(e,{prefix:n})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){let t=e.split(".");return[`${n}${t.shift()}`,...t.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${n}${e}`},qt=class{constructor(n,t){this.buffer="",this.classPrefix=t.classPrefix,n.walk(this)}addText(n){this.buffer+=si(n)}openNode(n){if(!ei(n))return;let t=Ma(n.scope,{prefix:this.classPrefix});this.span(t)}closeNode(n){ei(n)&&(this.buffer+=Aa)}value(){return this.buffer}span(n){this.buffer+=`<span class="${n}">`}},ti=(e={})=>{let n={children:[]};return Object.assign(n,e),n},Wt=class e{constructor(){this.rootNode=ti(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(n){this.top.children.push(n)}openNode(n){let t=ti({scope:n});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(n){return this.constructor._walk(n,this.rootNode)}static _walk(n,t){return typeof t=="string"?n.addText(t):t.children&&(n.openNode(t),t.children.forEach(i=>this._walk(n,i)),n.closeNode(t)),n}static _collapse(n){typeof n!="string"&&n.children&&(n.children.every(t=>typeof t=="string")?n.children=[n.children.join("")]:n.children.forEach(t=>{e._collapse(t)}))}},Zt=class extends Wt{constructor(n){super(),this.options=n}addText(n){n!==""&&this.add(n)}startScope(n){this.openNode(n)}endScope(){this.closeNode()}__addSublanguage(n,t){let i=n.root;t&&(i.scope=`language:${t}`),this.add(i)}toHTML(){return new qt(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Xe(e){return e?typeof e=="string"?e:e.source:null}function ci(e){return Te("(?=",e,")")}function Ia(e){return Te("(?:",e,")*")}function Da(e){return Te("(?:",e,")?")}function Te(...e){return e.map(t=>Xe(t)).join("")}function La(e){let n=e[e.length-1];return typeof n=="object"&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}function Xt(...e){return"("+(La(e).capture?"":"?:")+e.map(i=>Xe(i)).join("|")+")"}function li(e){return new RegExp(e.toString()+"|").exec("").length-1}function Ba(e,n){let t=e&&e.exec(n);return t&&t.index===0}var Pa=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Qt(e,{joinWith:n}){let t=0;return e.map(i=>{t+=1;let r=t,s=Xe(i),a="";for(;s.length>0;){let o=Pa.exec(s);if(!o){a+=s;break}a+=s.substring(0,o.index),s=s.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?a+="\\"+String(Number(o[1])+r):(a+=o[0],o[0]==="("&&t++)}return a}).map(i=>`(${i})`).join(n)}var Fa=/\b\B/,di="[a-zA-Z]\\w*",Jt="[a-zA-Z_]\\w*",ui="\\b\\d+(\\.\\d+)?",gi="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",pi="\\b(0b[01]+)",Ua="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",za=(e={})=>{let n=/^#![ ]*\//;return e.binary&&(e.begin=Te(n,/.*\b/,e.binary,/\b.*/)),_e({scope:"meta",begin:n,end:/$/,relevance:0,"on:begin":(t,i)=>{t.index!==0&&i.ignoreMatch()}},e)},Qe={begin:"\\\\[\\s\\S]",relevance:0},$a={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Qe]},Ga={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Qe]},Ka={begin:/\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/},yt=function(e,n,t={}){let i=_e({scope:"comment",begin:e,end:n,contains:[]},t);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let r=Xt("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:Te(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},Va=yt("//","$"),Ha=yt("/\\*","\\*/"),qa=yt("#","$"),Wa={scope:"number",begin:ui,relevance:0},Za={scope:"number",begin:gi,relevance:0},Ya={scope:"number",begin:pi,relevance:0},Xa={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Qe,{begin:/\[/,end:/\]/,relevance:0,contains:[Qe]}]},Qa={scope:"title",begin:di,relevance:0},Ja={scope:"title",begin:Jt,relevance:0},ja={begin:"\\.\\s*"+Jt,relevance:0},eo=function(e){return Object.assign(e,{"on:begin":(n,t)=>{t.data._beginMatch=n[1]},"on:end":(n,t)=>{t.data._beginMatch!==n[1]&&t.ignoreMatch()}})},ht=Object.freeze({__proto__:null,APOS_STRING_MODE:$a,BACKSLASH_ESCAPE:Qe,BINARY_NUMBER_MODE:Ya,BINARY_NUMBER_RE:pi,COMMENT:yt,C_BLOCK_COMMENT_MODE:Ha,C_LINE_COMMENT_MODE:Va,C_NUMBER_MODE:Za,C_NUMBER_RE:gi,END_SAME_AS_BEGIN:eo,HASH_COMMENT_MODE:qa,IDENT_RE:di,MATCH_NOTHING_RE:Fa,METHOD_GUARD:ja,NUMBER_MODE:Wa,NUMBER_RE:ui,PHRASAL_WORDS_MODE:Ka,QUOTE_STRING_MODE:Ga,REGEXP_MODE:Xa,RE_STARTERS_RE:Ua,SHEBANG:za,TITLE_MODE:Qa,UNDERSCORE_IDENT_RE:Jt,UNDERSCORE_TITLE_MODE:Ja});function to(e,n){e.input[e.index-1]==="."&&n.ignoreMatch()}function no(e,n){e.className!==void 0&&(e.scope=e.className,delete e.className)}function io(e,n){n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=to,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function ro(e,n){Array.isArray(e.illegal)&&(e.illegal=Xt(...e.illegal))}function ao(e,n){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function oo(e,n){e.relevance===void 0&&(e.relevance=1)}var so=(e,n)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");let t=Object.assign({},e);Object.keys(e).forEach(i=>{delete e[i]}),e.keywords=t.keywords,e.begin=Te(t.beforeMatch,ci(t.begin)),e.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},e.relevance=0,delete t.beforeMatch},co=["of","and","for","in","not","or","if","then","parent","list","value"],lo="keyword";function fi(e,n,t=lo){let i=Object.create(null);return typeof e=="string"?r(t,e.split(" ")):Array.isArray(e)?r(t,e):Object.keys(e).forEach(function(s){Object.assign(i,fi(e[s],n,s))}),i;function r(s,a){n&&(a=a.map(o=>o.toLowerCase())),a.forEach(function(o){let c=o.split("|");i[c[0]]=[s,uo(c[0],c[1])]})}}function uo(e,n){return n?Number(n):go(e)?0:1}function go(e){return co.includes(e.toLowerCase())}var ni={},Se=e=>{console.error(e)},ii=(e,...n)=>{console.log(`WARN: ${e}`,...n)},De=(e,n)=>{ni[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),ni[`${e}/${n}`]=!0)},vt=new Error;function mi(e,n,{key:t}){let i=0,r=e[t],s={},a={};for(let o=1;o<=n.length;o++)a[o+i]=r[o],s[o+i]=!0,i+=li(n[o-1]);e[t]=a,e[t]._emit=s,e[t]._multi=!0}function po(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Se("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),vt;if(typeof e.beginScope!="object"||e.beginScope===null)throw Se("beginScope must be object"),vt;mi(e,e.begin,{key:"beginScope"}),e.begin=Qt(e.begin,{joinWith:""})}}function fo(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Se("skip, excludeEnd, returnEnd not compatible with endScope: {}"),vt;if(typeof e.endScope!="object"||e.endScope===null)throw Se("endScope must be object"),vt;mi(e,e.end,{key:"endScope"}),e.end=Qt(e.end,{joinWith:""})}}function mo(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function bo(e){mo(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),po(e),fo(e)}function _o(e){function n(a,o){return new RegExp(Xe(a),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(o?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,o]),this.matchAt+=li(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let o=this.regexes.map(c=>c[1]);this.matcherRe=n(Qt(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;let c=this.matcherRe.exec(o);if(!c)return null;let l=c.findIndex((g,p)=>p>0&&g!==void 0),d=this.matchIndexes[l];return c.splice(0,l),Object.assign(c,d)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];let c=new t;return this.rules.slice(o).forEach(([l,d])=>c.addRule(l,d)),c.compile(),this.multiRegexes[o]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,c){this.rules.push([o,c]),c.type==="begin"&&this.count++}exec(o){let c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let l=c.exec(o);if(this.resumingScanAtSamePosition()&&!(l&&l.index===this.lastIndex)){let d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,l=d.exec(o)}return l&&(this.regexIndex+=l.position+1,this.regexIndex===this.count&&this.considerAll()),l}}function r(a){let o=new i;return a.contains.forEach(c=>o.addRule(c.begin,{rule:c,type:"begin"})),a.terminatorEnd&&o.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&o.addRule(a.illegal,{type:"illegal"}),o}function s(a,o){let c=a;if(a.isCompiled)return c;[no,ao,bo,so].forEach(d=>d(a,o)),e.compilerExtensions.forEach(d=>d(a,o)),a.__beforeBegin=null,[io,ro,oo].forEach(d=>d(a,o)),a.isCompiled=!0;let l=null;return typeof a.keywords=="object"&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),l=a.keywords.$pattern,delete a.keywords.$pattern),l=l||/\w+/,a.keywords&&(a.keywords=fi(a.keywords,e.case_insensitive)),c.keywordPatternRe=n(l,!0),o&&(a.begin||(a.begin=/\B|\b/),c.beginRe=n(c.begin),!a.end&&!a.endsWithParent&&(a.end=/\B|\b/),a.end&&(c.endRe=n(c.end)),c.terminatorEnd=Xe(c.end)||"",a.endsWithParent&&o.terminatorEnd&&(c.terminatorEnd+=(a.end?"|":"")+o.terminatorEnd)),a.illegal&&(c.illegalRe=n(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(d){return ho(d==="self"?a:d)})),a.contains.forEach(function(d){s(d,c)}),a.starts&&s(a.starts,o),c.matcher=r(c),c}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=_e(e.classNameAliases||{}),s(e)}function bi(e){return e?e.endsWithParent||bi(e.starts):!1}function ho(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(n){return _e(e,{variants:null},n)})),e.cachedVariants?e.cachedVariants:bi(e)?_e(e,{starts:e.starts?_e(e.starts):null}):Object.isFrozen(e)?_e(e):e}var Eo="11.11.1",Yt=class extends Error{constructor(n,t){super(n),this.name="HTMLInjectionError",this.html=t}},Ht=si,ri=_e,ai=Symbol("nomatch"),vo=7,_i=function(e){let n=Object.create(null),t=Object.create(null),i=[],r=!0,s="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]},o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:Zt};function c(u){return o.noHighlightRe.test(u)}function l(u){let b=u.className+" ";b+=u.parentNode?u.parentNode.className:"";let m=o.languageDetectRe.exec(b);if(m){let S=B(m[1]);return S||(ii(s.replace("{}",m[1])),ii("Falling back to no-highlight mode for this block.",u)),S?m[1]:"no-highlight"}return b.split(/\s+/).find(S=>c(S)||B(S))}function d(u,b,m){let S="",I="";typeof b=="object"?(S=u,m=b.ignoreIllegals,I=b.language):(De("10.7.0","highlight(lang, code, ...args) has been deprecated."),De("10.7.0",`Please use highlight(code, options) instead.
|
|
1
|
+
import{a as $n}from"./chunk-5K2HNBK3.js";import{$a as lt,Aa as hn,Ab as Ae,Bb as ne,C as sn,Cb as kn,D as at,Db as An,Fb as Ke,Gb as Ve,Hb as He,J as cn,Jb as Mn,Kb as be,Mb as W,Na as ct,Nb as ge,O as ln,Ob as Me,Q as dn,R as Bt,S as un,Sa as C,T as ot,Ua as En,Va as Pt,W as gn,Wa as vn,Wb as qe,X as Ee,Y as ze,Ya as yn,_ as ve,aa as M,ab as $e,bb as ke,c as O,d as fa,db as Ft,dc as In,eb as Ne,ec as ut,f as nn,fa as Ce,fc as Dn,ga as Re,gb as Nn,h as Lt,hb as Ge,ib as wn,ic as Ln,j as rn,jc as Bn,k as le,ka as pn,la as st,lc as Pn,ma as fn,mb as Sn,n as an,nb as Ut,o as on,pa as re,qb as q,r as Ue,ra as mn,rb as H,sa as bn,sb as U,sc as Fn,t as rt,ta as _n,tb as dt,ub as Tn,vb as xn,vc as Un,wa as ye,wb as On,xb as Cn,yb as Rn,zb as zt,zc as zn}from"./chunk-MTI6UKQ3.js";var Ei=O((Bc,hi)=>{"use strict";function oi(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(n=>{let t=e[n],i=typeof t;(i==="object"||i==="function")&&!Object.isFrozen(t)&&oi(t)}),e}var Et=class{constructor(n){n.data===void 0&&(n.data={}),this.data=n.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function si(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function _e(e,...n){let t=Object.create(null);for(let i in e)t[i]=e[i];return n.forEach(function(i){for(let r in i)t[r]=i[r]}),t}var Aa="</span>",ei=e=>!!e.scope,Ma=(e,{prefix:n})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){let t=e.split(".");return[`${n}${t.shift()}`,...t.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${n}${e}`},qt=class{constructor(n,t){this.buffer="",this.classPrefix=t.classPrefix,n.walk(this)}addText(n){this.buffer+=si(n)}openNode(n){if(!ei(n))return;let t=Ma(n.scope,{prefix:this.classPrefix});this.span(t)}closeNode(n){ei(n)&&(this.buffer+=Aa)}value(){return this.buffer}span(n){this.buffer+=`<span class="${n}">`}},ti=(e={})=>{let n={children:[]};return Object.assign(n,e),n},Wt=class e{constructor(){this.rootNode=ti(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(n){this.top.children.push(n)}openNode(n){let t=ti({scope:n});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(n){return this.constructor._walk(n,this.rootNode)}static _walk(n,t){return typeof t=="string"?n.addText(t):t.children&&(n.openNode(t),t.children.forEach(i=>this._walk(n,i)),n.closeNode(t)),n}static _collapse(n){typeof n!="string"&&n.children&&(n.children.every(t=>typeof t=="string")?n.children=[n.children.join("")]:n.children.forEach(t=>{e._collapse(t)}))}},Zt=class extends Wt{constructor(n){super(),this.options=n}addText(n){n!==""&&this.add(n)}startScope(n){this.openNode(n)}endScope(){this.closeNode()}__addSublanguage(n,t){let i=n.root;t&&(i.scope=`language:${t}`),this.add(i)}toHTML(){return new qt(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Xe(e){return e?typeof e=="string"?e:e.source:null}function ci(e){return Te("(?=",e,")")}function Ia(e){return Te("(?:",e,")*")}function Da(e){return Te("(?:",e,")?")}function Te(...e){return e.map(t=>Xe(t)).join("")}function La(e){let n=e[e.length-1];return typeof n=="object"&&n.constructor===Object?(e.splice(e.length-1,1),n):{}}function Xt(...e){return"("+(La(e).capture?"":"?:")+e.map(i=>Xe(i)).join("|")+")"}function li(e){return new RegExp(e.toString()+"|").exec("").length-1}function Ba(e,n){let t=e&&e.exec(n);return t&&t.index===0}var Pa=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Qt(e,{joinWith:n}){let t=0;return e.map(i=>{t+=1;let r=t,s=Xe(i),a="";for(;s.length>0;){let o=Pa.exec(s);if(!o){a+=s;break}a+=s.substring(0,o.index),s=s.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?a+="\\"+String(Number(o[1])+r):(a+=o[0],o[0]==="("&&t++)}return a}).map(i=>`(${i})`).join(n)}var Fa=/\b\B/,di="[a-zA-Z]\\w*",Jt="[a-zA-Z_]\\w*",ui="\\b\\d+(\\.\\d+)?",gi="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",pi="\\b(0b[01]+)",Ua="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",za=(e={})=>{let n=/^#![ ]*\//;return e.binary&&(e.begin=Te(n,/.*\b/,e.binary,/\b.*/)),_e({scope:"meta",begin:n,end:/$/,relevance:0,"on:begin":(t,i)=>{t.index!==0&&i.ignoreMatch()}},e)},Qe={begin:"\\\\[\\s\\S]",relevance:0},$a={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Qe]},Ga={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Qe]},Ka={begin:/\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/},yt=function(e,n,t={}){let i=_e({scope:"comment",begin:e,end:n,contains:[]},t);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let r=Xt("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:Te(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},Va=yt("//","$"),Ha=yt("/\\*","\\*/"),qa=yt("#","$"),Wa={scope:"number",begin:ui,relevance:0},Za={scope:"number",begin:gi,relevance:0},Ya={scope:"number",begin:pi,relevance:0},Xa={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Qe,{begin:/\[/,end:/\]/,relevance:0,contains:[Qe]}]},Qa={scope:"title",begin:di,relevance:0},Ja={scope:"title",begin:Jt,relevance:0},ja={begin:"\\.\\s*"+Jt,relevance:0},eo=function(e){return Object.assign(e,{"on:begin":(n,t)=>{t.data._beginMatch=n[1]},"on:end":(n,t)=>{t.data._beginMatch!==n[1]&&t.ignoreMatch()}})},ht=Object.freeze({__proto__:null,APOS_STRING_MODE:$a,BACKSLASH_ESCAPE:Qe,BINARY_NUMBER_MODE:Ya,BINARY_NUMBER_RE:pi,COMMENT:yt,C_BLOCK_COMMENT_MODE:Ha,C_LINE_COMMENT_MODE:Va,C_NUMBER_MODE:Za,C_NUMBER_RE:gi,END_SAME_AS_BEGIN:eo,HASH_COMMENT_MODE:qa,IDENT_RE:di,MATCH_NOTHING_RE:Fa,METHOD_GUARD:ja,NUMBER_MODE:Wa,NUMBER_RE:ui,PHRASAL_WORDS_MODE:Ka,QUOTE_STRING_MODE:Ga,REGEXP_MODE:Xa,RE_STARTERS_RE:Ua,SHEBANG:za,TITLE_MODE:Qa,UNDERSCORE_IDENT_RE:Jt,UNDERSCORE_TITLE_MODE:Ja});function to(e,n){e.input[e.index-1]==="."&&n.ignoreMatch()}function no(e,n){e.className!==void 0&&(e.scope=e.className,delete e.className)}function io(e,n){n&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=to,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function ro(e,n){Array.isArray(e.illegal)&&(e.illegal=Xt(...e.illegal))}function ao(e,n){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function oo(e,n){e.relevance===void 0&&(e.relevance=1)}var so=(e,n)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");let t=Object.assign({},e);Object.keys(e).forEach(i=>{delete e[i]}),e.keywords=t.keywords,e.begin=Te(t.beforeMatch,ci(t.begin)),e.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},e.relevance=0,delete t.beforeMatch},co=["of","and","for","in","not","or","if","then","parent","list","value"],lo="keyword";function fi(e,n,t=lo){let i=Object.create(null);return typeof e=="string"?r(t,e.split(" ")):Array.isArray(e)?r(t,e):Object.keys(e).forEach(function(s){Object.assign(i,fi(e[s],n,s))}),i;function r(s,a){n&&(a=a.map(o=>o.toLowerCase())),a.forEach(function(o){let c=o.split("|");i[c[0]]=[s,uo(c[0],c[1])]})}}function uo(e,n){return n?Number(n):go(e)?0:1}function go(e){return co.includes(e.toLowerCase())}var ni={},Se=e=>{console.error(e)},ii=(e,...n)=>{console.log(`WARN: ${e}`,...n)},De=(e,n)=>{ni[`${e}/${n}`]||(console.log(`Deprecated as of ${e}. ${n}`),ni[`${e}/${n}`]=!0)},vt=new Error;function mi(e,n,{key:t}){let i=0,r=e[t],s={},a={};for(let o=1;o<=n.length;o++)a[o+i]=r[o],s[o+i]=!0,i+=li(n[o-1]);e[t]=a,e[t]._emit=s,e[t]._multi=!0}function po(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Se("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),vt;if(typeof e.beginScope!="object"||e.beginScope===null)throw Se("beginScope must be object"),vt;mi(e,e.begin,{key:"beginScope"}),e.begin=Qt(e.begin,{joinWith:""})}}function fo(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Se("skip, excludeEnd, returnEnd not compatible with endScope: {}"),vt;if(typeof e.endScope!="object"||e.endScope===null)throw Se("endScope must be object"),vt;mi(e,e.end,{key:"endScope"}),e.end=Qt(e.end,{joinWith:""})}}function mo(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function bo(e){mo(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),po(e),fo(e)}function _o(e){function n(a,o){return new RegExp(Xe(a),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(o?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,o]),this.matchAt+=li(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let o=this.regexes.map(c=>c[1]);this.matcherRe=n(Qt(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;let c=this.matcherRe.exec(o);if(!c)return null;let l=c.findIndex((g,p)=>p>0&&g!==void 0),d=this.matchIndexes[l];return c.splice(0,l),Object.assign(c,d)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];let c=new t;return this.rules.slice(o).forEach(([l,d])=>c.addRule(l,d)),c.compile(),this.multiRegexes[o]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,c){this.rules.push([o,c]),c.type==="begin"&&this.count++}exec(o){let c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let l=c.exec(o);if(this.resumingScanAtSamePosition()&&!(l&&l.index===this.lastIndex)){let d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,l=d.exec(o)}return l&&(this.regexIndex+=l.position+1,this.regexIndex===this.count&&this.considerAll()),l}}function r(a){let o=new i;return a.contains.forEach(c=>o.addRule(c.begin,{rule:c,type:"begin"})),a.terminatorEnd&&o.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&o.addRule(a.illegal,{type:"illegal"}),o}function s(a,o){let c=a;if(a.isCompiled)return c;[no,ao,bo,so].forEach(d=>d(a,o)),e.compilerExtensions.forEach(d=>d(a,o)),a.__beforeBegin=null,[io,ro,oo].forEach(d=>d(a,o)),a.isCompiled=!0;let l=null;return typeof a.keywords=="object"&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),l=a.keywords.$pattern,delete a.keywords.$pattern),l=l||/\w+/,a.keywords&&(a.keywords=fi(a.keywords,e.case_insensitive)),c.keywordPatternRe=n(l,!0),o&&(a.begin||(a.begin=/\B|\b/),c.beginRe=n(c.begin),!a.end&&!a.endsWithParent&&(a.end=/\B|\b/),a.end&&(c.endRe=n(c.end)),c.terminatorEnd=Xe(c.end)||"",a.endsWithParent&&o.terminatorEnd&&(c.terminatorEnd+=(a.end?"|":"")+o.terminatorEnd)),a.illegal&&(c.illegalRe=n(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(d){return ho(d==="self"?a:d)})),a.contains.forEach(function(d){s(d,c)}),a.starts&&s(a.starts,o),c.matcher=r(c),c}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=_e(e.classNameAliases||{}),s(e)}function bi(e){return e?e.endsWithParent||bi(e.starts):!1}function ho(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(n){return _e(e,{variants:null},n)})),e.cachedVariants?e.cachedVariants:bi(e)?_e(e,{starts:e.starts?_e(e.starts):null}):Object.isFrozen(e)?_e(e):e}var Eo="11.11.1",Yt=class extends Error{constructor(n,t){super(n),this.name="HTMLInjectionError",this.html=t}},Ht=si,ri=_e,ai=Symbol("nomatch"),vo=7,_i=function(e){let n=Object.create(null),t=Object.create(null),i=[],r=!0,s="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]},o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:Zt};function c(u){return o.noHighlightRe.test(u)}function l(u){let b=u.className+" ";b+=u.parentNode?u.parentNode.className:"";let m=o.languageDetectRe.exec(b);if(m){let S=B(m[1]);return S||(ii(s.replace("{}",m[1])),ii("Falling back to no-highlight mode for this block.",u)),S?m[1]:"no-highlight"}return b.split(/\s+/).find(S=>c(S)||B(S))}function d(u,b,m){let S="",I="";typeof b=="object"?(S=u,m=b.ignoreIllegals,I=b.language):(De("10.7.0","highlight(lang, code, ...args) has been deprecated."),De("10.7.0",`Please use highlight(code, options) instead.
|
|
2
2
|
https://github.com/highlightjs/highlight.js/issues/2277`),I=u,S=b),m===void 0&&(m=!0);let $={code:S,language:I};Z("before:highlight",$);let V=$.result?$.result:g($.language,$.code,m);return V.code=$.code,Z("after:highlight",V),V}function g(u,b,m,S){let I=Object.create(null);function $(f,h){return f.keywords[h]}function V(){if(!y.keywords){Q.addText(G);return}let f=0;y.keywordPatternRe.lastIndex=0;let h=y.keywordPatternRe.exec(G),x="";for(;h;){x+=G.substring(f,h.index);let P=se.case_insensitive?h[0].toLowerCase():h[0],J=$(y,P);if(J){let[fe,ga]=J;if(Q.addText(x),x="",I[P]=(I[P]||0)+1,I[P]<=vo&&(it+=ga),fe.startsWith("_"))x+=h[0];else{let pa=se.classNameAliases[fe]||fe;ie(h[0],pa)}}else x+=h[0];f=y.keywordPatternRe.lastIndex,h=y.keywordPatternRe.exec(G)}x+=G.substring(f),Q.addText(x)}function oe(){if(G==="")return;let f=null;if(typeof y.subLanguage=="string"){if(!n[y.subLanguage]){Q.addText(G);return}f=g(y.subLanguage,G,!0,nt[y.subLanguage]),nt[y.subLanguage]=f._top}else f=_(G,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(it+=f.relevance),Q.__addSublanguage(f._emitter,f.language)}function j(){y.subLanguage!=null?oe():V(),G=""}function ie(f,h){f!==""&&(Q.startScope(h),Q.addText(f),Q.endScope())}function xe(f,h){let x=1,P=h.length-1;for(;x<=P;){if(!f._emit[x]){x++;continue}let J=se.classNameAliases[f[x]]||f[x],fe=h[x];J?ie(fe,J):(G=fe,V(),G=""),x++}}function et(f,h){return f.scope&&typeof f.scope=="string"&&Q.openNode(se.classNameAliases[f.scope]||f.scope),f.beginScope&&(f.beginScope._wrap?(ie(G,se.classNameAliases[f.beginScope._wrap]||f.beginScope._wrap),G=""):f.beginScope._multi&&(xe(f.beginScope,h),G="")),y=Object.create(f,{parent:{value:y}}),y}function Fe(f,h,x){let P=Ba(f.endRe,x);if(P){if(f["on:end"]){let J=new Et(f);f["on:end"](h,J),J.isMatchIgnored&&(P=!1)}if(P){for(;f.endsParent&&f.parent;)f=f.parent;return f}}if(f.endsWithParent)return Fe(f.parent,h,x)}function Rt(f){return y.matcher.regexIndex===0?(G+=f[0],1):(Dt=!0,0)}function kt(f){let h=f[0],x=f.rule,P=new Et(x),J=[x.__beforeBegin,x["on:begin"]];for(let fe of J)if(fe&&(fe(f,P),P.isMatchIgnored))return Rt(h);return x.skip?G+=h:(x.excludeBegin&&(G+=h),j(),!x.returnBegin&&!x.excludeBegin&&(G=h)),et(x,f),x.returnBegin?0:h.length}function At(f){let h=f[0],x=b.substring(f.index),P=Fe(y,f,x);if(!P)return ai;let J=y;y.endScope&&y.endScope._wrap?(j(),ie(h,y.endScope._wrap)):y.endScope&&y.endScope._multi?(j(),xe(y.endScope,f)):J.skip?G+=h:(J.returnEnd||J.excludeEnd||(G+=h),j(),J.excludeEnd&&(G=h));do y.scope&&Q.closeNode(),!y.skip&&!y.subLanguage&&(it+=y.relevance),y=y.parent;while(y!==P.parent);return P.starts&&et(P.starts,f),J.returnEnd?0:h.length}function Mt(){let f=[];for(let h=y;h!==se;h=h.parent)h.scope&&f.unshift(h.scope);f.forEach(h=>Q.openNode(h))}let Oe={};function tt(f,h){let x=h&&h[0];if(G+=f,x==null)return j(),0;if(Oe.type==="begin"&&h.type==="end"&&Oe.index===h.index&&x===""){if(G+=b.slice(h.index,h.index+1),!r){let P=new Error(`0 width match regex (${u})`);throw P.languageName=u,P.badRule=Oe.rule,P}return 1}if(Oe=h,h.type==="begin")return kt(h);if(h.type==="illegal"&&!m){let P=new Error('Illegal lexeme "'+x+'" for mode "'+(y.scope||"<unnamed>")+'"');throw P.mode=y,P}else if(h.type==="end"){let P=At(h);if(P!==ai)return P}if(h.type==="illegal"&&x==="")return G+=`
|
|
3
3
|
`,1;if(It>1e5&&It>h.index*3)throw new Error("potential infinite loop, way more iterations than matches");return G+=x,x.length}let se=B(u);if(!se)throw Se(s.replace("{}",u)),new Error('Unknown language: "'+u+'"');let F=_o(se),me="",y=S||F,nt={},Q=new o.__emitter(o);Mt();let G="",it=0,he=0,It=0,Dt=!1;try{if(se.__emitTokens)se.__emitTokens(b,Q);else{for(y.matcher.considerAll();;){It++,Dt?Dt=!1:y.matcher.considerAll(),y.matcher.lastIndex=he;let f=y.matcher.exec(b);if(!f)break;let h=b.substring(he,f.index),x=tt(h,f);he=f.index+x}tt(b.substring(he))}return Q.finalize(),me=Q.toHTML(),{language:u,value:me,relevance:it,illegal:!1,_emitter:Q,_top:y}}catch(f){if(f.message&&f.message.includes("Illegal"))return{language:u,value:Ht(b),illegal:!0,relevance:0,_illegalBy:{message:f.message,index:he,context:b.slice(he-100,he+100),mode:f.mode,resultSoFar:me},_emitter:Q};if(r)return{language:u,value:Ht(b),illegal:!1,relevance:0,errorRaised:f,_emitter:Q,_top:y};throw f}}function p(u){let b={value:Ht(u),illegal:!1,relevance:0,_top:a,_emitter:new o.__emitter(o)};return b._emitter.addText(u),b}function _(u,b){b=b||o.languages||Object.keys(n);let m=p(u),S=b.filter(B).filter(te).map(j=>g(j,u,!1));S.unshift(m);let I=S.sort((j,ie)=>{if(j.relevance!==ie.relevance)return ie.relevance-j.relevance;if(j.language&&ie.language){if(B(j.language).supersetOf===ie.language)return 1;if(B(ie.language).supersetOf===j.language)return-1}return 0}),[$,V]=I,oe=$;return oe.secondBest=V,oe}function w(u,b,m){let S=b&&t[b]||m;u.classList.add("hljs"),u.classList.add(`language-${S}`)}function E(u){let b=null,m=l(u);if(c(m))return;if(Z("before:highlightElement",{el:u,language:m}),u.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",u);return}if(u.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(u)),o.throwUnescapedHTML))throw new Yt("One of your code blocks includes unescaped HTML.",u.innerHTML);b=u;let S=b.textContent,I=m?d(S,{language:m,ignoreIllegals:!0}):_(S);u.innerHTML=I.value,u.dataset.highlighted="yes",w(u,m,I.language),u.result={language:I.language,re:I.relevance,relevance:I.relevance},I.secondBest&&(u.secondBest={language:I.secondBest.language,relevance:I.secondBest.relevance}),Z("after:highlightElement",{el:u,result:I,text:S})}function v(u){o=ri(o,u)}let N=()=>{k(),De("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function R(){k(),De("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let D=!1;function k(){function u(){k()}if(document.readyState==="loading"){D||window.addEventListener("DOMContentLoaded",u,!1),D=!0;return}document.querySelectorAll(o.cssSelector).forEach(E)}function L(u,b){let m=null;try{m=b(e)}catch(S){if(Se("Language definition for '{}' could not be registered.".replace("{}",u)),r)Se(S);else throw S;m=a}m.name||(m.name=u),n[u]=m,m.rawDefinition=b.bind(null,e),m.aliases&&K(m.aliases,{languageName:u})}function A(u){delete n[u];for(let b of Object.keys(t))t[b]===u&&delete t[b]}function X(){return Object.keys(n)}function B(u){return u=(u||"").toLowerCase(),n[u]||n[t[u]]}function K(u,{languageName:b}){typeof u=="string"&&(u=[u]),u.forEach(m=>{t[m.toLowerCase()]=b})}function te(u){let b=B(u);return b&&!b.disableAutodetect}function ue(u){u["before:highlightBlock"]&&!u["before:highlightElement"]&&(u["before:highlightElement"]=b=>{u["before:highlightBlock"](Object.assign({block:b.el},b))}),u["after:highlightBlock"]&&!u["after:highlightElement"]&&(u["after:highlightElement"]=b=>{u["after:highlightBlock"](Object.assign({block:b.el},b))})}function ae(u){ue(u),i.push(u)}function ce(u){let b=i.indexOf(u);b!==-1&&i.splice(b,1)}function Z(u,b){let m=u;i.forEach(function(S){S[m]&&S[m](b)})}function Y(u){return De("10.7.0","highlightBlock will be removed entirely in v12.0"),De("10.7.0","Please use highlightElement now."),E(u)}Object.assign(e,{highlight:d,highlightAuto:_,highlightAll:k,highlightElement:E,highlightBlock:Y,configure:v,initHighlighting:N,initHighlightingOnLoad:R,registerLanguage:L,unregisterLanguage:A,listLanguages:X,getLanguage:B,registerAliases:K,autoDetection:te,inherit:ri,addPlugin:ae,removePlugin:ce}),e.debugMode=function(){r=!1},e.safeMode=function(){r=!0},e.versionString=Eo,e.regex={concat:Te,lookahead:ci,either:Xt,optional:Da,anyNumberOfTimes:Ia};for(let u in ht)typeof ht[u]=="object"&&oi(ht[u]);return Object.assign(e,ht),e},Le=_i({});Le.newInstance=()=>_i({});hi.exports=Le;Le.HighlightJS=Le;Le.default=Le});var yi=O((Pc,vi)=>{"use strict";function yo(e){let n=e.regex,t=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=e.inherit(s,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"string"}),c=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:i,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[r]},{begin:/'/,end:/'/,contains:[r]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[s,c,o,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[s,a,c,o]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:n.concat(/</,n.lookahead(n.concat(t,n.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:l}]},{className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}vi.exports=yo});var wi=O((Fc,Ni)=>{"use strict";function No(e){let n=e.regex,t={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t,r]};r.contains.push(o);let c={match:/\\"/},l={className:"string",begin:/'/,end:/'/},d={match:/\\'/},g={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t]},p=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],_=e.SHEBANG({binary:`(${p.join("|")})`,relevance:10}),w={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},E=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],v=["true","false"],N={match:/(\/[a-z._-]+)+/},R=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],D=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],k=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],L=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:E,literal:v,built_in:[...R,...D,"set","shopt",...k,...L]},contains:[_,e.SHEBANG(),w,g,s,a,N,o,c,l,d,t]}}Ni.exports=No});var Ti=O((Uc,Si)=>{"use strict";function wo(e){let n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",a="("+i+"|"+n.optional(r)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",o={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:n.optional(r)+e.IDENT_RE,relevance:0},_=n.optional(r)+e.IDENT_RE+"\\s*\\(",v={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},N=[g,o,t,e.C_BLOCK_COMMENT_MODE,d,l],R={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:v,contains:N.concat([{begin:/\(/,end:/\)/,keywords:v,contains:N.concat(["self"]),relevance:0}]),relevance:0},D={begin:"("+a+"[\\*&\\s]+)+"+_,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:v,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:v,relevance:0},{begin:_,returnBegin:!0,contains:[e.inherit(p,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,l,d,o,{begin:/\(/,end:/\)/,keywords:v,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,l,d,o]}]},o,t,e.C_BLOCK_COMMENT_MODE,g]};return{name:"C",aliases:["h"],keywords:v,disableAutodetect:!0,illegal:"</",contains:[].concat(R,D,N,[g,{begin:e.IDENT_RE+"::",keywords:v},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:g,strings:l,keywords:v}}}Si.exports=wo});var Oi=O((zc,xi)=>{"use strict";function So(e){let n=e.regex,t=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",a="(?!struct)("+i+"|"+n.optional(r)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",o={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},l={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},g={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:n.optional(r)+e.IDENT_RE,relevance:0},_=n.optional(r)+e.IDENT_RE+"\\s*\\(",w=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],E=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],v=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],N=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],k={type:E,keyword:w,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:v},L={className:"function.dispatch",relevance:0,keywords:{_hint:N},begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/))},A=[L,g,o,t,e.C_BLOCK_COMMENT_MODE,d,l],X={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:k,contains:A.concat([{begin:/\(/,end:/\)/,keywords:k,contains:A.concat(["self"]),relevance:0}]),relevance:0},B={className:"function",begin:"("+a+"[\\*&\\s]+)+"+_,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:k,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:k,relevance:0},{begin:_,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:[t,e.C_BLOCK_COMMENT_MODE,l,d,o,{begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,l,d,o]}]},o,t,e.C_BLOCK_COMMENT_MODE,g]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:k,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(X,B,L,A,[g,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:k,contains:["self",o]},{begin:e.IDENT_RE+"::",keywords:k},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}xi.exports=So});var Ri=O(($c,Ci)=>{"use strict";function To(e){let n=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],t=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],s=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],a={keyword:r.concat(s),built_in:n,literal:i},o=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},l={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},g=e.inherit(d,{illegal:/\n/}),p={className:"subst",begin:/\{/,end:/\}/,keywords:a},_=e.inherit(p,{illegal:/\n/}),w={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,_]},E={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]},v=e.inherit(E,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},_]});p.contains=[E,w,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.C_BLOCK_COMMENT_MODE],_.contains=[v,w,g,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let N={variants:[l,E,w,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},R={begin:"<",end:">",contains:[{beginKeywords:"in out"},o]},D=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",k={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:a,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},N,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},o,R,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,R,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+D+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:a,contains:[{beginKeywords:t.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,R],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,relevance:0,contains:[N,c,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},k]}}Ci.exports=To});var Ai=O((Gc,ki)=>{"use strict";var xo=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Oo=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Co=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Ro=[...Oo,...Co],ko=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Ao=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Mo=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Io=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Do(e){let n=e.regex,t=xo(e),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",s=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",o=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,i,t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+a,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Ao.join("|")+")"},{begin:":(:)?("+Mo.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Io.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...o,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...o,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:n.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:ko.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...o,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Ro.join("|")+")\\b"}]}}ki.exports=Do});var Ii=O((Kc,Mi)=>{"use strict";function Lo(e){let n=e.regex,t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:n.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},l={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},g=e.inherit(l,{contains:[]}),p=e.inherit(d,{contains:[]});l.contains.push(p),d.contains.push(g);let _=[t,c];return[l,d,g,p].forEach(N=>{N.contains=N.contains.concat(_)}),_=_.concat(l,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:_},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:_}]}]},t,s,l,d,{className:"quote",begin:"^>\\s+",contains:_,end:"$"},r,i,c,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}Mi.exports=Lo});var Li=O((Vc,Di)=>{"use strict";function Bo(e){let n=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:n.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:n.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}Di.exports=Bo});var Pi=O((Hc,Bi)=>{"use strict";function Po(e){let n=e.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=n.concat(i,/(::\w+)*/),a={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},o={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},l=[e.COMMENT("#","$",{contains:[o]}),e.COMMENT("^=begin","^=end",{contains:[o],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],d={className:"subst",begin:/#\{/,end:/\}/,keywords:a},g={className:"string",contains:[e.BACKSLASH_ESCAPE,d],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,d]})]}]},p="[1-9](_?[0-9])*|0",_="[0-9](_?[0-9])*",w={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${_}))?([eE][+-]?(${_})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},E={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:a}]},A=[g,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:a},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:a},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[E]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[g,{begin:t}],relevance:0},w,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:a},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,d],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(c,l),relevance:0}].concat(c,l);d.contains=A,E.contains=A;let te=[{begin:/^\s*=>/,starts:{end:"$",contains:A}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:a,contains:A}}];return l.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:a,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(te).concat(l).concat(A)}}Bi.exports=Po});var Ui=O((qc,Fi)=>{"use strict";function Fo(e){let s={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:s,illegal:/["']/}]}]}}Fi.exports=Fo});var $i=O((Wc,zi)=>{"use strict";function Uo(e){let n=e.regex,t=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:n.concat(t,n.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}zi.exports=Uo});var Ki=O((Zc,Gi)=>{"use strict";function zo(e){let n=e.regex,t={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},i=e.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let r={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},s={className:"literal",begin:/\bon|off|true|false|yes|no\b/},a={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},o={begin:/\[/,end:/\]/,contains:[i,s,r,a,t,"self"],relevance:0},c=/[A-Za-z0-9_-]+/,l=/"(\\"|[^"])*"/,d=/'[^']*'/,g=n.either(c,l,d),p=n.concat(g,"(\\s*\\.\\s*",g,")*",n.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:p,className:"attr",starts:{end:/$/,contains:[i,o,s,r,a,t]}}]}}Gi.exports=zo});var Wi=O((Yc,qi)=>{"use strict";var Be="[0-9](_*[0-9])*",Nt=`\\.(${Be})`,wt="[0-9a-fA-F](_*[0-9a-fA-F])*",Vi={className:"number",variants:[{begin:`(\\b(${Be})((${Nt})|\\.)?|(${Nt}))[eE][+-]?(${Be})[fFdD]?\\b`},{begin:`\\b(${Be})((${Nt})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Nt})[fFdD]?\\b`},{begin:`\\b(${Be})[fFdD]\\b`},{begin:`\\b0[xX]((${wt})\\.?|(${wt})?\\.(${wt}))[pP][+-]?(${Be})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${wt})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Hi(e,n,t){return t===-1?"":e.replace(n,i=>Hi(e,n,t-1))}function $o(e){let n=e.regex,t="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",i=t+Hi("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),c={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},l={className:"meta",begin:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},d={className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[n.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[d,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[l,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,Vi,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},Vi,l]}}qi.exports=$o});var ji=O((Xc,Ji)=>{"use strict";var Zi="[A-Za-z$_][0-9A-Za-z$_]*",Go=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Ko=["true","false","null","undefined","NaN","Infinity"],Yi=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Xi=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Qi=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Vo=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Ho=[].concat(Qi,Yi,Xi);function qo(e){let n=e.regex,t=(m,{after:S})=>{let I="</"+m[0].slice(1);return m.input.indexOf(I,S)!==-1},i=Zi,r={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(m,S)=>{let I=m[0].length+m.index,$=m.input[I];if($==="<"||$===","){S.ignoreMatch();return}$===">"&&(t(m,{after:I})||S.ignoreMatch());let V,oe=m.input.substring(I);if(V=oe.match(/^\s*=/)){S.ignoreMatch();return}if((V=oe.match(/^\s+extends\s+/))&&V.index===0){S.ignoreMatch();return}}},o={$pattern:Zi,keyword:Go,literal:Ko,built_in:Ho,"variable.language":Vo},c="[0-9](_?[0-9])*",l=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${d})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},_={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},w={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,p],subLanguage:"css"}},E={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},v={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,p]},R={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},D=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,w,E,v,{match:/\$\d+/},g];p.contains=D.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(D)});let k=[].concat(R,p.contains),L=k.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(k)}]),A={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:L},X={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,n.concat(i,"(",n.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},B={relevance:0,match:n.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Yi,...Xi]}},K={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},te={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[A],illegal:/%/},ue={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ae(m){return n.concat("(?!",m.join("|"),")")}let ce={match:n.concat(/\b/,ae([...Qi,"super","import"].map(m=>`${m}\\s*\\(`)),i,n.lookahead(/\s*\(/)),className:"title.function",relevance:0},Z={begin:n.concat(/\./,n.lookahead(n.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Y={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},A]},u="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",b={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,n.lookahead(u)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[A]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:L,CLASS_REFERENCE:B},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),K,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,_,w,E,v,R,{match:/\$\d+/},g,B,{scope:"attr",match:i+n.lookahead(":"),relevance:0},b,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[R,e.REGEXP_MODE,{className:"function",begin:u,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:L}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},te,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[A,e.inherit(e.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},Z,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[A]},ce,ue,X,Y,{match:/\$[(.]/}]}}Ji.exports=qo});var tr=O((Qc,er)=>{"use strict";function Wo(e){let n={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},t={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:i},contains:[n,t,e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}er.exports=Wo});var ir=O((Jc,nr)=>{"use strict";var Pe="[0-9](_*[0-9])*",St=`\\.(${Pe})`,Tt="[0-9a-fA-F](_*[0-9a-fA-F])*",Zo={className:"number",variants:[{begin:`(\\b(${Pe})((${St})|\\.)?|(${St}))[eE][+-]?(${Pe})[fFdD]?\\b`},{begin:`\\b(${Pe})((${St})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${St})[fFdD]?\\b`},{begin:`\\b(${Pe})[fFdD]\\b`},{begin:`\\b0[xX]((${Tt})\\.?|(${Tt})?\\.(${Tt}))[pP][+-]?(${Pe})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Tt})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Yo(e){let n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},t={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},a={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,r]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,r]}]};r.contains.push(a);let o={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(a,{className:"string"}),"self"]}]},l=Zo,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),g={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=g;return p.variants[1].contains=[g],g.variants[1].contains=[p],{name:"Kotlin",aliases:["kt","kts"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,t,i,o,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[g,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,o,c,a,e.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},o,c]},a,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
4
4
|
`},l]}}nr.exports=Yo});var sr=O((jc,or)=>{"use strict";var Xo=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Qo=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Jo=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],jo=[...Qo,...Jo],es=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),rr=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),ar=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),ts=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),ns=rr.concat(ar).sort().reverse();function is(e){let n=Xo(e),t=ns,i="and or not only",r="[\\w-]+",s="("+r+"|@\\{"+r+"\\})",a=[],o=[],c=function(D){return{className:"string",begin:"~?"+D+".*?"+D}},l=function(D,k,L){return{className:D,begin:k,relevance:L}},d={$pattern:/[a-z-]+/,keyword:i,attribute:es.join(" ")},g={begin:"\\(",end:"\\)",contains:o,keywords:d,relevance:0};o.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,c("'"),c('"'),n.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},n.HEXCOLOR,g,l("variable","@@?"+r,10),l("variable","@\\{"+r+"\\}"),l("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},n.IMPORTANT,{beginKeywords:"and not"},n.FUNCTION_DISPATCH);let p=o.concat({begin:/\{/,end:/\}/,contains:a}),_={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(o)},w={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ts.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:o}}]},E={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:o,relevance:0}},v={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:p}},N={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,_,l("keyword","all\\b"),l("variable","@\\{"+r+"\\}"),{begin:"\\b("+jo.join("|")+")\\b",className:"selector-tag"},n.CSS_NUMBER_MODE,l("selector-tag",s,0),l("selector-id","#"+s),l("selector-class","\\."+s,0),l("selector-tag","&",0),n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+rr.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+ar.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:p},{begin:"!important"},n.FUNCTION_DISPATCH]},R={begin:r+`:(:)?(${t.join("|")})`,returnBegin:!0,contains:[N]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,E,v,R,w,N,_,n.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:a}}or.exports=is});var lr=O((el,cr)=>{"use strict";function rs(e){let n="\\[=*\\[",t="\\]=*\\]",i={begin:n,end:t,contains:["self"]},r=[e.COMMENT("--(?!"+n+")","$"),e.COMMENT("--"+n,t,{contains:[i],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:n,end:t,contains:[i],relevance:5}])}}cr.exports=rs});var ur=O((tl,dr)=>{"use strict";function as(e){let n={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},t={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n]},i={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[n,t]},r={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},s={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},a={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[n]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,n,t,i,r,s,a]}}dr.exports=as});var pr=O((nl,gr)=>{"use strict";function os(e){let n=e.regex,t=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:t.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},a={begin:/->\{/,end:/\}/},o={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:"variable",variants:[{begin:/\$\d/},{begin:n.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[o]},l={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},d=[e.BACKSLASH_ESCAPE,s,c],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],p=(E,v,N="\\1")=>{let R=N==="\\1"?N:n.concat(N,v);return n.concat(n.concat("(?:",E,")"),v,/(?:\\.|[^\\\/])*?/,R,/(?:\\.|[^\\\/])*?/,N,i)},_=(E,v,N)=>n.concat(n.concat("(?:",E,")"),v,/(?:\\.|[^\\\/])*?/,N,i),w=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),a,{className:"string",contains:d,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},l,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:p("s|tr|y",n.either(...g,{capture:!0}))},{begin:p("s|tr|y","\\(","\\)")},{begin:p("s|tr|y","\\[","\\]")},{begin:p("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:_("(?:m|qr)?",/\//,/\//)},{begin:_("m|qr",n.either(...g,{capture:!0}),/\1/)},{begin:_("m|qr",/\(/,/\)/)},{begin:_("m|qr",/\[/,/\]/)},{begin:_("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,o,l]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=w,a.contains=w,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:w}}gr.exports=os});var mr=O((il,fr)=>{"use strict";function ss(e){let n={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},t=/[a-zA-Z@][a-zA-Z0-9_]*/,o={"variable.language":["this","super"],$pattern:t,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},c={$pattern:t,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"</",contains:[n,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}fr.exports=ss});var _r=O((rl,br)=>{"use strict";function cs(e){let n=e.regex,t=/(?![A-Za-z0-9])(?![$])/,i=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),r=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),s=n.concat(/[A-Z]+/,t),a={scope:"variable",match:"\\$+"+i},o={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),d=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),g={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(Z,Y)=>{Y.data._beginMatch=Z[1]||Z[2]},"on:end":(Z,Y)=>{Y.data._beginMatch!==Z[1]&&Y.ignoreMatch()}},p=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),_=`[
|