diff --git a/assets/Browser-d9f6f8c6.js b/assets/Browser-52a34b58.js similarity index 92% rename from assets/Browser-d9f6f8c6.js rename to assets/Browser-52a34b58.js index 54e7329..a461310 100644 --- a/assets/Browser-d9f6f8c6.js +++ b/assets/Browser-52a34b58.js @@ -1,4 +1,4 @@ -const l="/assets/web-browser-8b47647b.svg",d={config:{name:"Browser",type:"process",icon:l,targetVer:"1.0.0-indev.0"},run:async i=>{const t=await i.loadLibrary("lib/WindowManager").then(o=>o.createWindow({title:"Browser",icon:l,width:500,height:700},i)),c=await i.loadLibrary("lib/XOR");t.content.style.height="100%",t.content.style.display="flex",t.content.style.flexDirection="column",t.content.innerHTML=` +const l="/FlowOS/assets/web-browser-8b47647b.svg",d={config:{name:"Browser",type:"process",icon:l,targetVer:"1.0.0-indev.0"},run:async i=>{const t=await i.loadLibrary("lib/WindowManager").then(o=>o.createWindow({title:"Browser",icon:l,width:500,height:700},i)),c=await i.loadLibrary("lib/XOR");t.content.style.height="100%",t.content.style.display="flex",t.content.style.flexDirection="column",t.content.innerHTML=`
diff --git a/assets/Desktop-765b6ef2.js b/assets/Desktop-a4f58152.js similarity index 94% rename from assets/Desktop-765b6ef2.js rename to assets/Desktop-a4f58152.js index 640b98e..e50c19a 100644 --- a/assets/Desktop-765b6ef2.js +++ b/assets/Desktop-a4f58152.js @@ -1,4 +1,4 @@ -import{H as o,d as w}from"./index-10f4832e.js";import{n as f}from"./application-default-icon-38d880e7.js";const T={config:{name:"Desktop",type:"process",targetVer:"1.0.0-indev.0"},run:async e=>{const c=(await e.loadLibrary("lib/SplashScreen")).getElement();c.appendTo(document.body);const{fs:s}=e,y=await e.loadLibrary("lib/WindowManager"),t=await e.loadLibrary("lib/Launcher"),{Input:b}=await e.loadLibrary("lib/Components"),p=b.new().attr({type:"text",placeholder:"Search"}).style({width:"100%","border-radius":"10px",padding:"5px","margin-bottom":"10px",position:"sticky",top:"0"}).on("keyup",()=>{n.elm.innerHTML="",i().catch(a=>console.error(a))}).appendTo(t.element),n=new o("div").style({overflow:"scroll",height:"max-content",position:"relative"});new o("div").style({height:"100%",overflow:"scroll","padding-bottom":"30px"}).append(n).appendTo(t.element).class("gradient-blur");const i=async()=>{n.html(""),(await s.readdir("/home/Applications/")).filter(l=>l.endsWith(".app")&&(p.elm!==null?l.toLowerCase().includes(p.elm.value.toLowerCase()):!0)).forEach(l=>{s.readFile(`/home/Applications/${l}`).then(async r=>{const u=w.Buffer.from(r).toString(),d=await e.kernel.getExecutable(u),g=new o("div").style({display:"flex","align-items":"center",padding:"5px",cursor:"pointer",gap:"10px","border-bottom":"1px solid var(--surface-0)"}).on("click",()=>{e.launch(u).catch(h=>console.error(h)),t.toggle()}).appendTo(n);new o("img").attr({src:d.config.icon??f,alt:`${d.config.name} icon`,height:"40px"}).appendTo(g),new o("div").text(d.config.name).appendTo(g)}).catch(r=>console.error(r))})};await i(),document.addEventListener("fs_update",()=>{i().catch(a=>console.error(a))}),t.element.on("click",a=>{a.target===a.currentTarget&&t.toggle()});const m=await e.loadLibrary("lib/StatusBar");m.element.qs('div[data-toolbar-id="start"]')?.on("click",()=>{t.toggle()}),document.body.style.flexDirection="column-reverse",await m.element.appendTo(document.body),await t.element.appendTo(document.body),await y.windowArea.appendTo(document.body),c.cleanup(),t.element.prepend(new o("div").html(` +import{H as o,d as w}from"./index-55c1b714.js";import{n as f}from"./application-default-icon-a19c8ba0.js";const T={config:{name:"Desktop",type:"process",targetVer:"1.0.0-indev.0"},run:async e=>{const c=(await e.loadLibrary("lib/SplashScreen")).getElement();c.appendTo(document.body);const{fs:s}=e,y=await e.loadLibrary("lib/WindowManager"),t=await e.loadLibrary("lib/Launcher"),{Input:b}=await e.loadLibrary("lib/Components"),p=b.new().attr({type:"text",placeholder:"Search"}).style({width:"100%","border-radius":"10px",padding:"5px","margin-bottom":"10px",position:"sticky",top:"0"}).on("keyup",()=>{n.elm.innerHTML="",i().catch(a=>console.error(a))}).appendTo(t.element),n=new o("div").style({overflow:"scroll",height:"max-content",position:"relative"});new o("div").style({height:"100%",overflow:"scroll","padding-bottom":"30px"}).append(n).appendTo(t.element).class("gradient-blur");const i=async()=>{n.html(""),(await s.readdir("/home/Applications/")).filter(l=>l.endsWith(".app")&&(p.elm!==null?l.toLowerCase().includes(p.elm.value.toLowerCase()):!0)).forEach(l=>{s.readFile(`/home/Applications/${l}`).then(async r=>{const u=w.Buffer.from(r).toString(),d=await e.kernel.getExecutable(u),g=new o("div").style({display:"flex","align-items":"center",padding:"5px",cursor:"pointer",gap:"10px","border-bottom":"1px solid var(--surface-0)"}).on("click",()=>{e.launch(u).catch(h=>console.error(h)),t.toggle()}).appendTo(n);new o("img").attr({src:d.config.icon??f,alt:`${d.config.name} icon`,height:"40px"}).appendTo(g),new o("div").text(d.config.name).appendTo(g)}).catch(r=>console.error(r))})};await i(),document.addEventListener("fs_update",()=>{i().catch(a=>console.error(a))}),t.element.on("click",a=>{a.target===a.currentTarget&&t.toggle()});const m=await e.loadLibrary("lib/StatusBar");m.element.qs('div[data-toolbar-id="start"]')?.on("click",()=>{t.toggle()}),document.body.style.flexDirection="column-reverse",await m.element.appendTo(document.body),await t.element.appendTo(document.body),await y.windowArea.appendTo(document.body),c.cleanup(),t.element.prepend(new o("div").html(` * @author Lea Verou * @namespace * @public - */const Me=(()=>{var e={},r={},s=t=>typeof t=="string"?f.languages[t]:t,o=(t,a=new Map)=>{if(a.has(t))return a.get(t);var i=t,c=u(t);if(c=="Object"){a.set(t,i={});for(var g in t)t.hasOwnProperty(g)&&(i[g]=o(t[g],a))}else if(c=="Array"){a.set(t,i=[]);for(var b=0,l=t.length;bd.call(t).slice(8,-1),f={util:{type:u,clone:o},languages:{plain:e,plaintext:e,text:e,txt:e,extend:(t,a)=>Object.assign(o(f.languages[t]),a),insertBefore(t,a,i,c=f.languages){var g=c[t],b={};for(var l in g)g.hasOwnProperty(l)&&(b[l]=g[l],delete g[l]);for(var l in b)l==a&&Object.assign(g,i),i.hasOwnProperty(l)||(g[l]=b[l]);return g}},plugins:{},tokenize(t,a){var i={},c={prev:i},g={head:i,tail:c,length:0},b=s(a.rest),l=[],D=0;for(i.next=c,b&&(Object.assign(a,b),delete a.rest),$(g,i,t),y(t,g,a,i,0);(i=i.next)!=c;)l[D++]=i.value;return l},hooks:{all:r,add(t,a){(r[t]||(r[t]=[])).push(a)},run(t,a){r[t]?.forEach(i=>i(a))}},Token:w},v=(t,a,i)=>{var c=t.exec(a);if(c&&i&&c[1]){var g=c[1].length;c.index+=g,c[0]=c[0].slice(g)}return c},y=(t,a,i,c,g,b)=>{for(var l in i)if(i.hasOwnProperty(l)&&l!="rest"&&i[l])for(var D=0,S=i[l],q=Array.isArray(S)?S:[S];Dt.length)return;if(!(j instanceof w)){var V=1,P;if(Z){if(B.lastIndex=T,P=v(B,t,I),!P||P.index>=t.length)break;for(var C=P.index,H=C+P[0].length;C>=(T+=_.value.length);)_=_.next;if(T-=_.value.length,_.value instanceof w)continue;for(var O=_,S=T;O!=a.tail&&(Sb.c&&(b.c=x),m&&(L=$(a,L,m),T+=m.length);for(var k=L.next,F=0;F1){var M={a:l,b:D,c:x};y(t,a,i,_.prev,T,M),b&&M.c>b.c&&(b.c=M.c)}}}}},$=(t,a,i)=>{var c=a.next;return t.length++,a.next=c.prev={value:i,prev:a,next:c}};function w(t,a,i,c=""){this.type=t,this.content=a,this.alias=i,this.length=c.length}return f})(),R=Me,h=R.languages,z=h.insertBefore,ze=(e,r,...s)=>{let o,d,u=le(e),f=[],v,y="",$,w=!1,t=!0,a=[],i;const c=We.cloneNode(!0),g=c.firstChild,b=g.firstChild,l=b.firstChild,D=g.children,S={language:"text"},q=new Set(s),A=addEventListener.bind(l),Y="",I={selectionChange:new Set([([n,m,p])=>{const x=D[$=qe(y,0,p=="backward"?n:m)];x!=v&&(v?.classList.remove("active-line"),x.classList.add("active-line"),v=x),b.classList.toggle("pce-no-selection",n==m)}])},Z=n=>{({language:o,value:y=""}=Object.assign(S,{value:y},n));const m=d!=(d=h[o]);if(!d)throw Error(`Language "${o}" has no grammar.`);q.forEach(p=>p.update(C,S)),c.className=`prism-code-editor language-${o}${S.lineNumbers==!1?"":" show-line-numbers"} pce-${S.wordWrap?"":"no"}wrap${S.rtl?" pce-rtl":""}`,c.style.tabSize=S.tabSize||2,(m||y!=l.value)&&(P(),l.value=y,y=l.value,l.selectionEnd=0,B()),b.classList.toggle("pce-readonly",i=!!S.readOnly),l.inputMode=i?"none":"",l.setAttribute("aria-readonly",i)},ne=()=>{let n="",m="",p={language:o,code:y,grammar:d};R.hooks.run("before-tokenize",p),a=p.tokens=R.tokenize(p.code,p.grammar),R.hooks.run("after-tokenize",p),H("tokenize",p);const x=k=>{let F="",G=k.length;for(let M=0;M{if(k instanceof R.Token){let{type:F,alias:G,content:M}=k,Pe=G?" "+(typeof G=="string"?G:G.join(" ")):"",Be=n,Oe=m,ge=``;m+=Y,n+=ge;let Ce=L(M);return n=Be,m=Oe,ge+Ce+Y}return typeof k!="string"?x(k):(k=k.replace(/&/g,"&").replace(/{var e={},r={},s=t=>typeof t=="string"?f.languages[t]:t,o=(t,a=new Map)=>{if(a.has(t))return a.get(t);var i=t,c=u(t);if(c=="Object"){a.set(t,i={});for(var g in t)t.hasOwnProperty(g)&&(i[g]=o(t[g],a))}else if(c=="Array"){a.set(t,i=[]);for(var b=0,l=t.length;bd.call(t).slice(8,-1),f={util:{type:u,clone:o},languages:{plain:e,plaintext:e,text:e,txt:e,extend:(t,a)=>Object.assign(o(f.languages[t]),a),insertBefore(t,a,i,c=f.languages){var g=c[t],b={};for(var l in g)g.hasOwnProperty(l)&&(b[l]=g[l],delete g[l]);for(var l in b)l==a&&Object.assign(g,i),i.hasOwnProperty(l)||(g[l]=b[l]);return g}},plugins:{},tokenize(t,a){var i={},c={prev:i},g={head:i,tail:c,length:0},b=s(a.rest),l=[],D=0;for(i.next=c,b&&(Object.assign(a,b),delete a.rest),$(g,i,t),y(t,g,a,i,0);(i=i.next)!=c;)l[D++]=i.value;return l},hooks:{all:r,add(t,a){(r[t]||(r[t]=[])).push(a)},run(t,a){r[t]?.forEach(i=>i(a))}},Token:w},v=(t,a,i)=>{var c=t.exec(a);if(c&&i&&c[1]){var g=c[1].length;c.index+=g,c[0]=c[0].slice(g)}return c},y=(t,a,i,c,g,b)=>{for(var l in i)if(i.hasOwnProperty(l)&&l!="rest"&&i[l])for(var D=0,S=i[l],q=Array.isArray(S)?S:[S];Dt.length)return;if(!(j instanceof w)){var V=1,O;if(Z){if(P.lastIndex=T,O=v(P,t,I),!O||O.index>=t.length)break;for(var C=O.index,H=C+O[0].length;C>=(T+=_.value.length);)_=_.next;if(T-=_.value.length,_.value instanceof w)continue;for(var B=_,S=T;B!=a.tail&&(Sb.c&&(b.c=x),m&&(L=$(a,L,m),T+=m.length);for(var k=L.next,F=0;F1){var M={a:l,b:D,c:x};y(t,a,i,_.prev,T,M),b&&M.c>b.c&&(b.c=M.c)}}}}},$=(t,a,i)=>{var c=a.next;return t.length++,a.next=c.prev={value:i,prev:a,next:c}};function w(t,a,i,c=""){this.type=t,this.content=a,this.alias=i,this.length=c.length}return f})(),R=Me,h=R.languages,z=h.insertBefore,ze=(e,r,...s)=>{let o,d,u=le(e),f=[],v,y="",$,w=!1,t=!0,a=[],i;const c=We.cloneNode(!0),g=c.firstChild,b=g.firstChild,l=b.firstChild,D=g.children,S={language:"text"},q=new Set(s),A=addEventListener.bind(l),Y="",I={selectionChange:new Set([([n,m,p])=>{const x=D[$=qe(y,0,p=="backward"?n:m)];x!=v&&(v?.classList.remove("active-line"),x.classList.add("active-line"),v=x),b.classList.toggle("pce-no-selection",n==m)}])},Z=n=>{({language:o,value:y=""}=Object.assign(S,{value:y},n));const m=d!=(d=h[o]);if(!d)throw Error(`Language "${o}" has no grammar.`);q.forEach(p=>p.update(C,S)),c.className=`prism-code-editor language-${o}${S.lineNumbers==!1?"":" show-line-numbers"} pce-${S.wordWrap?"":"no"}wrap${S.rtl?" pce-rtl":""}`,c.style.tabSize=S.tabSize||2,(m||y!=l.value)&&(O(),l.value=y,y=l.value,l.selectionEnd=0,P()),b.classList.toggle("pce-readonly",i=!!S.readOnly),l.inputMode=i?"none":"",l.setAttribute("aria-readonly",i)},ne=()=>{let n="",m="",p={language:o,code:y,grammar:d};R.hooks.run("before-tokenize",p),a=p.tokens=R.tokenize(p.code,p.grammar),R.hooks.run("after-tokenize",p),H("tokenize",p);const x=k=>{let F="",G=k.length;for(let M=0;M{if(k instanceof R.Token){let{type:F,alias:G,content:M}=k,Oe=G?" "+(typeof G=="string"?G:G.join(" ")):"",Pe=n,Be=m,ge=``;m+=Y,n+=ge;let Ce=L(M);return n=Pe,m=Be,ge+Ce+Y}return typeof k!="string"?x(k):(k=k.replace(/&/g,"&").replace(/{const n=ne().split(` +`+n):k};return x(a)},P=()=>{const n=ne().split(` `),m=n.length;let p=0,x=n.length,L=f.length,k="";for(;n[p]==f[p]&&p
`;for(let F=xt=!0),f=n,t=!1},_=()=>$e||[l.selectionStart,l.selectionEnd,l.selectionDirection],T=()=>X==O,j={Escape(){l.blur()}},V={},P=()=>Ve&&!T()&&A("focus",n=>n.relatedTarget?n.relatedTarget.focus():l.blur(),{once:!0}),H=(n,...m)=>{for(const p of I[n]||[])p.apply(C,m);S[`on${n[0].toUpperCase()}${n.slice(1)}`]?.apply(C,m)},O=n=>(n||t)&&H("selectionChange",_(),y),C={scrollContainer:c,wrapper:g,overlays:b,textarea:l,get activeLine(){return v},get activeLineNumber(){return $},get value(){return y},options:S,get focused(){return T()},get removed(){return w},get tokens(){return a},inputCommandMap:V,keyCommandMap:j,extensions:{},setOptions:Z,update:B,getSelection:_,setSelection(n,m,p){P(),l.setSelectionRange(n,m??n,p),O(!0)},addExtensions(...n){n.forEach(m=>{q.has(m)||(q.add(m),m.update(C,S))})},addListener(n,m){(I[n]||(I[n]=new Set)).add(m)},removeListener(n,m){I[n]?.delete(m)},remove(){c.remove(),w=!0}};return A("keydown",n=>{j[n.key]?.(n,_(),y)&&ae(n)}),A("beforeinput",n=>{(i||n.inputType=="insertText"&&V[n.data]?.(n,_(),y))&&ae(n)}),A("input",()=>{y!=l.value&&(y=l.value,B())}),A("blur",()=>{X=null}),A("focus",()=>{X=O}),A("selectionchange",n=>{O(),ae(n)}),u?.append(c),r&&Z(r),C},Ge=(e="",r="",s="")=>Object.assign(document.createElement("div"),{innerHTML:e,style:r,className:s}),le=e=>typeof e=="string"?document.querySelector(e):e,Fe=navigator.userAgent,at=/Mac|iPhone|iPod|iPad/i.test(navigator.platform),Ie=/Chrome\//.test(Fe),Ve=!Ie&&/AppleWebKit\//.test(Fe),qe=(e,r=0,s=1/0)=>{let o=1;for(;(r=e.indexOf(` -`,r)+1)&&r<=s;o++);return o},rt={},We=Ge('
'),it=e=>Ne=e,ae=e=>{e.preventDefault(),e.stopImmediatePropagation()},st=e=>$e=e;let Ne,X,$e;document.addEventListener("selectionchange",()=>X?.());const Ye=Object.assign({"./atom-one-dark.css":()=>E(()=>import("./atom-one-dark-9918ae76.js"),[]),"./dracula.css":()=>E(()=>import("./dracula-ebaa821b.js"),[]),"./github-dark-dimmed.css":()=>E(()=>import("./github-dark-dimmed-da2bb027.js"),[]),"./github-dark.css":()=>E(()=>import("./github-dark-a73f7b22.js"),[]),"./github-light.css":()=>E(()=>import("./github-light-3d68a84b.js"),[]),"./night-owl.css":()=>E(()=>import("./night-owl-a2264b9d.js"),[]),"./prism-okaidia.css":()=>E(()=>import("./prism-okaidia-f3cbb707.js"),[]),"./prism-solarized-light.css":()=>E(()=>import("./prism-solarized-light-bcb39fb9.js"),[]),"./prism-twilight.css":()=>E(()=>import("./prism-twilight-09489536.js"),[]),"./prism.css":()=>E(()=>import("./prism-de3d353c.js"),[]),"./vs-code-dark.css":()=>E(()=>import("./vs-code-dark-c9758229.js"),[]),"./vs-code-light.css":()=>E(()=>import("./vs-code-light-dc3ac602.js"),[])}),Ze=async e=>(await Ye[`./${e}.css`]?.())?.default,ie=(e,r,s)=>{const o=document.createElement("style");o.textContent=r,s&&(o.id=s),e.append(o)},He=(e,r,s)=>{const o=le(e),d=o.shadowRoot||o.attachShadow({mode:"open"}),u=ze();return Promise.all([E(()=>import("./styles-GYla42XD-e2e08108.js"),[]),Ze(r.theme)]).then(([f,v])=>{u.removed||(ie(d,f.default),ie(d,v||"","theme"),d.append(u.scrollContainer),u.setOptions(r),s&&s())}),u},Ue=(e,r,s)=>{E(()=>import("./common-4MhT9s4s-38041047.js"),["assets/common-4MhT9s4s-38041047.js","assets/utils-wvIv1qJ9-bc32a4a8.js","assets/index-10f4832e.js"]).then(u=>{u.addExtensions(d)});const o=le(e),d=He(o,r,s);return E(()=>import("./search-AcdErlHO-556a3da7.js"),[]).then(u=>{d.removed||ie(o.shadowRoot,u.default)}),E(()=>import("./index-cf89d695.js"),["assets/index-cf89d695.js","assets/utils-wvIv1qJ9-bc32a4a8.js","assets/index-10f4832e.js"]).then(u=>{d.addExtensions(u.highlightSelectionMatches(),u.searchWidget())}),E(()=>import("./matchTags-e333f580.js"),["assets/matchTags-e333f580.js","assets/utils-wvIv1qJ9-bc32a4a8.js","assets/index-10f4832e.js"]).then(u=>{d.addExtensions(u.matchTags())}),d};var he=[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i],Se=[],me=(e,r)=>({pattern:RegExp(`(<${e}[^>]*>)(?:))*\\]\\]>|(?!)`,"i"),lookbehind:!0,greedy:!0,inside:{"included-cdata":{pattern://i,inside:{cdata:/^$/i,["language-"+r]:{pattern:/[\s\S]+/,inside:r}}},["language-"+r]:{pattern:/[\s\S]+/,inside:r}}}),fe=(e,r)=>({pattern:RegExp(`(^|["'\\s])(?:${e})\\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:"language-"+r,inside:r},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}}),Ke=h.svg=h.mathml=h.html=h.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:"xml"},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=\S))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^:]+:/}},"special-attr":Se,"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)?/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}],entity:he}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s/]+/,inside:{namespace:/^[^:]+:/}}}},entity:he,"markup-bracket":{pattern:/[[\](){}]/,alias:"punctuation"}};h.rss=h.atom=h.ssml=h.xml=R.util.clone(Ke);Se.push(fe("style","css"),fe(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));z("markup","cdata",{style:me("style","css"),script:me("script","javascript")});h.clike={comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,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:/[{}[\];(),.:]/};var Ee=h.js=h.javascript=h.extend("clike",{"class-name":[{pattern:/(\b(?:class|extends|implements|instanceof|interface|new)\s+)(?!\d)(?:(?!\s)[$\w.\\\xA0-\uFFFF])+/,lookbehind:!0,inside:{punctuation:/[.\\]/}},{pattern:/(^|[^$\w\xA0-\uFFFF]|\s)(?![\da-z])(?:(?!\s)[$\w\xA0-\uFFFF])+(?=\.(?:constructor|prototype)\b)/,lookbehind:!0}],keyword:[{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|export|from(?=\s*(?:['"]|$))|import)\b/,lookbehind:!0,alias:"module"},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:await|break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,lookbehind:!0,alias:"control-flow"},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:async(?=\s*(?:[($\w\xA0-\uFFFF]|$))|class|const|debugger|delete|enum|extends|function|(?:get|set)(?=\s*(?:[#[$\w\xA0-\uFFFF]|$))|implements|in|instanceof|interface|let|new|null|of|package|private|protected|public|static|super|this|typeof|undefined|var|void|with)\b/,lookbehind:!0}],function:/#?(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:/(^|[^\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:/--|\+\+|\*\*=?|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\?\?=?|\?\.?|[~:]/});z("js","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}|(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-flags":/\w+$/,"regex-delimiter":/^\/|\/$/,"regex-source":{pattern:/[\s\S]+/,alias:"language-regex",inside:"regex"}}},"function-variable":{pattern:/#?(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+)\s*=>))/,alias:"function"},parameter:[/(function(?:\s+(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,/(^|[^$\w\xA0-\uFFFF]|\s)(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+(?=\s*=>)/,/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/].map(e=>({pattern:e,lookbehind:!0,inside:Ee})),constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});z("js","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})*\}|(?!\$\{)[^\\`])*`/g,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})*\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Ee}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});z("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+(?=\s*:)/m,lookbehind:!0,alias:"property"},spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}});var Ae=R.util.clone(h.js),J=h.jsx=h.extend("xml",Ae),de=J.tag,te=de.inside,Qe=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/)/.source,Xe=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,ee=/(?:\{*\.{3}(?:[^{}]|)*\})/,ce=e=>RegExp(e.source.replace(//g,Qe).replace(//g,Xe).replace(//g,ee.source));ee=ce(ee);de.pattern=ce(/<\/?(?:(?!\d)[^\s>\/=<%]+(?:+(?:[^\s{*<>\/=]+(?:*=\s*(?:(?:"[^"]*"|'[^']*'|[^\s{'"\/>=]+|)|(?=\S)))?|))**\/?)?>/);te.tag.pattern=/^<\/?[^\s>/]*/;te["attr-value"].pattern=/=\s*(?:"[^"]*"|'[^']*'|[^\s\/'">]+)?/;te.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/;te.comment=Ae.comment;delete J["markup-bracket"];z("inside","special-attr",{script:{pattern:ce(/=\s*/),alias:"language-jsx",inside:{"script-punctuation":{pattern:/^=/,alias:"punctuation"},rest:J}},spread:{pattern:ee,inside:J}},de);var ye=e=>e&&(!e.type||e.type=="plain-text"),Le=(e,r,s)=>{for(var o=0,d=[];o{(e.language=="jsx"||e.language=="tsx")&&Le(e.tokens,e.code,0)});var U=h.ts=h.typescript=h.extend("js",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0},builtin:/\b(?:Array|Function|Promise|any|boolean|never|number|string|symbol|unknown)\b/});U.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/);delete U.parameter;delete U["literal-property"];var pe=R.util.clone(U);delete pe["class-name"];U["class-name"].inside=pe;z("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:pe}}}});var Je=R.util.clone(h.ts),ue=h.tsx=h.extend("jsx",Je),se=ue.tag,Re="(?:^|(";delete ue.parameter;delete ue["literal-property"];try{RegExp("(?<=)"),Re+="?<="}catch{se.lookbehind=!0}se.pattern=RegExp(Re+`[^\\w$])|(?=|\+|~|\|\|/,punctuation:/[(),]/};z("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\d)(?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});z("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:we,number:_e,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:we,number:_e});var et=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source,Q=e=>RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:${e.source.replace(//g,et)})`),oe=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,W=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,oe),re=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,N=h.markdown=h.md=h.extend("markup",{});z("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:"language-yaml",inside:"yaml"}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+W+re+"(?:"+W+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+W+re+")(?:"+W+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(oe),inside:N},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+W+")"+re+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+W+"$"),inside:{"table-header":{pattern:RegExp(oe),alias:"important",inside:N},punctuation:/\|/}}}},code:[{pattern:/(^[ \t]*(?:\n|\r\n?))(?: |\t).+(?:(?:\n|\r\n?)(?: |\t).+)*/m,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{punctuation:/^```/m,"code-language":/^.+/,"code-block":{pattern:/^(\n|\r\n?)[\s\S]+(?=(?:\n|\r\n?)$)/,lookbehind:!0}}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:Q(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..)/,lookbehind:!0,inside:{}},punctuation:/../}},italic:{pattern:Q(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(?!^)[\s\S]+(?=.)/,inside:{}},punctuation:/./}},strike:{pattern:Q(/(~~?)(?:(?!~))+\2/),lookbehind:!0,greedy:!0,inside:{punctuation:/^~~?|~~?$/,content:{pattern:/[\s\S]+/,inside:{}}}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:Q(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{"markup-bracket":N["markup-bracket"]}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0},"markup-bracket":N["markup-bracket"]}}});["url","bold","italic","strike"].forEach(e=>{["url","bold","italic","strike","code-snippet"].forEach(r=>{e!=r&&(N[e].inside.content.inside[r]=N[r])})});var De=e=>{if(Array.isArray(e))for(var r=0,s=e.length;r{(e.language=="markdown"||e.language=="md")&&De(e.tokens)});var xe={"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"}};xe.rest=h.py=h.python={comment:{pattern:/#.*/,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:xe},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/};const tt={config:{name:"Editor",type:"process",icon:be,targetVer:"1.0.0-indev.0"},run:async e=>{const r=await e.loadLibrary("lib/MIMETypes");if(Object.keys(e.data).length>0){const s=await e.loadLibrary("lib/WindowManager").then(u=>u.createWindow({title:"Editor",icon:be,width:350,height:500,canResize:!1},e)),o=e.fs,d=e.data;if(s.setTitle(`Editor - ${d.path.split("/").at(-1)}`),s.content.style.display="flex",s.content.style.flexDirection="column",d==null)await e.launch("lib/FileManager"),setTimeout(()=>{s.close()},10);else{const u=async()=>{s.content.innerHTML=` +`;for(let F=xt=!0),f=n,t=!1},_=()=>$e||[l.selectionStart,l.selectionEnd,l.selectionDirection],T=()=>X==B,j={Escape(){l.blur()}},V={},O=()=>Ve&&!T()&&A("focus",n=>n.relatedTarget?n.relatedTarget.focus():l.blur(),{once:!0}),H=(n,...m)=>{for(const p of I[n]||[])p.apply(C,m);S[`on${n[0].toUpperCase()}${n.slice(1)}`]?.apply(C,m)},B=n=>(n||t)&&H("selectionChange",_(),y),C={scrollContainer:c,wrapper:g,overlays:b,textarea:l,get activeLine(){return v},get activeLineNumber(){return $},get value(){return y},options:S,get focused(){return T()},get removed(){return w},get tokens(){return a},inputCommandMap:V,keyCommandMap:j,extensions:{},setOptions:Z,update:P,getSelection:_,setSelection(n,m,p){O(),l.setSelectionRange(n,m??n,p),B(!0)},addExtensions(...n){n.forEach(m=>{q.has(m)||(q.add(m),m.update(C,S))})},addListener(n,m){(I[n]||(I[n]=new Set)).add(m)},removeListener(n,m){I[n]?.delete(m)},remove(){c.remove(),w=!0}};return A("keydown",n=>{j[n.key]?.(n,_(),y)&&ae(n)}),A("beforeinput",n=>{(i||n.inputType=="insertText"&&V[n.data]?.(n,_(),y))&&ae(n)}),A("input",()=>{y!=l.value&&(y=l.value,P())}),A("blur",()=>{X=null}),A("focus",()=>{X=B}),A("selectionchange",n=>{B(),ae(n)}),u?.append(c),r&&Z(r),C},Ge=(e="",r="",s="")=>Object.assign(document.createElement("div"),{innerHTML:e,style:r,className:s}),le=e=>typeof e=="string"?document.querySelector(e):e,Fe=navigator.userAgent,at=/Mac|iPhone|iPod|iPad/i.test(navigator.platform),Ie=/Chrome\//.test(Fe),Ve=!Ie&&/AppleWebKit\//.test(Fe),qe=(e,r=0,s=1/0)=>{let o=1;for(;(r=e.indexOf(` +`,r)+1)&&r<=s;o++);return o},rt={},We=Ge('
'),it=e=>Ne=e,ae=e=>{e.preventDefault(),e.stopImmediatePropagation()},st=e=>$e=e;let Ne,X,$e;document.addEventListener("selectionchange",()=>X?.());const Ye=Object.assign({"./atom-one-dark.css":()=>E(()=>import("./atom-one-dark-9918ae76.js"),[]),"./dracula.css":()=>E(()=>import("./dracula-ebaa821b.js"),[]),"./github-dark-dimmed.css":()=>E(()=>import("./github-dark-dimmed-da2bb027.js"),[]),"./github-dark.css":()=>E(()=>import("./github-dark-a73f7b22.js"),[]),"./github-light.css":()=>E(()=>import("./github-light-3d68a84b.js"),[]),"./night-owl.css":()=>E(()=>import("./night-owl-a2264b9d.js"),[]),"./prism-okaidia.css":()=>E(()=>import("./prism-okaidia-f3cbb707.js"),[]),"./prism-solarized-light.css":()=>E(()=>import("./prism-solarized-light-bcb39fb9.js"),[]),"./prism-twilight.css":()=>E(()=>import("./prism-twilight-09489536.js"),[]),"./prism.css":()=>E(()=>import("./prism-de3d353c.js"),[]),"./vs-code-dark.css":()=>E(()=>import("./vs-code-dark-c9758229.js"),[]),"./vs-code-light.css":()=>E(()=>import("./vs-code-light-dc3ac602.js"),[])}),Ze=async e=>(await Ye[`./${e}.css`]?.())?.default,ie=(e,r,s)=>{const o=document.createElement("style");o.textContent=r,s&&(o.id=s),e.append(o)},He=(e,r,s)=>{const o=le(e),d=o.shadowRoot||o.attachShadow({mode:"open"}),u=ze();return Promise.all([E(()=>import("./styles-GYla42XD-e2e08108.js"),[]),Ze(r.theme)]).then(([f,v])=>{u.removed||(ie(d,f.default),ie(d,v||"","theme"),d.append(u.scrollContainer),u.setOptions(r),s&&s())}),u},Ue=(e,r,s)=>{E(()=>import("./common-4MhT9s4s-85718d0c.js"),["assets/common-4MhT9s4s-85718d0c.js","assets/utils-wvIv1qJ9-974d263a.js","assets/index-55c1b714.js"]).then(u=>{u.addExtensions(d)});const o=le(e),d=He(o,r,s);return E(()=>import("./search-AcdErlHO-556a3da7.js"),[]).then(u=>{d.removed||ie(o.shadowRoot,u.default)}),E(()=>import("./index-28e74fa8.js"),["assets/index-28e74fa8.js","assets/utils-wvIv1qJ9-974d263a.js","assets/index-55c1b714.js"]).then(u=>{d.addExtensions(u.highlightSelectionMatches(),u.searchWidget())}),E(()=>import("./matchTags-fbbd4903.js"),["assets/matchTags-fbbd4903.js","assets/utils-wvIv1qJ9-974d263a.js","assets/index-55c1b714.js"]).then(u=>{d.addExtensions(u.matchTags())}),d};var he=[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i],Se=[],me=(e,r)=>({pattern:RegExp(`(<${e}[^>]*>)(?:))*\\]\\]>|(?!)`,"i"),lookbehind:!0,greedy:!0,inside:{"included-cdata":{pattern://i,inside:{cdata:/^$/i,["language-"+r]:{pattern:/[\s\S]+/,inside:r}}},["language-"+r]:{pattern:/[\s\S]+/,inside:r}}}),fe=(e,r)=>({pattern:RegExp(`(^|["'\\s])(?:${e})\\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:"language-"+r,inside:r},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}}),Ke=h.svg=h.mathml=h.html=h.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:"xml"},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=\S))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^:]+:/}},"special-attr":Se,"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)?/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}],entity:he}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s/]+/,inside:{namespace:/^[^:]+:/}}}},entity:he,"markup-bracket":{pattern:/[[\](){}]/,alias:"punctuation"}};h.rss=h.atom=h.ssml=h.xml=R.util.clone(Ke);Se.push(fe("style","css"),fe(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));z("markup","cdata",{style:me("style","css"),script:me("script","javascript")});h.clike={comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,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:/[{}[\];(),.:]/};var Ee=h.js=h.javascript=h.extend("clike",{"class-name":[{pattern:/(\b(?:class|extends|implements|instanceof|interface|new)\s+)(?!\d)(?:(?!\s)[$\w.\\\xA0-\uFFFF])+/,lookbehind:!0,inside:{punctuation:/[.\\]/}},{pattern:/(^|[^$\w\xA0-\uFFFF]|\s)(?![\da-z])(?:(?!\s)[$\w\xA0-\uFFFF])+(?=\.(?:constructor|prototype)\b)/,lookbehind:!0}],keyword:[{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|export|from(?=\s*(?:['"]|$))|import)\b/,lookbehind:!0,alias:"module"},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:await|break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,lookbehind:!0,alias:"control-flow"},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:async(?=\s*(?:[($\w\xA0-\uFFFF]|$))|class|const|debugger|delete|enum|extends|function|(?:get|set)(?=\s*(?:[#[$\w\xA0-\uFFFF]|$))|implements|in|instanceof|interface|let|new|null|of|package|private|protected|public|static|super|this|typeof|undefined|var|void|with)\b/,lookbehind:!0}],function:/#?(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:/(^|[^\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:/--|\+\+|\*\*=?|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\?\?=?|\?\.?|[~:]/});z("js","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}|(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-flags":/\w+$/,"regex-delimiter":/^\/|\/$/,"regex-source":{pattern:/[\s\S]+/,alias:"language-regex",inside:"regex"}}},"function-variable":{pattern:/#?(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+)\s*=>))/,alias:"function"},parameter:[/(function(?:\s+(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,/(^|[^$\w\xA0-\uFFFF]|\s)(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+(?=\s*=>)/,/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/].map(e=>({pattern:e,lookbehind:!0,inside:Ee})),constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});z("js","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})*\}|(?!\$\{)[^\\`])*`/g,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})*\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Ee}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});z("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+(?=\s*:)/m,lookbehind:!0,alias:"property"},spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}});var Ae=R.util.clone(h.js),J=h.jsx=h.extend("xml",Ae),de=J.tag,te=de.inside,Qe=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))*\*\/)/.source,Xe=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,ee=/(?:\{*\.{3}(?:[^{}]|)*\})/,ce=e=>RegExp(e.source.replace(//g,Qe).replace(//g,Xe).replace(//g,ee.source));ee=ce(ee);de.pattern=ce(/<\/?(?:(?!\d)[^\s>\/=<%]+(?:+(?:[^\s{*<>\/=]+(?:*=\s*(?:(?:"[^"]*"|'[^']*'|[^\s{'"\/>=]+|)|(?=\S)))?|))**\/?)?>/);te.tag.pattern=/^<\/?[^\s>/]*/;te["attr-value"].pattern=/=\s*(?:"[^"]*"|'[^']*'|[^\s\/'">]+)?/;te.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/;te.comment=Ae.comment;delete J["markup-bracket"];z("inside","special-attr",{script:{pattern:ce(/=\s*/),alias:"language-jsx",inside:{"script-punctuation":{pattern:/^=/,alias:"punctuation"},rest:J}},spread:{pattern:ee,inside:J}},de);var ye=e=>e&&(!e.type||e.type=="plain-text"),Le=(e,r,s)=>{for(var o=0,d=[];o{(e.language=="jsx"||e.language=="tsx")&&Le(e.tokens,e.code,0)});var U=h.ts=h.typescript=h.extend("js",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0},builtin:/\b(?:Array|Function|Promise|any|boolean|never|number|string|symbol|unknown)\b/});U.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/);delete U.parameter;delete U["literal-property"];var pe=R.util.clone(U);delete pe["class-name"];U["class-name"].inside=pe;z("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\d)(?:(?!\s)[$\w\xA0-\uFFFF])+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:pe}}}});var Je=R.util.clone(h.ts),ue=h.tsx=h.extend("jsx",Je),se=ue.tag,Re="(?:^|(";delete ue.parameter;delete ue["literal-property"];try{RegExp("(?<=)"),Re+="?<="}catch{se.lookbehind=!0}se.pattern=RegExp(Re+`[^\\w$])|(?=|\+|~|\|\|/,punctuation:/[(),]/};z("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\d)(?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});z("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:we,number:_e,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:we,number:_e});var et=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source,Q=e=>RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:${e.source.replace(//g,et)})`),oe=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,W=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,oe),re=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,N=h.markdown=h.md=h.extend("markup",{});z("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:"language-yaml",inside:"yaml"}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+W+re+"(?:"+W+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+W+re+")(?:"+W+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(oe),inside:N},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+W+")"+re+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+W+"$"),inside:{"table-header":{pattern:RegExp(oe),alias:"important",inside:N},punctuation:/\|/}}}},code:[{pattern:/(^[ \t]*(?:\n|\r\n?))(?: |\t).+(?:(?:\n|\r\n?)(?: |\t).+)*/m,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{punctuation:/^```/m,"code-language":/^.+/,"code-block":{pattern:/^(\n|\r\n?)[\s\S]+(?=(?:\n|\r\n?)$)/,lookbehind:!0}}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:Q(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..)/,lookbehind:!0,inside:{}},punctuation:/../}},italic:{pattern:Q(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(?!^)[\s\S]+(?=.)/,inside:{}},punctuation:/./}},strike:{pattern:Q(/(~~?)(?:(?!~))+\2/),lookbehind:!0,greedy:!0,inside:{punctuation:/^~~?|~~?$/,content:{pattern:/[\s\S]+/,inside:{}}}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:Q(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{"markup-bracket":N["markup-bracket"]}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0},"markup-bracket":N["markup-bracket"]}}});["url","bold","italic","strike"].forEach(e=>{["url","bold","italic","strike","code-snippet"].forEach(r=>{e!=r&&(N[e].inside.content.inside[r]=N[r])})});var De=e=>{if(Array.isArray(e))for(var r=0,s=e.length;r{(e.language=="markdown"||e.language=="md")&&De(e.tokens)});var xe={"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"}};xe.rest=h.py=h.python={comment:{pattern:/#.*/,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:xe},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/};const tt={config:{name:"Editor",type:"process",icon:be,targetVer:"1.0.0-indev.0"},run:async e=>{const r=await e.loadLibrary("lib/MIMETypes");if(Object.keys(e.data).length>0){const s=await e.loadLibrary("lib/WindowManager").then(u=>u.createWindow({title:"Editor",icon:be,width:350,height:500,canResize:!1},e)),o=e.fs,d=e.data;if(s.setTitle(`Editor - ${d.path.split("/").at(-1)}`),s.content.style.display="flex",s.content.style.flexDirection="column",d==null)await e.launch("lib/FileManager"),setTimeout(()=>{s.close()},10);else{const u=async()=>{s.content.innerHTML=`
File
Edit
diff --git a/assets/Editor-079b8504.js.gz b/assets/Editor-079b8504.js.gz new file mode 100644 index 0000000..e82dd8d Binary files /dev/null and b/assets/Editor-079b8504.js.gz differ diff --git a/assets/Editor-21b47d03.js.gz b/assets/Editor-21b47d03.js.gz deleted file mode 100644 index c5898c1..0000000 Binary files a/assets/Editor-21b47d03.js.gz and /dev/null differ diff --git a/assets/Files-9e45a1b0.js b/assets/Files-d7d9e642.js similarity index 78% rename from assets/Files-9e45a1b0.js rename to assets/Files-d7d9e642.js index b5313ae..3daa378 100644 --- a/assets/Files-9e45a1b0.js +++ b/assets/Files-d7d9e642.js @@ -1,4 +1,4 @@ -import{d as u}from"./index-10f4832e.js";const w="/assets/file-manager-0e3c2c9d.svg",h={config:{name:"Files",type:"process",icon:w,targetVer:"1.0.0-indev.0"},run:async i=>{const s=await i.loadLibrary("lib/WindowManager").then(e=>e.createWindow({title:"Files",icon:w,width:500,height:400},i)),n=i.fs,r=await i.loadLibrary("lib/MIMETypes");s.content.style.display="flex",s.content.style.flexDirection="column";let d="/home";async function c(e){d=e;const b=await n.readdir(e),y=e==="/"?'first_page':'chevron_left';s.content.innerHTML=` +import{d as u}from"./index-55c1b714.js";const w="/FlowOS/assets/file-manager-0e3c2c9d.svg",h={config:{name:"Files",type:"process",icon:w,targetVer:"1.0.0-indev.0"},run:async i=>{const s=await i.loadLibrary("lib/WindowManager").then(e=>e.createWindow({title:"Files",icon:w,width:500,height:400},i)),n=i.fs,r=await i.loadLibrary("lib/MIMETypes");s.content.style.display="flex",s.content.style.flexDirection="column";let d="/home";async function c(e){d=e;const b=await n.readdir(e),y=e==="/"?'first_page':'chevron_left';s.content.innerHTML=`
${y}${e}
diff --git a/assets/HTML-7606a1bb.js b/assets/HTML-66f1d40b.js similarity index 59% rename from assets/HTML-7606a1bb.js rename to assets/HTML-66f1d40b.js index 232ee2f..f22fa81 100644 --- a/assets/HTML-7606a1bb.js +++ b/assets/HTML-66f1d40b.js @@ -1 +1 @@ -import{H as t}from"./index-10f4832e.js";const n={config:{name:"HTML",type:"library",targetVer:"1.0.0-indev.0"},init:(a,e,r)=>{},data:t};export{n as default}; +import{H as t}from"./index-55c1b714.js";const n={config:{name:"HTML",type:"library",targetVer:"1.0.0-indev.0"},init:(a,e,r)=>{},data:t};export{n as default}; diff --git a/assets/ImageViewer-890e28cb.js b/assets/ImageViewer-890e28cb.js deleted file mode 100644 index 873cdba..0000000 --- a/assets/ImageViewer-890e28cb.js +++ /dev/null @@ -1 +0,0 @@ -import{d as l}from"./index-10f4832e.js";const i="/assets/org.gnome.Loupe-1c680d25.svg",g={config:{name:"Image Viewer",type:"process",icon:i,targetVer:"1.0.0-indev.0"},run:async t=>{if(Object.keys(t.data).length>0){const e=await t.loadLibrary("lib/WindowManager").then(a=>a.createWindow({title:"Image Viewer",icon:i,width:500,height:500},t)),o=t.fs,r=await t.loadLibrary("lib/MIMETypes"),d=await t.loadLibrary("lib/HTML"),n=async()=>{e.content.innerHTML="";const a=await o.readFile(t.data.path),c=`data:${r[t.data.path.split(".").at(-1)].type};base64,${encodeURIComponent(l.Buffer.from(a).toString("base64"))}`;new d("div").style({width:"100%",height:"100%",background:`url(${c})`,"background-size":"contain","background-position":"center","background-repeat":"no-repeat","aspect-ratio":"1 / 1"}).appendTo(e.content)};await n(),document.addEventListener("fs_update",()=>{n().catch(a=>console.error(a))});return}await t.kill(),await t.launch("apps/Files")}};export{g as default}; diff --git a/assets/ImageViewer-d031471c.js b/assets/ImageViewer-d031471c.js new file mode 100644 index 0000000..d288629 --- /dev/null +++ b/assets/ImageViewer-d031471c.js @@ -0,0 +1 @@ +import{d as l}from"./index-55c1b714.js";const i="/FlowOS/assets/org.gnome.Loupe-1c680d25.svg",g={config:{name:"Image Viewer",type:"process",icon:i,targetVer:"1.0.0-indev.0"},run:async t=>{if(Object.keys(t.data).length>0){const e=await t.loadLibrary("lib/WindowManager").then(a=>a.createWindow({title:"Image Viewer",icon:i,width:500,height:500},t)),o=t.fs,r=await t.loadLibrary("lib/MIMETypes"),d=await t.loadLibrary("lib/HTML"),n=async()=>{e.content.innerHTML="";const a=await o.readFile(t.data.path),c=`data:${r[t.data.path.split(".").at(-1)].type};base64,${encodeURIComponent(l.Buffer.from(a).toString("base64"))}`;new d("div").style({width:"100%",height:"100%",background:`url(${c})`,"background-size":"contain","background-position":"center","background-repeat":"no-repeat","aspect-ratio":"1 / 1"}).appendTo(e.content)};await n(),document.addEventListener("fs_update",()=>{n().catch(a=>console.error(a))});return}await t.kill(),await t.launch("apps/Files")}};export{g as default}; diff --git a/assets/Info-0f878648.js b/assets/Info-0f878648.js new file mode 100644 index 0000000..1592384 --- /dev/null +++ b/assets/Info-0f878648.js @@ -0,0 +1 @@ +import{H as t}from"./index-55c1b714.js";const s="/FlowOS/assets/userinfo-2a654358.svg",o="/FlowOS/assets/badge-629f981b.png",r={config:{name:"Info",type:"process",icon:s,targetVer:"1.0.0-indev.0"},run:async n=>{const e=await n.loadLibrary("lib/WindowManager").then(a=>a.createWindow({title:"Info",icon:s,width:300,height:400,canResize:!1},n));e.content.style.padding="10px",e.content.style.textAlign="center",e.content.style.display="flex",e.content.style.flexDirection="column",e.content.style.justifyContent="center",e.content.style.alignItems="center",e.content.style.background="var(--base)",new t("div").appendTo(e.content).appendMany(new t("h1").style({margin:"0"}).text("FlowOS").append(new t("sup").text(`${n.sysInfo.codename}`).style({"font-size":"0.5em"})),new t("p").style({margin:"0"}).text(`v${String(n.sysInfo.version)}`),new t("br"),new t("a").attr({href:"https://discord.gg/nj93ywpyRy"}).append(new t("img").attr({src:o,height:"50"})),new t("br"),new t("a").text("Discord").attr({href:"https://discord.gg/86F8dK9vfn",class:"discord"}),new t("span").text(" - "),new t("a").text("Github").attr({href:"https://github.com/Flow-Works/FlowOS",class:"github"}))}};export{r as default}; diff --git a/assets/Info-93029680.js b/assets/Info-93029680.js deleted file mode 100644 index 392b783..0000000 --- a/assets/Info-93029680.js +++ /dev/null @@ -1 +0,0 @@ -import{H as t}from"./index-10f4832e.js";const s="/assets/userinfo-2a654358.svg",o="/assets/badge-629f981b.png",r={config:{name:"Info",type:"process",icon:s,targetVer:"1.0.0-indev.0"},run:async n=>{const e=await n.loadLibrary("lib/WindowManager").then(a=>a.createWindow({title:"Info",icon:s,width:300,height:400,canResize:!1},n));e.content.style.padding="10px",e.content.style.textAlign="center",e.content.style.display="flex",e.content.style.flexDirection="column",e.content.style.justifyContent="center",e.content.style.alignItems="center",e.content.style.background="var(--base)",new t("div").appendTo(e.content).appendMany(new t("h1").style({margin:"0"}).text("FlowOS").append(new t("sup").text(`${n.sysInfo.codename}`).style({"font-size":"0.5em"})),new t("p").style({margin:"0"}).text(`v${String(n.sysInfo.version)}`),new t("br"),new t("a").attr({href:"https://discord.gg/nj93ywpyRy"}).append(new t("img").attr({src:o,height:"50"})),new t("br"),new t("a").text("Discord").attr({href:"https://discord.gg/86F8dK9vfn",class:"discord"}),new t("span").text(" - "),new t("a").text("Github").attr({href:"https://github.com/Flow-Works/FlowOS",class:"github"}))}};export{r as default}; diff --git a/assets/Manager-432f3ded.js b/assets/Manager-432f3ded.js new file mode 100644 index 0000000..0111010 --- /dev/null +++ b/assets/Manager-432f3ded.js @@ -0,0 +1 @@ +const c="/FlowOS/assets/software-properties-abb09ac9.svg",l="/FlowOS/assets/application-executable-b031e44a.svg",r="/FlowOS/assets/icon-library-63ab8699.svg",s={config:{name:"Manager",type:"process",icon:c,targetVer:"1.0.0-indev.0"},run:async e=>{const a=await e.loadLibrary("lib/WindowManager").then(n=>n.createWindow({title:"Manager",icon:c,width:350,height:500,canResize:!1},e)),t=await e.loadLibrary("lib/HTML");a.content.style.display="flex",a.content.style.flexDirection="column",a.content.style.gap="10px",a.content.style.padding="10px",a.content.style.background="var(--base)";for(const n in e.kernel.packageList){const i=new t("div").style({display:"flex",gap:"10px",padding:"10px",background:"var(--surface-0)",borderRadius:"10px"}).appendTo(a.content);new t("img").attr({src:e.kernel.packageList[n].executable.config.icon??(e.kernel.packageList[n].executable.config.type==="library"?r:l),style:"border-radius: 40%;aspect-ratio: 1 / 1;height: 50px;"}).appendTo(i);const o=new t("div").appendTo(i);new t("h3").style({margin:"0"}).text(e.kernel.packageList[n].executable.config.name).appendTo(o),new t("code").text(e.kernel.packageList[n].executable.config.type).appendTo(o)}}};export{s as default}; diff --git a/assets/Manager-9613cbb8.js b/assets/Manager-9613cbb8.js deleted file mode 100644 index e6c82b3..0000000 --- a/assets/Manager-9613cbb8.js +++ /dev/null @@ -1 +0,0 @@ -const o="/assets/software-properties-abb09ac9.svg",r="/assets/application-executable-b031e44a.svg",l="/assets/icon-library-63ab8699.svg",s={config:{name:"Manager",type:"process",icon:o,targetVer:"1.0.0-indev.0"},run:async e=>{const a=await e.loadLibrary("lib/WindowManager").then(n=>n.createWindow({title:"Manager",icon:o,width:350,height:500,canResize:!1},e)),t=await e.loadLibrary("lib/HTML");a.content.style.display="flex",a.content.style.flexDirection="column",a.content.style.gap="10px",a.content.style.padding="10px",a.content.style.background="var(--base)";for(const n in e.kernel.packageList){const i=new t("div").style({display:"flex",gap:"10px",padding:"10px",background:"var(--surface-0)",borderRadius:"10px"}).appendTo(a.content);new t("img").attr({src:e.kernel.packageList[n].executable.config.icon??(e.kernel.packageList[n].executable.config.type==="library"?l:r),style:"border-radius: 40%;aspect-ratio: 1 / 1;height: 50px;"}).appendTo(i);const c=new t("div").appendTo(i);new t("h3").style({margin:"0"}).text(e.kernel.packageList[n].executable.config.name).appendTo(c),new t("code").text(e.kernel.packageList[n].executable.config.type).appendTo(c)}}};export{s as default}; diff --git a/assets/Settings-0c80f750.js b/assets/Settings-0c80f750.js deleted file mode 100644 index a8f615d..0000000 --- a/assets/Settings-0c80f750.js +++ /dev/null @@ -1 +0,0 @@ -import{d as m,l as u}from"./index-10f4832e.js";const d="/assets/preferences-system-c8f3e310.svg",f={config:{name:"Settings",type:"process",icon:d,targetVer:"2.0.0"},run:async a=>{const l=await a.loadLibrary("lib/WindowManager").then(t=>t.createWindow({title:"Settings",icon:d,width:500,height:500},a)),{fs:o}=a,r=await a.loadLibrary("lib/HTML"),{Input:w,Button:p,Dropdown:s}=await a.loadLibrary("lib/Components"),c=async t=>{l.content.innerHTML="";for(const e in t){let n=w.new();if(e==="THEME_PRIMARY"){const{extras:i}=JSON.parse(m.Buffer.from(await o.readFile(`/etc/themes/${t.THEME}.theme`)).toString());n=s.new(Object.keys(i))}else e==="THEME"&&(n=s.new((await o.readdir("/etc/themes")).map(i=>i.replace(".theme",""))));e==="THEME_PRIMARY"||e==="THEME"?n.elm.value=t[e]:n.attr({value:t[e]}),console.log(n.getValue()),new r("div").appendMany(new r("label").style({"text-transform":"capitalize"}).text(`${e.toLowerCase().replaceAll("_"," ")}:`),new r("br"),new r("div").style({display:"flex",gap:"5px"}).appendMany(n,p.new().text("Save").on("click",()=>{t[e]=n.getValue(),o.writeFile("/etc/flow",u.stringify(t)).then(()=>{document.dispatchEvent(new CustomEvent("config_update",{detail:{config:t}})),(e==="THEME"||e==="THEME_PRIMARY")&&document.dispatchEvent(new CustomEvent("theme_update",{}))}).catch(i=>console.error(i))}))).appendTo(l.content)}};await c(a.kernel.config),document.addEventListener("config_update",t=>{c(t.detail.config).catch(e=>console.error(e))})}};export{f as default}; diff --git a/assets/Settings-8eaed610.js b/assets/Settings-8eaed610.js new file mode 100644 index 0000000..ebe7230 --- /dev/null +++ b/assets/Settings-8eaed610.js @@ -0,0 +1 @@ +import{d as m,l as u}from"./index-55c1b714.js";const d="/FlowOS/assets/preferences-system-c8f3e310.svg",f={config:{name:"Settings",type:"process",icon:d,targetVer:"2.0.0"},run:async a=>{const l=await a.loadLibrary("lib/WindowManager").then(t=>t.createWindow({title:"Settings",icon:d,width:500,height:500},a)),{fs:r}=a,o=await a.loadLibrary("lib/HTML"),{Input:w,Button:p,Dropdown:s}=await a.loadLibrary("lib/Components"),c=async t=>{l.content.innerHTML="";for(const e in t){let n=w.new();if(e==="THEME_PRIMARY"){const{extras:i}=JSON.parse(m.Buffer.from(await r.readFile(`/etc/themes/${t.THEME}.theme`)).toString());n=s.new(Object.keys(i))}else e==="THEME"&&(n=s.new((await r.readdir("/etc/themes")).map(i=>i.replace(".theme",""))));e==="THEME_PRIMARY"||e==="THEME"?n.elm.value=t[e]:n.attr({value:t[e]}),console.log(n.getValue()),new o("div").appendMany(new o("label").style({"text-transform":"capitalize"}).text(`${e.toLowerCase().replaceAll("_"," ")}:`),new o("br"),new o("div").style({display:"flex",gap:"5px"}).appendMany(n,p.new().text("Save").on("click",()=>{t[e]=n.getValue(),r.writeFile("/etc/flow",u.stringify(t)).then(()=>{document.dispatchEvent(new CustomEvent("config_update",{detail:{config:t}})),(e==="THEME"||e==="THEME_PRIMARY")&&document.dispatchEvent(new CustomEvent("theme_update",{}))}).catch(i=>console.error(i))}))).appendTo(l.content)}};await c(a.kernel.config),document.addEventListener("config_update",t=>{c(t.detail.config).catch(e=>console.error(e))})}};export{f as default}; diff --git a/assets/SplashScreen-acd3dc9d.js b/assets/SplashScreen-40f4538a.js similarity index 90% rename from assets/SplashScreen-acd3dc9d.js rename to assets/SplashScreen-40f4538a.js index 0e0511a..40d9fd5 100644 --- a/assets/SplashScreen-acd3dc9d.js +++ b/assets/SplashScreen-40f4538a.js @@ -1 +1 @@ -import{F as a}from"./index-10f4832e.js";let i,o;const r={config:{name:"SplashScreen",type:"library",targetVer:"1.0.0-indev.0"},init:(e,t,n)=>{i=e,o=t},data:{getElement:()=>{const{HTML:e}=i,t=new e("div").style({position:"absolute",top:"0",left:"0",width:"100vw",height:"100vh",display:"flex","flex-direction":"column","align-items":"center","justify-content":"center","z-index":"1000000"});new e("img").attr({src:a,width:128}).appendTo(t);const n=new e("h1").style({margin:"0"}).text("FlowOS").appendTo(t);return new e("sup").style({"font-size":"0.5em"}).text(o.codename).appendTo(n),new e("p").style({margin:"0"}).text("loading...").appendTo(t),t}}};export{r as default}; +import{F as a}from"./index-55c1b714.js";let i,o;const r={config:{name:"SplashScreen",type:"library",targetVer:"1.0.0-indev.0"},init:(e,t,n)=>{i=e,o=t},data:{getElement:()=>{const{HTML:e}=i,t=new e("div").style({position:"absolute",top:"0",left:"0",width:"100vw",height:"100vh",display:"flex","flex-direction":"column","align-items":"center","justify-content":"center","z-index":"1000000"});new e("img").attr({src:a,width:128}).appendTo(t);const n=new e("h1").style({margin:"0"}).text("FlowOS").appendTo(t);return new e("sup").style({"font-size":"0.5em"}).text(o.codename).appendTo(n),new e("p").style({margin:"0"}).text("loading...").appendTo(t),t}}};export{r as default}; diff --git a/assets/StatusBar-d6c6637a.js b/assets/StatusBar-78090290.js similarity index 97% rename from assets/StatusBar-d6c6637a.js rename to assets/StatusBar-78090290.js index 5801eff..7fd544f 100644 --- a/assets/StatusBar-d6c6637a.js +++ b/assets/StatusBar-78090290.js @@ -1,4 +1,4 @@ -import{n as d}from"./application-default-icon-38d880e7.js";import{g as o}from"./utils-2c87b698.js";const t={config:{name:"StatusBar",type:"library",targetVer:"1.0.0-indev.0"},init:(e,a,n)=>{if(t.data.element=new e.HTML("toolbar"),t.data.element.html(` +import{n as d}from"./application-default-icon-a19c8ba0.js";import{g as o}from"./utils-2c87b698.js";const t={config:{name:"StatusBar",type:"library",targetVer:"1.0.0-indev.0"},init:(e,a,n)=>{if(t.data.element=new e.HTML("toolbar"),t.data.element.html(`
space_dashboard
diff --git a/assets/Store-2a453bcf.js b/assets/Store-2a453bcf.js new file mode 100644 index 0000000..a7bd362 --- /dev/null +++ b/assets/Store-2a453bcf.js @@ -0,0 +1 @@ +import{d as $}from"./index-55c1b714.js";import{n as k}from"./application-default-icon-a19c8ba0.js";const v="/FlowOS/assets/softwarecenter-ac603202.svg",j={config:{name:"Store",type:"process",icon:v,targetVer:"1.0.0-indev.0"},run:async o=>{const u=await o.loadLibrary("lib/WindowManager").then(e=>e.createWindow({title:"Store",icon:v,width:500,height:700},o)),{fs:c}=o,n=await o.loadLibrary("lib/HTML"),{Button:g,Icon:s}=await o.loadLibrary("lib/Components");fetch(`${o.kernel.config.SERVER}/apps/list/`).then(async e=>await e.json()).then(E).catch(e=>console.error(e));async function m(){const a=await(await fetch(`${o.kernel.config.SERVER}/apps/list/`)).json(),y=new n(u.content).qs("div");a.forEach(async(r,x)=>{const p=y?.qsa("div")?.[x];p?.html(""),fetch(`${o.kernel.config.SERVER}/cors/?url=${r}`).then(async t=>await t.json()).then(t=>{t.apps.forEach(i=>{c.exists(`/home/Applications/${i.url.split("/").at(-1)?.replace(".js",".app")}`).then(d=>{const l=g.new().style({display:"flex",gap:"5px","align-items":"center"}).text("Uninstall").prepend(s.new("delete")).on("click",()=>f(i.url));d?fetch(`${o.kernel.config.SERVER}/cors?url=${i.url}`).then(async h=>await h.text()).then(async h=>{$.Buffer.from(await c.readFile(`/opt/apps/${i.url.split("/").at(-1)}`)).toString()!==h&&l.text("Update").prepend(s.new("update")).on("click",()=>w(i.url))}).catch(h=>console.error(h)):l.text("Install").prepend(s.new("download")).on("click",()=>w(i.url)),new n("div").style({display:"flex","flex-direction":"row",gap:"10px",padding:"10px",background:"var(--base)","border-radius":"10px"}).appendMany(new n("img").attr({src:i.icon??k}).style({"aspect-ratio":"1 / 1",width:"60px",height:"60px"}),new n("div").appendMany(new n("h3").style({margin:"0"}).text(i.name),l)).appendTo(p)}).catch(d=>console.error(d))})}).catch(t=>console.error(t))})}function E(e){u.content.innerHTML="";const a=new n("div").appendTo(u.content);e.forEach(y=>{fetch(`${o.kernel.config.SERVER}/cors/?url=${y}`).then(async r=>await r.json()).then(r=>{const x=s.new("arrow_drop_up");new n("h2").text(r.name).style({margin:"0",padding:"10px",display:"flex",gap:"5px","align-items":"center"}).prepend(x).appendTo(a).on("click",()=>{p.style({height:p.elm.style.height==="0px"?"max-content":"0"}),x.text(`arrow_drop_${p.elm.style.height==="0px"?"up":"down"}`)});const p=new n("div").appendTo(a).style({height:"0",display:"flex","flex-direction":"column",gap:"10px",overflow:"hidden",padding:"0 10px"});r.apps.forEach(t=>{c.exists(`/home/Applications/${t.url.split("/").at(-1)?.replace(".js",".app")}`).then(i=>{const d=g.new().style({display:"flex",gap:"5px","align-items":"center"}).text("Uninstall").prepend(s.new("delete")).on("click",()=>f(t.url));i?fetch(`${o.kernel.config.SERVER}/cors?url=${t.url}`).then(async l=>await l.text()).then(async l=>{$.Buffer.from(await c.readFile(`/opt/apps/${t.url.split("/").at(-1)}`)).toString()!==l&&d.text("Update").prepend(s.new("update")).un("click",()=>f(t.url)).on("click",()=>w(t.url))}).catch(l=>console.error(l)):d.text("Install").prepend(s.new("download")).un("click",()=>f(t.url)).on("click",()=>w(t.url)),new n("div").style({display:"flex","flex-direction":"row",gap:"10px",padding:"10px",background:"var(--base)","border-radius":"10px"}).appendMany(new n("img").attr({src:t.icon??k}).style({"aspect-ratio":"1 / 1",width:"60px",height:"60px"}),new n("div").appendMany(new n("h3").style({margin:"0"}).text(t.name),d)).appendTo(p)}).catch(i=>console.error(i))})}).catch(r=>console.error(r))})}function w(e){fetch(e).then(async a=>await a.text()).then(async a=>{await c.writeFile(`/home/Applications/${e.split("/").at(-1)?.replace(".js",".app")}`,`apps/${e.split("/").at(-1)?.split(".")[0]}`),await c.writeFile(`/opt/apps/${e.split("/").at(-1)}`,a),await m()}).catch(a=>console.error(a))}function f(e){c.unlink(`/home/Applications/${e.split("/").at(-1)?.replace(".js",".app")}`).then(async()=>{await c.unlink(`/opt/apps/${e.split("/").at(-1)}`),await m()}).catch(a=>console.error(a))}}};export{j as default}; diff --git a/assets/Store-f86c6053.js b/assets/Store-f86c6053.js deleted file mode 100644 index ad926cf..0000000 --- a/assets/Store-f86c6053.js +++ /dev/null @@ -1 +0,0 @@ -import{d as $}from"./index-10f4832e.js";import{n as k}from"./application-default-icon-38d880e7.js";const v="/assets/softwarecenter-ac603202.svg",j={config:{name:"Store",type:"process",icon:v,targetVer:"1.0.0-indev.0"},run:async o=>{const u=await o.loadLibrary("lib/WindowManager").then(e=>e.createWindow({title:"Store",icon:v,width:500,height:700},o)),{fs:c}=o,n=await o.loadLibrary("lib/HTML"),{Button:g,Icon:s}=await o.loadLibrary("lib/Components");fetch(`${o.kernel.config.SERVER}/apps/list/`).then(async e=>await e.json()).then(E).catch(e=>console.error(e));async function m(){const a=await(await fetch(`${o.kernel.config.SERVER}/apps/list/`)).json(),y=new n(u.content).qs("div");a.forEach(async(r,x)=>{const p=y?.qsa("div")?.[x];p?.html(""),fetch(`${o.kernel.config.SERVER}/cors/?url=${r}`).then(async t=>await t.json()).then(t=>{t.apps.forEach(i=>{c.exists(`/home/Applications/${i.url.split("/").at(-1)?.replace(".js",".app")}`).then(d=>{const l=g.new().style({display:"flex",gap:"5px","align-items":"center"}).text("Uninstall").prepend(s.new("delete")).on("click",()=>f(i.url));d?fetch(`${o.kernel.config.SERVER}/cors?url=${i.url}`).then(async h=>await h.text()).then(async h=>{$.Buffer.from(await c.readFile(`/opt/apps/${i.url.split("/").at(-1)}`)).toString()!==h&&l.text("Update").prepend(s.new("update")).on("click",()=>w(i.url))}).catch(h=>console.error(h)):l.text("Install").prepend(s.new("download")).on("click",()=>w(i.url)),new n("div").style({display:"flex","flex-direction":"row",gap:"10px",padding:"10px",background:"var(--base)","border-radius":"10px"}).appendMany(new n("img").attr({src:i.icon??k}).style({"aspect-ratio":"1 / 1",width:"60px",height:"60px"}),new n("div").appendMany(new n("h3").style({margin:"0"}).text(i.name),l)).appendTo(p)}).catch(d=>console.error(d))})}).catch(t=>console.error(t))})}function E(e){u.content.innerHTML="";const a=new n("div").appendTo(u.content);e.forEach(y=>{fetch(`${o.kernel.config.SERVER}/cors/?url=${y}`).then(async r=>await r.json()).then(r=>{const x=s.new("arrow_drop_up");new n("h2").text(r.name).style({margin:"0",padding:"10px",display:"flex",gap:"5px","align-items":"center"}).prepend(x).appendTo(a).on("click",()=>{p.style({height:p.elm.style.height==="0px"?"max-content":"0"}),x.text(`arrow_drop_${p.elm.style.height==="0px"?"up":"down"}`)});const p=new n("div").appendTo(a).style({height:"0",display:"flex","flex-direction":"column",gap:"10px",overflow:"hidden",padding:"0 10px"});r.apps.forEach(t=>{c.exists(`/home/Applications/${t.url.split("/").at(-1)?.replace(".js",".app")}`).then(i=>{const d=g.new().style({display:"flex",gap:"5px","align-items":"center"}).text("Uninstall").prepend(s.new("delete")).on("click",()=>f(t.url));i?fetch(`${o.kernel.config.SERVER}/cors?url=${t.url}`).then(async l=>await l.text()).then(async l=>{$.Buffer.from(await c.readFile(`/opt/apps/${t.url.split("/").at(-1)}`)).toString()!==l&&d.text("Update").prepend(s.new("update")).un("click",()=>f(t.url)).on("click",()=>w(t.url))}).catch(l=>console.error(l)):d.text("Install").prepend(s.new("download")).un("click",()=>f(t.url)).on("click",()=>w(t.url)),new n("div").style({display:"flex","flex-direction":"row",gap:"10px",padding:"10px",background:"var(--base)","border-radius":"10px"}).appendMany(new n("img").attr({src:t.icon??k}).style({"aspect-ratio":"1 / 1",width:"60px",height:"60px"}),new n("div").appendMany(new n("h3").style({margin:"0"}).text(t.name),d)).appendTo(p)}).catch(i=>console.error(i))})}).catch(r=>console.error(r))})}function w(e){fetch(e).then(async a=>await a.text()).then(async a=>{await c.writeFile(`/home/Applications/${e.split("/").at(-1)?.replace(".js",".app")}`,`apps/${e.split("/").at(-1)?.split(".")[0]}`),await c.writeFile(`/opt/apps/${e.split("/").at(-1)}`,a),await m()}).catch(a=>console.error(a))}function f(e){c.unlink(`/home/Applications/${e.split("/").at(-1)?.replace(".js",".app")}`).then(async()=>{await c.unlink(`/opt/apps/${e.split("/").at(-1)}`),await m()}).catch(a=>console.error(a))}}};export{j as default}; diff --git a/assets/TaskManager-6e75d78f.js b/assets/TaskManager-b562368f.js similarity index 72% rename from assets/TaskManager-6e75d78f.js rename to assets/TaskManager-b562368f.js index 60eb80d..64af60b 100644 --- a/assets/TaskManager-6e75d78f.js +++ b/assets/TaskManager-b562368f.js @@ -1,4 +1,4 @@ -const l="/assets/utilities-system-monitor-125f7e39.svg",c={config:{name:"Task Manager",type:"process",icon:l,targetVer:"1.0.0-indev.0"},run:async n=>{const e=await n.loadLibrary("lib/WindowManager").then(d=>d.createWindow({title:"Task Manager",icon:l,width:600,height:200},n)),t=await n.loadLibrary("lib/HTML");e.content.style.display="flex",e.content.style.flexDirection="column",e.content.style.gap="10px",e.content.style.padding="10px",e.content.style.background="var(--base)",new t("style").html(`tbody tr:hover { +const l="/FlowOS/assets/utilities-system-monitor-125f7e39.svg",c={config:{name:"Task Manager",type:"process",icon:l,targetVer:"1.0.0-indev.0"},run:async n=>{const e=await n.loadLibrary("lib/WindowManager").then(d=>d.createWindow({title:"Task Manager",icon:l,width:600,height:200},n)),t=await n.loadLibrary("lib/HTML");e.content.style.display="flex",e.content.style.flexDirection="column",e.content.style.gap="10px",e.content.style.padding="10px",e.content.style.background="var(--base)",new t("style").html(`tbody tr:hover { background: var(--surface-1); border-radius: 10px; } diff --git a/assets/ThemeMaker-558cad3b.js b/assets/ThemeMaker-558cad3b.js new file mode 100644 index 0000000..d5baaf2 --- /dev/null +++ b/assets/ThemeMaker-558cad3b.js @@ -0,0 +1 @@ +const i="/FlowOS/assets/theme-config-7bf94f6c.svg",m={config:{name:"Theme Maker",type:"process",icon:i,targetVer:"2.0.0"},run:async t=>{const o=await t.loadLibrary("lib/WindowManager"),n=await t.loadLibrary("lib/HTML"),{Input:c,Button:w}=await t.loadLibrary("lib/Components"),h=o.createWindow({title:"Theme Maker",icon:i,width:600,height:200},t),r=new n(h.content),l=["crust","mantle","base","surface-0","surface-1","surface-2","text"],s=c.new().attr({value:"My Theme"});r.appendMany(new n("div").appendMany(new n("label").text("Name: "),s),...l.map(e=>new n("div").appendMany(new n("label").text(`${e[0].toUpperCase()+e.slice(1)}: `),c.new().attr({type:"color",id:e,value:"#000000"}))),w.new().text("Create").on("click",()=>{const e={name:s.getValue(),colors:{}};l.forEach(a=>{e.colors[a]=r.qs(`#${a}`)?.getValue()}),t.fs.writeFile(`/etc/themes/${e.name.replace(/\s/g,"")}.theme`,JSON.stringify(e)).then(()=>{o.createModal("ok","Theme Manager","Theme created successfully.",t).catch(a=>console.error(a))}).catch(a=>console.error(a))}))}};export{m as default}; diff --git a/assets/ThemeMaker-86244285.js b/assets/ThemeMaker-86244285.js deleted file mode 100644 index af24bf1..0000000 --- a/assets/ThemeMaker-86244285.js +++ /dev/null @@ -1 +0,0 @@ -const i="/assets/theme-config-7bf94f6c.svg",w={config:{name:"Theme Maker",type:"process",icon:i,targetVer:"2.0.0"},run:async t=>{const o=await t.loadLibrary("lib/WindowManager"),n=await t.loadLibrary("lib/HTML"),{Input:c,Button:h}=await t.loadLibrary("lib/Components"),m=o.createWindow({title:"Theme Maker",icon:i,width:600,height:200},t),r=new n(m.content),l=["crust","mantle","base","surface-0","surface-1","surface-2","text"],s=c.new().attr({value:"My Theme"});r.appendMany(new n("div").appendMany(new n("label").text("Name: "),s),...l.map(e=>new n("div").appendMany(new n("label").text(`${e[0].toUpperCase()+e.slice(1)}: `),c.new().attr({type:"color",id:e,value:"#000000"}))),h.new().text("Create").on("click",()=>{const e={name:s.getValue(),colors:{}};l.forEach(a=>{e.colors[a]=r.qs(`#${a}`)?.getValue()}),t.fs.writeFile(`/etc/themes/${e.name.replace(/\s/g,"")}.theme`,JSON.stringify(e)).then(()=>{o.createModal("ok","Theme Manager","Theme created successfully.",t).catch(a=>console.error(a))}).catch(a=>console.error(a))}))}};export{w as default}; diff --git a/assets/WindowManager-2a2c4c9c.js b/assets/WindowManager-4b0e9aa4.js similarity index 97% rename from assets/WindowManager-2a2c4c9c.js rename to assets/WindowManager-4b0e9aa4.js index 884cbbf..d5ae767 100644 --- a/assets/WindowManager-2a2c4c9c.js +++ b/assets/WindowManager-4b0e9aa4.js @@ -1,4 +1,4 @@ -import{H as r}from"./index-10f4832e.js";import{s as m}from"./utils-2c87b698.js";import{n as w}from"./application-default-icon-38d880e7.js";function v(n,t){let s=0,e=0;n.querySelector("window-header")?.addEventListener("mousedown",i);function i(o){o.preventDefault(),d(),s=o.clientX,e=o.clientY,document.onmouseup=l,document.onmousemove=h}function h(o){o.preventDefault();const c=o.clientX-s,p=o.clientY-e,y=n.offsetTop+p,u=n.offsetLeft+c,x=t.offsetWidth,g=t.offsetHeight;y>=0&&y+n.offsetHeight<=g&&(n.style.top=`${y}px`),u>=0&&u+n.offsetWidth<=x&&(n.style.left=`${u}px`),s=o.clientX,e=o.clientY}function l(){document.onmouseup=null,document.onmousemove=null,t.onmouseleave=null}function d(){l(),t.onmouseenter=null}}class f{element;header;realContent;content;maximized;minimized;width;height;isMinimized=!1;isMaximized=!1;wm;process;onClose;config;constructor(t,s,e,i=()=>{}){this.process=t,this.wm=s,this.config=e,this.onClose=i,this.element=document.createElement("window"),this.element.style.zIndex=(s.getHighestZIndex()+1).toString(),this.element.style.position="absolute",this.focus(),this.element.onmousedown=()=>{this.focus()},(e.canResize===void 0||e.canResize===null)&&(e.canResize=!0),e.canResize||(this.element.style.resize="none"),this.element.style.width=`${e.width??300}px`,this.element.style.height=`${e.height??200}px`,this.header=document.createElement("window-header"),this.header.innerHTML=`${m(e.title)} icon
${m(e.title)}
minimizeclose`,e.canResize&&(this.header.innerHTML=`${m(e.title)} icon
${m(e.title)}
minimizesquareclose`),this.header.querySelector("#close").onclick=()=>{this.process.kill().catch(d=>console.error(d))},this.header.querySelector("#min").onclick=()=>this.toggleMin(),e.canResize&&(this.header.querySelector("#max").onclick=()=>this.toggleMax()),this.realContent=document.createElement("window-content");const h=this.realContent.attachShadow({mode:"open"});h.innerHTML=` +import{H as r}from"./index-55c1b714.js";import{s as m}from"./utils-2c87b698.js";import{n as w}from"./application-default-icon-a19c8ba0.js";function v(n,t){let s=0,e=0;n.querySelector("window-header")?.addEventListener("mousedown",i);function i(o){o.preventDefault(),d(),s=o.clientX,e=o.clientY,document.onmouseup=l,document.onmousemove=h}function h(o){o.preventDefault();const c=o.clientX-s,p=o.clientY-e,y=n.offsetTop+p,u=n.offsetLeft+c,x=t.offsetWidth,g=t.offsetHeight;y>=0&&y+n.offsetHeight<=g&&(n.style.top=`${y}px`),u>=0&&u+n.offsetWidth<=x&&(n.style.left=`${u}px`),s=o.clientX,e=o.clientY}function l(){document.onmouseup=null,document.onmousemove=null,t.onmouseleave=null}function d(){l(),t.onmouseenter=null}}class f{element;header;realContent;content;maximized;minimized;width;height;isMinimized=!1;isMaximized=!1;wm;process;onClose;config;constructor(t,s,e,i=()=>{}){this.process=t,this.wm=s,this.config=e,this.onClose=i,this.element=document.createElement("window"),this.element.style.zIndex=(s.getHighestZIndex()+1).toString(),this.element.style.position="absolute",this.focus(),this.element.onmousedown=()=>{this.focus()},(e.canResize===void 0||e.canResize===null)&&(e.canResize=!0),e.canResize||(this.element.style.resize="none"),this.element.style.width=`${e.width??300}px`,this.element.style.height=`${e.height??200}px`,this.header=document.createElement("window-header"),this.header.innerHTML=`${m(e.title)} icon
${m(e.title)}
minimizeclose`,e.canResize&&(this.header.innerHTML=`${m(e.title)} icon
${m(e.title)}
minimizesquareclose`),this.header.querySelector("#close").onclick=()=>{this.process.kill().catch(d=>console.error(d))},this.header.querySelector("#min").onclick=()=>this.toggleMin(),e.canResize&&(this.header.querySelector("#max").onclick=()=>this.toggleMax()),this.realContent=document.createElement("window-content");const h=this.realContent.attachShadow({mode:"open"});h.innerHTML=` ");body.style({margin:"0",width:"100vw",height:"100vh",overflow:"hidden"});const boot=new HTML("div").styleJs({display:"flex",flexDirection:"column",height:"100%",width:"100%",background:"#11111b",padding:"100px","font-family":"monospace",userSelect:"none",overflow:"hidden"}).appendTo(body);boot.appendMany(new HTML("div").styleJs({display:"flex",height:"40px",alignItems:"center",gap:"10px"}).appendMany(new HTML("img").attr({src:FlowLogo,height:"40px"}),new HTML("h1").text("FlowOS").styleJs({color:"white"})),new HTML("img").attr({src:FlowLogo}).styleJs({position:"absolute",right:"-8vw",top:"-7vw",opacity:"0.03",height:"50vw","pointer-events":"none",zIndex:"0"}));const terminal=new HTML("div").style({color:"#89b4fa",padding:"10px 3px","word-break":"break-all","white-space":"pre-wrap",flex:"1","user-select":"text",position:"relative",zIndex:"2"}).appendTo(boot),progress=new HTML("div").style({width:"0",background:"#89b4fa",transition:"width 0.5s cubic-bezier(1,0,0,1)",height:"5px"});new HTML("div").style({height:"5px",width:"100%",background:"#181825"}).appendTo(boot).append(progress);const write=r=>{terminal.text(terminal.getText()+r)},writeln=(r="")=>{write(`${r} +${spaces}`)}`),!1}};class Kernel{version;codename;processList=[];packageList={};fs;config;lastPid=0;constructor(){this.codename="Pocky",this.version=pkg.version}async setTheme(n){if(this.fs===!1)throw new Error("Filesystem hasn't been initiated.");const e=await this.fs.readFile(`/etc/themes/${n}.theme`),{extras:o,colors:a}=JSON.parse(dist.Buffer.from(e).toString());for(const s in a)document.documentElement.style.setProperty(`--${s}`,a[s]);document.documentElement.style.setProperty("--primary",o[lib.parse(dist.Buffer.from(await this.fs.readFile("/etc/flow")).toString()).THEME_PRIMARY])}async boot(n,e,o){e.style({width:"0%"});const a=o.toString().replace(/=($|&)/g,"=true ");console.log(`FlowOS - v${pkg.version}, Flow Works (c) ${new Date().getFullYear()}`),console.log(),console.log(`User Agent : ${navigator.userAgent}`),console.log(`Boot Args : ${a===""?"None":a}`),console.log(),console.log("..."),console.log(),o.has("debug")&&eruda.init(),this.fs=await handle("target","Virtual File Systems",VirtualFS),!(this.fs===!1||(e.style({width:"20%"}),this.config=await handle("target","FlowOS Configuration",{init:async()=>{if(this.fs!==!1)return lib.parse(dist.Buffer.from(await this.fs.readFile("/etc/flow")).toString())}}),this.config===!1)||(e.style({width:"40%"}),await this.setTheme(this.config.THEME),document.addEventListener("theme_update",()=>{this.config!==!1&&this.setTheme(this.config.THEME).catch(c=>console.error(c))}),await handle("mount","Temporary Directory (/tmp)",{init:async()=>this.fs===!1?!1:(await this.fs.exists("/tmp")&&await this.fs.rmdir("/tmp"),await this.fs.mkdir("/tmp"))})===!1)||(e.style({width:"60%"}),await handle("service","Service Worker",{init:async()=>{if(this.config===!1)return!1;const c=await navigator.serviceWorker.getRegistrations();for(const d of c)await d.unregister();await navigator.serviceWorker.register(`/uv-sw.js?url=${encodeURIComponent(btoa(this.config.SERVER))}&e=${v4()}`,{scope:"/service/"})}})===!1))&&(e.style({width:"80%"}),await handle("service","Desktop Environment",{init:()=>{setTimeout(()=>{__vitePreload(()=>Promise.resolve({}),["assets/style-2a0a71ef.css"]).then(()=>{n.style({display:"none"}),__vitePreload(()=>Promise.resolve({}),["assets/index-bceddeb8.css"]).then(async()=>{this.fs!==!1&&(console.log(),console.log("Welcome to FlowOS!"),console.log(),e.style({width:"100%"}),setTimeout(()=>{this.startExecutable("Desktop",Permission.SYSTEM).catch(c=>console.error(c))},750))}).catch(c=>{throw c})}).catch(c=>{throw c})},1e3)}}))}async startExecutable(n,e=Permission.USER,o={}){let a;try{const l=Object.assign({"./system/Desktop.ts":()=>__vitePreload(()=>import("./Desktop-a4f58152.js"),["assets/Desktop-a4f58152.js","assets/application-default-icon-a19c8ba0.js"]),"./system/UserAccessControl.ts":()=>__vitePreload(()=>import("./UserAccessControl-d2eab9b6.js"),[]),"./system/VirtualFS.ts":()=>__vitePreload(()=>Promise.resolve().then(()=>VirtualFS$1),void 0),"./system/apps/Browser.ts":()=>__vitePreload(()=>import("./Browser-52a34b58.js"),[]),"./system/apps/Editor.ts":()=>__vitePreload(()=>import("./Editor-079b8504.js").then(d=>d.E),[]),"./system/apps/Files.ts":()=>__vitePreload(()=>import("./Files-d7d9e642.js"),[]),"./system/apps/ImageViewer.ts":()=>__vitePreload(()=>import("./ImageViewer-d031471c.js"),[]),"./system/apps/Info.ts":()=>__vitePreload(()=>import("./Info-0f878648.js"),[]),"./system/apps/Manager.ts":()=>__vitePreload(()=>import("./Manager-432f3ded.js"),[]),"./system/apps/Settings.ts":()=>__vitePreload(()=>import("./Settings-8eaed610.js"),[]),"./system/apps/Store.ts":()=>__vitePreload(()=>import("./Store-2a453bcf.js"),["assets/Store-2a453bcf.js","assets/application-default-icon-a19c8ba0.js"]),"./system/apps/TaskManager.ts":()=>__vitePreload(()=>import("./TaskManager-b562368f.js"),[]),"./system/apps/ThemeMaker.ts":()=>__vitePreload(()=>import("./ThemeMaker-558cad3b.js"),[]),"./system/lib/Components.ts":()=>__vitePreload(()=>import("./Components-9774d74f.js"),[]),"./system/lib/HTML.ts":()=>__vitePreload(()=>import("./HTML-66f1d40b.js"),[]),"./system/lib/Launcher.ts":()=>__vitePreload(()=>import("./Launcher-112d4365.js"),[]),"./system/lib/MIMETypes.ts":()=>__vitePreload(()=>import("./MIMETypes-997d40e6.js"),[]),"./system/lib/SplashScreen.ts":()=>__vitePreload(()=>import("./SplashScreen-40f4538a.js"),[]),"./system/lib/StatusBar.ts":()=>__vitePreload(()=>import("./StatusBar-78090290.js"),["assets/StatusBar-78090290.js","assets/application-default-icon-a19c8ba0.js","assets/utils-2c87b698.js"]),"./system/lib/WindowManager.ts":()=>__vitePreload(()=>import("./WindowManager-4b0e9aa4.js"),["assets/WindowManager-4b0e9aa4.js","assets/utils-2c87b698.js","assets/application-default-icon-a19c8ba0.js"]),"./system/lib/XOR.ts":()=>__vitePreload(()=>import("./XOR-dd425f29.js"),[])})[`./system/${n}.ts`];a=(await l()).default}catch{if(this.fs===!1)throw new Error("Filesystem hasn't been initiated.");const s=`data:text/javascript;base64,${dist.Buffer.from(await this.fs.readFile(`/opt/${n}.js`)).toString("base64")}`;a=(await __vitePreload(()=>import(s),[])).default}if(semver$1.gt(a.config.targetVer,this.version))throw new Error(`Executable requires a newer version of FlowOS: ${a.config.targetVer}`);if(a===void 0)throw new Error(`No default export found for package: ${n}.`);if(this.packageList[a.config.name]===void 0)this.packageList[a.config.name]={url:n,executable:a};else if(this.packageList[a.config.name].url!==n)throw new Error(`Package name conflict: ${a.config.name}`);return await new Promise((s,l)=>{if(a.config.type==="process"){const c=a;console.group(`Starting ${n}`);const d=ProcLib.findEmptyPID(this),u=v4(),f=new ProcessLib(n,d,u,e,o,c,this);this.processList.push({pid:d,token:u,name:c.config.name}),document.dispatchEvent(new CustomEvent("update_process",{})),c.run(f).then(v=>{v!==void 0&&f.kill().catch(b=>console.error(b)),document.dispatchEvent(new CustomEvent("update_process",{})),s({procLib:f,value:v})}).catch(v=>console.error(v));return}l(new Error(`Unknown executable type: ${a.config.type}`))})}async getExecutable(n){let e;try{const a=Object.assign({"./system/Desktop.ts":()=>__vitePreload(()=>import("./Desktop-a4f58152.js"),["assets/Desktop-a4f58152.js","assets/application-default-icon-a19c8ba0.js"]),"./system/UserAccessControl.ts":()=>__vitePreload(()=>import("./UserAccessControl-d2eab9b6.js"),[]),"./system/VirtualFS.ts":()=>__vitePreload(()=>Promise.resolve().then(()=>VirtualFS$1),void 0),"./system/apps/Browser.ts":()=>__vitePreload(()=>import("./Browser-52a34b58.js"),[]),"./system/apps/Editor.ts":()=>__vitePreload(()=>import("./Editor-079b8504.js").then(l=>l.E),[]),"./system/apps/Files.ts":()=>__vitePreload(()=>import("./Files-d7d9e642.js"),[]),"./system/apps/ImageViewer.ts":()=>__vitePreload(()=>import("./ImageViewer-d031471c.js"),[]),"./system/apps/Info.ts":()=>__vitePreload(()=>import("./Info-0f878648.js"),[]),"./system/apps/Manager.ts":()=>__vitePreload(()=>import("./Manager-432f3ded.js"),[]),"./system/apps/Settings.ts":()=>__vitePreload(()=>import("./Settings-8eaed610.js"),[]),"./system/apps/Store.ts":()=>__vitePreload(()=>import("./Store-2a453bcf.js"),["assets/Store-2a453bcf.js","assets/application-default-icon-a19c8ba0.js"]),"./system/apps/TaskManager.ts":()=>__vitePreload(()=>import("./TaskManager-b562368f.js"),[]),"./system/apps/ThemeMaker.ts":()=>__vitePreload(()=>import("./ThemeMaker-558cad3b.js"),[]),"./system/lib/Components.ts":()=>__vitePreload(()=>import("./Components-9774d74f.js"),[]),"./system/lib/HTML.ts":()=>__vitePreload(()=>import("./HTML-66f1d40b.js"),[]),"./system/lib/Launcher.ts":()=>__vitePreload(()=>import("./Launcher-112d4365.js"),[]),"./system/lib/MIMETypes.ts":()=>__vitePreload(()=>import("./MIMETypes-997d40e6.js"),[]),"./system/lib/SplashScreen.ts":()=>__vitePreload(()=>import("./SplashScreen-40f4538a.js"),[]),"./system/lib/StatusBar.ts":()=>__vitePreload(()=>import("./StatusBar-78090290.js"),["assets/StatusBar-78090290.js","assets/application-default-icon-a19c8ba0.js","assets/utils-2c87b698.js"]),"./system/lib/WindowManager.ts":()=>__vitePreload(()=>import("./WindowManager-4b0e9aa4.js"),["assets/WindowManager-4b0e9aa4.js","assets/utils-2c87b698.js","assets/application-default-icon-a19c8ba0.js"]),"./system/lib/XOR.ts":()=>__vitePreload(()=>import("./XOR-dd425f29.js"),[])})[`./system/${n}.ts`];e=(await a()).default}catch{if(this.fs===!1)throw new Error("Filesystem hasn't been initiated.");const o=`data:text/javascript;base64,${dist.Buffer.from(await this.fs.readFile(`/opt/${n}.js`)).toString("base64")}`;e=(await __vitePreload(()=>import(o),[])).default}if(semver$1.gt(e.config.targetVer,this.version))throw new Error(`Executable requires a newer version of FlowOS: ${e.config.targetVer}`);if(e===void 0)throw new Error(`No default export found for package: ${n}.`);if(this.packageList[e.config.name]===void 0)this.packageList[e.config.name]={url:n,executable:e};else if(this.packageList[e.config.name].url!==n)throw new Error(`Package name conflict: ${e.config.name}`);return e}}const FlowLogo="/FlowOS/assets/flow-9a6c45c5.png",body=new HTML(document.body);body.html("");body.style({margin:"0",width:"100vw",height:"100vh",overflow:"hidden"});const boot=new HTML("div").styleJs({display:"flex",flexDirection:"column",height:"100%",width:"100%",background:"#11111b",padding:"100px","font-family":"monospace",userSelect:"none",overflow:"hidden"}).appendTo(body);boot.appendMany(new HTML("div").styleJs({display:"flex",height:"40px",alignItems:"center",gap:"10px"}).appendMany(new HTML("img").attr({src:FlowLogo,height:"40px"}),new HTML("h1").text("FlowOS").styleJs({color:"white"})),new HTML("img").attr({src:FlowLogo}).styleJs({position:"absolute",right:"-8vw",top:"-7vw",opacity:"0.03",height:"50vw","pointer-events":"none",zIndex:"0"}));const terminal=new HTML("div").style({color:"#89b4fa",padding:"10px 3px","word-break":"break-all","white-space":"pre-wrap",flex:"1","user-select":"text",position:"relative",zIndex:"2"}).appendTo(boot),progress=new HTML("div").style({width:"0",background:"#89b4fa",transition:"width 0.5s cubic-bezier(1,0,0,1)",height:"5px"});new HTML("div").style({height:"5px",width:"100%",background:"#181825"}).appendTo(boot).append(progress);const write=r=>{terminal.text(terminal.getText()+r)},writeln=(r="")=>{write(`${r} `)},originalConsoleLog=console.log,originalConsoleError=console.error,originalConsoleWarn=console.warn,originalConsoleGroup=console.group;window.console.log=(...r)=>{originalConsoleLog(...r),writeln(r)};window.console.warn=(...r)=>{originalConsoleWarn(...r),writeln(r)};window.console.error=(...r)=>{originalConsoleError(...r),writeln(r)};window.console.group=(...r)=>{originalConsoleGroup(...r),writeln(spaces+String(r))};try{const r=new URLSearchParams(window.location.search);await new Kernel().boot(boot,progress,r)}catch(r){writeln(),writeln("An error occured while booting FlowOS."),writeln("Please report this error to Flow Works."),writeln(),console.error(r.stack),writeln(),terminal.html(terminal.getHTML()+'Would you like to reset the VirtualFS?')}export{FlowLogo as F,HTML as H,__vitePreload as _,dist as d,lib as l}; diff --git a/assets/index-55c1b714.js.gz b/assets/index-55c1b714.js.gz new file mode 100644 index 0000000..f0f855b Binary files /dev/null and b/assets/index-55c1b714.js.gz differ diff --git a/assets/index-bceddeb8.css b/assets/index-bceddeb8.css new file mode 100644 index 0000000..8ab9f36 --- /dev/null +++ b/assets/index-bceddeb8.css @@ -0,0 +1 @@ +@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(/FlowOS/assets/material-symbols-outlined-af655217.woff2) format("woff2")}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:100 700;font-display:block;src:url(/FlowOS/assets/material-symbols-rounded-dc1c3bdf.woff2) format("woff2")}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Symbols Sharp;font-style:normal;font-weight:100 700;font-display:block;src:url(/FlowOS/assets/material-symbols-sharp-7488f367.woff2) format("woff2")}.material-symbols-sharp{font-family:Material Symbols Sharp;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"} diff --git a/assets/index-e24352b2.css b/assets/index-e24352b2.css deleted file mode 100644 index 69741e8..0000000 --- a/assets/index-e24352b2.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(/assets/material-symbols-outlined-af655217.woff2) format("woff2")}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Symbols Rounded;font-style:normal;font-weight:100 700;font-display:block;src:url(/assets/material-symbols-rounded-dc1c3bdf.woff2) format("woff2")}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Symbols Sharp;font-style:normal;font-weight:100 700;font-display:block;src:url(/assets/material-symbols-sharp-7488f367.woff2) format("woff2")}.material-symbols-sharp{font-family:Material Symbols Sharp;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"} diff --git a/assets/matchTags-e333f580.js b/assets/matchTags-fbbd4903.js similarity index 93% rename from assets/matchTags-e333f580.js rename to assets/matchTags-fbbd4903.js index a5e4909..19315a7 100644 --- a/assets/matchTags-e333f580.js +++ b/assets/matchTags-fbbd4903.js @@ -1 +1 @@ -import{y as E}from"./utils-wvIv1qJ9-bc32a4a8.js";import"./Editor-21b47d03.js";import"./index-10f4832e.js";const S="xml,rss,atom,jsx,tsx".split(","),w="area,base,br,col,embed,hr,img,input,link,meta,source,track,wbr".split(","),v=a=>{let n=[],t=[],i,c,f=(l,o)=>{i=[],t.length=n.length=c=0,h(l,o,0)},h=(l,o,e)=>{for(let r=0,d=S.includes(o),u=l.length;r{f(l.tokens,l.language)}),f(a.tokens,a.options.language),a.extensions.matchTags={tags:t,pairs:n}},C=(a,n)=>{for(let t=0,i=n.length;t=a)return t},z=()=>({update(a){this.update=()=>{};let n,t;const{tags:i,pairs:c}=this.matcher=a.extensions.matchTags||v(a),f=l=>[n,t].forEach(o=>{o&&o.classList.toggle("active-tagname",!l)}),h=()=>{let[l,o]=a.getSelection(),e,r;if(l==o&&a.focused){let d=C(l,i),u=i[d];if(u&&u[4]){const s=E(a,".tag>.tag",-u[2],0),p=c[d];if(s&&p+1){const T=E(a,".tag>.tag",0,0,i[p][1]);[e,r]=[s,T].map(x=>{let g=x.childNodes,m=g[1];return(g[2]||m.data)&&(m=document.createElement("span"),m.append(...[].slice.call(g,1)),x.append(m)),m})}}}n!=e&&(f(!0),n=e,t=r,f())};a.addListener("selectionChange",h)}}),I=(a,n)=>({update(t){this.update=()=>{};let i,c;const{tags:f}=this.matcher=t.extensions.matchTags||v(t),h=e=>E(t,".tag>.punctuation",0,0,e),l=e=>[i,c].forEach(r=>{r&&r.classList.toggle(a,!e)}),o=()=>{let[e,r]=t.getSelection(),d,u;if(e==r&&t.focused){let s=f[C(e,f)];s&&(n||(rs[1]+s[2]+s[4].length)&&h())&&(d=h(s[1]),u=h(s[3]-1))}(i!=d||c!=u)&&(l(!0),i=d,c=u,l())};t.addListener("selectionChange",o),t.textarea.addEventListener("focus",o),t.textarea.addEventListener("blur",o)}});export{v as createTagMatcher,I as highlightTagPunctuation,z as matchTags}; +import{y as E}from"./utils-wvIv1qJ9-974d263a.js";import"./Editor-079b8504.js";import"./index-55c1b714.js";const S="xml,rss,atom,jsx,tsx".split(","),w="area,base,br,col,embed,hr,img,input,link,meta,source,track,wbr".split(","),v=a=>{let n=[],t=[],i,c,f=(l,o)=>{i=[],t.length=n.length=c=0,h(l,o,0)},h=(l,o,e)=>{for(let r=0,d=S.includes(o),u=l.length;r{f(l.tokens,l.language)}),f(a.tokens,a.options.language),a.extensions.matchTags={tags:t,pairs:n}},C=(a,n)=>{for(let t=0,i=n.length;t=a)return t},z=()=>({update(a){this.update=()=>{};let n,t;const{tags:i,pairs:c}=this.matcher=a.extensions.matchTags||v(a),f=l=>[n,t].forEach(o=>{o&&o.classList.toggle("active-tagname",!l)}),h=()=>{let[l,o]=a.getSelection(),e,r;if(l==o&&a.focused){let d=C(l,i),u=i[d];if(u&&u[4]){const s=E(a,".tag>.tag",-u[2],0),p=c[d];if(s&&p+1){const T=E(a,".tag>.tag",0,0,i[p][1]);[e,r]=[s,T].map(x=>{let g=x.childNodes,m=g[1];return(g[2]||m.data)&&(m=document.createElement("span"),m.append(...[].slice.call(g,1)),x.append(m)),m})}}}n!=e&&(f(!0),n=e,t=r,f())};a.addListener("selectionChange",h)}}),I=(a,n)=>({update(t){this.update=()=>{};let i,c;const{tags:f}=this.matcher=t.extensions.matchTags||v(t),h=e=>E(t,".tag>.punctuation",0,0,e),l=e=>[i,c].forEach(r=>{r&&r.classList.toggle(a,!e)}),o=()=>{let[e,r]=t.getSelection(),d,u;if(e==r&&t.focused){let s=f[C(e,f)];s&&(n||(rs[1]+s[2]+s[4].length)&&h())&&(d=h(s[1]),u=h(s[3]-1))}(i!=d||c!=u)&&(l(!0),i=d,c=u,l())};t.addListener("selectionChange",o),t.textarea.addEventListener("focus",o),t.textarea.addEventListener("blur",o)}});export{v as createTagMatcher,I as highlightTagPunctuation,z as matchTags}; diff --git a/assets/utils-wvIv1qJ9-bc32a4a8.js b/assets/utils-wvIv1qJ9-974d263a.js similarity index 96% rename from assets/utils-wvIv1qJ9-bc32a4a8.js rename to assets/utils-wvIv1qJ9-974d263a.js index f8bbba4..58d4113 100644 --- a/assets/utils-wvIv1qJ9-bc32a4a8.js +++ b/assets/utils-wvIv1qJ9-974d263a.js @@ -1,4 +1,4 @@ -import{o as x,f as m,r as u,s as p}from"./Editor-21b47d03.js";const S=e=>e.replace(/[$+?|.^*(){}[\]\\]/g,"\\$&"),$=(e,t)=>e.slice(e.lastIndexOf(` +import{o as x,f as m,r as u,s as p}from"./Editor-079b8504.js";const S=e=>e.replace(/[$+?|.^*(){}[\]\\]/g,"\\$&"),$=(e,t)=>e.slice(e.lastIndexOf(` `,t-1)+1,t),E=(e,t,l=t)=>[e.slice(t=e.lastIndexOf(` `,t-1)+1,l=(l=e.indexOf(` `,l))+1?l:e.length).split(` diff --git a/index.html b/index.html index da438cf..1637a91 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ FlowOS - + @@ -17,7 +17,7 @@ gtag('config', 'G-X4XVQRWEVM'); - +