@knockdata/objectexplorer 0.3.16 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/assets/WorkerParser.js +119 -119
- package/app/assets/__vite-browser-external.js +1 -0
- package/app/assets/browser-2.js +1 -0
- package/app/assets/browser-3.js +1 -0
- package/app/assets/browser-4.js +1 -0
- package/app/assets/browser.js +2 -2
- package/app/assets/duckdb.js +1 -1
- package/app/assets/duckdbEntry.js +8 -0
- package/app/assets/duckdbWasm.js +1 -0
- package/app/assets/index.css +1 -1
- package/app/assets/index.js +8 -8
- package/app/assets/node-2.js +1 -0
- package/app/assets/node.js +1 -1
- package/app/assets/rolldown-runtime.js +1 -0
- package/app/assets/rows.js +1 -0
- package/app/assets/sqlite-2.js +1 -1
- package/app/assets/sqlite.js +1 -1
- package/app/assets/sqliteEntry.js +1 -0
- package/app/assets/sqliteWasm.js +1 -0
- package/app/assets/wasm-worker.js +2 -7800
- package/cli.js +19 -4
- package/package.json +9 -6
- package/server/WebServer.mjs +318 -8132
package/app/assets/index.js
CHANGED
|
@@ -1625,7 +1625,7 @@ explain`.split(/\s+/),Xn=new Set(Yn),Zn=`add.plus.lightbulb.repo.repo-forked.git
|
|
|
1625
1625
|
</svg>
|
|
1626
1626
|
`,avro:`<!-- Apache Avro paper plane, from avro.apache.org/images/logo.svg (Apache-2.0).
|
|
1627
1627
|
Original paths kept as-is; the group transform fits its 35x30 art into 24x24. -->
|
|
1628
|
-
<svg viewBox="
|
|
1628
|
+
<svg viewBox="-1 -1 26 26" xmlns="http://www.w3.org/2000/svg">
|
|
1629
1629
|
<g transform="translate(-1.3714 0.3386) scale(0.6857)">
|
|
1630
1630
|
<path fill="#0068e0" d="m 11.323019,20.31228 1.54227,4.70955 24.13142,6.882311 z"/>
|
|
1631
1631
|
<path fill="#000094" d="m 19.74759,12.513621 c 0.296701,1.17482 -0.0154,1.921136 -1.916568,1.736268 L 36.900852,31.9224 c 0.216248,0.08673 0.253906,-0.0582 0.104415,-0.279013 z"/>
|
|
@@ -1931,10 +1931,10 @@ ${g}`)).style(`margin-left`,u?`${+u}px`:null).style(`width`,p===void 0?null:`${+
|
|
|
1931
1931
|
:where(.${l} text),
|
|
1932
1932
|
:where(.${l} tspan) {
|
|
1933
1933
|
white-space: pre;
|
|
1934
|
-
}`)).call(IB,n);for(let e of u){let{channels:t,values:n,facets:r}=g.get(e);if(h===void 0||e.facet===`super`){let a=null;if(r&&(a=r[0],a=e.filter(a,t,n),a.length===0))continue;let o=e.render(a,y,n,C,w);if(o==null)continue;E.appendChild(o)}else{let a;for(let o of h){if(!(e.facetAnchor?.(h,k,o)??!o.empty))continue;let s=null;if(r){let a=f.has(e);if(s=r[a?o.i:0],s=e.filter(s,t,n),s.length===0)continue;!a&&s===r[0]&&(s=MF(s)),s.fx=o.x,s.fy=o.y,s.fi=o.i}let c=e.render(s,y,n,S,w);if(c!=null){(a??=Py(E).append(`g`)).append(()=>c).datum(o);for(let e of[`aria-label`,`aria-description`,`aria-hidden`,`transform`])c.hasAttribute(e)&&(a.attr(e,c.getAttribute(e)),c.removeAttribute(e))}}a?.selectChildren().each(A)}}let N=mU(_,w,e),{figure:P=r!=null||a!=null||o!=null||N.length>0}=e;P&&(D=T.createElement(`figure`),D.className=`${l}-figure`,D.style.maxWidth=`initial`,r!=null&&D.append(lW(T,r,`h2`)),a!=null&&D.append(lW(T,a,`h3`)),D.append(...N,E),o!=null&&D.append(uW(T,o)),`value`in E&&(D.value=E.value,delete E.value)),D.scale=dz(y.scales),D.legend=lU(_,w,e);let F=hR();return F>0&&Py(E).append(`text`).attr(`x`,j).attr(`y`,20).attr(`dy`,`-1em`).attr(`text-anchor`,`end`).attr(`font-family`,`initial`).text(`⚠️`).append(`title`).text(`${F.toLocaleString(`en-US`)} warning${F===1?``:`s`}. Please check the console.`),D}function lW(e,t,n){if(t.ownerDocument)return t;let r=e.createElement(n);return r.append(t),r}function uW(e,t){let n=e.createElement(`figcaption`);return n.append(t),n}function dW(e){return e.flat(1/0).filter(e=>e!=null).map(fW)}function fW(e){return typeof e.render==`function`?e:new pW(e)}var pW=class extends RB{constructor(e){if(typeof e!=`function`)throw TypeError(`invalid mark; missing render function`);super(),this.render=e}render(){}};function mW(e,t){for(let n in e)hW(e[n],t);return e}function hW(e,t){let{scale:n,transform:r=!0}=e;if(n==null||!r)return;let{type:a,percent:o,interval:s,transform:c=o?e=>e==null?NaN:e*100:BF(s,a)}=t[n]??{};c!=null&&(e.value=_F(e.value,c),e.transform=!1)}function gW(e){for(let t in e)_L(t,e[t])}function _W(e,t,n,r=$P){for(let{channels:a}of t.values())for(let t in a){let o=a[t],{scale:s}=o;if(s!=null&&r(s))if(s===`projection`){if(!qz(n)){let t=n.x?.domain===void 0,r=n.y?.domain===void 0;if(t||r){let[n,a]=Yz(o);t&&vW(e,`x`,n),r&&vW(e,`y`,a)}}}else vW(e,s,o)}return e}function vW(e,t,n){let r=e.get(t);r===void 0?e.set(t,[n]):r.push(n)}function yW(e,t){if(e==null)return;let{x:n,y:r}=e;if(n==null&&r==null)return;let a=mF(e.data);if(a==null)throw Error(`missing facet data`);let o={};return n!=null&&(o.fx=mL(a,{value:n,scale:`fx`})),r!=null&&(o.fy=mL(a,{value:r,scale:`fy`})),mW(o,t),{channels:o,groups:hz(a,o),data:e.data}}function bW(e,t,n){if(e.facet===null||e.facet===`super`)return;let{fx:r,fy:a}=e;if(r!=null||a!=null){let t=mF(e.data??r??a);if(t===void 0)throw Error(`missing facet data in ${e.ariaLabel}`);if(t===null)return;let o={};return r!=null&&(o.fx=mL(t,{value:r,scale:`fx`})),a!=null&&(o.fy=mL(t,{value:a,scale:`fy`})),mW(o,n),{channels:o,groups:hz(t,o)}}if(t===void 0)return;let{channels:o,groups:s,data:c}=t;if(e.facet!==`auto`||e.data===c)return{channels:o,groups:s};c.length>0&&(s.size>1||s.size===1&&o.fx&&o.fy&&[...s][0][1].size>1)&&kF(mF(e.data))===kF(c)&&gR(`Warning: the ${e.ariaLabel} mark appears to use faceted data, but isn’t faceted. The mark data has the same length as the facet data and the mark facet option is "auto", but the mark data and facet data are distinct. If this mark should be faceted, set the mark facet option to true; otherwise, suppress this warning by setting the mark facet option to false.`)}function xW(e,t={}){return FI({...t,x:null,y:null},(t,n,r,a,o,s)=>s.getMarkState(e))}function SW(e){let t=[];for(let n of e){let e=n.tip;if(e){e===!0?e={}:typeof e==`string`&&(e={pointer:e});let{pointer:r,preferredAnchor:a}=e;r=/^x$/i.test(r)?XB:/^y$/i.test(r)?ZB:YB,e=r(xW(n,e)),e.title=null,a===void 0&&(e.preferredAnchor=r===ZB?`left`:`bottom`);let o=ZU(n.data,e);o.facet=n.facet,o.facetAnchor=n.facetAnchor,t.push(o)}}return t}function CW(e,t,n){let{projection:r,x:a={},y:o={},fx:s={},fy:c={},axis:l,grid:u,facet:d={},facet:{axis:f=l,grid:p}=d,x:{axis:m=l,grid:h=m===null?null:u}=a,y:{axis:g=l,grid:_=g===null?null:u}=o,fx:{axis:v=f,grid:y=v===null?null:p}=s,fy:{axis:b=f,grid:x=b===null?null:p}=c}=n;(r||!CF(a)&&!MW(`x`,e))&&(m=h=null),(r||!CF(o)&&!MW(`y`,e))&&(g=_=null),t.has(`fx`)||(v=y=null),t.has(`fy`)||(b=x=null),m===void 0&&(m=!jW(e,`x`)),g===void 0&&(g=!jW(e,`y`)),v===void 0&&(v=!jW(e,`fx`)),b===void 0&&(b=!jW(e,`fy`)),m===!0&&(m=`bottom`),g===!0&&(g=`left`),v===!0&&(v=m===`top`||m===null?`bottom`:`top`),b===!0&&(b=g===`right`||g===null?`left`:`right`);let S=[];return TW(S,x,RH,c),wW(S,b,OH,`right`,`left`,d,c),TW(S,y,BH,s),wW(S,v,AH,`top`,`bottom`,d,s),TW(S,_,LH,o),wW(S,g,DH,`left`,`right`,n,o),TW(S,h,zH,a),wW(S,m,kH,`bottom`,`top`,n,a),S}function wW(e,t,n,r,a,o,s){if(!t)return;let c=EW(t);s=DW(c?r:t,o,s);let{line:l}=s;(n===DH||n===kH)&&l&&!sI(l)&&e.push(qU(OW(s))),e.push(n(s)),c&&e.push(n({...s,anchor:a,label:null}))}function TW(e,t,n,r){!t||sI(t)||e.push(n(kW(t,r)))}function EW(e){return/^\s*both\s*$/i.test(e)}function DW(e,t,{line:n=t.line,ticks:r,tickSize:a,tickSpacing:o,tickPadding:s,tickFormat:c,tickRotate:l,fontVariant:u,ariaLabel:d,ariaDescription:f,label:p=t.label,labelAnchor:m,labelArrow:h=t.labelArrow,labelOffset:g}){return{anchor:e,line:n,ticks:r,tickSize:a,tickSpacing:o,tickPadding:s,tickFormat:c,tickRotate:l,fontVariant:u,ariaLabel:d,ariaDescription:f,label:p,labelAnchor:m,labelArrow:h,labelOffset:g}}function OW(e){let{anchor:t,line:n}=e;return{anchor:t,facetAnchor:t+`-empty`,stroke:n===!0?void 0:n}}function kW(e,{stroke:t=iI(e)?e:void 0,ticks:n=AW(e)?e:void 0,tickSpacing:r,ariaLabel:a,ariaDescription:o}){return{stroke:t,ticks:n,tickSpacing:r,ariaLabel:a,ariaDescription:o}}function AW(e){switch(typeof e){case`number`:return!0;case`string`:return!iI(e)}return YF(e)||typeof e?.range==`function`}function jW(e,t){let n=`${t}-axis `;return e.some(e=>e.ariaLabel?.startsWith(n))}function MW(e,t){for(let n of t)for(let t in n.channels){let{scale:r}=n.channels[t];if(r===e||r===`projection`)return!0}return!1}function NW(e,t){for(let n in e){let r=e[n],a=t[n];r.label===void 0&&a&&(r.label=a.label)}return e}function PW({fx:e,fy:t},n){let{marginTop:r,marginRight:a,marginBottom:o,marginLeft:s,width:c,height:l}=KR(n),u=e&&FW(e),d=t&&FW(t);return{marginTop:t?d[0]:r,marginRight:e?c-u[1]:a,marginBottom:t?l-d[1]:o,marginLeft:e?u[0]:s,inset:{marginTop:n.marginTop,marginRight:n.marginRight,marginBottom:n.marginBottom,marginLeft:n.marginLeft},width:c,height:l}}function FW(e){let t=e.domain();if(t.length===0)return[0,e.bandwidth()];let n=e(t[0]),r=e(t[t.length-1]);return r<n&&([n,r]=[r,n]),[n,r+e.bandwidth()]}var IW=new Map([[`basis`,sN],[`basis-closed`,lN],[`basis-open`,dN],[`bundle`,pN],[`bump-x`,OM],[`bump-y`,kM],[`cardinal`,gN],[`cardinal-closed`,vN],[`cardinal-open`,bN],[`catmull-rom`,CN],[`catmull-rom-closed`,TN],[`catmull-rom-open`,DN],[`linear`,SM],[`linear-closed`,kN],[`monotone-x`,LN],[`monotone-y`,RN],[`natural`,VN],[`step`,UN],[`step-after`,GN],[`step-before`,WN]]);function LW(e=SM,t){if(typeof e==`function`)return e;let n=IW.get(`${e}`.toLowerCase());if(!n)throw Error(`unknown curve: ${e}`);if(t!==void 0){if(`beta`in n)return n.beta(t);if(`tension`in n)return n.tension(t);if(`alpha`in n)return n.alpha(t)}return n}function RW(e=zW,t){return typeof e!=`function`&&`${e}`.toLowerCase()===`auto`?zW:LW(e,t)}function zW(e){return SM(e)}function BW(e={y:`count`},t={}){[e,t]=WW(e,t);let{x:n,y:r}=t;return UW(GW(n,t,ZP),null,null,r,e,_V(t))}function VW(e,t,n={}){if(n?.interval==null)return n;let{reduce:r=oL}=n,a={filter:null};return n[t]!=null&&(a[t]=r),n[`${t}1`]!=null&&(a[`${t}1`]=r),n[`${t}2`]!=null&&(a[`${t}2`]=r),e(a,n)}function HW(e={}){return VW(BW,`y`,UB(e,`x`))}function UW(e,t,n,r,{data:a=aL,filter:o=lL,sort:s,reverse:c,...l}={},u={}){e=KW(e),t=KW(t),l=JW(l,u),a=ZW(a,ZP),s=s==null?void 0:YW(`sort`,s,u),o=o==null?void 0:XW(`filter`,o,u),n!=null&&GI(l,`x`,`x1`,`x2`)&&(n=null),r!=null&&GI(l,`y`,`y1`,`y2`)&&(r=null);let[d,f]=IF(e),[p,m]=IF(e),[h,g]=IF(t),[_,v]=IF(t),[y,b]=n==null?r==null?[]:[r,`y`]:[n,`x`],[x,S]=IF(y),{x:C,y:w,z:T,fill:E,stroke:D,x1:O,x2:k,y1:A,y2:j,domain:M,cumulative:N,thresholds:P,interval:F,...I}=u,[ee,L]=IF(T),[R]=uF(E),[z]=uF(D),[te,ne]=IF(R),[re,ie]=IF(z);return{...`z`in u&&{z:ee||T},...`fill`in u&&{fill:te||E},...`stroke`in u&&{stroke:re||D},...PI(I,(n,r,u)=>{let d=zF(HP(n,y),u?.[b]),p=HP(n,T),h=HP(n,R),_=HP(n,z),x=$I(l,{z:p,fill:h,stroke:_}),C=[],w=[],E=d&&S([]),D=p&&L([]),O=h&&ne([]),k=_&&ie([]),A=e&&f([]),j=e&&m([]),M=t&&g([]),N=t&&v([]),P=tG(e,t,n),F=0;for(let e of l)e.initialize(n);s&&s.initialize(n),o&&o.initialize(n);for(let e of r){let t=[];for(let t of l)t.scope(`facet`,e);s&&s.scope(`facet`,e),o&&o.scope(`facet`,e);for(let[r,c]of XI(e,x))for(let[e,u]of XI(c,d))for(let[c,f]of P(u))if(x&&(f.z=r),!(o&&!o.reduce(c,f))){t.push(F++),w.push(a.reduceIndex(c,n,f)),d&&E.push(e),p&&D.push(x===p?r:p[(c.length>0?c:u)[0]]),h&&O.push(x===h?r:h[(c.length>0?c:u)[0]]),_&&k.push(x===_?r:_[(c.length>0?c:u)[0]]),A&&(A.push(f.x1),j.push(f.x2)),M&&(M.push(f.y1),N.push(f.y2));for(let e of l)e.reduce(c,f);s&&s.reduce(c,f)}C.push(t)}return eL(C,s,c),{data:w,facets:C}}),...!GI(l,`x`)&&(d?{x1:d,x2:p,x:RF(d,p)}:{x:C,x1:O,x2:k}),...!GI(l,`y`)&&(h?{y1:h,y2:_,y:RF(h,_)}:{y:w,y1:A,y2:j}),...x&&{[b]:x},...Object.fromEntries(l.map(({name:e,output:t})=>[e,t]))}}function WW({cumulative:e,domain:t,thresholds:n,interval:r,...a},o){return[a,{cumulative:e,domain:t,thresholds:n,interval:r,...o}]}function GW(e,{cumulative:t,domain:n,thresholds:r,interval:a},o){return e={...qF(e)},e.domain===void 0&&(e.domain=n),e.cumulative===void 0&&(e.cumulative=t),e.thresholds===void 0&&(e.thresholds=r),e.interval===void 0&&(e.interval=a),e.value===void 0&&(e.value=o),e.thresholds=qW(e.thresholds,e.interval),e}function KW(e){if(e==null)return;let{value:t,cumulative:n,domain:r=wg,thresholds:a}=e,o=e=>{let o=HP(e,t),s;if(QF(o)||eG(a)){o=_F(o,lF,Float64Array);let[e,t]=typeof r==`function`?r(o):r,n=typeof a==`function`&&!KF(a)?a(o,e,t):a;typeof n==`number`&&(n=ek(e,t,n)),KF(n)&&(r===wg&&(e=n.floor(e),t=n.offset(n.floor(t))),n=n.range(e,n.offset(t))),s=n}else{o=oF(o);let[e,t]=typeof r==`function`?r(o):r,n=typeof a==`function`&&!KF(a)?a(o,e,t):a;if(typeof n==`number`)if(r===wg){let r=qg(e,t,n);if(isFinite(r))if(r>0){let a=Math.round(e/r),o=Math.round(t/r);a*r<=e||--a,o*r>t||++o;let s=o-a+1;n=new Float64Array(s);for(let e=0;e<s;++e)n[e]=(a+e)*r}else if(r<0){r=-r;let a=Math.round(e*r),o=Math.round(t*r);a/r<=e||--a,o/r>t||++o;let s=o-a+1;n=new Float64Array(s);for(let e=0;e<s;++e)n[e]=(a+e)/r}else n=[e];else n=[e]}else n=Kg(e,t,n);else KF(n)&&(r===wg&&(e=n.floor(e),t=n.offset(n.floor(t))),n=n.range(e,n.offset(t)));s=n}let c=[];if(s.length===1)c.push([s[0],s[0]]);else for(let e=1;e<s.length;++e)c.push([s[e-1],s[e]]);return c.bin=(n<0?iG:n>0?rG:nG)(c,s,o),c};return o.label=LF(t),o}function qW(e,t,n=$W){if(e===void 0)return t===void 0?n:UF(t);if(typeof e==`string`){switch(e.toLowerCase()){case`freedman-diaconis`:return a_;case`scott`:return o_;case`sturges`:return Yg;case`auto`:return $W}return EP(e)}return e}function JW(e,t){return KI(e,t,YW)}function YW(e,t,n){return qI(e,t,n,XW)}function XW(e,t,n){return YI(e,t,n,ZW)}function ZW(e,t){return ZI(e,t,QW)}function QW(e){switch(`${e}`.toLowerCase()){case`x`:return oG;case`x1`:return cG;case`x2`:return lG;case`y`:return sG;case`y1`:return uG;case`y2`:return dG;case`z`:return pL}throw Error(`invalid bin reduce: ${e}`)}function $W(e,t,n){return Math.min(200,o_(e,t,n))}function eG(e){return GF(e)||YF(e)&&QF(e)}function tG(e,t,n){let r=e?.(n),a=t?.(n);return r&&a?function*(e){let t=r.bin(e);for(let[e,[o,s]]of r.entries()){let r=a.bin(t[e]);for(let[e,[t,c]]of a.entries())yield[r[e],{data:n,x1:o,y1:t,x2:s,y2:c}]}}:r?function*(e){let t=r.bin(e);for(let[e,[a,o]]of r.entries())yield[t[e],{data:n,x1:a,x2:o}]}:function*(e){let t=a.bin(e);for(let[e,[r,o]]of a.entries())yield[t[e],{data:n,y1:r,y2:o}]}}function nG(e,t,n){return t=oF(t),r=>{let a=e.map(()=>[]);for(let e of r)a[mg(t,n[e])-1]?.push(e);return a}}function rG(e,t,n){let r=nG(e,t,n);return e=>{let t=r(e);for(let e=1,n=t.length;e<n;++e){let n=t[e-1],r=t[e];for(let e of n)r.push(e)}return t}}function iG(e,t,n){let r=nG(e,t,n);return e=>{let t=r(e);for(let e=t.length-2;e>=0;--e){let n=t[e+1],r=t[e];for(let e of n)r.push(e)}return t}}function aG(e,t){let n=(+e+ +t)/2;return e instanceof Date?new Date(n):n}var oG={reduceIndex(e,t,{x1:n,x2:r}){return aG(n,r)}},sG={reduceIndex(e,t,{y1:n,y2:r}){return aG(n,r)}},cG={reduceIndex(e,t,{x1:n}){return n}},lG={reduceIndex(e,t,{x2:n}){return n}},uG={reduceIndex(e,t,{y1:n}){return n}},dG={reduceIndex(e,t,{y2:n}){return n}},fG={ariaLabel:`area`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,strokeMiterlimit:1},pG=class extends RB{constructor(e,t={}){let{x1:n,y1:r,x2:a,y2:o,z:s,curve:c,tension:l}=t;super(e,{x1:{value:n,scale:`x`},y1:{value:r,scale:`y`},x2:{value:a,scale:`x`,optional:!0},y2:{value:o,scale:`y`,optional:!0},z:{value:OF(t),optional:!0}},t,fG),this.z=s,this.curve=LW(c,l)}filter(e){return e}render(e,t,n,r,a){let{x1:o,y1:s,x2:c=o,y2:l=s}=n;return Qz(`svg:g`,a).call(DB,this,r,a).call(jB,this,t,0,0).call(t=>t.selectAll().data(bB(e,[o,s,c,l],this,n)).enter().append(`path`).call(OB,this).call(_B,this,n).attr(`d`,EM().curve(this.curve).defined(e=>e>=0).x0(e=>o[e]).y0(e=>s[e]).x1(e=>c[e]).y1(e=>l[e]))).node()}};function mG(e,t){let{x:n=XP,...r}=HW(t);return new pG(e,vU(hU({...r,x1:n,x2:void 0},n===XP?`y2`:`y`)))}var hG={ariaLabel:`bar`},gG=class extends RB{constructor(e,t,n={},r=hG){super(e,t,n,r),zU(this,n),BU(this,n)}render(e,t,n,r,a){let{rx:o,ry:s,rx1y1:c,rx1y2:l,rx2y1:u,rx2y2:d}=this,f=this._x(t,n,r),p=this._y(t,n,r),m=this._width(t,n,r),h=this._height(t,n,r);return Qz(`svg:g`,a).call(DB,this,r,a).call(this._transform,this,t).call(t=>t.selectAll().data(e).enter().call(c||l||u||d?e=>e.append(`path`).call(OB,this).call(VU,f,p,_G(f,m),_G(p,h),this).call(gB,this,n):e=>e.append(`rect`).call(OB,this).attr(`x`,f).attr(`width`,m).attr(`y`,p).attr(`height`,h).call($,`rx`,o).call($,`ry`,s).call(gB,this,n))).node()}_x(e,{x:t},{marginLeft:n}){let{insetLeft:r}=this;return t?e=>t[e]+r:n+r}_y(e,{y:t},{marginTop:n}){let{insetTop:r}=this;return t?e=>t[e]+r:n+r}_width({x:e},{x:t},{marginRight:n,marginLeft:r,width:a}){let{insetLeft:o,insetRight:s}=this,c=t&&e?e.bandwidth():a-n-r;return Math.max(0,c-o-s)}_height({y:e},{y:t},{marginTop:n,marginBottom:r,height:a}){let{insetTop:o,insetBottom:s}=this,c=t&&e?e.bandwidth():a-n-r;return Math.max(0,c-o-s)}};function _G(e,t){return typeof e==`function`&&typeof t==`function`?n=>e(n)+t(n):typeof e==`function`?n=>e(n)+t:typeof t==`function`?n=>e+t(n):e+t}var vG=class extends gG{constructor(e,t={},n){let{x:r,y1:a,y2:o}=t;super(e,{y1:{value:a,scale:`y`},y2:{value:o,scale:`y`},x:{value:r,scale:`x`,type:`band`,optional:!0}},t,n)}_transform(e,t,{y:n}){e.call(jB,t,{y:n},0,0)}_y({y:e},{y1:t,y2:n},{marginTop:r}){let{insetTop:a}=this;return cz(e)?r+a:e=>Math.min(t[e],n[e])+a}_height({y:e},{y1:t,y2:n},{marginTop:r,marginBottom:a,height:o}){let{insetTop:s,insetBottom:c}=this;return cz(e)?o-r-a-s-c:e=>Math.max(0,Math.abs(n[e]-t[e])-s-c)}};function yG(e,t={}){return xF(t)||(t={...t,x:XP,y2:ZP}),new vG(e,vU(wV(hU(t))))}var bG={ariaLabel:`dot`,fill:`none`,stroke:`currentColor`,strokeWidth:1.5};function xG(e){return e.sort===void 0&&e.reverse===void 0?VI({channel:`-r`},e):e}var SG=class extends RB{constructor(e,t={}){let{x:n,y:r,r:a,rotate:o,symbol:s=MM,frameAnchor:c}=t,[l,u]=dF(o,0),[d,f]=NI(s),[p,m]=dF(a,d==null?3:4.5);super(e,{x:{value:n,scale:`x`,optional:!0},y:{value:r,scale:`y`,optional:!0},r:{value:p,scale:`r`,filter:eP,optional:!0},rotate:{value:l,optional:!0},symbol:{value:d,scale:`auto`,optional:!0}},xG(t),bG),this.r=m,this.rotate=u,this.symbol=f,this.frameAnchor=uI(c);let{channels:h}=this,{symbol:g}=h;if(g){let{fill:e,stroke:t}=h;g.hint={fill:e?e.value===g.value?`color`:`currentColor`:this.fill??`currentColor`,stroke:t?t.value===g.value?`color`:`currentColor`:this.stroke??`none`}}}render(e,t,n,r,a){let{x:o,y:s}=t,{x:c,y:l,r:u,rotate:d,symbol:f}=n,{r:p,rotate:m,symbol:h}=this,[g,_]=LB(this,r),v=h===MM,y=u?void 0:p*p*Math.PI;return tP(p)&&(e=[]),Qz(`svg:g`,a).call(DB,this,r,a).call(jB,this,{x:c&&o,y:l&&s}).call(t=>t.selectAll().data(e).enter().append(v?`circle`:`path`).call(OB,this).call(v?e=>{e.attr(`cx`,c?e=>c[e]:g).attr(`cy`,l?e=>l[e]:_).attr(`r`,u?e=>u[e]:p)}:e=>{e.attr(`transform`,NV`translate(${c?e=>c[e]:g},${l?e=>l[e]:_})${d?e=>` rotate(${d[e]})`:m?` rotate(${m})`:``}`).attr(`d`,u&&f?e=>{let t=RC();return f[e].draw(t,u[e]*u[e]*Math.PI),t}:u?e=>{let t=RC();return h.draw(t,u[e]*u[e]*Math.PI),t}:f?e=>{let t=RC();return f[e].draw(t,y),t}:(()=>{let e=RC();return h.draw(e,y),e})())}).call(gB,this,n)).node()}};function CG(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=DF(t,n)),new SG(e,{...r,x:t,y:n})}var wG={ariaLabel:`line`,fill:`none`,stroke:`currentColor`,strokeWidth:1.5,strokeLinecap:`round`,strokeLinejoin:`round`,strokeMiterlimit:1},TG=class extends RB{constructor(e,t={}){let{x:n,y:r,z:a,curve:o,tension:s}=t;super(e,{x:{value:n,scale:`x`},y:{value:r,scale:`y`},z:{value:OF(t),optional:!0}},t,wG),this.z=a,this.curve=RW(o,s),rV(this,t)}filter(e){return e}project(e,t,n){this.curve!==zW&&super.project(e,t,n)}render(e,t,n,r,a){let{x:o,y:s}=n,{curve:c}=this;return Qz(`svg:g`,a).call(DB,this,r,a).call(jB,this,t).call(t=>t.selectAll().data(bB(e,[o,s],this,n)).enter().append(`path`).call(OB,this).call(_B,this,n).call(fV,this,n,a).attr(`d`,c===zW&&a.projection?EG(a.path(),o,s):TM().curve(c).defined(e=>e>=0).x(e=>o[e]).y(e=>s[e]))).node()}};function EG(e,t,n){return t=oF(t),n=oF(n),r=>{let a=[],o=[a];for(let e of r)e===-1?(a=[],o.push(a)):a.push([t[e],n[e]]);return e({type:`MultiLineString`,coordinates:o})}}function DG(e,{x:t=XP,y:n=ZP,...r}={}){return new TG(e,HW({...r,x:t,y:n}))}RB.prototype.plot=function({marks:e=[],...t}={}){return cW({...t,marks:[...e,this]})};function OG(e){let{drawable:t,scale:n}=e,r=t.geometry;if(r==null)return null;let a=r.width*n,o=r.height*n,s=[`height: ${o}px`,`left: ${r.x*n}px`,`position: absolute`,`top: ${r.y*n}px`,`width: ${a}px`].join(`; `),c=T(),l=t.chartType||`bar`,u=t.data||[],d=t.labels||[],f=t.series||[],p=[];for(let e=0;e<u.length;e++)for(let t=0;t<u[e].length;t++)p.push({category:d[e]||`Row ${e}`,series:f[t]||`Series ${t}`,value:u[e][t]});return p.length===0?B(`div`,{class:`kn-chart`,style:s},B(`div`,{class:`kn-chart-empty`},`Chart (no data)`)):(setTimeout(function(){let e=c.value;if(e==null)return;let t=cW({marks:kG(l,p),width:a,height:o,style:{background:`transparent`,color:`#333`}});e.innerHTML=``,e.appendChild(t)},0),B(`div`,{class:`kn-chart`,style:s,ref:c}))}function kG(e,t){return e===`pie`?[yG(t,{x:`category`,y:`value`,fill:`series`}),jV([0])]:e===`line`?[DG(t,{x:`category`,y:`value`,stroke:`series`})]:e===`scatter`?[CG(t,{x:`category`,y:`value`,fill:`series`})]:e===`area`?[mG(t,{x:`category`,y:`value`,fill:`series`,fillOpacity:.5}),DG(t,{x:`category`,y:`value`,stroke:`series`})]:[yG(t,{x:`category`,y:`value`,fill:`series`}),jV([0])]}function AG(e){let{drawable:t,scale:n,medias:r}=e;if(t.geometry==null&&t.type!==`image`&&t.type!==`chart`)return null;let a=t.geometry;return a&&a.width===0&&a.height===0&&!t.isTextBox?null:t.type===`image`?B(ig,{drawable:t,scale:n,medias:r}):t.type===`chart`?B(OG,{drawable:t,scale:n}):t.isTextBox&&t.text?B(og,{drawable:t,scale:n}):t.fill||t.stroke?B(ag,{drawable:t,scale:n}):t.text?B(og,{drawable:t,scale:n}):B(`span`,null)}function jG(e){let{slide:t,width:n,height:r,scale:a,medias:o}=e;return B(`div`,{class:`slide`,style:`height: ${r*a}px; position: relative; width: ${n*a}px`},B(H,{each:t.drawables},e=>B(AG,{drawable:e,scale:a,medias:o})))}async function MG(e){let{zip:t}=e,n=await rg(t),{slides:r,width:a,height:o,medias:s}=n;console.log(n);let c=960/a;return{...e,slides:r,width:a,height:o,medias:s,scale:c,Component:NG,icon:`keynote`}}function NG(e){let{slides:t,width:n,height:r,scale:a,medias:o}=e;return B(`div`,{class:`slides`},B(H,{each:t},(e,t)=>B(jG,{slide:e,width:n,height:r,scale:a,medias:o})))}function PG(e){let t=new URLSearchParams;if(Object.entries(e).forEach(function([e,n]){n&&t.set(e,n)}),!e.hasOwnProperty(`token`)){let e=localStorage.getItem(`token`);e&&t.set(`token`,e)}return t}function FG(e,t){let n=t&&PG(t).toString();return e=e.replace(`//`,`/`),n?`${e}?${n}`:e}async function IG(e){let{url:t,body:n,params:r}=e,a=FG(t,r);try{return await(await fetch(a,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})).json()}catch(e){console.error(t,r,e)}}async function LG(e,t={},n={}){let r=await zG(e,t,n);try{return JSON.parse(r)}catch(t){console.error(e,n,t)}}async function RG(e,t={},n={}){let r=FG(e,n);try{return await(await fetch(r,{headers:{"Content-Type":`application/octet-stream`}})).arrayBuffer()}catch(t){console.error(e,n,t)}}async function zG(e,t={},n={}){let r=FG(e,n);try{return await(await fetch(r,t)).text()}catch(t){console.error(e,n,t)}}await async function(){if(wt){let{Readable:e}=await Mt(async()=>{let{Readable:e}=await import(`node:stream`);return{Readable:e}},[],import.meta.url);return function(t){return e.from([t])}}return function(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}}(),await async function(){if(wt){let{createInflateRaw:e}=await Mt(async()=>{let{createInflateRaw:e}=await import(`node:zlib`);return{createInflateRaw:e}},[],import.meta.url),{Readable:t}=await Mt(async()=>{let{Readable:e}=await import(`node:stream`);return{Readable:e}},[],import.meta.url);return function(n){let r=e();return t.from([n]).pipe(r)}}return function(e){let t=new DecompressionStream(`deflate-raw`),n=t.writable.getWriter();return n.write(e),n.close(),t.readable}}();function BG(e){let t=VG(e),n=t.read(8),r=t.read(8);if(n!==66||r!==90)throw Error(`invalid bzip2 header`);t.read(8),(t.read(8)-48)*1e5;let a=[];for(;;){let e=t.read48();if(e===25779555029136)break;if(e!==54156738319193)throw Error(`bad bzip2 block magic`);t.read(32),t.read(1);let n=t.read(24),r=t.read(16),o=[];for(let e=0;e<16;e++)if(r&1<<15-e){let n=t.read(16);for(let t=0;t<16;t++)n&1<<15-t&&o.push(e*16+t)}let s=o.length+2,c=t.read(3),l=t.read(15),u=[];for(let e=0;e<l;e++){let e=0;for(;t.read(1);)e++;u.push(e)}let d=Array(c);for(let e=0;e<c;e++)d[e]=e;let f=[];for(let e of u){let t=d[e];for(let t=e;t>0;t--)d[t]=d[t-1];d[0]=t,f.push(t)}let p=[];for(let e=0;e<c;e++){let e=[],n=t.read(5);for(let r=0;r<s;r++){for(;t.read(1);)t.read(1)?n--:n++;e.push(n)}p.push(HG(e))}let m=[],h=0,g=0,_=p[f[0]];for(;;){g===50&&(g=0,h++,_=p[f[h]]),g++;let e=UG(t,_);if(e===s-1)break;if(e<=1){let n=0,r=1,a=e;for(;a<=1;)n+=(a+1)*r,r*=2,g===50&&(g=0,h++,_=p[f[h]]),g++,a=UG(t,_);for(let e=0;e<n;e++)m.push(0);if(a===s-1)break;m.push(a-1)}else m.push(e-1)}let v=o.slice(),y=new Uint8Array(m.length);for(let e=0;e<m.length;e++){let t=m[e],n=v[t];y[e]=n;for(let e=t;e>0;e--)v[e]=v[e-1];v[0]=n}let b=y.length,x=new Uint32Array(256);for(let e=0;e<b;e++)x[y[e]]++;let S=new Uint32Array(256),C=0;for(let e=0;e<256;e++)S[e]=C,C+=x[e];let w=new Uint32Array(b);for(let e=0;e<b;e++){let t=y[e];w[S[t]]=e,S[t]++}let T=w[n],E=new Uint8Array(b);for(let e=0;e<b;e++)E[e]=y[T],T=w[T];let D=0;for(;D<b;){let e=E[D],t=1;for(;D+t<b&&E[D+t]===e&&t<4;)t++;for(let n=0;n<t;n++)a.push(e);if(D+=t,t===4&&D<b){let t=E[D++];for(let n=0;n<t;n++)a.push(e)}}}return new Uint8Array(a)}function VG(e){let t=0,n=0;function r(r){let a=0;for(let o=0;o<r;o++)a=a<<1|e[t]>>7-n&1,n++,n===8&&(n=0,t++);return a}function a(){let e=r(24),t=r(24);return e*16777216+t}return{read:r,read48:a}}function HG(e){let t=Math.max(...e),n={minLen:Math.min(...e.filter(function(e){return e>0})),maxLen:t,codes:[]},r=new Uint32Array(t+1);for(let t of e)r[t]++;let a=new Uint32Array(t+1),o=0;for(let e=1;e<=t;e++)o=o+r[e-1]<<1,a[e]=o;for(let t=0;t<e.length;t++){let r=e[t];r>0&&(n.codes.push({sym:t,len:r,code:a[r]}),a[r]++)}return n}function UG(e,t){let n=0;for(let r=1;r<=t.maxLen;r++){n=n<<1|e.read(1);for(let e of t.codes)if(e.len===r&&e.code===n)return e.sym}throw Error(`invalid huffman code`)}var WG=117853008,GG=101075792,KG=134695760,qG=8;function JG(e,t){return e[t]|e[t+1]<<8}function YG(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function XG(e,t){if(t+8<=e.length){let n=new DataView(e.buffer,e.byteOffset+t,8);return Number(n.getBigUint64(0,!0))}return 0}function ZG(e,t,n){let r=[],a=Math.min(t+n,e.length),o=t;for(;o+4<=a;){let t=JG(e,o),n=JG(e,o+2);r.push({id:t,offset:o,size:n+4}),o+=4+n}return r}function QG(e,t,n){let r=ZG(e,t.extraOffset,t.extraLength).find(e=>e.id===1);if(r){let a=r.offset+r.size,o=r.offset+4;t.size===4294967295&&o+8<=a&&(t.size=XG(e,o),o+=8),t.compressedSize===4294967295&&o+8<=a&&(t.compressedSize=XG(e,o),o+=8),t.localHeaderOffset===4294967295&&o+8<=a&&(t.localHeaderOffset=XG(e,o),o+=8),n===65535&&o+4<=a&&(o+=4),t.zip64=!0}return t}function $G(e,t){let n=JG(e,t+20),r=new TextDecoder().decode(e.subarray(t+22,t+22+n)),a={eocdOffset:t,eocdSize:22+n,eocd64Offset:0,eocd64Size:0,locatorOffset:0,cdOffset:YG(e,t+16),cdSize:YG(e,t+12),totalEntries:JG(e,t+10),zip64:!1,comment:r},o=t-20;if(o>=0&&YG(e,o)===WG){let t=XG(e,o+8);t+56<=e.length&&YG(e,t)===GG&&(a.zip64=!0,a.locatorOffset=o,a.eocd64Offset=t,a.eocd64Size=12+XG(e,t+4),a.totalEntries=XG(e,t+32),a.cdSize=XG(e,t+40),a.cdOffset=XG(e,t+48))}return a}function eK(e,t,n){let r=t+4<=e.length&&YG(e,t)===KG;return{offset:t,size:(r?4:0)+4+(n?8:4)*2,hasSignature:r}}function tK(e,t){let n=mh(e,t.localHeaderOffset),r=n?n.dataOffset:t.localHeaderOffset+30,a=(t.flags&qG)===0?{offset:0,size:0,hasSignature:!1}:eK(e,r+t.compressedSize,t.zip64===!0);return{name:t.name,cdOffset:t.cdOffset,cdSize:t.cdSize,localHeaderOffset:t.localHeaderOffset,localHeaderSize:r-t.localHeaderOffset,dataOffset:r,dataSize:t.compressedSize,descriptorOffset:a.offset,descriptorSize:a.size,descriptorSigned:a.hasSignature,compMethod:t.compMethod,crc32:t.crc32,compressedSize:t.compressedSize,uncompressedSize:t.size,flags:t.flags,lastModified:t.lastModified,zip64:t.zip64===!0,extraFields:ZG(e,t.extraOffset,t.extraLength)}}function nK(e,t,n){return{eocdOffset:t.eocdOffset,eocdSize:t.eocdSize,eocd64Offset:t.eocd64Offset,eocd64Size:t.eocd64Size,locatorOffset:t.locatorOffset,cdOffset:t.cdOffset,cdSize:t.cdSize,totalEntries:t.totalEntries,zip64:t.zip64,comment:t.comment,entries:n.map(t=>tK(e,t))}}var rK=[253,55,122,88,90,0];function iK(e,t){return e[0]===rK[0]&&e[1]===rK[1]&&e[2]===rK[2]&&e[3]===rK[3]?aK(e,t):uK(e,t)}function aK(e,t){let n=new Uint8Array(t),r=0,a=6,o=e[a]<<8|e[a+1];for(a+=2,a+=4;a<e.length;){let s=e[a];if(s===0)break;let c=(s+1)*4,l=a;a++;let u=e[a++],d=(u&3)+1,f=!!(u&64),p=!!(u&128),m=0;if(f){let t=bK(e,a);m=t.value,a=t.pos}if(p){let t=bK(e,a);t.value,a=t.pos}let h=0;for(let t=0;t<d;t++){let t=bK(e,a),n=t.value;a=t.pos;let r=bK(e,a),o=r.value;if(a=r.pos,n===33){if(o>0){let t=e[a];if(t>40)throw Error(`invalid LZMA2 dict size byte: `+t);h=t===40?4294967295:(2|t&1)<<(t>>1)+11}a+=o}else a+=o}if(a=l+c,f){let o=oK(e,a,m,h,t-r);n.set(o,r),r+=o.length,a+=m}else{let o=oK(e,a,e.length-a,h,t-r);n.set(o,r),r+=o.length,a+=o._consumedInput||e.length-a}for(;a%4!=0;)a++;let g=o&15;a+=[0,4,4,4,8,8,8,16,16,16,32,32,32,32,32,32][g]||0}return n.subarray(0,r)}function oK(e,t,n,r,a){let o=new Uint8Array(a),s=0,c=t,l=t+n;r===0&&(r=4096);let u=new Uint8Array(r),d=0,f=null;for(;c<l&&s<a;){let t=e[c++];if(t===0)break;if(t===1){let t=(e[c]<<8|e[c+1])+1;c+=2;for(let n=0;n<t&&s<a;n++){let t=e[c++];o[s++]=t,u[d]=t,d=(d+1)%r}f=null}else if(t===2){let t=(e[c]<<8|e[c+1])+1;c+=2;for(let n=0;n<t&&s<a;n++){let t=e[c++];o[s++]=t,u[d]=t,d=(d+1)%r}}else if(t>=128){t&32,t&64,t&64&&t&32;let n=(t&31)<<16|e[c]<<8|e[c+1];c+=2;let a=n+1,l=(e[c]<<8|e[c+1])+1;c+=2;let p=t>=192,m=t>=160,h=t>=224,g,_,v;if(p){let t=e[c++];g=t%9;let n=(t-g)/9;_=n%5,v=(n-_)/5,f=sK(g,_,v)}else(m||f===null)&&(f===null?(g=3,_=0,v=2,f=sK(g,_,v)):cK(f));h&&(u.fill(0),d=0);let y=c,b=lK(e,c,l,a,f,u,d,r,s);o.set(b.data,s),s+=b.data.length,d=b.dictPos,c=y+l}else break}let p=o.subarray(0,s);return p._consumedInput=c-t,p}function sK(e,t,n){let r=1<<n,a=1<<e+t;return{lc:e,lp:t,pb:n,state:0,rep0:0,rep1:0,rep2:0,rep3:0,isMatch:yK(12*r),isRep:yK(12),isRepG0:yK(12),isRepG1:yK(12),isRepG2:yK(12),isRep0Long:yK(12*r),litProbs:yK(a*768),posSlotDec:[yK(64),yK(64),yK(64),yK(64)],alignProbs:yK(16),posProbs:yK(124),lenDec:{choice:yK(1),choice2:yK(1),low:yK(r*8),mid:yK(r*8),high:yK(256)},repLenDec:{choice:yK(1),choice2:yK(1),low:yK(r*8),mid:yK(r*8),high:yK(256)}}}function cK(e){e.state=0,e.rep0=0,e.rep1=0,e.rep2=0,e.rep3=0,e.isMatch.fill(1024),e.isRep.fill(1024),e.isRepG0.fill(1024),e.isRepG1.fill(1024),e.isRepG2.fill(1024),e.isRep0Long.fill(1024),e.litProbs.fill(1024);for(let t=0;t<4;t++)e.posSlotDec[t].fill(1024);e.alignProbs.fill(1024),e.posProbs.fill(1024),e.lenDec.choice.fill(1024),e.lenDec.choice2.fill(1024),e.lenDec.low.fill(1024),e.lenDec.mid.fill(1024),e.lenDec.high.fill(1024),e.repLenDec.choice.fill(1024),e.repLenDec.choice2.fill(1024),e.repLenDec.low.fill(1024),e.repLenDec.mid.fill(1024),e.repLenDec.high.fill(1024)}function lK(e,t,n,r,a,o,s,c,l){let u=xK(e,t),d=new Uint8Array(r),f=0,p=1<<a.pb;for(;f<r;){let e=l+f&p-1;if(u.decodeBit(a.isMatch,a.state*p+e)===0){let e=f>0?d[f-1]:s>0?o[s-1]:0,t=((l+f&(1<<a.lp)-1)<<a.lc|e>>8-a.lc)*768,n;if(a.state>=7){let e=s-a.rep0-1;e<0&&(e+=c);let r=o[e];n=mK(u,a.litProbs,t,r)}else n=pK(u,a.litProbs,t);d[f++]=n,o[s]=n,s=(s+1)%c,a.state=hK(a.state)}else{let t;if(u.decodeBit(a.isRep,a.state)===0){t=fK(u,a.lenDec,e,p);let n=dK(u,t,a);a.rep3=a.rep2,a.rep2=a.rep1,a.rep1=a.rep0,a.rep0=n,a.state=gK(a.state)}else{if(u.decodeBit(a.isRepG0,a.state)===0){if(u.decodeBit(a.isRep0Long,a.state*p+e)===0){let e=s-a.rep0-1;e<0&&(e+=c);let t=o[e];d[f++]=t,o[s]=t,s=(s+1)%c,a.state=vK(a.state);continue}t=fK(u,a.repLenDec,e,p)}else if(u.decodeBit(a.isRepG1,a.state)===0){let n=a.rep1;a.rep1=a.rep0,a.rep0=n,t=fK(u,a.repLenDec,e,p)}else if(u.decodeBit(a.isRepG2,a.state)===0){let n=a.rep2;a.rep2=a.rep1,a.rep1=a.rep0,a.rep0=n,t=fK(u,a.repLenDec,e,p)}else{let n=a.rep3;a.rep3=a.rep2,a.rep2=a.rep1,a.rep1=a.rep0,a.rep0=n,t=fK(u,a.repLenDec,e,p)}a.state=_K(a.state)}let n=t+2;for(let e=0;e<n&&f<r;e++){let e=s-a.rep0-1;e<0&&(e+=c);let t=o[e];d[f++]=t,o[s]=t,s=(s+1)%c}}}return{data:d,dictPos:s,inputPos:u.getPos()}}function uK(e,t){let n=e[0],r=n%9,a=(n-r)/9,o=a%5,s=(a-o)/5,c=Math.max(4096,e[1]|e[2]<<8|e[3]<<16|e[4]<<24>>>0);t===void 0&&(t=(e[5]|e[6]<<8|e[7]<<16|e[8]<<24>>>0)+(e[9]|e[10]<<8|e[11]<<16|e[12]<<24>>>0)*4294967296);let l=sK(r,o,s),u=new Uint8Array(c);return lK(e,13,e.length-13,t,l,u,0,c,0).data}function dK(e,t,n){let r=Math.min(t,3),a=e.decodeBitTree(n.posSlotDec[r],6);if(a<4)return a;let o=(a>>1)-1,s=(2|a&1)<<o;return a<14?s+=e.decodeReverseBitTree(n.posProbs,o,s-a):(s+=e.decodeDirect(o-4)<<4,s+=e.decodeReverseBitTree(n.alignProbs,4,0)),s}function fK(e,t,n){return e.decodeBit(t.choice,0)===0?e.decodeBitTree(t.low,3,n*8):e.decodeBit(t.choice2,0)===0?8+e.decodeBitTree(t.mid,3,n*8):16+e.decodeBitTree(t.high,8)}function pK(e,t,n){let r=1;for(;r<256;)r=r<<1|e.decodeBit(t,n+r);return r&255}function mK(e,t,n,r){let a=1,o=r,s=!0;for(;a<256;)if(s){o<<=1;let r=o>>8&1,c=e.decodeBit(t,n+(1+r<<8)+a);a=a<<1|c,r!==c&&(s=!1)}else a=a<<1|e.decodeBit(t,n+a);return a&255}function hK(e){return e<4?0:e<10?e-3:e-6}function gK(e){return e<7?7:10}function _K(e){return e<7?8:11}function vK(e){return e<7?9:11}function yK(e){let t=new Uint16Array(e);return t.fill(1024),t}function bK(e,t){let n=0,r=0;for(;;){let a=e[t++];if(n|=(a&127)<<r,!(a&128))break;r+=7}return{value:n,pos:t}}function xK(e,t){let n=t,r=4294967295,a=0;n++;for(let t=0;t<4;t++)a=(a<<8|e[n++])>>>0;function o(){r<16777216&&(r=r<<8>>>0,a=(a<<8|(e[n++]||0))>>>0)}function s(e,t){let n=e[t],s=(r>>>11)*n>>>0;return a<s?(r=s,e[t]=n+(2048-n>>5),o(),0):(r=r-s>>>0,a=a-s>>>0,e[t]=n-(n>>5),o(),1)}function c(e){let t=0;for(let n=0;n<e;n++)r=r>>>1>>>0,a=a-r>>>0,a&2147483648?(a=a+r>>>0,t<<=1):t=t<<1|1,o();return t}function l(e,t,n){n===void 0&&(n=0);let r=1;for(let a=0;a<t;a++)r=r<<1|s(e,n+r);return r-(1<<t)}function u(e,t,n){let r=0,a=1;for(let o=0;o<t;o++){let t=s(e,n+a);a=a<<1|t,r|=t<<o}return r}function d(){return n}return{decodeBit:s,decodeDirect:c,decodeBitTree:l,decodeReverseBitTree:u,getPos:d}}function SK(e){return e<=0?0:31-Math.clz32(e)}function CK(e){return e>0&&!(e&e-1)}function wK(e,t,n){let r=0,a=0,o=n;if(o=n-1,e[o]===0)for(;o>t&&e[o]===0;)o--;let s=o,c=e[o],l=SK(c);r=l,a=c&(1<<l)-1,o--;let u=l+(s-t)*8,d=0;for(;r<=24&&o>=t;)a=a<<8|e[o--],r+=8;return{read(n){if(n===0)return 0;d+=n,r-=n;let s=a>>>r&(1<<n)-1;for(;r<=24&&o>=t;)a=a<<8|e[o--],r+=8;return s},peek(e){return e===0||r<e?0:a>>>r-e&(1<<e)-1},consume(n){for(d+=n,r-=n;r<=24&&o>=t;)a=a<<8|e[o--],r+=8},available(){return r},hasMoreBytes(){return o>=t},totalBits(){return u},bitsConsumed(){return d}}}function TK(e,t){let n=1<<t,r=Array(n);for(let e=0;e<n;e++)r[e]={symbol:0,stBits:0,nextState:0,baseline:0,nbBits:0};let a=n-1;for(let t=0;t<e.length;t++)if(e[t]===-1){if(a<0)break;r[a].symbol=t,a--}let o=(n>>1)+(n>>3)+3,s=n-1,c=0;for(let t=0;t<e.length;t++){let n=e[t];if(!(n<=0))for(let e=0;e<n;e++){r[c].symbol=t;do c=c+o&s;while(c>a)}}let l=Array(e.length);for(let t=0;t<e.length;t++){let n=e[t];l[t]=n<=0?1:n}for(let e=0;e<n;e++){let a=r[e].symbol,o=l[a],s=t-SK(o);r[e].stBits=s,r[e].nextState=(o<<s)-n,l[a]=o+1}return r}function EK(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function DK(e,t,n){let r=t,a=t,o=EK(e,a),s=(o&15)+(n||0);o>>>=4;let c=4,l=(1<<s)+1,u=1<<s,d=s+1,f=[],p=0,m=!1;for(;;){if(m){let t=OK(o)>>1;for(;t>=12;)p+=36,a+=3,c-=0,a=Math.min(a,r+(e.length-4)),o=EK(e,a)>>>c,t=OK(o)>>1;for(p+=3*t,o>>>=2*t,c+=2*t,p+=o&3,c+=2;f.length<p;)f.push(0);if(p>=256)break;a+=c>>3,c&=7,o=EK(e,a)>>>c}let t=2*u-1-l,n;if((o&u-1)>>>0<t?(n=o&u-1,c+=d-1):(n=o&2*u-1,n>=u&&(n-=t),c+=d),n--,n>=0?l-=n:l+=n,f.push(n),p++,m=n===0,l<u){if(l<=1)break;d=SK(l)+1,u=1<<d-1}if(p>=256)break;a+=c>>3,c&=7,o=EK(e,a)>>>c}if(l!==1)throw Error(`FSE_readNCount: corruption detected`);return a+=c+7>>3,{probs:f,accuracyLog:s,consumed:a-r}}function OK(e){let t=~e>>>0;return t===0?32:31-Math.clz32(t&-t>>>0)}function kK(e,t,n,r,a,o,s){if(e===0)return{table:r.table,accuracyLog:r.accuracyLog,consumed:0};if(e===1){let e=t[n];return{table:[{symbol:e,stBits:0,nextState:0,baseline:e<o.length?o[e]:0,nbBits:e<s.length?s[e]:0}],accuracyLog:0,consumed:1}}if(e===3){if(a===null)throw Error(`repeat mode without prior table`);return{table:a.table,accuracyLog:a.accuracyLog,consumed:0}}let{probs:c,accuracyLog:l,consumed:u}=DK(t,n,5),d=1<<l,f=TK(c,l);for(let e=0;e<d;e++){let t=f[e].symbol;t<o.length&&(f[e].baseline=o[t],f[e].nbBits=s[t])}return{table:f,accuracyLog:l,consumed:u}}var AK=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,20,22,24,28,32,40,48,64,128,256,512,1024,2048,4096,8192,16384,32768,65536],jK=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,4,6,7,8,9,10,11,12,13,14,15,16],MK=[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37,39,41,43,47,51,59,67,83,99,131,259,515,1027,2051,4099,8195,16387,32771,65539],NK=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,4,4,5,7,8,9,10,11,12,13,14,15,16],PK=Array(32),FK=Array(32);for(let e=0;e<32;e++)FK[e]=e,PK[e]=e===0?1:1<<e;var IK=[4,3,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,3,2,1,1,1,1,1,-1,-1,-1,-1],LK=[1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1],RK=[1,4,3,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1];function zK(e,t,n,r){let a=1<<t,o=TK(e,t);for(let e=0;e<a;e++){let t=o[e].symbol;t<n.length&&(o[e].baseline=n[t],o[e].nbBits=r[t])}return{table:o,accuracyLog:t}}var BK=zK(IK,6,AK,jK),VK=zK(RK,6,MK,NK),HK=zK(LK,5,PK,FK),UK=Array(4096);for(let e=0;e<4096;e++)UK[e]={symbol:0,nbBits:0};function WK(e,t){let n=Math.min(128,e.length-t),r=Array.from(e.slice(t,t+n)).map(function(e){return e.toString(16).padStart(2,`0`)}).join(``);console.log(`[HUFF_RAW] pos=`+t+` hex=`+r);let a=e[t++],o=[];if(a>=128){let n=a-127;for(let r=0;r<n;r+=2){let a=e[t++];o.push(a>>4),r+1<n&&o.push(a&15)}let r=1+Math.ceil(n/2);return{weights:o,maxBits:GK(o),consumed:r}}let s=a,c=t+s,{probs:l,accuracyLog:u,consumed:d}=DK(e,t,5),f=TK(l,u),p=wK(e,t+d,c),m=p.totalBits(),h=p.read(u),g=p.read(u);for(console.log(`[decodeHuffmanTree] compSize=`,s,`accuracyLog=`,u,`probs=`,JSON.stringify(l),`totalBits=`,m,`revStart=`,t+d,`compEnd=`,c,`initState1=`,h,`initState2=`,g,`bitsAfterInit=`,p.bitsConsumed());o.length<255;){let e=f[h];o.push(e.symbol),h=e.nextState+p.read(e.stBits);let t=p.bitsConsumed();if((o.length<=10||t>m-20)&&console.log(`[HUFF_LOOP] w#`+o.length+` s1=`+e.symbol+` stBits=`+e.stBits+` bitsConsumed=`+t+` state1=`+h+` avail=`+p.available()),t>m){o.push(f[g].symbol),console.log(`[HUFF_BREAK] at w#`+o.length+` bitsConsumed=`+t+` > totalBits=`+m);break}if(o.length>=255)break;let n=f[g];o.push(n.symbol),g=n.nextState+p.read(n.stBits);let r=p.bitsConsumed();if((o.length<=10||r>m-20)&&console.log(`[HUFF_LOOP] w#`+o.length+` s2=`+n.symbol+` stBits=`+n.stBits+` bitsConsumed=`+r+` state2=`+g+` avail=`+p.available()),r>m){o.push(f[h].symbol),console.log(`[HUFF_BREAK] at w#`+o.length+` bitsConsumed=`+r+` > totalBits=`+m);break}}let _=1+s;return{weights:o,maxBits:GK(o),consumed:_}}function GK(e){let t=0;for(let n=0;n<e.length;n++)e[n]>t&&(t=e[n]);let n=0;for(let t=0;t<e.length;t++)e[t]>0&&(n+=1<<e[t]-1);let r=SK(n)+ +!CK(n),a=1<<r,o=a-n,s=o>0?SK(o)+1:0;console.log(`[buildHuffmanTable] weights.length=`,e.length,`sumW=`,n,`tableLog=`,r,`tableSize=`,a,`lastW=`,s,`remaining=`,o,`weights=`,JSON.stringify(e.slice(0,20)));let c=[...e,s],l=Array(r+2).fill(0);for(let e=0;e<c.length;e++){let t=c[e];t>0&&l[t]++}let u=0;for(let e=1;e<=r+1;e++){let t=l[e];l[e]=u,u+=t*(1<<e-1)}for(let e=0;e<c.length;e++){let t=c[e];if(t===0)continue;let n=r+1-t,a=1<<r-n,o=l[t];l[t]+=a;for(let t=0;t<a;t++)UK[o+t].symbol=e,UK[o+t].nbBits=n}return r}function KK(e,t,n,r,a,o,s){if(a&&r>3){let a=e[t]|e[t+1]<<8,c=e[t+2]|e[t+3]<<8,l=e[t+4]|e[t+5]<<8,u=t+6,d=r+3>>2;qK(e,u,u+a,s,0,d,o),u+=a,qK(e,u,u+c,s,d,d,o),u+=c,qK(e,u,u+l,s,d*2,d,o),u+=l,qK(e,u,n,s,d*3,r-d*3,o)}else qK(e,t,n,s,0,r,o)}function qK(e,t,n,r,a,o,s){let c=wK(e,t,n),l=0;for(;l<o;){let e=UK[c.peek(s)];c.consume(e.nbBits),r[a+l++]=e.symbol}}function JK(e){let t=e,n=Math.min(256,t.length);console.log(`[ZSTD_FRAME] len=`+t.length+` hex=`+Array.from(t.slice(0,n)).map(function(e){return e.toString(16).padStart(2,`0`)}).join(``));let r=0,a=t[r]|t[r+1]<<8|t[r+2]<<16|t[r+3]<<24;if(r+=4,a>>>0!=4247762216)throw Error(`not a zstd frame`);let o=t[r++],s=o>>5&1,c=o>>2&1,l=o>>6,u=o&3,d=0;if(s===0){let e=t[r++],n=e>>3,a=e&7;d=(1<<10+n)+(a<<7+n)}r+=[0,1,2,4][u];let f=-1;l===0&&s?f=t[r++]:l===1?(f=(t[r]|t[r+1]<<8)+256,r+=2):l===2?(f=(t[r]|t[r+1]<<8|t[r+2]<<16|t[r+3]<<24>>>0)>>>0,r+=4):l===3&&(f=((t[r]|t[r+1]<<8|t[r+2]<<16|t[r+3]<<24>>>0)>>>0)+((t[r+4]|t[r+5]<<8|t[r+6]<<16|t[r+7]<<24>>>0)>>>0)*4294967296,r+=8),s&&d===0&&(d=f);let p=f>0?new Uint8Array(f):new Uint8Array(d||131072),m=0,h=!1;for(;!h;){let e=t[r]|t[r+1]<<8|t[r+2]<<16;r+=3,h=e&1;let n=e>>1&3,a=e>>3;if(n===0)g(a),p.set(t.subarray(r,r+a),m),m+=a,r+=a;else if(n===1)g(a),p.fill(t[r++],m,m+a),m+=a;else if(n===2){let e=r+a;_(t,r,e),r=e}else throw Error(`reserved block type`)}return c&&(r+=4),p.subarray(0,m);function g(e){if(m+e>p.length){let t=new Uint8Array(Math.max(p.length*2,m+e));t.set(p),p=t}}function _(e,t,n){let r=e[t],a=r&3,o=0,s=0,c=null;if(a===0){let n=r>>2&3;n===0||n===2?(o=r>>3,t+=1):n===1?(o=(r>>4|e[t+1]<<4)&4095,t+=2):(o=(r>>4|e[t+1]<<4|e[t+2]<<12)&1048575,t+=3),c=e.slice(t,t+o),t+=o}else if(a===1){let n=r>>2&3;n===0||n===2?(o=r>>3,t+=1):n===1?(o=(r>>4|e[t+1]<<4)&4095,t+=2):(o=(r>>4|e[t+1]<<4|e[t+2]<<12)&1048575,t+=3),c=new Uint8Array(o),c.fill(e[t]),t+=1}else{let n=r>>2&3,l=n>0,u=e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24;if(n<=1)o=u>>4&1023,s=u>>14&1023,t+=3;else if(n===2)o=u>>4&16383,s=u>>>18&16383,t+=4;else{let n=e[t+4];o=u>>4&262143,s=(u>>>22|n<<10)&262143,t+=5}c=new Uint8Array(o);let d=t;if(a===2){let n=WK(e,t);v=n.maxBits,KK(e,t+n.consumed,d+s,o,l,n.maxBits,c)}else KK(e,t,d+s,o,l,v,c);t=d+s}let l=e[t++],u=0;if(l<128?u=l:l<255?u=(l-128<<8)+e[t++]:(u=(e[t]|e[t+1]<<8)+32512,t+=2),u===0){g(o),p.set(c,m),m+=o;return}let d=e[t++],f=d>>6&3,h=d>>4&3,_=d>>2&3,T=kK(f,e,t,BK,S,AK,jK);t+=T.consumed,S=T;let E=kK(h,e,t,HK,C,PK,FK);t+=E.consumed,C=E;let D=kK(_,e,t,VK,w,MK,NK);t+=D.consumed,w=D;let O=wK(e,t,n),k=O.read(T.accuracyLog),A=O.read(E.accuracyLog),j=O.read(D.accuracyLog),M=0;g(o+u*4);for(let e=0;e<u;e++){let t=E.table[A],n=D.table[j],r=T.table[k],a=t.baseline+O.read(t.nbBits),o=n.baseline+O.read(n.nbBits),s=r.baseline+O.read(r.nbBits),l;if(a>3)l=a-3,x=b,b=y,y=l;else if(a===1)if(s===0){l=b;let e=y;y=b,b=e}else l=y;else a===2?s===0?(l=x,x=b,b=y,y=l):(l=b,b=y,y=l):s===0?(l=y-1,x=b,b=y,y=l):(l=x,x=b,b=y,y=l);if(s>0&&(g(s),p.set(c.subarray(M,M+s),m),m+=s,M+=s),o>0){g(o);let e=m-l;if(l>=o)p.set(p.subarray(e,e+o),m);else for(let t=0;t<o;t++)p[m+t]=p[e+t];m+=o}e<u-1&&(k=r.nextState+O.read(r.stBits),j=n.nextState+O.read(n.stBits),A=t.nextState+O.read(t.stBits))}let N=c.length-M;N>0&&(g(N),p.set(c.subarray(M),m),m+=N)}var v,y,b,x,S,C,w}var YK;wt&&(YK=(await Mt(async()=>{let{inflateRawSync:e}=await import(`node:zlib`);return{inflateRawSync:e}},[],import.meta.url)).inflateRawSync);async function XK(e){if(wt)return YK(e);{let t=new DecompressionStream(`deflate-raw`),n=new Response(new Blob([e]).stream().pipeThrough(t));return new Uint8Array(await n.arrayBuffer())}}function ZK(e,t){return e[t]|e[t+1]<<8}function QK(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function $K(e,t){let n=(e>>9&127)+1980,r=(e>>5&15)-1,a=e&31,o=t>>11&31,s=t>>5&63,c=(t&31)*2;return new Date(n,r,a,o,s,c)}function eq(e){for(let t=e.length-22;t>=0;t--)if(e[t]===80&&e[t+1]===75&&e[t+2]===5&&e[t+3]===6)return t;return-1}async function tq(e,t,n){if(t===0)return e;if(t===8)return await XK(e);if(t===12)return BG(e);if(t===14)return iK(e,n);if(t===93)return JK(e);throw Error(`unsupported compression method: `+t)}async function nq(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(await xn(e))}async function rq(e){let t=await nq(e),n=eq(t);if(n<0)throw Error(`no EOCD found, not a ZIP file`);let r=$G(t,n),a=r.totalEntries,o=r.cdOffset,s=[],c={},l=o;for(let e=0;e<a&&QK(t,l)===33639248;e++){let e=ZK(t,l+8),n=ZK(t,l+10),r=ZK(t,l+12),a=ZK(t,l+14),o=QK(t,l+16),u=QK(t,l+20),d=QK(t,l+24),f=ZK(t,l+28),p=ZK(t,l+30),m=ZK(t,l+32),h=ZK(t,l+34),g=QK(t,l+42),_=new TextDecoder().decode(t.subarray(l+46,l+46+f)),v={name:_,size:d,compressedSize:u,compMethod:n,crc32:o,flags:e,lastModified:$K(a,r),localHeaderOffset:g,cdOffset:l,cdSize:46+f+p+m,extraOffset:l+46+f,extraLength:p};(u===4294967295||d===4294967295||g===4294967295||h===65535)&&QG(t,v,h),c[_]=s.length,s.push(v),l+=46+f+p+m}return{getEntries:d,getEntry:f,getLayout:u};function u(){return nK(t,r,s)}function d(){return s.map(function(e){return{name:e.name,size:e.size,compressedSize:e.compressedSize,compMethod:e.compMethod,lastModified:e.lastModified}})}async function f(e){let n=c[e];if(n==null)throw Error(`file not found: `+e);let r=s[n],a=r.localHeaderOffset;if(QK(t,a)!==67324752)throw Error(`invalid local file header for: `+e);let o=ZK(t,a+26),l=ZK(t,a+28),u=a+30+o+l;return await tq(t.subarray(u,u+r.compressedSize),r.compMethod,r.size)}}function iq(e){let t=[];for(let n of e){let e=n.name.split(`/`),r=t;for(let t=0;t<e.length-1;t++){let n=r.find(n=>n.name===e[t]&&n.children);n||(n={name:e[t],children:[]},r.push(n)),r=n.children}r.push({name:e.at(-1),file:n})}return t}function aq(e){let{node:t,depth:n,onSelect:r,$selected:a}=e;if(t.children)return B(`li`,{class:`cf-dir`},B(`details`,{open:!0},B(`summary`,{style:`--depth:${n}`},t.name),B(`ul`,null,B(H,{source:import.meta.url,each:t.children},e=>B(aq,{node:e,depth:n+1,onSelect:r,$selected:a})))));let o=E(()=>a.value===t.file.name?`cf-file selected`:`cf-file`);function s(){a.value=t.file.name,r(t.file)}return B(`li`,{class:o,style:`--depth:${n}`,onclick:s},t.name)}function oq(e){let{$files:t,onSelect:n}=e,r=T(null),a=E(()=>iq(t.value));return B(`ul`,null,B(H,{source:import.meta.url,each:a},e=>B(aq,{node:e,depth:0,onSelect:n,$selected:r})))}function sq(e){let{data:t,path:n=``,side:r}=e,a=t.data;t.error;let[o,s,c,l,u,d,f,p]=n.split(`/`),m=T(`definition`),h=T([]),g=T(``),_=T(``),v=null,y=E(()=>m.value===`definition`?`cf-panel`:`cf-panel cf-hidden`),b=E(()=>m.value===`code`?`cf-panel cf-code`:`cf-panel cf-code cf-hidden`),x=E(()=>m.value===`definition`?`cf-tab selected`:`cf-tab`),S=E(()=>m.value===`code`?`cf-tab selected`:`cf-tab`),C=E(()=>V(Ac,{text:g.value,language:_.value}));async function w(){if(m.value=`code`,h.value.length>0)return;let e=a?.buildConfig?.source?.storageSource;if(!e)return;let{bucket:t,object:n}=e,r=await RG(`/api/gcp-gcs/${t}/${encodeURIComponent(n)}`);r&&(v=await rq(r),h.value=v.getEntries().filter(e=>!e.name.endsWith(`/`)))}async function D(e){let{name:t}=e;if(v){let e=await v.getEntry(t);g.value=new TextDecoder().decode(e),_.value=t.split(`.`).at(-1)}}return B(`div`,{"data-path":`${l}/${d}/${p}`,style:`height: 100%;`},B(`div`,{class:`cf-tabs`},B(`span`,{class:x,onclick:()=>m.value=`definition`},`Definition`),B(`span`,{class:S,onclick:w},`Code`)),B(`div`,{class:y},B(Ed,{data:a})),B(`div`,{class:b},B(`div`,{class:`cf-tree`},B(oq,{$files:h,onSelect:D})),B(`div`,{class:`cf-content`,$dom:C})))}function cq(e){let{data:t,path:n=``}=e,r=t.data,[a,o,s,c,l,u]=n.split(`/`);return B(`div`,{"data-path":`${c}/${u}`,style:`height: 100%;`},B(Ed,{data:r}))}function lq(e){return function(){return B(`div`,{class:`ps-status`},e)}}function uq(e){let{data:t,path:n=``}=e,r=t.data,[a,o,s,c,l,u]=n.split(`/`),d=T(`definition`),f=T([]),p=T([]),m=T(``),h=T(``),g=T(``),_=T(``),v=T(``),y=T(``),b=T(!1),x=T(!1),S=T(!1),C=T(``),w=e=>E(()=>d.value===e?`ps-tab selected`:`ps-tab`),D=e=>E(()=>d.value===e?`ps-panel`:`ps-panel ps-hidden`),O=E(()=>v.value?`ps-result`:`ps-result ps-hidden`),k=E(()=>y.value?`ps-error`:`ps-error ps-hidden`);async function A(){f.value=[],b.value=!0;let e=await LG(`/api/gcp-pubsub/`,{},{path:`topic-subs/`,project:c,topicId:u});b.value=!1;let t=e?.data||[];f.value=t,t.length>0&&!m.value&&(m.value=t[0].split(`/`).pop())}async function j(){if(!(f.value.length>0))return A()}async function M(){if(!g.value.trim())return;S.value=!0,v.value=``,y.value=``;let e;if(_.value.trim())try{e=JSON.parse(_.value)}catch{y.value=`Attributes must be valid JSON`,S.value=!1;return}let t=await IG({url:`/api/gcp-pubsub/`,body:{action:`publish`,message:g.value,attributes:e},params:{project:c,topicId:u}});S.value=!1,t?.data?v.value=JSON.stringify(t.data,null,2):y.value=JSON.stringify(t,null,2)}async function N(){let e=h.value.trim();if(!e)return;C.value=``;let t=await IG({url:`/api/gcp-pubsub/`,body:{action:`create-subscription`,subscriptionId:e},params:{project:c,topicId:u}});t?.error?C.value=t.error:(h.value=``,await A())}async function P(e){let t=e.split(`/`).pop(),n=await IG({url:`/api/gcp-pubsub/`,body:{action:`delete-subscription`,subscriptionId:t},params:{project:c}});if(n?.error){C.value=n.error;return}f.value=f.value.filter(t=>t!==e),m.value===t&&(m.value=``)}async function F(){if(!m.value)return;x.value=!0,p.value=[];let e=await IG({url:`/api/gcp-pubsub/`,body:{action:`pull`,subscriptionId:m.value,maxMessages:20},params:{project:c}});x.value=!1,p.value=e?.data||[]}function I(e){try{return atob(e)}catch{return e}}return B(`div`,{"data-path":`${c}/${u}`,style:`display: flex; flex-direction: column; height: 100%;`},B(`div`,{class:`ps-tabs`},B(`span`,{class:w(`definition`),onclick:()=>d.value=`definition`},`Definition`),B(`span`,{class:w(`subscriptions`),onclick:()=>{d.value=`subscriptions`,j()}},`Subscriptions`),B(`span`,{class:w(`publish`),onclick:()=>d.value=`publish`},`Publish`),B(`span`,{class:w(`messages`),onclick:()=>{d.value=`messages`,j()}},`Messages`)),B(`div`,{class:D(`definition`)},B(Ed,{data:r})),B(`div`,{class:D(`subscriptions`)},B(`div`,{class:`ps-form ps-sub-create`},B(`div`,{class:`ps-row`},B(`input`,{placeholder:`new-subscription-id`,value:h,oninput:e=>{h.value=e.target.value}}),B(`button`,{onclick:N},`Subscribe`)),B(`div`,{class:`ps-error`},C)),B(H,{source:import.meta.url,each:f,$loading:b,Loading:lq(`Loading subscriptions...`),Empty:lq(`No subscriptions for this topic`)},e=>B(`div`,{class:`ps-item ps-item-row`},B(`div`,null,B(`div`,{class:`ps-item-label`},e.split(`/`).pop()),B(`div`,{class:`ps-item-meta`},e)),B(`button`,{class:`ps-btn-danger`,onclick:()=>P(e)},`Remove`)))),B(`div`,{class:D(`publish`)},B(`div`,{class:`ps-form`},B(`label`,null,`Message data`),B(`textarea`,{placeholder:`Message text...`,oninput:e=>{g.value=e.target.value}}),B(`label`,null,`Attributes (JSON object, optional)`),B(`textarea`,{placeholder:`{"key": "value"}`,style:`height: 60px;`,oninput:e=>{_.value=e.target.value}}),B(`button`,{onclick:M},E(()=>S.value?`Publishing...`:`Publish message`)),B(`pre`,{class:O},v),B(`pre`,{class:k},y))),B(`div`,{class:D(`messages`)},B(`div`,{class:`ps-form`},B(`label`,null,`Subscription`),B(`div`,{class:`ps-row`},B(`select`,{onchange:e=>{m.value=e.target.value}},B(H,{source:import.meta.url,each:f},e=>{let t=e.split(`/`).pop();return B(`option`,{value:t},t)})),B(`button`,{onclick:F},E(()=>x.value?`Pulling...`:`Pull`)))),B(H,{source:import.meta.url,each:p,Empty:lq(`No messages — publish one then pull`)},e=>{let t=e.message||e,n=t.data?I(t.data):`(empty)`,r=t.attributes&&Object.keys(t.attributes).length>0?JSON.stringify(t.attributes):``;return B(`div`,{class:`ps-item`},B(`div`,{class:`ps-item-meta`},`ID: `,t.messageId,` · `,t.publishTime),B(`div`,{class:`ps-msg-data`},n),B(`div`,{class:`ps-item-meta`},r))})))}function dq(e){let{data:t,path:n=``}=e,r=t.data,[a,o,s,c,l,u,d]=n.split(`/`);return B(`div`,{"data-path":`${c}/${d}`,style:`height: 100%;`},B(Ed,{data:r}))}function fq(e){let{data:t,path:n=``}=e,r=t.data,[a,o,s,c,l,u]=n.split(`/`);return B(`div`,{"data-path":`${c}/${u}`,style:`height: 100%;`},B(Ed,{data:r}))}function pq(e){let{data:t,path:n=``}=e,r=t.data,[a,o,s,c,l,u]=n.split(`/`);return B(`div`,{"data-path":`${c}/${u}`,style:`height: 100%;`},B(Ed,{data:r}))}function mq(e){let{data:t,path:n=``}=e,r=t.data,[a,o,s,c,l,u]=n.split(`/`);return B(`div`,{"data-path":`${c}/${u}`,style:`height: 100%;`},B(Ed,{data:r}))}function hq(e){let{data:t,path:n=``,mode:r,onRefresh:a}=e;if(r===`create`)return _q({onRefresh:a});let o=t.data,[s,c,l,u,d,f,p,m]=n.split(`/`),h=T(`definition`),g=e=>E(()=>h.value===e?`gke-tab selected`:`gke-tab`),_=e=>E(()=>h.value===e?`gke-panel`:`gke-panel gke-hidden`);return B(`div`,{"data-path":`${u}/${f}/${m}`,style:`display: flex; flex-direction: column; height: 100%;`},B(`div`,{class:`gke-tabs`},B(`span`,{class:g(`definition`),onclick:()=>h.value=`definition`},`Definition`),B(`span`,{class:g(`edit`),onclick:()=>h.value=`edit`},`Edit`)),B(`div`,{class:_(`definition`)},B(Ed,{data:o})),B(`div`,{class:_(`edit`)},B(gq,{json:o,project:u,location:f,name:m})))}function gq(e){let{json:t,project:n,location:r,name:a}=e,o=T(t?.currentNodeCount??1),s=T(``),c=T(``),l=T(!1);async function u(){l.value=!0,s.value=``,c.value=``;let e=await IG({url:`/api/gcp-gke/`,body:{action:`resize`,nodeCount:Number(o.value)},params:{project:n,location:r,name:a}});l.value=!1,e?.error?c.value=e.error:s.value=JSON.stringify(e.data,null,2)}return B(`div`,{class:`gke-form`},B(`label`,null,`Node count`),B(`input`,{type:`number`,value:o,oninput:e=>{o.value=e.target.value}}),B(`button`,{onclick:u},E(()=>l.value?`Saving...`:`Save`)),E(()=>c.value?B(`pre`,{class:`gke-error`},c.value):``),E(()=>s.value?B(`pre`,{class:`gke-result`},s.value):``))}function _q(e){let{onRefresh:t}=e,n=T(``),r=T(``),a=T(``),o=T(3),s=T(`e2-medium`),c=T(!1),l=T(``),u=T(``);async function d(){if(!n.value||!r.value||!a.value)return;c.value=!0,l.value=``,u.value=``;let e=await IG({url:`/api/gcp-gke/`,body:{cluster:{name:a.value,nodePools:[{name:`default-pool`,initialNodeCount:Number(o.value),config:{machineType:s.value}}]}},params:{project:n.value,location:r.value}});c.value=!1,e?.error?u.value=e.error:(l.value=JSON.stringify(e.data,null,2),t&&t())}return B(`div`,{class:`gke-form`,style:`padding: 16px;`},B(`h3`,{style:`margin-bottom: 12px;`},`Create GKE Cluster`),B(`label`,null,`Project`),B(`input`,{placeholder:`my-project`,value:n,oninput:e=>{n.value=e.target.value}}),B(`label`,null,`Location (zone or region)`),B(`input`,{placeholder:`us-central1-a`,value:r,oninput:e=>{r.value=e.target.value}}),B(`label`,null,`Cluster name`),B(`input`,{placeholder:`my-cluster`,value:a,oninput:e=>{a.value=e.target.value}}),B(`label`,null,`Node count`),B(`input`,{type:`number`,value:o,oninput:e=>{o.value=e.target.value}}),B(`label`,null,`Machine type`),B(`input`,{placeholder:`e2-medium`,value:s,oninput:e=>{s.value=e.target.value}}),B(`button`,{onclick:d},E(()=>c.value?`Creating...`:`Create Cluster`)),E(()=>u.value?B(`pre`,{class:`gke-error`},u.value):``),E(()=>l.value?B(`pre`,{class:`gke-result`},l.value):``))}function vq(e){let t=e<0?`-`:``,n=Math.abs(e);return n<1024?`${t}${n} B`:n<1048576?`${t}${(n/1024).toFixed(1)} KB`:n<1073741824?`${t}${(n/1024/1024).toFixed(1)} MB`:`${t}${(n/1024/1024/1024).toFixed(2)} GB`}function yq(e,t){let n=new Date(e.ts*1e3).toLocaleDateString(),r=vq(e.size);if(t){let a=e.size-t.size;return`${n}: ${r} (${a>=0?`+${vq(a)}`:vq(a)})`}return`${n}: ${r} (first)`}function bq(e){if(e.length>=2){let t=`M ${e[0].x} ${e[0].y}`;for(let n=0;n<e.length-1;n++){let r=e[n-1]??e[n],a=e[n],o=e[n+1],s=e[n+2]??o,c=a.x+(o.x-r.x)/6,l=a.y+(o.y-r.y)/6,u=o.x-(s.x-a.x)/6,d=o.y-(s.y-a.y)/6;t+=` C ${c} ${l} ${u} ${d} ${o.x} ${o.y}`}return t}return`M ${e[0].x} ${e[0].y}`}function xq(e){let{snapshots:t}=e;if(t&&t.length>=1){let n=e.width??60,r=e.height??16,a=Math.max(...t.map(e=>e.size),1),o=n/Math.max(1,t.length-1),s=t.map((e,t)=>({x:t*o,y:r-e.size/a*(r-2)-1,snapshot:e,index:t})),c=`<path d="${bq(s)}" fill="none" stroke="currentColor" stroke-width="1" />`;s.map(e=>{let n=yq(e.snapshot,t[e.index-1]);return`<circle cx="${e.x}" cy="${e.y}" r="1.3" fill="currentColor"><title>${n}</title></circle>`}).join(``);let l=`<svg class="sparkline" width="${n}" height="${r}" viewBox="0 0 ${n} ${r}" xmlns="http://www.w3.org/2000/svg">${c}</svg>`,u=document.createElement(`span`);return u.innerHTML=l,u.firstChild}return B(`span`,null)}var Sq=new Set(`folder bucket`.split(` `));function Cq(e){return Sq.has(e.objectKind)}function wq(e){let t=[],n=ys(e.size,Cq(e));n&&t.push({key:`size`,value:n}),e.lines!=null&&t.push({key:`lines`,value:e.lines});let r=e.birthtime??e.ctime;r&&t.push({key:`created`,value:ti(r)}),e.mtime&&t.push({key:`modified`,value:ti(e.mtime)}),e.mode!=null&&t.push({key:`mode`,value:vs(e.mode)}),(e.user||e.group)&&t.push({key:`owner`,value:`${e.user||``}:${e.group||``}`});let a=e.meta;if(a){t.push({key:`visits`,value:a.visitCount});let e=a.snapshots??[];if(e.length>0&&t.push({key:`first seen`,value:ti(e[0].ts)}),e.length>=2){let n=e.at(-1).size-e[0].size,r=n>=0?`+`:`-`;t.push({key:`since first visit`,value:`${r}${ys(Math.abs(n),!1)}`})}}return t}function Tq(e){let{object:t}=e,n=wq(t);return B(`div`,{class:`meta-card`},B(`div`,{class:`meta-card-name`},t.name),B(`span`,{class:`meta-card-spark`},B(xq,{snapshots:t.meta?.snapshots})),B(H,{source:import.meta.url,each:n},e=>B(`div`,{class:`meta-card-fact`},B(`span`,{class:`meta-card-key`},e.key),B(`span`,{class:`meta-card-value`},e.value))))}var Eq=new Set(`folder bucket`.split(` `)),Dq={table:`table`,view:`table`,database:`database`},Oq=new Set(`html md markdown mark ipynb docx dotx pptx potx ppsx xlsx xltx evernote ever`.split(` `)),kq=new Set(`mmd mermaid excalidraw`.split(` `)),Aq=new Set(`csv parquet avro orc arrow feather ipc h5 hdf5 he5 nc nc4 cdf sav xpt sas7bdat json jsonl plist provisionprofile`.split(` `)),jq=new Set(`txt text`.split(` `));function Mq(e){return Eq.has(e.objectKind)}function Nq(e){return Eq.has(e.objectKind)||!e.path&&!e.name||e.handle?.kind===`directory`}function Pq(e){return Dq[e.objectKind]}function Fq(e){return Mq(e)?`folder-opened`:e.ext||yt(e.name||``)}function Iq(e){let t=e.meta?.snapshots?.at(-1);return t?t.ts:null}function Lq(e){let t=null;if(Mq(e))t=null;else{let n=Fq(e),r=vt[n];t=Oq.has(n)?`render`:kq.has(n)?`draw`:Aq.has(n)?`data`:n===`pdf`?`pdf`:r===`img`?`image`:r===`video`?n===`3gp`||n===`3gpp`?null:`video`:r===`code`||jq.has(n)?`text`:null}return t}function Rq(e){return typeof e.size==`number`?e.size:e.meta?.snapshots?.at(-1)?.size??null}function zq(e){let t=Iq(e);return t?`deleted ${ti(t)}`:`deleted`}function Bq(e){return e.isDeleted?ys(Rq(e)??0,!1):ys(e.size,Mq(e))}function Vq(e){return e.isDeleted?zq(e):ti(e.ctime??e.mtime)}function Hq(e){return e.name}var Uq=[{name:`type`,sortable:!0,type:`extension`,label:``,$direction:T()},{name:`name`,sortable:!0,type:`string`,label:`NAME`,render:Hq,$direction:T()},{name:`size`,label:`SIZE`,sortable:!0,type:`number`,sortColumn:`size`,align:`right`,col:`object-col-size`,render:Bq,compare:Kq(`size`,`number`),$direction:T()},{name:`modified`,label:`MODIFIED`,sortable:!0,type:`date`,sortColumn:`modified`,align:`left`,col:`object-col-date`,render:Vq,compare:Kq(`modified`,`date`),$direction:T()}],Wq=new Set;Uq.forEach(e=>e.sortable&&Wq.add(e.name));function Gq(e,t,n=1){let r=e.objectKind,a=t.objectKind;if(r===`folder`&&a!==`folder`)return-1;if(r!==`folder`&&a===`folder`)return 1;if(r===`folder`&&a===`folder`)return(e.name||``).localeCompare(t.name||``)*n;{let r=e.ext||``,a=t.ext||``;return r===a?(e.name||``).localeCompare(t.name||``)*n:r.localeCompare(a)*n}}function Kq(e){let{name:t,type:n,$direction:r}=e,a=r?.value;switch(n){case`number`:return o;case`string`:return s;case`date`:return o;case`extension`:return Gq;default:return c}function o(e,n){return(e[t]-n[t])*a}function s(e,n){let r=e[t],o=n[t];return r?.localeCompare(o)*a}function c(e,n){let r=e[t],o=n[t];return r<o?-1*a:r>o?1*a:0}}function qq(e){let{object:t,side:n,openObject:r,OnContextMenu:a,root:o,$selectedName:s,$restored:c,index:l}=e,u=Mq(t)?`folder-opened`:Pq(t)||t.name||``,d=!!t.isDeleted,f=!d&&String(t.name||``).startsWith(`.`),p=E(()=>`object-row ${s.value===t.name?`selected`:``} ${d?`deleted`:``} ${f?`hidden`:``} ${l%2?`odd`:`even`}`),m=E(()=>c.value[t.name]?`✓ restored`:`restore`);function h(e){s.value=t.name,n&&(n.$highlightedRow.value={...t,type:`object`,ext:yt(t.name||``)})}function g(e){d||r&&r(void 0,{object:t,id:n?.$selected.value,mode:`list`})}return B(`div`,{class:p,onclick:h,ondblclick:g,oncontextmenu:a&&a({object:t,root:o},{})},Uq.map(e=>e.type===`extension`?B(`span`,{class:`${d?`object-cross`:``} object-icon`},B(U,{name:u})):B(`span`,null,e.render(t))),B(`span`,{class:`object-activity`},d?B(`span`,{class:`object-restore`,onclick:e=>{e.stopPropagation(),c.value={...c.value,[t.name]:!0}}},m):B(xq,{snapshots:t.meta?.snapshots,width:64,height:15})),B(`span`,{class:`object-copy`,onclick:e=>{e.stopPropagation(),navigator.clipboard.writeText(t.name)}},B(U,{name:`copy`,size:16})))}function Jq(e){let t=T(localStorage.getItem(e)===`true`);return A(()=>localStorage.setItem(e,String(t.value))),t}var Yq=Jq(`view.showHidden`),Xq=Jq(`view.showDeleted`);function Zq(e){return`view.renderMode:${e?.providerType||``}:${e?.root||``}:${e?.path||``}`}function Qq(e){return localStorage.getItem(Zq(e))}function $q(e,t){localStorage.setItem(Zq(e),t)}function eJ(e){let t=String(e.name||``);return t.startsWith(`.`)||t.startsWith(`__MACOSX`)}function tJ(e,t,n){let r;return r=e.isDeleted?n:!eJ(e)||t,r}function nJ(e,t,n){if(e){let r=t.filter(e=>!e.isDeleted&&Mq(e)).length,a=t.filter(e=>!e.isDeleted&&!Mq(e)).length,o=t.filter(e=>e.isDeleted).length,s=t.filter(e=>!e.isDeleted&&Mq(e)&&String(e.name||``).startsWith(`.`)).length,c=t.filter(e=>!e.isDeleted&&!Mq(e)&&String(e.name||``).startsWith(`.`)).length,l=E(()=>`object-foot-toggle ${Yq.value?`active`:``}`),u=E(()=>`object-foot-toggle ${Xq.value?`active`:``}`);function d(e){return function(t){e.value=!e.value,n.trigger()}}e.$footer.value=B(`div`,{class:`object-foot`},B(`span`,{class:`object-foot-count`},B(`span`,null,r,` folders`),B(`span`,null,` · `,a,` files`),o>0?B(`span`,null,` · `,o,` deleted`):``,s>0?B(`span`,null,` · `,s,` hidden folders`):``,c>0?B(`span`,null,` · `,c,` hidden files`):``),B(`span`,{class:`object-foot-spacer`}),B(`span`,{class:l,onclick:d(Yq)},`show hidden`),B(`span`,{class:u,onclick:d(Xq)},`show deleted`))}}function rJ(e,t){let n=new Set(e.map(e=>e.name)),r=t.filter(e=>!n.has(e.name));return e.concat(r)}var iJ=28;function aJ(e){let{side:t,openObject:n,OnContextMenu:r,api:a}=e;console.log(`tracer`);let o={providerType:e.providerType,root:e.root,path:e.path,name:e.name,objectKind:e.objectKind,handle:e.handle},s=Ec(e)??[],c=t?.$filter??T(``),l=t?.$restored??(t?t.$restored=T({}):T({})),u=T(``),d=T(void 0),f=T(!1),p=E(()=>{f.value;let e=!Yq.value,t=c.value.toLowerCase();return console.log(`update new rows`),m(e,t)});N(c,()=>f.trigger());function m(e,t){let n=[],r=[],a;if(s.forEach(o=>{let s=String(o.name||``),c=s.startsWith(`.`)||s.startsWith(`__MACOSX`);t&&!s.toLowerCase().includes(t)||(o.isDeleted?r.push(o):c&&e||(n.push(o),o.nextPageToken&&=(a=o.nextPageToken,void 0)))}),d?.value?.$direction?.value){let e=Kq(d.value);n.sort(e)}return n.length>30&&a&&(n.at(-3).nextPageToken=a),Xq.value?[...n,...r]:n}function h(e){let{label:t,align:n,col:r,column:a={}}=e,{type:o,sortable:s}=a,c=`object-head-cell object-head-${n||`left`} ${r||``}`,l=o===`extension`?B(`span`,{class:`object-icon`},B(U,{name:`symbol-misc`})):B(`span`,null,t);if(s){let{onclick:e,$sorter:t}=id({column:a,columns:Uq,$sortColumn:d,$rerender:f});return B(`span`,{class:c,onclick:e},l,t)}return B(`span`,{class:c},l)}nJ(t,s,f);async function g(e){if(a&&e){let n=await a.get(o,e);s.push(...n),nJ(t,s),f.trigger()}}return B(`div`,{class:`object-list slim_scrollbar`,style:`--row-height: ${iJ}px;`},B(`div`,{class:`object-head`},Uq.map((e,t)=>B(h,{column:e,label:e.label,sortColumn:e.sortColumn,align:e.align,col:e.col})),B(h,{label:`ACTIVITY`,sortColumn:`activity`,align:`right`,col:`object-col-activity`})),B(Dc,{each:p,$rerender:f,rowHeight:iJ,class:`object-body slim_scrollbar`,fetchNextPage:g},(e,a)=>B(qq,{object:e,side:t,index:a,openObject:n,OnContextMenu:r,root:o,$selectedName:u,$restored:l})))}var oJ=30;function sJ(e){let{note:t,template:n,getEntry:r,getEntryUrl:a,active:o,viewIndex:s,noteAt:c,zoomLayer:l,onOpen:u,onSwipeLeft:d,onSwipeRight:f,onSwipeUp:p,onSwipeDown:m}=e,{front:h,back:g}=cJ(t,n),_=T(),v=null,y=null;dn(()=>{fJ(_.value,()=>uJ(_.value,r,a)),N(o,b),N(s,e=>{v&&x(e)})});function b(e,t){t===void 0||(e?S():C())}function x(e){let t=c(e),n=cJ(t.note,t.template);v.querySelector(`.card.front`).innerHTML=n.front,v.querySelector(`.card.back`).innerHTML=n.back,v.dataset.flipped=`false`,uJ(v,r,a)}async function S(){let e=_.value;v=e.cloneNode(!0),v.classList.add(`zoomed`),w(v);let t=e.getBoundingClientRect();l.value.appendChild(v),uJ(v,r,a);let n=v.getBoundingClientRect();await R(v,t,n)}async function C(){let e=v;if(e){v=null;let t=e.getBoundingClientRect(),n=_.value.getBoundingClientRect();e.style.margin=`0`,e.style.right=`auto`,e.style.bottom=`auto`,e.style.left=`${n.left}px`,e.style.top=`${n.top}px`,e.style.width=`${n.width}px`,e.style.height=`${n.height}px`,await R(e,t,e.getBoundingClientRect()),e.remove()}}function w(e){e.onclick=()=>{e.dataset.flipped=e.dataset.flipped===`true`?`false`:`true`},e.ontouchstart=D,e.ontouchend=O}function E(){o.value===!1&&u()}function D(e){let t=e.touches[0];y={x:t.clientX,y:t.clientY}}function O(e){if(y){let t=e.changedTouches[0],n=t.clientX-y.x,r=t.clientY-y.y;Math.max(Math.abs(n),Math.abs(r))>oJ&&(e.preventDefault(),Math.abs(n)>Math.abs(r)?n<0?d():f():r<0?p():m())}y=null}return B(`div`,{class:`flashcard`,_ref:_,onclick:E},B(`div`,{class:`flashcard-inner`},B(`div`,{class:`card front`,_html:h}),B(`div`,{class:`card back`,_html:g})))}function cJ(e,t){let n=lJ(pJ(t.qfmt,e.fields));return{front:n,back:lJ(pJ(t.afmt,e.fields,n))}}function lJ(e){return e.replace(/(<img[^>]*?)\ssrc=(["'])(.*?)\2/gi,`$1 loading="lazy" data-media=$2$3$2`).replace(/\[sound:(.*?)\]/gi,`<audio controls preload="none" data-media="$1"></audio>`)}async function uJ(e,t,n){let r=e.querySelectorAll(`[data-media]`);for(let e of r){let r=e.dataset.media;if(n)e.src=n(r);else try{let n=await t(r),a=new Blob([n]);e.src=URL.createObjectURL(a)}catch(e){console.warn(e)}}dJ(e)}function dJ(e){e.querySelectorAll(`audio`).forEach(e=>{let t=e.closest(`.card`),n=t&&getComputedStyle(t).backgroundColor;n&&n!==`rgba(0, 0, 0, 0)`&&n!==`transparent`&&(e.style.background=n)})}function fJ(e,t){let n=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(n.disconnect(),t())})});n.observe(e)}function pJ(e,t,n){let r=e;return n!==void 0&&(r=r.replaceAll(`{{FrontSide}}`,n)),r=mJ(r,t),hJ(r,t)}function mJ(e,t){return e.replace(/\{\{([#^])([^}]+)\}\}([\s\S]*?)\{\{\/\2\}\}/g,(e,n,r,a)=>{let o=(t[r.trim()]||``).length>0,s;return s=n===`#`?o:o===!1,s?mJ(a,t):``})}function hJ(e,t){return e.replace(/\{\{([^#^/][^}]*)\}\}/g,(e,n)=>t[n.trim().replace(/^(text|type|cloze|hint):/,``)]??``)}function gJ(e){let{notes:t=[],models:n={},getEntry:r,getEntryUrl:a}=e,o=Object.values(n).map(e=>{let t=e.css||``,n=k(t);return n?`${t}\n.card audio{ color-scheme: ${n} }`:t}).join(`
|
|
1934
|
+
}`)).call(IB,n);for(let e of u){let{channels:t,values:n,facets:r}=g.get(e);if(h===void 0||e.facet===`super`){let a=null;if(r&&(a=r[0],a=e.filter(a,t,n),a.length===0))continue;let o=e.render(a,y,n,C,w);if(o==null)continue;E.appendChild(o)}else{let a;for(let o of h){if(!(e.facetAnchor?.(h,k,o)??!o.empty))continue;let s=null;if(r){let a=f.has(e);if(s=r[a?o.i:0],s=e.filter(s,t,n),s.length===0)continue;!a&&s===r[0]&&(s=MF(s)),s.fx=o.x,s.fy=o.y,s.fi=o.i}let c=e.render(s,y,n,S,w);if(c!=null){(a??=Py(E).append(`g`)).append(()=>c).datum(o);for(let e of[`aria-label`,`aria-description`,`aria-hidden`,`transform`])c.hasAttribute(e)&&(a.attr(e,c.getAttribute(e)),c.removeAttribute(e))}}a?.selectChildren().each(A)}}let N=mU(_,w,e),{figure:P=r!=null||a!=null||o!=null||N.length>0}=e;P&&(D=T.createElement(`figure`),D.className=`${l}-figure`,D.style.maxWidth=`initial`,r!=null&&D.append(lW(T,r,`h2`)),a!=null&&D.append(lW(T,a,`h3`)),D.append(...N,E),o!=null&&D.append(uW(T,o)),`value`in E&&(D.value=E.value,delete E.value)),D.scale=dz(y.scales),D.legend=lU(_,w,e);let F=hR();return F>0&&Py(E).append(`text`).attr(`x`,j).attr(`y`,20).attr(`dy`,`-1em`).attr(`text-anchor`,`end`).attr(`font-family`,`initial`).text(`⚠️`).append(`title`).text(`${F.toLocaleString(`en-US`)} warning${F===1?``:`s`}. Please check the console.`),D}function lW(e,t,n){if(t.ownerDocument)return t;let r=e.createElement(n);return r.append(t),r}function uW(e,t){let n=e.createElement(`figcaption`);return n.append(t),n}function dW(e){return e.flat(1/0).filter(e=>e!=null).map(fW)}function fW(e){return typeof e.render==`function`?e:new pW(e)}var pW=class extends RB{constructor(e){if(typeof e!=`function`)throw TypeError(`invalid mark; missing render function`);super(),this.render=e}render(){}};function mW(e,t){for(let n in e)hW(e[n],t);return e}function hW(e,t){let{scale:n,transform:r=!0}=e;if(n==null||!r)return;let{type:a,percent:o,interval:s,transform:c=o?e=>e==null?NaN:e*100:BF(s,a)}=t[n]??{};c!=null&&(e.value=_F(e.value,c),e.transform=!1)}function gW(e){for(let t in e)_L(t,e[t])}function _W(e,t,n,r=$P){for(let{channels:a}of t.values())for(let t in a){let o=a[t],{scale:s}=o;if(s!=null&&r(s))if(s===`projection`){if(!qz(n)){let t=n.x?.domain===void 0,r=n.y?.domain===void 0;if(t||r){let[n,a]=Yz(o);t&&vW(e,`x`,n),r&&vW(e,`y`,a)}}}else vW(e,s,o)}return e}function vW(e,t,n){let r=e.get(t);r===void 0?e.set(t,[n]):r.push(n)}function yW(e,t){if(e==null)return;let{x:n,y:r}=e;if(n==null&&r==null)return;let a=mF(e.data);if(a==null)throw Error(`missing facet data`);let o={};return n!=null&&(o.fx=mL(a,{value:n,scale:`fx`})),r!=null&&(o.fy=mL(a,{value:r,scale:`fy`})),mW(o,t),{channels:o,groups:hz(a,o),data:e.data}}function bW(e,t,n){if(e.facet===null||e.facet===`super`)return;let{fx:r,fy:a}=e;if(r!=null||a!=null){let t=mF(e.data??r??a);if(t===void 0)throw Error(`missing facet data in ${e.ariaLabel}`);if(t===null)return;let o={};return r!=null&&(o.fx=mL(t,{value:r,scale:`fx`})),a!=null&&(o.fy=mL(t,{value:a,scale:`fy`})),mW(o,n),{channels:o,groups:hz(t,o)}}if(t===void 0)return;let{channels:o,groups:s,data:c}=t;if(e.facet!==`auto`||e.data===c)return{channels:o,groups:s};c.length>0&&(s.size>1||s.size===1&&o.fx&&o.fy&&[...s][0][1].size>1)&&kF(mF(e.data))===kF(c)&&gR(`Warning: the ${e.ariaLabel} mark appears to use faceted data, but isn’t faceted. The mark data has the same length as the facet data and the mark facet option is "auto", but the mark data and facet data are distinct. If this mark should be faceted, set the mark facet option to true; otherwise, suppress this warning by setting the mark facet option to false.`)}function xW(e,t={}){return FI({...t,x:null,y:null},(t,n,r,a,o,s)=>s.getMarkState(e))}function SW(e){let t=[];for(let n of e){let e=n.tip;if(e){e===!0?e={}:typeof e==`string`&&(e={pointer:e});let{pointer:r,preferredAnchor:a}=e;r=/^x$/i.test(r)?XB:/^y$/i.test(r)?ZB:YB,e=r(xW(n,e)),e.title=null,a===void 0&&(e.preferredAnchor=r===ZB?`left`:`bottom`);let o=ZU(n.data,e);o.facet=n.facet,o.facetAnchor=n.facetAnchor,t.push(o)}}return t}function CW(e,t,n){let{projection:r,x:a={},y:o={},fx:s={},fy:c={},axis:l,grid:u,facet:d={},facet:{axis:f=l,grid:p}=d,x:{axis:m=l,grid:h=m===null?null:u}=a,y:{axis:g=l,grid:_=g===null?null:u}=o,fx:{axis:v=f,grid:y=v===null?null:p}=s,fy:{axis:b=f,grid:x=b===null?null:p}=c}=n;(r||!CF(a)&&!MW(`x`,e))&&(m=h=null),(r||!CF(o)&&!MW(`y`,e))&&(g=_=null),t.has(`fx`)||(v=y=null),t.has(`fy`)||(b=x=null),m===void 0&&(m=!jW(e,`x`)),g===void 0&&(g=!jW(e,`y`)),v===void 0&&(v=!jW(e,`fx`)),b===void 0&&(b=!jW(e,`fy`)),m===!0&&(m=`bottom`),g===!0&&(g=`left`),v===!0&&(v=m===`top`||m===null?`bottom`:`top`),b===!0&&(b=g===`right`||g===null?`left`:`right`);let S=[];return TW(S,x,RH,c),wW(S,b,OH,`right`,`left`,d,c),TW(S,y,BH,s),wW(S,v,AH,`top`,`bottom`,d,s),TW(S,_,LH,o),wW(S,g,DH,`left`,`right`,n,o),TW(S,h,zH,a),wW(S,m,kH,`bottom`,`top`,n,a),S}function wW(e,t,n,r,a,o,s){if(!t)return;let c=EW(t);s=DW(c?r:t,o,s);let{line:l}=s;(n===DH||n===kH)&&l&&!sI(l)&&e.push(qU(OW(s))),e.push(n(s)),c&&e.push(n({...s,anchor:a,label:null}))}function TW(e,t,n,r){!t||sI(t)||e.push(n(kW(t,r)))}function EW(e){return/^\s*both\s*$/i.test(e)}function DW(e,t,{line:n=t.line,ticks:r,tickSize:a,tickSpacing:o,tickPadding:s,tickFormat:c,tickRotate:l,fontVariant:u,ariaLabel:d,ariaDescription:f,label:p=t.label,labelAnchor:m,labelArrow:h=t.labelArrow,labelOffset:g}){return{anchor:e,line:n,ticks:r,tickSize:a,tickSpacing:o,tickPadding:s,tickFormat:c,tickRotate:l,fontVariant:u,ariaLabel:d,ariaDescription:f,label:p,labelAnchor:m,labelArrow:h,labelOffset:g}}function OW(e){let{anchor:t,line:n}=e;return{anchor:t,facetAnchor:t+`-empty`,stroke:n===!0?void 0:n}}function kW(e,{stroke:t=iI(e)?e:void 0,ticks:n=AW(e)?e:void 0,tickSpacing:r,ariaLabel:a,ariaDescription:o}){return{stroke:t,ticks:n,tickSpacing:r,ariaLabel:a,ariaDescription:o}}function AW(e){switch(typeof e){case`number`:return!0;case`string`:return!iI(e)}return YF(e)||typeof e?.range==`function`}function jW(e,t){let n=`${t}-axis `;return e.some(e=>e.ariaLabel?.startsWith(n))}function MW(e,t){for(let n of t)for(let t in n.channels){let{scale:r}=n.channels[t];if(r===e||r===`projection`)return!0}return!1}function NW(e,t){for(let n in e){let r=e[n],a=t[n];r.label===void 0&&a&&(r.label=a.label)}return e}function PW({fx:e,fy:t},n){let{marginTop:r,marginRight:a,marginBottom:o,marginLeft:s,width:c,height:l}=KR(n),u=e&&FW(e),d=t&&FW(t);return{marginTop:t?d[0]:r,marginRight:e?c-u[1]:a,marginBottom:t?l-d[1]:o,marginLeft:e?u[0]:s,inset:{marginTop:n.marginTop,marginRight:n.marginRight,marginBottom:n.marginBottom,marginLeft:n.marginLeft},width:c,height:l}}function FW(e){let t=e.domain();if(t.length===0)return[0,e.bandwidth()];let n=e(t[0]),r=e(t[t.length-1]);return r<n&&([n,r]=[r,n]),[n,r+e.bandwidth()]}var IW=new Map([[`basis`,sN],[`basis-closed`,lN],[`basis-open`,dN],[`bundle`,pN],[`bump-x`,OM],[`bump-y`,kM],[`cardinal`,gN],[`cardinal-closed`,vN],[`cardinal-open`,bN],[`catmull-rom`,CN],[`catmull-rom-closed`,TN],[`catmull-rom-open`,DN],[`linear`,SM],[`linear-closed`,kN],[`monotone-x`,LN],[`monotone-y`,RN],[`natural`,VN],[`step`,UN],[`step-after`,GN],[`step-before`,WN]]);function LW(e=SM,t){if(typeof e==`function`)return e;let n=IW.get(`${e}`.toLowerCase());if(!n)throw Error(`unknown curve: ${e}`);if(t!==void 0){if(`beta`in n)return n.beta(t);if(`tension`in n)return n.tension(t);if(`alpha`in n)return n.alpha(t)}return n}function RW(e=zW,t){return typeof e!=`function`&&`${e}`.toLowerCase()===`auto`?zW:LW(e,t)}function zW(e){return SM(e)}function BW(e={y:`count`},t={}){[e,t]=WW(e,t);let{x:n,y:r}=t;return UW(GW(n,t,ZP),null,null,r,e,_V(t))}function VW(e,t,n={}){if(n?.interval==null)return n;let{reduce:r=oL}=n,a={filter:null};return n[t]!=null&&(a[t]=r),n[`${t}1`]!=null&&(a[`${t}1`]=r),n[`${t}2`]!=null&&(a[`${t}2`]=r),e(a,n)}function HW(e={}){return VW(BW,`y`,UB(e,`x`))}function UW(e,t,n,r,{data:a=aL,filter:o=lL,sort:s,reverse:c,...l}={},u={}){e=KW(e),t=KW(t),l=JW(l,u),a=ZW(a,ZP),s=s==null?void 0:YW(`sort`,s,u),o=o==null?void 0:XW(`filter`,o,u),n!=null&&GI(l,`x`,`x1`,`x2`)&&(n=null),r!=null&&GI(l,`y`,`y1`,`y2`)&&(r=null);let[d,f]=IF(e),[p,m]=IF(e),[h,g]=IF(t),[_,v]=IF(t),[y,b]=n==null?r==null?[]:[r,`y`]:[n,`x`],[x,S]=IF(y),{x:C,y:w,z:T,fill:E,stroke:D,x1:O,x2:k,y1:A,y2:j,domain:M,cumulative:N,thresholds:P,interval:F,...I}=u,[ee,L]=IF(T),[R]=uF(E),[z]=uF(D),[te,ne]=IF(R),[re,ie]=IF(z);return{...`z`in u&&{z:ee||T},...`fill`in u&&{fill:te||E},...`stroke`in u&&{stroke:re||D},...PI(I,(n,r,u)=>{let d=zF(HP(n,y),u?.[b]),p=HP(n,T),h=HP(n,R),_=HP(n,z),x=$I(l,{z:p,fill:h,stroke:_}),C=[],w=[],E=d&&S([]),D=p&&L([]),O=h&&ne([]),k=_&&ie([]),A=e&&f([]),j=e&&m([]),M=t&&g([]),N=t&&v([]),P=tG(e,t,n),F=0;for(let e of l)e.initialize(n);s&&s.initialize(n),o&&o.initialize(n);for(let e of r){let t=[];for(let t of l)t.scope(`facet`,e);s&&s.scope(`facet`,e),o&&o.scope(`facet`,e);for(let[r,c]of XI(e,x))for(let[e,u]of XI(c,d))for(let[c,f]of P(u))if(x&&(f.z=r),!(o&&!o.reduce(c,f))){t.push(F++),w.push(a.reduceIndex(c,n,f)),d&&E.push(e),p&&D.push(x===p?r:p[(c.length>0?c:u)[0]]),h&&O.push(x===h?r:h[(c.length>0?c:u)[0]]),_&&k.push(x===_?r:_[(c.length>0?c:u)[0]]),A&&(A.push(f.x1),j.push(f.x2)),M&&(M.push(f.y1),N.push(f.y2));for(let e of l)e.reduce(c,f);s&&s.reduce(c,f)}C.push(t)}return eL(C,s,c),{data:w,facets:C}}),...!GI(l,`x`)&&(d?{x1:d,x2:p,x:RF(d,p)}:{x:C,x1:O,x2:k}),...!GI(l,`y`)&&(h?{y1:h,y2:_,y:RF(h,_)}:{y:w,y1:A,y2:j}),...x&&{[b]:x},...Object.fromEntries(l.map(({name:e,output:t})=>[e,t]))}}function WW({cumulative:e,domain:t,thresholds:n,interval:r,...a},o){return[a,{cumulative:e,domain:t,thresholds:n,interval:r,...o}]}function GW(e,{cumulative:t,domain:n,thresholds:r,interval:a},o){return e={...qF(e)},e.domain===void 0&&(e.domain=n),e.cumulative===void 0&&(e.cumulative=t),e.thresholds===void 0&&(e.thresholds=r),e.interval===void 0&&(e.interval=a),e.value===void 0&&(e.value=o),e.thresholds=qW(e.thresholds,e.interval),e}function KW(e){if(e==null)return;let{value:t,cumulative:n,domain:r=wg,thresholds:a}=e,o=e=>{let o=HP(e,t),s;if(QF(o)||eG(a)){o=_F(o,lF,Float64Array);let[e,t]=typeof r==`function`?r(o):r,n=typeof a==`function`&&!KF(a)?a(o,e,t):a;typeof n==`number`&&(n=ek(e,t,n)),KF(n)&&(r===wg&&(e=n.floor(e),t=n.offset(n.floor(t))),n=n.range(e,n.offset(t))),s=n}else{o=oF(o);let[e,t]=typeof r==`function`?r(o):r,n=typeof a==`function`&&!KF(a)?a(o,e,t):a;if(typeof n==`number`)if(r===wg){let r=qg(e,t,n);if(isFinite(r))if(r>0){let a=Math.round(e/r),o=Math.round(t/r);a*r<=e||--a,o*r>t||++o;let s=o-a+1;n=new Float64Array(s);for(let e=0;e<s;++e)n[e]=(a+e)*r}else if(r<0){r=-r;let a=Math.round(e*r),o=Math.round(t*r);a/r<=e||--a,o/r>t||++o;let s=o-a+1;n=new Float64Array(s);for(let e=0;e<s;++e)n[e]=(a+e)/r}else n=[e];else n=[e]}else n=Kg(e,t,n);else KF(n)&&(r===wg&&(e=n.floor(e),t=n.offset(n.floor(t))),n=n.range(e,n.offset(t)));s=n}let c=[];if(s.length===1)c.push([s[0],s[0]]);else for(let e=1;e<s.length;++e)c.push([s[e-1],s[e]]);return c.bin=(n<0?iG:n>0?rG:nG)(c,s,o),c};return o.label=LF(t),o}function qW(e,t,n=$W){if(e===void 0)return t===void 0?n:UF(t);if(typeof e==`string`){switch(e.toLowerCase()){case`freedman-diaconis`:return a_;case`scott`:return o_;case`sturges`:return Yg;case`auto`:return $W}return EP(e)}return e}function JW(e,t){return KI(e,t,YW)}function YW(e,t,n){return qI(e,t,n,XW)}function XW(e,t,n){return YI(e,t,n,ZW)}function ZW(e,t){return ZI(e,t,QW)}function QW(e){switch(`${e}`.toLowerCase()){case`x`:return oG;case`x1`:return cG;case`x2`:return lG;case`y`:return sG;case`y1`:return uG;case`y2`:return dG;case`z`:return pL}throw Error(`invalid bin reduce: ${e}`)}function $W(e,t,n){return Math.min(200,o_(e,t,n))}function eG(e){return GF(e)||YF(e)&&QF(e)}function tG(e,t,n){let r=e?.(n),a=t?.(n);return r&&a?function*(e){let t=r.bin(e);for(let[e,[o,s]]of r.entries()){let r=a.bin(t[e]);for(let[e,[t,c]]of a.entries())yield[r[e],{data:n,x1:o,y1:t,x2:s,y2:c}]}}:r?function*(e){let t=r.bin(e);for(let[e,[a,o]]of r.entries())yield[t[e],{data:n,x1:a,x2:o}]}:function*(e){let t=a.bin(e);for(let[e,[r,o]]of a.entries())yield[t[e],{data:n,y1:r,y2:o}]}}function nG(e,t,n){return t=oF(t),r=>{let a=e.map(()=>[]);for(let e of r)a[mg(t,n[e])-1]?.push(e);return a}}function rG(e,t,n){let r=nG(e,t,n);return e=>{let t=r(e);for(let e=1,n=t.length;e<n;++e){let n=t[e-1],r=t[e];for(let e of n)r.push(e)}return t}}function iG(e,t,n){let r=nG(e,t,n);return e=>{let t=r(e);for(let e=t.length-2;e>=0;--e){let n=t[e+1],r=t[e];for(let e of n)r.push(e)}return t}}function aG(e,t){let n=(+e+ +t)/2;return e instanceof Date?new Date(n):n}var oG={reduceIndex(e,t,{x1:n,x2:r}){return aG(n,r)}},sG={reduceIndex(e,t,{y1:n,y2:r}){return aG(n,r)}},cG={reduceIndex(e,t,{x1:n}){return n}},lG={reduceIndex(e,t,{x2:n}){return n}},uG={reduceIndex(e,t,{y1:n}){return n}},dG={reduceIndex(e,t,{y2:n}){return n}},fG={ariaLabel:`area`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,strokeMiterlimit:1},pG=class extends RB{constructor(e,t={}){let{x1:n,y1:r,x2:a,y2:o,z:s,curve:c,tension:l}=t;super(e,{x1:{value:n,scale:`x`},y1:{value:r,scale:`y`},x2:{value:a,scale:`x`,optional:!0},y2:{value:o,scale:`y`,optional:!0},z:{value:OF(t),optional:!0}},t,fG),this.z=s,this.curve=LW(c,l)}filter(e){return e}render(e,t,n,r,a){let{x1:o,y1:s,x2:c=o,y2:l=s}=n;return Qz(`svg:g`,a).call(DB,this,r,a).call(jB,this,t,0,0).call(t=>t.selectAll().data(bB(e,[o,s,c,l],this,n)).enter().append(`path`).call(OB,this).call(_B,this,n).attr(`d`,EM().curve(this.curve).defined(e=>e>=0).x0(e=>o[e]).y0(e=>s[e]).x1(e=>c[e]).y1(e=>l[e]))).node()}};function mG(e,t){let{x:n=XP,...r}=HW(t);return new pG(e,vU(hU({...r,x1:n,x2:void 0},n===XP?`y2`:`y`)))}var hG={ariaLabel:`bar`},gG=class extends RB{constructor(e,t,n={},r=hG){super(e,t,n,r),zU(this,n),BU(this,n)}render(e,t,n,r,a){let{rx:o,ry:s,rx1y1:c,rx1y2:l,rx2y1:u,rx2y2:d}=this,f=this._x(t,n,r),p=this._y(t,n,r),m=this._width(t,n,r),h=this._height(t,n,r);return Qz(`svg:g`,a).call(DB,this,r,a).call(this._transform,this,t).call(t=>t.selectAll().data(e).enter().call(c||l||u||d?e=>e.append(`path`).call(OB,this).call(VU,f,p,_G(f,m),_G(p,h),this).call(gB,this,n):e=>e.append(`rect`).call(OB,this).attr(`x`,f).attr(`width`,m).attr(`y`,p).attr(`height`,h).call($,`rx`,o).call($,`ry`,s).call(gB,this,n))).node()}_x(e,{x:t},{marginLeft:n}){let{insetLeft:r}=this;return t?e=>t[e]+r:n+r}_y(e,{y:t},{marginTop:n}){let{insetTop:r}=this;return t?e=>t[e]+r:n+r}_width({x:e},{x:t},{marginRight:n,marginLeft:r,width:a}){let{insetLeft:o,insetRight:s}=this,c=t&&e?e.bandwidth():a-n-r;return Math.max(0,c-o-s)}_height({y:e},{y:t},{marginTop:n,marginBottom:r,height:a}){let{insetTop:o,insetBottom:s}=this,c=t&&e?e.bandwidth():a-n-r;return Math.max(0,c-o-s)}};function _G(e,t){return typeof e==`function`&&typeof t==`function`?n=>e(n)+t(n):typeof e==`function`?n=>e(n)+t:typeof t==`function`?n=>e+t(n):e+t}var vG=class extends gG{constructor(e,t={},n){let{x:r,y1:a,y2:o}=t;super(e,{y1:{value:a,scale:`y`},y2:{value:o,scale:`y`},x:{value:r,scale:`x`,type:`band`,optional:!0}},t,n)}_transform(e,t,{y:n}){e.call(jB,t,{y:n},0,0)}_y({y:e},{y1:t,y2:n},{marginTop:r}){let{insetTop:a}=this;return cz(e)?r+a:e=>Math.min(t[e],n[e])+a}_height({y:e},{y1:t,y2:n},{marginTop:r,marginBottom:a,height:o}){let{insetTop:s,insetBottom:c}=this;return cz(e)?o-r-a-s-c:e=>Math.max(0,Math.abs(n[e]-t[e])-s-c)}};function yG(e,t={}){return xF(t)||(t={...t,x:XP,y2:ZP}),new vG(e,vU(wV(hU(t))))}var bG={ariaLabel:`dot`,fill:`none`,stroke:`currentColor`,strokeWidth:1.5};function xG(e){return e.sort===void 0&&e.reverse===void 0?VI({channel:`-r`},e):e}var SG=class extends RB{constructor(e,t={}){let{x:n,y:r,r:a,rotate:o,symbol:s=MM,frameAnchor:c}=t,[l,u]=dF(o,0),[d,f]=NI(s),[p,m]=dF(a,d==null?3:4.5);super(e,{x:{value:n,scale:`x`,optional:!0},y:{value:r,scale:`y`,optional:!0},r:{value:p,scale:`r`,filter:eP,optional:!0},rotate:{value:l,optional:!0},symbol:{value:d,scale:`auto`,optional:!0}},xG(t),bG),this.r=m,this.rotate=u,this.symbol=f,this.frameAnchor=uI(c);let{channels:h}=this,{symbol:g}=h;if(g){let{fill:e,stroke:t}=h;g.hint={fill:e?e.value===g.value?`color`:`currentColor`:this.fill??`currentColor`,stroke:t?t.value===g.value?`color`:`currentColor`:this.stroke??`none`}}}render(e,t,n,r,a){let{x:o,y:s}=t,{x:c,y:l,r:u,rotate:d,symbol:f}=n,{r:p,rotate:m,symbol:h}=this,[g,_]=LB(this,r),v=h===MM,y=u?void 0:p*p*Math.PI;return tP(p)&&(e=[]),Qz(`svg:g`,a).call(DB,this,r,a).call(jB,this,{x:c&&o,y:l&&s}).call(t=>t.selectAll().data(e).enter().append(v?`circle`:`path`).call(OB,this).call(v?e=>{e.attr(`cx`,c?e=>c[e]:g).attr(`cy`,l?e=>l[e]:_).attr(`r`,u?e=>u[e]:p)}:e=>{e.attr(`transform`,NV`translate(${c?e=>c[e]:g},${l?e=>l[e]:_})${d?e=>` rotate(${d[e]})`:m?` rotate(${m})`:``}`).attr(`d`,u&&f?e=>{let t=RC();return f[e].draw(t,u[e]*u[e]*Math.PI),t}:u?e=>{let t=RC();return h.draw(t,u[e]*u[e]*Math.PI),t}:f?e=>{let t=RC();return f[e].draw(t,y),t}:(()=>{let e=RC();return h.draw(e,y),e})())}).call(gB,this,n)).node()}};function CG(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=DF(t,n)),new SG(e,{...r,x:t,y:n})}var wG={ariaLabel:`line`,fill:`none`,stroke:`currentColor`,strokeWidth:1.5,strokeLinecap:`round`,strokeLinejoin:`round`,strokeMiterlimit:1},TG=class extends RB{constructor(e,t={}){let{x:n,y:r,z:a,curve:o,tension:s}=t;super(e,{x:{value:n,scale:`x`},y:{value:r,scale:`y`},z:{value:OF(t),optional:!0}},t,wG),this.z=a,this.curve=RW(o,s),rV(this,t)}filter(e){return e}project(e,t,n){this.curve!==zW&&super.project(e,t,n)}render(e,t,n,r,a){let{x:o,y:s}=n,{curve:c}=this;return Qz(`svg:g`,a).call(DB,this,r,a).call(jB,this,t).call(t=>t.selectAll().data(bB(e,[o,s],this,n)).enter().append(`path`).call(OB,this).call(_B,this,n).call(fV,this,n,a).attr(`d`,c===zW&&a.projection?EG(a.path(),o,s):TM().curve(c).defined(e=>e>=0).x(e=>o[e]).y(e=>s[e]))).node()}};function EG(e,t,n){return t=oF(t),n=oF(n),r=>{let a=[],o=[a];for(let e of r)e===-1?(a=[],o.push(a)):a.push([t[e],n[e]]);return e({type:`MultiLineString`,coordinates:o})}}function DG(e,{x:t=XP,y:n=ZP,...r}={}){return new TG(e,HW({...r,x:t,y:n}))}RB.prototype.plot=function({marks:e=[],...t}={}){return cW({...t,marks:[...e,this]})};function OG(e){let{drawable:t,scale:n}=e,r=t.geometry;if(r==null)return null;let a=r.width*n,o=r.height*n,s=[`height: ${o}px`,`left: ${r.x*n}px`,`position: absolute`,`top: ${r.y*n}px`,`width: ${a}px`].join(`; `),c=T(),l=t.chartType||`bar`,u=t.data||[],d=t.labels||[],f=t.series||[],p=[];for(let e=0;e<u.length;e++)for(let t=0;t<u[e].length;t++)p.push({category:d[e]||`Row ${e}`,series:f[t]||`Series ${t}`,value:u[e][t]});return p.length===0?B(`div`,{class:`kn-chart`,style:s},B(`div`,{class:`kn-chart-empty`},`Chart (no data)`)):(setTimeout(function(){let e=c.value;if(e==null)return;let t=cW({marks:kG(l,p),width:a,height:o,style:{background:`transparent`,color:`#333`}});e.innerHTML=``,e.appendChild(t)},0),B(`div`,{class:`kn-chart`,style:s,ref:c}))}function kG(e,t){return e===`pie`?[yG(t,{x:`category`,y:`value`,fill:`series`}),jV([0])]:e===`line`?[DG(t,{x:`category`,y:`value`,stroke:`series`})]:e===`scatter`?[CG(t,{x:`category`,y:`value`,fill:`series`})]:e===`area`?[mG(t,{x:`category`,y:`value`,fill:`series`,fillOpacity:.5}),DG(t,{x:`category`,y:`value`,stroke:`series`})]:[yG(t,{x:`category`,y:`value`,fill:`series`}),jV([0])]}function AG(e){let{drawable:t,scale:n,medias:r}=e;if(t.geometry==null&&t.type!==`image`&&t.type!==`chart`)return null;let a=t.geometry;return a&&a.width===0&&a.height===0&&!t.isTextBox?null:t.type===`image`?B(ig,{drawable:t,scale:n,medias:r}):t.type===`chart`?B(OG,{drawable:t,scale:n}):t.isTextBox&&t.text?B(og,{drawable:t,scale:n}):t.fill||t.stroke?B(ag,{drawable:t,scale:n}):t.text?B(og,{drawable:t,scale:n}):B(`span`,null)}function jG(e){let{slide:t,width:n,height:r,scale:a,medias:o}=e;return B(`div`,{class:`slide`,style:`height: ${r*a}px; position: relative; width: ${n*a}px`},B(H,{each:t.drawables},e=>B(AG,{drawable:e,scale:a,medias:o})))}async function MG(e){let{zip:t}=e,n=await rg(t),{slides:r,width:a,height:o,medias:s}=n;console.log(n);let c=960/a;return{...e,slides:r,width:a,height:o,medias:s,scale:c,Component:NG,icon:`keynote`}}function NG(e){let{slides:t,width:n,height:r,scale:a,medias:o}=e;return B(`div`,{class:`slides`},B(H,{each:t},(e,t)=>B(jG,{slide:e,width:n,height:r,scale:a,medias:o})))}function PG(e){let t=new URLSearchParams;if(Object.entries(e).forEach(function([e,n]){n&&t.set(e,n)}),!e.hasOwnProperty(`token`)){let e=localStorage.getItem(`token`);e&&t.set(`token`,e)}return t}function FG(e,t){let n=t&&PG(t).toString();return e=e.replace(`//`,`/`),n?`${e}?${n}`:e}async function IG(e){let{url:t,body:n,params:r}=e,a=FG(t,r);try{return await(await fetch(a,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})).json()}catch(e){console.error(t,r,e)}}async function LG(e,t={},n={}){let r=await zG(e,t,n);try{return JSON.parse(r)}catch(t){console.error(e,n,t)}}async function RG(e,t={},n={}){let r=FG(e,n);try{return await(await fetch(r,{headers:{"Content-Type":`application/octet-stream`}})).arrayBuffer()}catch(t){console.error(e,n,t)}}async function zG(e,t={},n={}){let r=FG(e,n);try{return await(await fetch(r,t)).text()}catch(t){console.error(e,n,t)}}await async function(){if(wt){let{Readable:e}=await Mt(async()=>{let{Readable:e}=await import(`node:stream`);return{Readable:e}},[],import.meta.url);return function(t){return e.from([t])}}return function(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}}(),await async function(){if(wt){let{createInflateRaw:e}=await Mt(async()=>{let{createInflateRaw:e}=await import(`node:zlib`);return{createInflateRaw:e}},[],import.meta.url),{Readable:t}=await Mt(async()=>{let{Readable:e}=await import(`node:stream`);return{Readable:e}},[],import.meta.url);return function(n){let r=e();return t.from([n]).pipe(r)}}return function(e){let t=new DecompressionStream(`deflate-raw`),n=t.writable.getWriter();return n.write(e),n.close(),t.readable}}();function BG(e){let t=VG(e),n=t.read(8),r=t.read(8);if(n!==66||r!==90)throw Error(`invalid bzip2 header`);t.read(8),(t.read(8)-48)*1e5;let a=[];for(;;){let e=t.read48();if(e===25779555029136)break;if(e!==54156738319193)throw Error(`bad bzip2 block magic`);t.read(32),t.read(1);let n=t.read(24),r=t.read(16),o=[];for(let e=0;e<16;e++)if(r&1<<15-e){let n=t.read(16);for(let t=0;t<16;t++)n&1<<15-t&&o.push(e*16+t)}let s=o.length+2,c=t.read(3),l=t.read(15),u=[];for(let e=0;e<l;e++){let e=0;for(;t.read(1);)e++;u.push(e)}let d=Array(c);for(let e=0;e<c;e++)d[e]=e;let f=[];for(let e of u){let t=d[e];for(let t=e;t>0;t--)d[t]=d[t-1];d[0]=t,f.push(t)}let p=[];for(let e=0;e<c;e++){let e=[],n=t.read(5);for(let r=0;r<s;r++){for(;t.read(1);)t.read(1)?n--:n++;e.push(n)}p.push(HG(e))}let m=[],h=0,g=0,_=p[f[0]];for(;;){g===50&&(g=0,h++,_=p[f[h]]),g++;let e=UG(t,_);if(e===s-1)break;if(e<=1){let n=0,r=1,a=e;for(;a<=1;)n+=(a+1)*r,r*=2,g===50&&(g=0,h++,_=p[f[h]]),g++,a=UG(t,_);for(let e=0;e<n;e++)m.push(0);if(a===s-1)break;m.push(a-1)}else m.push(e-1)}let v=o.slice(),y=new Uint8Array(m.length);for(let e=0;e<m.length;e++){let t=m[e],n=v[t];y[e]=n;for(let e=t;e>0;e--)v[e]=v[e-1];v[0]=n}let b=y.length,x=new Uint32Array(256);for(let e=0;e<b;e++)x[y[e]]++;let S=new Uint32Array(256),C=0;for(let e=0;e<256;e++)S[e]=C,C+=x[e];let w=new Uint32Array(b);for(let e=0;e<b;e++){let t=y[e];w[S[t]]=e,S[t]++}let T=w[n],E=new Uint8Array(b);for(let e=0;e<b;e++)E[e]=y[T],T=w[T];let D=0;for(;D<b;){let e=E[D],t=1;for(;D+t<b&&E[D+t]===e&&t<4;)t++;for(let n=0;n<t;n++)a.push(e);if(D+=t,t===4&&D<b){let t=E[D++];for(let n=0;n<t;n++)a.push(e)}}}return new Uint8Array(a)}function VG(e){let t=0,n=0;function r(r){let a=0;for(let o=0;o<r;o++)a=a<<1|e[t]>>7-n&1,n++,n===8&&(n=0,t++);return a}function a(){let e=r(24),t=r(24);return e*16777216+t}return{read:r,read48:a}}function HG(e){let t=Math.max(...e),n={minLen:Math.min(...e.filter(function(e){return e>0})),maxLen:t,codes:[]},r=new Uint32Array(t+1);for(let t of e)r[t]++;let a=new Uint32Array(t+1),o=0;for(let e=1;e<=t;e++)o=o+r[e-1]<<1,a[e]=o;for(let t=0;t<e.length;t++){let r=e[t];r>0&&(n.codes.push({sym:t,len:r,code:a[r]}),a[r]++)}return n}function UG(e,t){let n=0;for(let r=1;r<=t.maxLen;r++){n=n<<1|e.read(1);for(let e of t.codes)if(e.len===r&&e.code===n)return e.sym}throw Error(`invalid huffman code`)}var WG=117853008,GG=101075792,KG=134695760,qG=8;function JG(e,t){return e[t]|e[t+1]<<8}function YG(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function XG(e,t){if(t+8<=e.length){let n=new DataView(e.buffer,e.byteOffset+t,8);return Number(n.getBigUint64(0,!0))}return 0}function ZG(e,t,n){let r=[],a=Math.min(t+n,e.length),o=t;for(;o+4<=a;){let t=JG(e,o),n=JG(e,o+2);r.push({id:t,offset:o,size:n+4}),o+=4+n}return r}function QG(e,t,n){let r=ZG(e,t.extraOffset,t.extraLength).find(e=>e.id===1);if(r){let a=r.offset+r.size,o=r.offset+4;t.size===4294967295&&o+8<=a&&(t.size=XG(e,o),o+=8),t.compressedSize===4294967295&&o+8<=a&&(t.compressedSize=XG(e,o),o+=8),t.localHeaderOffset===4294967295&&o+8<=a&&(t.localHeaderOffset=XG(e,o),o+=8),n===65535&&o+4<=a&&(o+=4),t.zip64=!0}return t}function $G(e,t){let n=JG(e,t+20),r=new TextDecoder().decode(e.subarray(t+22,t+22+n)),a={eocdOffset:t,eocdSize:22+n,eocd64Offset:0,eocd64Size:0,locatorOffset:0,cdOffset:YG(e,t+16),cdSize:YG(e,t+12),totalEntries:JG(e,t+10),zip64:!1,comment:r},o=t-20;if(o>=0&&YG(e,o)===WG){let t=XG(e,o+8);t+56<=e.length&&YG(e,t)===GG&&(a.zip64=!0,a.locatorOffset=o,a.eocd64Offset=t,a.eocd64Size=12+XG(e,t+4),a.totalEntries=XG(e,t+32),a.cdSize=XG(e,t+40),a.cdOffset=XG(e,t+48))}return a}function eK(e,t,n){let r=t+4<=e.length&&YG(e,t)===KG;return{offset:t,size:(r?4:0)+4+(n?8:4)*2,hasSignature:r}}function tK(e,t){let n=mh(e,t.localHeaderOffset),r=n?n.dataOffset:t.localHeaderOffset+30,a=(t.flags&qG)===0?{offset:0,size:0,hasSignature:!1}:eK(e,r+t.compressedSize,t.zip64===!0);return{name:t.name,cdOffset:t.cdOffset,cdSize:t.cdSize,localHeaderOffset:t.localHeaderOffset,localHeaderSize:r-t.localHeaderOffset,dataOffset:r,dataSize:t.compressedSize,descriptorOffset:a.offset,descriptorSize:a.size,descriptorSigned:a.hasSignature,compMethod:t.compMethod,crc32:t.crc32,compressedSize:t.compressedSize,uncompressedSize:t.size,flags:t.flags,lastModified:t.lastModified,zip64:t.zip64===!0,extraFields:ZG(e,t.extraOffset,t.extraLength)}}function nK(e,t,n){return{eocdOffset:t.eocdOffset,eocdSize:t.eocdSize,eocd64Offset:t.eocd64Offset,eocd64Size:t.eocd64Size,locatorOffset:t.locatorOffset,cdOffset:t.cdOffset,cdSize:t.cdSize,totalEntries:t.totalEntries,zip64:t.zip64,comment:t.comment,entries:n.map(t=>tK(e,t))}}var rK=[253,55,122,88,90,0];function iK(e,t){return e[0]===rK[0]&&e[1]===rK[1]&&e[2]===rK[2]&&e[3]===rK[3]?aK(e,t):uK(e,t)}function aK(e,t){let n=new Uint8Array(t),r=0,a=6,o=e[a]<<8|e[a+1];for(a+=2,a+=4;a<e.length;){let s=e[a];if(s===0)break;let c=(s+1)*4,l=a;a++;let u=e[a++],d=(u&3)+1,f=!!(u&64),p=!!(u&128),m=0;if(f){let t=bK(e,a);m=t.value,a=t.pos}if(p){let t=bK(e,a);t.value,a=t.pos}let h=0;for(let t=0;t<d;t++){let t=bK(e,a),n=t.value;a=t.pos;let r=bK(e,a),o=r.value;if(a=r.pos,n===33){if(o>0){let t=e[a];if(t>40)throw Error(`invalid LZMA2 dict size byte: `+t);h=t===40?4294967295:(2|t&1)<<(t>>1)+11}a+=o}else a+=o}if(a=l+c,f){let o=oK(e,a,m,h,t-r);n.set(o,r),r+=o.length,a+=m}else{let o=oK(e,a,e.length-a,h,t-r);n.set(o,r),r+=o.length,a+=o._consumedInput||e.length-a}for(;a%4!=0;)a++;let g=o&15;a+=[0,4,4,4,8,8,8,16,16,16,32,32,32,32,32,32][g]||0}return n.subarray(0,r)}function oK(e,t,n,r,a){let o=new Uint8Array(a),s=0,c=t,l=t+n;r===0&&(r=4096);let u=new Uint8Array(r),d=0,f=null;for(;c<l&&s<a;){let t=e[c++];if(t===0)break;if(t===1){let t=(e[c]<<8|e[c+1])+1;c+=2;for(let n=0;n<t&&s<a;n++){let t=e[c++];o[s++]=t,u[d]=t,d=(d+1)%r}f=null}else if(t===2){let t=(e[c]<<8|e[c+1])+1;c+=2;for(let n=0;n<t&&s<a;n++){let t=e[c++];o[s++]=t,u[d]=t,d=(d+1)%r}}else if(t>=128){t&32,t&64,t&64&&t&32;let n=(t&31)<<16|e[c]<<8|e[c+1];c+=2;let a=n+1,l=(e[c]<<8|e[c+1])+1;c+=2;let p=t>=192,m=t>=160,h=t>=224,g,_,v;if(p){let t=e[c++];g=t%9;let n=(t-g)/9;_=n%5,v=(n-_)/5,f=sK(g,_,v)}else(m||f===null)&&(f===null?(g=3,_=0,v=2,f=sK(g,_,v)):cK(f));h&&(u.fill(0),d=0);let y=c,b=lK(e,c,l,a,f,u,d,r,s);o.set(b.data,s),s+=b.data.length,d=b.dictPos,c=y+l}else break}let p=o.subarray(0,s);return p._consumedInput=c-t,p}function sK(e,t,n){let r=1<<n,a=1<<e+t;return{lc:e,lp:t,pb:n,state:0,rep0:0,rep1:0,rep2:0,rep3:0,isMatch:yK(12*r),isRep:yK(12),isRepG0:yK(12),isRepG1:yK(12),isRepG2:yK(12),isRep0Long:yK(12*r),litProbs:yK(a*768),posSlotDec:[yK(64),yK(64),yK(64),yK(64)],alignProbs:yK(16),posProbs:yK(124),lenDec:{choice:yK(1),choice2:yK(1),low:yK(r*8),mid:yK(r*8),high:yK(256)},repLenDec:{choice:yK(1),choice2:yK(1),low:yK(r*8),mid:yK(r*8),high:yK(256)}}}function cK(e){e.state=0,e.rep0=0,e.rep1=0,e.rep2=0,e.rep3=0,e.isMatch.fill(1024),e.isRep.fill(1024),e.isRepG0.fill(1024),e.isRepG1.fill(1024),e.isRepG2.fill(1024),e.isRep0Long.fill(1024),e.litProbs.fill(1024);for(let t=0;t<4;t++)e.posSlotDec[t].fill(1024);e.alignProbs.fill(1024),e.posProbs.fill(1024),e.lenDec.choice.fill(1024),e.lenDec.choice2.fill(1024),e.lenDec.low.fill(1024),e.lenDec.mid.fill(1024),e.lenDec.high.fill(1024),e.repLenDec.choice.fill(1024),e.repLenDec.choice2.fill(1024),e.repLenDec.low.fill(1024),e.repLenDec.mid.fill(1024),e.repLenDec.high.fill(1024)}function lK(e,t,n,r,a,o,s,c,l){let u=xK(e,t),d=new Uint8Array(r),f=0,p=1<<a.pb;for(;f<r;){let e=l+f&p-1;if(u.decodeBit(a.isMatch,a.state*p+e)===0){let e=f>0?d[f-1]:s>0?o[s-1]:0,t=((l+f&(1<<a.lp)-1)<<a.lc|e>>8-a.lc)*768,n;if(a.state>=7){let e=s-a.rep0-1;e<0&&(e+=c);let r=o[e];n=mK(u,a.litProbs,t,r)}else n=pK(u,a.litProbs,t);d[f++]=n,o[s]=n,s=(s+1)%c,a.state=hK(a.state)}else{let t;if(u.decodeBit(a.isRep,a.state)===0){t=fK(u,a.lenDec,e,p);let n=dK(u,t,a);a.rep3=a.rep2,a.rep2=a.rep1,a.rep1=a.rep0,a.rep0=n,a.state=gK(a.state)}else{if(u.decodeBit(a.isRepG0,a.state)===0){if(u.decodeBit(a.isRep0Long,a.state*p+e)===0){let e=s-a.rep0-1;e<0&&(e+=c);let t=o[e];d[f++]=t,o[s]=t,s=(s+1)%c,a.state=vK(a.state);continue}t=fK(u,a.repLenDec,e,p)}else if(u.decodeBit(a.isRepG1,a.state)===0){let n=a.rep1;a.rep1=a.rep0,a.rep0=n,t=fK(u,a.repLenDec,e,p)}else if(u.decodeBit(a.isRepG2,a.state)===0){let n=a.rep2;a.rep2=a.rep1,a.rep1=a.rep0,a.rep0=n,t=fK(u,a.repLenDec,e,p)}else{let n=a.rep3;a.rep3=a.rep2,a.rep2=a.rep1,a.rep1=a.rep0,a.rep0=n,t=fK(u,a.repLenDec,e,p)}a.state=_K(a.state)}let n=t+2;for(let e=0;e<n&&f<r;e++){let e=s-a.rep0-1;e<0&&(e+=c);let t=o[e];d[f++]=t,o[s]=t,s=(s+1)%c}}}return{data:d,dictPos:s,inputPos:u.getPos()}}function uK(e,t){let n=e[0],r=n%9,a=(n-r)/9,o=a%5,s=(a-o)/5,c=Math.max(4096,e[1]|e[2]<<8|e[3]<<16|e[4]<<24>>>0);t===void 0&&(t=(e[5]|e[6]<<8|e[7]<<16|e[8]<<24>>>0)+(e[9]|e[10]<<8|e[11]<<16|e[12]<<24>>>0)*4294967296);let l=sK(r,o,s),u=new Uint8Array(c);return lK(e,13,e.length-13,t,l,u,0,c,0).data}function dK(e,t,n){let r=Math.min(t,3),a=e.decodeBitTree(n.posSlotDec[r],6);if(a<4)return a;let o=(a>>1)-1,s=(2|a&1)<<o;return a<14?s+=e.decodeReverseBitTree(n.posProbs,o,s-a):(s+=e.decodeDirect(o-4)<<4,s+=e.decodeReverseBitTree(n.alignProbs,4,0)),s}function fK(e,t,n){return e.decodeBit(t.choice,0)===0?e.decodeBitTree(t.low,3,n*8):e.decodeBit(t.choice2,0)===0?8+e.decodeBitTree(t.mid,3,n*8):16+e.decodeBitTree(t.high,8)}function pK(e,t,n){let r=1;for(;r<256;)r=r<<1|e.decodeBit(t,n+r);return r&255}function mK(e,t,n,r){let a=1,o=r,s=!0;for(;a<256;)if(s){o<<=1;let r=o>>8&1,c=e.decodeBit(t,n+(1+r<<8)+a);a=a<<1|c,r!==c&&(s=!1)}else a=a<<1|e.decodeBit(t,n+a);return a&255}function hK(e){return e<4?0:e<10?e-3:e-6}function gK(e){return e<7?7:10}function _K(e){return e<7?8:11}function vK(e){return e<7?9:11}function yK(e){let t=new Uint16Array(e);return t.fill(1024),t}function bK(e,t){let n=0,r=0;for(;;){let a=e[t++];if(n|=(a&127)<<r,!(a&128))break;r+=7}return{value:n,pos:t}}function xK(e,t){let n=t,r=4294967295,a=0;n++;for(let t=0;t<4;t++)a=(a<<8|e[n++])>>>0;function o(){r<16777216&&(r=r<<8>>>0,a=(a<<8|(e[n++]||0))>>>0)}function s(e,t){let n=e[t],s=(r>>>11)*n>>>0;return a<s?(r=s,e[t]=n+(2048-n>>5),o(),0):(r=r-s>>>0,a=a-s>>>0,e[t]=n-(n>>5),o(),1)}function c(e){let t=0;for(let n=0;n<e;n++)r=r>>>1>>>0,a=a-r>>>0,a&2147483648?(a=a+r>>>0,t<<=1):t=t<<1|1,o();return t}function l(e,t,n){n===void 0&&(n=0);let r=1;for(let a=0;a<t;a++)r=r<<1|s(e,n+r);return r-(1<<t)}function u(e,t,n){let r=0,a=1;for(let o=0;o<t;o++){let t=s(e,n+a);a=a<<1|t,r|=t<<o}return r}function d(){return n}return{decodeBit:s,decodeDirect:c,decodeBitTree:l,decodeReverseBitTree:u,getPos:d}}function SK(e){return e<=0?0:31-Math.clz32(e)}function CK(e){return e>0&&!(e&e-1)}function wK(e,t,n){let r=0,a=0,o=n;if(o=n-1,e[o]===0)for(;o>t&&e[o]===0;)o--;let s=o,c=e[o],l=SK(c);r=l,a=c&(1<<l)-1,o--;let u=l+(s-t)*8,d=0;for(;r<=24&&o>=t;)a=a<<8|e[o--],r+=8;return{read(n){if(n===0)return 0;d+=n,r-=n;let s=a>>>r&(1<<n)-1;for(;r<=24&&o>=t;)a=a<<8|e[o--],r+=8;return s},peek(e){return e===0||r<e?0:a>>>r-e&(1<<e)-1},consume(n){for(d+=n,r-=n;r<=24&&o>=t;)a=a<<8|e[o--],r+=8},available(){return r},hasMoreBytes(){return o>=t},totalBits(){return u},bitsConsumed(){return d}}}function TK(e,t){let n=1<<t,r=Array(n);for(let e=0;e<n;e++)r[e]={symbol:0,stBits:0,nextState:0,baseline:0,nbBits:0};let a=n-1;for(let t=0;t<e.length;t++)if(e[t]===-1){if(a<0)break;r[a].symbol=t,a--}let o=(n>>1)+(n>>3)+3,s=n-1,c=0;for(let t=0;t<e.length;t++){let n=e[t];if(!(n<=0))for(let e=0;e<n;e++){r[c].symbol=t;do c=c+o&s;while(c>a)}}let l=Array(e.length);for(let t=0;t<e.length;t++){let n=e[t];l[t]=n<=0?1:n}for(let e=0;e<n;e++){let a=r[e].symbol,o=l[a],s=t-SK(o);r[e].stBits=s,r[e].nextState=(o<<s)-n,l[a]=o+1}return r}function EK(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function DK(e,t,n){let r=t,a=t,o=EK(e,a),s=(o&15)+(n||0);o>>>=4;let c=4,l=(1<<s)+1,u=1<<s,d=s+1,f=[],p=0,m=!1;for(;;){if(m){let t=OK(o)>>1;for(;t>=12;)p+=36,a+=3,c-=0,a=Math.min(a,r+(e.length-4)),o=EK(e,a)>>>c,t=OK(o)>>1;for(p+=3*t,o>>>=2*t,c+=2*t,p+=o&3,c+=2;f.length<p;)f.push(0);if(p>=256)break;a+=c>>3,c&=7,o=EK(e,a)>>>c}let t=2*u-1-l,n;if((o&u-1)>>>0<t?(n=o&u-1,c+=d-1):(n=o&2*u-1,n>=u&&(n-=t),c+=d),n--,n>=0?l-=n:l+=n,f.push(n),p++,m=n===0,l<u){if(l<=1)break;d=SK(l)+1,u=1<<d-1}if(p>=256)break;a+=c>>3,c&=7,o=EK(e,a)>>>c}if(l!==1)throw Error(`FSE_readNCount: corruption detected`);return a+=c+7>>3,{probs:f,accuracyLog:s,consumed:a-r}}function OK(e){let t=~e>>>0;return t===0?32:31-Math.clz32(t&-t>>>0)}function kK(e,t,n,r,a,o,s){if(e===0)return{table:r.table,accuracyLog:r.accuracyLog,consumed:0};if(e===1){let e=t[n];return{table:[{symbol:e,stBits:0,nextState:0,baseline:e<o.length?o[e]:0,nbBits:e<s.length?s[e]:0}],accuracyLog:0,consumed:1}}if(e===3){if(a===null)throw Error(`repeat mode without prior table`);return{table:a.table,accuracyLog:a.accuracyLog,consumed:0}}let{probs:c,accuracyLog:l,consumed:u}=DK(t,n,5),d=1<<l,f=TK(c,l);for(let e=0;e<d;e++){let t=f[e].symbol;t<o.length&&(f[e].baseline=o[t],f[e].nbBits=s[t])}return{table:f,accuracyLog:l,consumed:u}}var AK=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,20,22,24,28,32,40,48,64,128,256,512,1024,2048,4096,8192,16384,32768,65536],jK=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,4,6,7,8,9,10,11,12,13,14,15,16],MK=[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,37,39,41,43,47,51,59,67,83,99,131,259,515,1027,2051,4099,8195,16387,32771,65539],NK=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,3,4,4,5,7,8,9,10,11,12,13,14,15,16],PK=Array(32),FK=Array(32);for(let e=0;e<32;e++)FK[e]=e,PK[e]=e===0?1:1<<e;var IK=[4,3,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,3,2,1,1,1,1,1,-1,-1,-1,-1],LK=[1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1],RK=[1,4,3,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1];function zK(e,t,n,r){let a=1<<t,o=TK(e,t);for(let e=0;e<a;e++){let t=o[e].symbol;t<n.length&&(o[e].baseline=n[t],o[e].nbBits=r[t])}return{table:o,accuracyLog:t}}var BK=zK(IK,6,AK,jK),VK=zK(RK,6,MK,NK),HK=zK(LK,5,PK,FK),UK=Array(4096);for(let e=0;e<4096;e++)UK[e]={symbol:0,nbBits:0};function WK(e,t){let n=Math.min(128,e.length-t),r=Array.from(e.slice(t,t+n)).map(function(e){return e.toString(16).padStart(2,`0`)}).join(``);console.log(`[HUFF_RAW] pos=`+t+` hex=`+r);let a=e[t++],o=[];if(a>=128){let n=a-127;for(let r=0;r<n;r+=2){let a=e[t++];o.push(a>>4),r+1<n&&o.push(a&15)}let r=1+Math.ceil(n/2);return{weights:o,maxBits:GK(o),consumed:r}}let s=a,c=t+s,{probs:l,accuracyLog:u,consumed:d}=DK(e,t,5),f=TK(l,u),p=wK(e,t+d,c),m=p.totalBits(),h=p.read(u),g=p.read(u);for(console.log(`[decodeHuffmanTree] compSize=`,s,`accuracyLog=`,u,`probs=`,JSON.stringify(l),`totalBits=`,m,`revStart=`,t+d,`compEnd=`,c,`initState1=`,h,`initState2=`,g,`bitsAfterInit=`,p.bitsConsumed());o.length<255;){let e=f[h];o.push(e.symbol),h=e.nextState+p.read(e.stBits);let t=p.bitsConsumed();if((o.length<=10||t>m-20)&&console.log(`[HUFF_LOOP] w#`+o.length+` s1=`+e.symbol+` stBits=`+e.stBits+` bitsConsumed=`+t+` state1=`+h+` avail=`+p.available()),t>m){o.push(f[g].symbol),console.log(`[HUFF_BREAK] at w#`+o.length+` bitsConsumed=`+t+` > totalBits=`+m);break}if(o.length>=255)break;let n=f[g];o.push(n.symbol),g=n.nextState+p.read(n.stBits);let r=p.bitsConsumed();if((o.length<=10||r>m-20)&&console.log(`[HUFF_LOOP] w#`+o.length+` s2=`+n.symbol+` stBits=`+n.stBits+` bitsConsumed=`+r+` state2=`+g+` avail=`+p.available()),r>m){o.push(f[h].symbol),console.log(`[HUFF_BREAK] at w#`+o.length+` bitsConsumed=`+r+` > totalBits=`+m);break}}let _=1+s;return{weights:o,maxBits:GK(o),consumed:_}}function GK(e){let t=0;for(let n=0;n<e.length;n++)e[n]>t&&(t=e[n]);let n=0;for(let t=0;t<e.length;t++)e[t]>0&&(n+=1<<e[t]-1);let r=SK(n)+ +!CK(n),a=1<<r,o=a-n,s=o>0?SK(o)+1:0;console.log(`[buildHuffmanTable] weights.length=`,e.length,`sumW=`,n,`tableLog=`,r,`tableSize=`,a,`lastW=`,s,`remaining=`,o,`weights=`,JSON.stringify(e.slice(0,20)));let c=[...e,s],l=Array(r+2).fill(0);for(let e=0;e<c.length;e++){let t=c[e];t>0&&l[t]++}let u=0;for(let e=1;e<=r+1;e++){let t=l[e];l[e]=u,u+=t*(1<<e-1)}for(let e=0;e<c.length;e++){let t=c[e];if(t===0)continue;let n=r+1-t,a=1<<r-n,o=l[t];l[t]+=a;for(let t=0;t<a;t++)UK[o+t].symbol=e,UK[o+t].nbBits=n}return r}function KK(e,t,n,r,a,o,s){if(a&&r>3){let a=e[t]|e[t+1]<<8,c=e[t+2]|e[t+3]<<8,l=e[t+4]|e[t+5]<<8,u=t+6,d=r+3>>2;qK(e,u,u+a,s,0,d,o),u+=a,qK(e,u,u+c,s,d,d,o),u+=c,qK(e,u,u+l,s,d*2,d,o),u+=l,qK(e,u,n,s,d*3,r-d*3,o)}else qK(e,t,n,s,0,r,o)}function qK(e,t,n,r,a,o,s){let c=wK(e,t,n),l=0;for(;l<o;){let e=UK[c.peek(s)];c.consume(e.nbBits),r[a+l++]=e.symbol}}function JK(e){let t=e,n=Math.min(256,t.length);console.log(`[ZSTD_FRAME] len=`+t.length+` hex=`+Array.from(t.slice(0,n)).map(function(e){return e.toString(16).padStart(2,`0`)}).join(``));let r=0,a=t[r]|t[r+1]<<8|t[r+2]<<16|t[r+3]<<24;if(r+=4,a>>>0!=4247762216)throw Error(`not a zstd frame`);let o=t[r++],s=o>>5&1,c=o>>2&1,l=o>>6,u=o&3,d=0;if(s===0){let e=t[r++],n=e>>3,a=e&7;d=(1<<10+n)+(a<<7+n)}r+=[0,1,2,4][u];let f=-1;l===0&&s?f=t[r++]:l===1?(f=(t[r]|t[r+1]<<8)+256,r+=2):l===2?(f=(t[r]|t[r+1]<<8|t[r+2]<<16|t[r+3]<<24>>>0)>>>0,r+=4):l===3&&(f=((t[r]|t[r+1]<<8|t[r+2]<<16|t[r+3]<<24>>>0)>>>0)+((t[r+4]|t[r+5]<<8|t[r+6]<<16|t[r+7]<<24>>>0)>>>0)*4294967296,r+=8),s&&d===0&&(d=f);let p=f>0?new Uint8Array(f):new Uint8Array(d||131072),m=0,h=!1;for(;!h;){let e=t[r]|t[r+1]<<8|t[r+2]<<16;r+=3,h=e&1;let n=e>>1&3,a=e>>3;if(n===0)g(a),p.set(t.subarray(r,r+a),m),m+=a,r+=a;else if(n===1)g(a),p.fill(t[r++],m,m+a),m+=a;else if(n===2){let e=r+a;_(t,r,e),r=e}else throw Error(`reserved block type`)}return c&&(r+=4),p.subarray(0,m);function g(e){if(m+e>p.length){let t=new Uint8Array(Math.max(p.length*2,m+e));t.set(p),p=t}}function _(e,t,n){let r=e[t],a=r&3,o=0,s=0,c=null;if(a===0){let n=r>>2&3;n===0||n===2?(o=r>>3,t+=1):n===1?(o=(r>>4|e[t+1]<<4)&4095,t+=2):(o=(r>>4|e[t+1]<<4|e[t+2]<<12)&1048575,t+=3),c=e.slice(t,t+o),t+=o}else if(a===1){let n=r>>2&3;n===0||n===2?(o=r>>3,t+=1):n===1?(o=(r>>4|e[t+1]<<4)&4095,t+=2):(o=(r>>4|e[t+1]<<4|e[t+2]<<12)&1048575,t+=3),c=new Uint8Array(o),c.fill(e[t]),t+=1}else{let n=r>>2&3,l=n>0,u=e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24;if(n<=1)o=u>>4&1023,s=u>>14&1023,t+=3;else if(n===2)o=u>>4&16383,s=u>>>18&16383,t+=4;else{let n=e[t+4];o=u>>4&262143,s=(u>>>22|n<<10)&262143,t+=5}c=new Uint8Array(o);let d=t;if(a===2){let n=WK(e,t);v=n.maxBits,KK(e,t+n.consumed,d+s,o,l,n.maxBits,c)}else KK(e,t,d+s,o,l,v,c);t=d+s}let l=e[t++],u=0;if(l<128?u=l:l<255?u=(l-128<<8)+e[t++]:(u=(e[t]|e[t+1]<<8)+32512,t+=2),u===0){g(o),p.set(c,m),m+=o;return}let d=e[t++],f=d>>6&3,h=d>>4&3,_=d>>2&3,T=kK(f,e,t,BK,S,AK,jK);t+=T.consumed,S=T;let E=kK(h,e,t,HK,C,PK,FK);t+=E.consumed,C=E;let D=kK(_,e,t,VK,w,MK,NK);t+=D.consumed,w=D;let O=wK(e,t,n),k=O.read(T.accuracyLog),A=O.read(E.accuracyLog),j=O.read(D.accuracyLog),M=0;g(o+u*4);for(let e=0;e<u;e++){let t=E.table[A],n=D.table[j],r=T.table[k],a=t.baseline+O.read(t.nbBits),o=n.baseline+O.read(n.nbBits),s=r.baseline+O.read(r.nbBits),l;if(a>3)l=a-3,x=b,b=y,y=l;else if(a===1)if(s===0){l=b;let e=y;y=b,b=e}else l=y;else a===2?s===0?(l=x,x=b,b=y,y=l):(l=b,b=y,y=l):s===0?(l=y-1,x=b,b=y,y=l):(l=x,x=b,b=y,y=l);if(s>0&&(g(s),p.set(c.subarray(M,M+s),m),m+=s,M+=s),o>0){g(o);let e=m-l;if(l>=o)p.set(p.subarray(e,e+o),m);else for(let t=0;t<o;t++)p[m+t]=p[e+t];m+=o}e<u-1&&(k=r.nextState+O.read(r.stBits),j=n.nextState+O.read(n.stBits),A=t.nextState+O.read(t.stBits))}let N=c.length-M;N>0&&(g(N),p.set(c.subarray(M),m),m+=N)}var v,y,b,x,S,C,w}var YK;wt&&(YK=(await Mt(async()=>{let{inflateRawSync:e}=await import(`node:zlib`);return{inflateRawSync:e}},[],import.meta.url)).inflateRawSync);async function XK(e){if(wt)return YK(e);{let t=new DecompressionStream(`deflate-raw`),n=new Response(new Blob([e]).stream().pipeThrough(t));return new Uint8Array(await n.arrayBuffer())}}function ZK(e,t){return e[t]|e[t+1]<<8}function QK(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function $K(e,t){let n=(e>>9&127)+1980,r=(e>>5&15)-1,a=e&31,o=t>>11&31,s=t>>5&63,c=(t&31)*2;return new Date(n,r,a,o,s,c)}function eq(e){for(let t=e.length-22;t>=0;t--)if(e[t]===80&&e[t+1]===75&&e[t+2]===5&&e[t+3]===6)return t;return-1}async function tq(e,t,n){if(t===0)return e;if(t===8)return await XK(e);if(t===12)return BG(e);if(t===14)return iK(e,n);if(t===93)return JK(e);throw Error(`unsupported compression method: `+t)}async function nq(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(await xn(e))}async function rq(e){let t=await nq(e),n=eq(t);if(n<0)throw Error(`no EOCD found, not a ZIP file`);let r=$G(t,n),a=r.totalEntries,o=r.cdOffset,s=[],c={},l=o;for(let e=0;e<a&&QK(t,l)===33639248;e++){let e=ZK(t,l+8),n=ZK(t,l+10),r=ZK(t,l+12),a=ZK(t,l+14),o=QK(t,l+16),u=QK(t,l+20),d=QK(t,l+24),f=ZK(t,l+28),p=ZK(t,l+30),m=ZK(t,l+32),h=ZK(t,l+34),g=QK(t,l+42),_=new TextDecoder().decode(t.subarray(l+46,l+46+f)),v={name:_,size:d,compressedSize:u,compMethod:n,crc32:o,flags:e,lastModified:$K(a,r),localHeaderOffset:g,cdOffset:l,cdSize:46+f+p+m,extraOffset:l+46+f,extraLength:p};(u===4294967295||d===4294967295||g===4294967295||h===65535)&&QG(t,v,h),c[_]=s.length,s.push(v),l+=46+f+p+m}return{getEntries:d,getEntry:f,getLayout:u};function u(){return nK(t,r,s)}function d(){return s.map(function(e){return{name:e.name,size:e.size,compressedSize:e.compressedSize,compMethod:e.compMethod,lastModified:e.lastModified}})}async function f(e){let n=c[e];if(n==null)throw Error(`file not found: `+e);let r=s[n],a=r.localHeaderOffset;if(QK(t,a)!==67324752)throw Error(`invalid local file header for: `+e);let o=ZK(t,a+26),l=ZK(t,a+28),u=a+30+o+l;return await tq(t.subarray(u,u+r.compressedSize),r.compMethod,r.size)}}function iq(e){let t=[];for(let n of e){let e=n.name.split(`/`),r=t;for(let t=0;t<e.length-1;t++){let n=r.find(n=>n.name===e[t]&&n.children);n||(n={name:e[t],children:[]},r.push(n)),r=n.children}r.push({name:e.at(-1),file:n})}return t}function aq(e){let{node:t,depth:n,onSelect:r,$selected:a}=e;if(t.children)return B(`li`,{class:`cf-dir`},B(`details`,{open:!0},B(`summary`,{style:`--depth:${n}`},t.name),B(`ul`,null,B(H,{source:import.meta.url,each:t.children},e=>B(aq,{node:e,depth:n+1,onSelect:r,$selected:a})))));let o=E(()=>a.value===t.file.name?`cf-file selected`:`cf-file`);function s(){a.value=t.file.name,r(t.file)}return B(`li`,{class:o,style:`--depth:${n}`,onclick:s},t.name)}function oq(e){let{$files:t,onSelect:n}=e,r=T(null),a=E(()=>iq(t.value));return B(`ul`,null,B(H,{source:import.meta.url,each:a},e=>B(aq,{node:e,depth:0,onSelect:n,$selected:r})))}function sq(e){let{data:t,path:n=``,side:r}=e,a=t.data;t.error;let[o,s,c,l,u,d,f,p]=n.split(`/`),m=T(`definition`),h=T([]),g=T(``),_=T(``),v=null,y=E(()=>m.value===`definition`?`cf-panel`:`cf-panel cf-hidden`),b=E(()=>m.value===`code`?`cf-panel cf-code`:`cf-panel cf-code cf-hidden`),x=E(()=>m.value===`definition`?`cf-tab selected`:`cf-tab`),S=E(()=>m.value===`code`?`cf-tab selected`:`cf-tab`),C=E(()=>V(Ac,{text:g.value,language:_.value}));async function w(){if(m.value=`code`,h.value.length>0)return;let e=a?.buildConfig?.source?.storageSource;if(!e)return;let{bucket:t,object:n}=e,r=await RG(`/api/gcp-gcs/${t}/${encodeURIComponent(n)}`);r&&(v=await rq(r),h.value=v.getEntries().filter(e=>!e.name.endsWith(`/`)))}async function D(e){let{name:t}=e;if(v){let e=await v.getEntry(t);g.value=new TextDecoder().decode(e),_.value=t.split(`.`).at(-1)}}return B(`div`,{"data-path":`${l}/${d}/${p}`,style:`height: 100%;`},B(`div`,{class:`cf-tabs`},B(`span`,{class:x,onclick:()=>m.value=`definition`},`Definition`),B(`span`,{class:S,onclick:w},`Code`)),B(`div`,{class:y},B(Ed,{data:a})),B(`div`,{class:b},B(`div`,{class:`cf-tree`},B(oq,{$files:h,onSelect:D})),B(`div`,{class:`cf-content`,$dom:C})))}function cq(e){let{data:t,path:n=``}=e,r=t.data,[a,o,s,c,l,u]=n.split(`/`);return B(`div`,{"data-path":`${c}/${u}`,style:`height: 100%;`},B(Ed,{data:r}))}function lq(e){return function(){return B(`div`,{class:`ps-status`},e)}}function uq(e){let{data:t,path:n=``}=e,r=t.data,[a,o,s,c,l,u]=n.split(`/`),d=T(`definition`),f=T([]),p=T([]),m=T(``),h=T(``),g=T(``),_=T(``),v=T(``),y=T(``),b=T(!1),x=T(!1),S=T(!1),C=T(``),w=e=>E(()=>d.value===e?`ps-tab selected`:`ps-tab`),D=e=>E(()=>d.value===e?`ps-panel`:`ps-panel ps-hidden`),O=E(()=>v.value?`ps-result`:`ps-result ps-hidden`),k=E(()=>y.value?`ps-error`:`ps-error ps-hidden`);async function A(){f.value=[],b.value=!0;let e=await LG(`/api/gcp-pubsub/`,{},{path:`topic-subs/`,project:c,topicId:u});b.value=!1;let t=e?.data||[];f.value=t,t.length>0&&!m.value&&(m.value=t[0].split(`/`).pop())}async function j(){if(!(f.value.length>0))return A()}async function M(){if(!g.value.trim())return;S.value=!0,v.value=``,y.value=``;let e;if(_.value.trim())try{e=JSON.parse(_.value)}catch{y.value=`Attributes must be valid JSON`,S.value=!1;return}let t=await IG({url:`/api/gcp-pubsub/`,body:{action:`publish`,message:g.value,attributes:e},params:{project:c,topicId:u}});S.value=!1,t?.data?v.value=JSON.stringify(t.data,null,2):y.value=JSON.stringify(t,null,2)}async function N(){let e=h.value.trim();if(!e)return;C.value=``;let t=await IG({url:`/api/gcp-pubsub/`,body:{action:`create-subscription`,subscriptionId:e},params:{project:c,topicId:u}});t?.error?C.value=t.error:(h.value=``,await A())}async function P(e){let t=e.split(`/`).pop(),n=await IG({url:`/api/gcp-pubsub/`,body:{action:`delete-subscription`,subscriptionId:t},params:{project:c}});if(n?.error){C.value=n.error;return}f.value=f.value.filter(t=>t!==e),m.value===t&&(m.value=``)}async function F(){if(!m.value)return;x.value=!0,p.value=[];let e=await IG({url:`/api/gcp-pubsub/`,body:{action:`pull`,subscriptionId:m.value,maxMessages:20},params:{project:c}});x.value=!1,p.value=e?.data||[]}function I(e){try{return atob(e)}catch{return e}}return B(`div`,{"data-path":`${c}/${u}`,style:`display: flex; flex-direction: column; height: 100%;`},B(`div`,{class:`ps-tabs`},B(`span`,{class:w(`definition`),onclick:()=>d.value=`definition`},`Definition`),B(`span`,{class:w(`subscriptions`),onclick:()=>{d.value=`subscriptions`,j()}},`Subscriptions`),B(`span`,{class:w(`publish`),onclick:()=>d.value=`publish`},`Publish`),B(`span`,{class:w(`messages`),onclick:()=>{d.value=`messages`,j()}},`Messages`)),B(`div`,{class:D(`definition`)},B(Ed,{data:r})),B(`div`,{class:D(`subscriptions`)},B(`div`,{class:`ps-form ps-sub-create`},B(`div`,{class:`ps-row`},B(`input`,{placeholder:`new-subscription-id`,value:h,oninput:e=>{h.value=e.target.value}}),B(`button`,{onclick:N},`Subscribe`)),B(`div`,{class:`ps-error`},C)),B(H,{source:import.meta.url,each:f,$loading:b,Loading:lq(`Loading subscriptions...`),Empty:lq(`No subscriptions for this topic`)},e=>B(`div`,{class:`ps-item ps-item-row`},B(`div`,null,B(`div`,{class:`ps-item-label`},e.split(`/`).pop()),B(`div`,{class:`ps-item-meta`},e)),B(`button`,{class:`ps-btn-danger`,onclick:()=>P(e)},`Remove`)))),B(`div`,{class:D(`publish`)},B(`div`,{class:`ps-form`},B(`label`,null,`Message data`),B(`textarea`,{placeholder:`Message text...`,oninput:e=>{g.value=e.target.value}}),B(`label`,null,`Attributes (JSON object, optional)`),B(`textarea`,{placeholder:`{"key": "value"}`,style:`height: 60px;`,oninput:e=>{_.value=e.target.value}}),B(`button`,{onclick:M},E(()=>S.value?`Publishing...`:`Publish message`)),B(`pre`,{class:O},v),B(`pre`,{class:k},y))),B(`div`,{class:D(`messages`)},B(`div`,{class:`ps-form`},B(`label`,null,`Subscription`),B(`div`,{class:`ps-row`},B(`select`,{onchange:e=>{m.value=e.target.value}},B(H,{source:import.meta.url,each:f},e=>{let t=e.split(`/`).pop();return B(`option`,{value:t},t)})),B(`button`,{onclick:F},E(()=>x.value?`Pulling...`:`Pull`)))),B(H,{source:import.meta.url,each:p,Empty:lq(`No messages — publish one then pull`)},e=>{let t=e.message||e,n=t.data?I(t.data):`(empty)`,r=t.attributes&&Object.keys(t.attributes).length>0?JSON.stringify(t.attributes):``;return B(`div`,{class:`ps-item`},B(`div`,{class:`ps-item-meta`},`ID: `,t.messageId,` · `,t.publishTime),B(`div`,{class:`ps-msg-data`},n),B(`div`,{class:`ps-item-meta`},r))})))}function dq(e){let{data:t,path:n=``}=e,r=t.data,[a,o,s,c,l,u,d]=n.split(`/`);return B(`div`,{"data-path":`${c}/${d}`,style:`height: 100%;`},B(Ed,{data:r}))}function fq(e){let{data:t,path:n=``}=e,r=t.data,[a,o,s,c,l,u]=n.split(`/`);return B(`div`,{"data-path":`${c}/${u}`,style:`height: 100%;`},B(Ed,{data:r}))}function pq(e){let{data:t,path:n=``}=e,r=t.data,[a,o,s,c,l,u]=n.split(`/`);return B(`div`,{"data-path":`${c}/${u}`,style:`height: 100%;`},B(Ed,{data:r}))}function mq(e){let{data:t,path:n=``}=e,r=t.data,[a,o,s,c,l,u]=n.split(`/`);return B(`div`,{"data-path":`${c}/${u}`,style:`height: 100%;`},B(Ed,{data:r}))}function hq(e){let{data:t,path:n=``,mode:r,onRefresh:a}=e;if(r===`create`)return _q({onRefresh:a});let o=t.data,[s,c,l,u,d,f,p,m]=n.split(`/`),h=T(`definition`),g=e=>E(()=>h.value===e?`gke-tab selected`:`gke-tab`),_=e=>E(()=>h.value===e?`gke-panel`:`gke-panel gke-hidden`);return B(`div`,{"data-path":`${u}/${f}/${m}`,style:`display: flex; flex-direction: column; height: 100%;`},B(`div`,{class:`gke-tabs`},B(`span`,{class:g(`definition`),onclick:()=>h.value=`definition`},`Definition`),B(`span`,{class:g(`edit`),onclick:()=>h.value=`edit`},`Edit`)),B(`div`,{class:_(`definition`)},B(Ed,{data:o})),B(`div`,{class:_(`edit`)},B(gq,{json:o,project:u,location:f,name:m})))}function gq(e){let{json:t,project:n,location:r,name:a}=e,o=T(t?.currentNodeCount??1),s=T(``),c=T(``),l=T(!1);async function u(){l.value=!0,s.value=``,c.value=``;let e=await IG({url:`/api/gcp-gke/`,body:{action:`resize`,nodeCount:Number(o.value)},params:{project:n,location:r,name:a}});l.value=!1,e?.error?c.value=e.error:s.value=JSON.stringify(e.data,null,2)}return B(`div`,{class:`gke-form`},B(`label`,null,`Node count`),B(`input`,{type:`number`,value:o,oninput:e=>{o.value=e.target.value}}),B(`button`,{onclick:u},E(()=>l.value?`Saving...`:`Save`)),E(()=>c.value?B(`pre`,{class:`gke-error`},c.value):``),E(()=>s.value?B(`pre`,{class:`gke-result`},s.value):``))}function _q(e){let{onRefresh:t}=e,n=T(``),r=T(``),a=T(``),o=T(3),s=T(`e2-medium`),c=T(!1),l=T(``),u=T(``);async function d(){if(!n.value||!r.value||!a.value)return;c.value=!0,l.value=``,u.value=``;let e=await IG({url:`/api/gcp-gke/`,body:{cluster:{name:a.value,nodePools:[{name:`default-pool`,initialNodeCount:Number(o.value),config:{machineType:s.value}}]}},params:{project:n.value,location:r.value}});c.value=!1,e?.error?u.value=e.error:(l.value=JSON.stringify(e.data,null,2),t&&t())}return B(`div`,{class:`gke-form`,style:`padding: 16px;`},B(`h3`,{style:`margin-bottom: 12px;`},`Create GKE Cluster`),B(`label`,null,`Project`),B(`input`,{placeholder:`my-project`,value:n,oninput:e=>{n.value=e.target.value}}),B(`label`,null,`Location (zone or region)`),B(`input`,{placeholder:`us-central1-a`,value:r,oninput:e=>{r.value=e.target.value}}),B(`label`,null,`Cluster name`),B(`input`,{placeholder:`my-cluster`,value:a,oninput:e=>{a.value=e.target.value}}),B(`label`,null,`Node count`),B(`input`,{type:`number`,value:o,oninput:e=>{o.value=e.target.value}}),B(`label`,null,`Machine type`),B(`input`,{placeholder:`e2-medium`,value:s,oninput:e=>{s.value=e.target.value}}),B(`button`,{onclick:d},E(()=>c.value?`Creating...`:`Create Cluster`)),E(()=>u.value?B(`pre`,{class:`gke-error`},u.value):``),E(()=>l.value?B(`pre`,{class:`gke-result`},l.value):``))}function vq(e){let t=e<0?`-`:``,n=Math.abs(e);return n<1024?`${t}${n} B`:n<1048576?`${t}${(n/1024).toFixed(1)} KB`:n<1073741824?`${t}${(n/1024/1024).toFixed(1)} MB`:`${t}${(n/1024/1024/1024).toFixed(2)} GB`}function yq(e,t){let n=new Date(e.ts*1e3).toLocaleDateString(),r=vq(e.size);if(t){let a=e.size-t.size;return`${n}: ${r} (${a>=0?`+${vq(a)}`:vq(a)})`}return`${n}: ${r} (first)`}function bq(e){if(e.length>=2){let t=`M ${e[0].x} ${e[0].y}`;for(let n=0;n<e.length-1;n++){let r=e[n-1]??e[n],a=e[n],o=e[n+1],s=e[n+2]??o,c=a.x+(o.x-r.x)/6,l=a.y+(o.y-r.y)/6,u=o.x-(s.x-a.x)/6,d=o.y-(s.y-a.y)/6;t+=` C ${c} ${l} ${u} ${d} ${o.x} ${o.y}`}return t}return`M ${e[0].x} ${e[0].y}`}function xq(e){let{snapshots:t}=e;if(t&&t.length>=1){let n=e.width??60,r=e.height??16,a=Math.max(...t.map(e=>e.size),1),o=n/Math.max(1,t.length-1),s=t.map((e,t)=>({x:t*o,y:r-e.size/a*(r-2)-1,snapshot:e,index:t})),c=`<path d="${bq(s)}" fill="none" stroke="currentColor" stroke-width="1" />`;s.map(e=>{let n=yq(e.snapshot,t[e.index-1]);return`<circle cx="${e.x}" cy="${e.y}" r="1.3" fill="currentColor"><title>${n}</title></circle>`}).join(``);let l=`<svg class="sparkline" width="${n}" height="${r}" viewBox="0 0 ${n} ${r}" xmlns="http://www.w3.org/2000/svg">${c}</svg>`,u=document.createElement(`span`);return u.innerHTML=l,u.firstChild}return B(`span`,null)}var Sq=new Set(`folder bucket`.split(` `));function Cq(e){return Sq.has(e.objectKind)}function wq(e){let t=[],n=ys(e.size,Cq(e));n&&t.push({key:`size`,value:n}),e.lines!=null&&t.push({key:`lines`,value:e.lines});let r=e.birthtime??e.ctime;r&&t.push({key:`created`,value:ti(r)}),e.mtime&&t.push({key:`modified`,value:ti(e.mtime)}),e.mode!=null&&t.push({key:`mode`,value:vs(e.mode)}),(e.user||e.group)&&t.push({key:`owner`,value:`${e.user||``}:${e.group||``}`});let a=e.meta;if(a){t.push({key:`visits`,value:a.visitCount});let e=a.snapshots??[];if(e.length>0&&t.push({key:`first seen`,value:ti(e[0].ts)}),e.length>=2){let n=e.at(-1).size-e[0].size,r=n>=0?`+`:`-`;t.push({key:`since first visit`,value:`${r}${ys(Math.abs(n),!1)}`})}}return t}function Tq(e){let{object:t}=e,n=wq(t);return B(`div`,{class:`meta-card`},B(`div`,{class:`meta-card-name`},t.name),B(`span`,{class:`meta-card-spark`},B(xq,{snapshots:t.meta?.snapshots})),B(H,{source:import.meta.url,each:n},e=>B(`div`,{class:`meta-card-fact`},B(`span`,{class:`meta-card-key`},e.key),B(`span`,{class:`meta-card-value`},e.value))))}var Eq=new Set(`folder bucket`.split(` `)),Dq={table:`table`,view:`table`,database:`database`},Oq=new Set(`html md markdown mark ipynb docx dotx pptx potx ppsx xlsx xltx evernote ever`.split(` `)),kq=new Set(`mmd mermaid excalidraw`.split(` `)),Aq=new Set(`csv parquet avro orc arrow feather ipc h5 hdf5 he5 nc nc4 cdf sav xpt sas7bdat json jsonl plist provisionprofile`.split(` `)),jq=new Set(`txt text`.split(` `));function Mq(e){return Eq.has(e.objectKind)}function Nq(e){return Eq.has(e.objectKind)||!e.path&&!e.name||e.handle?.kind===`directory`}function Pq(e){return Dq[e.objectKind]}function Fq(e){return Mq(e)?`folder-opened`:e.ext||yt(e.name||``)}function Iq(e){let t=e.meta?.snapshots?.at(-1);return t?t.ts:null}function Lq(e){let t=null;if(Mq(e))t=null;else{let n=Fq(e),r=vt[n];t=Oq.has(n)?`render`:kq.has(n)?`draw`:Aq.has(n)?`data`:n===`pdf`?`pdf`:r===`img`?`image`:r===`video`?n===`3gp`||n===`3gpp`?null:`video`:r===`code`||jq.has(n)?`text`:null}return t}function Rq(e){return typeof e.size==`number`?e.size:e.meta?.snapshots?.at(-1)?.size??null}function zq(e){let t=Iq(e);return t?`deleted ${ti(t)}`:`deleted`}function Bq(e){return e.isDeleted?ys(Rq(e)??0,!1):ys(e.size,Mq(e))}function Vq(e){return e.isDeleted?zq(e):ti(e.ctime??e.mtime)}function Hq(e){return e.name}var Uq=[{name:`type`,sortable:!0,type:`extension`,label:``,$direction:T()},{name:`name`,sortable:!0,type:`string`,label:`NAME`,render:Hq,$direction:T()},{name:`size`,label:`SIZE`,sortable:!0,type:`number`,sortColumn:`size`,align:`right`,col:`object-col-size`,render:Bq,compare:Kq(`size`,`number`),$direction:T()},{name:`modified`,label:`MODIFIED`,sortable:!0,type:`date`,sortColumn:`modified`,align:`left`,col:`object-col-date`,render:Vq,compare:Kq(`modified`,`date`),$direction:T()}],Wq=new Set;Uq.forEach(e=>e.sortable&&Wq.add(e.name));function Gq(e,t,n=1){let r=e.objectKind,a=t.objectKind;if(r===`folder`&&a!==`folder`)return-1;if(r!==`folder`&&a===`folder`)return 1;if(r===`folder`&&a===`folder`)return(e.name||``).localeCompare(t.name||``)*n;{let r=e.ext||``,a=t.ext||``;return r===a?(e.name||``).localeCompare(t.name||``)*n:r.localeCompare(a)*n}}function Kq(e){let{name:t,type:n,$direction:r}=e,a=r?.value;switch(n){case`number`:return o;case`string`:return s;case`date`:return o;case`extension`:return Gq;default:return c}function o(e,n){return(e[t]-n[t])*a}function s(e,n){let r=e[t],o=n[t];return r?.localeCompare(o)*a}function c(e,n){let r=e[t],o=n[t];return r<o?-1*a:r>o?1*a:0}}function qq(e){let{object:t,side:n,openObject:r,OnContextMenu:a,root:o,$selectedName:s,$restored:c,index:l}=e,u=Mq(t)?`folder-opened`:Pq(t)||t.name||``,d=!!t.isDeleted,f=!d&&String(t.name||``).startsWith(`.`),p=E(()=>`object-row ${s.value===t.name?`selected`:``} ${d?`deleted`:``} ${f?`hidden`:``} ${l%2?`odd`:`even`}`),m=E(()=>c.value[t.name]?`✓ restored`:`restore`);function h(e){s.value=t.name,n&&(n.$highlightedRow.value={...t,type:`object`,ext:yt(t.name||``)})}function g(e){d||r&&r(void 0,{object:t,id:n?.$selected.value,mode:`list`})}return B(`div`,{class:p,id:`object-${t.name}`,"data-name":t.name,onclick:h,ondblclick:g,oncontextmenu:a&&a({object:t,root:o},{})},Uq.map(e=>e.type===`extension`?B(`span`,{class:`${d?`object-cross`:``} object-icon`},B(U,{name:u})):B(`span`,null,e.render(t))),B(`span`,{class:`object-activity`},d?B(`span`,{class:`object-restore`,onclick:e=>{e.stopPropagation(),c.value={...c.value,[t.name]:!0}}},m):B(xq,{snapshots:t.meta?.snapshots,width:64,height:15})),B(`span`,{class:`object-copy`,onclick:e=>{e.stopPropagation(),navigator.clipboard.writeText(t.name)}},B(U,{name:`copy`,size:16})))}function Jq(e){let t=T(localStorage.getItem(e)===`true`);return A(()=>localStorage.setItem(e,String(t.value))),t}var Yq=Jq(`view.showHidden`),Xq=Jq(`view.showDeleted`);function Zq(e){return`view.renderMode:${e?.providerType||``}:${e?.root||``}:${e?.path||``}`}function Qq(e){return localStorage.getItem(Zq(e))}function $q(e,t){localStorage.setItem(Zq(e),t)}function eJ(e){let t=String(e.name||``);return t.startsWith(`.`)||t.startsWith(`__MACOSX`)}function tJ(e,t,n){let r;return r=e.isDeleted?n:!eJ(e)||t,r}function nJ(e,t,n){if(e){let r=t.filter(e=>!e.isDeleted&&Mq(e)).length,a=t.filter(e=>!e.isDeleted&&!Mq(e)).length,o=t.filter(e=>e.isDeleted).length,s=t.filter(e=>!e.isDeleted&&Mq(e)&&String(e.name||``).startsWith(`.`)).length,c=t.filter(e=>!e.isDeleted&&!Mq(e)&&String(e.name||``).startsWith(`.`)).length,l=E(()=>`object-foot-toggle ${Yq.value?`active`:``}`),u=E(()=>`object-foot-toggle ${Xq.value?`active`:``}`);function d(e){return function(t){e.value=!e.value,n.trigger()}}e.$footer.value=B(`div`,{class:`object-foot`},B(`span`,{class:`object-foot-count`},B(`span`,null,r,` folders`),B(`span`,null,` · `,a,` files`),o>0?B(`span`,null,` · `,o,` deleted`):``,s>0?B(`span`,null,` · `,s,` hidden folders`):``,c>0?B(`span`,null,` · `,c,` hidden files`):``),B(`span`,{class:`object-foot-spacer`}),B(`span`,{class:l,onclick:d(Yq)},`show hidden`),B(`span`,{class:u,onclick:d(Xq)},`show deleted`))}}function rJ(e,t){let n=new Set(e.map(e=>e.name)),r=t.filter(e=>!n.has(e.name));return e.concat(r)}var iJ=28;function aJ(e){let{side:t,openObject:n,OnContextMenu:r,api:a}=e;console.log(`tracer`);let o={providerType:e.providerType,root:e.root,path:e.path,name:e.name,objectKind:e.objectKind,handle:e.handle},s=Ec(e)??[],c=t?.$filter??T(``),l=t?.$restored??(t?t.$restored=T({}):T({})),u=T(``),d=T(void 0),f=T(!1),p=E(()=>{f.value;let e=!Yq.value,t=c.value.toLowerCase();return console.log(`update new rows`),m(e,t)});N(c,()=>f.trigger());function m(e,t){let n=[],r=[],a;if(s.forEach(o=>{let s=String(o.name||``),c=s.startsWith(`.`)||s.startsWith(`__MACOSX`);t&&!s.toLowerCase().includes(t)||(o.isDeleted?r.push(o):c&&e||(n.push(o),o.nextPageToken&&=(a=o.nextPageToken,void 0)))}),d?.value?.$direction?.value){let e=Kq(d.value);n.sort(e)}return n.length>30&&a&&(n.at(-3).nextPageToken=a),Xq.value?[...n,...r]:n}function h(e){let{label:t,align:n,col:r,column:a={}}=e,{type:o,sortable:s}=a,c=`object-head-cell object-head-${n||`left`} ${r||``}`,l=o===`extension`?B(`span`,{class:`object-icon`},B(U,{name:`symbol-misc`})):B(`span`,null,t);if(s){let{onclick:e,$sorter:t}=id({column:a,columns:Uq,$sortColumn:d,$rerender:f});return B(`span`,{class:c,onclick:e},l,t)}return B(`span`,{class:c},l)}nJ(t,s,f);async function g(e){if(a&&e){let n=await a.get(o,e);s.push(...n),nJ(t,s),f.trigger()}}return B(`div`,{class:`object-list slim_scrollbar`,id:`object-list-${o.root}`,"data-root":o.root,"data-path":o.path,style:`--row-height: ${iJ}px;`},B(`div`,{class:`object-head`},Uq.map((e,t)=>B(h,{column:e,label:e.label,sortColumn:e.sortColumn,align:e.align,col:e.col})),B(h,{label:`ACTIVITY`,sortColumn:`activity`,align:`right`,col:`object-col-activity`})),B(Dc,{each:p,$rerender:f,rowHeight:iJ,class:`object-body slim_scrollbar`,fetchNextPage:g},(e,a)=>B(qq,{object:e,side:t,index:a,openObject:n,OnContextMenu:r,root:o,$selectedName:u,$restored:l})))}var oJ=30;function sJ(e){let{note:t,template:n,getEntry:r,getEntryUrl:a,active:o,viewIndex:s,noteAt:c,zoomLayer:l,onOpen:u,onSwipeLeft:d,onSwipeRight:f,onSwipeUp:p,onSwipeDown:m}=e,{front:h,back:g}=cJ(t,n),_=T(),v=null,y=null;dn(()=>{fJ(_.value,()=>uJ(_.value,r,a)),N(o,b),N(s,e=>{v&&x(e)})});function b(e,t){t===void 0||(e?S():C())}function x(e){let t=c(e),n=cJ(t.note,t.template);v.querySelector(`.card.front`).innerHTML=n.front,v.querySelector(`.card.back`).innerHTML=n.back,v.dataset.flipped=`false`,uJ(v,r,a)}async function S(){let e=_.value;v=e.cloneNode(!0),v.classList.add(`zoomed`),w(v);let t=e.getBoundingClientRect();l.value.appendChild(v),uJ(v,r,a);let n=v.getBoundingClientRect();await R(v,t,n)}async function C(){let e=v;if(e){v=null;let t=e.getBoundingClientRect(),n=_.value.getBoundingClientRect();e.style.margin=`0`,e.style.right=`auto`,e.style.bottom=`auto`,e.style.left=`${n.left}px`,e.style.top=`${n.top}px`,e.style.width=`${n.width}px`,e.style.height=`${n.height}px`,await R(e,t,e.getBoundingClientRect()),e.remove()}}function w(e){e.onclick=()=>{e.dataset.flipped=e.dataset.flipped===`true`?`false`:`true`},e.ontouchstart=D,e.ontouchend=O}function E(){o.value===!1&&u()}function D(e){let t=e.touches[0];y={x:t.clientX,y:t.clientY}}function O(e){if(y){let t=e.changedTouches[0],n=t.clientX-y.x,r=t.clientY-y.y;Math.max(Math.abs(n),Math.abs(r))>oJ&&(e.preventDefault(),Math.abs(n)>Math.abs(r)?n<0?d():f():r<0?p():m())}y=null}return B(`div`,{class:`flashcard`,_ref:_,onclick:E},B(`div`,{class:`flashcard-inner`},B(`div`,{class:`card front`,_html:h}),B(`div`,{class:`card back`,_html:g})))}function cJ(e,t){let n=lJ(pJ(t.qfmt,e.fields));return{front:n,back:lJ(pJ(t.afmt,e.fields,n))}}function lJ(e){return e.replace(/(<img[^>]*?)\ssrc=(["'])(.*?)\2/gi,`$1 loading="lazy" data-media=$2$3$2`).replace(/\[sound:(.*?)\]/gi,`<audio controls preload="none" data-media="$1"></audio>`)}async function uJ(e,t,n){let r=e.querySelectorAll(`[data-media]`);for(let e of r){let r=e.dataset.media;if(n)e.src=n(r);else try{let n=await t(r),a=new Blob([n]);e.src=URL.createObjectURL(a)}catch(e){console.warn(e)}}dJ(e)}function dJ(e){e.querySelectorAll(`audio`).forEach(e=>{let t=e.closest(`.card`),n=t&&getComputedStyle(t).backgroundColor;n&&n!==`rgba(0, 0, 0, 0)`&&n!==`transparent`&&(e.style.background=n)})}function fJ(e,t){let n=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(n.disconnect(),t())})});n.observe(e)}function pJ(e,t,n){let r=e;return n!==void 0&&(r=r.replaceAll(`{{FrontSide}}`,n)),r=mJ(r,t),hJ(r,t)}function mJ(e,t){return e.replace(/\{\{([#^])([^}]+)\}\}([\s\S]*?)\{\{\/\2\}\}/g,(e,n,r,a)=>{let o=(t[r.trim()]||``).length>0,s;return s=n===`#`?o:o===!1,s?mJ(a,t):``})}function hJ(e,t){return e.replace(/\{\{([^#^/][^}]*)\}\}/g,(e,n)=>t[n.trim().replace(/^(text|type|cloze|hint):/,``)]??``)}function gJ(e){let{notes:t=[],models:n={},getEntry:r,getEntryUrl:a}=e,o=Object.values(n).map(e=>{let t=e.css||``,n=k(t);return n?`${t}\n.card audio{ color-scheme: ${n} }`:t}).join(`
|
|
1935
1935
|
`),s=T(),c=T(1),l=T(!1),u=T(null),d=T(0),f=T();function p(e){let t=n[e.mid];return t&&t.tmpls&&t.tmpls.length>0?t.tmpls[0]:{qfmt:``,afmt:``}}function m(e){let n=t[e];return{note:n,template:p(n)}}function h(){let e=s.value;if(e){let t=Math.max(1,Math.floor(e.clientWidth/166));t!==c.value&&(c.value=t,l.value=l.value===!1)}}requestAnimationFrame(()=>{h();let e=new ResizeObserver(()=>h());s.value&&e.observe(s.value)});let g=E(()=>{let e=c.value,n=[];for(let r=0;r<t.length;r+=e)n.push(t.slice(r,r+e));return n});function _(e){return Math.min(Math.max(e,0),t.length-1)}function v(e){d.value=_(e)}function y(){v(d.value+1)}function b(){v(d.value-1)}function x(){v(d.value+c.value)}function S(){v(d.value-c.value)}function C(e){d.value=e,u.value=e}function w(){u.value=null}function D(e){u.value!=null&&(e.key===`ArrowRight`?(e.preventDefault(),y()):e.key===`ArrowLeft`?(e.preventDefault(),b()):e.key===`ArrowUp`?(e.preventDefault(),S()):e.key===`ArrowDown`&&(e.preventDefault(),x()))}requestAnimationFrame(()=>{window.addEventListener(`keydown`,D,!0)});function O(e,t){return B(`div`,{class:`anki-row`},e.map((e,n)=>{let o=t*c.value+n;return B(sJ,{note:e,template:p(e),getEntry:r,getEntryUrl:a,zoomLayer:f,viewIndex:d,noteAt:m,active:E(()=>u.value===o),onOpen:()=>C(o),onClose:w,onSwipeLeft:y,onSwipeRight:b,onSwipeUp:x,onSwipeDown:S})}))}function k(e){let t=e.match(/\.card\s*\{[^}]*?background(?:-color)?\s*:\s*([^;}]+)/i);return t?_J(t[1].trim())?`light`:`dark`:``}return B(`div`,{class:`anki slim_scrollbar`},B(`style`,null,o),B(`div`,{class:`anki-backdrop`,style:E(()=>u.value==null?``:`visibility: visible`),onclick:w}),B(`div`,{class:`anki-grid-wrapper`,_ref:s},B(Dc,{each:g,$rerender:l,rowHeight:216,class:`anki-grid slim_scrollbar`},(e,t)=>O(e,t))),B(`div`,{class:`anki-zoom-layer`,_ref:f}))}function _J(e){let t=document.createElement(`div`);t.style.color=e,document.body.appendChild(t);let n=getComputedStyle(t).color;t.remove();let r=n.match(/\d+/g);if(r){let e=Number(r[0]),t=Number(r[1]),n=Number(r[2]);return .299*e+.587*t+.114*n>128}return!1}var vJ=[{exts:`pptx`,Component:Fd,mime:`application/vnd.openxmlformats-officedocument.presentationml.presentation`},{exts:`potx`,Component:Fd,mime:`application/vnd.openxmlformats-officedocument.presentationml.template`},{exts:`ppsx`,Component:Fd,mime:`application/vnd.openxmlformats-officedocument.presentationml.slideshow`},{exts:`docx`,Component:Fd,mime:`application/vnd.openxmlformats-officedocument.wordprocessingml.document`},{exts:`dotx`,Component:Fd,mime:`application/vnd.openxmlformats-officedocument.wordprocessingml.template`},{exts:`xlsx`,Component:Fd,mime:`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`},{exts:`xltx`,Component:Fd,mime:`application/vnd.openxmlformats-officedocument.spreadsheetml.template`},{exts:`ppt`,Component:Fd},{exts:`key keynote`,Component:MG},{exts:`jpg jpeg`,Component:ni,mime:`image/jpeg`},{exts:`png`,Component:pi,mime:`image/jpeg`},{exts:`webp`,Component:_i,mime:`image/webp`},{exts:`ico`,Component:mi,mime:`image/jpeg`},{exts:`ipynb`,Component:Es,mime:`application/json`},{exts:`excalidraw`,Component:vi,mime:`application/json`},{exts:`txt text py pub`,Component:Ac,mime:`text/plain`},{exts:`yaml yml`,Component:Od},{exts:`svg`,Component:gi,mim:`image/svg+xml`},{exts:`json jsonl`,Component:Ed,mime:`application/json`},{exts:`csv`,Component:pd,mime:`text/plain`},{exts:`parquet`,Component:pd},{exts:`avro`,Component:pd},{exts:`orc`,Component:pd},{exts:`arrow feather ipc`,Component:pd},{exts:`h5 hdf5 he5 nc nc4 cdf`,Component:pd},{exts:`3gpp m4a mp3 bwf wav aiff`,Component:Yr},{exts:`pdf`,Component:jc},{exts:`html`,Component:Fd},{exts:`plist provisionprofile`,Component:Rd},{exts:`ds_store`,Component:Bd},{exts:`markdown md mark`,Component:Vd},{exts:`xml xsl`,Component:Zd},{exts:`sav`,Component:pd},{exts:`xpt`,Component:pd},{exts:`sas7bdat`,Component:pd},{exts:`mmd mermaid`,Component:th},{exts:`evernote ever`,Component:Qd},{exts:`resource`,Component:ef},{exts:`apkg`,Component:gJ}],yJ=[{providerTypes:`folder gcp-gcs`,Component:aJ,label:`ObjectList`},{providerTypes:`gcp-gcf`,Component:sq,label:`Cloud Function`},{providerTypes:`gcp-firestore`,Component:cq,label:`Firestore Database`},{providerTypes:`gcp-pubsub`,Component:uq,label:`Pub/Sub Topic`},{providerTypes:`gcp-vpc`,Component:dq,label:`VPC Network`},{providerTypes:`gcp-iam`,Component:fq,label:`Service Account`},{providerTypes:`gcp-logging`,Component:pq,label:`Log Sink`},{providerTypes:`gcp-monitoring`,Component:mq,label:`Monitoring Alert`},{providerTypes:`gcp-gke`,Component:hq,label:`GKE Cluster`}],bJ=[{objectKinds:`folder bucket`,Component:aJ,label:`ObjectList`}],xJ=Object.fromEntries(vJ.flatMap(({exts:e,Component:t})=>e.split(` `).map(e=>[e,t]))),SJ=Object.fromEntries(bJ.flatMap(({objectKinds:e,Component:t})=>e.split(` `).map(e=>[e,t]))),CJ=Object.fromEntries(yJ.flatMap(({providerTypes:e,Component:t})=>e.split(` `).map(e=>[e,t]))),wJ=Object.fromEntries(yJ.flatMap(({providerTypes:e,label:t})=>t?e.split(` `).map(e=>[e,t]):[]));function TJ(e,t){return e?xJ[e]||Ac:void 0}function EJ(e){return CJ[e]}function DJ(e){return wJ[e]}function OJ(e){return SJ[e]}function kJ(e,t,n){return OJ(t)||TJ(n)||EJ(e)}function AJ(e){return{name:e,$openedObjects:T([]),$activeObject:T(),$selected:T(),$filter:T(``),$splitMode:T(!1),$objectListSortColumn:T({column:`name`,dir:`↑`}),$restored:T({}),$footer:T(``),$highlightedRow:T(null),$gotoLine:T(null)}}function jJ(e){let{$sides:t,$active_side:n,openObject:r,$treeData:a,setDom:o,refreshObject:s,reloadProviders:c,$appMode:l}=e,u={label:`Add Folder to Workspace ...`,shortcut:`⌥⌘C`,action:(e,t)=>_(e,t)},d={label:`Remove Favorite`,action:(e,t)=>v(e,t)};return{oncontextmenu:m,OnContextMenu:p};function f(e,a={}){let{object:o}=e;return[{label:`Open to the Left Side`,action:t=>{console.log({event:t,args:e}),n.value=0,r(t,e)}},{label:`Open to the Right Side`,action:a=>{console.log({event:a,args:e}),t.value.length<2&&(t.value=[...t.value,AJ(`right`)],_0(50)),n.value=1,r(a,e)}},{label:`Reveal in Finder`,shortcut:`⌥⌘R`,action:()=>{}},{separator:!0},{label:`Force Refresh`,shortcut:`⌥⌘C`,action:t=>{r(t,{...e,force:!0})}},{label:`Copy Path`,shortcut:`⌥⌘C`,action:()=>{}},{label:`Add a Local Folder`,shortcut:`⌥⌘C`,action:(e,t)=>_(e,t)},{label:`Open in New Tab`,shortcut:`⌥⌘C`,action:g},{separator:!0},{label:`Refresh Search Index`,shortcut:`⌥⌘C`,action:y},{label:`Analyze Dependency Graph`,shortcut:`⌥⌘C`,action:h},u,a.remove&&d,...b(e,a)].filter(Boolean)}function p(e,t){return function(n){console.log(e,n),n.preventDefault(),n.stopPropagation(),gn(e,f(e,t),n)}}function m(e){console.log(e),e.preventDefault(),gn({},[u],e)}async function h(e,t){let{object:n}=e;console.log({...e,...t}),n.handle,r(t,{...e,mode:`graph`})}function g(e,t){let{object:n}=e,r=n.root??``,a=n.path??``,o=n.objectKind===`folder`||n.objectKind===`bucket`?`/`:``,s=`/${n.providerType}/${r}/${a}${o}`.replace(`//`,`/`);window.open(s,`_blank`)}async function _(e,t){let n=l.value!==`instant`;console.log(`[add-folder] addToWorkspace: start, appMode=`,l.value,`tree size before =`,a.value.length);try{if(n)await Bt(),c&&await c(),console.log(`[add-folder] addToWorkspace: desktop backend add done, tree size after =`,a.value.length);else{let e=await qt();a.value=[...a.value,{...e,children:[]}],console.log(`[add-folder] addToWorkspace: added`,e.root,`-> tree size after =`,a.value.length)}}catch(e){console.error(`[add-folder] addToWorkspace: FAILED name=`,e&&e.name,`message=`,e&&e.message),console.error(`[add-folder] addToWorkspace: full error object ->`,e)}}async function v(e,t){let{object:n}=e;n.handle?await Xt(n.handle):await fetch(`/api/favorites/remove`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerType:n.providerType,root:n.root})}),a.value=a.value.filter(e=>e.providerType!==n.providerType||e.root!==n.root)}async function y(e,t){console.log({args:e,event:t});let{root:n,object:r}=e;if(n.handle){let e=StorageBrowser(n.handle),t=await(await Searcher({storage:e,topK:10})).createIndex();console.log(t)}}function b(e,t){let{object:n}=e,r=DJ(n.providerType);if(r){let a=[{separator:!0}];return t.remove?(a.push({label:`Create ${r}`,action:t=>x(e,t)}),a.push({label:`Delete All ${r}s`,action:t=>C(e,t)})):n.objectKind!==`project`&&n.objectKind!==`zone`&&n.objectKind!==`region`&&n.objectKind!==`location`&&a.push({label:`Delete ${r}`,action:t=>S(e,t)}),a}return[]}async function x(e,r){let{object:a}=e,{providerType:c}=a,l=t.value[n.value];function u(){s(a)}let d=await ft(hq,{mode:`create`,providerType:c,side:l,onRefresh:u});o({dom:d,side:l,object:{name:`Create GKE Cluster`}},l)}async function S(e,t){let{object:n,root:r}=e,a=n.path||n.url||n.name;console.log(`deleteOne`,{root:r,object:n,path:a});let o=await(await fetch(`/api/${r.providerType}/?path=${encodeURIComponent(a)}`,{method:`DELETE`})).json();console.log(`delete result`,o),s(r)}async function C(e,t){let{root:n}=e,r=(await(await fetch(`/api/${n.providerType}/`)).json()).data||[];console.log(`deleteAll`,r.length,`objects`);for(let e of r){let t=e.path||e.url||e.name;t&&await fetch(`/api/${n.providerType}/?path=${encodeURIComponent(t)}`,{method:`DELETE`})}s(n)}}var MJ=``+new URL(`WorkerParser.js`,import.meta.url).href,NJ=null;function PJ(){return NJ??=new Worker(MJ,{type:`module`}),NJ}function FJ(e){let t=Object.entries(e).filter(([e,t])=>!e.startsWith(`$`));return Object.fromEntries(t)}function IJ(e){let{searchers:t}=e,n=PJ(),r={},a={},o,s=n._ready?Promise.resolve():new Promise(e=>{o=e});n.onerror=e=>{console.error(`ServiceParser worker error`,e.message);for(let t of Object.keys(r)){let{reject:n,timer:a}=r[t];a&&clearTimeout(a),delete r[t],n(Error(`ServiceParser worker error: `+e.message))}},n.addEventListener(`message`,({data:e})=>{let{type:s,requestId:c}=e;if(s===`ready`){n._ready=!0,o&&o();return}if(s===`indexed`){t?.add&&e.records&&t.add(e.records);return}if(s===`entry`){let t=a[e.key];t&&(t.resolve(e.data),delete a[e.key]);return}if(c&&r[c]){let{resolve:t,timer:n}=r[c];n&&clearTimeout(n),delete r[c],t(e)}});function c(e,t=6e4){let a=Math.random().toString(36).slice(2);return new Promise((o,c)=>{let l=setTimeout(()=>{delete r[a],c(Error(`ServiceParser timeout: `+e.type))},t);r[a]={resolve:o,reject:c,timer:l},s.then(()=>n.postMessage({...e,requestId:a}))})}async function l(e){let{type:t,requestId:n,...r}=await c(e);return{...e,...r}}async function u(e){let{handle:t}=e;return{graph:(await c({type:`graph`,handle:t},12e4)).graph}}async function d(e){return e=FJ(e),(await c({type:`getEntries`,object:e})).payload?.children||[]}async function f(e){return e=FJ(e),(await c({type:`getEntries`,object:e})).payload||{}}async function p(e,t,n){e=FJ(e);let r=await c({type:`getEntry`,object:e,offset:t,limit:n});return r.payload??r.bytes}function m(e,t){let r=`${e}!${t}`;return new Promise((o,s)=>{a[r]={resolve:o,reject:s},n.postMessage({type:`zipEntry`,path:e,entryPath:t})})}function h(e){n.postMessage({type:`releaseZip`,path:e})}return{send:c,open:l,graph:u,getEntries:d,getContent:f,getEntry:p,zipEntry:m,releaseZip:h}}function LJ(e,t,n){let{providerType:r,root:a=``,path:o=``}=e;return FG(`/api/${r}/${a}/${o}${t}`,n).replace(`//`,`/`)}function RJ(e,t){return LJ({...e,path:t},``,{})}function zJ(e){return e.type===`table`||e.type===`view`||Et(e.path)?.kind===`db`}function BJ(e){return{getObjects:n,getEntries:r,getContent:t,getEntry:a};async function t(){return(await LG(LJ(e,`/`,{}),{},{}))?.payload??{}}async function n(t){return(await LG(LJ(e,e.objectKind===`folder`?`/`:``,t?{pageToken:t}:{}),{},{}))?.payload?.children??[]}async function r(){return(await LG(LJ(e,`/`,{}),{},{}))?.payload?.children??[]}async function a(t,n){return zJ(e)?(await LG(LJ(e,``,{offset:t,limit:n}),{},{}))?.payload??{rows:[],columns:[],total:0,offset:t,limit:n}:await RG(LJ(e,``,{}))}}var VJ=new Set(`db sqlite sqlite3 duckdb`.split(` `)),HJ=3e7;function UJ(e){return e.providerType===`local`||e.handle||e.file||e.dbFile}function WJ(e,t){let n=vt[e];return n===`video`?`video`:n===`audio`&&t>HJ?`audio`:null}var GJ=`list grid`.split(` `);`render text hex`.split(` `);var KJ=`render hex structure`.split(` `),qJ=`list grid render hex structure`.split(` `);function JJ(e){let{searchers:t}=e,n=IJ({searchers:t});return{get:r,getObjects:o,getObject:c,resolveContent:d,previewContent:l};async function r(e,t){return a(e)?await o(e,t):await c(e)}function a(e){let t=Et(e.path);return e.isPackedEntry&&Mq(e)?!0:t&&t.entryPath!==``?Mq(e):t?!0:Mq(e)}async function o(e,t){let r=Et(e.path);if(e.isPackedEntry&&Mq(e)&&e.children)return e.children;if(r)return UJ(e)?await n.getEntries(e):await BJ(e).getEntries();if(UJ(e)){let n=await Ut.getObjects(e,t);return n.sort(Gq),n}{let n=await BJ(e).getObjects(t);return n.sort(Gq),n}}async function s(e){return UJ(e)?await n.getContent(e):await BJ(e).getContent()}async function c(e,t,r){let a=Et(e.path);return a&&a.entryPath!==``?UJ(e)?await n.getEntry(e,t,r):await BJ(e).getEntry(t,r):UJ(e)?await Ut.getObject(e):await BJ(e).getEntry(t,r)}async function l(e){let{providerType:t,root:r=``,path:a=``}=e,o=yt(e?.path),s=FG(`/${t}/${r}/${a}`,{}).replace(`//`,`/`);return await n.open({ext:o,providerType:t,url:s,file:e.file,preview:!0})||{}}async function u(e){let t=e.handle||e.providerType===`local`,n=!0;return t&&(n=await rn(e)),n}async function d(e){if(await u(e)){let{providerType:t,root:a=``,path:l=``}=e,u=yt(e?.path),d=FG(`/${t}/${a}/${l}${e.objectKind===`folder`?`/`:``}`,{}).replace(`//`,`/`);if(e.renderMode===`graph`){let{graph:t}=await n.graph({handle:e.handle});return{graph:t,mode:`file`,root:e.path,container:a}}if(e.type===`table`||e.type===`view`){let t=await c(e,0,1e3);return{rows:t.rows,payload:t.rows,columns:t.columns?.map(e=>({name:e}))}}if(Et(e.path)?.kind===`apkg`&&!e.isPackedEntry){let t=await s(e);if(t.error)return{error:t.error};{let n=Et(e.path).archivePath,r=t=>c({...e,path:`${n}/${t}`}),a=UJ(e)?void 0:t=>RJ(e,`${n}/${t}`);return{...t,getEntry:r,getEntryUrl:a}}}if(xt.has(u)&&!e.isPackedEntry){let n=await r(e),a=await p(u,t,d,e.file,e),o=a.structure?qJ:GJ;return{...a,children:n,objects:n,response:{children:n,dirMeta:null},icons:o}}if(e.file)return await f(e,e.file,u,t,d);if(Nq(e)){let t=await r(e);return{children:t,objects:t,response:{children:t,dirMeta:null},icons:GJ}}if(e.isPackedEntry&&(e.providerType===`local`||e.file||e.handle)){let n=await c(e);return await f(e,new File([n],e.name),u,t,d)}if(e.payload)return{data:{data:e.payload}};if(!e.path&&!e.name&&!e.root)return{};if(VJ.has(u)){let t=await o(e);return{children:t,objects:t}}return await p(u,t,d,void 0,e)}return{notExist:!0,isRoot:!e.path}}async function f(e,t,n,r,a){let s=WJ(n,t.size);if(s){let e=URL.createObjectURL(t);return{src:e,kind:s,blobUrl:e}}if(VJ.has(n)){let t=await o(e);return{children:t,objects:t}}return await p(n,r,a,t,e)}async function p(e,t,r,a,o){let s=await n.send({type:`openObject`,ext:e,providerType:t,url:r,file:a,objectKind:o.objectKind});if(s.structure&&(s.icons=[...new Set([...s.icons??KJ,`hex`,`structure`])]),s.error)return{...s,error:s.error};if(s.kind===`parsed`&&s.zipPath){let e=e=>n.zipEntry(s.zipPath,e),t=_h(e),r=vh(e),a=yh(e,r,s.entries);return{...s,getEntry:e,getDom:r,getDoms:a,getMedia:t}}{let e=s?.payload?.children;return{...s,children:e,objects:e,response:e?{children:e,dirMeta:s?.payload?.dirMeta??null}:void 0}}}}var YJ=`quickOpenRecents`,XJ=10;function ZJ(){let e=localStorage.getItem(YJ);return e?JSON.parse(e):[]}function QJ(e){let t={providerType:e.providerType||`local`,root:e.root||``,path:e.path||``,name:e.name||String(e.path||``).split(`/`).pop()};if(t.path){let e=`${t.root}/${t.path}`,n=[t,...ZJ().filter(t=>`${t.root}/${t.path}`!==e)].slice(0,XJ);localStorage.setItem(YJ,JSON.stringify(n))}}console.log(`tracer`);function $J(e){let{$sides:t,$active_side:n,$treeData:r,searchers:a,onMissing:o=()=>{}}=e,s=JJ({searchers:a});return{openObject:d,setDom:f,previewContent:s.previewContent,refreshObject:c,api:s};async function c(e,t,n){console.log({event:e,object:t,level:n})}function l(e){return(e??``).replace(/^\/+|\/+$/g,``)}function u(e,t){return e.providerType===t.providerType&&(e.root??``)===(t.root??``)&&l(e.path)===l(t.path)}async function d(e,r){window.dispatchEvent(new CustomEvent(`openObject`));let{object:a,id:c,force:l,mode:d,sideIndex:f}=r;console.log(`[explorer] openObject enter`,{providerType:a?.providerType,root:a?.root,path:a?.path,hasParsed:!!a?.parsed});let p=t.value[f??n.value];if(p){let e=a.label||a.name||a.root||a.providerType,t=yt(a?.path)||yt(e||``),n=Qq(a);a.objectKind??=Nq(a)&&`folder`;let r=a.objectKind===`folder`?d||n||`list`:n||`render`,f=p.$openedObjects.value,m,h=p.$activeObject.value,g=h&&(h.objectKind===`folder`||Nq(h)),_=a.objectKind===`folder`||Nq(a);g&&(_||c!=null)?(m=h,Object.assign(m,a,{name:e,ext:t,renderMode:r,parsed:null,renderDom:null}),p.$openedObjects.trigger()):(m=f.find(e=>u(e,a)),m?(m.renderMode??=r,d&&(m.renderMode=d),(d||l)&&(m.parsed=null)):(m={...a,name:e,ext:t,renderMode:r},p.$openedObjects.set([...f,m]))),console.log(`[explorer] openObject before resolveContent`,{path:m.path,hasParsed:!!m.parsed}),m.parsed??=await s.resolveContent(m),console.log(`[explorer] openObject after resolveContent`,{path:m.path,parsedKeys:m.parsed&&Object.keys(m.parsed)}),m.parsed?.notExist?o(a):(p.$selected.value=m,p.$highlightedRow.value=null,console.log(`[explorer] openObject setting $activeObject (forced)`,{path:m.path}),p.$activeObject.set(m,!0),m.objectKind===`folder`||QJ(m))}else console.error(`side is undefined`)}function f(e,r){let{object:a,dom:o,icon:s,viewMode:c}=e||{};if(console.log(e),r??=t.value[n.value],a&&o){let e=r.$openedObjects.value,t=a.label||a.name||a.root||a.providerType,n={...a,name:t,ext:yt(t||``),icon:s,renderMode:c||`render`,renderDom:o,parsed:{ready:!0}};r.$selected.value=n,r.$highlightedRow.value=null,r.$openedObjects.set([...e,n]),r.$activeObject.value=n}}}function eY(e){let{$sides:t,$active_side:n,openObject:r}=e,a=!1,o=new Set([`folder`,`bucket`]);return{parseUrl:d,syncUrl:p,buildSides:h,closeObject:g,closeOthers:_,closeToRight:v,closeToLeft:y,closeAll:b,splitObject:x,itemToObject:l,objectToItem:c};function s(e){return o.has(e.objectKind)||!e.path}function c(e){let t=!e.renderDom&&(e.path||e.name||e.root),n=null;return t&&(n=`${e.providerType??``}/${e.root??``}/${e.path??``}`.replace(/\/+$/,``),s(e)&&(n+=`/`)),n}function l(e){let[t,n,...r]=e.replace(/\/+$/,``).split(`/`),a=r.join(`/`),o=r.at(-1)??n??t??``,s=yt(o),c=!s,l={providerType:t,root:n,path:a,name:o,ext:s};return c&&(l.objectKind=`folder`),l}function u(e,t){let n=t.split(`,`).filter(Boolean),r=n.length-1;return{name:e,items:n.map((e,t)=>{let n=e,a=!1,o=!1;for(;n.startsWith(`*`)||n.startsWith(`!`);)n.startsWith(`*`)?a=!0:o=!0,n=n.slice(1);a&&(r=t);let s=l(n);return o&&(s.pinned=!0),s}),activeIndex:r}}function d(){let e=new URLSearchParams(location.search),t=e.get(`left`),n=e.get(`right`),r=e.get(`open`),a=e.get(`active`),o=[];return t||n?(t&&o.push(u(`left`,t)),n&&o.push(u(`right`,n))):r&&o.push(u(`left`,r)),{sides:o,activeName:a}}function f(e){let t=e.$openedObjects.value,n=e.$activeObject.value;return t.map(e=>{let t=c(e),r=t;if(t){let a=``;e===n&&(a+=`*`),e.pinned&&(a+=`!`),r=`${a}${t}`}return r}).filter(Boolean).join(`,`)}function p(){a&&m()}function m(){let e=Pr(),r=t.value.map(f),a=r.filter(Boolean),o;if(a.length>1){let a=t.value[n.value].name;o=`${e}?left=${r[0]}&right=${r[1]}&active=${a}`}else o=a.length===1?`${e}?open=${a[0]}`:e;let s=location.pathname+location.search;o!==s&&window.history.pushState({},``,o)}function h(e){let r=e.sides,o;o=r.length>0?r.map(e=>{let t=AJ(e.name),n=e.items.map(e=>({...e}));return t.$openedObjects.value=n,t.$activeObject.value=n[e.activeIndex],t}):[AJ(`left`)],t.value=o;let s=o.findIndex(t=>t.name===e.activeName);return s>=0?n.value=s:n.value=o.length-1,a=!0,o}function g(e,r){let a=e.$openedObjects.value,o=a.indexOf(r);if(o>=0&&r.pinned!==!0){if(r.blobUrl&&URL.revokeObjectURL(r.blobUrl),a.splice(o,1),e.$openedObjects.trigger(),e.$activeObject.value===r){let t=a[o]??a[o-1];t?(e.$selected.value=t,e.$highlightedRow.value=null,e.$activeObject.set(t,!0)):e.$activeObject.value=null}let s=t.value;a.length===0&&s.length>1&&(t.value=s.filter(t=>t!==e),n.value>=t.value.length&&(n.value=t.value.length-1)),p()}}function _(e,t){let n=e.$openedObjects.value.filter(e=>e!==t);for(let t of n)g(e,t)}function v(e,t){let n=e.$openedObjects.value,r=n.indexOf(t),a=n.slice(r+1);for(let t of a)g(e,t)}function y(e,t){let n=e.$openedObjects.value,r=n.indexOf(t),a=n.slice(0,r);for(let t of a)g(e,t)}function b(e){let t=[...e.$openedObjects.value];for(let n of t)g(e,n)}function x(e,a,o){let s;t.value.length<2?(t.value=[...t.value,AJ(`right`)],_0(50),s=1):s=o===`left`?0:1,n.value=s;let c={providerType:a.providerType,root:a.root,path:a.path,name:a.name,ext:a.ext,objectKind:a.objectKind,file:a.file,handle:a.handle};r(void 0,{object:c})}}var tY=3500;function nY({itemToObject:e,openRestoredObject:t}){let n=!0,r=null,a=document.createElement(`div`);a.className=`animate-cursor`;let o=document.createElement(`div`);o.className=`animate-caption`,document.body.classList.add(`animate`),document.body.append(a,o);function s(){n=!1,clearTimeout(r),a.remove(),o.remove(),document.body.classList.remove(`animate`),window.removeEventListener(`pointerdown`,s),window.removeEventListener(`keydown`,s),window.removeEventListener(`wheel`,s)}window.addEventListener(`pointerdown`,s),window.addEventListener(`keydown`,s),window.addEventListener(`wheel`,s);function c(e){if(e){let t=e.getBoundingClientRect();a.style.left=t.left+t.width/2+`px`,a.style.top=t.top+t.height/2+`px`}}async function l(n){if(o.textContent=n.caption,n.action===`open`)await t(e(n.item),0);else if(n.action===`click`){let e=document.querySelector(n.selector);c(e),a.classList.add(`clicking`),setTimeout(()=>a.classList.remove(`clicking`),300),e&&e.click()}else if(n.action===`scroll`){let e=document.querySelector(n.selector);c(e),e&&e.scrollTo({top:e.scrollTop+n.by,behavior:`smooth`})}}async function u(){let e=await(await fetch(`/api/animate`)).json(),t=0;async function a(){n&&(await l(e[t]),t=(t+1)%e.length,r=setTimeout(a,tY))}a()}u()}var rY=1e3;function iY(){return{$query:T(``),$caseSensitive:T(!1),$wholeWord:T(!1),$regex:T(!1),$includes:T(``),$onlyInOpenObjects:T(!1),$excludes:T(``),$useIgnoreFile:T(!0),$viewMode:T(`tree`),$formCollapsed:T(!1),$results:T([]),$summary:T({files:0,matches:0}),$searching:T(!1),$cloudOpen:T(!1),$cloud:T([]),$cursor:T({}),$oversize:T([]),groups:new Map,total:0,runId:0,lastRun:null,abort:null}}function aY(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function oY(e){let t=e.$query.value,n=e.$regex.value?t:aY(t);return e.$wholeWord.value?`\\b${n}\\b`:n}function sY(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function cY(e,t){return{...t,path:`${e}/${String(t.path).replace(/^\//,``)}`}}function lY(e,t){let n=new Set(e.$cloud.value.map(e=>e.providerType)),r=[];for(let e of t)e.providerType&&e.providerType!==`local`&&n.has(e.providerType)===!1&&(n.add(e.providerType),r.push({providerType:e.providerType,label:e.label||e.providerType,loaded:!1,buckets:[]}));r.length>0&&e.$cloud.set([...e.$cloud.value,...r])}function uY(e,t,n){let r=e.$cloud.value.map((e,r)=>r===t?{...e,...n}:e);e.$cloud.set(r)}function dY(e,t,n,r){let a=e.$cloud.value.map((e,a)=>{if(a===t){let t=e.buckets.map((e,t)=>t===n?{...e,...r}:e);return{...e,buckets:t}}return e});e.$cloud.set(a)}async function fY(e){let t=await LG(`/api/${e}/`,{},{});return(t&&t.payload&&t.payload.children?t.payload.children:[]).map(e=>({root:e.root||e.name,label:e.label||e.displayName||e.name,enabled:!0,mode:`cached`}))}async function pY(e,t){let n=e.$cloud.value[t];n.loaded||(uY(e,t,{loaded:!0}),uY(e,t,{buckets:await fY(n.providerType)}))}async function mY(e){for(let t=0;t<e.$cloud.value.length;t+=1)await pY(e,t)}function hY(e,t,n,r){let a=e.$cloud.value[t].buckets[n];a.enabled&&a.mode===r?dY(e,t,n,{enabled:!1}):dY(e,t,n,{enabled:!0,mode:r})}function gY(e){e.groups=new Map,e.total=0,e.$results.set([]),e.$summary.value={files:0,matches:0},e.$cursor.set({}),e.$oversize.set([])}async function _Y(e){let{state:t,sources:n,append:r}=e,a=t.searchers;t.abort&&t.abort.abort();let o=new AbortController;t.abort=o;let s=t.runId+1;t.runId=s,t.$searching.value=!0,r||gY(t);let c=t.groups,l=oY(t),u=t.$caseSensitive.value?`g`:`ig`,d=sY(t.$includes.value),f=sY(t.$excludes.value),p=t.$onlyInOpenObjects.value&&t.getOpenPaths?new Set(t.getOpenPaths()):null,m=!1;for(let e of n)if(t.runId===s)if(e.kind===`local`){let t=t=>v(e,cY(e.root,t)),n=await a.search({containerHandle:e.handle,query:l,flags:u,perFileLimit:3,maxFiles:rY,startAfterPath:e.startAfterPath,onlyPath:e.onlyPath,skipMatches:e.skipMatches,onIndexMatch(){},onContentFirstMatch:t,onContentMatch:t,onFileMore:t=>y(cY(e.root,t))});x(e.id,{kind:`local`,root:e.root,handle:e.handle},n)}else await a.search({providerType:e.providerType,root:e.root,mode:e.mode,query:l,flags:u,signal:o.signal,perFileLimit:3,maxFiles:rY,startAfterPath:e.startAfterPath,onlyPath:e.onlyPath,skipMatches:e.skipMatches,force:e.force,onIndexMatch(){},onContentFirstMatch:t=>v(e,t),onContentMatch:t=>v(e,t),onFileMore:e=>y(e),onOversize:t=>b(e,t),onRootFinished:t=>x(`backend/${e.providerType}/${t.root}`,{kind:`backend`,providerType:e.providerType,root:t.root,mode:e.mode},t)});t.runId===s&&(h(),t.$searching.value=!1);function h(){if(m=!1,t.runId===s){let e=Array.from(c.values()).map(e=>({...e,matches:[...e.matches]}));t.$results.set(e),t.$summary.value={files:c.size,matches:t.total}}}function g(){m||(m=!0,setTimeout(h,60))}function _(e){let t=d.length===0||d.some(t=>e.includes(t)),n=f.some(t=>e.includes(t)),r=p===null||p.has(e.split(`/`).pop());return t&&n===!1&&r}function v(e,n){let r=n.path.replace(/^\//,``);if(t.runId===s&&_(r)){let a=r.indexOf(`/`),o=a>=0?r.slice(0,a):r,s=a>=0?r.slice(a+1):r,l=c.get(r);l||(l={source:e,root:o,path:s,matches:[],hasMore:!1},c.set(r,l));let u=n.line.indexOf(n.match);l.matches.push({lineNumber:n.lineNumber,line:n.line,text:n.match,column:u>=0?u+1:1}),t.total+=1,g()}}function y(e){let n=String(e.path).replace(/^\//,``),r=c.get(n);t.runId===s&&r&&(r.hasMore=!0,g())}function b(e,n){if(t.runId===s){let r=String(n.path).replace(/^\//,``),a=r.indexOf(`/`),o=a>=0?r.slice(0,a):r,s=a>=0?r.slice(a+1):r;t.$oversize.set([...t.$oversize.value,{fullPath:r,root:o,path:s,size:n.size,providerType:e.providerType,mode:e.mode}])}}function x(e,n,r){t.runId===s&&t.$cursor.set({...t.$cursor.value,[e]:{...n,lastPath:r?r.lastPath:``,truncatedFiles:r?r.truncatedFiles:!1}})}}function vY(e){let t=[];for(let n of e)if(n.handle){let e=n.root||n.name;t.push({kind:`local`,id:`local/${e}`,root:e,handle:n.handle})}return t}function yY(e,t,n){let r=[];for(let a of e.$cloud.value)for(let e of a.buckets)if(e.enabled){let o=t||e.mode;r.push({kind:`backend`,id:`backend/${a.providerType}/${e.root}`,providerType:a.providerType,root:e.root,mode:o,force:n})}return r}function bY(e){return{query:e.$query.value,caseSensitive:e.$caseSensitive.value,wholeWord:e.$wholeWord.value,regex:e.$regex.value,includes:e.$includes.value,excludes:e.$excludes.value,useIgnoreFile:e.$useIgnoreFile.value,onlyInOpenObjects:e.$onlyInOpenObjects.value}}function xY(e,t){return!!e&&e.regex===!1&&t.regex===!1&&e.wholeWord===!1&&t.wholeWord===!1&&e.caseSensitive===t.caseSensitive&&e.includes===t.includes&&e.excludes===t.excludes&&e.useIgnoreFile===t.useIgnoreFile&&e.onlyInOpenObjects===t.onlyInOpenObjects&&e.query.length>0&&t.query.length>e.query.length&&t.query.startsWith(e.query)}function SY(e){let t=e.$query.value,n=e.$caseSensitive.value?t:t.toLowerCase(),r=0;for(let[a,o]of e.groups){let s=o.matches.filter(t=>(e.$caseSensitive.value?t.line:t.line.toLowerCase()).includes(n));s.length>0?(s.forEach(e=>{e.text=t}),o.matches=s,r+=s.length):e.groups.delete(a)}e.total=r;let a=Array.from(e.groups.values()).map(e=>({...e,matches:[...e.matches]}));e.$results.set(a),e.$summary.value={files:e.groups.size,matches:r}}function CY(e){e.abort&&e.abort.abort(),e.runId+=1}async function wY(e){let{state:t,searchers:n,getOpenPaths:r,roots:a=[]}=e;t.searchers=n,t.getOpenPaths=r,lY(t,a);let o=bY(t);if(o.query)if(xY(t.lastRun,o))CY(t),SY(t),t.lastRun=o;else{let e=_Y({state:t,sources:[...vY(a),...yY(t,`cached`,!1)],append:!1}),n=t.runId;await e,t.runId===n&&(t.lastRun=o)}else CY(t),gY(t),t.lastRun=null}async function TY(e){let t=yY(e,`full`,!0);t.length>0&&await _Y({state:e,sources:t,append:!0})}async function EY(e){let{state:t,searchers:n,getOpenPaths:r,roots:a=[]}=e;t.searchers=n,t.getOpenPaths=r,lY(t,a),t.$query.value?(await _Y({state:t,sources:[...vY(a),...yY(t,null,!1)],append:!1}),t.lastRun=bY(t)):(gY(t),t.lastRun=null)}async function DY(e){let t=e.$cursor.value,n=[];for(let e of Object.keys(t)){let r=t[e];r.truncatedFiles&&n.push({...r,id:e,startAfterPath:r.lastPath})}n.length>0&&await _Y({state:e,sources:n,append:!0})}async function OY(e,t){let n=e.groups.get(`${t.root}/${t.path}`);n&&(n.hasMore=!1),await _Y({state:e,sources:[{...t.source,onlyPath:t.path,skipMatches:t.matches.length}],append:!0})}async function kY(e,t){e.$oversize.set(e.$oversize.value.filter(e=>e.fullPath!==t.fullPath)),await _Y({state:e,sources:[{kind:`backend`,providerType:t.providerType,root:t.root,mode:t.mode,onlyPath:t.path,force:!0}],append:!0})}function AY(e){let{$value:t,icon:n,title:r}=e;return B(`span`,{class:E(()=>`search-toggle ${t.value?`active`:``}`),title:r,onclick:()=>t.value=!t.value},B(U,{name:n}))}function jY(e,t,n){return B(`span`,{class:`search-cloud-modes`},B(`span`,{class:`search-mode ${e&&t===`cached`?`active`:``}`,title:`Include: search only files already cached`,onclick:()=>n(`cached`)},`cached`),B(`span`,{class:`search-mode ${e&&t===`full`?`active`:``}`,title:`Include: download all then search`,onclick:()=>n(`full`)},`full scan`))}function MY(e,t,n,r,a,o){return B(`div`,{class:`search-bucket-row`},B(`span`,{class:`search-cloud-name`,title:n},t),jY(r.enabled,r.mode,t=>hY(e,a,o,t)))}function NY(e){let{state:t,providers:n}=e,r=[];return n.forEach((e,t)=>{e.providerType!==`folder`&&e.buckets.forEach((n,a)=>{r.push({label:n.label,title:`${e.providerType}://${n.label}`,bucket:n,providerIndex:t,bucketIndex:a})})}),B(`div`,{class:`search-cloud-list`},r.map(e=>MY(t,e.label,e.title,e.bucket,e.providerIndex,e.bucketIndex)))}function PY(e){let{state:t,onSearch:n,onSearchRemote:r,parent:a=`panel`,$treeData:o}=e;A(()=>{let e=o?o.value:[];lY(t,e)});function s(e){e.key===`Enter`&&n()}function c(e){let n=t.$cloudOpen.value===!1;t.$cloudOpen.value=n,n&&mY(t)}let l=E(()=>t.$formCollapsed.value&&t.$summary.value.matches?`display: none`:``),u=E(()=>t.$onlyInOpenObjects.value?`Searching only in open objects`:`e.g. *.js, src/`),d=E(()=>V(U,{name:t.$cloudOpen.value?`chevron-down`:`chevron-right`,size:16})),f=E(()=>{let e=t.$cloud.value;return t.$cloudOpen.value?V(NY,{state:t,providers:e}):V(function(){return B(`span`,null)},{})});return B(`div`,{class:`search-controls`},B(`div`,{class:`search-field`,title:`Search`},B(`input`,{id:`${a}-search-input`,class:`search-input`,placeholder:`Search`,oninput:e=>t.$query.value=e.target.value,onkeydown:s}),B(`span`,{class:`search-toggles`},B(AY,{$value:t.$caseSensitive,icon:`case-sensitive`,title:`Match Case`}),B(AY,{$value:t.$wholeWord,icon:`whole-word`,title:`Match Whole Word`}),B(AY,{$value:t.$regex,icon:`regex`,title:`Use Regular Expression`}))),B(`div`,{class:`search-extra`,style:l},B(`div`,{class:`search-label`},`files to include`),B(`div`,{class:`search-field`},B(`input`,{class:`search-input`,placeholder:u,oninput:e=>t.$includes.value=e.target.value}),B(`span`,{class:`search-toggles`},B(AY,{$value:t.$onlyInOpenObjects,icon:`book`,title:`Search only in Open Objects`}))),B(`div`,{class:`search-label search-label-toggle`},B(`span`,{class:`search-remote-label`,onclick:c},B(`span`,{class:`search-chevron`,$dom:d}),B(`span`,null,`remote storage`)),B(`span`,{class:`search-remote-button`,title:`Full scan of enabled remote storage`,onclick:r},`Search`)),B(`div`,{class:`search-cloud`,$dom:f}),B(`div`,{class:`search-label`},`files to exclude`),B(`div`,{class:`search-field`},B(`input`,{class:`search-input`,placeholder:`e.g. node_modules, dist`,oninput:e=>t.$excludes.value=e.target.value}),B(`span`,{class:`search-toggles`},B(AY,{$value:t.$useIgnoreFile,icon:`exclude`,title:`Use Ignore Files`})))))}var FY=30,IY=10,LY=10;function RY(e){return/\w/.test(e)}function zY(e){return/\W/.test(e)}function BY(e,t){let n=e.replace(/^\s+/,``),r;if(n.length<=FY)r=n;else{let e=t?n.toLowerCase().indexOf(t.toLowerCase()):-1;if(e>=0){let t=e;for(;t>0&&RY(n[t-1]);)--t;let a;if(t<e)a=e-t<=IY?t:e-LY;else{let t=e;for(;t>0&&zY(n[t-1]);)--t;let r=t;for(;r>0&&RY(n[r-1]);)--r;a=e-r<=IY?r:e}r=(a>0?`…`:``)+n.slice(a)}else r=n.slice(0,FY)+`…`}return r}function VY(e){let{line:t,text:n}=e,r=String(t).toLowerCase(),a=n?r.indexOf(n.toLowerCase()):-1;if(a>=0){let e=t.slice(0,a),r=t.slice(a,a+n.length),o=t.slice(a+n.length);return B(`span`,{class:`search-line`},e,B(`span`,{class:`search-hit`},r),o)}return B(`span`,{class:`search-line`},t)}function HY(e){let{searchers:t,openSearchEditor:n,openSearchHit:r,getOpenPaths:a,$treeData:o}=e,s=iY();function c(){EY({state:s,searchers:t,getOpenPaths:a,roots:o?o.value:[]})}function l(e){s.$query.value=``,s.$results.set([]),s.$summary.value={files:0,matches:0},s.$oversize.set([]),s.$cursor.set({}),s.lastRun=null}let u;A(()=>{s.$query.value,s.$caseSensitive.value,s.$wholeWord.value,s.$regex.value,s.$includes.value,s.$excludes.value,s.$useIgnoreFile.value,s.$onlyInOpenObjects.value,clearTimeout(u),u=setTimeout(()=>{wY({state:s,searchers:t,getOpenPaths:a,roots:o?o.value:[]})},200)});let d=E(()=>V(U,{name:s.$viewMode.value===`tree`?`list-tree`:`list-flat`,size:16})),f=E(()=>V(U,{name:s.$formCollapsed.value?`chevron-right`:`chevron-down`,size:16})),p=E(()=>s.$summary.value.matches?``:`display: none`),m=E(()=>{let{files:e,matches:t}=s.$summary.value;return t?`${t} results in ${e} files`:``}),h=E(()=>s.$summary.value.matches?``:`display: none`);function g(e){return e.kind===`backend`&&e.providerType!==`folder`?e.providerType:`folders`}function _(e){let t=new Map;return e.forEach(e=>{let n=g(e.source),r=t.get(n);r||(r={key:n,providerType:e.source.providerType,groups:[]},t.set(n,r)),r.groups.push(e)}),Array.from(t.values())}function v(e){if(e.key===`folders`)return`Folders`;{let t=s.$cloud.value.find(t=>t.providerType===e.providerType);return t?t.label:e.providerType}}function y(e){return e.key===`folders`?`folder`:e.providerType}function b(e){return B(`summary`,{class:`search-category-header`},B(`span`,{class:`search-category-chevron`},B(U,{name:`chevron-right`,size:16})),B(U,{name:y(e),size:16}),B(`span`,{class:`search-category-name`},v(e)),B(`span`,{class:`search-category-count`},e.groups.length))}function x(e){let t=e.path.split(`/`),n=t.pop();return B(`div`,{class:`search-group`},B(`div`,{class:`search-group-header`,title:`${e.root}/${e.path}`,onclick:()=>r(e,e.matches[0])},B(U,{name:yt(e.path),size:16}),B(`span`,{class:`search-group-name`},n),B(`span`,{class:`search-group-path`},t.join(`/`))),B(`div`,{class:`search-group-matches`},e.matches.map(t=>B(`div`,{class:`search-match`,title:t.line,onclick:()=>r(e,t)},B(VY,{line:BY(t.line,t.text),text:t.text}))),e.hasMore?B(`div`,{class:`search-more`,onclick:()=>OY(s,e)},`more matches in this file…`):B(`span`,null)))}function S(e,t){return B(`div`,{class:`search-match search-match-flat`,title:`${e.root}/${e.path}`,onclick:()=>r(e,t)},B(U,{name:yt(e.path),size:16}),B(`span`,{class:`search-group-name`},e.path.split(`/`).pop()),B(VY,{line:BY(t.line,t.text),text:t.text}))}function C(e){let t=[];return e.forEach(e=>e.matches.forEach(n=>t.push({group:e,match:n}))),t}function w(e){let{groups:t}=e,n=_(t);return n.length>1?B(`div`,{class:`search-results slim_scrollbar`},n.map(e=>B(`details`,{class:`search-category`,open:!0},b(e),e.groups.map(e=>x(e))))):B(`div`,{class:`search-results slim_scrollbar`},t.map(e=>x(e)))}function T(e){let{groups:t}=e,n=_(t);return n.length>1?B(`div`,{class:`search-results slim_scrollbar`},n.map(e=>B(`details`,{class:`search-category`,open:!0},b(e),C(e.groups).map(({group:e,match:t})=>S(e,t))))):B(`div`,{class:`search-results slim_scrollbar`},C(t).map(({group:e,match:t})=>S(e,t)))}let D=E(()=>{let e=s.$results.value;return V(s.$viewMode.value===`tree`?w:T,{groups:e})}),O=E(()=>{let e=s.$oversize.value;return e.length>0?V(function(){return B(`div`,{class:`search-oversize`},e.map(e=>B(`div`,{class:`search-oversize-row`,title:e.fullPath},B(`span`,{class:`search-oversize-name`},e.path.split(`/`).pop(),` (`,Math.round(e.size/1048576),` MB)`),B(`span`,{class:`search-oversize-action`,onclick:()=>kY(s,e)},`Search large file`))))},{}):V(function(){return B(`span`,null)},{})}),k=E(()=>{let e=s.$cursor.value;return Object.keys(e).some(t=>e[t].truncatedFiles)?V(function(){return B(`div`,{class:`search-more search-more-files`,onclick:()=>DY(s)},`load more files…`)},{}):V(function(){return B(`span`,null)},{})});return B(`div`,{class:`search-panel`},B(`div`,{class:`search-toolbar`},B(`span`,{class:`search-action`,title:`Collapse Search Form`,style:p,onclick:()=>s.$formCollapsed.value=!s.$formCollapsed.value,$dom:f}),B(`span`,{class:`search-action`,title:`Refresh`,onclick:()=>c()},B(U,{name:`refresh`,size:16})),B(`span`,{class:`search-action`,title:`Clear Search Results`,onclick:l},B(U,{name:`clear-all`,size:16})),B(`span`,{class:`search-action`,title:`Open Search Editor`,onclick:()=>n(s)},B(U,{name:`new-file`,size:16})),B(`span`,{class:`search-action`,title:`View as List / Tree`,onclick:()=>s.$viewMode.value=s.$viewMode.value===`tree`?`list`:`tree`,$dom:d})),B(PY,{state:s,onSearch:c,onSearchRemote:()=>TY(s),parent:`panel`,$treeData:o}),B(`div`,{class:`search-count`,style:h},m),B(`div`,{class:`search-results-wrap`,$dom:D}),B(`div`,{class:`search-oversize-wrap`,$dom:O}),B(`div`,{class:`search-more-wrap`,$dom:k}))}function UY(e){let{searchers:t,state:n,getOpenPaths:r,$treeData:a}=e,o=E(()=>{let{files:e,matches:t}=n.$summary.value;return`${t} results - ${e} files`});function s(e){return B(`div`,{class:`search-editor-group`},B(`div`,{class:`search-editor-file`},e.root,`/`,e.path,`:`),B(`div`,{class:`search-editor-lines`},e.matches.map(e=>B(`div`,{class:`search-editor-line`},B(`span`,{class:`search-editor-lineno`},e.lineNumber),B(VY,{line:e.line,text:e.text}))),e.hasMore?B(`div`,{class:`search-more`,onclick:()=>OY(n,e)},`more matches in this file…`):B(`span`,null)))}let c=E(()=>{let e=n.$cursor.value;return Object.keys(e).some(t=>e[t].truncatedFiles)?V(function(){return B(`div`,{class:`search-more search-more-files`,onclick:()=>DY(n)},`load more files…`)},{}):V(function(){return B(`span`,null)},{})});return B(`div`,{class:`search-editor slim_scrollbar`},B(PY,{state:n,onSearch:()=>EY({state:n,searchers:t,getOpenPaths:r,roots:a?a.value:[]}),parent:`editor`,$treeData:a}),B(`div`,{class:`search-editor-summary`},o),B(`div`,{class:`search-editor-results`},B(H,{each:n.$results},e=>s(e))),B(`div`,{class:`search-more-wrap`,$dom:c}))}function WY(e){let{elementId:t,minWidth:n=200,maxWidth:r=window.innerWidth,$disabled:a=T(),onDrag:o}=e,s=1/(window.devicePixelRatio||1),c=!1;function l(e){if(e.stopPropagation(),e.preventDefault(),e.button===0&&!c){c=!0;let a=e.clientX,s,l;o||(s=t?document.getElementById(t):e.currentTarget.parentElement,l=s.offsetWidth,s.style.width=`${l}px`,s.style.flex=`unset`),document.body.style.cursor=`ew-resize`,document.body.style.userSelect=`none`;function u(e){if(e.preventDefault(),e.stopPropagation(),o)o(e.clientX);else{let t=l+(e.clientX-a);s.style.width=`${Math.min(Math.max(n,t),r)}px`}}function d(){c=!1,document.body.style.cursor=`unset`,document.body.style.userSelect=`unset`,window.removeEventListener(`mousemove`,u),window.removeEventListener(`mouseup`,d),window.removeEventListener(`blur`,d)}window.addEventListener(`mousemove`,u),window.addEventListener(`mouseup`,d),window.addEventListener(`blur`,d)}}return B(`div`,{class:`dragger`,onmousedown:l,style:E(()=>{let e=a.value;return`width: ${s}px; ${e?`display: none;`:``}`})})}function GY(e){let{side:t,id:n,$active_side:r,openObject:a,selectObject:o,explorerState:s}=e,c=t.$openedObjects,l=t.$activeObject;function u(e,t){return[{label:`Close`,action:()=>s.closeObject(e,t)},{label:`Close Others`,action:()=>s.closeOthers(e,t)},{label:`Close to the Right`,action:()=>s.closeToRight(e,t)},{label:`Close to the Left`,action:()=>s.closeToLeft(e,t)},{label:`Close All`,action:()=>s.closeAll(e)},{separator:!0},{label:`Split Left`,action:()=>s.splitObject(e,t,`left`)},{label:`Split Right`,action:()=>s.splitObject(e,t,`right`)},{separator:!0},{label:t.pinned?`Unpin`:`Pin`,action:()=>d(t)}]}function d(e){e.pinned=!e.pinned,c.trigger(),s.syncUrl()}return B(`header`,{class:`flex_between sidebar-header`},B(`span`,{style:`display: flex; overflow-x: auto; overflow-y: clip; height: 100%; scrollbar-width: none; max-width: calc(100% - 2em);`},B(H,{source:import.meta.url,each:c,test:!0},e=>{let{name:f=``,ext:p,icon:m}=e,h=E(()=>`tab-title ${l.value===e?`selected`:``} tooltip-container`),g=E(()=>(c.value,V(U,{name:e.pinned?`pinned`:`x`})));function _(t){t.stopPropagation(),r.value=n,e.parsed?o(e):a(t,{object:e,sideIndex:n})}function v(n){n.stopPropagation(),e.pinned?d(e):s.closeObject(t,e)}function y(n){n.preventDefault(),n.stopPropagation(),gn({side:t,object:e},u(t,e),n)}return B(`span`,{class:h,onclick:_,oncontextmenu:y,title:e.title},B(`span`,{style:`display: inline-flex; align-items: center;`},B(U,{name:m||p||yt(f)})),B(`span`,{class:`tab-title-text`,title:f},f),B(`span`,{style:`display: inline-flex; align-items: center;`,onclick:v,$dom:g}))})),B(`span`,{style:`margin-left:auto;`,class:`codicon codicon-ellipsis`}))}function KY(e){let{side:t,$viewMode:n,$parsed:r}=e,a=t.$footer,o=t.$activeObject,s=new Set([`list`,`root`]);return B(`div`,{class:`side-foot`,style:`width: 100%;`,$dom:E(()=>{if(s.has(n.value))return a.value;{let e=o.value;if(e){let t=Rq(e),n=r.value?.metadata?.headers??[],a={};for(let e of n)a[e.name]=e.value;let o=[];return t!=null&&o.push(`Size: ${ys(t,!1)}`),e.mtime&&o.push(`Modified: ${ti(e.mtime)}`),a.Width&&o.push(`${a.Width} × ${a.Height} ${a.BitDepth}-bit ${a.ColorType}`),o.length>0?B(`div`,{class:`content-foot`},o.map(e=>B(`span`,null,e))):``}return``}})})}function qY(e){let{size:t=`1em`,fill:n=`none`,stroke:r=`currentColor`,strokeWidth:a=1.2,strokeLinecap:o=`round`,strokeLinejoin:s=`round`}=e;return B(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 24 24`,fill:n,stroke:r,"stroke-width":a,"stroke-linecap":o,"stroke-linejoin":s},B(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`}),B(`rect`,{x:`14`,y:`3`,width:`7`,height:`7`}),B(`rect`,{x:`14`,y:`14`,width:`7`,height:`7`}),B(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`}))}console.log(`inputtext`);function JY(e,t){let{size:n=`md`,round:r=!0,solid:a=!1,disabled:o=!1,placeholder:s,onchange:c=console.log,onblur:l=console.log}=e,u=Object.entries(e).filter(([e,t])=>t===!0).map(([e,t])=>e),d=[];return!(e.sm||e.md||e.lg||e.xl)&&d.push(`md`),!e.outline&&d.push(`underline`),B(`input`,{type:`text`,class:`${u.join(` `)} ${d.join(` `)} inputtext`,placeholder:s,oninput:e=>c(e.target.value),onblur:l,style:`border: 1px solid var(--vscode-tab-border); background: var(--vscode-tab-inactiveBackground); border-radius: 4px;`},B(`span`,null,t))}function YY(e){return e.toLocaleString(`en-US`)}function XY(e){let t=``;return t=e==null?``:String(e),t.length>12&&(t=t.slice(0,12)+`…`),t}function ZY(e){let t=e.previewMeta||{},n=t.columns||[],r=(t.sample||[]).map(e=>n.map(t=>XY(e[t.name]))),a;return a=t.rowCount==null?B(`div`,{class:`data-preview`},B(`div`,{class:`data-preview-count`},t.keyCount??0,` keys`)):B(`div`,{class:`data-preview`},B(`div`,{class:`data-preview-count`},YY(t.rowCount),` rows × `,t.colCount,` cols`),B(`div`,{class:`data-preview-table`},B(`div`,{class:`data-preview-row data-preview-head`},B(H,{each:n},e=>B(`span`,{class:`data-preview-cell`},e.name))),B(H,{each:r},e=>B(`div`,{class:`data-preview-row`},B(H,{each:e},e=>B(`span`,{class:`data-preview-cell`},e)))))),a}function QY(e){let t=``;return e.text?t=e.text:e.arrayBuffer&&(t=new TextDecoder(`utf-8`).decode(e.arrayBuffer)),t.split(`
|
|
1936
1936
|
`).slice(0,12).join(`
|
|
1937
|
-
`)}function $Y(e){return B(`pre`,{class:`text-preview`},QY(e))}var eX=10;function tX(e){let t=localStorage.getItem(e);return t?JSON.parse(t):{}}function nX(e,t,n){let r=tX(e);r[t]=n,localStorage.setItem(e,JSON.stringify(r))}function rX(e){let{object:t,side:n,openObject:r,previewContent:a,OnContextMenu:o,api:s,preview:c=!0}=e,l={providerType:e.providerType,root:e.root,path:e.path,name:e.name,objectKind:e.objectKind,handle:e.handle},u=e.data||e.objects||t?.children||[];n?.$rootMode;let d=T(``),f=n?.$filter??T(``),p=c?{w:160,h:150}:{w:90,h:90},m=`object-grid-layout:${t?.providerType||``}:${t?.root||``}:${t?.path||``}`,h=T({}),g=T();function _(e){let t=e.providerType&&e.path,n=e.root||``,r=t?FG(`/api/${e.providerType}/${n}/${e.path}`).replace(`//`,`/`):void 0;return{...e,pageUrl:r}}let v=T(u.map(_));nJ(n,u);let y=!1;async function b(e){let t=e.nextPageToken;if(delete e.nextPageToken,s&&t){let e=await s.get(l,t);v.value=rJ(v.value,e.map(_)),nJ(n,v.value)}}function x(e){let t=e.currentTarget;if(t.scrollTop+t.clientHeight>=t.scrollHeight-p.h&&!y){let e=v.value.find(e=>e.nextPageToken);e&&(y=!0,b(e).then(()=>{y=!1}))}}function S(e){n&&(n.$highlightedRow.value={type:`object`,name:e.name,ext:yt(e.name||``),meta:{size:e.size,modified:e.modified}})}function C(e){r&&r(void 0,{object:e,id:n?.$selected.value,mode:`grid`})}let w=E(()=>{let e=f.value.toLowerCase();return v.value.filter(t=>{let n=tJ(t,Yq.value,Xq.value),r=!e||String(t.name||``).toLowerCase().includes(e);return n&&r})});function D(){let e=g.value;if(e){let t=e.clientWidth,n=tX(m),r=Math.max(1,Math.floor((t-eX)/p.w)),a={};w.value.forEach((e,t)=>{let o=e.name,s={x:eX+t%r*p.w,y:eX+Math.floor(t/r)*p.h};a[o]=n[o]||s}),h.value=a}}requestAnimationFrame(()=>{D();let e=new ResizeObserver(()=>D());g.value&&e.observe(g.value)}),A(()=>{w.value,requestAnimationFrame(()=>D())});let O=!1;function k(e){return function(t){O?O=!1:(d.value=e.name,S(e))}}function j(e){return function(t){C(e)}}function M(e){return function(t){if(t.button===0){let n=t.currentTarget,r=h.value[e.name]||{x:0,y:0},a=t.clientX,o=t.clientY,s=!1;function c(e){let t=e.clientX-a,c=e.clientY-o;!s&&Math.abs(t)+Math.abs(c)>4&&(s=!0,document.body.style.userSelect=`none`),s&&(n.style.left=`${Math.max(0,r.x+t)}px`,n.style.top=`${Math.max(0,r.y+c)}px`)}function l(t){if(s){O=!0;let n={x:Math.max(0,r.x+t.clientX-a),y:Math.max(0,r.y+t.clientY-o)};h.value[e.name]=n,h.trigger(),nX(m,e.name,n)}document.body.style.userSelect=`unset`,window.removeEventListener(`mousemove`,c),window.removeEventListener(`mouseup`,l)}window.addEventListener(`mousemove`,c),window.addEventListener(`mouseup`,l)}}}function N(e){return E(()=>`object-grid-item ${d.value===e.name?`selected`:``}`)}function P(e){return E(()=>{let t=h.value[e.name]||{x:eX,y:eX};return`position: absolute; left: ${t.x}px; top: ${t.y}px; width: ${p.w}px;`})}let F=new Map,I=c?new IntersectionObserver(L,{rootMargin:`200px`}):null;function ee(e,t,n){e&&I&&(F.set(e,{object:t,$preview:n}),I.observe(e))}function L(e){e.forEach(async e=>{if(e.isIntersecting){console.log(e.target);let t=F.get(e.target);if(t){F.delete(e.target),I.unobserve(e.target);let n=await z(t.object);n&&(t.$preview.value=n)}}})}async function R(e){let t=e.pageUrl;if(e.file)t=URL.createObjectURL(e.file);else if(e.handle&&e.handle.getFile){let n=await e.handle.getFile();t=URL.createObjectURL(n)}return t}async function z(e){let t=Lq(e),n=null;if(t===`image`)n=B(`img`,{class:`object-grid-preview-media`,src:await R(e),loading:`lazy`});else if(t===`video`)n=B(`video`,{class:`object-grid-preview-media`,src:`${await R(e)}#t=0.1`,muted:!0,preload:`metadata`,playsinline:!0});else if(t===`pdf`)n=B(`embed`,{class:`object-grid-preview-media object-grid-preview-embed`,src:await R(e),type:`application/pdf`});else if(t===`data`&&a){let t=await(e.previewParsed??=a(e));t&&!t.error&&t.previewMeta&&(n=V(ZY,t))}else if(t===`text`&&a){let t=await(e.previewParsed??=a(e));t&&!t.error&&(n=V($Y,t))}else(t===`render`||t===`draw`)&&a&&(n=await te(e,t));return n}async function te(e,t){let r=null,o=await(e.previewParsed??=a(e)),s=kJ(e.providerType,e.objectKind,e.ext);if(s&&o&&!o.error){let a=V(s,{...e,...o,side:n,preview:!0});if(a&&a.then&&(a=await a),a)if(a.classList&&a.classList.contains(`preview`))r=a;else{let e=document.createElement(`div`);e.className=t===`draw`?`object-grid-preview-draw`:`object-grid-preview-render`,e.appendChild(a),a.scrolling=`no`,console.log(a.scrolling),a.onload=()=>{console.log(`onload`);let e=a.contentDocument;e.documentElement.style.overflow=`hidden`,e.body.style.overflow=`hidden`,e.querySelectorAll(`*`).forEach(e=>{(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth)&&(e.style.overflow=`hidden`)}),console.log(e.documentElement.style.overflow,e.body.style.overflow)},r=e}}return r}function ne(e){let{object:t}=e,n=Fq(t),r=T(V(U,{name:Pq(t)||n,size:48})),a=T();return c&&Lq(t)&&requestAnimationFrame(()=>ee(a.value,t,r)),B(`div`,{class:N(t),style:P(t),onmousedown:M(t),onclick:k(t),ondblclick:j(t),oncontextmenu:o&&o({object:t,root:l},{}),title:t.name},B(`div`,{class:`object-item-preview`,_ref:a,$dom:r}),B(`span`,{class:`object-grid-item-name`},t.name))}return B(`div`,{class:`object-grid slim_scrollbar ${c?`preview`:``}`,_ref:g,onscroll:x},B(H,{source:import.meta.url,each:w},e=>V(ne,{object:e})))}function iX(e){let{$theme:t=T(`dark`)}=e,n=E(()=>`transition: all 0.3s ease; opacity: ${t.value===`dark`?0:1}; fill: orange; stroke: orange;`),r=E(()=>`transition: all 0.3s ease; opacity: ${t.value===`light`?0:1}`);return B(`svg`,{width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,onclick:()=>t.value=t.value===`dark`?`light`:`dark`,style:E(()=>`cursor: pointer; transition: transform 0.3s ease; transform: rotate(${t.value===`dark`?0:60}deg);`)},B(`g`,{style:n},B(`circle`,{class:`sun-center`,cx:`12`,cy:`12`,r:`5`}),B(`g`,{class:`sun-rays`,style:`transition: all 0.3s ease;`},B(`line`,{x1:`12`,y1:`1`,x2:`12`,y2:`3`}),B(`line`,{x1:`12`,y1:`21`,x2:`12`,y2:`23`}),B(`line`,{x1:`4.22`,y1:`4.22`,x2:`5.64`,y2:`5.64`}),B(`line`,{x1:`18.36`,y1:`18.36`,x2:`19.78`,y2:`19.78`}),B(`line`,{x1:`1`,y1:`12`,x2:`3`,y2:`12`}),B(`line`,{x1:`21`,y1:`12`,x2:`23`,y2:`12`}),B(`line`,{x1:`4.22`,y1:`19.78`,x2:`5.64`,y2:`18.36`}),B(`line`,{x1:`18.36`,y1:`5.64`,x2:`19.78`,y2:`4.22`}))),B(`path`,{class:`moon-mask`,d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z`,style:r}))}function aX(e){return e.toString(16).padStart(2,`0`)}function oX(e){return e>=32&&e<=126?String.fromCharCode(e):`.`}function sX(e,t,n){let r=document.createElement(`div`);r.className=`hex-line`,r.dataset.line=n;let a=(n*16).toString(16).padStart(8,`0`),o=``,s=``,c=``,l=``;for(let n=0;n<8;n++)t+n<e.length?(o+=aX(e[t+n])+` `,c+=oX(e[t+n])):(o+=` `,c+=` `);for(let n=8;n<16;n++)t+n<e.length?(s+=aX(e[t+n])+` `,l+=oX(e[t+n])):(s+=` `,l+=` `);let u=document.createElement(`span`);u.className=`hex-addr`,u.textContent=a+`: `;let d=document.createTextNode(` `),f=document.createElement(`span`);f.className=`hex-bytes`,f.textContent=o;let p=document.createElement(`span`);p.className=`hex-bytes`,p.textContent=s;let m=document.createElement(`span`);m.className=`hex-ascii`,m.textContent=c+` `;let h=document.createElement(`span`);return h.className=`hex-ascii`,h.textContent=l+` `,r.append(u,d.cloneNode(),f,d.cloneNode(),p,d.cloneNode(),m,d,h),r}function cX(e,t,n,r=4096){let a=Math.max(t,0),o=Math.max(Math.min(n,e.length-a),0),s=Math.min(o,r),c=[];for(let t=0;t<s;t+=16){let n=Math.min(16,s-t),r=``,o=``;for(let s=0;s<16;s++)s<n?(r+=aX(e[a+t+s])+` `,o+=oX(e[a+t+s])):(r+=` `,o+=` `);c.push({address:(a+t).toString(16).padStart(8,`0`),value:`${r} ${o}`})}return{rows:c,shown:s,available:o}}var lX=20;function uX(e){let{arrayBuffer:t}=e,n=new Uint8Array(t),r=Math.ceil(n.length/16);return B(Dc,{each:Array.from({length:r},(e,t)=>t),rowHeight:lX,class:`hex-viewer`},e=>sX(n,e*16,e))}function dX(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<1073741824?`${(e/1024/1024).toFixed(1)} MB`:`${(e/1024/1024/1024).toFixed(2)} GB`}function fX(e){return`0x${e.toString(16)}`}function pX(e,{header:t,footer:n,style:r=``,clazz:a=``,SubHeader:o,onClose:s}={}){let c=V(()=>B(`dialog`,{class:a,onclose:d,onclick:l,style:r},t&&B(`div`,{class:`dialog-close`,onclick:u},`✕`),t&&B(`div`,{class:`dialog-header`},t),o&&B(o,null),B(e,{close:u}),n&&B(`div`,{class:`dialog-footer`},n)));document.body.appendChild(c),c.showModal();function l(e){let{clientX:t,clientY:n}=e,{left:r,top:a,right:o,bottom:s}=c.getBoundingClientRect();(t<r-5||t>o+5||n<a-5||n>s+5)&&u()}function u(){c.close()}function d(){c.remove(),s&&s()}return u}function mX(e,t){return t.slice(e.rowStart,e.rowEnd).map((t,n)=>({address:String(e.rowStart+n).padStart(5,`0`),value:String(t[e.column])}))}function hX(e,t){let{rows:n,shown:r,available:a}=cX(new Uint8Array(t),e.offset,e.size);return{rows:n,label:r<a?`Raw bytes — showing ${dX(r)} of ${dX(a)}`:`Raw bytes — ${dX(r)}`,raw:!0}}function gX(e,t,n){if(e.rows)return{rows:e.rows,label:e.rowsLabel};if(e.sample&&t){let n=mX(e.sample,t),r=e.sample.rowEnd-e.sample.rowStart;return{rows:n,label:`${e.rowsLabel} — showing ${n.length} of ${r}`}}return n&&e.size>0?hX(e,n):{rows:[],label:``}}function _X(e){let{block:t,parent:n,payload:r,arrayBuffer:a,fileName:o}=e,s=[o,n?.label,t.label].filter(Boolean).join(` › `),{rows:c,label:l,raw:u}=gX(t,r,a);return pX(d,{header:s,footer:l,SubHeader:f});function d(){return B(`div`,{class:`dialog-body slim_scrollbar ${u?`structure-modal-raw`:``}`},B(H,{each:c},e=>B(`div`,{class:`structure-modal-row`},B(`span`,{class:`structure-modal-addr`},e.address),B(`span`,{class:`structure-modal-value`},e.value))))}function f(){return B(`div`,{class:`structure-modal-meta dialog-sub-header`},B(H,{each:t.meta??[]},e=>B(`div`,{class:`structure-modal-chip`},e.key,`: `,B(`span`,null,e.value))))}}var vX={header:`file-binary`,body:`table`,index:`list-ordered`,footer:`symbol-structure`,field:`symbol-field`,entry:`symbol-namespace`,data:`symbol-array`},yX=e=>vX[e]??`file-binary`;function bX(e){let{structure:t,payload:n,arrayBuffer:r,name:a}=e,o=a??t.format;function s(e,t){_X({block:e,parent:t,payload:n,arrayBuffer:r,fileName:o})}function c(e,t,n){let r=e.children??[],a=B(`div`,{class:`structure-children`}),o=B(`span`,{class:`structure-caret`},B(U,{name:`chevron-right`,size:14})),l=r,u=n===0;function d(){if(u){for(let t of l)a.append(c(t,e,n+1));l=[],o.classList.add(`expanded`),a.style.display=`block`}else o.classList.remove(`expanded`),a.style.display=`none`}function f(e){e.stopPropagation(),u=u===!1,d()}function p(n){n.stopPropagation(),s(e,t)}let m=B(`div`,{class:`structure-head`,onclick:p,title:`${e.label} — ${dX(e.size)} @ ${fX(e.offset)}`},r.length>0?o:B(`span`,{class:`structure-caret empty`}),B(`span`,{class:`structure-icon`},B(U,{name:yX(e.kind),size:n===0?18:16})),B(`span`,{class:`structure-name`},B(`span`,{class:`structure-label`},e.label),B(`span`,{class:`structure-sub`},e.subLabel)),n===0?``:(e.badges??[]).map(e=>B(`span`,{class:`structure-badge`},e)),n===0?``:B(`span`,{class:`structure-size`},dX(e.size)));return r.length>0&&(o.onclick=f),d(),n===0?B(`div`,{class:`structure-row kind-${e.kind}`},B(`div`,{class:`structure-ruler`},B(`span`,null,fX(e.offset)),B(`span`,null,dX(e.size))),B(`div`,{class:`structure-block`},m,a)):B(`div`,{class:`structure-nest kind-${e.kind}`},B(`div`,{class:`structure-field`},m),a)}return B(`div`,{class:`structure slim_scrollbar`},B(`div`,{class:`structure-title`},B(`span`,{class:`structure-format`},t.format),B(`span`,{class:`structure-total`},dX(t.size),` total`)),t.blocks.map(e=>c(e,null,0)))}function xX(e,t){return B(`div`,{class:`aspect`},B(`div`,{class:`aspect-body`},t))}function SX(){let e=(navigator.userAgentData&&navigator.userAgentData.platform||navigator.platform||``).toLowerCase();return e.includes(`mac`)?`mac`:e.includes(`win`)?`windows`:`linux`}function CX(e){return e===`mac`?`Restore from the macOS Trash (~/.Trash), or roll back from a Time Machine backup.`:e===`windows`?`Restore from the Recycle Bin, or use File History / a previous version.`:`Restore from the trash (~/.local/share/Trash), or recover from a backup snapshot.`}function wX(e,t){return e===`gcp-gcs`?`Recover via bucket object versioning, or from the soft-delete retention window in Cloud Storage.`:e===`folder`||e===`local`?CX(t||SX()):`Recover from this provider’s version history or retention policy, if enabled.`}function TX(e){if(e){let t=new Date(e*1e3);return isNaN(t.getTime())?``:t.toLocaleString()}return``}function EX(e){let t=Math.max(...e.map(e=>Rq(e)??0),1);return e.filter(e=>!e.isDeleted&&!Mq(e)).sort((e,t)=>(Rq(t)??0)-(Rq(e)??0)).slice(0,3).map(e=>{let n=Rq(e)??0;return{name:e.name,sizeText:ys(n,!1),pct:`${Math.round(n/t*100)}%`}})}function DX(e){let t=e?.children??[],n=e?.dirMeta??null,r=t.filter(e=>!e.isDeleted&&!Mq(e)).length,a=t.filter(e=>!e.isDeleted&&Mq(e)).length,o=n?.snapshots?.at(-1)?.size??null;return{applicable:t.length>0||n!=null,totalText:o==null?``:ys(o,!1),countText:`${r} files · ${a} folders`,largest:EX(t)}}function OX(e,t){let n=e&&e.meta||t,r=n?.snapshots??[],a=r.length>=2?r.at(-1).size-r[0].size:null;return{applicable:n!=null,snapshots:r,visits:n?.visitCount??0,firstSeen:r.length>0?new Date(r[0].ts*1e3).toLocaleDateString():`—`,drift:a,driftText:a==null?``:`${a>=0?`+`:`-`}${ys(Math.abs(a),!1)}`}}function kX(e){let t=e?.schema??e?.meta?.schema??null;return t&&Array.isArray(t.fields)?t:null}function AX(e){return(e?.children??[]).filter(e=>e.isDeleted).map(e=>({name:e.name,sizeText:ys(Rq(e)??0,!1),whenText:TX(Iq(e))}))}function jX(e){let{$object:t,$response:n,$parsed:r}=e;return pX(a,{clazz:`info-dialog`});function a(){let e=E(()=>t?.value??null),a=E(()=>e.value?[e.value]:[]),o=E(()=>DX(n.value)),s=E(()=>OX(e.value,n.value?.dirMeta)),c=E(()=>kX(e.value)),l=E(()=>r?.value?.metadata?.headers??[]),u=E(()=>AX(n.value));return B(`aside`,{class:`info dialog-body slim_scrollbar`},B(`div`,{class:`info-object`},B(H,{each:a},e=>B(Tq,{object:e}))),B(G,{when:E(()=>o.value.applicable)},B(MX,{$contents:o})),B(G,{when:E(()=>s.value.applicable)},B(NX,{$activity:s})),B(G,{when:E(()=>c.value!==null)},B(PX,{$schema:c})),B(G,{when:E(()=>l.value.length>0)},B(FX,{$headers:l,$parsed:r})),B(G,{when:E(()=>u.value.length>0)},B(IX,{$removed:u,$response:n,$target:e})))}}function MX(e){let{$contents:t}=e;return B(xX,{title:`Contents & size`},B(`div`,{class:`aspect-stats`},B(`div`,null,B(`div`,null,E(()=>t.value.totalText)),B(`div`,{class:`aspect-stat-label`},`total`)),B(`div`,null,B(`div`,null,E(()=>t.value.countText)),B(`div`,{class:`aspect-stat-label`},`contents`))),B(`div`,{class:`aspect-largest`},B(H,{each:E(()=>t.value.largest)},e=>B(`div`,null,B(`div`,{class:`aspect-largest-head`},B(`span`,{class:`aspect-largest-name`},e.name),B(`span`,{class:`aspect-largest-size`},e.sizeText)),B(`div`,{class:`aspect-bar`},B(`div`,{class:`aspect-bar-fill`,style:`width: ${e.pct}`}))))))}function NX(e){let{$activity:t}=e,n=E(()=>t.value.driftText?``:`display: none`),r=E(()=>xq({snapshots:t.value.snapshots,width:240,height:30}));return B(xX,{title:`Activity & drift`},B(`div`,{class:`aspect-stats`},B(`div`,null,B(`div`,null,E(()=>`${t.value.visits}`)),B(`div`,{class:`aspect-stat-label`},`visits`)),B(`div`,null,B(`div`,null,E(()=>t.value.firstSeen)),B(`div`,{class:`aspect-stat-label`},`first seen`))),B(`div`,{class:`aspect-largest-head`,style:n},B(`span`,{class:`aspect-stat-label`},`size since first seen`),B(`span`,{class:`aspect-largest-size`},E(()=>t.value.driftText))),B(`span`,{$dom:r}))}function PX(e){let{$schema:t}=e;return B(xX,{title:`Schema`},B(`div`,{class:`aspect-schema`},B(H,{each:E(()=>t.value?.fields??[])},e=>B(`div`,{class:`aspect-schema-field`},B(`span`,null,e.name),B(`span`,{class:`aspect-schema-type`},e.type)))))}function FX(e){let{$headers:t,$parsed:n}=e,r=E(()=>{let e=n?.value?.metadata?.skMf;return e?JSON.stringify(e,null,4):``}),a=E(()=>r.value?``:`display: none`);return B(xX,{title:`Image metadata`},B(`div`,{class:`aspect-schema`},B(H,{each:t},e=>B(`div`,{class:`aspect-schema-field`},B(`span`,null,e.name),B(`span`,{class:`aspect-schema-type`},$r(e.value))))),B(`pre`,{class:`info-image-detail slim_scrollbar`,style:a},r))}function IX(e){let{$removed:t,$response:n,$target:r}=e,a=SX(),o=T({}),s=E(()=>r.value?.providerType??n.value?.children?.[0]?.providerType??``);return B(xX,{title:`Recently removed`},B(H,{each:t},e=>{let t=E(()=>o.value[e.name]?`✓ restored`:`restore`);return B(`div`,{class:`aspect-removed`},B(`span`,{class:E(()=>`aspect-removed-name ${o.value[e.name]?`aspect-removed-restored`:``}`)},e.name),B(`span`,{class:`aspect-removed-size`},e.sizeText),B(`span`,{class:`aspect-removed-when`},e.whenText),B(`span`,{class:`aspect-restore`,onclick:()=>o.value={...o.value,[e.name]:!0}},t))}),B(`div`,{class:`aspect-recover`},E(()=>wX(s.value,a))))}function LX(e){let{error:t}=e,n=typeof t==`object`?t.message:t;return B(`div`,null,B(`span`,null,`Error`),B(`span`,null,n))}function RX(e){let{object:t}=e,n=t?`${t.root??``}/${t.path??t.name??``}`.replace(/\/+$/,``):``;return B(`div`,null,B(`span`,null,`This object no longer exists`),B(`span`,null,n))}function zX(){let e=performance.now();return function(){let t=performance.now(),n=t-e;return e=t,n}}function BX(e,t,n={}){let r=Object.entries(t).filter(function([,e]){return typeof e==`number`}).map(function([e,t]){return`${e}=${t.toFixed(1)}ms`}),a=Object.entries(n).filter(function([,e]){return e!=null}).map(function([e,t]){return`${e}=${t}`});console.log(`[metrics] ${e} ${[...r,...a].join(` `)}`)}function VX(e){let{graph:t,mode:n,root:r,container:a}=e,o=T(),s=T({x:0,y:0}),c=T(``),l=T(1),u=T(n||`file`),d=T(Rn()),f=T(new Set),p=T(null),m=T(null),h=T(new Set([`js`,`jsx`,`ts`,`tsx`,`html`,`c`,`h`,`py`,`rs`,`go`,`java`,`cpp`,`hpp`,`cs`,`swift`])),g=T(br()),_=T(!1),v=E(()=>{let{x:e=0,y:t=0}=s.value;return`translate(${e}, ${t}) scale(${l.value})`}),y=t,b=n===`call`?null:wn(t),x=E(()=>{let e=Bn({tags:d.value,tagValue:`excluded`}),t=h.value,n=_.value,r=g.value,a=y.nodes.filter(function(a){if(e.has(a.id))return!1;if(n&&a.type!==`external`){let e=a.path||a.id;if(!r.has(e))return!1}if(a.type===`external`)return!0;let o=(a.path||``).split(`.`).pop();return t.has(o)}),o=new Set(a.map(e=>e.id));return{nodes:a,edges:y.edges.filter(e=>o.has(e.source)&&o.has(e.target))}}),S=E(()=>{if(!b)return null;let e=Bn({tags:d.value,tagValue:`excluded`}),t=b.nodes.filter(t=>!e.has(t.id)),n=new Set(t.map(e=>e.id));return{nodes:t,edges:b.edges.filter(e=>n.has(e.source)&&n.has(e.target))}}),C=E(()=>{let e=Bn({tags:d.value,tagValue:`entry`});return In({graph:x.value,mode:n||`file`,entryIds:e})}),w=E(()=>{let e=S.value;return e?In({graph:e,mode:`folder`,entryIds:Bn({tags:d.value,tagValue:`entry`})}):null}),D={},O=T(0);function k(e){e.forEach(function(e){D[e.id]?D[e.id].value={x:e.x,y:e.y,width:e.width,height:e.height}:D[e.id]=T({x:e.x,y:e.y,width:e.width,height:e.height})}),O.value++}N(C,function(e){k(e.nodes)}),b&&N(w,function(e){e&&k(e.nodes)});let A=E(()=>{let e=f.value;return e.size?Un({selectedIds:e,adjacency:Vn({edges:x.value.edges})}):{upstream:new Set,downstream:new Set}}),j=E(()=>{let e=S.value,t=f.value;return!e||!t.size?{upstream:new Set,downstream:new Set}:Un({selectedIds:t,adjacency:Vn({edges:e.edges})})});function M(e){let t=g.value.has(e);g.value=Sr({path:e,box:g.value}),fetch(`/api/boxtoggle`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({path:e,root:r,action:t?`remove`:`add`})})}function P(e){fetch(`/api/opennode`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({path:e,root:r})})}let F=E(()=>Tn({nodes:x.value.nodes,edges:x.value.edges})),I=E(()=>{let e=S.value;return e?Tn({nodes:e.nodes,edges:e.edges}):null}),ee=E(()=>C.value.nodes),L=E(()=>C.value.edges),R=E(()=>w.value?w.value.nodes:[]),z=E(()=>w.value?w.value.edges:[]),te=T(`-200 -200 1024 768`),ne=null,re=0,ie=0;function ae(e){let{action:t}=e.detail;if(t===`toggle`){let e=x.value,t={};e.nodes.forEach(function(e){t[e.id]=e});let n=g.value;f.value.forEach(function(e){let r=t[e];r&&(n=Sr({path:r.path||r.id,box:n}))}),g.value=n}else t===`in-graph`?_.value=!_.value:t===`clear`&&(g.value=Cr(),_.value=!1)}function oe(e){let{path:t}=e.detail,n=x.value.nodes.find(function(e){return e.id===t||e.path===t});if(n){f.value=new Set([n.id]);let e=D[n.id];if(e){let t=o.value.getBoundingClientRect(),n=l.value,{x:r,y:a,width:c,height:u}=e.value;s.value={x:t.width/2-(r+c/2)*n,y:t.height/2-(a+u/2)*n}}}}dn(()=>{let e=o.value.getBoundingClientRect();te.value=`0 0 ${e.width} ${e.height}`,document.addEventListener(`claudebox-cmd`,ae),document.addEventListener(`claudebox-locate`,oe);let t=C.value.nodes;if(t.length>0){let n=Math.min(...t.map(e=>e.x)),r=Math.min(...t.map(e=>e.y)),a=Math.max(...t.map(e=>e.x+e.width)),o=Math.max(...t.map(e=>e.y+e.height)),c=Math.max(Math.min((e.width-80)/(a-n),(e.height-80)/(o-r)),.15);l.value=c,s.value={x:(e.width-(a-n)*c)/2-n*c,y:(e.height-(o-r)*c)/2-r*c}}});let se,ce;function le(e){if(e.button===0){let{target:t}=e;se=e.clientX,ce=e.clientY,re=e.clientX,ie=e.clientY,de(),window.addEventListener(`mousemove`,fe),window.addEventListener(`mouseup`,ue),window.addEventListener(`blur`,de),c.value=`cursor: grabbing;`,e.preventDefault();let n=t.closest(`.node`);n&&(ne=n.getAttribute(`data-nodeid`)),t.closest(`.node`)||(p.value=null,m.value=null,f.value=new Set)}}function ue(e){let t=Math.abs(e.clientX-re),n=Math.abs(e.clientY-ie);if(!(t>5||n>5)&&ne)if(e.metaKey){let e=u.value===`folder`?S.value:x.value;if(e){let t=e.nodes.find(e=>e.id===ne);if(t){let e=t.path||t.id;g.value=Sr({path:e,box:g.value})}}}else if(e.ctrlKey){let e=new Set(f.value);e.has(ne)?e.delete(ne):e.add(ne),f.value=e}else{let e=f.value;e.size===1&&e.has(ne)?f.value=new Set:f.value=new Set([ne])}de()}function de(){window.removeEventListener(`mousemove`,fe),window.removeEventListener(`mouseup`,ue),window.removeEventListener(`blur`,de),c.value=``,ne=void 0}function fe(e){let{clientX:t,clientY:n}=e,r=se-t,a=ce-n;if(se=t,ce=n,ne){let e=l.value,t=D[ne];if(t){let{x:n,y:o,width:s,height:c}=t.value;t.value={width:s,height:c,x:n-r/e,y:o-a/e}}}else{let{x:e,y:t}=s.value;s.value={x:e-r,y:t-a}}}function pe(e){let t=1.02;e.preventDefault();let n=e.deltaY<0?t:1/t,r=l.value,a=Math.min(Math.max(r*n,.1),10),c=o.value.getBoundingClientRect(),u=e.clientX-c.left,d=e.clientY-c.top,{x:f,y:p}=s.value;s.value={x:u-(u-f)/r*a,y:d-(d-p)/r*a},l.value=a}function me(e){u.value=e,s.value={x:0,y:0},l.value=1}function he(e){let t=new Set(h.value);t.has(e)?t.delete(e):t.add(e),h.value=t}let ge=`padding:2px 10px; border:1px solid #555; background:#1e1e1e; color:#ccc; cursor:pointer; font-size:12px;`,_e=`padding:2px 10px; border:1px solid #555; background:#1e1e1e; color:#ccc; cursor:pointer; font-size:12px;border-color:#4ec9b0; color:#4ec9b0;`,ve=[`js`,`jsx`,`ts`,`tsx`,`css`,`html`,`c`,`h`,`py`,`rs`,`go`,`java`,`cpp`,`hpp`,`cs`,`swift`],ye=new Set;y.nodes.forEach(function(e){if(e.type!==`external`){let t=(e.path||``).split(`.`).pop();t&&ye.add(t)}});let be=ve.filter(e=>ye.has(e));return C.value.nodes.length===0?B(`div`,{style:`color:#888; padding:20px`},`No nodes to display`):B(`div`,{style:`display:flex; flex-direction:column; height:100%; overflow:hidden; position:relative;`,onclick:function(){m.value=null}},n===`call`?null:B(`div`,{style:`display:flex; gap:4px; padding:4px 8px; background:#1e1e1e; border-bottom:1px solid #333; flex-shrink:0; align-items:center;`},B(`button`,{style:E(()=>u.value===`file`?_e:ge),onclick:()=>me(`file`)},`Files`),B(`button`,{style:E(()=>u.value===`folder`?_e:ge),onclick:()=>me(`folder`)},`Folders`),B(`span`,{style:`margin-left:8px; color:#444; font-size:11px; font-family:monospace;`},`|`),be.map(e=>B(`button`,{style:E(()=>h.value.has(e)?`display: flex; padding: 2px 10px; border:1px solid #555; background:#252526; color:#ccc; cursor:pointer; font-size:12px;`:`display: flex; padding: 2px 10px; border:1px solid #333; background:#1e1e1e; color:#555; cursor:pointer; font-size:12px;`),onclick:()=>he(e)},B(U,{name:e}),B(`span`,{style:`margin-left:4px;`},e)))),B(`svg`,{width:`100%`,height:`100%`,viewBox:te,style:E(()=>(c.value||`cursor: grab;`)+` flex:1;`),_ref:o,onmousedown:le,"onwheel:nonpassive":pe},B(`style`,null,`.node .box-toggle{display:none}.node:hover .box-toggle{display:block;opacity:0.4}.node .box-toggle.active{display:block;opacity:1}.node .open-file{display:none}.node:hover .open-file{display:block}`),B(`defs`,null,B(`marker`,{id:`arrowhead`,viewBox:`0 0 10 7`,markerWidth:`8`,markerHeight:`6`,refX:`9`,refY:`3.5`,orient:`auto`,markerUnits:`strokeWidth`},B(`path`,{d:`M 0 0 L 10 3.5 L 0 7 z`,fill:`context-stroke`})),B(`marker`,{id:`arrowhead-orange`,viewBox:`0 0 10 7`,markerWidth:`8`,markerHeight:`6`,refX:`9`,refY:`3.5`,orient:`auto`,markerUnits:`strokeWidth`},B(`path`,{d:`M 0 0 L 10 3.5 L 0 7 z`,fill:`orange`})),B(`marker`,{id:`se`,viewBox:`-3 -3 9 6`,overflow:`visible`,orient:`auto`,markerUnits:`strokeWidth`,markerWidth:`8`,markerHeight:`6`,refX:`0`,refY:`0`},B(`polygon`,{points:`0,-3, 9,0, 0,3`,style:`fill: context-stroke;`}))),B(`g`,{transform:v},B(`g`,{style:E(()=>u.value===`file`?``:`display:none`)},B(Gn,{edges:L,nodePos:D,$nodePosVersion:O,$edgeInfo:p}),B(gr,{nodes:ee,nodePos:D,$nodePosVersion:O,renderMode:n||`file`,topNodes:F,$selectedIds:f,$adjacency:A,$tags:d,$contextMenu:m,$claudeBox:g,onToggleBox:M,onOpenFile:P}),B(Kn,{edges:L,nodePos:D,$nodePosVersion:O,$selectedIds:f,$edgeInfo:p})),b?B(`g`,{style:E(()=>u.value===`folder`?``:`display:none`)},B(Gn,{edges:z,nodePos:D,$nodePosVersion:O,$edgeInfo:p}),B(gr,{nodes:R,nodePos:D,$nodePosVersion:O,renderMode:`folder`,topNodes:I,$selectedIds:f,$adjacency:j,$tags:d,$contextMenu:m,$claudeBox:g,onToggleBox:M,onOpenFile:P}),B(Kn,{edges:z,nodePos:D,$nodePosVersion:O,$selectedIds:f,$edgeInfo:p})):null)),B(vr,{$edgeInfo:p}),B(Tr,{$contextMenu:m,$tags:d,$claudeBox:g}))}var HX=0;function UX(e){let{src:t,kind:n}=e;if(n===`video`){let e=`media-video-${HX++}`;function n(){let t=document.getElementById(e),n=document.getElementById(`sides-container`);n&&n.querySelectorAll(`main.main`).length>1?n.requestFullscreen():t.requestFullscreen()}return B(`div`,{class:`media-video-wrap`},B(`video`,{id:e,controls:!0,controlsList:`nofullscreen`,disablePictureInPicture:!0,src:t,style:`max-width: 100%; max-height: 100%;`}),B(`span`,{class:`media-full-btn`,title:`Fullscreen`,onclick:n},B(U,{name:`screen-full`})))}return B(`audio`,{controls:!0,src:t,style:`width: 100%;`})}function WX(){return B(`svg`,{width:`24`,height:`24`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`},B(`text`,{x:`0`,y:`20`,"font-family":`monaco, monospace`,"font-size":`23`},`0`),B(`text`,{x:`13`,y:`18`,"font-family":`monaco, monospace`,"font-size":`19`},`x`))}function GX(e){let{side:t,id:n,$active_side:r,$rightmost:a,$width:o,onDragSplit:s,openObject:c,previewContent:l,OnContextMenu:u,api:d,explorerState:f,themeSwitch:p=!0}=e,m=t.$activeObject,h=t.$highlightedRow,g=t.$filter,_=t.$splitMode,v=T(`dark`),y=p?V(iX,{$theme:v}):``,b=E(()=>`theme-${v.value}`),x=E(()=>(R.value,m.value?.renderMode??`render`)),S=E(()=>m.value?.path??``),C=E(()=>!!(R.value?.html||m.value?.ext===`pdf`));E(()=>Array.isArray(R.value?.payload));let w=E(()=>{let e=m.value;return(e?.renderMode===`list`?h.value:null)??e}),O=E(()=>m.value?.renderMode===`list`&&h.value?null:R.value),k=E(()=>w.value?.response??O.value?.response);function A(e){let t=m.value;t&&(t.renderMode=e,$q(t,e),m.trigger())}function j(e){t.$selected.value=e,h.value=null,console.log({object:e}),m.set(e,!0)}function M(e,t){return t?.rows?pd:t?.blobUrl?UX:t?.children?aJ:kJ(e.providerType,e.objectKind,e.ext)}let P={hex:uX,structure:bX,text:Ac,json:Ed,jsonl:Dd,yaml:Od,list:aJ,grid:rX,graph:VX};function F(e,t,n){return P[e]||M(t,n)}let I=D(async()=>{let e=m.value;console.log(`running $contentDom`,e);try{if(e){if(e.renderDom)return e.renderDom;if(e.notFound)return V(RX,{object:e});if(e.error)return V(LX,{error:e.error});{let n=e.parsed;if(n){e.size??=n.stat?.size??e.file?.size,e.mtime??=n.stat?.mtime??(e.file?.lastModified?~~(e.file.lastModified/1e3):void 0);let r=n.icons??[`list`,`grid`];n.children&&r.includes(e.renderMode)===!1&&(e.renderMode=`list`);let a=e.renderMode;if(n.error)return V(LX,{error:n.error});{let r=F(a,e,n),o={...e,...n,side:t,openObject:c,previewContent:l,OnContextMenu:u,api:d};if(r){let t=zX(),a=await V(r,o),s=t(),c=n.metrics??{};return BX(e.path??e.name??``,{fetch:c.fetchMs,parse:c.parseMs,render:s},{bytes:c.bytes,lines:c.lines}),a}return``}}return``}}return``}catch(t){return console.warn(`content render failed`,e?.path,t),V(LX,{error:String(t?.message??t)})}}),ee=`render hex`.split(` `),L=E(()=>m.value?.parsed?.icons??ee),R=D(()=>(I.value,m.value?.parsed));N(I,()=>{r.value===n&&f.syncUrl()});let z=T(!1),te=E(()=>`main ${r.value===n?`active`:``} ${z.value?`dragover`:``}`),ne=E(()=>`content slim_scrollbar theme-${v.value}`),re=E(()=>`flex-grow: 1; min-width: 0; min-height: 0; ${C.value?`overflow: hidden;`:``}`);E(()=>`icon ${_.value?`selected`:`unselected`}`);function ie(e){e.preventDefault(),z.value=!0}function ae(e){e.currentTarget.contains(e.relatedTarget)||(z.value=!1)}document.addEventListener(`drop`,()=>z.value=!1),document.addEventListener(`dragend`,()=>z.value=!1);async function oe(e){e.preventDefault(),z.value=!1;let t=e.dataTransfer.files[0];if(t){let n=t.name.split(`.`).pop();await c(e,{object:{name:t.name,path:t.name,ext:n,file:t,providerType:`local`}})}}E(()=>{let e=R.value;return e?.payload??e?.text?``:`display: none`}),E(()=>R.value?.structure?``:`display: none`);let se=`
|
|
1937
|
+
`)}function $Y(e){return B(`pre`,{class:`text-preview`},QY(e))}var eX=10;function tX(e){let t=localStorage.getItem(e);return t?JSON.parse(t):{}}function nX(e,t,n){let r=tX(e);r[t]=n,localStorage.setItem(e,JSON.stringify(r))}function rX(e){let{object:t,side:n,openObject:r,previewContent:a,OnContextMenu:o,api:s,preview:c=!0}=e,l={providerType:e.providerType,root:e.root,path:e.path,name:e.name,objectKind:e.objectKind,handle:e.handle},u=e.data||e.objects||t?.children||[];n?.$rootMode;let d=T(``),f=n?.$filter??T(``),p=c?{w:160,h:150}:{w:90,h:90},m=`object-grid-layout:${t?.providerType||``}:${t?.root||``}:${t?.path||``}`,h=T({}),g=T();function _(e){let t=e.providerType&&e.path,n=e.root||``,r=t?FG(`/api/${e.providerType}/${n}/${e.path}`).replace(`//`,`/`):void 0;return{...e,pageUrl:r}}let v=T(u.map(_));nJ(n,u);let y=!1;async function b(e){let t=e.nextPageToken;if(delete e.nextPageToken,s&&t){let e=await s.get(l,t);v.value=rJ(v.value,e.map(_)),nJ(n,v.value)}}function x(e){let t=e.currentTarget;if(t.scrollTop+t.clientHeight>=t.scrollHeight-p.h&&!y){let e=v.value.find(e=>e.nextPageToken);e&&(y=!0,b(e).then(()=>{y=!1}))}}function S(e){n&&(n.$highlightedRow.value={type:`object`,name:e.name,ext:yt(e.name||``),meta:{size:e.size,modified:e.modified}})}function C(e){r&&r(void 0,{object:e,id:n?.$selected.value,mode:`grid`})}let w=E(()=>{let e=f.value.toLowerCase();return v.value.filter(t=>{let n=tJ(t,Yq.value,Xq.value),r=!e||String(t.name||``).toLowerCase().includes(e);return n&&r})});function D(){let e=g.value;if(e){let t=e.clientWidth,n=tX(m),r=Math.max(1,Math.floor((t-eX)/p.w)),a={};w.value.forEach((e,t)=>{let o=e.name,s={x:eX+t%r*p.w,y:eX+Math.floor(t/r)*p.h};a[o]=n[o]||s}),h.value=a}}requestAnimationFrame(()=>{D();let e=new ResizeObserver(()=>D());g.value&&e.observe(g.value)}),A(()=>{w.value,requestAnimationFrame(()=>D())});let O=!1;function k(e){return function(t){O?O=!1:(d.value=e.name,S(e))}}function j(e){return function(t){C(e)}}function M(e){return function(t){if(t.button===0){let n=t.currentTarget,r=h.value[e.name]||{x:0,y:0},a=t.clientX,o=t.clientY,s=!1;function c(e){let t=e.clientX-a,c=e.clientY-o;!s&&Math.abs(t)+Math.abs(c)>4&&(s=!0,document.body.style.userSelect=`none`),s&&(n.style.left=`${Math.max(0,r.x+t)}px`,n.style.top=`${Math.max(0,r.y+c)}px`)}function l(t){if(s){O=!0;let n={x:Math.max(0,r.x+t.clientX-a),y:Math.max(0,r.y+t.clientY-o)};h.value[e.name]=n,h.trigger(),nX(m,e.name,n)}document.body.style.userSelect=`unset`,window.removeEventListener(`mousemove`,c),window.removeEventListener(`mouseup`,l)}window.addEventListener(`mousemove`,c),window.addEventListener(`mouseup`,l)}}}function N(e){return E(()=>`object-grid-item ${d.value===e.name?`selected`:``}`)}function P(e){return E(()=>{let t=h.value[e.name]||{x:eX,y:eX};return`position: absolute; left: ${t.x}px; top: ${t.y}px; width: ${p.w}px;`})}let F=new Map,I=c?new IntersectionObserver(L,{rootMargin:`200px`}):null;function ee(e,t,n){e&&I&&(F.set(e,{object:t,$preview:n}),I.observe(e))}function L(e){e.forEach(async e=>{if(e.isIntersecting){console.log(e.target);let t=F.get(e.target);if(t){F.delete(e.target),I.unobserve(e.target);let n=await z(t.object);n&&(t.$preview.value=n)}}})}async function R(e){let t=e.pageUrl;if(e.file)t=URL.createObjectURL(e.file);else if(e.handle&&e.handle.getFile){let n=await e.handle.getFile();t=URL.createObjectURL(n)}return t}async function z(e){let t=Lq(e),n=null;if(t===`image`)n=B(`img`,{class:`object-grid-preview-media`,src:await R(e),loading:`lazy`});else if(t===`video`)n=B(`video`,{class:`object-grid-preview-media`,src:`${await R(e)}#t=0.1`,muted:!0,preload:`metadata`,playsinline:!0});else if(t===`pdf`)n=B(`embed`,{class:`object-grid-preview-media object-grid-preview-embed`,src:await R(e),type:`application/pdf`});else if(t===`data`&&a){let t=await(e.previewParsed??=a(e));t&&!t.error&&t.previewMeta&&(n=V(ZY,t))}else if(t===`text`&&a){let t=await(e.previewParsed??=a(e));t&&!t.error&&(n=V($Y,t))}else(t===`render`||t===`draw`)&&a&&(n=await te(e,t));return n}async function te(e,t){let r=null,o=await(e.previewParsed??=a(e)),s=kJ(e.providerType,e.objectKind,e.ext);if(s&&o&&!o.error){let a=V(s,{...e,...o,side:n,preview:!0});if(a&&a.then&&(a=await a),a)if(a.classList&&a.classList.contains(`preview`))r=a;else{let e=document.createElement(`div`);e.className=t===`draw`?`object-grid-preview-draw`:`object-grid-preview-render`,e.appendChild(a),a.scrolling=`no`,console.log(a.scrolling),a.onload=()=>{console.log(`onload`);let e=a.contentDocument;e.documentElement.style.overflow=`hidden`,e.body.style.overflow=`hidden`,e.querySelectorAll(`*`).forEach(e=>{(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth)&&(e.style.overflow=`hidden`)}),console.log(e.documentElement.style.overflow,e.body.style.overflow)},r=e}}return r}function ne(e){let{object:t}=e,n=Fq(t),r=T(V(U,{name:Pq(t)||n,size:48})),a=T();return c&&Lq(t)&&requestAnimationFrame(()=>ee(a.value,t,r)),B(`div`,{class:N(t),style:P(t),onmousedown:M(t),onclick:k(t),ondblclick:j(t),oncontextmenu:o&&o({object:t,root:l},{}),title:t.name},B(`div`,{class:`object-item-preview`,_ref:a,$dom:r}),B(`span`,{class:`object-grid-item-name`},t.name))}return B(`div`,{class:`object-grid slim_scrollbar ${c?`preview`:``}`,_ref:g,onscroll:x},B(H,{source:import.meta.url,each:w},e=>V(ne,{object:e})))}function iX(e){let{$theme:t=T(`dark`)}=e,n=E(()=>`transition: all 0.3s ease; opacity: ${t.value===`dark`?0:1}; fill: orange; stroke: orange;`),r=E(()=>`transition: all 0.3s ease; opacity: ${t.value===`light`?0:1}`);return B(`svg`,{width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,onclick:()=>t.value=t.value===`dark`?`light`:`dark`,style:E(()=>`cursor: pointer; transition: transform 0.3s ease; transform: rotate(${t.value===`dark`?0:60}deg);`)},B(`g`,{style:n},B(`circle`,{class:`sun-center`,cx:`12`,cy:`12`,r:`5`}),B(`g`,{class:`sun-rays`,style:`transition: all 0.3s ease;`},B(`line`,{x1:`12`,y1:`1`,x2:`12`,y2:`3`}),B(`line`,{x1:`12`,y1:`21`,x2:`12`,y2:`23`}),B(`line`,{x1:`4.22`,y1:`4.22`,x2:`5.64`,y2:`5.64`}),B(`line`,{x1:`18.36`,y1:`18.36`,x2:`19.78`,y2:`19.78`}),B(`line`,{x1:`1`,y1:`12`,x2:`3`,y2:`12`}),B(`line`,{x1:`21`,y1:`12`,x2:`23`,y2:`12`}),B(`line`,{x1:`4.22`,y1:`19.78`,x2:`5.64`,y2:`18.36`}),B(`line`,{x1:`18.36`,y1:`5.64`,x2:`19.78`,y2:`4.22`}))),B(`path`,{class:`moon-mask`,d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z`,style:r}))}function aX(e){return e.toString(16).padStart(2,`0`)}function oX(e){return e>=32&&e<=126?String.fromCharCode(e):`.`}function sX(e,t,n){let r=document.createElement(`div`);r.className=`hex-line`,r.dataset.line=n;let a=(n*16).toString(16).padStart(8,`0`),o=``,s=``,c=``,l=``;for(let n=0;n<8;n++)t+n<e.length?(o+=aX(e[t+n])+` `,c+=oX(e[t+n])):(o+=` `,c+=` `);for(let n=8;n<16;n++)t+n<e.length?(s+=aX(e[t+n])+` `,l+=oX(e[t+n])):(s+=` `,l+=` `);let u=document.createElement(`span`);u.className=`hex-addr`,u.textContent=a+`: `;let d=document.createTextNode(` `),f=document.createElement(`span`);f.className=`hex-bytes`,f.textContent=o;let p=document.createElement(`span`);p.className=`hex-bytes`,p.textContent=s;let m=document.createElement(`span`);m.className=`hex-ascii`,m.textContent=c+` `;let h=document.createElement(`span`);return h.className=`hex-ascii`,h.textContent=l+` `,r.append(u,d.cloneNode(),f,d.cloneNode(),p,d.cloneNode(),m,d,h),r}function cX(e,t,n,r=4096){let a=Math.max(t,0),o=Math.max(Math.min(n,e.length-a),0),s=Math.min(o,r),c=[];for(let t=0;t<s;t+=16){let n=Math.min(16,s-t),r=``,o=``;for(let s=0;s<16;s++)s<n?(r+=aX(e[a+t+s])+` `,o+=oX(e[a+t+s])):(r+=` `,o+=` `);c.push({address:(a+t).toString(16).padStart(8,`0`),value:`${r} ${o}`})}return{rows:c,shown:s,available:o}}var lX=20;function uX(e){let{arrayBuffer:t}=e,n=new Uint8Array(t),r=Math.ceil(n.length/16);return B(Dc,{each:Array.from({length:r},(e,t)=>t),rowHeight:lX,class:`hex-viewer`},e=>sX(n,e*16,e))}function dX(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<1073741824?`${(e/1024/1024).toFixed(1)} MB`:`${(e/1024/1024/1024).toFixed(2)} GB`}function fX(e){return`0x${e.toString(16)}`}function pX(e,{header:t,footer:n,style:r=``,clazz:a=``,id:o=``,SubHeader:s,onClose:c}={}){let l=V(()=>B(`dialog`,{class:a,id:o,onclose:f,onclick:u,style:r},t&&B(`div`,{class:`dialog-close`,onclick:d},`✕`),t&&B(`div`,{class:`dialog-header`},t),s&&B(s,null),B(e,{close:d}),n&&B(`div`,{class:`dialog-footer`},n)));document.body.appendChild(l),l.showModal();function u(e){if(e.target===l){let{clientX:t,clientY:n}=e,{left:r,top:a,right:o,bottom:s}=l.getBoundingClientRect();(t<r-5||t>o+5||n<a-5||n>s+5)&&d()}}function d(){l.close()}function f(){l.remove(),c&&c()}return d}function mX(e,t){return t.slice(e.rowStart,e.rowEnd).map((t,n)=>({address:String(e.rowStart+n).padStart(5,`0`),value:String(t[e.column])}))}function hX(e,t){let{rows:n,shown:r,available:a}=cX(new Uint8Array(t),e.offset,e.size);return{rows:n,label:r<a?`Raw bytes — showing ${dX(r)} of ${dX(a)}`:`Raw bytes — ${dX(r)}`,raw:!0}}function gX(e,t,n){if(e.rows)return{rows:e.rows,label:e.rowsLabel};if(e.sample&&t){let n=mX(e.sample,t),r=e.sample.rowEnd-e.sample.rowStart;return{rows:n,label:`${e.rowsLabel} — showing ${n.length} of ${r}`}}return n&&e.size>0?hX(e,n):{rows:[],label:``}}function _X(e){let{block:t,parent:n,payload:r,arrayBuffer:a,fileName:o}=e,s=[o,n?.label,t.label].filter(Boolean).join(` › `),{rows:c,label:l,raw:u}=gX(t,r,a);return pX(d,{header:s,footer:l,SubHeader:f});function d(){return B(`div`,{class:`dialog-body slim_scrollbar ${u?`structure-modal-raw`:``}`},B(H,{each:c},e=>B(`div`,{class:`structure-modal-row`},B(`span`,{class:`structure-modal-addr`},e.address),B(`span`,{class:`structure-modal-value`},e.value))))}function f(){return B(`div`,{class:`structure-modal-meta dialog-sub-header`},B(H,{each:t.meta??[]},e=>B(`div`,{class:`structure-modal-chip`},e.key,`: `,B(`span`,null,e.value))))}}var vX={header:`file-binary`,body:`table`,index:`list-ordered`,footer:`symbol-structure`,field:`symbol-field`,entry:`symbol-namespace`,data:`symbol-array`},yX=e=>vX[e]??`file-binary`;function bX(e){let{structure:t,payload:n,arrayBuffer:r,name:a}=e,o=a??t.format;function s(e,t){_X({block:e,parent:t,payload:n,arrayBuffer:r,fileName:o})}function c(e,t,n){let r=e.children??[],a=B(`div`,{class:`structure-children`}),o=B(`span`,{class:`structure-caret`},B(U,{name:`chevron-right`,size:14})),l=r,u=n===0;function d(){if(u){for(let t of l)a.append(c(t,e,n+1));l=[],o.classList.add(`expanded`),a.style.display=`block`}else o.classList.remove(`expanded`),a.style.display=`none`}function f(e){e.stopPropagation(),u=u===!1,d()}function p(n){n.stopPropagation(),s(e,t)}let m=B(`div`,{class:`structure-head`,onclick:p,title:`${e.label} — ${dX(e.size)} @ ${fX(e.offset)}`},r.length>0?o:B(`span`,{class:`structure-caret empty`}),B(`span`,{class:`structure-icon`},B(U,{name:yX(e.kind),size:n===0?18:16})),B(`span`,{class:`structure-name`},B(`span`,{class:`structure-label`},e.label),B(`span`,{class:`structure-sub`},e.subLabel)),n===0?``:(e.badges??[]).map(e=>B(`span`,{class:`structure-badge`},e)),n===0?``:B(`span`,{class:`structure-size`},dX(e.size)));return r.length>0&&(o.onclick=f),d(),n===0?B(`div`,{class:`structure-row kind-${e.kind}`},B(`div`,{class:`structure-ruler`},B(`span`,null,fX(e.offset)),B(`span`,null,dX(e.size))),B(`div`,{class:`structure-block`},m,a)):B(`div`,{class:`structure-nest kind-${e.kind}`},B(`div`,{class:`structure-field`},m),a)}return B(`div`,{class:`structure slim_scrollbar`},B(`div`,{class:`structure-title`},B(`span`,{class:`structure-format`},t.format),B(`span`,{class:`structure-total`},dX(t.size),` total`)),t.blocks.map(e=>c(e,null,0)))}function xX(e,t){return B(`div`,{class:`aspect`},B(`div`,{class:`aspect-body`},t))}function SX(){let e=(navigator.userAgentData&&navigator.userAgentData.platform||navigator.platform||``).toLowerCase();return e.includes(`mac`)?`mac`:e.includes(`win`)?`windows`:`linux`}function CX(e){return e===`mac`?`Restore from the macOS Trash (~/.Trash), or roll back from a Time Machine backup.`:e===`windows`?`Restore from the Recycle Bin, or use File History / a previous version.`:`Restore from the trash (~/.local/share/Trash), or recover from a backup snapshot.`}function wX(e,t){return e===`gcp-gcs`?`Recover via bucket object versioning, or from the soft-delete retention window in Cloud Storage.`:e===`folder`||e===`local`?CX(t||SX()):`Recover from this provider’s version history or retention policy, if enabled.`}function TX(e){if(e){let t=new Date(e*1e3);return isNaN(t.getTime())?``:t.toLocaleString()}return``}function EX(e){let t=Math.max(...e.map(e=>Rq(e)??0),1);return e.filter(e=>!e.isDeleted&&!Mq(e)).sort((e,t)=>(Rq(t)??0)-(Rq(e)??0)).slice(0,3).map(e=>{let n=Rq(e)??0;return{name:e.name,sizeText:ys(n,!1),pct:`${Math.round(n/t*100)}%`}})}function DX(e){let t=e?.children??[],n=e?.dirMeta??null,r=t.filter(e=>!e.isDeleted&&!Mq(e)).length,a=t.filter(e=>!e.isDeleted&&Mq(e)).length,o=n?.snapshots?.at(-1)?.size??null;return{applicable:t.length>0||n!=null,totalText:o==null?``:ys(o,!1),countText:`${r} files · ${a} folders`,largest:EX(t)}}function OX(e,t){let n=e&&e.meta||t,r=n?.snapshots??[],a=r.length>=2?r.at(-1).size-r[0].size:null;return{applicable:n!=null,snapshots:r,visits:n?.visitCount??0,firstSeen:r.length>0?new Date(r[0].ts*1e3).toLocaleDateString():`—`,drift:a,driftText:a==null?``:`${a>=0?`+`:`-`}${ys(Math.abs(a),!1)}`}}function kX(e){let t=e?.schema??e?.meta?.schema??null;return t&&Array.isArray(t.fields)?t:null}function AX(e){return(e?.children??[]).filter(e=>e.isDeleted).map(e=>({name:e.name,sizeText:ys(Rq(e)??0,!1),whenText:TX(Iq(e))}))}function jX(e){let{$object:t,$response:n,$parsed:r}=e;return pX(a,{clazz:`info-dialog`});function a(){let e=E(()=>t?.value??null),a=E(()=>e.value?[e.value]:[]),o=E(()=>DX(n.value)),s=E(()=>OX(e.value,n.value?.dirMeta)),c=E(()=>kX(e.value)),l=E(()=>r?.value?.metadata?.headers??[]),u=E(()=>AX(n.value));return B(`aside`,{class:`info dialog-body slim_scrollbar`},B(`div`,{class:`info-object`},B(H,{each:a},e=>B(Tq,{object:e}))),B(G,{when:E(()=>o.value.applicable)},B(MX,{$contents:o})),B(G,{when:E(()=>s.value.applicable)},B(NX,{$activity:s})),B(G,{when:E(()=>c.value!==null)},B(PX,{$schema:c})),B(G,{when:E(()=>l.value.length>0)},B(FX,{$headers:l,$parsed:r})),B(G,{when:E(()=>u.value.length>0)},B(IX,{$removed:u,$response:n,$target:e})))}}function MX(e){let{$contents:t}=e;return B(xX,{title:`Contents & size`},B(`div`,{class:`aspect-stats`},B(`div`,null,B(`div`,null,E(()=>t.value.totalText)),B(`div`,{class:`aspect-stat-label`},`total`)),B(`div`,null,B(`div`,null,E(()=>t.value.countText)),B(`div`,{class:`aspect-stat-label`},`contents`))),B(`div`,{class:`aspect-largest`},B(H,{each:E(()=>t.value.largest)},e=>B(`div`,null,B(`div`,{class:`aspect-largest-head`},B(`span`,{class:`aspect-largest-name`},e.name),B(`span`,{class:`aspect-largest-size`},e.sizeText)),B(`div`,{class:`aspect-bar`},B(`div`,{class:`aspect-bar-fill`,style:`width: ${e.pct}`}))))))}function NX(e){let{$activity:t}=e,n=E(()=>t.value.driftText?``:`display: none`),r=E(()=>xq({snapshots:t.value.snapshots,width:240,height:30}));return B(xX,{title:`Activity & drift`},B(`div`,{class:`aspect-stats`},B(`div`,null,B(`div`,null,E(()=>`${t.value.visits}`)),B(`div`,{class:`aspect-stat-label`},`visits`)),B(`div`,null,B(`div`,null,E(()=>t.value.firstSeen)),B(`div`,{class:`aspect-stat-label`},`first seen`))),B(`div`,{class:`aspect-largest-head`,style:n},B(`span`,{class:`aspect-stat-label`},`size since first seen`),B(`span`,{class:`aspect-largest-size`},E(()=>t.value.driftText))),B(`span`,{$dom:r}))}function PX(e){let{$schema:t}=e;return B(xX,{title:`Schema`},B(`div`,{class:`aspect-schema`},B(H,{each:E(()=>t.value?.fields??[])},e=>B(`div`,{class:`aspect-schema-field`},B(`span`,null,e.name),B(`span`,{class:`aspect-schema-type`},e.type)))))}function FX(e){let{$headers:t,$parsed:n}=e,r=E(()=>{let e=n?.value?.metadata?.skMf;return e?JSON.stringify(e,null,4):``}),a=E(()=>r.value?``:`display: none`);return B(xX,{title:`Image metadata`},B(`div`,{class:`aspect-schema`},B(H,{each:t},e=>B(`div`,{class:`aspect-schema-field`},B(`span`,null,e.name),B(`span`,{class:`aspect-schema-type`},$r(e.value))))),B(`pre`,{class:`info-image-detail slim_scrollbar`,style:a},r))}function IX(e){let{$removed:t,$response:n,$target:r}=e,a=SX(),o=T({}),s=E(()=>r.value?.providerType??n.value?.children?.[0]?.providerType??``);return B(xX,{title:`Recently removed`},B(H,{each:t},e=>{let t=E(()=>o.value[e.name]?`✓ restored`:`restore`);return B(`div`,{class:`aspect-removed`},B(`span`,{class:E(()=>`aspect-removed-name ${o.value[e.name]?`aspect-removed-restored`:``}`)},e.name),B(`span`,{class:`aspect-removed-size`},e.sizeText),B(`span`,{class:`aspect-removed-when`},e.whenText),B(`span`,{class:`aspect-restore`,onclick:()=>o.value={...o.value,[e.name]:!0}},t))}),B(`div`,{class:`aspect-recover`},E(()=>wX(s.value,a))))}function LX(e){let{error:t}=e,n=typeof t==`object`?t.message:t;return B(`div`,null,B(`span`,null,`Error`),B(`span`,null,n))}function RX(e){let{object:t}=e,n=t?`${t.root??``}/${t.path??t.name??``}`.replace(/\/+$/,``):``;return B(`div`,null,B(`span`,null,`This object no longer exists`),B(`span`,null,n))}function zX(){let e=performance.now();return function(){let t=performance.now(),n=t-e;return e=t,n}}function BX(e,t,n={}){let r=Object.entries(t).filter(function([,e]){return typeof e==`number`}).map(function([e,t]){return`${e}=${t.toFixed(1)}ms`}),a=Object.entries(n).filter(function([,e]){return e!=null}).map(function([e,t]){return`${e}=${t}`});console.log(`[metrics] ${e} ${[...r,...a].join(` `)}`)}function VX(e){let{graph:t,mode:n,root:r,container:a}=e,o=T(),s=T({x:0,y:0}),c=T(``),l=T(1),u=T(n||`file`),d=T(Rn()),f=T(new Set),p=T(null),m=T(null),h=T(new Set([`js`,`jsx`,`ts`,`tsx`,`html`,`c`,`h`,`py`,`rs`,`go`,`java`,`cpp`,`hpp`,`cs`,`swift`])),g=T(br()),_=T(!1),v=E(()=>{let{x:e=0,y:t=0}=s.value;return`translate(${e}, ${t}) scale(${l.value})`}),y=t,b=n===`call`?null:wn(t),x=E(()=>{let e=Bn({tags:d.value,tagValue:`excluded`}),t=h.value,n=_.value,r=g.value,a=y.nodes.filter(function(a){if(e.has(a.id))return!1;if(n&&a.type!==`external`){let e=a.path||a.id;if(!r.has(e))return!1}if(a.type===`external`)return!0;let o=(a.path||``).split(`.`).pop();return t.has(o)}),o=new Set(a.map(e=>e.id));return{nodes:a,edges:y.edges.filter(e=>o.has(e.source)&&o.has(e.target))}}),S=E(()=>{if(!b)return null;let e=Bn({tags:d.value,tagValue:`excluded`}),t=b.nodes.filter(t=>!e.has(t.id)),n=new Set(t.map(e=>e.id));return{nodes:t,edges:b.edges.filter(e=>n.has(e.source)&&n.has(e.target))}}),C=E(()=>{let e=Bn({tags:d.value,tagValue:`entry`});return In({graph:x.value,mode:n||`file`,entryIds:e})}),w=E(()=>{let e=S.value;return e?In({graph:e,mode:`folder`,entryIds:Bn({tags:d.value,tagValue:`entry`})}):null}),D={},O=T(0);function k(e){e.forEach(function(e){D[e.id]?D[e.id].value={x:e.x,y:e.y,width:e.width,height:e.height}:D[e.id]=T({x:e.x,y:e.y,width:e.width,height:e.height})}),O.value++}N(C,function(e){k(e.nodes)}),b&&N(w,function(e){e&&k(e.nodes)});let A=E(()=>{let e=f.value;return e.size?Un({selectedIds:e,adjacency:Vn({edges:x.value.edges})}):{upstream:new Set,downstream:new Set}}),j=E(()=>{let e=S.value,t=f.value;return!e||!t.size?{upstream:new Set,downstream:new Set}:Un({selectedIds:t,adjacency:Vn({edges:e.edges})})});function M(e){let t=g.value.has(e);g.value=Sr({path:e,box:g.value}),fetch(`/api/boxtoggle`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({path:e,root:r,action:t?`remove`:`add`})})}function P(e){fetch(`/api/opennode`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({path:e,root:r})})}let F=E(()=>Tn({nodes:x.value.nodes,edges:x.value.edges})),I=E(()=>{let e=S.value;return e?Tn({nodes:e.nodes,edges:e.edges}):null}),ee=E(()=>C.value.nodes),L=E(()=>C.value.edges),R=E(()=>w.value?w.value.nodes:[]),z=E(()=>w.value?w.value.edges:[]),te=T(`-200 -200 1024 768`),ne=null,re=0,ie=0;function ae(e){let{action:t}=e.detail;if(t===`toggle`){let e=x.value,t={};e.nodes.forEach(function(e){t[e.id]=e});let n=g.value;f.value.forEach(function(e){let r=t[e];r&&(n=Sr({path:r.path||r.id,box:n}))}),g.value=n}else t===`in-graph`?_.value=!_.value:t===`clear`&&(g.value=Cr(),_.value=!1)}function oe(e){let{path:t}=e.detail,n=x.value.nodes.find(function(e){return e.id===t||e.path===t});if(n){f.value=new Set([n.id]);let e=D[n.id];if(e){let t=o.value.getBoundingClientRect(),n=l.value,{x:r,y:a,width:c,height:u}=e.value;s.value={x:t.width/2-(r+c/2)*n,y:t.height/2-(a+u/2)*n}}}}dn(()=>{let e=o.value.getBoundingClientRect();te.value=`0 0 ${e.width} ${e.height}`,document.addEventListener(`claudebox-cmd`,ae),document.addEventListener(`claudebox-locate`,oe);let t=C.value.nodes;if(t.length>0){let n=Math.min(...t.map(e=>e.x)),r=Math.min(...t.map(e=>e.y)),a=Math.max(...t.map(e=>e.x+e.width)),o=Math.max(...t.map(e=>e.y+e.height)),c=Math.max(Math.min((e.width-80)/(a-n),(e.height-80)/(o-r)),.15);l.value=c,s.value={x:(e.width-(a-n)*c)/2-n*c,y:(e.height-(o-r)*c)/2-r*c}}});let se,ce;function le(e){if(e.button===0){let{target:t}=e;se=e.clientX,ce=e.clientY,re=e.clientX,ie=e.clientY,de(),window.addEventListener(`mousemove`,fe),window.addEventListener(`mouseup`,ue),window.addEventListener(`blur`,de),c.value=`cursor: grabbing;`,e.preventDefault();let n=t.closest(`.node`);n&&(ne=n.getAttribute(`data-nodeid`)),t.closest(`.node`)||(p.value=null,m.value=null,f.value=new Set)}}function ue(e){let t=Math.abs(e.clientX-re),n=Math.abs(e.clientY-ie);if(!(t>5||n>5)&&ne)if(e.metaKey){let e=u.value===`folder`?S.value:x.value;if(e){let t=e.nodes.find(e=>e.id===ne);if(t){let e=t.path||t.id;g.value=Sr({path:e,box:g.value})}}}else if(e.ctrlKey){let e=new Set(f.value);e.has(ne)?e.delete(ne):e.add(ne),f.value=e}else{let e=f.value;e.size===1&&e.has(ne)?f.value=new Set:f.value=new Set([ne])}de()}function de(){window.removeEventListener(`mousemove`,fe),window.removeEventListener(`mouseup`,ue),window.removeEventListener(`blur`,de),c.value=``,ne=void 0}function fe(e){let{clientX:t,clientY:n}=e,r=se-t,a=ce-n;if(se=t,ce=n,ne){let e=l.value,t=D[ne];if(t){let{x:n,y:o,width:s,height:c}=t.value;t.value={width:s,height:c,x:n-r/e,y:o-a/e}}}else{let{x:e,y:t}=s.value;s.value={x:e-r,y:t-a}}}function pe(e){let t=1.02;e.preventDefault();let n=e.deltaY<0?t:1/t,r=l.value,a=Math.min(Math.max(r*n,.1),10),c=o.value.getBoundingClientRect(),u=e.clientX-c.left,d=e.clientY-c.top,{x:f,y:p}=s.value;s.value={x:u-(u-f)/r*a,y:d-(d-p)/r*a},l.value=a}function me(e){u.value=e,s.value={x:0,y:0},l.value=1}function he(e){let t=new Set(h.value);t.has(e)?t.delete(e):t.add(e),h.value=t}let ge=`padding:2px 10px; border:1px solid #555; background:#1e1e1e; color:#ccc; cursor:pointer; font-size:12px;`,_e=`padding:2px 10px; border:1px solid #555; background:#1e1e1e; color:#ccc; cursor:pointer; font-size:12px;border-color:#4ec9b0; color:#4ec9b0;`,ve=[`js`,`jsx`,`ts`,`tsx`,`css`,`html`,`c`,`h`,`py`,`rs`,`go`,`java`,`cpp`,`hpp`,`cs`,`swift`],ye=new Set;y.nodes.forEach(function(e){if(e.type!==`external`){let t=(e.path||``).split(`.`).pop();t&&ye.add(t)}});let be=ve.filter(e=>ye.has(e));return C.value.nodes.length===0?B(`div`,{style:`color:#888; padding:20px`},`No nodes to display`):B(`div`,{style:`display:flex; flex-direction:column; height:100%; overflow:hidden; position:relative;`,onclick:function(){m.value=null}},n===`call`?null:B(`div`,{style:`display:flex; gap:4px; padding:4px 8px; background:#1e1e1e; border-bottom:1px solid #333; flex-shrink:0; align-items:center;`},B(`button`,{style:E(()=>u.value===`file`?_e:ge),onclick:()=>me(`file`)},`Files`),B(`button`,{style:E(()=>u.value===`folder`?_e:ge),onclick:()=>me(`folder`)},`Folders`),B(`span`,{style:`margin-left:8px; color:#444; font-size:11px; font-family:monospace;`},`|`),be.map(e=>B(`button`,{style:E(()=>h.value.has(e)?`display: flex; padding: 2px 10px; border:1px solid #555; background:#252526; color:#ccc; cursor:pointer; font-size:12px;`:`display: flex; padding: 2px 10px; border:1px solid #333; background:#1e1e1e; color:#555; cursor:pointer; font-size:12px;`),onclick:()=>he(e)},B(U,{name:e}),B(`span`,{style:`margin-left:4px;`},e)))),B(`svg`,{width:`100%`,height:`100%`,viewBox:te,style:E(()=>(c.value||`cursor: grab;`)+` flex:1;`),_ref:o,onmousedown:le,"onwheel:nonpassive":pe},B(`style`,null,`.node .box-toggle{display:none}.node:hover .box-toggle{display:block;opacity:0.4}.node .box-toggle.active{display:block;opacity:1}.node .open-file{display:none}.node:hover .open-file{display:block}`),B(`defs`,null,B(`marker`,{id:`arrowhead`,viewBox:`0 0 10 7`,markerWidth:`8`,markerHeight:`6`,refX:`9`,refY:`3.5`,orient:`auto`,markerUnits:`strokeWidth`},B(`path`,{d:`M 0 0 L 10 3.5 L 0 7 z`,fill:`context-stroke`})),B(`marker`,{id:`arrowhead-orange`,viewBox:`0 0 10 7`,markerWidth:`8`,markerHeight:`6`,refX:`9`,refY:`3.5`,orient:`auto`,markerUnits:`strokeWidth`},B(`path`,{d:`M 0 0 L 10 3.5 L 0 7 z`,fill:`orange`})),B(`marker`,{id:`se`,viewBox:`-3 -3 9 6`,overflow:`visible`,orient:`auto`,markerUnits:`strokeWidth`,markerWidth:`8`,markerHeight:`6`,refX:`0`,refY:`0`},B(`polygon`,{points:`0,-3, 9,0, 0,3`,style:`fill: context-stroke;`}))),B(`g`,{transform:v},B(`g`,{style:E(()=>u.value===`file`?``:`display:none`)},B(Gn,{edges:L,nodePos:D,$nodePosVersion:O,$edgeInfo:p}),B(gr,{nodes:ee,nodePos:D,$nodePosVersion:O,renderMode:n||`file`,topNodes:F,$selectedIds:f,$adjacency:A,$tags:d,$contextMenu:m,$claudeBox:g,onToggleBox:M,onOpenFile:P}),B(Kn,{edges:L,nodePos:D,$nodePosVersion:O,$selectedIds:f,$edgeInfo:p})),b?B(`g`,{style:E(()=>u.value===`folder`?``:`display:none`)},B(Gn,{edges:z,nodePos:D,$nodePosVersion:O,$edgeInfo:p}),B(gr,{nodes:R,nodePos:D,$nodePosVersion:O,renderMode:`folder`,topNodes:I,$selectedIds:f,$adjacency:j,$tags:d,$contextMenu:m,$claudeBox:g,onToggleBox:M,onOpenFile:P}),B(Kn,{edges:z,nodePos:D,$nodePosVersion:O,$selectedIds:f,$edgeInfo:p})):null)),B(vr,{$edgeInfo:p}),B(Tr,{$contextMenu:m,$tags:d,$claudeBox:g}))}var HX=0;function UX(e){let{src:t,kind:n}=e;if(n===`video`){let e=`media-video-${HX++}`;function n(){let t=document.getElementById(e),n=document.getElementById(`sides-container`);n&&n.querySelectorAll(`main.main`).length>1?n.requestFullscreen():t.requestFullscreen()}return B(`div`,{class:`media-video-wrap`},B(`video`,{id:e,controls:!0,controlsList:`nofullscreen`,disablePictureInPicture:!0,src:t,style:`max-width: 100%; max-height: 100%;`}),B(`span`,{class:`media-full-btn`,title:`Fullscreen`,onclick:n},B(U,{name:`screen-full`})))}return B(`audio`,{controls:!0,src:t,style:`width: 100%;`})}function WX(){return B(`svg`,{width:`24`,height:`24`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`},B(`text`,{x:`0`,y:`20`,"font-family":`monaco, monospace`,"font-size":`23`},`0`),B(`text`,{x:`13`,y:`18`,"font-family":`monaco, monospace`,"font-size":`19`},`x`))}function GX(e){let{side:t,id:n,$active_side:r,$rightmost:a,$width:o,onDragSplit:s,openObject:c,previewContent:l,OnContextMenu:u,api:d,explorerState:f,themeSwitch:p=!0}=e,m=t.$activeObject,h=t.$highlightedRow,g=t.$filter,_=t.$splitMode,v=T(`dark`),y=p?V(iX,{$theme:v}):``,b=E(()=>`theme-${v.value}`),x=E(()=>(R.value,m.value?.renderMode??`render`)),S=E(()=>m.value?.path??``),C=E(()=>!!(R.value?.html||m.value?.ext===`pdf`));E(()=>Array.isArray(R.value?.payload));let w=E(()=>{let e=m.value;return(e?.renderMode===`list`?h.value:null)??e}),O=E(()=>m.value?.renderMode===`list`&&h.value?null:R.value),k=E(()=>w.value?.response??O.value?.response);function A(e){let t=m.value;t&&(t.renderMode=e,$q(t,e),m.trigger())}function j(e){t.$selected.value=e,h.value=null,console.log({object:e}),m.set(e,!0)}function M(e,t){return t?.rows?pd:t?.blobUrl?UX:t?.children?aJ:kJ(e.providerType,e.objectKind,e.ext)}let P={hex:uX,structure:bX,text:Ac,json:Ed,jsonl:Dd,yaml:Od,list:aJ,grid:rX,graph:VX};function F(e,t,n){return P[e]||M(t,n)}let I=D(async()=>{let e=m.value;console.log(`running $contentDom`,e);try{if(e){if(e.renderDom)return e.renderDom;if(e.notFound)return V(RX,{object:e});if(e.error)return V(LX,{error:e.error});{let n=e.parsed;if(n){e.size??=n.stat?.size??e.file?.size,e.mtime??=n.stat?.mtime??(e.file?.lastModified?~~(e.file.lastModified/1e3):void 0);let r=n.icons??[`list`,`grid`];n.children&&r.includes(e.renderMode)===!1&&(e.renderMode=`list`);let a=e.renderMode;if(n.error)return V(LX,{error:n.error});{let r=F(a,e,n),o={...e,...n,side:t,openObject:c,previewContent:l,OnContextMenu:u,api:d};if(r){let t=zX(),a=await V(r,o),s=t(),c=n.metrics??{};return BX(e.path??e.name??``,{fetch:c.fetchMs,parse:c.parseMs,render:s},{bytes:c.bytes,lines:c.lines}),a}return``}}return``}}return``}catch(t){return console.warn(`content render failed`,e?.path,t),V(LX,{error:String(t?.message??t)})}}),ee=`render hex`.split(` `),L=E(()=>m.value?.parsed?.icons??ee),R=D(()=>(I.value,m.value?.parsed));N(I,()=>{r.value===n&&f.syncUrl()});let z=T(!1),te=E(()=>`main ${r.value===n?`active`:``} ${z.value?`dragover`:``}`),ne=E(()=>`content slim_scrollbar theme-${v.value}`),re=E(()=>`flex-grow: 1; min-width: 0; min-height: 0; ${C.value?`overflow: hidden;`:``}`);E(()=>`icon ${_.value?`selected`:`unselected`}`);function ie(e){e.preventDefault(),z.value=!0}function ae(e){e.currentTarget.contains(e.relatedTarget)||(z.value=!1)}document.addEventListener(`drop`,()=>z.value=!1),document.addEventListener(`dragend`,()=>z.value=!1);async function oe(e){e.preventDefault(),z.value=!1;let t=e.dataTransfer.files[0];if(t){let n=t.name.split(`.`).pop();await c(e,{object:{name:t.name,path:t.name,ext:n,file:t,providerType:`local`}})}}E(()=>{let e=R.value;return e?.payload??e?.text?``:`display: none`}),E(()=>R.value?.structure?``:`display: none`);let se=`
|
|
1938
1938
|
display: inline-flex;
|
|
1939
1939
|
justify-content: center;
|
|
1940
1940
|
align-items: center;
|
|
@@ -1942,14 +1942,14 @@ ${g}`)).style(`margin-left`,u?`${+u}px`:null).style(`width`,p===void 0?null:`${+
|
|
|
1942
1942
|
gap: 5px;
|
|
1943
1943
|
border-right: 1px solid var(--vscode-editorWidget-border);
|
|
1944
1944
|
`,ce=`max-width: 10em; overflow: clip; text-overflow: ellipsis; white-space: nowrap;`;function le(e){let n=E(()=>{let e=S.value||``,t=e.split(`/`).filter(Boolean);return console.log({path:e,sections:t}),t}),r=E(()=>{let e=m.value;return e?.root||e?.providerType||``});function a(e){return function(r){let a=m.value;if(a){let o=typeof e==`number`?n.value.slice(0,e).join(``):``,s=o.split(`/`).filter(Boolean).pop()||a.root||a.providerType,l={providerType:a.providerType,root:a.root,path:o,objectKind:`folder`,name:s};c(r,{object:l,id:t.$selected.value})}}}return B(`span`,{style:`flex-grow: 1; font-size: 12px; display: flex; justify-content: left; align-items: center;`,title:S},B(`span`,{onclick:a(),style:ce},r),B(H,{each:n},(e,t)=>B(`span`,{style:`display: flex; align-items: center;`},B(`span`,{style:`margin: 0 3px; font-size: 1.2em; top: 2px;`},B(U,{name:`chevron-right`})),B(`span`,{onclick:a(t+1),style:ce},e))))}let ue=new Set([`list`,`root`,`icon`,`grid`]);E(()=>ue.has(x.value)?se:`display: none`);let de=E(()=>`align-items: center; padding: 0 5px; padding-right: 20px; background: var(--vscode-editor-background); border-bottom: 1px solid var(--vscode-tab-border);
|
|
1945
|
-
${m.value?`display: flex`:`display: none;`}`);return B(`main`,{class:te,id:`side-${n}`,style:E(()=>`border-right: 1px solid var(--vscode-tab-border); width: ${o.value};`),onclick:()=>r.value=n,ondragover:ie,ondragleave:ae,ondrop:oe},B(`div`,{style:`width: 100%; height: 100%; display: flex; flex-direction: column;`},B(GY,{side:t,id:n,$active_side:r,openObject:c,selectObject:j,explorerState:f}),B(`div`,{style:de,class:E(()=>`side-toolbar ${b.value}`)},B(le,null),B(`span`,{class:`side-filter`,style:`display: inline-flex;`},B(JY,{placeholder:`Filter`,onchange:e=>g.value=e})),B(`span`,{style:`margin-left: auto`}),B(KX,{$icons:L,setRenderMode:A,$viewMode:x}),B(`span`,{style:se},B(`span`,{class:`icon`,onclick:()=>jX({$object:w,$response:k,$parsed:O}),title:`Information`},B(U,{name:`info`,size:20})),B(`span`,{$dom:y,class:`icon extra-icon`}))),B(`div`,{id:`side-wrap-${n}`,style:`display: flex; flex-grow: 1; min-height: 0; flex-direction: column;`},B(`div`,{class:ne,style:re,$dom:I})),B(KY,{side:t,$viewMode:x,$parsed:R})),B(WY,{$disabled:a,onDrag:s}))}function KX(e){let{$icons:t,$viewMode:n,setRenderMode:r}=e;return B(`span`,{style:`
|
|
1945
|
+
${m.value?`display: flex`:`display: none;`}`);return B(`main`,{class:te,id:`side-${n}`,style:E(()=>`border-right: 1px solid var(--vscode-tab-border); width: ${o.value};`),onclick:()=>r.value=n,ondragover:ie,ondragleave:ae,ondrop:oe},B(`div`,{style:`width: 100%; height: 100%; display: flex; flex-direction: column;`},B(GY,{side:t,id:n,$active_side:r,openObject:c,selectObject:j,explorerState:f}),B(`div`,{style:de,class:E(()=>`side-toolbar ${b.value}`)},B(le,null),B(`span`,{class:`side-filter`,style:`display: inline-flex;`},B(JY,{placeholder:`Filter`,onchange:e=>g.value=e})),B(`span`,{style:`margin-left: auto`}),B(KX,{$icons:L,setRenderMode:A,$viewMode:x}),B(`span`,{style:se},B(`span`,{class:`icon`,onclick:()=>jX({$object:w,$response:k,$parsed:O}),title:`Information`},B(U,{name:`info`,size:20})),B(`span`,{$dom:y,class:`icon extra-icon`}))),B(`div`,{id:`side-wrap-${n}`,style:`display: flex; flex-grow: 1; min-height: 0; flex-direction: column;`},B(`div`,{class:ne,id:`side-content-${n}`,style:re,$dom:I})),B(KY,{side:t,$viewMode:x,$parsed:R})),B(WY,{$disabled:a,onDrag:s}))}function KX(e){let{$icons:t,$viewMode:n,setRenderMode:r}=e;return B(`span`,{style:`
|
|
1946
1946
|
display: inline-flex;
|
|
1947
1947
|
justify-content: center;
|
|
1948
1948
|
align-items: center;
|
|
1949
1949
|
padding: 0 8px;
|
|
1950
1950
|
gap: 5px;
|
|
1951
|
-
border-right: 1px solid var(--vscode-editorWidget-border);`},B(H,{each:t},e=>{switch(console.log(e),e){case`list`:return B(`span`,{class:a(`list`),onclick:()=>r(`list`)},B(U,{name:`list-unordered`}));case`grid`:return B(`span`,{class:a(`grid`),onclick:()=>r(`grid`)},B(qY,null));case`yaml`:return B(`span`,{class:a(`yaml`),onclick:()=>r(`yaml`)},B(U,{name:`yml`,size:24}));case`json`:return B(`span`,{class:a(`json`),onclick:()=>r(`json`)},B(U,{name:`json`,size:24}));case`jsonl`:return B(`span`,{class:a(`jsonl`),onclick:()=>r(`jsonl`)},B(U,{name:`jsonl`,size:24}));case`render`:return B(`span`,{class:a(`render`),onclick:()=>r(`render`)},B(U,{name:`eye`,size:22}));case`text`:return B(`span`,{class:a(`text`),onclick:()=>r(`text`),style:`display: inline-flex`},`T`);case`hex`:return B(`span`,{class:a(`hex`),onclick:()=>r(`hex`)},B(WX,null));case`structure`:return B(`span`,{class:a(`structure`),onclick:()=>r(`structure`),title:`Structure`},B(U,{name:`code-oss`}));default:return``}}));function a(e){return E(()=>`icon ${n.value===e?`selected`:`unselected`}`)}}function qX(e){return{set value(t){t&&(t.treeNode=e,e.$el=t)}}}var JX={azure:`azure`,"aws-s3":`s3`,"gcp-gcs":`gcp-storagebucket`},YX=[{name:`Root 1`,children:[{name:`Child 1.1`,icon:`⛁`},{name:`Child 1.2`,children:[{name:`Child 1.2.1`,icon:`☰`},{name:`Child 1.2.2`,icon:`☷`},{name:`Child 1.2.2`,icon:`☵`}]}]},{name:`Root2`,children:[{name:`Child 2.1`},{name:`Child 2.2`,children:[{name:`Child 2.2.1`},{name:`Child 2.2.2`}]}]}];function XX({providerType:e,objectKind:t,level:n,name:r}){return n===0?e===`local`||e===`folder`?`folder-opened`:JX[e]||e:t===`project`?`GCP-Project`:e===`local`&&n<1?`folder`:t===`zone`||t===`region`||t===`location`?`GCP-Region`:n===1&&e===`gcp-gcs`&&t===`bucket`?`gcp-storagebucket`:r}function ZX(e){let{level:t,object:n,$data:r,openObject:a,refreshObject:o,OnContextMenu:s,api:c}=e,{name:l,label:u=l,objectKind:d,title:f,children:p=[]}=n,m=T(p),h=E(()=>m.value.filter(e=>tJ(e,Yq.value,Xq.value))),g=E(()=>{let e=m.value.some(e=>e.nextPageToken);return`--level: ${t+1}; display: ${e?``:`none`};`});async function _(e){e.stopPropagation();let t=m.value.find(e=>e.nextPageToken);if(t){let e=t.nextPageToken;delete t.nextPageToken;let r=await c.get(n,e);m.value=rJ(m.value,r)}}let v=l&&yt(l),y=n?.children||Ct(n,v),b=XX({...n,level:t}),x=T(y?`tree_node expandable`:`tree_node`);function S(){document.querySelectorAll(`.tree_node.selected`).forEach(e=>{e.classList.remove(`selected`),e.classList.remove(`focused`)})}async function C(e){e.stopPropagation();let t=await c.get(n);m.value=t;let r=e.target.closest(`details`);requestAnimationFrame(()=>A(r))}async function w(e){let{currentTarget:r,target:o,shiftKey:s,ctrlKey:c,metaKey:l,altKey:u}=e;S(),r.classList.add(`selected`),a(e,{object:n,level:t}),y&&await C(e)}let D={object:n,level:t,expandable:y,expand:k,collapse:j,reload:O};async function O(){let e=await c.get(n);m.value=e}async function k(e){let t=D.$el&&D.$el.closest(`details`);if(console.log({$details:t}),t){let e=await c.get(n);m.value=e,t.open=!0,requestAnimationFrame(()=>A(t))}}function A(e,t=0){if(e.open){e.closest(`.slim_scrollbar`);let t=e.querySelector(`:scope > ul`);t&&t.children.length,h.value.length;let n=t&&t?.lastElementChild?.lastElementChild,r=e.querySelector(`:scope > summary`);n&&n.scrollIntoView({block:`nearest`}),r&&r.scrollIntoView({block:`nearest`})}}function j(){let e=D.$el&&D.$el.closest(`details`);e&&(e.open=!1)}let M=s({object:n},{remove:t===0}),N=e=>{e.currentTarget.focus(),M(e)};return y?B(`li`,null,B(`details`,{open:!1},B(`summary`,{class:x,onclick:w,oncontextmenu:N,style:`--level: ${t};`,tabindex:`0`,title:f,_ref:qX(D)},B(`span`,{class:`tree_node_expand no_select`,onclick:C},B(U,{name:`chevron-right`})),t===0?B(`span`,{class:`tree_node_icon`},B(U,{name:b,level:t})):``,B(`span`,{class:`tree_node_label`},u)),B(`ul`,null,B(H,{source:import.meta.url,each:h,incremental:!1,empty:B(`li`,{class:`tree_node empty`,style:`--level: ${t+1};`},B(`span`,{class:`tree_node_label dimmed`},`No resources`))},e=>B(ZX,{OnContextMenu:s,object:e,level:t+1,$data:r,openObject:a,refreshObject:o,api:c})),B(`li`,{class:`tree_node load_more`,style:g,onclick:_},B(`span`,{class:`tree_node_label`},`Load more…`))))):B(`li`,{tabindex:`0`,class:x,onclick:w,oncontextmenu:N,style:`--level: ${t};`,title:f,_ref:qX(D)},B(`span`,{class:`tree_node_icon`},B(U,{name:b,level:t})),B(`span`,{class:`tree_node_label`},u))}function QX(e){let t=e.path.split(`/`).slice(0,-1).join(`/`);document.querySelectorAll(`.tree_node`).forEach(n=>{let r=n.treeNode;r&&r.object.providerType===e.providerType&&(r.object.root??``)===(e.root??``)&&(r.object.path??``)===t&&r.reload()})}function $X(e,t){let{$tree:n=T(YX),$data:r,openObject:a,refreshObject:o,OnContextMenu:s,api:c}=e,l=Qr(e=>{a(void 0,{object:e.object,level:e.level})},200);function u(){let e=document.querySelector(`.tree.root`);return Array.from(e.querySelectorAll(`.tree_node`)).filter(e=>e.treeNode&&e.checkVisibility())}function d(){document.querySelectorAll(`.tree_node.selected`).forEach(e=>{e.classList.remove(`selected`),e.classList.remove(`focused`)})}function f(e){e&&(d(),requestAnimationFrame(()=>{e.classList.add(`selected`),e.scrollIntoView({block:`nearest`}),e.focus(),l(e.treeNode)}))}function p(e){let t=e.closest(`details`);return!!(t&&t.open)}function m(e,t,n){let r;for(let a=t-1;a>=0&&!r;a--)e[a].treeNode.level<n&&(r=e[a]);f(r)}function h(e){let t=e.target.closest(`.tree_node`);if(t&&t.treeNode){let n=e.key;if(new Set([`ArrowDown`,`ArrowUp`,`ArrowRight`,`ArrowLeft`]).has(n)){e.preventDefault();let r=u(),a=r.indexOf(t),o=t.treeNode;n===`ArrowDown`?f(r[a+1]):n===`ArrowUp`?f(r[a-1]):n===`ArrowRight`?o.expand(e):n===`ArrowLeft`&&(o.expandable&&p(t)?o.collapse():m(r,a,o.level))}}}return B(`ul`,{class:`tree root`,onkeydown:h},B(H,{source:import.meta.url,each:n},e=>B(ZX,{OnContextMenu:s,object:e,level:0,$data:r,openObject:a,refreshObject:o,api:c})))}var eZ=new TextEncoder,tZ=new TextDecoder;function nZ(){let e=new Uint8Array(4096),t=0;function n(n){if(t+n<=e.length)return;let r=e.length*2;for(;r<t+n;)r*=2;let a=new Uint8Array(r);a.set(e),e=a}function r(r){n(1),e[t++]=r&255}function a(e){let t=e>>>0;for(;t>=128;)r(t&127|128),t>>>=7;r(t)}function o(r){a(r.length),n(r.length),e.set(r,t),t+=r.length}function s(e){o(eZ.encode(e))}function c(r){n(4),e[t++]=r&255,e[t++]=r>>8&255,e[t++]=r>>16&255,e[t++]=r>>24&255}function l(){return e.slice(0,t)}return{writeU8:r,writeVarint:a,writeBytes:o,writeString:s,writeU32:c,result:l}}function rZ(e){let t=e instanceof Uint8Array?e:new Uint8Array(e),n=0;function r(){return t[n++]}function a(){let e=0,t=0;for(;;){let n=r();if(e|=(n&127)<<t,!(n&128))break;t+=7}return e>>>0}function o(){let e=a(),r=t.subarray(n,n+e);return n+=e,r}function s(){return tZ.decode(o())}function c(){let e=t[n]|t[n+1]<<8|t[n+2]<<16|t[n+3]<<24;return n+=4,e>>>0}function l(){return n>=t.length}return{readU8:r,readVarint:a,readBytes:o,readString:s,readU32:c,done:l}}var iZ=[73,68,88,49],aZ=2;function oZ(){let e=nZ();for(let t of iZ)e.writeU8(t);return e.writeU8(aZ),e.result()}function sZ(e){let{path:t,mtime:n=0,keywords:r}=e,a=Math.floor(n/1e3),o=nZ();o.writeU8(1),o.writeString(t),o.writeVarint(a),o.writeVarint(r.length);for(let{keyword:e,score:t}of r)o.writeString(e),o.writeU8(t);return o.result()}function cZ(e){let t=rZ(e);for(let e=0;e<4;e++)if(t.readU8()!==iZ[e])throw Error(`Invalid magic bytes`);let n=t.readU8();if(n!==aZ)throw Error(`Outdated index version `+n+`, expected 2`);let r=[];for(;!t.done();){let e=t.readU8();if(e===1){let e=t.readString(),n=t.readVarint()*1e3,a=t.readVarint(),o=[];for(let e=0;e<a;e++){let e=t.readString(),n=t.readU8();o.push({keyword:e,score:n})}r.push({type:`add`,path:e,mtime:n,keywords:o})}else if(e===2){let e=t.readString();r.push({type:`tombstone`,path:e})}else throw Error(`Unknown entry type: `+e)}return{entries:r}}function lZ(e){let t=new Map;for(let n of e)n.type===`add`?t.set(n.path,{keywords:n.keywords,mtime:n.mtime||0}):n.type===`tombstone`&&t.delete(n.path);return t}function uZ(){return{children:new Map,value:null}}function dZ(e){let t=uZ();for(let{keyword:n,value:r}of e){let e=t;for(let t of n)e.children.has(t)||e.children.set(t,uZ()),e=e.children.get(t);e.value=r}return t}function fZ(e,t,n){e.value!==null&&n.push({value:e.value,keyword:t});for(let[r,a]of e.children)fZ(a,t+r,n)}function pZ(e){let{root:t,prefix:n}=e,r=t;for(let e of n){if(!r.children.has(e))return[];r=r.children.get(e)}let a=[];return fZ(r,n,a),a}function mZ(e,t,n){let r=t.length,a=new Int32Array(r+1);a[0]=e[0]+1;for(let o=1;o<=r;o++){let r=t[o-1]===n?0:1,s=e[o]+1,c=a[o-1]+1,l=e[o-1]+r;a[o]=s<c?s<l?s:l:c<l?c:l}return a}function hZ(e,t,n,r,a,o){e.value!==null&&t[r.length]<=a&&o.push({value:e.value,keyword:n});let s=t[0];for(let e=1;e<t.length;e++)t[e]<s&&(s=t[e]);if(!(s>a))for(let[s,c]of e.children)hZ(c,mZ(t,r,s),n+s,r,a,o)}function gZ(e){let{root:t,query:n,maxDist:r}=e,a=new Int32Array(n.length+1);for(let e=0;e<=n.length;e++)a[e]=e;let o=[];return hZ(t,a,``,n,r,o),o}function _Z(e){return pZ(e)}var vZ=/[^a-zA-Z0-9]+/;function yZ(e){return e.toLowerCase().split(vZ).filter(e=>e.length>0)}function bZ(e){let t=lZ(e),n=new Map,r=new Map,a=new Map,o=0;for(let[e,s]of t)n.set(o,e),r.set(e,o),a.set(e,s.mtime),o++;let s=new Map;for(let[e,n]of t){let t=r.get(e);for(let{keyword:e,score:r}of n.keywords)s.has(e)?s.get(e).push([t,r]):s.set(e,[[t,r]])}let c=Array.from(s.keys()).sort();return{trie:dZ(c.map((e,t)=>({keyword:e,value:t}))),keywords:c,keywordToDocsList:c.map(e=>{let t=s.get(e);return t.sort((e,t)=>t[1]-e[1]),t}),pathIndex:n,pathToIdx:r,pathToMtime:a}}function xZ(e){let{index:t,query:n,maxResults:r=10}=e,{trie:a,keywordToDocsList:o,pathIndex:s}=t,c=yZ(n),l=n.toLowerCase().trim();l.length>0&&!c.includes(l)&&c.push(l);let u=new Map;for(let e of c){let t=e.length>=5?gZ({root:a,query:e,maxDist:1}):[],n=_Z({root:a,prefix:e}),r=new Set,s=[];for(let e of t)r.has(e.value)||(r.add(e.value),s.push(e.value));for(let e of n)r.has(e.value)||(r.add(e.value),s.push(e.value));for(let e of s){let t=o[e];if(t)for(let[e,n]of t){let t=u.get(e)||0;u.set(e,Math.min(t+n,255))}}}let d=Array.from(u.entries()).sort((e,t)=>t[1]===e[1]?e[0]-t[0]:t[1]-e[1]),f=[];for(let e=0;e<Math.min(d.length,r);e++){let[t,n]=d[e];f.push({path:s.get(t),score:n})}return f}var SZ=/[\p{White_Space}\p{P}\p{S}]+/u;function CZ(e){let{text:t}=e,n=new Map;if(t){let e=t.split(SZ).filter(Boolean);for(let t of e)n.set(t,(n.get(t)||0)+1)}return n}function wZ(e,t){let{title:n,body:r,keywords:a,ext:o}=e;function s(e,n){let r=e.toLowerCase().trim();r.length<=1||(!t.has(r)||t.get(r)<n)&&t.set(r,n)}if(Array.isArray(a))for(let e of a)s(e,100);if(n){let e=CZ({text:n,ext:o});for(let[t]of e)s(t,90)}if(r){let e=CZ({text:r,ext:o});for(let[t,n]of e.entries())s(t,Math.min(Math.round(n*10),89))}return t}var TZ=new Set(`.DS_Store,.angular,.aws-sam,.cache,.dynamodb,.env,.env.development,.env.local,.env.production,.eslintcache,.expo,.fleet,.git,.gradle,.hg,.history,.idea,.ipynb_checkpoints,.m2,.mypy_cache,.next,.nuxt,.nx,.nyc_output,.parcel-cache,.pytest_cache,.rollup.cache,.ruff_cache,.sass-cache,.serverless,.stylelintcache,.svelte-kit,.svn,.terraform,.tmp,.tox,.turbo,.venv,.vercel,Thumbs.db,__pycache__,bin,bower_components,build,coverage,dist,env,log,logs,node_modules,obj,out,package-lock.json,pnpm-lock.yaml,storybook-static,target,temp,tmp,vendor,venv,yarn.lock`.split(`,`)),EZ=new Set([`.index.bin`,`.name.bin`,`.meta.bin`]);function DZ(e){let t=new DataView(e),n=[],r=null,a=null,o=[137,80,78,71,13,10,26,10];for(let e=0;e<8;e++)if(t.getUint8(e)!==o[e])throw`Not PNG`;let s=8,c=new Set([`IHDR`,`tEXt`,`iTXt`,`zTXt`,`eXIf`,`skMf`,`skRf`]);for(;s<t.byteLength;){let o=t.getUint32(s),l=new Uint8Array(e,s+4,4),u=String.fromCharCode(...l);if(u===`IEND`)break;if(c.has(u)){let c=new Uint8Array(e,s+8,o);if(u===`IHDR`&&(n.push({name:`Width`,value:t.getUint32(s+8)}),n.push({name:`Height`,value:t.getUint32(s+12)}),n.push({name:`BitDepth`,value:t.getUint8(s+16)}),n.push({name:`ColorType`,value:OZ(t.getUint8(s+17))})),u===`tEXt`){let e=kZ(c);n.push({name:e.keyword,value:e.value})}if(u===`iTXt`){let e=AZ(c);if(e.keyword===`XML:com.adobe.xmp`){let t=PZ(e.value);n.push(...t)}else n.push({name:e.keyword,value:e.value})}if(u===`zTXt`){let e=jZ(c);n.push({name:e.keyword,value:e.value})}if(u===`eXIf`){let e=MZ(c);n.push(...e)}if(u===`skMf`){let e=new TextDecoder(`utf-8`).decode(c);r=JSON.parse(e)}u===`skRf`&&(a=c)}s+=12+o}return{headers:n,skMf:r,skRf:a}}function OZ(e){return{0:`Grayscale`,2:`RGB`,3:`Indexed`,4:`Grayscale+Alpha`,6:`RGBA`}[e]||e}function kZ(e){let t=e.indexOf(0);return{keyword:String.fromCharCode(...e.slice(0,t)),value:String.fromCharCode(...e.slice(t+1))}}function AZ(e){let t=0,n=e.indexOf(0,t),r=String.fromCharCode(...e.slice(t,n));t=n+1;let a=e[t++];e[t++],n=e.indexOf(0,t),t=n+1,n=e.indexOf(0,t),t=n+1;let o=e.slice(t),s;if(a===0)s=new TextDecoder().decode(o);else try{let e=pako?pako.inflate(o):o;s=new TextDecoder().decode(e)}catch{s=`[compressed]`}return{keyword:r,value:s}}function jZ(e){let t=e.indexOf(0),n=String.fromCharCode(...e.slice(0,t));return e[t+1],e.slice(t+2),{keyword:n,value:`[compressed zTXt]`}}function MZ(e){let t=[],n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=n.getUint16(0)===18761,a=n.getUint32(4,r),o=n.getUint16(a,r),s={271:`Make`,272:`Model`,274:`Orientation`,306:`DateTime`,315:`Artist`};for(let e=0;e<o;e++){let o=a+2+e*12,c=n.getUint16(o,r),l=n.getUint16(o+2,r),u=n.getUint32(o+4,r);if(s[c]){let e=NZ(n,o+8,l,u,r,0);t.push({name:s[c],value:e})}}return t}function NZ(e,t,n,r,a,o){if(n===2){let n=r>4?o+e.getUint32(t,a):t,s=``;for(let t=0;t<r-1;t++)s+=String.fromCharCode(e.getUint8(n+t));return s}return n===3?e.getUint16(t,a):e.getUint32(t,a)}function PZ(e){let t=[];for(let{regex:n,name:r}of[{regex:/<dc:creator[^>]*>[\s\S]*?<rdf:li>([^<]+)<\/rdf:li>/i,name:`Creator`},{regex:/<dc:title[^>]*>[\s\S]*?<rdf:li[^>]*>([^<]+)<\/rdf:li>/i,name:`Title`},{regex:/<xmp:CreatorTool>([^<]+)<\/xmp:CreatorTool>/i,name:`CreatorTool`},{regex:/<xmp:CreateDate>([^<]+)<\/xmp:CreateDate>/i,name:`CreateDate`},{regex:/<xmp:ModifyDate>([^<]+)<\/xmp:ModifyDate>/i,name:`ModifyDate`},{regex:/<tiff:Make>([^<]+)<\/tiff:Make>/i,name:`Make`},{regex:/<tiff:Model>([^<]+)<\/tiff:Model>/i,name:`Model`},{regex:/<exif:PixelXDimension>([^<]+)<\/exif:PixelXDimension>/i,name:`PixelWidth`},{regex:/<exif:PixelYDimension>([^<]+)<\/exif:PixelYDimension>/i,name:`PixelHeight`},{regex:/<photoshop:ColorMode>([^<]+)<\/photoshop:ColorMode>/i,name:`ColorMode`}]){let a=e.match(n);a&&t.push({name:r,value:$r(a[1])})}return e.includes(`Skitch`)&&t.push({name:`Source`,value:`Skitch`}),t}function FZ(e){let t=new DataView(e),n=[];if(t.getUint16(0)!==65496)throw`Not JPEG`;let r=2;for(;r<t.byteLength;){let a=t.getUint16(r);if(a===65498||a===65497)break;if(a>=65488&&a<=65497||a===65281){r+=2;continue}let o=t.getUint16(r+2),s=new Uint8Array(e,r+4,o-2);if(a===65505){let t=String.fromCharCode(...s.slice(0,30));if(t.startsWith(`Exif\0\0`)){let t=IZ(e,r+10);n.push(...t)}else if(t.startsWith(`http://ns.adobe.com/xap/1.0/\0`)){let t=new Uint8Array(e,r+4+29,o-2-29),a=RZ(new TextDecoder().decode(t));n.push(...a)}}r+=2+o}return{headers:n}}function IZ(e,t){let n=new DataView(e),r=[],a=n.getUint16(t)===18761,o=n.getUint32(t+4,a),s=n.getUint16(t+o,a),c={271:`Make`,272:`Model`,274:`Orientation`,282:`XResolution`,283:`YResolution`,306:`DateTime`,315:`Artist`,34665:`ExifIFD`,34853:`GPSIFD`};for(let e=0;e<s;e++){let s=t+o+2+e*12,l=n.getUint16(s,a),u=n.getUint16(s+2,a),d=n.getUint32(s+4,a);if(c[l]){let e=LZ(n,s+8,u,d,a,t);r.push({name:c[l],value:e})}}return r}function LZ(e,t,n,r,a,o){if(n===2){let n=r>4?o+e.getUint32(t,a):t,s=``;for(let t=0;t<r-1;t++)s+=String.fromCharCode(e.getUint8(n+t));return s}return n===3?e.getUint16(t,a):e.getUint32(t,a)}function RZ(e){let t=[];for(let{regex:n,name:r}of[{regex:/<dc:creator[^>]*>[\s\S]*?<rdf:li>([^<]+)<\/rdf:li>/i,name:`Creator`},{regex:/<dc:title[^>]*>[\s\S]*?<rdf:li[^>]*>([^<]+)<\/rdf:li>/i,name:`Title`},{regex:/<xmp:CreatorTool>([^<]+)<\/xmp:CreatorTool>/i,name:`CreatorTool`},{regex:/<xmp:CreateDate>([^<]+)<\/xmp:CreateDate>/i,name:`CreateDate`},{regex:/<xmp:ModifyDate>([^<]+)<\/xmp:ModifyDate>/i,name:`ModifyDate`},{regex:/<tiff:Make>([^<]+)<\/tiff:Make>/i,name:`Make`},{regex:/<tiff:Model>([^<]+)<\/tiff:Model>/i,name:`Model`},{regex:/<exif:PixelXDimension>([^<]+)<\/exif:PixelXDimension>/i,name:`Width`},{regex:/<exif:PixelYDimension>([^<]+)<\/exif:PixelYDimension>/i,name:`Height`}]){let a=e.match(n);a&&t.push({name:r,value:a[1]})}return e.includes(`Skitch`)&&t.push({name:`Source`,value:`Skitch`}),t}function zZ(e,t){let n=0,r=0;for(;t<e.length;){let a=e[t++];if(n|=(a&127)<<r,!(a&128))break;r+=7}return{value:n,pos:t}}function BZ(e){let{value:t,pos:n}=zZ(e,0),r=new Uint8Array(t),a=n,o=0;for(;a<e.length&&o<t;){let t=e[a],n=t&3;if(n===0){let n=(t>>2)+1;t>>2==60?(n=e[a+1]+1,a+=2):t>>2==61?(n=(e[a+1]|e[a+2]<<8)+1,a+=3):t>>2==62?(n=(e[a+1]|e[a+2]<<8|e[a+3]<<16)+1,a+=4):a+=1,r.set(e.subarray(a,a+n),o),o+=n,a+=n}else if(n===1){let n=(t>>2&7)+4,s=t>>5<<8|e[a+1];a+=2;for(let e=0;e<n;e++)r[o]=r[o-s],o++}else if(n===2){let n=(t>>2)+1,s=e[a+1]|e[a+2]<<8;a+=3;for(let e=0;e<n;e++)r[o]=r[o-s],o++}else if(n===3){let n=(t>>2)+1,s=e[a+1]|e[a+2]<<8|e[a+3]<<16|e[a+4]<<24;a+=5;for(let e=0;e<n;e++)r[o]=r[o-s],o++}}return r}function VZ(e,t){let n=new Uint8Array(t),r=0,a=0;for(;r<e.length;){let t=e[r++],o=t>>4&15;if(o===15){let t=0;do t=e[r++],o+=t;while(t===255)}if(o>0&&(n.set(e.subarray(r,r+o),a),r+=o,a+=o),r>=e.length)break;let s=e[r]|e[r+1]<<8;if(r+=2,s===0)break;let c=(t&15)+4;if((t&15)==15){let t=0;do t=e[r++],c+=t;while(t===255)}let l=a-s;if(s>=c)n.set(n.subarray(l,l+c),a);else for(let e=0;e<c;e++)n[a+e]=n[l+e];a+=c}return n.subarray(0,a)}function HZ(e,t){let n=0,r=0,a=0;for(;;){let o=e[t+a];if(n|=(o&127)<<r,a++,r+=7,!(o&128))break}return{value:n,consumed:a}}function UZ(e,t){let{value:n,consumed:r}=HZ(e,t);return{value:n>>>1^-(n&1),consumed:r}}function WZ(e,t){let n=0n,r=0n,a=0;for(;;){let o=BigInt(e[t+a]);if(n|=(o&127n)<<r,a++,r+=7n,(o&128n)==0n)break}return{value:Number(n>>1n^-(n&1n)),consumed:a}}function GZ(e,t,n){let r=e[t];if(r===0)return{typeId:0,fieldId:0,consumed:1};let a=r&15,o=r>>4&15,s=1;if(o===0){let r=UZ(e,t+1);n.fieldId=r.value,s=1+r.consumed}else n.fieldId+=o;return{typeId:a,fieldId:n.fieldId,consumed:s}}function KZ(e,t,n){if(n===1||n===2)return 0;if(n===3)return 1;if(n===4||n===5||n===6)return HZ(e,t).consumed;if(n===7)return 8;if(n===8){let n=HZ(e,t);return n.consumed+n.value}if(n===9||n===11){let n=e[t],r=n>>4&15,a=n&15,o=1;if(r===15){let n=HZ(e,t+1);r=n.value,o=1+n.consumed}for(let n=0;n<r;n++)o+=KZ(e,t+o,a);return o}if(n===10){let n=HZ(e,t),r=n.consumed,a=n.value;if(a>0){let n=e[t+r];r++;let o=n>>4&15,s=n&15;for(let n=0;n<a;n++)r+=KZ(e,t+r,o),r+=KZ(e,t+r,s)}return r}if(n===12){let n=0,r={fieldId:0};for(;;){let a=GZ(e,t+n,r);if(n+=a.consumed,a.typeId===0)break;n+=KZ(e,t+n,a.typeId)}return n}return 0}function qZ(e,t){let n=HZ(e,t),r=n.value,a=t+n.consumed;return{data:e.subarray(a,a+r),len:r,consumed:n.consumed+r}}function JZ(e,t,n){let r=t,a={fieldId:0},o=null,s=null,c=null,l=null;for(;;){let t=GZ(e,r,a);if(r+=t.consumed,t.typeId===0)break;if(t.typeId===8&&(t.fieldId===1||t.fieldId===2||t.fieldId===5||t.fieldId===6)){let n=qZ(e,r);t.fieldId===1?l=n.data:t.fieldId===2?c=n.data:t.fieldId===5?s=n.data:c=n.data,t.fieldId===6&&(o=n.data),r+=n.consumed}else r+=KZ(e,r,t.typeId)}if(o||=c,s||=l,o&&s){let t=new DataView(e.buffer,e.byteOffset),r=n.type;if(r===1&&o.length>=4&&s.length>=4){let r=o.byteOffset-e.byteOffset,a=s.byteOffset-e.byteOffset;n.colMin=t.getInt32(r,!0),n.colMax=t.getInt32(a,!0),n.hasStats=!0}else if(r===2&&o.length>=8&&s.length>=8){let r=o.byteOffset-e.byteOffset,a=s.byteOffset-e.byteOffset;n.colMin=Number(t.getBigInt64(r,!0)),n.colMax=Number(t.getBigInt64(a,!0)),n.hasStats=!0}else if(r===4&&o.length>=4&&s.length>=4){let r=o.byteOffset-e.byteOffset,a=s.byteOffset-e.byteOffset;n.colMin=t.getFloat32(r,!0),n.colMax=t.getFloat32(a,!0),n.hasStats=!0}else if(r===5&&o.length>=8&&s.length>=8){let r=o.byteOffset-e.byteOffset,a=s.byteOffset-e.byteOffset;n.colMin=t.getFloat64(r,!0),n.colMax=t.getFloat64(a,!0),n.hasStats=!0}}return r-t}function YZ(e,t,n){let r=t,a=e[r]>>4&15;if(r++,a===15){let t=HZ(e,r);a=t.value,r+=t.consumed}for(let t=0;t<a;t++){let t=UZ(e,r);n.push(t.value),r+=t.consumed}return r-t}function XZ(e,t,n){let r=t,a={fieldId:0};for(;;){let t=GZ(e,r,a);if(r+=t.consumed,t.typeId===0)break;if(t.fieldId===1){let t=UZ(e,r);n.type=t.value,r+=t.consumed}else if(t.fieldId===2&&t.typeId===9)r+=YZ(e,r,n.encodings);else if(t.fieldId===4){let t=UZ(e,r);n.codec=t.value,r+=t.consumed}else if(t.fieldId===5){let t=WZ(e,r);n.numValues=t.value,r+=t.consumed}else if(t.fieldId===6){let t=WZ(e,r);n.totalUncompressedSize=t.value,r+=t.consumed}else if(t.fieldId===7){let t=WZ(e,r);n.totalCompressedSize=t.value,r+=t.consumed}else if(t.fieldId===8&&t.typeId===12)r+=JZ(e,r,n);else if(t.fieldId===9){let t=WZ(e,r);n.dataPageOffset=t.value,r+=t.consumed}else if(t.fieldId===10){let t=WZ(e,r);n.indexPageOffset=t.value,r+=t.consumed}else if(t.fieldId===11){let t=WZ(e,r);n.dictionaryPageOffset=t.value,r+=t.consumed}else r+=KZ(e,r,t.typeId)}return r-t}function ZZ(e,t,n){let r=t,a={fieldId:0};for(;;){let t=GZ(e,r,a);if(r+=t.consumed,t.typeId===0)break;if(t.fieldId===3&&t.typeId===12)r+=XZ(e,r,n);else if(t.fieldId===4){let t=WZ(e,r);n.offsetIndexOffset=t.value,r+=t.consumed}else if(t.fieldId===5){let t=UZ(e,r);n.offsetIndexLength=t.value,r+=t.consumed}else if(t.fieldId===6){let t=WZ(e,r);n.columnIndexOffset=t.value,r+=t.consumed}else if(t.fieldId===7){let t=UZ(e,r);n.columnIndexLength=t.value,r+=t.consumed}else r+=KZ(e,r,t.typeId)}return r-t}function QZ(e,t,n){let r=t,a={fieldId:0},o={numRows:0,numCols:n,chunks:[]};for(let e=0;e<n;e++)o.chunks.push({dataPageOffset:0,dictionaryPageOffset:0,indexPageOffset:0,totalCompressedSize:0,totalUncompressedSize:0,codec:0,type:0,numValues:0,encodings:[],offsetIndexOffset:0,offsetIndexLength:0,columnIndexOffset:0,columnIndexLength:0,hasStats:!1,colMin:0,colMax:0});for(;;){let t=GZ(e,r,a);if(r+=t.consumed,t.typeId===0)break;if(t.fieldId===1&&t.typeId===9){let t=e[r],a=t>>4&15,s=t&15;if(r++,a===15){let t=HZ(e,r);a=t.value,r+=t.consumed}for(let t=0;t<a&&t<n;t++)r+=s===12?ZZ(e,r,o.chunks[t]):KZ(e,r,s)}else if(t.fieldId===3){let t=WZ(e,r);o.numRows=t.value,r+=t.consumed}else if(t.fieldId===5){let t=WZ(e,r);r+=t.consumed}else r+=KZ(e,r,t.typeId)}return{rg:o,consumed:r-t}}function $Z(e,t,n){let r=t,a=[],o=[],s=[];for(let t=0;t<n;t++){let t={fieldId:0},n=-1,c=0,l=``,u=!1;for(;;){let a=GZ(e,r,t);if(r+=a.consumed,a.typeId===0)break;if(a.fieldId===1&&(a.typeId===5||a.typeId===6)){let t=UZ(e,r);n=t.value,r+=t.consumed}else if(a.fieldId===3&&(a.typeId===5||a.typeId===6)){let t=UZ(e,r);c=t.value,r+=t.consumed}else if(a.fieldId===4&&a.typeId===8){let t=qZ(e,r);l=new TextDecoder().decode(t.data),r+=t.consumed}else if(a.fieldId===5&&(a.typeId===5||a.typeId===6)){let t=UZ(e,r);r+=t.consumed,u=!0}else r+=KZ(e,r,a.typeId)}u||(a.push(l),o.push(n),s.push(c))}return{schema:{numCols:a.length,colNames:a,colTypes:o,colRepetition:s},consumed:r-t}}function eQ(e){let t=new DataView(e.buffer,e.byteOffset,e.byteLength).getUint32(e.byteLength-8,!0),n=e.byteLength-8-t,r=n,a={fieldId:0},o=null,s=0,c=0,l=``,u=[];for(;;){let t=GZ(e,r,a);if(r+=t.consumed,t.typeId===0)break;if(t.fieldId===1&&(t.typeId===5||t.typeId===6)){let t=UZ(e,r);c=t.value,r+=t.consumed}else if(t.fieldId===6&&t.typeId===8){let t=qZ(e,r);l=new TextDecoder().decode(t.data),r+=t.consumed}else if(t.fieldId===2&&t.typeId===9){let t=e[r]>>4&15;if(r++,t===15){let n=HZ(e,r);t=n.value,r+=n.consumed}let n=$Z(e,r,t);o=n.schema,r+=n.consumed}else if(t.fieldId===3&&(t.typeId===6||t.typeId===5)){let t=WZ(e,r);s=t.value,r+=t.consumed}else if(t.fieldId===4&&t.typeId===9){let t=e[r]>>4&15;if(r++,t===15){let n=HZ(e,r);t=n.value,r+=n.consumed}for(let n=0;n<t;n++){let t=QZ(e,r,o?o.numCols:0);u.push(t.rg),r+=t.consumed}}else r+=KZ(e,r,t.typeId)}return{schema:o,numRows:s,numRowGroups:u.length,rowGroups:u,version:c,createdBy:l,footerOffset:n,footerLength:t}}function tQ(e){let t=new Uint8Array(e);if(t.byteLength<8)throw Error(`file too small`);if(t[0]!==80||t[1]!==65||t[2]!==82||t[3]!==49)throw Error(`not a parquet file`);let n=t.byteLength-4;if(t[n]!==80||t[n+1]!==65||t[n+2]!==82||t[n+3]!==49)throw Error(`not a parquet file`);let r=eQ(t);return{buf:t,schema:r.schema,numRows:r.numRows,numRowGroups:r.numRowGroups,rowGroups:r.rowGroups,version:r.version,createdBy:r.createdBy,footerOffset:r.footerOffset,footerLength:r.footerLength,format:0}}async function nQ(e){return rQ(new DecompressionStream(`deflate-raw`),e)}async function rQ(e,t){let n=e.writable.getWriter();n.write(t).catch(()=>{}),n.close().catch(()=>{});let r=e.readable.getReader(),a=[],o=0,s=!0;for(;s;)try{let{done:e,value:t}=await r.read();e?s=!1:(a.push(t),o+=t.byteLength)}catch(e){if(a.length===0)throw e;s=!1}let c=new Uint8Array(o),l=0;for(let e of a)c.set(e,l),l+=e.byteLength;return c}var iQ=new Set([`null`,`boolean`,`int`,`long`,`float`,`double`,`bytes`,`string`]);function aQ(e,t){return typeof e==`string`?iQ.has(e)?{kind:e}:t[e]??{kind:`string`}:Array.isArray(e)?{kind:`union`,branches:e.map(e=>aQ(e,t))}:oQ(e,t)}function oQ(e,t){let n=e.type,r=e.logicalType??null;if(n===`record`||n===`error`){let n={kind:`record`,name:e.name,fields:[]};t[e.name]=n;for(let r of e.fields)n.fields.push({name:r.name,node:aQ(r.type,t)});return n}if(n===`enum`){let n={kind:`enum`,name:e.name,symbols:e.symbols};return t[e.name]=n,n}if(n===`fixed`){let n={kind:`fixed`,name:e.name,size:e.size,logicalType:r};return t[e.name]=n,n}return n===`array`?{kind:`array`,items:aQ(e.items,t)}:n===`map`?{kind:`map`,values:aQ(e.values,t)}:{...aQ(n,t),logicalType:r}}function sQ(e){return aQ(JSON.parse(e),{})}function cQ(e){if(e.logicalType)return e.logicalType;if(e.kind===`union`){let t=e.branches.filter(e=>e.kind!==`null`);return t.length===1?`${cQ(t[0])}?`:e.branches.map(cQ).join(` | `)}return e.kind===`array`?`array<${cQ(e.items)}>`:e.kind===`map`?`map<${cQ(e.values)}>`:e.kind===`record`||e.kind===`enum`||e.kind===`fixed`?e.name:e.kind}function lQ(e){return e.kind===`record`?e.fields.map(e=>({name:e.name,type:cQ(e.node)})):[{name:`value`,type:cQ(e)}]}new TextDecoder;function uQ(e){return{bytes:e,offset:0}}function dQ(e){let t=e.bytes,n=t[e.offset++],r=n&127,a=1;for(;n&128;)n=t[e.offset++],a*=128,r+=(n&127)*a;return r%2==0?r/2:-(r+1)/2}var fQ=16,pQ=new TextDecoder;function mQ(e){let t={},n=0,r=0,a=dQ(e);for(;a!==0;){a<0&&(a=-a,dQ(e));for(let o=0;o<a;o++){let a=pQ.decode(hQ(e)),o=dQ(e),s=e.offset;e.offset+=o,t[a]=pQ.decode(e.bytes.subarray(s,s+o)),a===`avro.schema`&&(n=s,r=o)}a=dQ(e)}return{meta:t,schemaOffset:n,schemaLength:r}}function hQ(e){let t=dQ(e),n=e.bytes.subarray(e.offset,e.offset+t);return e.offset+=t,n}function gQ(e){let t=new Uint8Array(e);if(t.byteLength<4)throw Error(`file too small`);if(t[0]!==79||t[1]!==98||t[2]!==106||t[3]!==1)throw Error(`not an avro file`);let n=uQ(t);n.offset=4;let{meta:r,schemaOffset:a,schemaLength:o}=mQ(n),s=t.subarray(n.offset,n.offset+fQ);n.offset+=fQ;let c=n.offset,l=[],u=0;for(;n.offset<t.byteLength;){let e=n.offset,t=dQ(n),r=dQ(n),a=n.offset;l.push({offset:e,dataOffset:a,dataSize:r,numRows:t,size:a+r+fQ-e}),u+=t,n.offset=a+r+fQ}let d=sQ(r[`avro.schema`]);return{buf:t,schema:d,schemaJson:r[`avro.schema`],schemaOffset:a,schemaLength:o,columns:lQ(d),codec:r[`avro.codec`]??`null`,meta:r,syncMarker:s,headerSize:c,blocks:l,numBlocks:l.length,numRows:u,format:3}}var _Q=new TextDecoder;function vQ(e,t,n){return{bytes:e,offset:t??0,end:n??e.length}}function yQ(e){let t=e.bytes,n=0,r=1,a=t[e.offset++];for(n=a&127;a&128;)a=t[e.offset++],r*=128,n+=(a&127)*r;return n}function bQ(e){let t=yQ(e);return{field:Math.floor(t/8),wire:t%8}}function xQ(e){let t=yQ(e),n=e.bytes.subarray(e.offset,e.offset+t);return e.offset+=t,n}function SQ(e){return _Q.decode(xQ(e))}function CQ(e,t){if(t===0)yQ(e);else if(t===2){let t=yQ(e);e.offset+=t}else if(t===1)e.offset+=8;else if(t===5)e.offset+=4;else throw Error(`unsupported protobuf wire type ${t}`)}function wQ(e,t){for(;e.offset<e.end;){let{field:n,wire:r}=bQ(e);t(n,r,e)||CQ(e,r)}}function TQ(e){let t=vQ(xQ(e)),n=[];for(;t.offset<t.end;)n.push(yQ(t));return n}function EQ(e){let t=yQ(e),n=e.offset;return e.offset+=t,vQ(e.bytes,n,n+t)}var DQ=[`boolean`,`byte`,`short`,`int`,`long`,`float`,`double`,`string`,`binary`,`timestamp`,`list`,`map`,`struct`,`union`,`decimal`,`date`,`varchar`,`char`,`timestamp_instant`],OQ=[`none`,`zlib`,`snappy`,`lzo`,`lz4`,`zstd`];function kQ(e){let t=vQ(e),n={footerLength:0,compression:0,compressionBlockSize:0,metadataLength:0,writerVersion:0,version:[]};return wQ(t,(e,r)=>e===1?(n.footerLength=yQ(t),!0):e===2?(n.compression=yQ(t),!0):e===3?(n.compressionBlockSize=yQ(t),!0):e===4&&r===2?(n.version=TQ(t),!0):e===5?(n.metadataLength=yQ(t),!0):e===6&&(n.writerVersion=yQ(t),!0)),n}function AQ(e){let t={offset:0,indexLength:0,dataLength:0,footerLength:0,numRows:0};return wQ(e,n=>n===1?(t.offset=yQ(e),!0):n===2?(t.indexLength=yQ(e),!0):n===3?(t.dataLength=yQ(e),!0):n===4?(t.footerLength=yQ(e),!0):n===5&&(t.numRows=yQ(e),!0)),t}function jQ(e){let t={kind:0,subtypes:[],fieldNames:[],precision:0,scale:0};return wQ(e,(n,r)=>n===1?(t.kind=yQ(e),!0):n===2&&r===2?(t.subtypes=TQ(e),!0):n===2?(t.subtypes.push(yQ(e)),!0):n===3?(t.fieldNames.push(SQ(e)),!0):n===5?(t.precision=yQ(e),!0):n===6&&(t.scale=yQ(e),!0)),t}function MQ(e){let t=vQ(e),n={headerLength:3,contentLength:0,stripes:[],types:[],numRows:0,rowIndexStride:0,writer:0};return wQ(t,e=>e===1?(n.headerLength=yQ(t),!0):e===2?(n.contentLength=yQ(t),!0):e===3?(n.stripes.push(AQ(EQ(t))),!0):e===4?(n.types.push(jQ(EQ(t))),!0):e===6?(n.numRows=yQ(t),!0):e===8?(n.rowIndexStride=yQ(t),!0):e===9&&(n.writer=yQ(t),!0)),n}function NQ(e){let t=e[0];return t.subtypes.map((n,r)=>({id:n,name:t.fieldNames[r],type:e[n],label:PQ(e,n)}))}function PQ(e,t){let n=e[t],r=DQ[n.kind]??`kind ${n.kind}`;return n.kind===14?`decimal(${n.precision},${n.scale})`:n.kind===10?`list<${PQ(e,n.subtypes[0])}>`:n.kind===11?`map<${PQ(e,n.subtypes[0])},${PQ(e,n.subtypes[1])}>`:r}new TextDecoder;var FQ=0,IQ=1,LQ=2,RQ=4,zQ=5;async function BQ(e,t){if(e===IQ)return await nQ(t);if(e===LQ)return BZ(t);if(e===zQ)return JK(t);if(e===RQ)return VZ(t);throw Error(`unsupported orc compression ${e}`)}async function VQ(e,t,n,r){if(e===FQ)return t.subarray(n,n+r);let a=[],o=0,s=n,c=n+r;for(;s<c;){let n=t[s]+t[s+1]*256+t[s+2]*65536,r=Math.floor(n/2),c=n%2==1;s+=3;let l=t.subarray(s,s+r),u=c?l:await BQ(e,l);a.push(u),o+=u.length,s+=r}if(a.length===1)return a[0];let l=new Uint8Array(o),u=0;for(let e of a)l.set(e,u),u+=e.length;return l}async function HQ(e){let t=new Uint8Array(e);if(t.byteLength<8)throw Error(`file too small`);if(t[0]!==79||t[1]!==82||t[2]!==67)throw Error(`not an orc file`);let n=t[t.byteLength-1],r=t.byteLength-1-n,a=kQ(t.subarray(r,r+n)),o=r-a.footerLength,s=MQ(await VQ(a.compression,t,o,a.footerLength));return{buf:t,postScript:a,postScriptOffset:r,postScriptLength:n,footerOffset:o,footerLength:a.footerLength,metadataOffset:o-a.metadataLength,metadataLength:a.metadataLength,compressionKind:a.compression,compression:OQ[a.compression]??`kind ${a.compression}`,types:s.types,columns:NQ(s.types),stripes:s.stripes,numStripes:s.stripes.length,numRows:s.numRows,rowIndexStride:s.rowIndexStride,writer:s.writer,format:4}}function UQ(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function WQ(e,t){return t+e.getUint32(t,!0)}function GQ(e,t,n){let r=t-e.getInt32(t,!0),a=e.getUint16(r,!0),o=4+n*2;if(o<a){let n=e.getUint16(r+o,!0);return n===0?0:t+n}return 0}function KQ(e,t,n,r,a){let o=GQ(e,t,n);return o===0?r:a(o)}function qQ(e,t,n,r){return KQ(e,t,n,r,t=>e.getUint8(t))}function JQ(e,t,n,r){return KQ(e,t,n,r,t=>e.getUint8(t)===1)}function YQ(e,t,n,r){return KQ(e,t,n,r,t=>e.getInt16(t,!0))}function XQ(e,t,n,r){return KQ(e,t,n,r,t=>e.getInt32(t,!0))}function ZQ(e,t,n,r){return KQ(e,t,n,r,t=>Number(e.getBigInt64(t,!0)))}function QQ(e,t,n){let r=GQ(e,t,n);return r===0?0:r+e.getUint32(r,!0)}function $Q(e,t,n){let r=GQ(e,t,n);return r===0?0:r+e.getUint32(r,!0)}function e$(e,t){return t===0?0:e.getUint32(t,!0)}function t$(e,t,n,r){return t+4+n*r}function n$(e,t,n){let r=t$(e,t,n,4);return r+e.getUint32(r,!0)}function r$(e,t,n){let r=GQ(e,t,n);if(r===0)return``;{let t=r+e.getUint32(r,!0),n=e.getUint32(t,!0),a=new Uint8Array(e.buffer,e.byteOffset+t+4,n);return new TextDecoder().decode(a)}}var i$=[`s`,`ms`,`us`,`ns`];function a$(e,t,n){let r=QQ(e,t,3);if(n===2){let t=XQ(e,r,0,32),n=JQ(e,r,1,!0);return{bitWidth:t,signed:n,label:`${n?`int`:`uint`}${t}`}}if(n===3){let t=YQ(e,r,0,2);return{precision:t,label:t===2?`double`:t===1?`float`:`half`}}if(n===7){let t=XQ(e,r,0,0),n=XQ(e,r,1,0);return{precision:t,scale:n,bitWidth:XQ(e,r,2,128),label:`decimal(${t},${n})`}}if(n===8)return{unit:YQ(e,r,0,1),label:`date`};if(n===9){let t=YQ(e,r,0,1);return{unit:t,bitWidth:XQ(e,r,1,32),label:`time[${i$[t]}]`}}if(n===10){let t=YQ(e,r,0,0);return{unit:t,timezone:r$(e,r,1),label:`timestamp[${i$[t]}]`}}return n===5||n===20?{label:`string`}:n===4||n===19?{label:`bytes`}:n===6?{label:`boolean`}:n===1?{label:`null`}:n===13?{label:`struct`}:{label:`type ${n}`}}function o$(e,t){let n=qQ(e,t,2,0),r=[],a=$Q(e,t,5);for(let t=0;t<e$(e,a);t++)r.push(o$(e,n$(e,a,t)));return{name:r$(e,t,0),nullable:JQ(e,t,1,!0),typeId:n,...a$(e,t,n),children:r}}function s$(e,t){let n=[],r=$Q(e,t,1);for(let t=0;t<e$(e,r);t++)n.push(o$(e,n$(e,r,t)));return{endianness:YQ(e,t,0,0),fields:n}}new TextDecoder;var c$=[65,82,82,79,87,49],l$=4294967295,u$=24;function d$(e,t){return c$.every((n,r)=>e[t+r]===n)}function f$(e,t,n){let r=$Q(e,t,n),a=[];for(let t=0;t<e$(e,r);t++){let n=t$(e,r,t,u$);a.push({offset:Number(e.getBigInt64(n,!0)),metaDataLength:e.getInt32(n+8,!0),bodyLength:Number(e.getBigInt64(n+16,!0))})}return a}function p$(e,t){let n=t;e.getUint32(n,!0)===l$&&(n+=4);let r=e.getInt32(n,!0);return n+=4,{table:WQ(e,n),metaLength:r}}function m$(e){let t=new Uint8Array(e);if(t.byteLength<20)throw Error(`file too small`);if(!d$(t,0)||!d$(t,t.byteLength-6))throw Error(`not an arrow file`);let n=UQ(t),r=n.getInt32(t.byteLength-10,!0),a=t.byteLength-10-r,o=WQ(n,a),s=s$(n,QQ(n,o,1)),c=f$(n,o,2),l=f$(n,o,3),u=0;for(let e of l){let{table:t}=p$(n,e.offset);u+=ZQ(n,QQ(n,t,2),0,0)}return{buf:t,view:n,schema:s,columns:s.fields.map(e=>({name:e.name,type:e.label})),dictionaries:c,batches:l,numBatches:l.length,numRows:u,version:YQ(n,o,0,0),footerOffset:a,footerLength:r,format:5}}function h$(e,t,n){let r=t;function a(t){let n=0,a=1,o=!0;for(let s=0;s<t;s++){let t=e.getUint8(r+s);t!==255&&(o=!1),n+=t*a,a*=256}return r+=t,o?null:n}return{get offset(){return r},set offset(e){r=e},u8(){let t=e.getUint8(r);return r+=1,t},u16(){let t=e.getUint16(r,!0);return r+=2,t},u32(){let t=e.getUint32(r,!0);return r+=4,t},u64(){let t=Number(e.getBigUint64(r,!0));return r+=8,t},i8(){let t=e.getInt8(r);return r+=1,t},variable:a,address(){return a(n.offsetSize)},length(){return a(n.lengthSize)},skip(e){r+=e},align(e){r+=(e-r%e)%e}}}var g$=new TextDecoder;function _$(e,t){let n=t;for(;n<e.length&&e[n]!==0;)n++;return g$.decode(e.subarray(t,n))}function v$(e,t,n){return g$.decode(e.subarray(t,t+n)).replace(/\0+$/,``)}function y$(e,t,n){for(let r=0;r<n.length;r++)if(e[t+r]!==n.charCodeAt(r))return!1;return!0}var b$=[137,72,68,70,13,10,26,10],x$=24;function S$(e,t){let n=0;for(;n<e.length&&!b$.every((t,r)=>e[n+r]===t);)n=n===0?512:n*2;if(n>=e.length)throw Error(`not an hdf5 file`);let r=e[n+8];if(r<=1){let a={offsetSize:e[n+13],lengthSize:e[n+14]},o=h$(t,n+(r===0?24:28),a),s=o.address();o.address();let c=o.address();o.address();let l=C$(o,a);return{version:r,sizes:a,baseAddress:s,endOfFile:c,superblockOffset:n,rootAddress:l.objectHeader,rootEntry:l}}{let a={offsetSize:e[n+9],lengthSize:e[n+10]},o=h$(t,n+12,a),s=o.address();o.address();let c=o.address(),l=o.address();return{version:r,sizes:a,baseAddress:s,endOfFile:c,superblockOffset:n,rootAddress:l,rootEntry:null}}}function C$(e,t){let n=e.address(),r=e.address(),a=e.u32();e.skip(4);let o=e.offset;return e.skip(16),{nameOffset:n,objectHeader:r,cacheType:a,scratch:o,size:t.offsetSize*2+x$}}function w$(e,t){return y$(e.buf,t,`OHDR`)?D$(e,t):T$(e,t)}function T$(e,t){let n=h$(e.view,t,e.sizes),r=n.u8();n.skip(1);let a=n.u16(),o=n.u32(),s=n.u32();n.align(8);let c=[];return E$(e,n.offset,s,a,c),{version:r,referenceCount:o,messages:c,address:t,size:n.offset-t+s}}function E$(e,t,n,r,a){let o=h$(e.view,t,e.sizes),s=t+n;for(;o.offset<s-8&&a.length<r;){let t=o.u16(),n=o.u16();o.u8(),o.skip(3);let s=o.offset;if(o.skip(n),t===16){let t=h$(e.view,s,e.sizes);E$(e,t.address(),t.length(),r,a)}else a.push({type:t,offset:s,size:n})}}function D$(e,t){let n=h$(e.view,t,e.sizes);n.skip(4);let r=n.u8(),a=n.u8();a&32&&n.skip(16),a&16&&n.skip(4);let o=n.variable(1<<(a&3)),s=[];return O$(e,n.offset,o,a,s),{version:r,referenceCount:1,messages:s,address:t,size:n.offset-t+o+4}}function O$(e,t,n,r,a){let o=h$(e.view,t,e.sizes),s=t+n;for(;o.offset<s-3;){let t=o.u8(),n=o.u16();o.u8(),r&4&&o.skip(2);let s=o.offset;if(o.skip(n),t===16){let t=h$(e.view,s,e.sizes),n=t.address(),o=t.length();O$(e,n+4,o-8,r,a)}else a.push({type:t,offset:s,size:n})}}function k$(e,t){let n=h$(e.view,t.offset,e.sizes),r=n.u8(),a=n.u8(),o=n.u8();r===1?n.skip(5):n.skip(1);let s=[];for(let e=0;e<a;e++)s.push(n.length());return{rank:a,shape:s,flags:o}}function A$(e,t){let n=h$(e.view,t,e.sizes),r=n.u8(),a=n.u8()|n.u8()<<8|n.u8()<<16,o=n.u32(),s=r&15,c={typeClass:s,size:o,bigEndian:(a&1)==1,signed:!1,label:``};return s===0?(c.signed=!!(a&8),c.label=`${c.signed?`int`:`uint`}${o*8}`):s===1?c.label=o===4?`float32`:o===8?`float64`:`float${o*8}`:s===3?c.label=`string[${o}]`:s===9?(c.vlenKind=a&15,c.base=A$(e,t+8),c.label=c.vlenKind===1?`string`:`vlen<${c.base.label}>`):c.label=`class ${s}[${o}]`,c}function j$(e,t){let n=h$(e.view,t.offset,e.sizes);if(n.u8()>=3){let e=n.u8();if(e===0){let t=n.u16();return{layoutClass:e,kind:`compact`,address:n.offset,size:t}}if(e===1)return{layoutClass:e,kind:`contiguous`,address:n.address(),size:n.length()};{let t=n.u8(),r=n.address(),a=[];for(let e=0;e<t;e++)a.push(n.u32());return{layoutClass:e,kind:`chunked`,address:r,rank:t,chunkShape:a,elementSize:a.pop()}}}{let e=n.u8(),t=n.u8();n.skip(5);let r=t===0?null:n.address(),a=[];for(let t=0;t<e;t++)a.push(n.u32());if(t===2){let o=n.u32();return a.pop(),{layoutClass:t,kind:`chunked`,address:r,rank:e,chunkShape:a,elementSize:o}}if(t===0){let e=n.u32();return{layoutClass:t,kind:`compact`,address:n.offset,size:e}}return{layoutClass:t,kind:`contiguous`,address:r,size:0}}}function M$(e,t){let n=h$(e.view,t.offset,e.sizes),r=n.u8(),a=n.u8();r===1&&n.skip(6);let o=[];for(let t=0;t<a;t++){let t=n.u16(),a=r===1||t>=256?n.u16():0,s=n.u16(),c=n.u16(),l=a>0?v$(e.buf,n.offset,a):``;n.skip(a);let u=[];for(let e=0;e<c;e++)u.push(n.u32());r===1&&c%2==1&&n.skip(4),o.push({id:t,name:l,flags:s,values:u})}return o}function N$(e,t){let n=h$(e.view,t.offset,e.sizes);n.u8();let r=n.u8(),a=r&8?n.u8():0;r&4&&n.skip(8),r&16&&n.skip(1);let o=n.variable(1<<(r&3)),s=v$(e.buf,n.offset,o);return n.skip(o),a===0?{name:s,linkType:a,address:n.address()}:{name:s,linkType:a,address:null}}function P$(e,t){let n=h$(e.view,t.offset,e.sizes);return n.u8(),n.u8()&1&&n.skip(8),{heapAddress:n.address(),nameIndexAddress:n.address()}}function F$(e,t){let n=h$(e.view,t.offset,e.sizes);return{treeAddress:n.address(),heapAddress:n.address()}}function I$(e,t){let n=h$(e.view,t+8,e.sizes),r=n.length();return n.length(),{dataAddress:n.address(),dataSize:r}}function L$(e,t,n){return _$(e.buf,t.dataAddress+n)}function R$(e,t,n,r){if(t===null||!y$(e.buf,t,`TREE`))return r;let a=h$(e.view,t+4,e.sizes);a.u8();let o=a.u8(),s=a.u16();a.address(),a.address();let c=[];for(let e=0;e<s;e++)a.length(),c.push(a.address());for(let t of c)o>0?R$(e,t,n,r):z$(e,t,n,r);return r}function z$(e,t,n,r){if(t===null||!y$(e.buf,t,`SNOD`))return;let a=h$(e.view,t+4,e.sizes);a.u8(),a.skip(1);let o=a.u16();for(let t=0;t<o;t++){let t=C$(a,e.sizes);r.push({name:L$(e,n,t.nameOffset),address:t.objectHeader})}}function B$(e){let t=!e.bigEndian;return e.typeClass===1?e.size===4?(e,n)=>e.getFloat32(n,t):(e,n)=>e.getFloat64(n,t):e.typeClass===0?e.size===1?e.signed?(e,t)=>e.getInt8(t):(e,t)=>e.getUint8(t):e.size===2?e.signed?(e,n)=>e.getInt16(n,t):(e,n)=>e.getUint16(n,t):e.size===4?e.signed?(e,n)=>e.getInt32(n,t):(e,n)=>e.getUint32(n,t):e.signed?(e,n)=>Number(e.getBigInt64(n,t)):(e,n)=>Number(e.getBigUint64(n,t)):null}function V$(e,t,n){let r=h$(e.view,t+8,e.sizes);for(r.length();r.offset<e.buf.length;){let t=r.u16();r.u16(),r.skip(4);let a=r.length();if(t===0)return null;if(t===n)return e.buf.subarray(r.offset,r.offset+a);r.skip(Math.ceil(a/8)*8)}return null}function H$(e,t,n,r){let a=new DataView(t.buffer,t.byteOffset,t.byteLength),o=[];for(let t=0;t<r;t++){let r=h$(a,t*n.size,e.sizes);r.u32();let s=r.address(),c=r.u32(),l=s===null?null:V$(e,s,c);l===null?o.push(null):n.vlenKind===1?o.push(v$(l,0,l.length)):o.push(U$(l,n.base,Math.floor(l.length/n.base.size),e))}return o}function U$(e,t,n,r){let a=[];if(t.typeClass===3)for(let r=0;r<n;r++)a.push(v$(e,r*t.size,t.size));else if(t.typeClass===9&&r)return H$(r,e,t,n);else{let r=B$(t),o=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let e=0;e<n;e++)a.push(r?r(o,e*t.size):null)}return a}function W$(e){let t=1;for(let n of e)t*=n;return t}var G$=4096;function K$(e,t){return e.messages.find(e=>e.type===t)}function q$(e,t){let n=K$(t,17);if(n){let{treeAddress:t,heapAddress:r}=F$(e,n);return{links:R$(e,t,I$(e,r),[]),dense:!1}}{let n=t.messages.filter(e=>e.type===6).map(t=>N$(e,t)).filter(e=>e.address!==null),r=K$(t,2),a=r?P$(e,r).heapAddress:null;return{links:n,dense:n.length===0&&a!==null}}}function J$(e,t){let n=[];for(let r of t.messages)r.type===12&&n.push(Y$(e,r));return n}function Y$(e,t){let n=h$(e.view,t.offset,e.sizes),r=n.u8();n.u8();let a=n.u16(),o=n.u16(),s=n.u16();r===3&&n.u8();let c=r===1,l=new TextDecoder().decode(e.buf.subarray(n.offset,n.offset+a)).replace(/\0+$/,``);n.skip(c?Math.ceil(a/8)*8:a);let u=n.offset;n.skip(c?Math.ceil(o/8)*8:o);let d=n.offset;n.skip(c?Math.ceil(s/8)*8:s);let f=A$(e,u),p=k$(e,{offset:d}),m=W$(p.shape),h=U$(e.buf.subarray(n.offset,n.offset+m*f.size),f,m,e);return{name:l,type:f.label,shape:p.shape,values:h}}function X$(e,t,n,r,a){let o=K$(t,1),s=K$(t,3),c=K$(t,8),l=K$(t,11),u=k$(e,o),d=A$(e,s.offset),f=j$(e,c),p=l?M$(e,l):[];return{kind:`dataset`,name:r,path:n,address:a,shape:u.shape,rank:u.rank,type:d,typeLabel:d.label,layout:f,filters:p,filterLabel:p.map(e=>e.name||Q$(e.id)).join(` + `),numElements:W$(u.shape),attributes:J$(e,t)}}var Z$={1:`deflate`,2:`shuffle`,3:`fletcher32`,4:`szip`,5:`nbit`,6:`scaleoffset`},Q$=e=>Z$[e]??`filter ${e}`;function $$(e,t,n,r,a,o){if(o.has(t)||a.length>G$)return null;o.add(t);let s=w$(e,t);if(K$(s,1)&&K$(s,8)){let o=X$(e,s,n,r,t);return a.push(o),o}{let{links:c,dense:l}=q$(e,s),u={kind:`group`,name:r,path:n,address:t,attributes:J$(e,s),dense:l,children:[]};a.push(u);for(let t of c){let r=n===`/`?`/${t.name}`:`${n}/${t.name}`,s=$$(e,t.address,r,t.name,a,o);s&&u.children.push(s)}return u}}function e1(e){let t=new Uint8Array(e),n=new DataView(e),r=S$(t,n),a={buf:t,view:n,sizes:r.sizes,superblock:r},o=[],s=$$(a,r.rootAddress,`/`,`/`,o,new Set);return{...a,root:s,nodes:o,datasets:o.filter(e=>e.kind===`dataset`),groups:o.filter(e=>e.kind===`group`),version:r.version,endOfFile:r.endOfFile,format:6}}var t1=10,n1=11,r1=12,i1={1:{name:`byte`,size:1,read:(e,t)=>e.getInt8(t)},2:{name:`char`,size:1,read:(e,t)=>e.getUint8(t)},3:{name:`short`,size:2,read:(e,t)=>e.getInt16(t)},4:{name:`int`,size:4,read:(e,t)=>e.getInt32(t)},5:{name:`float`,size:4,read:(e,t)=>e.getFloat32(t)},6:{name:`double`,size:8,read:(e,t)=>e.getFloat64(t)},7:{name:`ubyte`,size:1,read:(e,t)=>e.getUint8(t)},8:{name:`ushort`,size:2,read:(e,t)=>e.getUint16(t)},9:{name:`uint`,size:4,read:(e,t)=>e.getUint32(t)},10:{name:`int64`,size:8,read:(e,t)=>Number(e.getBigInt64(t))},11:{name:`uint64`,size:8,read:(e,t)=>Number(e.getBigUint64(t))}},a1=new TextDecoder;function o1(e){return{buf:e,view:new DataView(e.buffer,e.byteOffset,e.byteLength),offset:0,wide:!1}}function s1(e){let t=e.view.getInt32(e.offset);return e.offset+=4,t}function c1(e){if(e.wide){let t=Number(e.view.getBigInt64(e.offset));return e.offset+=8,t}return s1(e)}function l1(e,t){if(t){let t=Number(e.view.getBigInt64(e.offset));return e.offset+=8,t}return s1(e)>>>0}function u1(e){e.offset+=(4-e.offset%4)%4}function d1(e){let t=c1(e),n=a1.decode(e.buf.subarray(e.offset,e.offset+t));return e.offset+=t,u1(e),n}function f1(e,t,n){let r=i1[t],a=[];for(let t=0;t<n;t++)a.push(r.read(e.view,e.offset+t*r.size));return e.offset+=n*r.size,u1(e),t===2?a1.decode(Uint8Array.from(a)).replace(/\0+$/,``):a}function p1(e){let t=s1(e),n=c1(e),r={};if(t===r1)for(let t=0;t<n;t++){let t=d1(e);r[t]=f1(e,s1(e),c1(e))}return r}function m1(e){let t=s1(e),n=c1(e),r=[];if(t===t1)for(let t=0;t<n;t++)r.push({name:d1(e),length:c1(e)});return r}function h1(e,t,n){let r=s1(e),a=c1(e),o=[];if(r===n1)for(let r=0;r<a;r++){let r=d1(e),a=c1(e),s=[];for(let t=0;t<a;t++)s.push(s1(e));let c=p1(e),l=s1(e),u=c1(e),d=l1(e,n),f=s.map(e=>t[e].length);o.push({name:r,path:`/${r}`,type:l,typeName:i1[l].name,shape:f,dimensions:s.map(e=>t[e].name),isRecord:s.length>0&&t[s[0]].length===0,attributes:c,byteSize:u,offset:d})}return o}function g1(e){let t=new Uint8Array(e);if(t.byteLength<8)throw Error(`file too small`);if(t[0]!==67||t[1]!==68||t[2]!==70)throw Error(`not a netcdf file`);let n=t[3],r=o1(t);r.wide=n===5,r.offset=4;let a=s1(r)>>>0,o=m1(r),s=p1(r),c=h1(r,o,n!==1);return{buf:t,view:r.view,version:n,versionLabel:n===1?`classic`:n===2?`64-bit offset`:`CDF-5`,headerSize:r.offset,numRecords:a,dimensions:o,attributes:s,variables:c,format:7}}var _1=T1(DZ),v1=T1(FZ);async function y1(e){let{schema:t,rowGroups:n}=tQ(await xn(e));return JSON.stringify({schema:t,rowGroups:n})}async function b1(e){let{columns:t,codec:n,numRows:r,blocks:a}=gQ(await xn(e));return JSON.stringify({columns:t,codec:n,numRows:r,blocks:a})}async function x1(e){let{columns:t,compression:n,numRows:r,stripes:a}=await HQ(await xn(e));return JSON.stringify({columns:t,compression:n,numRows:r,stripes:a})}async function S1(e){let{columns:t,numRows:n,batches:r}=m$(await xn(e));return JSON.stringify({columns:t,numRows:n,batches:r})}async function C1(e){let t=await xn(e),n=new Uint8Array(t);if(n[0]===137&&n[1]===72&&n[2]===68&&n[3]===70){let{version:e,groups:n,datasets:r}=e1(t);return JSON.stringify({version:e,groups:n.map(e=>e.path),datasets:r.map(e=>({path:e.path,type:e.typeLabel,shape:e.shape}))})}{let{versionLabel:e,dimensions:n,attributes:r,variables:a}=g1(t);return JSON.stringify({version:e,dimensions:n,attributes:r,variables:a.map(e=>({path:e.path,type:e.typeName,shape:e.shape}))})}}var w1={png:_1,jpg:v1,jpeg:v1,parquet:y1,avro:b1,orc:x1,arrow:S1,feather:S1,ipc:S1,h5:C1,hdf5:C1,he5:C1,nc:C1,nc4:C1,cdf:C1};function T1(e){return async function(t){let n=e(await xn(t));return n&&JSON.stringify(n)}}async function*E1(e,t){let n=(await e(t)).split(`
|
|
1951
|
+
border-right: 1px solid var(--vscode-editorWidget-border);`},B(H,{each:t},e=>{switch(console.log(e),e){case`list`:return B(`span`,{class:a(`list`),onclick:()=>r(`list`)},B(U,{name:`list-unordered`}));case`grid`:return B(`span`,{class:a(`grid`),onclick:()=>r(`grid`)},B(qY,null));case`yaml`:return B(`span`,{class:a(`yaml`),onclick:()=>r(`yaml`)},B(U,{name:`yml`,size:24}));case`json`:return B(`span`,{class:a(`json`),onclick:()=>r(`json`)},B(U,{name:`json`,size:24}));case`jsonl`:return B(`span`,{class:a(`jsonl`),onclick:()=>r(`jsonl`)},B(U,{name:`jsonl`,size:24}));case`render`:return B(`span`,{class:a(`render`),onclick:()=>r(`render`)},B(U,{name:`eye`,size:22}));case`text`:return B(`span`,{class:a(`text`),onclick:()=>r(`text`),style:`display: inline-flex`},`T`);case`hex`:return B(`span`,{class:a(`hex`),onclick:()=>r(`hex`)},B(WX,null));case`structure`:return B(`span`,{class:a(`structure`),onclick:()=>r(`structure`),title:`Structure`},B(U,{name:`code-oss`}));default:return``}}));function a(e){return E(()=>`icon ${n.value===e?`selected`:`unselected`}`)}}function qX(e){return{set value(t){t&&(t.treeNode=e,e.$el=t)}}}var JX={azure:`azure`,"aws-s3":`s3`,"gcp-gcs":`gcp-storagebucket`},YX=[{name:`Root 1`,children:[{name:`Child 1.1`,icon:`⛁`},{name:`Child 1.2`,children:[{name:`Child 1.2.1`,icon:`☰`},{name:`Child 1.2.2`,icon:`☷`},{name:`Child 1.2.2`,icon:`☵`}]}]},{name:`Root2`,children:[{name:`Child 2.1`},{name:`Child 2.2`,children:[{name:`Child 2.2.1`},{name:`Child 2.2.2`}]}]}];function XX({providerType:e,objectKind:t,level:n,name:r}){return n===0?e===`local`||e===`folder`?`folder-opened`:JX[e]||e:t===`project`?`GCP-Project`:t===`table`||t===`view`?t:t===`zone`||t===`region`||t===`location`?`GCP-Region`:e===`local`&&n<1?`folder`:n===1&&e===`gcp-gcs`&&t===`bucket`?`gcp-storagebucket`:r}function ZX(e){let{level:t,object:n,$data:r,openObject:a,refreshObject:o,OnContextMenu:s,api:c}=e,{name:l,label:u=l,objectKind:d,title:f,children:p=[]}=n,m=T(p),h=E(()=>m.value.filter(e=>tJ(e,Yq.value,Xq.value))),g=E(()=>{let e=m.value.some(e=>e.nextPageToken);return`--level: ${t+1}; display: ${e?``:`none`};`});async function _(e){e.stopPropagation();let t=m.value.find(e=>e.nextPageToken);if(t){let e=t.nextPageToken;delete t.nextPageToken;let r=await c.get(n,e);m.value=rJ(m.value,r)}}let v=l&&yt(l),y=n?.children||Ct(n,v),b=XX({...n,level:t}),x=T(y?`tree_node expandable`:`tree_node`),S=n.path&&n.path!==`/`?n.path:``,C=`tree-${n.root??l}${S}`;function w(){document.querySelectorAll(`.tree_node.selected`).forEach(e=>{e.classList.remove(`selected`),e.classList.remove(`focused`)})}async function D(e){e.stopPropagation();let t=await c.get(n);m.value=t;let r=e.target.closest(`details`);requestAnimationFrame(()=>M(r))}async function O(e){let{currentTarget:r,target:o,shiftKey:s,ctrlKey:c,metaKey:l,altKey:u}=e;w(),r.classList.add(`selected`),a(e,{object:n,level:t}),y&&await D(e)}let k={object:n,level:t,expandable:y,expand:j,collapse:N,reload:A};async function A(){let e=await c.get(n);m.value=e}async function j(e){let t=k.$el&&k.$el.closest(`details`);if(console.log({$details:t}),t){let e=await c.get(n);m.value=e,t.open=!0,requestAnimationFrame(()=>M(t))}}function M(e,t=0){if(e.open){e.closest(`.slim_scrollbar`);let t=e.querySelector(`:scope > ul`);t&&t.children.length,h.value.length;let n=t&&t?.lastElementChild?.lastElementChild,r=e.querySelector(`:scope > summary`);n&&n.scrollIntoView({block:`nearest`}),r&&r.scrollIntoView({block:`nearest`})}}function N(){let e=k.$el&&k.$el.closest(`details`);e&&(e.open=!1)}let P=s({object:n},{remove:t===0}),F=e=>{e.currentTarget.focus(),P(e)};return y?B(`li`,null,B(`details`,{open:!1},B(`summary`,{class:x,id:C,"data-root":n.root,"data-path":n.path,onclick:O,oncontextmenu:F,style:`--level: ${t};`,tabindex:`0`,title:f,_ref:qX(k)},B(`span`,{class:`tree_node_expand no_select`,onclick:D},B(U,{name:`chevron-right`})),t===0?B(`span`,{class:`tree_node_icon`},B(U,{name:b,level:t})):``,B(`span`,{class:`tree_node_label`},u)),B(`ul`,null,B(H,{source:import.meta.url,each:h,incremental:!1,empty:B(`li`,{class:`tree_node empty`,style:`--level: ${t+1};`},B(`span`,{class:`tree_node_label dimmed`},`No resources`))},e=>B(ZX,{OnContextMenu:s,object:e,level:t+1,$data:r,openObject:a,refreshObject:o,api:c})),B(`li`,{class:`tree_node load_more`,style:g,onclick:_},B(`span`,{class:`tree_node_label`},`Load more…`))))):B(`li`,{tabindex:`0`,class:x,id:C,"data-root":n.root,"data-path":n.path,onclick:O,oncontextmenu:F,style:`--level: ${t};`,title:f,_ref:qX(k)},B(`span`,{class:`tree_node_icon`},B(U,{name:b,level:t})),B(`span`,{class:`tree_node_label`},u))}function QX(e){let t=e.path.split(`/`).slice(0,-1).join(`/`);document.querySelectorAll(`.tree_node`).forEach(n=>{let r=n.treeNode;r&&r.object.providerType===e.providerType&&(r.object.root??``)===(e.root??``)&&(r.object.path??``)===t&&r.reload()})}function $X(e,t){let{$tree:n=T(YX),$data:r,openObject:a,refreshObject:o,OnContextMenu:s,api:c}=e,l=Qr(e=>{a(void 0,{object:e.object,level:e.level})},200);function u(){let e=document.querySelector(`.tree.root`);return Array.from(e.querySelectorAll(`.tree_node`)).filter(e=>e.treeNode&&e.checkVisibility())}function d(){document.querySelectorAll(`.tree_node.selected`).forEach(e=>{e.classList.remove(`selected`),e.classList.remove(`focused`)})}function f(e){e&&(d(),requestAnimationFrame(()=>{e.classList.add(`selected`),e.scrollIntoView({block:`nearest`}),e.focus(),l(e.treeNode)}))}function p(e){let t=e.closest(`details`);return!!(t&&t.open)}function m(e,t,n){let r;for(let a=t-1;a>=0&&!r;a--)e[a].treeNode.level<n&&(r=e[a]);f(r)}function h(e){let t=e.target.closest(`.tree_node`);if(t&&t.treeNode){let n=e.key;if(new Set([`ArrowDown`,`ArrowUp`,`ArrowRight`,`ArrowLeft`]).has(n)){e.preventDefault();let r=u(),a=r.indexOf(t),o=t.treeNode;n===`ArrowDown`?f(r[a+1]):n===`ArrowUp`?f(r[a-1]):n===`ArrowRight`?o.expand(e):n===`ArrowLeft`&&(o.expandable&&p(t)?o.collapse():m(r,a,o.level))}}}return B(`ul`,{class:`tree root`,onkeydown:h},B(H,{source:import.meta.url,each:n},e=>B(ZX,{OnContextMenu:s,object:e,level:0,$data:r,openObject:a,refreshObject:o,api:c})))}var eZ=new TextEncoder,tZ=new TextDecoder;function nZ(){let e=new Uint8Array(4096),t=0;function n(n){if(t+n<=e.length)return;let r=e.length*2;for(;r<t+n;)r*=2;let a=new Uint8Array(r);a.set(e),e=a}function r(r){n(1),e[t++]=r&255}function a(e){let t=e>>>0;for(;t>=128;)r(t&127|128),t>>>=7;r(t)}function o(r){a(r.length),n(r.length),e.set(r,t),t+=r.length}function s(e){o(eZ.encode(e))}function c(r){n(4),e[t++]=r&255,e[t++]=r>>8&255,e[t++]=r>>16&255,e[t++]=r>>24&255}function l(){return e.slice(0,t)}return{writeU8:r,writeVarint:a,writeBytes:o,writeString:s,writeU32:c,result:l}}function rZ(e){let t=e instanceof Uint8Array?e:new Uint8Array(e),n=0;function r(){return t[n++]}function a(){let e=0,t=0;for(;;){let n=r();if(e|=(n&127)<<t,!(n&128))break;t+=7}return e>>>0}function o(){let e=a(),r=t.subarray(n,n+e);return n+=e,r}function s(){return tZ.decode(o())}function c(){let e=t[n]|t[n+1]<<8|t[n+2]<<16|t[n+3]<<24;return n+=4,e>>>0}function l(){return n>=t.length}return{readU8:r,readVarint:a,readBytes:o,readString:s,readU32:c,done:l}}var iZ=[73,68,88,49],aZ=2;function oZ(){let e=nZ();for(let t of iZ)e.writeU8(t);return e.writeU8(aZ),e.result()}function sZ(e){let{path:t,mtime:n=0,keywords:r}=e,a=Math.floor(n/1e3),o=nZ();o.writeU8(1),o.writeString(t),o.writeVarint(a),o.writeVarint(r.length);for(let{keyword:e,score:t}of r)o.writeString(e),o.writeU8(t);return o.result()}function cZ(e){let t=rZ(e);for(let e=0;e<4;e++)if(t.readU8()!==iZ[e])throw Error(`Invalid magic bytes`);let n=t.readU8();if(n!==aZ)throw Error(`Outdated index version `+n+`, expected 2`);let r=[];for(;!t.done();){let e=t.readU8();if(e===1){let e=t.readString(),n=t.readVarint()*1e3,a=t.readVarint(),o=[];for(let e=0;e<a;e++){let e=t.readString(),n=t.readU8();o.push({keyword:e,score:n})}r.push({type:`add`,path:e,mtime:n,keywords:o})}else if(e===2){let e=t.readString();r.push({type:`tombstone`,path:e})}else throw Error(`Unknown entry type: `+e)}return{entries:r}}function lZ(e){let t=new Map;for(let n of e)n.type===`add`?t.set(n.path,{keywords:n.keywords,mtime:n.mtime||0}):n.type===`tombstone`&&t.delete(n.path);return t}function uZ(){return{children:new Map,value:null}}function dZ(e){let t=uZ();for(let{keyword:n,value:r}of e){let e=t;for(let t of n)e.children.has(t)||e.children.set(t,uZ()),e=e.children.get(t);e.value=r}return t}function fZ(e,t,n){e.value!==null&&n.push({value:e.value,keyword:t});for(let[r,a]of e.children)fZ(a,t+r,n)}function pZ(e){let{root:t,prefix:n}=e,r=t;for(let e of n){if(!r.children.has(e))return[];r=r.children.get(e)}let a=[];return fZ(r,n,a),a}function mZ(e,t,n){let r=t.length,a=new Int32Array(r+1);a[0]=e[0]+1;for(let o=1;o<=r;o++){let r=t[o-1]===n?0:1,s=e[o]+1,c=a[o-1]+1,l=e[o-1]+r;a[o]=s<c?s<l?s:l:c<l?c:l}return a}function hZ(e,t,n,r,a,o){e.value!==null&&t[r.length]<=a&&o.push({value:e.value,keyword:n});let s=t[0];for(let e=1;e<t.length;e++)t[e]<s&&(s=t[e]);if(!(s>a))for(let[s,c]of e.children)hZ(c,mZ(t,r,s),n+s,r,a,o)}function gZ(e){let{root:t,query:n,maxDist:r}=e,a=new Int32Array(n.length+1);for(let e=0;e<=n.length;e++)a[e]=e;let o=[];return hZ(t,a,``,n,r,o),o}function _Z(e){return pZ(e)}var vZ=/[^a-zA-Z0-9]+/;function yZ(e){return e.toLowerCase().split(vZ).filter(e=>e.length>0)}function bZ(e){let t=lZ(e),n=new Map,r=new Map,a=new Map,o=0;for(let[e,s]of t)n.set(o,e),r.set(e,o),a.set(e,s.mtime),o++;let s=new Map;for(let[e,n]of t){let t=r.get(e);for(let{keyword:e,score:r}of n.keywords)s.has(e)?s.get(e).push([t,r]):s.set(e,[[t,r]])}let c=Array.from(s.keys()).sort();return{trie:dZ(c.map((e,t)=>({keyword:e,value:t}))),keywords:c,keywordToDocsList:c.map(e=>{let t=s.get(e);return t.sort((e,t)=>t[1]-e[1]),t}),pathIndex:n,pathToIdx:r,pathToMtime:a}}function xZ(e){let{index:t,query:n,maxResults:r=10}=e,{trie:a,keywordToDocsList:o,pathIndex:s}=t,c=yZ(n),l=n.toLowerCase().trim();l.length>0&&!c.includes(l)&&c.push(l);let u=new Map;for(let e of c){let t=e.length>=5?gZ({root:a,query:e,maxDist:1}):[],n=_Z({root:a,prefix:e}),r=new Set,s=[];for(let e of t)r.has(e.value)||(r.add(e.value),s.push(e.value));for(let e of n)r.has(e.value)||(r.add(e.value),s.push(e.value));for(let e of s){let t=o[e];if(t)for(let[e,n]of t){let t=u.get(e)||0;u.set(e,Math.min(t+n,255))}}}let d=Array.from(u.entries()).sort((e,t)=>t[1]===e[1]?e[0]-t[0]:t[1]-e[1]),f=[];for(let e=0;e<Math.min(d.length,r);e++){let[t,n]=d[e];f.push({path:s.get(t),score:n})}return f}var SZ=/[\p{White_Space}\p{P}\p{S}]+/u;function CZ(e){let{text:t}=e,n=new Map;if(t){let e=t.split(SZ).filter(Boolean);for(let t of e)n.set(t,(n.get(t)||0)+1)}return n}function wZ(e,t){let{title:n,body:r,keywords:a,ext:o}=e;function s(e,n){let r=e.toLowerCase().trim();r.length<=1||(!t.has(r)||t.get(r)<n)&&t.set(r,n)}if(Array.isArray(a))for(let e of a)s(e,100);if(n){let e=CZ({text:n,ext:o});for(let[t]of e)s(t,90)}if(r){let e=CZ({text:r,ext:o});for(let[t,n]of e.entries())s(t,Math.min(Math.round(n*10),89))}return t}var TZ=new Set(`.DS_Store,.angular,.aws-sam,.cache,.dynamodb,.env,.env.development,.env.local,.env.production,.eslintcache,.expo,.fleet,.git,.gradle,.hg,.history,.idea,.ipynb_checkpoints,.m2,.mypy_cache,.next,.nuxt,.nx,.nyc_output,.parcel-cache,.pytest_cache,.rollup.cache,.ruff_cache,.sass-cache,.serverless,.stylelintcache,.svelte-kit,.svn,.terraform,.tmp,.tox,.turbo,.venv,.vercel,Thumbs.db,__pycache__,bin,bower_components,build,coverage,dist,env,log,logs,node_modules,obj,out,package-lock.json,pnpm-lock.yaml,storybook-static,target,temp,tmp,vendor,venv,yarn.lock`.split(`,`)),EZ=new Set([`.index.bin`,`.name.bin`,`.meta.bin`]);function DZ(e){let t=new DataView(e),n=[],r=null,a=null,o=[137,80,78,71,13,10,26,10];for(let e=0;e<8;e++)if(t.getUint8(e)!==o[e])throw`Not PNG`;let s=8,c=new Set([`IHDR`,`tEXt`,`iTXt`,`zTXt`,`eXIf`,`skMf`,`skRf`]);for(;s<t.byteLength;){let o=t.getUint32(s),l=new Uint8Array(e,s+4,4),u=String.fromCharCode(...l);if(u===`IEND`)break;if(c.has(u)){let c=new Uint8Array(e,s+8,o);if(u===`IHDR`&&(n.push({name:`Width`,value:t.getUint32(s+8)}),n.push({name:`Height`,value:t.getUint32(s+12)}),n.push({name:`BitDepth`,value:t.getUint8(s+16)}),n.push({name:`ColorType`,value:OZ(t.getUint8(s+17))})),u===`tEXt`){let e=kZ(c);n.push({name:e.keyword,value:e.value})}if(u===`iTXt`){let e=AZ(c);if(e.keyword===`XML:com.adobe.xmp`){let t=PZ(e.value);n.push(...t)}else n.push({name:e.keyword,value:e.value})}if(u===`zTXt`){let e=jZ(c);n.push({name:e.keyword,value:e.value})}if(u===`eXIf`){let e=MZ(c);n.push(...e)}if(u===`skMf`){let e=new TextDecoder(`utf-8`).decode(c);r=JSON.parse(e)}u===`skRf`&&(a=c)}s+=12+o}return{headers:n,skMf:r,skRf:a}}function OZ(e){return{0:`Grayscale`,2:`RGB`,3:`Indexed`,4:`Grayscale+Alpha`,6:`RGBA`}[e]||e}function kZ(e){let t=e.indexOf(0);return{keyword:String.fromCharCode(...e.slice(0,t)),value:String.fromCharCode(...e.slice(t+1))}}function AZ(e){let t=0,n=e.indexOf(0,t),r=String.fromCharCode(...e.slice(t,n));t=n+1;let a=e[t++];e[t++],n=e.indexOf(0,t),t=n+1,n=e.indexOf(0,t),t=n+1;let o=e.slice(t),s;if(a===0)s=new TextDecoder().decode(o);else try{let e=pako?pako.inflate(o):o;s=new TextDecoder().decode(e)}catch{s=`[compressed]`}return{keyword:r,value:s}}function jZ(e){let t=e.indexOf(0),n=String.fromCharCode(...e.slice(0,t));return e[t+1],e.slice(t+2),{keyword:n,value:`[compressed zTXt]`}}function MZ(e){let t=[],n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=n.getUint16(0)===18761,a=n.getUint32(4,r),o=n.getUint16(a,r),s={271:`Make`,272:`Model`,274:`Orientation`,306:`DateTime`,315:`Artist`};for(let e=0;e<o;e++){let o=a+2+e*12,c=n.getUint16(o,r),l=n.getUint16(o+2,r),u=n.getUint32(o+4,r);if(s[c]){let e=NZ(n,o+8,l,u,r,0);t.push({name:s[c],value:e})}}return t}function NZ(e,t,n,r,a,o){if(n===2){let n=r>4?o+e.getUint32(t,a):t,s=``;for(let t=0;t<r-1;t++)s+=String.fromCharCode(e.getUint8(n+t));return s}return n===3?e.getUint16(t,a):e.getUint32(t,a)}function PZ(e){let t=[];for(let{regex:n,name:r}of[{regex:/<dc:creator[^>]*>[\s\S]*?<rdf:li>([^<]+)<\/rdf:li>/i,name:`Creator`},{regex:/<dc:title[^>]*>[\s\S]*?<rdf:li[^>]*>([^<]+)<\/rdf:li>/i,name:`Title`},{regex:/<xmp:CreatorTool>([^<]+)<\/xmp:CreatorTool>/i,name:`CreatorTool`},{regex:/<xmp:CreateDate>([^<]+)<\/xmp:CreateDate>/i,name:`CreateDate`},{regex:/<xmp:ModifyDate>([^<]+)<\/xmp:ModifyDate>/i,name:`ModifyDate`},{regex:/<tiff:Make>([^<]+)<\/tiff:Make>/i,name:`Make`},{regex:/<tiff:Model>([^<]+)<\/tiff:Model>/i,name:`Model`},{regex:/<exif:PixelXDimension>([^<]+)<\/exif:PixelXDimension>/i,name:`PixelWidth`},{regex:/<exif:PixelYDimension>([^<]+)<\/exif:PixelYDimension>/i,name:`PixelHeight`},{regex:/<photoshop:ColorMode>([^<]+)<\/photoshop:ColorMode>/i,name:`ColorMode`}]){let a=e.match(n);a&&t.push({name:r,value:$r(a[1])})}return e.includes(`Skitch`)&&t.push({name:`Source`,value:`Skitch`}),t}function FZ(e){let t=new DataView(e),n=[];if(t.getUint16(0)!==65496)throw`Not JPEG`;let r=2;for(;r<t.byteLength;){let a=t.getUint16(r);if(a===65498||a===65497)break;if(a>=65488&&a<=65497||a===65281){r+=2;continue}let o=t.getUint16(r+2),s=new Uint8Array(e,r+4,o-2);if(a===65505){let t=String.fromCharCode(...s.slice(0,30));if(t.startsWith(`Exif\0\0`)){let t=IZ(e,r+10);n.push(...t)}else if(t.startsWith(`http://ns.adobe.com/xap/1.0/\0`)){let t=new Uint8Array(e,r+4+29,o-2-29),a=RZ(new TextDecoder().decode(t));n.push(...a)}}r+=2+o}return{headers:n}}function IZ(e,t){let n=new DataView(e),r=[],a=n.getUint16(t)===18761,o=n.getUint32(t+4,a),s=n.getUint16(t+o,a),c={271:`Make`,272:`Model`,274:`Orientation`,282:`XResolution`,283:`YResolution`,306:`DateTime`,315:`Artist`,34665:`ExifIFD`,34853:`GPSIFD`};for(let e=0;e<s;e++){let s=t+o+2+e*12,l=n.getUint16(s,a),u=n.getUint16(s+2,a),d=n.getUint32(s+4,a);if(c[l]){let e=LZ(n,s+8,u,d,a,t);r.push({name:c[l],value:e})}}return r}function LZ(e,t,n,r,a,o){if(n===2){let n=r>4?o+e.getUint32(t,a):t,s=``;for(let t=0;t<r-1;t++)s+=String.fromCharCode(e.getUint8(n+t));return s}return n===3?e.getUint16(t,a):e.getUint32(t,a)}function RZ(e){let t=[];for(let{regex:n,name:r}of[{regex:/<dc:creator[^>]*>[\s\S]*?<rdf:li>([^<]+)<\/rdf:li>/i,name:`Creator`},{regex:/<dc:title[^>]*>[\s\S]*?<rdf:li[^>]*>([^<]+)<\/rdf:li>/i,name:`Title`},{regex:/<xmp:CreatorTool>([^<]+)<\/xmp:CreatorTool>/i,name:`CreatorTool`},{regex:/<xmp:CreateDate>([^<]+)<\/xmp:CreateDate>/i,name:`CreateDate`},{regex:/<xmp:ModifyDate>([^<]+)<\/xmp:ModifyDate>/i,name:`ModifyDate`},{regex:/<tiff:Make>([^<]+)<\/tiff:Make>/i,name:`Make`},{regex:/<tiff:Model>([^<]+)<\/tiff:Model>/i,name:`Model`},{regex:/<exif:PixelXDimension>([^<]+)<\/exif:PixelXDimension>/i,name:`Width`},{regex:/<exif:PixelYDimension>([^<]+)<\/exif:PixelYDimension>/i,name:`Height`}]){let a=e.match(n);a&&t.push({name:r,value:a[1]})}return e.includes(`Skitch`)&&t.push({name:`Source`,value:`Skitch`}),t}function zZ(e,t){let n=0,r=0;for(;t<e.length;){let a=e[t++];if(n|=(a&127)<<r,!(a&128))break;r+=7}return{value:n,pos:t}}function BZ(e){let{value:t,pos:n}=zZ(e,0),r=new Uint8Array(t),a=n,o=0;for(;a<e.length&&o<t;){let t=e[a],n=t&3;if(n===0){let n=(t>>2)+1;t>>2==60?(n=e[a+1]+1,a+=2):t>>2==61?(n=(e[a+1]|e[a+2]<<8)+1,a+=3):t>>2==62?(n=(e[a+1]|e[a+2]<<8|e[a+3]<<16)+1,a+=4):a+=1,r.set(e.subarray(a,a+n),o),o+=n,a+=n}else if(n===1){let n=(t>>2&7)+4,s=t>>5<<8|e[a+1];a+=2;for(let e=0;e<n;e++)r[o]=r[o-s],o++}else if(n===2){let n=(t>>2)+1,s=e[a+1]|e[a+2]<<8;a+=3;for(let e=0;e<n;e++)r[o]=r[o-s],o++}else if(n===3){let n=(t>>2)+1,s=e[a+1]|e[a+2]<<8|e[a+3]<<16|e[a+4]<<24;a+=5;for(let e=0;e<n;e++)r[o]=r[o-s],o++}}return r}function VZ(e,t){let n=new Uint8Array(t),r=0,a=0;for(;r<e.length;){let t=e[r++],o=t>>4&15;if(o===15){let t=0;do t=e[r++],o+=t;while(t===255)}if(o>0&&(n.set(e.subarray(r,r+o),a),r+=o,a+=o),r>=e.length)break;let s=e[r]|e[r+1]<<8;if(r+=2,s===0)break;let c=(t&15)+4;if((t&15)==15){let t=0;do t=e[r++],c+=t;while(t===255)}let l=a-s;if(s>=c)n.set(n.subarray(l,l+c),a);else for(let e=0;e<c;e++)n[a+e]=n[l+e];a+=c}return n.subarray(0,a)}function HZ(e,t){let n=0,r=0,a=0;for(;;){let o=e[t+a];if(n|=(o&127)<<r,a++,r+=7,!(o&128))break}return{value:n,consumed:a}}function UZ(e,t){let{value:n,consumed:r}=HZ(e,t);return{value:n>>>1^-(n&1),consumed:r}}function WZ(e,t){let n=0n,r=0n,a=0;for(;;){let o=BigInt(e[t+a]);if(n|=(o&127n)<<r,a++,r+=7n,(o&128n)==0n)break}return{value:Number(n>>1n^-(n&1n)),consumed:a}}function GZ(e,t,n){let r=e[t];if(r===0)return{typeId:0,fieldId:0,consumed:1};let a=r&15,o=r>>4&15,s=1;if(o===0){let r=UZ(e,t+1);n.fieldId=r.value,s=1+r.consumed}else n.fieldId+=o;return{typeId:a,fieldId:n.fieldId,consumed:s}}function KZ(e,t,n){if(n===1||n===2)return 0;if(n===3)return 1;if(n===4||n===5||n===6)return HZ(e,t).consumed;if(n===7)return 8;if(n===8){let n=HZ(e,t);return n.consumed+n.value}if(n===9||n===11){let n=e[t],r=n>>4&15,a=n&15,o=1;if(r===15){let n=HZ(e,t+1);r=n.value,o=1+n.consumed}for(let n=0;n<r;n++)o+=KZ(e,t+o,a);return o}if(n===10){let n=HZ(e,t),r=n.consumed,a=n.value;if(a>0){let n=e[t+r];r++;let o=n>>4&15,s=n&15;for(let n=0;n<a;n++)r+=KZ(e,t+r,o),r+=KZ(e,t+r,s)}return r}if(n===12){let n=0,r={fieldId:0};for(;;){let a=GZ(e,t+n,r);if(n+=a.consumed,a.typeId===0)break;n+=KZ(e,t+n,a.typeId)}return n}return 0}function qZ(e,t){let n=HZ(e,t),r=n.value,a=t+n.consumed;return{data:e.subarray(a,a+r),len:r,consumed:n.consumed+r}}function JZ(e,t,n){let r=t,a={fieldId:0},o=null,s=null,c=null,l=null;for(;;){let t=GZ(e,r,a);if(r+=t.consumed,t.typeId===0)break;if(t.typeId===8&&(t.fieldId===1||t.fieldId===2||t.fieldId===5||t.fieldId===6)){let n=qZ(e,r);t.fieldId===1?l=n.data:t.fieldId===2?c=n.data:t.fieldId===5?s=n.data:c=n.data,t.fieldId===6&&(o=n.data),r+=n.consumed}else r+=KZ(e,r,t.typeId)}if(o||=c,s||=l,o&&s){let t=new DataView(e.buffer,e.byteOffset),r=n.type;if(r===1&&o.length>=4&&s.length>=4){let r=o.byteOffset-e.byteOffset,a=s.byteOffset-e.byteOffset;n.colMin=t.getInt32(r,!0),n.colMax=t.getInt32(a,!0),n.hasStats=!0}else if(r===2&&o.length>=8&&s.length>=8){let r=o.byteOffset-e.byteOffset,a=s.byteOffset-e.byteOffset;n.colMin=Number(t.getBigInt64(r,!0)),n.colMax=Number(t.getBigInt64(a,!0)),n.hasStats=!0}else if(r===4&&o.length>=4&&s.length>=4){let r=o.byteOffset-e.byteOffset,a=s.byteOffset-e.byteOffset;n.colMin=t.getFloat32(r,!0),n.colMax=t.getFloat32(a,!0),n.hasStats=!0}else if(r===5&&o.length>=8&&s.length>=8){let r=o.byteOffset-e.byteOffset,a=s.byteOffset-e.byteOffset;n.colMin=t.getFloat64(r,!0),n.colMax=t.getFloat64(a,!0),n.hasStats=!0}}return r-t}function YZ(e,t,n){let r=t,a=e[r]>>4&15;if(r++,a===15){let t=HZ(e,r);a=t.value,r+=t.consumed}for(let t=0;t<a;t++){let t=UZ(e,r);n.push(t.value),r+=t.consumed}return r-t}function XZ(e,t,n){let r=t,a={fieldId:0};for(;;){let t=GZ(e,r,a);if(r+=t.consumed,t.typeId===0)break;if(t.fieldId===1){let t=UZ(e,r);n.type=t.value,r+=t.consumed}else if(t.fieldId===2&&t.typeId===9)r+=YZ(e,r,n.encodings);else if(t.fieldId===4){let t=UZ(e,r);n.codec=t.value,r+=t.consumed}else if(t.fieldId===5){let t=WZ(e,r);n.numValues=t.value,r+=t.consumed}else if(t.fieldId===6){let t=WZ(e,r);n.totalUncompressedSize=t.value,r+=t.consumed}else if(t.fieldId===7){let t=WZ(e,r);n.totalCompressedSize=t.value,r+=t.consumed}else if(t.fieldId===8&&t.typeId===12)r+=JZ(e,r,n);else if(t.fieldId===9){let t=WZ(e,r);n.dataPageOffset=t.value,r+=t.consumed}else if(t.fieldId===10){let t=WZ(e,r);n.indexPageOffset=t.value,r+=t.consumed}else if(t.fieldId===11){let t=WZ(e,r);n.dictionaryPageOffset=t.value,r+=t.consumed}else r+=KZ(e,r,t.typeId)}return r-t}function ZZ(e,t,n){let r=t,a={fieldId:0};for(;;){let t=GZ(e,r,a);if(r+=t.consumed,t.typeId===0)break;if(t.fieldId===3&&t.typeId===12)r+=XZ(e,r,n);else if(t.fieldId===4){let t=WZ(e,r);n.offsetIndexOffset=t.value,r+=t.consumed}else if(t.fieldId===5){let t=UZ(e,r);n.offsetIndexLength=t.value,r+=t.consumed}else if(t.fieldId===6){let t=WZ(e,r);n.columnIndexOffset=t.value,r+=t.consumed}else if(t.fieldId===7){let t=UZ(e,r);n.columnIndexLength=t.value,r+=t.consumed}else r+=KZ(e,r,t.typeId)}return r-t}function QZ(e,t,n){let r=t,a={fieldId:0},o={numRows:0,numCols:n,chunks:[]};for(let e=0;e<n;e++)o.chunks.push({dataPageOffset:0,dictionaryPageOffset:0,indexPageOffset:0,totalCompressedSize:0,totalUncompressedSize:0,codec:0,type:0,numValues:0,encodings:[],offsetIndexOffset:0,offsetIndexLength:0,columnIndexOffset:0,columnIndexLength:0,hasStats:!1,colMin:0,colMax:0});for(;;){let t=GZ(e,r,a);if(r+=t.consumed,t.typeId===0)break;if(t.fieldId===1&&t.typeId===9){let t=e[r],a=t>>4&15,s=t&15;if(r++,a===15){let t=HZ(e,r);a=t.value,r+=t.consumed}for(let t=0;t<a&&t<n;t++)r+=s===12?ZZ(e,r,o.chunks[t]):KZ(e,r,s)}else if(t.fieldId===3){let t=WZ(e,r);o.numRows=t.value,r+=t.consumed}else if(t.fieldId===5){let t=WZ(e,r);r+=t.consumed}else r+=KZ(e,r,t.typeId)}return{rg:o,consumed:r-t}}function $Z(e,t,n){let r=t,a=[],o=[],s=[];for(let t=0;t<n;t++){let t={fieldId:0},n=-1,c=0,l=``,u=!1;for(;;){let a=GZ(e,r,t);if(r+=a.consumed,a.typeId===0)break;if(a.fieldId===1&&(a.typeId===5||a.typeId===6)){let t=UZ(e,r);n=t.value,r+=t.consumed}else if(a.fieldId===3&&(a.typeId===5||a.typeId===6)){let t=UZ(e,r);c=t.value,r+=t.consumed}else if(a.fieldId===4&&a.typeId===8){let t=qZ(e,r);l=new TextDecoder().decode(t.data),r+=t.consumed}else if(a.fieldId===5&&(a.typeId===5||a.typeId===6)){let t=UZ(e,r);r+=t.consumed,u=!0}else r+=KZ(e,r,a.typeId)}u||(a.push(l),o.push(n),s.push(c))}return{schema:{numCols:a.length,colNames:a,colTypes:o,colRepetition:s},consumed:r-t}}function eQ(e){let t=new DataView(e.buffer,e.byteOffset,e.byteLength).getUint32(e.byteLength-8,!0),n=e.byteLength-8-t,r=n,a={fieldId:0},o=null,s=0,c=0,l=``,u=[];for(;;){let t=GZ(e,r,a);if(r+=t.consumed,t.typeId===0)break;if(t.fieldId===1&&(t.typeId===5||t.typeId===6)){let t=UZ(e,r);c=t.value,r+=t.consumed}else if(t.fieldId===6&&t.typeId===8){let t=qZ(e,r);l=new TextDecoder().decode(t.data),r+=t.consumed}else if(t.fieldId===2&&t.typeId===9){let t=e[r]>>4&15;if(r++,t===15){let n=HZ(e,r);t=n.value,r+=n.consumed}let n=$Z(e,r,t);o=n.schema,r+=n.consumed}else if(t.fieldId===3&&(t.typeId===6||t.typeId===5)){let t=WZ(e,r);s=t.value,r+=t.consumed}else if(t.fieldId===4&&t.typeId===9){let t=e[r]>>4&15;if(r++,t===15){let n=HZ(e,r);t=n.value,r+=n.consumed}for(let n=0;n<t;n++){let t=QZ(e,r,o?o.numCols:0);u.push(t.rg),r+=t.consumed}}else r+=KZ(e,r,t.typeId)}return{schema:o,numRows:s,numRowGroups:u.length,rowGroups:u,version:c,createdBy:l,footerOffset:n,footerLength:t}}function tQ(e){let t=new Uint8Array(e);if(t.byteLength<8)throw Error(`file too small`);if(t[0]!==80||t[1]!==65||t[2]!==82||t[3]!==49)throw Error(`not a parquet file`);let n=t.byteLength-4;if(t[n]!==80||t[n+1]!==65||t[n+2]!==82||t[n+3]!==49)throw Error(`not a parquet file`);let r=eQ(t);return{buf:t,schema:r.schema,numRows:r.numRows,numRowGroups:r.numRowGroups,rowGroups:r.rowGroups,version:r.version,createdBy:r.createdBy,footerOffset:r.footerOffset,footerLength:r.footerLength,format:0}}async function nQ(e){return rQ(new DecompressionStream(`deflate-raw`),e)}async function rQ(e,t){let n=e.writable.getWriter();n.write(t).catch(()=>{}),n.close().catch(()=>{});let r=e.readable.getReader(),a=[],o=0,s=!0;for(;s;)try{let{done:e,value:t}=await r.read();e?s=!1:(a.push(t),o+=t.byteLength)}catch(e){if(a.length===0)throw e;s=!1}let c=new Uint8Array(o),l=0;for(let e of a)c.set(e,l),l+=e.byteLength;return c}var iQ=new Set([`null`,`boolean`,`int`,`long`,`float`,`double`,`bytes`,`string`]);function aQ(e,t){return typeof e==`string`?iQ.has(e)?{kind:e}:t[e]??{kind:`string`}:Array.isArray(e)?{kind:`union`,branches:e.map(e=>aQ(e,t))}:oQ(e,t)}function oQ(e,t){let n=e.type,r=e.logicalType??null;if(n===`record`||n===`error`){let n={kind:`record`,name:e.name,fields:[]};t[e.name]=n;for(let r of e.fields)n.fields.push({name:r.name,node:aQ(r.type,t)});return n}if(n===`enum`){let n={kind:`enum`,name:e.name,symbols:e.symbols};return t[e.name]=n,n}if(n===`fixed`){let n={kind:`fixed`,name:e.name,size:e.size,logicalType:r};return t[e.name]=n,n}return n===`array`?{kind:`array`,items:aQ(e.items,t)}:n===`map`?{kind:`map`,values:aQ(e.values,t)}:{...aQ(n,t),logicalType:r}}function sQ(e){return aQ(JSON.parse(e),{})}function cQ(e){if(e.logicalType)return e.logicalType;if(e.kind===`union`){let t=e.branches.filter(e=>e.kind!==`null`);return t.length===1?`${cQ(t[0])}?`:e.branches.map(cQ).join(` | `)}return e.kind===`array`?`array<${cQ(e.items)}>`:e.kind===`map`?`map<${cQ(e.values)}>`:e.kind===`record`||e.kind===`enum`||e.kind===`fixed`?e.name:e.kind}function lQ(e){return e.kind===`record`?e.fields.map(e=>({name:e.name,type:cQ(e.node)})):[{name:`value`,type:cQ(e)}]}new TextDecoder;function uQ(e){return{bytes:e,offset:0}}function dQ(e){let t=e.bytes,n=t[e.offset++],r=n&127,a=1;for(;n&128;)n=t[e.offset++],a*=128,r+=(n&127)*a;return r%2==0?r/2:-(r+1)/2}var fQ=16,pQ=new TextDecoder;function mQ(e){let t={},n=0,r=0,a=dQ(e);for(;a!==0;){a<0&&(a=-a,dQ(e));for(let o=0;o<a;o++){let a=pQ.decode(hQ(e)),o=dQ(e),s=e.offset;e.offset+=o,t[a]=pQ.decode(e.bytes.subarray(s,s+o)),a===`avro.schema`&&(n=s,r=o)}a=dQ(e)}return{meta:t,schemaOffset:n,schemaLength:r}}function hQ(e){let t=dQ(e),n=e.bytes.subarray(e.offset,e.offset+t);return e.offset+=t,n}function gQ(e){let t=new Uint8Array(e);if(t.byteLength<4)throw Error(`file too small`);if(t[0]!==79||t[1]!==98||t[2]!==106||t[3]!==1)throw Error(`not an avro file`);let n=uQ(t);n.offset=4;let{meta:r,schemaOffset:a,schemaLength:o}=mQ(n),s=t.subarray(n.offset,n.offset+fQ);n.offset+=fQ;let c=n.offset,l=[],u=0;for(;n.offset<t.byteLength;){let e=n.offset,t=dQ(n),r=dQ(n),a=n.offset;l.push({offset:e,dataOffset:a,dataSize:r,numRows:t,size:a+r+fQ-e}),u+=t,n.offset=a+r+fQ}let d=sQ(r[`avro.schema`]);return{buf:t,schema:d,schemaJson:r[`avro.schema`],schemaOffset:a,schemaLength:o,columns:lQ(d),codec:r[`avro.codec`]??`null`,meta:r,syncMarker:s,headerSize:c,blocks:l,numBlocks:l.length,numRows:u,format:3}}var _Q=new TextDecoder;function vQ(e,t,n){return{bytes:e,offset:t??0,end:n??e.length}}function yQ(e){let t=e.bytes,n=0,r=1,a=t[e.offset++];for(n=a&127;a&128;)a=t[e.offset++],r*=128,n+=(a&127)*r;return n}function bQ(e){let t=yQ(e);return{field:Math.floor(t/8),wire:t%8}}function xQ(e){let t=yQ(e),n=e.bytes.subarray(e.offset,e.offset+t);return e.offset+=t,n}function SQ(e){return _Q.decode(xQ(e))}function CQ(e,t){if(t===0)yQ(e);else if(t===2){let t=yQ(e);e.offset+=t}else if(t===1)e.offset+=8;else if(t===5)e.offset+=4;else throw Error(`unsupported protobuf wire type ${t}`)}function wQ(e,t){for(;e.offset<e.end;){let{field:n,wire:r}=bQ(e);t(n,r,e)||CQ(e,r)}}function TQ(e){let t=vQ(xQ(e)),n=[];for(;t.offset<t.end;)n.push(yQ(t));return n}function EQ(e){let t=yQ(e),n=e.offset;return e.offset+=t,vQ(e.bytes,n,n+t)}var DQ=[`boolean`,`byte`,`short`,`int`,`long`,`float`,`double`,`string`,`binary`,`timestamp`,`list`,`map`,`struct`,`union`,`decimal`,`date`,`varchar`,`char`,`timestamp_instant`],OQ=[`none`,`zlib`,`snappy`,`lzo`,`lz4`,`zstd`];function kQ(e){let t=vQ(e),n={footerLength:0,compression:0,compressionBlockSize:0,metadataLength:0,writerVersion:0,version:[]};return wQ(t,(e,r)=>e===1?(n.footerLength=yQ(t),!0):e===2?(n.compression=yQ(t),!0):e===3?(n.compressionBlockSize=yQ(t),!0):e===4&&r===2?(n.version=TQ(t),!0):e===5?(n.metadataLength=yQ(t),!0):e===6&&(n.writerVersion=yQ(t),!0)),n}function AQ(e){let t={offset:0,indexLength:0,dataLength:0,footerLength:0,numRows:0};return wQ(e,n=>n===1?(t.offset=yQ(e),!0):n===2?(t.indexLength=yQ(e),!0):n===3?(t.dataLength=yQ(e),!0):n===4?(t.footerLength=yQ(e),!0):n===5&&(t.numRows=yQ(e),!0)),t}function jQ(e){let t={kind:0,subtypes:[],fieldNames:[],precision:0,scale:0};return wQ(e,(n,r)=>n===1?(t.kind=yQ(e),!0):n===2&&r===2?(t.subtypes=TQ(e),!0):n===2?(t.subtypes.push(yQ(e)),!0):n===3?(t.fieldNames.push(SQ(e)),!0):n===5?(t.precision=yQ(e),!0):n===6&&(t.scale=yQ(e),!0)),t}function MQ(e){let t=vQ(e),n={headerLength:3,contentLength:0,stripes:[],types:[],numRows:0,rowIndexStride:0,writer:0};return wQ(t,e=>e===1?(n.headerLength=yQ(t),!0):e===2?(n.contentLength=yQ(t),!0):e===3?(n.stripes.push(AQ(EQ(t))),!0):e===4?(n.types.push(jQ(EQ(t))),!0):e===6?(n.numRows=yQ(t),!0):e===8?(n.rowIndexStride=yQ(t),!0):e===9&&(n.writer=yQ(t),!0)),n}function NQ(e){let t=e[0];return t.subtypes.map((n,r)=>({id:n,name:t.fieldNames[r],type:e[n],label:PQ(e,n)}))}function PQ(e,t){let n=e[t],r=DQ[n.kind]??`kind ${n.kind}`;return n.kind===14?`decimal(${n.precision},${n.scale})`:n.kind===10?`list<${PQ(e,n.subtypes[0])}>`:n.kind===11?`map<${PQ(e,n.subtypes[0])},${PQ(e,n.subtypes[1])}>`:r}new TextDecoder;var FQ=0,IQ=1,LQ=2,RQ=4,zQ=5;async function BQ(e,t){if(e===IQ)return await nQ(t);if(e===LQ)return BZ(t);if(e===zQ)return JK(t);if(e===RQ)return VZ(t);throw Error(`unsupported orc compression ${e}`)}async function VQ(e,t,n,r){if(e===FQ)return t.subarray(n,n+r);let a=[],o=0,s=n,c=n+r;for(;s<c;){let n=t[s]+t[s+1]*256+t[s+2]*65536,r=Math.floor(n/2),c=n%2==1;s+=3;let l=t.subarray(s,s+r),u=c?l:await BQ(e,l);a.push(u),o+=u.length,s+=r}if(a.length===1)return a[0];let l=new Uint8Array(o),u=0;for(let e of a)l.set(e,u),u+=e.length;return l}async function HQ(e){let t=new Uint8Array(e);if(t.byteLength<8)throw Error(`file too small`);if(t[0]!==79||t[1]!==82||t[2]!==67)throw Error(`not an orc file`);let n=t[t.byteLength-1],r=t.byteLength-1-n,a=kQ(t.subarray(r,r+n)),o=r-a.footerLength,s=MQ(await VQ(a.compression,t,o,a.footerLength));return{buf:t,postScript:a,postScriptOffset:r,postScriptLength:n,footerOffset:o,footerLength:a.footerLength,metadataOffset:o-a.metadataLength,metadataLength:a.metadataLength,compressionKind:a.compression,compression:OQ[a.compression]??`kind ${a.compression}`,types:s.types,columns:NQ(s.types),stripes:s.stripes,numStripes:s.stripes.length,numRows:s.numRows,rowIndexStride:s.rowIndexStride,writer:s.writer,format:4}}function UQ(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function WQ(e,t){return t+e.getUint32(t,!0)}function GQ(e,t,n){let r=t-e.getInt32(t,!0),a=e.getUint16(r,!0),o=4+n*2;if(o<a){let n=e.getUint16(r+o,!0);return n===0?0:t+n}return 0}function KQ(e,t,n,r,a){let o=GQ(e,t,n);return o===0?r:a(o)}function qQ(e,t,n,r){return KQ(e,t,n,r,t=>e.getUint8(t))}function JQ(e,t,n,r){return KQ(e,t,n,r,t=>e.getUint8(t)===1)}function YQ(e,t,n,r){return KQ(e,t,n,r,t=>e.getInt16(t,!0))}function XQ(e,t,n,r){return KQ(e,t,n,r,t=>e.getInt32(t,!0))}function ZQ(e,t,n,r){return KQ(e,t,n,r,t=>Number(e.getBigInt64(t,!0)))}function QQ(e,t,n){let r=GQ(e,t,n);return r===0?0:r+e.getUint32(r,!0)}function $Q(e,t,n){let r=GQ(e,t,n);return r===0?0:r+e.getUint32(r,!0)}function e$(e,t){return t===0?0:e.getUint32(t,!0)}function t$(e,t,n,r){return t+4+n*r}function n$(e,t,n){let r=t$(e,t,n,4);return r+e.getUint32(r,!0)}function r$(e,t,n){let r=GQ(e,t,n);if(r===0)return``;{let t=r+e.getUint32(r,!0),n=e.getUint32(t,!0),a=new Uint8Array(e.buffer,e.byteOffset+t+4,n);return new TextDecoder().decode(a)}}var i$=[`s`,`ms`,`us`,`ns`];function a$(e,t,n){let r=QQ(e,t,3);if(n===2){let t=XQ(e,r,0,32),n=JQ(e,r,1,!0);return{bitWidth:t,signed:n,label:`${n?`int`:`uint`}${t}`}}if(n===3){let t=YQ(e,r,0,2);return{precision:t,label:t===2?`double`:t===1?`float`:`half`}}if(n===7){let t=XQ(e,r,0,0),n=XQ(e,r,1,0);return{precision:t,scale:n,bitWidth:XQ(e,r,2,128),label:`decimal(${t},${n})`}}if(n===8)return{unit:YQ(e,r,0,1),label:`date`};if(n===9){let t=YQ(e,r,0,1);return{unit:t,bitWidth:XQ(e,r,1,32),label:`time[${i$[t]}]`}}if(n===10){let t=YQ(e,r,0,0);return{unit:t,timezone:r$(e,r,1),label:`timestamp[${i$[t]}]`}}return n===5||n===20?{label:`string`}:n===4||n===19?{label:`bytes`}:n===6?{label:`boolean`}:n===1?{label:`null`}:n===13?{label:`struct`}:{label:`type ${n}`}}function o$(e,t){let n=qQ(e,t,2,0),r=[],a=$Q(e,t,5);for(let t=0;t<e$(e,a);t++)r.push(o$(e,n$(e,a,t)));return{name:r$(e,t,0),nullable:JQ(e,t,1,!0),typeId:n,...a$(e,t,n),children:r}}function s$(e,t){let n=[],r=$Q(e,t,1);for(let t=0;t<e$(e,r);t++)n.push(o$(e,n$(e,r,t)));return{endianness:YQ(e,t,0,0),fields:n}}new TextDecoder;var c$=[65,82,82,79,87,49],l$=4294967295,u$=24;function d$(e,t){return c$.every((n,r)=>e[t+r]===n)}function f$(e,t,n){let r=$Q(e,t,n),a=[];for(let t=0;t<e$(e,r);t++){let n=t$(e,r,t,u$);a.push({offset:Number(e.getBigInt64(n,!0)),metaDataLength:e.getInt32(n+8,!0),bodyLength:Number(e.getBigInt64(n+16,!0))})}return a}function p$(e,t){let n=t;e.getUint32(n,!0)===l$&&(n+=4);let r=e.getInt32(n,!0);return n+=4,{table:WQ(e,n),metaLength:r}}function m$(e){let t=new Uint8Array(e);if(t.byteLength<20)throw Error(`file too small`);if(!d$(t,0)||!d$(t,t.byteLength-6))throw Error(`not an arrow file`);let n=UQ(t),r=n.getInt32(t.byteLength-10,!0),a=t.byteLength-10-r,o=WQ(n,a),s=s$(n,QQ(n,o,1)),c=f$(n,o,2),l=f$(n,o,3),u=0;for(let e of l){let{table:t}=p$(n,e.offset);u+=ZQ(n,QQ(n,t,2),0,0)}return{buf:t,view:n,schema:s,columns:s.fields.map(e=>({name:e.name,type:e.label})),dictionaries:c,batches:l,numBatches:l.length,numRows:u,version:YQ(n,o,0,0),footerOffset:a,footerLength:r,format:5}}function h$(e,t,n){let r=t;function a(t){let n=0,a=1,o=!0;for(let s=0;s<t;s++){let t=e.getUint8(r+s);t!==255&&(o=!1),n+=t*a,a*=256}return r+=t,o?null:n}return{get offset(){return r},set offset(e){r=e},u8(){let t=e.getUint8(r);return r+=1,t},u16(){let t=e.getUint16(r,!0);return r+=2,t},u32(){let t=e.getUint32(r,!0);return r+=4,t},u64(){let t=Number(e.getBigUint64(r,!0));return r+=8,t},i8(){let t=e.getInt8(r);return r+=1,t},variable:a,address(){return a(n.offsetSize)},length(){return a(n.lengthSize)},skip(e){r+=e},align(e){r+=(e-r%e)%e}}}var g$=new TextDecoder;function _$(e,t){let n=t;for(;n<e.length&&e[n]!==0;)n++;return g$.decode(e.subarray(t,n))}function v$(e,t,n){return g$.decode(e.subarray(t,t+n)).replace(/\0+$/,``)}function y$(e,t,n){for(let r=0;r<n.length;r++)if(e[t+r]!==n.charCodeAt(r))return!1;return!0}var b$=[137,72,68,70,13,10,26,10],x$=24;function S$(e,t){let n=0;for(;n<e.length&&!b$.every((t,r)=>e[n+r]===t);)n=n===0?512:n*2;if(n>=e.length)throw Error(`not an hdf5 file`);let r=e[n+8];if(r<=1){let a={offsetSize:e[n+13],lengthSize:e[n+14]},o=h$(t,n+(r===0?24:28),a),s=o.address();o.address();let c=o.address();o.address();let l=C$(o,a);return{version:r,sizes:a,baseAddress:s,endOfFile:c,superblockOffset:n,rootAddress:l.objectHeader,rootEntry:l}}{let a={offsetSize:e[n+9],lengthSize:e[n+10]},o=h$(t,n+12,a),s=o.address();o.address();let c=o.address(),l=o.address();return{version:r,sizes:a,baseAddress:s,endOfFile:c,superblockOffset:n,rootAddress:l,rootEntry:null}}}function C$(e,t){let n=e.address(),r=e.address(),a=e.u32();e.skip(4);let o=e.offset;return e.skip(16),{nameOffset:n,objectHeader:r,cacheType:a,scratch:o,size:t.offsetSize*2+x$}}function w$(e,t){return y$(e.buf,t,`OHDR`)?D$(e,t):T$(e,t)}function T$(e,t){let n=h$(e.view,t,e.sizes),r=n.u8();n.skip(1);let a=n.u16(),o=n.u32(),s=n.u32();n.align(8);let c=[];return E$(e,n.offset,s,a,c),{version:r,referenceCount:o,messages:c,address:t,size:n.offset-t+s}}function E$(e,t,n,r,a){let o=h$(e.view,t,e.sizes),s=t+n;for(;o.offset<s-8&&a.length<r;){let t=o.u16(),n=o.u16();o.u8(),o.skip(3);let s=o.offset;if(o.skip(n),t===16){let t=h$(e.view,s,e.sizes);E$(e,t.address(),t.length(),r,a)}else a.push({type:t,offset:s,size:n})}}function D$(e,t){let n=h$(e.view,t,e.sizes);n.skip(4);let r=n.u8(),a=n.u8();a&32&&n.skip(16),a&16&&n.skip(4);let o=n.variable(1<<(a&3)),s=[];return O$(e,n.offset,o,a,s),{version:r,referenceCount:1,messages:s,address:t,size:n.offset-t+o+4}}function O$(e,t,n,r,a){let o=h$(e.view,t,e.sizes),s=t+n;for(;o.offset<s-3;){let t=o.u8(),n=o.u16();o.u8(),r&4&&o.skip(2);let s=o.offset;if(o.skip(n),t===16){let t=h$(e.view,s,e.sizes),n=t.address(),o=t.length();O$(e,n+4,o-8,r,a)}else a.push({type:t,offset:s,size:n})}}function k$(e,t){let n=h$(e.view,t.offset,e.sizes),r=n.u8(),a=n.u8(),o=n.u8();r===1?n.skip(5):n.skip(1);let s=[];for(let e=0;e<a;e++)s.push(n.length());return{rank:a,shape:s,flags:o}}function A$(e,t){let n=h$(e.view,t,e.sizes),r=n.u8(),a=n.u8()|n.u8()<<8|n.u8()<<16,o=n.u32(),s=r&15,c={typeClass:s,size:o,bigEndian:(a&1)==1,signed:!1,label:``};return s===0?(c.signed=!!(a&8),c.label=`${c.signed?`int`:`uint`}${o*8}`):s===1?c.label=o===4?`float32`:o===8?`float64`:`float${o*8}`:s===3?c.label=`string[${o}]`:s===9?(c.vlenKind=a&15,c.base=A$(e,t+8),c.label=c.vlenKind===1?`string`:`vlen<${c.base.label}>`):c.label=`class ${s}[${o}]`,c}function j$(e,t){let n=h$(e.view,t.offset,e.sizes);if(n.u8()>=3){let e=n.u8();if(e===0){let t=n.u16();return{layoutClass:e,kind:`compact`,address:n.offset,size:t}}if(e===1)return{layoutClass:e,kind:`contiguous`,address:n.address(),size:n.length()};{let t=n.u8(),r=n.address(),a=[];for(let e=0;e<t;e++)a.push(n.u32());return{layoutClass:e,kind:`chunked`,address:r,rank:t,chunkShape:a,elementSize:a.pop()}}}{let e=n.u8(),t=n.u8();n.skip(5);let r=t===0?null:n.address(),a=[];for(let t=0;t<e;t++)a.push(n.u32());if(t===2){let o=n.u32();return a.pop(),{layoutClass:t,kind:`chunked`,address:r,rank:e,chunkShape:a,elementSize:o}}if(t===0){let e=n.u32();return{layoutClass:t,kind:`compact`,address:n.offset,size:e}}return{layoutClass:t,kind:`contiguous`,address:r,size:0}}}function M$(e,t){let n=h$(e.view,t.offset,e.sizes),r=n.u8(),a=n.u8();r===1&&n.skip(6);let o=[];for(let t=0;t<a;t++){let t=n.u16(),a=r===1||t>=256?n.u16():0,s=n.u16(),c=n.u16(),l=a>0?v$(e.buf,n.offset,a):``;n.skip(a);let u=[];for(let e=0;e<c;e++)u.push(n.u32());r===1&&c%2==1&&n.skip(4),o.push({id:t,name:l,flags:s,values:u})}return o}function N$(e,t){let n=h$(e.view,t.offset,e.sizes);n.u8();let r=n.u8(),a=r&8?n.u8():0;r&4&&n.skip(8),r&16&&n.skip(1);let o=n.variable(1<<(r&3)),s=v$(e.buf,n.offset,o);return n.skip(o),a===0?{name:s,linkType:a,address:n.address()}:{name:s,linkType:a,address:null}}function P$(e,t){let n=h$(e.view,t.offset,e.sizes);return n.u8(),n.u8()&1&&n.skip(8),{heapAddress:n.address(),nameIndexAddress:n.address()}}function F$(e,t){let n=h$(e.view,t.offset,e.sizes);return{treeAddress:n.address(),heapAddress:n.address()}}function I$(e,t){let n=h$(e.view,t+8,e.sizes),r=n.length();return n.length(),{dataAddress:n.address(),dataSize:r}}function L$(e,t,n){return _$(e.buf,t.dataAddress+n)}function R$(e,t,n,r){if(t===null||!y$(e.buf,t,`TREE`))return r;let a=h$(e.view,t+4,e.sizes);a.u8();let o=a.u8(),s=a.u16();a.address(),a.address();let c=[];for(let e=0;e<s;e++)a.length(),c.push(a.address());for(let t of c)o>0?R$(e,t,n,r):z$(e,t,n,r);return r}function z$(e,t,n,r){if(t===null||!y$(e.buf,t,`SNOD`))return;let a=h$(e.view,t+4,e.sizes);a.u8(),a.skip(1);let o=a.u16();for(let t=0;t<o;t++){let t=C$(a,e.sizes);r.push({name:L$(e,n,t.nameOffset),address:t.objectHeader})}}function B$(e){let t=!e.bigEndian;return e.typeClass===1?e.size===4?(e,n)=>e.getFloat32(n,t):(e,n)=>e.getFloat64(n,t):e.typeClass===0?e.size===1?e.signed?(e,t)=>e.getInt8(t):(e,t)=>e.getUint8(t):e.size===2?e.signed?(e,n)=>e.getInt16(n,t):(e,n)=>e.getUint16(n,t):e.size===4?e.signed?(e,n)=>e.getInt32(n,t):(e,n)=>e.getUint32(n,t):e.signed?(e,n)=>Number(e.getBigInt64(n,t)):(e,n)=>Number(e.getBigUint64(n,t)):null}function V$(e,t,n){let r=h$(e.view,t+8,e.sizes);for(r.length();r.offset<e.buf.length;){let t=r.u16();r.u16(),r.skip(4);let a=r.length();if(t===0)return null;if(t===n)return e.buf.subarray(r.offset,r.offset+a);r.skip(Math.ceil(a/8)*8)}return null}function H$(e,t,n,r){let a=new DataView(t.buffer,t.byteOffset,t.byteLength),o=[];for(let t=0;t<r;t++){let r=h$(a,t*n.size,e.sizes);r.u32();let s=r.address(),c=r.u32(),l=s===null?null:V$(e,s,c);l===null?o.push(null):n.vlenKind===1?o.push(v$(l,0,l.length)):o.push(U$(l,n.base,Math.floor(l.length/n.base.size),e))}return o}function U$(e,t,n,r){let a=[];if(t.typeClass===3)for(let r=0;r<n;r++)a.push(v$(e,r*t.size,t.size));else if(t.typeClass===9&&r)return H$(r,e,t,n);else{let r=B$(t),o=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let e=0;e<n;e++)a.push(r?r(o,e*t.size):null)}return a}function W$(e){let t=1;for(let n of e)t*=n;return t}var G$=4096;function K$(e,t){return e.messages.find(e=>e.type===t)}function q$(e,t){let n=K$(t,17);if(n){let{treeAddress:t,heapAddress:r}=F$(e,n);return{links:R$(e,t,I$(e,r),[]),dense:!1}}{let n=t.messages.filter(e=>e.type===6).map(t=>N$(e,t)).filter(e=>e.address!==null),r=K$(t,2),a=r?P$(e,r).heapAddress:null;return{links:n,dense:n.length===0&&a!==null}}}function J$(e,t){let n=[];for(let r of t.messages)r.type===12&&n.push(Y$(e,r));return n}function Y$(e,t){let n=h$(e.view,t.offset,e.sizes),r=n.u8();n.u8();let a=n.u16(),o=n.u16(),s=n.u16();r===3&&n.u8();let c=r===1,l=new TextDecoder().decode(e.buf.subarray(n.offset,n.offset+a)).replace(/\0+$/,``);n.skip(c?Math.ceil(a/8)*8:a);let u=n.offset;n.skip(c?Math.ceil(o/8)*8:o);let d=n.offset;n.skip(c?Math.ceil(s/8)*8:s);let f=A$(e,u),p=k$(e,{offset:d}),m=W$(p.shape),h=U$(e.buf.subarray(n.offset,n.offset+m*f.size),f,m,e);return{name:l,type:f.label,shape:p.shape,values:h}}function X$(e,t,n,r,a){let o=K$(t,1),s=K$(t,3),c=K$(t,8),l=K$(t,11),u=k$(e,o),d=A$(e,s.offset),f=j$(e,c),p=l?M$(e,l):[];return{kind:`dataset`,name:r,path:n,address:a,shape:u.shape,rank:u.rank,type:d,typeLabel:d.label,layout:f,filters:p,filterLabel:p.map(e=>e.name||Q$(e.id)).join(` + `),numElements:W$(u.shape),attributes:J$(e,t)}}var Z$={1:`deflate`,2:`shuffle`,3:`fletcher32`,4:`szip`,5:`nbit`,6:`scaleoffset`},Q$=e=>Z$[e]??`filter ${e}`;function $$(e,t,n,r,a,o){if(o.has(t)||a.length>G$)return null;o.add(t);let s=w$(e,t);if(K$(s,1)&&K$(s,8)){let o=X$(e,s,n,r,t);return a.push(o),o}{let{links:c,dense:l}=q$(e,s),u={kind:`group`,name:r,path:n,address:t,attributes:J$(e,s),dense:l,children:[]};a.push(u);for(let t of c){let r=n===`/`?`/${t.name}`:`${n}/${t.name}`,s=$$(e,t.address,r,t.name,a,o);s&&u.children.push(s)}return u}}function e1(e){let t=new Uint8Array(e),n=new DataView(e),r=S$(t,n),a={buf:t,view:n,sizes:r.sizes,superblock:r},o=[],s=$$(a,r.rootAddress,`/`,`/`,o,new Set);return{...a,root:s,nodes:o,datasets:o.filter(e=>e.kind===`dataset`),groups:o.filter(e=>e.kind===`group`),version:r.version,endOfFile:r.endOfFile,format:6}}var t1=10,n1=11,r1=12,i1={1:{name:`byte`,size:1,read:(e,t)=>e.getInt8(t)},2:{name:`char`,size:1,read:(e,t)=>e.getUint8(t)},3:{name:`short`,size:2,read:(e,t)=>e.getInt16(t)},4:{name:`int`,size:4,read:(e,t)=>e.getInt32(t)},5:{name:`float`,size:4,read:(e,t)=>e.getFloat32(t)},6:{name:`double`,size:8,read:(e,t)=>e.getFloat64(t)},7:{name:`ubyte`,size:1,read:(e,t)=>e.getUint8(t)},8:{name:`ushort`,size:2,read:(e,t)=>e.getUint16(t)},9:{name:`uint`,size:4,read:(e,t)=>e.getUint32(t)},10:{name:`int64`,size:8,read:(e,t)=>Number(e.getBigInt64(t))},11:{name:`uint64`,size:8,read:(e,t)=>Number(e.getBigUint64(t))}},a1=new TextDecoder;function o1(e){return{buf:e,view:new DataView(e.buffer,e.byteOffset,e.byteLength),offset:0,wide:!1}}function s1(e){let t=e.view.getInt32(e.offset);return e.offset+=4,t}function c1(e){if(e.wide){let t=Number(e.view.getBigInt64(e.offset));return e.offset+=8,t}return s1(e)}function l1(e,t){if(t){let t=Number(e.view.getBigInt64(e.offset));return e.offset+=8,t}return s1(e)>>>0}function u1(e){e.offset+=(4-e.offset%4)%4}function d1(e){let t=c1(e),n=a1.decode(e.buf.subarray(e.offset,e.offset+t));return e.offset+=t,u1(e),n}function f1(e,t,n){let r=i1[t],a=[];for(let t=0;t<n;t++)a.push(r.read(e.view,e.offset+t*r.size));return e.offset+=n*r.size,u1(e),t===2?a1.decode(Uint8Array.from(a)).replace(/\0+$/,``):a}function p1(e){let t=s1(e),n=c1(e),r={};if(t===r1)for(let t=0;t<n;t++){let t=d1(e);r[t]=f1(e,s1(e),c1(e))}return r}function m1(e){let t=s1(e),n=c1(e),r=[];if(t===t1)for(let t=0;t<n;t++)r.push({name:d1(e),length:c1(e)});return r}function h1(e,t,n){let r=s1(e),a=c1(e),o=[];if(r===n1)for(let r=0;r<a;r++){let r=d1(e),a=c1(e),s=[];for(let t=0;t<a;t++)s.push(s1(e));let c=p1(e),l=s1(e),u=c1(e),d=l1(e,n),f=s.map(e=>t[e].length);o.push({name:r,path:`/${r}`,type:l,typeName:i1[l].name,shape:f,dimensions:s.map(e=>t[e].name),isRecord:s.length>0&&t[s[0]].length===0,attributes:c,byteSize:u,offset:d})}return o}function g1(e){let t=new Uint8Array(e);if(t.byteLength<8)throw Error(`file too small`);if(t[0]!==67||t[1]!==68||t[2]!==70)throw Error(`not a netcdf file`);let n=t[3],r=o1(t);r.wide=n===5,r.offset=4;let a=s1(r)>>>0,o=m1(r),s=p1(r),c=h1(r,o,n!==1);return{buf:t,view:r.view,version:n,versionLabel:n===1?`classic`:n===2?`64-bit offset`:`CDF-5`,headerSize:r.offset,numRecords:a,dimensions:o,attributes:s,variables:c,format:7}}var _1=T1(DZ),v1=T1(FZ);async function y1(e){let{schema:t,rowGroups:n}=tQ(await xn(e));return JSON.stringify({schema:t,rowGroups:n})}async function b1(e){let{columns:t,codec:n,numRows:r,blocks:a}=gQ(await xn(e));return JSON.stringify({columns:t,codec:n,numRows:r,blocks:a})}async function x1(e){let{columns:t,compression:n,numRows:r,stripes:a}=await HQ(await xn(e));return JSON.stringify({columns:t,compression:n,numRows:r,stripes:a})}async function S1(e){let{columns:t,numRows:n,batches:r}=m$(await xn(e));return JSON.stringify({columns:t,numRows:n,batches:r})}async function C1(e){let t=await xn(e),n=new Uint8Array(t);if(n[0]===137&&n[1]===72&&n[2]===68&&n[3]===70){let{version:e,groups:n,datasets:r}=e1(t);return JSON.stringify({version:e,groups:n.map(e=>e.path),datasets:r.map(e=>({path:e.path,type:e.typeLabel,shape:e.shape}))})}{let{versionLabel:e,dimensions:n,attributes:r,variables:a}=g1(t);return JSON.stringify({version:e,dimensions:n,attributes:r,variables:a.map(e=>({path:e.path,type:e.typeName,shape:e.shape}))})}}var w1={png:_1,jpg:v1,jpeg:v1,parquet:y1,avro:b1,orc:x1,arrow:S1,feather:S1,ipc:S1,h5:C1,hdf5:C1,he5:C1,nc:C1,nc4:C1,cdf:C1};function T1(e){return async function(t){let n=e(await xn(t));return n&&JSON.stringify(n)}}async function*E1(e,t){let n=(await e(t)).split(`
|
|
1952
1952
|
`);for(let e of n)yield e}async function D1(e){let{containerHandle:t,pattern:n,flags:r=`ig`,index:a,mtimeMap:o,indexOnly:s,nameOnly:c,indexSearchOnly:l,on:u=function(){}}=e,d=e.perFileLimit||3,f=e.maxFiles||1e3,p=e.startAfterPath||``,m=e.onlyPath||``,h=e.skipMatches||0,g=n?new RegExp(n,r):null,_=await Cn(),v=await yn(TZ,EZ),y=0,b=0,x=0,S=``,C=!1,w=[oZ()],T=!1,E=!!p;if(a&&!s&&!m&&!p){let e=xZ({index:a,query:n,maxResults:50});for(let t of e)u(`indexMatch`,t)}if(l)return{containerHandle:t,filesSearched:0,totalMatchFiles:0,totalMatchContent:0,lastPath:``,truncatedFiles:!1,updatedLogBytes:null};let D=v([``,t]);for await(let[e,t]of D){let n=e.slice(1);if(E)n===p&&(E=!1);else if(!(m&&n!==m))try{let{mtime:r}=await _(t),a=o?o.get(n):void 0,l=s||c||a===void 0||Math.floor(a/1e3)!==Math.floor(r/1e3),d=await k({child:t,childPath:e,cleanPath:n,regex:g,extractKw:l,nameOnly:c});if(x++,l&&d&&(T=!0,w.push(sZ({path:n,mtime:r,keywords:d.keywords}))),d&&d.hasMore&&u(`fileMore`,{path:e}),b>=f){C=!0;break}if(m)break}catch(n){console.log({childPath:e,child:t,error:n})}}return{containerHandle:t,filesSearched:x,totalMatchFiles:b,totalMatchContent:y,lastPath:S,truncatedFiles:C,updatedLogBytes:T?w:null};function O(e){let t=Math.min(e.length,8192);for(let n=0;n<t;n++)if(e[n]===0)return!0;return!1}async function k(e){let{child:t,childPath:n,cleanPath:r,regex:a,extractKw:o=!0,nameOnly:s}=e,c=yt(r),l=r.split(`/`).pop().replace(/\.[^.]+$/,``),f=new Map,p=0,m=0,g=0,_=!1;if(s)return wZ({title:l,body:``,ext:c},f),{keywords:Array.from(f.entries()).map(([e,t])=>({keyword:e,score:t})),hasMore:!1};try{let e=w1[c],n=e?E1(e,t):Sn(t,O);for await(let e of n){let n=!1;try{n=v(e)}catch{console.log(e,t)}if(n)break}return{keywords:Array.from(f.entries()).map(([e,t])=>({keyword:e,score:t})),hasMore:_}}catch(t){return console.error({...e,...t}),null}function v(e){if(p+=1,o&&wZ({title:l,body:e,ext:c},f),a){a.lastIndex=0;let t=a.exec(e);if(t&&(m+=1,m>h)){if(g<d){y++;let a={path:n,line:e,lineNumber:p,match:t[0]};g===0&&h===0?(u(`contentFirstMatch`,a),b++,S=r):u(`contentMatch`,a),g++}else if(_=!0,o===!1)return!0}}return!1}}}console.log({type:`tracer`}),Ot&&(self.addEventListener(`unhandledrejection`,e=>{self.postMessage({type:`error`,message:e.reason?.message,stack:e.reason?.stack})},{once:!0}),self.onmessage=async function(e){console.log(e);let{containerHandle:t,pattern:n,flags:r,indexOnly:a,nameOnly:o,indexSearchOnly:s,perFileLimit:c,maxFiles:l,startAfterPath:u,onlyPath:d,skipMatches:f}=e.data;if(t)if(o){let e=await D1({containerHandle:t,nameOnly:!0,on:k1});self.postMessage({type:`finished`,result:e})}else if(a){let e=await D1({containerHandle:t,flags:r,indexOnly:!0,on:k1});self.postMessage({type:`finished`,result:e})}else{let{index:e,mtimeMap:a}=await O1(t,s?`.name.bin`:`.index.bin`),o=await D1({containerHandle:t,pattern:n,flags:r,index:e,mtimeMap:a,indexSearchOnly:s,on:k1,perFileLimit:c,maxFiles:l,startAfterPath:u,onlyPath:d,skipMatches:f});self.postMessage({type:`finished`,result:o})}});async function O1(e,t){try{let n=await(await(await e.getFileHandle(t)).getFile()).arrayBuffer(),r=bZ(cZ(new Uint8Array(n)).entries);return{index:r,mtimeMap:r.pathToMtime}}catch(e){return console.log(`no index or version mismatch, searching all files:`,e.message),{index:null,mtimeMap:null}}}function k1(e,t){self.postMessage({type:e,result:t})}var A1=``+new URL(`search-worker.js`,import.meta.url).href;function j1(e=[]){let t=new Worker(A1,{type:`module`});return t.onerror=function(e){console.error(A1,e)},t.addEventListener(`messageerror`,e=>{console.error(A1,e)}),t.addEventListener(`message`,e=>{e.data?.type===`error`&&console.error(e.data.message,e.data.stack)}),{search:c,buildIndex:n,ensureNameIndex:r};async function n(e){let{containerHandle:n}=e;return new Promise(e=>{t.onmessage=function(t){t.data.type===`finished`&&e(t.data.result)},t.postMessage({containerHandle:n,indexOnly:!0})})}async function r(e){let{containerHandle:t}=e;await a(t)||await s(t,(await o(t)).updatedLogBytes)}async function a(e){try{return await e.getFileHandle(`.name.bin`),!0}catch{return!1}}async function o(e){return new Promise(n=>{t.onmessage=function(e){e.data.type===`finished`&&n(e.data.result)},t.postMessage({containerHandle:e,nameOnly:!0})})}async function s(e,t){if(t)try{let n=await(await e.getFileHandle(`.name.bin`,{create:!0})).createWritable();for(let e of t)await n.write(e);await n.close()}catch(e){console.log(`could not save .name.bin`,e.message)}}async function c(e){let{containerHandle:n,query:r,providerType:a,root:o,flags:s,mode:c,startAfterPath:u,perFileLimit:d,maxFiles:f,onlyPath:p,skipMatches:m,force:h,signal:g,indexSearchOnly:_}=e,{onIndexMatch:v,onContentMatch:y,onContentFirstMatch:b,onFileMore:x=M1,onOversize:S=M1,onRootFinished:C=M1}=e;return n?new Promise(e=>{t.onmessage=function(t){let{data:n}=t;switch(n.type){case`indexMatch`:return v(n.result);case`contentMatch`:return y(n.result);case`contentFirstMatch`:return b(n.result);case`fileMore`:return x(n.result);case`finished`:return e(n.result);default:console.warn(n)}},t.onerror=function(t){e({error:t})},t.postMessage({containerHandle:n,pattern:r,flags:s,indexSearchOnly:_,startAfterPath:u,perFileLimit:d,maxFiles:f,onlyPath:p,skipMatches:m})}):await l({providerType:a,root:o,pattern:r,flags:s,mode:c,startAfterPath:u,perFileLimit:d,maxFiles:f,onlyPath:p,skipMatches:m,force:h,signal:g,onIndexMatch:v,onContentMatch:y,onContentFirstMatch:b,onFileMore:x,onOversize:S,onRootFinished:C})}async function l(e){let{providerType:t,root:n,pattern:r,flags:a,mode:o,startAfterPath:s,perFileLimit:c,maxFiles:l,onlyPath:u,skipMatches:d,force:f,signal:p}=e,{onIndexMatch:m,onContentMatch:h,onContentFirstMatch:g,onFileMore:_,onOversize:v,onRootFinished:y}=e,b={};try{let e=(await fetch(`/api/search`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerType:t,root:n,pattern:r,flags:a,mode:o,startAfterPath:s,perFileLimit:c,maxFiles:l,onlyPath:u,skipMatches:d,force:f}),signal:p})).body.getReader(),m=new TextDecoder,h=``,g=!1;for(;g===!1;){let t=await e.read();if(t.done)g=!0;else{h+=m.decode(t.value,{stream:!0});let e=h.split(`
|
|
1953
|
-
`);h=e.pop();for(let t of e)t&&x(JSON.parse(t))}}}catch(e){console.warn(e),b={error:e}}return b;function x(e){let{type:t,result:n}=e;switch(t){case`indexMatch`:return m(n);case`contentMatch`:return h(n);case`contentFirstMatch`:return g(n);case`fileMore`:return _(n);case`oversize`:return v(n);case`rootFinished`:return y(n);case`finished`:b=n;return;default:console.warn(e)}}}}function M1(){}function N1(e){let{message:t,onConfirm:n=()=>{},onClose:r=()=>{},confirmLabel:a=`Open`,hideCancel:o=!1}=e,s=V(()=>B(`dialog`,{class:`prompt-dialog`,onClose:u,onclick:c,oncancel:l},B(`p`,{class:`prompt-dialog-message`},t),B(`div`,{class:`prompt-dialog-footer`},B(`button`,{class:`prompt-dialog-btn prompt-dialog-btn-confirm`,onClick:()=>{u(),n()}},a),o?``:B(`button`,{class:`prompt-dialog-btn`,onClick:u},`Cancel`))));document.body.appendChild(s),s.showModal();function c(e){if(!o){let{clientX:t,clientY:n}=e,{left:r,top:a,right:o,bottom:c}=s.getBoundingClientRect();(t<r||t>o||n<a||n>c)&&u()}}function l(e){o&&e.preventDefault()}function u(){s.close(),s.remove()}}async function P1(e,t){let n=await fetch(e,t),r=await n.text();if(n.ok)try{return JSON.parse(r)}catch(t){throw console.warn(`provider api: answer is not json`,e,r,t),Error(`${e} answered with something that is not JSON: ${r.slice(0,200)}`)}throw console.warn(`provider api failed`,e,n.status,r),Error(`${e} answered ${n.status}: ${r.slice(0,200)}`)}function F1(e,t){return P1(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})}async function I1(e){return P1(`/api/providers/authStatus?providerType=${e}`)}async function L1(e,t){return F1(`/api/providers/login`,{providerType:e,method:t})}async function R1(e){return F1(`/api/providers/cancelLogin`,{providerType:e})}async function z1(e){return P1(`/api/providers/tools${e?`?refresh=true`:``}`)}async function B1(e){return F1(`/api/providers/installTool`,{providerType:e})}async function V1(e,t){return F1(`/api/providers/connect`,{providerType:e,secret:t})}async function H1(e){let t=await P1(`/api/${e}/`);return t&&t.payload&&t.payload.children||[]}function U1(e,t){let n=0,r=setInterval(async function(){n+=1;try{let r=await I1(e),o=!r.authed&&n>60,s=r.authed||r.loginError||o;t(r,s,o),s&&a()}catch(n){console.warn(`pollUntilAuthed`,e,n),a(),t({authed:!1,loginError:n.message},!0,!1)}},2e3);function a(){clearInterval(r)}return a}function W1(e){let{$tried:t}=e,n=T(!1),r=E(()=>t.value.length>0),a=E(()=>n.value?`Hide what was checked`:`What was checked`);return B(G,{when:r},B(`a`,{class:`provider-config-link`,onclick:()=>n.value=!n.value},a),B(G,{when:n},B(`div`,{class:`provider-config-tried`},B(H,{each:t},function(e){return B(`div`,{class:`provider-config-try ${e.skipped?`skipped`:e.ok?`ok`:`fail`}`},B(`span`,{class:`provider-config-try-mark`},e.skipped?`–`:e.ok?`✓`:`✗`),B(`span`,{class:`provider-config-try-label`},e.label),B(`code`,{class:`provider-config-try-cmd`},e.cmd),e.error?B(`div`,{class:`provider-config-try-error`},e.error):null)}))))}function G1(e,t){let{providerType:n,legend:r,placeholder:a,$message:o,onConnected:s}=e,c=T(``),l=T(!1),u=T(!1),d=E(()=>`provider-config-drop ${u.value?`dragover`:``}`),f=E(()=>l.value||c.value.trim().length===0),p=E(()=>l.value?`Connecting…`:`Connect`);async function m(){o.value=``,l.value=!0;let e={ok:!1};try{e=await V1(n,c.value)}catch(t){console.warn(`ProviderSecret connect`,n,t),e={ok:!1,message:t.message}}l.value=!1,e.ok?(c.value=``,await s()):o.value=e.message||`Could not connect.`}function h(e){e.preventDefault(),u.value=!0}function g(e){e.currentTarget.contains(e.relatedTarget)||(u.value=!1)}async function _(e){e.preventDefault(),u.value=!1;let t=e.currentTarget.querySelector(`textarea`),n=e.dataTransfer.files[0];if(n){let e=await n.text();t.value=e,c.value=e,await m()}}return B(`fieldset`,{class:`provider-config-card`},B(`legend`,null,r),B(`div`,{class:d,ondragover:h,ondragleave:g,ondrop:_},B(`textarea`,{class:`provider-config-input`,rows:`3`,placeholder:a,oninput:e=>c.value=e.currentTarget.value})),B(`button`,{class:`provider-config-btn`,onclick:m,disabled:f},p),t)}var K1=`aws-s3`;function q1(e){let{status:t,onConnected:n}=e,r=T(``),a=T(null),o=T([]),s=T(!1),c=T(``),l=T(!1),u=T(!1),d=T(``),f=E(()=>r.value===`connected`),p=E(()=>r.value===`needsAuth`),m=E(()=>p.value&&!s.value),h=E(()=>d.value!==``),g=null;return y(t),pX(_,{clazz:`provider-config`,header:B(`div`,{class:`provider-config-heading-row`},B(`span`,{class:`provider-config-icon`},B(U,{name:`s3`})),B(`div`,{class:`provider-config-heading`},B(`div`,{class:`provider-config-title`},`Connect to Amazon S3`))),onClose:()=>n(g)});function _(e){let{close:t}=e;return B(`div`,{class:`dialog-body`},B(G,{when:f},B(`div`,{class:`provider-config-identity`},B(`span`,{class:`provider-config-identity-mark`},`✓`),B(`div`,null,B(`div`,{class:`provider-config-identity-user`},`Connected as `,E(()=>v(`user`))),B(`div`,{class:`provider-config-identity-note`},`Account `,E(()=>v(`account`)),` · via `,E(()=>v(`source`))))),B(`button`,{class:`provider-config-btn`,onclick:t},`Continue`)),B(G,{when:p},B(G,{when:s},B(`div`,{class:`provider-config-expired`},B(`div`,{class:`provider-config-expired-text`},`Your AWS session expired. Sign in again below.`),B(G,{when:l},B(`code`,{class:`provider-config-expired-detail`},c)),B(`a`,{class:`provider-config-link`,onclick:()=>l.value=!l.value},E(()=>l.value?`Hide details`:`Show details`)))),B(G,{when:m},B(`div`,{class:`provider-config-intro`},`We couldn't find AWS credentials automatically. Paste or drop an access key below.`)),B(G1,{providerType:K1,legend:`Access key`,$message:d,onConnected:b,placeholder:`Access key ID, Secret access key
|
|
1954
|
-
AKIA…,wJal…`},B(`button`,{class:`provider-config-expander`,onclick:()=>u.value=!u.value},`Don't have a key? Create one`,B(`span`,{class:E(()=>`provider-config-expander-arrow ${u.value?`open`:``}`)},`▾`)),B(G,{when:u},B(`div`,{class:`provider-config-help`},B(`div`,null,`1. Open `,B(`a`,{href:`https://console.aws.amazon.com/iam/home#/security_credentials`,target:`_blank`,rel:`noopener`},`IAM → Security credentials`)),B(`div`,null,`2. Click "Create access key"`),B(`div`,null,`3. Copy the Access key ID and Secret access key, and paste both above`)))),B(W1,{$tried:o})),B(G,{when:h},B(`div`,{class:`provider-config-message`},d)))}function v(e){return(a.value||{})[e]||``}function y(e){e?(g=e,a.value=e.identity||null,o.value=e.tried||[],s.value=!!e.expired,c.value=e.expiredDetail||``,e.authed?r.value=`connected`:r.value=`needsAuth`):r.value=`needsAuth`}async function b(){try{y(await I1(K1))}catch(e){console.warn(`AWS probe`,e),d.value=e.message,r.value=`needsAuth`}}}function J1({providerType:e,$loggingIn:t,$loginOutput:n,$message:r,onStatus:a}){let o=null;function s(){t.value?l():c()}async function c(){r.value=``,n.value=``,t.value=!0;let s={ok:!1};try{s=await L1(e)}catch(t){console.warn(`startLogin`,e,t),s={ok:!1,message:t.message}}s.ok?o=U1(e,function(e,n,s){a(e),n&&(t.value=!1,o=null),s&&(r.value=`The browser sign-in didn't complete. Finish it in the browser tab and try again.`)}):(t.value=!1,r.value=s.message||s.error||`Login is not available.`)}async function l(){o&&=(o(),null),t.value=!1,n.value=``;try{await R1(e)}catch(t){console.warn(`abortLogin`,e,t)}}return{onSignIn:s,abortLogin:l}}var Y1=`azure`;function X1(e){let{status:t,onConnected:n}=e,r=T(``),a=T([]),o=T(!1),s=T(``),c=T(``),l=E(()=>r.value===`connected`),u=E(()=>r.value===`needsAuth`),d=E(()=>s.value!==``),f=E(()=>c.value!==``),p=E(()=>o.value?`Waiting for browser login… Cancel`:`Sign in with Microsoft`),m=E(()=>l.value?`You're all set`:`Two ways to sign in`),{onSignIn:h,abortLogin:g}=J1({providerType:Y1,$loggingIn:o,$loginOutput:s,$message:c,onStatus:y}),_=null;return y(t),pX(v,{clazz:`provider-config`,header:B(`div`,{class:`provider-config-heading-row`},B(`span`,{class:`provider-config-icon`},B(U,{name:`azure`})),B(`div`,{class:`provider-config-heading`},B(`div`,{class:`provider-config-title`},`Connect to Azure Storage`),B(`div`,{class:`provider-config-subtitle`},m))),onClose:x});function v(e){let{close:t}=e;return B(`div`,{class:`dialog-body`},B(G,{when:l},B(`div`,{class:`provider-config-identity`},B(`span`,{class:`provider-config-identity-mark`},`✓`),B(`div`,null,B(`div`,{class:`provider-config-identity-user`},`Connected to Azure Storage`),B(`div`,{class:`provider-config-identity-note`},`Your accounts are ready to browse`))),B(`button`,{class:`provider-config-btn`,onclick:t},`Continue`)),B(G,{when:u},B(`div`,{class:`provider-config-intro`},`We couldn't find Azure credentials automatically. Choose how you'd like to sign in:`),B(`fieldset`,{class:`provider-config-card`},B(`legend`,null,B(`span`,null,`Sign in with Microsoft`),B(`span`,{class:`provider-config-badge`},`RECOMMENDED`)),B(`div`,{class:`provider-config-card-note`},`This sign-in happens inside the app — no CLI to install. It opens your browser for your Microsoft account, and keeps the session so your storage accounts stay available.`),B(`button`,{class:`provider-config-btn`,onclick:h},p)),B(G1,{providerType:Y1,legend:`Account key`,$message:c,onConnected:b,placeholder:`DefaultEndpointsProtocol=https;AccountName=…;AccountKey=…
|
|
1955
|
-
or https://<account>.blob.core.windows.net/?sv=…&sig=…`},B(`a`,{class:`provider-config-link`,href:`https://learn.microsoft.com/azure/storage/common/storage-account-keys-manage`,target:`_blank`,rel:`noopener`},`Where do I find this?`)),B(W1,{$tried:a})),B(G,{when:d},B(`pre`,{class:`provider-config-output`},s)),B(G,{when:f},B(`div`,{class:`provider-config-message`},c)))}function y(e){e?(_=e,a.value=e.tried||[],s.value=e.loginOutput||e.loginError||``,e.authed?r.value=`connected`:r.value=`needsAuth`):r.value=`needsAuth`}async function b(){try{y(await I1(Y1))}catch(e){console.warn(`Azure probe`,e),c.value=e.message,r.value=`needsAuth`}}function x(){o.value&&g(),n(_)}}function Z1(e){let{$tool:t,providerType:n,label:r}=e,a=T(!1),o=T(!1),s=T(!1),c=T(``),l=E(()=>!!t.value&&!t.value.available),u=E(()=>(t.value||{}).installCmd||``),d=E(()=>(t.value||{}).docLink||``),f=E(()=>(t.value||{}).installNote||`Signing in through the browser runs this CLI, so it has to be on this machine first. It installs for your user only — no administrator password.`),p=E(()=>u.value!==``&&!a.value),m=E(()=>o.value?`Copied`:`Copy command`),h=E(()=>a.value?`Installing in Terminal…`:`Install the ${r}`),g=null,_=null;function v(){y(),g=setInterval(async function(){try{let e=(await z1(!0))[n];e&&e.available&&(y(),a.value=!1,t.value=e)}catch(e){console.warn(`ProviderCli poll`,n,e),y(),a.value=!1}},3e3),_=setTimeout(function(){s.value=!0},12e4)}function y(){g&&=(clearInterval(g),null),_&&=(clearTimeout(_),null),s.value=!1}async function b(){a.value=!0,c.value=``;let e={ok:!1};try{e=await B1(n)}catch(t){console.warn(`ProviderCli install`,n,t),e={ok:!1,message:t.message}}e.ok?v():(a.value=!1,c.value=e.message||`The install could not be started.`)}function x(){navigator.clipboard.writeText(u.value).then(function(){o.value=!0,setTimeout(function(){o.value=!1},1500)}).catch(function(e){console.warn(`ProviderCli copyCommand`,e)})}return B(G,{when:l},B(`fieldset`,{class:`provider-config-card`},B(`legend`,null,B(`span`,null,r,` not installed`)),B(`div`,{class:`provider-config-card-note`},f),B(`code`,{class:`provider-config-cli-cmd`},u),B(`div`,{class:`provider-config-cli-actions`},B(`button`,{class:`provider-config-btn`,onclick:b,disabled:E(()=>!p.value)},h),B(`button`,{class:`provider-config-btn secondary`,onclick:x},m)),B(G,{when:a},B(`div`,{class:`provider-config-card-note`},`Finish the install in the Terminal window. This dialog unlocks as soon as the command is found.`)),B(G,{when:s},B(`div`,{class:`provider-config-card-note`},`Still nothing. A big installer can take this long — but antivirus can also block an install started this way. Copy the command and run it yourself, or use the link below.`)),B(G,{when:c},B(`div`,{class:`provider-config-card-note`},c)),B(`a`,{class:`provider-config-link`,href:d,target:`_blank`,rel:`noopener`},`Install it yourself instead`)))}var Q1=`gcp-gcs`;function $1(e){let{status:t,tool:n,onConnected:r}=e,a=T(``),o=T([]),s=T(!1),c=T(``),l=T(``),u=T(n),d=E(()=>a.value===`connected`),f=E(()=>a.value===`needsAuth`),p=E(()=>c.value!==``),m=E(()=>l.value!==``),h=E(()=>!!u.value&&!u.value.available),g=E(()=>s.value?`Waiting for browser login… Cancel`:`gcloud auth application-default login`),_=E(()=>d.value?`You're all set`:`Sign in to continue`),{onSignIn:v,abortLogin:y}=J1({providerType:Q1,$loggingIn:s,$loginOutput:c,$message:l,onStatus:S}),b=null;return S(t),pX(x,{clazz:`provider-config`,header:B(`div`,{class:`provider-config-heading-row`},B(`span`,{class:`provider-config-icon`},B(U,{name:`gcp-storagebucket`})),B(`div`,{class:`provider-config-heading`},B(`div`,{class:`provider-config-title`},`Connect to Google Cloud Storage`),B(`div`,{class:`provider-config-subtitle`},_))),onClose:C});function x(e){let{close:t}=e;return B(`div`,{class:`dialog-body`},B(G,{when:d},B(`div`,{class:`provider-config-identity`},B(`span`,{class:`provider-config-identity-mark`},`✓`),B(`div`,null,B(`div`,{class:`provider-config-identity-user`},`Connected to Google Cloud`),B(`div`,{class:`provider-config-identity-note`},`Your buckets are ready to browse`))),B(`button`,{class:`provider-config-btn`,onclick:t},`Continue`)),B(G,{when:f},B(`div`,{class:`provider-config-intro`},`We couldn't find Google Cloud credentials automatically. Sign in to create them:`),B(Z1,{$tool:u,providerType:Q1,label:`Google Cloud CLI`}),B(`fieldset`,{class:`provider-config-card`},B(`legend`,null,B(`span`,null,`Sign in with gcloud`),B(`span`,{class:`provider-config-badge`},`RECOMMENDED`),B(`span`,{class:`provider-config-hint`,title:`GCS reads Application Default Credentials from ~/.config/gcloud. This command writes them.`},`?`)),B(`div`,{class:`provider-config-card-note`},`This opens your browser to sign in to Google, then writes Application Default Credentials that ObjectExplorer reads directly.`),B(`button`,{class:`provider-config-btn`,onclick:v,disabled:h},g)),B(W1,{$tried:o})),B(G,{when:p},B(`pre`,{class:`provider-config-output`},c)),B(G,{when:m},B(`div`,{class:`provider-config-message`},l)))}function S(e){e?(b=e,o.value=e.tried||[],c.value=e.loginOutput||e.loginError||``,e.authed?a.value=`connected`:a.value=`needsAuth`):a.value=`needsAuth`}function C(){s.value&&y(),r(b)}}var e0={"aws-s3":q1,azure:X1,"gcp-gcs":$1};function t0(e){let{onAdded:t}=e,n=T(new Set),r=T([]),a=T(``),o=T({});return c(),l(),pX(s,{header:`Add a Favorite`,style:`width: 460px;`});function s(){return B(`div`,{class:`add-favorite-body`},B(H,{each:r},function(e){return B(n0,{provider:e,$favKeys:n,$tools:o,onChanged:t})}),B(r0,{onChanged:t,$appMode:a}))}async function c(){let e=await fetch(`/api/meta`).then(e=>e.json()),t=(e.favorites||[]).filter(e=>e.objectKind===`bucket`).map(e=>`${e.providerType}:${e.root}`);n.value=new Set(t),r.value=e.providers||[],a.value=e.appMode}async function l(){try{o.value=await z1()}catch(e){console.warn(`loadTools`,e),o.value={}}}}function n0(e){let{provider:t,$favKeys:n,$tools:r,onChanged:a}=e,o=T(!1),s=T(!1),c=T(!1),l=T(!1),u=T(null),d=T([]),f=E(()=>o.value&&s.value),p=E(()=>o.value&&!s.value&&l.value),m=E(()=>p.value&&u.value!==null),h=E(()=>c.value&&!s.value&&!l.value&&!!e0[t.providerType]),g=E(()=>s.value?`probing`:c.value&&l.value?`ok`:``),_=E(()=>g.value!==``);function v(e){return(u.value||{})[e]||``}function y(){o.value=!o.value}async function b(e){s.value=!0,e?(l.value=e.authed,u.value=e.identity||null,e.authed&&(d.value=await H1(t.providerType))):l.value=!1,c.value=!0,s.value=!1}async function x(){s.value=!0;try{await b(await I1(t.providerType))}catch(e){console.warn(`probe`,t.providerType,e),await b(null)}}x();async function S(e,t){let r=`${e.providerType}:${e.root}`;await fetch(t?`/api/favorites/add`:`/api/favorites/remove`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerType:e.providerType,root:e.root,label:e.root})});let o=new Set(n.value);t?o.add(r):o.delete(r),n.value=o,a&&a()}return B(`div`,{class:`add-favorite-provider`,"data-provider":t.label},B(`div`,{class:`add-favorite-row`,onclick:y},B(`span`,{class:E(()=>`add-favorite-caret ${o.value?`expanded`:``}`)},B(U,{name:`chevron-right`})),B(`span`,{class:`add-favorite-icon`},B(U,{name:t.icon})),B(`span`,{class:`add-favorite-label`},t.label),B(G,{when:h},B(`span`,{class:`add-favorite-config`},B(U,{name:`settings-gear`}))),B(G,{when:_},B(`span`,{class:E(()=>`add-favorite-mark ${g.value}`)}))),B(G,{when:f},B(`div`,{class:`add-favorite-checking`},B(`span`,{class:`add-favorite-spinner`}),B(`div`,{class:`add-favorite-checking-title`},`Looking for `,t.label,` credentials on this machine…`))),B(G,{when:m},B(`div`,{class:`add-favorite-identity`},B(`span`,{class:`add-favorite-identity-mark`},`✓`),B(`div`,null,B(`div`,{class:`add-favorite-identity-user`},`Connected as `,E(()=>v(`user`))),B(`div`,{class:`add-favorite-identity-note`},`Account `,E(()=>v(`account`)),` · via `,E(()=>v(`source`)))))),B(G,{when:p},B(H,{each:d,Empty:()=>B(`div`,{class:`add-favorite-status`},`No buckets found`)},function(e){return B(`label`,{class:`add-favorite-check-row`},B(`input`,{type:`checkbox`,checked:E(()=>n.value.has(`${e.providerType}:${e.root}`)),onchange:t=>S(e,t.currentTarget.checked)}),B(`span`,{class:`add-favorite-label`},e.root))})))}function r0(e){let{onChanged:t,$appMode:n}=e,r=T(!1),a=T([]);o();async function o(){let e=await Vt(),t=await tn();a.value=[...e,...t]}function s(e){e.stopPropagation(),r.value=!r.value}async function c(){let e=n.value!==`instant`;console.log(`[add-folder] pickFolder: start, appMode=`,n.value);try{if(e)await Bt(),r.value=!0,await o(),console.log(`[add-folder] pickFolder: folders now`,a.value.map(e=>e.root)),t&&t();else{console.log(`[add-folder] pickFolder: web -> showDirectoryPicker() ...`);let e=await window.showDirectoryPicker();console.log(`[add-folder] pickFolder: picked`,e&&e.name),e&&(await Jt(e),r.value=!0,await o(),console.log(`[add-folder] pickFolder: folders now`,a.value.map(e=>e.root)),t&&t())}}catch(e){console.error(`[add-folder] pickFolder: FAILED name=`,e&&e.name,`message=`,e&&e.message),console.error(`[add-folder] pickFolder: full error object ->`,e)}}async function l(e,n){e.handle?await Yt(e.handle,n):await Ht(e.root,n),await o(),t&&t()}function u(e,t){e.currentTarget.checked?l(t,!1):l(t,!0)}return B(`div`,{class:`add-favorite-provider`},B(`div`,{class:`add-favorite-row`},B(`span`,{class:E(()=>`add-favorite-caret ${r.value?`expanded`:``}`),onclick:s},B(U,{name:`chevron-right`})),B(`span`,{class:`add-favorite-icon`},B(U,{name:`folder-opened`})),B(`span`,{class:`add-favorite-label`},`Local folder`),B(`span`,{class:`add-favorite-config`,onclick:c},B(U,{name:`add`}))),B(H,{each:a,$expanded:r,Empty:()=>B(`div`,{class:`add-favorite-status`},`No local folders`)},function(e){return B(`label`,{class:`add-favorite-check-row`},B(`input`,{type:`checkbox`,checked:!e.hidden,onchange:t=>u(t,e)}),B(`span`,{class:`add-favorite-label`},e.label||e.root))}))}function i0(){return{$query:T(``),$results:T([]),$searching:T(!1),$excludes:T(`node_modules, dist, .git, .venv, build`),$useIgnoreFile:T(!0),$cloudOpen:T(!1),$cloud:T([]),runId:0}}function a0(e){let t=[];for(let n of e)n.handle?t.push({kind:`local`,root:n.root||n.name,handle:n.handle}):n.providerType&&n.providerType!==`local`&&n.root&&t.push({kind:`backend`,providerType:n.providerType,root:n.root});return t}function o0(e){let t=new Map;for(let n of a0(e))t.set(n.root,n);let n=[];for(let e of ZJ()){let r=t.get(e.root);r&&n.push({root:e.root,path:e.path,name:e.name,score:0,source:r})}return n}var s0=null;function c0(e){clearTimeout(s0),s0=setTimeout(()=>l0(e),150)}async function l0(e){let{state:t,searchers:n,roots:r}=e,a=t.$query.value,o=t.runId+1;if(t.runId=o,a){t.$searching.value=!0;let e=new Map,s=[...vY(r),...yY(t,`cached`,!1)];for(let r of s)if(t.runId===o){let s=n=>p0(t,o,e,r,n);r.kind===`local`?(await n.ensureNameIndex({containerHandle:r.handle}),await n.search({containerHandle:r.handle,query:a,flags:`ig`,indexSearchOnly:!0,onIndexMatch:s,onContentMatch(){},onContentFirstMatch(){}})):await n.search({providerType:r.providerType,root:r.root,mode:`cached`,query:a,flags:`ig`,onIndexMatch:s,onContentMatch(){},onContentFirstMatch(){}})}t.runId===o&&(t.$searching.value=!1)}else t.$results.set(o0(r))}function u0(e,t){let n=e.toLowerCase();return t.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).every(e=>n.includes(e))}function d0(e,t){return t.split(`,`).map(e=>e.trim()).filter(Boolean).some(t=>e.includes(t))}function f0(e,t){let n=e.replace(/\.[^.]+$/,``);return n===t?3:n.toLowerCase()===t.toLowerCase()?2:+!!e.toLowerCase().startsWith(t.toLowerCase())}function p0(e,t,n,r,a){if(e.runId===t){let t=String(a.path).replace(/^\//,``),o=r.kind===`local`?`${r.root}/${t}`:t,s=o.indexOf(`/`),c=s>=0?o.slice(0,s):o,l=s>=0?o.slice(s+1):o,u=l.split(`/`).pop(),d=e.$query.value;if(u0(u,d)&&d0(o,e.$excludes.value)===!1){n.set(o,{root:c,path:l,name:u,score:a.score||0,source:r});let t=Array.from(n.values()).sort((e,t)=>{let n=f0(t.name,d)-f0(e.name,d);return n===0?t.score-e.score:n}).slice(0,50);e.$results.set(t)}}}function m0(e){let{searchers:t,$treeData:n,onPick:r}=e,a=i0();a.$results.set(o0(n.value));let o=T(0);A(()=>{let e=n?n.value:[];lY(a,e),mY(a)});let s=E(()=>V(U,{name:a.$cloudOpen.value?`chevron-down`:`chevron-right`,size:16})),c=E(()=>{let e=a.$cloud.value;return a.$cloudOpen.value?V(NY,{state:a,providers:e}):V(function(){return B(`span`,null)},{})});return pX(l,{clazz:`quick-open`});function l(e){let{close:t}=e;return B(`div`,{class:`quick-open-body`,onkeydown:l},B(`input`,{class:`quick-open-input`,placeholder:`Search files by name`,autofocus:!0,oninput:u}),B(`div`,{class:`search-extra quick-open-extra`,style:`margin-left: 7px`},B(`div`,{class:`search-label search-label-toggle`},B(`span`,{class:`search-remote-label`,onclick:d},B(`span`,{class:`search-chevron`,$dom:s}),B(`span`,null,`remote storage`))),B(`div`,{class:`search-cloud`,$dom:c})),B(`div`,{class:`quick-open-list slim_scrollbar`},B(H,{each:a.$results,Empty:()=>B(`div`,{class:`quick-open-empty`},`No matching files`)},function(e,t){return B(`div`,{class:E(()=>`quick-open-row ${o.value===t?`selected`:``}`),onclick:()=>n(e)},B(`span`,{class:`quick-open-name`},e.name),B(`span`,{class:`quick-open-path`},e.path))})));function n(e){t(),r(e)}function l(e){let t=a.$results.value;if(e.key===`ArrowDown`)e.preventDefault(),o.value=Math.min(o.value+1,t.length-1);else if(e.key===`ArrowUp`)e.preventDefault(),o.value=Math.max(o.value-1,0);else if(e.key===`Enter`){e.preventDefault();let r=t[o.value];r&&n(r)}}}function u(e){a.$query.value=e.currentTarget.value,o.value=0,c0({state:a,searchers:t,roots:n.value})}function d(){let e=a.$cloudOpen.value===!1;a.$cloudOpen.value=e,e&&mY(a)}}console.log({type:`tracer`});var h0=T(250),g0=T(Number(localStorage.getItem(`sideSplit`))||50);function _0(e){let t=Math.min(Math.max(e,10),90);g0.value=t,localStorage.setItem(`sideSplit`,t)}async function v0(e,t){localStorage.getItem(`mode`);let n=[`Object explorer`],r=T(0),a=T(`explorer`),o=T([]),s=T(``),c=T(0),l=j1();E(()=>{let e=r.value;return n[e]}),n.map((e,t)=>E(()=>r.value===t?``:`display: none;`));let u=T([AJ(`left`)]),d=E(()=>u.value.map(e=>T(``))),f=E(()=>(m.value,`slim_scrollbar side_panes`)),p=T(window.innerWidth<640),m=T(!1),h=T(!1);E(()=>`--width: ${p.value?`100%`:`calc(100% - ${h0.value}px)`}; --left: ${p.value?`0`:`${h0.value}px`}`),window.$left_slided=p;let{openObject:g,setDom:_,previewContent:v,refreshObject:y,api:b}=$J({$sides:u,$active_side:c,$treeData:o,searchers:l,onMissing:x});function x(e){e.path?N1({message:`"${e.name||e.path}" no longer exists on disk.`,confirmLabel:`Refresh`,onConfirm:()=>QX(e)}):N1({message:`The folder "${e.root}" no longer exists and will be removed from the workspace.`,confirmLabel:`Remove`,hideCancel:!0,onConfirm:async()=>{await Zt(e.root,e.providerType),await P(),await M()}})}let S=eY({$sides:u,$active_side:c,openObject:g}),{oncontextmenu:C,OnContextMenu:w}=jJ({$sides:u,$active_side:c,openObject:g,$treeData:o,setDom:_,refreshObject:y,reloadProviders:P,$appMode:s});function D(){let e=[];return u.value.forEach(t=>{t.$openedObjects.value.forEach(t=>e.push(t.name))}),e}function O(e){let t=u.value[c.value],n=V(UY,{searchers:l,state:e,getOpenPaths:D,$treeData:o}),r={name:`Search: ${e.$query.value}`,objectKind:`searchEditor`,path:``,ext:``};_({dom:n,object:r,icon:`search`,side:t,viewMode:`render`},t)}async function k(e,t){let n=u.value[c.value];if(n){let r=n.$activeObject.value,a=e.source.kind===`local`?`local`:e.source.providerType,o=e.path.split(`/`).pop();if(!(r&&(r.providerType??``)===a&&(r.root??``)===e.root&&(r.path??``)===e.path)){let t;if(e.source.kind===`local`){let n=await Qt(e.source.handle,e.path),r=await n.getFile();t={providerType:a,root:e.root,path:e.path,name:o,file:r,handle:n}}else t={providerType:a,root:e.root,path:e.path,name:o};await g(void 0,{object:t})}n.$gotoLine.value={root:e.root,path:e.path,line:t.lineNumber,column:t.column,ts:Date.now()}}else console.error(`side is undefined`)}function A(){m0({searchers:l,$treeData:o,onPick:j})}async function j(e){if(u.value[c.value]){let t=e.source.kind===`local`?`local`:e.source.providerType,n;if(e.source.kind===`local`){let r=await Qt(e.source.handle,e.path),a=await r.getFile();n={providerType:t,root:e.root,path:e.path,name:e.name,file:a,handle:r}}else n={providerType:t,root:e.root,path:e.path,name:e.name};await g(void 0,{object:n})}else console.error(`side is undefined`)}document.addEventListener(`drop`,()=>h.value=!1),document.addEventListener(`dragend`,()=>h.value=!1);async function M(){let e=new URLSearchParams(location.search).has(`graph`)?`graph`:void 0,t=S.parseUrl(),n=new Set(o.value.map(e=>`${e.providerType}/${e.root}`));for(let e of t.sides)e.items=e.items.filter(e=>n.has(`${e.providerType}/${e.root}`)),e.activeIndex=e.items.length-1;t.sides=t.sides.filter(e=>e.items.length>0);let r=S.buildSides(t);S.syncUrl();for(let t=0;t<r.length;t++){let n=r[t].$activeObject.value;n&&await N(n,t,e)}}async function N(e,t,n){if(console.log(`[explorer] openRestoredObject`,{providerType:e?.providerType,root:e?.root,path:e?.path,sideIndex:t,mode:n}),e.providerType===`local`)if(await rn(e)){async function r(r){let a=`local:${e.root}`,o=await tn();for(let t of o)if(t.name===a){let n=await Qt(t.handle,e.path);n?(e.name=n.name,n.kind===`directory`?e.handle=n:e.file=await n.getFile()):e.notFound=!0;break}g(void 0,{object:e,mode:n,sideIndex:t})}N1({message:n===`graph`?`Open Graph for ${e.root}/${e.name}`:`Open ${e.name}`,onConfirm:r})}else x(e);else g(void 0,{object:e,mode:n,sideIndex:t})}async function P(){let e=await LG(`/api/meta`,{},{}),t=e.favorites||[];s.value=e.appMode;let n=(await tn()).filter(e=>!e.hidden).map(e=>({...e,children:[],needRequestPermission:!0}));o.value=[...t,...n],console.log(`[add-folder] reloadProviders: backend=`,t.map(e=>e.root),`local=`,n.map(e=>e.root),`total tree=`,o.value.length)}function F(){s.value===`instant`?qt().then(P):t0({onAdded:P})}function I(e){let t=document.getElementById(`sides-container`).getBoundingClientRect();_0((e-t.left)/t.width*100)}fn(async()=>{await P(),M(),new URLSearchParams(location.search).has(`animate`)&&nY({itemToObject:S.itemToObject,openRestoredObject:N}),window.addEventListener(`popstate`,e=>{M(e.state?.path??location.pathname)}),window.addEventListener(`keydown`,e=>{(e.metaKey||e.ctrlKey)&&e.key===`p`&&(e.preventDefault(),A())}),window.addEventListener(`message`,e);function e(e){let{data:t}=e;if(t?.type===`iframe-pointdown`){let{sideName:e}=t;u.value.some((t,n)=>{if(t.name===e)return c.value=n,!1})}console.log(e)}});function ee(e){a.value=`search`,requestAnimationFrame(()=>{document.getElementById(`panel-search-input`).focus()})}return B(`div`,{id:`app`,class:`full flex monaco-workbench`,style:{overflow:`hidden`,"--left-sidebar-width":h0,"font-size":`14px`,"--1px":`${(1/window.devicePixelRatio).toString(2)}px`}},B(`aside`,{class:{sidebar:!0,$left_slided:p,$dragover:h},style:{height:`100%`},id:`sidebar`},B(`header`,{class:`sidebar-header active`,style:`display: flex; align-items: center;`},B(`span`,{style:`display: flex; gap: 0; align-items: center;`,class:E(()=>`tab-title ${a.value===`explorer`?`selected`:``}`),onclick:()=>a.value=`explorer`},B(`span`,{style:`display: inline-block; width: 1.2em; `},B(`img`,{src:Pr()+`img/64.png`,style:`width: 100%; top: 1px;`})),B(`span`,null,`xplorer`)),B(`span`,{class:E(()=>`tab-title ${a.value===`search`?`selected`:``}`),onclick:ee},`Search`),B(`span`,{style:`flex-grow: 1;`}),B(`span`,{onclick:F,class:`icon`,title:`Add favorite`},B(gt,null)),B(`span`,{onclick:()=>p.value=!1,class:`icon expand`},B(ht,null)),B(`span`,{style:`font-size: 1.2em;`,onclick:()=>p.value=!0,class:`icon collapse`},B(mt,null))),B(`div`,{class:f,style:`overflow-y: auto; overflow-x: clip`},B(`div`,{style:E(()=>a.value===`explorer`?``:`display: none`)},B($X,{$tree:o,openObject:g,refreshObject:y,OnContextMenu:w,api:b})),B(`div`,{style:E(()=>a.value===`search`?``:`display: none`)},B(HY,{searchers:l,openSearchEditor:O,openSearchHit:k,getOpenPaths:D,$treeData:o})))),B(WY,{elementId:`sidebar`,minWidth:150,maxWidth:500}),B(`div`,{id:`sides-container`,style:`display: flex; flex-grow: 1; min-width: 0;`},B(H,{each:u,incremental:!0},(e,t)=>{let n=d[t],r=E(()=>u.value.length-1===t),a=E(()=>u.value.length>1),o=E(()=>u.value.length>1?t===0?`${g0.value}%`:`${100-g0.value}%`:`100%`);return B(GX,{side:e,id:t,$active_side:c,$activeTab:n,$rightmost:r,$multiSide:a,$width:o,onDragSplit:I,setDom:_,previewContent:v,openObject:g,OnContextMenu:w,api:b,explorerState:S})})))}document.readyState===`loading`?add_event_listener(document,`DOMContentLoaded`,y0):y0().then(()=>{console.log(`ready`)});async function y0(){let e=document.getElementById(`app`);console.log({$app:e}),pt(await ft(v0,{app:e}),e)}
|
|
1953
|
+
`);h=e.pop();for(let t of e)t&&x(JSON.parse(t))}}}catch(e){console.warn(e),b={error:e}}return b;function x(e){let{type:t,result:n}=e;switch(t){case`indexMatch`:return m(n);case`contentMatch`:return h(n);case`contentFirstMatch`:return g(n);case`fileMore`:return _(n);case`oversize`:return v(n);case`rootFinished`:return y(n);case`finished`:b=n;return;default:console.warn(e)}}}}function M1(){}function N1(e){let{message:t,onConfirm:n=()=>{},onClose:r=()=>{},confirmLabel:a=`Open`,hideCancel:o=!1}=e,s=V(()=>B(`dialog`,{class:`prompt-dialog`,onClose:u,onclick:c,oncancel:l},B(`p`,{class:`prompt-dialog-message`},t),B(`div`,{class:`prompt-dialog-footer`},B(`button`,{class:`prompt-dialog-btn prompt-dialog-btn-confirm`,onClick:()=>{u(),n()}},a),o?``:B(`button`,{class:`prompt-dialog-btn`,onClick:u},`Cancel`))));document.body.appendChild(s),s.showModal();function c(e){if(!o){let{clientX:t,clientY:n}=e,{left:r,top:a,right:o,bottom:c}=s.getBoundingClientRect();(t<r||t>o||n<a||n>c)&&u()}}function l(e){o&&e.preventDefault()}function u(){s.close(),s.remove()}}async function P1(e,t){let n=await fetch(e,t),r=await n.text();if(n.ok)try{return JSON.parse(r)}catch(t){throw console.warn(`provider api: answer is not json`,e,r,t),Error(`${e} answered with something that is not JSON: ${r.slice(0,200)}`)}throw console.warn(`provider api failed`,e,n.status,r),Error(`${e} answered ${n.status}: ${r.slice(0,200)}`)}function F1(e,t){return P1(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})}async function I1(e){return P1(`/api/providers/authStatus?providerType=${e}`)}async function L1(e,t){return F1(`/api/providers/login`,{providerType:e,method:t})}async function R1(e){return F1(`/api/providers/cancelLogin`,{providerType:e})}async function z1(e){return P1(`/api/providers/tools${e?`?refresh=true`:``}`)}async function B1(e){return F1(`/api/providers/installTool`,{providerType:e})}async function V1(e,t){return F1(`/api/providers/connect`,{providerType:e,secret:t})}async function H1(e){let t=await P1(`/api/${e}/`);return t&&t.payload&&t.payload.children||[]}function U1(e,t){let n=0,r=setInterval(async function(){n+=1;try{let r=await I1(e),o=!r.authed&&n>60,s=r.authed||r.loginError||o;t(r,s,o),s&&a()}catch(n){console.warn(`pollUntilAuthed`,e,n),a(),t({authed:!1,loginError:n.message},!0,!1)}},2e3);function a(){clearInterval(r)}return a}function W1(e){let{$tried:t}=e,n=T(!1),r=E(()=>t.value.length>0),a=E(()=>n.value?`Hide what was checked`:`What was checked`);return B(G,{when:r},B(`a`,{class:`provider-config-link`,onclick:()=>n.value=!n.value},a),B(G,{when:n},B(`div`,{class:`provider-config-tried`},B(H,{each:t},function(e){return B(`div`,{class:`provider-config-try ${e.skipped?`skipped`:e.ok?`ok`:`fail`}`},B(`span`,{class:`provider-config-try-mark`},e.skipped?`–`:e.ok?`✓`:`✗`),B(`span`,{class:`provider-config-try-label`},e.label),B(`code`,{class:`provider-config-try-cmd`},e.cmd),e.error?B(`div`,{class:`provider-config-try-error`},e.error):null)}))))}function G1(e,t){let{providerType:n,legend:r,placeholder:a,$message:o,onConnected:s}=e,c=T(``),l=T(!1),u=T(!1),d=E(()=>`provider-config-drop ${u.value?`dragover`:``}`),f=E(()=>l.value||c.value.trim().length===0),p=E(()=>l.value?`Connecting…`:`Connect`);async function m(){o.value=``,l.value=!0;let e={ok:!1};try{e=await V1(n,c.value)}catch(t){console.warn(`ProviderSecret connect`,n,t),e={ok:!1,message:t.message}}l.value=!1,e.ok?(c.value=``,await s()):o.value=e.message||`Could not connect.`}function h(e){e.preventDefault(),u.value=!0}function g(e){e.currentTarget.contains(e.relatedTarget)||(u.value=!1)}async function _(e){e.preventDefault(),u.value=!1;let t=e.currentTarget.querySelector(`textarea`),n=e.dataTransfer.files[0];if(n){let e=await n.text();t.value=e,c.value=e,await m()}}return B(`fieldset`,{class:`provider-config-card`},B(`legend`,null,r),B(`div`,{class:d,ondragover:h,ondragleave:g,ondrop:_},B(`textarea`,{class:`provider-config-input`,id:`provider-secret-${n}`,rows:`3`,placeholder:a,oninput:e=>c.value=e.currentTarget.value})),B(`button`,{class:`provider-config-btn`,id:`provider-connect-${n}`,onclick:m,disabled:f},p),t)}var K1=`aws-s3`;function q1(e){let{status:t,onConnected:n}=e,r=T(``),a=T(null),o=T([]),s=T(!1),c=T(``),l=T(!1),u=T(!1),d=T(``),f=E(()=>r.value===`connected`),p=E(()=>r.value===`needsAuth`),m=E(()=>p.value&&!s.value),h=E(()=>d.value!==``),g=null;return y(t),pX(_,{clazz:`provider-config`,id:`provider-config-dialog-${K1}`,header:B(`div`,{class:`provider-config-heading-row`},B(`span`,{class:`provider-config-icon`},B(U,{name:`s3`})),B(`div`,{class:`provider-config-heading`},B(`div`,{class:`provider-config-title`},`Connect to Amazon S3`))),onClose:()=>n(g)});function _(e){let{close:t}=e;return B(`div`,{class:`dialog-body`},B(G,{when:f},B(`div`,{class:`provider-config-identity`},B(`span`,{class:`provider-config-identity-mark`},`✓`),B(`div`,null,B(`div`,{class:`provider-config-identity-user`},`Connected as `,E(()=>v(`user`))),B(`div`,{class:`provider-config-identity-note`},`Account `,E(()=>v(`account`)),` · via `,E(()=>v(`source`))))),B(`button`,{class:`provider-config-btn`,onclick:t},`Continue`)),B(G,{when:p},B(G,{when:s},B(`div`,{class:`provider-config-expired`},B(`div`,{class:`provider-config-expired-text`},`Your AWS session expired. Sign in again below.`),B(G,{when:l},B(`code`,{class:`provider-config-expired-detail`},c)),B(`a`,{class:`provider-config-link`,onclick:()=>l.value=!l.value},E(()=>l.value?`Hide details`:`Show details`)))),B(G,{when:m},B(`div`,{class:`provider-config-intro`},`We couldn't find AWS credentials automatically. Paste or drop an access key below.`)),B(G1,{providerType:K1,legend:`Access key`,$message:d,onConnected:b,placeholder:`Access key ID, Secret access key
|
|
1954
|
+
AKIA…,wJal…`},B(`button`,{class:`provider-config-expander`,onclick:()=>u.value=!u.value},`Don't have a key? Create one`,B(`span`,{class:E(()=>`provider-config-expander-arrow ${u.value?`open`:``}`)},`▾`)),B(G,{when:u},B(`div`,{class:`provider-config-help`},B(`div`,null,`1. Open `,B(`a`,{href:`https://console.aws.amazon.com/iam/home#/security_credentials`,target:`_blank`,rel:`noopener`},`IAM → Security credentials`)),B(`div`,null,`2. Click "Create access key"`),B(`div`,null,`3. Copy the Access key ID and Secret access key, and paste both above`)))),B(W1,{$tried:o})),B(G,{when:h},B(`div`,{class:`provider-config-message`},d)))}function v(e){return(a.value||{})[e]||``}function y(e){e?(g=e,a.value=e.identity||null,o.value=e.tried||[],s.value=!!e.expired,c.value=e.expiredDetail||``,e.authed?r.value=`connected`:r.value=`needsAuth`):r.value=`needsAuth`}async function b(){try{y(await I1(K1))}catch(e){console.warn(`AWS probe`,e),d.value=e.message,r.value=`needsAuth`}}}function J1({providerType:e,$loggingIn:t,$loginOutput:n,$message:r,onStatus:a}){let o=null;function s(){t.value?l():c()}async function c(){r.value=``,n.value=``,t.value=!0;let s={ok:!1};try{s=await L1(e)}catch(t){console.warn(`startLogin`,e,t),s={ok:!1,message:t.message}}s.ok?o=U1(e,function(e,n,s){a(e),n&&(t.value=!1,o=null),s&&(r.value=`The browser sign-in didn't complete. Finish it in the browser tab and try again.`)}):(t.value=!1,r.value=s.message||s.error||`Login is not available.`)}async function l(){o&&=(o(),null),t.value=!1,n.value=``;try{await R1(e)}catch(t){console.warn(`abortLogin`,e,t)}}return{onSignIn:s,abortLogin:l}}var Y1=`azure`;function X1(e){let{status:t,onConnected:n}=e,r=T(``),a=T([]),o=T(!1),s=T(``),c=T(``),l=E(()=>r.value===`connected`),u=E(()=>r.value===`needsAuth`),d=E(()=>s.value!==``),f=E(()=>c.value!==``),p=E(()=>o.value?`Waiting for browser login… Cancel`:`Sign in with Microsoft`),m=E(()=>l.value?`You're all set`:`Two ways to sign in`),{onSignIn:h,abortLogin:g}=J1({providerType:Y1,$loggingIn:o,$loginOutput:s,$message:c,onStatus:y}),_=null;return y(t),pX(v,{clazz:`provider-config`,id:`provider-config-dialog-${Y1}`,header:B(`div`,{class:`provider-config-heading-row`},B(`span`,{class:`provider-config-icon`},B(U,{name:`azure`})),B(`div`,{class:`provider-config-heading`},B(`div`,{class:`provider-config-title`},`Connect to Azure Storage`),B(`div`,{class:`provider-config-subtitle`},m))),onClose:x});function v(e){let{close:t}=e;return B(`div`,{class:`dialog-body`},B(G,{when:l},B(`div`,{class:`provider-config-identity`},B(`span`,{class:`provider-config-identity-mark`},`✓`),B(`div`,null,B(`div`,{class:`provider-config-identity-user`},`Connected to Azure Storage`),B(`div`,{class:`provider-config-identity-note`},`Your accounts are ready to browse`))),B(`button`,{class:`provider-config-btn`,onclick:t},`Continue`)),B(G,{when:u},B(`div`,{class:`provider-config-intro`},`We couldn't find Azure credentials automatically. Choose how you'd like to sign in:`),B(`fieldset`,{class:`provider-config-card`},B(`legend`,null,B(`span`,null,`Sign in with Microsoft`),B(`span`,{class:`provider-config-badge`},`RECOMMENDED`)),B(`div`,{class:`provider-config-card-note`},`This sign-in happens inside the app — no CLI to install. It opens your browser for your Microsoft account, and keeps the session so your storage accounts stay available.`),B(`button`,{class:`provider-config-btn`,onclick:h},p)),B(G1,{providerType:Y1,legend:`Account key`,$message:c,onConnected:b,placeholder:`DefaultEndpointsProtocol=https;AccountName=…;AccountKey=…
|
|
1955
|
+
or https://<account>.blob.core.windows.net/?sv=…&sig=…`},B(`a`,{class:`provider-config-link`,href:`https://learn.microsoft.com/azure/storage/common/storage-account-keys-manage`,target:`_blank`,rel:`noopener`},`Where do I find this?`)),B(W1,{$tried:a})),B(G,{when:d},B(`pre`,{class:`provider-config-output`},s)),B(G,{when:f},B(`div`,{class:`provider-config-message`},c)))}function y(e){e?(_=e,a.value=e.tried||[],s.value=e.loginOutput||e.loginError||``,e.authed?r.value=`connected`:r.value=`needsAuth`):r.value=`needsAuth`}async function b(){try{y(await I1(Y1))}catch(e){console.warn(`Azure probe`,e),c.value=e.message,r.value=`needsAuth`}}function x(){o.value&&g(),n(_)}}function Z1(e){let{$tool:t,providerType:n,label:r}=e,a=T(!1),o=T(!1),s=T(!1),c=T(``),l=E(()=>!!t.value&&!t.value.available),u=E(()=>(t.value||{}).installCmd||``),d=E(()=>(t.value||{}).docLink||``),f=E(()=>(t.value||{}).installNote||`Signing in through the browser runs this CLI, so it has to be on this machine first. It installs for your user only — no administrator password.`),p=E(()=>!!(t.value||{}).canInstall),m=E(()=>p.value&&!a.value),h=E(()=>o.value?`Copied`:`Copy command`),g=E(()=>p.value?`Install it yourself instead`:`Install the ${r}`),_=E(()=>a.value?`Installing in Terminal…`:`Install the ${r}`),v=null,y=null;function b(){x(),v=setInterval(async function(){try{let e=(await z1(!0))[n];e&&e.available&&(x(),a.value=!1,t.value=e)}catch(e){console.warn(`ProviderCli poll`,n,e),x(),a.value=!1}},3e3),y=setTimeout(function(){s.value=!0},12e4)}function x(){v&&=(clearInterval(v),null),y&&=(clearTimeout(y),null),s.value=!1}async function S(){a.value=!0,c.value=``;let e={ok:!1};try{e=await B1(n)}catch(t){console.warn(`ProviderCli install`,n,t),e={ok:!1,message:t.message}}e.ok?b():(a.value=!1,c.value=e.message||`The install could not be started.`)}function C(){navigator.clipboard.writeText(u.value).then(function(){o.value=!0,setTimeout(function(){o.value=!1},1500)}).catch(function(e){console.warn(`ProviderCli copyCommand`,e)})}return B(G,{when:l},B(`fieldset`,{class:`provider-config-card`},B(`legend`,null,B(`span`,null,r,` not installed`)),B(`div`,{class:`provider-config-card-note`},f),B(`code`,{class:`provider-config-cli-cmd`},u),B(`div`,{class:`provider-config-cli-actions`},B(G,{when:p},B(`button`,{class:`provider-config-btn`,onclick:S,disabled:E(()=>!m.value)},_)),B(`button`,{class:`provider-config-btn secondary`,onclick:C},h)),B(G,{when:a},B(`div`,{class:`provider-config-card-note`},`Finish the install in the Terminal window. This dialog unlocks as soon as the command is found.`)),B(G,{when:s},B(`div`,{class:`provider-config-card-note`},`Still nothing. A big installer can take this long — but antivirus can also block an install started this way. Copy the command and run it yourself, or use the link below.`)),B(G,{when:c},B(`div`,{class:`provider-config-card-note`},c)),B(`a`,{class:`provider-config-link`,href:d,target:`_blank`,rel:`noopener`},g)))}var Q1=`gcp-gcs`;function $1(e){let{status:t,tool:n,onConnected:r}=e,a=T(``),o=T([]),s=T(!1),c=T(``),l=T(``),u=T(n),d=T(!1),f=E(()=>a.value===`connected`),p=E(()=>a.value===`needsAuth`),m=E(()=>c.value!==``),h=E(()=>l.value!==``),g=E(()=>!!u.value&&!u.value.available),_=E(()=>s.value?`Waiting for browser login… Cancel`:`gcloud auth application-default login`),v=E(()=>f.value?`You're all set`:`Sign in to continue`),{onSignIn:y,abortLogin:b}=J1({providerType:Q1,$loggingIn:s,$loginOutput:c,$message:l,onStatus:C}),x=null;return C(t),pX(S,{clazz:`provider-config`,id:`provider-config-dialog-${Q1}`,header:B(`div`,{class:`provider-config-heading-row`},B(`span`,{class:`provider-config-icon`},B(U,{name:`gcp-storagebucket`})),B(`div`,{class:`provider-config-heading`},B(`div`,{class:`provider-config-title`},`Connect to Google Cloud Storage`),B(`div`,{class:`provider-config-subtitle`},v))),onClose:D});function S(e){let{close:t}=e;return B(`div`,{class:`dialog-body`},B(G,{when:f},B(`div`,{class:`provider-config-identity`},B(`span`,{class:`provider-config-identity-mark`},`✓`),B(`div`,null,B(`div`,{class:`provider-config-identity-user`},`Connected to Google Cloud`),B(`div`,{class:`provider-config-identity-note`},`Your buckets are ready to browse`))),B(`button`,{class:`provider-config-btn`,onclick:t},`Continue`)),B(G,{when:p},B(`div`,{class:`provider-config-intro`},`We couldn't find Google Cloud credentials automatically. Sign in, or paste a service account key:`),B(Z1,{$tool:u,providerType:Q1,label:`Google Cloud CLI`}),B(`fieldset`,{class:`provider-config-card`},B(`legend`,null,B(`span`,null,`Sign in with gcloud`),B(`span`,{class:`provider-config-badge`},`RECOMMENDED`),B(`span`,{class:`provider-config-hint`,title:`GCS reads Application Default Credentials from ~/.config/gcloud. This command writes them.`},`?`)),B(`div`,{class:`provider-config-card-note`},`This opens your browser to sign in to Google, then writes Application Default Credentials that ObjectExplorer reads directly.`),B(`button`,{class:`provider-config-btn`,onclick:y,disabled:g},_)),B(G1,{providerType:Q1,legend:`Service account key`,$message:l,onConnected:w,placeholder:`Paste the service account JSON, or drop the .json file here`},B(`button`,{class:`provider-config-expander`,onclick:()=>d.value=!d.value},`Don't have a key? Create one`,B(`span`,{class:E(()=>`provider-config-expander-arrow ${d.value?`open`:``}`)},`▾`)),B(G,{when:d},B(`div`,{class:`provider-config-help`},B(`div`,null,`1. Open `,B(`a`,{href:`https://console.cloud.google.com/iam-admin/serviceaccounts`,target:`_blank`,rel:`noopener`},`IAM → Service accounts`)),B(`div`,null,`2. Pick a service account with Storage access, then Keys → Add key → Create new key → JSON`),B(`div`,null,`3. Drop the downloaded .json above, or paste what is in it`)))),B(W1,{$tried:o})),B(G,{when:m},B(`pre`,{class:`provider-config-output`},c)),B(G,{when:h},B(`div`,{class:`provider-config-message`},l)))}function C(e){e?(x=e,o.value=e.tried||[],c.value=e.loginOutput||e.loginError||``,e.authed?a.value=`connected`:a.value=`needsAuth`):a.value=`needsAuth`}async function w(){try{C(await I1(Q1))}catch(e){console.warn(`GCP probe`,e),l.value=e.message,a.value=`needsAuth`}}function D(){s.value&&b(),r(x)}}var e0={"aws-s3":q1,azure:X1,"gcp-gcs":$1};function t0(e){let{onAdded:t}=e,n=T(new Set),r=T([]),a=T(``),o=T({});return c(),l(),pX(s,{header:`Add a Favorite`,style:`width: 460px;`,id:`add-favorite-dialog`});function s(){return B(`div`,{class:`add-favorite-body`},B(H,{each:r},function(e){return B(n0,{provider:e,$favKeys:n,$tools:o,onChanged:t})}),B(r0,{onChanged:t,$appMode:a}))}async function c(){let e=await fetch(`/api/meta`).then(e=>e.json()),t=(e.favorites||[]).filter(e=>e.objectKind===`bucket`).map(e=>`${e.providerType}:${e.root}`);n.value=new Set(t),r.value=e.providers||[],a.value=e.appMode}async function l(){try{o.value=await z1()}catch(e){console.warn(`loadTools`,e),o.value={}}}}function n0(e){let{provider:t,$favKeys:n,$tools:r,onChanged:a}=e,o=T(!1),s=T(!1),c=T(!1),l=T(!1),u=T(null),d=T([]),f=E(()=>o.value&&s.value),p=E(()=>o.value&&!s.value&&l.value),m=E(()=>p.value&&u.value!==null),h=E(()=>c.value&&!s.value&&!l.value&&!!e0[t.providerType]),g=E(()=>s.value?`probing`:c.value&&l.value?`ok`:``),_=E(()=>g.value!==``);function v(e){return(u.value||{})[e]||``}function y(){o.value=!o.value}let b=null;async function x(e){s.value=!0,e?(b=e,l.value=e.authed,u.value=e.identity||null,e.authed&&(d.value=await H1(t.providerType))):l.value=!1,c.value=!0,s.value=!1}async function S(){s.value=!0;try{await x(await I1(t.providerType))}catch(e){console.warn(`probe`,t.providerType,e),await x(null)}}S();function C(e){e.stopPropagation();let n=e0[t.providerType];n({status:b,tool:r.value[t.providerType]||null,onConnected:w})}async function w(e){await x(e),l.value&&(o.value=!0)}async function D(e,t){let r=`${e.providerType}:${e.root}`;await fetch(t?`/api/favorites/add`:`/api/favorites/remove`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerType:e.providerType,root:e.root,label:e.root})});let o=new Set(n.value);t?o.add(r):o.delete(r),n.value=o,a&&a()}return B(`div`,{class:`add-favorite-provider`,id:`provider-${t.providerType}`,"data-provider":t.label},B(`div`,{class:`add-favorite-row`,id:`provider-row-${t.providerType}`,onclick:y},B(`span`,{class:E(()=>`add-favorite-caret ${o.value?`expanded`:``}`)},B(U,{name:`chevron-right`})),B(`span`,{class:`add-favorite-icon`},B(U,{name:t.icon})),B(`span`,{class:`add-favorite-label`},t.label),B(G,{when:h},B(`span`,{class:`add-favorite-config`,id:`provider-config-${t.providerType}`,onclick:C},B(U,{name:`settings-gear`}))),B(G,{when:_},B(`span`,{class:E(()=>`add-favorite-mark ${g.value}`),id:`provider-mark-${t.providerType}`}))),B(G,{when:f},B(`div`,{class:`add-favorite-checking`},B(`span`,{class:`add-favorite-spinner`}),B(`div`,{class:`add-favorite-checking-title`},`Looking for `,t.label,` credentials on this machine…`))),B(G,{when:m},B(`div`,{class:`add-favorite-identity`},B(`span`,{class:`add-favorite-identity-mark`},`✓`),B(`div`,null,B(`div`,{class:`add-favorite-identity-user`},`Connected as `,E(()=>v(`user`))),B(`div`,{class:`add-favorite-identity-note`},`Account `,E(()=>v(`account`)),` · via `,E(()=>v(`source`)))))),B(G,{when:p},B(H,{each:d,Empty:()=>B(`div`,{class:`add-favorite-status`},`No buckets found`)},function(e){return B(`label`,{class:`add-favorite-check-row`},B(`input`,{type:`checkbox`,id:`bucket-${e.providerType}-${e.root}`,checked:E(()=>n.value.has(`${e.providerType}:${e.root}`)),onchange:t=>D(e,t.currentTarget.checked)}),B(`span`,{class:`add-favorite-label`},e.root))})))}function r0(e){let{onChanged:t,$appMode:n}=e,r=T(!1),a=T([]);o();async function o(){let e=await Vt(),t=await tn();a.value=[...e,...t]}function s(e){e.stopPropagation(),r.value=!r.value}async function c(){let e=n.value!==`instant`;console.log(`[add-folder] pickFolder: start, appMode=`,n.value);try{if(e)await Bt(),r.value=!0,await o(),console.log(`[add-folder] pickFolder: folders now`,a.value.map(e=>e.root)),t&&t();else{console.log(`[add-folder] pickFolder: web -> showDirectoryPicker() ...`);let e=await window.showDirectoryPicker();console.log(`[add-folder] pickFolder: picked`,e&&e.name),e&&(await Jt(e),r.value=!0,await o(),console.log(`[add-folder] pickFolder: folders now`,a.value.map(e=>e.root)),t&&t())}}catch(e){console.error(`[add-folder] pickFolder: FAILED name=`,e&&e.name,`message=`,e&&e.message),console.error(`[add-folder] pickFolder: full error object ->`,e)}}async function l(e,n){e.handle?await Yt(e.handle,n):await Ht(e.root,n),await o(),t&&t()}function u(e,t){e.currentTarget.checked?l(t,!1):l(t,!0)}return B(`div`,{class:`add-favorite-provider`,id:`provider-local`},B(`div`,{class:`add-favorite-row`,id:`provider-row-local`},B(`span`,{class:E(()=>`add-favorite-caret ${r.value?`expanded`:``}`),id:`provider-toggle-local`,onclick:s},B(U,{name:`chevron-right`})),B(`span`,{class:`add-favorite-icon`},B(U,{name:`folder-opened`})),B(`span`,{class:`add-favorite-label`},`Local folder`),B(`span`,{class:`add-favorite-config`,id:`local-folder-add`,onclick:c},B(U,{name:`add`}))),B(H,{each:a,$expanded:r,Empty:()=>B(`div`,{class:`add-favorite-status`},`No local folders`)},function(e){return B(`label`,{class:`add-favorite-check-row`},B(`input`,{type:`checkbox`,id:`folder-${e.root}`,checked:!e.hidden,onchange:t=>u(t,e)}),B(`span`,{class:`add-favorite-label`},e.label||e.root))}))}function i0(){return{$query:T(``),$results:T([]),$searching:T(!1),$excludes:T(`node_modules, dist, .git, .venv, build`),$useIgnoreFile:T(!0),$cloudOpen:T(!1),$cloud:T([]),runId:0}}function a0(e){let t=[];for(let n of e)n.handle?t.push({kind:`local`,root:n.root||n.name,handle:n.handle}):n.providerType&&n.providerType!==`local`&&n.root&&t.push({kind:`backend`,providerType:n.providerType,root:n.root});return t}function o0(e){let t=new Map;for(let n of a0(e))t.set(n.root,n);let n=[];for(let e of ZJ()){let r=t.get(e.root);r&&n.push({root:e.root,path:e.path,name:e.name,score:0,source:r})}return n}var s0=null;function c0(e){clearTimeout(s0),s0=setTimeout(()=>l0(e),150)}async function l0(e){let{state:t,searchers:n,roots:r}=e,a=t.$query.value,o=t.runId+1;if(t.runId=o,a){t.$searching.value=!0;let e=new Map,s=[...vY(r),...yY(t,`cached`,!1)];for(let r of s)if(t.runId===o){let s=n=>p0(t,o,e,r,n);r.kind===`local`?(await n.ensureNameIndex({containerHandle:r.handle}),await n.search({containerHandle:r.handle,query:a,flags:`ig`,indexSearchOnly:!0,onIndexMatch:s,onContentMatch(){},onContentFirstMatch(){}})):await n.search({providerType:r.providerType,root:r.root,mode:`cached`,query:a,flags:`ig`,onIndexMatch:s,onContentMatch(){},onContentFirstMatch(){}})}t.runId===o&&(t.$searching.value=!1)}else t.$results.set(o0(r))}function u0(e,t){let n=e.toLowerCase();return t.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).every(e=>n.includes(e))}function d0(e,t){return t.split(`,`).map(e=>e.trim()).filter(Boolean).some(t=>e.includes(t))}function f0(e,t){let n=e.replace(/\.[^.]+$/,``);return n===t?3:n.toLowerCase()===t.toLowerCase()?2:+!!e.toLowerCase().startsWith(t.toLowerCase())}function p0(e,t,n,r,a){if(e.runId===t){let t=String(a.path).replace(/^\//,``),o=r.kind===`local`?`${r.root}/${t}`:t,s=o.indexOf(`/`),c=s>=0?o.slice(0,s):o,l=s>=0?o.slice(s+1):o,u=l.split(`/`).pop(),d=e.$query.value;if(u0(u,d)&&d0(o,e.$excludes.value)===!1){n.set(o,{root:c,path:l,name:u,score:a.score||0,source:r});let t=Array.from(n.values()).sort((e,t)=>{let n=f0(t.name,d)-f0(e.name,d);return n===0?t.score-e.score:n}).slice(0,50);e.$results.set(t)}}}function m0(e){let{searchers:t,$treeData:n,onPick:r}=e,a=i0();a.$results.set(o0(n.value));let o=T(0);A(()=>{let e=n?n.value:[];lY(a,e),mY(a)});let s=E(()=>V(U,{name:a.$cloudOpen.value?`chevron-down`:`chevron-right`,size:16})),c=E(()=>{let e=a.$cloud.value;return a.$cloudOpen.value?V(NY,{state:a,providers:e}):V(function(){return B(`span`,null)},{})});return pX(l,{clazz:`quick-open`});function l(e){let{close:t}=e;return B(`div`,{class:`quick-open-body`,onkeydown:l},B(`input`,{class:`quick-open-input`,placeholder:`Search files by name`,autofocus:!0,oninput:u}),B(`div`,{class:`search-extra quick-open-extra`,style:`margin-left: 7px`},B(`div`,{class:`search-label search-label-toggle`},B(`span`,{class:`search-remote-label`,onclick:d},B(`span`,{class:`search-chevron`,$dom:s}),B(`span`,null,`remote storage`))),B(`div`,{class:`search-cloud`,$dom:c})),B(`div`,{class:`quick-open-list slim_scrollbar`},B(H,{each:a.$results,Empty:()=>B(`div`,{class:`quick-open-empty`},`No matching files`)},function(e,t){return B(`div`,{class:E(()=>`quick-open-row ${o.value===t?`selected`:``}`),onclick:()=>n(e)},B(`span`,{class:`quick-open-name`},e.name),B(`span`,{class:`quick-open-path`},e.path))})));function n(e){t(),r(e)}function l(e){let t=a.$results.value;if(e.key===`ArrowDown`)e.preventDefault(),o.value=Math.min(o.value+1,t.length-1);else if(e.key===`ArrowUp`)e.preventDefault(),o.value=Math.max(o.value-1,0);else if(e.key===`Enter`){e.preventDefault();let r=t[o.value];r&&n(r)}}}function u(e){a.$query.value=e.currentTarget.value,o.value=0,c0({state:a,searchers:t,roots:n.value})}function d(){let e=a.$cloudOpen.value===!1;a.$cloudOpen.value=e,e&&mY(a)}}console.log({type:`tracer`});var h0=T(250),g0=T(Number(localStorage.getItem(`sideSplit`))||50);function _0(e){let t=Math.min(Math.max(e,10),90);g0.value=t,localStorage.setItem(`sideSplit`,t)}async function v0(e,t){localStorage.getItem(`mode`);let n=[`Object explorer`],r=T(0),a=T(`explorer`),o=T([]),s=T(``),c=T(0),l=j1();E(()=>{let e=r.value;return n[e]}),n.map((e,t)=>E(()=>r.value===t?``:`display: none;`));let u=T([AJ(`left`)]),d=E(()=>u.value.map(e=>T(``))),f=E(()=>(m.value,`slim_scrollbar side_panes`)),p=T(window.innerWidth<640),m=T(!1),h=T(!1);E(()=>`--width: ${p.value?`100%`:`calc(100% - ${h0.value}px)`}; --left: ${p.value?`0`:`${h0.value}px`}`),window.$left_slided=p;let{openObject:g,setDom:_,previewContent:v,refreshObject:y,api:b}=$J({$sides:u,$active_side:c,$treeData:o,searchers:l,onMissing:x});function x(e){e.path?N1({message:`"${e.name||e.path}" no longer exists on disk.`,confirmLabel:`Refresh`,onConfirm:()=>QX(e)}):N1({message:`The folder "${e.root}" no longer exists and will be removed from the workspace.`,confirmLabel:`Remove`,hideCancel:!0,onConfirm:async()=>{await Zt(e.root,e.providerType),await P(),await M()}})}let S=eY({$sides:u,$active_side:c,openObject:g}),{oncontextmenu:C,OnContextMenu:w}=jJ({$sides:u,$active_side:c,openObject:g,$treeData:o,setDom:_,refreshObject:y,reloadProviders:P,$appMode:s});function D(){let e=[];return u.value.forEach(t=>{t.$openedObjects.value.forEach(t=>e.push(t.name))}),e}function O(e){let t=u.value[c.value],n=V(UY,{searchers:l,state:e,getOpenPaths:D,$treeData:o}),r={name:`Search: ${e.$query.value}`,objectKind:`searchEditor`,path:``,ext:``};_({dom:n,object:r,icon:`search`,side:t,viewMode:`render`},t)}async function k(e,t){let n=u.value[c.value];if(n){let r=n.$activeObject.value,a=e.source.kind===`local`?`local`:e.source.providerType,o=e.path.split(`/`).pop();if(!(r&&(r.providerType??``)===a&&(r.root??``)===e.root&&(r.path??``)===e.path)){let t;if(e.source.kind===`local`){let n=await Qt(e.source.handle,e.path),r=await n.getFile();t={providerType:a,root:e.root,path:e.path,name:o,file:r,handle:n}}else t={providerType:a,root:e.root,path:e.path,name:o};await g(void 0,{object:t})}n.$gotoLine.value={root:e.root,path:e.path,line:t.lineNumber,column:t.column,ts:Date.now()}}else console.error(`side is undefined`)}function A(){m0({searchers:l,$treeData:o,onPick:j})}async function j(e){if(u.value[c.value]){let t=e.source.kind===`local`?`local`:e.source.providerType,n;if(e.source.kind===`local`){let r=await Qt(e.source.handle,e.path),a=await r.getFile();n={providerType:t,root:e.root,path:e.path,name:e.name,file:a,handle:r}}else n={providerType:t,root:e.root,path:e.path,name:e.name};await g(void 0,{object:n})}else console.error(`side is undefined`)}document.addEventListener(`drop`,()=>h.value=!1),document.addEventListener(`dragend`,()=>h.value=!1);async function M(){let e=new URLSearchParams(location.search).has(`graph`)?`graph`:void 0,t=S.parseUrl(),n=new Set(o.value.map(e=>`${e.providerType}/${e.root}`));for(let e of t.sides)e.items=e.items.filter(e=>n.has(`${e.providerType}/${e.root}`)),e.activeIndex=e.items.length-1;t.sides=t.sides.filter(e=>e.items.length>0);let r=S.buildSides(t);S.syncUrl();for(let t=0;t<r.length;t++){let n=r[t].$activeObject.value;n&&await N(n,t,e)}}async function N(e,t,n){if(console.log(`[explorer] openRestoredObject`,{providerType:e?.providerType,root:e?.root,path:e?.path,sideIndex:t,mode:n}),e.providerType===`local`)if(await rn(e)){async function r(r){let a=`local:${e.root}`,o=await tn();for(let t of o)if(t.name===a){let n=await Qt(t.handle,e.path);n?(e.name=n.name,n.kind===`directory`?e.handle=n:e.file=await n.getFile()):e.notFound=!0;break}g(void 0,{object:e,mode:n,sideIndex:t})}N1({message:n===`graph`?`Open Graph for ${e.root}/${e.name}`:`Open ${e.name}`,onConfirm:r})}else x(e);else g(void 0,{object:e,mode:n,sideIndex:t})}async function P(){let e=await LG(`/api/meta`,{},{}),t=e.favorites||[];s.value=e.appMode;let n=(await tn()).filter(e=>!e.hidden).map(e=>({...e,children:[],needRequestPermission:!0}));o.value=[...t,...n],console.log(`[add-folder] reloadProviders: backend=`,t.map(e=>e.root),`local=`,n.map(e=>e.root),`total tree=`,o.value.length)}function F(){s.value===`instant`?qt().then(P):t0({onAdded:P})}function I(e){let t=document.getElementById(`sides-container`).getBoundingClientRect();_0((e-t.left)/t.width*100)}fn(async()=>{await P(),M(),new URLSearchParams(location.search).has(`animate`)&&nY({itemToObject:S.itemToObject,openRestoredObject:N}),window.addEventListener(`popstate`,e=>{M(e.state?.path??location.pathname)}),window.addEventListener(`keydown`,e=>{(e.metaKey||e.ctrlKey)&&e.key===`p`&&(e.preventDefault(),A())}),window.addEventListener(`message`,e);function e(e){let{data:t}=e;if(t?.type===`iframe-pointdown`){let{sideName:e}=t;u.value.some((t,n)=>{if(t.name===e)return c.value=n,!1})}console.log(e)}});function ee(e){a.value=`search`,requestAnimationFrame(()=>{document.getElementById(`panel-search-input`).focus()})}return B(`div`,{id:`app`,class:`full flex monaco-workbench`,style:{overflow:`hidden`,"--left-sidebar-width":h0,"font-size":`14px`,"--1px":`${(1/window.devicePixelRatio).toString(2)}px`}},B(`aside`,{class:{sidebar:!0,$left_slided:p,$dragover:h},style:{height:`100%`},id:`sidebar`},B(`header`,{class:`sidebar-header active`,style:`display: flex; align-items: center;`},B(`span`,{style:`display: flex; gap: 0; align-items: center;`,class:E(()=>`tab-title ${a.value===`explorer`?`selected`:``}`),onclick:()=>a.value=`explorer`},B(`span`,{style:`display: inline-block; width: 1.2em; `},B(`img`,{src:Pr()+`img/64.png`,style:`width: 100%; top: 1px;`})),B(`span`,null,`xplorer`)),B(`span`,{class:E(()=>`tab-title ${a.value===`search`?`selected`:``}`),onclick:ee},`Search`),B(`span`,{style:`flex-grow: 1;`}),B(`span`,{onclick:F,id:`add-favorite`,class:`icon`,title:`Add favorite`},B(gt,null)),B(`span`,{onclick:()=>p.value=!1,class:`icon expand`},B(ht,null)),B(`span`,{style:`font-size: 1.2em;`,onclick:()=>p.value=!0,class:`icon collapse`},B(mt,null))),B(`div`,{class:f,style:`overflow-y: auto; overflow-x: clip`},B(`div`,{style:E(()=>a.value===`explorer`?``:`display: none`)},B($X,{$tree:o,openObject:g,refreshObject:y,OnContextMenu:w,api:b})),B(`div`,{style:E(()=>a.value===`search`?``:`display: none`)},B(HY,{searchers:l,openSearchEditor:O,openSearchHit:k,getOpenPaths:D,$treeData:o})))),B(WY,{elementId:`sidebar`,minWidth:150,maxWidth:500}),B(`div`,{id:`sides-container`,style:`display: flex; flex-grow: 1; min-width: 0;`},B(H,{each:u,incremental:!0},(e,t)=>{let n=d[t],r=E(()=>u.value.length-1===t),a=E(()=>u.value.length>1),o=E(()=>u.value.length>1?t===0?`${g0.value}%`:`${100-g0.value}%`:`100%`);return B(GX,{side:e,id:t,$active_side:c,$activeTab:n,$rightmost:r,$multiSide:a,$width:o,onDragSplit:I,setDom:_,previewContent:v,openObject:g,OnContextMenu:w,api:b,explorerState:S})})))}document.readyState===`loading`?add_event_listener(document,`DOMContentLoaded`,y0):y0().then(()=>{console.log(`ready`)});async function y0(){let e=document.getElementById(`app`);console.log({$app:e}),pt(await ft(v0,{app:e}),e)}
|