crossnote 0.8.14 → 0.8.16

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/out/esm/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- var Jn=Object.create;var vt=Object.defineProperty;var Qn=Object.getOwnPropertyDescriptor;var ea=Object.getOwnPropertyNames;var ta=Object.getPrototypeOf,na=Object.prototype.hasOwnProperty;var aa=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ra=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ea(t))!na.call(e,r)&&r!==n&&vt(e,r,{get:()=>t[r],enumerable:!(a=Qn(t,r))||a.enumerable});return e};var ia=(e,t,n)=>(n=e!=null?Jn(ta(e)):{},ra(t||!e||!e.__esModule?vt(n,"default",{value:e,enumerable:!0}):n,e));var Wn=aa((Fs,Ye)=>{var vr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{},i=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,a={},r={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function m(u){return u instanceof s?new s(u.type,m(u.content),u.alias):Array.isArray(u)?u.map(m):u.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(m){return Object.prototype.toString.call(m).slice(8,-1)},objId:function(m){return m.__id||Object.defineProperty(m,"__id",{value:++n}),m.__id},clone:function m(u,b){var h,E;switch(b=b||{},r.util.type(u)){case"Object":if(E=r.util.objId(u),b[E])return b[E];for(var _ in h={},b[E]=h,u)u.hasOwnProperty(_)&&(h[_]=m(u[_],b));return h;case"Array":return E=r.util.objId(u),b[E]?b[E]:(h=[],b[E]=h,u.forEach(function(A,T){h[T]=m(A,b)}),h);default:return u}},getLanguage:function(m){for(;m;){var u=t.exec(m.className);if(u)return u[1].toLowerCase();m=m.parentElement}return"none"},setLanguage:function(m,u){m.className=m.className.replace(RegExp(t,"gi"),""),m.classList.add("language-"+u)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(h){var m=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(h.stack)||[])[1];if(m){var u=document.getElementsByTagName("script");for(var b in u)if(u[b].src==m)return u[b]}return null}},isActive:function(m,u,b){for(var h="no-"+u;m;){var E=m.classList;if(E.contains(u))return!0;if(E.contains(h))return!1;m=m.parentElement}return!!b}},languages:{plain:a,plaintext:a,text:a,txt:a,extend:function(m,u){var b=r.util.clone(r.languages[m]);for(var h in u)b[h]=u[h];return b},insertBefore:function(m,u,b,h){var E=(h=h||r.languages)[m],_={};for(var A in E)if(E.hasOwnProperty(A)){if(A==u)for(var T in b)b.hasOwnProperty(T)&&(_[T]=b[T]);b.hasOwnProperty(A)||(_[A]=E[A])}var k=h[m];return h[m]=_,r.languages.DFS(r.languages,function(y,w){w===k&&y!=m&&(this[y]=_)}),_},DFS:function m(u,b,h,E){E=E||{};var _=r.util.objId;for(var A in u)if(u.hasOwnProperty(A)){b.call(u,A,u[A],h||A);var T=u[A],k=r.util.type(T);k!=="Object"||E[_(T)]?k!=="Array"||E[_(T)]||(E[_(T)]=!0,m(T,b,A,E)):(E[_(T)]=!0,m(T,b,null,E))}}},plugins:{},highlightAll:function(m,u){r.highlightAllUnder(document,m,u)},highlightAllUnder:function(m,u,b){var h={callback:b,container:m,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",h),h.elements=Array.prototype.slice.apply(h.container.querySelectorAll(h.selector)),r.hooks.run("before-all-elements-highlight",h);for(var E,_=0;E=h.elements[_++];)r.highlightElement(E,u===!0,h.callback)},highlightElement:function(m,u,b){var h=r.util.getLanguage(m),E=r.languages[h];r.util.setLanguage(m,h);var _=m.parentElement;_&&_.nodeName.toLowerCase()==="pre"&&r.util.setLanguage(_,h);var A={element:m,language:h,grammar:E,code:m.textContent};function T(y){A.highlightedCode=y,r.hooks.run("before-insert",A),A.element.innerHTML=A.highlightedCode,r.hooks.run("after-highlight",A),r.hooks.run("complete",A),b&&b.call(A.element)}if(r.hooks.run("before-sanity-check",A),(_=A.element.parentElement)&&_.nodeName.toLowerCase()==="pre"&&!_.hasAttribute("tabindex")&&_.setAttribute("tabindex","0"),!A.code)return r.hooks.run("complete",A),void(b&&b.call(A.element));if(r.hooks.run("before-highlight",A),A.grammar)if(u&&e.Worker){var k=new Worker(r.filename);k.onmessage=function(y){T(y.data)},k.postMessage(JSON.stringify({language:A.language,code:A.code,immediateClose:!0}))}else T(r.highlight(A.code,A.grammar,A.language));else T(r.util.encode(A.code))},highlight:function(m,u,b){var h={code:m,grammar:u,language:b};if(r.hooks.run("before-tokenize",h),!h.grammar)throw new Error('The language "'+h.language+'" has no grammar.');return h.tokens=r.tokenize(h.code,h.grammar),r.hooks.run("after-tokenize",h),s.stringify(r.util.encode(h.tokens),h.language)},tokenize:function(m,u){var b=u.rest;if(b){for(var h in b)u[h]=b[h];delete u.rest}var E=new d;return p(E,E.head,m),l(m,E,u,E.head,0),function(_){for(var A=[],T=_.head.next;T!==_.tail;)A.push(T.value),T=T.next;return A}(E)},hooks:{all:{},add:function(m,u){var b=r.hooks.all;b[m]=b[m]||[],b[m].push(u)},run:function(m,u){var b=r.hooks.all[m];if(b&&b.length)for(var h,E=0;h=b[E++];)h(u)}},Token:s};function s(m,u,b,h){this.type=m,this.content=u,this.alias=b,this.length=0|(h||"").length}function o(m,u,b,h){m.lastIndex=u;var E=m.exec(b);if(E&&h&&E[1]){var _=E[1].length;E.index+=_,E[0]=E[0].slice(_)}return E}function l(m,u,b,h,E,_){for(var A in b)if(b.hasOwnProperty(A)&&b[A]){var T=b[A];T=Array.isArray(T)?T:[T];for(var k=0;k<T.length;++k){if(_&&_.cause==A+","+k)return;var y=T[k],w=y.inside,N=!!y.lookbehind,C=!!y.greedy,v=y.alias;if(C&&!y.pattern.global){var O=y.pattern.toString().match(/[imsuy]*$/)[0];y.pattern=RegExp(y.pattern.source,O+"g")}for(var $=y.pattern||y,F=h.next,B=E;F!==u.tail&&!(_&&B>=_.reach);B+=F.value.length,F=F.next){var x=F.value;if(u.length>m.length)return;if(!(x instanceof s)){var G,I=1;if(C){if(!(G=o($,B,m,N))||G.index>=m.length)break;var H=G.index,z=G.index+G[0].length,L=B;for(L+=F.value.length;H>=L;)L+=(F=F.next).value.length;if(B=L-=F.value.length,F.value instanceof s)continue;for(var P=F;P!==u.tail&&(L<z||typeof P.value=="string");P=P.next)I++,L+=P.value.length;I--,x=m.slice(B,L),G.index-=B}else if(!(G=o($,0,x,N)))continue;H=G.index;var D=G[0],M=x.slice(0,H),V=x.slice(H+D.length),Ee=B+x.length;_&&Ee>_.reach&&(_.reach=Ee);var Re=F.prev;if(M&&(Re=p(u,Re,M),B+=M.length),c(u,Re,I),F=p(u,Re,new s(A,w?r.tokenize(D,w):D,v,D)),V&&p(u,F,V),I>1){var Je={cause:A+","+k,reach:Ee};l(m,u,b,F.prev,B,Je),_&&Je.reach>_.reach&&(_.reach=Je.reach)}}}}}}function d(){var m={value:null,prev:null,next:null},u={value:null,prev:m,next:null};m.next=u,this.head=m,this.tail=u,this.length=0}function p(m,u,b){var h=u.next,E={value:b,prev:u,next:h};return u.next=E,h.prev=E,m.length++,E}function c(m,u,b){for(var h=u.next,E=0;E<b&&h!==m.tail;E++)h=h.next;u.next=h,h.prev=u,m.length-=E}if(e.Prism=r,s.stringify=function m(u,b){if(typeof u=="string")return u;if(Array.isArray(u)){var h="";return u.forEach(function(k){h+=m(k,b)}),h}var E={type:u.type,content:m(u.content,b),tag:"span",classes:["token",u.type],attributes:{},language:b},_=u.alias;_&&(Array.isArray(_)?Array.prototype.push.apply(E.classes,_):E.classes.push(_)),r.hooks.run("wrap",E);var A="";for(var T in E.attributes)A+=" "+T+'="'+(E.attributes[T]||"").replace(/"/g,"&quot;")+'"';return"<"+E.tag+' class="'+E.classes.join(" ")+'"'+A+">"+E.content+"</"+E.tag+">"},!e.document)return e.addEventListener&&(r.disableWorkerMessageHandler||e.addEventListener("message",function(m){var u=JSON.parse(m.data),b=u.language,h=u.code,E=u.immediateClose;e.postMessage(r.highlight(h,r.languages[b],b)),E&&e.close()},!1)),r;var g=r.util.currentScript();function f(){r.manual||r.highlightAll()}if(g&&(r.filename=g.src,g.hasAttribute("data-manual")&&(r.manual=!0)),!r.manual){var S=document.readyState;S==="loading"||S==="interactive"&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return r}(vr);typeof Ye<"u"&&Ye.exports&&(Ye.exports=i),typeof global<"u"&&(global.Prism=i);i.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},i.languages.markup.tag.inside["attr-value"].inside.entity=i.languages.markup.entity,i.languages.markup.doctype.inside["internal-subset"].inside=i.languages.markup,i.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&amp;/,"&"))}),Object.defineProperty(i.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:i.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:i.languages[t]};var r={};r[e]={pattern:RegExp("(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)".replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:a},i.languages.insertBefore("markup","cdata",r)}}),Object.defineProperty(i.languages.markup.tag,"addAttribute",{value:function(e,t){i.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(`(^|["'\\s])(?:`+e+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:i.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,i.languages.xml=i.languages.extend("markup",{}),i.languages.ssml=i.languages.xml,i.languages.atom=i.languages.xml,i.languages.rss=i.languages.xml;(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+`|(?:[^\\\\\r
1
+ var ta=Object.create;var Nt=Object.defineProperty;var na=Object.getOwnPropertyDescriptor;var aa=Object.getOwnPropertyNames;var ra=Object.getPrototypeOf,ia=Object.prototype.hasOwnProperty;var oa=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var sa=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of aa(t))!ia.call(e,r)&&r!==n&&Nt(e,r,{get:()=>t[r],enumerable:!(a=na(t,r))||a.enumerable});return e};var la=(e,t,n)=>(n=e!=null?ta(ra(e)):{},sa(t||!e||!e.__esModule?Nt(n,"default",{value:e,enumerable:!0}):n,e));var qn=oa((zs,Ye)=>{var xr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{},i=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,a={},r={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function m(u){return u instanceof s?new s(u.type,m(u.content),u.alias):Array.isArray(u)?u.map(m):u.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(m){return Object.prototype.toString.call(m).slice(8,-1)},objId:function(m){return m.__id||Object.defineProperty(m,"__id",{value:++n}),m.__id},clone:function m(u,b){var h,E;switch(b=b||{},r.util.type(u)){case"Object":if(E=r.util.objId(u),b[E])return b[E];for(var _ in h={},b[E]=h,u)u.hasOwnProperty(_)&&(h[_]=m(u[_],b));return h;case"Array":return E=r.util.objId(u),b[E]?b[E]:(h=[],b[E]=h,u.forEach(function(A,T){h[T]=m(A,b)}),h);default:return u}},getLanguage:function(m){for(;m;){var u=t.exec(m.className);if(u)return u[1].toLowerCase();m=m.parentElement}return"none"},setLanguage:function(m,u){m.className=m.className.replace(RegExp(t,"gi"),""),m.classList.add("language-"+u)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(h){var m=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(h.stack)||[])[1];if(m){var u=document.getElementsByTagName("script");for(var b in u)if(u[b].src==m)return u[b]}return null}},isActive:function(m,u,b){for(var h="no-"+u;m;){var E=m.classList;if(E.contains(u))return!0;if(E.contains(h))return!1;m=m.parentElement}return!!b}},languages:{plain:a,plaintext:a,text:a,txt:a,extend:function(m,u){var b=r.util.clone(r.languages[m]);for(var h in u)b[h]=u[h];return b},insertBefore:function(m,u,b,h){var E=(h=h||r.languages)[m],_={};for(var A in E)if(E.hasOwnProperty(A)){if(A==u)for(var T in b)b.hasOwnProperty(T)&&(_[T]=b[T]);b.hasOwnProperty(A)||(_[A]=E[A])}var k=h[m];return h[m]=_,r.languages.DFS(r.languages,function(y,w){w===k&&y!=m&&(this[y]=_)}),_},DFS:function m(u,b,h,E){E=E||{};var _=r.util.objId;for(var A in u)if(u.hasOwnProperty(A)){b.call(u,A,u[A],h||A);var T=u[A],k=r.util.type(T);k!=="Object"||E[_(T)]?k!=="Array"||E[_(T)]||(E[_(T)]=!0,m(T,b,A,E)):(E[_(T)]=!0,m(T,b,null,E))}}},plugins:{},highlightAll:function(m,u){r.highlightAllUnder(document,m,u)},highlightAllUnder:function(m,u,b){var h={callback:b,container:m,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};r.hooks.run("before-highlightall",h),h.elements=Array.prototype.slice.apply(h.container.querySelectorAll(h.selector)),r.hooks.run("before-all-elements-highlight",h);for(var E,_=0;E=h.elements[_++];)r.highlightElement(E,u===!0,h.callback)},highlightElement:function(m,u,b){var h=r.util.getLanguage(m),E=r.languages[h];r.util.setLanguage(m,h);var _=m.parentElement;_&&_.nodeName.toLowerCase()==="pre"&&r.util.setLanguage(_,h);var A={element:m,language:h,grammar:E,code:m.textContent};function T(y){A.highlightedCode=y,r.hooks.run("before-insert",A),A.element.innerHTML=A.highlightedCode,r.hooks.run("after-highlight",A),r.hooks.run("complete",A),b&&b.call(A.element)}if(r.hooks.run("before-sanity-check",A),(_=A.element.parentElement)&&_.nodeName.toLowerCase()==="pre"&&!_.hasAttribute("tabindex")&&_.setAttribute("tabindex","0"),!A.code)return r.hooks.run("complete",A),void(b&&b.call(A.element));if(r.hooks.run("before-highlight",A),A.grammar)if(u&&e.Worker){var k=new Worker(r.filename);k.onmessage=function(y){T(y.data)},k.postMessage(JSON.stringify({language:A.language,code:A.code,immediateClose:!0}))}else T(r.highlight(A.code,A.grammar,A.language));else T(r.util.encode(A.code))},highlight:function(m,u,b){var h={code:m,grammar:u,language:b};if(r.hooks.run("before-tokenize",h),!h.grammar)throw new Error('The language "'+h.language+'" has no grammar.');return h.tokens=r.tokenize(h.code,h.grammar),r.hooks.run("after-tokenize",h),s.stringify(r.util.encode(h.tokens),h.language)},tokenize:function(m,u){var b=u.rest;if(b){for(var h in b)u[h]=b[h];delete u.rest}var E=new d;return p(E,E.head,m),l(m,E,u,E.head,0),function(_){for(var A=[],T=_.head.next;T!==_.tail;)A.push(T.value),T=T.next;return A}(E)},hooks:{all:{},add:function(m,u){var b=r.hooks.all;b[m]=b[m]||[],b[m].push(u)},run:function(m,u){var b=r.hooks.all[m];if(b&&b.length)for(var h,E=0;h=b[E++];)h(u)}},Token:s};function s(m,u,b,h){this.type=m,this.content=u,this.alias=b,this.length=0|(h||"").length}function o(m,u,b,h){m.lastIndex=u;var E=m.exec(b);if(E&&h&&E[1]){var _=E[1].length;E.index+=_,E[0]=E[0].slice(_)}return E}function l(m,u,b,h,E,_){for(var A in b)if(b.hasOwnProperty(A)&&b[A]){var T=b[A];T=Array.isArray(T)?T:[T];for(var k=0;k<T.length;++k){if(_&&_.cause==A+","+k)return;var y=T[k],w=y.inside,N=!!y.lookbehind,C=!!y.greedy,v=y.alias;if(C&&!y.pattern.global){var O=y.pattern.toString().match(/[imsuy]*$/)[0];y.pattern=RegExp(y.pattern.source,O+"g")}for(var $=y.pattern||y,F=h.next,B=E;F!==u.tail&&!(_&&B>=_.reach);B+=F.value.length,F=F.next){var x=F.value;if(u.length>m.length)return;if(!(x instanceof s)){var G,I=1;if(C){if(!(G=o($,B,m,N))||G.index>=m.length)break;var H=G.index,z=G.index+G[0].length,L=B;for(L+=F.value.length;H>=L;)L+=(F=F.next).value.length;if(B=L-=F.value.length,F.value instanceof s)continue;for(var P=F;P!==u.tail&&(L<z||typeof P.value=="string");P=P.next)I++,L+=P.value.length;I--,x=m.slice(B,L),G.index-=B}else if(!(G=o($,0,x,N)))continue;H=G.index;var D=G[0],M=x.slice(0,H),V=x.slice(H+D.length),Ee=B+x.length;_&&Ee>_.reach&&(_.reach=Ee);var Re=F.prev;if(M&&(Re=p(u,Re,M),B+=M.length),c(u,Re,I),F=p(u,Re,new s(A,w?r.tokenize(D,w):D,v,D)),V&&p(u,F,V),I>1){var Je={cause:A+","+k,reach:Ee};l(m,u,b,F.prev,B,Je),_&&Je.reach>_.reach&&(_.reach=Je.reach)}}}}}}function d(){var m={value:null,prev:null,next:null},u={value:null,prev:m,next:null};m.next=u,this.head=m,this.tail=u,this.length=0}function p(m,u,b){var h=u.next,E={value:b,prev:u,next:h};return u.next=E,h.prev=E,m.length++,E}function c(m,u,b){for(var h=u.next,E=0;E<b&&h!==m.tail;E++)h=h.next;u.next=h,h.prev=u,m.length-=E}if(e.Prism=r,s.stringify=function m(u,b){if(typeof u=="string")return u;if(Array.isArray(u)){var h="";return u.forEach(function(k){h+=m(k,b)}),h}var E={type:u.type,content:m(u.content,b),tag:"span",classes:["token",u.type],attributes:{},language:b},_=u.alias;_&&(Array.isArray(_)?Array.prototype.push.apply(E.classes,_):E.classes.push(_)),r.hooks.run("wrap",E);var A="";for(var T in E.attributes)A+=" "+T+'="'+(E.attributes[T]||"").replace(/"/g,"&quot;")+'"';return"<"+E.tag+' class="'+E.classes.join(" ")+'"'+A+">"+E.content+"</"+E.tag+">"},!e.document)return e.addEventListener&&(r.disableWorkerMessageHandler||e.addEventListener("message",function(m){var u=JSON.parse(m.data),b=u.language,h=u.code,E=u.immediateClose;e.postMessage(r.highlight(h,r.languages[b],b)),E&&e.close()},!1)),r;var g=r.util.currentScript();function f(){r.manual||r.highlightAll()}if(g&&(r.filename=g.src,g.hasAttribute("data-manual")&&(r.manual=!0)),!r.manual){var S=document.readyState;S==="loading"||S==="interactive"&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return r}(xr);typeof Ye<"u"&&Ye.exports&&(Ye.exports=i),typeof global<"u"&&(global.Prism=i);i.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},i.languages.markup.tag.inside["attr-value"].inside.entity=i.languages.markup.entity,i.languages.markup.doctype.inside["internal-subset"].inside=i.languages.markup,i.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&amp;/,"&"))}),Object.defineProperty(i.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:i.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var a={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:i.languages[t]};var r={};r[e]={pattern:RegExp("(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)".replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:a},i.languages.insertBefore("markup","cdata",r)}}),Object.defineProperty(i.languages.markup.tag,"addAttribute",{value:function(e,t){i.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(`(^|["'\\s])(?:`+e+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:i.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),i.languages.html=i.languages.markup,i.languages.mathml=i.languages.markup,i.languages.svg=i.languages.markup,i.languages.xml=i.languages.extend("markup",{}),i.languages.ssml=i.languages.xml,i.languages.atom=i.languages.xml,i.languages.rss=i.languages.xml;(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+`|(?:[^\\\\\r
2
2
  ()"']|\\\\[^])*)\\)`,"i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))})(i);i.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};i.languages.javascript=i.languages.extend("clike",{"class-name":[i.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp("(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])"),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),i.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,i.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)/(?:(?:\\[(?:[^\\]\\\\\r
3
3
  ]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\r
4
4
  ])+/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\r
@@ -88,7 +88,7 @@ var Jn=Object.create;var vt=Object.defineProperty;var Qn=Object.getOwnPropertyDe
88
88
  ]|\\\\(?:\r
89
89
  |[^]))*")*\\}`;e.languages.tremor["interpolated-string"]={pattern:RegExp('(^|[^\\\\])(?:"""(?:[^"\\\\#]|\\\\[^]|"(?!"")|#(?!\\{)|'+t+`)*"""|"(?:[^"\\\\\r
90
90
  #]|\\\\(?:\r
91
- |[^])|#(?!\\{)|`+t+')*")'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:RegExp(t),inside:{punctuation:/^#\{|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.tremor}}},string:/[\s\S]+/}},e.languages.troy=e.languages.tremor,e.languages.trickle=e.languages.tremor})(i);i.languages.twig={comment:/^\{#[\s\S]*?#\}$/,"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/},i.hooks.add("before-tokenize",function(e){e.language==="twig"&&i.languages["markup-templating"].buildPlaceholders(e,"twig",/\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g)}),i.hooks.add("after-tokenize",function(e){i.languages["markup-templating"].tokenizePlaceholders(e,"twig")});(function(e){var t=/\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;e.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern:/<INCLUDE_TYPOSCRIPT:\s*source\s*=\s*(?:"[^"\r\n]*"|'[^'\r\n]*')\s*>/,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:t}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:!0,inside:{function:/\{\$.*\}/,keyword:t,number:/^\d+$/,punctuation:/[,|:]/}},keyword:t,number:{pattern:/\b\d+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},e.languages.tsconfig=e.languages.typoscript})(i);i.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:!0,greedy:!0,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:!0},keyword:/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,punctuation:/[()[\]{};,.]/},i.languages.uc=i.languages.uscript=i.languages.unrealscript;i.languages.uorazor={"comment-hash":{pattern:/#.*/,alias:"comment",greedy:!0},"comment-slash":{pattern:/\/\/.*/,alias:"comment",greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/},greedy:!0},"source-layers":{pattern:/\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\b/i,alias:"function"},"source-commands":{pattern:/\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\b/,alias:"function"},"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},function:/\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\b/,keyword:/\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/};i.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:!0},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp("^//(?:[\\w\\-.~!$&'()*+,;=%:]*@)?(?:\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\.[\\w\\-.~!$&'()*+,;=]+)\\]|[\\w\\-.~!$&'()*+,;=%]*)(?::\\d*)?","m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}},i.languages.url=i.languages.uri;(function(e){var t={pattern:/[\s\S]+/,inside:null};e.languages.v=e.languages.extend("clike",{string:{pattern:/r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,alias:"quoted-string",greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,lookbehind:!0,inside:{"interpolation-variable":{pattern:/^\$\w[\s\S]*$/,alias:"variable"},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},"interpolation-expression":t}}}},"class-name":{pattern:/(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,lookbehind:!0},keyword:/(?:\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\$(?:else|for|if)|#(?:flag|include))\b/,number:/\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,operator:/~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,builtin:/\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\b/}),t.inside=e.languages.v,e.languages.insertBefore("v","string",{char:{pattern:/`(?:\\`|\\?[^`]{1,2})`/,alias:"rune"}}),e.languages.insertBefore("v","operator",{attribute:{pattern:/(^[\t ]*)\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\]/m,lookbehind:!0,alias:"annotation",inside:{punctuation:/[\[\]]/,keyword:/\w+/}},generic:{pattern:/<\w+>(?=\s*[\)\{])/,inside:{punctuation:/[<>]/,"class-name":/\w+/}}}),e.languages.insertBefore("v","function",{"generic-function":{pattern:/\b\w+\s*<\w+>(?=\()/,inside:{function:/^\w+/,generic:{pattern:/<\w+>/,inside:e.languages.v.generic.inside}}}})})(i);i.languages.vala=i.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],keyword:/\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/}),i.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:!0,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:i.languages.vala}},string:/[\s\S]+/}}}),i.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:i.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}});(function(e){e.languages.velocity=e.languages.extend("markup",{});var t={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};t.variable.inside={string:t.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:t.number,boolean:t.boolean,punctuation:t.punctuation},e.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:t}},variable:t.variable}),e.languages.velocity.tag.inside["attr-value"].inside.rest=e.languages.velocity})(i);i.languages.verilog={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"kernel-function":{pattern:/\B\$\w+\b/,alias:"property"},constant:/\B`\w+\b/,function:/\b\w+(?=\()/,keyword:/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,important:/\b(?:always|always_comb|always_ff|always_latch)\b(?: *@)?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/};i.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,attribute:{pattern:/\b'\w+/,alias:"attr-name"},keyword:/\b(?:access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|private|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|view|wait|when|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,punctuation:/[{}[\];(),.:]/};i.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,keyword:/\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,builtin:/\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/};i.languages["visual-basic"]={comment:{pattern:/(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\b_[ \t]*(?:\r\n?|\n)|.)+/i,alias:"property",greedy:!0},string:{pattern:/\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,greedy:!0},date:{pattern:/#[ \t]*(?:\d+([/-])\d+\1\d+(?:[ \t]+(?:\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?))?|\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?)[ \t]*#/i,alias:"number"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:[FRD]|U?[ILS])?/i,boolean:/\b(?:False|Nothing|True)\b/i,keyword:/\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i,operator:/[+\-*/\\^<=>&#@$%!]|\b_(?=[ \t]*[\r\n])/,punctuation:/[{}().,:?]/},i.languages.vb=i.languages["visual-basic"],i.languages.vba=i.languages["visual-basic"];i.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:!0},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},keyword:/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:F|T|false|true)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/};i.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\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|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\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/,punctuation:/[()]/};(function(e){var t="(?:\\B-|\\b_|\\b)[A-Za-z][\\w-]*(?![\\w-])",n="(?:\\b(?:unsigned\\s+)?long\\s+long(?![\\w-])|\\b(?:unrestricted|unsigned)\\s+[a-z]+(?![\\w-])|(?!(?:unrestricted|unsigned)\\b)"+t+"(?:\\s*<(?:[^<>]|<[^<>]*>)*>)?)(?:\\s*\\?)?",a={};for(var r in e.languages["web-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"[^"]*"/,greedy:!0},namespace:{pattern:RegExp("(\\bnamespace\\s+)"+t),lookbehind:!0},"class-name":[{pattern:/(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,lookbehind:!0,inside:a},{pattern:RegExp("(\\b(?:attribute|const|deleter|getter|optional|setter)\\s+)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\bcallback\\s+"+t+"\\s*=\\s*)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\btypedef\\b\\s*)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\b(?:callback|dictionary|enum|interface(?:\\s+mixin)?)\\s+)(?!(?:interface|mixin)\\b)"+t),lookbehind:!0},{pattern:RegExp("(:\\s*)"+t),lookbehind:!0},RegExp(t+"(?=\\s+(?:implements|includes)\\b)"),{pattern:RegExp("(\\b(?:implements|includes)\\s+)"+t),lookbehind:!0},{pattern:RegExp(n+"(?=\\s*(?:\\.{3}\\s*)?"+t+"\\s*[(),;=])"),inside:a}],builtin:/\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,keyword:[/\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\b/,/\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/],boolean:/\b(?:false|true)\b/,number:{pattern:/(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,lookbehind:!0},operator:/\.{3}|[=:?<>-]/,punctuation:/[(){}[\].,;]/},e.languages["web-idl"])r!=="class-name"&&(a[r]=e.languages["web-idl"][r]);e.languages.webidl=e.languages["web-idl"]})(i);i.languages.wgsl={comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},"builtin-attribute":{pattern:/(@)builtin\(.*?\)/,lookbehind:!0,inside:{attribute:{pattern:/^builtin/,alias:"attr-name"},punctuation:/[(),]/,"built-in-values":{pattern:/\b(?:frag_depth|front_facing|global_invocation_id|instance_index|local_invocation_id|local_invocation_index|num_workgroups|position|sample_index|sample_mask|vertex_index|workgroup_id)\b/,alias:"attr-value"}}},attributes:{pattern:/(@)(?:align|binding|compute|const|fragment|group|id|interpolate|invariant|location|size|vertex|workgroup_size)/i,lookbehind:!0,alias:"attr-name"},functions:{pattern:/\b(fn\s+)[_a-zA-Z]\w*(?=[(<])/,lookbehind:!0,alias:"function"},keyword:/\b(?:bitcast|break|case|const|continue|continuing|default|discard|else|enable|fallthrough|fn|for|function|if|let|loop|private|return|storage|struct|switch|type|uniform|var|while|workgroup)\b/,builtin:/\b(?:abs|acos|acosh|all|any|array|asin|asinh|atan|atan2|atanh|atomic|atomicAdd|atomicAnd|atomicCompareExchangeWeak|atomicExchange|atomicLoad|atomicMax|atomicMin|atomicOr|atomicStore|atomicSub|atomicXor|bool|ceil|clamp|cos|cosh|countLeadingZeros|countOneBits|countTrailingZeros|cross|degrees|determinant|distance|dot|dpdx|dpdxCoarse|dpdxFine|dpdy|dpdyCoarse|dpdyFine|exp|exp2|extractBits|f32|f64|faceForward|firstLeadingBit|floor|fma|fract|frexp|fwidth|fwidthCoarse|fwidthFine|i32|i64|insertBits|inverseSqrt|ldexp|length|log|log2|mat[2-4]x[2-4]|max|min|mix|modf|normalize|override|pack2x16float|pack2x16snorm|pack2x16unorm|pack4x8snorm|pack4x8unorm|pow|ptr|quantizeToF16|radians|reflect|refract|reverseBits|round|sampler|sampler_comparison|select|shiftLeft|shiftRight|sign|sin|sinh|smoothstep|sqrt|staticAssert|step|storageBarrier|tan|tanh|textureDimensions|textureGather|textureGatherCompare|textureLoad|textureNumLayers|textureNumLevels|textureNumSamples|textureSample|textureSampleBias|textureSampleCompare|textureSampleCompareLevel|textureSampleGrad|textureSampleLevel|textureStore|texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array|texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array|texture_depth_multisampled_2d|texture_multisampled_2d|texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d|transpose|trunc|u32|u64|unpack2x16float|unpack2x16snorm|unpack2x16unorm|unpack4x8snorm|unpack4x8unorm|vec[2-4]|workgroupBarrier)\b/,"function-calls":{pattern:/\b[_a-z]\w*(?=\()/i,alias:"function"},"class-name":/\b(?:[A-Z][A-Za-z0-9]*)\b/,"bool-literal":{pattern:/\b(?:false|true)\b/,alias:"boolean"},"hex-int-literal":{pattern:/\b0[xX][0-9a-fA-F]+[iu]?\b(?![.pP])/,alias:"number"},"hex-float-literal":{pattern:/\b0[xX][0-9a-fA-F]*(?:\.[0-9a-fA-F]*)?(?:[pP][+-]?\d+[fh]?)?/,alias:"number"},"decimal-float-literal":[{pattern:/\d*\.\d+(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+\.\d*(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+[eE](?:\+|-)?\d+[fh]?/,alias:"number"},{pattern:/\b\d+[fh]\b/,alias:"number"}],"int-literal":{pattern:/\b\d+[iu]?\b/,alias:"number"},operator:[{pattern:/(?:\^|~|\|(?!\|)|\|\||&&|<<|>>|!)(?!=)/},{pattern:/&(?![&=])/},{pattern:/(?:\+=|-=|\*=|\/=|%=|\^=|&=|\|=|<<=|>>=)/},{pattern:/(^|[^<>=!])=(?![=>])/,lookbehind:!0},{pattern:/(?:==|!=|<=|\+\+|--|(^|[^=])>=)/,lookbehind:!0},{pattern:/(?:(?:[+%]|(?:\*(?!\w)))(?!=))|(?:-(?!>))|(?:\/(?!\/))/},{pattern:/->/}],punctuation:/[@(){}[\],;<>:.]/};i.languages.wiki=i.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:i.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),i.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:i.languages.markup.tag.inside}}}});i.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},i.languages.mathematica=i.languages.wolfram,i.languages.wl=i.languages.wolfram,i.languages.nb=i.languages.wolfram;i.languages.wren={comment:[{pattern:/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\//,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"string-literal":null,hashbang:{pattern:/^#!\/.+/,greedy:!0,alias:"comment"},attribute:{pattern:/#!?[ \t\u3000]*\w+/,alias:"keyword"},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},/\b[A-Z][a-z\d_]*\b/],constant:/\b[A-Z][A-Z\d_]*\b/,null:{pattern:/\bnull\b/,alias:"keyword"},keyword:/\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\b/,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,function:/\b[a-z_]\w*(?=\s*[({])/i,operator:/<<|>>|[=!<>]=?|&&|\|\||[-+*/%~^&|?:]|\.{2,3}/,punctuation:/[\[\](){}.,;]/},i.languages.wren["string-literal"]={pattern:/(^|[^\\"])"(?:[^\\"%]|\\[\s\S]|%(?!\()|%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\))*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\)/,lookbehind:!0,inside:{expression:{pattern:/^(%\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:i.languages.wren},"interpolation-punctuation":{pattern:/^%\(|\)$/,alias:"punctuation"}}},string:/[\s\S]+/}};(function(e){e.languages.xeora=e.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/\}:[-\w.]+:\{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/\}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}}),e.languages.insertBefore("inside","punctuation",{variable:e.languages.xeora["function-inline"].inside.variable},e.languages.xeora["function-block"]),e.languages.xeoracube=e.languages.xeora})(i);(function(e){function t(s,o){e.languages[s]&&e.languages.insertBefore(s,"comment",{"doc-comment":o})}var n=e.languages.markup.tag,a={pattern:/\/\/\/.*/,greedy:!0,alias:"comment",inside:{tag:n}},r={pattern:/'''.*/,greedy:!0,alias:"comment",inside:{tag:n}};t("csharp",a),t("fsharp",a),t("vbnet",r)})(i);i.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,greedy:!0},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],directive:{pattern:/#(?:Else|ElseIf|Endif|If|Pragma)\b/i,alias:"property"},keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,punctuation:/[.,;:()]/};(function(e){e.languages.xquery=e.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),e.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,e.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,e.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:e.languages.xquery,alias:"language-xquery"};var t=function(a){return typeof a=="string"?a:typeof a.content=="string"?a.content:a.content.map(t).join("")},n=function(a){for(var r=[],s=0;s<a.length;s++){var o=a[s],l=!1;if(typeof o!="string"&&(o.type==="tag"&&o.content[0]&&o.content[0].type==="tag"?o.content[0].content[0].content==="</"?r.length>0&&r[r.length-1].tagName===t(o.content[0].content[1])&&r.pop():o.content[o.content.length-1].content==="/>"||r.push({tagName:t(o.content[0].content[1]),openedBraces:0}):!(r.length>0&&o.type==="punctuation"&&o.content==="{")||a[s+1]&&a[s+1].type==="punctuation"&&a[s+1].content==="{"||a[s-1]&&a[s-1].type==="plain-text"&&a[s-1].content==="{"?r.length>0&&r[r.length-1].openedBraces>0&&o.type==="punctuation"&&o.content==="}"?r[r.length-1].openedBraces--:o.type!=="comment"&&(l=!0):r[r.length-1].openedBraces++),(l||typeof o=="string")&&r.length>0&&r[r.length-1].openedBraces===0){var d=t(o);s<a.length-1&&(typeof a[s+1]=="string"||a[s+1].type==="plain-text")&&(d+=t(a[s+1]),a.splice(s+1,1)),s>0&&(typeof a[s-1]=="string"||a[s-1].type==="plain-text")&&(d=t(a[s-1])+d,a.splice(s-1,1),s--),/^\s+$/.test(d)?a[s]=d:a[s]=new e.Token("plain-text",d,null,d)}o.content&&typeof o.content!="string"&&n(o.content)}};e.hooks.add("after-tokenize",function(a){a.language==="xquery"&&n(a.tokens)})})(i);i.languages.yang={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"(?:[^\\"]|\\.)*"|'[^']*'/,greedy:!0},keyword:{pattern:/(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,lookbehind:!0},namespace:{pattern:/(\s)[a-z_][\w.-]*(?=:)/i,lookbehind:!0},boolean:/\b(?:false|true)\b/,operator:/\+/,punctuation:/[{};:]/};(function(e){function t(o){return function(){return o}}var n=/\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/,a="\\b(?!"+n.source+")(?!\\d)\\w+\\b",r="align\\s*\\((?:[^()]|\\([^()]*\\))*\\)",s="(?!\\s)(?:!?\\s*(?:"+"(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*<ALIGN>|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)".replace(/<ALIGN>/g,t(r))+"\\s*)*"+"(?:\\bpromise\\b|(?:\\berror\\.)?<ID>(?:\\.<ID>)*(?!\\s+<ID>))".replace(/<ID>/g,t(a))+")+";e.languages.zig={comment:[{pattern:/\/\/[/!].*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:!0,greedy:!0}],char:{pattern:/(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:!0,greedy:!0},builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:!0},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp("(:\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?[=;,)])|<TYPE>(?=\\s*(?:<ALIGN>\\s*)?\\{)".replace(/<TYPE>/g,t(s)).replace(/<ALIGN>/g,t(r))),lookbehind:!0,inside:null},{pattern:RegExp("(\\)\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?;)".replace(/<TYPE>/g,t(s)).replace(/<ALIGN>/g,t(r))),lookbehind:!0,inside:null}],"builtin-type":{pattern:/\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,alias:"keyword"},keyword:n,function:/\b(?!\d)\w+(?=\s*\()/,number:/\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/},e.languages.zig["class-name"].forEach(function(o){o.inside===null&&(o.inside=e.languages.zig)})})(i)});import*as ce from"child_process";import*as Ot from"path";import pa from"sval";import*as Ie from"temp";import*as pe from"vm";import*as xt from"yaml";import*as oe from"fs";import*as Nt from"path";import*as Qe from"request";var oa=process.env.IMGUR_API_URL||"https://api.imgur.com/3/",sa=process.env.IMGUR_CLIENT_ID||"f0ea04148a54268";async function Ct(e,t,n){let a;e.lastIndexOf(".")?a=e.slice(0,e.lastIndexOf(".")):a=e;let r=`![${a}](${t})`;if(!n)return;let s;try{s=oe.readFileSync(n,{encoding:"utf-8"})}catch{s=""}s=`
91
+ |[^])|#(?!\\{)|`+t+')*")'),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:RegExp(t),inside:{punctuation:/^#\{|\}$/,expression:{pattern:/[\s\S]+/,inside:e.languages.tremor}}},string:/[\s\S]+/}},e.languages.troy=e.languages.tremor,e.languages.trickle=e.languages.tremor})(i);i.languages.twig={comment:/^\{#[\s\S]*?#\}$/,"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/},i.hooks.add("before-tokenize",function(e){e.language==="twig"&&i.languages["markup-templating"].buildPlaceholders(e,"twig",/\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g)}),i.hooks.add("after-tokenize",function(e){i.languages["markup-templating"].tokenizePlaceholders(e,"twig")});(function(e){var t=/\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\b/;e.languages.typoscript={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:= \t]|(?:^|[^= \t])[ \t]+)\/\/.*/,lookbehind:!0,greedy:!0},{pattern:/(^|[^"'])#.*/,lookbehind:!0,greedy:!0}],function:[{pattern:/<INCLUDE_TYPOSCRIPT:\s*source\s*=\s*(?:"[^"\r\n]*"|'[^'\r\n]*')\s*>/,inside:{string:{pattern:/"[^"\r\n]*"|'[^'\r\n]*'/,inside:{keyword:t}},keyword:{pattern:/INCLUDE_TYPOSCRIPT/}}},{pattern:/@import\s*(?:"[^"\r\n]*"|'[^'\r\n]*')/,inside:{string:/"[^"\r\n]*"|'[^'\r\n]*'/}}],string:{pattern:/^([^=]*=[< ]?)(?:(?!\]\n).)*/,lookbehind:!0,inside:{function:/\{\$.*\}/,keyword:t,number:/^\d+$/,punctuation:/[,|:]/}},keyword:t,number:{pattern:/\b\d+\s*[.{=]/,inside:{operator:/[.{=]/}},tag:{pattern:/\.?[-\w\\]+\.?/,inside:{punctuation:/\./}},punctuation:/[{}[\];(),.:|]/,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},e.languages.tsconfig=e.languages.typoscript})(i);i.languages.unrealscript={comment:/\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},category:{pattern:/(\b(?:(?:autoexpand|hide|show)categories|var)\s*\()[^()]+(?=\))/,lookbehind:!0,greedy:!0,alias:"property"},metadata:{pattern:/(\w\s*)<\s*\w+\s*=[^<>|=\r\n]+(?:\|\s*\w+\s*=[^<>|=\r\n]+)*>/,lookbehind:!0,greedy:!0,inside:{property:/\b\w+(?=\s*=)/,operator:/=/,punctuation:/[<>|]/}},macro:{pattern:/`\w+/,alias:"property"},"class-name":{pattern:/(\b(?:class|enum|extends|interface|state(?:\(\))?|struct|within)\s+)\w+/,lookbehind:!0},keyword:/\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,boolean:/\b(?:false|true)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/>>|<<|--|\+\+|\*\*|[-+*/~!=<>$@]=?|&&?|\|\|?|\^\^?|[?:%]|\b(?:ClockwiseFrom|Cross|Dot)\b/,punctuation:/[()[\]{};,.]/},i.languages.uc=i.languages.uscript=i.languages.unrealscript;i.languages.uorazor={"comment-hash":{pattern:/#.*/,alias:"comment",greedy:!0},"comment-slash":{pattern:/\/\/.*/,alias:"comment",greedy:!0},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/},greedy:!0},"source-layers":{pattern:/\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\b/i,alias:"function"},"source-commands":{pattern:/\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\b/,alias:"function"},"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},function:/\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\b/,keyword:/\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/};i.languages.uri={scheme:{pattern:/^[a-z][a-z0-9+.-]*:/im,greedy:!0,inside:{"scheme-delimiter":/:$/}},fragment:{pattern:/#[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"fragment-delimiter":/^#/}},query:{pattern:/\?[\w\-.~!$&'()*+,;=%:@/?]*/,inside:{"query-delimiter":{pattern:/^\?/,greedy:!0},"pair-delimiter":/[&;]/,pair:{pattern:/^[^=][\s\S]*/,inside:{key:/^[^=]+/,value:{pattern:/(^=)[\s\S]+/,lookbehind:!0}}}}},authority:{pattern:RegExp("^//(?:[\\w\\-.~!$&'()*+,;=%:]*@)?(?:\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\.[\\w\\-.~!$&'()*+,;=]+)\\]|[\\w\\-.~!$&'()*+,;=%]*)(?::\\d*)?","m"),inside:{"authority-delimiter":/^\/\//,"user-info-segment":{pattern:/^[\w\-.~!$&'()*+,;=%:]*@/,inside:{"user-info-delimiter":/@$/,"user-info":/^[\w\-.~!$&'()*+,;=%:]+/}},"port-segment":{pattern:/:\d*$/,inside:{"port-delimiter":/^:/,port:/^\d+/}},host:{pattern:/[\s\S]+/,inside:{"ip-literal":{pattern:/^\[[\s\S]+\]$/,inside:{"ip-literal-delimiter":/^\[|\]$/,"ipv-future":/^v[\s\S]+/,"ipv6-address":/^[\s\S]+/}},"ipv4-address":/^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/}}}},path:{pattern:/^[\w\-.~!$&'()*+,;=%:@/]+/m,inside:{"path-separator":/\//}}},i.languages.url=i.languages.uri;(function(e){var t={pattern:/[\s\S]+/,inside:null};e.languages.v=e.languages.extend("clike",{string:{pattern:/r?(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,alias:"quoted-string",greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:\{[^{}]*\}|\w+(?:\.\w+(?:\([^\(\)]*\))?|\[[^\[\]]+\])*)/,lookbehind:!0,inside:{"interpolation-variable":{pattern:/^\$\w[\s\S]*$/,alias:"variable"},"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},"interpolation-expression":t}}}},"class-name":{pattern:/(\b(?:enum|interface|struct|type)\s+)(?:C\.)?\w+/,lookbehind:!0},keyword:/(?:\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\$(?:else|for|if)|#(?:flag|include))\b/,number:/\b(?:0x[a-f\d]+(?:_[a-f\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?)\b/i,operator:/~|\?|[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\.?/,builtin:/\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\b/}),t.inside=e.languages.v,e.languages.insertBefore("v","string",{char:{pattern:/`(?:\\`|\\?[^`]{1,2})`/,alias:"rune"}}),e.languages.insertBefore("v","operator",{attribute:{pattern:/(^[\t ]*)\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\]/m,lookbehind:!0,alias:"annotation",inside:{punctuation:/[\[\]]/,keyword:/\w+/}},generic:{pattern:/<\w+>(?=\s*[\)\{])/,inside:{punctuation:/[<>]/,"class-name":/\w+/}}}),e.languages.insertBefore("v","function",{"generic-function":{pattern:/\b\w+\s*<\w+>(?=\()/,inside:{function:/^\w+/,generic:{pattern:/<\w+>/,inside:e.languages.v.generic.inside}}}})})(i);i.languages.vala=i.languages.extend("clike",{"class-name":[{pattern:/\b[A-Z]\w*(?:\.\w+)*\b(?=(?:\?\s+|\*?\s+\*?)\w)/,inside:{punctuation:/\./}},{pattern:/(\[)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}},{pattern:/((?:\b(?:class|enum|interface|new|struct)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/,lookbehind:!0,inside:{punctuation:/\./}}],keyword:/\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\b/i,function:/\b\w+(?=\s*\()/,number:/(?:\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)(?:f|u?l?)?/i,operator:/\+\+|--|&&|\|\||<<=?|>>=?|=>|->|~|[+\-*\/%&^|=!<>]=?|\?\??|\.\.\./,punctuation:/[{}[\];(),.:]/,constant:/\b[A-Z0-9_]+\b/}),i.languages.insertBefore("vala","string",{"raw-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"template-string":{pattern:/@"[\s\S]*?"/,greedy:!0,inside:{interpolation:{pattern:/\$(?:\([^)]*\)|[a-zA-Z]\w*)/,inside:{delimiter:{pattern:/^\$\(?|\)$/,alias:"punctuation"},rest:i.languages.vala}},string:/[\s\S]+/}}}),i.languages.insertBefore("vala","keyword",{regex:{pattern:/\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[imsx]{0,4}(?=\s*(?:$|[\r\n,.;})\]]))/,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:i.languages.regex},"regex-delimiter":/^\//,"regex-flags":/^[a-z]+$/}}});(function(e){e.languages.velocity=e.languages.extend("markup",{});var t={variable:{pattern:/(^|[^\\](?:\\\\)*)\$!?(?:[a-z][\w-]*(?:\([^)]*\))?(?:\.[a-z][\w-]*(?:\([^)]*\))?|\[[^\]]+\])*|\{[^}]+\})/i,lookbehind:!0,inside:{}},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},number:/\b\d+\b/,boolean:/\b(?:false|true)\b/,operator:/[=!<>]=?|[+*/%-]|&&|\|\||\.\.|\b(?:eq|g[et]|l[et]|n(?:e|ot))\b/,punctuation:/[(){}[\]:,.]/};t.variable.inside={string:t.string,function:{pattern:/([^\w-])[a-z][\w-]*(?=\()/,lookbehind:!0},number:t.number,boolean:t.boolean,punctuation:t.punctuation},e.languages.insertBefore("velocity","comment",{unparsed:{pattern:/(^|[^\\])#\[\[[\s\S]*?\]\]#/,lookbehind:!0,greedy:!0,inside:{punctuation:/^#\[\[|\]\]#$/}},"velocity-comment":[{pattern:/(^|[^\\])#\*[\s\S]*?\*#/,lookbehind:!0,greedy:!0,alias:"comment"},{pattern:/(^|[^\\])##.*/,lookbehind:!0,greedy:!0,alias:"comment"}],directive:{pattern:/(^|[^\\](?:\\\\)*)#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})(?:\s*\((?:[^()]|\([^()]*\))*\))?/i,lookbehind:!0,inside:{keyword:{pattern:/^#@?(?:[a-z][\w-]*|\{[a-z][\w-]*\})|\bin\b/,inside:{punctuation:/[{}]/}},rest:t}},variable:t.variable}),e.languages.velocity.tag.inside["attr-value"].inside.rest=e.languages.velocity})(i);i.languages.verilog={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"kernel-function":{pattern:/\B\$\w+\b/,alias:"property"},constant:/\B`\w+\b/,function:/\b\w+(?=\()/,keyword:/\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,important:/\b(?:always|always_comb|always_ff|always_latch)\b(?: *@)?/,number:/\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b(?:\d*[._])?\d+(?:e[-+]?\d+)?/i,operator:/[-+{}^~%*\/?=!<>&|]+/,punctuation:/[[\];(),.:]/};i.languages.vhdl={comment:/--.+/,"vhdl-vectors":{pattern:/\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,alias:"number"},"quoted-function":{pattern:/"\S+?"(?=\()/,alias:"function"},string:/"(?:[^\\"\r\n]|\\(?:\r\n|[\s\S]))*"/,attribute:{pattern:/\b'\w+/,alias:"attr-name"},keyword:/\b(?:access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|private|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|view|wait|when|while|with)\b/i,boolean:/\b(?:false|true)\b/i,function:/\w+(?=\()/,number:/'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,operator:/[<>]=?|:=|[-+*/&=]|\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\b/i,punctuation:/[{}[\];(),.:]/};i.languages.vim={string:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,comment:/".*/,function:/\b\w+(?=\()/,keyword:/\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,builtin:/\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,operator:/\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,punctuation:/[{}[\](),;:]/};i.languages["visual-basic"]={comment:{pattern:/(?:['‘’]|REM\b)(?:[^\r\n_]|_(?:\r\n?|\n)?)*/i,inside:{keyword:/^REM/i}},directive:{pattern:/#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\b_[ \t]*(?:\r\n?|\n)|.)+/i,alias:"property",greedy:!0},string:{pattern:/\$?["“”](?:["“”]{2}|[^"“”])*["“”]C?/i,greedy:!0},date:{pattern:/#[ \t]*(?:\d+([/-])\d+\1\d+(?:[ \t]+(?:\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?))?|\d+[ \t]*(?:AM|PM)|\d+:\d+(?::\d+)?(?:[ \t]*(?:AM|PM))?)[ \t]*#/i,alias:"number"},number:/(?:(?:\b\d+(?:\.\d+)?|\.\d+)(?:E[+-]?\d+)?|&[HO][\dA-F]+)(?:[FRD]|U?[ILS])?/i,boolean:/\b(?:False|Nothing|True)\b/i,keyword:/\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\b/i,operator:/[+\-*/\\^<=>&#@$%!]|\b_(?=[ \t]*[\r\n])/,punctuation:/[{}().,:?]/},i.languages.vb=i.languages["visual-basic"],i.languages.vba=i.languages["visual-basic"];i.languages.warpscript={comment:/#.*|\/\/.*|\/\*[\s\S]*?\*\//,string:{pattern:/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'|<'(?:[^\\']|'(?!>)|\\.)*'>/,greedy:!0},variable:/\$\S+/,macro:{pattern:/@\S+/,alias:"property"},keyword:/\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\b/,number:/[+-]?\b(?:NaN|Infinity|\d+(?:\.\d*)?(?:[Ee][+-]?\d+)?|0x[\da-fA-F]+|0b[01]+)\b/,boolean:/\b(?:F|T|false|true)\b/,punctuation:/<%|%>|[{}[\]()]/,operator:/==|&&?|\|\|?|\*\*?|>>>?|<<|[<>!~]=?|[-/%^]|\+!?|\b(?:AND|NOT|OR)\b/};i.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\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|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\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/,punctuation:/[()]/};(function(e){var t="(?:\\B-|\\b_|\\b)[A-Za-z][\\w-]*(?![\\w-])",n="(?:\\b(?:unsigned\\s+)?long\\s+long(?![\\w-])|\\b(?:unrestricted|unsigned)\\s+[a-z]+(?![\\w-])|(?!(?:unrestricted|unsigned)\\b)"+t+"(?:\\s*<(?:[^<>]|<[^<>]*>)*>)?)(?:\\s*\\?)?",a={};for(var r in e.languages["web-idl"]={comment:{pattern:/\/\/.*|\/\*[\s\S]*?\*\//,greedy:!0},string:{pattern:/"[^"]*"/,greedy:!0},namespace:{pattern:RegExp("(\\bnamespace\\s+)"+t),lookbehind:!0},"class-name":[{pattern:/(^|[^\w-])(?:iterable|maplike|setlike)\s*<(?:[^<>]|<[^<>]*>)*>/,lookbehind:!0,inside:a},{pattern:RegExp("(\\b(?:attribute|const|deleter|getter|optional|setter)\\s+)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\bcallback\\s+"+t+"\\s*=\\s*)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\btypedef\\b\\s*)"+n),lookbehind:!0,inside:a},{pattern:RegExp("(\\b(?:callback|dictionary|enum|interface(?:\\s+mixin)?)\\s+)(?!(?:interface|mixin)\\b)"+t),lookbehind:!0},{pattern:RegExp("(:\\s*)"+t),lookbehind:!0},RegExp(t+"(?=\\s+(?:implements|includes)\\b)"),{pattern:RegExp("(\\b(?:implements|includes)\\s+)"+t),lookbehind:!0},{pattern:RegExp(n+"(?=\\s*(?:\\.{3}\\s*)?"+t+"\\s*[(),;=])"),inside:a}],builtin:/\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\b/,keyword:[/\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\b/,/\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\b/],boolean:/\b(?:false|true)\b/,number:{pattern:/(^|[^\w-])-?(?:0x[0-9a-f]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|NaN|Infinity)(?![\w-])/i,lookbehind:!0},operator:/\.{3}|[=:?<>-]/,punctuation:/[(){}[\].,;]/},e.languages["web-idl"])r!=="class-name"&&(a[r]=e.languages["web-idl"][r]);e.languages.webidl=e.languages["web-idl"]})(i);i.languages.wgsl={comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},"builtin-attribute":{pattern:/(@)builtin\(.*?\)/,lookbehind:!0,inside:{attribute:{pattern:/^builtin/,alias:"attr-name"},punctuation:/[(),]/,"built-in-values":{pattern:/\b(?:frag_depth|front_facing|global_invocation_id|instance_index|local_invocation_id|local_invocation_index|num_workgroups|position|sample_index|sample_mask|vertex_index|workgroup_id)\b/,alias:"attr-value"}}},attributes:{pattern:/(@)(?:align|binding|compute|const|fragment|group|id|interpolate|invariant|location|size|vertex|workgroup_size)/i,lookbehind:!0,alias:"attr-name"},functions:{pattern:/\b(fn\s+)[_a-zA-Z]\w*(?=[(<])/,lookbehind:!0,alias:"function"},keyword:/\b(?:bitcast|break|case|const|continue|continuing|default|discard|else|enable|fallthrough|fn|for|function|if|let|loop|private|return|storage|struct|switch|type|uniform|var|while|workgroup)\b/,builtin:/\b(?:abs|acos|acosh|all|any|array|asin|asinh|atan|atan2|atanh|atomic|atomicAdd|atomicAnd|atomicCompareExchangeWeak|atomicExchange|atomicLoad|atomicMax|atomicMin|atomicOr|atomicStore|atomicSub|atomicXor|bool|ceil|clamp|cos|cosh|countLeadingZeros|countOneBits|countTrailingZeros|cross|degrees|determinant|distance|dot|dpdx|dpdxCoarse|dpdxFine|dpdy|dpdyCoarse|dpdyFine|exp|exp2|extractBits|f32|f64|faceForward|firstLeadingBit|floor|fma|fract|frexp|fwidth|fwidthCoarse|fwidthFine|i32|i64|insertBits|inverseSqrt|ldexp|length|log|log2|mat[2-4]x[2-4]|max|min|mix|modf|normalize|override|pack2x16float|pack2x16snorm|pack2x16unorm|pack4x8snorm|pack4x8unorm|pow|ptr|quantizeToF16|radians|reflect|refract|reverseBits|round|sampler|sampler_comparison|select|shiftLeft|shiftRight|sign|sin|sinh|smoothstep|sqrt|staticAssert|step|storageBarrier|tan|tanh|textureDimensions|textureGather|textureGatherCompare|textureLoad|textureNumLayers|textureNumLevels|textureNumSamples|textureSample|textureSampleBias|textureSampleCompare|textureSampleCompareLevel|textureSampleGrad|textureSampleLevel|textureStore|texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array|texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array|texture_depth_multisampled_2d|texture_multisampled_2d|texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d|transpose|trunc|u32|u64|unpack2x16float|unpack2x16snorm|unpack2x16unorm|unpack4x8snorm|unpack4x8unorm|vec[2-4]|workgroupBarrier)\b/,"function-calls":{pattern:/\b[_a-z]\w*(?=\()/i,alias:"function"},"class-name":/\b(?:[A-Z][A-Za-z0-9]*)\b/,"bool-literal":{pattern:/\b(?:false|true)\b/,alias:"boolean"},"hex-int-literal":{pattern:/\b0[xX][0-9a-fA-F]+[iu]?\b(?![.pP])/,alias:"number"},"hex-float-literal":{pattern:/\b0[xX][0-9a-fA-F]*(?:\.[0-9a-fA-F]*)?(?:[pP][+-]?\d+[fh]?)?/,alias:"number"},"decimal-float-literal":[{pattern:/\d*\.\d+(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+\.\d*(?:[eE](?:\+|-)?\d+)?[fh]?/,alias:"number"},{pattern:/\d+[eE](?:\+|-)?\d+[fh]?/,alias:"number"},{pattern:/\b\d+[fh]\b/,alias:"number"}],"int-literal":{pattern:/\b\d+[iu]?\b/,alias:"number"},operator:[{pattern:/(?:\^|~|\|(?!\|)|\|\||&&|<<|>>|!)(?!=)/},{pattern:/&(?![&=])/},{pattern:/(?:\+=|-=|\*=|\/=|%=|\^=|&=|\|=|<<=|>>=)/},{pattern:/(^|[^<>=!])=(?![=>])/,lookbehind:!0},{pattern:/(?:==|!=|<=|\+\+|--|(^|[^=])>=)/,lookbehind:!0},{pattern:/(?:(?:[+%]|(?:\*(?!\w)))(?!=))|(?:-(?!>))|(?:\/(?!\/))/},{pattern:/->/}],punctuation:/[@(){}[\],;<>:.]/};i.languages.wiki=i.languages.extend("markup",{"block-comment":{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0,alias:"comment"},heading:{pattern:/^(=+)[^=\r\n].*?\1/m,inside:{punctuation:/^=+|=+$/,important:/.+/}},emphasis:{pattern:/('{2,5}).+?\1/,inside:{"bold-italic":{pattern:/(''''').+?(?=\1)/,lookbehind:!0,alias:["bold","italic"]},bold:{pattern:/(''')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},italic:{pattern:/('')[^'](?:.*?[^'])?(?=\1)/,lookbehind:!0},punctuation:/^''+|''+$/}},hr:{pattern:/^-{4,}/m,alias:"punctuation"},url:[/ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:PMID|RFC) +\d+/i,/\[\[.+?\]\]|\[.+?\]/],variable:[/__[A-Z]+__/,/\{{3}.+?\}{3}/,/\{\{.+?\}\}/],symbol:[/^#redirect/im,/~{3,5}/],"table-tag":{pattern:/((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,lookbehind:!0,inside:{"table-bar":{pattern:/\|$/,alias:"punctuation"},rest:i.languages.markup.tag.inside}},punctuation:/^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m}),i.languages.insertBefore("wiki","tag",{nowiki:{pattern:/<(nowiki|pre|source)\b[^>]*>[\s\S]*?<\/\1>/i,inside:{tag:{pattern:/<(?:nowiki|pre|source)\b[^>]*>|<\/(?:nowiki|pre|source)>/i,inside:i.languages.markup.tag.inside}}}});i.languages.wolfram={comment:/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,string:{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\b/,context:{pattern:/\b\w+`+\w*/,alias:"class-name"},blank:{pattern:/\b\w+_\b/,alias:"regex"},"global-variable":{pattern:/\$\w+/,alias:"variable"},boolean:/\b(?:False|True)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/\/\.|;|=\.|\^=|\^:=|:=|<<|>>|<\||\|>|:>|\|->|->|<-|@@@|@@|@|\/@|=!=|===|==|=|\+|-|\[\/-+%=\]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},i.languages.mathematica=i.languages.wolfram,i.languages.wl=i.languages.wolfram,i.languages.nb=i.languages.wolfram;i.languages.wren={comment:[{pattern:/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|\/\*(?:[^*/]|\*(?!\/)|\/(?!\*))*\*\/)*\*\/)*\*\//,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},"string-literal":null,hashbang:{pattern:/^#!\/.+/,greedy:!0,alias:"comment"},attribute:{pattern:/#!?[ \t\u3000]*\w+/,alias:"keyword"},"class-name":[{pattern:/(\bclass\s+)\w+/,lookbehind:!0},/\b[A-Z][a-z\d_]*\b/],constant:/\b[A-Z][A-Z\d_]*\b/,null:{pattern:/\bnull\b/,alias:"keyword"},keyword:/\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\b/,boolean:/\b(?:false|true)\b/,number:/\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,function:/\b[a-z_]\w*(?=\s*[({])/i,operator:/<<|>>|[=!<>]=?|&&|\|\||[-+*/%~^&|?:]|\.{2,3}/,punctuation:/[\[\](){}.,;]/},i.languages.wren["string-literal"]={pattern:/(^|[^\\"])"(?:[^\\"%]|\\[\s\S]|%(?!\()|%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\))*"/,lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)%\((?:[^()]|\((?:[^()]|\([^)]*\))*\))*\)/,lookbehind:!0,inside:{expression:{pattern:/^(%\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:i.languages.wren},"interpolation-punctuation":{pattern:/^%\(|\)$/,alias:"punctuation"}}},string:/[\s\S]+/}};(function(e){e.languages.xeora=e.languages.extend("markup",{constant:{pattern:/\$(?:DomainContents|PageRenderDuration)\$/,inside:{punctuation:{pattern:/\$/}}},variable:{pattern:/\$@?(?:#+|[-+*~=^])?[\w.]+\$/,inside:{punctuation:{pattern:/[$.]/},operator:{pattern:/#+|[-+*~=^@]/}}},"function-inline":{pattern:/\$F:[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\$/,inside:{variable:{pattern:/(?:[,|])@?(?:#+|[-+*~=^])?[\w.]+/,inside:{punctuation:{pattern:/[,.|]/},operator:{pattern:/#+|[-+*~=^@]/}}},punctuation:{pattern:/\$\w:|[$:?.,|]/}},alias:"function"},"function-block":{pattern:/\$XF:\{[-\w.]+\?[-\w.]+(?:,(?:(?:@[-#]*\w+\.[\w+.]\.*)*\|)*(?:(?:[\w+]|[-#*.~^]+[\w+]|=\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\w+\.[\w+.]\.*)+(?:(?:[\w+]|[-#*~^][-#*.~^]*[\w+]|=\S)(?:[^$=]|=+[^=])*=*)?)?)?\}:XF\$/,inside:{punctuation:{pattern:/[$:{}?.,|]/}},alias:"function"},"directive-inline":{pattern:/\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\/\w.]+\$/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}}},alias:"function"},"directive-block-open":{pattern:/\$\w+:\{|\$\w(?:#\d+\+?)?(?:\[[-\w.]+\])?:[-\w.]+:\{(?:![A-Z]+)?/,inside:{punctuation:{pattern:/\$(?:\w:|C(?:\[|#\d))?|[:{[\]]/,inside:{tag:{pattern:/#\d/}}},attribute:{pattern:/![A-Z]+$/,inside:{punctuation:{pattern:/!/}},alias:"keyword"}},alias:"function"},"directive-block-separator":{pattern:/\}:[-\w.]+:\{/,inside:{punctuation:{pattern:/[:{}]/}},alias:"function"},"directive-block-close":{pattern:/\}:[-\w.]+\$/,inside:{punctuation:{pattern:/[:{}$]/}},alias:"function"}}),e.languages.insertBefore("inside","punctuation",{variable:e.languages.xeora["function-inline"].inside.variable},e.languages.xeora["function-block"]),e.languages.xeoracube=e.languages.xeora})(i);(function(e){function t(s,o){e.languages[s]&&e.languages.insertBefore(s,"comment",{"doc-comment":o})}var n=e.languages.markup.tag,a={pattern:/\/\/\/.*/,greedy:!0,alias:"comment",inside:{tag:n}},r={pattern:/'''.*/,greedy:!0,alias:"comment",inside:{tag:n}};t("csharp",a),t("fsharp",a),t("vbnet",r)})(i);i.languages.xojo={comment:{pattern:/(?:'|\/\/|Rem\b).+/i,greedy:!0},string:{pattern:/"(?:""|[^"])*"/,greedy:!0},number:[/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,/&[bchou][a-z\d]+/i],directive:{pattern:/#(?:Else|ElseIf|Endif|If|Pragma)\b/i,alias:"property"},keyword:/\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\b/i,operator:/<[=>]?|>=?|[+\-*\/\\^=]|\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\b/i,punctuation:/[.,;:()]/};(function(e){e.languages.xquery=e.languages.extend("markup",{"xquery-comment":{pattern:/\(:[\s\S]*?:\)/,greedy:!0,alias:"comment"},string:{pattern:/(["'])(?:\1\1|(?!\1)[\s\S])*\1/,greedy:!0},extension:{pattern:/\(#.+?#\)/,alias:"symbol"},variable:/\$[-\w:]+/,axis:{pattern:/(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,lookbehind:!0,alias:"operator"},"keyword-operator":{pattern:/(^|[^:-])\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\b(?=$|[^:-])/,lookbehind:!0,alias:"operator"},keyword:{pattern:/(^|[^:-])\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\b(?=$|[^:-])/,lookbehind:!0},function:/[\w-]+(?::[\w-]+)*(?=\s*\()/,"xquery-element":{pattern:/(element\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"tag"},"xquery-attribute":{pattern:/(attribute\s+)[\w-]+(?::[\w-]+)*/,lookbehind:!0,alias:"attr-name"},builtin:{pattern:/(^|[^:-])\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\b(?=$|[^:-])/,lookbehind:!0},number:/\b\d+(?:\.\d+)?(?:E[+-]?\d+)?/,operator:[/[+*=?|@]|\.\.?|:=|!=|<[=<]?|>[=>]?/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}],punctuation:/[[\](){},;:/]/}),e.languages.xquery.tag.pattern=/<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/,e.languages.xquery.tag.inside["attr-value"].pattern=/=(?:("|')(?:\\[\s\S]|\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}|(?!\1)[^\\])*\1|[^\s'">=]+)/,e.languages.xquery.tag.inside["attr-value"].inside.punctuation=/^="|"$/,e.languages.xquery.tag.inside["attr-value"].inside.expression={pattern:/\{(?!\{)(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}/,inside:e.languages.xquery,alias:"language-xquery"};var t=function(a){return typeof a=="string"?a:typeof a.content=="string"?a.content:a.content.map(t).join("")},n=function(a){for(var r=[],s=0;s<a.length;s++){var o=a[s],l=!1;if(typeof o!="string"&&(o.type==="tag"&&o.content[0]&&o.content[0].type==="tag"?o.content[0].content[0].content==="</"?r.length>0&&r[r.length-1].tagName===t(o.content[0].content[1])&&r.pop():o.content[o.content.length-1].content==="/>"||r.push({tagName:t(o.content[0].content[1]),openedBraces:0}):!(r.length>0&&o.type==="punctuation"&&o.content==="{")||a[s+1]&&a[s+1].type==="punctuation"&&a[s+1].content==="{"||a[s-1]&&a[s-1].type==="plain-text"&&a[s-1].content==="{"?r.length>0&&r[r.length-1].openedBraces>0&&o.type==="punctuation"&&o.content==="}"?r[r.length-1].openedBraces--:o.type!=="comment"&&(l=!0):r[r.length-1].openedBraces++),(l||typeof o=="string")&&r.length>0&&r[r.length-1].openedBraces===0){var d=t(o);s<a.length-1&&(typeof a[s+1]=="string"||a[s+1].type==="plain-text")&&(d+=t(a[s+1]),a.splice(s+1,1)),s>0&&(typeof a[s-1]=="string"||a[s-1].type==="plain-text")&&(d=t(a[s-1])+d,a.splice(s-1,1),s--),/^\s+$/.test(d)?a[s]=d:a[s]=new e.Token("plain-text",d,null,d)}o.content&&typeof o.content!="string"&&n(o.content)}};e.hooks.add("after-tokenize",function(a){a.language==="xquery"&&n(a.tokens)})})(i);i.languages.yang={comment:/\/\*[\s\S]*?\*\/|\/\/.*/,string:{pattern:/"(?:[^\\"]|\\.)*"|'[^']*'/,greedy:!0},keyword:{pattern:/(^|[{};\r\n][ \t]*)[a-z_][\w.-]*/i,lookbehind:!0},namespace:{pattern:/(\s)[a-z_][\w.-]*(?=:)/i,lookbehind:!0},boolean:/\b(?:false|true)\b/,operator:/\+/,punctuation:/[{};:]/};(function(e){function t(o){return function(){return o}}var n=/\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\b/,a="\\b(?!"+n.source+")(?!\\d)\\w+\\b",r="align\\s*\\((?:[^()]|\\([^()]*\\))*\\)",s="(?!\\s)(?:!?\\s*(?:"+"(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*<ALIGN>|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)".replace(/<ALIGN>/g,t(r))+"\\s*)*"+"(?:\\bpromise\\b|(?:\\berror\\.)?<ID>(?:\\.<ID>)*(?!\\s+<ID>))".replace(/<ID>/g,t(a))+")+";e.languages.zig={comment:[{pattern:/\/\/[/!].*/,alias:"doc-comment"},/\/{2}.*/],string:[{pattern:/(^|[^\\@])c?"(?:[^"\\\r\n]|\\.)*"/,lookbehind:!0,greedy:!0},{pattern:/([\r\n])([ \t]+c?\\{2}).*(?:(?:\r\n?|\n)\2.*)*/,lookbehind:!0,greedy:!0}],char:{pattern:/(^|[^\\])'(?:[^'\\\r\n]|[\uD800-\uDFFF]{2}|\\(?:.|x[a-fA-F\d]{2}|u\{[a-fA-F\d]{1,6}\}))'/,lookbehind:!0,greedy:!0},builtin:/\B@(?!\d)\w+(?=\s*\()/,label:{pattern:/(\b(?:break|continue)\s*:\s*)\w+\b|\b(?!\d)\w+\b(?=\s*:\s*(?:\{|while\b))/,lookbehind:!0},"class-name":[/\b(?!\d)\w+(?=\s*=\s*(?:(?:extern|packed)\s+)?(?:enum|struct|union)\s*[({])/,{pattern:RegExp("(:\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?[=;,)])|<TYPE>(?=\\s*(?:<ALIGN>\\s*)?\\{)".replace(/<TYPE>/g,t(s)).replace(/<ALIGN>/g,t(r))),lookbehind:!0,inside:null},{pattern:RegExp("(\\)\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?;)".replace(/<TYPE>/g,t(s)).replace(/<ALIGN>/g,t(r))),lookbehind:!0,inside:null}],"builtin-type":{pattern:/\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\b/,alias:"keyword"},keyword:n,function:/\b(?!\d)\w+(?=\s*\()/,number:/\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\d]+(?:\.[a-fA-F\d]*)?(?:[pP][+-]?[a-fA-F\d]+)?|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?)\b/,boolean:/\b(?:false|true)\b/,operator:/\.[*?]|\.{2,3}|[-=]>|\*\*|\+\+|\|\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,punctuation:/[.:,;(){}[\]]/},e.languages.zig["class-name"].forEach(function(o){o.inside===null&&(o.inside=e.languages.zig)})})(i)});import*as pe from"child_process";import*as xt from"path";import ma from"sval";import*as Ie from"temp";import*as ue from"vm";import*as Lt from"yaml";import*as se from"fs";import*as Ct from"path";import*as Qe from"request";var da=process.env.IMGUR_API_URL||"https://api.imgur.com/3/",ca=process.env.IMGUR_CLIENT_ID||"f0ea04148a54268";async function Ot(e,t,n){let a;e.lastIndexOf(".")?a=e.slice(0,e.lastIndexOf(".")):a=e;let r=`![${a}](${t})`;if(!n)return;let s;try{s=se.readFileSync(n,{encoding:"utf-8"})}catch{s=""}s=`
92
92
  ${r}
93
93
 
94
94
  \`${r}\`
@@ -97,12 +97,12 @@ ${new Date().toString()}
97
97
 
98
98
  ---
99
99
 
100
- `+s,oe.writeFileSync(n,s,{encoding:"utf-8"})}function la(e){return new Promise((t,n)=>{let a={Authorization:`Client-ID ${sa}`};Qe.post({url:`${oa}image`,encoding:"utf8",formData:{image:oe.createReadStream(e)},json:!0,headers:a},(r,s,o)=>{if(r)return n(r);if(o.success){let l=o.data.link;return Ct(e,l),t(l)}else return t(o.data.error.message)})})}function da(e){return new Promise((t,n)=>{let a={authority:"sm.ms","user-agent":"crossnote",referer:""};Qe.post({url:"https://sm.ms/api/v2/upload",formData:{smfile:oe.createReadStream(e)},headers:a},(r,s,o)=>{try{if(o=JSON.parse(o),r)return n("Failed to upload image");if(o.code==="error")return n(o.msg);{let l=o.data.url;return Ct(e,l),t(l)}}catch{return n("Failed to connect to sm.ms host")}})})}function ca(e,t,n,a,r){return new Promise((s,o)=>{if(!t)return o("Error: Qiniu AccessKey is missing");if(!n)return o("Error: Qiniu SecretKey is missing");if(!a)return o("Error: Qiniu Bucket is missing");if(!r)return o("Error: Qiniu Domain is missing");import("qiniu").then(l=>{let d=new l.auth.digest.Mac(t,n),c=new l.rs.PutPolicy({scope:a}).uploadToken(d),g=new l.conf.Config,f=Nt.basename(e),S=new l.form_up.FormUploader(g),m=new l.form_up.PutExtra;return S.putFile(c,f,e,m,(u,b,h)=>{if(u)return o(u.message);if(h.statusCode===200){let _=new l.rs.BucketManager(d,g).publicDownloadUrl(r,f);return s(_)}else return o(h.error)})}).catch(l=>o(l))})}function et(e,{method:t="imgur",qiniu:n={AccessKey:"",SecretKey:"",Bucket:"",Domain:""}}){return t==="imgur"?la(e):t==="qiniu"?ca(e,n.AccessKey,n.SecretKey,n.Bucket,n.Domain):da(e)}Ie.track();function J(e){return new Promise((t,n)=>{Ie.open(e,(a,r)=>a?n(a.toString()):t(r))})}function se(e){if(process.platform==="win32")return e.match(/^[a-zA-Z]:\\/)&&(e="file:///"+e),e.startsWith("file:///")?ce.execFile("explorer.exe",[e]):ce.exec(`start ${e}`);process.platform==="darwin"?ce.execFile("open",[e]):ce.execFile("xdg-open",[e])}function ve(e=""){e.startsWith("---")&&(e=e.trim().replace(/^---\r?\n/,"").replace(/\r?\n---$/,""));try{return xt.parse(e)}catch(t){return{error:t.toString()}}}var Lt=(()=>typeof __dirname<"u"?Ot.resolve(__dirname,"../"):"")();function Dt(e){Lt=e}function U(){return Lt}var tt=null;function Pt(e){tt=e}function W(e,t){return tt&&t?tt(e,t):(e.startsWith("file://")||(e="file:///"+e),e=e.replace(/^file:\/+/,"file:///"),e)}function Q(e){let t=/^(?:(?:file|(vscode)-(?:webview-)?resource|vscode--resource):\/+)(.*)/m;return e.replace(t,(n,a,r)=>(a&&(r=r.replace(/^file\/+/,"")),process.platform!=="win32"&&!r.startsWith("/")?"/"+r:r))}function Mt(e){let t=globalThis.eval;try{return globalThis.eval=n=>pe.runInThisContext(n),e()}finally{globalThis.eval=t}}function Ft(e){let t=globalThis.Function;try{return globalThis.Function=nt,e()}finally{globalThis.Function=t}}async function Ut(e){let t=globalThis.Function,n=globalThis.eval;try{return globalThis.Function=nt,globalThis.eval=a=>pe.runInThisContext(a),await e()}finally{globalThis.eval=n,globalThis.Function=t}}var Se=e=>e.attributes.cmd===!0?e.language:e.attributes.cmd;function nt(...e){let t="",n=[];if(e.length){t=e[e.length-1];for(let r=0;r<e.length-1;r++)n.push(e[r])}let a=[];for(let r=0,s=n.length;r<s;r++){let o=n[r];typeof o=="string"&&(o=o.split(/\s*,\s*/)),a.push.apply(a,o)}return pe.runInThisContext(`
100
+ `+s,se.writeFileSync(n,s,{encoding:"utf-8"})}function pa(e){return new Promise((t,n)=>{let a={Authorization:`Client-ID ${ca}`};Qe.post({url:`${da}image`,encoding:"utf8",formData:{image:se.createReadStream(e)},json:!0,headers:a},(r,s,o)=>{if(r)return n(r);if(o.success){let l=o.data.link;return Ot(e,l),t(l)}else return t(o.data.error.message)})})}function ua(e){return new Promise((t,n)=>{let a={authority:"sm.ms","user-agent":"crossnote",referer:""};Qe.post({url:"https://sm.ms/api/v2/upload",formData:{smfile:se.createReadStream(e)},headers:a},(r,s,o)=>{try{if(o=JSON.parse(o),r)return n("Failed to upload image");if(o.code==="error")return n(o.msg);{let l=o.data.url;return Ot(e,l),t(l)}}catch{return n("Failed to connect to sm.ms host")}})})}function ga(e,t,n,a,r){return new Promise((s,o)=>{if(!t)return o("Error: Qiniu AccessKey is missing");if(!n)return o("Error: Qiniu SecretKey is missing");if(!a)return o("Error: Qiniu Bucket is missing");if(!r)return o("Error: Qiniu Domain is missing");import("qiniu").then(l=>{let d=new l.auth.digest.Mac(t,n),c=new l.rs.PutPolicy({scope:a}).uploadToken(d),g=new l.conf.Config,f=Ct.basename(e),S=new l.form_up.FormUploader(g),m=new l.form_up.PutExtra;return S.putFile(c,f,e,m,(u,b,h)=>{if(u)return o(u.message);if(h.statusCode===200){let _=new l.rs.BucketManager(d,g).publicDownloadUrl(r,f);return s(_)}else return o(h.error)})}).catch(l=>o(l))})}function et(e,{method:t="imgur",qiniu:n={AccessKey:"",SecretKey:"",Bucket:"",Domain:""}}){return t==="imgur"?pa(e):t==="qiniu"?ga(e,n.AccessKey,n.SecretKey,n.Bucket,n.Domain):ua(e)}Ie.track();function J(e){return new Promise((t,n)=>{Ie.open(e,(a,r)=>a?n(a.toString()):t(r))})}function le(e){if(process.platform==="win32")return e.match(/^[a-zA-Z]:\\/)&&(e="file:///"+e),e.startsWith("file:///")?pe.execFile("explorer.exe",[e]):pe.exec(`start ${e}`);process.platform==="darwin"?pe.execFile("open",[e]):pe.execFile("xdg-open",[e])}function ve(e=""){e.startsWith("---")&&(e=e.trim().replace(/^---\r?\n/,"").replace(/\r?\n---$/,""));try{return Lt.parse(e)}catch(t){return{error:t.toString()}}}var Dt=(()=>typeof __dirname<"u"?xt.resolve(__dirname,"../"):"")();function Pt(e){Dt=e}function U(){return Dt}var tt=null;function Mt(e){tt=e}function W(e,t){return tt&&t?tt(e,t):(e.startsWith("file://")||(e="file:///"+e),e=e.replace(/^file:\/+/,"file:///"),e)}function Q(e){let t=/^(?:(?:file|(vscode)-(?:webview-)?resource|vscode--resource):\/+)(.*)/m;return e.replace(t,(n,a,r)=>(a&&(r=r.replace(/^file\/+/,"")),process.platform!=="win32"&&!r.startsWith("/")?"/"+r:r))}function Ft(e){let t=globalThis.eval;try{return globalThis.eval=n=>ue.runInThisContext(n),e()}finally{globalThis.eval=t}}function Ut(e){let t=globalThis.Function;try{return globalThis.Function=nt,e()}finally{globalThis.Function=t}}async function Bt(e){let t=globalThis.Function,n=globalThis.eval;try{return globalThis.Function=nt,globalThis.eval=a=>ue.runInThisContext(a),await e()}finally{globalThis.eval=n,globalThis.Function=t}}var Se=e=>e.attributes.cmd===!0?e.language:e.attributes.cmd;function nt(...e){let t="",n=[];if(e.length){t=e[e.length-1];for(let r=0;r<e.length-1;r++)n.push(e[r])}let a=[];for(let r=0,s=n.length;r<s;r++){let o=n[r];typeof o=="string"&&(o=o.split(/\s*,\s*/)),a.push.apply(a,o)}return ue.runInThisContext(`
101
101
  (function(${a.join(", ")}) {
102
102
  ${t}
103
103
  })
104
- `)}nt.prototype=globalThis.Function.prototype;function at(){return process.env.IS_VSCODE_WEB_EXTENSION==="true"}function ye(e){if(e=e.trim().replace(/[;,]+$/,""),at()){let t=new pa({sandBox:!0,ecmaVer:2019});return t.run(`exports.result = (${e})`),t.exports.result}else{let t={};return pe.runInNewContext(`result = (${e})`,t),t.result}}import*as ie from"cheerio";import{execFile as Vr}from"child_process";import{copy as Yn}from"copy-anything";import Kn from"crypto-js";import*as Y from"fs";import{escape as de}from"html-escaper";import*as R from"path";import qr from"request";import*as Xn from"yaml";import{execFile as ua}from"child_process";import{mkdirp as ga}from"mkdirp";import*as Ce from"path";function ma(e={},t){let n=e.title||"No Title";t.push("--title",n),e.authors&&t.push("--authors",e.authors),e.cover&&t.push("--cover",e.cover),e.comment&&t.push("--comments",e.comments),e.publisher&&t.push("--publisher",e.publisher),e["book-producer"]&&t.push("--book-producer",e["book-producer"]),e.pubdate&&t.push("--pubdate",e.pubdate),e.language&&t.push("--language",e.language),e.isbn&&t.push("--isbn",e.isbn),e.tags&&t.push("--tags",e.tags),e.series&&t.push("--series",e.series),e.rating&&t.push("--rating",e.rating)}function fa(e={},t){e.asciiize&&t.push("--asciiize"),e["base-font-size"]&&t.push("--base-font-size="+e["base-font-size"]),e["disable-font-rescaling"]&&t.push("--disable-font-rescaling"),e["line-height"]&&t.push("--line-height="+e["line-height"]);let n=72,a=72,r=72,s=72;if(e.margin){let o=e.margin;o instanceof Array?o.length===1?(n=o[0],r=o[0],s=o[0],a=o[0]):o.length===2?(n=o[0],r=o[0],s=o[1],a=o[1]):o.length===4&&(n=o[0],a=o[1],r=o[2],s=o[3]):typeof o=="number"&&(n=o,r=o,s=o,a=o)}else e["margin-top"]&&(n=e["margin-top"]),e["margin-right"]&&(a=e["margin-right"]),e["margin-bottom"]&&(r=e["margin-bottom"]),e["margin-left"]&&(s=e["margin-left"]);t.push("--margin-top="+n),t.push("--margin-bottom="+r),t.push("--margin-left="+s),t.push("--margin-right="+a)}function ba(e={},t){e["no-default-epub-cover"]&&t.push("--no-default-epub-cover"),e["no-svg-cover"]&&t.push("--no-svg-cover"),e["pretty-print"]&&t.push("--pretty-print")}function ha(e={},t){e["paper-size"]&&t.push("--paper-size",e["paper-size"]),e["default-font-size"]&&t.push("--pdf-default-font-size="+e["default-font-size"]),e["header-template"]&&t.push("--pdf-header-template",e["header-template"]),e["footer-template"]&&t.push("--pdf-footer-template",e["footer-template"]),e["page-numbers"]&&t.push("--pdf-page-numbers"),e["pretty-print"]&&t.push("--pretty-print")}function Bt(e,t,n={}){return new Promise((a,r)=>{let s=[e,t,"--level1-toc","//*[@ebook-toc-level-1]/@heading","--level2-toc","//*[@ebook-toc-level-2]/@heading","--level3-toc","//*[@ebook-toc-level-3]/@heading","--no-chapters-in-toc"];ma(n,s),fa(n,s);let o=Ce.extname(t).slice(1);o==="epub"?ba(n.epub,s):o==="pdf"&&ha(n.pdf,s),(n.args||[]).forEach(d=>{s.push(d)}),ga(Ce.dirname(t)).then(()=>{ua("ebook-convert",s,d=>d?r(d.toString()):a())}).catch(d=>{if(d)return r(d)})})}import*as Tn from"fs";import{escape as kn}from"html-escaper";import{mkdirp as Ka}from"mkdirp";import*as ne from"path";import Ea from"md5";var Sa=e=>Ea(e).toString(),K=Sa;import ya from"uslug";var ee=class{constructor(){this.table={}}generateId(t){let n=(r,s)=>{let o=s.replace(/[!"#$%&'()*+,./:;<=>?@[\\]^`{|}~]/g,"").replace(/^\s/,"").replace(/\s$/,"").replace(/`/g,"~");return(s.match(/^\s+$/)?"~":o)+(r.endsWith(" ")&&!o.endsWith("~")?"~":"")};t=t.trim().replace(/~|。/g,"").replace(/``(.+?)``\s?/g,n).replace(/`(.*?)`\s?/g,n);let a=ya(t.replace(/\s/g,"~")).replace(/~/g,"-");return this.table[a]>=0?(this.table[a]=this.table[a]+1,a+="-"+this.table[a]):this.table[a]=0,a}};function ka(e,t){let n="";for(let a=0;a<t;a++)n+=e;return n}function $t(e){let t="",n=0,a=/!?\[([^\]]*)\]\(([^)]*)\)|<([^>]*)>([^<]*)<\/([^>]*)>|\[\^([^\]]*)\]/g,r=null;for(;r=a.exec(e);)t+=e.slice(n,r.index),n=r.index+r[0].length,r[0][0]==="<"?t+=r[4]:r[0][0]==="["&&r[0][1]==="^"?t+="":r[0][0]!=="!"?t+=r[1]:t+=r[0];return t+=e.slice(n,e.length),t}function ue(e,t){let n=new ee;if(!e)return{content:"",array:[]};let a=t.ordered,r=t.depthFrom||1,s=t.depthTo||6,o=t.tab||" ",l=t.ignoreLink||!1;if(a&&(o=" "),e=e.filter(g=>g.level>=r&&g.level<=s),!e.length)return{content:"",array:[]};let d=[],p=e[0].level;for(let g of e)g.level<p&&(p=g.level);let c=[];for(let g of e){let f=g.content.trim(),S=g.level,m=g.id||n.generateId(f),u=S-p,b="1";a&&(u>=c.length?c.push(1):u===c.length-1?c[c.length-1]++:(c=c.slice(0,u+1),c.length&&c[c.length-1]++),b=c[c.length-1].toString());let h=`${ka(o,u)}${a?`${b}.`:"-"} ${l?$t(f):`[${$t(f)}](#${m})`}`;d.push(h)}return{content:d.join(`
105
- `),array:d}}function Gt(e,t,n){if(!e.length)return"";let a=new ee,r=n.depthFrom||1,s=n.depthTo||6;e=e.filter(c=>c.level>=r&&c.level<=s),e=e.map((c,g)=>(c.offset=g,c));let o="",l=e[0].level;for(let c=0;c<e.length;c++)e[c].level<l&&(l=e[c].level);let d=(c,g,f)=>{let S=[];for(let m=f;m<c.length;m++){let u=c[m];if(u.level===g)S.push(u);else{if(u.level<g)break;continue}}return S},p=(c,g)=>{let m="";for(let u=0;u<g.length;u++){let b=g[u];if(b.offset===void 0)continue;let h=d(c,b.level+1,b.offset+1),E=`padding-left:${b.level===l?0:24}px;`,_="padding:0;",A=t(b.content),T=b.id||a.generateId(b.content);h.length?m+=`<details style="${_};${E}" open>
104
+ `)}nt.prototype=globalThis.Function.prototype;function at(){return process.env.IS_VSCODE_WEB_EXTENSION==="true"}function ye(e){if(e=e.trim().replace(/[;,]+$/,""),at()){let t=new ma({sandBox:!0,ecmaVer:2019});return t.run(`exports.result = (${e})`),t.exports.result}else{let t={};return ue.runInNewContext(`result = (${e})`,t),t.result}}import*as ie from"cheerio";import{execFile as Zr}from"child_process";import{copy as Xn}from"copy-anything";import Jn from"crypto-js";import*as Y from"fs";import{escape as re}from"html-escaper";import*as R from"path";import Xr from"request";import*as ea from"yaml";import{execFile as fa}from"child_process";import{mkdirp as ba}from"mkdirp";import*as Ce from"path";function ha(e={},t){let n=e.title||"No Title";t.push("--title",n),e.authors&&t.push("--authors",e.authors),e.cover&&t.push("--cover",e.cover),e.comment&&t.push("--comments",e.comments),e.publisher&&t.push("--publisher",e.publisher),e["book-producer"]&&t.push("--book-producer",e["book-producer"]),e.pubdate&&t.push("--pubdate",e.pubdate),e.language&&t.push("--language",e.language),e.isbn&&t.push("--isbn",e.isbn),e.tags&&t.push("--tags",e.tags),e.series&&t.push("--series",e.series),e.rating&&t.push("--rating",e.rating)}function Ea(e={},t){e.asciiize&&t.push("--asciiize"),e["base-font-size"]&&t.push("--base-font-size="+e["base-font-size"]),e["disable-font-rescaling"]&&t.push("--disable-font-rescaling"),e["line-height"]&&t.push("--line-height="+e["line-height"]);let n=72,a=72,r=72,s=72;if(e.margin){let o=e.margin;o instanceof Array?o.length===1?(n=o[0],r=o[0],s=o[0],a=o[0]):o.length===2?(n=o[0],r=o[0],s=o[1],a=o[1]):o.length===4&&(n=o[0],a=o[1],r=o[2],s=o[3]):typeof o=="number"&&(n=o,r=o,s=o,a=o)}else e["margin-top"]&&(n=e["margin-top"]),e["margin-right"]&&(a=e["margin-right"]),e["margin-bottom"]&&(r=e["margin-bottom"]),e["margin-left"]&&(s=e["margin-left"]);t.push("--margin-top="+n),t.push("--margin-bottom="+r),t.push("--margin-left="+s),t.push("--margin-right="+a)}function Sa(e={},t){e["no-default-epub-cover"]&&t.push("--no-default-epub-cover"),e["no-svg-cover"]&&t.push("--no-svg-cover"),e["pretty-print"]&&t.push("--pretty-print")}function ya(e={},t){e["paper-size"]&&t.push("--paper-size",e["paper-size"]),e["default-font-size"]&&t.push("--pdf-default-font-size="+e["default-font-size"]),e["header-template"]&&t.push("--pdf-header-template",e["header-template"]),e["footer-template"]&&t.push("--pdf-footer-template",e["footer-template"]),e["page-numbers"]&&t.push("--pdf-page-numbers"),e["pretty-print"]&&t.push("--pretty-print")}function $t(e,t,n={}){return new Promise((a,r)=>{let s=[e,t,"--level1-toc","//*[@ebook-toc-level-1]/@heading","--level2-toc","//*[@ebook-toc-level-2]/@heading","--level3-toc","//*[@ebook-toc-level-3]/@heading","--no-chapters-in-toc"];ha(n,s),Ea(n,s);let o=Ce.extname(t).slice(1);o==="epub"?Sa(n.epub,s):o==="pdf"&&ya(n.pdf,s),(n.args||[]).forEach(d=>{s.push(d)}),ba(Ce.dirname(t)).then(()=>{fa("ebook-convert",s,d=>d?r(d.toString()):a())}).catch(d=>{if(d)return r(d)})})}import*as An from"fs";import{escape as wn}from"html-escaper";import{mkdirp as Ja}from"mkdirp";import*as ne from"path";import ka from"md5";var Ta=e=>ka(e).toString(),K=Ta;import wa from"uslug";var ee=class{constructor(){this.table={}}generateId(t){let n=(r,s)=>{let o=s.replace(/[!"#$%&'()*+,./:;<=>?@[\\]^`{|}~]/g,"").replace(/^\s/,"").replace(/\s$/,"").replace(/`/g,"~");return(s.match(/^\s+$/)?"~":o)+(r.endsWith(" ")&&!o.endsWith("~")?"~":"")};t=t.trim().replace(/~|。/g,"").replace(/``(.+?)``\s?/g,n).replace(/`(.*?)`\s?/g,n);let a=wa(t.replace(/\s/g,"~")).replace(/~/g,"-");return this.table[a]>=0?(this.table[a]=this.table[a]+1,a+="-"+this.table[a]):this.table[a]=0,a}};function Aa(e,t){let n="";for(let a=0;a<t;a++)n+=e;return n}function Gt(e){let t="",n=0,a=/!?\[([^\]]*)\]\(([^)]*)\)|<([^>]*)>([^<]*)<\/([^>]*)>|\[\^([^\]]*)\]/g,r=null;for(;r=a.exec(e);)t+=e.slice(n,r.index),n=r.index+r[0].length,r[0][0]==="<"?t+=r[4]:r[0][0]==="["&&r[0][1]==="^"?t+="":r[0][0]!=="!"?t+=r[1]:t+=r[0];return t+=e.slice(n,e.length),t}function ge(e,t){let n=new ee;if(!e)return{content:"",array:[]};let a=t.ordered,r=t.depthFrom||1,s=t.depthTo||6,o=t.tab||" ",l=t.ignoreLink||!1;if(a&&(o=" "),e=e.filter(g=>g.level>=r&&g.level<=s),!e.length)return{content:"",array:[]};let d=[],p=e[0].level;for(let g of e)g.level<p&&(p=g.level);let c=[];for(let g of e){let f=g.content.trim(),S=g.level,m=g.id||n.generateId(f),u=S-p,b="1";a&&(u>=c.length?c.push(1):u===c.length-1?c[c.length-1]++:(c=c.slice(0,u+1),c.length&&c[c.length-1]++),b=c[c.length-1].toString());let h=`${Aa(o,u)}${a?`${b}.`:"-"} ${l?Gt(f):`[${Gt(f)}](#${m})`}`;d.push(h)}return{content:d.join(`
105
+ `),array:d}}function zt(e,t,n){if(!e.length)return"";let a=new ee,r=n.depthFrom||1,s=n.depthTo||6;e=e.filter(c=>c.level>=r&&c.level<=s),e=e.map((c,g)=>(c.offset=g,c));let o="",l=e[0].level;for(let c=0;c<e.length;c++)e[c].level<l&&(l=e[c].level);let d=(c,g,f)=>{let S=[];for(let m=f;m<c.length;m++){let u=c[m];if(u.level===g)S.push(u);else{if(u.level<g)break;continue}}return S},p=(c,g)=>{let m="";for(let u=0;u<g.length;u++){let b=g[u];if(b.offset===void 0)continue;let h=d(c,b.level+1,b.offset+1),E=`padding-left:${b.level===l?0:24}px;`,_="padding:0;",A=t(b.content),T=b.id||a.generateId(b.content);h.length?m+=`<details style="${_};${E}" open>
106
106
  <summary class="md-toc-link-wrapper">
107
107
  <a href="#${T}" class="md-toc-link">${A}</a>
108
108
  </summary>
@@ -120,15 +120,15 @@ ${new Date().toString()}
120
120
  <div class="md-toc">
121
121
  ${p(e,d(e,l,0))}
122
122
  </div>
123
- `,o}import*as Jt from"fs/promises";import*as Qt from"less";import*as en from"papaparse";import*as Z from"path";import tn from"request";import*as nn from"temp";import{snakeCase as Ta}from"snake-case";var zt=e=>{if(typeof e!="object")return{};let t=!1,n={...e};for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){let r=Ta(a);r!==a&&(n[r]=n[a],delete n[a],t=!0)}return t?n:e};var Ht=e=>e.toLowerCase()==="true"?!0:e.toLowerCase()==="false"?!1:isNaN(e)?e:parseFloat(e),jt=(e,t)=>{if(e[t]!=="(")return;let n=1,a=t+1;for(;a<e.length&&(e[a]==="("?n+=1:e[a]===")"&&(n-=1),a+=1,n!==0););return[e.substring(t,a),a,"stringWithBrackets"]},Wt=(e,t)=>{let n=e[t];if(!"'\"`".includes(n))return;let a=t+1,r=[];for(;a<e.length;){if(e[a]==="\\"){a+1<e.length&&r.push(e[a+1]),a+=2;continue}if(e[a]===n){a+=1;break}r.push(e[a]),a+=1}return[r.join(""),a,"stringInQuotes"]},wa=/^[^,;=\s]$/,Vt=(e,t)=>{let n=t,a=0;for(;n<e.length;){let r=e[n];if(!wa.test(r)||(r==="["?a+=1:r==="]"&&(a-=1),a<0))break;n+=1}if(n!==t)return[e.substring(t,n),n,"word"]},qt=(e,t)=>{if(e[t]!=="[")return;let n=[],a=t+1;for(;a<e.length;){if(e[a]==="]"){a+=1;break}let s=qt(e,a)||jt(e,a)||Wt(e,a)||Vt(e,a);if(s){let[o,l,d]=s,p=d==="word"?Ht(o):o;a=l,n.push(p)}else a+=1}return[n,a,"array"]},te=e=>{let t=(e||"").trim();t[0]==="{"&&t[t.length-1]==="}"&&(t=t.slice(1,-1));let n={},a,r=0;for(;r<t.length;){let s=qt(t,r)||jt(t,r)||Wt(t,r)||Vt(t,r);if(s){let o=typeof a=="string",[l,d,p]=s,c=p==="word"&&o?Ht(l):l;if(r=d,o)n[a]=c,a=void 0;else if(t[r]==="=")a=c;else{let g=c[0],f;switch(g){case".":f="class";break;case"#":f="id";break}if(f){let S=c.substring(1);if(S.length){let m=n[f];n[f]=typeof m>"u"?S:`${m} ${S}`}}else typeof c=="string"&&(n[c]=!0)}}else r+=1}return n};var Yt=e=>{let t=["["];return e.forEach((n,a)=>{n instanceof Array?t.push(Yt(n)):t.push(JSON.stringify(n)),a+1!==e.length&&t.push(", ")}),t.push("]"),t.join("")},q=(e={},t=!1)=>{let n=[];for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){n.push(" "),n.push(`${a}=`);let r=e[a];r instanceof Array?n.push(Yt(r)):n.push(JSON.stringify(r))}return n.shift(),t&&(n.unshift("{"),n.push("}")),n.join("")};import{spawn as Aa}from"child_process";import*as Kt from"fs";import*as ke from"path";import*as Zt from"temp";var rt;function Oe(e,{svgDirectoryPath:t,markdownDirectoryPath:n,svgZoom:a,svgWidth:r,svgHeight:s}){return new Promise((o,l)=>{t||(rt||(rt=Zt.mkdirSync("crossnote_pdf")),t=rt);let d=K(e)+"_",p=Aa("pdf2svg",[`"${e}"`,`"${ke.resolve(t??"/tmp/crossnote_pdf",d+"%d.svg")}"`,"all"],{shell:!0}),c=[];p.stdout.on("data",f=>{c.push(f)});let g=[];p.stderr.on("data",f=>{g.push(f)}),p.on("error",f=>{g.push(Buffer.from(f.toString(),"utf-8"))}),p.on("close",()=>{if(g.length)return l(Buffer.concat(g).toString());Kt.readdir(t??"",(f,S)=>{if(f)return l(f.toString());S=S.sort((b,h)=>{let E=parseInt((b.match(/_(\d+)\.svg$/)??[])[1],10),_=parseInt((h.match(/_(\d+)\.svg$/)??[])[1],10);return E-_});let m="",u=Math.random();return S.forEach(b=>{if(b.match(new RegExp(`^${d}(\\d+).svg`))){let E=ke.relative(n,ke.resolve(t??"",b));E=E.replace(/\.\.\\/g,"../").replace(/\\/g,"/"),a||r||s?m+=`<img src="${E}" ${r?`width="${r}"`:""} ${s?`height="${s}"`:""} ${a?`style="zoom:${a};"`:""}>`:m+=`![](${E}?${u})
124
- `}}),o(m)})})})}var it=(o=>(o[o.pagebreak=0]="pagebreak",o[o.newpage=1]="newpage",o[o.toc=2]="toc",o[o.tocstop=3]="tocstop",o[o.slide=4]="slide",o[o[".slide"]=5]=".slide",o[o[".slide:"]=6]=".slide:",o[o.ebook=7]="ebook",o[o["toc-bracket"]=8]="toc-bracket",o))(it||{});var ot={vhd:"vhdl",erl:"erlang",dot:"dot",gv:"dot",viz:"dot"},_a={area:1,base:1,br:1,col:1,command:1,embed:1,hr:1,img:1,input:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1};function Ra(e){let t=`
123
+ `,o}import*as en from"fs/promises";import{escape as Qt}from"html-escaper";import*as tn from"less";import*as nn from"papaparse";import*as Z from"path";import an from"request";import*as rn from"temp";import{snakeCase as _a}from"snake-case";var Ht=e=>{if(typeof e!="object")return{};let t=!1,n={...e};for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){let r=_a(a);r!==a&&(n[r]=n[a],delete n[a],t=!0)}return t?n:e};var jt=e=>e.toLowerCase()==="true"?!0:e.toLowerCase()==="false"?!1:isNaN(e)?e:parseFloat(e),Wt=(e,t)=>{if(e[t]!=="(")return;let n=1,a=t+1;for(;a<e.length&&(e[a]==="("?n+=1:e[a]===")"&&(n-=1),a+=1,n!==0););return[e.substring(t,a),a,"stringWithBrackets"]},Vt=(e,t)=>{let n=e[t];if(!"'\"`".includes(n))return;let a=t+1,r=[];for(;a<e.length;){if(e[a]==="\\"){a+1<e.length&&r.push(e[a+1]),a+=2;continue}if(e[a]===n){a+=1;break}r.push(e[a]),a+=1}return[r.join(""),a,"stringInQuotes"]},Ra=/^[^,;=\s]$/,qt=(e,t)=>{let n=t,a=0;for(;n<e.length;){let r=e[n];if(!Ra.test(r)||(r==="["?a+=1:r==="]"&&(a-=1),a<0))break;n+=1}if(n!==t)return[e.substring(t,n),n,"word"]},Yt=(e,t)=>{if(e[t]!=="[")return;let n=[],a=t+1;for(;a<e.length;){if(e[a]==="]"){a+=1;break}let s=Yt(e,a)||Wt(e,a)||Vt(e,a)||qt(e,a);if(s){let[o,l,d]=s,p=d==="word"?jt(o):o;a=l,n.push(p)}else a+=1}return[n,a,"array"]},te=e=>{let t=(e||"").trim();t[0]==="{"&&t[t.length-1]==="}"&&(t=t.slice(1,-1));let n={},a,r=0;for(;r<t.length;){let s=Yt(t,r)||Wt(t,r)||Vt(t,r)||qt(t,r);if(s){let o=typeof a=="string",[l,d,p]=s,c=p==="word"&&o?jt(l):l;if(r=d,o)n[a]=c,a=void 0;else if(t[r]==="=")a=c;else{let g=c[0],f;switch(g){case".":f="class";break;case"#":f="id";break}if(f){let S=c.substring(1);if(S.length){let m=n[f];n[f]=typeof m>"u"?S:`${m} ${S}`}}else typeof c=="string"&&(n[c]=!0)}}else r+=1}return n};var Kt=e=>{let t=["["];return e.forEach((n,a)=>{n instanceof Array?t.push(Kt(n)):t.push(JSON.stringify(n)),a+1!==e.length&&t.push(", ")}),t.push("]"),t.join("")},q=(e={},t=!1)=>{let n=[];for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){n.push(" "),n.push(`${a}=`);let r=e[a];r instanceof Array?n.push(Kt(r)):n.push(JSON.stringify(r))}return n.shift(),t&&(n.unshift("{"),n.push("}")),n.join("")};import{spawn as Ia}from"child_process";import*as Zt from"fs";import*as ke from"path";import*as Xt from"temp";var rt;function Oe(e,{svgDirectoryPath:t,markdownDirectoryPath:n,svgZoom:a,svgWidth:r,svgHeight:s}){return new Promise((o,l)=>{t||(rt||(rt=Xt.mkdirSync("crossnote_pdf")),t=rt);let d=K(e)+"_",p=Ia("pdf2svg",[`"${e}"`,`"${ke.resolve(t??"/tmp/crossnote_pdf",d+"%d.svg")}"`,"all"],{shell:!0}),c=[];p.stdout.on("data",f=>{c.push(f)});let g=[];p.stderr.on("data",f=>{g.push(f)}),p.on("error",f=>{g.push(Buffer.from(f.toString(),"utf-8"))}),p.on("close",()=>{if(g.length)return l(Buffer.concat(g).toString());Zt.readdir(t??"",(f,S)=>{if(f)return l(f.toString());S=S.sort((b,h)=>{let E=parseInt((b.match(/_(\d+)\.svg$/)??[])[1],10),_=parseInt((h.match(/_(\d+)\.svg$/)??[])[1],10);return E-_});let m="",u=Math.random();return S.forEach(b=>{if(b.match(new RegExp(`^${d}(\\d+).svg`))){let E=ke.relative(n,ke.resolve(t??"",b));E=E.replace(/\.\.\\/g,"../").replace(/\\/g,"/"),a||r||s?m+=`<img src="${E}" ${r?`width="${r}"`:""} ${s?`height="${s}"`:""} ${a?`style="zoom:${a};"`:""}>`:m+=`![](${E}?${u})
124
+ `}}),o(m)})})})}var it=(o=>(o[o.pagebreak=0]="pagebreak",o[o.newpage=1]="newpage",o[o.toc=2]="toc",o[o.tocstop=3]="tocstop",o[o.slide=4]="slide",o[o[".slide"]=5]=".slide",o[o[".slide:"]=6]=".slide:",o[o.ebook=7]="ebook",o[o["toc-bracket"]=8]="toc-bracket",o))(it||{});var ot={vhd:"vhdl",erl:"erlang",dot:"dot",gv:"dot",viz:"dot"},va={area:1,base:1,br:1,col:1,command:1,embed:1,hr:1,img:1,input:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1};function Na(e){let t=`
125
125
  `;return e.forEach((n,a)=>{let r=0;for(t+="|";r<n.length;)t+=n[r]+"|",r+=1;if(t+=`
126
126
  `,a===0){for(t+="|",r=0;r<n.length;)t+="---|",r+=1;t+=`
127
127
  `}}),t+=" ",t}function Te(e){return`
128
128
 
129
129
  <p data-line="${e}" class="sync-line" style="margin:0;"></p>
130
130
 
131
- `}var st=null;function Ia(e){return new Promise((t,n)=>{if(!e.match(/^https?:\/\//))return t(e);st||(st=nn.mkdirSync("crossnote_downloads")),tn.get({url:e,encoding:"binary"},async(a,r,s)=>{if(a)return n(a);{let o=Z.resolve(st??"/tmp/crossnote_downloads",K(e))+Z.extname(e);return await Jt.writeFile(o,s,"binary"),o}})})}async function va(e,{fileDirectoryPath:t,imageDirectoryPath:n,notebook:a},r={}){if(r[e])return r[e];if(e.endsWith(".less")){let s=await a.fs.readFile(e);return await new Promise((o,l)=>{Qt.render(s,{paths:[Z.dirname(e)]},(d,p)=>d?l(d):o(p?.css||""))})}else if(e.endsWith(".pdf")){let s=await Ia(e);return await Oe(s,{markdownDirectoryPath:t,svgDirectoryPath:n})}else return e.match(/^https?:\/\//)?(e.startsWith("https://github.com/")&&(e=e.replace("https://github.com/","https://raw.githubusercontent.com/").replace("/blob/","/")),await new Promise((s,o)=>{tn(e,(l,d,p)=>{l?o(l):s(p.toString())})})):await a.fs.readFile(e)}async function le(e,{fileDirectoryPath:t="",projectDirectoryPath:n="",filesCache:a={},useRelativeFilePath:r=!1,forPreview:s=!1,forMarkdownExport:o=!1,protocolsWhiteListRegExp:l=null,notSourceFile:d=!1,imageDirectoryPath:p="",headingIdGenerator:c=new ee,notebook:g}){let f=null,S=0,m=[],u=[],b=[],h=!1,E="";async function _(T,k=0){let y="";for(;T<e.length;){if(e[T]===`
131
+ `}var st=null;function Ca(e){return new Promise((t,n)=>{if(!e.match(/^https?:\/\//))return t(e);st||(st=rn.mkdirSync("crossnote_downloads")),an.get({url:e,encoding:"binary"},async(a,r,s)=>{if(a)return n(a);{let o=Z.resolve(st??"/tmp/crossnote_downloads",K(e))+Z.extname(e);return await en.writeFile(o,s,"binary"),o}})})}async function Oa(e,{fileDirectoryPath:t,imageDirectoryPath:n,notebook:a},r={}){if(r[e])return r[e];if(e.endsWith(".less")){let s=await a.fs.readFile(e);return await new Promise((o,l)=>{tn.render(s,{paths:[Z.dirname(e)]},(d,p)=>d?l(d):o(p?.css||""))})}else if(e.endsWith(".pdf")){let s=await Ca(e);return await Oe(s,{markdownDirectoryPath:t,svgDirectoryPath:n})}else return e.match(/^https?:\/\//)?(e.startsWith("https://github.com/")&&(e=e.replace("https://github.com/","https://raw.githubusercontent.com/").replace("/blob/","/")),await new Promise((s,o)=>{an(e,(l,d,p)=>{l?o(l):s(p.toString())})})):await a.fs.readFile(e)}async function de(e,{fileDirectoryPath:t="",projectDirectoryPath:n="",filesCache:a={},useRelativeFilePath:r=!1,forPreview:s=!1,forMarkdownExport:o=!1,protocolsWhiteListRegExp:l=null,notSourceFile:d=!1,imageDirectoryPath:p="",headingIdGenerator:c=new ee,notebook:g}){let f=null,S=0,m=[],u=[],b=[],h=!1,E="";async function _(T,k=0){let y="";for(;T<e.length;){if(e[T]===`
132
132
  `){T=T+1,k=k+1,y=y+`
133
133
  `;continue}let w=e.indexOf(`
134
134
  `,T);w<0&&(w=e.length);let N=e.substring(T,w),C=!!f,v=(N.match(/^[`]{3,}/)||[])[0];if(v){!C&&s&&(y+=Te(k));let x=!!N.match(/"?cmd"?\s*[:=\s}]/);!C&&!d&&x&&(N=N.replace("{",`{code_chunk_offset=${S}, `),S++),C?f!==null&&v.length>=f.length&&(f=null):f=v,T=w+1,k=k+1,y=y+N+`
@@ -151,17 +151,17 @@ ${p(e,d(e,l,0))}
151
151
  [CROSSNOTETOC]
152
152
 
153
153
  `;continue}else if($=N.match(/^\s*(?:[*\-+]|\d+\.)\s+(\[[xX\s]\])\s/)){let x=$[1]!=="[ ]";o||(N=N.replace($[1],`<input type="checkbox" class="task-list-item-checkbox${s?" sync-line":""}" ${s?`data-line="${k}"`:""}${x?" checked":""}>`)),T=w+1,k=k+1,y=y+N+`
154
- `;continue}else if(F=N.match(/^\s*<(?:([a-zA-Z]+)|([a-zA-Z]+)\s+(?:.+?))>/)){let x=F[1]||F[2];if(!(x in _a)){let G=`</${x}>`,I=e.indexOf(G,T+F[0].length);if(!(I<0)){let H=e.slice(T,I+G.length),z=H.match(/\n/g),L=z?z.length:0;T=I+G.length,k=k+L,y=y+H;continue}}}let B=N.match(/^(\s*)@import(\s+)"([^"]+)";?/);if(B){y+=B[1];let x=B[3].trim(),G=N.indexOf("{"),I={},H="";if(G>0){let D=N.lastIndexOf("}");if(D>0){H=N.substring(G+1,D);try{I=te(H)}catch{}}}let z;l&&x.match(l)?z=x:x.startsWith("/")?z=Z.resolve(n,"."+x):z=Z.resolve(t,x);let L=Z.extname(x).toLocaleLowerCase(),P="";if([".jpeg",".jpg",".gif",".png",".apng",".svg",".bmp"].indexOf(L)>=0){let D=a[x];if(D||(l&&x.match(l)?D=x:r?D=Z.relative(t,z)+"?"+Math.random():D="/"+Z.relative(n,z)+"?"+Math.random(),D=D.replace(/ /g,"%20").replace(/\\/g,"/"),a[x]=D),I)if(I.width||I.height||I.class||I.id){P=`<img src="${D}" `;for(let M in I)I.hasOwnProperty(M)&&(P+=` ${M}="${I[M]}" `);P+=">"}else P="![",I.alt&&(P+=I.alt),P+=`](${D}`,I.title&&(P+=` "${I.title}"`),P+=") ";else P=`![](${D}) `;T=w+1,k=k+1,y=y+P+`
154
+ `;continue}else if(F=N.match(/^\s*<(?:([a-zA-Z]+)|([a-zA-Z]+)\s+(?:.+?))>/)){let x=F[1]||F[2];if(!(x in va)){let G=`</${x}>`,I=e.indexOf(G,T+F[0].length);if(!(I<0)){let H=e.slice(T,I+G.length),z=H.match(/\n/g),L=z?z.length:0;T=I+G.length,k=k+L,y=y+H;continue}}}let B=N.match(/^(\s*)@import(\s+)"([^"]+)";?/);if(B){y+=B[1];let x=B[3].trim(),G=N.indexOf("{"),I={},H="";if(G>0){let D=N.lastIndexOf("}");if(D>0){H=N.substring(G+1,D);try{I=te(H)}catch{}}}let z;l&&x.match(l)?z=x:x.startsWith("/")?z=Z.resolve(n,"."+x):z=Z.resolve(t,x);let L=Z.extname(x).toLocaleLowerCase(),P="";if([".jpeg",".jpg",".gif",".png",".apng",".svg",".bmp"].indexOf(L)>=0){let D=a[x];if(D||(l&&x.match(l)?D=x:r?D=Z.relative(t,z)+"?"+Math.random():D="/"+Z.relative(n,z)+"?"+Math.random(),D=D.replace(/ /g,"%20").replace(/\\/g,"/"),a[x]=D),I)if(I.width||I.height||I.class||I.id){P=`<img src="${D}" `;for(let M in I)I.hasOwnProperty(M)&&(P+=` ${M}="${I[M]}" `);P+=">"}else P="![",I.alt&&(P+=I.alt),P+=`](${D}`,I.title&&(P+=` "${I.title}"`),P+=") ";else P=`![](${D}) `;T=w+1,k=k+1,y=y+P+`
155
155
  `;continue}else if(x==="[TOC]"){I||(I={depth_from:1,depth_to:6,ordered_list:!0}),I.cmd="toc",I.hide=!0,I.run_on_save=!0,I.modify_source=!0,d||(I.code_chunk_offset=S,S++);let D=`\`\`\`text ${q(I)}
156
156
  \`\`\` `;T=w+1,k=k+1,y=y+D+`
157
- `;continue}else try{let D=await va(z,{fileDirectoryPath:t,imageDirectoryPath:p,notebook:g},a);if(a[z]=D,I&&(I.line_begin||I.line_end)){let M=D.split(/\n/);D=M.slice(parseInt(I.line_begin,10)||0,parseInt(I.line_end,10)||M.length).join(`
157
+ `;continue}else try{let D=await Oa(z,{fileDirectoryPath:t,imageDirectoryPath:p,notebook:g},a);if(a[z]=D,I&&(I.line_begin||I.line_end)){let M=D.split(/\n/);D=M.slice(parseInt(I.line_begin,10)||0,parseInt(I.line_end,10)||M.length).join(`
158
158
  `)}if(I&&I.code_block){let M=L.slice(1,L.length);P=`\`\`\`${I.as||ot[M]||M} ${q(I)}
159
159
  ${D}
160
160
  \`\`\` `}else if(I&&I.cmd){I.id||(I.id=K(z)),d||(I.code_chunk_offset=S,S++);let M=L.slice(1,L.length);P=`\`\`\`${I.as||ot[M]||M} ${q(I)}
161
161
  ${D}
162
- \`\`\` `}else if([".md",".markdown",".mmark"].indexOf(L)>=0){g.config.parserConfig.onWillTransformMarkdown&&(D=await g.config.parserConfig.onWillTransformMarkdown(D));let M,V;({outputString:M,headings:V}=await le(D,{fileDirectoryPath:Z.dirname(z),projectDirectoryPath:n,filesCache:a,useRelativeFilePath:!1,forPreview:!1,forMarkdownExport:o,protocolsWhiteListRegExp:l,notSourceFile:!0,imageDirectoryPath:p,notebook:g,headingIdGenerator:c})),g.config.parserConfig&&(M=await g.config.parserConfig.onDidTransformMarkdown(M)),M=`
162
+ \`\`\` `}else if([".md",".markdown",".mmark"].indexOf(L)>=0){g.config.parserConfig.onWillTransformMarkdown&&(D=await g.config.parserConfig.onWillTransformMarkdown(D));let M,V;({outputString:M,headings:V}=await de(D,{fileDirectoryPath:Z.dirname(z),projectDirectoryPath:n,filesCache:a,useRelativeFilePath:!1,forPreview:!1,forMarkdownExport:o,protocolsWhiteListRegExp:l,notSourceFile:!0,imageDirectoryPath:p,notebook:g,headingIdGenerator:c})),g.config.parserConfig&&(M=await g.config.parserConfig.onDidTransformMarkdown(M)),M=`
163
163
  `+M+" ",b=b.concat(V),T=w+1,k=k+1,y=y+M+`
164
- `;continue}else if(L===".html")P="<div>"+D+"</div> ";else if(L===".csv"){let M=en.parse(D.trim());M.errors.length?P=`<pre>${M.errors[0]}</pre> `:P=Ra(M.data)}else if(L===".css"||L===".js"){if(s)P="";else{let M;l&&x.match(l)?M=x:r?M=Z.relative(t,z):M="file:///"+z,L===".js"?P=`<script type="text/javascript" src="${M}"></script>`:P=`<link rel="stylesheet" href="${M}">`}u.push(x)}else if(L===".less")P=`<style>${D}</style>`;else if(L===".pdf")if(I&&I.page_no){let M=D.split(`
164
+ `;continue}else if(L===".html")P="<div>"+D+"</div> ";else if(L===".csv"){let M=nn.parse(D.trim());M.errors.length?P=`<pre class="language-text"><code>${Qt(M.errors[0].toString())}</code></pre> `:P=Na(M.data)}else if(L===".css"||L===".js"){if(s)P="";else{let M;l&&x.match(l)?M=x:r?M=Z.relative(t,z):M="file:///"+z,L===".js"?P=`<script type="text/javascript" src="${M}"></script>`:P=`<link rel="stylesheet" href="${M}">`}u.push(x)}else if(L===".less")P=`<style>${D}</style>`;else if(L===".pdf")if(I&&I.page_no){let M=D.split(`
165
165
  `),V=parseInt(I.page_no,10)-1;V<0&&(V=0),P=M[V]||""}else if(I&&(I.page_begin||I.page_end)){let M=D.split(`
166
166
  `),V=parseInt(I.page_begin,10)-1||0,Ee=I.page_end||M.length-1;V<0&&(V=0),P=M.slice(V,Ee).join(`
167
167
  `)||""}else P=D;else if(L===".dot"||L===".gv"||L===".viz"||L===".graphviz")P=`\`\`\`dot ${q(I,!0)}
@@ -174,10 +174,10 @@ ${D}
174
174
  \`\`\` `;else{let M=null;if(I&&(M=I.as),I&&I.code_block===!1)P=D;else{let V=L.slice(1,L.length);P=`\`\`\`${M||ot[V]||V} ${I?q(I):""}
175
175
  ${D}
176
176
  \`\`\` `}}T=w+1,k=k+1,y=y+P+`
177
- `;continue}catch(D){P=`<pre>${D.toString()}</pre> `,T=w+1,k=k+1,y=y+P+`
177
+ `;continue}catch(D){P=`<pre class="language-text"><code>${Qt(D.toString())}</code></pre> `,T=w+1,k=k+1,y=y+P+`
178
178
  `;continue}}else{T=w+1,k=k+1,y=y+N+`
179
179
  `;continue}}return{outputString:y,slideConfigs:m,tocBracketEnabled:h,JSAndCssFiles:u,headings:b,frontMatterString:E}}let A=0;return e.startsWith("---")&&(A=e.indexOf(`
180
- ---`))>0?(E=e.slice(0,A+4),await _(E.length,(E.match(/\n/g)??[]).length)):await _(0,0)}import*as yn from"cheerio";import*as re from"path";import{spawn as Oa}from"child_process";import*as dt from"fs/promises";import{unlink as lt}from"fs/promises";import*as ct from"path";import*as De from"vm";import{spawn as Na}from"child_process";import*as Le from"fs";import*as ae from"path";function xe(e){let t=ae.dirname(e),n=ae.extname(e),a=ae.basename(e).replace(new RegExp(n+"$"),"");Le.readdir(t,(r,s)=>{r||s.forEach(o=>{o.startsWith(a)&&!o.match(/\.(la)?tex/)&&Le.unlink(ae.resolve(t,o),()=>{})})})}function an(e,{latexEngine:t="pdflatex",svgDirectoryPath:n,markdownDirectoryPath:a,svgZoom:r,svgWidth:s,svgHeight:o}){return new Promise((l,d)=>{let p=Na(t,[`"${e}"`],{cwd:ae.dirname(e),shell:!0}),c=[];p.stdout.on("data",f=>{c.push(f)});let g=[];p.stderr.on("data",f=>{g.push(f)}),p.on("error",f=>{g.push(Buffer.from(f.toString(),"utf-8"))}),p.on("close",()=>{if(g.length)return xe(e),d(Buffer.concat(g).toString());{let f=Buffer.concat(c).toString();if(f.indexOf("LaTeX Error")>=0)return xe(e),d(f);let S=e.replace(/\.(la)?tex$/,".pdf");Oe(S,{svgDirectoryPath:n,markdownDirectoryPath:a,svgZoom:r,svgWidth:s,svgHeight:o}).then(m=>(xe(e),l(m))).catch(m=>(xe(e),d(m)))}}),p.stdin.end()})}async function pt(e,t,n){let a=n.latex_engine||"pdflatex",r=n.latex_svg_dir,s=n.latex_zoom,o=n.latex_width,l=n.latex_height,d=ct.resolve(t,Math.random().toString(36).substr(2,9)+"_code_chunk.tex");await dt.writeFile(d,e);try{let p=await an(d,{latexEngine:a,markdownDirectoryPath:t,svgDirectoryPath:r,svgZoom:s,svgWidth:o,svgHeight:l});return await lt(d),p}catch(p){throw await lt(d),p}}async function xa(e,t){let n=new De.Script(`((${e})())`),a=De.createContext(t.context||{});return n.runInContext(a)}async function rn(e,t,n,a,r="pdflatex"){let s=a.args||[];typeof s=="string"&&(s=[s]);let o=Da(n),l=ct.resolve(t,Math.random().toString(36).substr(2,9)+"_code_chunk"+o);if(e=e.replace(/\u00A0/g," "),n.match(/(la)?tex/)||n==="pdflatex"){let p={...a,latex_engine:a.latex_engine||r};return pt(e,t,p)}if(n==="node.vm")return xa(e,a);n.match(/python/)&&(a.matplotlib||a.mpl)&&(e=`
180
+ ---`))>0?(E=e.slice(0,A+4),await _(E.length,(E.match(/\n/g)??[]).length)):await _(0,0)}import*as Tn from"cheerio";import*as oe from"path";import{spawn as Da}from"child_process";import*as dt from"fs/promises";import{unlink as lt}from"fs/promises";import*as ct from"path";import*as De from"vm";import{spawn as xa}from"child_process";import*as Le from"fs";import*as ae from"path";function xe(e){let t=ae.dirname(e),n=ae.extname(e),a=ae.basename(e).replace(new RegExp(n+"$"),"");Le.readdir(t,(r,s)=>{r||s.forEach(o=>{o.startsWith(a)&&!o.match(/\.(la)?tex/)&&Le.unlink(ae.resolve(t,o),()=>{})})})}function on(e,{latexEngine:t="pdflatex",svgDirectoryPath:n,markdownDirectoryPath:a,svgZoom:r,svgWidth:s,svgHeight:o}){return new Promise((l,d)=>{let p=xa(t,[`"${e}"`],{cwd:ae.dirname(e),shell:!0}),c=[];p.stdout.on("data",f=>{c.push(f)});let g=[];p.stderr.on("data",f=>{g.push(f)}),p.on("error",f=>{g.push(Buffer.from(f.toString(),"utf-8"))}),p.on("close",()=>{if(g.length)return xe(e),d(Buffer.concat(g).toString());{let f=Buffer.concat(c).toString();if(f.indexOf("LaTeX Error")>=0)return xe(e),d(f);let S=e.replace(/\.(la)?tex$/,".pdf");Oe(S,{svgDirectoryPath:n,markdownDirectoryPath:a,svgZoom:r,svgWidth:s,svgHeight:o}).then(m=>(xe(e),l(m))).catch(m=>(xe(e),d(m)))}}),p.stdin.end()})}async function pt(e,t,n){let a=n.latex_engine||"pdflatex",r=n.latex_svg_dir,s=n.latex_zoom,o=n.latex_width,l=n.latex_height,d=ct.resolve(t,Math.random().toString(36).substr(2,9)+"_code_chunk.tex");await dt.writeFile(d,e);try{let p=await on(d,{latexEngine:a,markdownDirectoryPath:t,svgDirectoryPath:r,svgZoom:s,svgWidth:o,svgHeight:l});return await lt(d),p}catch(p){throw await lt(d),p}}async function Pa(e,t){let n=new De.Script(`((${e})())`),a=De.createContext(t.context||{});return n.runInContext(a)}async function sn(e,t,n,a,r="pdflatex"){let s=a.args||[];typeof s=="string"&&(s=[s]);let o=Fa(n),l=ct.resolve(t,Math.random().toString(36).substr(2,9)+"_code_chunk"+o);if(e=e.replace(/\u00A0/g," "),n.match(/(la)?tex/)||n==="pdflatex"){let p={...a,latex_engine:a.latex_engine||r};return pt(e,t,p)}if(n==="node.vm")return Pa(e,a);n.match(/python/)&&(a.matplotlib||a.mpl)&&(e=`
181
181
  # -*- coding: utf-8 -*-
182
182
  # modify default matplotlib pyplot show function
183
183
  try:
@@ -201,11 +201,11 @@ try:
201
201
  mpld3.display = new_mpld3_show
202
202
  except Exception:
203
203
  pass
204
- `+e),await dt.writeFile(l,e);let d=!1;return s=s.map(p=>p==="$input_file"?(d=!0,l):p),!d&&!a.stdin&&s.push(l),await new Promise(p=>{let c=Oa(n,s,{cwd:t});a.stdin&&c.stdin.write(e),c.stdin.end();let g=[];c.stdout.on("data",f=>{g.push(f)}),c.stderr.on("data",f=>{g.push(f)}),c.on("error",f=>{g.push(Buffer.from(f.toString(),"utf-8"))}),c.on("close",async()=>{await lt(l);let f=Buffer.concat(g).toString();p(f)})})}var La={go:".go",javascript:".js",python:".py",typescript:".ts",node:".js","ts-node":".ts"};function Da(e){return La[e]||`.${e}`}import{spawn as Ma}from"child_process";import{existsSync as Fa}from"fs";import*as dn from"path";import on from"cross-fetch";import Pa from"plantuml-encoder";var we=class{constructor(t){this.serverURL=t}generateSVG(t){if(this.serverURL.match(/^https?:\/\/(www\.)?plantuml\.com\/plantuml/)){let n=Pa.encode(t);return on(`http://www.plantuml.com/plantuml/svg/${n}`).then(a=>a.text())}else return on(this.serverURL,{method:"POST",body:t,headers:{"Content-Type":"text/plain; charset=utf-8"}}).then(n=>n.text())}};var Ae={},sn={},ln={},ut=class{constructor(t,n){this.plantumlJarPath=t,this.fileDirectoryPath=n,this.chunks=sn[this.fileDirectoryPath]||"",this.callbacks=ln[this.fileDirectoryPath]||[],this.task=null,this.startTask()}generateSVG(t){return new Promise(n=>{this.callbacks.push(n),this.task?.stdin.write(t+`
205
- `)})}startTask(){this.task=Ma("java",["-Djava.awt.headless=true","-Dfile.encoding=UTF-8","-Dplantuml.include.path="+[this.fileDirectoryPath].join(dn.delimiter),"-jar",this.plantumlJarPath,"-pipe","-tsvg","-charset","UTF-8"]),this.task.stdout.on("data",t=>{let n=t.toString();this.chunks+=n,this.chunks.trimRight().endsWith("</svg>")&&(this.chunks.match(/<svg/g)??[]).length===(this.chunks.match(/<\/svg>/g)??[]).length&&(n=this.chunks,this.chunks="",n.split("<?xml ").forEach(r=>{if(r.length){let s=this.callbacks.shift();s&&s(r.startsWith("<")?r:"<?xml "+r)}}))}),this.task.on("error",t=>{this.callbacks.forEach(n=>n(JSON.stringify(t))),this.closeSelf()}),this.task.on("exit",()=>this.closeSelf())}closeSelf(){Ae[this.fileDirectoryPath]=null,sn[this.fileDirectoryPath]=this.chunks,ln[this.fileDirectoryPath]=this.callbacks}};async function Pe({content:e,fileDirectoryPath:t,serverURL:n,plantumlJarPath:a}){e=e.trim();let r=e.match(/^'\s@crossnote_file_directory_path:(.+)$/m);r&&(t=r[1]);let s=e.match(/^@start(.+?)\s+/m);if(s?e.match(new RegExp(`^\\@end${s[1]}`,"m"))||(e=`@startuml
204
+ `+e),await dt.writeFile(l,e);let d=!1;return s=s.map(p=>p==="$input_file"?(d=!0,l):p),!d&&!a.stdin&&s.push(l),await new Promise(p=>{let c=Da(n,s,{cwd:t});a.stdin&&c.stdin.write(e),c.stdin.end();let g=[];c.stdout.on("data",f=>{g.push(f)}),c.stderr.on("data",f=>{g.push(f)}),c.on("error",f=>{g.push(Buffer.from(f.toString(),"utf-8"))}),c.on("close",async()=>{await lt(l);let f=Buffer.concat(g).toString();p(f)})})}var Ma={go:".go",javascript:".js",python:".py",typescript:".ts",node:".js","ts-node":".ts"};function Fa(e){return Ma[e]||`.${e}`}import{spawn as Ba}from"child_process";import{existsSync as $a}from"fs";import*as pn from"path";import ln from"cross-fetch";import Ua from"plantuml-encoder";var we=class{constructor(t){this.serverURL=t}generateSVG(t){if(this.serverURL.match(/^https?:\/\/(www\.)?plantuml\.com\/plantuml/)){let n=Ua.encode(t);return ln(`http://www.plantuml.com/plantuml/svg/${n}`).then(a=>a.text())}else return ln(this.serverURL,{method:"POST",body:t,headers:{"Content-Type":"text/plain; charset=utf-8"}}).then(n=>n.text())}};var Ae={},dn={},cn={},ut=class{constructor(t,n){this.plantumlJarPath=t,this.fileDirectoryPath=n,this.chunks=dn[this.fileDirectoryPath]||"",this.callbacks=cn[this.fileDirectoryPath]||[],this.task=null,this.startTask()}generateSVG(t){return new Promise(n=>{this.callbacks.push(n),this.task?.stdin.write(t+`
205
+ `)})}startTask(){this.task=Ba("java",["-Djava.awt.headless=true","-Dfile.encoding=UTF-8","-Dplantuml.include.path="+[this.fileDirectoryPath].join(pn.delimiter),"-jar",this.plantumlJarPath,"-pipe","-tsvg","-charset","UTF-8"]),this.task.stdout.on("data",t=>{let n=t.toString();this.chunks+=n,this.chunks.trimRight().endsWith("</svg>")&&(this.chunks.match(/<svg/g)??[]).length===(this.chunks.match(/<\/svg>/g)??[]).length&&(n=this.chunks,this.chunks="",n.split("<?xml ").forEach(r=>{if(r.length){let s=this.callbacks.shift();s&&s(r.startsWith("<")?r:"<?xml "+r)}}))}),this.task.on("error",t=>{this.callbacks.forEach(n=>n(JSON.stringify(t))),this.closeSelf()}),this.task.on("exit",()=>this.closeSelf())}closeSelf(){Ae[this.fileDirectoryPath]=null,dn[this.fileDirectoryPath]=this.chunks,cn[this.fileDirectoryPath]=this.callbacks}};async function Pe({content:e,fileDirectoryPath:t,serverURL:n,plantumlJarPath:a}){e=e.trim();let r=e.match(/^'\s@crossnote_file_directory_path:(.+)$/m);r&&(t=r[1]);let s=e.match(/^@start(.+?)\s+/m);if(s?e.match(new RegExp(`^\\@end${s[1]}`,"m"))||(e=`@startuml
206
206
  @enduml`):e=`@startuml
207
207
  ${e}
208
- @enduml`,!Ae[t])if(n)Ae[t]=new we(n);else{if(!Fa(a))throw new Error(`plantuml.jar file not found: "${a}"
208
+ @enduml`,!Ae[t])if(n)Ae[t]=new we(n);else{if(!$a(a))throw new Error(`plantuml.jar file not found: "${a}"
209
209
 
210
210
  Please download plantuml.jar from https://plantuml.com/download.
211
211
  ${a?`Then please put it at "${a}"`:""}
@@ -214,20 +214,20 @@ If you are using VSCode, then please set the setting "markdown-preview-enhanced.
214
214
 
215
215
  If you don't want to use plantuml.jar, then you can use the online plantuml server
216
216
  by setting the setting "markdown-preview-enhanced.plantumlServer" to the URL of the online plantuml server, for example: https://kroki.io/plantuml/svg/
217
- `);Ae[t]=new ut(a,t)}return await Ae[t]?.generateSVG(e)??""}import*as Me from"vega";import{loader as Ba}from"vega-loader";import*as cn from"yaml";async function $a(e,t){let n=`<?xml version="1.0" encoding="utf-8"?>
217
+ `);Ae[t]=new ut(a,t)}return await Ae[t]?.generateSVG(e)??""}import*as Me from"vega";import{loader as za}from"vega-loader";import*as un from"yaml";async function Ha(e,t){let n=`<?xml version="1.0" encoding="utf-8"?>
218
218
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
219
- `;t&&t[t.length-1]!=="/"&&(t+="/");async function a(){let r=new Me.View(Me.parse(e),{loader:Ba({baseURL:t}),renderer:"none"}).initialize();return n+await r.toSVG()}return await Ut(a)}async function ge(e="",t=""){e=e.trim();let n;return e[0]!=="{"?n=cn.parse(e):n=JSON.parse(e),$a(n,t)}import*as un from"vega-lite";import*as gn from"yaml";async function Fe(e="",t=""){e=e.trim();let n;return e[0]!=="{"?n=gn.parse(e):n=JSON.parse(e),Mt(()=>Ft(()=>ge(JSON.stringify(un.compile(n).spec),t)))}import{instance as za}from"@viz-js/viz";var Ue=null;async function Be(e,t){try{return Ue||(Ue=await za()),await Ue.renderString(e,{format:"svg",...t})}catch(n){throw Ue=null,n}}import{execFileSync as Ha}from"child_process";import*as mn from"fs";import ja from"imagemagick-cli";async function fn(e,t,n=""){let a=await J({prefix:"crossnote-svg",suffix:".svg"});mn.writeFileSync(a.fd,e);let r=[a.path,t];try{n&&n.length?await Ha(n,r):await ja.exec(`convert ${r.join(" ")}`)}catch(s){throw new Error(`imagemagick-cli failure
219
+ `;t&&t[t.length-1]!=="/"&&(t+="/");async function a(){let r=new Me.View(Me.parse(e),{loader:za({baseURL:t}),renderer:"none"}).initialize();return n+await r.toSVG()}return await Bt(a)}async function me(e="",t=""){e=e.trim();let n;return e[0]!=="{"?n=un.parse(e):n=JSON.parse(e),Ha(n,t)}import*as mn from"vega-lite";import*as fn from"yaml";async function Fe(e="",t=""){e=e.trim();let n;return e[0]!=="{"?n=fn.parse(e):n=JSON.parse(e),Ft(()=>Ut(()=>me(JSON.stringify(mn.compile(n).spec),t)))}import{instance as Wa}from"@viz-js/viz";var Ue=null;async function Be(e,t){try{return Ue||(Ue=await Wa()),await Ue.renderString(e,{format:"svg",...t})}catch(n){throw Ue=null,n}}import{execFileSync as Va}from"child_process";import*as bn from"fs";import qa from"imagemagick-cli";async function hn(e,t,n=""){let a=await J({prefix:"crossnote-svg",suffix:".svg"});bn.writeFileSync(a.fd,e);let r=[a.path,t];try{n&&n.length?await Va(n,r):await qa.exec(`convert ${r.join(" ")}`)}catch(s){throw new Error(`imagemagick-cli failure
220
220
  `+s.toString()+`
221
221
 
222
- Please make sure you have ImageMagick installed.`)}return t}import{execFileSync as Wa}from"child_process";import*as bn from"fs";async function hn(e,t,n,a){let r=await J({prefix:"crossnote-mermaid",suffix:".mmd"});bn.writeFileSync(r.fd,e),a||(a="null");try{return Wa("npx",["-p","@mermaid-js/mermaid-cli","mmdc","--theme",a,"--input",r.path,"--output",t],{shell:!0,cwd:n}),t}catch(s){throw new Error(`mermaid CLI is required to be installed.
222
+ Please make sure you have ImageMagick installed.`)}return t}import{execFileSync as Ya}from"child_process";import*as En from"fs";async function Sn(e,t,n,a){let r=await J({prefix:"crossnote-mermaid",suffix:".mmd"});En.writeFileSync(r.fd,e),a||(a="null");try{return Ya("npx",["-p","@mermaid-js/mermaid-cli","mmdc","--theme",a,"--input",r.path,"--output",t],{shell:!0,cwd:n}),t}catch(s){throw new Error(`mermaid CLI is required to be installed.
223
223
  Check https://github.com/mermaid-js/mermaid-cli for more information.
224
224
 
225
- `+s.toString())}}import{execFileSync as qa}from"child_process";import*as En from"fs";async function Sn(e,t){let n=await J({prefix:"crossnote-wavedrom",suffix:".js"});await En.writeFileSync(n.fd,e);try{return(await qa("npx",["wavedrom-cli","-i",n.path],{shell:!0,cwd:t})).toString("utf-8")}catch(a){throw new Error(`wavedrom CLI is required to be installed.
225
+ `+s.toString())}}import{execFileSync as Za}from"child_process";import*as yn from"fs";async function kn(e,t){let n=await J({prefix:"crossnote-wavedrom",suffix:".js"});await yn.writeFileSync(n.fd,e);try{return(await Za("npx",["wavedrom-cli","-i",n.path],{shell:!0,cwd:t})).toString("utf-8")}catch(a){throw new Error(`wavedrom CLI is required to be installed.
226
226
  Check http://github.com/wavedrom/cli for more information.
227
227
 
228
228
  `+a.toString())}}async function $e(e,{fileDirectoryPath:t,projectDirectoryPath:n,imageDirectoryPath:a,imageFilePrefix:r,useRelativeFilePath:s,codeChunksData:o,graphsCache:l,addOptionsStr:d,notebook:p}){let c=e.split(`
229
229
  `),g=[],f=0;for(;f<c.length;){let A=c[f],T=A.trim();if(T.match(/^```(.+)"?cmd"?[:=]/)||T.match(/^```(puml|plantuml|dot|viz|mermaid|vega|vega-lite|wavedrom)/)){let k=(A.match(/^\s*/)??[]).length,y=f+1,w="";for(;y<c.length;){if(c[y].trim()==="```"&&(c[y].match(/^\s*/)??[]).length===k){let N={},C="",v=T.match(/\{(.+)\}$/);if(v)try{N=te(v[0]),C=v[1]}catch{N={}}g.push({start:f,end:y,content:w,options:N,optionsStr:C}),f=y;break}w+=c[y]+`
230
- `,y+=1}}else if(T.match(/^```\S/)){let k=A.indexOf(" ",A.indexOf("```"));k>0&&(c[f]=A.slice(0,k))}else T||(c[f]=" ");f+=1}r||(r=Math.random().toString(36).substr(2,9)+"_"),r=r.replace(/[/&]/g,"_ss_"),r=encodeURIComponent(r);let S=0,m=[],u=[],b=null;for(let A in o)if(!o[A].prev){b=o[A];break}function h(A,T,k){let y=T;for(;y<=k;)A[y]="",y+=1}async function E(A="",T,k,y,w,N,C,v){A||(A=r+S+".png");let O=re.resolve(a,A);await fn(T,O,p.config.imageMagickPath);let $;if(s?$=re.relative(t,O)+"?"+Math.random():$="/"+re.relative(n,O)+"?"+Math.random(),$=$.replace(/\\/g,"/"),S++,N){h(k,y,w);let F=C;F==null&&(F="");let B="";d&&(B=`{${v}}`),k[w]+=`
230
+ `,y+=1}}else if(T.match(/^```\S/)){let k=A.indexOf(" ",A.indexOf("```"));k>0&&(c[f]=A.slice(0,k))}else T||(c[f]=" ");f+=1}r||(r=Math.random().toString(36).substr(2,9)+"_"),r=r.replace(/[/&]/g,"_ss_"),r=encodeURIComponent(r);let S=0,m=[],u=[],b=null;for(let A in o)if(!o[A].prev){b=o[A];break}function h(A,T,k){let y=T;for(;y<=k;)A[y]="",y+=1}async function E(A="",T,k,y,w,N,C,v){A||(A=r+S+".png");let O=oe.resolve(a,A);await hn(T,O,p.config.imageMagickPath);let $;if(s?$=oe.relative(t,O)+"?"+Math.random():$="/"+oe.relative(n,O)+"?"+Math.random(),$=$.replace(/\\/g,"/"),S++,N){h(k,y,w);let F=C;F==null&&(F="");let B="";d&&(B=`{${v}}`),k[w]+=`
231
231
  ![${F}](${$})${B} `}return u.push(O),$}for(let A of g){let{start:T,end:k,content:y,options:w,optionsStr:N}=A,C=c[T].trim().slice(3).trim();if(!w.code_block){if(C.match(/^(puml|plantuml)/))try{let v=K(N+y),O=l[v];O||(O=await Pe({content:y,fileDirectoryPath:t,plantumlJarPath:p.config.plantumlJarPath,serverURL:p.config.plantumlServer})),await E(w.filename,O,c,T,k,!0,w.alt,N)}catch(v){h(c,T,k),c[k]+=`
232
232
  \`\`\`
233
233
  ${v}
@@ -240,42 +240,42 @@ ${v}
240
240
  \`\`\`
241
241
  ${v}
242
242
  \`\`\`
243
- `}else if(C.match(/^vega/))try{let v=K(N+y),O=l[v];O||(O=await ge(y,t)),await E(w.filename,O,c,T,k,!0,w.alt,N)}catch(v){h(c,T,k),c[k]+=`
243
+ `}else if(C.match(/^vega/))try{let v=K(N+y),O=l[v];O||(O=await me(y,t)),await E(w.filename,O,c,T,k,!0,w.alt,N)}catch(v){h(c,T,k),c[k]+=`
244
244
  \`\`\`
245
245
  ${v}
246
246
  \`\`\`
247
- `}else if(C.match(/^mermaid/))try{let v=w.filename;v||(v=r+S+".png");let O=re.resolve(a,v);S++,await hn(y,O,n,p.config.mermaidTheme);let $;s?$=re.relative(t,O)+"?"+Math.random():$="/"+re.relative(n,O)+"?"+Math.random(),h(c,T,k);let F=w.alt;F==null&&(F="");let B="";d&&(B=`{${N}}`),c[k]+=`
247
+ `}else if(C.match(/^mermaid/))try{let v=w.filename;v||(v=r+S+".png");let O=oe.resolve(a,v);S++,await Sn(y,O,n,p.config.mermaidTheme);let $;s?$=oe.relative(t,O)+"?"+Math.random():$="/"+oe.relative(n,O)+"?"+Math.random(),h(c,T,k);let F=w.alt;F==null&&(F="");let B="";d&&(B=`{${N}}`),c[k]+=`
248
248
  ![${F}](${$.replace(/\\/g,"/")})${B} `,u.push(O)}catch(v){h(c,T,k),c[k]+=`
249
249
  \`\`\`
250
250
  ${v}
251
251
  \`\`\`
252
- `}else if(C.match(/^wavedrom/))try{let v=K(N+y),O=l[v];O||(O=await Sn(y,n)),await E(w.filename,O,c,T,k,!0,w.alt,N)}catch(v){h(c,T,k),c[k]+=`
252
+ `}else if(C.match(/^wavedrom/))try{let v=K(N+y),O=l[v];O||(O=await kn(y,n)),await E(w.filename,O,c,T,k,!0,w.alt,N)}catch(v){h(c,T,k),c[k]+=`
253
253
  \`\`\`
254
254
  ${v}
255
255
  \`\`\`
256
- `}else if(b){if(b.normalizedInfo.attributes.hide)h(c,T,k);else{let v=c[T],O=v.indexOf(" ",v.indexOf("```"));c[T]=v.slice(0,O)}if(b.result){let v=b.result,O=b.normalizedInfo.attributes;if(O.output==="html"||O.matplotlib){let $=yn.load(b.result);$("svg").length===1&&(v=`![](${(await E(O.filename,$.html("svg"),c,T,k,!1,w.alt,N)).replace(/\\/g,"/")})
256
+ `}else if(b){if(b.normalizedInfo.attributes.hide)h(c,T,k);else{let v=c[T],O=v.indexOf(" ",v.indexOf("```"));c[T]=v.slice(0,O)}if(b.result){let v=b.result,O=b.normalizedInfo.attributes;if(O.output==="html"||O.matplotlib){let $=Tn.load(b.result);$("svg").length===1&&(v=`![](${(await E(O.filename,$.html("svg"),c,T,k,!1,w.alt,N)).replace(/\\/g,"/")})
257
257
  `)}else(Se(b.normalizedInfo)||"").match(/^(la)?tex$/)?v=await pt(y,t,Object.assign({},O,{latex_svg_dir:a})):b.normalizedInfo.attributes.output==="markdown"?v=b.plainResult:(!O.output||O.output==="text")&&(v=`
258
258
  \`\`\`
259
259
  ${b.plainResult}\`\`\`
260
260
  `);c[k]+=`
261
261
  `+v}b.next?b=o[b.next]:b=null}}}return await Promise.all(m),{outputString:c.filter(A=>A).join(`
262
- `),imagePaths:u}}function Za(e,{mathInlineDelimiters:t,mathBlockDelimiters:n,mathRenderingOnlineService:a}){let r=e.replace(/\\\$/g,"#slash_dollarsign#"),s=t,o=n,l="(?:"+s.map(g=>g[0]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",d="(?:"+s.map(g=>g[1]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",p="(?:"+o.map(g=>g[0]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",c="(?:"+o.map(g=>g[1]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")";return r=r.replace(new RegExp(`(\`\`\`(?:[\\s\\S]+?)\`\`\`\\s*(?:\\n|$))|(?:${p}([\\s\\S]+?)${c})`,"g"),(g,f,S)=>{if(f)return f;let m=S;return m=m.replace(/\n/g,"").replace(/#slash_dollarsign#/g,"\\$"),m=kn(m),`<p align="center"><img src="${a}?${m.trim().replace(/ /g,"%20")}"/></p>
263
- `}),r=r.replace(new RegExp(`(\`\`\`(?:[\\s\\S]+?)\`\`\`\\s*(?:\\n|$))|(?:${l}([\\s\\S]+?)${d})`,"g"),(g,f,S)=>{if(f)return f;let m=S;return m=m.replace(/\n/g,"").replace(/#slash_dollarsign#/g,"\\$"),m=kn(m),`<img src="${a}?${m.trim().replace(/ /g,"%20")}"/>`}),r=r.replace(/#slash_dollarsign#/g,"\\$"),r}function Xa(e,t,n,a,r){function s(d){return d.match(r)||(a?d.startsWith("/")&&(d=ne.relative(t,ne.resolve(n,"."+d))):d.startsWith("/")||(d="/"+ne.relative(n,ne.resolve(t,d)))),d.replace(/\\/g,"/")}let o=!1,l=e.split(`
262
+ `),imagePaths:u}}function Qa(e,{mathInlineDelimiters:t,mathBlockDelimiters:n,mathRenderingOnlineService:a}){let r=e.replace(/\\\$/g,"#slash_dollarsign#"),s=t,o=n,l="(?:"+s.map(g=>g[0]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",d="(?:"+s.map(g=>g[1]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",p="(?:"+o.map(g=>g[0]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")",c="(?:"+o.map(g=>g[1]).join("|").replace(/\\/g,"\\\\").replace(/([()[\]$])/g,"\\$1")+")";return r=r.replace(new RegExp(`(\`\`\`(?:[\\s\\S]+?)\`\`\`\\s*(?:\\n|$))|(?:${p}([\\s\\S]+?)${c})`,"g"),(g,f,S)=>{if(f)return f;let m=S;return m=m.replace(/\n/g,"").replace(/#slash_dollarsign#/g,"\\$"),m=wn(m),`<p align="center"><img src="${a}?${m.trim().replace(/ /g,"%20")}"/></p>
263
+ `}),r=r.replace(new RegExp(`(\`\`\`(?:[\\s\\S]+?)\`\`\`\\s*(?:\\n|$))|(?:${l}([\\s\\S]+?)${d})`,"g"),(g,f,S)=>{if(f)return f;let m=S;return m=m.replace(/\n/g,"").replace(/#slash_dollarsign#/g,"\\$"),m=wn(m),`<img src="${a}?${m.trim().replace(/ /g,"%20")}"/>`}),r=r.replace(/#slash_dollarsign#/g,"\\$"),r}function er(e,t,n,a,r){function s(d){return d.match(r)||(a?d.startsWith("/")&&(d=ne.relative(t,ne.resolve(n,"."+d))):d.startsWith("/")||(d="/"+ne.relative(n,ne.resolve(t,d)))),d.replace(/\\/g,"/")}let o=!1,l=e.split(`
264
264
  `);return l=l.map(d=>{if(d.match(/^\s*```/))return o=!o,d;if(o)return d;{let p=/(!?\[.*?]\()([^)|^'|^"]*)(.*?\))/gi;return d=d.replace(p,(c,g,f,S)=>f[0]==="<"?(f=f.slice(1,f.length-1),g+"<"+s(f.trim())+"> "+S):g+s(f.trim())+" "+S),p=/(<[img|a|iframe].*?[src|href]=['"])(.+?)(['"].*?>)/gi,d=d.replace(p,(c,g,f,S)=>g+s(f)+S),d}}),l.join(`
265
- `)}async function wn(e,{projectDirectoryPath:t,fileDirectoryPath:n,protocolsWhiteListRegExp:a,filesCache:r,codeChunksData:s,graphsCache:o,notebook:l},d){if(!d.path)throw new Error("{path} has to be specified");if(!d.image_dir)throw new Error("{image_dir} has to be specified");let p;d.path[0]==="/"?p=ne.resolve(t,"."+d.path):p=ne.resolve(n,d.path);for(let m in r)m.endsWith(".pdf")&&delete r[m];let c;d.image_dir[0]==="/"?c=ne.resolve(t,"."+d.image_dir):c=ne.resolve(n,d.image_dir);let g=!d.absolute_image_path;l.config.parserConfig.onWillTransformMarkdown&&(e=await l.config.parserConfig.onWillTransformMarkdown(e));let f=await le(e,{fileDirectoryPath:n,projectDirectoryPath:t,useRelativeFilePath:g,filesCache:r,forPreview:!1,forMarkdownExport:!0,protocolsWhiteListRegExp:a,imageDirectoryPath:c,notebook:l});if(e=f.outputString,l.config.parserConfig.onDidTransformMarkdown&&(e=await l.config.parserConfig.onDidTransformMarkdown(e)),f.tocBracketEnabled){let m=f.headings,{content:u}=ue(m,{ordered:!1,depthFrom:1,depthTo:6,tab:" "});e=e.replace(/^\s*\[CROSSNOTETOC\]\s*/gm,`
265
+ `)}async function _n(e,{projectDirectoryPath:t,fileDirectoryPath:n,protocolsWhiteListRegExp:a,filesCache:r,codeChunksData:s,graphsCache:o,notebook:l},d){if(!d.path)throw new Error("{path} has to be specified");if(!d.image_dir)throw new Error("{image_dir} has to be specified");let p;d.path[0]==="/"?p=ne.resolve(t,"."+d.path):p=ne.resolve(n,d.path);for(let m in r)m.endsWith(".pdf")&&delete r[m];let c;d.image_dir[0]==="/"?c=ne.resolve(t,"."+d.image_dir):c=ne.resolve(n,d.image_dir);let g=!d.absolute_image_path;l.config.parserConfig.onWillTransformMarkdown&&(e=await l.config.parserConfig.onWillTransformMarkdown(e));let f=await de(e,{fileDirectoryPath:n,projectDirectoryPath:t,useRelativeFilePath:g,filesCache:r,forPreview:!1,forMarkdownExport:!0,protocolsWhiteListRegExp:a,imageDirectoryPath:c,notebook:l});if(e=f.outputString,l.config.parserConfig.onDidTransformMarkdown&&(e=await l.config.parserConfig.onDidTransformMarkdown(e)),f.tocBracketEnabled){let m=f.headings,{content:u}=ge(m,{ordered:!1,depthFrom:1,depthTo:6,tab:" "});e=e.replace(/^\s*\[CROSSNOTETOC\]\s*/gm,`
266
266
 
267
267
  `+u+`
268
268
 
269
- `)}return e=Xa(e,n,t,g,a),e=l.config.mathRenderingOption!=="None"?Za(e,{mathInlineDelimiters:l.config.mathInlineDelimiters,mathBlockDelimiters:l.config.mathBlockDelimiters,mathRenderingOnlineService:l.config.mathRenderingOnlineService}):e,await new Promise((m,u)=>{Ka(c).then(()=>{$e(e,{fileDirectoryPath:n,projectDirectoryPath:t,imageDirectoryPath:c,imageFilePrefix:K(p),useRelativeFilePath:g,codeChunksData:s,graphsCache:o,addOptionsStr:!1,notebook:l}).then(({outputString:b})=>{b=f.frontMatterString+b,Tn.writeFile(p,b,{encoding:"utf-8"},h=>h?u(h.toString()):m(p))})}).catch(b=>{if(b)return u(b.toString())})})}import{execFile as Ja}from"child_process";import*as _n from"fs";import*as gt from"mkdirp";import*as X from"path";import*as Rn from"yaml";function An(e){return e==="pdf_document"||e==="beamer_presentation"?"pdf":e==="word_document"?"docx":e==="rtf_document"?"rtf":e==="custom_document"?"*":null}function Qa(e,t,n="pdflatex"){if(e.toc&&t.push("--toc"),e.toc_depth&&t.push("--toc-depth="+e.toc_depth),e.highlight&&(e.highlight==="default"&&(e.highlight="pygments"),t.push("--highlight-style="+e.highlight)),e.reference_docx&&t.push("--reference-docx="+e.reference_docx),e.reference_doc&&t.push("--reference-doc="+e.reference_doc),e.highlight===null&&t.push("--no-highlight"),e.citation_package&&(e.citation_package==="natbib"?t.push("--natbib"):e.citation_package==="biblatex"&&t.push("--biblatex")),e.number_sections&&t.push("--number-sections"),e.incremental&&t.push("--incremental"),e.slide_level&&t.push("--slide-level="+e.slide_level),e.theme&&t.push("-V","theme:"+e.theme),e.colortheme&&t.push("-V","colortheme:"+e.colortheme),e.fonttheme&&t.push("-V","fonttheme:"+e.fonttheme),e.latex_engine?t.push("--pdf-engine="+e.latex_engine):e.pdf_engine?t.push("--pdf-engine="+e.pdf_engine):t.push("--pdf-engine="+n),e.includes&&typeof e.includes=="object"){let a=e.includes,r=(s,o)=>{typeof o=="string"?t.push(s+o):o.constructor===Array?o.forEach(l=>t.push(s+l)):t.push(s+o)};a.in_header&&r("--include-in-header=",a.in_header),a.before_body&&r("--include-before-body=",a.before_body),a.after_body&&r("--include-after-body=",a.after_body)}e.template&&t.push("--template="+e.template),e.pandoc_args&&e.pandoc_args.forEach(a=>t.push(a))}function er(e,t){let n=X.resolve(e,"_output.yaml"),a="";try{a=_n.readFileSync(n,{encoding:"utf-8"})}catch{return Object.assign({},t)}let r={};if(a&&(r=ve(a)),t.output)if(typeof t.output=="string"&&r[t.output]){let s=t.output;t.output={},t.output[s]=r[s]}else{let s=Object.keys(t.output)[0];r[s]&&(t.output[s]=Object.assign({},r[s],t.output[s]))}return Object.assign({},r,t)}function tr(e,t,n){function a(o){return o.startsWith("/")?X.relative(t,X.resolve(n,"."+o)):o}let r=!1,s=e.split(`
269
+ `)}return e=er(e,n,t,g,a),e=l.config.mathRenderingOption!=="None"?Qa(e,{mathInlineDelimiters:l.config.mathInlineDelimiters,mathBlockDelimiters:l.config.mathBlockDelimiters,mathRenderingOnlineService:l.config.mathRenderingOnlineService}):e,await new Promise((m,u)=>{Ja(c).then(()=>{$e(e,{fileDirectoryPath:n,projectDirectoryPath:t,imageDirectoryPath:c,imageFilePrefix:K(p),useRelativeFilePath:g,codeChunksData:s,graphsCache:o,addOptionsStr:!1,notebook:l}).then(({outputString:b})=>{b=f.frontMatterString+b,An.writeFile(p,b,{encoding:"utf-8"},h=>h?u(h.toString()):m(p))})}).catch(b=>{if(b)return u(b.toString())})})}import{execFile as tr}from"child_process";import*as In from"fs";import*as gt from"mkdirp";import*as X from"path";import*as vn from"yaml";function Rn(e){return e==="pdf_document"||e==="beamer_presentation"?"pdf":e==="word_document"?"docx":e==="rtf_document"?"rtf":e==="custom_document"?"*":null}function nr(e,t,n="pdflatex"){if(e.toc&&t.push("--toc"),e.toc_depth&&t.push("--toc-depth="+e.toc_depth),e.highlight&&(e.highlight==="default"&&(e.highlight="pygments"),t.push("--highlight-style="+e.highlight)),e.reference_docx&&t.push("--reference-docx="+e.reference_docx),e.reference_doc&&t.push("--reference-doc="+e.reference_doc),e.highlight===null&&t.push("--no-highlight"),e.citation_package&&(e.citation_package==="natbib"?t.push("--natbib"):e.citation_package==="biblatex"&&t.push("--biblatex")),e.number_sections&&t.push("--number-sections"),e.incremental&&t.push("--incremental"),e.slide_level&&t.push("--slide-level="+e.slide_level),e.theme&&t.push("-V","theme:"+e.theme),e.colortheme&&t.push("-V","colortheme:"+e.colortheme),e.fonttheme&&t.push("-V","fonttheme:"+e.fonttheme),e.latex_engine?t.push("--pdf-engine="+e.latex_engine):e.pdf_engine?t.push("--pdf-engine="+e.pdf_engine):t.push("--pdf-engine="+n),e.includes&&typeof e.includes=="object"){let a=e.includes,r=(s,o)=>{typeof o=="string"?t.push(s+o):o.constructor===Array?o.forEach(l=>t.push(s+l)):t.push(s+o)};a.in_header&&r("--include-in-header=",a.in_header),a.before_body&&r("--include-before-body=",a.before_body),a.after_body&&r("--include-after-body=",a.after_body)}e.template&&t.push("--template="+e.template),e.pandoc_args&&e.pandoc_args.forEach(a=>t.push(a))}function ar(e,t){let n=X.resolve(e,"_output.yaml"),a="";try{a=In.readFileSync(n,{encoding:"utf-8"})}catch{return Object.assign({},t)}let r={};if(a&&(r=ve(a)),t.output)if(typeof t.output=="string"&&r[t.output]){let s=t.output;t.output={},t.output[s]=r[s]}else{let s=Object.keys(t.output)[0];r[s]&&(t.output[s]=Object.assign({},r[s],t.output[s]))}return Object.assign({},r,t)}function rr(e,t,n){function a(o){return o.startsWith("/")?X.relative(t,X.resolve(n,"."+o)):o}let r=!1,s=e.split(`
270
270
  `);return s=s.map(o=>{if(o.match(/^\s*```/))return r=!r,o;if(r)return o;{let l=/(!?\[.*?]\()([^)|^'|^"]*)(.*?\))/gi;return o=o.replace(l,(d,p,c,g)=>c[0]==="<"?(c=c.slice(1,c.length-1),p+"<"+a(c.trim())+"> "+g):p+a(c.trim())+" "+g),l=/(<[img|a|iframe].*?[src|href]=['"])(.+?)(['"].*?>)/gi,o=o.replace(l,(d,p,c,g)=>p+a(c)+g),o}}),s.join(`
271
- `)}async function In(e,{fileDirectoryPath:t,projectDirectoryPath:n,sourceFilePath:a,filesCache:r,protocolsWhiteListRegExp:s,codeChunksData:o,graphsCache:l,notebook:d},p={}){p=er(t,p);let c=["-f",d.config.pandocMarkdownFlavor.replace(/-raw_tex/,"")],g=null,f=null,S=null;if(p.output)typeof p.output=="string"?(S=p.output,g=An(S)):(S=Object.keys(p.output)[0],g=An(S),f=p.output[S]);else throw new Error("Output format needs to be specified.");if(g===null)throw new Error("Invalid document type.");if(S==="custom_document"&&(!f||!f.path))throw new Error("custom_document requires path to be defined.");S==="beamer_presentation"&&c.push("-t","beamer");let m;if(f&&f.path){if(m=f.path,m.startsWith("/")?m=X.resolve(n,"."+m):m=X.resolve(t,m),S!=="custom_document"&&X.extname(m)!=="."+g)throw new Error("Invalid extension for "+S+". Extension ."+g+" is required, but "+X.extname(m)+" was provided.");c.push("-o",m)}else m=a,m=m.slice(0,m.length-X.extname(m).length)+"."+g,c.push("-o",m);Qa(f||{},c,d.config.latexEngine),d.config.parserConfig.onWillTransformMarkdown&&(e=await d.config.parserConfig.onWillTransformMarkdown(e));let u=await le(e,{fileDirectoryPath:t,projectDirectoryPath:n,useRelativeFilePath:!0,filesCache:r,protocolsWhiteListRegExp:s,forPreview:!1,notebook:d});if(e=u.outputString,d.config.parserConfig.onDidTransformMarkdown&&(e=await d.config.parserConfig.onDidTransformMarkdown(e)),e=`---
272
- `+Rn.stringify(p)+`---
273
- `+e,u.tocBracketEnabled){let A=u.headings,{content:T}=ue(A,{ordered:!1,depthFrom:1,depthTo:6,tab:" "});e=e.replace(/^\s*\[CROSSNOTETOC\]\s*/gm,`
271
+ `)}async function Nn(e,{fileDirectoryPath:t,projectDirectoryPath:n,sourceFilePath:a,filesCache:r,protocolsWhiteListRegExp:s,codeChunksData:o,graphsCache:l,notebook:d},p={}){p=ar(t,p);let c=["-f",d.config.pandocMarkdownFlavor.replace(/-raw_tex/,"")],g=null,f=null,S=null;if(p.output)typeof p.output=="string"?(S=p.output,g=Rn(S)):(S=Object.keys(p.output)[0],g=Rn(S),f=p.output[S]);else throw new Error("Output format needs to be specified.");if(g===null)throw new Error("Invalid document type.");if(S==="custom_document"&&(!f||!f.path))throw new Error("custom_document requires path to be defined.");S==="beamer_presentation"&&c.push("-t","beamer");let m;if(f&&f.path){if(m=f.path,m.startsWith("/")?m=X.resolve(n,"."+m):m=X.resolve(t,m),S!=="custom_document"&&X.extname(m)!=="."+g)throw new Error("Invalid extension for "+S+". Extension ."+g+" is required, but "+X.extname(m)+" was provided.");c.push("-o",m)}else m=a,m=m.slice(0,m.length-X.extname(m).length)+"."+g,c.push("-o",m);nr(f||{},c,d.config.latexEngine),d.config.parserConfig.onWillTransformMarkdown&&(e=await d.config.parserConfig.onWillTransformMarkdown(e));let u=await de(e,{fileDirectoryPath:t,projectDirectoryPath:n,useRelativeFilePath:!0,filesCache:r,protocolsWhiteListRegExp:s,forPreview:!1,notebook:d});if(e=u.outputString,d.config.parserConfig.onDidTransformMarkdown&&(e=await d.config.parserConfig.onDidTransformMarkdown(e)),e=`---
272
+ `+vn.stringify(p)+`---
273
+ `+e,u.tocBracketEnabled){let A=u.headings,{content:T}=ge(A,{ordered:!1,depthFrom:1,depthTo:6,tab:" "});e=e.replace(/^\s*\[CROSSNOTETOC\]\s*/gm,`
274
274
 
275
275
  `+T+`
276
276
 
277
- `)}e=tr(e,t,n),c.find(A=>A.includes("pandoc-citeproc")||A.includes("--defaults"))===void 0&&(p.bibliography||p.references)&&c.push("--citeproc");let E=d.config.imageFolderPath;E[0]==="/"?E=X.resolve(n,"."+E):E=X.resolve(t,E),await gt.sync(E);let{outputString:_}=await $e(e,{fileDirectoryPath:t,projectDirectoryPath:n,imageDirectoryPath:E,imageFilePrefix:K(m),useRelativeFilePath:!0,codeChunksData:o,graphsCache:l,addOptionsStr:!0,notebook:d});return await gt.sync(X.dirname(m)),await new Promise((A,T)=>{Ja(d.config.pandocPath,c,{cwd:t},y=>y?T(y.toString()):A(m)).stdin?.end(_)})}import{execFile as nr}from"child_process";function vn(e,t){return new Promise((n,a)=>{nr("prince",[e,"--javascript","-o",t],r=>{if(r){let s=r.toString();return r.message.indexOf("spawn prince ENOENT")>=0&&(s='"princexml" is required to be installed.'),a(s)}return n()})})}var ar=e=>typeof e=="string"?e.trim().toLowerCase():"",Ge=e=>{let t=zt(e.attributes),n=ar(e.language);return t!==e.attributes||n!==e.language?{language:n,attributes:t}:e};var ze=(e="")=>{let t,n,a,r=e.trim(),s=r.indexOf("{")!==-1?r.match(/^([^\s{]*)\s*\{(.*?)\}/):r.match(/^([^\s]+)\s+(.+?)$/);if(s?(s[1].length&&(t=s[1]),n=s[2]):(t=r,n=""),n)try{a=te(n)}catch{a={}}else a={};let o=a.class?a.class.split(/\s+/):[];return t||(t=o[0]||"text"),o.includes(t)||(a.class=[t,...o].join(" ")),{language:t,attributes:a}};import{Mutex as br}from"async-mutex";import hr from"markdown-it";import Er from"markdown-it-abbr";import Sr from"markdown-it-deflist";import yr from"markdown-it-footnote";import kr from"markdown-it-mark";import Tr from"markdown-it-sub";import wr from"markdown-it-sup";import*as j from"path";import{URI as Ar,Utils as _r}from"vscode-uri";var Nn=e=>{let a=["note","summary","abstract","tldr","info","todo","tip","hint","success","check","done","question","help","faq","warning","attention","caution","failure","fail","missing","danger","error","bug","example","snippet","quote","cite"];function r(){e.block.ruler.after("fence","admonition",o,{alt:[]}),e.renderer.rules.admonition_open=s,e.renderer.rules.admonition_title_open=s,e.renderer.rules.admonition_title_close=s,e.renderer.rules.admonition_close=s}function s(l,d,p,c,g){let f=l[d];return f.type==="admonition_open"?l[d].attrPush(["class","admonition "+f.info]):f.type==="admonition_title_open"&&l[d].attrPush(["class","admonition-title"]),g.renderToken(l,d,p)}function o(l,d,p,c){if(l.tShift[d]-l.blkIndent>=4)return!1;let g=l.bMarks[d]+l.tShift[d],f=l.eMarks[d],S=l.src.charCodeAt(g);if(S!==33)return!1;let m=g;if(g=l.skipChars(g,S),g-m<3)return!1;let b=l.src.slice(m,g),h="",E="",_=l.src.slice(g,f).trim().split(" ");if(h=(_.shift()??"").toLowerCase(),E=_.join(" "),a.indexOf(h)<0&&(h="note"),E||(E=h.substr(0,1).toUpperCase()+h.substr(1,h.length-1)),c)return!0;let A=l.parentType,T=l.lineMax,k=l.blkIndent;l.blkIndent+=4;let y=d;for(;y++,!(y>=p||(g=m=l.bMarks[y]+l.tShift[y],f=l.eMarks[y],g<f&&l.sCount[y]<l.blkIndent)););l.parentType="admonition",l.lineMax=y;let w=l.push("admonition_open","div",1);return w.markup=b,w.block=!0,w.info=h,w.map=[d,d+1],E!=='""'&&(w=l.push("admonition_title_open","p",1),w.markup=b+" "+h,w.map=[d,d+1],w=l.push("inline","",0),w.content=E,w.map=[d,d+1],w.children=[],w=l.push("admonition_title_close","p",-1),w.markup=b+" "+h),l.md.block.tokenize(l,d+1,y),w=l.push("admonition_close","div",-1),w.markup=b,w.map=[d,y],w.block=!0,l.parentType=A,l.lineMax=T,l.line=y,l.blkIndent=k,!0}r()};import{escape as He}from"html-escaper";var Cn=e=>{e.renderer.rules.fence=(t,n)=>{let a=t[n],r=a.info.trim(),s=ze(r),o=Ge(s),l=He(a.content),d=n<t.length&&t[n].type==="list_item_close"?`
278
- `:"";return`<pre data-role="codeBlock" data-info="${He(r)}" data-parsed-info="${He(JSON.stringify(s))}" data-normalized-info="${He(JSON.stringify(o))}">${l}</pre>${d}`}};var On=(e,t)=>{e.inline.ruler.before("strikethrough","critic-markup",(n,a)=>{if(!t.config.enableCriticMarkupSyntax)return!1;let{src:s,pos:o}=n;if(s[o]==="{"&&(s[o+1]==="-"&&s[o+2]==="-"||s[o+1]==="+"&&s[o+2]==="+"||s[o+1]==="~"&&s[o+2]==="~"||s[o+1]==="="&&s[o+2]==="="||s[o+1]===">"&&s[o+2]===">")){let l=s.slice(o+1,o+3),d=l[0]===">"?"<<}":`${l}}`,p=o+3,c=-1,g=null;for(;p<s.length;){if(s.startsWith(d,p)){c=p;break}p+=1}if(c>=0)g=s.slice(o+3,c);else return!1;if(g&&!a){let f=n.push("critic-markup","",0);return f.content=g,f.tag=l,n.pos=c+d.length,!0}else return!1}else return!1}),e.renderer.rules["critic-markup"]=(n,a)=>{let r=n[a],s=r.tag,o=r.content;if(s==="--")return`<del>${o}</del>`;if(s==="++")return`<ins>${o}</ins>`;if(s==="==")return`<mark>${o}</mark>`;if(s===">>")return`<span style="display:none">${o}</span>`;{let l=o.split("~>");return l.length===2?`<del>${l[0]}</del><ins>${l[1]}</ins>`:"<code>Error: ~> not found.</code>"}}};import rr from"markdown-it-emoji";import ir from"markdown-it-emoji/lib/data/full.json";var or=["fa-500px","fa-address-book","fa-address-book-o","fa-address-card","fa-address-card-o","fa-adjust","fa-adn","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-amazon","fa-ambulance","fa-american-sign-language-interpreting","fa-anchor","fa-android","fa-angellist","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-apple","fa-archive","fa-area-chart","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-o-down","fa-arrow-circle-o-left","fa-arrow-circle-o-right","fa-arrow-circle-o-up","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows","fa-arrows-alt","fa-arrows-h","fa-arrows-v","fa-asl-interpreting","fa-assistive-listening-systems","fa-asterisk","fa-at","fa-audio-description","fa-automobile","fa-backward","fa-balance-scale","fa-ban","fa-bandcamp","fa-bank","fa-bar-chart","fa-bar-chart-o","fa-barcode","fa-bars","fa-bath","fa-bathtub","fa-battery","fa-battery-0","fa-battery-1","fa-battery-2","fa-battery-3","fa-battery-4","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bed","fa-beer","fa-behance","fa-behance-square","fa-bell","fa-bell-o","fa-bell-slash","fa-bell-slash-o","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-bitbucket","fa-bitbucket-square","fa-bitcoin","fa-black-tie","fa-blind","fa-bluetooth","fa-bluetooth-b","fa-bold","fa-bolt","fa-bomb","fa-book","fa-bookmark","fa-bookmark-o","fa-braille","fa-briefcase","fa-btc","fa-bug","fa-building","fa-building-o","fa-bullhorn","fa-bullseye","fa-bus","fa-buysellads","fa-cab","fa-calculator","fa-calendar","fa-calendar-check-o","fa-calendar-minus-o","fa-calendar-o","fa-calendar-plus-o","fa-calendar-times-o","fa-camera","fa-camera-retro","fa-car","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-o-down","fa-caret-square-o-left","fa-caret-square-o-right","fa-caret-square-o-up","fa-caret-up","fa-cart-arrow-down","fa-cart-plus","fa-cc","fa-cc-amex","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","fa-certificate","fa-chain","fa-chain-broken","fa-check","fa-check-circle","fa-check-circle-o","fa-check-square","fa-check-square-o","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-child","fa-chrome","fa-circle","fa-circle-o","fa-circle-o-notch","fa-circle-thin","fa-clipboard","fa-clock-o","fa-clone","fa-close","fa-cloud","fa-cloud-download","fa-cloud-upload","fa-cny","fa-code","fa-code-fork","fa-codepen","fa-codiepie","fa-coffee","fa-cog","fa-cogs","fa-columns","fa-comment","fa-comment-o","fa-commenting","fa-commenting-o","fa-comments","fa-comments-o","fa-compass","fa-compress","fa-connectdevelop","fa-contao","fa-copy","fa-copyright","fa-creative-commons","fa-credit-card","fa-credit-card-alt","fa-crop","fa-crosshairs","fa-css3","fa-cube","fa-cubes","fa-cut","fa-cutlery","fa-dashboard","fa-dashcube","fa-database","fa-deaf","fa-deafness","fa-dedent","fa-delicious","fa-desktop","fa-deviantart","fa-diamond","fa-digg","fa-dollar","fa-dot-circle-o","fa-download","fa-dribbble","fa-drivers-license","fa-drivers-license-o","fa-dropbox","fa-drupal","fa-edge","fa-edit","fa-eercast","fa-eject","fa-ellipsis-h","fa-ellipsis-v","fa-empire","fa-envelope","fa-envelope-o","fa-envelope-open","fa-envelope-open-o","fa-envelope-square","fa-envira","fa-eraser","fa-etsy","fa-eur","fa-euro","fa-exchange","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-expand","fa-expeditedssl","fa-external-link","fa-external-link-square","fa-eye","fa-eye-slash","fa-eyedropper","fa-fa","fa-facebook","fa-facebook-f","fa-facebook-official","fa-facebook-square","fa-fast-backward","fa-fast-forward","fa-fax","fa-feed","fa-female","fa-fighter-jet","fa-file","fa-file-archive-o","fa-file-audio-o","fa-file-code-o","fa-file-excel-o","fa-file-image-o","fa-file-movie-o","fa-file-o","fa-file-pdf-o","fa-file-photo-o","fa-file-picture-o","fa-file-powerpoint-o","fa-file-sound-o","fa-file-text","fa-file-text-o","fa-file-video-o","fa-file-word-o","fa-file-zip-o","fa-files-o","fa-film","fa-filter","fa-fire","fa-fire-extinguisher","fa-firefox","fa-first-order","fa-flag","fa-flag-checkered","fa-flag-o","fa-flash","fa-flask","fa-flickr","fa-floppy-o","fa-folder","fa-folder-o","fa-folder-open","fa-folder-open-o","fa-font","fa-font-awesome","fa-fonticons","fa-fort-awesome","fa-forumbee","fa-forward","fa-foursquare","fa-free-code-camp","fa-frown-o","fa-futbol-o","fa-gamepad","fa-gavel","fa-gbp","fa-ge","fa-gear","fa-gears","fa-genderless","fa-get-pocket","fa-gg","fa-gg-circle","fa-gift","fa-git","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitlab","fa-gittip","fa-glass","fa-glide","fa-glide-g","fa-globe","fa-google","fa-google-plus","fa-google-plus-circle","fa-google-plus-official","fa-google-plus-square","fa-google-wallet","fa-graduation-cap","fa-gratipay","fa-grav","fa-group","fa-h-square","fa-hacker-news","fa-hand-grab-o","fa-hand-lizard-o","fa-hand-o-down","fa-hand-o-left","fa-hand-o-right","fa-hand-o-up","fa-hand-paper-o","fa-hand-peace-o","fa-hand-pointer-o","fa-hand-rock-o","fa-hand-scissors-o","fa-hand-spock-o","fa-hand-stop-o","fa-handshake-o","fa-hard-of-hearing","fa-hashtag","fa-hdd-o","fa-header","fa-headphones","fa-heart","fa-heart-o","fa-heartbeat","fa-history","fa-home","fa-hospital-o","fa-hotel","fa-hourglass","fa-hourglass-1","fa-hourglass-2","fa-hourglass-3","fa-hourglass-end","fa-hourglass-half","fa-hourglass-o","fa-hourglass-start","fa-houzz","fa-html5","fa-i-cursor","fa-id-badge","fa-id-card","fa-id-card-o","fa-ils","fa-image","fa-imdb","fa-inbox","fa-indent","fa-industry","fa-info","fa-info-circle","fa-inr","fa-instagram","fa-institution","fa-internet-explorer","fa-intersex","fa-ioxhost","fa-italic","fa-joomla","fa-jpy","fa-jsfiddle","fa-key","fa-keyboard-o","fa-krw","fa-language","fa-laptop","fa-lastfm","fa-lastfm-square","fa-leaf","fa-leanpub","fa-legal","fa-lemon-o","fa-level-down","fa-level-up","fa-life-bouy","fa-life-buoy","fa-life-ring","fa-life-saver","fa-lightbulb-o","fa-line-chart","fa-link","fa-linkedin","fa-linkedin-square","fa-linode","fa-linux","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-location-arrow","fa-lock","fa-long-arrow-down","fa-long-arrow-left","fa-long-arrow-right","fa-long-arrow-up","fa-low-vision","fa-magic","fa-magnet","fa-mail-forward","fa-mail-reply","fa-mail-reply-all","fa-male","fa-map","fa-map-marker","fa-map-o","fa-map-pin","fa-map-signs","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-maxcdn","fa-meanpath","fa-medium","fa-medkit","fa-meetup","fa-meh-o","fa-mercury","fa-microchip","fa-microphone","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-minus-square-o","fa-mixcloud","fa-mobile","fa-mobile-phone","fa-modx","fa-money","fa-moon-o","fa-mortar-board","fa-motorcycle","fa-mouse-pointer","fa-music","fa-navicon","fa-neuter","fa-newspaper-o","fa-object-group","fa-object-ungroup","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-outdent","fa-pagelines","fa-paint-brush","fa-paper-plane","fa-paper-plane-o","fa-paperclip","fa-paragraph","fa-paste","fa-pause","fa-pause-circle","fa-pause-circle-o","fa-paw","fa-paypal","fa-pencil","fa-pencil-square","fa-pencil-square-o","fa-percent","fa-phone","fa-phone-square","fa-photo","fa-picture-o","fa-pie-chart","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-pp","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane","fa-play","fa-play-circle","fa-play-circle-o","fa-plug","fa-plus","fa-plus-circle","fa-plus-square","fa-plus-square-o","fa-podcast","fa-power-off","fa-print","fa-product-hunt","fa-puzzle-piece","fa-qq","fa-qrcode","fa-question","fa-question-circle","fa-question-circle-o","fa-quora","fa-quote-left","fa-quote-right","fa-ra","fa-random","fa-ravelry","fa-rebel","fa-recycle","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-refresh","fa-registered","fa-remove","fa-renren","fa-reorder","fa-repeat","fa-reply","fa-reply-all","fa-resistance","fa-retweet","fa-rmb","fa-road","fa-rocket","fa-rotate-left","fa-rotate-right","fa-rouble","fa-rss","fa-rss-square","fa-rub","fa-ruble","fa-rupee","fa-s15","fa-safari","fa-save","fa-scissors","fa-scribd","fa-search","fa-search-minus","fa-search-plus","fa-sellsy","fa-send","fa-send-o","fa-server","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-share-square-o","fa-shekel","fa-sheqel","fa-shield","fa-ship","fa-shirtsinbulk","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sign-in","fa-sign-language","fa-sign-out","fa-signal","fa-signing","fa-simplybuilt","fa-sitemap","fa-skyatlas","fa-skype","fa-slack","fa-sliders","fa-slideshare","fa-smile-o","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-snowflake-o","fa-soccer-ball-o","fa-sort","fa-sort-alpha-asc","fa-sort-alpha-desc","fa-sort-amount-asc","fa-sort-amount-desc","fa-sort-asc","fa-sort-desc","fa-sort-down","fa-sort-numeric-asc","fa-sort-numeric-desc","fa-sort-up","fa-soundcloud","fa-space-shuttle","fa-spinner","fa-spoon","fa-spotify","fa-square","fa-square-o","fa-stack-exchange","fa-stack-overflow","fa-star","fa-star-half","fa-star-half-empty","fa-star-half-full","fa-star-half-o","fa-star-o","fa-steam","fa-steam-square","fa-step-backward","fa-step-forward","fa-stethoscope","fa-sticky-note","fa-sticky-note-o","fa-stop","fa-stop-circle","fa-stop-circle-o","fa-street-view","fa-strikethrough","fa-stumbleupon","fa-stumbleupon-circle","fa-subscript","fa-subway","fa-suitcase","fa-sun-o","fa-superpowers","fa-superscript","fa-support","fa-table","fa-tablet","fa-tachometer","fa-tag","fa-tags","fa-tasks","fa-taxi","fa-telegram","fa-television","fa-tencent-weibo","fa-terminal","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-themeisle","fa-thermometer","fa-thermometer-0","fa-thermometer-1","fa-thermometer-2","fa-thermometer-3","fa-thermometer-4","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","fa-thumb-tack","fa-thumbs-down","fa-thumbs-o-down","fa-thumbs-o-up","fa-thumbs-up","fa-ticket","fa-times","fa-times-circle","fa-times-circle-o","fa-times-rectangle","fa-times-rectangle-o","fa-tint","fa-toggle-down","fa-toggle-left","fa-toggle-off","fa-toggle-on","fa-toggle-right","fa-toggle-up","fa-trademark","fa-train","fa-transgender","fa-transgender-alt","fa-trash","fa-trash-o","fa-tree","fa-trello","fa-tripadvisor","fa-trophy","fa-truck","fa-try","fa-tty","fa-tumblr","fa-tumblr-square","fa-turkish-lira","fa-tv","fa-twitch","fa-twitter","fa-twitter-square","fa-umbrella","fa-underline","fa-undo","fa-universal-access","fa-university","fa-unlink","fa-unlock","fa-unlock-alt","fa-unsorted","fa-upload","fa-usb","fa-usd","fa-user","fa-user-circle","fa-user-circle-o","fa-user-md","fa-user-o","fa-user-plus","fa-user-secret","fa-user-times","fa-users","fa-vcard","fa-vcard-o","fa-venus","fa-venus-double","fa-venus-mars","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-video-camera","fa-vimeo","fa-vimeo-square","fa-vine","fa-vk","fa-volume-control-phone","fa-volume-down","fa-volume-off","fa-volume-up","fa-warning","fa-wechat","fa-weibo","fa-weixin","fa-whatsapp","fa-wheelchair","fa-wheelchair-alt","fa-wifi","fa-wikipedia-w","fa-window-close","fa-window-close-o","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-windows","fa-won","fa-wordpress","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wrench","fa-xing","fa-xing-square","fa-y-combinator","fa-y-combinator-square","fa-yahoo","fa-yc","fa-yc-square","fa-yelp","fa-yen","fa-yoast","fa-youtube","fa-youtube-play","fa-youtube-square"],xn={};or.forEach(e=>{xn[e]=""});var Ln=(e,t)=>{e.use(rr,{defs:{...ir,...xn}}),e.renderer.rules.emoji=(n,a)=>{let r=n[a];if(t.config.enableEmojiSyntax){let s=r.markup;return s.match("fa-")?`<i class="fa ${s}" aria-hidden="true"></i>`:r.content}else return`:${r.markup}:`}};import sr from"markdown-it-html5-embed";var lr=e=>({html5embed:{useImageSyntax:e.config.HTML5EmbedUseImageSyntax,useLinkSyntax:e.config.HTML5EmbedUseLinkSyntax,isAllowedHttp:e.config.HTML5EmbedIsAllowedHttp,attributes:{audio:e.config.HTML5EmbedAudioAttributes,video:e.config.HTML5EmbedVideoAttributes}}}),Dn=(e,t)=>{t.config.enableHTML5Embed&&e.use(sr,lr(t))};import{escape as dr}from"html-escaper";import cr from"katex";import"katex/contrib/mhchem";var je=({content:e,openTag:t,closeTag:n,displayMode:a=!1,renderingOption:r,katexConfig:s})=>{if(!e)return"";if(r==="KaTeX")try{return cr.renderToString(e,Object.assign({},s,{displayMode:a}))}catch(o){return`<span style="color: #ee7f49; font-weight: 500;">${o.toString()}</span>`}else if(r==="MathJax"){let o=(t+e+n).replace(/\n/g," "),l=a?"div":"span";return`<${l} class="mathjax-exps">${dr(o)}</${l}>`}else return""};var Pn=(e,t)=>{e.inline.ruler.before("escape","math",(n,a)=>{if(t.config.mathRenderingOption==="None")return!1;let r=null,s=null,o=!0,{mathBlockDelimiters:l,mathInlineDelimiters:d}=t.config;for(let f of l)if(n.src.startsWith(f[0],n.pos)){[r,s]=f;break}if(!r){for(let f of d)if(n.src.startsWith(f[0],n.pos)){[r,s]=f,o=!1;break}}if(!r||!s)return!1;let p=null,c=-1,g=n.pos+r.length;for(;g<n.src.length;){if(s&&n.src.startsWith(s,g)){c=g;break}else n.src[g]==="\\"&&(g+=1);g+=1}if(c>=0)p=n.src.slice(n.pos+r.length,c);else return!1;if(p&&!a){let f=n.push("math","",0);return f.content=p.trim(),f.meta=f.meta||{},f.meta.openTag=r,f.meta.closeTag=s,f.meta.displayMode=o,n.pos+=p.length+r.length+s.length,!0}else return!1}),e.renderer.rules.math=(n,a)=>{let r=n[a].content??"";return je({content:r,openTag:n[a].meta.openTag,closeTag:n[a].meta.closeTag,renderingOption:t.config.mathRenderingOption,displayMode:n[a].meta.displayMode,katexConfig:t.config.katexConfig})}};var Mn=(e,t)=>{e.inline.ruler.before("autolink","wikilink",(n,a)=>{if(!t.config.enableWikiLinkSyntax||!n.src.startsWith("[[",n.pos))return!1;let r=null,s="]]",o=-1,l=n.pos+s.length;for(;l<n.src.length;){if(n.src[l]==="\\")l+=1;else if(n.src.startsWith(s,l)){o=l;break}l+=1}if(o>=0)r=n.src.slice(n.pos+s.length,o);else return!1;if(r&&!a){let d=n.push("wikilink","a",0);return d.content=r,n.pos+=r.length+2*s.length,!0}else return!1}),e.renderer.rules.wikilink=(n,a)=>{let{content:r}=n[a];if(!r)return"";let s=r.split("|"),o,l;if(s.length===1){l=s[0].trim();let d=t.config.parserConfig.processWikiLink({text:l,link:void 0});l=d.text,o=d.link}else if(t.config.useGitHubStylePipedLink){let d=t.config.parserConfig.processWikiLink({text:s[0].trim(),link:s[1].trim()});l=d.text,o=d.link}else{let d=t.config.parserConfig.processWikiLink({text:s[1].trim(),link:s[0].trim()});l=d.text,o=d.link}return`<a href="${o}">${l}</a>`}};import*as We from"fs";import*as Un from"less";import*as fe from"path";var Fn=typeof window>"u";function mt(){return{startOnLoad:!1}}function ft(){return{tex:{},options:{},loader:{}}}function bt(){return{macros:{}}}function ht(){return{onWillParseMarkdown:async function(e){return e},onDidParseMarkdown:async function(e){return e},onWillTransformMarkdown:async function(e){return e},onDidTransformMarkdown:async function(e){return e},processWikiLink:function({text:e,link:t}){return{text:e,link:t||(e.endsWith(".md")?e:`${e}.md`)}}}}function me(){return{markdownFileExtensions:[".md",".markdown",".mdown",".mkdn",".mkd",".rmd",".qmd"],globalCss:"",mermaidConfig:mt(),mathjaxConfig:ft(),katexConfig:bt(),parserConfig:ht(),usePandocParser:!1,breakOnSingleNewLine:!0,enableTypographer:!1,enableWikiLinkSyntax:!0,enableLinkify:!0,enableEmojiSyntax:!0,enableExtendedTableSyntax:!1,enableCriticMarkupSyntax:!1,useGitHubStylePipedLink:!1,protocolsWhiteList:"http://, https://, atom://, file://, mailto:, tel:",mathRenderingOption:"KaTeX",mathInlineDelimiters:[["$","$"]],mathBlockDelimiters:[["$$","$$"]],mathRenderingOnlineService:"https://latex.codecogs.com/gif.latex",mathjaxV3ScriptSrc:"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js",codeBlockTheme:"auto.css",previewTheme:"github-light.css",revealjsTheme:"white.css",mermaidTheme:"default",frontMatterRenderingOption:"none",imageFolderPath:"/assets",printBackground:!1,chromePath:"",imageMagickPath:"",pandocPath:"pandoc",pandocMarkdownFlavor:"markdown-raw_tex+tex_math_single_backslash",pandocArguments:[],latexEngine:"pdflatex",enableScriptExecution:!1,enableHTML5Embed:!1,HTML5EmbedUseImageSyntax:!0,HTML5EmbedUseLinkSyntax:!1,HTML5EmbedIsAllowedHttp:!1,HTML5EmbedAudioAttributes:'controls preload="metadata"',HTML5EmbedVideoAttributes:'controls preload="metadata"',puppeteerWaitForTimeout:0,puppeteerArgs:[],plantumlServer:"",plantumlJarPath:"",jsdelivrCdnHost:"cdn.jsdelivr.net",krokiServer:"https://kroki.io",isVSCode:!1,alwaysShowBacklinksInPreview:!1}}async function Et(e,t,n=!1){let a=me(),r={globalCss:a.globalCss,mermaidConfig:a.mermaidConfig,mathjaxConfig:a.mathjaxConfig,katexConfig:a.katexConfig,parserConfig:a.parserConfig};return n&&await t.mkdir(e),await t.exists(e)&&(r.globalCss=await pr(e,t),r.parserConfig=await gr(e,t),r={...r,...await ur(e,t)}),r}async function pr(e,t){let n=fe.join(e,"./style.less"),a;try{a=await t.readFile(n)}catch{a=`
277
+ `)}e=rr(e,t,n),c.find(A=>A.includes("pandoc-citeproc")||A.includes("--defaults"))===void 0&&(p.bibliography||p.references)&&c.push("--citeproc");let E=d.config.imageFolderPath;E[0]==="/"?E=X.resolve(n,"."+E):E=X.resolve(t,E),await gt.sync(E);let{outputString:_}=await $e(e,{fileDirectoryPath:t,projectDirectoryPath:n,imageDirectoryPath:E,imageFilePrefix:K(m),useRelativeFilePath:!0,codeChunksData:o,graphsCache:l,addOptionsStr:!0,notebook:d});return await gt.sync(X.dirname(m)),await new Promise((A,T)=>{tr(d.config.pandocPath,c,{cwd:t},y=>y?T(y.toString()):A(m)).stdin?.end(_)})}import{execFile as ir}from"child_process";function Cn(e,t){return new Promise((n,a)=>{ir("prince",[e,"--javascript","-o",t],r=>{if(r){let s=r.toString();return r.message.indexOf("spawn prince ENOENT")>=0&&(s='"princexml" is required to be installed.'),a(s)}return n()})})}var or=e=>typeof e=="string"?e.trim().toLowerCase():"",Ge=e=>{let t=Ht(e.attributes),n=or(e.language);return t!==e.attributes||n!==e.language?{language:n,attributes:t}:e};var ze=(e="")=>{let t,n,a,r=e.trim(),s=r.indexOf("{")!==-1?r.match(/^([^\s{]*)\s*\{(.*?)\}/):r.match(/^([^\s]+)\s+(.+?)$/);if(s?(s[1].length&&(t=s[1]),n=s[2]):(t=r,n=""),n)try{a=te(n)}catch{a={}}else a={};let o=a.class?a.class.split(/\s+/):[];return t||(t=o[0]||"text"),o.includes(t)||(a.class=[t,...o].join(" ")),{language:t,attributes:a}};import{Mutex as yr}from"async-mutex";import kr from"markdown-it";import Tr from"markdown-it-abbr";import wr from"markdown-it-deflist";import Ar from"markdown-it-footnote";import _r from"markdown-it-mark";import Rr from"markdown-it-sub";import Ir from"markdown-it-sup";import*as j from"path";import{URI as vr,Utils as Nr}from"vscode-uri";var On=e=>{let a=["note","summary","abstract","tldr","info","todo","tip","hint","success","check","done","question","help","faq","warning","attention","caution","failure","fail","missing","danger","error","bug","example","snippet","quote","cite"];function r(){e.block.ruler.after("fence","admonition",o,{alt:[]}),e.renderer.rules.admonition_open=s,e.renderer.rules.admonition_title_open=s,e.renderer.rules.admonition_title_close=s,e.renderer.rules.admonition_close=s}function s(l,d,p,c,g){let f=l[d];return f.type==="admonition_open"?l[d].attrPush(["class","admonition "+f.info]):f.type==="admonition_title_open"&&l[d].attrPush(["class","admonition-title"]),g.renderToken(l,d,p)}function o(l,d,p,c){if(l.tShift[d]-l.blkIndent>=4)return!1;let g=l.bMarks[d]+l.tShift[d],f=l.eMarks[d],S=l.src.charCodeAt(g);if(S!==33)return!1;let m=g;if(g=l.skipChars(g,S),g-m<3)return!1;let b=l.src.slice(m,g),h="",E="",_=l.src.slice(g,f).trim().split(" ");if(h=(_.shift()??"").toLowerCase(),E=_.join(" "),a.indexOf(h)<0&&(h="note"),E||(E=h.substr(0,1).toUpperCase()+h.substr(1,h.length-1)),c)return!0;let A=l.parentType,T=l.lineMax,k=l.blkIndent;l.blkIndent+=4;let y=d;for(;y++,!(y>=p||(g=m=l.bMarks[y]+l.tShift[y],f=l.eMarks[y],g<f&&l.sCount[y]<l.blkIndent)););l.parentType="admonition",l.lineMax=y;let w=l.push("admonition_open","div",1);return w.markup=b,w.block=!0,w.info=h,w.map=[d,d+1],E!=='""'&&(w=l.push("admonition_title_open","p",1),w.markup=b+" "+h,w.map=[d,d+1],w=l.push("inline","",0),w.content=E,w.map=[d,d+1],w.children=[],w=l.push("admonition_title_close","p",-1),w.markup=b+" "+h),l.md.block.tokenize(l,d+1,y),w=l.push("admonition_close","div",-1),w.markup=b,w.map=[d,y],w.block=!0,l.parentType=A,l.lineMax=T,l.line=y,l.blkIndent=k,!0}r()};import{escape as He}from"html-escaper";var xn=e=>{e.renderer.rules.fence=(t,n)=>{let a=t[n],r=a.info.trim(),s=ze(r),o=Ge(s),l=He(a.content),d=n<t.length&&t[n].type==="list_item_close"?`
278
+ `:"";return`<pre data-role="codeBlock" data-info="${He(r)}" data-parsed-info="${He(JSON.stringify(s))}" data-normalized-info="${He(JSON.stringify(o))}">${l}</pre>${d}`}};var Ln=(e,t)=>{e.inline.ruler.before("strikethrough","critic-markup",(n,a)=>{if(!t.config.enableCriticMarkupSyntax)return!1;let{src:s,pos:o}=n;if(s[o]==="{"&&(s[o+1]==="-"&&s[o+2]==="-"||s[o+1]==="+"&&s[o+2]==="+"||s[o+1]==="~"&&s[o+2]==="~"||s[o+1]==="="&&s[o+2]==="="||s[o+1]===">"&&s[o+2]===">")){let l=s.slice(o+1,o+3),d=l[0]===">"?"<<}":`${l}}`,p=o+3,c=-1,g=null;for(;p<s.length;){if(s.startsWith(d,p)){c=p;break}p+=1}if(c>=0)g=s.slice(o+3,c);else return!1;if(g&&!a){let f=n.push("critic-markup","",0);return f.content=g,f.tag=l,n.pos=c+d.length,!0}else return!1}else return!1}),e.renderer.rules["critic-markup"]=(n,a)=>{let r=n[a],s=r.tag,o=r.content;if(s==="--")return`<del>${o}</del>`;if(s==="++")return`<ins>${o}</ins>`;if(s==="==")return`<mark>${o}</mark>`;if(s===">>")return`<span style="display:none">${o}</span>`;{let l=o.split("~>");return l.length===2?`<del>${l[0]}</del><ins>${l[1]}</ins>`:"<code>Error: ~> not found.</code>"}}};import sr from"markdown-it-emoji";import lr from"markdown-it-emoji/lib/data/full.json";var dr=["fa-500px","fa-address-book","fa-address-book-o","fa-address-card","fa-address-card-o","fa-adjust","fa-adn","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-amazon","fa-ambulance","fa-american-sign-language-interpreting","fa-anchor","fa-android","fa-angellist","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-apple","fa-archive","fa-area-chart","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-o-down","fa-arrow-circle-o-left","fa-arrow-circle-o-right","fa-arrow-circle-o-up","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows","fa-arrows-alt","fa-arrows-h","fa-arrows-v","fa-asl-interpreting","fa-assistive-listening-systems","fa-asterisk","fa-at","fa-audio-description","fa-automobile","fa-backward","fa-balance-scale","fa-ban","fa-bandcamp","fa-bank","fa-bar-chart","fa-bar-chart-o","fa-barcode","fa-bars","fa-bath","fa-bathtub","fa-battery","fa-battery-0","fa-battery-1","fa-battery-2","fa-battery-3","fa-battery-4","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bed","fa-beer","fa-behance","fa-behance-square","fa-bell","fa-bell-o","fa-bell-slash","fa-bell-slash-o","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-bitbucket","fa-bitbucket-square","fa-bitcoin","fa-black-tie","fa-blind","fa-bluetooth","fa-bluetooth-b","fa-bold","fa-bolt","fa-bomb","fa-book","fa-bookmark","fa-bookmark-o","fa-braille","fa-briefcase","fa-btc","fa-bug","fa-building","fa-building-o","fa-bullhorn","fa-bullseye","fa-bus","fa-buysellads","fa-cab","fa-calculator","fa-calendar","fa-calendar-check-o","fa-calendar-minus-o","fa-calendar-o","fa-calendar-plus-o","fa-calendar-times-o","fa-camera","fa-camera-retro","fa-car","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-o-down","fa-caret-square-o-left","fa-caret-square-o-right","fa-caret-square-o-up","fa-caret-up","fa-cart-arrow-down","fa-cart-plus","fa-cc","fa-cc-amex","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","fa-certificate","fa-chain","fa-chain-broken","fa-check","fa-check-circle","fa-check-circle-o","fa-check-square","fa-check-square-o","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-child","fa-chrome","fa-circle","fa-circle-o","fa-circle-o-notch","fa-circle-thin","fa-clipboard","fa-clock-o","fa-clone","fa-close","fa-cloud","fa-cloud-download","fa-cloud-upload","fa-cny","fa-code","fa-code-fork","fa-codepen","fa-codiepie","fa-coffee","fa-cog","fa-cogs","fa-columns","fa-comment","fa-comment-o","fa-commenting","fa-commenting-o","fa-comments","fa-comments-o","fa-compass","fa-compress","fa-connectdevelop","fa-contao","fa-copy","fa-copyright","fa-creative-commons","fa-credit-card","fa-credit-card-alt","fa-crop","fa-crosshairs","fa-css3","fa-cube","fa-cubes","fa-cut","fa-cutlery","fa-dashboard","fa-dashcube","fa-database","fa-deaf","fa-deafness","fa-dedent","fa-delicious","fa-desktop","fa-deviantart","fa-diamond","fa-digg","fa-dollar","fa-dot-circle-o","fa-download","fa-dribbble","fa-drivers-license","fa-drivers-license-o","fa-dropbox","fa-drupal","fa-edge","fa-edit","fa-eercast","fa-eject","fa-ellipsis-h","fa-ellipsis-v","fa-empire","fa-envelope","fa-envelope-o","fa-envelope-open","fa-envelope-open-o","fa-envelope-square","fa-envira","fa-eraser","fa-etsy","fa-eur","fa-euro","fa-exchange","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-expand","fa-expeditedssl","fa-external-link","fa-external-link-square","fa-eye","fa-eye-slash","fa-eyedropper","fa-fa","fa-facebook","fa-facebook-f","fa-facebook-official","fa-facebook-square","fa-fast-backward","fa-fast-forward","fa-fax","fa-feed","fa-female","fa-fighter-jet","fa-file","fa-file-archive-o","fa-file-audio-o","fa-file-code-o","fa-file-excel-o","fa-file-image-o","fa-file-movie-o","fa-file-o","fa-file-pdf-o","fa-file-photo-o","fa-file-picture-o","fa-file-powerpoint-o","fa-file-sound-o","fa-file-text","fa-file-text-o","fa-file-video-o","fa-file-word-o","fa-file-zip-o","fa-files-o","fa-film","fa-filter","fa-fire","fa-fire-extinguisher","fa-firefox","fa-first-order","fa-flag","fa-flag-checkered","fa-flag-o","fa-flash","fa-flask","fa-flickr","fa-floppy-o","fa-folder","fa-folder-o","fa-folder-open","fa-folder-open-o","fa-font","fa-font-awesome","fa-fonticons","fa-fort-awesome","fa-forumbee","fa-forward","fa-foursquare","fa-free-code-camp","fa-frown-o","fa-futbol-o","fa-gamepad","fa-gavel","fa-gbp","fa-ge","fa-gear","fa-gears","fa-genderless","fa-get-pocket","fa-gg","fa-gg-circle","fa-gift","fa-git","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitlab","fa-gittip","fa-glass","fa-glide","fa-glide-g","fa-globe","fa-google","fa-google-plus","fa-google-plus-circle","fa-google-plus-official","fa-google-plus-square","fa-google-wallet","fa-graduation-cap","fa-gratipay","fa-grav","fa-group","fa-h-square","fa-hacker-news","fa-hand-grab-o","fa-hand-lizard-o","fa-hand-o-down","fa-hand-o-left","fa-hand-o-right","fa-hand-o-up","fa-hand-paper-o","fa-hand-peace-o","fa-hand-pointer-o","fa-hand-rock-o","fa-hand-scissors-o","fa-hand-spock-o","fa-hand-stop-o","fa-handshake-o","fa-hard-of-hearing","fa-hashtag","fa-hdd-o","fa-header","fa-headphones","fa-heart","fa-heart-o","fa-heartbeat","fa-history","fa-home","fa-hospital-o","fa-hotel","fa-hourglass","fa-hourglass-1","fa-hourglass-2","fa-hourglass-3","fa-hourglass-end","fa-hourglass-half","fa-hourglass-o","fa-hourglass-start","fa-houzz","fa-html5","fa-i-cursor","fa-id-badge","fa-id-card","fa-id-card-o","fa-ils","fa-image","fa-imdb","fa-inbox","fa-indent","fa-industry","fa-info","fa-info-circle","fa-inr","fa-instagram","fa-institution","fa-internet-explorer","fa-intersex","fa-ioxhost","fa-italic","fa-joomla","fa-jpy","fa-jsfiddle","fa-key","fa-keyboard-o","fa-krw","fa-language","fa-laptop","fa-lastfm","fa-lastfm-square","fa-leaf","fa-leanpub","fa-legal","fa-lemon-o","fa-level-down","fa-level-up","fa-life-bouy","fa-life-buoy","fa-life-ring","fa-life-saver","fa-lightbulb-o","fa-line-chart","fa-link","fa-linkedin","fa-linkedin-square","fa-linode","fa-linux","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-location-arrow","fa-lock","fa-long-arrow-down","fa-long-arrow-left","fa-long-arrow-right","fa-long-arrow-up","fa-low-vision","fa-magic","fa-magnet","fa-mail-forward","fa-mail-reply","fa-mail-reply-all","fa-male","fa-map","fa-map-marker","fa-map-o","fa-map-pin","fa-map-signs","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-maxcdn","fa-meanpath","fa-medium","fa-medkit","fa-meetup","fa-meh-o","fa-mercury","fa-microchip","fa-microphone","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-minus-square-o","fa-mixcloud","fa-mobile","fa-mobile-phone","fa-modx","fa-money","fa-moon-o","fa-mortar-board","fa-motorcycle","fa-mouse-pointer","fa-music","fa-navicon","fa-neuter","fa-newspaper-o","fa-object-group","fa-object-ungroup","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-outdent","fa-pagelines","fa-paint-brush","fa-paper-plane","fa-paper-plane-o","fa-paperclip","fa-paragraph","fa-paste","fa-pause","fa-pause-circle","fa-pause-circle-o","fa-paw","fa-paypal","fa-pencil","fa-pencil-square","fa-pencil-square-o","fa-percent","fa-phone","fa-phone-square","fa-photo","fa-picture-o","fa-pie-chart","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-pp","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane","fa-play","fa-play-circle","fa-play-circle-o","fa-plug","fa-plus","fa-plus-circle","fa-plus-square","fa-plus-square-o","fa-podcast","fa-power-off","fa-print","fa-product-hunt","fa-puzzle-piece","fa-qq","fa-qrcode","fa-question","fa-question-circle","fa-question-circle-o","fa-quora","fa-quote-left","fa-quote-right","fa-ra","fa-random","fa-ravelry","fa-rebel","fa-recycle","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-refresh","fa-registered","fa-remove","fa-renren","fa-reorder","fa-repeat","fa-reply","fa-reply-all","fa-resistance","fa-retweet","fa-rmb","fa-road","fa-rocket","fa-rotate-left","fa-rotate-right","fa-rouble","fa-rss","fa-rss-square","fa-rub","fa-ruble","fa-rupee","fa-s15","fa-safari","fa-save","fa-scissors","fa-scribd","fa-search","fa-search-minus","fa-search-plus","fa-sellsy","fa-send","fa-send-o","fa-server","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-share-square-o","fa-shekel","fa-sheqel","fa-shield","fa-ship","fa-shirtsinbulk","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sign-in","fa-sign-language","fa-sign-out","fa-signal","fa-signing","fa-simplybuilt","fa-sitemap","fa-skyatlas","fa-skype","fa-slack","fa-sliders","fa-slideshare","fa-smile-o","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-snowflake-o","fa-soccer-ball-o","fa-sort","fa-sort-alpha-asc","fa-sort-alpha-desc","fa-sort-amount-asc","fa-sort-amount-desc","fa-sort-asc","fa-sort-desc","fa-sort-down","fa-sort-numeric-asc","fa-sort-numeric-desc","fa-sort-up","fa-soundcloud","fa-space-shuttle","fa-spinner","fa-spoon","fa-spotify","fa-square","fa-square-o","fa-stack-exchange","fa-stack-overflow","fa-star","fa-star-half","fa-star-half-empty","fa-star-half-full","fa-star-half-o","fa-star-o","fa-steam","fa-steam-square","fa-step-backward","fa-step-forward","fa-stethoscope","fa-sticky-note","fa-sticky-note-o","fa-stop","fa-stop-circle","fa-stop-circle-o","fa-street-view","fa-strikethrough","fa-stumbleupon","fa-stumbleupon-circle","fa-subscript","fa-subway","fa-suitcase","fa-sun-o","fa-superpowers","fa-superscript","fa-support","fa-table","fa-tablet","fa-tachometer","fa-tag","fa-tags","fa-tasks","fa-taxi","fa-telegram","fa-television","fa-tencent-weibo","fa-terminal","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-themeisle","fa-thermometer","fa-thermometer-0","fa-thermometer-1","fa-thermometer-2","fa-thermometer-3","fa-thermometer-4","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","fa-thumb-tack","fa-thumbs-down","fa-thumbs-o-down","fa-thumbs-o-up","fa-thumbs-up","fa-ticket","fa-times","fa-times-circle","fa-times-circle-o","fa-times-rectangle","fa-times-rectangle-o","fa-tint","fa-toggle-down","fa-toggle-left","fa-toggle-off","fa-toggle-on","fa-toggle-right","fa-toggle-up","fa-trademark","fa-train","fa-transgender","fa-transgender-alt","fa-trash","fa-trash-o","fa-tree","fa-trello","fa-tripadvisor","fa-trophy","fa-truck","fa-try","fa-tty","fa-tumblr","fa-tumblr-square","fa-turkish-lira","fa-tv","fa-twitch","fa-twitter","fa-twitter-square","fa-umbrella","fa-underline","fa-undo","fa-universal-access","fa-university","fa-unlink","fa-unlock","fa-unlock-alt","fa-unsorted","fa-upload","fa-usb","fa-usd","fa-user","fa-user-circle","fa-user-circle-o","fa-user-md","fa-user-o","fa-user-plus","fa-user-secret","fa-user-times","fa-users","fa-vcard","fa-vcard-o","fa-venus","fa-venus-double","fa-venus-mars","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-video-camera","fa-vimeo","fa-vimeo-square","fa-vine","fa-vk","fa-volume-control-phone","fa-volume-down","fa-volume-off","fa-volume-up","fa-warning","fa-wechat","fa-weibo","fa-weixin","fa-whatsapp","fa-wheelchair","fa-wheelchair-alt","fa-wifi","fa-wikipedia-w","fa-window-close","fa-window-close-o","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-windows","fa-won","fa-wordpress","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wrench","fa-xing","fa-xing-square","fa-y-combinator","fa-y-combinator-square","fa-yahoo","fa-yc","fa-yc-square","fa-yelp","fa-yen","fa-yoast","fa-youtube","fa-youtube-play","fa-youtube-square"],Dn={};dr.forEach(e=>{Dn[e]=""});var Pn=(e,t)=>{e.use(sr,{defs:{...lr,...Dn}}),e.renderer.rules.emoji=(n,a)=>{let r=n[a];if(t.config.enableEmojiSyntax){let s=r.markup;return s.match("fa-")?`<i class="fa ${s}" aria-hidden="true"></i>`:r.content}else return`:${r.markup}:`}};import cr from"markdown-it-html5-embed";var pr=e=>({html5embed:{useImageSyntax:e.config.HTML5EmbedUseImageSyntax,useLinkSyntax:e.config.HTML5EmbedUseLinkSyntax,isAllowedHttp:e.config.HTML5EmbedIsAllowedHttp,attributes:{audio:e.config.HTML5EmbedAudioAttributes,video:e.config.HTML5EmbedVideoAttributes}}}),Mn=(e,t)=>{t.config.enableHTML5Embed&&e.use(cr,pr(t))};import{escape as ur}from"html-escaper";import gr from"katex";import"katex/contrib/mhchem";var je=({content:e,openTag:t,closeTag:n,displayMode:a=!1,renderingOption:r,katexConfig:s})=>{if(!e)return"";if(r==="KaTeX")try{return gr.renderToString(e,Object.assign({},s,{displayMode:a}))}catch(o){return`<span style="color: #ee7f49; font-weight: 500;">${o.toString()}</span>`}else if(r==="MathJax"){let o=(t+e+n).replace(/\n/g," "),l=a?"div":"span";return`<${l} class="mathjax-exps">${ur(o)}</${l}>`}else return""};var Fn=(e,t)=>{e.inline.ruler.before("escape","math",(n,a)=>{if(t.config.mathRenderingOption==="None")return!1;let r=null,s=null,o=!0,{mathBlockDelimiters:l,mathInlineDelimiters:d}=t.config;for(let f of l)if(n.src.startsWith(f[0],n.pos)){[r,s]=f;break}if(!r){for(let f of d)if(n.src.startsWith(f[0],n.pos)){[r,s]=f,o=!1;break}}if(!r||!s)return!1;let p=null,c=-1,g=n.pos+r.length;for(;g<n.src.length;){if(s&&n.src.startsWith(s,g)){c=g;break}else n.src[g]==="\\"&&(g+=1);g+=1}if(c>=0)p=n.src.slice(n.pos+r.length,c);else return!1;if(p&&!a){let f=n.push("math","",0);return f.content=p.trim(),f.meta=f.meta||{},f.meta.openTag=r,f.meta.closeTag=s,f.meta.displayMode=o,n.pos+=p.length+r.length+s.length,!0}else return!1}),e.renderer.rules.math=(n,a)=>{let r=n[a].content??"";return je({content:r,openTag:n[a].meta.openTag,closeTag:n[a].meta.closeTag,renderingOption:t.config.mathRenderingOption,displayMode:n[a].meta.displayMode,katexConfig:t.config.katexConfig})}};var Un=(e,t)=>{e.inline.ruler.before("autolink","wikilink",(n,a)=>{if(!t.config.enableWikiLinkSyntax||!n.src.startsWith("[[",n.pos))return!1;let r=null,s="]]",o=-1,l=n.pos+s.length;for(;l<n.src.length;){if(n.src[l]==="\\")l+=1;else if(n.src.startsWith(s,l)){o=l;break}l+=1}if(o>=0)r=n.src.slice(n.pos+s.length,o);else return!1;if(r&&!a){let d=n.push("wikilink","a",0);return d.content=r,n.pos+=r.length+2*s.length,!0}else return!1}),e.renderer.rules.wikilink=(n,a)=>{let{content:r}=n[a];if(!r)return"";let s=r.split("|"),o,l;if(s.length===1){l=s[0].trim();let d=t.config.parserConfig.processWikiLink({text:l,link:void 0});l=d.text,o=d.link}else if(t.config.useGitHubStylePipedLink){let d=t.config.parserConfig.processWikiLink({text:s[0].trim(),link:s[1].trim()});l=d.text,o=d.link}else{let d=t.config.parserConfig.processWikiLink({text:s[1].trim(),link:s[0].trim()});l=d.text,o=d.link}return`<a href="${o}">${l}</a>`}};import*as We from"fs";import*as $n from"less";import*as ce from"path";var Bn=typeof window>"u";function mt(){return{startOnLoad:!1}}function ft(){return{tex:{},options:{},loader:{}}}function bt(){return{macros:{}}}function ht(){return{onWillParseMarkdown:async function(e){return e},onDidParseMarkdown:async function(e){return e},onWillTransformMarkdown:async function(e){return e},onDidTransformMarkdown:async function(e){return e},processWikiLink:function({text:e,link:t}){return{text:e,link:t||(e.endsWith(".md")?e:`${e}.md`)}}}}function fe(){return{markdownFileExtensions:[".md",".markdown",".mdown",".mkdn",".mkd",".rmd",".qmd"],globalCss:"",includeInHeader:"",mermaidConfig:mt(),mathjaxConfig:ft(),katexConfig:bt(),parserConfig:ht(),usePandocParser:!1,breakOnSingleNewLine:!0,enableTypographer:!1,enableWikiLinkSyntax:!0,enableLinkify:!0,enableEmojiSyntax:!0,enableExtendedTableSyntax:!1,enableCriticMarkupSyntax:!1,useGitHubStylePipedLink:!1,protocolsWhiteList:"http://, https://, atom://, file://, mailto:, tel:",mathRenderingOption:"KaTeX",mathInlineDelimiters:[["$","$"]],mathBlockDelimiters:[["$$","$$"]],mathRenderingOnlineService:"https://latex.codecogs.com/gif.latex",mathjaxV3ScriptSrc:"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js",codeBlockTheme:"auto.css",previewTheme:"github-light.css",revealjsTheme:"white.css",mermaidTheme:"default",frontMatterRenderingOption:"none",imageFolderPath:"/assets",printBackground:!1,chromePath:"",imageMagickPath:"",pandocPath:"pandoc",pandocMarkdownFlavor:"markdown-raw_tex+tex_math_single_backslash",pandocArguments:[],latexEngine:"pdflatex",enableScriptExecution:!1,enableHTML5Embed:!1,HTML5EmbedUseImageSyntax:!0,HTML5EmbedUseLinkSyntax:!1,HTML5EmbedIsAllowedHttp:!1,HTML5EmbedAudioAttributes:'controls preload="metadata"',HTML5EmbedVideoAttributes:'controls preload="metadata"',puppeteerWaitForTimeout:0,puppeteerArgs:[],plantumlServer:"",plantumlJarPath:"",jsdelivrCdnHost:"cdn.jsdelivr.net",krokiServer:"https://kroki.io",isVSCode:!1,alwaysShowBacklinksInPreview:!1}}async function Et(e,t,n=!1){let a=fe(),r={globalCss:a.globalCss,includeInHeader:a.includeInHeader,mermaidConfig:a.mermaidConfig,mathjaxConfig:a.mathjaxConfig,katexConfig:a.katexConfig,parserConfig:a.parserConfig};return n&&await t.mkdir(e),await t.exists(e)&&(r.globalCss=await mr(e,t),r.parserConfig=await hr(e,t),r.includeInHeader=await fr(e,t),r={...r,...await br(e,t)}),r}async function mr(e,t){let n=ce.join(e,"./style.less"),a;try{a=await t.readFile(n)}catch{a=`
279
279
  /* Please visit the URL below for more information: */
280
280
  /* https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
281
281
 
@@ -287,13 +287,18 @@ ${b.plainResult}\`\`\`
287
287
  content: "Failed to compile \`style.less\`. ${o}" !important;
288
288
  padding: 2em !important;
289
289
  }
290
- .crossnote.crossnote { display: none !important; }`;Un.render(a,{paths:[fe.dirname(n)]},(o,l)=>r(o?s(o):l?.css||""))})}async function ur(e,t){let n=fe.join(e,"./config.js"),a=async()=>{let r=bt(),s=ft(),o=mt();return await t.writeFile(n,`({
290
+ .crossnote.crossnote { display: none !important; }`;$n.render(a,{paths:[ce.dirname(n)]},(o,l)=>r(o?s(o):l?.css||""))})}async function fr(e,t){let n=ce.join(e,"./head.html"),a;try{a=await t.readFile(n)}catch{a=`<!-- The content below will be included at the end of the <head> element. -->
291
+ <script type="text/javascript">
292
+ document.addEventListener("DOMContentLoaded", function () {
293
+ // your code here
294
+ });
295
+ </script>`,await t.writeFile(n,a)}return a}async function br(e,t){let n=ce.join(e,"./config.js"),a=async()=>{let r=bt(),s=ft(),o=mt();return await t.writeFile(n,`({
291
296
  katexConfig: ${JSON.stringify(r,null,2)},
292
297
 
293
298
  mathjaxConfig: ${JSON.stringify(s,null,2)},
294
299
 
295
300
  mermaidConfig: ${JSON.stringify(o,null,2)},
296
- })`),{katexConfig:r,mathjaxConfig:s,mermaidConfig:o}};if(await t.exists(n))try{let r=await t.readFile(n),s=ye(r);return Object.keys(s??{}).length===0?await a():s}catch(r){return console.error(r),{}}else return a()}async function gr(e,t){let n=ht(),a=fe.join(e,"./parser.js");if(await t.exists(a))try{let r=await t.readFile(a),s=ye(r);return{...n,...s??{}}}catch(r){return console.error(r),n}else return await t.writeFile(a,`({
301
+ })`),{katexConfig:r,mathjaxConfig:s,mermaidConfig:o}};if(await t.exists(n))try{let r=await t.readFile(n),s=ye(r);return Object.keys(s??{}).length===0?await a():s}catch(r){return console.error(r),{}}else return a()}async function hr(e,t){let n=ht(),a=ce.join(e,"./parser.js");if(await t.exists(a))try{let r=await t.readFile(a),s=ye(r);return{...n,...s??{}}}catch(r){return console.error(r),n}else return await t.writeFile(a,`({
297
302
  onWillParseMarkdown: async function(markdown) {
298
303
  return markdown;
299
304
  },
@@ -316,21 +321,21 @@ ${b.plainResult}\`\`\`
316
321
  link: link ? link : text.endsWith('.md') ? text : \`\${text}.md\`,
317
322
  };
318
323
  }
319
- })`),n}function St(){let e=We.promises;return{readFile:async(t,n="utf-8")=>(await e.readFile(t,n)).toString(),writeFile:async(t,n,a="utf8")=>await e.writeFile(t,n,a),mkdir:async t=>{await e.mkdir(t,{recursive:!0})},exists:async t=>We.existsSync(t),stat:async t=>await e.stat(t),readdir:async t=>await e.readdir(t),unlink:async t=>await e.unlink(t)}}import*as Ve from"yaml";function Bn(e){let t=0,n={};if(e.startsWith("---")&&(t=e.indexOf(`
320
- ---`))>0){let a=e.slice(3,t);try{n=Ve.parse(a)}catch{n={}}e=e.slice(t+4).replace(/^[ \t]*\n/,"")}return{data:n,content:e}}function $n(e,t){t=t||{};let n=Ve.stringify(t).trim();return n==="{}"||!n?e:`---
324
+ })`),n}function St(){let e=We.promises;return{readFile:async(t,n="utf-8")=>(await e.readFile(t,n)).toString(),writeFile:async(t,n,a="utf8")=>await e.writeFile(t,n,a),mkdir:async t=>{await e.mkdir(t,{recursive:!0})},exists:async t=>We.existsSync(t),stat:async t=>await e.stat(t),readdir:async t=>await e.readdir(t),unlink:async t=>await e.unlink(t)}}import*as Ve from"yaml";function Gn(e){let t=0,n={};if(e.startsWith("---")&&(t=e.indexOf(`
325
+ ---`))>0){let a=e.slice(3,t);try{n=Ve.parse(a)}catch{n={}}e=e.slice(t+4).replace(/^[ \t]*\n/,"")}return{data:n,content:e}}function zn(e,t){t=t||{};let n=Ve.stringify(t).trim();return n==="{}"||!n?e:`---
321
326
  ${n}
322
327
  ---
323
- ${e}`}var _e=class{constructor(){this.map={}}addReference(t,n,a){if(t===n&&!a){t in this.map||(this.map[t]={[n]:[]});return}if(a)if(t in this.map){let r=this.map[t];n in r?r[n].push(a):r[n]=[a]}else this.map[t]={[n]:[a]}}deleteReferences(t,n){if(t===n){delete this.map[t];return}t in this.map&&n in this.map[t]&&(delete this.map[t][n],Object.keys(this.map[t]).length===0&&delete this.map[t])}hasRelation(t,n){return t in this.map&&n in this.map[t]||n in this.map&&t in this.map[n]||t===n}getReferences(t,n){return t in this.map&&n in this.map[t]?this.map[t][n]:[]}noteHasReferences(t){return t in this.map}getReferredByNotesCount(t){if(t in this.map){let n=Object.keys(this.map[t]).length;return t in this.map[t]&&(n-=1),n}else return 0}};import mr from"minisearch";function fr(e,t="-"){return e.replace(/[.\s!@#$%^&*()\-=_+~`[\]{}\\<>?/|()【】::,。]+/g,t)}var be=class{constructor(){this.miniSearch=new mr({fields:["title","aliases","filePath"],storeFields:["title","aliases","filePath"],extractField:(t,n)=>n==="aliases"?t.aliases.join("|"):t[n],tokenize:t=>fr(t," ").match(/([^\x00-\x7F]|\w+)/g)??[]}),this._cache={}}add(t,n,a=[]){if(!(t in this._cache)){let r={id:t+"#"+n,filePath:t,title:n,aliases:a};this.miniSearch.add(r),this._cache[t]=r}}remove(t){if(t in this._cache){let n=this._cache[t];n&&this.miniSearch.remove(n),delete this._cache[t]}}search(t,n){return this.miniSearch.search(t,n)}addAlias(t,n){let a=this._cache[t];a&&(this.remove(t),this.add(t,a.title,a.aliases.concat(n)))}deleteAlias(t,n){let a=this._cache[t];a&&(this.remove(t),this.add(t,a.title,a.aliases.filter(r=>r!==n)))}};var Rr={html:!0,xhtmlOut:!1,breaks:!0,langPrefix:"language-",linkify:!0,typographer:!0},Gn=class e{constructor(){this.notes={};this.hasLoadedNotes=!1;this.referenceMap=new _e;this.refreshNotesIfNotLoadedMutex=new br;this.search=new be;this.markdownEngines={}}async init({notebookPath:t,config:n={},fs:a}){let r=Ar.parse(t);if(!j.isAbsolute(r.fsPath)||r.path.startsWith("/./"))throw new Error(`\`notebookPath\`: "${t}" must be an absolute path`);this.notebookPath=r,this.initFs(a),await this.initConfig(n),this.initMarkdownIt(),this.updateConfig({})}static async init(t){let n=new e;return await n.init(t),n}async initConfig(t){let n=await Et(j.join(this.notebookPath.fsPath,"./.crossnote"),this.fs);this.config={...me(),...n,...t}}initMarkdownIt(){this.md=new hr(Rr),this.md.use(yr),this.md.use(Tr),this.md.use(wr),this.md.use(Sr),this.md.use(Er),this.md.use(kr),Cn(this.md),On(this.md,this),Ln(this.md,this),Dn(this.md,this),Pn(this.md,this),Mn(this.md,this),Nn(this.md)}initFs(t){if(t)this.fs=t;else if(Fn)this.fs=St();else throw new Error("`fs` is required")}updateConfig(t){this.config={...this.config,...t},this.interpolateConfig(),this.md.set({typographer:!!this.config.enableTypographer,breaks:!!this.config.breakOnSingleNewLine,linkify:!!this.config.enableLinkify})}interpolateConfig(){let t=/\${\s*(\w+?)\s*}/g,n={projectDir:this.notebookPath,workspaceFolder:this.notebookPath};this.config.imageFolderPath=this.config.imageFolderPath?.replace(t,(a,r)=>n[r]||a),this.config.imageMagickPath=this.config.imageMagickPath?.replace(t,(a,r)=>n[r]||a),this.config.chromePath=this.config.chromePath?.replace(t,(a,r)=>n[r]||a),this.config.plantumlJarPath=this.config.plantumlJarPath?.replace(t,(a,r)=>n[r]||a)}async getBacklinkedNotes(t){if(t=this.resolveNoteRelativePath(t),t in this.referenceMap.map){let n=this.referenceMap.map[t],a={};for(let r in n){if(r===t)continue;let s=await this.getNote(r);s&&(a[r]=s)}return a}else return{}}async getNoteBacklinks(t){let n=await this.getBacklinkedNotes(t),a=[],r=Object.keys(n);for(let s of r){let o=n[s],l=await this.getReferences(t,s);a.push({note:{notebookPath:o.notebookPath,filePath:o.filePath,title:o.title,config:o.config},references:l,referenceHtmls:l.map(d=>{let p=[d.parentToken??d.token];return this.md.renderer.render(p,this.md.options,{})})})}return a}async getReferences(t,n){return this.referenceMap.getReferences(this.resolveNoteRelativePath(t),this.resolveNoteRelativePath(n))}async processNoteMentionsAndMentionedBy(t){let n=await this.getNote(t);if(!n)return;let a=this.md.parse(n.markdown,{}),r=c=>(c.endsWith(".md")||(c=c+".md"),c.startsWith("/")?j.relative(this.notebookPath.fsPath,j.join(this.notebookPath.fsPath,"."+c)):j.relative(this.notebookPath.fsPath,j.join(j.dirname(j.join(this.notebookPath.fsPath,n.filePath)),c))),s=c=>_r.joinPath(this.notebookPath,c).toString(),o=(c,g,f,S)=>{for(let m=0;m<c.length;m++){let u=c[m];if(u.type==="wikilink"){let b=u.content.split("|"),h,E;if(this.config.useGitHubStylePipedLink?(h=b[0].trim(),E=(b.length>1?b[1]:b[0]).trim()):(h=(b.length>1?b[1]:b[0]).trim(),E=b[0].trim()),E.match(/https?:\/\//))continue;E=r(E),this.config.useGitHubStylePipedLink?u.content=`${h} | ${s(E)}`:u.content=`${s(E)} | ${h}`,f.push({elementId:u.attrGet("id")||"",text:h,link:E,parentToken:g,token:u})}else if(u.type==="tag"){let b=u.content.trim(),h=u.content.trim();f.push({elementId:u.attrGet("id")||"",text:b,link:r(h),parentToken:g,token:u})}else if(u.type==="link_open"&&c[m+1]&&c[m+1].type==="text"){if(u.attrs?.length&&u.attrs[0][0]==="href"){let b=decodeURI(u.attrs[0][1]),h=c[m+1].content.trim();if(b.match(/https?:\/\//)||!h.length||!b.endsWith(".md"))continue;b=r(b),u.attrs[0][1]=s(b),f.push({elementId:u.attrGet("id")||"",text:h,link:b,parentToken:g,token:u})}}else u.children&&u.children.length&&o(u.children,u,f,S+1)}return f},l=o(a,null,[],0),d=new Set,p=n.mentions;for(let c in p)this.referenceMap.deleteReferences(c,n.filePath);for(let c=0;c<l.length;c++){let{link:g}=l[c];d[g]=!0,this.referenceMap.addReference(g,n.filePath,l[c])}this.referenceMap.addReference(n.filePath,n.filePath,void 0),n.mentions=d}async getNote(t,n=!1){if(t=this.resolveNoteRelativePath(t),!n&&t in this.notes)return this.notes[t];let a=this.resolveNoteAbsolutePath(t),r;try{r=await this.fs.stat(a)}catch{return null}if(r.isFile()&&this.config.markdownFileExtensions.includes(j.extname(t))){let s=await this.fs.readFile(a),o={createdAt:new Date(r.ctimeMs),modifiedAt:new Date(r.mtimeMs),aliases:[]};try{let c=Bn(s),g=Object.assign({},c.data);if(c.data.created&&(o.createdAt=new Date(c.data.created),delete g.created),c.data.modified&&(o.modifiedAt=new Date(c.data.modified),delete g.modified),c.data.pinned&&(o.pinned=c.data.pinned,delete g.pinned),c.data.favorited&&(o.favorited=c.data.favorited,delete g.favorited),c.data.icon&&(o.icon=c.data.icon,delete g.icon),c.data.aliases){let f=c.data.aliases||[];typeof f=="string"?o.aliases=f.split(",").map(S=>S.trim()):o.aliases=f,delete g.aliases}s=$n(c.content,g)}catch{s=`Please fix front-matter. (\u{1F448} Don't forget to delete this line)
328
+ ${e}`}var _e=class{constructor(){this.map={}}addReference(t,n,a){if(t===n&&!a){t in this.map||(this.map[t]={[n]:[]});return}if(a)if(t in this.map){let r=this.map[t];n in r?r[n].push(a):r[n]=[a]}else this.map[t]={[n]:[a]}}deleteReferences(t,n){if(t===n){delete this.map[t];return}t in this.map&&n in this.map[t]&&(delete this.map[t][n],Object.keys(this.map[t]).length===0&&delete this.map[t])}hasRelation(t,n){return t in this.map&&n in this.map[t]||n in this.map&&t in this.map[n]||t===n}getReferences(t,n){return t in this.map&&n in this.map[t]?this.map[t][n]:[]}noteHasReferences(t){return t in this.map}getReferredByNotesCount(t){if(t in this.map){let n=Object.keys(this.map[t]).length;return t in this.map[t]&&(n-=1),n}else return 0}};import Er from"minisearch";function Sr(e,t="-"){return e.replace(/[.\s!@#$%^&*()\-=_+~`[\]{}\\<>?/|()【】::,。]+/g,t)}var be=class{constructor(){this.miniSearch=new Er({fields:["title","aliases","filePath"],storeFields:["title","aliases","filePath"],extractField:(t,n)=>n==="aliases"?t.aliases.join("|"):t[n],tokenize:t=>Sr(t," ").match(/([^\x00-\x7F]|\w+)/g)??[]}),this._cache={}}add(t,n,a=[]){if(!(t in this._cache)){let r={id:t+"#"+n,filePath:t,title:n,aliases:a};this.miniSearch.add(r),this._cache[t]=r}}remove(t){if(t in this._cache){let n=this._cache[t];n&&this.miniSearch.remove(n),delete this._cache[t]}}search(t,n){return this.miniSearch.search(t,n)}addAlias(t,n){let a=this._cache[t];a&&(this.remove(t),this.add(t,a.title,a.aliases.concat(n)))}deleteAlias(t,n){let a=this._cache[t];a&&(this.remove(t),this.add(t,a.title,a.aliases.filter(r=>r!==n)))}};var Cr={html:!0,xhtmlOut:!1,breaks:!0,langPrefix:"language-",linkify:!0,typographer:!0},Hn=class e{constructor(){this.notes={};this.hasLoadedNotes=!1;this.referenceMap=new _e;this.refreshNotesIfNotLoadedMutex=new yr;this.search=new be;this.markdownEngines={}}async init({notebookPath:t,config:n={},fs:a}){let r=vr.parse(t);if(!j.isAbsolute(r.fsPath)||r.path.startsWith("/./"))throw new Error(`\`notebookPath\`: "${t}" must be an absolute path`);this.notebookPath=r,this.initFs(a),await this.initConfig(n),this.initMarkdownIt(),this.updateConfig({})}static async init(t){let n=new e;return await n.init(t),n}async initConfig(t){let n=await Et(j.join(this.notebookPath.fsPath,"./.crossnote"),this.fs);this.config={...fe(),...n,...t}}initMarkdownIt(){this.md=new kr(Cr),this.md.use(Ar),this.md.use(Rr),this.md.use(Ir),this.md.use(wr),this.md.use(Tr),this.md.use(_r),xn(this.md),Ln(this.md,this),Pn(this.md,this),Mn(this.md,this),Fn(this.md,this),Un(this.md,this),On(this.md)}initFs(t){if(t)this.fs=t;else if(Bn)this.fs=St();else throw new Error("`fs` is required")}updateConfig(t){this.config={...this.config,...t},this.interpolateConfig(),this.md.set({typographer:!!this.config.enableTypographer,breaks:!!this.config.breakOnSingleNewLine,linkify:!!this.config.enableLinkify})}interpolateConfig(){let t=/\${\s*(\w+?)\s*}/g,n={projectDir:this.notebookPath,workspaceFolder:this.notebookPath};this.config.imageFolderPath=this.config.imageFolderPath?.replace(t,(a,r)=>n[r]||a),this.config.imageMagickPath=this.config.imageMagickPath?.replace(t,(a,r)=>n[r]||a),this.config.chromePath=this.config.chromePath?.replace(t,(a,r)=>n[r]||a),this.config.plantumlJarPath=this.config.plantumlJarPath?.replace(t,(a,r)=>n[r]||a)}async getBacklinkedNotes(t){if(t=this.resolveNoteRelativePath(t),t in this.referenceMap.map){let n=this.referenceMap.map[t],a={};for(let r in n){if(r===t)continue;let s=await this.getNote(r);s&&(a[r]=s)}return a}else return{}}async getNoteBacklinks(t){let n=await this.getBacklinkedNotes(t),a=[],r=Object.keys(n);for(let s of r){let o=n[s],l=await this.getReferences(t,s);a.push({note:{notebookPath:o.notebookPath,filePath:o.filePath,title:o.title,config:o.config},references:l,referenceHtmls:l.map(d=>{let p=[d.parentToken??d.token];return this.md.renderer.render(p,this.md.options,{})})})}return a}async getReferences(t,n){return this.referenceMap.getReferences(this.resolveNoteRelativePath(t),this.resolveNoteRelativePath(n))}async processNoteMentionsAndMentionedBy(t){let n=await this.getNote(t);if(!n)return;let a=this.md.parse(n.markdown,{}),r=c=>(c.endsWith(".md")||(c=c+".md"),c.startsWith("/")?j.relative(this.notebookPath.fsPath,j.join(this.notebookPath.fsPath,"."+c)):j.relative(this.notebookPath.fsPath,j.join(j.dirname(j.join(this.notebookPath.fsPath,n.filePath)),c))),s=c=>Nr.joinPath(this.notebookPath,c).toString(),o=(c,g,f,S)=>{for(let m=0;m<c.length;m++){let u=c[m];if(u.type==="wikilink"){let b=u.content.split("|"),h,E;if(this.config.useGitHubStylePipedLink?(h=b[0].trim(),E=(b.length>1?b[1]:b[0]).trim()):(h=(b.length>1?b[1]:b[0]).trim(),E=b[0].trim()),E.match(/https?:\/\//))continue;E=r(E),this.config.useGitHubStylePipedLink?u.content=`${h} | ${s(E)}`:u.content=`${s(E)} | ${h}`,f.push({elementId:u.attrGet("id")||"",text:h,link:E,parentToken:g,token:u})}else if(u.type==="tag"){let b=u.content.trim(),h=u.content.trim();f.push({elementId:u.attrGet("id")||"",text:b,link:r(h),parentToken:g,token:u})}else if(u.type==="link_open"&&c[m+1]&&c[m+1].type==="text"){if(u.attrs?.length&&u.attrs[0][0]==="href"){let b=decodeURI(u.attrs[0][1]),h=c[m+1].content.trim();if(b.match(/https?:\/\//)||!h.length||!b.endsWith(".md"))continue;b=r(b),u.attrs[0][1]=s(b),f.push({elementId:u.attrGet("id")||"",text:h,link:b,parentToken:g,token:u})}}else u.children&&u.children.length&&o(u.children,u,f,S+1)}return f},l=o(a,null,[],0),d=new Set,p=n.mentions;for(let c in p)this.referenceMap.deleteReferences(c,n.filePath);for(let c=0;c<l.length;c++){let{link:g}=l[c];d[g]=!0,this.referenceMap.addReference(g,n.filePath,l[c])}this.referenceMap.addReference(n.filePath,n.filePath,void 0),n.mentions=d}async getNote(t,n=!1){if(t=this.resolveNoteRelativePath(t),!n&&t in this.notes)return this.notes[t];let a=this.resolveNoteAbsolutePath(t),r;try{r=await this.fs.stat(a)}catch{return null}if(r.isFile()&&this.config.markdownFileExtensions.includes(j.extname(t))){let s=await this.fs.readFile(a),o={createdAt:new Date(r.ctimeMs),modifiedAt:new Date(r.mtimeMs),aliases:[]};try{let c=Gn(s),g=Object.assign({},c.data);if(c.data.created&&(o.createdAt=new Date(c.data.created),delete g.created),c.data.modified&&(o.modifiedAt=new Date(c.data.modified),delete g.modified),c.data.pinned&&(o.pinned=c.data.pinned,delete g.pinned),c.data.favorited&&(o.favorited=c.data.favorited,delete g.favorited),c.data.icon&&(o.icon=c.data.icon,delete g.icon),c.data.aliases){let f=c.data.aliases||[];typeof f=="string"?o.aliases=f.split(",").map(S=>S.trim()):o.aliases=f,delete g.aliases}s=zn(c.content,g)}catch{s=`Please fix front-matter. (\u{1F448} Don't forget to delete this line)
324
329
 
325
- `+s}let l=new Set,d=this.notes[t];d&&(l=d.mentions);let p={notebookPath:this.notebookPath,filePath:j.relative(this.notebookPath.fsPath,a),title:j.basename(a).replace(/\.md$/,""),markdown:s,config:o,mentions:l};return n&&(this.notes[p.filePath]=p,this.search.add(p.filePath,p.title,p.config.aliases),await this.processNoteMentionsAndMentionedBy(p.filePath)),p}else return null}async refreshNotesIfNotLoaded({dir:t="./",includeSubdirectories:n=!1}){return await this.refreshNotesIfNotLoadedMutex.runExclusive(async()=>{this.hasLoadedNotes||(await this.refreshNotes({dir:t,includeSubdirectories:n,refreshRelations:!0}),this.hasLoadedNotes=!0)}),this.notes}async refreshNotes({dir:t="./",includeSubdirectories:n=!1,refreshRelations:a=!0}){a&&(this.notes={},this.referenceMap=new _e,this.search=new be);let r=[];try{r=await this.fs.readdir(j.resolve(this.notebookPath.fsPath,t))}catch(o){console.error(o),r=[]}let s=[];for(let o=0;o<r.length;o++){let l=r[o];if(l.match(/^(node_modules|\.git)$/))continue;let d=j.resolve(this.notebookPath.fsPath,t,l),p=await this.getNote(j.relative(this.notebookPath.fsPath,d));p&&(this.notes[p.filePath]=p,this.search.add(p.filePath,p.title,p.config.aliases));let c;try{c=await this.fs.stat(d)}catch(g){console.error(g)}c&&c.isDirectory()&&n&&s.push(this.refreshNotes({dir:j.relative(this.notebookPath.fsPath,d),includeSubdirectories:n,refreshRelations:!1}))}if(await Promise.all(s),a)for(let o in this.notes)await this.processNoteMentionsAndMentionedBy(o);return this.notes}async removeNoteRelations(t){let n=await this.getNote(t);if(!n)return;let a=n.mentions;for(let r in a)this.referenceMap.deleteReferences(r,n.filePath);delete this.notes[n.filePath]}async deleteNote(t,n=!1){let a=this.resolveNoteAbsolutePath(t);(n||await this.fs.exists(a))&&(await this.fs.unlink(a),await this.removeNoteRelations(t),this.search.remove(t))}resolveNoteAbsolutePath(t){return j.isAbsolute(t)?t:j.resolve(this.notebookPath.fsPath,t)}resolveNoteRelativePath(t){return j.isAbsolute(t)?j.relative(this.notebookPath.fsPath,t):t}getNoteMarkdownEngine(t){return t=this.resolveNoteRelativePath(t),t in this.markdownEngines||(this.markdownEngines[t]=new qe({notebook:this,filePath:this.resolveNoteAbsolutePath(t)})),this.markdownEngines[t]}getNoteMarkdownEngines(){return this.markdownEngines}clearAllNoteMarkdownEngineCaches(){for(let t in this.markdownEngines)this.markdownEngines[t].clearCaches()}};import{escape as Nr}from"html-escaper";var Ir={sh:"bash",bash:"bash",c:"c","c++":"cpp",cpp:"cpp",coffee:"coffeescript",coffeescript:"coffeescript","coffee-script":"coffeescript",cs:"csharp",csharp:"csharp",css:"css",scss:"scss",sass:"sass",elm:"elm",elmlang:"elm","elm-lang":"elm",erlang:"erlang",go:"go",html:"html",java:"java",js:"javascript",javascript:"javascript",json:"json",less:"less",objc:"objectivec",objectivec:"objectivec","objective-c":"objectivec",php:"php",py:"python",python:"python",rb:"ruby",ruby:"ruby",text:"text",tex:"latex",xml:"xml",yaml:"yaml",yml:"yaml",yaml_table:"yaml",mermaid:"mermaid",plantuml:"plantuml",puml:"plantuml",wavedrom:"wavedrom",graphviz:"dot",viz:"dot",dot:"dot",erd:"erd",node:"javascript",md:"gfm",diff:"diff"};function zn(e){return e=e.toLowerCase(),Ir[e]||e}function Hn(e){e.languages.iele={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],variable:{pattern:/(@|%)([A-Za-z0-9\\_\\.\\-\\$])[a-zA-Z\\.\\_\\$][0-9a-zA-Z\\.\\_\\-\\$]*/,greedy:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/\b(?:load|store|sload|sstore|iszero|not|add|mul|sub|div|exp|mod|addmod|mulmod|expmod|byte|sext|twos|and|or|xor|shift|lt|le|gt|ge|eq|ne|cmp|sha3|br|call|staticcall|at|send|gaslimit|ret|void|revert|log|create|copycreate|selfdestruct|contract|external|define|public|log2|bswap|calladdress)\b/,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}function jn(e){e.languages.k={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":/\b(?:strict|avoid|prefer|bracket|non-assoc|seqstrict|left|right|macro-rec|macro|token|notInRules|autoReject|structural|latex|binder|klabel|symbol|format)\b/,keyword:{pattern:/\b(?:syntax\s+(?:priority|priorities|left|right|non-assoc|lexical)|syntax|rule|Id|Int|Bool|String|Token|Lexer|Float|configuration|import|imports|require|requires|Kresult|context\s+alias|context|module|endmodule|claim)\b/,greedy:!0},boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:{pattern:/[<>]=|=>|~>|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},punctuation:/[{}[\];(),.:]/,tag:{pattern:/<\/?(?!\d)[^\s>/=$<%]+(?:\s(?:\s*[^\s>/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>/]+/,inside:{namespace:/^[^\s>/:]+:/}}}}}}var he=ia(Wn());he.default.hooks.add("wrap",e=>{e.type==="keyword"&&e.classes.push(`keyword-${e.content}`)});jn(he.default);Hn(he.default);async function yt(e){e("pre>code").each((t,n)=>{let a=e(n),r=a.text(),s=a.parent();a.replaceWith(Nr(r)),s.addClass("language-text")}),e('[data-role="codeBlock"]').each((t,n)=>{let a=e(n);if(a.data("hiddenByEnhancer")||a.data("normalizedInfo").attributes.hide===!0){a.remove();return}let s=a.text(),o=a.data("normalizedInfo"),l=Cr(zn(o.language),s);try{let d=he.default.highlight(s,he.default.languages[l],l);a.html(d)}catch{a.empty().append(e("<code></code>").text(s))}a.addClass(`language-${l}`),o.attributes.class&&(a.addClass(o.attributes.class),Or(a,s)),o.attributes.highlight&&xr(a,s,o.attributes.highlight),a.removeAttr("data-parsed-info"),a.removeAttr("data-normalized-info")})}function Cr(e,t){return e==="vega"||e==="vega-lite"?(t.match(/^\s*(.)/)??[])[1]==="{"?"json":"yaml":e}function Or(e,t){if(e.hasClass("numberLines")&&(e.addClass("line-numbers"),e.removeClass("numberLines")),e.hasClass("line-numbers")){if(!t.trim().length)return;let n=t.match(/\n(?!$)/g),a=n?n.length+1:1,r="";for(let s=0;s<a;s++)r+="<span></span>";e.append(`<span aria-hidden="true" class="line-numbers-rows">${r}</span>`)}}function xr(e,t,n){if(!t.trim().length)return;typeof n=="number"?n=[n.toString()]:typeof n=="string"&&(n=n.split(","));let a=t.match(/\n(?!$)/g),r=a?a.length+1:1,s=[];n.forEach(o=>{if(o=o.toString(),o.indexOf("-")>0){let[l,d]=o.split("-").map(g=>parseInt(g,10));if(isNaN(l)||isNaN(d)||l<0||d<0||(l>d&&([l,d]=[d,l]),d>r))return;let p="";for(let g=l;g<=d;g++)p+=`
330
+ `+s}let l=new Set,d=this.notes[t];d&&(l=d.mentions);let p={notebookPath:this.notebookPath,filePath:j.relative(this.notebookPath.fsPath,a),title:j.basename(a).replace(/\.md$/,""),markdown:s,config:o,mentions:l};return n&&(this.notes[p.filePath]=p,this.search.add(p.filePath,p.title,p.config.aliases),await this.processNoteMentionsAndMentionedBy(p.filePath)),p}else return null}async refreshNotesIfNotLoaded({dir:t="./",includeSubdirectories:n=!1}){return await this.refreshNotesIfNotLoadedMutex.runExclusive(async()=>{this.hasLoadedNotes||(await this.refreshNotes({dir:t,includeSubdirectories:n,refreshRelations:!0}),this.hasLoadedNotes=!0)}),this.notes}async refreshNotes({dir:t="./",includeSubdirectories:n=!1,refreshRelations:a=!0}){a&&(this.notes={},this.referenceMap=new _e,this.search=new be);let r=[];try{r=await this.fs.readdir(j.resolve(this.notebookPath.fsPath,t))}catch(o){console.error(o),r=[]}let s=[];for(let o=0;o<r.length;o++){let l=r[o];if(l.match(/^(node_modules|\.git)$/))continue;let d=j.resolve(this.notebookPath.fsPath,t,l),p=await this.getNote(j.relative(this.notebookPath.fsPath,d));p&&(this.notes[p.filePath]=p,this.search.add(p.filePath,p.title,p.config.aliases));let c;try{c=await this.fs.stat(d)}catch(g){console.error(g)}c&&c.isDirectory()&&n&&s.push(this.refreshNotes({dir:j.relative(this.notebookPath.fsPath,d),includeSubdirectories:n,refreshRelations:!1}))}if(await Promise.all(s),a)for(let o in this.notes)await this.processNoteMentionsAndMentionedBy(o);return this.notes}async removeNoteRelations(t){let n=await this.getNote(t);if(!n)return;let a=n.mentions;for(let r in a)this.referenceMap.deleteReferences(r,n.filePath);delete this.notes[n.filePath]}async deleteNote(t,n=!1){let a=this.resolveNoteAbsolutePath(t);(n||await this.fs.exists(a))&&(await this.fs.unlink(a),await this.removeNoteRelations(t),this.search.remove(t))}resolveNoteAbsolutePath(t){return j.isAbsolute(t)?t:j.resolve(this.notebookPath.fsPath,t)}resolveNoteRelativePath(t){return j.isAbsolute(t)?j.relative(this.notebookPath.fsPath,t):t}getNoteMarkdownEngine(t){return t=this.resolveNoteRelativePath(t),t in this.markdownEngines||(this.markdownEngines[t]=new qe({notebook:this,filePath:this.resolveNoteAbsolutePath(t)})),this.markdownEngines[t]}getNoteMarkdownEngines(){return this.markdownEngines}clearAllNoteMarkdownEngineCaches(){for(let t in this.markdownEngines)this.markdownEngines[t].clearCaches()}};import{escape as Lr}from"html-escaper";var Or={sh:"bash",bash:"bash",c:"c","c++":"cpp",cpp:"cpp",coffee:"coffeescript",coffeescript:"coffeescript","coffee-script":"coffeescript",cs:"csharp",csharp:"csharp",css:"css",scss:"scss",sass:"sass",elm:"elm",elmlang:"elm","elm-lang":"elm",erlang:"erlang",go:"go",html:"html",java:"java",js:"javascript",javascript:"javascript",json:"json",less:"less",objc:"objectivec",objectivec:"objectivec","objective-c":"objectivec",php:"php",py:"python",python:"python",rb:"ruby",ruby:"ruby",text:"text",tex:"latex",xml:"xml",yaml:"yaml",yml:"yaml",yaml_table:"yaml",mermaid:"mermaid",plantuml:"plantuml",puml:"plantuml",wavedrom:"wavedrom",graphviz:"dot",viz:"dot",dot:"dot",erd:"erd",node:"javascript",md:"gfm",diff:"diff"};function jn(e){return e=e.toLowerCase(),Or[e]||e}function Wn(e){e.languages.iele={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],variable:{pattern:/(@|%)([A-Za-z0-9\\_\\.\\-\\$])[a-zA-Z\\.\\_\\$][0-9a-zA-Z\\.\\_\\-\\$]*/,greedy:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/\b(?:load|store|sload|sstore|iszero|not|add|mul|sub|div|exp|mod|addmod|mulmod|expmod|byte|sext|twos|and|or|xor|shift|lt|le|gt|ge|eq|ne|cmp|sha3|br|call|staticcall|at|send|gaslimit|ret|void|revert|log|create|copycreate|selfdestruct|contract|external|define|public|log2|bswap|calladdress)\b/,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}function Vn(e){e.languages.k={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":/\b(?:strict|avoid|prefer|bracket|non-assoc|seqstrict|left|right|macro-rec|macro|token|notInRules|autoReject|structural|latex|binder|klabel|symbol|format)\b/,keyword:{pattern:/\b(?:syntax\s+(?:priority|priorities|left|right|non-assoc|lexical)|syntax|rule|Id|Int|Bool|String|Token|Lexer|Float|configuration|import|imports|require|requires|Kresult|context\s+alias|context|module|endmodule|claim)\b/,greedy:!0},boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:{pattern:/[<>]=|=>|~>|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},punctuation:/[{}[\];(),.:]/,tag:{pattern:/<\/?(?!\d)[^\s>/=$<%]+(?:\s(?:\s*[^\s>/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>/]+/,inside:{namespace:/^[^\s>/:]+:/}}}}}}var he=la(qn());he.default.hooks.add("wrap",e=>{e.type==="keyword"&&e.classes.push(`keyword-${e.content}`)});Vn(he.default);Wn(he.default);async function yt(e){e("pre>code").each((t,n)=>{let a=e(n),r=a.text(),s=a.parent();a.replaceWith(Lr(r)),s.addClass("language-text")}),e('[data-role="codeBlock"]').each((t,n)=>{let a=e(n);if(a.data("hiddenByEnhancer")||a.data("normalizedInfo").attributes.hide===!0){a.remove();return}let s=a.text(),o=a.data("normalizedInfo"),l=Dr(jn(o.language),s);try{let d=he.default.highlight(s,he.default.languages[l],l);a.empty().append(e("<code></code>").html(d))}catch{a.empty().append(e("<code></code>").text(s))}a.addClass(`language-${l}`),o.attributes.class&&(a.addClass(o.attributes.class),Pr(a,s)),o.attributes.highlight&&Mr(a,s,o.attributes.highlight),a.removeAttr("data-parsed-info"),a.removeAttr("data-normalized-info")})}function Dr(e,t){return e==="vega"||e==="vega-lite"?(t.match(/^\s*(.)/)??[])[1]==="{"?"json":"yaml":e}function Pr(e,t){if(e.hasClass("numberLines")&&(e.addClass("line-numbers"),e.removeClass("numberLines")),e.hasClass("line-numbers")){if(!t.trim().length)return;let n=t.match(/\n(?!$)/g),a=n?n.length+1:1,r="";for(let s=0;s<a;s++)r+="<span></span>";e.append(`<span aria-hidden="true" class="line-numbers-rows">${r}</span>`)}}function Mr(e,t,n){if(!t.trim().length)return;typeof n=="number"?n=[n.toString()]:typeof n=="string"&&(n=n.split(","));let a=t.match(/\n(?!$)/g),r=a?a.length+1:1,s=[];n.forEach(o=>{if(o=o.toString(),o.indexOf("-")>0){let[l,d]=o.split("-").map(g=>parseInt(g,10));if(isNaN(l)||isNaN(d)||l<0||d<0||(l>d&&([l,d]=[d,l]),d>r))return;let p="";for(let g=l;g<=d;g++)p+=`
326
331
  `;let c="";for(let g=0;g<l-1;g++)c+=`
327
332
  `;s.push(`<div class="line-highlight-wrapper">${c}<div aria-hidden="true" class="line-highlight" data-range="${l}-${d}" data-start="${l}" data-end="${d}">${p}</div></div>`)}else{let l="",d=parseInt(o,10);if(isNaN(d)||d<0||d>r)return;for(let p=0;p<d-1;p++)l+=`
328
333
  `;s.push(`<div class="line-highlight-wrapper">${l}<div aria-hidden="true" class="line-highlight" data-range="${o}" data-start="${o}">
329
- </div></div>`)}}),e.append(s.join("")),e.attr("data-line",n.join(","))}import{extname as Lr}from"path";async function Ke(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){l=Q(l),l=l.replace(/\?(\.|\d)+$/,"");let p=Lr(l).slice(1);if(p==="svg")return;a.push(new Promise(c=>{t.fs.readFile(decodeURI(l),"base64").then(g=>(o.attr("src",`data:image/${p};charset=utf-8;base64,${g}`),c(g))).catch(g=>(console.error(g),c(null)))}))}}),await Promise.all(a)}import{extname as Dr}from"path";async function kt(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){if(l=Q(l),l=l.replace(/\?(\.|\d)+$/,""),Dr(l).slice(1)!=="svg")return;a.push(new Promise(c=>{t.fs.readFile(decodeURI(l),"base64").then(g=>(o.attr("src",`data:image/svg+xml;charset=utf-8;base64,${g}`),c(g))).catch(()=>c(null))}))}}),await Promise.all(a)}async function Tt(e){let t=[],n=[],a=[];e("table").each((r,s)=>{let o=e(s),l=null;o.children().each((d,p)=>{e(p).children().each((g,f)=>{let S=e(f);S.children().each((m,u)=>{let b=e(u),h=b.text();if(h.length){if(h.trim()==="^"&&l){let E=e(l.children()[m]);E.length&&t.push([E,b])}else if(h.trim()===">"){let E=b.next();E.length&&n.push([b,E])}}else{let E=b.prev();E.length&&a.push([E,b])}}),l=S})})});for(let r=t.length-1;r>=0;r--){let[s,o]=t[r],l=(parseInt(s.attr("rowspan"),10)||1)+(parseInt(o.attr("rowspan"),10)||1);s.attr("rowspan",l.toString()),o.remove()}for(let r=0;r<n.length;r++){let[s,o]=n[r],l=(parseInt(s.attr("colspan"),10)||1)+(parseInt(o.attr("colspan"),10)||1);o.attr("colspan",l.toString()),s.remove()}for(let r=a.length-1;r>=0;r--){let[s,o]=a[r],l=(parseInt(s.attr("colspan"),10)||1)+(parseInt(o.attr("colspan"),10)||1);s.attr("colspan",l.toString()),o.remove()}}import{escape as Pr}from"html-escaper";async function wt(e,t,n,a){let r=[],s=[];e('[data-role="codeBlock"]').each((o,l)=>{let d=e(l);if(d.data("executor"))return;let p=d.data("normalizedInfo");p.attributes.cmd&&(d.data("executor","fenced-code-chunks"),r.push(Mr(d,p,e,t,s,n,a)))}),await Promise.all(r)}async function Mr(e,t,n,a,r,s,o){let l=e.text(),d=t.attributes.id||"code-chunk-id-"+r.length,p=Se(t),c=["js","javascript"].indexOf(p)!==-1,g=n('<div class="code-chunk"></div>');g.attr("data-id",d),g.attr("data-cmd",p),c&&g.attr("data-code",l),e.replaceWith(g);let f=n('<div class="input-div"/>');f.append(e),g.append(f);let S=a[d],m=r.length?r[r.length-1].id:"";S?(S.code=l,S.normalizedInfo=t,S.prev=m):(S={id:d,code:l,normalizedInfo:t,result:"",plainResult:"",running:!1,prev:m,next:null},a[d]=S),m&&a[m]&&(a[m].next=d),r.push(S),s.triggeredBySave&&t.attributes.run_on_save&&await Ze(d,a,o);let u=S.result;!u&&S.normalizedInfo.attributes.element&&(u=S.normalizedInfo.attributes.element,S.result=u),S.running&&g.addClass("running");let b='<div class="status">running...</div>',h='<div class="btn-group"><div class="run-btn btn"><span>\u25B6\uFE0E</span></div><div class="run-all-btn btn">all</div></div>',E=`<div class="output-div">${u}</div>`;!s.isForPreview&&c&&(E+=`<script>${l}</script>`,u=S.normalizedInfo.attributes.element||""),f.append(h),f.append(b),t.attributes.output_first===!0?g.prepend(E):g.append(E)}async function Ze(e,t,n){let{headings:a,enableScriptExecution:r,filePath:s,fileDirectoryPath:o,latexEngine:l,modifySource:d,parseMD:p}=n,c=t[e];if(!c||c.running)return"";let g=[c.code],f=c;for(;f.normalizedInfo.attributes.continue;){let E=f.normalizedInfo.attributes.continue;if(E===!0&&(E=f.prev),f=t[E],!f)break;g.unshift(f.code)}let S=g.join(`
330
- `),m=Se(c.normalizedInfo);c.running=!0;let u,b="text",h=c.normalizedInfo.attributes.modify_source;try{let E=c.normalizedInfo.attributes;if(m==="toc")u=ue(a,{ordered:E.ordered_list,depthFrom:E.depth_from,depthTo:E.depth_to,tab:E.tab||" ",ignoreLink:E.ignore_link}).content,b="markdown",h=!0;else{if(!r)return"";u=await rn(S,o,m,c.normalizedInfo.attributes,l)}if(c.plainResult=u,h&&"code_chunk_offset"in c.normalizedInfo.attributes)return c.result="",d(c,u,s);if(m.match(/(la)?tex/)||m==="pdflatex"||m.match(/python/)&&(E.matplotlib||E.mpl)?b="markdown":c.normalizedInfo.attributes.output&&(b=c.normalizedInfo.attributes.output),!u)u="";else if(b!=="html")if(b==="png")u=`<img src="data:image/png;charset=utf-8;base64,${new Buffer(u).toString("base64")}">`;else if(b==="markdown"){let{html:_}=await p(u,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!0});u=_}else b==="none"?u="":u=`<pre class="language-text">${Pr(u)}</pre>`}catch(E){u=`<pre class="language-text">${E}</pre>`}return c.result=u,c.running=!1,u}async function At(e,t){let n=[];for(let a in e)e.hasOwnProperty(a)&&n.push(Ze(a,e,t));return Promise.all(n)}import Br from"cross-fetch";import{escape as $r}from"html-escaper";import*as qn from"yaml";import Fr from"bit-field/lib/render";import Ur from"onml";async function Vn(e,t){try{let n=ye(e),a=Fr(n,t);return Ur.stringify(a)}catch(n){return`<pre>${n}</pre>`}}var Xe=(e,t)=>{let n=e.class||"";return n.split(" ").indexOf(t)===-1?{...e,class:`${n} ${t}`.trim()}:e},Gr=["mermaid","puml","plantuml","wavedrom","bitfield","bit-field","graphviz","viz","dot","vega","vega-lite"];async function _t({$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:s,kirokiServer:o}){let l=[];e('[data-role="codeBlock"]').each((d,p)=>{let c=e(p);if(c.data("executor"))return;let g=c.data("normalizedInfo"),f=!!g.attributes.kroki;g.attributes.literate===!1||g.attributes.cmd===!1||Gr.indexOf(g.language)===-1&&!f||(c.data("executor","fenced-diagrams"),g.attributes.literate!==!1&&l.push(zr({$container:c,normalizedInfo:g,$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:s,isKroki:f,kirokiServer:o})))}),await Promise.all(l)}async function zr({$container:e,normalizedInfo:t,$:n,graphsCache:a,fileDirectoryPath:r,plantumlServer:s,plantumlJarPath:o,isKroki:l,kirokiServer:d}){let p=null,c=e.text(),g=K(JSON.stringify(t)+c),f=a[g];if(l)if(f)p=f;else{let S=d||"https://kroki.io",m=typeof t.attributes.kroki=="string"?t.attributes.kroki:t.language;try{let b=await(await Br(`${S}/${m}/${t.attributes.output??"svg"}`,{method:"POST",body:c,headers:{"Content-Type":"text/plain; charset=utf-8"}})).text();p=`<div ${q(Xe(t.attributes,t.language))}>${b}</div>`,a[g]=p}catch(u){p=`<pre class="language-text">${u}</pre>`}}else try{switch(t.language){case"mermaid":{p=`<div ${q(Xe(t.attributes,t.language))}>${$r(c)}</div>`;break}case"wavedrom":{p=`<div ${q(Xe(t.attributes,t.language))}><script type="WaveDrom">${c}</script></div>`;break}case"puml":case"plantuml":{let S=f;S||(S=await Pe({content:c,fileDirectoryPath:r,serverURL:s,plantumlJarPath:o}),a[g]=S),p=`<p ${q(t.attributes)}>${S}</p>`;break}case"bitfield":case"bit-field":{let S=f;S||(S=await Vn(c,t.attributes),a[g]=S),p=`<p ${q(t.attributes)}>${S}</p>`;break}case"graphviz":case"viz":case"dot":{let S=f;if(!S){let m=t.attributes.engine||"dot";S=await Be(c,{engine:m}),a[g]=S}p=`<p ${q(t.attributes)}>${S}</p>`;break}case"vega":case"vega-lite":{if(t.attributes.interactive===!0){let S=c.trim(),m;S[0]!=="{"?m=qn.parse(S):m=JSON.parse(S),p=Hr(JSON.stringify(m).replace("<","&lt;"),t.attributes,t.language)}else{let S=f;S||(S=await(t.language==="vega"?ge:Fe)(c,r),a[g]=S),p=`<p ${q(t.attributes)}>${S}</p>`}break}}}catch(S){p=n(`<pre class="language-text">${S.toString()}</pre>`)}p!==null&&(t.attributes.output_first===!0?e.before(p):e.after(p)),t.attributes.hide!==!1&&t.attributes.code_block!==!0&&e.data("hiddenByEnhancer",!0)}var Hr=(e,t,n)=>`<p ${q(Xe(t,n))}><span style="display: none">${e}</span></p>`;var jr=["math"];async function Rt(e,t,n,a){return e('[data-role="codeBlock"]').each((r,s)=>{let o=e(s);if(o.data("executor"))return;let l=o.data("normalizedInfo");if(l.attributes.literate===!1||l.attributes.cmd===!1||jr.indexOf(l.language)===-1||(o.data("executor","math"),l.attributes.literate===!1))return;let d=o.text(),p=Wr(d,l,t,n,a);l.attributes.output_first===!0?o.before(p):o.after(p),l.attributes.hide!==!1&&o.data("hiddenByEnhancer",!0)}),e}var Wr=(e,t,n,a,r)=>{let s=null;try{let o=je({content:e,displayMode:!0,openTag:a.length?a[0][0]:"",closeTag:a.length?a[0][1]:"",renderingOption:n,katexConfig:r});s=`<p ${q(t.attributes)}>${o}</p>`}catch(o){s=`<pre class="language-text">${o.toString()}</pre>`}return s};async function It(e,t,n,a){e("img, a").each((r,s)=>{let o="src";s.name==="a"&&(o="href");let l=e(s),d=l.attr(o);if(t.isForPreview&&s.name!=="a"&&l.parent().prev().hasClass("sync-line")){let p=parseInt(l.parent().prev().attr("data-line"),10);p&&l.parent().after(`<p data-line="${p+1}" class="sync-line" style="margin:0;"></p>`)}l.attr(o,n(d,t.useRelativeFilePath,t.fileDirectoryPath))}),a||e(".crossnote-header").each((r,s)=>{let o=s.attribs.class,l=s.attribs.id,d=e(s),p=d.prev();p.addClass(o),p.attr("id",encodeURIComponent(l)),d.remove()})}var Zn=[{key:"vega-embed",version:"6.22.2"}],qe=class e{constructor({filePath:t,notebook:n}){this.graphsCache={};this.codeChunksData={};this.filesCache={};this.isPreviewInPresentationMode=!1;this.filePath=t,this.notebook=n,this.fileDirectoryPath=R.dirname(this.filePath),this.projectDirectoryPath=this.notebook.notebookPath||this.fileDirectoryPath,this.fs=this.notebook.fs,this.headings=[],this.tocHTML=""}get protocolsWhiteListRegExp(){let t=(this.notebook.config.protocolsWhiteList??me().protocolsWhiteList??"").split(",").map(n=>n.trim());return new RegExp("^("+t.join("|")+")")}cacheCodeChunkResult(t,n){let a=this.codeChunksData[t];a&&(a.result=Kn.AES.decrypt(n,"crossnote").toString(Kn.enc.Utf8))}generateScriptsForPreview(t=!1,n={},a=null){let r="";if(r+="<script>var exports = undefined</script>",r+=`<script type="text/javascript" src="${W(R.resolve(U(),"./dependencies/mermaid/mermaid.min.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="module">
334
+ </div></div>`)}}),e.append(s.join("")),e.attr("data-line",n.join(","))}import{extname as Fr}from"path";async function Ke(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){l=Q(l),l=l.replace(/\?(\.|\d)+$/,"");let p=Fr(l).slice(1);if(p==="svg")return;a.push(new Promise(c=>{t.fs.readFile(decodeURI(l),"base64").then(g=>(o.attr("src",`data:image/${p};charset=utf-8;base64,${g}`),c(g))).catch(g=>(console.error(g),c(null)))}))}}),await Promise.all(a)}import{extname as Ur}from"path";async function kt(e,t,n){let a=[];e("img").each((r,s)=>{let o=e(s),l=n(o.attr("src"),!1);if(l.match(/^(file|vscode-resource):\/\/+/)){if(l=Q(l),l=l.replace(/\?(\.|\d)+$/,""),Ur(l).slice(1)!=="svg")return;a.push(new Promise(c=>{t.fs.readFile(decodeURI(l),"base64").then(g=>(o.attr("src",`data:image/svg+xml;charset=utf-8;base64,${g}`),c(g))).catch(()=>c(null))}))}}),await Promise.all(a)}async function Tt(e){let t=[],n=[],a=[];e("table").each((r,s)=>{let o=e(s),l=null;o.children().each((d,p)=>{e(p).children().each((g,f)=>{let S=e(f);S.children().each((m,u)=>{let b=e(u),h=b.text();if(h.length){if(h.trim()==="^"&&l){let E=e(l.children()[m]);E.length&&t.push([E,b])}else if(h.trim()===">"){let E=b.next();E.length&&n.push([b,E])}}else{let E=b.prev();E.length&&a.push([E,b])}}),l=S})})});for(let r=t.length-1;r>=0;r--){let[s,o]=t[r],l=(parseInt(s.attr("rowspan"),10)||1)+(parseInt(o.attr("rowspan"),10)||1);s.attr("rowspan",l.toString()),o.remove()}for(let r=0;r<n.length;r++){let[s,o]=n[r],l=(parseInt(s.attr("colspan"),10)||1)+(parseInt(o.attr("colspan"),10)||1);o.attr("colspan",l.toString()),s.remove()}for(let r=a.length-1;r>=0;r--){let[s,o]=a[r],l=(parseInt(s.attr("colspan"),10)||1)+(parseInt(o.attr("colspan"),10)||1);s.attr("colspan",l.toString()),o.remove()}}import{escape as Yn}from"html-escaper";async function wt(e,t,n,a){let r=[],s=[];e('[data-role="codeBlock"]').each((o,l)=>{let d=e(l);if(d.data("executor"))return;let p=d.data("normalizedInfo");p.attributes.cmd&&(d.data("executor","fenced-code-chunks"),r.push(Br(d,p,e,t,s,n,a)))}),await Promise.all(r)}async function Br(e,t,n,a,r,s,o){let l=e.text(),d=t.attributes.id||"code-chunk-id-"+r.length,p=Se(t),c=["js","javascript"].indexOf(p)!==-1,g=n('<div class="code-chunk"></div>');g.attr("data-id",d),g.attr("data-cmd",p),c&&g.attr("data-code",l),e.replaceWith(g);let f=n('<div class="input-div"/>');f.append(e),g.append(f);let S=a[d],m=r.length?r[r.length-1].id:"";S?(S.code=l,S.normalizedInfo=t,S.prev=m):(S={id:d,code:l,normalizedInfo:t,result:"",plainResult:"",running:!1,prev:m,next:null},a[d]=S),m&&a[m]&&(a[m].next=d),r.push(S),s.triggeredBySave&&t.attributes.run_on_save&&await Ze(d,a,o);let u=S.result;!u&&S.normalizedInfo.attributes.element&&(u=S.normalizedInfo.attributes.element,S.result=u),S.running&&g.addClass("running");let b='<div class="status">running...</div>',h='<div class="btn-group"><div class="run-btn btn"><span>\u25B6\uFE0E</span></div><div class="run-all-btn btn">all</div></div>',E=`<div class="output-div">${u}</div>`;!s.isForPreview&&c&&(E+=`<script>${l}</script>`,u=S.normalizedInfo.attributes.element||""),f.append(h),f.append(b),t.attributes.output_first===!0?g.prepend(E):g.append(E)}async function Ze(e,t,n){let{headings:a,enableScriptExecution:r,filePath:s,fileDirectoryPath:o,latexEngine:l,modifySource:d,parseMD:p}=n,c=t[e];if(!c||c.running)return"";let g=[c.code],f=c;for(;f.normalizedInfo.attributes.continue;){let E=f.normalizedInfo.attributes.continue;if(E===!0&&(E=f.prev),f=t[E],!f)break;g.unshift(f.code)}let S=g.join(`
335
+ `),m=Se(c.normalizedInfo);c.running=!0;let u,b="text",h=c.normalizedInfo.attributes.modify_source;try{let E=c.normalizedInfo.attributes;if(m==="toc")u=ge(a,{ordered:E.ordered_list,depthFrom:E.depth_from,depthTo:E.depth_to,tab:E.tab||" ",ignoreLink:E.ignore_link}).content,b="markdown",h=!0;else{if(!r)return"";u=await sn(S,o,m,c.normalizedInfo.attributes,l)}if(c.plainResult=u,h&&"code_chunk_offset"in c.normalizedInfo.attributes)return c.result="",d(c,u,s);if(m.match(/(la)?tex/)||m==="pdflatex"||m.match(/python/)&&(E.matplotlib||E.mpl)?b="markdown":c.normalizedInfo.attributes.output&&(b=c.normalizedInfo.attributes.output),!u)u="";else if(b!=="html")if(b==="png")u=`<img src="data:image/png;charset=utf-8;base64,${new Buffer(u).toString("base64")}">`;else if(b==="markdown"){let{html:_}=await p(u,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!0});u=_}else b==="none"?u="":u=`<pre class="language-text"><code>${Yn(u)}</code></pre>`}catch(E){u=`<pre class="language-text"><code>${Yn(E.toString())}</code></pre>`}return c.result=u,c.running=!1,u}async function At(e,t){let n=[];for(let a in e)e.hasOwnProperty(a)&&n.push(Ze(a,e,t));return Promise.all(n)}import Hr from"cross-fetch";import{escape as _t}from"html-escaper";import*as Zn from"yaml";import $r from"bit-field/lib/render";import{escape as Gr}from"html-escaper";import zr from"onml";async function Kn(e,t){try{let n=ye(e),a=$r(n,t);return zr.stringify(a)}catch(n){return`<pre class="language-text"><code>${Gr(n.toString())}</code></pre>`}}var Xe=(e,t)=>{let n=e.class||"";return n.split(" ").indexOf(t)===-1?{...e,class:`${n} ${t}`.trim()}:e},jr=["mermaid","puml","plantuml","wavedrom","bitfield","bit-field","graphviz","viz","dot","vega","vega-lite"];async function Rt({$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:s,kirokiServer:o}){let l=[];e('[data-role="codeBlock"]').each((d,p)=>{let c=e(p);if(c.data("executor"))return;let g=c.data("normalizedInfo"),f=!!g.attributes.kroki;g.attributes.literate===!1||g.attributes.cmd===!1||jr.indexOf(g.language)===-1&&!f||(c.data("executor","fenced-diagrams"),g.attributes.literate!==!1&&l.push(Wr({$container:c,normalizedInfo:g,$:e,graphsCache:t,fileDirectoryPath:n,imageDirectoryPath:a,plantumlServer:r,plantumlJarPath:s,isKroki:f,kirokiServer:o})))}),await Promise.all(l)}async function Wr({$container:e,normalizedInfo:t,$:n,graphsCache:a,fileDirectoryPath:r,plantumlServer:s,plantumlJarPath:o,isKroki:l,kirokiServer:d}){let p=null,c=e.text(),g=K(JSON.stringify(t)+c),f=a[g];if(l)if(f)p=f;else{let S=d||"https://kroki.io",m=typeof t.attributes.kroki=="string"?t.attributes.kroki:t.language;try{let b=await(await Hr(`${S}/${m}/${t.attributes.output??"svg"}`,{method:"POST",body:c,headers:{"Content-Type":"text/plain; charset=utf-8"}})).text();p=`<div ${q(Xe(t.attributes,t.language))}>${b}</div>`,a[g]=p}catch(u){p=`<pre class="language-text"><code>${_t(u.toString())}</code></pre>`}}else try{switch(t.language){case"mermaid":{p=`<div ${q(Xe(t.attributes,t.language))}>${_t(c)}</div>`;break}case"wavedrom":{p=`<div ${q(Xe(t.attributes,t.language))}><script type="WaveDrom">${c}</script></div>`;break}case"puml":case"plantuml":{let S=f;S||(S=await Pe({content:c,fileDirectoryPath:r,serverURL:s,plantumlJarPath:o}),a[g]=S),p=`<p ${q(t.attributes)}>${S}</p>`;break}case"bitfield":case"bit-field":{let S=f;S||(S=await Kn(c,t.attributes),a[g]=S),p=`<p ${q(t.attributes)}>${S}</p>`;break}case"graphviz":case"viz":case"dot":{let S=f;if(!S){let m=t.attributes.engine||"dot";S=await Be(c,{engine:m}),a[g]=S}p=`<p ${q(t.attributes)}>${S}</p>`;break}case"vega":case"vega-lite":{if(t.attributes.interactive===!0){let S=c.trim(),m;S[0]!=="{"?m=Zn.parse(S):m=JSON.parse(S),p=Vr(JSON.stringify(m).replace("<","&lt;"),t.attributes,t.language)}else{let S=f;S||(S=await(t.language==="vega"?me:Fe)(c,r),a[g]=S),p=`<p ${q(t.attributes)}>${S}</p>`}break}}}catch(S){p=n(`<pre class="language-text"><code>${_t(S.toString())}</code></pre>`)}p!==null&&(t.attributes.output_first===!0?e.before(p):e.after(p)),t.attributes.hide!==!1&&t.attributes.code_block!==!0&&e.data("hiddenByEnhancer",!0)}var Vr=(e,t,n)=>`<p ${q(Xe(t,n))}><span style="display: none">${e}</span></p>`;import{escape as qr}from"html-escaper";var Yr=["math"];async function It(e,t,n,a){return e('[data-role="codeBlock"]').each((r,s)=>{let o=e(s);if(o.data("executor"))return;let l=o.data("normalizedInfo");if(l.attributes.literate===!1||l.attributes.cmd===!1||Yr.indexOf(l.language)===-1||(o.data("executor","math"),l.attributes.literate===!1))return;let d=o.text(),p=Kr(d,l,t,n,a);l.attributes.output_first===!0?o.before(p):o.after(p),l.attributes.hide!==!1&&o.data("hiddenByEnhancer",!0)}),e}var Kr=(e,t,n,a,r)=>{let s=null;try{let o=je({content:e,displayMode:!0,openTag:a.length?a[0][0]:"",closeTag:a.length?a[0][1]:"",renderingOption:n,katexConfig:r});s=`<p ${q(t.attributes)}>${o}</p>`}catch(o){s=`<pre class="language-text"><code>${qr(o.toString())}</code></pre>`}return s};async function vt(e,t,n,a){e("img, a").each((r,s)=>{let o="src";s.name==="a"&&(o="href");let l=e(s),d=l.attr(o);if(t.isForPreview&&s.name!=="a"&&l.parent().prev().hasClass("sync-line")){let p=parseInt(l.parent().prev().attr("data-line"),10);p&&l.parent().after(`<p data-line="${p+1}" class="sync-line" style="margin:0;"></p>`)}l.attr(o,n(d,t.useRelativeFilePath,t.fileDirectoryPath))}),a||e(".crossnote-header").each((r,s)=>{let o=s.attribs.class,l=s.attribs.id,d=e(s),p=d.prev();p.addClass(o),p.attr("id",encodeURIComponent(l)),d.remove()})}var Qn=[{key:"vega-embed",version:"6.22.2"}],qe=class e{constructor({filePath:t,notebook:n}){this.graphsCache={};this.codeChunksData={};this.filesCache={};this.isPreviewInPresentationMode=!1;this.filePath=t,this.notebook=n,this.fileDirectoryPath=R.dirname(this.filePath),this.projectDirectoryPath=this.notebook.notebookPath||this.fileDirectoryPath,this.fs=this.notebook.fs,this.headings=[],this.tocHTML=""}get protocolsWhiteListRegExp(){let t=(this.notebook.config.protocolsWhiteList??fe().protocolsWhiteList??"").split(",").map(n=>n.trim());return new RegExp("^("+t.join("|")+")")}cacheCodeChunkResult(t,n){let a=this.codeChunksData[t];a&&(a.result=Jn.AES.decrypt(n,"crossnote").toString(Jn.enc.Utf8))}generateScriptsForPreview(t=!1,n={},a=null){let r="";if(r+="<script>var exports = undefined</script>",r+=`<script type="text/javascript" src="${W(R.resolve(U(),"./dependencies/mermaid/mermaid.min.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="module">
331
336
  import zenuml from 'https://cdn.jsdelivr.net/npm/@mermaid-js/mermaid-zenuml@0.1.0/dist/mermaid-zenuml.esm.min.mjs';
332
337
  await mermaid.registerExternalDiagrams([zenuml]);
333
- </script>`,r+=`<script type="text/javascript" src="${W(R.resolve(U(),"./dependencies/wavedrom/default.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="text/javascript" src="${W(R.resolve(U(),"./dependencies/wavedrom/wavedrom.min.js"),a)}" charset="UTF-8"></script>`,this.notebook.config.mathRenderingOption==="MathJax"||this.notebook.config.usePandocParser){let o=Yn({...this.notebook.config.mathjaxConfig});o.tex=o.tex||{},o.tex.inlineMath=this.notebook.config.mathInlineDelimiters,o.tex.displayMath=this.notebook.config.mathBlockDelimiters,o.startup=o.startup||{},t||(o.startup.typeset=!1,o.startup.elements=[".hidden-preview"]),r+=`<script type="text/javascript"> window.MathJax = (${JSON.stringify(o)}); </script>`,r+=`<script type="text/javascript" async src="${this.notebook.config.mathjaxV3ScriptSrc}" charset="UTF-8"></script>`}let s="";if(t){r+=`<script src='${W(R.resolve(U(),"./dependencies/reveal/js/reveal.js"),a)}'></script>`;let o=n.presentation||{};typeof o!="object"&&(o={});let l=o.dependencies||[];l instanceof Array||(l=[]),o.dependencies=l,s+=`
338
+ </script>`,r+=`<script type="text/javascript" src="${W(R.resolve(U(),"./dependencies/wavedrom/default.js"),a)}" charset="UTF-8"></script>`,r+=`<script type="text/javascript" src="${W(R.resolve(U(),"./dependencies/wavedrom/wavedrom.min.js"),a)}" charset="UTF-8"></script>`,this.notebook.config.mathRenderingOption==="MathJax"||this.notebook.config.usePandocParser){let o=Xn({...this.notebook.config.mathjaxConfig});o.tex=o.tex||{},o.tex.inlineMath=this.notebook.config.mathInlineDelimiters,o.tex.displayMath=this.notebook.config.mathBlockDelimiters,o.startup=o.startup||{},t||(o.startup.typeset=!1,o.startup.elements=[".hidden-preview"]),r+=`<script type="text/javascript"> window.MathJax = (${JSON.stringify(o)}); </script>`,r+=`<script type="text/javascript" async src="${this.notebook.config.mathjaxV3ScriptSrc}" charset="UTF-8"></script>`}let s="";if(t){r+=`<script src='${W(R.resolve(U(),"./dependencies/reveal/js/reveal.js"),a)}'></script>`;let o=n.presentation||{};typeof o!="object"&&(o={});let l=o.dependencies||[];l instanceof Array||(l=[]),o.dependencies=l,s+=`
334
339
  await Reveal.initialize(${JSON.stringify({margin:.1,...o})})
335
340
  // NOTE: We have to add the promise below otherwise
336
341
  // initPresentationEvents in preview.ts will have problem slide to the correct slide.
@@ -364,10 +369,10 @@ if (typeof(window['Reveal']) !== 'undefined') {
364
369
  }
365
370
  </script>`,t&&(s+=`
366
371
  WaveDrom.ProcessAll()
367
- `),Zn.forEach(({key:o})=>{r+=`<script src="${W(R.resolve(U(),`./dependencies/${o}/${o}.min.js`),a)}" charset="UTF-8"></script>`}),t&&(s+=`
372
+ `),Qn.forEach(({key:o})=>{r+=`<script src="${W(R.resolve(U(),`./dependencies/${o}/${o}.min.js`),a)}" charset="UTF-8"></script>`}),t&&(s+=`
368
373
  var vegaEls = document.querySelectorAll('.vega, .vega-lite');
369
374
  function reportVegaError(el, error) {
370
- el.innerHTML = '<pre class="language-text">' + error.toString() + '</pre>'
375
+ el.innerHTML = '<pre class="language-text"><code>' + error.toString() + '</code></pre>'
371
376
  }
372
377
  for (var i = 0; i < vegaEls.length; i++) {
373
378
  const vegaEl = vegaEls[i]
@@ -384,11 +389,11 @@ if (typeof(window['Reveal']) !== 'undefined') {
384
389
  window["initRevealPresentation"] = async function() {
385
390
  ${s}
386
391
  }
387
- </script>`,r+s}static{this.AutoPrismThemeMap={"atom-dark.css":"atom-dark.css","atom-light.css":"atom-light.css","atom-material.css":"atom-material.css","github-dark.css":"github-dark.css","github-light.css":"github.css","gothic.css":"github.css","medium.css":"github.css","monokai.css":"monokai.css","newsprint.css":"pen-paper-coffee.css","night.css":"darcula.css","one-dark.css":"one-dark.css","one-light.css":"one-light.css","solarized-light.css":"solarized-light.css","solarized-dark.css":"solarized-dark.css","vue.css":"vue.css"}}static{this.AutoPrismThemeMapForPresentation={"beige.css":"pen-paper-coffee.css","black.css":"one-dark.css","blood.css":"monokai.css","league.css":"okaidia.css","moon.css":"funky.css","night.css":"atom-dark.css","serif.css":"github.css","simple.css":"github.css","sky.css":"default.css","solarized.css":"solarized-light.css","white.css":"default.css"}}getPrismTheme(t=!1,n={}){if(this.notebook.config.codeBlockTheme==="auto.css")if(t){let a=n.presentation&&typeof n.presentation=="object"&&n.presentation.theme?n.presentation.theme:this.notebook.config.revealjsTheme;return e.AutoPrismThemeMapForPresentation[a]||"default.css"}else return e.AutoPrismThemeMap[this.notebook.config.previewTheme]||"default.css";else return this.notebook.config.codeBlockTheme}generateStylesForPreview(t=!1,n={},a=null){let r="";return this.notebook.config.mathRenderingOption==="KaTeX"&&!this.notebook.config.usePandocParser&&(r+=`<link rel="stylesheet" href="${W(R.resolve(U(),"./dependencies/katex/katex.min.css"),a)}">`),r+=`<link rel="stylesheet" href="${W(R.resolve(U(),"./dependencies/font-awesome/css/font-awesome.min.css"),a)}">`,t?(r+=`<link rel="stylesheet" href="${W(R.resolve(U(),"./dependencies/reveal/css/reveal.css"),a)}" >`,r+=`<link rel="stylesheet" href="${W(R.resolve(U(),`./dependencies/reveal/css/theme/${n.presentation&&typeof n.presentation=="object"&&n.presentation.theme?n.presentation.theme:this.notebook.config.revealjsTheme}`),a)}" >`):r+=`<link rel="stylesheet" href="${W(R.resolve(U(),`./styles/preview_theme/${this.notebook.config.previewTheme}`),a)}">`,r+=`<link rel="stylesheet" href="${W(R.resolve(U(),`./styles/prism_theme/${this.getPrismTheme(t,n)}`),a)}">`,r+=`<link rel="stylesheet" media="screen" href="${W(R.resolve(U(),"./styles/style-template.css"),a)}">`,r+=`<link rel="stylesheet" media="screen" href="${W(R.resolve(U(),"./styles/markdown-it-admonition.css"),a)}">`,r+=`<style>${this.notebook.config.globalCss}</style>`,r}generateJSAndCssFilesForPreview(t=[],n=null){let a="";return t.forEach(r=>{let s=r;r[0]==="/"?s=W(R.resolve(this.projectDirectoryPath.fsPath,"."+r),n):r.match(/^file:\/\//)||r.match(/^https?:\/\//)||(s=W(R.resolve(this.fileDirectoryPath,r),n)),s.endsWith(".js")?a+=`<script type="text/javascript" src="${s}"></script>`:a+=`<link rel="stylesheet" href="${s}">`}),a}async generateHTMLTemplateForPreview({inputString:t="",body:n="",webviewScript:a="",scripts:r="",styles:s="",head:o=`<base href="${this.filePath}">`,config:l,vscodePreviewPanel:d=null,contentSecurityPolicy:p="",isVSCodeWebExtension:c}){t||(t=await this.fs.readFile(this.filePath));let g="";a||(a=W(R.resolve(U(),"./webview/preview.js"),d),g=W(R.resolve(U(),"./webview/preview.css"),d)),n||(n="");let{yamlConfig:f,JSAndCssFiles:S,html:m}=await this.parseMD(t,{isForPreview:!0,useRelativeFilePath:!1,hideFrontMatter:!1,vscodePreviewPanel:d}),u=f.isPresentationMode;return`<!DOCTYPE html>
392
+ </script>`,r+s}static{this.AutoPrismThemeMap={"atom-dark.css":"atom-dark.css","atom-light.css":"atom-light.css","atom-material.css":"atom-material.css","github-dark.css":"github-dark.css","github-light.css":"github.css","gothic.css":"github.css","medium.css":"github.css","monokai.css":"monokai.css","newsprint.css":"pen-paper-coffee.css","night.css":"darcula.css","one-dark.css":"one-dark.css","one-light.css":"one-light.css","solarized-light.css":"solarized-light.css","solarized-dark.css":"solarized-dark.css","vue.css":"vue.css"}}static{this.AutoPrismThemeMapForPresentation={"beige.css":"pen-paper-coffee.css","black.css":"one-dark.css","blood.css":"monokai.css","league.css":"okaidia.css","moon.css":"funky.css","night.css":"atom-dark.css","serif.css":"github.css","simple.css":"github.css","sky.css":"default.css","solarized.css":"solarized-light.css","white.css":"default.css"}}getPrismTheme(t=!1,n={}){if(this.notebook.config.codeBlockTheme==="auto.css")if(t){let a=n.presentation&&typeof n.presentation=="object"&&n.presentation.theme?n.presentation.theme:this.notebook.config.revealjsTheme;return e.AutoPrismThemeMapForPresentation[a]??"default.css"}else return e.AutoPrismThemeMap[this.notebook.config.previewTheme]??"default.css";else return this.notebook.config.codeBlockTheme}generateStylesForPreview(t=!1,n={},a=null){let r="";return this.notebook.config.mathRenderingOption==="KaTeX"&&!this.notebook.config.usePandocParser&&(r+=`<link rel="stylesheet" href="${W(R.resolve(U(),"./dependencies/katex/katex.min.css"),a)}">`),r+=`<link rel="stylesheet" href="${W(R.resolve(U(),"./dependencies/font-awesome/css/font-awesome.min.css"),a)}">`,t?(r+=`<link rel="stylesheet" href="${W(R.resolve(U(),"./dependencies/reveal/css/reveal.css"),a)}" >`,r+=`<link rel="stylesheet" href="${W(R.resolve(U(),`./dependencies/reveal/css/theme/${n.presentation&&typeof n.presentation=="object"&&n.presentation.theme?n.presentation.theme:this.notebook.config.revealjsTheme}`),a)}" >`):r+=`<link rel="stylesheet" href="${W(R.resolve(U(),`./styles/preview_theme/${this.notebook.config.previewTheme}`),a)}">`,r+=`<link rel="stylesheet" href="${W(R.resolve(U(),`./styles/prism_theme/${this.getPrismTheme(t,n)}`),a)}">`,r+=`<link rel="stylesheet" media="screen" href="${W(R.resolve(U(),"./styles/style-template.css"),a)}">`,r+=`<link rel="stylesheet" media="screen" href="${W(R.resolve(U(),"./styles/markdown-it-admonition.css"),a)}">`,r+=`<style>${this.notebook.config.globalCss}</style>`,r}generateJSAndCssFilesForPreview(t=[],n=null){let a="";return t.forEach(r=>{let s=r;r[0]==="/"?s=W(R.resolve(this.projectDirectoryPath.fsPath,"."+r),n):r.match(/^file:\/\//)||r.match(/^https?:\/\//)||(s=W(R.resolve(this.fileDirectoryPath,r),n)),s.endsWith(".js")?a+=`<script type="text/javascript" src="${s}"></script>`:a+=`<link rel="stylesheet" href="${s}">`}),a}async generateHTMLTemplateForPreview({inputString:t="",body:n="",webviewScript:a="",scripts:r="",styles:s="",head:o=`<base href="${this.filePath}">`,config:l,vscodePreviewPanel:d=null,contentSecurityPolicy:p="",isVSCodeWebExtension:c}){t||(t=await this.fs.readFile(this.filePath));let g="";a||(a=W(R.resolve(U(),"./webview/preview.js"),d),g=W(R.resolve(U(),"./webview/preview.css"),d)),n||(n="");let{yamlConfig:f,JSAndCssFiles:S,html:m}=await this.parseMD(t,{isForPreview:!0,useRelativeFilePath:!1,hideFrontMatter:!1,vscodePreviewPanel:d}),u=f.isPresentationMode;return`<!DOCTYPE html>
388
393
  <html>
389
394
  <head>
390
395
  <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
391
- <meta id="crossnote-data" data-config="${de(JSON.stringify({...this.notebook.config,...l}))}" data-time="${Date.now()}">
396
+ <meta id="crossnote-data" data-config="${re(JSON.stringify({...this.notebook.config,...l}))}" data-time="${Date.now()}">
392
397
  <meta charset="UTF-8">
393
398
  ${p?`<meta
394
399
  http-equiv="Content-Security-Policy"
@@ -397,17 +402,30 @@ window["initRevealPresentation"] = async function() {
397
402
  ${this.generateStylesForPreview(u,f,d)}
398
403
  <link rel="stylesheet" href="${g}">
399
404
  ${s}
405
+ ${this.notebook.config.previewTheme==="none.css"&&d?`<style>
406
+ html, body {
407
+ background-color: var(--vscode-editor-background);
408
+ color: var(--vscode-editor-foreground);
409
+ }
410
+
411
+ pre code {
412
+ color: var(--vscode-editor-foreground);
413
+ tab-size: 4;
414
+ }
415
+ </style>
416
+ `:""}
400
417
  <link rel="stylesheet" href="${W(R.resolve(U(),"./styles/preview.css"),d)}">
401
418
  ${this.generateJSAndCssFilesForPreview(S,d)}
419
+ ${await this.resolvePathsInHeader(this.notebook.config.includeInHeader)}
402
420
  ${o}
403
421
  </head>
404
- <body class="preview-container ${c?"vscode-web-extension":""}" data-html="${de(m)}" ${u?"data-presentation-mode":""}>
422
+ <body class="preview-container ${c?"vscode-web-extension":""}" data-html="${re(m)}" ${u?"data-presentation-mode":""}>
405
423
  ${n}
406
424
  </body>
407
425
  ${this.generateScriptsForPreview(u,f,d)}
408
426
  ${r}
409
427
  <script src="${a}"></script>
410
- </html>`}async generateHTMLTemplateForExport(t,n={},a){let r=n.id||"",s=n.class||[];typeof s=="string"&&(s=[s]),s=s.join(" ");let o="";if(this.notebook.config.mathRenderingOption==="MathJax"||this.notebook.config.usePandocParser){let C=Yn({...this.notebook.config.mathjaxConfig});C.tex=C.tex||{},C.tex.inlineMath=this.notebook.config.mathInlineDelimiters,C.tex.displayMath=this.notebook.config.mathBlockDelimiters,a.offline?o=`
428
+ </html>`}async generateHTMLTemplateForExport(t,n={},a){let r=n.id||"",s=n.class||[];typeof s=="string"&&(s=[s]),s=s.join(" ");let o="";if(this.notebook.config.mathRenderingOption==="MathJax"||this.notebook.config.usePandocParser){let C=Xn({...this.notebook.config.mathjaxConfig});C.tex=C.tex||{},C.tex.inlineMath=this.notebook.config.mathInlineDelimiters,C.tex.displayMath=this.notebook.config.mathBlockDelimiters,a.offline?o=`
411
429
  <script type="text/javascript">
412
430
  window.MathJax = (${JSON.stringify(C)});
413
431
  </script>
@@ -454,10 +472,10 @@ if (typeof(window['Reveal']) !== 'undefined') {
454
472
  nodes: document.querySelectorAll('.mermaid')
455
473
  })
456
474
  }
457
- </script>`);let c="",g="";t.indexOf(' class="wavedrom')>=0&&(a.offline?(c+=`<script type="text/javascript" src="file:///${R.resolve(U(),"./dependencies/wavedrom/default.js")}" charset="UTF-8"></script>`,c+=`<script type="text/javascript" src="file:///${R.resolve(U(),"./dependencies/wavedrom/wavedrom.min.js")}" charset="UTF-8"></script>`):(c+='<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.9.1/skins/default.js"></script>',c+='<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.9.1/wavedrom.min.js"></script>'),g="<script>WaveDrom.ProcessAll()</script>");let f="",S="";(t.indexOf(' class="vega')>=0||t.indexOf(' class="vega-lite')>=0)&&(Zn.forEach(({key:C,version:v})=>{f+=a.offline?`<script type="text/javascript" src="file:///${R.resolve(U(),`./dependencies/${C}/${C}.min.js`)}" charset="UTF-8"></script>`:`<script type="text/javascript" src="https://${this.notebook.config.jsdelivrCdnHost}/npm/${C}@${v}/build/${C}.js"></script>`}),S+=`<script>
475
+ </script>`);let c="",g="";t.indexOf(' class="wavedrom')>=0&&(a.offline?(c+=`<script type="text/javascript" src="file:///${R.resolve(U(),"./dependencies/wavedrom/default.js")}" charset="UTF-8"></script>`,c+=`<script type="text/javascript" src="file:///${R.resolve(U(),"./dependencies/wavedrom/wavedrom.min.js")}" charset="UTF-8"></script>`):(c+='<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.9.1/skins/default.js"></script>',c+='<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.9.1/wavedrom.min.js"></script>'),g="<script>WaveDrom.ProcessAll()</script>");let f="",S="";(t.indexOf(' class="vega')>=0||t.indexOf(' class="vega-lite')>=0)&&(Qn.forEach(({key:C,version:v})=>{f+=a.offline?`<script type="text/javascript" src="file:///${R.resolve(U(),`./dependencies/${C}/${C}.min.js`)}" charset="UTF-8"></script>`:`<script type="text/javascript" src="https://${this.notebook.config.jsdelivrCdnHost}/npm/${C}@${v}/build/${C}.js"></script>`}),S+=`<script>
458
476
  var vegaEls = document.querySelectorAll('.vega, .vega-lite');
459
477
  function reportVegaError(el, error) {
460
- el.innerHTML = '<pre class="language-text">' + error.toString() + '</pre>'
478
+ el.innerHTML = '<pre class="language-text"><code>' + error.toString() + '</code></pre>'
461
479
  }
462
480
  for (var i = 0; i < vegaEls.length; i++) {
463
481
  const vegaEl = vegaEls[i]
@@ -514,6 +532,7 @@ sidebarTOCBtn.addEventListener('click', function(event) {
514
532
  <style>
515
533
  ${w}
516
534
  </style>
535
+ ${await this.resolvePathsInHeader(this.notebook.config.includeInHeader)}
517
536
  </head>
518
537
  <body ${a.isForPrint?"":'for="html-export"'} ${n.isPresentationMode?"data-presentation-mode":""}>
519
538
  <div class="crossnote markdown-preview ${h} ${s}" ${n.isPresentationMode?"data-presentation-mode":""} ${r?`id="${r}"`:""}>
@@ -528,7 +547,7 @@ sidebarTOCBtn.addEventListener('click', function(event) {
528
547
  ${S}
529
548
  ${k}
530
549
  </html>
531
- `,a.embedLocalImages||a.embedSVG){let C=ie.load(t);a.embedLocalImages&&await Ke(C,this.notebook,this.resolveFilePath.bind(this)),a.embedSVG&&await kt(C,this.notebook,this.resolveFilePath.bind(this)),t=C.html()}return t.trim()}async openInBrowser({runAllCodeChunks:t=!1}){let n=await this.fs.readFile(this.filePath),a,r;({html:a,yamlConfig:r}=await this.parseMD(n,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:t})),a=await this.generateHTMLTemplateForExport(a,r,{isForPrint:!1,isForPrince:!1,offline:!0,embedLocalImages:!1});let s=await J({prefix:"crossnote",suffix:".html"});Y.writeFileSync(s.fd,a),se(s.path)}async htmlExport({offline:t=!1,runAllCodeChunks:n=!1}){let a=await this.fs.readFile(this.filePath),r,s;({html:r,yamlConfig:s}=await this.parseMD(a,{useRelativeFilePath:!0,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n}));let o=s.html||{};"offline"in o&&(t=o.offline);let l=o.embed_local_images,d=!0;"embed_svg"in o&&(d=o.embed_svg);let p=this.filePath,c=R.extname(p);if(p=p.replace(new RegExp(c+"$"),".html"),r=await this.generateHTMLTemplateForExport(r,s,{isForPrint:!1,isForPrince:!1,embedLocalImages:l,offline:t,embedSVG:d}),!t&&r.indexOf('[{"src":"revealjs_deps/notes.js","async":true}]')>=0){let g=R.resolve(R.dirname(p),"revealjs_deps");Y.existsSync(g)||Y.mkdirSync(g),Y.createReadStream(R.resolve(U(),"./dependencies/reveal/plugin/notes/notes.js")).pipe(Y.createWriteStream(R.resolve(g,"notes.js"))),Y.createReadStream(R.resolve(U(),"./dependencies/reveal/plugin/notes/notes.html")).pipe(Y.createWriteStream(R.resolve(g,"notes.html")))}return await this.fs.writeFile(p,r),p}async chromeExport({fileType:t="pdf",runAllCodeChunks:n=!1,openFileAfterGeneration:a=!1}){let r=await this.fs.readFile(this.filePath),s,o;({html:s,yamlConfig:o}=await this.parseMD(r,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n}));let l=this.filePath,d=R.extname(l);l=l.replace(new RegExp(d+"$"),"."+t),s=await this.generateHTMLTemplateForExport(s,o,{isForPrint:!0,isForPrince:!1,embedLocalImages:!1,offline:!0});let p="";try{if(p=this.notebook.config.chromePath,!p){let h=(await import("chrome-paths")).default;p=h.chrome||h.chromeCanary||h.chromium}}catch{p=""}if(!p)throw new Error("Chrome executable path is not set.");let g=await(await import("puppeteer-core/lib/cjs/puppeteer/puppeteer-core.js")).launch({args:this.notebook.config.puppeteerArgs||[],executablePath:p,headless:!0}),f=await J({prefix:"crossnote",suffix:".html"});Y.writeFileSync(f.fd,s);let S=await g.newPage(),m="file:///"+f.path+(o.isPresentationMode?"?print-pdf":"");await S.goto(m);let u={path:l,...o.isPresentationMode?{}:{margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"}},printBackground:this.notebook.config.printBackground,...o.chrome||o.puppeteer||{}},b=0;return o.chrome&&o.chrome.timeout?b=o.chrome.timeout:o.puppeteer&&o.puppeteer.timeout&&(b=o.puppeteer.timeout),b&&typeof b=="number"?await S.waitForTimeout(b):this.notebook.config.puppeteerWaitForTimeout&&this.notebook.config.puppeteerWaitForTimeout>0&&await S.waitForTimeout(this.notebook.config.puppeteerWaitForTimeout),t==="pdf"?await S.pdf(u):(u.fullPage=!0,await S.screenshot(u)),g.close(),a&&se(l),l}async princeExport({runAllCodeChunks:t=!1,openFileAfterGeneration:n=!1}){let a=await this.fs.readFile(this.filePath),r,s;({html:r,yamlConfig:s}=await this.parseMD(a,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:t}));let o=this.filePath,l=R.extname(o);o=o.replace(new RegExp(l+"$"),".pdf"),r=await this.generateHTMLTemplateForExport(r,s,{isForPrint:!0,isForPrince:!0,embedLocalImages:!1,offline:!0});let d=await J({prefix:"crossnote",suffix:".html"});return Y.writeFileSync(d.fd,r),s.isPresentationMode?"file:///"+d.path+"?print-pdf":(await vn(d.path,o),n&&se(o),o)}async eBookDownloadImages(t,n){let a=[];(R.extname(n)===".epub"||R.extname("dest")===".mobi")&&t("img").each((s,o)=>{let l=t(o);(l.attr("src")||"").match(/^https?:\/\//)&&a.push(l)});let r=a.map(s=>new Promise(o=>{let l=s.attr("src"),d=Math.random().toString(36).substr(2,9)+"_"+R.basename(l);d=R.resolve(this.fileDirectoryPath,d),qr(l).pipe(Y.createWriteStream(d)).on("finish",()=>(s.attr("src","file:///"+d),o(d)))}));return Promise.all(r)}async eBookExport({fileType:t="epub",runAllCodeChunks:n=!1}){let a=await this.fs.readFile(this.filePath),r=t==="pdf",s,o;({html:s,yamlConfig:o}=await this.parseMD(a,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n,emojiToSvg:r}));let l=this.filePath,d=R.extname(l);l=l.replace(new RegExp(d+"$"),"."+t.toLowerCase());let p=o.ebook||{};if(!p)throw new Error("eBook config not found. Please insert ebook front-matter to your markdown file.");if(p.cover){let w=p.cover;p.cover=Q(this.resolveFilePath(w,!1))}let c=ie.load(`<div>${s}</div>`),g=[],f=new ee,S=c("div > ul").last();if(S.length){if(p.include_toc===!1){let w=S.prev();w.length&&w[0].name.match(/^h\d$/i)&&w.remove()}c("h1, h2, h3, h4, h5, h6").each((w,N)=>{let C=c(N),v=parseInt(C[0].name.slice(1),10)-1;C.attr("ebook-toc-level-"+(v+1),""),C.attr("heading",C.html())}),m(S,0),p.include_toc===!1&&S.remove()}function m(w,N){w.children("li").each((C,v)=>{let O=c(v),$=O.children("a").first();if(!$.length){O.children().length>=1&&m(O.children().last(),N+1);return}let F=decodeURIComponent($.attr("href")),B=$.html()??"",x=f.generateId("ebook-heading-"+B);g.push({level:N,filePath:F,heading:B,id:x}),$.attr("href","#"+x),O.children().length>1&&m(O.children().last(),N+1)})}let u=g.map(({heading:w,id:N,level:C,filePath:v},O)=>new Promise(($,F)=>{if(v=Q(v),v.match(/^https?:\/\//))return $({heading:w,id:N,level:C,filePath:v,html:"",offset:O});Y.readFile(v,{encoding:"utf-8"},(B,x)=>{if(B)return F(B.toString());let G=R.dirname(this.filePath);x=x.replace(/(!\[[^\]]*\]\()(\.[^)\s]*)/g,(I,H,z)=>{let L=R.resolve(R.dirname(v),z),P=R.relative(G,L);return H+P}),this.parseMD(x,{useRelativeFilePath:!1,isForPreview:!1,hideFrontMatter:!0,emojiToSvg:r,fileDirectoryPath:R.dirname(v)}).then(({html:I})=>$({heading:w,id:N,level:C,filePath:v,html:I,offset:O}))})})),b=c.html().replace(/^<div>(.+)<\/div>$/,"$1"),h=await Promise.all(u);h=h.sort((w,N)=>w.offset-N.offset),h.forEach(({heading:w,id:N,level:C,html:v})=>{let O=ie.load(`<div>${v}</div>`);O("a").each(($,F)=>{let B=O(F),x=B.attr("href");x.startsWith("file://")&&h.forEach(G=>{G.filePath===Q(x)&&B.attr("href","#"+G.id)})}),b+=`<div id="${N}" ebook-toc-level-${C+1} heading="${w}">${O.html()}</div>`}),c=ie.load(b);let E=await this.eBookDownloadImages(c,l);if(R.extname(l)===".html"){if(p.cover){let w=p.cover[0]==="/"?"file:///"+p.cover:p.cover;c(":root").children().first().prepend(`<img style="display:block; margin-bottom: 24px;" src="${w}">`)}await Ke(c,this.notebook,this.resolveFilePath.bind(this))}b=c.html();let _=p.title||"no title",A="";b.indexOf('class="katex"')>0&&(R.extname(l)===".html"&&p.html&&p.html.cdn?A=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/katex@0.16.8/dist/katex.min.css">`:A=`<link rel="stylesheet" href="file:///${R.resolve(U(),"./dependencies/katex/katex.min.css")}">`);let T="";try{T=(await Promise.all([await this.fs.readFile(R.resolve(U(),"./styles/style-template.css")),await this.fs.readFile(R.resolve(U(),`./styles/prism_theme/${e.AutoPrismThemeMap[p.theme||this.notebook.config.previewTheme]}`)),await this.fs.readFile(R.resolve(U(),"./styles/twemoji.css")),await this.fs.readFile(R.resolve(U(),`./styles/preview_theme/${p.theme||this.notebook.config.previewTheme}`)),b.indexOf("admonition")>0?await this.fs.readFile(R.resolve(U(),"./styles/markdown-it-admonition.css")):""])).join("")}catch{T=""}let k="";try{k=this.notebook.config.globalCss}catch{}if(s=`
550
+ `,a.embedLocalImages||a.embedSVG){let C=ie.load(t);a.embedLocalImages&&await Ke(C,this.notebook,this.resolveFilePath.bind(this)),a.embedSVG&&await kt(C,this.notebook,this.resolveFilePath.bind(this)),t=C.html()}return t.trim()}async openInBrowser({runAllCodeChunks:t=!1}){let n=await this.fs.readFile(this.filePath),a,r;({html:a,yamlConfig:r}=await this.parseMD(n,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:t})),a=await this.generateHTMLTemplateForExport(a,r,{isForPrint:!1,isForPrince:!1,offline:!0,embedLocalImages:!1});let s=await J({prefix:"crossnote",suffix:".html"});Y.writeFileSync(s.fd,a),le(s.path)}async htmlExport({offline:t=!1,runAllCodeChunks:n=!1}){let a=await this.fs.readFile(this.filePath),r,s;({html:r,yamlConfig:s}=await this.parseMD(a,{useRelativeFilePath:!0,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n}));let o=s.html||{};"offline"in o&&(t=o.offline);let l=o.embed_local_images,d=!0;"embed_svg"in o&&(d=o.embed_svg);let p=this.filePath,c=R.extname(p);if(p=p.replace(new RegExp(c+"$"),".html"),r=await this.generateHTMLTemplateForExport(r,s,{isForPrint:!1,isForPrince:!1,embedLocalImages:l,offline:t,embedSVG:d}),!t&&r.indexOf('[{"src":"revealjs_deps/notes.js","async":true}]')>=0){let g=R.resolve(R.dirname(p),"revealjs_deps");Y.existsSync(g)||Y.mkdirSync(g),Y.createReadStream(R.resolve(U(),"./dependencies/reveal/plugin/notes/notes.js")).pipe(Y.createWriteStream(R.resolve(g,"notes.js"))),Y.createReadStream(R.resolve(U(),"./dependencies/reveal/plugin/notes/notes.html")).pipe(Y.createWriteStream(R.resolve(g,"notes.html")))}return await this.fs.writeFile(p,r),p}async chromeExport({fileType:t="pdf",runAllCodeChunks:n=!1,openFileAfterGeneration:a=!1}){let r=await this.fs.readFile(this.filePath),s,o;({html:s,yamlConfig:o}=await this.parseMD(r,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n}));let l=this.filePath,d=R.extname(l);l=l.replace(new RegExp(d+"$"),"."+t),s=await this.generateHTMLTemplateForExport(s,o,{isForPrint:!0,isForPrince:!1,embedLocalImages:!1,offline:!0});let p="";try{if(p=this.notebook.config.chromePath,!p){let h=(await import("chrome-paths")).default;p=h.chrome||h.chromeCanary||h.chromium}}catch{p=""}if(!p)throw new Error("Chrome executable path is not set.");let g=await(await import("puppeteer-core/lib/cjs/puppeteer/puppeteer-core.js")).launch({args:this.notebook.config.puppeteerArgs||[],executablePath:p,headless:!0}),f=await J({prefix:"crossnote",suffix:".html"});Y.writeFileSync(f.fd,s);let S=await g.newPage(),m="file:///"+f.path+(o.isPresentationMode?"?print-pdf":"");await S.goto(m);let u={path:l,...o.isPresentationMode?{}:{margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"}},printBackground:this.notebook.config.printBackground,...o.chrome||o.puppeteer||{}},b=0;return o.chrome&&o.chrome.timeout?b=o.chrome.timeout:o.puppeteer&&o.puppeteer.timeout&&(b=o.puppeteer.timeout),b&&typeof b=="number"?await S.waitForTimeout(b):this.notebook.config.puppeteerWaitForTimeout&&this.notebook.config.puppeteerWaitForTimeout>0&&await S.waitForTimeout(this.notebook.config.puppeteerWaitForTimeout),t==="pdf"?await S.pdf(u):(u.fullPage=!0,await S.screenshot(u)),g.close(),a&&le(l),l}async princeExport({runAllCodeChunks:t=!1,openFileAfterGeneration:n=!1}){let a=await this.fs.readFile(this.filePath),r,s;({html:r,yamlConfig:s}=await this.parseMD(a,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:t}));let o=this.filePath,l=R.extname(o);o=o.replace(new RegExp(l+"$"),".pdf"),r=await this.generateHTMLTemplateForExport(r,s,{isForPrint:!0,isForPrince:!0,embedLocalImages:!1,offline:!0});let d=await J({prefix:"crossnote",suffix:".html"});return Y.writeFileSync(d.fd,r),s.isPresentationMode?"file:///"+d.path+"?print-pdf":(await Cn(d.path,o),n&&le(o),o)}async eBookDownloadImages(t,n){let a=[];(R.extname(n)===".epub"||R.extname("dest")===".mobi")&&t("img").each((s,o)=>{let l=t(o);(l.attr("src")||"").match(/^https?:\/\//)&&a.push(l)});let r=a.map(s=>new Promise(o=>{let l=s.attr("src"),d=Math.random().toString(36).substr(2,9)+"_"+R.basename(l);d=R.resolve(this.fileDirectoryPath,d),Xr(l).pipe(Y.createWriteStream(d)).on("finish",()=>(s.attr("src","file:///"+d),o(d)))}));return Promise.all(r)}async eBookExport({fileType:t="epub",runAllCodeChunks:n=!1}){let a=await this.fs.readFile(this.filePath),r=t==="pdf",s,o;({html:s,yamlConfig:o}=await this.parseMD(a,{useRelativeFilePath:!1,hideFrontMatter:!0,isForPreview:!1,runAllCodeChunks:n,emojiToSvg:r}));let l=this.filePath,d=R.extname(l);l=l.replace(new RegExp(d+"$"),"."+t.toLowerCase());let p=o.ebook||{};if(!p)throw new Error("eBook config not found. Please insert ebook front-matter to your markdown file.");if(p.cover){let w=p.cover;p.cover=Q(this.resolveFilePath(w,!1))}let c=ie.load(`<div>${s}</div>`),g=[],f=new ee,S=c("div > ul").last();if(S.length){if(p.include_toc===!1){let w=S.prev();w.length&&w[0].name.match(/^h\d$/i)&&w.remove()}c("h1, h2, h3, h4, h5, h6").each((w,N)=>{let C=c(N),v=parseInt(C[0].name.slice(1),10)-1;C.attr("ebook-toc-level-"+(v+1),""),C.attr("heading",C.html())}),m(S,0),p.include_toc===!1&&S.remove()}function m(w,N){w.children("li").each((C,v)=>{let O=c(v),$=O.children("a").first();if(!$.length){O.children().length>=1&&m(O.children().last(),N+1);return}let F=decodeURIComponent($.attr("href")),B=$.html()??"",x=f.generateId("ebook-heading-"+B);g.push({level:N,filePath:F,heading:B,id:x}),$.attr("href","#"+x),O.children().length>1&&m(O.children().last(),N+1)})}let u=g.map(({heading:w,id:N,level:C,filePath:v},O)=>new Promise(($,F)=>{if(v=Q(v),v.match(/^https?:\/\//))return $({heading:w,id:N,level:C,filePath:v,html:"",offset:O});Y.readFile(v,{encoding:"utf-8"},(B,x)=>{if(B)return F(B.toString());let G=R.dirname(this.filePath);x=x.replace(/(!\[[^\]]*\]\()(\.[^)\s]*)/g,(I,H,z)=>{let L=R.resolve(R.dirname(v),z),P=R.relative(G,L);return H+P}),this.parseMD(x,{useRelativeFilePath:!1,isForPreview:!1,hideFrontMatter:!0,emojiToSvg:r,fileDirectoryPath:R.dirname(v)}).then(({html:I})=>$({heading:w,id:N,level:C,filePath:v,html:I,offset:O}))})})),b=c.html().replace(/^<div>(.+)<\/div>$/,"$1"),h=await Promise.all(u);h=h.sort((w,N)=>w.offset-N.offset),h.forEach(({heading:w,id:N,level:C,html:v})=>{let O=ie.load(`<div>${v}</div>`);O("a").each(($,F)=>{let B=O(F),x=B.attr("href");x.startsWith("file://")&&h.forEach(G=>{G.filePath===Q(x)&&B.attr("href","#"+G.id)})}),b+=`<div id="${N}" ebook-toc-level-${C+1} heading="${w}">${O.html()}</div>`}),c=ie.load(b);let E=await this.eBookDownloadImages(c,l);if(R.extname(l)===".html"){if(p.cover){let w=p.cover[0]==="/"?"file:///"+p.cover:p.cover;c(":root").children().first().prepend(`<img style="display:block; margin-bottom: 24px;" src="${w}">`)}await Ke(c,this.notebook,this.resolveFilePath.bind(this))}b=c.html();let _=p.title||"no title",A="";b.indexOf('class="katex"')>0&&(R.extname(l)===".html"&&p.html&&p.html.cdn?A=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/katex@0.16.8/dist/katex.min.css">`:A=`<link rel="stylesheet" href="file:///${R.resolve(U(),"./dependencies/katex/katex.min.css")}">`);let T="";try{T=(await Promise.all([await this.fs.readFile(R.resolve(U(),"./styles/style-template.css")),await this.fs.readFile(R.resolve(U(),`./styles/prism_theme/${e.AutoPrismThemeMap[p.theme||this.notebook.config.previewTheme]}`)),await this.fs.readFile(R.resolve(U(),"./styles/twemoji.css")),await this.fs.readFile(R.resolve(U(),`./styles/preview_theme/${p.theme||this.notebook.config.previewTheme}`)),b.indexOf("admonition")>0?await this.fs.readFile(R.resolve(U(),"./styles/markdown-it-admonition.css")):""])).join("")}catch{T=""}let k="";try{k=this.notebook.config.globalCss}catch{}if(s=`
532
551
  <!DOCTYPE html>
533
552
  <html>
534
553
  <head>
@@ -540,6 +559,7 @@ sidebarTOCBtn.addEventListener('click', function(event) {
540
559
  ${k}
541
560
  </style>
542
561
  ${A}
562
+ ${await this.resolvePathsInHeader(this.notebook.config.includeInHeader)}
543
563
  </head>
544
564
  <body ${R.extname(l)===".html"?'for="html-export"':""}>
545
565
  <div class="crossnote markdown-preview">
@@ -547,11 +567,11 @@ sidebarTOCBtn.addEventListener('click', function(event) {
547
567
  </div>
548
568
  </body>
549
569
  </html>
550
- `,R.extname(l)===".html")return await this.fs.writeFile(l,s),l;function y(){E.forEach(w=>{Y.unlink(w,()=>{})})}try{let w=await J({prefix:"crossnote",suffix:".html"});return Y.writeFileSync(w.fd,s),await Bt(w.path,l,p),y(),l}catch(w){throw y(),w}}async pandocExport({runAllCodeChunks:t=!1,openFileAfterGeneration:n=!1}){let a=await this.fs.readFile(this.filePath);this.notebook.config.parserConfig.onWillParseMarkdown&&(a=await this.notebook.config.parserConfig.onWillParseMarkdown(a)),t&&await this.parseMD(a,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!1,runAllCodeChunks:t});let r={};if(a.startsWith("---")){let o=a.indexOf(`
551
- ---`);if(o>0){let l=a.slice(0,o+4);r=this.processFrontMatter(l,!1).data}}let s=await In(a,{fileDirectoryPath:this.fileDirectoryPath,projectDirectoryPath:this.projectDirectoryPath.fsPath,sourceFilePath:this.filePath,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,filesCache:this.filesCache,codeChunksData:this.codeChunksData,graphsCache:this.graphsCache,notebook:this.notebook},r);return n&&se(s),s}async markdownExport({runAllCodeChunks:t=!1}){let n=await this.fs.readFile(this.filePath);t&&await this.parseMD(n,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!1,runAllCodeChunks:t});let a={};if(n.startsWith("---")){let s=n.indexOf(`
570
+ `,R.extname(l)===".html")return await this.fs.writeFile(l,s),l;function y(){E.forEach(w=>{Y.unlink(w,()=>{})})}try{let w=await J({prefix:"crossnote",suffix:".html"});return Y.writeFileSync(w.fd,s),await $t(w.path,l,p),y(),l}catch(w){throw y(),w}}async pandocExport({runAllCodeChunks:t=!1,openFileAfterGeneration:n=!1}){let a=await this.fs.readFile(this.filePath);this.notebook.config.parserConfig.onWillParseMarkdown&&(a=await this.notebook.config.parserConfig.onWillParseMarkdown(a)),t&&await this.parseMD(a,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!1,runAllCodeChunks:t});let r={};if(a.startsWith("---")){let o=a.indexOf(`
571
+ ---`);if(o>0){let l=a.slice(0,o+4);r=this.processFrontMatter(l,!1).data}}let s=await Nn(a,{fileDirectoryPath:this.fileDirectoryPath,projectDirectoryPath:this.projectDirectoryPath.fsPath,sourceFilePath:this.filePath,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,filesCache:this.filesCache,codeChunksData:this.codeChunksData,graphsCache:this.graphsCache,notebook:this.notebook},r);return n&&le(s),s}async markdownExport({runAllCodeChunks:t=!1}){let n=await this.fs.readFile(this.filePath);t&&await this.parseMD(n,{useRelativeFilePath:!0,isForPreview:!1,hideFrontMatter:!1,runAllCodeChunks:t});let a={};if(n.startsWith("---")){let s=n.indexOf(`
552
572
  ---`);if(s>0){let o=n.slice(0,s+4);n=n.replace(o,""),a=this.processFrontMatter(o,!1).data}}let r={};return a.markdown&&(r={...a.markdown}),r.image_dir||(r.image_dir=this.notebook.config.imageFolderPath),r.path||(this.filePath.match(/\.src\./)?r.path=this.filePath.replace(/\.src\./,"."):r.path=this.filePath.replace(new RegExp(R.extname(this.filePath)),"_"+R.extname(this.filePath)),r.path=R.basename(r.path)),(r.ignore_from_front_matter||!("ignore_from_front_matter"in r))&&delete a.markdown,a.export_on_save&&delete a.export_on_save,Object.keys(a).length&&(n=`---
553
- `+Xn.stringify(a)+`---
554
- `+n),await wn(n,{projectDirectoryPath:this.projectDirectoryPath.fsPath,fileDirectoryPath:this.fileDirectoryPath,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,filesCache:this.filesCache,codeChunksData:this.codeChunksData,graphsCache:this.graphsCache,notebook:this.notebook},r)}exportOnSave(t){let n=at();for(let a in t)if(a==="html")this.htmlExport({});else if(!n&&a==="prince")this.princeExport({openFileAfterGeneration:!1});else if(!n&&a==="puppeteer"||a==="chrome"){let r=t[a],s=this.chromeExport;s=s.bind(this),r===!0?s({fileType:"pdf",openFileAfterGeneration:!1}):typeof r=="string"?s({fileType:r,openFileAfterGeneration:!1}):r instanceof Array&&r.forEach(o=>{s({fileType:o,openFileAfterGeneration:!1})})}else if(!n&&a==="pandoc")this.pandocExport({openFileAfterGeneration:!1});else if(!n&&a==="ebook"){let r=t[a];r===!0?this.eBookExport({fileType:"epub"}):typeof r=="string"?this.eBookExport({fileType:r}):r instanceof Array&&r.forEach(s=>{this.eBookExport({fileType:s})})}}resolveFilePath(t="",n,a=""){return t.match(this.protocolsWhiteListRegExp)||t.startsWith("data:image/")||t[0]==="#"?t:t[0]==="/"?n?R.relative(a||this.fileDirectoryPath,R.resolve(this.projectDirectoryPath.fsPath,"."+t)):W(R.resolve(this.projectDirectoryPath.fsPath,"."+t),this.vscodePreviewPanel):n?t:W(R.resolve(a||this.fileDirectoryPath,t),this.vscodePreviewPanel)}clearCaches(){this.filesCache={},this.codeChunksData={},this.graphsCache={}}frontMatterToTable(t){if(t instanceof Array){let n="<tbody><tr>";return t.forEach(a=>n+=`<td>${this.frontMatterToTable(a)}</td>`),n+="</tr></tbody>",`<table>${n}</table>`}else if(typeof t=="object"){let n="<thead><tr>",a="<tbody><tr>";for(let r in t)t.hasOwnProperty(r)&&(n+=`<th>${de(r)}</th>`,a+=`<td>${this.frontMatterToTable(t[r])}</td>`);return n+="</tr></thead>",a+="</tr></tbody>",`<table>${n}${a}</table>`}else return de(t)}processFrontMatter(t,n=!1){if(t){let a=ve(t);if(this.notebook.config.usePandocParser)return{content:t,table:"",data:a||{}};if(n||(this.notebook.config.frontMatterRenderingOption??"")[0]==="n")return{content:"",table:"",data:a};if((this.notebook.config.frontMatterRenderingOption??"")[0]==="t"){let r;return typeof a=="object"?r=this.frontMatterToTable(a):r="<pre>Failed to parse YAML.</pre>",{content:"",table:r,data:a}}else return{content:t.replace(/^---/,"```yaml").replace(/\n---$/,"\n```\n"),table:"",data:a}}else return{content:t,table:"",data:{}}}parseSlides(t,n,a){let r=t.split("<p>[CROSSNOTESLIDE]</p>"),s=r[0];r=r.slice(1);let o="",l=0,d=-1,p=0;for(;l<r.length;){let g=r[l],f=n[l];"data-background-image"in f&&(f["data-background-image"]=this.resolveFilePath(f["data-background-image"],a)),"data-background-video"in f&&(f["data-background-video"]=this.resolveFilePath(f["data-background-video"],a)),"data-background-iframe"in f&&(f["data-background-iframe"]=this.resolveFilePath(f["data-background-iframe"],a));let S=q(f,!1),m=f.class||"",u=f.id?`id="${f.id}"`:"";f.vertical?p+=1:(d+=1,l>0&&n[l-1].vertical&&(o+="</section>",p=0),l<r.length-1&&n[l+1].vertical&&(o+="<section>")),o+=`<section ${S} ${u} class="slide ${m}" data-line="${f.lineNo}" data-h="${d}" data-v="${p}">${g}</section>`,l+=1}l>0&&n[l-1].vertical&&(o+="</section>");let c=ie.load(o);return c("li").each((g,f)=>{let S=c(f),u=(S.html()??"").trim().split(`
573
+ `+ea.stringify(a)+`---
574
+ `+n),await _n(n,{projectDirectoryPath:this.projectDirectoryPath.fsPath,fileDirectoryPath:this.fileDirectoryPath,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,filesCache:this.filesCache,codeChunksData:this.codeChunksData,graphsCache:this.graphsCache,notebook:this.notebook},r)}exportOnSave(t){let n=at();for(let a in t)if(a==="html")this.htmlExport({});else if(!n&&a==="prince")this.princeExport({openFileAfterGeneration:!1});else if(!n&&a==="puppeteer"||a==="chrome"){let r=t[a],s=this.chromeExport;s=s.bind(this),r===!0?s({fileType:"pdf",openFileAfterGeneration:!1}):typeof r=="string"?s({fileType:r,openFileAfterGeneration:!1}):r instanceof Array&&r.forEach(o=>{s({fileType:o,openFileAfterGeneration:!1})})}else if(!n&&a==="pandoc")this.pandocExport({openFileAfterGeneration:!1});else if(!n&&a==="ebook"){let r=t[a];r===!0?this.eBookExport({fileType:"epub"}):typeof r=="string"?this.eBookExport({fileType:r}):r instanceof Array&&r.forEach(s=>{this.eBookExport({fileType:s})})}}resolveFilePath(t="",n,a=""){return t.match(this.protocolsWhiteListRegExp)||t.startsWith("data:image/")||t[0]==="#"?t:t[0]==="/"?n?R.relative(a||this.fileDirectoryPath,R.resolve(this.projectDirectoryPath.fsPath,"."+t)):W(R.resolve(this.projectDirectoryPath.fsPath,"."+t),this.vscodePreviewPanel):n?t:W(R.resolve(a||this.fileDirectoryPath,t),this.vscodePreviewPanel)}async resolvePathsInHeader(t){let n=ie.load(t),a=n("script");for(let r=0;r<a.length;r++){let s=n(a[r]),o=s.attr("src");if(o&&!o.match(/^https?:\/\//)){let l=this.notebook.resolveNoteAbsolutePath(o);try{let d=await this.fs.readFile(l);s.html(d),s.removeAttr("src")}catch(d){console.error(d)}}}return n.html()}clearCaches(){this.filesCache={},this.codeChunksData={},this.graphsCache={}}frontMatterToTable(t){if(t instanceof Array){let n="<tbody><tr>";return t.forEach(a=>n+=`<td>${this.frontMatterToTable(a)}</td>`),n+="</tr></tbody>",`<table>${n}</table>`}else if(typeof t=="object"){let n="<thead><tr>",a="<tbody><tr>";for(let r in t)t.hasOwnProperty(r)&&(n+=`<th>${re(r)}</th>`,a+=`<td>${this.frontMatterToTable(t[r])}</td>`);return n+="</tr></thead>",a+="</tr></tbody>",`<table>${n}${a}</table>`}else return re(t)}processFrontMatter(t,n=!1){if(t){let a=ve(t);if(this.notebook.config.usePandocParser)return{content:t,table:"",data:a||{}};if(n||(this.notebook.config.frontMatterRenderingOption??"")[0]==="n")return{content:"",table:"",data:a};if((this.notebook.config.frontMatterRenderingOption??"")[0]==="t"){let r;return typeof a=="object"?r=this.frontMatterToTable(a):r='<pre class="language-text"><code>Failed to parse YAML.</code></pre>',{content:"",table:r,data:a}}else return{content:t.replace(/^---/,"```yaml").replace(/\n---$/,"\n```\n"),table:"",data:a}}else return{content:t,table:"",data:{}}}parseSlides(t,n,a){let r=t.split("<p>[CROSSNOTESLIDE]</p>"),s=r[0];r=r.slice(1);let o="",l=0,d=-1,p=0;for(;l<r.length;){let g=r[l],f=n[l];"data-background-image"in f&&(f["data-background-image"]=this.resolveFilePath(f["data-background-image"],a)),"data-background-video"in f&&(f["data-background-video"]=this.resolveFilePath(f["data-background-video"],a)),"data-background-iframe"in f&&(f["data-background-iframe"]=this.resolveFilePath(f["data-background-iframe"],a));let S=q(f,!1),m=f.class||"",u=f.id?`id="${f.id}"`:"";f.vertical?p+=1:(d+=1,l>0&&n[l-1].vertical&&(o+="</section>",p=0),l<r.length-1&&n[l+1].vertical&&(o+="<section>")),o+=`<section ${S} ${u} class="slide ${m}" data-line="${f.lineNo}" data-h="${d}" data-v="${p}">${g}</section>`,l+=1}l>0&&n[l-1].vertical&&(o+="</section>");let c=ie.load(o);return c("li").each((g,f)=>{let S=c(f),u=(S.html()??"").trim().split(`
555
575
  `)[0].match(/<!--(.+?)-->/);if(u){let b=u[1].replace(/\.element:/,"").trim(),h=te(b);for(let E in h)h.hasOwnProperty(E)&&S.attr(E,h[E])}}),`
556
576
  <div style="display:none;">${s}</div>
557
577
  <div class="reveal">
@@ -560,12 +580,12 @@ sidebarTOCBtn.addEventListener('click', function(event) {
560
580
  </div>
561
581
  </div>
562
582
  `}async pandocRender(t="",n){let a;switch(this.notebook.config.mathRenderingOption){case"MathJax":a="--mathjax";break;case"KaTeX":a="--katex";break;default:a=""}n=n||[],n=["--from="+this.notebook.config.pandocMarkdownFlavor,"--to=html",a].concat(n).filter(c=>c.length);let r="",s=t.split(`
563
- `),o=0,l=!1,d=0;for(;o<s.length;){let c=s[o],g=c.match(/(^\s*)```/);if(g){if(l=!l,l){let f=c.slice(g[0].length).trim();f||(f="text");let S=ze(f),m=Ge(S);d=g[1].length,r+=`${g[1]}\`\`\`{.text data-role="codeBlock" data-info="${de(f)}" data-parsed-info="${de(JSON.stringify(S))}" data-normalized-info="${de(JSON.stringify(m))}"}
583
+ `),o=0,l=!1,d=0;for(;o<s.length;){let c=s[o],g=c.match(/(^\s*)```/);if(g){if(l=!l,l){let f=c.slice(g[0].length).trim();f||(f="text");let S=ze(f),m=Ge(S);d=g[1].length,r+=`${g[1]}\`\`\`{.text data-role="codeBlock" data-info="${re(f)}" data-parsed-info="${re(JSON.stringify(S))}" data-normalized-info="${re(JSON.stringify(m))}"}
564
584
  `}else g[1].length===d?r+=`${g[1]}\`\`\`
565
585
  `:(l=!l,r+=c+`
566
586
  `);o+=1;continue}c.match(/^\[toc\]/i)&&!l&&(c="[CROSSNOTETOC]"),r+=c+`
567
- `,o+=1}let p=this.notebook.config.pandocPath;return await new Promise((c,g)=>{try{Vr(p,n,{cwd:this.fileDirectoryPath,maxBuffer:1/0},(S,m,u)=>S?g(S):c(u?"<pre>"+u+"</pre>"+m:m)).stdin?.end(r,"utf-8")}catch(f){let S=f.toString();return S.indexOf("Error: write EPIPE")>=0&&(S=`"pandoc" is required to be installed.
568
- Check "http://pandoc.org/installing.html" website.`),g(S)}})}async parseMD(t,n){t||(t=await this.fs.readFile(this.filePath)),this.vscodePreviewPanel=n.vscodePreviewPanel,this.notebook.config.parserConfig.onWillParseMarkdown&&(t=await this.notebook.config.parserConfig.onWillParseMarkdown(t)),this.notebook.config.parserConfig.onWillTransformMarkdown&&(t=await this.notebook.config.parserConfig.onWillTransformMarkdown(t));let a,r,s,o,l,d;({outputString:a,slideConfigs:r,tocBracketEnabled:s,JSAndCssFiles:o,headings:l,frontMatterString:d}=await le(t,{fileDirectoryPath:n.fileDirectoryPath||this.fileDirectoryPath,projectDirectoryPath:this.projectDirectoryPath.fsPath,forPreview:n.isForPreview,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,useRelativeFilePath:n.useRelativeFilePath,filesCache:this.filesCache,notebook:this.notebook})),this.notebook.config.parserConfig.onDidTransformMarkdown&&(a=await this.notebook.config.parserConfig.onDidTransformMarkdown(a));let p=this.processFrontMatter(d,n.hideFrontMatter),c=p.table,g=p.data||{};typeof g!="object"&&(g={}),a=p.content+a;let f;if(this.notebook.config.usePandocParser)try{let E=g.pandoc_args||[];E instanceof Array||(E=[]),E.find(A=>A.includes("pandoc-citeproc")||A.includes("--defaults"))===void 0&&(g.bibliography||g.references)&&E.push("--citeproc"),E=this.notebook.config.pandocArguments.concat(E),f=await this.pandocRender(a,E)}catch(E){f=`<pre>${E}</pre>`}else f=this.notebook.md.render(a);let S=g.toc||{},m=S.depth_from||1,u=S.depth_to||6,b=S.ordered;this.tocHTML=Gt(l,this.notebook.md.render.bind(this.notebook.md),{ordered:b,depthFrom:m,depthTo:u,tab:" "}),this.headings=l,s&&(f=f.replace(/^\s*<p>\[CROSSNOTETOC\]<\/p>\s*/gm,this.tocHTML));let h=ie.load(f);return await Rt(h,this.notebook.config.mathRenderingOption,this.notebook.config.mathBlockDelimiters,this.notebook.config.katexConfig),await _t({$:h,graphsCache:this.graphsCache,fileDirectoryPath:n.fileDirectoryPath||this.fileDirectoryPath,imageDirectoryPath:Q(this.resolveFilePath(this.notebook.config.imageFolderPath,!1)),plantumlServer:this.notebook.config.plantumlServer,plantumlJarPath:this.notebook.config.plantumlJarPath,kirokiServer:this.notebook.config.krokiServer}),await wt(h,this.codeChunksData,n,this.generateRunOptions()),await yt(h),await It(h,n,this.resolveFilePath.bind(this),this.notebook.config.usePandocParser),this.notebook.config.enableExtendedTableSyntax&&await Tt(h),f=c+h("head").html()+h("body").html(),r.length&&(f=this.parseSlides(f,r,n.useRelativeFilePath),g&&(g.isPresentationMode=!0)),this.notebook.config.parserConfig.onDidParseMarkdown&&(f=await this.notebook.config.parserConfig.onDidParseMarkdown(f)),n.runAllCodeChunks?(await At(this.codeChunksData,this.generateRunOptions()),n.runAllCodeChunks=!1,this.parseMD(t,n)):(n.isForPreview&&(this.isPreviewInPresentationMode=!!r.length),n.triggeredBySave&&g.export_on_save&&this.exportOnSave(g.export_on_save),this.notebook.config.enableScriptExecution||(o=[]),{html:f,markdown:t,tocHTML:this.tocHTML,yamlConfig:g,JSAndCssFiles:o})}runCodeChunks(){return At(this.codeChunksData,this.generateRunOptions())}runCodeChunk(t){return Ze(t,this.codeChunksData,this.generateRunOptions())}async modifySource(t,n,a){let r=()=>(t.running=!1,n),s=await this.notebook.fs.readFile(a);if(!s)return r();let o=async(g,f)=>{let S=f.length,m=0;for(let u=g+1;u<g+6&&u<S;u++)if(f[u].startsWith("<!-- code_chunk_output -->")){m=u;break}if(m){let u=m+1;for(;u<S&&!f[u].startsWith("<!-- /code_chunk_output -->");)u+=1;let b="";for(let E=m+2;E<u-1;E++)b+=f[E]+`
587
+ `,o+=1}let p=this.notebook.config.pandocPath;return await new Promise((c,g)=>{try{Zr(p,n,{cwd:this.fileDirectoryPath,maxBuffer:1/0},(S,m,u)=>S?g(S):c(u?'<pre class="language-text"><code>'+re(u)+"</code></pre>"+m:m)).stdin?.end(r,"utf-8")}catch(f){let S=f.toString();return S.indexOf("Error: write EPIPE")>=0&&(S=`"pandoc" is required to be installed.
588
+ Check "http://pandoc.org/installing.html" website.`),g(S)}})}async parseMD(t,n){t||(t=await this.fs.readFile(this.filePath)),this.vscodePreviewPanel=n.vscodePreviewPanel,this.notebook.config.parserConfig.onWillParseMarkdown&&(t=await this.notebook.config.parserConfig.onWillParseMarkdown(t)),this.notebook.config.parserConfig.onWillTransformMarkdown&&(t=await this.notebook.config.parserConfig.onWillTransformMarkdown(t));let a,r,s,o,l,d;({outputString:a,slideConfigs:r,tocBracketEnabled:s,JSAndCssFiles:o,headings:l,frontMatterString:d}=await de(t,{fileDirectoryPath:n.fileDirectoryPath||this.fileDirectoryPath,projectDirectoryPath:this.projectDirectoryPath.fsPath,forPreview:n.isForPreview,protocolsWhiteListRegExp:this.protocolsWhiteListRegExp,useRelativeFilePath:n.useRelativeFilePath,filesCache:this.filesCache,notebook:this.notebook})),this.notebook.config.parserConfig.onDidTransformMarkdown&&(a=await this.notebook.config.parserConfig.onDidTransformMarkdown(a));let p=this.processFrontMatter(d,n.hideFrontMatter),c=p.table,g=p.data||{};typeof g!="object"&&(g={}),a=p.content+a;let f;if(this.notebook.config.usePandocParser)try{let E=g.pandoc_args||[];E instanceof Array||(E=[]),E.find(A=>A.includes("pandoc-citeproc")||A.includes("--defaults"))===void 0&&(g.bibliography||g.references)&&E.push("--citeproc"),E=this.notebook.config.pandocArguments.concat(E),f=await this.pandocRender(a,E)}catch(E){f=`<pre class="language-text"><code>${re(E.toString())}</code></pre>`}else f=this.notebook.md.render(a);let S=g.toc||{},m=S.depth_from||1,u=S.depth_to||6,b=S.ordered;this.tocHTML=zt(l,this.notebook.md.render.bind(this.notebook.md),{ordered:b,depthFrom:m,depthTo:u,tab:" "}),this.headings=l,s&&(f=f.replace(/^\s*<p>\[CROSSNOTETOC\]<\/p>\s*/gm,this.tocHTML));let h=ie.load(f);return await It(h,this.notebook.config.mathRenderingOption,this.notebook.config.mathBlockDelimiters,this.notebook.config.katexConfig),await Rt({$:h,graphsCache:this.graphsCache,fileDirectoryPath:n.fileDirectoryPath||this.fileDirectoryPath,imageDirectoryPath:Q(this.resolveFilePath(this.notebook.config.imageFolderPath,!1)),plantumlServer:this.notebook.config.plantumlServer,plantumlJarPath:this.notebook.config.plantumlJarPath,kirokiServer:this.notebook.config.krokiServer}),await wt(h,this.codeChunksData,n,this.generateRunOptions()),await yt(h),await vt(h,n,this.resolveFilePath.bind(this),this.notebook.config.usePandocParser),this.notebook.config.enableExtendedTableSyntax&&await Tt(h),f=c+h("head").html()+h("body").html(),r.length&&(f=this.parseSlides(f,r,n.useRelativeFilePath),g&&(g.isPresentationMode=!0)),this.notebook.config.parserConfig.onDidParseMarkdown&&(f=await this.notebook.config.parserConfig.onDidParseMarkdown(f)),n.runAllCodeChunks?(await At(this.codeChunksData,this.generateRunOptions()),n.runAllCodeChunks=!1,this.parseMD(t,n)):(n.isForPreview&&(this.isPreviewInPresentationMode=!!r.length),n.triggeredBySave&&g.export_on_save&&this.exportOnSave(g.export_on_save),this.notebook.config.enableScriptExecution||(o=[]),{html:f,markdown:t,tocHTML:this.tocHTML,yamlConfig:g,JSAndCssFiles:o})}runCodeChunks(){return At(this.codeChunksData,this.generateRunOptions())}runCodeChunk(t){return Ze(t,this.codeChunksData,this.generateRunOptions())}async modifySource(t,n,a){let r=()=>(t.running=!1,n),s=await this.notebook.fs.readFile(a);if(!s)return r();let o=async(g,f)=>{let S=f.length,m=0;for(let u=g+1;u<g+6&&u<S;u++)if(f[u].startsWith("<!-- code_chunk_output -->")){m=u;break}if(m){let u=m+1;for(;u<S&&!f[u].startsWith("<!-- /code_chunk_output -->");)u+=1;let b="";for(let E=m+2;E<u-1;E++)b+=f[E]+`
569
589
  `;if(b===n+`
570
590
  `)return"";let h=[...f.slice(0,m+2),n,...f.slice(u-1)];return await this.notebook.fs.writeFile(a,h.join(`
571
591
  `)),""}else{let u=[...f.slice(0,g+1),`
@@ -576,4 +596,4 @@ ${n}
576
596
  <!-- /code_chunk_output -->
577
597
  `,...f.slice(g+1)];return await this.notebook.fs.writeFile(a,u.join(`
578
598
  `)),""}},l=s.split(`
579
- `)||[],d=l.length,p=0,c=t.normalizedInfo.attributes.code_chunk_offset;for(let g=0;g<d;g++){let f=l[g];if(f.match(/^```(.+)"?cmd"?\s*[=\s}]/))if(p===c){for(g=g+1;g<d&&!l[g].match(/^```\s*/);)g+=1;await o(g,l);break}else p++;else if(f.match(/@import\s+(.+)"?cmd"?\s*[=\s}]/))if(p===c){await o(g,l);break}else p++}return r()}generateRunOptions(){return{enableScriptExecution:this.notebook.config.enableScriptExecution,fileDirectoryPath:this.fileDirectoryPath,filePath:this.filePath,imageFolderPath:this.notebook.config.imageFolderPath,latexEngine:this.notebook.config.latexEngine,modifySource:this.modifySource.bind(this),parseMD:this.parseMD.bind(this),headings:this.headings}}};var ed={addFileProtocol:W,getCrossnoteBuildDirectory:U,openFile:se,setCrossnoteBuildDirectory:Dt,useExternalAddFileProtocolFunction:Pt,uploadImage:et};export{Fn as IS_NODE,qe as MarkdownEngine,Gn as Notebook,bt as getDefaultKatexConfig,ft as getDefaultMathjaxConfig,mt as getDefaultMermaidConfig,me as getDefaultNotebookConfig,ht as getDefaultParserConfig,Et as loadConfigsInDirectory,ed as utility,St as wrapNodeFSAsApi};
599
+ `)||[],d=l.length,p=0,c=t.normalizedInfo.attributes.code_chunk_offset;for(let g=0;g<d;g++){let f=l[g];if(f.match(/^```(.+)"?cmd"?\s*[=\s}]/))if(p===c){for(g=g+1;g<d&&!l[g].match(/^```\s*/);)g+=1;await o(g,l);break}else p++;else if(f.match(/@import\s+(.+)"?cmd"?\s*[=\s}]/))if(p===c){await o(g,l);break}else p++}return r()}generateRunOptions(){return{enableScriptExecution:this.notebook.config.enableScriptExecution,fileDirectoryPath:this.fileDirectoryPath,filePath:this.filePath,imageFolderPath:this.notebook.config.imageFolderPath,latexEngine:this.notebook.config.latexEngine,modifySource:this.modifySource.bind(this),parseMD:this.parseMD.bind(this),headings:this.headings}}};var sd={addFileProtocol:W,getCrossnoteBuildDirectory:U,openFile:le,setCrossnoteBuildDirectory:Pt,useExternalAddFileProtocolFunction:Mt,uploadImage:et};export{Bn as IS_NODE,qe as MarkdownEngine,Hn as Notebook,bt as getDefaultKatexConfig,ft as getDefaultMathjaxConfig,mt as getDefaultMermaidConfig,fe as getDefaultNotebookConfig,ht as getDefaultParserConfig,Et as loadConfigsInDirectory,sd as utility,St as wrapNodeFSAsApi};