@yorz/cli 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/dist/cli/index.js +302 -25
- package/dist/gui/assets/{abnfDiagram-VRR7QNED-DE_Lwnyj.js → abnfDiagram-VRR7QNED-BlILeZZA.js} +1 -1
- package/dist/gui/assets/{arc-0XKFeKL1.js → arc-C-xJpbjF.js} +1 -1
- package/dist/gui/assets/{architectureDiagram-ZJ3FMSHR-WVMr6CTB.js → architectureDiagram-ZJ3FMSHR-QdzNii0b.js} +1 -1
- package/dist/gui/assets/{blockDiagram-677ZJIJ3-JmkelTQ6.js → blockDiagram-677ZJIJ3-BQTAKTET.js} +1 -1
- package/dist/gui/assets/{c4Diagram-LMCZKHZV-BYvSE_vv.js → c4Diagram-LMCZKHZV-YRh3fqeb.js} +1 -1
- package/dist/gui/assets/channel-DGoXAS0B.js +1 -0
- package/dist/gui/assets/{chunk-2Q5K7J3B-cgJ3ifz_.js → chunk-2Q5K7J3B-Bgu-eeCS.js} +1 -1
- package/dist/gui/assets/{chunk-32BRIVSS-DR-AYVVA.js → chunk-32BRIVSS-DTLd8wsP.js} +1 -1
- package/dist/gui/assets/{chunk-5VM5RSS4-Di4z9gEz.js → chunk-5VM5RSS4-Cct8HJoz.js} +1 -1
- package/dist/gui/assets/{chunk-EX3LRPZG-CtCaJMGG.js → chunk-EX3LRPZG-DBgaA_1N.js} +1 -1
- package/dist/gui/assets/{chunk-JWPE2WC7-EjoKlGne.js → chunk-JWPE2WC7-DELoF8bV.js} +1 -1
- package/dist/gui/assets/{chunk-MOJQB5TN-ndMzM7-f.js → chunk-MOJQB5TN-Du6uREYs.js} +1 -1
- package/dist/gui/assets/{chunk-RYQCIY6F-CDdJsSDv.js → chunk-RYQCIY6F-CxO6cQdM.js} +1 -1
- package/dist/gui/assets/{chunk-V7JOEXUC-BptnbB4R.js → chunk-V7JOEXUC-BiILBcGA.js} +1 -1
- package/dist/gui/assets/{chunk-VR4S4FIN-CF8Dsx8K.js → chunk-VR4S4FIN-BfY2RvG4.js} +1 -1
- package/dist/gui/assets/{chunk-XXDRQBXY-CgGWri-V.js → chunk-XXDRQBXY-DmsZw6tB.js} +1 -1
- package/dist/gui/assets/classDiagram-OUVF2IWQ-B4zeZ0PC.js +1 -0
- package/dist/gui/assets/classDiagram-v2-EOCWNBFH-B4zeZ0PC.js +1 -0
- package/dist/gui/assets/{cose-bilkent-JH36ORCC-Bm9uE-P8.js → cose-bilkent-JH36ORCC-gX-8DSxS.js} +1 -1
- package/dist/gui/assets/{cynefin-VYW2F7L2-Dd-Apprt.js → cynefin-VYW2F7L2-vOfRo7cL.js} +1 -1
- package/dist/gui/assets/{cynefinDiagram-TSTJHNR4-DpGBOFX2.js → cynefinDiagram-TSTJHNR4-Dv66a7Rh.js} +1 -1
- package/dist/gui/assets/{dagre-VKFMJZFB-DmKBW-UB.js → dagre-VKFMJZFB-Rk64dDvT.js} +1 -1
- package/dist/gui/assets/{diagram-FQU43EPY-CYuUGN7Z.js → diagram-FQU43EPY-CyW3IjmQ.js} +1 -1
- package/dist/gui/assets/{diagram-G47NLZAW-BZ-zUUWn.js → diagram-G47NLZAW-Caav47lW.js} +1 -1
- package/dist/gui/assets/{diagram-NH7WQ7WH-D2qb5dA_.js → diagram-NH7WQ7WH-_X3ihqNf.js} +1 -1
- package/dist/gui/assets/{diagram-OA4YK3LP-BSy8-VUz.js → diagram-OA4YK3LP-CjbverOE.js} +1 -1
- package/dist/gui/assets/{diagram-WEI45ONY-B-vTVzM8.js → diagram-WEI45ONY-B93ZeTtT.js} +1 -1
- package/dist/gui/assets/{ebnfDiagram-CCIWWBDH-cKb33glS.js → ebnfDiagram-CCIWWBDH-CdDt4bWx.js} +1 -1
- package/dist/gui/assets/{erDiagram-Q63AITRT-DvWEFI1U.js → erDiagram-Q63AITRT-Bypq-rvj.js} +1 -1
- package/dist/gui/assets/{flowDiagram-23GEKE2U-CfvFgLP2.js → flowDiagram-23GEKE2U-b-l8_7KP.js} +1 -1
- package/dist/gui/assets/{ganttDiagram-NO4QXBWP-BnDujV-k.js → ganttDiagram-NO4QXBWP-BeZFHLhX.js} +1 -1
- package/dist/gui/assets/{gitGraphDiagram-IHSO6WYX-Sv91FaB5.js → gitGraphDiagram-IHSO6WYX-C0siPGLA.js} +1 -1
- package/dist/gui/assets/{index-Do-LzYBw.js → index-DKVgyltQ.js} +2 -2
- package/dist/gui/assets/{infoDiagram-FWYZ7A6U-BE3WS_us.js → infoDiagram-FWYZ7A6U-Bk8DNKgG.js} +1 -1
- package/dist/gui/assets/{ishikawaDiagram-FXEZZL3T-FObQPAd_.js → ishikawaDiagram-FXEZZL3T-DyS4wmJu.js} +1 -1
- package/dist/gui/assets/{journeyDiagram-5HDEW3XC-D3RAFL7x.js → journeyDiagram-5HDEW3XC-4jUY7Bzi.js} +1 -1
- package/dist/gui/assets/{kanban-definition-HUTT4EX6-Bx1DS2KG.js → kanban-definition-HUTT4EX6-BRiI4KbM.js} +1 -1
- package/dist/gui/assets/{linear-oevdTPQK.js → linear-C5JkbjyJ.js} +1 -1
- package/dist/gui/assets/{mermaid.core-jn1Xktvs.js → mermaid.core-ImB_5gdE.js} +4 -4
- package/dist/gui/assets/{mindmap-definition-LN4V7U3C-xLT5IJki.js → mindmap-definition-LN4V7U3C-9_Awmd2W.js} +1 -1
- package/dist/gui/assets/{pegDiagram-2B236MQR-DToAMrXG.js → pegDiagram-2B236MQR-DF_vIYzp.js} +1 -1
- package/dist/gui/assets/{pieDiagram-ENE6RG2P-Cw6tv4YJ.js → pieDiagram-ENE6RG2P-3TPwXSjQ.js} +1 -1
- package/dist/gui/assets/{quadrantDiagram-ABIIQ3AL-GW5Knopm.js → quadrantDiagram-ABIIQ3AL-jzJ30mNi.js} +1 -1
- package/dist/gui/assets/{railroadDiagram-RFXS5EU6-CuP1sa-2.js → railroadDiagram-RFXS5EU6-B-29q3CI.js} +1 -1
- package/dist/gui/assets/{requirementDiagram-TGXJPOKE-D8IcCo1X.js → requirementDiagram-TGXJPOKE-BanWpS6g.js} +1 -1
- package/dist/gui/assets/{sankeyDiagram-HTMAVEWB-CfT_C9uh.js → sankeyDiagram-HTMAVEWB-B_sxc9IV.js} +1 -1
- package/dist/gui/assets/{sequenceDiagram-DBY2YBRQ-BwUwWFYe.js → sequenceDiagram-DBY2YBRQ-BNVav9DA.js} +1 -1
- package/dist/gui/assets/{sizeCapture-X5ZJPWSS-DyBlcl4H.js → sizeCapture-X5ZJPWSS-DbaiKjno.js} +1 -1
- package/dist/gui/assets/{stateDiagram-2N3HPSRC-yv8DkbvF.js → stateDiagram-2N3HPSRC-jU5WBm6c.js} +1 -1
- package/dist/gui/assets/stateDiagram-v2-6OUMAXLB-GXq_r-DG.js +1 -0
- package/dist/gui/assets/{swimlanes-5IMT3BWC-BnOmKdmr.js → swimlanes-5IMT3BWC-Dcmb64x2.js} +2 -2
- package/dist/gui/assets/swimlanesDiagram-G3AALYLV-DDE-INgq.js +8 -0
- package/dist/gui/assets/{timeline-definition-FHXFAJF6-C6_-GVjE.js → timeline-definition-FHXFAJF6-COm9ow7j.js} +1 -1
- package/dist/gui/assets/{vennDiagram-L72KCM5P-D_N0uLk2.js → vennDiagram-L72KCM5P-DliDuTVY.js} +1 -1
- package/dist/gui/assets/{wardleyDiagram-EHGQE667-CnNoxFYY.js → wardleyDiagram-EHGQE667-C2O_2cpw.js} +1 -1
- package/dist/gui/assets/{xychartDiagram-FW5EYKEG-CloORw9z.js → xychartDiagram-FW5EYKEG-Ldmt9hoc.js} +1 -1
- package/dist/gui/index.html +1 -1
- package/package.json +4 -4
- package/dist/gui/assets/channel-BhMtSKKb.js +0 -1
- package/dist/gui/assets/classDiagram-OUVF2IWQ-DiPaZ7LY.js +0 -1
- package/dist/gui/assets/classDiagram-v2-EOCWNBFH-DiPaZ7LY.js +0 -1
- package/dist/gui/assets/stateDiagram-v2-6OUMAXLB-BspjtPpt.js +0 -1
- package/dist/gui/assets/swimlanesDiagram-G3AALYLV-BgPC3dJX.js +0 -8
|
@@ -17,5 +17,5 @@
|
|
|
17
17
|
https://github.com/highlightjs/highlight.js/issues/2277`),Ze=H,Fe=se),Te===void 0&&(Te=!0);const vt={code:Fe,language:Ze};Gn("before:highlight",vt);const Zt=vt.result?vt.result:wn(vt.language,vt.code,Te);return Zt.code=vt.code,Gn("after:highlight",Zt),Zt}function wn(H,se,Te,Fe){const Ze=Object.create(null);function vt(V,ue){return V.keywords[ue]}function Zt(){if(!_e.keywords){et.addText(Pe);return}let V=0;_e.keywordPatternRe.lastIndex=0;let ue=_e.keywordPatternRe.exec(Pe),we="";for(;ue;){we+=Pe.substring(V,ue.index);const $e=Dt.case_insensitive?ue[0].toLowerCase():ue[0],nt=vt(_e,$e);if(nt){const[qt,so]=nt;if(et.addText(we),we="",Ze[$e]=(Ze[$e]||0)+1,Ze[$e]<=ye&&(jn+=so),qt.startsWith("_"))we+=ue[0];else{const oo=Dt.classNameAliases[qt]||qt;Tt(ue[0],oo)}}else we+=ue[0];V=_e.keywordPatternRe.lastIndex,ue=_e.keywordPatternRe.exec(Pe)}we+=Pe.substring(V),et.addText(we)}function Kn(){if(Pe==="")return;let V=null;if(typeof _e.subLanguage=="string"){if(!C[_e.subLanguage]){et.addText(Pe);return}V=wn(_e.subLanguage,Pe,!0,lu[_e.subLanguage]),lu[_e.subLanguage]=V._top}else V=Tr(Pe,_e.subLanguage.length?_e.subLanguage:null);_e.relevance>0&&(jn+=V.relevance),et.__addSublanguage(V._emitter,V.language)}function ft(){_e.subLanguage!=null?Kn():Zt(),Pe=""}function Tt(V,ue){V!==""&&(et.startScope(ue),et.addText(V),et.endScope())}function au(V,ue){let we=1;const $e=ue.length-1;for(;we<=$e;){if(!V._emit[we]){we++;continue}const nt=Dt.classNameAliases[V[we]]||V[we],qt=ue[we];nt?Tt(qt,nt):(Pe=qt,Zt(),Pe=""),we++}}function su(V,ue){return V.scope&&typeof V.scope=="string"&&et.openNode(Dt.classNameAliases[V.scope]||V.scope),V.beginScope&&(V.beginScope._wrap?(Tt(Pe,Dt.classNameAliases[V.beginScope._wrap]||V.beginScope._wrap),Pe=""):V.beginScope._multi&&(au(V.beginScope,ue),Pe="")),_e=Object.create(V,{parent:{value:_e}}),_e}function ou(V,ue,we){let $e=w(V.endRe,we);if($e){if(V["on:end"]){const nt=new t(V);V["on:end"](ue,nt),nt.isMatchIgnored&&($e=!1)}if($e){for(;V.endsParent&&V.parent;)V=V.parent;return V}}if(V.endsWithParent)return ou(V.parent,ue,we)}function no(V){return _e.matcher.regexIndex===0?(Pe+=V[0],1):(Ir=!0,0)}function ro(V){const ue=V[0],we=V.rule,$e=new t(we),nt=[we.__beforeBegin,we["on:begin"]];for(const qt of nt)if(qt&&(qt(V,$e),$e.isMatchIgnored))return no(ue);return we.skip?Pe+=ue:(we.excludeBegin&&(Pe+=ue),ft(),!we.returnBegin&&!we.excludeBegin&&(Pe=ue)),su(we,V),we.returnBegin?0:ue.length}function io(V){const ue=V[0],we=se.substring(V.index),$e=ou(_e,V,we);if(!$e)return Re;const nt=_e;_e.endScope&&_e.endScope._wrap?(ft(),Tt(ue,_e.endScope._wrap)):_e.endScope&&_e.endScope._multi?(ft(),au(_e.endScope,V)):nt.skip?Pe+=ue:(nt.returnEnd||nt.excludeEnd||(Pe+=ue),ft(),nt.excludeEnd&&(Pe=ue));do _e.scope&&et.closeNode(),!_e.skip&&!_e.subLanguage&&(jn+=_e.relevance),_e=_e.parent;while(_e!==$e.parent);return $e.starts&&su($e.starts,V),nt.returnEnd?0:ue.length}function uo(){const V=[];for(let ue=_e;ue!==Dt;ue=ue.parent)ue.scope&&V.unshift(ue.scope);V.forEach(ue=>et.openNode(ue))}let Wn={};function cu(V,ue){const we=ue&&ue[0];if(Pe+=V,we==null)return ft(),0;if(Wn.type==="begin"&&ue.type==="end"&&Wn.index===ue.index&&we===""){if(Pe+=se.slice(ue.index,ue.index+1),!ce){const $e=new Error(`0 width match regex (${H})`);throw $e.languageName=H,$e.badRule=Wn.rule,$e}return 1}if(Wn=ue,ue.type==="begin")return ro(ue);if(ue.type==="illegal"&&!Te){const $e=new Error('Illegal lexeme "'+we+'" for mode "'+(_e.scope||"<unnamed>")+'"');throw $e.mode=_e,$e}else if(ue.type==="end"){const $e=io(ue);if($e!==Re)return $e}if(ue.type==="illegal"&&we==="")return Pe+=`
|
|
18
18
|
`,1;if(Or>1e5&&Or>ue.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Pe+=we,we.length}const Dt=jt(H);if(!Dt)throw Z(Se.replace("{}",H)),new Error('Unknown language: "'+H+'"');const ao=yt(Dt);let Rr="",_e=Fe||ao;const lu={},et=new ee.__emitter(ee);uo();let Pe="",jn=0,tn=0,Or=0,Ir=!1;try{if(Dt.__emitTokens)Dt.__emitTokens(se,et);else{for(_e.matcher.considerAll();;){Or++,Ir?Ir=!1:_e.matcher.considerAll(),_e.matcher.lastIndex=tn;const V=_e.matcher.exec(se);if(!V)break;const ue=se.substring(tn,V.index),we=cu(ue,V);tn=V.index+we}cu(se.substring(tn))}return et.finalize(),Rr=et.toHTML(),{language:H,value:Rr,relevance:jn,illegal:!1,_emitter:et,_top:_e}}catch(V){if(V.message&&V.message.includes("Illegal"))return{language:H,value:zt(se),illegal:!0,relevance:0,_illegalBy:{message:V.message,index:tn,context:se.slice(tn-100,tn+100),mode:V.mode,resultSoFar:Rr},_emitter:et};if(ce)return{language:H,value:zt(se),illegal:!1,relevance:0,errorRaised:V,_emitter:et,_top:_e};throw V}}function Nr(H){const se={value:zt(H),illegal:!1,relevance:0,_top:re,_emitter:new ee.__emitter(ee)};return se._emitter.addText(H),se}function Tr(H,se){se=se||ee.languages||Object.keys(C);const Te=Nr(H),Fe=se.filter(jt).filter(uu).map(ft=>wn(ft,H,!1));Fe.unshift(Te);const Ze=Fe.sort((ft,Tt)=>{if(ft.relevance!==Tt.relevance)return Tt.relevance-ft.relevance;if(ft.language&&Tt.language){if(jt(ft.language).supersetOf===Tt.language)return 1;if(jt(Tt.language).supersetOf===ft.language)return-1}return 0}),[vt,Zt]=Ze,Kn=vt;return Kn.secondBest=Zt,Kn}function Ks(H,se,Te){const Fe=se&&M[se]||Te;H.classList.add("hljs"),H.classList.add(`language-${Fe}`)}function Dr(H){let se=null;const Te=Ve(H);if(be(Te))return;if(Gn("before:highlightElement",{el:H,language:Te}),H.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",H);return}if(H.children.length>0&&(ee.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(H)),ee.throwUnescapedHTML))throw new Nt("One of your code blocks includes unescaped HTML.",H.innerHTML);se=H;const Fe=se.textContent,Ze=Te?We(Fe,{language:Te,ignoreIllegals:!0}):Tr(Fe);H.innerHTML=Ze.value,H.dataset.highlighted="yes",Ks(H,Te,Ze.language),H.result={language:Ze.language,re:Ze.relevance,relevance:Ze.relevance},Ze.secondBest&&(H.secondBest={language:Ze.secondBest.language,relevance:Ze.secondBest.relevance}),Gn("after:highlightElement",{el:H,result:Ze,text:Fe})}function Ws(H){ee=en(ee,H)}const js=()=>{Hn(),he("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Zs(){Hn(),he("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let ru=!1;function Hn(){function H(){Hn()}if(document.readyState==="loading"){ru||window.addEventListener("DOMContentLoaded",H,!1),ru=!0;return}document.querySelectorAll(ee.cssSelector).forEach(Dr)}function Vs(H,se){let Te=null;try{Te=se(E)}catch(Fe){if(Z("Language definition for '{}' could not be registered.".replace("{}",H)),ce)Z(Fe);else throw Fe;Te=re}Te.name||(Te.name=H),C[H]=Te,Te.rawDefinition=se.bind(null,E),Te.aliases&&iu(Te.aliases,{languageName:H})}function Ys(H){delete C[H];for(const se of Object.keys(M))M[se]===H&&delete M[se]}function Xs(){return Object.keys(C)}function jt(H){return H=(H||"").toLowerCase(),C[H]||C[M[H]]}function iu(H,{languageName:se}){typeof H=="string"&&(H=[H]),H.forEach(Te=>{M[Te.toLowerCase()]=se})}function uu(H){const se=jt(H);return se&&!se.disableAutodetect}function Qs(H){H["before:highlightBlock"]&&!H["before:highlightElement"]&&(H["before:highlightElement"]=se=>{H["before:highlightBlock"](Object.assign({block:se.el},se))}),H["after:highlightBlock"]&&!H["after:highlightElement"]&&(H["after:highlightElement"]=se=>{H["after:highlightBlock"](Object.assign({block:se.el},se))})}function Js(H){Qs(H),oe.push(H)}function eo(H){const se=oe.indexOf(H);se!==-1&&oe.splice(se,1)}function Gn(H,se){const Te=H;oe.forEach(function(Fe){Fe[Te]&&Fe[Te](se)})}function to(H){return he("10.7.0","highlightBlock will be removed entirely in v12.0"),he("10.7.0","Please use highlightElement now."),Dr(H)}Object.assign(E,{highlight:We,highlightAuto:Tr,highlightAll:Hn,highlightElement:Dr,highlightBlock:to,configure:Ws,initHighlighting:js,initHighlightingOnLoad:Zs,registerLanguage:Vs,unregisterLanguage:Ys,listLanguages:Xs,getLanguage:jt,registerAliases:iu,autoDetection:uu,inherit:en,addPlugin:Js,removePlugin:eo}),E.debugMode=function(){ce=!1},E.safeMode=function(){ce=!0},E.versionString=St,E.regex={concat:f,lookahead:g,either:_,optional:b,anyNumberOfTimes:p};for(const H in le)typeof le[H]=="object"&&e(le[H]);return Object.assign(E,le),E},ze=me({});return ze.newInstance=()=>me({}),Wr=ze,ze.HighlightJS=ze,ze.default=ze,Wr}var jr,Hu;function bf(){if(Hu)return jr;Hu=1;function e(t){const n=t.regex,i=n.concat(/[\p{L}_]/u,n.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,u={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=t.inherit(a,{begin:/\(/,end:/\)/}),o=t.inherit(t.APOS_STRING_MODE,{className:"string"}),c=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[u]},{begin:/'/,end:/'/,contains:[u]},{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:[a,c,o,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[a,s,c,o]}]}]},t.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},u,{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(i,n.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:i,relevance:0,starts:l}]},{className:"tag",begin:n.concat(/<\//,n.lookahead(n.concat(i,/>/))),contains:[{className:"name",begin:i,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}return jr=e,jr}var Zr,Gu;function gf(){if(Gu)return Zr;Gu=1;function e(t){const n=t.regex,i={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[i]}]};Object.assign(i,{className:"variable",variants:[{begin:n.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});const u={className:"subst",begin:/\$\(/,end:/\)/,contains:[t.BACKSLASH_ESCAPE]},a=t.inherit(t.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,i,u]};u.contains.push(o);const c={match:/\\"/},l={className:"string",begin:/'/,end:/'/},d={match:/\\'/},g={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},t.NUMBER_MODE,i]},p=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],b=t.SHEBANG({binary:`(${p.join("|")})`,relevance:10}),f={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[t.inherit(t.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},h=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],_=["true","false"],m={match:/(\/[a-z._-]+)+/},w=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],y=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],x=["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"],k=["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:h,literal:_,built_in:[...w,...y,"set","shopt",...x,...k]},contains:[b,t.SHEBANG(),f,g,a,s,m,o,c,l,d,i]}}return Zr=e,Zr}var Vr,Ku;function hf(){if(Ku)return Vr;Ku=1;function e(t){const n=t.regex,i=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",u="[a-zA-Z_]\\w*::",s="("+r+"|"+n.optional(u)+"[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:[t.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:"."},t.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},t.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},i,t.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:n.optional(u)+t.IDENT_RE,relevance:0},b=n.optional(u)+t.IDENT_RE+"\\s*\\(",_={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"},m=[g,o,i,t.C_BLOCK_COMMENT_MODE,d,l],w={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:_,contains:m.concat([{begin:/\(/,end:/\)/,keywords:_,contains:m.concat(["self"]),relevance:0}]),relevance:0},y={begin:"("+s+"[\\*&\\s]+)+"+b,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:_,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:_,relevance:0},{begin:b,returnBegin:!0,contains:[t.inherit(p,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:[i,t.C_BLOCK_COMMENT_MODE,l,d,o,{begin:/\(/,end:/\)/,keywords:_,relevance:0,contains:["self",i,t.C_BLOCK_COMMENT_MODE,l,d,o]}]},o,i,t.C_BLOCK_COMMENT_MODE,g]};return{name:"C",aliases:["h"],keywords:_,disableAutodetect:!0,illegal:"</",contains:[].concat(w,y,m,[g,{begin:t.IDENT_RE+"::",keywords:_},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},t.TITLE_MODE]}]),exports:{preprocessor:g,strings:l,keywords:_}}}return Vr=e,Vr}var Yr,Wu;function mf(){if(Wu)return Yr;Wu=1;function e(t){const n=t.regex,i=t.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",u="[a-zA-Z_]\\w*::",s="(?!struct)("+r+"|"+n.optional(u)+"[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:[t.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:"."},t.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},t.inherit(l,{className:"string"}),{className:"string",begin:/<.*?>/},i,t.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:n.optional(u)+t.IDENT_RE,relevance:0},b=n.optional(u)+t.IDENT_RE+"\\s*\\(",f=["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"],h=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],_=["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"],m=["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"],x={type:h,keyword:f,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:_},k={className:"function.dispatch",relevance:0,keywords:{_hint:m},begin:n.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,t.IDENT_RE,n.lookahead(/(<[^<>]+>|)\s*\(/))},D=[k,g,o,i,t.C_BLOCK_COMMENT_MODE,d,l],A={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:x,contains:D.concat([{begin:/\(/,end:/\)/,keywords:x,contains:D.concat(["self"]),relevance:0}]),relevance:0},N={className:"function",begin:"("+s+"[\\*&\\s]+)+"+b,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:x,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:x,relevance:0},{begin:b,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[l,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:x,relevance:0,contains:[i,t.C_BLOCK_COMMENT_MODE,l,d,o,{begin:/\(/,end:/\)/,keywords:x,relevance:0,contains:["self",i,t.C_BLOCK_COMMENT_MODE,l,d,o]}]},o,i,t.C_BLOCK_COMMENT_MODE,g]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:x,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(A,N,k,D,[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:x,contains:["self",o]},{begin:t.IDENT_RE+"::",keywords:x},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}return Yr=e,Yr}var Xr,ju;function _f(){if(ju)return Xr;ju=1;function e(t){const n=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],i=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],r=["default","false","null","true"],u=["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"],a=["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"],s={keyword:u.concat(a),built_in:n,literal:r},o=t.inherit(t.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=t.inherit(d,{illegal:/\n/}),p={className:"subst",begin:/\{/,end:/\}/,keywords:s},b=t.inherit(p,{illegal:/\n/}),f={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},t.BACKSLASH_ESCAPE,b]},h={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]},_=t.inherit(h,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},b]});p.contains=[h,f,d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,c,t.C_BLOCK_COMMENT_MODE],b.contains=[_,f,g,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,c,t.inherit(t.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const m={variants:[l,h,f,d,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},w={begin:"<",end:">",contains:[{beginKeywords:"in out"},o]},y=t.IDENT_RE+"(<"+t.IDENT_RE+"(\\s*,\\s*"+t.IDENT_RE+")*>)?(\\[\\])?",x={begin:"@"+t.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,illegal:/::/,contains:[t.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},m,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},o,w,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[o,w,t.C_LINE_COMMENT_MODE,t.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:"("+y+"\\s+)+"+t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:i.join(" "),relevance:0},{begin:t.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[t.TITLE_MODE,w],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[m,c,t.C_BLOCK_COMMENT_MODE]},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},x]}}return Xr=e,Xr}var Qr,Zu;function Ef(){if(Zu)return Qr;Zu=1;const e=c=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:c.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:[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:c.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_-]*/}}),t=["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"],n=["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"],i=[...t,...n],r=["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(),u=["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(),a=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),s=["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 o(c){const l=c.regex,d=e(c),g={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},p="and or not only",b=/@-?\w[\w]*(-\w+)*/,f="[a-zA-Z-][a-zA-Z0-9_-]*",h=[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[d.BLOCK_COMMENT,g,d.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+f,relevance:0},d.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+u.join("|")+")"},{begin:":(:)?("+a.join("|")+")"}]},d.CSS_VARIABLE,{className:"attribute",begin:"\\b("+s.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[d.BLOCK_COMMENT,d.HEXCOLOR,d.IMPORTANT,d.CSS_NUMBER_MODE,...h,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...h,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},d.FUNCTION_DISPATCH]},{begin:l.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:b},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:p,attribute:r.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...h,d.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+i.join("|")+")\\b"}]}}return Qr=o,Qr}var Jr,Vu;function xf(){if(Vu)return Jr;Vu=1;function e(t){const n=t.regex,i={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},u={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}]},a={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},s={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=t.inherit(l,{contains:[]}),p=t.inherit(d,{contains:[]});l.contains.push(p),d.contains.push(g);let b=[i,c];return[l,d,g,p].forEach(m=>{m.contains=m.contains.concat(b)}),b=b.concat(l,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:b},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:b}]}]},i,a,l,d,{className:"quote",begin:"^>\\s+",contains:b,end:"$"},u,r,c,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}return Jr=e,Jr}var ei,Yu;function yf(){if(Yu)return ei;Yu=1;function e(t){const n=t.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:/$/}]}}return ei=e,ei}var ti,Xu;function vf(){if(Xu)return ti;Xu=1;function e(t){const n=t.regex,i="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),u=n.concat(r,/(::\w+)*/),s={"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=[t.COMMENT("#","$",{contains:[o]}),t.COMMENT("^=begin","^=end",{contains:[o],relevance:10}),t.COMMENT("^__END__",t.MATCH_NOTHING_RE)],d={className:"subst",begin:/#\{/,end:/\}/,keywords:s},g={className:"string",contains:[t.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:[t.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[t.BACKSLASH_ESCAPE,d]})]}]},p="[1-9](_?[0-9])*|0",b="[0-9](_?[0-9])*",f={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${b}))?([eE][+-]?(${b})|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"}]},h={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:s}]},D=[g,{variants:[{match:[/class\s+/,u,/\s+<\s+/,u]},{match:[/\b(class|module)\s+/,u]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,u],scope:{2:"title.class"},keywords:s},{relevance:0,match:[u,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:r,scope:"title.class"},{match:[/def/,/\s+/,i],scope:{1:"keyword",3:"title.function"},contains:[h]},{begin:t.IDENT_RE+"::"},{className:"symbol",begin:t.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[g,{begin:i}],relevance:0},f,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:s},{begin:"("+t.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[t.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=D,h.contains=D;const O=[{begin:/^\s*=>/,starts:{end:"$",contains:D}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:s,contains:D}}];return l.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/,contains:[t.SHEBANG({binary:"ruby"})].concat(O).concat(l).concat(D)}}return ti=e,ti}var ni,Qu;function wf(){if(Qu)return ni;Qu=1;function e(t){const a={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:a,illegal:"</",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,{className:"string",variants:[t.QUOTE_STRING_MODE,t.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:[t.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:a,illegal:/["']/}]}]}}return ni=e,ni}var ri,Ju;function kf(){if(Ju)return ri;Ju=1;function e(t){const n=t.regex,i=/[_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:[t.HASH_COMMENT_MODE,t.QUOTE_STRING_MODE,t.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(i,n.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}return ri=e,ri}var ii,ea;function Af(){if(ea)return ii;ea=1;function e(t){const n=t.regex,i={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:t.NUMBER_RE}]},r=t.COMMENT();r.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const u={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},a={className:"literal",begin:/\bon|off|true|false|yes|no\b/},s={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},o={begin:/\[/,end:/\]/,contains:[r,a,u,s,i,"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:[r,{className:"section",begin:/\[+/,end:/\]+/},{begin:p,className:"attr",starts:{end:/$/,contains:[r,o,a,u,s,i]}}]}}return ii=e,ii}var ui,ta;function Cf(){if(ta)return ui;ta=1;var e="[0-9](_*[0-9])*",t=`\\.(${e})`,n="[0-9a-fA-F](_*[0-9a-fA-F])*",i={className:"number",variants:[{begin:`(\\b(${e})((${t})|\\.)?|(${t}))[eE][+-]?(${e})[fFdD]?\\b`},{begin:`\\b(${e})((${t})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${t})[fFdD]?\\b`},{begin:`\\b(${e})[fFdD]\\b`},{begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?(${e})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function r(a,s,o){return o===-1?"":a.replace(s,c=>r(a,s,o-1))}function u(a){const s=a.regex,o="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",c=o+r("(?:<"+o+"~~~(?:\\s*,\\s*"+o+"~~~)*>)?",/~~~/g,2),b={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"]},f={className:"meta",begin:"@"+o,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},h={className:"params",begin:/\(/,end:/\)/,keywords:b,relevance:0,contains:[a.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:b,illegal:/<\/|#/,contains:[a.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[a.BACKSLASH_ESCAPE]},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,o],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[s.concat(/(?!else)/,o),/\s+/,o,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,o],className:{1:"keyword",3:"title.class"},contains:[h,a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+c+"\\s+)",a.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:b,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:b,relevance:0,contains:[f,a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,i,a.C_BLOCK_COMMENT_MODE]},a.C_LINE_COMMENT_MODE,a.C_BLOCK_COMMENT_MODE]},i,f]}}return ui=u,ui}var ai,na;function Sf(){if(na)return ai;na=1;const e="[A-Za-z$_][0-9A-Za-z$_]*",t=["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"],n=["true","false","null","undefined","NaN","Infinity"],i=["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"],r=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],u=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],a=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],s=[].concat(u,i,r);function o(c){const l=c.regex,d=($,{after:X})=>{const Q="</"+$[0].slice(1);return $.input.indexOf(Q,X)!==-1},g=e,p={begin:"<>",end:"</>"},b=/<[A-Za-z0-9\\._:-]+\s*\/>/,f={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:($,X)=>{const Q=$[0].length+$.index,le=$.input[Q];if(le==="<"||le===","){X.ignoreMatch();return}le===">"&&(d($,{after:Q})||X.ignoreMatch());let ve;const De=$.input.substring(Q);if(ve=De.match(/^\s*=/)){X.ignoreMatch();return}if((ve=De.match(/^\s+extends\s+/))&&ve.index===0){X.ignoreMatch();return}}},h={$pattern:e,keyword:t,literal:n,built_in:s,"variable.language":a},_="[0-9](_?[0-9])*",m=`\\.(${_})`,w="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",y={className:"number",variants:[{begin:`(\\b(${w})((${m})|\\.)?|(${m}))[eE][+-]?(${_})\\b`},{begin:`\\b(${w})\\b((${m})\\b|\\.)?|(${m})\\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},x={className:"subst",begin:"\\$\\{",end:"\\}",keywords:h,contains:[]},k={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[c.BACKSLASH_ESCAPE,x],subLanguage:"xml"}},D={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[c.BACKSLASH_ESCAPE,x],subLanguage:"css"}},A={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[c.BACKSLASH_ESCAPE,x],subLanguage:"graphql"}},N={className:"string",begin:"`",end:"`",contains:[c.BACKSLASH_ESCAPE,x]},O={className:"comment",variants:[c.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:g+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),c.C_BLOCK_COMMENT_MODE,c.C_LINE_COMMENT_MODE]},z=[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,k,D,A,N,{match:/\$\d+/},y];x.contains=z.concat({begin:/\{/,end:/\}/,keywords:h,contains:["self"].concat(z)});const G=[].concat(O,x.contains),L=G.concat([{begin:/(\s*)\(/,end:/\)/,keywords:h,contains:["self"].concat(G)}]),F={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:L},K={variants:[{match:[/class/,/\s+/,g,/\s+/,/extends/,/\s+/,l.concat(g,"(",l.concat(/\./,g),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,g],scope:{1:"keyword",3:"title.class"}}]},B={relevance:0,match:l.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:{_:[...i,...r]}},W={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},I={variants:[{match:[/function/,/\s+/,g,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[F],illegal:/%/},U={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function j($){return l.concat("(?!",$.join("|"),")")}const P={match:l.concat(/\b/,j([...u,"super","import"].map($=>`${$}\\s*\\(`)),g,l.lookahead(/\s*\(/)),className:"title.function",relevance:0},Ee={begin:l.concat(/\./,l.lookahead(l.concat(g,/(?![0-9A-Za-z$_(])/))),end:g,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Ae={match:[/get|set/,/\s+/,g,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},F]},fe="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+c.UNDERSCORE_IDENT_RE+")\\s*=>",Le={match:[/const|var|let/,/\s+/,g,/\s*/,/=\s*/,/(async\s*)?/,l.lookahead(fe)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[F]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:h,exports:{PARAMS_CONTAINS:L,CLASS_REFERENCE:B},illegal:/#(?![$_A-z])/,contains:[c.SHEBANG({label:"shebang",binary:"node",relevance:5}),W,c.APOS_STRING_MODE,c.QUOTE_STRING_MODE,k,D,A,N,O,{match:/\$\d+/},y,B,{scope:"attr",match:g+l.lookahead(":"),relevance:0},Le,{begin:"("+c.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[O,c.REGEXP_MODE,{className:"function",begin:fe,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:c.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:h,contains:L}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:p.begin,end:p.end},{match:b},{begin:f.begin,"on:begin":f.isTrulyOpeningTag,end:f.end}],subLanguage:"xml",contains:[{begin:f.begin,end:f.end,skip:!0,contains:["self"]}]}]},I,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+c.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[F,c.inherit(c.TITLE_MODE,{begin:g,className:"title.function"})]},{match:/\.\.\./,relevance:0},Ee,{match:"\\$"+g,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[F]},P,U,K,Ae,{match:/\$[(.]/}]}}return ai=o,ai}var si,ra;function Nf(){if(ra)return si;ra=1;function e(t){const n={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},i={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],u={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:r},contains:[n,i,t.QUOTE_STRING_MODE,u,t.C_NUMBER_MODE,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}return si=e,si}var oi,ia;function Tf(){if(ia)return oi;ia=1;var e="[0-9](_*[0-9])*",t=`\\.(${e})`,n="[0-9a-fA-F](_*[0-9a-fA-F])*",i={className:"number",variants:[{begin:`(\\b(${e})((${t})|\\.)?|(${t}))[eE][+-]?(${e})[fFdD]?\\b`},{begin:`\\b(${e})((${t})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${t})[fFdD]?\\b`},{begin:`\\b(${e})[fFdD]\\b`},{begin:`\\b0[xX]((${n})\\.?|(${n})?\\.(${n}))[pP][+-]?(${e})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${n})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function r(u){const a={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"},s={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},o={className:"symbol",begin:u.UNDERSCORE_IDENT_RE+"@"},c={className:"subst",begin:/\$\{/,end:/\}/,contains:[u.C_NUMBER_MODE]},l={className:"variable",begin:"\\$"+u.UNDERSCORE_IDENT_RE},d={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[l,c]},{begin:"'",end:"'",illegal:/\n/,contains:[u.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[u.BACKSLASH_ESCAPE,l,c]}]};c.contains.push(d);const g={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+u.UNDERSCORE_IDENT_RE+")?"},p={className:"meta",begin:"@"+u.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[u.inherit(d,{className:"string"}),"self"]}]},b=i,f=u.COMMENT("/\\*","\\*/",{contains:[u.C_BLOCK_COMMENT_MODE]}),h={variants:[{className:"type",begin:u.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},_=h;return _.variants[1].contains=[h],h.variants[1].contains=[_],{name:"Kotlin",aliases:["kt","kts"],keywords:a,contains:[u.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),u.C_LINE_COMMENT_MODE,f,s,o,g,p,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:a,relevance:5,contains:[{begin:u.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[u.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:a,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[h,u.C_LINE_COMMENT_MODE,f],relevance:0},u.C_LINE_COMMENT_MODE,f,g,p,d,u.C_NUMBER_MODE]},f]},{begin:[/class|interface|trait/,/\s+/,u.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},u.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},g,p]},d,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
19
19
|
`},b]}}return oi=r,oi}var ci,ua;function Df(){if(ua)return ci;ua=1;const e=l=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:l.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:[l.APOS_STRING_MODE,l.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:l.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_-]*/}}),t=["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"],n=["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"],i=[...t,...n],r=["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(),u=["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(),a=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),s=["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(),o=u.concat(a).sort().reverse();function c(l){const d=e(l),g=o,p="and or not only",b="[\\w-]+",f="("+b+"|@\\{"+b+"\\})",h=[],_=[],m=function(G){return{className:"string",begin:"~?"+G+".*?"+G}},w=function(G,L,F){return{className:G,begin:L,relevance:F}},y={$pattern:/[a-z-]+/,keyword:p,attribute:r.join(" ")},x={begin:"\\(",end:"\\)",contains:_,keywords:y,relevance:0};_.push(l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE,m("'"),m('"'),d.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},d.HEXCOLOR,x,w("variable","@@?"+b,10),w("variable","@\\{"+b+"\\}"),w("built_in","~?`[^`]*?`"),{className:"attribute",begin:b+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},d.IMPORTANT,{beginKeywords:"and not"},d.FUNCTION_DISPATCH);const k=_.concat({begin:/\{/,end:/\}/,contains:h}),D={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(_)},A={begin:f+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},d.CSS_VARIABLE,{className:"attribute",begin:"\\b("+s.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:_}}]},N={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:y,returnEnd:!0,contains:_,relevance:0}},R={className:"variable",variants:[{begin:"@"+b+"\\s*:",relevance:15},{begin:"@"+b}],starts:{end:"[;}]",returnEnd:!0,contains:k}},O={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:f,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE,D,w("keyword","all\\b"),w("variable","@\\{"+b+"\\}"),{begin:"\\b("+i.join("|")+")\\b",className:"selector-tag"},d.CSS_NUMBER_MODE,w("selector-tag",f,0),w("selector-id","#"+f),w("selector-class","\\."+f,0),w("selector-tag","&",0),d.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+u.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+a.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:k},{begin:"!important"},d.FUNCTION_DISPATCH]},z={begin:b+`:(:)?(${g.join("|")})`,returnBegin:!0,contains:[O]};return h.push(l.C_LINE_COMMENT_MODE,l.C_BLOCK_COMMENT_MODE,N,R,z,A,O,D,d.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:h}}return ci=c,ci}var li,aa;function Rf(){if(aa)return li;aa=1;function e(t){const n="\\[=*\\[",i="\\]=*\\]",r={begin:n,end:i,contains:["self"]},u=[t.COMMENT("--(?!"+n+")","$"),t.COMMENT("--"+n,i,{contains:[r],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:t.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:u.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[t.inherit(t.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:u}].concat(u)},t.C_NUMBER_MODE,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,{className:"string",begin:n,end:i,contains:[r],relevance:5}])}}return li=e,li}var di,sa;function Of(){if(sa)return di;sa=1;function e(t){const n={className:"variable",variants:[{begin:"\\$\\("+t.UNDERSCORE_IDENT_RE+"\\)",contains:[t.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},i={className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,n]},r={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,i]},u={begin:"^"+t.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},a={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},s={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:[t.HASH_COMMENT_MODE,n,i,r,u,a,s]}}return di=e,di}var fi,oa;function If(){if(oa)return fi;oa=1;function e(t){const n=t.regex,i=["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"],r=/[dualxmsipngr]{0,12}/,u={$pattern:/[\w.]+/,keyword:i.join(" ")},a={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:u},s={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=[t.BACKSLASH_ESCAPE,a,c],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],p=(h,_,m="\\1")=>{const w=m==="\\1"?m:n.concat(m,_);return n.concat(n.concat("(?:",h,")"),_,/(?:\\.|[^\\\/])*?/,w,/(?:\\.|[^\\\/])*?/,m,r)},b=(h,_,m)=>n.concat(n.concat("(?:",h,")"),_,/(?:\\.|[^\\\/])*?/,m,r),f=[c,t.HASH_COMMENT_MODE,t.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{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:[t.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},l,{begin:"(\\/\\/|"+t.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[t.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:b("(?:m|qr)?",/\//,/\//)},{begin:b("m|qr",n.either(...g,{capture:!0}),/\1/)},{begin:b("m|qr",/\(/,/\)/)},{begin:b("m|qr",/\[/,/\]/)},{begin:b("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE,o]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[t.TITLE_MODE,o,l]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return a.contains=f,s.contains=f,{name:"Perl",aliases:["pl","pm"],keywords:u,contains:f}}return fi=e,fi}var pi,ca;function $f(){if(ca)return pi;ca=1;function e(t){const 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+"},i=/[a-zA-Z@][a-zA-Z0-9_]*/,o={"variable.language":["this","super"],$pattern:i,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:i,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:o,illegal:"</",contains:[n,t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.C_NUMBER_MODE,t.QUOTE_STRING_MODE,t.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[t.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},t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[t.UNDERSCORE_TITLE_MODE]},{begin:"\\."+t.UNDERSCORE_IDENT_RE,relevance:0}]}}return pi=e,pi}var bi,la;function Mf(){if(la)return bi;la=1;function e(t){const n=t.regex,i=/(?![A-Za-z0-9])(?![$])/,r=n.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,i),u=n.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,i),a=n.concat(/[A-Z]+/,i),s={scope:"variable",match:"\\$+"+r},o={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=t.inherit(t.APOS_STRING_MODE,{illegal:null}),d=t.inherit(t.QUOTE_STRING_MODE,{illegal:null,contains:t.QUOTE_STRING_MODE.contains.concat(c)}),g={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:t.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(F,K)=>{K.data._beginMatch=F[1]||F[2]},"on:end":(F,K)=>{K.data._beginMatch!==F[1]&&K.ignoreMatch()}},p=t.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),b=`[
|
|
20
|
-
]`,f={scope:"string",variants:[d,l,g,p]},h={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},_=["false","null","true"],m=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],w=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],x={keyword:m,literal:(F=>{const K=[];return F.forEach(B=>{K.push(B),B.toLowerCase()===B?K.push(B.toUpperCase()):K.push(B.toLowerCase())}),K})(_),built_in:w},k=F=>F.map(K=>K.replace(/\|\d+$/,"")),D={variants:[{match:[/new/,n.concat(b,"+"),n.concat("(?!",k(w).join("\\b|"),"\\b)"),u],scope:{1:"keyword",4:"title.class"}}]},A=n.concat(r,"\\b(?!\\()"),N={variants:[{match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),A],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[u,n.concat(/::/,n.lookahead(/(?!class\b)/)),A],scope:{1:"title.class",3:"variable.constant"}},{match:[u,n.concat("::",n.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[u,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},R={scope:"attr",match:n.concat(r,n.lookahead(":"),n.lookahead(/(?!::)/))},O={relevance:0,begin:/\(/,end:/\)/,keywords:x,contains:[R,s,N,t.C_BLOCK_COMMENT_MODE,f,h,D]},z={relevance:0,match:[/\b/,n.concat("(?!fn\\b|function\\b|",k(m).join("\\b|"),"|",k(w).join("\\b|"),"\\b)"),r,n.concat(b,"*"),n.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[O]};O.contains.push(z);const G=[R,N,t.C_BLOCK_COMMENT_MODE,f,h,D],L={begin:n.concat(/#\[\s*\\?/,n.either(u,a)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:_,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:_,keyword:["new","array"]},contains:["self",...G]},...G,{scope:"meta",variants:[{match:u},{match:a}]}]};return{case_insensitive:!1,keywords:x,contains:[L,t.HASH_COMMENT_MODE,t.COMMENT("//","$"),t.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:t.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},o,{scope:"variable.language",match:/\$this\b/},s,z,N,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},D,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},t.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:x,contains:["self",L,s,N,t.C_BLOCK_COMMENT_MODE,f,h]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[t.inherit(t.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},t.UNDERSCORE_TITLE_MODE]},f,h]}}return bi=e,bi}var gi,da;function Lf(){if(da)return gi;da=1;function e(t){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},t.inherit(t.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),t.inherit(t.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}return gi=e,gi}var hi,fa;function Ff(){if(fa)return hi;fa=1;function e(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}return hi=e,hi}var mi,pa;function Pf(){if(pa)return mi;pa=1;function e(t){const n=t.regex,i=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},l={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},d={begin:/\{\{/,relevance:0},g={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c,d,l]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c,d,l]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[t.BACKSLASH_ESCAPE,d,l]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,d,l]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",b=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,f=`\\b|${r.join("|")}`,h={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${b}))[eE][+-]?(${p})[jJ]?(?=${f})`},{begin:`(${b})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${f})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${f})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${f})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${f})`},{begin:`\\b(${p})[jJ](?=${f})`}]},_={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",c,h,g,t.HASH_COMMENT_MODE]}]};return l.contains=[g,h,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[c,h,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},g,_,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,i],scope:{1:"keyword",3:"title.function"},contains:[m]},{variants:[{match:[/\bclass/,/\s+/,i,/\s*/,/\(\s*/,i,/\s*\)/]},{match:[/\bclass/,/\s+/,i]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[h,m,g]}]}}return mi=e,mi}var _i,ba;function Bf(){if(ba)return _i;ba=1;function e(t){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}return _i=e,_i}var Ei,ga;function Uf(){if(ga)return Ei;ga=1;function e(t){const n=t.regex,i=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),u=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:i,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[t.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:i},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),t.HASH_COMMENT_MODE,{scope:"string",contains:[t.BACKSLASH_ESCAPE],variants:[t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[u,r]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,r]},{scope:{1:"punctuation",2:"number"},match:[a,r]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:"operator"},match:[i,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:u},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}return Ei=e,Ei}var xi,ha;function zf(){if(ha)return xi;ha=1;function e(t){const n=t.regex,i=/(r#)?/,r=n.concat(i,t.UNDERSCORE_IDENT_RE),u=n.concat(i,t.IDENT_RE),a={className:"title.function.invoke",relevance:0,begin:n.concat(/\b/,/(?!let|for|while|if|else|match\b)/,u,n.lookahead(/\s*\(/))},s="([ui](8|16|32|64|128|size)|f(32|64))?",o=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],c=["true","false","Some","None","Ok","Err"],l=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:t.IDENT_RE+"!?",type:d,keyword:o,literal:c,built_in:l},illegal:"</",contains:[t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*","\\*/",{contains:["self"]}),t.inherit(t.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+s},{begin:"\\b0o([0-7_]+)"+s},{begin:"\\b0x([A-Fa-f0-9_]+)"+s},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+s}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:t.IDENT_RE+"::",keywords:{keyword:"Self",built_in:l,type:d}},{className:"punctuation",begin:"->"},a]}}return xi=e,xi}var yi,ma;function qf(){if(ma)return yi;ma=1;const e=c=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:c.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:[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:c.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_-]*/}}),t=["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"],n=["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"],i=[...t,...n],r=["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(),u=["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(),a=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),s=["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 o(c){const l=e(c),d=a,g=u,p="@[a-z-]+",b="and or not only",h={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,l.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},l.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+i.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+g.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+d.join("|")+")"},h,{begin:/\(/,end:/\)/,contains:[l.CSS_NUMBER_MODE]},l.CSS_VARIABLE,{className:"attribute",begin:"\\b("+s.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[l.BLOCK_COMMENT,h,l.HEXCOLOR,l.CSS_NUMBER_MODE,c.QUOTE_STRING_MODE,c.APOS_STRING_MODE,l.IMPORTANT,l.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:p,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:b,attribute:r.join(" ")},contains:[{begin:p,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},h,c.QUOTE_STRING_MODE,c.APOS_STRING_MODE,l.HEXCOLOR,l.CSS_NUMBER_MODE]},l.FUNCTION_DISPATCH]}}return yi=o,yi}var vi,_a;function Hf(){if(_a)return vi;_a=1;function e(t){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}return vi=e,vi}var wi,Ea;function Gf(){if(Ea)return wi;Ea=1;function e(t){const n=t.regex,i=t.COMMENT("--","$"),r={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},u={begin:/"/,end:/"/,contains:[{match:/""/}]},a=["true","false","unknown"],s=["double precision","large object","with timezone","without timezone"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],c=["add","asc","collation","desc","final","first","last","view"],l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],g=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],p=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],b=d,f=[...l,...c].filter(k=>!d.includes(k)),h={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},_={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},m={match:n.concat(/\b/,n.either(...b),/\s*\(/),relevance:0,keywords:{built_in:b}};function w(k){return n.concat(/\b/,n.either(...k.map(D=>D.replace(/\s+/,"\\s+"))),/\b/)}const y={scope:"keyword",match:w(p),relevance:0};function x(k,{exceptions:D,when:A}={}){const N=A;return D=D||[],k.map(R=>R.match(/\|\d+$/)||D.includes(R)?R:N(R)?`${R}|0`:R)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:x(f,{when:k=>k.length<3}),literal:a,type:o,built_in:g},contains:[{scope:"type",match:w(s)},y,m,h,r,u,t.C_NUMBER_MODE,t.C_BLOCK_COMMENT_MODE,i,_]}}return wi=e,wi}var ki,xa;function Kf(){if(xa)return ki;xa=1;function e(A){return A?typeof A=="string"?A:A.source:null}function t(A){return n("(?=",A,")")}function n(...A){return A.map(R=>e(R)).join("")}function i(A){const N=A[A.length-1];return typeof N=="object"&&N.constructor===Object?(A.splice(A.length-1,1),N):{}}function r(...A){return"("+(i(A).capture?"":"?:")+A.map(O=>e(O)).join("|")+")"}const u=A=>n(/\b/,A,/\w$/.test(A)?/\b/:/\B/),a=["Protocol","Type"].map(u),s=["init","self"].map(u),o=["Any","Self"],c=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],l=["false","nil","true"],d=["assignment","associativity","higherThan","left","lowerThan","none","right"],g=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],p=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],b=r(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),f=r(b,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),h=n(b,f,"*"),_=r(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),m=r(_,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),w=n(_,m,"*"),y=n(/[A-Z]/,m,"*"),x=["attached","autoclosure",n(/convention\(/,r("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",n(/objc\(/,w,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],k=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function D(A){const N={match:/\s+/,relevance:0},R=A.COMMENT("/\\*","\\*/",{contains:["self"]}),O=[A.C_LINE_COMMENT_MODE,R],z={match:[/\./,r(...a,...s)],className:{2:"keyword"}},G={match:n(/\./,r(...c)),relevance:0},L=c.filter(Re=>typeof Re=="string").concat(["_|0"]),F=c.filter(Re=>typeof Re!="string").concat(o).map(u),K={variants:[{className:"keyword",match:r(...F,...s)}]},B={$pattern:r(/\b\w+/,/#\w+/),keyword:L.concat(g),literal:l},W=[z,G,K],I={match:n(/\./,r(...p)),relevance:0},U={className:"built_in",match:n(/\b/,r(...p),/(?=\()/)},j=[I,U],P={match:/->/,relevance:0},Ee={className:"operator",relevance:0,variants:[{match:h},{match:`\\.(\\.|${f})+`}]},Ae=[P,Ee],fe="([0-9]_*)+",Le="([0-9a-fA-F]_*)+",$={className:"number",relevance:0,variants:[{match:`\\b(${fe})(\\.(${fe}))?([eE][+-]?(${fe}))?\\b`},{match:`\\b0x(${Le})(\\.(${Le}))?([pP][+-]?(${fe}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},X=(Re="")=>({className:"subst",variants:[{match:n(/\\/,Re,/[0\\tnr"']/)},{match:n(/\\/,Re,/u\{[0-9a-fA-F]{1,8}\}/)}]}),Q=(Re="")=>({className:"subst",match:n(/\\/,Re,/[\t ]*(?:[\r\n]|\r\n)/)}),le=(Re="")=>({className:"subst",label:"interpol",begin:n(/\\/,Re,/\(/),end:/\)/}),ve=(Re="")=>({begin:n(Re,/"""/),end:n(/"""/,Re),contains:[X(Re),Q(Re),le(Re)]}),De=(Re="")=>({begin:n(Re,/"/),end:n(/"/,Re),contains:[X(Re),le(Re)]}),xe={className:"string",variants:[ve(),ve("#"),ve("##"),ve("###"),De(),De("#"),De("##"),De("###")]},tt=[A.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[A.BACKSLASH_ESCAPE]}],dt={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:tt},Je=Re=>{const ye=n(Re,/\//),me=n(/\//,Re);return{begin:ye,end:me,contains:[...tt,{scope:"comment",begin:`#(?!.*${me})`,end:/$/}]}},Bt={scope:"regexp",variants:[Je("###"),Je("##"),Je("#"),dt]},Ct={match:n(/`/,w,/`/)},Ut={className:"variable",match:/\$\d+/},ne={className:"variable",match:`\\$${m}+`},ie=[Ct,Ut,ne],ae={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:k,contains:[...Ae,$,xe]}]}},ge={scope:"keyword",match:n(/@/,r(...x),t(r(/\(/,/\s+/)))},Z={scope:"meta",match:n(/@/,w)},pe=[ae,ge,Z],he={match:t(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:n(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,m,"+")},{className:"type",match:y,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:n(/\s+&\s+/,t(y)),relevance:0}]},Ge={begin:/</,end:/>/,keywords:B,contains:[...O,...W,...pe,P,he]};he.contains.push(Ge);const Ke={match:n(w,/\s*:/),keywords:"_|0",relevance:0},Ie={begin:/\(/,end:/\)/,relevance:0,keywords:B,contains:["self",Ke,...O,Bt,...W,...j,...Ae,$,xe,...ie,...pe,he]},He={begin:/</,end:/>/,keywords:"repeat each",contains:[...O,he]},gt={begin:r(t(n(w,/\s*:/)),t(n(w,/\s+/,w,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:w}]},xt={begin:/\(/,end:/\)/,keywords:B,contains:[gt,...O,...W,...Ae,$,xe,...pe,he,Ie],endsParent:!0,illegal:/["']/},yt={match:[/(func|macro)/,/\s+/,r(Ct.match,w,h)],className:{1:"keyword",3:"title.function"},contains:[He,xt,N],illegal:[/\[/,/%/]},Wt={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[He,xt,N],illegal:/\[|%/},ht={match:[/operator/,/\s+/,h],className:{1:"keyword",3:"title"}},St={begin:[/precedencegroup/,/\s+/,y],className:{1:"keyword",3:"title"},contains:[he],keywords:[...d,...l],end:/}/},Nt={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},zt={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},en={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,w,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:B,contains:[He,...W,{begin:/:/,end:/\{/,keywords:B,contains:[{scope:"title.class.inherited",match:y},...W],relevance:0}]};for(const Re of xe.variants){const ye=Re.contains.find(ze=>ze.label==="interpol");ye.keywords=B;const me=[...W,...j,...Ae,$,xe,...ie];ye.contains=[...me,{begin:/\(/,end:/\)/,contains:["self",...me]}]}return{name:"Swift",keywords:B,contains:[...O,yt,Wt,Nt,zt,en,ht,St,{beginKeywords:"import",end:/$/,contains:[...O],relevance:0},Bt,...W,...j,...Ae,$,xe,...ie,...pe,he,Ie]}}return ki=D,ki}var Ai,ya;function Wf(){if(ya)return Ai;ya=1;function e(t){const n="true false yes no null",i="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},u={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},a={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},s={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,u]},o=t.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),p={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},b={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},f={begin:/\{/,end:/\}/,contains:[b],illegal:"\\n",relevance:0},h={begin:"\\[",end:"\\]",contains:[b],illegal:"\\n",relevance:0},_=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+i},{className:"type",begin:"!<"+i+">"},{className:"type",begin:"!"+i},{className:"type",begin:"!!"+i},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},p,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},f,h,a,s],m=[..._];return m.pop(),m.push(o),b.contains=m,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:_}}return Ai=e,Ai}var Ci,va;function jf(){if(va)return Ci;va=1;const e="[A-Za-z$_][0-9A-Za-z$_]*",t=["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"],n=["true","false","null","undefined","NaN","Infinity"],i=["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"],r=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],u=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],a=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],s=[].concat(u,i,r);function o(l){const d=l.regex,g=(X,{after:Q})=>{const le="</"+X[0].slice(1);return X.input.indexOf(le,Q)!==-1},p=e,b={begin:"<>",end:"</>"},f=/<[A-Za-z0-9\\._:-]+\s*\/>/,h={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(X,Q)=>{const le=X[0].length+X.index,ve=X.input[le];if(ve==="<"||ve===","){Q.ignoreMatch();return}ve===">"&&(g(X,{after:le})||Q.ignoreMatch());let De;const xe=X.input.substring(le);if(De=xe.match(/^\s*=/)){Q.ignoreMatch();return}if((De=xe.match(/^\s+extends\s+/))&&De.index===0){Q.ignoreMatch();return}}},_={$pattern:e,keyword:t,literal:n,built_in:s,"variable.language":a},m="[0-9](_?[0-9])*",w=`\\.(${m})`,y="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",x={className:"number",variants:[{begin:`(\\b(${y})((${w})|\\.)?|(${w}))[eE][+-]?(${m})\\b`},{begin:`\\b(${y})\\b((${w})\\b|\\.)?|(${w})\\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},k={className:"subst",begin:"\\$\\{",end:"\\}",keywords:_,contains:[]},D={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[l.BACKSLASH_ESCAPE,k],subLanguage:"xml"}},A={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[l.BACKSLASH_ESCAPE,k],subLanguage:"css"}},N={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[l.BACKSLASH_ESCAPE,k],subLanguage:"graphql"}},R={className:"string",begin:"`",end:"`",contains:[l.BACKSLASH_ESCAPE,k]},z={className:"comment",variants:[l.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:p+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),l.C_BLOCK_COMMENT_MODE,l.C_LINE_COMMENT_MODE]},G=[l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,D,A,N,R,{match:/\$\d+/},x];k.contains=G.concat({begin:/\{/,end:/\}/,keywords:_,contains:["self"].concat(G)});const L=[].concat(z,k.contains),F=L.concat([{begin:/(\s*)\(/,end:/\)/,keywords:_,contains:["self"].concat(L)}]),K={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:_,contains:F},B={variants:[{match:[/class/,/\s+/,p,/\s+/,/extends/,/\s+/,d.concat(p,"(",d.concat(/\./,p),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,p],scope:{1:"keyword",3:"title.class"}}]},W={relevance:0,match:d.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:{_:[...i,...r]}},I={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},U={variants:[{match:[/function/,/\s+/,p,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[K],illegal:/%/},j={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function P(X){return d.concat("(?!",X.join("|"),")")}const Ee={match:d.concat(/\b/,P([...u,"super","import"].map(X=>`${X}\\s*\\(`)),p,d.lookahead(/\s*\(/)),className:"title.function",relevance:0},Ae={begin:d.concat(/\./,d.lookahead(d.concat(p,/(?![0-9A-Za-z$_(])/))),end:p,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},fe={match:[/get|set/,/\s+/,p,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},K]},Le="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+l.UNDERSCORE_IDENT_RE+")\\s*=>",$={match:[/const|var|let/,/\s+/,p,/\s*/,/=\s*/,/(async\s*)?/,d.lookahead(Le)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[K]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:_,exports:{PARAMS_CONTAINS:F,CLASS_REFERENCE:W},illegal:/#(?![$_A-z])/,contains:[l.SHEBANG({label:"shebang",binary:"node",relevance:5}),I,l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,D,A,N,R,z,{match:/\$\d+/},x,W,{scope:"attr",match:p+d.lookahead(":"),relevance:0},$,{begin:"("+l.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[z,l.REGEXP_MODE,{className:"function",begin:Le,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:l.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:_,contains:F}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:b.begin,end:b.end},{match:f},{begin:h.begin,"on:begin":h.isTrulyOpeningTag,end:h.end}],subLanguage:"xml",contains:[{begin:h.begin,end:h.end,skip:!0,contains:["self"]}]}]},U,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+l.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[K,l.inherit(l.TITLE_MODE,{begin:p,className:"title.function"})]},{match:/\.\.\./,relevance:0},Ae,{match:"\\$"+p,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[K]},Ee,j,B,fe,{match:/\$[(.]/}]}}function c(l){const d=l.regex,g=o(l),p=e,b=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],f={begin:[/namespace/,/\s+/,l.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},h={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:b},contains:[g.exports.CLASS_REFERENCE]},_={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},m=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],w={$pattern:e,keyword:t.concat(m),literal:n,built_in:s.concat(b),"variable.language":a},y={className:"meta",begin:"@"+p},x=(N,R,O)=>{const z=N.contains.findIndex(G=>G.label===R);if(z===-1)throw new Error("can not find mode to replace");N.contains.splice(z,1,O)};Object.assign(g.keywords,w),g.exports.PARAMS_CONTAINS.push(y);const k=g.contains.find(N=>N.scope==="attr"),D=Object.assign({},k,{match:d.concat(p,d.lookahead(/\s*\?:/))});g.exports.PARAMS_CONTAINS.push([g.exports.CLASS_REFERENCE,k,D]),g.contains=g.contains.concat([y,f,h,D]),x(g,"shebang",l.SHEBANG()),x(g,"use_strict",_);const A=g.contains.find(N=>N.label==="func.def");return A.relevance=0,Object.assign(g,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),g}return Ci=c,Ci}var Si,wa;function Zf(){if(wa)return Si;wa=1;function e(t){const n=t.regex,i={className:"string",begin:/"(""|[^/n])"C\b/},r={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},u=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,s=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,o=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:n.concat(/# */,n.either(a,u),/ *#/)},{begin:n.concat(/# */,o,/ *#/)},{begin:n.concat(/# */,s,/ *#/)},{begin:n.concat(/# */,n.either(a,u),/ +/,n.either(s,o),/ *#/)}]},l={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},d={className:"label",begin:/^\w+:/},g=t.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),p=t.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[i,r,c,l,d,g,p,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[p]}]}}return Si=e,Si}var Ni,ka;function Vf(){if(ka)return Ni;ka=1;function e(t){t.regex;const n=t.COMMENT(/\(;/,/;\)/);n.contains.push("self");const i=t.COMMENT(/;;/,/$/),r=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],u={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},a={className:"variable",begin:/\$[\w_]+/},s={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},o={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},c={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},l={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:r},contains:[i,n,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},a,s,u,t.QUOTE_STRING_MODE,c,l,o]}}return Ni=e,Ni}var Ti,Aa;function Yf(){if(Aa)return Ti;Aa=1;var e=pf();return e.registerLanguage("xml",bf()),e.registerLanguage("bash",gf()),e.registerLanguage("c",hf()),e.registerLanguage("cpp",mf()),e.registerLanguage("csharp",_f()),e.registerLanguage("css",Ef()),e.registerLanguage("markdown",xf()),e.registerLanguage("diff",yf()),e.registerLanguage("ruby",vf()),e.registerLanguage("go",wf()),e.registerLanguage("graphql",kf()),e.registerLanguage("ini",Af()),e.registerLanguage("java",Cf()),e.registerLanguage("javascript",Sf()),e.registerLanguage("json",Nf()),e.registerLanguage("kotlin",Tf()),e.registerLanguage("less",Df()),e.registerLanguage("lua",Rf()),e.registerLanguage("makefile",Of()),e.registerLanguage("perl",If()),e.registerLanguage("objectivec",$f()),e.registerLanguage("php",Mf()),e.registerLanguage("php-template",Lf()),e.registerLanguage("plaintext",Ff()),e.registerLanguage("python",Pf()),e.registerLanguage("python-repl",Bf()),e.registerLanguage("r",Uf()),e.registerLanguage("rust",zf()),e.registerLanguage("scss",qf()),e.registerLanguage("shell",Hf()),e.registerLanguage("sql",Gf()),e.registerLanguage("swift",Kf()),e.registerLanguage("yaml",Wf()),e.registerLanguage("typescript",jf()),e.registerLanguage("vbnet",Zf()),e.registerLanguage("wasm",Vf()),e.HighlightJS=e,e.default=e,Ti=e,Ti}var Xf=Yf();const Ca=Is(Xf),Et=new _t({html:!0,linkify:!0,breaks:!1,highlight(e,t){if(t&&Ca.getLanguage(t))try{const n=Ca.highlight(e,{language:t}).value;return`<pre><code class="hljs language-${t}">${n}</code></pre>`}catch{}return""}}),Qf=/^<\/?(?:details|summary)>$/i,Jf=/^<details\s+open\s*>$/i,ep=/^<input class="task-list-item-checkbox"(?: checked="")? disabled="" type="checkbox">$/;function tp(e){return Qf.test(e)||Jf.test(e)||ep.test(e)}function $s(e){const t=Et.utils.escapeHtml;let n="",i=0;const r=/<[^>]*>/g;let u;for(;(u=r.exec(e))!==null;){n+=t(e.slice(i,u.index));const a=u[0];n+=tp(a)?a:t(a),i=u.index+a.length}return n+=t(e.slice(i)),n}Et.renderer.rules.html_block=(e,t)=>$s(e[t].content);Et.renderer.rules.html_inline=(e,t)=>$s(e[t].content);const np=Et.renderer.rules.image??((e,t,n,i,r)=>r.renderToken(e,t,n)),rp=Et.renderer.rules.link_open??((e,t,n,i,r)=>r.renderToken(e,t,n)),ip=Et.renderer.rules.fence??((e,t,n,i,r)=>r.renderToken(e,t,n));function Ms(e,t,n){if(!e||/^([a-z]+:)?\/\//i.test(e)||e.startsWith("/")||e.startsWith("#"))return e;const i=e.match(/^attachments\/(.+)$/);return!i||!n?e:`/api/projects/${encodeURIComponent(n)}/specs/${encodeURIComponent(t)}/attachments/${encodeURIComponent(i[1])}`}Et.renderer.rules.image=function(e,t,n,i,r){const u=i,a=u?.specId;if(a){const o=e[t].attrs?.find(([c])=>c==="src");o&&(o[1]=Ms(o[1],a,u?.projectId))}return np(e,t,n,i,r)};Et.renderer.rules.link_open=function(e,t,n,i,r){const u=i,a=u?.specId;if(a){const s=e[t],o=s.attrs?.find(([c])=>c==="href");if(o){const c=Ms(o[1],a,u?.projectId);if(c!==o[1]){o[1]=c;const l=s.attrs?.find(([d])=>d==="target");l?l[1]="_blank":s.attrs?.push(["target","_blank"]),s.attrs?.push(["rel","noopener noreferrer"])}}}return rp(e,t,n,i,r)};Et.renderer.rules.fence=function(e,t,n,i,r){const u=e[t];if(u.info.trim()==="mermaid"){const s=u.content;return`<div class="mermaid" data-mermaid-source="${s.replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}">${s}</div>`}return ip(e,t,n,i,r)};Et.use(ff,{enabled:!1,label:!1});function Ls(e,t={}){if(!t.specId)return Et.render(e,{});const n={specId:t.specId};return t.projectId&&(n.projectId=t.projectId),Et.render(e,n)}const up="modulepreload",ap=function(e){return"/"+e},Sa={},sp=function(t,n,i){let r=Promise.resolve();if(n&&n.length>0){let a=function(c){return Promise.all(c.map(l=>Promise.resolve(l).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),o=s?.nonce||s?.getAttribute("nonce");r=a(n.map(c=>{if(c=ap(c),c in Sa)return;Sa[c]=!0;const l=c.endsWith(".css"),d=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${d}`))return;const g=document.createElement("link");if(g.rel=l?"stylesheet":up,l||(g.as="script"),g.crossOrigin="",g.href=c,o&&g.setAttribute("nonce",o),document.head.appendChild(g),l)return new Promise((p,b)=>{g.addEventListener("load",p),g.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${c}`)))})}))}function u(a){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=a,window.dispatchEvent(s),!s.defaultPrevented)throw a}return r.then(a=>{for(const s of a||[])s.status==="rejected"&&u(s.reason);return t().catch(u)})};let Di=null;async function op(){return Di||(Di=sp(()=>import("./mermaid.core-jn1Xktvs.js").then(e=>e.bp),[]).then(e=>e.default)),Di}function cp(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"default"}async function lp(e){const t=e.querySelectorAll(".mermaid");if(t.length===0)return()=>{};const n=await op();async function i(){const u=cp();n.initialize({startOnLoad:!1,theme:u}),t.forEach(a=>{const s=a.getAttribute("data-mermaid-source");s&&(a.removeAttribute("data-processed"),a.textContent=s)});try{await n.run({nodes:Array.from(t)})}catch(a){console.error("[mermaid] render error:",a)}}i();const r=window.matchMedia("(prefers-color-scheme: dark)");return r.addEventListener("change",i),()=>{r.removeEventListener("change",i)}}function dp(e,t){let n=e;for(;n&&n!==t;){if(n.nodeType===1){const r=n.tagName;if(r==="H2"||r==="H3")return n}let i=n.previousSibling;if(!i){n=n.parentNode;continue}for(;i?.lastChild;)i=i.lastChild;n=i}return null}function fp(e,t){return t.contains(e.startContainer)&&t.contains(e.endContainer)&&t.contains(e.commonAncestorContainer)}function pp(e,t,n={}){const i=n.throttleMs??50;let r,u="";const a=()=>{window.clearTimeout(r),r=window.setTimeout(()=>{const s=window.getSelection();if(!s||s.rangeCount===0||s.isCollapsed){u!==""&&(u="",t(null));return}const o=s.getRangeAt(0);if(!fp(o,e)){u!==""&&(u="",t(null));return}const c=s.toString();if(!c.trim()){u!==""&&(u="",t(null));return}const l=o.getBoundingClientRect(),d=dp(o.startContainer,e),g=d&&d.textContent?.trim()||"(无章节)";u=c,t({text:c,rect:l,sectionPath:g})},i)};return document.addEventListener("selectionchange",a),()=>{document.removeEventListener("selectionchange",a),window.clearTimeout(r)}}const bp=/^##\s+(?:\d+(?:\.\d+)*\.?\s+)?待确认问题\s*$/,Na=/^##\s+/,Fs=/^###\s+(?:\d+(?:\.\d+)*\s+)?(.+\S)\s*$/,gp=/^\d+\.\s+(.*\S)\s*$/,hp=/^\s*$/,Ta=/\s*[((]推荐[))]\s*$/,Da=/\s*(自由文本)\s*$/;function mp(e){const t=e.split(`
|
|
21
|
-
`);let n=0;for(;n<t.length&&!bp.test(t[n]);)n+=1;if(n>=t.length)return[];n+=1;const i=[];for(;n<t.length;){const r=t[n];if(Na.test(r))break;const u=_p(r);if(!u){n+=1;continue}const a=Da.test(u),s=a?u.replace(Da,"").trim():u,o=[];let c=0;for(n+=1;n<t.length;){const l=t[n];if(hp.test(l)){n+=1;continue}if(Na.test(l)||Fs.test(l))break;const d=Ep(l);if(d===null){n+=1;continue}const g=Ta.test(d),p=g?d.replace(Ta,"").trim():d.trim();p&&(g&&(c+=1),o.push({id:yp(i.length,o.length,p),label:p,recommended:g&&c===1})),n+=1}c>=2&&console.warn(`[question-parse] 问题 "${s}" 含 ${c} 个 (推荐),已保留首个,其余降级`),i.push({id:xp(i.length,s),text:s,options:o,isFreeform:a||o.length===0})}return i}function _p(e){const t=Fs.exec(e);return t?t[1]:null}function Ep(e){const t=gp.exec(e);return t?t[1]:null}function xp(e,t){return`q-${e}-${Ps(t)}`}function yp(e,t,n){return`q-${e}-o-${t}-${Ps(n)}`}function Ps(e){let t=0;for(let n=0;n<e.length;n+=1)t=t*31+e.charCodeAt(n)|0;return(t>>>0).toString(36)}var vp=T("<div class=selection-menu><button type=button>批注</button><button type=button>解释");const wp=36,kp=140,Ap=e=>{const t=()=>{const n=e.snap;if(!n)return{top:0,left:0,visible:!1};const i=n.rect.top-wp-8,r=n.rect.left,u=i<8?n.rect.bottom+8:i,a=Math.min(Math.max(8,r),window.innerWidth-kp-8);return{top:u,left:a,visible:!0}};return S(J,{get when(){return e.snap},children:n=>{const i=t();return(()=>{var r=vp(),u=r.firstChild,a=u.nextSibling;return r.$$mousedown=s=>s.preventDefault(),u.$$click=()=>e.onAnnotate(n()),a.$$click=()=>e.onExplain(n()),te(s=>{var o=`${i.top}px`,c=`${i.left}px`;return o!==s.e&&fn(r,"top",s.e=o),c!==s.t&&fn(r,"left",s.t=c),s},{e:void 0,t:void 0}),r})()}})};lt(["mousedown","click"]);var Cp=T("<div class=annotate-popover style=width:500px><header><strong>批注</strong></header><blockquote class=quote><em></em> 中 “<!>”</blockquote><form><textarea rows=3 placeholder=写下你对这段文本的批注… autofocus></textarea><div class=actions><button type=button>取消</button><button type=submit class=primary-action>"),Sp=T("<p class=error>");const Np=500,Vt=8,Tp=e=>{const[t,n]=q(""),[i,r]=q(!1),[u,a]=q(null),[s,o]=q(0),c=()=>{const d=e.snap;if(!d)return{top:0,left:0};const g=s()||260,p=window.innerHeight,b=d.rect.bottom+Vt,f=d.rect.top-Vt-g;let h;b+g<=p-Vt?h=b:f>=Vt?h=f:h=Math.max(Vt,p-g-Vt);const _=Math.min(Math.max(Vt,d.rect.left),window.innerWidth-Np-Vt);return{top:h,left:_}};async function l(d){if(d.preventDefault(),!!t().trim()){r(!0),a(null);try{await e.onSubmit(t().trim()),n(""),e.onCancel()}catch(g){a(g.message)}finally{r(!1)}}}return S(J,{get when(){return qe(()=>!!e.open)()&&e.snap},get children(){var d=Cp(),g=d.firstChild,p=g.nextSibling,b=p.firstChild,f=b.nextSibling,h=f.nextSibling;h.nextSibling;var _=p.nextSibling,m=_.firstChild,w=m.nextSibling,y=w.firstChild,x=y.nextSibling;return d.$$mousedown=k=>k.stopPropagation(),Gt(k=>{queueMicrotask(()=>{k.offsetHeight!==s()&&o(k.offsetHeight)})},d),v(b,()=>e.snap?.sectionPath),v(p,()=>(e.snap?.text??"").slice(0,200),h),_.addEventListener("submit",l),m.$$input=k=>n(k.currentTarget.value),v(_,(()=>{var k=qe(()=>!!u());return()=>k()&&(()=>{var D=Sp();return v(D,u),D})()})(),w),lr(y,"click",e.onCancel,!0),v(x,()=>i()?"提交中…":"提交批注"),te(k=>{var D=`${c().top}px`,A=`${c().left}px`,N=i();return D!==k.e&&fn(d,"top",k.e=D),A!==k.t&&fn(d,"left",k.t=A),N!==k.a&&(x.disabled=k.a=N),k},{e:void 0,t:void 0,a:void 0}),te(()=>m.value=t()),d}})};lt(["mousedown","input","click"]);var Dp=T("<div><span class=muted>引用章节:</span><code>"),Rp=T("<blockquote class=quote>"),Op=T("<div class=reference>"),Ip=T('<div class=append-dialog-backdrop><div class=append-dialog role=dialog aria-label=追加任务><header><strong>追加任务</strong><span class=muted>提交后将自动重开 plan 阶段,Agent 会续跑处理新增项</span></header><form><fieldset class=kind-group><legend>类型</legend></fieldset><label class=field><span>描述</span><textarea rows=5 placeholder="详细描述新增需求 / 重构意图 / 缺陷复现…"autofocus></textarea></label><div class=actions><button type=button>取消</button><button type=submit class=primary-action>'),$p=T("<label class=kind-option><input type=radio name=append-kind><span>"),Mp=T("<p class=error>");const Lp={feat:"feat 新增/扩展需求",refct:"refct 重构/重写/抽取",fix:"fix 修复缺陷"},Fp=e=>{const[t,n]=q("fix"),[i,r]=q(""),[u,a]=q(!1),[s,o]=q(null),[c,l]=q(null);at(()=>{if(!e.open){l(null);return}const b=e.anchorEl;if(!b)return;const f=b.getBoundingClientRect();l({top:f.bottom+8,left:f.right})}),at(()=>{if(!e.open)return;const b=f=>{f.key==="Escape"&&(f.preventDefault(),p())};window.addEventListener("keydown",b),ot(()=>window.removeEventListener("keydown",b))});function d(){n("fix"),r(""),o(null)}async function g(b){b.preventDefault();const f=i().trim();if(!f){o("描述不能为空");return}a(!0),o(null);try{await e.onSubmit({kind:t(),description:f,sectionPath:e.sectionPath,quote:e.quote}),d(),e.onCancel()}catch(h){o(h.message)}finally{a(!1)}}function p(){d(),e.onCancel()}return S(J,{get when(){return e.open},get children(){var b=Ip(),f=b.firstChild,h=f.firstChild,_=h.nextSibling,m=_.firstChild;m.firstChild;var w=m.nextSibling,y=w.firstChild,x=y.nextSibling,k=w.nextSibling,D=k.firstChild,A=D.nextSibling;return b.$$mousedown=p,f.$$mousedown=N=>N.stopPropagation(),_.addEventListener("submit",g),v(m,()=>["feat","refct","fix"].map(N=>(()=>{var R=$p(),O=R.firstChild,z=O.nextSibling;return O.addEventListener("change",()=>n(N)),O.value=N,v(z,()=>Lp[N]),te(()=>O.disabled=u()),te(()=>O.checked=t()===N),R})()),null),x.$$input=N=>r(N.currentTarget.value),v(_,S(J,{get when(){return e.sectionPath||e.quote},get children(){var N=Op();return v(N,S(J,{get when(){return e.sectionPath},get children(){var R=Dp(),O=R.firstChild,z=O.nextSibling;return v(z,()=>e.sectionPath),R}}),null),v(N,S(J,{get when(){return e.quote},get children(){var R=Rp();return v(R,()=>e.quote?.slice(0,200)),R}}),null),N}}),k),v(_,(()=>{var N=qe(()=>!!s());return()=>N()&&(()=>{var R=Mp();return v(R,s),R})()})(),k),D.$$click=p,v(A,()=>u()?"提交中…":"提交并触发 Agent"),te(N=>{var R=c()?{top:`${c().top}px`,right:`calc(100vw - ${c().left}px)`}:void 0,O=u(),z=u(),G=u();return N.e=Gi(f,R,N.e),O!==N.t&&(x.disabled=N.t=O),z!==N.a&&(D.disabled=N.a=z),G!==N.o&&(A.disabled=N.o=G),N},{e:void 0,t:void 0,a:void 0,o:void 0}),te(()=>x.value=i()),b}})};lt(["mousedown","input","click"]);const Pp="其他(自由批注)",Cn="__freeform__";function Bp(e,t){const n=(t.note??"").trim();if(e.isFreeform)return n?{questionId:e.id,questionText:e.text,note:n}:null;const i=t.selectedOptionLabel;return i===Cn?n?{questionId:e.id,questionText:e.text,note:n}:null:i?{questionId:e.id,questionText:e.text,selectedOptionLabel:i}:null}var Up=T('<p class="error qcp-error">'),zp=T("<aside class=question-confirm-panel data-testid=question-confirm-panel><header class=qcp-head><strong>待确认问题</strong><span class=muted>未答题 <span class=qcp-count></span> / </span><div class=qcp-head-actions><button type=button class=primary-action></button></div></header><ul class=qcp-list>"),qp=T('<ul class=qcp-options><li><label class="qcp-option qcp-option-freeform"><input type=radio><span>'),Hp=T("<textarea class=qcp-note rows=2 placeholder=写下你的答复…>"),Gp=T("<li class=qcp-card><p class=qcp-question>"),Kp=T("<em class=qcp-recommended> (推荐)"),Wp=T("<li><label class=qcp-option><input type=radio><span>"),jp=T('<li class="qcp-card qcp-card-freeform"><header class=qcp-card-head><strong>选区批注</strong><button type=button class=qcp-remove aria-label=移除>×</button></header><blockquote class=qcp-quote><em></em> 中 “<!>”</blockquote><p class=qcp-freeform-note>!!!');const Zp=e=>{const t=()=>{const g={};for(const p of e.questions){const b=p.options.find(f=>f.recommended);g[p.id]={selectedOptionLabel:b?.label??p.options[0]?.label,note:""}}return g},[n,i]=q(t()),[r,u]=q(!1),[a,s]=q(null);function o(g,p){i(b=>({...b,[g]:{...b[g],selectedOptionLabel:p}}))}function c(g,p){i(b=>({...b,[g]:{...b[g],note:p}}))}const l=de(()=>{const g=n();let p=0;for(const b of e.questions){const f=g[b.id];if(!f){p+=1;continue}const h=f.note??"";b.isFreeform||f.selectedOptionLabel===Cn?h.trim()||(p+=1):f.selectedOptionLabel||(p+=1)}return p});async function d(){u(!0),s(null);try{const g=n(),p=[];for(const f of e.questions){const h=g[f.id]??{note:""},_=Bp(f,h);_&&p.push(_)}const b={answers:p,freeformAnnotations:e.freeforms.map(f=>({sectionPath:f.sectionPath,quote:f.quote,note:f.note}))};if(b.answers.length===0&&b.freeformAnnotations.length===0){s("没有可提交的答复");return}await e.onSubmit(b)}catch(g){s(g.message)}finally{u(!1)}}return(()=>{var g=zp(),p=g.firstChild,b=p.firstChild,f=b.nextSibling,h=f.firstChild,_=h.nextSibling;_.nextSibling;var m=f.nextSibling,w=m.firstChild,y=p.nextSibling;return v(_,l),v(f,()=>e.questions.length,null),w.$$click=d,v(w,(()=>{var x=qe(()=>!!r());return()=>x()?"提交中…":e.running?"运行中…":"提交全部"})()),v(g,S(J,{get when(){return a()},get children(){var x=Up();return v(x,a),x}}),y),v(y,S($t,{get each(){return e.questions},children:x=>{const k=()=>n()[x.id]??{note:""},D=()=>x.isFreeform||k().selectedOptionLabel===Cn;return(()=>{var A=Gp(),N=A.firstChild;return v(N,()=>x.text),v(A,S(J,{get when(){return!x.isFreeform},get children(){var R=qp(),O=R.firstChild,z=O.firstChild,G=z.firstChild,L=G.nextSibling;return v(R,S($t,{get each(){return x.options},children:F=>(()=>{var K=Wp(),B=K.firstChild,W=B.firstChild,I=W.nextSibling;return W.addEventListener("change",()=>o(x.id,F.label)),v(I,()=>F.label,null),v(I,S(J,{get when(){return F.recommended},get children(){return Kp()}}),null),te(()=>je(W,"name",`q-${x.id}`)),te(()=>W.checked=k().selectedOptionLabel===F.label),K})()}),O),G.addEventListener("change",()=>o(x.id,Cn)),v(L,Pp),te(()=>je(G,"name",`q-${x.id}`)),te(()=>G.checked=k().selectedOptionLabel===Cn),R}}),null),v(A,S(J,{get when(){return D()},get children(){var R=Hp();return R.$$input=O=>c(x.id,O.currentTarget.value),te(()=>R.value=k().note),R}}),null),A})()}}),null),v(y,S($t,{get each(){return e.freeforms},children:x=>(()=>{var k=jp(),D=k.firstChild,A=D.firstChild,N=A.nextSibling,R=D.nextSibling,O=R.firstChild,z=O.nextSibling,G=z.nextSibling;G.nextSibling;var L=R.nextSibling;return L.firstChild,N.$$click=()=>e.onRemoveFreeform(x.id),v(O,()=>x.sectionPath),v(R,()=>x.quote.slice(0,200),G),v(L,()=>x.note,null),k})()}),null),te(()=>w.disabled=r()||e.running),g})()};lt(["click","input"]);var Vp=T("<section class=page>"),Yp=T("<p class=muted>加载中…"),Xp=T("<p class=muted>spec 不存在或已删除"),Qp=T('<header class="page-head detail-head"><div><code class=id></code><h1></h1><p class=summary></p></div><div class=meta><select title="强制设置 spec 状态"><option value=plan>plan</option><option value=tasks>tasks</option><option value=execute>execute</option><option value=done>done</option></select><time></time><button type=button class=append-btn>追加任务</button><button type=button>'),Jp=T("<p class=error>"),eb=T('<div class=spec-split><article class="markdown spec-main">');const tb=()=>{const e=vr(),t=xn(),[n,i]=tc(),[r,u]=q(0),[a]=Kt(()=>[t(),e.id,r()],async([I,U])=>Ne.getSpec(I,U)),[s,o]=q(null),[c,l]=q(!1),[d,g]=q(null),[p,b]=q(null),[f,h]=q(null),[_,m]=q([]),[w,y]=q(!1),[x,k]=q(null);let D;const A=de(()=>{const I=a();return I?mp(I.body):[]}),N=de(()=>{const I=a();return!I||I.frontmatter.stage!=="plan"?!1:A().length>0||_().length>0});at(()=>{const I=e.id,U=t();if(!I||!U)return;const j=Tc(U,I,{onUpdated:()=>u(P=>P+1)});ot(j)}),at(()=>{const I=n.runId;if(!I)return;const U=a()?.frontmatter.summary;it.start({runId:I,projectId:t(),mode:"skill-run",specId:e.id,specTitle:U,source:"draft"}),i({runId:void 0},{replace:!0})}),at(()=>{const I=f();if(!I)return;const U=pp(I,o);ot(U)}),at(()=>{const I=f();if(!I)return;let U=!0,j;lp(I).then(P=>{U?j=P:P()}),ot(()=>{U=!1,j?.()})});async function R(){b(null);try{const I=t(),{runId:U}=await Ne.runAgent(I,e.id);it.start({runId:U,projectId:I,mode:"skill-run",specId:e.id,specTitle:a()?.frontmatter.summary,source:"run"})}catch(I){b(I.message)}}async function O(I){b(null);try{await Ne.setStage(t(),e.id,I),u(U=>U+1)}catch(U){b(U.message)}}function z(I){g(I),l(!0)}async function G(I){const U=d();if(!U)return;if(a()?.frontmatter.stage==="plan"){m(P=>[...P,{id:`f-${Date.now()}-${P.length}`,sectionPath:U.sectionPath,quote:U.text,note:I}]);return}await Ne.appendAnnotation(t(),e.id,{sectionPath:U.sectionPath,quote:U.text,note:I})}function L(I){m(U=>U.filter(j=>j.id!==I))}async function F(I){await Ne.submitQuestionAnswers(t(),e.id,I),m([]),await R()}function K(){k(s()),y(!0)}async function B(I){const U=t(),j=await Ne.appendItem(U,e.id,I);j.runId&&it.start({runId:j.runId,projectId:U,mode:"skill-run",specId:e.id,specTitle:a()?.frontmatter.summary,source:"run"})}async function W(I){try{const U=t(),{runId:j}=await Ne.explain(U,e.id,I.text);it.start({runId:j,projectId:U,mode:"explain",specId:e.id,specTitle:a()?.frontmatter.summary,source:"explain"})}catch(U){b(U.message)}}return(()=>{var I=Vp();return v(I,S(yr,{get fallback(){return Yp()},get children(){return S(J,{get when(){return a()},get fallback(){return Xp()},children:U=>{const j=()=>it.hasRunningSkillRun(e.id);return[(()=>{var P=Qp(),Ee=P.firstChild,Ae=Ee.firstChild,fe=Ae.nextSibling,Le=fe.nextSibling,$=Ee.nextSibling,X=$.firstChild,Q=X.nextSibling,le=Q.nextSibling,ve=le.nextSibling;v(Ae,()=>U().id),v(fe,()=>nb(U().body)??"(待 Agent 补全)"),v(Le,()=>U().frontmatter.summary||"(待 Agent 补全)"),X.addEventListener("change",xe=>O(xe.currentTarget.value)),v(Q,()=>us(U().frontmatter.updated_at)),le.$$click=K;var De=D;return typeof De=="function"?Gt(De,le):D=le,v($,S(Mt,{class:"ghost agent-logs-link",get href(){return Lt(`specs/${U().id}/agent-logs`)},children:"执行日志"}),ve),v($,S(Mt,{class:"ghost review-link",get href(){return Lt(`specs/${U().id}/review`)},children:"Review"}),ve),ve.$$click=R,v(ve,()=>j()?"运行中…":"运行 Agent"),te(xe=>{var tt=`badge stage-select stage-${U().frontmatter.stage}`,dt=`primary-action run-btn ${j()?"run-running":"run-idle"}`,Je=j();return tt!==xe.e&&Qe(X,xe.e=tt),dt!==xe.t&&Qe(ve,xe.t=dt),Je!==xe.a&&(ve.disabled=xe.a=Je),xe},{e:void 0,t:void 0,a:void 0}),te(()=>X.value=U().frontmatter.stage),P})(),S(J,{get when(){return p()},get children(){var P=Jp();return v(P,p),P}}),(()=>{var P=eb(),Ee=P.firstChild;return v(P,S(J,{get when(){return N()},get children(){return S(Zp,{get questions(){return A()},get freeforms(){return _()},get running(){return j()},onRemoveFreeform:L,onSubmit:F})}}),Ee),Gt(h,Ee),te(()=>Ee.innerHTML=Ls(U().body,{specId:U().id,projectId:t()||void 0})),P})(),S(Ap,{get snap(){return qe(()=>!!c())()?null:s()},onAnnotate:z,onExplain:W}),S(Tp,{get open(){return c()},get snap(){return d()},onCancel:()=>l(!1),onSubmit:G}),S(Fp,{get open(){return w()},get sectionPath(){return x()?.sectionPath},get quote(){return x()?.text},anchorEl:D,onCancel:()=>y(!1),onSubmit:B})]}})}})),I})()};function nb(e){return e.match(/^#\s+(.+)$/m)?.[1]?.trim()}lt(["click"]);var rb=T("<span class=muted>最近一次 review:"),ib=T('<header class="page-head detail-head"><div><h1>Review · </h1><p class=summary></p></div><div class=meta>'),Qn=T("<span class=review-action-spinner aria-hidden=true>"),ub=T('<div class=changes-list><div class=changes-list-head><button type=button class="ghost small"></button><span class=muted>/<!> 个文件'),ab=T("<p class=muted>暂无变更文件"),sb=T("<p class=error>"),ob=T("<p class=muted>已派发:<!>(runId: <code></code>)"),Ra=T("<p class=muted>加载中…"),cb=T('<div class=review-split><section class=review-ops-panel><section class=review-actions><button type=button class=primary-action></button><button type=button class="ghost danger"></button><button type=button class=ghost></button><span class=actions-separator></span><button type=button class=ghost title="Review 下方变更文件,生成报告"></button></section><textarea class=commit-message-input placeholder="commit message…"rows=2></textarea><div class=file-mode-group><label class=file-mode-label><input type=radio name=fileMode>手动选择</label><label class=file-mode-label><input type=radio name=fileMode>Agent 智能判定</label></div></section><section class=review-body>'),lb=T('<section class="page spec-review">'),db=T("<label class=change-item><input type=checkbox><span></span><span class=change-path>"),fb=T('<article class="markdown review-md">'),pb=T("<p class=muted>尚无 review 报告。点击「Review 变更」让 Agent 生成。");const ir={commit:"提交",discard:"丢弃",stash:"暂存"},Jn={review:"Review 中…",commit:"提交中…",discard:"丢弃中…",stash:"暂存中…"},er={review:"Review 变更",commit:ir.commit,discard:ir.discard,stash:ir.stash},bb=["review","commit","discard","stash"],gb={M:"st-modified",A:"st-added",D:"st-deleted","??":"st-untracked",R:"st-renamed"},hb=()=>{const e=vr(),t=xn(),[n]=Kt(()=>[t(),e.id],([$,X])=>Ne.getSpec($,X)),[i,r]=q(0),[u]=Kt(()=>[t(),e.id,i()],async([$,X])=>Ne.getReview($,X)),[a,s]=q([]),[o,c]=q("manual"),[l,d]=q(new Set),[g,p]=q(""),[b,f]=q(!1),[h,_]=q(null),[m,w]=q(null),[y,x]=q(null),[k,D]=q(null),[A,N]=q({});let R;function O($){$&&($.style.height="auto",$.style.height=`${$.scrollHeight}px`)}const z=de(()=>{const $=u()?.text??"";return $.trim()?Ls($,{specId:e.id,projectId:t()}):""}),G=de(()=>mb(u()?.text??"")),L=de(()=>{const $=e.id.split("."),X=$.length>=2?$[1]:"feat",Q=n()?.frontmatter.summary??"";return Q?`${X}: ${Q}`:`${X}: update`});at(()=>{const $=L();$&&!b()&&p($)}),at(_r(g,()=>{O(R)})),Pa(()=>O(R)),at(()=>{const $=t(),X=e.id;if(!$||!X)return;const Q=Ic($,X,le=>{s(le),d(ve=>{const De=new Set(le.map(tt=>tt.path)),xe=new Set;for(const tt of ve)De.has(tt)&&xe.add(tt);return xe})});ot(()=>Q())});function F($){const X=A()[$];if(!X)return!1;const Q=it.state.tasks[X];return Q?Q.status==="pending"||Q.status==="streaming":!1}const K=de(()=>{for(const $ of bb)if(F($))return $;return null}),B=de(()=>m()!==null||K()!==null||h()!==null);at($=>{const X=A().review;if(!X)return;const Q=it.state.tasks[X]?.status;return($==="pending"||$==="streaming")&&(Q==="done"||Q==="failed")&&r(le=>le+1),Q},void 0);function W(){return o()==="agent"?a().map($=>$.path):[...l()]}async function I($){if(B())return;x(null);const X=W();if(X.length===0){x("请至少选择一个文件");return}if(!($==="discard"&&!window.confirm("确定要丢弃选中的变更吗?此操作不可撤销。"))){_($);try{if($==="commit"){const Q=g().trim();if(!Q){x("请输入 commit message");return}await Ne.directCommit(t(),e.id,{message:Q,paths:X})}else $==="discard"?await Ne.directDiscard(t(),e.id,{paths:X}):$==="stash"&&await Ne.directStash(t(),e.id,{message:g().trim()||`yorz:${e.id}`,paths:X})}catch(Q){x(Q.message)}finally{_(null)}}}async function U($){if(!B()&&(x(null),!($==="discard"&&!window.confirm("确定要丢弃当前 spec 相关的所有未提交变更吗?此操作不可撤销。")))){w($);try{const X=$==="review"?await Ne.triggerReview(t(),e.id):await Ne.gitOp(t(),e.id,$);D({kind:$,runId:X.runId}),N(Q=>({...Q,[$]:X.runId})),it.start({runId:X.runId,projectId:t(),mode:$==="review"?"review":"git-ops",specId:e.id,specTitle:n()?.frontmatter.summary,source:"run"})}catch(X){x(X.message)}finally{w(null)}}}async function j($){o()==="manual"?await I($):await U($)}function P($){return F($)||m()===$||h()===$}function Ee($){d(X=>{const Q=new Set(X);return Q.has($)?Q.delete($):Q.add($),Q})}function Ae(){a().every($=>l().has($.path))?d(new Set):d(new Set(a().map($=>$.path)))}const fe=de(()=>a().length>0&&a().every($=>l().has($.path))),Le=de(()=>o()==="manual"&&l().size===0);return(()=>{var $=lb();return v($,S(yr,{get fallback(){return Ra()},get children(){return[(()=>{var X=ib(),Q=X.firstChild,le=Q.firstChild;le.firstChild;var ve=le.nextSibling,De=Q.nextSibling;return v(Q,S(Mt,{class:"ghost",get href(){return Lt(`specs/${e.id}`)},children:"← 返回 spec"}),le),v(le,()=>e.id,null),v(ve,()=>n()?.frontmatter.summary||"(待 Agent 补全)"),v(De,S(J,{get when(){return G()},get children(){var xe=rb();return xe.firstChild,v(xe,G,null),xe}})),X})(),(()=>{var X=cb(),Q=X.firstChild,le=Q.firstChild,ve=le.firstChild,De=ve.nextSibling,xe=De.nextSibling,tt=xe.nextSibling,dt=tt.nextSibling,Je=le.nextSibling,Bt=Je.nextSibling,Ct=Bt.firstChild,Ut=Ct.firstChild,ne=Ct.nextSibling,ie=ne.firstChild,ae=Q.nextSibling;ve.$$click=()=>j("commit"),v(ve,S(J,{get when(){return P("commit")},get children(){return Qn()}}),null),v(ve,(()=>{var Z=qe(()=>!!P("commit"));return()=>Z()?Jn.commit:er.commit})(),null),De.$$click=()=>j("discard"),v(De,S(J,{get when(){return P("discard")},get children(){return Qn()}}),null),v(De,(()=>{var Z=qe(()=>!!P("discard"));return()=>Z()?Jn.discard:er.discard})(),null),xe.$$click=()=>j("stash"),v(xe,S(J,{get when(){return P("stash")},get children(){return Qn()}}),null),v(xe,(()=>{var Z=qe(()=>!!P("stash"));return()=>Z()?Jn.stash:er.stash})(),null),dt.$$click=()=>U("review"),v(dt,S(J,{get when(){return P("review")},get children(){return Qn()}}),null),v(dt,(()=>{var Z=qe(()=>!!P("review"));return()=>Z()?Jn.review:er.review})(),null),Je.$$input=Z=>{f(!0),p(Z.currentTarget.value),O(R)};var ge=R;return typeof ge=="function"?Gt(ge,Je):R=Je,Ut.addEventListener("change",()=>c("manual")),ie.addEventListener("change",()=>c("agent")),v(Q,S(J,{get when(){return qe(()=>o()==="manual")()&&a().length>0},get children(){var Z=ub(),pe=Z.firstChild,he=pe.firstChild,Ge=he.nextSibling,Ke=Ge.firstChild,Ie=Ke.nextSibling;return Ie.nextSibling,he.$$click=Ae,v(he,()=>fe()?"全部取消":"全选"),v(Ge,()=>l().size,Ke),v(Ge,()=>a().length,Ie),v(Z,S($t,{get each(){return a()},children:He=>(()=>{var gt=db(),xt=gt.firstChild,yt=xt.nextSibling,Wt=yt.nextSibling;return xt.addEventListener("change",()=>Ee(He.path)),v(yt,()=>He.status),v(Wt,()=>He.path),te(ht=>{var St=B(),Nt=`change-status ${gb[He.status]??""}`;return St!==ht.e&&(xt.disabled=ht.e=St),Nt!==ht.t&&Qe(yt,ht.t=Nt),ht},{e:void 0,t:void 0}),te(()=>xt.checked=l().has(He.path)),gt})()}),null),te(()=>he.disabled=B()),Z}}),null),v(Q,S(J,{get when(){return qe(()=>o()==="manual")()&&a().length===0},get children(){return ab()}}),null),v(Q,S(J,{get when(){return y()},get children(){var Z=sb();return v(Z,y),Z}}),null),v(Q,S(J,{get when(){return k()},get children(){var Z=ob(),pe=Z.firstChild,he=pe.nextSibling,Ge=he.nextSibling,Ke=Ge.nextSibling;return v(Z,(()=>{var Ie=qe(()=>k().kind==="review");return()=>Ie()?"Review 变更":ir[k().kind]})(),he),v(Ke,()=>k().runId.slice(0,8)),Z}}),null),v(ae,S(J,{get when(){return u.loading},get fallback(){return S(J,{get when(){return z()},get fallback(){return pb()},get children(){var Z=fb();return te(()=>Z.innerHTML=z()),Z}})},get children(){return Ra()}})),te(Z=>{var pe=B()||Le(),he=B()||Le(),Ge=B()||Le(),Ke=B()||a().length===0,Ie=B(),He=B(),gt=B();return pe!==Z.e&&(ve.disabled=Z.e=pe),he!==Z.t&&(De.disabled=Z.t=he),Ge!==Z.a&&(xe.disabled=Z.a=Ge),Ke!==Z.o&&(dt.disabled=Z.o=Ke),Ie!==Z.i&&(Je.disabled=Z.i=Ie),He!==Z.n&&(Ut.disabled=Z.n=He),gt!==Z.s&&(ie.disabled=Z.s=gt),Z},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),te(()=>Je.value=g()),te(()=>Ut.checked=o()==="manual"),te(()=>ie.checked=o()==="agent"),X})()]}})),$})()};function mb(e){if(!e)return"";const t=e.split(/\r?\n/);for(let n=0;n<t.length;n++){const i=/^##\s+(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})\s*$/.exec(t[n]??"");if(i)return i[1]??""}return""}lt(["click","input"]);var _b=T('<header class="page-head detail-head"><div><h1>执行日志 · </h1><p class=summary></p></div><div class=meta><button type=button class=ghost>'),Eb=T("<ul class=agent-log-cards>"),xb=T("<section class=agent-log-list><h2>Agent 执行日志(<!>)"),yb=T('<section class="page spec-agent-logs">'),Bs=T("<p class=muted>加载中…"),vb=T("<p class=muted>暂无 Agent 执行日志"),wb=T('<p class="agent-log-truncated muted">已截断显示末尾 256KB'),kb=T("<p class=error>"),Ab=T("<pre class=agent-log-body>"),Cb=T("<p class=muted>日志为空"),Sb=T("<div class=agent-log-card-body>"),Nb=T('<li class=agent-log-card><button type=button class=agent-log-card-head><span class=agent-log-card-toggle></span><time class=agent-log-time></time><span></span><span></span><span class=agent-log-duration></span><span class="agent-log-size muted">');const Tb=()=>{const e=vr(),t=xn(),[n]=Kt(()=>[t(),e.id],([o,c])=>Ne.getSpec(o,c)),[i,r]=q(0),[u]=Kt(()=>[t(),e.id,i()],async([o,c])=>Ne.listAgentLogs(o,c)),a=de(()=>u()??[]),s=de(()=>!u.loading&&a().length===0);return(()=>{var o=yb();return v(o,S(yr,{get fallback(){return Bs()},get children(){return[(()=>{var c=_b(),l=c.firstChild,d=l.firstChild;d.firstChild;var g=d.nextSibling,p=l.nextSibling,b=p.firstChild;return v(l,S(Mt,{class:"ghost",get href(){return Lt(`specs/${e.id}`)},children:"← 返回 spec"}),d),v(d,()=>e.id,null),v(g,()=>n()?.frontmatter.summary||"(待 Agent 补全)"),b.$$click=()=>r(f=>f+1),v(b,()=>u.loading?"刷新中…":"刷新"),te(()=>b.disabled=u.loading),c})(),(()=>{var c=xb(),l=c.firstChild,d=l.firstChild,g=d.nextSibling;return g.nextSibling,v(l,()=>a().length,g),v(c,S(J,{get when(){return!s()},get fallback(){return vb()},get children(){var p=Eb();return v(p,S($t,{get each(){return a()},children:b=>S(Db,{meta:b})})),p}}),null),c})()]}})),o})()},Db=e=>{const t=xn(),[n,i]=q(!1),[r,u]=q({content:"",truncated:!1,loading:!1,error:null});let a=!1;async function s(){const o=!n();if(i(o),o&&!a&&!r().loading){u({content:"",truncated:!1,loading:!0,error:null});try{const c=await Ne.getAgentLog(t(),e.meta.specId,e.meta.runId);a=!0,u({content:c.content,truncated:c.truncated,loading:!1,error:null})}catch(c){u({content:"",truncated:!1,loading:!1,error:c.message})}}}return(()=>{var o=Nb(),c=o.firstChild,l=c.firstChild,d=l.nextSibling,g=d.nextSibling,p=g.nextSibling,b=p.nextSibling,f=b.nextSibling;return c.$$click=s,v(l,()=>n()?"▾":"▸"),v(d,()=>Ib(e.meta.startedAt)),v(g,()=>Rb(e.meta)),v(p,()=>Mb(e.meta)),v(b,()=>Lb(e.meta)),v(f,()=>Fb(e.meta.sizeBytes)),v(o,S(J,{get when(){return n()},get children(){var h=Sb();return v(h,S(J,{get when(){return r().truncated},get children(){return wb()}}),null),v(h,S(J,{get when(){return r().loading},get children(){return Bs()}}),null),v(h,S(J,{get when(){return r().error},get children(){var _=kb();return v(_,()=>r().error),_}}),null),v(h,S(J,{get when(){return qe(()=>!r().loading&&!r().error)()&&r().content},get children(){var _=Ab();return v(_,()=>r().content),_}}),null),v(h,S(J,{get when(){return qe(()=>!r().loading&&!r().error)()&&!r().content},get children(){return Cb()}}),null),h}}),null),te(h=>{var _=n(),m=Ob(e.meta),w=`agent-log-status ${$b(e.meta)}`;return _!==h.e&&je(c,"aria-expanded",h.e=_),m!==h.t&&Qe(g,h.t=m),w!==h.a&&Qe(p,h.a=w),h},{e:void 0,t:void 0,a:void 0}),o})()};function Rb(e){switch(e.mode){case"skill-run":return"Run";case"explain":return"Explain";case"review":return"Review";case"git-ops":switch(e.action){case"commit":return"GitCommit";case"discard":return"GitDiscard";case"stash":return"GitStash";default:return"GitOps"}default:return String(e.mode)}}function Ob(e){const t=`agent-log-mode mode-${e.mode}`;return e.mode==="git-ops"&&e.action?`${t} mode-${e.mode}-${e.action}`:t}function Ib(e){try{return new Date(e).toLocaleString()}catch{return String(e)}}function $b(e){return e.exitCode===0?"status-ok":e.exitCode===null&&e.endedAt===null?"status-running":"status-fail"}function Mb(e){return e.exitCode===0?"成功":e.exitCode===null&&e.endedAt===null?"未收尾":`失败 (${e.exitCode??"n/a"})`}function Lb(e){if(e.endedAt===null)return"—";const t=Math.max(0,e.endedAt-e.startedAt);if(t<1e3)return`${t}ms`;const n=Math.round(t/100)/10;if(n<60)return`${n}s`;const i=Math.floor(n/60),r=Math.round(n-i*60);return`${i}m${r}s`}function Fb(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/(1024*1024)).toFixed(2)}MB`}lt(["click"]);var Pb=T('<section class="page welcome"><header class=page-head><h1>欢迎使用 YorZ</h1></header><p class=muted>YorZ 通过本地目录托管 spec 文档;请先添加一个项目目录,然后即可开始管理它的需求。</p><p class=projects-sidebar-hint>添加项目请在终端执行:<code>yorz add <path>');const Us=()=>Pb();var Bb=T("<p class=muted>加载中…");const Ub=()=>{const[e]=Kt(()=>Ne.listProjects());return S(J,{get when(){return!e.loading},get fallback(){return Bb()},get children(){return S(J,{get when(){return(e()??[]).length>0},get fallback(){return S(Us,{})},get children(){return(()=>{const n=(e()??[])[0];return n?S(Ec,{get href(){return`/${encodeURIComponent(n.id)}`}}):null})()}})}})};var zb=T("<button type=button class=agent-dock-clear>清理已完成"),qb=T("<ul class=agent-dock-list>"),Hb=T('<aside aria-label="Agent 任务面板"><header class=agent-dock-head><button type=button class=agent-dock-toggle><span class=agent-dock-title>Agent 任务</span><span class=agent-dock-progress><span class=agent-dock-progress-running></span><span class=agent-dock-progress-sep>/</span><span class=agent-dock-progress-done></span><span class=agent-dock-progress-sep>/</span><span class=agent-dock-progress-failed></span></span><span class=agent-dock-chevron>'),Gb=T("<pre class=agent-task-output>"),Kb=T("<p class=agent-task-error>"),Wb=T("<li><header class=agent-task-head role=button tabindex=0><span class=agent-task-chevron aria-hidden=true></span><span></span><span class=agent-task-spec></span><span></span><span class=agent-task-timer>s</span><button type=button class=agent-task-close aria-label=关闭>×"),jb=T("<em class=muted>");const Zb={run:"执行 spec",explain:"解释",draft:"新建 spec"},Vb={pending:"等待…",streaming:"运行中",done:"已完成",failed:"失败"},Yb=3,zs="yorz.agentDock.collapsed",Xb=32;let ur=!1;function Qb(){try{if(typeof window>"u")return!1;const e=window.localStorage.getItem(zs);return e==="1"||e==="0"?(ur=!0,e==="1"):!1}catch{return!1}}function Oa(e){try{typeof window<"u"&&window.localStorage.setItem(zs,e?"1":"0")}catch{}}const Jb=()=>{const[e,t]=q(Qb()),n=de(()=>it.state.order.map(s=>it.state.tasks[s]).filter(s=>!!s&&!s.dismissed)),i=de(()=>n().some(s=>s.status==="done"||s.status==="failed")),r=de(()=>n().filter(s=>s.status==="pending"||s.status==="streaming").length),u=de(()=>n().filter(s=>s.status==="done").length),a=de(()=>n().filter(s=>s.status==="failed").length);return de(()=>{!ur&&n().length>Yb&&!e()&&(t(!0),Oa(!0),ur=!0)}),S(J,{get when(){return n().length>0},get children(){var s=Hb(),o=s.firstChild,c=o.firstChild,l=c.firstChild,d=l.nextSibling,g=d.firstChild,p=g.nextSibling,b=p.nextSibling,f=b.nextSibling,h=f.nextSibling,_=d.nextSibling;return c.$$click=()=>{const m=!e();t(m),Oa(m),ur=!0},v(g,r),v(b,u),v(h,a),v(_,()=>e()?"▲":"▼"),v(o,S(J,{get when(){return i()},get children(){var m=zb();return m.$$click=()=>it.clearFinished(),m}}),null),v(s,S(J,{get when(){return!e()},get children(){var m=qb();return v(m,S($t,{get each(){return n()},children:w=>S(eg,{task:w})})),m}}),null),te(m=>{var w=`agent-dock${e()?" agent-dock--collapsed":""}`,y=!e(),x=`进行中 ${r()} / 已完成 ${u()} / 失败 ${a()}`;return w!==m.e&&Qe(s,m.e=w),y!==m.t&&je(c,"aria-expanded",m.t=y),x!==m.a&&je(d,"aria-label",m.a=x),m},{e:void 0,t:void 0,a:void 0}),s}})},eg=e=>{const t=()=>e.task.specId.startsWith("__draft__"),[n,i]=q(0),r=setInterval(()=>{(e.task.status==="pending"||e.task.status==="streaming")&&i(d=>d+1)},1e3);ot(()=>clearInterval(r));const u=de(()=>{n();const d=e.task.endedAt??Date.now();return Math.max(0,Math.floor((d-e.task.startedAt)/1e3))});let a;const s=d=>{a=d},[o,c]=q(!0),l=()=>{if(!a)return;const d=a.scrollHeight-a.scrollTop-a.clientHeight;c(d<Xb)};return de(()=>{e.task.output,queueMicrotask(()=>{a&&o()&&(a.scrollTop=a.scrollHeight)})}),(()=>{var d=Wb(),g=d.firstChild,p=g.firstChild,b=p.nextSibling,f=b.nextSibling,h=f.nextSibling,_=h.nextSibling,m=_.firstChild,w=_.nextSibling;return g.$$keydown=y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),it.toggleExpand(e.task.runId))},g.$$click=()=>it.toggleExpand(e.task.runId),v(p,()=>e.task.expanded?"▾":"▸"),v(b,()=>Zb[e.task.source]),v(f,S(J,{get when(){return!t()},get fallback(){return(()=>{var y=jb();return v(y,()=>e.task.specTitle??"(新建中)"),y})()},get children(){return S(Mt,{get href(){return Lt(`specs/${encodeURIComponent(e.task.specId)}`)},class:"agent-task-link",onClick:y=>y.stopPropagation(),get children(){return e.task.specTitle??e.task.specId}})}})),v(h,()=>Vb[e.task.status]),v(_,u,m),w.$$click=y=>{y.stopPropagation(),it.dismiss(e.task.runId)},v(d,S(J,{get when(){return e.task.expanded},get children(){return[(()=>{var y=Gb();return y.addEventListener("scroll",l),Gt(s,y),v(y,()=>e.task.output||"(等待输出…)"),y})(),S(J,{get when(){return e.task.error},get children(){var y=Kb();return v(y,()=>e.task.error),y}})]}}),null),te(y=>{var x=`agent-task agent-task-${e.task.status}`,k=e.task.expanded,D=`agent-task-source source-${e.task.source}`,A=`agent-task-status status-${e.task.status}`;return x!==y.e&&Qe(d,y.e=x),k!==y.t&&je(g,"aria-expanded",y.t=k),D!==y.a&&Qe(b,y.a=D),A!==y.o&&Qe(h,y.o=A),y},{e:void 0,t:void 0,a:void 0,o:void 0}),d})()};lt(["click","keydown"]);var tg=T("<label class=field><span>命令 (cmd)</span><input type=text placeholder=例如:/usr/local/bin/my-agent>"),ng=T('<label class=field><span>参数 (args,空格分隔)</span><input type=text placeholder="--flag value">'),rg=T("<form><fieldset class=kind-group><legend>Agent</legend></fieldset><label class=field><span>spec 文档目录</span><input type=text placeholder=.yorz/specs><small class=muted>相对项目根路径,不存在时会自动创建</small></label><div class=actions><button type=button>取消</button><button type=submit class=primary-action>"),ig=T("<div class=project-config-backdrop><div class=project-config-dialog role=dialog><header><strong>项目配置 · "),ug=T("<p class=muted>加载中…"),ag=T("<label class=kind-option><input type=radio name=project-config-agent><span>"),sg=T("<p class=error>");const og={claude:"ClaudeCode",opencode:"OpenCode",custom:"自定义"},tr=".yorz/specs",cg=e=>{const[t,n]=q("claude"),[i,r]=q(""),[u,a]=q(""),[s,o]=q(tr),[c,l]=q(tr),[d,g]=q(!1),[p,b]=q(!1),[f,h]=q(null);at(()=>{e.open&&(h(null),g(!0),(async()=>{try{const x=await Ne.getProjectConfig(e.projectId);_(x)}catch(x){h(x.message)}finally{g(!1)}})())}),at(()=>{if(!e.open)return;const x=k=>{k.key==="Escape"&&(k.preventDefault(),e.onClose())};window.addEventListener("keydown",x),ot(()=>window.removeEventListener("keydown",x))});function _(x){n(x.agent.kind),x.agent.kind==="custom"?(r(x.agent.cmd),a(x.agent.args.join(" "))):(r(""),a(""));const k=x.specsDir||tr;o(k),l(k)}function m(x){return x.split(/\s+/).map(k=>k.trim()).filter(Boolean)}function w(){const x=t();if(x==="claude")return{kind:"claude"};if(x==="opencode")return{kind:"opencode"};const k=i().trim();return k?{kind:"custom",cmd:k,args:m(u())}:{error:"自定义命令的 cmd 不能为空"}}async function y(x){x.preventDefault(),h(null);const k=w();if("error"in k){h(k.error);return}const D=s().trim()||tr;if(D.split(/[\\/]/).some(A=>A==="..")){h('spec 目录不能包含 ".." 段');return}b(!0);try{await Ne.updateProjectConfig(e.projectId,{agent:k,specsDir:D});let A="配置已保存";D!==c()&&(A+="。旧 spec 仍在原目录,请手工迁移"),e.onSaved?.(A),e.onClose()}catch(A){h(A.message)}finally{b(!1)}}return S(J,{get when(){return e.open},get children(){var x=ig(),k=x.firstChild,D=k.firstChild,A=D.firstChild;return A.firstChild,lr(x,"mousedown",e.onClose,!0),k.$$mousedown=N=>N.stopPropagation(),v(A,()=>e.projectName,null),v(k,S(J,{get when(){return!d()},get fallback(){return ug()},get children(){var N=rg(),R=N.firstChild;R.firstChild;var O=R.nextSibling,z=O.firstChild,G=z.nextSibling,L=O.nextSibling,F=L.firstChild,K=F.nextSibling;return N.addEventListener("submit",y),v(R,()=>["claude","opencode","custom"].map(B=>(()=>{var W=ag(),I=W.firstChild,U=I.nextSibling;return I.addEventListener("change",()=>n(B)),I.value=B,v(U,()=>og[B]),te(()=>I.disabled=p()),te(()=>I.checked=t()===B),W})()),null),v(N,S(J,{get when(){return t()==="custom"},get children(){return[(()=>{var B=tg(),W=B.firstChild,I=W.nextSibling;return I.$$input=U=>r(U.currentTarget.value),te(()=>I.disabled=p()),te(()=>I.value=i()),B})(),(()=>{var B=ng(),W=B.firstChild,I=W.nextSibling;return I.$$input=U=>a(U.currentTarget.value),te(()=>I.disabled=p()),te(()=>I.value=u()),B})()]}}),O),G.$$input=B=>o(B.currentTarget.value),v(N,(()=>{var B=qe(()=>!!f());return()=>B()&&(()=>{var W=sg();return v(W,f),W})()})(),L),lr(F,"click",e.onClose,!0),v(K,()=>p()?"保存中…":"保存"),te(B=>{var W=p(),I=p(),U=p();return W!==B.e&&(G.disabled=B.e=W),I!==B.t&&(F.disabled=B.t=I),U!==B.a&&(K.disabled=B.a=U),B},{e:void 0,t:void 0,a:void 0}),te(()=>G.value=s()),N}}),null),te(()=>je(k,"aria-label",`项目配置 · ${e.projectName}`)),x}})};lt(["mousedown","input","click"]);var lg=T("<span class=projects-sidebar-title>项目"),dg=T("<div class=projects-sidebar-head-actions><button type=button class=projects-sidebar-refresh title=刷新项目列表 aria-label=刷新项目列表><span>⟳</span></button><button type=button class=projects-sidebar-toggle title=折叠 aria-label=折叠项目面板>«"),fg=T("<ul class=projects-sidebar-list>"),pg=T("<p class=projects-sidebar-hint>添加项目请在终端执行:<code>yorz add <path>"),bg=T("<div class=projects-sidebar-resizer role=separator aria-orientation=vertical aria-label=拖动调整项目面板宽度>"),gg=T("<aside><header class=projects-sidebar-head></header><footer class=projects-sidebar-foot>"),hg=T("<button type=button class=projects-sidebar-toggle title=展开项目面板 aria-label=展开项目面板>»"),mg=T('<p class="muted projects-sidebar-loading">加载中…'),_g=T("<span class=name>"),Eg=T("<span class=worktree-badge>⎇ main"),xg=T("<button type=button class=projects-sidebar-edit title=项目配置>✎"),yg=T("<button type=button class=projects-sidebar-remove title=删除项目>✕"),vg=T("<li>"),wg=T("<span class=initial>"),kg=T('<span class=projects-sidebar-hint-icon title="添加项目请在终端执行:yorz add <path>"aria-label="添加项目请在终端执行:yorz add <path>">?'),Ag=T('<p class="error projects-sidebar-error">'),Cg=T("<div>"),Sg=T("<div class=delete-popover-backdrop>"),Ng=T("<label class=delete-files-check><input type=checkbox>同时删除文件目录"),Tg=T("<div class=delete-project-popover><header><strong>删除项目</strong></header><p class=delete-project-name></p><p class=delete-project-desc>此操作将从 YorZ 项目列表中移除该项目。</p><div class=delete-project-actions><button type=button>取消</button><button type=button class=delete-confirm-btn>");const qs="yorz.projectsSidebar.collapsed",Hs="yorz.projectsSidebar.width",Sn=220,Dg=160,Rg=480;function Og(){try{return typeof window<"u"&&window.localStorage.getItem(qs)==="1"}catch{return!1}}function Ig(e){try{typeof window<"u"&&window.localStorage.setItem(qs,e?"1":"0")}catch{}}function nu(e){return Number.isFinite(e)?Math.min(Rg,Math.max(Dg,Math.round(e))):Sn}function $g(){try{if(typeof window>"u")return Sn;const e=window.localStorage.getItem(Hs);if(!e)return Sn;const t=Number(e);return Number.isFinite(t)?nu(t):Sn}catch{return Sn}}function Mg(e){try{typeof window<"u"&&window.localStorage.setItem(Hs,String(nu(e)))}catch{}}function Ia(e){if(!e.worktree)return e.name;const t=e.worktree.mainPath.split("/").filter(Boolean).pop()??e.worktree.mainPath,n=e.worktree.cleanSlug??e.worktree.branch.replace(/^wt\//,"");return`${t} · ${n}`}const Lg=()=>{const[e,t]=q(Og()),[n,i]=q($g()),[r,{refetch:u}]=Kt(()=>Ne.listProjects()),[a,s]=q(null),[o,c]=q(null),[l,d]=q(null),[g,p]=q(null),[b,f]=q(!1),[h,_]=q(!1),[m,w]=q({top:0,left:0}),y=Pn(),x=Bn(),k=de(()=>{const W=x.pathname.match(/^\/([^/]+)/);return W&&W[1]!=="api"?W[1]:""});function D(){const W=!e();t(W),Ig(W)}let A=null,N=null,R=null;function O(W){e()||(W.preventDefault(),A={startX:W.clientX,startW:n(),raf:null},document.body.classList.add("is-resizing"),N=I=>{if(!A)return;const U=I.clientX-A.startX,j=nu(A.startW+U);A.raf==null&&(A.raf=requestAnimationFrame(()=>{A&&(A.raf=null,i(j))}))},R=()=>{A?.raf!=null&&cancelAnimationFrame(A.raf),A=null,document.body.classList.remove("is-resizing"),N&&document.removeEventListener("mousemove",N),R&&document.removeEventListener("mouseup",R),N=null,R=null,Mg(n())},document.addEventListener("mousemove",N),document.addEventListener("mouseup",R))}ot(()=>{N&&document.removeEventListener("mousemove",N),R&&document.removeEventListener("mouseup",R),document.body.classList.remove("is-resizing")});function z(W,I){I.preventDefault(),I.stopPropagation(),c(W)}function G(W,I="success"){const U={message:W,type:I};d(U),setTimeout(()=>{l()===U&&d(null)},4e3)}function L(W,I){I.preventDefault(),I.stopPropagation();const j=I.currentTarget.getBoundingClientRect();let Ee=j.right-280;Ee<8&&(Ee=8),w({top:j.bottom+8,left:Ee}),f(!1),p(W)}async function F(){const W=g();if(W){_(!0);try{b()&&W.worktree?await Ne.removeProjectWithFiles(W.id):await Ne.removeProject(W.id),await u(),k()===W.id&&y("/"),p(null)}catch(I){const U=I.message;U.includes("409")?(G("存在未提交 git 的变更","error"),p(null)):(s(U),G(U,"error"))}finally{_(!1)}}}function K(){u()}const B=()=>e()?void 0:{width:`${n()}px`};return(()=>{var W=gg(),I=W.firstChild,U=I.nextSibling;return v(I,S(J,{get when(){return!e()},get fallback(){return(()=>{var j=hg();return j.$$click=D,j})()},get children(){return[lg(),(()=>{var j=dg(),P=j.firstChild,Ee=P.firstChild,Ae=P.nextSibling;return P.$$click=K,Ae.$$click=D,te(fe=>{var Le=r.loading,$=`projects-sidebar-refresh-icon ${r.loading?"spinning":""}`;return Le!==fe.e&&(P.disabled=fe.e=Le),$!==fe.t&&Qe(Ee,fe.t=$),fe},{e:void 0,t:void 0}),j})()]}})),v(W,S(J,{get when(){return r()!==void 0},get fallback(){return mg()},get children(){var j=fg();return v(j,S($t,{get each(){return r()??[]},children:P=>{const Ee=()=>k()===P.id;return(()=>{var Ae=vg();return v(Ae,S(Mt,{get href(){return`/${encodeURIComponent(P.id)}`},class:"projects-sidebar-link",get title(){return P.path},get children(){return S(J,{get when(){return!e()},get fallback(){return(()=>{var fe=wg();return v(fe,()=>(P.name[0]??"?").toUpperCase()),fe})()},get children(){return[(()=>{var fe=_g();return v(fe,()=>Ia(P)),fe})(),S(J,{get when(){return P.worktree},get children(){var fe=Eg();return te(()=>je(fe,"title",`worktree of ${P.worktree.mainPath}`)),fe}})]}})}}),null),v(Ae,S(J,{get when(){return!e()},get children(){return[(()=>{var fe=xg();return fe.$$click=Le=>z(P,Le),te(()=>je(fe,"aria-label",`配置 ${P.name}`)),fe})(),(()=>{var fe=yg();return fe.$$click=Le=>void L(P,Le),te(()=>je(fe,"aria-label",`移除 ${P.name}`)),fe})()]}}),null),te(()=>Qe(Ae,`projects-sidebar-item ${Ee()?"active":""}`)),Ae})()}})),j}}),U),v(U,S(J,{get when(){return!e()},get fallback(){return kg()},get children(){return pg()}}),null),v(U,(()=>{var j=qe(()=>!!a());return()=>j()&&(()=>{var P=Ag();return v(P,a),te(()=>je(P,"title",a())),P})()})(),null),v(W,S(J,{get when(){return!e()},get children(){var j=bg();return j.$$mousedown=O,j}}),null),v(W,S(J,{get when(){return o()},children:j=>S(cg,{open:!0,get projectId(){return j().id},get projectName(){return j().name},onClose:()=>c(null),onSaved:P=>G(P)})}),null),v(W,S(J,{get when(){return l()},children:j=>(()=>{var P=Cg();return v(P,()=>j().message),te(Ee=>{var Ae=`projects-sidebar-toast projects-sidebar-toast--${j().type}`,fe=j().type==="error"?"alert":"status";return Ae!==Ee.e&&Qe(P,Ee.e=Ae),fe!==Ee.t&&je(P,"role",Ee.t=fe),Ee},{e:void 0,t:void 0}),P})()}),null),v(W,S(J,{get when(){return g()},children:j=>[(()=>{var P=Sg();return P.$$click=()=>!h()&&p(null),P})(),(()=>{var P=Tg(),Ee=P.firstChild,Ae=Ee.nextSibling,fe=Ae.nextSibling,Le=fe.nextSibling,$=Le.firstChild,X=$.nextSibling;return P.$$mousedown=Q=>Q.stopPropagation(),v(Ae,()=>Ia(j())),v(P,S(J,{get when(){return j().worktree},get children(){var Q=Ng(),le=Q.firstChild;return le.addEventListener("change",ve=>f(ve.currentTarget.checked)),te(()=>le.checked=b()),Q}}),Le),$.$$click=()=>p(null),X.$$click=()=>void F(),v(X,()=>h()?"删除中…":"确认删除"),te(Q=>{var le=`${m().top}px`,ve=`${m().left}px`,De=h(),xe=h();return le!==Q.e&&fn(P,"top",Q.e=le),ve!==Q.t&&fn(P,"left",Q.t=ve),De!==Q.a&&($.disabled=Q.a=De),xe!==Q.o&&(X.disabled=Q.o=xe),Q},{e:void 0,t:void 0,a:void 0,o:void 0}),P})()]}),null),te(j=>{var P=`projects-sidebar ${e()?"collapsed":"expanded"}`,Ee=B();return P!==j.e&&Qe(W,j.e=P),j.t=Gi(W,Ee,j.t),j},{e:void 0,t:void 0}),W})()};lt(["click","mousedown"]);var Fg=T('<a class=primary-action target=_blank rel="noopener noreferrer">+ 新建 spec'),Pg=T("<div class=app><header class=topbar></header><div class=shell-body><main class=content>");const Bg=e=>{const t=Bn(),n=()=>/\/specs\/new$/.test(t.pathname),i=()=>br()!=="";at(()=>{const u=t.pathname.match(/^\/([^/]+)/);Ac(u&&u[1]!=="api"?u[1]:"")});const r=new Set;return at(()=>{const u=br();!u||r.has(u)||(r.add(u),it.hydrateFromActiveRuns(u))}),(()=>{var u=Pg(),a=u.firstChild,s=a.nextSibling,o=s.firstChild;return v(a,S(Mt,{href:"/",class:"brand",children:"YorZ"}),null),v(a,S(J,{get when(){return i()},get children(){return S(J,{get when(){return n()},get fallback(){return S(Mt,{get href(){return Lt("specs/new")},class:"primary-action",children:"+ 新建 spec"})},get children(){var c=Fg();return te(()=>je(c,"href",Lt("specs/new"))),c}})}}),null),v(s,S(Lg,{}),o),v(o,()=>e.children),v(u,S(Jb,{}),null),u})()},Gs=document.getElementById("app");if(!Gs)throw new Error("missing #app root");$o(()=>S(mc,{root:Bg,get children(){return[S(nn,{path:"/",component:Ub}),S(nn,{path:"/:projectId",component:Jc}),S(nn,{path:"/:projectId/specs/new",component:vl}),S(nn,{path:"/:projectId/specs/:id",component:tb}),S(nn,{path:"/:projectId/specs/:id/review",component:hb}),S(nn,{path:"/:projectId/specs/:id/agent-logs",component:Tb}),S(nn,{path:"*",component:Us})]}}),Gs);queueMicrotask(()=>{const e=document.body,t=document.documentElement;console.log("[body-overflow-diagnostic]",{bodyScrollHeight:e.scrollHeight,bodyClientHeight:e.clientHeight,docScrollHeight:t.scrollHeight,docClientHeight:t.clientHeight,windowInnerHeight:window.innerHeight,bodyOverflowing:e.scrollHeight>e.clientHeight,docOverflowing:t.scrollHeight>t.clientHeight})});export{sp as _,Is as g};
|
|
20
|
+
]`,f={scope:"string",variants:[d,l,g,p]},h={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},_=["false","null","true"],m=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],w=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],x={keyword:m,literal:(F=>{const K=[];return F.forEach(B=>{K.push(B),B.toLowerCase()===B?K.push(B.toUpperCase()):K.push(B.toLowerCase())}),K})(_),built_in:w},k=F=>F.map(K=>K.replace(/\|\d+$/,"")),D={variants:[{match:[/new/,n.concat(b,"+"),n.concat("(?!",k(w).join("\\b|"),"\\b)"),u],scope:{1:"keyword",4:"title.class"}}]},A=n.concat(r,"\\b(?!\\()"),N={variants:[{match:[n.concat(/::/,n.lookahead(/(?!class\b)/)),A],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[u,n.concat(/::/,n.lookahead(/(?!class\b)/)),A],scope:{1:"title.class",3:"variable.constant"}},{match:[u,n.concat("::",n.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[u,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},R={scope:"attr",match:n.concat(r,n.lookahead(":"),n.lookahead(/(?!::)/))},O={relevance:0,begin:/\(/,end:/\)/,keywords:x,contains:[R,s,N,t.C_BLOCK_COMMENT_MODE,f,h,D]},z={relevance:0,match:[/\b/,n.concat("(?!fn\\b|function\\b|",k(m).join("\\b|"),"|",k(w).join("\\b|"),"\\b)"),r,n.concat(b,"*"),n.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[O]};O.contains.push(z);const G=[R,N,t.C_BLOCK_COMMENT_MODE,f,h,D],L={begin:n.concat(/#\[\s*\\?/,n.either(u,a)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:_,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:_,keyword:["new","array"]},contains:["self",...G]},...G,{scope:"meta",variants:[{match:u},{match:a}]}]};return{case_insensitive:!1,keywords:x,contains:[L,t.HASH_COMMENT_MODE,t.COMMENT("//","$"),t.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:t.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},o,{scope:"variable.language",match:/\$this\b/},s,z,N,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},D,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},t.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:x,contains:["self",L,s,N,t.C_BLOCK_COMMENT_MODE,f,h]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[t.inherit(t.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},t.UNDERSCORE_TITLE_MODE]},f,h]}}return bi=e,bi}var gi,da;function Lf(){if(da)return gi;da=1;function e(t){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},t.inherit(t.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),t.inherit(t.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}return gi=e,gi}var hi,fa;function Ff(){if(fa)return hi;fa=1;function e(t){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}return hi=e,hi}var mi,pa;function Pf(){if(pa)return mi;pa=1;function e(t){const n=t.regex,i=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},l={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},d={begin:/\{\{/,relevance:0},g={className:"string",contains:[t.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[t.BACKSLASH_ESCAPE,c,d,l]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[t.BACKSLASH_ESCAPE,c,d,l]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[t.BACKSLASH_ESCAPE,d,l]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[t.BACKSLASH_ESCAPE,d,l]},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",b=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,f=`\\b|${r.join("|")}`,h={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${b}))[eE][+-]?(${p})[jJ]?(?=${f})`},{begin:`(${b})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${f})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${f})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${f})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${f})`},{begin:`\\b(${p})[jJ](?=${f})`}]},_={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",c,h,g,t.HASH_COMMENT_MODE]}]};return l.contains=[g,h,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[c,h,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},g,_,t.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,i],scope:{1:"keyword",3:"title.function"},contains:[m]},{variants:[{match:[/\bclass/,/\s+/,i,/\s*/,/\(\s*/,i,/\s*\)/]},{match:[/\bclass/,/\s+/,i]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[h,m,g]}]}}return mi=e,mi}var _i,ba;function Bf(){if(ba)return _i;ba=1;function e(t){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}return _i=e,_i}var Ei,ga;function Uf(){if(ga)return Ei;ga=1;function e(t){const n=t.regex,i=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=n.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),u=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,a=n.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:i,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[t.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:n.lookahead(n.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:i},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),t.HASH_COMMENT_MODE,{scope:"string",contains:[t.BACKSLASH_ESCAPE],variants:[t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),t.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[u,r]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,r]},{scope:{1:"punctuation",2:"number"},match:[a,r]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:"operator"},match:[i,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:u},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:a},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}return Ei=e,Ei}var xi,ha;function zf(){if(ha)return xi;ha=1;function e(t){const n=t.regex,i=/(r#)?/,r=n.concat(i,t.UNDERSCORE_IDENT_RE),u=n.concat(i,t.IDENT_RE),a={className:"title.function.invoke",relevance:0,begin:n.concat(/\b/,/(?!let|for|while|if|else|match\b)/,u,n.lookahead(/\s*\(/))},s="([ui](8|16|32|64|128|size)|f(32|64))?",o=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],c=["true","false","Some","None","Ok","Err"],l=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:t.IDENT_RE+"!?",type:d,keyword:o,literal:c,built_in:l},illegal:"</",contains:[t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*","\\*/",{contains:["self"]}),t.inherit(t.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+s},{begin:"\\b0o([0-7_]+)"+s},{begin:"\\b0x([A-Fa-f0-9_]+)"+s},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+s}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[t.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:t.IDENT_RE+"::",keywords:{keyword:"Self",built_in:l,type:d}},{className:"punctuation",begin:"->"},a]}}return xi=e,xi}var yi,ma;function qf(){if(ma)return yi;ma=1;const e=c=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:c.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:[c.APOS_STRING_MODE,c.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:c.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_-]*/}}),t=["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"],n=["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"],i=[...t,...n],r=["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(),u=["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(),a=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),s=["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 o(c){const l=e(c),d=a,g=u,p="@[a-z-]+",b="and or not only",h={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[c.C_LINE_COMMENT_MODE,c.C_BLOCK_COMMENT_MODE,l.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},l.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+i.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+g.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+d.join("|")+")"},h,{begin:/\(/,end:/\)/,contains:[l.CSS_NUMBER_MODE]},l.CSS_VARIABLE,{className:"attribute",begin:"\\b("+s.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[l.BLOCK_COMMENT,h,l.HEXCOLOR,l.CSS_NUMBER_MODE,c.QUOTE_STRING_MODE,c.APOS_STRING_MODE,l.IMPORTANT,l.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:p,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:b,attribute:r.join(" ")},contains:[{begin:p,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},h,c.QUOTE_STRING_MODE,c.APOS_STRING_MODE,l.HEXCOLOR,l.CSS_NUMBER_MODE]},l.FUNCTION_DISPATCH]}}return yi=o,yi}var vi,_a;function Hf(){if(_a)return vi;_a=1;function e(t){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}return vi=e,vi}var wi,Ea;function Gf(){if(Ea)return wi;Ea=1;function e(t){const n=t.regex,i=t.COMMENT("--","$"),r={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},u={begin:/"/,end:/"/,contains:[{match:/""/}]},a=["true","false","unknown"],s=["double precision","large object","with timezone","without timezone"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],c=["add","asc","collation","desc","final","first","last","view"],l=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],g=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],p=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],b=d,f=[...l,...c].filter(k=>!d.includes(k)),h={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},_={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},m={match:n.concat(/\b/,n.either(...b),/\s*\(/),relevance:0,keywords:{built_in:b}};function w(k){return n.concat(/\b/,n.either(...k.map(D=>D.replace(/\s+/,"\\s+"))),/\b/)}const y={scope:"keyword",match:w(p),relevance:0};function x(k,{exceptions:D,when:A}={}){const N=A;return D=D||[],k.map(R=>R.match(/\|\d+$/)||D.includes(R)?R:N(R)?`${R}|0`:R)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:x(f,{when:k=>k.length<3}),literal:a,type:o,built_in:g},contains:[{scope:"type",match:w(s)},y,m,h,r,u,t.C_NUMBER_MODE,t.C_BLOCK_COMMENT_MODE,i,_]}}return wi=e,wi}var ki,xa;function Kf(){if(xa)return ki;xa=1;function e(A){return A?typeof A=="string"?A:A.source:null}function t(A){return n("(?=",A,")")}function n(...A){return A.map(R=>e(R)).join("")}function i(A){const N=A[A.length-1];return typeof N=="object"&&N.constructor===Object?(A.splice(A.length-1,1),N):{}}function r(...A){return"("+(i(A).capture?"":"?:")+A.map(O=>e(O)).join("|")+")"}const u=A=>n(/\b/,A,/\w$/.test(A)?/\b/:/\B/),a=["Protocol","Type"].map(u),s=["init","self"].map(u),o=["Any","Self"],c=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],l=["false","nil","true"],d=["assignment","associativity","higherThan","left","lowerThan","none","right"],g=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],p=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],b=r(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),f=r(b,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),h=n(b,f,"*"),_=r(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),m=r(_,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),w=n(_,m,"*"),y=n(/[A-Z]/,m,"*"),x=["attached","autoclosure",n(/convention\(/,r("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",n(/objc\(/,w,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],k=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function D(A){const N={match:/\s+/,relevance:0},R=A.COMMENT("/\\*","\\*/",{contains:["self"]}),O=[A.C_LINE_COMMENT_MODE,R],z={match:[/\./,r(...a,...s)],className:{2:"keyword"}},G={match:n(/\./,r(...c)),relevance:0},L=c.filter(Re=>typeof Re=="string").concat(["_|0"]),F=c.filter(Re=>typeof Re!="string").concat(o).map(u),K={variants:[{className:"keyword",match:r(...F,...s)}]},B={$pattern:r(/\b\w+/,/#\w+/),keyword:L.concat(g),literal:l},W=[z,G,K],I={match:n(/\./,r(...p)),relevance:0},U={className:"built_in",match:n(/\b/,r(...p),/(?=\()/)},j=[I,U],P={match:/->/,relevance:0},Ee={className:"operator",relevance:0,variants:[{match:h},{match:`\\.(\\.|${f})+`}]},Ae=[P,Ee],fe="([0-9]_*)+",Le="([0-9a-fA-F]_*)+",$={className:"number",relevance:0,variants:[{match:`\\b(${fe})(\\.(${fe}))?([eE][+-]?(${fe}))?\\b`},{match:`\\b0x(${Le})(\\.(${Le}))?([pP][+-]?(${fe}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},X=(Re="")=>({className:"subst",variants:[{match:n(/\\/,Re,/[0\\tnr"']/)},{match:n(/\\/,Re,/u\{[0-9a-fA-F]{1,8}\}/)}]}),Q=(Re="")=>({className:"subst",match:n(/\\/,Re,/[\t ]*(?:[\r\n]|\r\n)/)}),le=(Re="")=>({className:"subst",label:"interpol",begin:n(/\\/,Re,/\(/),end:/\)/}),ve=(Re="")=>({begin:n(Re,/"""/),end:n(/"""/,Re),contains:[X(Re),Q(Re),le(Re)]}),De=(Re="")=>({begin:n(Re,/"/),end:n(/"/,Re),contains:[X(Re),le(Re)]}),xe={className:"string",variants:[ve(),ve("#"),ve("##"),ve("###"),De(),De("#"),De("##"),De("###")]},tt=[A.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[A.BACKSLASH_ESCAPE]}],dt={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:tt},Je=Re=>{const ye=n(Re,/\//),me=n(/\//,Re);return{begin:ye,end:me,contains:[...tt,{scope:"comment",begin:`#(?!.*${me})`,end:/$/}]}},Bt={scope:"regexp",variants:[Je("###"),Je("##"),Je("#"),dt]},Ct={match:n(/`/,w,/`/)},Ut={className:"variable",match:/\$\d+/},ne={className:"variable",match:`\\$${m}+`},ie=[Ct,Ut,ne],ae={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:k,contains:[...Ae,$,xe]}]}},ge={scope:"keyword",match:n(/@/,r(...x),t(r(/\(/,/\s+/)))},Z={scope:"meta",match:n(/@/,w)},pe=[ae,ge,Z],he={match:t(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:n(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,m,"+")},{className:"type",match:y,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:n(/\s+&\s+/,t(y)),relevance:0}]},Ge={begin:/</,end:/>/,keywords:B,contains:[...O,...W,...pe,P,he]};he.contains.push(Ge);const Ke={match:n(w,/\s*:/),keywords:"_|0",relevance:0},Ie={begin:/\(/,end:/\)/,relevance:0,keywords:B,contains:["self",Ke,...O,Bt,...W,...j,...Ae,$,xe,...ie,...pe,he]},He={begin:/</,end:/>/,keywords:"repeat each",contains:[...O,he]},gt={begin:r(t(n(w,/\s*:/)),t(n(w,/\s+/,w,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:w}]},xt={begin:/\(/,end:/\)/,keywords:B,contains:[gt,...O,...W,...Ae,$,xe,...pe,he,Ie],endsParent:!0,illegal:/["']/},yt={match:[/(func|macro)/,/\s+/,r(Ct.match,w,h)],className:{1:"keyword",3:"title.function"},contains:[He,xt,N],illegal:[/\[/,/%/]},Wt={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[He,xt,N],illegal:/\[|%/},ht={match:[/operator/,/\s+/,h],className:{1:"keyword",3:"title"}},St={begin:[/precedencegroup/,/\s+/,y],className:{1:"keyword",3:"title"},contains:[he],keywords:[...d,...l],end:/}/},Nt={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},zt={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},en={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,w,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:B,contains:[He,...W,{begin:/:/,end:/\{/,keywords:B,contains:[{scope:"title.class.inherited",match:y},...W],relevance:0}]};for(const Re of xe.variants){const ye=Re.contains.find(ze=>ze.label==="interpol");ye.keywords=B;const me=[...W,...j,...Ae,$,xe,...ie];ye.contains=[...me,{begin:/\(/,end:/\)/,contains:["self",...me]}]}return{name:"Swift",keywords:B,contains:[...O,yt,Wt,Nt,zt,en,ht,St,{beginKeywords:"import",end:/$/,contains:[...O],relevance:0},Bt,...W,...j,...Ae,$,xe,...ie,...pe,he,Ie]}}return ki=D,ki}var Ai,ya;function Wf(){if(ya)return Ai;ya=1;function e(t){const n="true false yes no null",i="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},u={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},a={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},s={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[t.BACKSLASH_ESCAPE,u]},o=t.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),p={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},b={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n,relevance:0},f={begin:/\{/,end:/\}/,contains:[b],illegal:"\\n",relevance:0},h={begin:"\\[",end:"\\]",contains:[b],illegal:"\\n",relevance:0},_=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+i},{className:"type",begin:"!<"+i+">"},{className:"type",begin:"!"+i},{className:"type",begin:"!!"+i},{className:"meta",begin:"&"+t.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+t.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},t.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},p,{className:"number",begin:t.C_NUMBER_RE+"\\b",relevance:0},f,h,a,s],m=[..._];return m.pop(),m.push(o),b.contains=m,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:_}}return Ai=e,Ai}var Ci,va;function jf(){if(va)return Ci;va=1;const e="[A-Za-z$_][0-9A-Za-z$_]*",t=["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"],n=["true","false","null","undefined","NaN","Infinity"],i=["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"],r=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],u=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],a=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],s=[].concat(u,i,r);function o(l){const d=l.regex,g=(X,{after:Q})=>{const le="</"+X[0].slice(1);return X.input.indexOf(le,Q)!==-1},p=e,b={begin:"<>",end:"</>"},f=/<[A-Za-z0-9\\._:-]+\s*\/>/,h={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(X,Q)=>{const le=X[0].length+X.index,ve=X.input[le];if(ve==="<"||ve===","){Q.ignoreMatch();return}ve===">"&&(g(X,{after:le})||Q.ignoreMatch());let De;const xe=X.input.substring(le);if(De=xe.match(/^\s*=/)){Q.ignoreMatch();return}if((De=xe.match(/^\s+extends\s+/))&&De.index===0){Q.ignoreMatch();return}}},_={$pattern:e,keyword:t,literal:n,built_in:s,"variable.language":a},m="[0-9](_?[0-9])*",w=`\\.(${m})`,y="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",x={className:"number",variants:[{begin:`(\\b(${y})((${w})|\\.)?|(${w}))[eE][+-]?(${m})\\b`},{begin:`\\b(${y})\\b((${w})\\b|\\.)?|(${w})\\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},k={className:"subst",begin:"\\$\\{",end:"\\}",keywords:_,contains:[]},D={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[l.BACKSLASH_ESCAPE,k],subLanguage:"xml"}},A={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[l.BACKSLASH_ESCAPE,k],subLanguage:"css"}},N={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[l.BACKSLASH_ESCAPE,k],subLanguage:"graphql"}},R={className:"string",begin:"`",end:"`",contains:[l.BACKSLASH_ESCAPE,k]},z={className:"comment",variants:[l.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:p+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),l.C_BLOCK_COMMENT_MODE,l.C_LINE_COMMENT_MODE]},G=[l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,D,A,N,R,{match:/\$\d+/},x];k.contains=G.concat({begin:/\{/,end:/\}/,keywords:_,contains:["self"].concat(G)});const L=[].concat(z,k.contains),F=L.concat([{begin:/(\s*)\(/,end:/\)/,keywords:_,contains:["self"].concat(L)}]),K={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:_,contains:F},B={variants:[{match:[/class/,/\s+/,p,/\s+/,/extends/,/\s+/,d.concat(p,"(",d.concat(/\./,p),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,p],scope:{1:"keyword",3:"title.class"}}]},W={relevance:0,match:d.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:{_:[...i,...r]}},I={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},U={variants:[{match:[/function/,/\s+/,p,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[K],illegal:/%/},j={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function P(X){return d.concat("(?!",X.join("|"),")")}const Ee={match:d.concat(/\b/,P([...u,"super","import"].map(X=>`${X}\\s*\\(`)),p,d.lookahead(/\s*\(/)),className:"title.function",relevance:0},Ae={begin:d.concat(/\./,d.lookahead(d.concat(p,/(?![0-9A-Za-z$_(])/))),end:p,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},fe={match:[/get|set/,/\s+/,p,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},K]},Le="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+l.UNDERSCORE_IDENT_RE+")\\s*=>",$={match:[/const|var|let/,/\s+/,p,/\s*/,/=\s*/,/(async\s*)?/,d.lookahead(Le)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[K]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:_,exports:{PARAMS_CONTAINS:F,CLASS_REFERENCE:W},illegal:/#(?![$_A-z])/,contains:[l.SHEBANG({label:"shebang",binary:"node",relevance:5}),I,l.APOS_STRING_MODE,l.QUOTE_STRING_MODE,D,A,N,R,z,{match:/\$\d+/},x,W,{scope:"attr",match:p+d.lookahead(":"),relevance:0},$,{begin:"("+l.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[z,l.REGEXP_MODE,{className:"function",begin:Le,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:l.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:_,contains:F}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:b.begin,end:b.end},{match:f},{begin:h.begin,"on:begin":h.isTrulyOpeningTag,end:h.end}],subLanguage:"xml",contains:[{begin:h.begin,end:h.end,skip:!0,contains:["self"]}]}]},U,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+l.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[K,l.inherit(l.TITLE_MODE,{begin:p,className:"title.function"})]},{match:/\.\.\./,relevance:0},Ae,{match:"\\$"+p,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[K]},Ee,j,B,fe,{match:/\$[(.]/}]}}function c(l){const d=l.regex,g=o(l),p=e,b=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],f={begin:[/namespace/,/\s+/,l.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},h={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:b},contains:[g.exports.CLASS_REFERENCE]},_={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},m=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],w={$pattern:e,keyword:t.concat(m),literal:n,built_in:s.concat(b),"variable.language":a},y={className:"meta",begin:"@"+p},x=(N,R,O)=>{const z=N.contains.findIndex(G=>G.label===R);if(z===-1)throw new Error("can not find mode to replace");N.contains.splice(z,1,O)};Object.assign(g.keywords,w),g.exports.PARAMS_CONTAINS.push(y);const k=g.contains.find(N=>N.scope==="attr"),D=Object.assign({},k,{match:d.concat(p,d.lookahead(/\s*\?:/))});g.exports.PARAMS_CONTAINS.push([g.exports.CLASS_REFERENCE,k,D]),g.contains=g.contains.concat([y,f,h,D]),x(g,"shebang",l.SHEBANG()),x(g,"use_strict",_);const A=g.contains.find(N=>N.label==="func.def");return A.relevance=0,Object.assign(g,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),g}return Ci=c,Ci}var Si,wa;function Zf(){if(wa)return Si;wa=1;function e(t){const n=t.regex,i={className:"string",begin:/"(""|[^/n])"C\b/},r={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},u=/\d{1,2}\/\d{1,2}\/\d{4}/,a=/\d{4}-\d{1,2}-\d{1,2}/,s=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,o=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:n.concat(/# */,n.either(a,u),/ *#/)},{begin:n.concat(/# */,o,/ *#/)},{begin:n.concat(/# */,s,/ *#/)},{begin:n.concat(/# */,n.either(a,u),/ +/,n.either(s,o),/ *#/)}]},l={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},d={className:"label",begin:/^\w+:/},g=t.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),p=t.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[i,r,c,l,d,g,p,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[p]}]}}return Si=e,Si}var Ni,ka;function Vf(){if(ka)return Ni;ka=1;function e(t){t.regex;const n=t.COMMENT(/\(;/,/;\)/);n.contains.push("self");const i=t.COMMENT(/;;/,/$/),r=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],u={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},a={className:"variable",begin:/\$[\w_]+/},s={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},o={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},c={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},l={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:r},contains:[i,n,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},a,s,u,t.QUOTE_STRING_MODE,c,l,o]}}return Ni=e,Ni}var Ti,Aa;function Yf(){if(Aa)return Ti;Aa=1;var e=pf();return e.registerLanguage("xml",bf()),e.registerLanguage("bash",gf()),e.registerLanguage("c",hf()),e.registerLanguage("cpp",mf()),e.registerLanguage("csharp",_f()),e.registerLanguage("css",Ef()),e.registerLanguage("markdown",xf()),e.registerLanguage("diff",yf()),e.registerLanguage("ruby",vf()),e.registerLanguage("go",wf()),e.registerLanguage("graphql",kf()),e.registerLanguage("ini",Af()),e.registerLanguage("java",Cf()),e.registerLanguage("javascript",Sf()),e.registerLanguage("json",Nf()),e.registerLanguage("kotlin",Tf()),e.registerLanguage("less",Df()),e.registerLanguage("lua",Rf()),e.registerLanguage("makefile",Of()),e.registerLanguage("perl",If()),e.registerLanguage("objectivec",$f()),e.registerLanguage("php",Mf()),e.registerLanguage("php-template",Lf()),e.registerLanguage("plaintext",Ff()),e.registerLanguage("python",Pf()),e.registerLanguage("python-repl",Bf()),e.registerLanguage("r",Uf()),e.registerLanguage("rust",zf()),e.registerLanguage("scss",qf()),e.registerLanguage("shell",Hf()),e.registerLanguage("sql",Gf()),e.registerLanguage("swift",Kf()),e.registerLanguage("yaml",Wf()),e.registerLanguage("typescript",jf()),e.registerLanguage("vbnet",Zf()),e.registerLanguage("wasm",Vf()),e.HighlightJS=e,e.default=e,Ti=e,Ti}var Xf=Yf();const Ca=Is(Xf),Et=new _t({html:!0,linkify:!0,breaks:!1,highlight(e,t){if(t&&Ca.getLanguage(t))try{const n=Ca.highlight(e,{language:t}).value;return`<pre><code class="hljs language-${t}">${n}</code></pre>`}catch{}return""}}),Qf=/^<\/?(?:details|summary)>$/i,Jf=/^<details\s+open\s*>$/i,ep=/^<input class="task-list-item-checkbox"(?: checked="")? disabled="" type="checkbox">$/;function tp(e){return Qf.test(e)||Jf.test(e)||ep.test(e)}function $s(e){const t=Et.utils.escapeHtml;let n="",i=0;const r=/<[^>]*>/g;let u;for(;(u=r.exec(e))!==null;){n+=t(e.slice(i,u.index));const a=u[0];n+=tp(a)?a:t(a),i=u.index+a.length}return n+=t(e.slice(i)),n}Et.renderer.rules.html_block=(e,t)=>$s(e[t].content);Et.renderer.rules.html_inline=(e,t)=>$s(e[t].content);const np=Et.renderer.rules.image??((e,t,n,i,r)=>r.renderToken(e,t,n)),rp=Et.renderer.rules.link_open??((e,t,n,i,r)=>r.renderToken(e,t,n)),ip=Et.renderer.rules.fence??((e,t,n,i,r)=>r.renderToken(e,t,n));function Ms(e,t,n){if(!e||/^([a-z]+:)?\/\//i.test(e)||e.startsWith("/")||e.startsWith("#"))return e;const i=e.match(/^attachments\/(.+)$/);return!i||!n?e:`/api/projects/${encodeURIComponent(n)}/specs/${encodeURIComponent(t)}/attachments/${encodeURIComponent(i[1])}`}Et.renderer.rules.image=function(e,t,n,i,r){const u=i,a=u?.specId;if(a){const o=e[t].attrs?.find(([c])=>c==="src");o&&(o[1]=Ms(o[1],a,u?.projectId))}return np(e,t,n,i,r)};Et.renderer.rules.link_open=function(e,t,n,i,r){const u=i,a=u?.specId;if(a){const s=e[t],o=s.attrs?.find(([c])=>c==="href");if(o){const c=Ms(o[1],a,u?.projectId);if(c!==o[1]){o[1]=c;const l=s.attrs?.find(([d])=>d==="target");l?l[1]="_blank":s.attrs?.push(["target","_blank"]),s.attrs?.push(["rel","noopener noreferrer"])}}}return rp(e,t,n,i,r)};Et.renderer.rules.fence=function(e,t,n,i,r){const u=e[t];if(u.info.trim()==="mermaid"){const s=u.content;return`<div class="mermaid" data-mermaid-source="${s.replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}">${s}</div>`}return ip(e,t,n,i,r)};Et.use(ff,{enabled:!1,label:!1});function Ls(e,t={}){if(!t.specId)return Et.render(e,{});const n={specId:t.specId};return t.projectId&&(n.projectId=t.projectId),Et.render(e,n)}const up="modulepreload",ap=function(e){return"/"+e},Sa={},sp=function(t,n,i){let r=Promise.resolve();if(n&&n.length>0){let a=function(c){return Promise.all(c.map(l=>Promise.resolve(l).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),o=s?.nonce||s?.getAttribute("nonce");r=a(n.map(c=>{if(c=ap(c),c in Sa)return;Sa[c]=!0;const l=c.endsWith(".css"),d=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${d}`))return;const g=document.createElement("link");if(g.rel=l?"stylesheet":up,l||(g.as="script"),g.crossOrigin="",g.href=c,o&&g.setAttribute("nonce",o),document.head.appendChild(g),l)return new Promise((p,b)=>{g.addEventListener("load",p),g.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${c}`)))})}))}function u(a){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=a,window.dispatchEvent(s),!s.defaultPrevented)throw a}return r.then(a=>{for(const s of a||[])s.status==="rejected"&&u(s.reason);return t().catch(u)})};let Di=null;async function op(){return Di||(Di=sp(()=>import("./mermaid.core-ImB_5gdE.js").then(e=>e.bp),[]).then(e=>e.default)),Di}function cp(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"default"}async function lp(e){const t=e.querySelectorAll(".mermaid");if(t.length===0)return()=>{};const n=await op();async function i(){const u=cp();n.initialize({startOnLoad:!1,theme:u}),t.forEach(a=>{const s=a.getAttribute("data-mermaid-source");s&&(a.removeAttribute("data-processed"),a.textContent=s)});try{await n.run({nodes:Array.from(t)})}catch(a){console.error("[mermaid] render error:",a)}}i();const r=window.matchMedia("(prefers-color-scheme: dark)");return r.addEventListener("change",i),()=>{r.removeEventListener("change",i)}}function dp(e,t){let n=e;for(;n&&n!==t;){if(n.nodeType===1){const r=n.tagName;if(r==="H2"||r==="H3")return n}let i=n.previousSibling;if(!i){n=n.parentNode;continue}for(;i?.lastChild;)i=i.lastChild;n=i}return null}function fp(e,t){return t.contains(e.startContainer)&&t.contains(e.endContainer)&&t.contains(e.commonAncestorContainer)}function pp(e,t,n={}){const i=n.throttleMs??50;let r,u="";const a=()=>{window.clearTimeout(r),r=window.setTimeout(()=>{const s=window.getSelection();if(!s||s.rangeCount===0||s.isCollapsed){u!==""&&(u="",t(null));return}const o=s.getRangeAt(0);if(!fp(o,e)){u!==""&&(u="",t(null));return}const c=s.toString();if(!c.trim()){u!==""&&(u="",t(null));return}const l=o.getBoundingClientRect(),d=dp(o.startContainer,e),g=d&&d.textContent?.trim()||"(无章节)";u=c,t({text:c,rect:l,sectionPath:g})},i)};return document.addEventListener("selectionchange",a),()=>{document.removeEventListener("selectionchange",a),window.clearTimeout(r)}}const bp=/^##\s+(?:\d+(?:\.\d+)*\.?\s+)?待确认问题\s*$/,Na=/^##\s+/,Fs=/^###\s+(?:\d+(?:\.\d+)*\s+)?(.+\S)\s*$/,gp=/^\d+\.\s+(.*\S)\s*$/,hp=/^\s*$/,Ta=/\s*[((]推荐[))]\s*$/,Da=/\s*(自由文本)\s*$/;function mp(e){const t=e.split(`
|
|
21
|
+
`);let n=0;for(;n<t.length&&!bp.test(t[n]);)n+=1;if(n>=t.length)return[];n+=1;const i=[];for(;n<t.length;){const r=t[n];if(Na.test(r))break;const u=_p(r);if(!u){n+=1;continue}const a=Da.test(u),s=a?u.replace(Da,"").trim():u,o=[];let c=0;for(n+=1;n<t.length;){const l=t[n];if(hp.test(l)){n+=1;continue}if(Na.test(l)||Fs.test(l))break;const d=Ep(l);if(d===null){n+=1;continue}const g=Ta.test(d),p=g?d.replace(Ta,"").trim():d.trim();p&&(g&&(c+=1),o.push({id:yp(i.length,o.length,p),label:p,recommended:g&&c===1})),n+=1}c>=2&&console.warn(`[question-parse] 问题 "${s}" 含 ${c} 个 (推荐),已保留首个,其余降级`),i.push({id:xp(i.length,s),text:s,options:o,isFreeform:a||o.length===0})}return i}function _p(e){const t=Fs.exec(e);return t?t[1]:null}function Ep(e){const t=gp.exec(e);return t?t[1]:null}function xp(e,t){return`q-${e}-${Ps(t)}`}function yp(e,t,n){return`q-${e}-o-${t}-${Ps(n)}`}function Ps(e){let t=0;for(let n=0;n<e.length;n+=1)t=t*31+e.charCodeAt(n)|0;return(t>>>0).toString(36)}var vp=T("<div class=selection-menu><button type=button>批注</button><button type=button>解释");const wp=36,kp=140,Ap=e=>{const t=()=>{const n=e.snap;if(!n)return{top:0,left:0,visible:!1};const i=n.rect.top-wp-8,r=n.rect.left,u=i<8?n.rect.bottom+8:i,a=Math.min(Math.max(8,r),window.innerWidth-kp-8);return{top:u,left:a,visible:!0}};return S(J,{get when(){return e.snap},children:n=>{const i=t();return(()=>{var r=vp(),u=r.firstChild,a=u.nextSibling;return r.$$mousedown=s=>s.preventDefault(),u.$$click=()=>e.onAnnotate(n()),a.$$click=()=>e.onExplain(n()),te(s=>{var o=`${i.top}px`,c=`${i.left}px`;return o!==s.e&&fn(r,"top",s.e=o),c!==s.t&&fn(r,"left",s.t=c),s},{e:void 0,t:void 0}),r})()}})};lt(["mousedown","click"]);var Cp=T("<div class=annotate-popover style=width:500px><header><strong>批注</strong></header><blockquote class=quote><em></em> 中 “<!>”</blockquote><form><textarea rows=3 placeholder=写下你对这段文本的批注… autofocus></textarea><div class=actions><button type=button>取消</button><button type=submit class=primary-action>"),Sp=T("<p class=error>");const Np=500,Vt=8,Tp=e=>{const[t,n]=q(""),[i,r]=q(!1),[u,a]=q(null),[s,o]=q(0),c=()=>{const d=e.snap;if(!d)return{top:0,left:0};const g=s()||260,p=window.innerHeight,b=d.rect.bottom+Vt,f=d.rect.top-Vt-g;let h;b+g<=p-Vt?h=b:f>=Vt?h=f:h=Math.max(Vt,p-g-Vt);const _=Math.min(Math.max(Vt,d.rect.left),window.innerWidth-Np-Vt);return{top:h,left:_}};async function l(d){if(d.preventDefault(),!!t().trim()){r(!0),a(null);try{await e.onSubmit(t().trim()),n(""),e.onCancel()}catch(g){a(g.message)}finally{r(!1)}}}return S(J,{get when(){return qe(()=>!!e.open)()&&e.snap},get children(){var d=Cp(),g=d.firstChild,p=g.nextSibling,b=p.firstChild,f=b.nextSibling,h=f.nextSibling;h.nextSibling;var _=p.nextSibling,m=_.firstChild,w=m.nextSibling,y=w.firstChild,x=y.nextSibling;return d.$$mousedown=k=>k.stopPropagation(),Gt(k=>{queueMicrotask(()=>{k.offsetHeight!==s()&&o(k.offsetHeight)})},d),v(b,()=>e.snap?.sectionPath),v(p,()=>(e.snap?.text??"").slice(0,200),h),_.addEventListener("submit",l),m.$$input=k=>n(k.currentTarget.value),v(_,(()=>{var k=qe(()=>!!u());return()=>k()&&(()=>{var D=Sp();return v(D,u),D})()})(),w),lr(y,"click",e.onCancel,!0),v(x,()=>i()?"提交中…":"提交批注"),te(k=>{var D=`${c().top}px`,A=`${c().left}px`,N=i();return D!==k.e&&fn(d,"top",k.e=D),A!==k.t&&fn(d,"left",k.t=A),N!==k.a&&(x.disabled=k.a=N),k},{e:void 0,t:void 0,a:void 0}),te(()=>m.value=t()),d}})};lt(["mousedown","input","click"]);var Dp=T("<div><span class=muted>引用章节:</span><code>"),Rp=T("<blockquote class=quote>"),Op=T("<div class=reference>"),Ip=T('<div class=append-dialog-backdrop><div class=append-dialog role=dialog aria-label=追加任务><header><strong>追加任务</strong><span class=muted>提交后将自动重开 plan 阶段,Agent 会续跑处理新增项</span></header><form><fieldset class=kind-group><legend>类型</legend></fieldset><label class=field><span>描述</span><textarea rows=5 placeholder="详细描述新增需求 / 重构意图 / 缺陷复现…"autofocus></textarea></label><div class=actions><button type=button>取消</button><button type=submit class=primary-action>'),$p=T("<label class=kind-option><input type=radio name=append-kind><span>"),Mp=T("<p class=error>");const Lp={feat:"feat 新增/扩展需求",refct:"refct 重构/重写/抽取",fix:"fix 修复缺陷"},Fp=e=>{const[t,n]=q("fix"),[i,r]=q(""),[u,a]=q(!1),[s,o]=q(null),[c,l]=q(null);at(()=>{if(!e.open){l(null);return}const b=e.anchorEl;if(!b)return;const f=b.getBoundingClientRect();l({top:f.bottom+8,left:f.right})}),at(()=>{if(!e.open)return;const b=f=>{f.key==="Escape"&&(f.preventDefault(),p())};window.addEventListener("keydown",b),ot(()=>window.removeEventListener("keydown",b))});function d(){n("fix"),r(""),o(null)}async function g(b){b.preventDefault();const f=i().trim();if(!f){o("描述不能为空");return}a(!0),o(null);try{await e.onSubmit({kind:t(),description:f,sectionPath:e.sectionPath,quote:e.quote}),d(),e.onCancel()}catch(h){o(h.message)}finally{a(!1)}}function p(){d(),e.onCancel()}return S(J,{get when(){return e.open},get children(){var b=Ip(),f=b.firstChild,h=f.firstChild,_=h.nextSibling,m=_.firstChild;m.firstChild;var w=m.nextSibling,y=w.firstChild,x=y.nextSibling,k=w.nextSibling,D=k.firstChild,A=D.nextSibling;return b.$$mousedown=p,f.$$mousedown=N=>N.stopPropagation(),_.addEventListener("submit",g),v(m,()=>["feat","refct","fix"].map(N=>(()=>{var R=$p(),O=R.firstChild,z=O.nextSibling;return O.addEventListener("change",()=>n(N)),O.value=N,v(z,()=>Lp[N]),te(()=>O.disabled=u()),te(()=>O.checked=t()===N),R})()),null),x.$$input=N=>r(N.currentTarget.value),v(_,S(J,{get when(){return e.sectionPath||e.quote},get children(){var N=Op();return v(N,S(J,{get when(){return e.sectionPath},get children(){var R=Dp(),O=R.firstChild,z=O.nextSibling;return v(z,()=>e.sectionPath),R}}),null),v(N,S(J,{get when(){return e.quote},get children(){var R=Rp();return v(R,()=>e.quote?.slice(0,200)),R}}),null),N}}),k),v(_,(()=>{var N=qe(()=>!!s());return()=>N()&&(()=>{var R=Mp();return v(R,s),R})()})(),k),D.$$click=p,v(A,()=>u()?"提交中…":"提交并触发 Agent"),te(N=>{var R=c()?{top:`${c().top}px`,right:`calc(100vw - ${c().left}px)`}:void 0,O=u(),z=u(),G=u();return N.e=Gi(f,R,N.e),O!==N.t&&(x.disabled=N.t=O),z!==N.a&&(D.disabled=N.a=z),G!==N.o&&(A.disabled=N.o=G),N},{e:void 0,t:void 0,a:void 0,o:void 0}),te(()=>x.value=i()),b}})};lt(["mousedown","input","click"]);const Pp="其他(自由批注)",Cn="__freeform__";function Bp(e,t){const n=(t.note??"").trim();if(e.isFreeform)return n?{questionId:e.id,questionText:e.text,note:n}:null;const i=t.selectedOptionLabel;return i===Cn?n?{questionId:e.id,questionText:e.text,note:n}:null:i?{questionId:e.id,questionText:e.text,selectedOptionLabel:i}:null}var Up=T('<p class="error qcp-error">'),zp=T("<aside class=question-confirm-panel data-testid=question-confirm-panel><header class=qcp-head><strong>待确认问题</strong><span class=muted>未答题 <span class=qcp-count></span> / </span><div class=qcp-head-actions><button type=button class=primary-action></button></div></header><ul class=qcp-list>"),qp=T('<ul class=qcp-options><li><label class="qcp-option qcp-option-freeform"><input type=radio><span>'),Hp=T("<textarea class=qcp-note rows=2 placeholder=写下你的答复…>"),Gp=T("<li class=qcp-card><p class=qcp-question>"),Kp=T("<em class=qcp-recommended> (推荐)"),Wp=T("<li><label class=qcp-option><input type=radio><span>"),jp=T('<li class="qcp-card qcp-card-freeform"><header class=qcp-card-head><strong>选区批注</strong><button type=button class=qcp-remove aria-label=移除>×</button></header><blockquote class=qcp-quote><em></em> 中 “<!>”</blockquote><p class=qcp-freeform-note>!!!');const Zp=e=>{const t=()=>{const g={};for(const p of e.questions){const b=p.options.find(f=>f.recommended);g[p.id]={selectedOptionLabel:b?.label??p.options[0]?.label,note:""}}return g},[n,i]=q(t()),[r,u]=q(!1),[a,s]=q(null);function o(g,p){i(b=>({...b,[g]:{...b[g],selectedOptionLabel:p}}))}function c(g,p){i(b=>({...b,[g]:{...b[g],note:p}}))}const l=de(()=>{const g=n();let p=0;for(const b of e.questions){const f=g[b.id];if(!f){p+=1;continue}const h=f.note??"";b.isFreeform||f.selectedOptionLabel===Cn?h.trim()||(p+=1):f.selectedOptionLabel||(p+=1)}return p});async function d(){u(!0),s(null);try{const g=n(),p=[];for(const f of e.questions){const h=g[f.id]??{note:""},_=Bp(f,h);_&&p.push(_)}const b={answers:p,freeformAnnotations:e.freeforms.map(f=>({sectionPath:f.sectionPath,quote:f.quote,note:f.note}))};if(b.answers.length===0&&b.freeformAnnotations.length===0){s("没有可提交的答复");return}await e.onSubmit(b)}catch(g){s(g.message)}finally{u(!1)}}return(()=>{var g=zp(),p=g.firstChild,b=p.firstChild,f=b.nextSibling,h=f.firstChild,_=h.nextSibling;_.nextSibling;var m=f.nextSibling,w=m.firstChild,y=p.nextSibling;return v(_,l),v(f,()=>e.questions.length,null),w.$$click=d,v(w,(()=>{var x=qe(()=>!!r());return()=>x()?"提交中…":e.running?"运行中…":"提交全部"})()),v(g,S(J,{get when(){return a()},get children(){var x=Up();return v(x,a),x}}),y),v(y,S($t,{get each(){return e.questions},children:x=>{const k=()=>n()[x.id]??{note:""},D=()=>x.isFreeform||k().selectedOptionLabel===Cn;return(()=>{var A=Gp(),N=A.firstChild;return v(N,()=>x.text),v(A,S(J,{get when(){return!x.isFreeform},get children(){var R=qp(),O=R.firstChild,z=O.firstChild,G=z.firstChild,L=G.nextSibling;return v(R,S($t,{get each(){return x.options},children:F=>(()=>{var K=Wp(),B=K.firstChild,W=B.firstChild,I=W.nextSibling;return W.addEventListener("change",()=>o(x.id,F.label)),v(I,()=>F.label,null),v(I,S(J,{get when(){return F.recommended},get children(){return Kp()}}),null),te(()=>je(W,"name",`q-${x.id}`)),te(()=>W.checked=k().selectedOptionLabel===F.label),K})()}),O),G.addEventListener("change",()=>o(x.id,Cn)),v(L,Pp),te(()=>je(G,"name",`q-${x.id}`)),te(()=>G.checked=k().selectedOptionLabel===Cn),R}}),null),v(A,S(J,{get when(){return D()},get children(){var R=Hp();return R.$$input=O=>c(x.id,O.currentTarget.value),te(()=>R.value=k().note),R}}),null),A})()}}),null),v(y,S($t,{get each(){return e.freeforms},children:x=>(()=>{var k=jp(),D=k.firstChild,A=D.firstChild,N=A.nextSibling,R=D.nextSibling,O=R.firstChild,z=O.nextSibling,G=z.nextSibling;G.nextSibling;var L=R.nextSibling;return L.firstChild,N.$$click=()=>e.onRemoveFreeform(x.id),v(O,()=>x.sectionPath),v(R,()=>x.quote.slice(0,200),G),v(L,()=>x.note,null),k})()}),null),te(()=>w.disabled=r()||e.running),g})()};lt(["click","input"]);var Vp=T("<section class=page>"),Yp=T("<p class=muted>加载中…"),Xp=T("<p class=muted>spec 不存在或已删除"),Qp=T('<header class="page-head detail-head"><div><code class=id></code><h1></h1><p class=summary></p></div><div class=meta><select title="强制设置 spec 状态"><option value=plan>plan</option><option value=tasks>tasks</option><option value=execute>execute</option><option value=done>done</option></select><time></time><button type=button class=append-btn>追加任务</button><button type=button>'),Jp=T("<p class=error>"),eb=T('<div class=spec-split><article class="markdown spec-main">');const tb=()=>{const e=vr(),t=xn(),[n,i]=tc(),[r,u]=q(0),[a]=Kt(()=>[t(),e.id,r()],async([I,U])=>Ne.getSpec(I,U)),[s,o]=q(null),[c,l]=q(!1),[d,g]=q(null),[p,b]=q(null),[f,h]=q(null),[_,m]=q([]),[w,y]=q(!1),[x,k]=q(null);let D;const A=de(()=>{const I=a();return I?mp(I.body):[]}),N=de(()=>{const I=a();return!I||I.frontmatter.stage!=="plan"?!1:A().length>0||_().length>0});at(()=>{const I=e.id,U=t();if(!I||!U)return;const j=Tc(U,I,{onUpdated:()=>u(P=>P+1)});ot(j)}),at(()=>{const I=n.runId;if(!I)return;const U=a()?.frontmatter.summary;it.start({runId:I,projectId:t(),mode:"skill-run",specId:e.id,specTitle:U,source:"draft"}),i({runId:void 0},{replace:!0})}),at(()=>{const I=f();if(!I)return;const U=pp(I,o);ot(U)}),at(()=>{const I=f();if(!I)return;let U=!0,j;lp(I).then(P=>{U?j=P:P()}),ot(()=>{U=!1,j?.()})});async function R(){b(null);try{const I=t(),{runId:U}=await Ne.runAgent(I,e.id);it.start({runId:U,projectId:I,mode:"skill-run",specId:e.id,specTitle:a()?.frontmatter.summary,source:"run"})}catch(I){b(I.message)}}async function O(I){b(null);try{await Ne.setStage(t(),e.id,I),u(U=>U+1)}catch(U){b(U.message)}}function z(I){g(I),l(!0)}async function G(I){const U=d();if(!U)return;if(a()?.frontmatter.stage==="plan"){m(P=>[...P,{id:`f-${Date.now()}-${P.length}`,sectionPath:U.sectionPath,quote:U.text,note:I}]);return}await Ne.appendAnnotation(t(),e.id,{sectionPath:U.sectionPath,quote:U.text,note:I})}function L(I){m(U=>U.filter(j=>j.id!==I))}async function F(I){await Ne.submitQuestionAnswers(t(),e.id,I),m([]),await R()}function K(){k(s()),y(!0)}async function B(I){const U=t(),j=await Ne.appendItem(U,e.id,I);j.runId&&it.start({runId:j.runId,projectId:U,mode:"skill-run",specId:e.id,specTitle:a()?.frontmatter.summary,source:"run"})}async function W(I){try{const U=t(),{runId:j}=await Ne.explain(U,e.id,I.text);it.start({runId:j,projectId:U,mode:"explain",specId:e.id,specTitle:a()?.frontmatter.summary,source:"explain"})}catch(U){b(U.message)}}return(()=>{var I=Vp();return v(I,S(yr,{get fallback(){return Yp()},get children(){return S(J,{get when(){return a()},get fallback(){return Xp()},children:U=>{const j=()=>it.hasRunningSkillRun(e.id);return[(()=>{var P=Qp(),Ee=P.firstChild,Ae=Ee.firstChild,fe=Ae.nextSibling,Le=fe.nextSibling,$=Ee.nextSibling,X=$.firstChild,Q=X.nextSibling,le=Q.nextSibling,ve=le.nextSibling;v(Ae,()=>U().id),v(fe,()=>nb(U().body)??"(待 Agent 补全)"),v(Le,()=>U().frontmatter.summary||"(待 Agent 补全)"),X.addEventListener("change",xe=>O(xe.currentTarget.value)),v(Q,()=>us(U().frontmatter.updated_at)),le.$$click=K;var De=D;return typeof De=="function"?Gt(De,le):D=le,v($,S(Mt,{class:"ghost agent-logs-link",get href(){return Lt(`specs/${U().id}/agent-logs`)},children:"执行日志"}),ve),v($,S(Mt,{class:"ghost review-link",get href(){return Lt(`specs/${U().id}/review`)},children:"Review"}),ve),ve.$$click=R,v(ve,()=>j()?"运行中…":"运行 Agent"),te(xe=>{var tt=`badge stage-select stage-${U().frontmatter.stage}`,dt=`primary-action run-btn ${j()?"run-running":"run-idle"}`,Je=j();return tt!==xe.e&&Qe(X,xe.e=tt),dt!==xe.t&&Qe(ve,xe.t=dt),Je!==xe.a&&(ve.disabled=xe.a=Je),xe},{e:void 0,t:void 0,a:void 0}),te(()=>X.value=U().frontmatter.stage),P})(),S(J,{get when(){return p()},get children(){var P=Jp();return v(P,p),P}}),(()=>{var P=eb(),Ee=P.firstChild;return v(P,S(J,{get when(){return N()},get children(){return S(Zp,{get questions(){return A()},get freeforms(){return _()},get running(){return j()},onRemoveFreeform:L,onSubmit:F})}}),Ee),Gt(h,Ee),te(()=>Ee.innerHTML=Ls(U().body,{specId:U().id,projectId:t()||void 0})),P})(),S(Ap,{get snap(){return qe(()=>!!c())()?null:s()},onAnnotate:z,onExplain:W}),S(Tp,{get open(){return c()},get snap(){return d()},onCancel:()=>l(!1),onSubmit:G}),S(Fp,{get open(){return w()},get sectionPath(){return x()?.sectionPath},get quote(){return x()?.text},anchorEl:D,onCancel:()=>y(!1),onSubmit:B})]}})}})),I})()};function nb(e){return e.match(/^#\s+(.+)$/m)?.[1]?.trim()}lt(["click"]);var rb=T("<span class=muted>最近一次 review:"),ib=T('<header class="page-head detail-head"><div><h1>Review · </h1><p class=summary></p></div><div class=meta>'),Qn=T("<span class=review-action-spinner aria-hidden=true>"),ub=T('<div class=changes-list><div class=changes-list-head><button type=button class="ghost small"></button><span class=muted>/<!> 个文件'),ab=T("<p class=muted>暂无变更文件"),sb=T("<p class=error>"),ob=T("<p class=muted>已派发:<!>(runId: <code></code>)"),Ra=T("<p class=muted>加载中…"),cb=T('<div class=review-split><section class=review-ops-panel><section class=review-actions><button type=button class=primary-action></button><button type=button class="ghost danger"></button><button type=button class=ghost></button><span class=actions-separator></span><button type=button class=ghost title="Review 下方变更文件,生成报告"></button></section><textarea class=commit-message-input placeholder="commit message…"rows=2></textarea><div class=file-mode-group><label class=file-mode-label><input type=radio name=fileMode>手动选择</label><label class=file-mode-label><input type=radio name=fileMode>Agent 智能判定</label></div></section><section class=review-body>'),lb=T('<section class="page spec-review">'),db=T("<label class=change-item><input type=checkbox><span></span><span class=change-path>"),fb=T('<article class="markdown review-md">'),pb=T("<p class=muted>尚无 review 报告。点击「Review 变更」让 Agent 生成。");const ir={commit:"提交",discard:"丢弃",stash:"暂存"},Jn={review:"Review 中…",commit:"提交中…",discard:"丢弃中…",stash:"暂存中…"},er={review:"Review 变更",commit:ir.commit,discard:ir.discard,stash:ir.stash},bb=["review","commit","discard","stash"],gb={M:"st-modified",A:"st-added",D:"st-deleted","??":"st-untracked",R:"st-renamed"},hb=()=>{const e=vr(),t=xn(),[n]=Kt(()=>[t(),e.id],([$,X])=>Ne.getSpec($,X)),[i,r]=q(0),[u]=Kt(()=>[t(),e.id,i()],async([$,X])=>Ne.getReview($,X)),[a,s]=q([]),[o,c]=q("manual"),[l,d]=q(new Set),[g,p]=q(""),[b,f]=q(!1),[h,_]=q(null),[m,w]=q(null),[y,x]=q(null),[k,D]=q(null),[A,N]=q({});let R;function O($){$&&($.style.height="auto",$.style.height=`${$.scrollHeight}px`)}const z=de(()=>{const $=u()?.text??"";return $.trim()?Ls($,{specId:e.id,projectId:t()}):""}),G=de(()=>mb(u()?.text??"")),L=de(()=>{const $=e.id.split("."),X=$.length>=2?$[1]:"feat",Q=n()?.frontmatter.summary??"";return Q?`${X}: ${Q}`:`${X}: update`});at(()=>{const $=L();$&&!b()&&p($)}),at(_r(g,()=>{O(R)})),Pa(()=>O(R)),at(()=>{const $=t(),X=e.id;if(!$||!X)return;const Q=Ic($,X,le=>{s(le),d(ve=>{const De=new Set(le.map(tt=>tt.path)),xe=new Set;for(const tt of ve)De.has(tt)&&xe.add(tt);return xe})});ot(()=>Q())});function F($){const X=A()[$];if(!X)return!1;const Q=it.state.tasks[X];return Q?Q.status==="pending"||Q.status==="streaming":!1}const K=de(()=>{for(const $ of bb)if(F($))return $;return null}),B=de(()=>m()!==null||K()!==null||h()!==null);at($=>{const X=A().review;if(!X)return;const Q=it.state.tasks[X]?.status;return($==="pending"||$==="streaming")&&(Q==="done"||Q==="failed")&&r(le=>le+1),Q},void 0);function W(){return o()==="agent"?a().map($=>$.path):[...l()]}async function I($){if(B())return;x(null);const X=W();if(X.length===0){x("请至少选择一个文件");return}if(!($==="discard"&&!window.confirm("确定要丢弃选中的变更吗?此操作不可撤销。"))){_($);try{if($==="commit"){const Q=g().trim();if(!Q){x("请输入 commit message");return}await Ne.directCommit(t(),e.id,{message:Q,paths:X})}else $==="discard"?await Ne.directDiscard(t(),e.id,{paths:X}):$==="stash"&&await Ne.directStash(t(),e.id,{message:g().trim()||`yorz:${e.id}`,paths:X})}catch(Q){x(Q.message)}finally{_(null)}}}async function U($){if(!B()&&(x(null),!($==="discard"&&!window.confirm("确定要丢弃当前 spec 相关的所有未提交变更吗?此操作不可撤销。")))){w($);try{const X=$==="review"?await Ne.triggerReview(t(),e.id):await Ne.gitOp(t(),e.id,$);D({kind:$,runId:X.runId}),N(Q=>({...Q,[$]:X.runId})),it.start({runId:X.runId,projectId:t(),mode:$==="review"?"review":"git-ops",specId:e.id,specTitle:n()?.frontmatter.summary,source:"run"})}catch(X){x(X.message)}finally{w(null)}}}async function j($){o()==="manual"?await I($):await U($)}function P($){return F($)||m()===$||h()===$}function Ee($){d(X=>{const Q=new Set(X);return Q.has($)?Q.delete($):Q.add($),Q})}function Ae(){a().every($=>l().has($.path))?d(new Set):d(new Set(a().map($=>$.path)))}const fe=de(()=>a().length>0&&a().every($=>l().has($.path))),Le=de(()=>o()==="manual"&&l().size===0);return(()=>{var $=lb();return v($,S(yr,{get fallback(){return Ra()},get children(){return[(()=>{var X=ib(),Q=X.firstChild,le=Q.firstChild;le.firstChild;var ve=le.nextSibling,De=Q.nextSibling;return v(Q,S(Mt,{class:"ghost",get href(){return Lt(`specs/${e.id}`)},children:"← 返回 spec"}),le),v(le,()=>e.id,null),v(ve,()=>n()?.frontmatter.summary||"(待 Agent 补全)"),v(De,S(J,{get when(){return G()},get children(){var xe=rb();return xe.firstChild,v(xe,G,null),xe}})),X})(),(()=>{var X=cb(),Q=X.firstChild,le=Q.firstChild,ve=le.firstChild,De=ve.nextSibling,xe=De.nextSibling,tt=xe.nextSibling,dt=tt.nextSibling,Je=le.nextSibling,Bt=Je.nextSibling,Ct=Bt.firstChild,Ut=Ct.firstChild,ne=Ct.nextSibling,ie=ne.firstChild,ae=Q.nextSibling;ve.$$click=()=>j("commit"),v(ve,S(J,{get when(){return P("commit")},get children(){return Qn()}}),null),v(ve,(()=>{var Z=qe(()=>!!P("commit"));return()=>Z()?Jn.commit:er.commit})(),null),De.$$click=()=>j("discard"),v(De,S(J,{get when(){return P("discard")},get children(){return Qn()}}),null),v(De,(()=>{var Z=qe(()=>!!P("discard"));return()=>Z()?Jn.discard:er.discard})(),null),xe.$$click=()=>j("stash"),v(xe,S(J,{get when(){return P("stash")},get children(){return Qn()}}),null),v(xe,(()=>{var Z=qe(()=>!!P("stash"));return()=>Z()?Jn.stash:er.stash})(),null),dt.$$click=()=>U("review"),v(dt,S(J,{get when(){return P("review")},get children(){return Qn()}}),null),v(dt,(()=>{var Z=qe(()=>!!P("review"));return()=>Z()?Jn.review:er.review})(),null),Je.$$input=Z=>{f(!0),p(Z.currentTarget.value),O(R)};var ge=R;return typeof ge=="function"?Gt(ge,Je):R=Je,Ut.addEventListener("change",()=>c("manual")),ie.addEventListener("change",()=>c("agent")),v(Q,S(J,{get when(){return qe(()=>o()==="manual")()&&a().length>0},get children(){var Z=ub(),pe=Z.firstChild,he=pe.firstChild,Ge=he.nextSibling,Ke=Ge.firstChild,Ie=Ke.nextSibling;return Ie.nextSibling,he.$$click=Ae,v(he,()=>fe()?"全部取消":"全选"),v(Ge,()=>l().size,Ke),v(Ge,()=>a().length,Ie),v(Z,S($t,{get each(){return a()},children:He=>(()=>{var gt=db(),xt=gt.firstChild,yt=xt.nextSibling,Wt=yt.nextSibling;return xt.addEventListener("change",()=>Ee(He.path)),v(yt,()=>He.status),v(Wt,()=>He.path),te(ht=>{var St=B(),Nt=`change-status ${gb[He.status]??""}`;return St!==ht.e&&(xt.disabled=ht.e=St),Nt!==ht.t&&Qe(yt,ht.t=Nt),ht},{e:void 0,t:void 0}),te(()=>xt.checked=l().has(He.path)),gt})()}),null),te(()=>he.disabled=B()),Z}}),null),v(Q,S(J,{get when(){return qe(()=>o()==="manual")()&&a().length===0},get children(){return ab()}}),null),v(Q,S(J,{get when(){return y()},get children(){var Z=sb();return v(Z,y),Z}}),null),v(Q,S(J,{get when(){return k()},get children(){var Z=ob(),pe=Z.firstChild,he=pe.nextSibling,Ge=he.nextSibling,Ke=Ge.nextSibling;return v(Z,(()=>{var Ie=qe(()=>k().kind==="review");return()=>Ie()?"Review 变更":ir[k().kind]})(),he),v(Ke,()=>k().runId.slice(0,8)),Z}}),null),v(ae,S(J,{get when(){return u.loading},get fallback(){return S(J,{get when(){return z()},get fallback(){return pb()},get children(){var Z=fb();return te(()=>Z.innerHTML=z()),Z}})},get children(){return Ra()}})),te(Z=>{var pe=B()||Le(),he=B()||Le(),Ge=B()||Le(),Ke=B()||a().length===0,Ie=B(),He=B(),gt=B();return pe!==Z.e&&(ve.disabled=Z.e=pe),he!==Z.t&&(De.disabled=Z.t=he),Ge!==Z.a&&(xe.disabled=Z.a=Ge),Ke!==Z.o&&(dt.disabled=Z.o=Ke),Ie!==Z.i&&(Je.disabled=Z.i=Ie),He!==Z.n&&(Ut.disabled=Z.n=He),gt!==Z.s&&(ie.disabled=Z.s=gt),Z},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),te(()=>Je.value=g()),te(()=>Ut.checked=o()==="manual"),te(()=>ie.checked=o()==="agent"),X})()]}})),$})()};function mb(e){if(!e)return"";const t=e.split(/\r?\n/);for(let n=0;n<t.length;n++){const i=/^##\s+(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})\s*$/.exec(t[n]??"");if(i)return i[1]??""}return""}lt(["click","input"]);var _b=T('<header class="page-head detail-head"><div><h1>执行日志 · </h1><p class=summary></p></div><div class=meta><button type=button class=ghost>'),Eb=T("<ul class=agent-log-cards>"),xb=T("<section class=agent-log-list><h2>Agent 执行日志(<!>)"),yb=T('<section class="page spec-agent-logs">'),Bs=T("<p class=muted>加载中…"),vb=T("<p class=muted>暂无 Agent 执行日志"),wb=T('<p class="agent-log-truncated muted">已截断显示末尾 256KB'),kb=T("<p class=error>"),Ab=T("<pre class=agent-log-body>"),Cb=T("<p class=muted>日志为空"),Sb=T("<div class=agent-log-card-body>"),Nb=T('<li class=agent-log-card><button type=button class=agent-log-card-head><span class=agent-log-card-toggle></span><time class=agent-log-time></time><span></span><span></span><span class=agent-log-duration></span><span class="agent-log-size muted">');const Tb=()=>{const e=vr(),t=xn(),[n]=Kt(()=>[t(),e.id],([o,c])=>Ne.getSpec(o,c)),[i,r]=q(0),[u]=Kt(()=>[t(),e.id,i()],async([o,c])=>Ne.listAgentLogs(o,c)),a=de(()=>u()??[]),s=de(()=>!u.loading&&a().length===0);return(()=>{var o=yb();return v(o,S(yr,{get fallback(){return Bs()},get children(){return[(()=>{var c=_b(),l=c.firstChild,d=l.firstChild;d.firstChild;var g=d.nextSibling,p=l.nextSibling,b=p.firstChild;return v(l,S(Mt,{class:"ghost",get href(){return Lt(`specs/${e.id}`)},children:"← 返回 spec"}),d),v(d,()=>e.id,null),v(g,()=>n()?.frontmatter.summary||"(待 Agent 补全)"),b.$$click=()=>r(f=>f+1),v(b,()=>u.loading?"刷新中…":"刷新"),te(()=>b.disabled=u.loading),c})(),(()=>{var c=xb(),l=c.firstChild,d=l.firstChild,g=d.nextSibling;return g.nextSibling,v(l,()=>a().length,g),v(c,S(J,{get when(){return!s()},get fallback(){return vb()},get children(){var p=Eb();return v(p,S($t,{get each(){return a()},children:b=>S(Db,{meta:b})})),p}}),null),c})()]}})),o})()},Db=e=>{const t=xn(),[n,i]=q(!1),[r,u]=q({content:"",truncated:!1,loading:!1,error:null});let a=!1;async function s(){const o=!n();if(i(o),o&&!a&&!r().loading){u({content:"",truncated:!1,loading:!0,error:null});try{const c=await Ne.getAgentLog(t(),e.meta.specId,e.meta.runId);a=!0,u({content:c.content,truncated:c.truncated,loading:!1,error:null})}catch(c){u({content:"",truncated:!1,loading:!1,error:c.message})}}}return(()=>{var o=Nb(),c=o.firstChild,l=c.firstChild,d=l.nextSibling,g=d.nextSibling,p=g.nextSibling,b=p.nextSibling,f=b.nextSibling;return c.$$click=s,v(l,()=>n()?"▾":"▸"),v(d,()=>Ib(e.meta.startedAt)),v(g,()=>Rb(e.meta)),v(p,()=>Mb(e.meta)),v(b,()=>Lb(e.meta)),v(f,()=>Fb(e.meta.sizeBytes)),v(o,S(J,{get when(){return n()},get children(){var h=Sb();return v(h,S(J,{get when(){return r().truncated},get children(){return wb()}}),null),v(h,S(J,{get when(){return r().loading},get children(){return Bs()}}),null),v(h,S(J,{get when(){return r().error},get children(){var _=kb();return v(_,()=>r().error),_}}),null),v(h,S(J,{get when(){return qe(()=>!r().loading&&!r().error)()&&r().content},get children(){var _=Ab();return v(_,()=>r().content),_}}),null),v(h,S(J,{get when(){return qe(()=>!r().loading&&!r().error)()&&!r().content},get children(){return Cb()}}),null),h}}),null),te(h=>{var _=n(),m=Ob(e.meta),w=`agent-log-status ${$b(e.meta)}`;return _!==h.e&&je(c,"aria-expanded",h.e=_),m!==h.t&&Qe(g,h.t=m),w!==h.a&&Qe(p,h.a=w),h},{e:void 0,t:void 0,a:void 0}),o})()};function Rb(e){switch(e.mode){case"skill-run":return"Run";case"explain":return"Explain";case"review":return"Review";case"git-ops":switch(e.action){case"commit":return"GitCommit";case"discard":return"GitDiscard";case"stash":return"GitStash";default:return"GitOps"}default:return String(e.mode)}}function Ob(e){const t=`agent-log-mode mode-${e.mode}`;return e.mode==="git-ops"&&e.action?`${t} mode-${e.mode}-${e.action}`:t}function Ib(e){try{return new Date(e).toLocaleString()}catch{return String(e)}}function $b(e){return e.exitCode===0?"status-ok":e.exitCode===null&&e.endedAt===null?"status-running":"status-fail"}function Mb(e){return e.exitCode===0?"成功":e.exitCode===null&&e.endedAt===null?"未收尾":`失败 (${e.exitCode??"n/a"})`}function Lb(e){if(e.endedAt===null)return"—";const t=Math.max(0,e.endedAt-e.startedAt);if(t<1e3)return`${t}ms`;const n=Math.round(t/100)/10;if(n<60)return`${n}s`;const i=Math.floor(n/60),r=Math.round(n-i*60);return`${i}m${r}s`}function Fb(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/(1024*1024)).toFixed(2)}MB`}lt(["click"]);var Pb=T('<section class="page welcome"><header class=page-head><h1>欢迎使用 YorZ</h1></header><p class=muted>YorZ 通过本地目录托管 spec 文档;请先添加一个项目目录,然后即可开始管理它的需求。</p><p class=projects-sidebar-hint>添加项目请在终端执行:<code>yorz add <path>');const Us=()=>Pb();var Bb=T("<p class=muted>加载中…");const Ub=()=>{const[e]=Kt(()=>Ne.listProjects());return S(J,{get when(){return!e.loading},get fallback(){return Bb()},get children(){return S(J,{get when(){return(e()??[]).length>0},get fallback(){return S(Us,{})},get children(){return(()=>{const n=(e()??[])[0];return n?S(Ec,{get href(){return`/${encodeURIComponent(n.id)}`}}):null})()}})}})};var zb=T("<button type=button class=agent-dock-clear>清理已完成"),qb=T("<ul class=agent-dock-list>"),Hb=T('<aside aria-label="Agent 任务面板"><header class=agent-dock-head><button type=button class=agent-dock-toggle><span class=agent-dock-title>Agent 任务</span><span class=agent-dock-progress><span class=agent-dock-progress-running></span><span class=agent-dock-progress-sep>/</span><span class=agent-dock-progress-done></span><span class=agent-dock-progress-sep>/</span><span class=agent-dock-progress-failed></span></span><span class=agent-dock-chevron>'),Gb=T("<pre class=agent-task-output>"),Kb=T("<p class=agent-task-error>"),Wb=T("<li><header class=agent-task-head role=button tabindex=0><span class=agent-task-chevron aria-hidden=true></span><span></span><span class=agent-task-spec></span><span></span><span class=agent-task-timer>s</span><button type=button class=agent-task-close aria-label=关闭>×"),jb=T("<em class=muted>");const Zb={run:"执行 spec",explain:"解释",draft:"新建 spec"},Vb={pending:"等待…",streaming:"运行中",done:"已完成",failed:"失败"},Yb=3,zs="yorz.agentDock.collapsed",Xb=32;let ur=!1;function Qb(){try{if(typeof window>"u")return!1;const e=window.localStorage.getItem(zs);return e==="1"||e==="0"?(ur=!0,e==="1"):!1}catch{return!1}}function Oa(e){try{typeof window<"u"&&window.localStorage.setItem(zs,e?"1":"0")}catch{}}const Jb=()=>{const[e,t]=q(Qb()),n=de(()=>it.state.order.map(s=>it.state.tasks[s]).filter(s=>!!s&&!s.dismissed)),i=de(()=>n().some(s=>s.status==="done"||s.status==="failed")),r=de(()=>n().filter(s=>s.status==="pending"||s.status==="streaming").length),u=de(()=>n().filter(s=>s.status==="done").length),a=de(()=>n().filter(s=>s.status==="failed").length);return de(()=>{!ur&&n().length>Yb&&!e()&&(t(!0),Oa(!0),ur=!0)}),S(J,{get when(){return n().length>0},get children(){var s=Hb(),o=s.firstChild,c=o.firstChild,l=c.firstChild,d=l.nextSibling,g=d.firstChild,p=g.nextSibling,b=p.nextSibling,f=b.nextSibling,h=f.nextSibling,_=d.nextSibling;return c.$$click=()=>{const m=!e();t(m),Oa(m),ur=!0},v(g,r),v(b,u),v(h,a),v(_,()=>e()?"▲":"▼"),v(o,S(J,{get when(){return i()},get children(){var m=zb();return m.$$click=()=>it.clearFinished(),m}}),null),v(s,S(J,{get when(){return!e()},get children(){var m=qb();return v(m,S($t,{get each(){return n()},children:w=>S(eg,{task:w})})),m}}),null),te(m=>{var w=`agent-dock${e()?" agent-dock--collapsed":""}`,y=!e(),x=`进行中 ${r()} / 已完成 ${u()} / 失败 ${a()}`;return w!==m.e&&Qe(s,m.e=w),y!==m.t&&je(c,"aria-expanded",m.t=y),x!==m.a&&je(d,"aria-label",m.a=x),m},{e:void 0,t:void 0,a:void 0}),s}})},eg=e=>{const t=()=>e.task.specId.startsWith("__draft__"),[n,i]=q(0),r=setInterval(()=>{(e.task.status==="pending"||e.task.status==="streaming")&&i(d=>d+1)},1e3);ot(()=>clearInterval(r));const u=de(()=>{n();const d=e.task.endedAt??Date.now();return Math.max(0,Math.floor((d-e.task.startedAt)/1e3))});let a;const s=d=>{a=d},[o,c]=q(!0),l=()=>{if(!a)return;const d=a.scrollHeight-a.scrollTop-a.clientHeight;c(d<Xb)};return de(()=>{e.task.output,queueMicrotask(()=>{a&&o()&&(a.scrollTop=a.scrollHeight)})}),(()=>{var d=Wb(),g=d.firstChild,p=g.firstChild,b=p.nextSibling,f=b.nextSibling,h=f.nextSibling,_=h.nextSibling,m=_.firstChild,w=_.nextSibling;return g.$$keydown=y=>{(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),it.toggleExpand(e.task.runId))},g.$$click=()=>it.toggleExpand(e.task.runId),v(p,()=>e.task.expanded?"▾":"▸"),v(b,()=>Zb[e.task.source]),v(f,S(J,{get when(){return!t()},get fallback(){return(()=>{var y=jb();return v(y,()=>e.task.specTitle??"(新建中)"),y})()},get children(){return S(Mt,{get href(){return Lt(`specs/${encodeURIComponent(e.task.specId)}`)},class:"agent-task-link",onClick:y=>y.stopPropagation(),get children(){return e.task.specTitle??e.task.specId}})}})),v(h,()=>Vb[e.task.status]),v(_,u,m),w.$$click=y=>{y.stopPropagation(),it.dismiss(e.task.runId)},v(d,S(J,{get when(){return e.task.expanded},get children(){return[(()=>{var y=Gb();return y.addEventListener("scroll",l),Gt(s,y),v(y,()=>e.task.output||"(等待输出…)"),y})(),S(J,{get when(){return e.task.error},get children(){var y=Kb();return v(y,()=>e.task.error),y}})]}}),null),te(y=>{var x=`agent-task agent-task-${e.task.status}`,k=e.task.expanded,D=`agent-task-source source-${e.task.source}`,A=`agent-task-status status-${e.task.status}`;return x!==y.e&&Qe(d,y.e=x),k!==y.t&&je(g,"aria-expanded",y.t=k),D!==y.a&&Qe(b,y.a=D),A!==y.o&&Qe(h,y.o=A),y},{e:void 0,t:void 0,a:void 0,o:void 0}),d})()};lt(["click","keydown"]);var tg=T("<label class=field><span>命令 (cmd)</span><input type=text placeholder=例如:/usr/local/bin/my-agent>"),ng=T('<label class=field><span>参数 (args,空格分隔)</span><input type=text placeholder="--flag value">'),rg=T("<form><fieldset class=kind-group><legend>Agent</legend></fieldset><label class=field><span>spec 文档目录</span><input type=text placeholder=.yorz/specs><small class=muted>相对项目根路径,不存在时会自动创建</small></label><div class=actions><button type=button>取消</button><button type=submit class=primary-action>"),ig=T("<div class=project-config-backdrop><div class=project-config-dialog role=dialog><header><strong>项目配置 · "),ug=T("<p class=muted>加载中…"),ag=T("<label class=kind-option><input type=radio name=project-config-agent><span>"),sg=T("<p class=error>");const og={claude:"ClaudeCode",opencode:"OpenCode",codex:"Codex",custom:"自定义"},tr=".yorz/specs",cg=e=>{const[t,n]=q("claude"),[i,r]=q(""),[u,a]=q(""),[s,o]=q(tr),[c,l]=q(tr),[d,g]=q(!1),[p,b]=q(!1),[f,h]=q(null);at(()=>{e.open&&(h(null),g(!0),(async()=>{try{const x=await Ne.getProjectConfig(e.projectId);_(x)}catch(x){h(x.message)}finally{g(!1)}})())}),at(()=>{if(!e.open)return;const x=k=>{k.key==="Escape"&&(k.preventDefault(),e.onClose())};window.addEventListener("keydown",x),ot(()=>window.removeEventListener("keydown",x))});function _(x){n(x.agent.kind),x.agent.kind==="custom"?(r(x.agent.cmd),a(x.agent.args.join(" "))):(r(""),a(""));const k=x.specsDir||tr;o(k),l(k)}function m(x){return x.split(/\s+/).map(k=>k.trim()).filter(Boolean)}function w(){const x=t();if(x==="claude")return{kind:"claude"};if(x==="opencode")return{kind:"opencode"};if(x==="codex")return{kind:"codex"};const k=i().trim();return k?{kind:"custom",cmd:k,args:m(u())}:{error:"自定义命令的 cmd 不能为空"}}async function y(x){x.preventDefault(),h(null);const k=w();if("error"in k){h(k.error);return}const D=s().trim()||tr;if(D.split(/[\\/]/).some(A=>A==="..")){h('spec 目录不能包含 ".." 段');return}b(!0);try{await Ne.updateProjectConfig(e.projectId,{agent:k,specsDir:D});let A="配置已保存";D!==c()&&(A+="。旧 spec 仍在原目录,请手工迁移"),e.onSaved?.(A),e.onClose()}catch(A){h(A.message)}finally{b(!1)}}return S(J,{get when(){return e.open},get children(){var x=ig(),k=x.firstChild,D=k.firstChild,A=D.firstChild;return A.firstChild,lr(x,"mousedown",e.onClose,!0),k.$$mousedown=N=>N.stopPropagation(),v(A,()=>e.projectName,null),v(k,S(J,{get when(){return!d()},get fallback(){return ug()},get children(){var N=rg(),R=N.firstChild;R.firstChild;var O=R.nextSibling,z=O.firstChild,G=z.nextSibling,L=O.nextSibling,F=L.firstChild,K=F.nextSibling;return N.addEventListener("submit",y),v(R,()=>["claude","opencode","codex","custom"].map(B=>(()=>{var W=ag(),I=W.firstChild,U=I.nextSibling;return I.addEventListener("change",()=>n(B)),I.value=B,v(U,()=>og[B]),te(()=>I.disabled=p()),te(()=>I.checked=t()===B),W})()),null),v(N,S(J,{get when(){return t()==="custom"},get children(){return[(()=>{var B=tg(),W=B.firstChild,I=W.nextSibling;return I.$$input=U=>r(U.currentTarget.value),te(()=>I.disabled=p()),te(()=>I.value=i()),B})(),(()=>{var B=ng(),W=B.firstChild,I=W.nextSibling;return I.$$input=U=>a(U.currentTarget.value),te(()=>I.disabled=p()),te(()=>I.value=u()),B})()]}}),O),G.$$input=B=>o(B.currentTarget.value),v(N,(()=>{var B=qe(()=>!!f());return()=>B()&&(()=>{var W=sg();return v(W,f),W})()})(),L),lr(F,"click",e.onClose,!0),v(K,()=>p()?"保存中…":"保存"),te(B=>{var W=p(),I=p(),U=p();return W!==B.e&&(G.disabled=B.e=W),I!==B.t&&(F.disabled=B.t=I),U!==B.a&&(K.disabled=B.a=U),B},{e:void 0,t:void 0,a:void 0}),te(()=>G.value=s()),N}}),null),te(()=>je(k,"aria-label",`项目配置 · ${e.projectName}`)),x}})};lt(["mousedown","input","click"]);var lg=T("<span class=projects-sidebar-title>项目"),dg=T("<div class=projects-sidebar-head-actions><button type=button class=projects-sidebar-refresh title=刷新项目列表 aria-label=刷新项目列表><span>⟳</span></button><button type=button class=projects-sidebar-toggle title=折叠 aria-label=折叠项目面板>«"),fg=T("<ul class=projects-sidebar-list>"),pg=T("<p class=projects-sidebar-hint>添加项目请在终端执行:<code>yorz add <path>"),bg=T("<div class=projects-sidebar-resizer role=separator aria-orientation=vertical aria-label=拖动调整项目面板宽度>"),gg=T("<aside><header class=projects-sidebar-head></header><footer class=projects-sidebar-foot>"),hg=T("<button type=button class=projects-sidebar-toggle title=展开项目面板 aria-label=展开项目面板>»"),mg=T('<p class="muted projects-sidebar-loading">加载中…'),_g=T("<span class=name>"),Eg=T("<span class=worktree-badge>⎇ main"),xg=T("<button type=button class=projects-sidebar-edit title=项目配置>✎"),yg=T("<button type=button class=projects-sidebar-remove title=删除项目>✕"),vg=T("<li>"),wg=T("<span class=initial>"),kg=T('<span class=projects-sidebar-hint-icon title="添加项目请在终端执行:yorz add <path>"aria-label="添加项目请在终端执行:yorz add <path>">?'),Ag=T('<p class="error projects-sidebar-error">'),Cg=T("<div>"),Sg=T("<div class=delete-popover-backdrop>"),Ng=T("<label class=delete-files-check><input type=checkbox>同时删除文件目录"),Tg=T("<div class=delete-project-popover><header><strong>删除项目</strong></header><p class=delete-project-name></p><p class=delete-project-desc>此操作将从 YorZ 项目列表中移除该项目。</p><div class=delete-project-actions><button type=button>取消</button><button type=button class=delete-confirm-btn>");const qs="yorz.projectsSidebar.collapsed",Hs="yorz.projectsSidebar.width",Sn=220,Dg=160,Rg=480;function Og(){try{return typeof window<"u"&&window.localStorage.getItem(qs)==="1"}catch{return!1}}function Ig(e){try{typeof window<"u"&&window.localStorage.setItem(qs,e?"1":"0")}catch{}}function nu(e){return Number.isFinite(e)?Math.min(Rg,Math.max(Dg,Math.round(e))):Sn}function $g(){try{if(typeof window>"u")return Sn;const e=window.localStorage.getItem(Hs);if(!e)return Sn;const t=Number(e);return Number.isFinite(t)?nu(t):Sn}catch{return Sn}}function Mg(e){try{typeof window<"u"&&window.localStorage.setItem(Hs,String(nu(e)))}catch{}}function Ia(e){if(!e.worktree)return e.name;const t=e.worktree.mainPath.split("/").filter(Boolean).pop()??e.worktree.mainPath,n=e.worktree.cleanSlug??e.worktree.branch.replace(/^wt\//,"");return`${t} · ${n}`}const Lg=()=>{const[e,t]=q(Og()),[n,i]=q($g()),[r,{refetch:u}]=Kt(()=>Ne.listProjects()),[a,s]=q(null),[o,c]=q(null),[l,d]=q(null),[g,p]=q(null),[b,f]=q(!1),[h,_]=q(!1),[m,w]=q({top:0,left:0}),y=Pn(),x=Bn(),k=de(()=>{const W=x.pathname.match(/^\/([^/]+)/);return W&&W[1]!=="api"?W[1]:""});function D(){const W=!e();t(W),Ig(W)}let A=null,N=null,R=null;function O(W){e()||(W.preventDefault(),A={startX:W.clientX,startW:n(),raf:null},document.body.classList.add("is-resizing"),N=I=>{if(!A)return;const U=I.clientX-A.startX,j=nu(A.startW+U);A.raf==null&&(A.raf=requestAnimationFrame(()=>{A&&(A.raf=null,i(j))}))},R=()=>{A?.raf!=null&&cancelAnimationFrame(A.raf),A=null,document.body.classList.remove("is-resizing"),N&&document.removeEventListener("mousemove",N),R&&document.removeEventListener("mouseup",R),N=null,R=null,Mg(n())},document.addEventListener("mousemove",N),document.addEventListener("mouseup",R))}ot(()=>{N&&document.removeEventListener("mousemove",N),R&&document.removeEventListener("mouseup",R),document.body.classList.remove("is-resizing")});function z(W,I){I.preventDefault(),I.stopPropagation(),c(W)}function G(W,I="success"){const U={message:W,type:I};d(U),setTimeout(()=>{l()===U&&d(null)},4e3)}function L(W,I){I.preventDefault(),I.stopPropagation();const j=I.currentTarget.getBoundingClientRect();let Ee=j.right-280;Ee<8&&(Ee=8),w({top:j.bottom+8,left:Ee}),f(!1),p(W)}async function F(){const W=g();if(W){_(!0);try{b()&&W.worktree?await Ne.removeProjectWithFiles(W.id):await Ne.removeProject(W.id),await u(),k()===W.id&&y("/"),p(null)}catch(I){const U=I.message;U.includes("409")?(G("存在未提交 git 的变更","error"),p(null)):(s(U),G(U,"error"))}finally{_(!1)}}}function K(){u()}const B=()=>e()?void 0:{width:`${n()}px`};return(()=>{var W=gg(),I=W.firstChild,U=I.nextSibling;return v(I,S(J,{get when(){return!e()},get fallback(){return(()=>{var j=hg();return j.$$click=D,j})()},get children(){return[lg(),(()=>{var j=dg(),P=j.firstChild,Ee=P.firstChild,Ae=P.nextSibling;return P.$$click=K,Ae.$$click=D,te(fe=>{var Le=r.loading,$=`projects-sidebar-refresh-icon ${r.loading?"spinning":""}`;return Le!==fe.e&&(P.disabled=fe.e=Le),$!==fe.t&&Qe(Ee,fe.t=$),fe},{e:void 0,t:void 0}),j})()]}})),v(W,S(J,{get when(){return r()!==void 0},get fallback(){return mg()},get children(){var j=fg();return v(j,S($t,{get each(){return r()??[]},children:P=>{const Ee=()=>k()===P.id;return(()=>{var Ae=vg();return v(Ae,S(Mt,{get href(){return`/${encodeURIComponent(P.id)}`},class:"projects-sidebar-link",get title(){return P.path},get children(){return S(J,{get when(){return!e()},get fallback(){return(()=>{var fe=wg();return v(fe,()=>(P.name[0]??"?").toUpperCase()),fe})()},get children(){return[(()=>{var fe=_g();return v(fe,()=>Ia(P)),fe})(),S(J,{get when(){return P.worktree},get children(){var fe=Eg();return te(()=>je(fe,"title",`worktree of ${P.worktree.mainPath}`)),fe}})]}})}}),null),v(Ae,S(J,{get when(){return!e()},get children(){return[(()=>{var fe=xg();return fe.$$click=Le=>z(P,Le),te(()=>je(fe,"aria-label",`配置 ${P.name}`)),fe})(),(()=>{var fe=yg();return fe.$$click=Le=>void L(P,Le),te(()=>je(fe,"aria-label",`移除 ${P.name}`)),fe})()]}}),null),te(()=>Qe(Ae,`projects-sidebar-item ${Ee()?"active":""}`)),Ae})()}})),j}}),U),v(U,S(J,{get when(){return!e()},get fallback(){return kg()},get children(){return pg()}}),null),v(U,(()=>{var j=qe(()=>!!a());return()=>j()&&(()=>{var P=Ag();return v(P,a),te(()=>je(P,"title",a())),P})()})(),null),v(W,S(J,{get when(){return!e()},get children(){var j=bg();return j.$$mousedown=O,j}}),null),v(W,S(J,{get when(){return o()},children:j=>S(cg,{open:!0,get projectId(){return j().id},get projectName(){return j().name},onClose:()=>c(null),onSaved:P=>G(P)})}),null),v(W,S(J,{get when(){return l()},children:j=>(()=>{var P=Cg();return v(P,()=>j().message),te(Ee=>{var Ae=`projects-sidebar-toast projects-sidebar-toast--${j().type}`,fe=j().type==="error"?"alert":"status";return Ae!==Ee.e&&Qe(P,Ee.e=Ae),fe!==Ee.t&&je(P,"role",Ee.t=fe),Ee},{e:void 0,t:void 0}),P})()}),null),v(W,S(J,{get when(){return g()},children:j=>[(()=>{var P=Sg();return P.$$click=()=>!h()&&p(null),P})(),(()=>{var P=Tg(),Ee=P.firstChild,Ae=Ee.nextSibling,fe=Ae.nextSibling,Le=fe.nextSibling,$=Le.firstChild,X=$.nextSibling;return P.$$mousedown=Q=>Q.stopPropagation(),v(Ae,()=>Ia(j())),v(P,S(J,{get when(){return j().worktree},get children(){var Q=Ng(),le=Q.firstChild;return le.addEventListener("change",ve=>f(ve.currentTarget.checked)),te(()=>le.checked=b()),Q}}),Le),$.$$click=()=>p(null),X.$$click=()=>void F(),v(X,()=>h()?"删除中…":"确认删除"),te(Q=>{var le=`${m().top}px`,ve=`${m().left}px`,De=h(),xe=h();return le!==Q.e&&fn(P,"top",Q.e=le),ve!==Q.t&&fn(P,"left",Q.t=ve),De!==Q.a&&($.disabled=Q.a=De),xe!==Q.o&&(X.disabled=Q.o=xe),Q},{e:void 0,t:void 0,a:void 0,o:void 0}),P})()]}),null),te(j=>{var P=`projects-sidebar ${e()?"collapsed":"expanded"}`,Ee=B();return P!==j.e&&Qe(W,j.e=P),j.t=Gi(W,Ee,j.t),j},{e:void 0,t:void 0}),W})()};lt(["click","mousedown"]);var Fg=T('<a class=primary-action target=_blank rel="noopener noreferrer">+ 新建 spec'),Pg=T("<div class=app><header class=topbar></header><div class=shell-body><main class=content>");const Bg=e=>{const t=Bn(),n=()=>/\/specs\/new$/.test(t.pathname),i=()=>br()!=="";at(()=>{const u=t.pathname.match(/^\/([^/]+)/);Ac(u&&u[1]!=="api"?u[1]:"")});const r=new Set;return at(()=>{const u=br();!u||r.has(u)||(r.add(u),it.hydrateFromActiveRuns(u))}),(()=>{var u=Pg(),a=u.firstChild,s=a.nextSibling,o=s.firstChild;return v(a,S(Mt,{href:"/",class:"brand",children:"YorZ"}),null),v(a,S(J,{get when(){return i()},get children(){return S(J,{get when(){return n()},get fallback(){return S(Mt,{get href(){return Lt("specs/new")},class:"primary-action",children:"+ 新建 spec"})},get children(){var c=Fg();return te(()=>je(c,"href",Lt("specs/new"))),c}})}}),null),v(s,S(Lg,{}),o),v(o,()=>e.children),v(u,S(Jb,{}),null),u})()},Gs=document.getElementById("app");if(!Gs)throw new Error("missing #app root");$o(()=>S(mc,{root:Bg,get children(){return[S(nn,{path:"/",component:Ub}),S(nn,{path:"/:projectId",component:Jc}),S(nn,{path:"/:projectId/specs/new",component:vl}),S(nn,{path:"/:projectId/specs/:id",component:tb}),S(nn,{path:"/:projectId/specs/:id/review",component:hb}),S(nn,{path:"/:projectId/specs/:id/agent-logs",component:Tb}),S(nn,{path:"*",component:Us})]}}),Gs);queueMicrotask(()=>{const e=document.body,t=document.documentElement;console.log("[body-overflow-diagnostic]",{bodyScrollHeight:e.scrollHeight,bodyClientHeight:e.clientHeight,docScrollHeight:t.scrollHeight,docClientHeight:t.clientHeight,windowInnerHeight:window.innerHeight,bodyOverflowing:e.scrollHeight>e.clientHeight,docOverflowing:t.scrollHeight>t.clientHeight})});export{sp as _,Is as g};
|