@marimo-team/frontend 0.23.17-dev57 → 0.23.17-dev58
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/dist/assets/{cell-editor--6640END.js → cell-editor-DQSrfeL3.js} +16 -16
- package/dist/assets/{command-palette-C-HW7WFp.js → command-palette-C7nz0zHt.js} +1 -1
- package/dist/assets/{edit-page-CZY24H-Q.js → edit-page-DnXTBsfC.js} +4 -4
- package/dist/assets/{index-DQHOhrjs.js → index-C5WESBbZ.js} +2 -2
- package/dist/assets/{layout-BSbeoPCj.js → layout-1X5SpE18.js} +2 -2
- package/dist/assets/{panels-BWh221hY.js → panels-D40pa9F1.js} +1 -1
- package/dist/assets/{reveal-component-1tLoghfW.js → reveal-component-yVci-fc9.js} +1 -1
- package/dist/assets/{run-page-DmfRiHIx.js → run-page-aQycuCjn.js} +1 -1
- package/dist/assets/{scratchpad-panel-B29Eo0bS.js → scratchpad-panel-lsqN24Au.js} +1 -1
- package/dist/assets/{skeleton-BYUFSkEd.js → skeleton-DOZFvsSE.js} +1 -1
- package/dist/assets/{useNotebookActions-tCW6OpjC.js → useNotebookActions-Bm9VzJ_M.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/src/core/codemirror/code-lens/__tests__/extension.test.ts +81 -1
- package/src/core/codemirror/code-lens/extension.ts +141 -44
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-Cei5H7n0.js","./loro_wasm_bg-DIEeF9jI.js","./chunk-C4rtOYze.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var
|
|
3
|
-
`).length-1}},js=class{constructor(t){g(this,"cache",new Map);g(this,"timeout");this.timeout=t}get(t){let e=this.cache.get(t);return e?Date.now()-e.timestamp>this.timeout?(this.cache.delete(t),null):e.result:null}set(t,e){this.cache.set(t,{result:e,timestamp:Date.now()})}},Ps=(t,e)=>Ke.fromClass(class{constructor(){g(this,"abortController",null);g(this,"cache");this.cache=new js(e.cacheTimeout??1e3)}async update(n){var i,s,c,l,u;if(!n.docChanged||((s=(i=e.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(c=this.abortController)==null||c.abort(),this.abortController=new AbortController;let r=n.state.doc,a=r.toString(),o=this.cache.get(a);if(o){n.view.dispatch({effects:Zt.of({text:o,doc:r})});return}try{let d=await t(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((u=(l=e.events)==null?void 0:l.shouldShowSuggestion)==null?void 0:u.call(l,n.view,d))===!1)return;this.cache.set(a,d),n.view.dispatch({effects:Zt.of({text:d,doc:r})})}catch(d){d instanceof Error&&d.name!=="AbortError"&&console.error("Suggestion fetch error:",d)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),Ds=Ke.fromClass(class{constructor(){g(this,"decorations");this.decorations=V.none}update(t){var n;let e=(n=t.state.field(Qt))==null?void 0:n.suggestion;if(!e){this.decorations=V.none;return}this.decorations=_s(t.view,e)}},{decorations:t=>t.decorations});function Ms(t,e,n,r){return{...t.changeByRange(a=>{if(a===t.selection.main)return{changes:{from:n,to:r,insert:e},range:St.cursor(n+e.length)};let o=r-n;return!a.empty||o&&t.sliceDoc(a.from-o,a.from)!==t.sliceDoc(n,r)?{range:a}:{changes:{from:a.from-o,to:a.from,insert:e},range:St.cursor(a.from-o+e.length)}}),userEvent:"input.complete"}}var Fs=t=>{var r,a,o;let e=(r=t.state.field(Qt))==null?void 0:r.suggestion;if(!e)return!1;let n=t.state.facet(er);return t.dispatch({...Ms(t.state,e,t.state.selection.main.head,t.state.selection.main.head)}),(o=(a=n.events)==null?void 0:a.onSuggestionAccepted)==null||o.call(a,t,e),!0},ga=t=>{var r,a,o;let e=(r=t.state.field(Qt))==null?void 0:r.suggestion;if(!e)return!1;let n=t.state.facet(er);return t.dispatch({effects:Zt.of({text:null,doc:t.state.doc})}),(o=(a=n.events)==null?void 0:a.onSuggestionRejected)==null||o.call(a,t,e),!0},Rs=He.of([{key:"Tab",run:Fs},{key:"Escape",run:ga}]),er=$t.define({combine:t=>t.at(-1)});function ya(t){let{delay:e=500,includeKeymap:n=!0}=t,r=Os(t.fetchFn,e);return[Qt,er.of(t),Ps(r,t),Ds,n?Rs:[]]}const Bs=R.baseTheme({".cm-ai-input-container":{display:"flex",flexDirection:"column",gap:"4px",width:"min(calc(100% + 7px), 500px)",padding:"5px 5px",margin:"0 -6px",backgroundColor:"light-dark(rgb(241, 243, 245), rgb(40, 40, 40))"},".cm-ai-input":{display:"block",width:"100%",padding:"3px 8px",border:"2px solid rgb(51, 154, 240)",borderRadius:"5px",fontSize:"12px"},".cm-ai-help-info-button":{fontSize:"10px",paddingLeft:"10px",height:"18px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",display:"block",marginRight:"auto"},".cm-ai-help-info-button:hover":{color:"light-dark(rgb(89, 97, 105), rgb(190, 190, 190))"},".cm-ai-generate-button":{background:"#0E639C",border:"none",padding:"2px 6px",color:"#ffffff",cursor:"pointer",font:"inherit",borderRadius:"4px","&:hover":{backgroundColor:"#1177bb"}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:"light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important"},".cm-line:has(.cm-new-code-line)":{backgroundColor:"light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important"},".cm-old-code-container":{backgroundColor:"light-dark(rgb(255, 205, 205), rgb(100, 40, 40))",position:"relative",display:"flex",paddingTop:"0",width:"100%",alignItems:"center"},".cm-code-button":{position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"16px"},".cm-floating-buttons":{fontFamily:"sans-serif",position:"absolute",top:"-20px",left:"5px",display:"flex"},".cm-floating-button":{fontFamily:"sans-serif",padding:"2px 5px",fontSize:"10px",cursor:"pointer",fontWeight:"700"},".cm-floating-accept":{backgroundColor:"light-dark(rgb(55, 125, 34), rgb(40, 80, 25))",borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",color:"white",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".cm-floating-reject":{backgroundColor:"light-dark(rgb(220, 53, 69), rgb(180, 40, 50))",color:"white",borderTopRightRadius:"5px",borderBottomRightRadius:"5px",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".hotkey":{display:"inline-block",padding:"0 4px",borderRadius:"3px",backgroundColor:"rgba(255, 255, 255, 0.1)",fontSize:"90%"},".cm-ai-loading-indicator":{fontStyle:"italic",fontSize:"10px",paddingLeft:"12px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",opacity:"0",transition:"opacity 0.3s ease-in-out","&::after":{content:'""',display:"inline-block",animation:"ellipsis-pulse 1.5s steps(4, end) infinite"},"&:not(:empty)":{opacity:"1"}},".cm-ai-input:disabled":{opacity:"0.5"},"@keyframes ellipsis-pulse":{"0%":{content:"'.'"},"25%":{content:"'..'"},"50%":{content:"'...'"},"75%":{content:"''"}},".cm-ai-loading-container":{display:"flex",alignItems:"center",padding:"0 8px"},".cm-ai-cancel-button":{padding:"2px 8px",fontSize:"10px",borderRadius:"4px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",cursor:"pointer","&:hover":{background:"light-dark(rgb(223, 227, 232), rgb(50, 50, 50))"}},".hidden":{display:"none"}});function Gs(t){var s,c;let e=t.state.facet(Tt),n={...H,...e.keymaps},r=t.state.facet(en),a=pe("div","cm-ai-tooltip").appendChild(pe("div","cm-ai-tooltip-button")),o=a.appendChild(document.createElement("span"));o.textContent=`${r.label} `;let i=o.appendChild(document.createElement("span"));return i.className="hotkey",i.textContent=Zn(n.showInput),(s=a.querySelector("span"))==null||s.addEventListener("mousedown",l=>{l.stopPropagation(),l.button===0&&l.preventDefault()}),(c=a.querySelector("span"))==null||c.addEventListener("click",l=>{l.preventDefault(),ma(t)}),a}const en=$t.define({combine(t){return $n(t,{render:Gs,hideOnBlur:!1,label:"Edit with AI"})}}),Js=Ke.fromClass((li=class{constructor(t){g(this,"view");g(this,"suppress");g(this,"dom");g(this,"mousedown",()=>{this.suppress=!0});g(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});g(this,"scroll",()=>{this.display(this.view)});g(this,"windowScroll",()=>{this.display(this.view)});hi(this,Ln,t=>{var n;let e=t.state.selection.ranges.find(r=>!r.empty);if(e&&!this.suppress){let r=t.coordsAtPos(e.from),a=t.coordsAtPos(e.to);if(!r||!a)return;let o=t.dom.getBoundingClientRect(),i=(n=t.dom.parentElement)==null?void 0:n.getBoundingClientRect(),s=v=>v.top>=o.top&&v.top<=o.bottom&&v.left>=o.left&&v.left<=o.right,c=v=>!i||v.top>=i.top&&v.top<=i.bottom&&v.left>=i.left&&v.left<=i.right,l=s(r)||s(a),u=c(r)||c(a);if(!l||!u){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let d=this.dom.getBoundingClientRect(),p=s(r)?r:a,f=o.right-d.width,m=Math.min(p.left,f),y=p.top-d.height,b=i?i.y:-1/0;y<b&&(y=a.bottom),this.dom.style.left=`${m}px`,this.dom.style.top=`${y}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=t;let e=t.state.facet(en);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),t.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=e.render(t);t.dom.appendChild(n),this.dom=n}update(t){this.display(t.view)}docViewUpdate(t){this.display(t)}display(t){if(t.state.field(it).show){this.dom.style.display="none";return}if(t.state.facet(en).hideOnBlur&&!t.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}t.requestMeasure({read:pi(this,Ln)})}destroy(){document.removeEventListener("mousedown",this.mousedown),document.removeEventListener("mouseup",this.mouseup),this.view.scrollDOM.removeEventListener("scroll",this.scroll),window.removeEventListener("scroll",this.windowScroll,!0),this.dom.remove()}},Ln=new WeakMap,li));var Vs=R.baseTheme({".cm-ai-tooltip-button":{userSelect:"none",fontFamily:"system-ui, -apple-system, sans-serif",position:"fixed",display:"flex",boxSizing:"border-box",padding:"2px 6px",borderRadius:"4px",fontSize:"12px",backgroundColor:"#0E639C",color:"#ffffff",border:"1px solid transparent",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",zIndex:"999",transition:"opacity 0.5s","&[aria-hidden='true']":{opacity:"0"},"&[aria-hidden='false']":{opacity:"1"},"& > span":{pointerEvents:"auto",cursor:"pointer",display:"inline-block",padding:"2px"},"&:hover":{backgroundColor:"#1177bb"}}});function $s(){return[Js,Vs]}var Ws=class extends Wt{constructor(e){super();g(this,"oldCode");this.oldCode=e}toDOM(e){let n=pe("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=pe("div","cm-old-code cm-line");r.textContent=this.oldCode;let a=pe("div","cm-floating-buttons"),o=e.state.facet(Tt),i={...H,...o.keymaps},s=pe("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${Zn(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),e.focus(),pa(e)});let c=pe("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${Zn(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),e.focus(),ha(e)}),a.append(s,c),n.append(r,a),n}updateDOM(e,n){return!0}},qs=class extends Wt{constructor(e){super();g(this,"complete");g(this,"abortController",null);g(this,"dom",null);g(this,"input",null);g(this,"loadingContainer",null);g(this,"helpInfo",null);g(this,"inputContainer",null);g(this,"form",null);g(this,"view",null);g(this,"onKeyDown",async e=>{e.key==="Enter"&&!e.shiftKey?(e.preventDefault(),await this.handleSubmit()):e.key==="Escape"&&this.onCancel()});g(this,"onCancel",()=>{this.cleanup();let e=this.view;e&&(e.dispatch({effects:[ot.of({show:!1,lineFrom:0,lineTo:0}),ht.of(!1)]}),e.focus())});g(this,"handleSubmit",async e=>{var m;let n=this.view;if(!n)return;let r=n.state.facet(Tt);e==null||e.stopPropagation();let a=n.state.field(it),{input:o}=this;if(!o)return;let i=o.value.trim();if(!a.show||!i)return;let s=n.state.doc.line(a.lineFrom),c=n.state.doc.line(a.lineTo),l=s.from,u=c.to,d=n.state.sliceDoc(l,u),p=n.state.sliceDoc(0,l),f=n.state.sliceDoc(u);this.abortController=new AbortController,n.dispatch({effects:ht.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:d,codeBefore:p,codeAfter:f,editorView:n,signal:this.abortController.signal});if(!n.state.field(it).show)return;if(!y||typeof y!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:l,to:u,insert:y},effects:[ot.of({show:!1,lineFrom:0,lineTo:0}),Xt.of({from:l,to:l+y.length,oldCode:d,newCode:y}),ht.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(m=r.onError)==null||m.call(r,y)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=e}toDOM(e){if(this.dom)return this.dom;this.view=e;let n=e.state.field(da),r=e.state.field(fa),a=pe("div","cm-ai-input-container");this.inputContainer=a,this.dom=a;let o=pe("form","cm-ai-input-form");this.form=o,o.setAttribute("role","search"),o.setAttribute("aria-label","AI editing instructions"),o.addEventListener("submit",b=>b.preventDefault());let i=pe("input","cm-ai-input");this.input=i,o.append(i),i.placeholder="Editing instructions...",i.setAttribute("aria-label","AI editing instructions"),i.setAttribute("autocomplete","off"),i.setAttribute("spellcheck","true"),i.value=n.inputValue;let s=pe("div","cm-ai-loading-container");this.loadingContainer=s;let c=pe("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let l=pe("button","cm-ai-cancel-button");l.textContent="Cancel",l.setAttribute("aria-label","Cancel code generation"),l.addEventListener("click",this.onCancel),s.append(l,c);let u=pe("div","cm-ai-help-info");this.helpInfo=u;let d=u.appendChild(document.createElement("button"));d.className="cm-ai-help-info-button",d.textContent="Esc to close",d.addEventListener("click",this.onCancel);let p=pe("button","cm-ai-generate-button");p.textContent="\u23CE Generate",p.setAttribute("aria-label","Generate code"),p.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),e.dispatch({effects:Lt.of(!1)})}),f(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function f(b){u.replaceChildren(b?p:d)}let m="";function y(){e.dispatch({effects:At.of(i.value)});let b=i.value.trim();b!==m&&(m=b,f(b))}return a}toggleLoading(e){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,e?this.loadingContainer:this.helpInfo))}updateDOM(e,n){return this.dom=e,this.input=e.querySelector(".cm-ai-input"),!0}cleanup(){var e,n,r;(e=this.abortController)==null||e.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function Hs(t){if(!t.prompt)throw Error("prompt function is required");let e={...H,...t.keymaps};return[Tt.of(t),it,da,Ot,fa,$s(),Bs,He.of([{key:e.showInput,run:ma}]),mt.highest([He.of([{key:e.acceptEdit,run:pa},{key:e.rejectEdit,run:ha}])]),zs,Ys,Ks,Xs]}const zs=R.updateListener.of(t=>{let e=t.state.field(it);if(!e.show||!t.docChanged)return;let{lineFrom:n,lineTo:r}=e,a=!1;t.changes.iterChanges((o,i,s,c)=>{let l=t.state.doc.lineAt(o).number;if(l<n){let u=t.state.doc.lineAt(c).number-t.state.doc.lineAt(s).number;n+=u,r+=u,a=!0}else if(l<=r){let u=t.state.doc.lineAt(c).number-t.state.doc.lineAt(s).number;r+=u,a=!0}}),a&&t.view.dispatch({effects:[ot.of({show:!0,lineFrom:n,lineTo:r})]})}),Ys=R.decorations.of(t=>{let e=t.state.field(Ot);return e?V.set([V.mark({class:"cm-new-code-line"}).range(e.from,e.to)]):V.none}),Ks=R.decorations.compute([it],t=>{let e=t.field(it),n=t.facet(Tt),r=[];if(e.show){let a=e.lineFrom,o=e.lineTo;for(let i=a;i<=o;i++){let s=t.doc.line(i).from;r.push(V.line({class:"cm-ai-selection"}).range(s)),i===a&&r.push(V.widget({widget:new qs(n.prompt),side:-1}).range(s))}}return V.set(r)}),Xs=We.define({create(t){return V.none},update(t,e){let n=e.state.field(Ot);return n?V.set([V.widget({widget:new Ws(n.oldCode),block:!0}).range(n.from)]):V.none},provide:t=>R.decorations.from(t)});var Qs=ve(),I=gi(Uf(),1),tr=()=>({entries:new Map}),{valueAtom:ba,useActions:wa}=ea(tr,{submit:(t,e)=>{let{cellIds:n,deleteCell:r,deleteManyCells:a,store:o}=e,i=o.get(rt),s=o.get(Mn),c=new Set(i.cellIds.inOrderIds.filter(d=>i.cellData[d].code.trim()==="")),l=new Map;for(let d of n){if(c.has(d)){l.set(d,{cellId:d,type:"simple"});continue}let p=i.cellRuntime[d],f=new Map;for(let y of Object.values(s)){let b=y.declaredBy.includes(d),v=y.usedBy.some(S=>!c.has(S));b&&v&&f.set(y.name,y.usedBy)}let m;p!=null&&p.runElapsedTimeMs&&p.runElapsedTimeMs>2e3&&(m=p.runElapsedTimeMs),f.size===0&&m===void 0?l.set(d,{cellId:d,type:"simple"}):l.set(d,{cellId:d,type:"expensive",executionDurationMs:m,defs:f})}let u=[...l.values()].every(d=>d.type==="simple");return l.size>0&&u?(l.size===1?r({cellId:[...l.values()][0].cellId}):a({cellIds:[...l.values()].map(d=>d.cellId)}),tr()):{...t,entries:l}},clear:()=>tr()});zn=function(){let t=Pr(),{submit:e,clear:n}=wa(),{entries:r}=q(ba),a=es(),o=ta();return(0,I.useMemo)(()=>({submit:i=>{e({cellIds:i,deleteCell:a,deleteManyCells:o,store:t})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[t,e,n,r,a,o])},Ts=function(t){let e=(0,Qs.c)(16),n=q(ba),r=wa(),a=ta(),o;e[0]!==t||e[1]!==n.entries?(o=n.entries.get(t),e[0]=t,e[1]=n.entries,e[2]=o):o=e[2];let i=o;if(!i){let u;return e[3]===Symbol.for("react.memo_cache_sentinel")?(u={isPending:!1},e[3]=u):u=e[3],u}if(n.entries.size!==1){let u;return e[4]===i?u=e[5]:(u={isPending:!0,shouldConfirmDelete:!1,...i},e[4]=i,e[5]=u),u}let s;e[6]!==r||e[7]!==a||e[8]!==n.entries?(s=()=>{a({cellIds:[...n.entries.values()].map(Zs)}),r.clear()},e[6]=r,e[7]=a,e[8]=n.entries,e[9]=s):s=e[9];let c;e[10]===r?c=e[11]:(c=()=>r.clear(),e[10]=r,e[11]=c);let l;return e[12]!==i||e[13]!==s||e[14]!==c?(l={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},e[12]=i,e[13]=s,e[14]=c,e[15]=l):l=e[15],l};function Zs(t){return t.cellId}var va=["python","sql","markdown"];function nr(t,e={}){var l;let{streaming:n=!1}=e,r=((l=t.match(/^\s*/))==null?void 0:l[0])??"",a=t.slice(r.length),o=null,i=!1;for(let u of va)if(a.startsWith(`\`\`\`${u}`)){i=!0,o=a.slice(3+u.length),o.startsWith(`
|
|
4
|
-
`)&&(o=o.slice(1));break}if(!i&&a.startsWith("```")){let u=a.slice(3);if(n&&
|
|
5
|
-
`)&&(o=o.slice(1))}if(!i||o===null)return t;if(n)return o;let s=o.trimEnd(),c=o.slice(s.length);return s.endsWith("\n```")?s.slice(0,-4)+c:s.endsWith("```")?s.slice(0,-3)+c:o}function
|
|
6
|
-
`)?!1:
|
|
2
|
+
var Uf=Object.defineProperty;var hi=te=>{throw TypeError(te)};var jf=(te,H,be)=>H in te?Uf(te,H,{enumerable:!0,configurable:!0,writable:!0,value:be}):te[H]=be;var g=(te,H,be)=>jf(te,typeof H!="symbol"?H+"":H,be),Pf=(te,H,be)=>H.has(te)||hi("Cannot "+be);var gi=(te,H,be)=>(Pf(te,H,"read from private field"),be?be.call(te):H.get(te)),yi=(te,H,be)=>H.has(te)?hi("Cannot add the same private member more than once"):H instanceof WeakSet?H.add(te):H.set(te,be);import{o as bi}from"./chunk-C4rtOYze.js";import{c as Df,d as wi,f as Fr,i as J,l as jn,n as se,p as ut,s as Pn,u as q}from"./useEvent-GCVIknuR.js";import{t as Mf}from"./react-C60yClUi.js";import{$n as vi,$t as Ff,An as xi,B as Ei,Bi as Rf,Dn as Bf,E as Dn,F as Gf,H as Jf,Ht as Vf,K as Si,Li as $f,Ln as Rr,Mi as Wf,Mn as qf,Ni as Hf,Nn as Q,Nt as zf,On as Yf,Pn as Kf,Pt as ki,Ri as Ci,Rn as Br,Rr as Xf,St as Bt,Ti as Gr,Tn as Qf,Tt as Zf,U as Ti,V as Mn,W as Ni,Wt as Jr,Xn as em,Xt as Ii,Yn as Fn,Yr as Vr,Yt as $r,Zn as tm,Zt as Ai,_n as Rn,_r as Li,_t as nm,bt as rm,ct as Oi,dr as am,ea as _i,ei as Wr,en as om,fa as Bn,fn as im,gi as sm,gr as lm,gt as cm,hi as um,hr as Ui,ht as dm,i as ji,ir as fm,jn as mm,kn as pm,l as Pi,lt as Gn,m as xt,ma as qr,mr as nt,nn as hm,nr as gm,or as ym,pr as Hr,ra as bm,rn as wm,rr as vm,sr as xm,tn as Em,tr as Di,u as Mi,ut as Sm,vr as km,vt as zr,wi as Cm,xa as Tm,xn as Nm,xt as Im,y as rt,yt as dt,__tla as Am}from"./cells-DTFqEQb0.js";import{L as Fi,N as Lm,P as Yr,S as Om,T as Ri,k as _m,w as Um,z as jm}from"./zod-BIDX-mZr.js";import{t as ve}from"./compiler-runtime-DnimoHo0.js";import{t as Pm}from"./debounce-DhnxH9Rh.js";import{C as Dm,f as Mm,m as Fm,p as Rm,t as Bm,v as Gm,w as Jm}from"./ai-model-dropdown-BJp70TST.js";import{_ as Vm,c as Bi,g as $e,m as Kr,t as $m}from"./useEventListener-DpNnLPuE.js";import{t as Gt}from"./invariant-BUdrueMv.js";import{E as Xr,_ as Gi,c as Wm,g as Ji,l as Vi,v as $i}from"./utils-C8Yt16Y7.js";import{E as qm,N as Hm,O as zm,S as Wi,T as Jt,m as Ym,o as Km,r as qi,v as Et}from"./config-EoJoeZuK.js";import{n as Xm,t as Qm}from"./switch-CDT2KH2g.js";import{c as Zm,n as ep,r as tp}from"./readonly-python-code-BV8otm7e.js";import{t as np}from"./ErrorBoundary-B392qglD.js";import{t as at}from"./cn-DCUzRj2J.js";import{t as rp}from"./jsx-runtime-3wZU7vFS.js";import{l as ap,r as op,t as ip}from"./popover-B96fOqfH.js";import{Q as sp,Z as lp,__tla as cp}from"./JsonOutput-DnrBQBRT.js";import{t as Qr}from"./label-BOFHwHn7.js";import{n as up}from"./download-_oAlkvj6.js";import{t as Jn}from"./tooltip-C9LWGQ7Y.js";import{r as Zr,t as ft}from"./button-W__YVea9.js";import{At as dp,Bt as Vn,Ct as fp,Dt as mp,E as pp,Et as Hi,Ft as hp,Gt as Vt,H as $n,Ht as gp,I as yp,P as bp,Pt as wp,Qt as We,Rt as ea,St as vp,Tt as He,Ut as St,V as xp,Wt as ta,Yt as Ep,Zt as ce,_ as Sp,at as V,dt as $t,en as Wt,gt as kp,ht as Cp,lt as Tp,m as Np,ot as Ip,qt as mt,rn as Wn,st as R,ut as ze,w as Ap,xt as Lp}from"./dist-CeF1Em5L.js";import{C as Op,E as _p,I as Up,O as jp,S as Pp,a as Dp,c as Mp,n as na,r as Fp,w as Rp}from"./dist-DanVWUek.js";import{o as zi}from"./arrays-UzzAzxsG.js";import{n as Bp}from"./once-DNBWPkeJ.js";import{t as ra}from"./createReducer-C1MhlItJ.js";import{a as Gp,c as Jp,f as qn,h as Vp,i as $p,l as qt,n as Yi,o as Wp,t as qp}from"./dist-Di6rD-vJ.js";import{r as Ki}from"./strings-DmKKoXrM.js";import{r as Hn,t as Xi}from"./requests-B9zEd_sW.js";import{t as Hp}from"./createLucideIcon-B8oVfJNp.js";import{r as Qi,t as zp,__tla as Yp}from"./layout-1X5SpE18.js";import{t as Kp}from"./x-4y-nyVDU.js";import{t as Xp}from"./circle-check-CfLEHvyJ.js";import{A as Qp,E as Zp,F as eh,H as th,L as nh,U as rh,i as Zi,j as es,l as ah,n as oh,o as ts,p as ih,s as sh,z as lh}from"./add-cell-with-ai-HD16K3PB.js";import{t as ch}from"./database-zap-n8PGHE18.js";import{r as uh,t as dh}from"./file-icons-V3puz20c.js";import{t as fh}from"./components-CozWCL5N.js";import{n as mh}from"./spinner-Cj3eM5bt.js";import{n as aa,t as ns}from"./useDeleteCell-DO-9USfB.js";import{t as rs}from"./save-DeHQ9WTn.js";import{Y as ph,Z as as}from"./input-BN98e517.js";import{t as hh}from"./sparkles-DwqcWrJl.js";import{t as gh}from"./badge-D28DMr4y.js";import{t as yh}from"./preload-helper-BPPi7vOr.js";import{a as bh}from"./dist-Bm9PT5P9.js";import{t as kt}from"./use-toast-DjpWVza6.js";import{n as Ze}from"./paths-D5zczhUD.js";import{t as wh}from"./session-D-SddyN0.js";import{r as vh}from"./useTheme-CwCyrmDf.js";import{n as os}from"./copy-HCSOwOwk.js";import{k as xh}from"./usePress-Bl6X9B5M.js";import{t as Eh}from"./context-BJMN4ll3.js";import{a as Sh}from"./useRunCells-BpZ_0Xuz.js";import{c as is,i as ss,n as ls,r as kh}from"./dialog-WU4x2UpK.js";import{t as cs}from"./useHotkey-cR1R36p-.js";import{i as zn}from"./numbers-DtSpUdpO.js";import{n as us}from"./ImperativeModal-Dxj31V4A.js";import{a as Ch}from"./errors-D93OkQw8.js";import{t as K}from"./extends-BiFDv3jB.js";import{t as Ht}from"./objectWithoutPropertiesLoose-DfWeGRFv.js";import{t as Th}from"./kbd-PEowR7op.js";import{a as oa}from"./useInstallPackage-D58nBaNf.js";import{a as Nh,n as ds}from"./state-ByxLiTvP.js";import{a as Ih,o as Ah}from"./cell-link-D26WjdN1.js";import{r as fs}from"./html-to-image-BsXiWo0v.js";import{a as Lh}from"./focus-BTlyH5K_.js";import{n as Oh}from"./useAsyncData-BcvSvTUt.js";import{a as _h,o as ms,r as Uh,s as ps,t as jh}from"./command-D5LtSvbN.js";import{a as hs}from"./renderShortcut-C6HKXhBl.js";import{n as Ph,t as Dh}from"./icons-BwSNDWAP.js";import{n as Ct}from"./esm-RBKN8Dn2.js";import{t as gs}from"./dist-yM9CbJ9j.js";import{t as Mh}from"./requests-CWbKU3x_.js";import{n as Fh}from"./formatting-CjSzbmdF.js";import{t as Rh}from"./useSplitCell-C2fjcfID.js";import{t as ia}from"./state-BFx9-sFK.js";import{n as Bh,r as Gh,t as ys}from"./panel-accordion-state-0CKLFeAf.js";import{co as Jh,do as sa,fo as Vh,ft as $h,go as Tt,ho as bs,lo as la,mo as ws,oo as Wh,po as qh,so as vs,uo as xs,__tla as Hh}from"./loro_wasm_bg-DIEeF9jI.js";import{t as zh}from"./ws-CNqquaud.js";import{t as Es}from"./Inputs-DrAa-p6i.js";import{r as Yh,t as Kh}from"./skeleton-DOZFvsSE.js";let ca,zt,Yn,Kn,Xn,ua,xe,Ss,ks,Cs,Ts,da,fa,pt,Ns,Is,As,Yt,Qn,Ls,Xh=Promise.all([(()=>{try{return Am}catch{}})(),(()=>{try{return cp}catch{}})(),(()=>{try{return Yp}catch{}})(),(()=>{try{return Hh}catch{}})()]).then(async()=>{var On,ui,Se,ke,Ce,Te,Ne,Ie,Ae,Le,Oe,_e,Ue,je,Pe,De,Me,Fe,Re,Be,Ge;var te=Hp("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const H={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var be=300;const It=Vt.define({combine:t=>Wn(t,{onError:console.error,inputDebounceTime:be,keymaps:H},{onError:(e,n)=>e&&n,inputDebounceTime:(e,n)=>e&&n,keymaps:(e,n)=>e&&n})}),ot=ce.define(),it=We.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(t,e){for(let n of e.effects)if(n.is(ot))return n.value;return t}}),At=ce.define(),Lt=ce.define(),pa=We.define({create(){return{shouldFocus:!1,inputValue:""}},update(t,e){let n=t;for(let r of e.effects)r.is(At)&&(n={...n,inputValue:r.value}),r.is(Lt)&&(n={...n,shouldFocus:r.value});return n}}),Kt=ce.define(),Ot=We.define({create(){return null},update(t,e){for(let n of e.effects)if(n.is(Kt))return n.value;return t}}),ht=ce.define(),ha=We.define({create(){return!1},update(t,e){for(let n of e.effects)if(n.is(ht))return n.value;return t}});var Os=1;const ga=t=>{let{state:e}=t,n=e.selection.main;if(n.empty)return!1;let r=e.doc,a=r.lineAt(n.from),o=r.lineAt(n.to);if(e.sliceDoc(a.from,o.to).trim().length<Os)return!1;let i=Math.max(1,Math.min(a.number,r.lines)),s=Math.max(1,Math.min(o.number,r.lines));return t.dispatch({effects:[ot.of({show:!0,lineFrom:i,lineTo:s}),Lt.of(!0),At.of("")],selection:St.cursor(a.from)}),!0},ya=t=>t.state.field(Ot)?(t.dispatch({effects:[Kt.of(null),ot.of({show:!1,lineFrom:0,lineTo:0}),Lt.of(!1),At.of(""),ht.of(!1)]}),!0):!1,ba=t=>{let e=t.state.field(Ot);return e?(t.dispatch({changes:{from:e.from,to:e.to,insert:e.oldCode},effects:[Kt.of(null),ot.of({show:!1,lineFrom:0,lineTo:0}),Lt.of(!1),At.of(""),ht.of(!1)]}),!0):!1};var Zn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function _s(){return navigator.platform.startsWith("Mac")?Zn.mac:navigator.platform.startsWith("Win")?Zn.windows:Zn.default}function er(t){return t.replace("Mod",_s()).replace("-"," ").toUpperCase()}function pe(t,e){let n=document.createElement(t);return n.className=e,n}function Us(t,e,n=void 0){let r=()=>{};return(...a)=>(r(),new Promise((o,i)=>{let s=setTimeout(()=>o(t(...a)),e);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var Xt=We.define({create(){return{suggestion:null}},update(t,e){let n=e.effects.find(r=>r.is(Qt));return!e.docChanged&&!n&&!e.selection?t:n&&e.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Qt=ce.define();function js(t,e){let n=t.state.selection.main.head,r=[],a=V.widget({widget:new Ps(e),side:1});return r.push(a.range(n)),V.set(r)}var Ps=class extends $t{constructor(e){super();g(this,"suggestion");this.suggestion=e}toDOM(){let e=document.createElement("span");return e.style.opacity="0.4",e.className="cm-inline-suggestion",e.textContent=this.suggestion,e.setAttribute("role","suggestion"),e.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),e}get lineBreaks(){return this.suggestion.split(`
|
|
3
|
+
`).length-1}},Ds=class{constructor(t){g(this,"cache",new Map);g(this,"timeout");this.timeout=t}get(t){let e=this.cache.get(t);return e?Date.now()-e.timestamp>this.timeout?(this.cache.delete(t),null):e.result:null}set(t,e){this.cache.set(t,{result:e,timestamp:Date.now()})}},Ms=(t,e)=>ze.fromClass(class{constructor(){g(this,"abortController",null);g(this,"cache");this.cache=new Ds(e.cacheTimeout??1e3)}async update(n){var i,s,c,l,u;if(!n.docChanged||((s=(i=e.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(c=this.abortController)==null||c.abort(),this.abortController=new AbortController;let r=n.state.doc,a=r.toString(),o=this.cache.get(a);if(o){n.view.dispatch({effects:Qt.of({text:o,doc:r})});return}try{let d=await t(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((u=(l=e.events)==null?void 0:l.shouldShowSuggestion)==null?void 0:u.call(l,n.view,d))===!1)return;this.cache.set(a,d),n.view.dispatch({effects:Qt.of({text:d,doc:r})})}catch(d){d instanceof Error&&d.name!=="AbortError"&&console.error("Suggestion fetch error:",d)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),Fs=ze.fromClass(class{constructor(){g(this,"decorations");this.decorations=V.none}update(t){var n;let e=(n=t.state.field(Xt))==null?void 0:n.suggestion;if(!e){this.decorations=V.none;return}this.decorations=js(t.view,e)}},{decorations:t=>t.decorations});function Rs(t,e,n,r){return{...t.changeByRange(a=>{if(a===t.selection.main)return{changes:{from:n,to:r,insert:e},range:St.cursor(n+e.length)};let o=r-n;return!a.empty||o&&t.sliceDoc(a.from-o,a.from)!==t.sliceDoc(n,r)?{range:a}:{changes:{from:a.from-o,to:a.from,insert:e},range:St.cursor(a.from-o+e.length)}}),userEvent:"input.complete"}}var Bs=t=>{var r,a,o;let e=(r=t.state.field(Xt))==null?void 0:r.suggestion;if(!e)return!1;let n=t.state.facet(tr);return t.dispatch({...Rs(t.state,e,t.state.selection.main.head,t.state.selection.main.head)}),(o=(a=n.events)==null?void 0:a.onSuggestionAccepted)==null||o.call(a,t,e),!0},wa=t=>{var r,a,o;let e=(r=t.state.field(Xt))==null?void 0:r.suggestion;if(!e)return!1;let n=t.state.facet(tr);return t.dispatch({effects:Qt.of({text:null,doc:t.state.doc})}),(o=(a=n.events)==null?void 0:a.onSuggestionRejected)==null||o.call(a,t,e),!0},Gs=He.of([{key:"Tab",run:Bs},{key:"Escape",run:wa}]),tr=Vt.define({combine:t=>t.at(-1)});function va(t){let{delay:e=500,includeKeymap:n=!0}=t,r=Us(t.fetchFn,e);return[Xt,tr.of(t),Ms(r,t),Fs,n?Gs:[]]}const Js=R.baseTheme({".cm-ai-input-container":{display:"flex",flexDirection:"column",gap:"4px",width:"min(calc(100% + 7px), 500px)",padding:"5px 5px",margin:"0 -6px",backgroundColor:"light-dark(rgb(241, 243, 245), rgb(40, 40, 40))"},".cm-ai-input":{display:"block",width:"100%",padding:"3px 8px",border:"2px solid rgb(51, 154, 240)",borderRadius:"5px",fontSize:"12px"},".cm-ai-help-info-button":{fontSize:"10px",paddingLeft:"10px",height:"18px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",display:"block",marginRight:"auto"},".cm-ai-help-info-button:hover":{color:"light-dark(rgb(89, 97, 105), rgb(190, 190, 190))"},".cm-ai-generate-button":{background:"#0E639C",border:"none",padding:"2px 6px",color:"#ffffff",cursor:"pointer",font:"inherit",borderRadius:"4px","&:hover":{backgroundColor:"#1177bb"}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:"light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important"},".cm-line:has(.cm-new-code-line)":{backgroundColor:"light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important"},".cm-old-code-container":{backgroundColor:"light-dark(rgb(255, 205, 205), rgb(100, 40, 40))",position:"relative",display:"flex",paddingTop:"0",width:"100%",alignItems:"center"},".cm-code-button":{position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"16px"},".cm-floating-buttons":{fontFamily:"sans-serif",position:"absolute",top:"-20px",left:"5px",display:"flex"},".cm-floating-button":{fontFamily:"sans-serif",padding:"2px 5px",fontSize:"10px",cursor:"pointer",fontWeight:"700"},".cm-floating-accept":{backgroundColor:"light-dark(rgb(55, 125, 34), rgb(40, 80, 25))",borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",color:"white",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".cm-floating-reject":{backgroundColor:"light-dark(rgb(220, 53, 69), rgb(180, 40, 50))",color:"white",borderTopRightRadius:"5px",borderBottomRightRadius:"5px",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".hotkey":{display:"inline-block",padding:"0 4px",borderRadius:"3px",backgroundColor:"rgba(255, 255, 255, 0.1)",fontSize:"90%"},".cm-ai-loading-indicator":{fontStyle:"italic",fontSize:"10px",paddingLeft:"12px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",opacity:"0",transition:"opacity 0.3s ease-in-out","&::after":{content:'""',display:"inline-block",animation:"ellipsis-pulse 1.5s steps(4, end) infinite"},"&:not(:empty)":{opacity:"1"}},".cm-ai-input:disabled":{opacity:"0.5"},"@keyframes ellipsis-pulse":{"0%":{content:"'.'"},"25%":{content:"'..'"},"50%":{content:"'...'"},"75%":{content:"''"}},".cm-ai-loading-container":{display:"flex",alignItems:"center",padding:"0 8px"},".cm-ai-cancel-button":{padding:"2px 8px",fontSize:"10px",borderRadius:"4px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",cursor:"pointer","&:hover":{background:"light-dark(rgb(223, 227, 232), rgb(50, 50, 50))"}},".hidden":{display:"none"}});function Vs(t){var s,c;let e=t.state.facet(It),n={...H,...e.keymaps},r=t.state.facet(Zt),a=pe("div","cm-ai-tooltip").appendChild(pe("div","cm-ai-tooltip-button")),o=a.appendChild(document.createElement("span"));o.textContent=`${r.label} `;let i=o.appendChild(document.createElement("span"));return i.className="hotkey",i.textContent=er(n.showInput),(s=a.querySelector("span"))==null||s.addEventListener("mousedown",l=>{l.stopPropagation(),l.button===0&&l.preventDefault()}),(c=a.querySelector("span"))==null||c.addEventListener("click",l=>{l.preventDefault(),ga(t)}),a}const Zt=Vt.define({combine(t){return Wn(t,{render:Vs,hideOnBlur:!1,label:"Edit with AI"})}}),$s=ze.fromClass((ui=class{constructor(t){g(this,"view");g(this,"suppress");g(this,"dom");g(this,"mousedown",()=>{this.suppress=!0});g(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});g(this,"scroll",()=>{this.display(this.view)});g(this,"windowScroll",()=>{this.display(this.view)});yi(this,On,t=>{var n;let e=t.state.selection.ranges.find(r=>!r.empty);if(e&&!this.suppress){let r=t.coordsAtPos(e.from),a=t.coordsAtPos(e.to);if(!r||!a)return;let o=t.dom.getBoundingClientRect(),i=(n=t.dom.parentElement)==null?void 0:n.getBoundingClientRect(),s=v=>v.top>=o.top&&v.top<=o.bottom&&v.left>=o.left&&v.left<=o.right,c=v=>!i||v.top>=i.top&&v.top<=i.bottom&&v.left>=i.left&&v.left<=i.right,l=s(r)||s(a),u=c(r)||c(a);if(!l||!u){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let d=this.dom.getBoundingClientRect(),p=s(r)?r:a,f=o.right-d.width,m=Math.min(p.left,f),y=p.top-d.height,b=i?i.y:-1/0;y<b&&(y=a.bottom),this.dom.style.left=`${m}px`,this.dom.style.top=`${y}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=t;let e=t.state.facet(Zt);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),t.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=e.render(t);t.dom.appendChild(n),this.dom=n}update(t){this.display(t.view)}docViewUpdate(t){this.display(t)}display(t){if(t.state.field(it).show){this.dom.style.display="none";return}if(t.state.facet(Zt).hideOnBlur&&!t.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}t.requestMeasure({read:gi(this,On)})}destroy(){document.removeEventListener("mousedown",this.mousedown),document.removeEventListener("mouseup",this.mouseup),this.view.scrollDOM.removeEventListener("scroll",this.scroll),window.removeEventListener("scroll",this.windowScroll,!0),this.dom.remove()}},On=new WeakMap,ui));var Ws=R.baseTheme({".cm-ai-tooltip-button":{userSelect:"none",fontFamily:"system-ui, -apple-system, sans-serif",position:"fixed",display:"flex",boxSizing:"border-box",padding:"2px 6px",borderRadius:"4px",fontSize:"12px",backgroundColor:"#0E639C",color:"#ffffff",border:"1px solid transparent",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",zIndex:"999",transition:"opacity 0.5s","&[aria-hidden='true']":{opacity:"0"},"&[aria-hidden='false']":{opacity:"1"},"& > span":{pointerEvents:"auto",cursor:"pointer",display:"inline-block",padding:"2px"},"&:hover":{backgroundColor:"#1177bb"}}});function qs(){return[$s,Ws]}var Hs=class extends $t{constructor(e){super();g(this,"oldCode");this.oldCode=e}toDOM(e){let n=pe("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=pe("div","cm-old-code cm-line");r.textContent=this.oldCode;let a=pe("div","cm-floating-buttons"),o=e.state.facet(It),i={...H,...o.keymaps},s=pe("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${er(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),e.focus(),ya(e)});let c=pe("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${er(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),e.focus(),ba(e)}),a.append(s,c),n.append(r,a),n}updateDOM(e,n){return!0}},zs=class extends $t{constructor(e){super();g(this,"complete");g(this,"abortController",null);g(this,"dom",null);g(this,"input",null);g(this,"loadingContainer",null);g(this,"helpInfo",null);g(this,"inputContainer",null);g(this,"form",null);g(this,"view",null);g(this,"onKeyDown",async e=>{e.key==="Enter"&&!e.shiftKey?(e.preventDefault(),await this.handleSubmit()):e.key==="Escape"&&this.onCancel()});g(this,"onCancel",()=>{this.cleanup();let e=this.view;e&&(e.dispatch({effects:[ot.of({show:!1,lineFrom:0,lineTo:0}),ht.of(!1)]}),e.focus())});g(this,"handleSubmit",async e=>{var m;let n=this.view;if(!n)return;let r=n.state.facet(It);e==null||e.stopPropagation();let a=n.state.field(it),{input:o}=this;if(!o)return;let i=o.value.trim();if(!a.show||!i)return;let s=n.state.doc.line(a.lineFrom),c=n.state.doc.line(a.lineTo),l=s.from,u=c.to,d=n.state.sliceDoc(l,u),p=n.state.sliceDoc(0,l),f=n.state.sliceDoc(u);this.abortController=new AbortController,n.dispatch({effects:ht.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:d,codeBefore:p,codeAfter:f,editorView:n,signal:this.abortController.signal});if(!n.state.field(it).show)return;if(!y||typeof y!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:l,to:u,insert:y},effects:[ot.of({show:!1,lineFrom:0,lineTo:0}),Kt.of({from:l,to:l+y.length,oldCode:d,newCode:y}),ht.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(m=r.onError)==null||m.call(r,y)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=e}toDOM(e){if(this.dom)return this.dom;this.view=e;let n=e.state.field(pa),r=e.state.field(ha),a=pe("div","cm-ai-input-container");this.inputContainer=a,this.dom=a;let o=pe("form","cm-ai-input-form");this.form=o,o.setAttribute("role","search"),o.setAttribute("aria-label","AI editing instructions"),o.addEventListener("submit",b=>b.preventDefault());let i=pe("input","cm-ai-input");this.input=i,o.append(i),i.placeholder="Editing instructions...",i.setAttribute("aria-label","AI editing instructions"),i.setAttribute("autocomplete","off"),i.setAttribute("spellcheck","true"),i.value=n.inputValue;let s=pe("div","cm-ai-loading-container");this.loadingContainer=s;let c=pe("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let l=pe("button","cm-ai-cancel-button");l.textContent="Cancel",l.setAttribute("aria-label","Cancel code generation"),l.addEventListener("click",this.onCancel),s.append(l,c);let u=pe("div","cm-ai-help-info");this.helpInfo=u;let d=u.appendChild(document.createElement("button"));d.className="cm-ai-help-info-button",d.textContent="Esc to close",d.addEventListener("click",this.onCancel);let p=pe("button","cm-ai-generate-button");p.textContent="\u23CE Generate",p.setAttribute("aria-label","Generate code"),p.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),e.dispatch({effects:Lt.of(!1)})}),f(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function f(b){u.replaceChildren(b?p:d)}let m="";function y(){e.dispatch({effects:At.of(i.value)});let b=i.value.trim();b!==m&&(m=b,f(b))}return a}toggleLoading(e){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,e?this.loadingContainer:this.helpInfo))}updateDOM(e,n){return this.dom=e,this.input=e.querySelector(".cm-ai-input"),!0}cleanup(){var e,n,r;(e=this.abortController)==null||e.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function Ys(t){if(!t.prompt)throw Error("prompt function is required");let e={...H,...t.keymaps};return[It.of(t),it,pa,Ot,ha,qs(),Js,He.of([{key:e.showInput,run:ga}]),mt.highest([He.of([{key:e.acceptEdit,run:ya},{key:e.rejectEdit,run:ba}])]),Ks,Xs,Qs,Zs]}const Ks=R.updateListener.of(t=>{let e=t.state.field(it);if(!e.show||!t.docChanged)return;let{lineFrom:n,lineTo:r}=e,a=!1;t.changes.iterChanges((o,i,s,c)=>{let l=t.state.doc.lineAt(o).number;if(l<n){let u=t.state.doc.lineAt(c).number-t.state.doc.lineAt(s).number;n+=u,r+=u,a=!0}else if(l<=r){let u=t.state.doc.lineAt(c).number-t.state.doc.lineAt(s).number;r+=u,a=!0}}),a&&t.view.dispatch({effects:[ot.of({show:!0,lineFrom:n,lineTo:r})]})}),Xs=R.decorations.of(t=>{let e=t.state.field(Ot);return e?V.set([V.mark({class:"cm-new-code-line"}).range(e.from,e.to)]):V.none}),Qs=R.decorations.compute([it],t=>{let e=t.field(it),n=t.facet(It),r=[];if(e.show){let a=e.lineFrom,o=e.lineTo;for(let i=a;i<=o;i++){let s=t.doc.line(i).from;r.push(V.line({class:"cm-ai-selection"}).range(s)),i===a&&r.push(V.widget({widget:new zs(n.prompt),side:-1}).range(s))}}return V.set(r)}),Zs=We.define({create(t){return V.none},update(t,e){let n=e.state.field(Ot);return n?V.set([V.widget({widget:new Hs(n.oldCode),block:!0}).range(n.from)]):V.none},provide:t=>R.decorations.from(t)});var el=ve(),N=bi(Mf(),1),nr=()=>({entries:new Map}),{valueAtom:xa,useActions:Ea}=ra(nr,{submit:(t,e)=>{let{cellIds:n,deleteCell:r,deleteManyCells:a,store:o}=e,i=o.get(rt),s=o.get(Fn),c=new Set(i.cellIds.inOrderIds.filter(d=>i.cellData[d].code.trim()==="")),l=new Map;for(let d of n){if(c.has(d)){l.set(d,{cellId:d,type:"simple"});continue}let p=i.cellRuntime[d],f=new Map;for(let y of Object.values(s)){let b=y.declaredBy.includes(d),v=y.usedBy.some(S=>!c.has(S));b&&v&&f.set(y.name,y.usedBy)}let m;p!=null&&p.runElapsedTimeMs&&p.runElapsedTimeMs>2e3&&(m=p.runElapsedTimeMs),f.size===0&&m===void 0?l.set(d,{cellId:d,type:"simple"}):l.set(d,{cellId:d,type:"expensive",executionDurationMs:m,defs:f})}let u=[...l.values()].every(d=>d.type==="simple");return l.size>0&&u?(l.size===1?r({cellId:[...l.values()][0].cellId}):a({cellIds:[...l.values()].map(d=>d.cellId)}),nr()):{...t,entries:l}},clear:()=>nr()});Yn=function(){let t=Fr(),{submit:e,clear:n}=Ea(),{entries:r}=q(xa),a=ns(),o=aa();return(0,N.useMemo)(()=>({submit:i=>{e({cellIds:i,deleteCell:a,deleteManyCells:o,store:t})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[t,e,n,r,a,o])},Ls=function(t){let e=(0,el.c)(16),n=q(xa),r=Ea(),a=aa(),o;e[0]!==t||e[1]!==n.entries?(o=n.entries.get(t),e[0]=t,e[1]=n.entries,e[2]=o):o=e[2];let i=o;if(!i){let u;return e[3]===Symbol.for("react.memo_cache_sentinel")?(u={isPending:!1},e[3]=u):u=e[3],u}if(n.entries.size!==1){let u;return e[4]===i?u=e[5]:(u={isPending:!0,shouldConfirmDelete:!1,...i},e[4]=i,e[5]=u),u}let s;e[6]!==r||e[7]!==a||e[8]!==n.entries?(s=()=>{a({cellIds:[...n.entries.values()].map(tl)}),r.clear()},e[6]=r,e[7]=a,e[8]=n.entries,e[9]=s):s=e[9];let c;e[10]===r?c=e[11]:(c=()=>r.clear(),e[10]=r,e[11]=c);let l;return e[12]!==i||e[13]!==s||e[14]!==c?(l={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},e[12]=i,e[13]=s,e[14]=c,e[15]=l):l=e[15],l};function tl(t){return t.cellId}var Sa=["python","sql","markdown"];function rr(t,e={}){var l;let{streaming:n=!1}=e,r=((l=t.match(/^\s*/))==null?void 0:l[0])??"",a=t.slice(r.length),o=null,i=!1;for(let u of Sa)if(a.startsWith(`\`\`\`${u}`)){i=!0,o=a.slice(3+u.length),o.startsWith(`
|
|
4
|
+
`)&&(o=o.slice(1));break}if(!i&&a.startsWith("```")){let u=a.slice(3);if(n&&nl(u))return t;i=!0,o=u,o.startsWith(`
|
|
5
|
+
`)&&(o=o.slice(1))}if(!i||o===null)return t;if(n)return o;let s=o.trimEnd(),c=o.slice(s.length);return s.endsWith("\n```")?s.slice(0,-4)+c:s.endsWith("```")?s.slice(0,-3)+c:o}function nl(t){return t.includes(`
|
|
6
|
+
`)?!1:Sa.some(e=>e.startsWith(t))}async function rl(t){if(!t.ok)throw Error(await t.text());if(!t.body)throw Error("Failed to get response body");let e="";return await lh({stream:rh({stream:t.body,schema:th}).pipeThrough(new TransformStream({transform(n){if(!n.success)throw n.error;let r=n.value;if(r.type==="text-delta")e+=r.delta;else if(r.type==="error")throw Error(r.errorText)}})),onError:n=>{throw n}}),rr(e)}async function al(t){var i;let e=`
|
|
7
7
|
${t.codeBefore}
|
|
8
8
|
<rewrite_this>
|
|
9
9
|
${t.selection}
|
|
10
10
|
</rewrite_this>
|
|
11
11
|
${t.codeAfter}
|
|
12
|
-
`.trim(),n=$i();await Vi();let r=await fetch(n.getAiURL("completion").toString(),{method:"POST",headers:n.headers(),body:JSON.stringify({prompt:t.prompt,code:e,selectedText:t.selection,includeOtherCode:"",language:t.language})}),a=((i=t.selection.match(/^\s*/))==null?void 0:i[0])||"",o=await tl(r);return o.startsWith(a)||(o=a+o),o}function xa(t){switch(t){case"table":case"connection":Mr("variables"),hs(Mh,"datasources");return;case"bucket":Mr("files"),hs(Dh,"remote-storage");return;case"cache":Mr("cache");return;default:zi(t)}}function rl(t){let{state:e,names:n}=t;if(n.size===0)return[];let r=Vn(e);if(!r||wi(r))return[];let a=new Map,o=c=>{if(c.name===Q.VariableName){let l=e.doc.sliceString(c.from,c.to);n.has(l)&&!a.has(l)&&a.set(l,{from:c.from,to:c.to,name:l});return}if(c.name===Q.TupleExpression||c.name===Q.ArrayExpression||c.name===Q.ParenthesizedExpression)for(let l=c.firstChild;l;l=l.nextSibling)o(l)},i=c=>{let l=-1;for(let u=c.firstChild;u;u=u.nextSibling)u.name===Q.AssignOp&&(l=u.from);if(l!==-1)for(let u=c.firstChild;u&&u.from<l;u=u.nextSibling)o(u)},s=c=>{if(!qf.has(c.name)){if(c.name===Q.AssignStatement){i(c);return}for(let l=c.firstChild;l;l=l.nextSibling)s(l)}};return s(r.topNode),[...a.values()]}var al=/\bmo\.(?:persistent_cache|cache)\b/g;function Ea(t){let e=t.match(/^[A-Za-z]*("""|'''|"|')([\s\S]*)\1$/);return e?e[2]:t}function ol(t,e){var a;if(!t)return null;let n=o=>(o==null?void 0:o.name)===","||(o==null?void 0:o.name)===")",r=null;for(let o=t.firstChild;o;o=o.nextSibling)if(!(o.name==="("||o.name===")"||o.name===",")&&(r??(r=o),o.name===Q.VariableName&&e(o)==="name"&&((a=o.nextSibling)==null?void 0:a.name)===Q.AssignOp)){let i=o.nextSibling.nextSibling;if((i==null?void 0:i.name)===Q.String&&n(i.nextSibling))return Ea(e(i))}return r&&r.name===Q.String&&n(r.nextSibling)?Ea(e(r)):null}function il(t,e,n,r){var d,p,f;let a=m=>t.doc.sliceString(m.from,m.to),o=e.resolveInner(n,1),i=null,s=null,c=r,l=null;for(let m=o.parent;m&&m.from===n;m=m.parent)if(m.name===Q.CallExpression){l=m;break}if(l){c=l.to,s=l.getChild(Q.ArgList);let m=l.parent;if((m==null?void 0:m.name)===Q.AssignStatement){let y=m.getChild(Q.VariableName);i=y&&y.from<l.from?a(y):null}else if((m==null?void 0:m.name)===Q.WithStatement){let y=m.firstChild;for(;y;){if(y.from<l.to||y.name===Jf.As){y=y.nextSibling;continue}y.name===Q.VariableName&&(i=a(y));break}}}else if(((d=o.parent)==null?void 0:d.name)===Q.Decorator){let m=o.parent,y=m.getChild(Q.ArgList);(y==null?void 0:y.from)===r&&(s=y,c=y.to);let b=(f=(p=m.parent)==null?void 0:p.getChild(Q.FunctionDefinition))==null?void 0:f.getChild(Q.VariableName);i=b?a(b):null}let u=ol(s,a);return{from:n,to:c,boundName:i,cacheName:u}}function sl(t,e,n){let r=e.resolveInner(n,1);return cm.has(r.name)?!1:r.name===Q.VariableName&&t.doc.sliceString(r.from,r.to)==="mo"}function ll(t){let e=Vn(t);return!e||wi(e)?[]:[...t.doc.toString().matchAll(al)].filter(n=>sl(t,e,n.index??0)).map(n=>{let r=n.index??0;return il(t,e,r,r+n[0].length)})}function rr(t,e,n){let r=t.get(e);r!==void 0&&r!==n&&$e.error(`[code-lens] "${e}" is claimed by both a ${r} and a ${n} entity; keeping ${n}`),t.set(e,n)}var cl=ut(t=>{let e=new Map;for(let n of t(Jr))n.variable_name&&rr(e,n.variable_name,"table");for(let n of t(Br).keys())im.has(n)||rr(e,n,"connection");for(let n of t(ra))rr(e,n.name,"bucket");return e}),ul=ut(t=>{let e=t(cl),n=t(Mn),r=new Map,a=new Map;for(let[o,i]of e){let s=n[o];if(s==null){a.set(o,i);continue}for(let c of s.declaredBy){let l=r.get(c);l||(l=new Map,r.set(c,l)),l.set(o,i)}}return{byCell:r,pending:a}});function dl(t){let{byCell:e,pending:n}=J.get(ul),r=new Map(e.get(t));for(let[a,o]of n)r.has(a)||r.set(a,o);return r}var tn=t=>`<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${t}</svg>`;const fl={table:tn('<path d="M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"/>'),connection:tn('<ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5V19A9 3 0 0 0 21 19V5"/><path d="M3 12A9 3 0 0 0 21 12"/>'),bucket:tn('<line x1="22" x2="2" y1="12" y2="12"/><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/><line x1="6" x2="6.01" y1="16" y2="16"/><line x1="10" x2="10.01" y1="16" y2="16"/>'),cache:tn('<ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5V19A9 3 0 0 0 15 21.84"/><path d="M21 5V8"/><path d="M21 12L18 17H22L19 22"/><path d="M3 12A9 3 0 0 0 14.59 14.87"/>')},ml={table:"Open in data sources",connection:"Open in data sources",bucket:"Open in remote storage",cache:"Open cache panel"};var _t=ve(),pl=Em(),h=gi(Zm(),1);function hl(t,e){let n=(0,pl.createRoot)(t);return n.render((0,h.jsx)(_f,{store:J,children:(0,h.jsx)(gl,{spec:e})})),()=>queueMicrotask(()=>n.unmount())}var gl=t=>{var r,a;let e=(0,_t.c)(9),{spec:n}=t;switch(n.kind){case"table":{let o;return e[0]===n.name?o=e[1]:(o=(0,h.jsx)(yl,{name:n.name}),e[0]=n.name,e[1]=o),o}case"connection":{let o;return e[2]===n.name?o=e[3]:(o=(0,h.jsx)(bl,{name:n.name}),e[2]=n.name,e[3]=o),o}case"bucket":{let o;return e[4]===n.name?o=e[5]:(o=(0,h.jsx)(wl,{name:n.name}),e[4]=n.name,e[5]=o),o}case"cache":{let o=((r=n.cache)==null?void 0:r.boundName)??null,i=((a=n.cache)==null?void 0:a.cacheName)??null,s;return e[6]!==o||e[7]!==i?(s=(0,h.jsx)(Sl,{boundName:o,cacheName:i}),e[6]=o,e[7]=i,e[8]=s):s=e[8],s}default:zi(n.kind)}},yl=t=>{let e=(0,_t.c)(5),{name:n}=t,r=q(Jr),a;if(e[0]!==n||e[1]!==r){let o;e[3]===n?o=e[4]:(o=s=>s.variable_name===n,e[3]=n,e[4]=o);let i=r.find(o);a=i?vm(i):Ti("table"),e[0]=n,e[1]=r,e[2]=a}else a=e[2];return a},bl=t=>{let e=(0,_t.c)(5),{name:n}=t,r=q(Br),a,o;if(e[0]!==r||e[1]!==n){o=Symbol.for("react.early_return_sentinel");e:{let i=r.get(n);if(!i){let s;e[4]===Symbol.for("react.memo_cache_sentinel")?(s=Ti("database"),e[4]=s):s=e[4],o=s;break e}a=am(i)}e[0]=r,e[1]=n,e[2]=a,e[3]=o}else a=e[2],o=e[3];return o===Symbol.for("react.early_return_sentinel")?a:o},wl=t=>{let e=(0,_t.c)(27),{name:n}=t,r=q(ra),a;if(e[0]!==n||e[1]!==r){let y;e[3]===n?y=e[4]:(y=b=>b.name===n,e[3]=n,e[4]=y),a=r.find(y),e[0]=n,e[1]=r,e[2]=a}else a=e[2];let o=a;if(!o){let y;return e[5]===Symbol.for("react.memo_cache_sentinel")?(y=(0,h.jsx)("div",{className:$r,children:(0,h.jsx)("span",{className:"text-xs text-(--slate-11)",children:"No storage information available."})}),e[5]=y):y=e[5],y}let i;e[6]===o.protocol?i=e[7]:(i=(0,h.jsx)(lh,{protocol:o.protocol,className:"w-4 h-4"}),e[6]=o.protocol,e[7]=i);let s;e[8]===o.protocol?s=e[9]:(s=(0,h.jsx)(fh,{variant:"outline",className:"text-xs",children:o.protocol}),e[8]=o.protocol,e[9]=s);let c;e[10]!==o.displayName||e[11]!==i||e[12]!==s?(c=(0,h.jsx)(Oi,{icon:i,title:o.displayName,badge:s}),e[10]=o.displayName,e[11]=i,e[12]=s,e[13]=c):c=e[13];let l;e[14]===o.name?l=e[15]:(l=(0,h.jsx)(nt,{label:"Variable",value:(0,h.jsx)("code",{className:"text-xs bg-(--slate-4) px-1 rounded",children:o.name})}),e[14]=o.name,e[15]=l);let u=o.rootPath||"(root)",d;e[16]===u?d=e[17]:(d=(0,h.jsx)(nt,{label:"Root",value:(0,h.jsx)("code",{className:"text-xs bg-(--slate-4) px-1 rounded",children:u})}),e[16]=u,e[17]=d);let p;e[18]===o.backendType?p=e[19]:(p=(0,h.jsx)(nt,{label:"Backend",value:(0,h.jsx)("span",{className:"font-medium",children:o.backendType})}),e[18]=o.backendType,e[19]=p);let f;e[20]!==l||e[21]!==d||e[22]!==p?(f=(0,h.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[l,d,p]}),e[20]=l,e[21]=d,e[22]=p,e[23]=f):f=e[23];let m;return e[24]!==c||e[25]!==f?(m=(0,h.jsxs)("div",{className:$r,children:[c,f]}),e[24]=c,e[25]=f,e[26]=m):m=e[26],m},vl=/\bhits=(\d+) misses=(\d+)/,nn=null,xl=5e3;function El(){let t=Date.now();nn!=null&&t-nn<xl||(nn=t,Yi().getCacheInfo().catch(()=>{nn=null}))}var Sl=t=>{var k,_;let e=(0,_t.c)(16),{boundName:n,cacheName:r}=t,{locale:a}=bh(),o=q(Mn),i=q(Uh),s=n?o[n]:void 0,c;e[0]===s?c=e[1]:(c=(k=s==null?void 0:s.dataType)!=null&&k.startsWith("_cache_call")?(_=s.value)==null?void 0:_.match(vl):void 0,e[0]=s,e[1]=c);let l=c,u=!!l,d,p;e[2]===u?(d=e[3],p=e[4]):(d=()=>{u||El()},p=[u],e[2]=u,e[3]=d,e[4]=p),(0,I.useEffect)(d,p);let f;e[5]===Symbol.for("react.memo_cache_sentinel")?(f=(0,h.jsx)(oh,{className:"w-4 h-4 text-(--amber-9)"}),e[5]=f):f=e[5];let m=r??n??"Cache",y;e[6]===m?y=e[7]:(y=(0,h.jsx)(Oi,{icon:f,title:m}),e[6]=m,e[7]=y);let b;e[8]!==i||e[9]!==a||e[10]!==l?(b=l?(0,h.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[(0,h.jsx)(nt,{label:"Hits",value:(0,h.jsx)("span",{className:"font-medium",children:Hn(Number(l[1]),a)})}),(0,h.jsx)(nt,{label:"Misses",value:(0,h.jsx)("span",{className:"font-medium",children:Hn(Number(l[2]),a)})})]}):i&&(0,h.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[(0,h.jsx)("span",{className:"text-xs font-medium text-(--slate-11)",children:"Notebook-wide"}),(0,h.jsx)(nt,{label:"Hits",value:Hn(i.hits,a)}),(0,h.jsx)(nt,{label:"Misses",value:Hn(i.misses,a)}),(0,h.jsx)(nt,{label:"Time saved",value:jh(i.time,a)})]}),e[8]=i,e[9]=a,e[10]=l,e[11]=b):b=e[11];let v;e[12]===Symbol.for("react.memo_cache_sentinel")?(v=(0,h.jsx)("div",{className:"pt-2 text-xs text-(--slate-10)",children:"Click to open the cache panel"}),e[12]=v):v=e[12];let S;return e[13]!==y||e[14]!==b?(S=(0,h.jsxs)("div",{className:$r,children:[y,b,v]}),e[13]=y,e[14]=b,e[15]=S):S=e[15],S},ar=ce.define(),or=ce.define(),Ut=new WeakMap,kl=class extends Wt{constructor(t){super(),this.spec=t}eq(t){var e,n,r,a;return this.spec.pos===t.spec.pos&&this.spec.kind===t.spec.kind&&this.spec.name===t.spec.name&&((e=this.spec.cache)==null?void 0:e.boundName)===((n=t.spec.cache)==null?void 0:n.boundName)&&((r=this.spec.cache)==null?void 0:r.cacheName)===((a=t.spec.cache)==null?void 0:a.cacheName)}toDOM(t){let{spec:e}=this,n=document.createElement("span");n.className="mo-code-lens",n.setAttribute("role","button"),n.tabIndex=0,n.setAttribute("aria-label",ml[e.kind]),n.innerHTML=fl[e.kind];let r=()=>{window.clearTimeout(Ut.get(n)),Ut.delete(n),t.state.field(Sa,!1)&&t.dispatch({effects:or.of(null)})};return n.onmouseenter=()=>{let a=window.setTimeout(()=>{t.dispatch({effects:or.of(e)})},400);Ut.set(n,a)},n.onmouseleave=r,n.onmousemove=a=>{a.stopPropagation()},n.onmousedown=a=>{a.preventDefault(),a.stopPropagation()},n.onclick=a=>{a.preventDefault(),a.stopPropagation(),r(),xa(e.kind)},n.onkeydown=a=>{(a.key==="Enter"||a.key===" ")&&(a.preventDefault(),a.stopPropagation(),r(),xa(e.kind))},n}destroy(t){window.clearTimeout(Ut.get(t)),Ut.delete(t)}ignoreEvent(){return!0}};function Cl(t){return{pos:t.pos,above:!0,create:()=>{let e=document.createElement("div");return e.classList.add("mo-cm-tooltip","docs-documentation"),{dom:e,resize:!1,destroy:hl(e,t)}}}}var Sa=We.define({create(){return null},update(t,e){for(let n of e.effects){if(n.is(or))return n.value?Cl(n.value):null;if(n.is(ar))return null}return e.docChanged?null:t},provide:t=>hp.from(t)}),Nl=We.define({create(){return V.none},update(t,e){t=t.map(e.changes);for(let n of e.effects)n.is(ar)&&(t=V.set(n.value.map(r=>V.widget({widget:new kl(r),side:1}).range(r.pos)),!0));return t},provide:t=>R.decorations.from(t)}),Il=class{constructor(t,e,n){g(this,"debounceMs",300);this.view=t,this.cellId=e,this.includeCache=n,this.scheduleUpdate=Om(()=>this.run(),this.debounceMs);let r=()=>this.scheduleUpdate();this.unsubscribes=[J.sub(Jr,r),J.sub(Br,r),J.sub(ra,r),J.sub(Mn,r)],this.scheduleUpdate()}update(t){var n,r;let e=((n=t.startState.field(dt,!1))==null?void 0:n.type)!==((r=t.state.field(dt,!1))==null?void 0:r.type);(t.docChanged||e)&&this.scheduleUpdate()}destroy(){this.scheduleUpdate.cancel();for(let t of this.unsubscribes)t()}run(){var r;let{state:t}=this.view,e=[],n=(r=t.field(dt,!1))==null?void 0:r.type;if(n==null||n==="python"){let a=dl(this.cellId),o=rl({state:t,names:new Set(a.keys())});for(let i of o){let s=a.get(i.name);s&&e.push({pos:i.to,kind:s,name:i.name})}if(this.includeCache)for(let i of ll(t))e.push({pos:i.to,kind:"cache",name:`cache:${i.from}`,cache:{boundName:i.boundName,cacheName:i.cacheName}})}queueMicrotask(()=>{this.view.dispatch({effects:ar.of(e)})})}},Tl=R.baseTheme({".mo-code-lens":{display:"inline-flex",verticalAlign:"baseline",transform:"translateY(1.5px)",marginLeft:"0.3em",cursor:"pointer",opacity:"0.5"},".mo-code-lens:hover":{opacity:"1"}});function Al(t,e=!0){return e?[Nl,Sa,Ke.define(n=>new Il(n,t,bi("cache_panel"))),Tl]:[]}var Ll=["%alias","%cd","%clear","%debug","%env","%load","%load_ext","%lsmagic","%matplotlib","%pwd","%who_ls","%system","%%time","%%timeit","%%writefile","%%capture","%%html","%%latex"],ir;function Ol(){let t=async r=>{let a=J.get(zr),{saveUserConfig:o}=Yi();await o({config:{runtime:{auto_reload:r}}}).then(()=>J.set(zr,{...a,runtime:{...a.runtime,auto_reload:r}}))},e=[{match:"!pip install",onMatch:()=>{J.set(Dr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),na()},title:"Package Installation",description:(0,h.jsxs)(h.Fragment,{children:["The package manager sidebar has been opened.",(0,h.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv pip install",onMatch:()=>{J.set(Dr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),na()},title:"Package Installation",description:(0,h.jsxs)(h.Fragment,{children:["The package manager sidebar has been opened.",(0,h.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv add",onMatch:()=>{J.set(Dr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),na()},title:"Package Installation",description:(0,h.jsxs)(h.Fragment,{children:["The package manager sidebar has been opened.",(0,h.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"%autoreload 2",onMatch:async()=>{await t("autorun")},title:"Module reload",description:(0,h.jsxs)(h.Fragment,{children:["Module reload mode set to ",(0,h.jsx)("b",{children:"autorun"})," - module changes will re-run the cells that import them."]})},{match:"%autoreload 1",onMatch:async()=>{await t("lazy")},title:"Module reload",description:(0,h.jsxs)(h.Fragment,{children:["Module reload mode set to ",(0,h.jsx)("b",{children:"lazy"})," - module changes will mark the cells that import them as stale."]})},{match:"%autoreload 0",onMatch:async()=>{await t("off")},title:"Module reload",description:(0,h.jsx)(h.Fragment,{children:"Module reload disabled - module changes will not be detected."})},{match:"!ls",onMatch:()=>{},title:"Listing files",description:(0,h.jsxs)(h.Fragment,{children:["Shell commands are not directly supported.",(0,h.jsx)("br",{}),"Use ",(0,h.jsx)("code",{children:"import subprocess; subprocess.run(['ls'])"})," instead."]})},...Ll.map(r=>({match:r,onMatch:()=>{},title:(0,h.jsx)(Eh,{className:"inline",children:r}),description:(0,h.jsxs)(h.Fragment,{children:["Magic commands are not supported in marimo. Read more about replacements in the"," ",(0,h.jsx)("a",{href:"https://docs.marimo.io/guides/coming_from/jupyter/#adapting-to-the-absence-of-magic-commands",target:"_blank",className:"text-link underline cursor-pointer",rel:"noopener noreferrer",children:"documentation"}),"."]})}))],n=new Map(e.map(r=>[r.match,r]));return R.updateListener.of(r=>{if(r.docChanged){let a=r.state.selection.main,o=r.state.doc,i=o.lineAt(a.head),s=o.sliceString(i.from,a.anchor).trim(),c=n.get(s);c&&(c.onMatch(),ir?ir.upsert({title:c.title,description:c.description}):ir=kt({title:c.title,description:c.description}))}})}var ka=new Set(["Escape","Alt-`"]);function _l(t,e=ka){return t.filter(n=>![n.key,n.mac,n.linux,n.win].some(r=>e.has(r)))}function Ul(t=!0){let e=new Set(ka);t||e.add("Enter");let n=_l(Fp,e);return mt.highest(He.of([...n,{key:"Ctrl-y",run:r=>Fn(r)?Hi(r):!1},{key:"Ctrl-n",run:r=>Fn(r)?Wn(!0)(r):!1},{key:"Ctrl-p",run:r=>Fn(r)?Wn(!1)(r):!1}]))}const sr=ce.define(),lr=ce.define(),cr=ce.define();function z(t,e){if(!t)throw Error(e)}var jl=3402823466385289e23,Pl=-3402823466385289e23,Dl=4294967295,Ml=2147483647,Fl=-2147483648;function rn(t){if(typeof t!="number")throw Error("invalid int 32: "+typeof t);if(!Number.isInteger(t)||t>Ml||t<Fl)throw Error("invalid int 32: "+t)}function ur(t){if(typeof t!="number")throw Error("invalid uint 32: "+typeof t);if(!Number.isInteger(t)||t>Dl||t<0)throw Error("invalid uint 32: "+t)}function Ca(t){if(typeof t!="number")throw Error("invalid float 32: "+typeof t);if(Number.isFinite(t)&&(t>jl||t<Pl))throw Error("invalid float 32: "+t)}var Na=Symbol("@bufbuild/protobuf/enum-type");function Rl(t){let e=t[Na];return z(e,"missing enum type on enum object"),e}function Ia(t,e,n,r){t[Na]=Ta(e,n.map(a=>({no:a.no,name:a.name,localName:t[a.no]})),r)}function Ta(t,e,n){let r=Object.create(null),a=Object.create(null),o=[];for(let i of e){let s=Aa(i);o.push(s),r[i.name]=s,a[i.no]=s}return{typeName:t,values:o,findName(i){return r[i]},findNumber(i){return a[i]}}}function Bl(t,e,n){let r={};for(let a of e){let o=Aa(a);r[o.localName]=o.no,r[o.no]=o.localName}return Ia(r,t,e,n),r}function Aa(t){return"localName"in t?t:Object.assign(Object.assign({},t),{localName:t.name})}var X=class{equals(t){return this.getType().runtime.util.equals(this.getType(),this,t)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(t,e){let n=this.getType().runtime.bin,r=n.makeReadOptions(e);return n.readMessage(this,r.readerFactory(t),t.byteLength,r),this}fromJson(t,e){let n=this.getType(),r=n.runtime.json,a=r.makeReadOptions(e);return r.readMessage(n,t,a,this),this}fromJsonString(t,e){let n;try{n=JSON.parse(t)}catch(r){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${r instanceof Error?r.message:String(r)}`)}return this.fromJson(n,e)}toBinary(t){let e=this.getType().runtime.bin,n=e.makeWriteOptions(t),r=n.writerFactory();return e.writeMessage(this,r,n),r.finish()}toJson(t){let e=this.getType().runtime.json,n=e.makeWriteOptions(t);return e.writeMessage(this,n)}toJsonString(t){let e=this.toJson(t);return JSON.stringify(e,null,(t==null?void 0:t.prettySpaces)??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function Gl(t,e,n,r){let a=(r==null?void 0:r.localName)??e.substring(e.lastIndexOf(".")+1),o={[a]:function(i){t.util.initFields(this),t.util.initPartial(i,this)}}[a];return Object.setPrototypeOf(o.prototype,new X),Object.assign(o,{runtime:t,typeName:e,fields:t.util.newFieldList(n),fromBinary(i,s){return new o().fromBinary(i,s)},fromJson(i,s){return new o().fromJson(i,s)},fromJsonString(i,s){return new o().fromJsonString(i,s)},equals(i,s){return t.util.equals(o,i,s)}}),o}function Jl(){let t=0,e=0;for(let r=0;r<28;r+=7){let a=this.buf[this.pos++];if(t|=(a&127)<<r,!(a&128))return this.assertBounds(),[t,e]}let n=this.buf[this.pos++];if(t|=(n&15)<<28,e=(n&112)>>4,!(n&128))return this.assertBounds(),[t,e];for(let r=3;r<=31;r+=7){let a=this.buf[this.pos++];if(e|=(a&127)<<r,!(a&128))return this.assertBounds(),[t,e]}throw Error("invalid varint")}function dr(t,e,n){for(let o=0;o<28;o+=7){let i=t>>>o,s=!(!(i>>>7)&&e==0),c=(s?i|128:i)&255;if(n.push(c),!s)return}let r=t>>>28&15|(e&7)<<4,a=!!(e>>3);if(n.push((a?r|128:r)&255),a){for(let o=3;o<31;o+=7){let i=e>>>o,s=!!(i>>>7),c=(s?i|128:i)&255;if(n.push(c),!s)return}n.push(e>>>31&1)}}var an=4294967296;function La(t){let e=t[0]==="-";e&&(t=t.slice(1));let n=1e6,r=0,a=0;function o(i,s){let c=Number(t.slice(i,s));a*=n,r=r*n+c,r>=an&&(a+=r/an|0,r%=an)}return o(-24,-18),o(-18,-12),o(-12,-6),o(-6),e?_a(r,a):fr(r,a)}function Vl(t,e){let n=fr(t,e),r=n.hi&2147483648;r&&(n=_a(n.lo,n.hi));let a=Oa(n.lo,n.hi);return r?"-"+a:a}function Oa(t,e){if({lo:t,hi:e}=$l(t,e),e<=2097151)return String(an*e+t);let n=t&16777215,r=(t>>>24|e<<8)&16777215,a=e>>16&65535,o=n+r*6777216+a*6710656,i=r+a*8147497,s=a*2,c=1e7;return o>=c&&(i+=Math.floor(o/c),o%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+Ua(i)+Ua(o)}function $l(t,e){return{lo:t>>>0,hi:e>>>0}}function fr(t,e){return{lo:t|0,hi:e|0}}function _a(t,e){return e=~e,t?t=~t+1:e+=1,fr(t,e)}var Ua=t=>{let e=String(t);return"0000000".slice(e.length)+e};function ja(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t>>>=7;e.push(t)}else{for(let n=0;n<9;n++)e.push(t&127|128),t>>=7;e.push(1)}}function Wl(){let t=this.buf[this.pos++],e=t&127;if(!(t&128)||(t=this.buf[this.pos++],e|=(t&127)<<7,!(t&128))||(t=this.buf[this.pos++],e|=(t&127)<<14,!(t&128))||(t=this.buf[this.pos++],e|=(t&127)<<21,!(t&128)))return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let n=5;t&128&&n<10;n++)t=this.buf[this.pos++];if(t&128)throw Error("invalid varint");return this.assertBounds(),e>>>0}function ql(){let t=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"&&(typeof process!="object"||{}.BUF_BIGINT_DISABLE!=="1")){let r=BigInt("-9223372036854775808"),a=BigInt("9223372036854775807"),o=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>a||c<r)throw Error(`int64 invalid: ${s}`);return c},uParse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>i||c<o)throw Error(`uint64 invalid: ${s}`);return c},enc(s){return t.setBigInt64(0,this.parse(s),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},uEnc(s){return t.setBigInt64(0,this.uParse(s),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},dec(s,c){return t.setInt32(0,s,!0),t.setInt32(4,c,!0),t.getBigInt64(0,!0)},uDec(s,c){return t.setInt32(0,s,!0),t.setInt32(4,c,!0),t.getBigUint64(0,!0)}}}let e=r=>z(/^-?[0-9]+$/.test(r),`int64 invalid: ${r}`),n=r=>z(/^[0-9]+$/.test(r),`uint64 invalid: ${r}`);return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),e(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),n(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),e(r),La(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),n(r),La(r)},dec(r,a){return Vl(r,a)},uDec(r,a){return Oa(r,a)}}}const W=ql();var w;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(w||(w={}));var st;(function(t){t[t.BIGINT=0]="BIGINT",t[t.STRING=1]="STRING"})(st||(st={}));function et(t,e,n){if(e===n)return!0;if(t==w.BYTES){if(!(e instanceof Uint8Array)||!(n instanceof Uint8Array)||e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==n[r])return!1;return!0}switch(t){case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return e==n}return!1}function gt(t,e){switch(t){case w.BOOL:return!1;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return e==0?W.zero:"0";case w.DOUBLE:case w.FLOAT:return 0;case w.BYTES:return new Uint8Array;case w.STRING:return"";default:return 0}}function Pa(t,e){switch(t){case w.BOOL:return e===!1;case w.STRING:return e==="";case w.BYTES:return e instanceof Uint8Array&&!e.byteLength;default:return e==0}}var Z;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(Z||(Z={}));var Hl=class{constructor(t){this.stack=[],this.textEncoder=t??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let t=0;for(let r=0;r<this.chunks.length;r++)t+=this.chunks[r].length;let e=new Uint8Array(t),n=0;for(let r=0;r<this.chunks.length;r++)e.set(this.chunks[r],n),n+=this.chunks[r].length;return this.chunks=[],e}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let t=this.finish(),e=this.stack.pop();if(!e)throw Error("invalid state, fork stack empty");return this.chunks=e.chunks,this.buf=e.buf,this.uint32(t.byteLength),this.raw(t)}tag(t,e){return this.uint32((t<<3|e)>>>0)}raw(t){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(t),this}uint32(t){for(ur(t);t>127;)this.buf.push(t&127|128),t>>>=7;return this.buf.push(t),this}int32(t){return rn(t),ja(t,this.buf),this}bool(t){return this.buf.push(t?1:0),this}bytes(t){return this.uint32(t.byteLength),this.raw(t)}string(t){let e=this.textEncoder.encode(t);return this.uint32(e.byteLength),this.raw(e)}float(t){Ca(t);let e=new Uint8Array(4);return new DataView(e.buffer).setFloat32(0,t,!0),this.raw(e)}double(t){let e=new Uint8Array(8);return new DataView(e.buffer).setFloat64(0,t,!0),this.raw(e)}fixed32(t){ur(t);let e=new Uint8Array(4);return new DataView(e.buffer).setUint32(0,t,!0),this.raw(e)}sfixed32(t){rn(t);let e=new Uint8Array(4);return new DataView(e.buffer).setInt32(0,t,!0),this.raw(e)}sint32(t){return rn(t),t=(t<<1^t>>31)>>>0,ja(t,this.buf),this}sfixed64(t){let e=new Uint8Array(8),n=new DataView(e.buffer),r=W.enc(t);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(e)}fixed64(t){let e=new Uint8Array(8),n=new DataView(e.buffer),r=W.uEnc(t);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(e)}int64(t){let e=W.enc(t);return dr(e.lo,e.hi,this.buf),this}sint64(t){let e=W.enc(t),n=e.hi>>31;return dr(e.lo<<1^n,(e.hi<<1|e.lo>>>31)^n,this.buf),this}uint64(t){let e=W.uEnc(t);return dr(e.lo,e.hi,this.buf),this}},zl=class{constructor(t,e){this.varint64=Jl,this.uint32=Wl,this.buf=t,this.len=t.length,this.pos=0,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength),this.textDecoder=e??new TextDecoder}tag(){let t=this.uint32(),e=t>>>3,n=t&7;if(e<=0||n<0||n>5)throw Error("illegal tag: field no "+e+" wire type "+n);return[e,n]}skip(t,e){let n=this.pos;switch(t){case Z.Varint:for(;this.buf[this.pos++]&128;);break;case Z.Bit64:this.pos+=4;case Z.Bit32:this.pos+=4;break;case Z.LengthDelimited:let r=this.uint32();this.pos+=r;break;case Z.StartGroup:for(;;){let[a,o]=this.tag();if(o===Z.EndGroup){if(e!==void 0&&a!==e)throw Error("invalid end group tag");break}this.skip(o,a)}break;default:throw Error("cant skip wire type "+t)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)}int64(){return W.dec(...this.varint64())}uint64(){return W.uDec(...this.varint64())}sint64(){let[t,e]=this.varint64(),n=-(t&1);return t=(t>>>1|(e&1)<<31)^n,e=e>>>1^n,W.dec(t,e)}bool(){let[t,e]=this.varint64();return t!==0||e!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return W.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return W.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let t=this.uint32(),e=this.pos;return this.pos+=t,this.assertBounds(),this.buf.subarray(e,e+t)}string(){return this.textDecoder.decode(this.bytes())}};function Yl(t,e,n,r){let a;return{typeName:e,extendee:n,get field(){if(!a){let o=typeof r=="function"?r():r;o.name=e.split(".").pop(),o.jsonName=`[${e}]`,a=t.util.newFieldList([o]).list()[0]}return a},runtime:t}}function Da(t){let e=t.field.localName,n=Object.create(null);return n[e]=Kl(t),[n,()=>n[e]]}function Kl(t){let e=t.field;if(e.repeated)return[];if(e.default!==void 0)return e.default;switch(e.kind){case"enum":return e.T.values[0].no;case"scalar":return gt(e.T,e.L);case"message":let n=e.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function Xl(t,e){if(!e.repeated&&(e.kind=="enum"||e.kind=="scalar")){for(let n=t.length-1;n>=0;--n)if(t[n].no==e.no)return[t[n]];return[]}return t.filter(n=>n.no===e.no)}var Xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),on=[];for(let t=0;t<Xe.length;t++)on[Xe[t].charCodeAt(0)]=t;on[45]=Xe.indexOf("+"),on[95]=Xe.indexOf("/");const sn={dec(t){let e=t.length*3/4;t[t.length-2]=="="?e-=2:t[t.length-1]=="="&&--e;let n=new Uint8Array(e),r=0,a=0,o,i=0;for(let s=0;s<t.length;s++){if(o=on[t.charCodeAt(s)],o===void 0)switch(t[s]){case"=":a=0;case`
|
|
13
|
-
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(a){case 0:i=o,a=1;break;case 1:n[r++]=i<<2|(o&48)>>4,i=o,a=2;break;case 2:n[r++]=(i&15)<<4|(o&60)>>2,i=o,a=3;break;case 3:n[r++]=(i&3)<<6|o,a=0;break}}if(a==1)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(t){let e="",n=0,r,a=0;for(let o=0;o<t.length;o++)switch(r=t[o],n){case 0:e+=Xe[r>>2],a=(r&3)<<4,n=1;break;case 1:e+=Xe[a|r>>4],a=(r&15)<<2,n=2;break;case 2:e+=Xe[a|r>>6],e+=Xe[r&63],n=0;break}return n&&(e+=Xe[a],e+="=",n==1&&(e+="=")),e}};function Ql(t,e,n){Fa(e,t);let r=e.runtime.bin.makeReadOptions(n),a=Xl(t.getType().runtime.bin.listUnknownFields(t),e.field),[o,i]=Da(e);for(let s of a)e.runtime.bin.readField(o,r.readerFactory(s.data),e.field,s.wireType,r);return i()}function Zl(t,e,n,r){Fa(e,t);let a=e.runtime.bin.makeReadOptions(r),o=e.runtime.bin.makeWriteOptions(r);if(Ma(t,e)){let l=t.getType().runtime.bin.listUnknownFields(t).filter(u=>u.no!=e.field.no);t.getType().runtime.bin.discardUnknownFields(t);for(let u of l)t.getType().runtime.bin.onUnknownField(t,u.no,u.wireType,u.data)}let i=o.writerFactory(),s=e.field;!s.opt&&!s.repeated&&(s.kind=="enum"||s.kind=="scalar")&&(s=Object.assign(Object.assign({},e.field),{opt:!0})),e.runtime.bin.writeField(s,n,i,o);let c=a.readerFactory(i.finish());for(;c.pos<c.len;){let[l,u]=c.tag(),d=c.skip(u,l);t.getType().runtime.bin.onUnknownField(t,l,u,d)}}function Ma(t,e){let n=t.getType();return e.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(t).find(r=>r.no==e.field.no)}function Fa(t,e){z(t.extendee.typeName==e.getType().typeName,`extension ${t.typeName} can only be applied to message ${t.extendee.typeName}`)}function Ra(t,e){let n=t.localName;if(t.repeated)return e[n].length>0;if(t.oneof)return e[t.oneof.localName].case===n;switch(t.kind){case"enum":case"scalar":return t.opt||t.req?e[n]!==void 0:t.kind=="enum"?e[n]!==t.T.values[0].no:!Pa(t.T,e[n]);case"message":return e[n]!==void 0;case"map":return Object.keys(e[n]).length>0}}function Ba(t,e){let n=t.localName,r=!t.opt&&!t.req;if(t.repeated)e[n]=[];else if(t.oneof)e[t.oneof.localName]={case:void 0};else switch(t.kind){case"map":e[n]={};break;case"enum":e[n]=r?t.T.values[0].no:void 0;break;case"scalar":e[n]=r?gt(t.T,t.L):void 0;break;case"message":e[n]=void 0;break}}function Qe(t,e){if(typeof t!="object"||!t||!Object.getOwnPropertyNames(X.prototype).every(r=>r in t&&typeof t[r]=="function"))return!1;let n=t.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:e===void 0?!0:n.typeName==e.typeName}function Ga(t,e){return Qe(e)||!t.fieldWrapper?e:t.fieldWrapper.wrapField(e)}w.DOUBLE,w.FLOAT,w.INT64,w.UINT64,w.INT32,w.UINT32,w.BOOL,w.STRING,w.BYTES;var Ja={ignoreUnknownFields:!1},Va={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function ec(t){return t?Object.assign(Object.assign({},Ja),t):Ja}function tc(t){return t?Object.assign(Object.assign({},Va),t):Va}var ln=Symbol(),cn=Symbol();function nc(){return{makeReadOptions:ec,makeWriteOptions:tc,readMessage(t,e,n,r){if(e==null||Array.isArray(e)||typeof e!="object")throw Error(`cannot decode message ${t.typeName} from JSON: ${ze(e)}`);r??(r=new t);let a=new Map,o=n.typeRegistry;for(let[i,s]of Object.entries(e)){let c=t.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;let l=a.get(c.oneof);if(l!==void 0)throw Error(`cannot decode message ${t.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${l}", "${i}"`);a.set(c.oneof,i)}$a(r,s,c,n,t)}else{let l=!1;if(o!=null&&o.findExtension&&i.startsWith("[")&&i.endsWith("]")){let u=o.findExtension(i.substring(1,i.length-1));if(u&&u.extendee.typeName==t.typeName){l=!0;let[d,p]=Da(u);$a(d,s,u.field,n,u),Zl(r,u,p(),n)}}if(!l&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${t.typeName} from JSON: key "${i}" is unknown`)}}return r},writeMessage(t,e){let n=t.getType(),r={},a;try{for(a of n.fields.byNumber()){if(!Ra(a,t)){if(a.req)throw"required field not set";if(!e.emitDefaultValues||!ac(a))continue}let i=a.oneof?t[a.oneof.localName].value:t[a.localName],s=Wa(a,i,e);s!==void 0&&(r[e.useProtoFieldName?a.name:a.jsonName]=s)}let o=e.typeRegistry;if(o!=null&&o.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(t)){let s=o.findExtensionFor(n.typeName,i.no);if(s&&Ma(t,s)){let c=Ql(t,s,e),l=Wa(s.field,c,e);l!==void 0&&(r[s.field.jsonName]=l)}}}catch(o){let i=a?`cannot encode field ${n.typeName}.${a.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,s=o instanceof Error?o.message:String(o);throw Error(i+(s.length>0?`: ${s}`:""))}return r},readScalar(t,e,n){return jt(t,e,n??st.BIGINT,!0)},writeScalar(t,e,n){if(e!==void 0&&(n||Pa(t,e)))return un(t,e)},debug:ze}}function ze(t){if(t===null)return"null";switch(typeof t){case"object":return Array.isArray(t)?"array":"object";case"string":return t.length>100?"string":`"${t.split('"').join('\\"')}"`;default:return String(t)}}function $a(t,e,n,r,a){let o=n.localName;if(n.repeated){if(z(n.kind!="map"),e===null)return;if(!Array.isArray(e))throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: ${ze(e)}`);let i=t[o];for(let s of e){if(s===null)throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: ${ze(s)}`);switch(n.kind){case"message":i.push(n.T.fromJson(s,r));break;case"enum":let c=mr(n.T,s,r.ignoreUnknownFields,!0);c!==cn&&i.push(c);break;case"scalar":try{i.push(jt(n.T,s,n.L,!0))}catch(l){let u=`cannot decode field ${a.typeName}.${n.name} from JSON: ${ze(s)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}}else if(n.kind=="map"){if(e===null)return;if(typeof e!="object"||Array.isArray(e))throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: ${ze(e)}`);let i=t[o];for(let[s,c]of Object.entries(e)){if(c===null)throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: map value null`);let l;try{l=rc(n.K,s)}catch(u){let d=`cannot decode map key for field ${a.typeName}.${n.name} from JSON: ${ze(e)}`;throw u instanceof Error&&u.message.length>0&&(d+=`: ${u.message}`),Error(d)}switch(n.V.kind){case"message":i[l]=n.V.T.fromJson(c,r);break;case"enum":let u=mr(n.V.T,c,r.ignoreUnknownFields,!0);u!==cn&&(i[l]=u);break;case"scalar":try{i[l]=jt(n.V.T,c,st.BIGINT,!0)}catch(d){let p=`cannot decode map value for field ${a.typeName}.${n.name} from JSON: ${ze(e)}`;throw d instanceof Error&&d.message.length>0&&(p+=`: ${d.message}`),Error(p)}break}}}else switch(n.oneof&&(t=t[n.oneof.localName]={case:o},o="value"),n.kind){case"message":let i=n.T;if(e===null&&i.typeName!="google.protobuf.Value")return;let s=t[o];Qe(s)?s.fromJson(e,r):(t[o]=s=i.fromJson(e,r),i.fieldWrapper&&!n.oneof&&(t[o]=i.fieldWrapper.unwrapField(s)));break;case"enum":let c=mr(n.T,e,r.ignoreUnknownFields,!1);switch(c){case ln:Ba(n,t);break;case cn:break;default:t[o]=c;break}break;case"scalar":try{let l=jt(n.T,e,n.L,!1);l===ln?Ba(n,t):t[o]=l}catch(l){let u=`cannot decode field ${a.typeName}.${n.name} from JSON: ${ze(e)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}function rc(t,e){if(t===w.BOOL)switch(e){case"true":e=!0;break;case"false":e=!1;break}return jt(t,e,st.BIGINT,!0).toString()}function jt(t,e,n,r){if(e===null)return r?gt(t,n):ln;switch(t){case w.DOUBLE:case w.FLOAT:if(e==="NaN")return NaN;if(e==="Infinity")return 1/0;if(e==="-Infinity")return-1/0;if(e===""||typeof e=="string"&&e.trim().length!==e.length||typeof e!="string"&&typeof e!="number")break;let a=Number(e);if(Number.isNaN(a)||!Number.isFinite(a))break;return t==w.FLOAT&&Ca(a),a;case w.INT32:case w.FIXED32:case w.SFIXED32:case w.SINT32:case w.UINT32:let o;if(typeof e=="number"?o=e:typeof e=="string"&&e.length>0&&e.trim().length===e.length&&(o=Number(e)),o===void 0)break;return t==w.UINT32||t==w.FIXED32?ur(o):rn(o),o;case w.INT64:case w.SFIXED64:case w.SINT64:if(typeof e!="number"&&typeof e!="string")break;let i=W.parse(e);return n?i.toString():i;case w.FIXED64:case w.UINT64:if(typeof e!="number"&&typeof e!="string")break;let s=W.uParse(e);return n?s.toString():s;case w.BOOL:if(typeof e!="boolean")break;return e;case w.STRING:if(typeof e!="string")break;return e;case w.BYTES:if(e==="")return new Uint8Array;if(typeof e!="string")break;return sn.dec(e)}throw Error()}function mr(t,e,n,r){if(e===null)return t.typeName=="google.protobuf.NullValue"?0:r?t.values[0].no:ln;switch(typeof e){case"number":if(Number.isInteger(e))return e;break;case"string":let a=t.findName(e);if(a!==void 0)return a.no;if(n)return cn;break}throw Error(`cannot decode enum ${t.typeName} from JSON: ${ze(e)}`)}function ac(t){return t.repeated||t.kind=="map"?!0:!(t.oneof||t.kind=="message"||t.opt||t.req)}function Wa(t,e,n){if(t.kind=="map"){z(typeof e=="object"&&!!e);let r={},a=Object.entries(e);switch(t.V.kind){case"scalar":for(let[i,s]of a)r[i.toString()]=un(t.V.T,s);break;case"message":for(let[i,s]of a)r[i.toString()]=s.toJson(n);break;case"enum":let o=t.V.T;for(let[i,s]of a)r[i.toString()]=pr(o,s,n.enumAsInteger);break}return n.emitDefaultValues||a.length>0?r:void 0}if(t.repeated){z(Array.isArray(e));let r=[];switch(t.kind){case"scalar":for(let a=0;a<e.length;a++)r.push(un(t.T,e[a]));break;case"enum":for(let a=0;a<e.length;a++)r.push(pr(t.T,e[a],n.enumAsInteger));break;case"message":for(let a=0;a<e.length;a++)r.push(e[a].toJson(n));break}return n.emitDefaultValues||r.length>0?r:void 0}switch(t.kind){case"scalar":return un(t.T,e);case"enum":return pr(t.T,e,n.enumAsInteger);case"message":return Ga(t.T,e).toJson(n)}}function pr(t,e,n){var r;return z(typeof e=="number"),t.typeName=="google.protobuf.NullValue"?null:n?e:((r=t.findNumber(e))==null?void 0:r.name)??e}function un(t,e){switch(t){case w.INT32:case w.SFIXED32:case w.SINT32:case w.FIXED32:case w.UINT32:return z(typeof e=="number"),e;case w.FLOAT:case w.DOUBLE:return z(typeof e=="number"),Number.isNaN(e)?"NaN":e===1/0?"Infinity":e===-1/0?"-Infinity":e;case w.STRING:return z(typeof e=="string"),e;case w.BOOL:return z(typeof e=="boolean"),e;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return z(typeof e=="bigint"||typeof e=="string"||typeof e=="number"),e.toString();case w.BYTES:return z(e instanceof Uint8Array),sn.enc(e)}}var yt=Symbol("@bufbuild/protobuf/unknown-fields"),qa={readUnknownFields:!0,readerFactory:t=>new zl(t)},Ha={writeUnknownFields:!0,writerFactory:()=>new Hl};function oc(t){return t?Object.assign(Object.assign({},qa),t):qa}function ic(t){return t?Object.assign(Object.assign({},Ha),t):Ha}function sc(){return{makeReadOptions:oc,makeWriteOptions:ic,listUnknownFields(t){return t[yt]??[]},discardUnknownFields(t){delete t[yt]},writeUnknownFields(t,e){let n=t[yt];if(n)for(let r of n)e.tag(r.no,r.wireType).raw(r.data)},onUnknownField(t,e,n,r){let a=t;Array.isArray(a[yt])||(a[yt]=[]),a[yt].push({no:e,wireType:n,data:r})},readMessage(t,e,n,r,a){let o=t.getType(),i=a?e.len:e.pos+n,s,c;for(;e.pos<i&&([s,c]=e.tag(),!(a===!0&&c==Z.EndGroup));){let l=o.fields.find(s);if(!l){let u=e.skip(c,s);r.readUnknownFields&&this.onUnknownField(t,s,c,u);continue}za(t,e,l,c,r)}if(a&&(c!=Z.EndGroup||s!==n))throw Error("invalid end group tag")},readField:za,writeMessage(t,e,n){let r=t.getType();for(let a of r.fields.byNumber()){if(!Ra(a,t)){if(a.req)throw Error(`cannot encode field ${r.typeName}.${a.name} to binary: required field not set`);continue}Ya(a,a.oneof?t[a.oneof.localName].value:t[a.localName],e,n)}return n.writeUnknownFields&&this.writeUnknownFields(t,e),e},writeField(t,e,n,r){e!==void 0&&Ya(t,e,n,r)}}}function za(t,e,n,r,a){let{repeated:o,localName:i}=n;switch(n.oneof&&(t=t[n.oneof.localName],t.case!=i&&delete t.value,t.case=i,i="value"),n.kind){case"scalar":case"enum":let s=n.kind=="enum"?w.INT32:n.T,c=fn;if(n.kind=="scalar"&&n.L>0&&(c=cc),o){let p=t[i];if(r==Z.LengthDelimited&&s!=w.STRING&&s!=w.BYTES){let f=e.uint32()+e.pos;for(;e.pos<f;)p.push(c(e,s))}else p.push(c(e,s))}else t[i]=c(e,s);break;case"message":let l=n.T;o?t[i].push(dn(e,new l,a,n)):Qe(t[i])?dn(e,t[i],a,n):(t[i]=dn(e,new l,a,n),l.fieldWrapper&&!n.oneof&&!n.repeated&&(t[i]=l.fieldWrapper.unwrapField(t[i])));break;case"map":let[u,d]=lc(n,e,a);t[i][u]=d;break}}function dn(t,e,n,r){let a=e.getType().runtime.bin,o=r==null?void 0:r.delimited;return a.readMessage(e,t,o?r.no:t.uint32(),n,o),e}function lc(t,e,n){let r=e.uint32(),a=e.pos+r,o,i;for(;e.pos<a;){let[s]=e.tag();switch(s){case 1:o=fn(e,t.K);break;case 2:switch(t.V.kind){case"scalar":i=fn(e,t.V.T);break;case"enum":i=e.int32();break;case"message":i=dn(e,new t.V.T,n,void 0);break}break}}if(o===void 0&&(o=gt(t.K,st.BIGINT)),typeof o!="string"&&typeof o!="number"&&(o=o.toString()),i===void 0)switch(t.V.kind){case"scalar":i=gt(t.V.T,st.BIGINT);break;case"enum":i=t.V.T.values[0].no;break;case"message":i=new t.V.T;break}return[o,i]}function cc(t,e){let n=fn(t,e);return typeof n=="bigint"?n.toString():n}function fn(t,e){switch(e){case w.STRING:return t.string();case w.BOOL:return t.bool();case w.DOUBLE:return t.double();case w.FLOAT:return t.float();case w.INT32:return t.int32();case w.INT64:return t.int64();case w.UINT64:return t.uint64();case w.FIXED64:return t.fixed64();case w.BYTES:return t.bytes();case w.FIXED32:return t.fixed32();case w.SFIXED32:return t.sfixed32();case w.SFIXED64:return t.sfixed64();case w.SINT64:return t.sint64();case w.UINT32:return t.uint32();case w.SINT32:return t.sint32()}}function Ya(t,e,n,r){z(e!==void 0);let a=t.repeated;switch(t.kind){case"scalar":case"enum":let o=t.kind=="enum"?w.INT32:t.T;if(a)if(z(Array.isArray(e)),t.packed)dc(n,o,t.no,e);else for(let i of e)Pt(n,o,t.no,i);else Pt(n,o,t.no,e);break;case"message":if(a){z(Array.isArray(e));for(let i of e)Ka(n,r,t,i)}else Ka(n,r,t,e);break;case"map":z(typeof e=="object"&&!!e);for(let[i,s]of Object.entries(e))uc(n,r,t,i,s);break}}function uc(t,e,n,r,a){t.tag(n.no,Z.LengthDelimited),t.fork();let o=r;switch(n.K){case w.INT32:case w.FIXED32:case w.UINT32:case w.SFIXED32:case w.SINT32:o=Number.parseInt(r);break;case w.BOOL:z(r=="true"||r=="false"),o=r=="true";break}switch(Pt(t,n.K,1,o),n.V.kind){case"scalar":Pt(t,n.V.T,2,a);break;case"enum":Pt(t,w.INT32,2,a);break;case"message":z(a!==void 0),t.tag(2,Z.LengthDelimited).bytes(a.toBinary(e));break}t.join()}function Ka(t,e,n,r){let a=Ga(n.T,r);n.delimited?t.tag(n.no,Z.StartGroup).raw(a.toBinary(e)).tag(n.no,Z.EndGroup):t.tag(n.no,Z.LengthDelimited).bytes(a.toBinary(e))}function Pt(t,e,n,r){z(r!==void 0);let[a,o]=Xa(e);t.tag(n,a)[o](r)}function dc(t,e,n,r){if(!r.length)return;t.tag(n,Z.LengthDelimited).fork();let[,a]=Xa(e);for(let o=0;o<r.length;o++)t[a](r[o]);t.join()}function Xa(t){let e=Z.Varint;switch(t){case w.BYTES:case w.STRING:e=Z.LengthDelimited;break;case w.DOUBLE:case w.FIXED64:case w.SFIXED64:e=Z.Bit64;break;case w.FIXED32:case w.SFIXED32:case w.FLOAT:e=Z.Bit32;break}let n=w[t].toLowerCase();return[e,n]}function fc(){return{setEnumType:Ia,initPartial(t,e){if(t===void 0)return;let n=e.getType();for(let r of n.fields.byMember()){let a=r.localName,o=e,i=t;if(i[a]!=null)switch(r.kind){case"oneof":let s=i[a].case;if(s===void 0)continue;let c=r.findField(s),l=i[a].value;c&&c.kind=="message"&&!Qe(l,c.T)?l=new c.T(l):c&&c.kind==="scalar"&&c.T===w.BYTES&&(l=Dt(l)),o[a]={case:s,value:l};break;case"scalar":case"enum":let u=i[a];r.T===w.BYTES&&(u=r.repeated?u.map(Dt):Dt(u)),o[a]=u;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===w.BYTES)for(let[f,m]of Object.entries(i[a]))o[a][f]=Dt(m);else Object.assign(o[a],i[a]);break;case"message":let p=r.V.T;for(let f of Object.keys(i[a])){let m=i[a][f];p.fieldWrapper||(m=new p(m)),o[a][f]=m}break}break;case"message":let d=r.T;if(r.repeated)o[a]=i[a].map(p=>Qe(p,d)?p:new d(p));else{let p=i[a];d.fieldWrapper?d.typeName==="google.protobuf.BytesValue"?o[a]=Dt(p):o[a]=p:o[a]=Qe(p,d)?p:new d(p)}break}}},equals(t,e,n){return e===n?!0:!e||!n?!1:t.fields.byMember().every(r=>{let a=e[r.localName],o=n[r.localName];if(r.repeated){if(a.length!==o.length)return!1;switch(r.kind){case"message":return a.every((i,s)=>r.T.equals(i,o[s]));case"scalar":return a.every((i,s)=>et(r.T,i,o[s]));case"enum":return a.every((i,s)=>et(w.INT32,i,o[s]))}throw Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":let i=a,s=o;return r.T.fieldWrapper&&(i!==void 0&&!Qe(i)&&(i=r.T.fieldWrapper.wrapField(i)),s!==void 0&&!Qe(s)&&(s=r.T.fieldWrapper.wrapField(s))),r.T.equals(i,s);case"enum":return et(w.INT32,a,o);case"scalar":return et(r.T,a,o);case"oneof":if(a.case!==o.case)return!1;let c=r.findField(a.case);if(c===void 0)return!0;switch(c.kind){case"message":return c.T.equals(a.value,o.value);case"enum":return et(w.INT32,a.value,o.value);case"scalar":return et(c.T,a.value,o.value)}throw Error(`oneof cannot contain ${c.kind}`);case"map":let l=Object.keys(a).concat(Object.keys(o));switch(r.V.kind){case"message":let u=r.V.T;return l.every(p=>u.equals(a[p],o[p]));case"enum":return l.every(p=>et(w.INT32,a[p],o[p]));case"scalar":let d=r.V.T;return l.every(p=>et(d,a[p],o[p]))}break}})},clone(t){let e=t.getType(),n=new e,r=n;for(let a of e.fields.byMember()){let o=t[a.localName],i;if(a.repeated)i=o.map(mn);else if(a.kind=="map"){i=r[a.localName];for(let[s,c]of Object.entries(o))i[s]=mn(c)}else i=a.kind=="oneof"?a.findField(o.case)?{case:o.case,value:mn(o.value)}:{case:void 0}:mn(o);r[a.localName]=i}for(let a of e.runtime.bin.listUnknownFields(t))e.runtime.bin.onUnknownField(r,a.no,a.wireType,a.data);return n}}}function mn(t){if(t===void 0)return t;if(Qe(t))return t.clone();if(t instanceof Uint8Array){let e=new Uint8Array(t.byteLength);return e.set(t),e}return t}function Dt(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function mc(t,e,n){return{syntax:t,json:nc(),bin:sc(),util:Object.assign(Object.assign({},fc()),{newFieldList:e,initFields:n}),makeMessageType(r,a,o){return Gl(this,r,a,o)},makeEnum:Bl,makeEnumType:Ta,getEnumType:Rl,makeExtension(r,a,o){return Yl(this,r,a,o)}}}var pc=class{constructor(t,e){this._fields=t,this._normalizer=e}findJsonName(t){if(!this.jsonNames){let e={};for(let n of this.list())e[n.jsonName]=e[n.name]=n;this.jsonNames=e}return this.jsonNames[t]}find(t){if(!this.numbers){let e={};for(let n of this.list())e[n.no]=n;this.numbers=e}return this.numbers[t]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((t,e)=>t.no-e.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];let t=this.members,e;for(let n of this.list())n.oneof?n.oneof!==e&&(e=n.oneof,t.push(e)):t.push(n)}return this.members}};function Qa(t,e){let n=Za(t);return e?n:vc(wc(n))}function hc(t){return Qa(t,!1)}const gc=Za;function Za(t){let e=!1,n=[];for(let r=0;r<t.length;r++){let a=t.charAt(r);switch(a){case"_":e=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(a),e=!1;break;default:e&&(e=!1,a=a.toUpperCase()),n.push(a);break}}return n.join("")}var yc=new Set(["constructor","toString","toJSON","valueOf"]),bc=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),eo=t=>`${t}$`,wc=t=>bc.has(t)?eo(t):t;const vc=t=>yc.has(t)?eo(t):t;var xc=class{constructor(t){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=t,this.localName=hc(t)}addField(t){z(t.oneof===this,`field ${t.name} not one of ${this.name}`),this.fields.push(t)}findField(t){if(!this._lookup){this._lookup=Object.create(null);for(let e=0;e<this.fields.length;e++)this._lookup[this.fields[e].localName]=this.fields[e]}return this._lookup[t]}};function Ec(t,e){let n=[],r;for(let a of typeof t=="function"?t():t){let o=a;if(o.localName=Qa(a.name,a.oneof!==void 0),o.jsonName=a.jsonName??gc(a.name),o.repeated=a.repeated??!1,a.kind=="scalar"&&(o.L=a.L??st.BIGINT),o.delimited=a.delimited??!1,o.req=a.req??!1,o.opt=a.opt??!1,a.packed===void 0&&(e?o.packed=a.kind=="enum"||a.kind=="scalar"&&a.T!=w.BYTES&&a.T!=w.STRING:o.packed=!1),a.oneof!==void 0){let i=typeof a.oneof=="string"?a.oneof:a.oneof.name;(!r||r.name!=i)&&(r=new xc(i)),o.oneof=r,r.addField(o)}n.push(o)}return n}const x=mc("proto3",t=>new pc(t,e=>Ec(e,!0)),t=>{for(let e of t.getType().fields.byMember()){if(e.opt)continue;let n=e.localName,r=t;if(e.repeated){r[n]=[];continue}switch(e.kind){case"oneof":r[n]={case:void 0};break;case"enum":r[n]=0;break;case"map":r[n]={};break;case"scalar":r[n]=gt(e.T,e.L);break;case"message":break}}});var Ee;(function(t){t[t.Unary=0]="Unary",t[t.ServerStreaming=1]="ServerStreaming",t[t.ClientStreaming=2]="ClientStreaming",t[t.BiDiStreaming=3]="BiDiStreaming"})(Ee||(Ee={}));var to;(function(t){t[t.NoSideEffects=1]="NoSideEffects",t[t.Idempotent=2]="Idempotent"})(to||(to={}));var hr;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.JUPYTER_FORMAT=77]="JUPYTER_FORMAT"})(hr||(hr={})),x.util.setEnumType(hr,"exa.codeium_common_pb.ExperimentKey",[{no:0,name:"UNSPECIFIED"},{no:77,name:"JUPYTER_FORMAT"}]);var pn;(function(t){t[t.CODEIUM=0]="CODEIUM"})(pn||(pn={})),x.util.setEnumType(pn,"exa.codeium_common_pb.AuthSource",[{no:0,name:"AUTH_SOURCE_CODEIUM"}]);var hn;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.ENABLE_CODEIUM=1]="ENABLE_CODEIUM",t[t.DISABLE_CODEIUM=2]="DISABLE_CODEIUM",t[t.SHOW_PREVIOUS_COMPLETION=3]="SHOW_PREVIOUS_COMPLETION",t[t.SHOW_NEXT_COMPLETION=4]="SHOW_NEXT_COMPLETION"})(hn||(hn={})),x.util.setEnumType(hn,"exa.codeium_common_pb.EventType",[{no:0,name:"EVENT_TYPE_UNSPECIFIED"},{no:1,name:"EVENT_TYPE_ENABLE_CODEIUM"},{no:2,name:"EVENT_TYPE_DISABLE_CODEIUM"},{no:3,name:"EVENT_TYPE_SHOW_PREVIOUS_COMPLETION"},{no:4,name:"EVENT_TYPE_SHOW_NEXT_COMPLETION"}]);var gn;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.TYPING_AS_SUGGESTED=1]="TYPING_AS_SUGGESTED",t[t.CACHE=2]="CACHE",t[t.NETWORK=3]="NETWORK"})(gn||(gn={})),x.util.setEnumType(gn,"exa.codeium_common_pb.CompletionSource",[{no:0,name:"COMPLETION_SOURCE_UNSPECIFIED"},{no:1,name:"COMPLETION_SOURCE_TYPING_AS_SUGGESTED"},{no:2,name:"COMPLETION_SOURCE_CACHE"},{no:3,name:"COMPLETION_SOURCE_NETWORK"}]);var lt;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.C=1]="C",t[t.CLOJURE=2]="CLOJURE",t[t.COFFEESCRIPT=3]="COFFEESCRIPT",t[t.CPP=4]="CPP",t[t.CSHARP=5]="CSHARP",t[t.CSS=6]="CSS",t[t.CUDACPP=7]="CUDACPP",t[t.DOCKERFILE=8]="DOCKERFILE",t[t.GO=9]="GO",t[t.GROOVY=10]="GROOVY",t[t.HANDLEBARS=11]="HANDLEBARS",t[t.HASKELL=12]="HASKELL",t[t.HCL=13]="HCL",t[t.HTML=14]="HTML",t[t.INI=15]="INI",t[t.JAVA=16]="JAVA",t[t.JAVASCRIPT=17]="JAVASCRIPT",t[t.JSON=18]="JSON",t[t.JULIA=19]="JULIA",t[t.KOTLIN=20]="KOTLIN",t[t.LATEX=21]="LATEX",t[t.LESS=22]="LESS",t[t.LUA=23]="LUA",t[t.MAKEFILE=24]="MAKEFILE",t[t.MARKDOWN=25]="MARKDOWN",t[t.OBJECTIVEC=26]="OBJECTIVEC",t[t.OBJECTIVECPP=27]="OBJECTIVECPP",t[t.PERL=28]="PERL",t[t.PHP=29]="PHP",t[t.PLAINTEXT=30]="PLAINTEXT",t[t.PROTOBUF=31]="PROTOBUF",t[t.PBTXT=32]="PBTXT",t[t.PYTHON=33]="PYTHON",t[t.R=34]="R",t[t.RUBY=35]="RUBY",t[t.RUST=36]="RUST",t[t.SASS=37]="SASS",t[t.SCALA=38]="SCALA",t[t.SCSS=39]="SCSS",t[t.SHELL=40]="SHELL",t[t.SQL=41]="SQL",t[t.STARLARK=42]="STARLARK",t[t.SWIFT=43]="SWIFT",t[t.TSX=44]="TSX",t[t.TYPESCRIPT=45]="TYPESCRIPT",t[t.VISUALBASIC=46]="VISUALBASIC",t[t.VUE=47]="VUE",t[t.XML=48]="XML",t[t.XSL=49]="XSL",t[t.YAML=50]="YAML",t[t.SVELTE=51]="SVELTE",t[t.TOML=52]="TOML",t[t.DART=53]="DART",t[t.RST=54]="RST",t[t.OCAML=55]="OCAML",t[t.CMAKE=56]="CMAKE",t[t.PASCAL=57]="PASCAL",t[t.ELIXIR=58]="ELIXIR",t[t.FSHARP=59]="FSHARP",t[t.LISP=60]="LISP",t[t.MATLAB=61]="MATLAB",t[t.POWERSHELL=62]="POWERSHELL",t[t.SOLIDITY=63]="SOLIDITY",t[t.ADA=64]="ADA",t[t.OCAML_INTERFACE=65]="OCAML_INTERFACE"})(lt||(lt={})),x.util.setEnumType(lt,"exa.codeium_common_pb.Language",[{no:0,name:"LANGUAGE_UNSPECIFIED"},{no:1,name:"LANGUAGE_C"},{no:2,name:"LANGUAGE_CLOJURE"},{no:3,name:"LANGUAGE_COFFEESCRIPT"},{no:4,name:"LANGUAGE_CPP"},{no:5,name:"LANGUAGE_CSHARP"},{no:6,name:"LANGUAGE_CSS"},{no:7,name:"LANGUAGE_CUDACPP"},{no:8,name:"LANGUAGE_DOCKERFILE"},{no:9,name:"LANGUAGE_GO"},{no:10,name:"LANGUAGE_GROOVY"},{no:11,name:"LANGUAGE_HANDLEBARS"},{no:12,name:"LANGUAGE_HASKELL"},{no:13,name:"LANGUAGE_HCL"},{no:14,name:"LANGUAGE_HTML"},{no:15,name:"LANGUAGE_INI"},{no:16,name:"LANGUAGE_JAVA"},{no:17,name:"LANGUAGE_JAVASCRIPT"},{no:18,name:"LANGUAGE_JSON"},{no:19,name:"LANGUAGE_JULIA"},{no:20,name:"LANGUAGE_KOTLIN"},{no:21,name:"LANGUAGE_LATEX"},{no:22,name:"LANGUAGE_LESS"},{no:23,name:"LANGUAGE_LUA"},{no:24,name:"LANGUAGE_MAKEFILE"},{no:25,name:"LANGUAGE_MARKDOWN"},{no:26,name:"LANGUAGE_OBJECTIVEC"},{no:27,name:"LANGUAGE_OBJECTIVECPP"},{no:28,name:"LANGUAGE_PERL"},{no:29,name:"LANGUAGE_PHP"},{no:30,name:"LANGUAGE_PLAINTEXT"},{no:31,name:"LANGUAGE_PROTOBUF"},{no:32,name:"LANGUAGE_PBTXT"},{no:33,name:"LANGUAGE_PYTHON"},{no:34,name:"LANGUAGE_R"},{no:35,name:"LANGUAGE_RUBY"},{no:36,name:"LANGUAGE_RUST"},{no:37,name:"LANGUAGE_SASS"},{no:38,name:"LANGUAGE_SCALA"},{no:39,name:"LANGUAGE_SCSS"},{no:40,name:"LANGUAGE_SHELL"},{no:41,name:"LANGUAGE_SQL"},{no:42,name:"LANGUAGE_STARLARK"},{no:43,name:"LANGUAGE_SWIFT"},{no:44,name:"LANGUAGE_TSX"},{no:45,name:"LANGUAGE_TYPESCRIPT"},{no:46,name:"LANGUAGE_VISUALBASIC"},{no:47,name:"LANGUAGE_VUE"},{no:48,name:"LANGUAGE_XML"},{no:49,name:"LANGUAGE_XSL"},{no:50,name:"LANGUAGE_YAML"},{no:51,name:"LANGUAGE_SVELTE"},{no:52,name:"LANGUAGE_TOML"},{no:53,name:"LANGUAGE_DART"},{no:54,name:"LANGUAGE_RST"},{no:55,name:"LANGUAGE_OCAML"},{no:56,name:"LANGUAGE_CMAKE"},{no:57,name:"LANGUAGE_PASCAL"},{no:58,name:"LANGUAGE_ELIXIR"},{no:59,name:"LANGUAGE_FSHARP"},{no:60,name:"LANGUAGE_LISP"},{no:61,name:"LANGUAGE_MATLAB"},{no:62,name:"LANGUAGE_POWERSHELL"},{no:63,name:"LANGUAGE_SOLIDITY"},{no:64,name:"LANGUAGE_ADA"},{no:65,name:"LANGUAGE_OCAML_INTERFACE"}]);var Sc=(Se=class extends X{constructor(n){super();g(this,"completionId","");g(this,"text","");g(this,"prefix","");g(this,"stop","");g(this,"score",0);g(this,"tokens",[]);g(this,"decodedTokens",[]);g(this,"probabilities",[]);g(this,"adjustedProbabilities",[]);g(this,"generatedLength",W.zero);x.util.initPartial(n,this)}static fromBinary(n,r){return new Se().fromBinary(n,r)}static fromJson(n,r){return new Se().fromJson(n,r)}static fromJsonString(n,r){return new Se().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Se,n,r)}},g(Se,"runtime",x),g(Se,"typeName","exa.codeium_common_pb.Completion"),g(Se,"fields",x.util.newFieldList(()=>[{no:1,name:"completion_id",kind:"scalar",T:9},{no:2,name:"text",kind:"scalar",T:9},{no:3,name:"prefix",kind:"scalar",T:9},{no:4,name:"stop",kind:"scalar",T:9},{no:5,name:"score",kind:"scalar",T:1},{no:6,name:"tokens",kind:"scalar",T:4,repeated:!0},{no:7,name:"decoded_tokens",kind:"scalar",T:9,repeated:!0},{no:8,name:"probabilities",kind:"scalar",T:1,repeated:!0},{no:9,name:"adjusted_probabilities",kind:"scalar",T:1,repeated:!0},{no:10,name:"generated_length",kind:"scalar",T:4}])),Se),no=(ke=class extends X{constructor(n){super();g(this,"ideName","");g(this,"ideVersion","");g(this,"extensionName","");g(this,"extensionVersion","");g(this,"apiKey","");g(this,"locale","");g(this,"sessionId","");g(this,"requestId",W.zero);g(this,"userAgent","");g(this,"url","");g(this,"authSource",pn.CODEIUM);x.util.initPartial(n,this)}static fromBinary(n,r){return new ke().fromBinary(n,r)}static fromJson(n,r){return new ke().fromJson(n,r)}static fromJsonString(n,r){return new ke().fromJsonString(n,r)}static equals(n,r){return x.util.equals(ke,n,r)}},g(ke,"runtime",x),g(ke,"typeName","exa.codeium_common_pb.Metadata"),g(ke,"fields",x.util.newFieldList(()=>[{no:1,name:"ide_name",kind:"scalar",T:9},{no:7,name:"ide_version",kind:"scalar",T:9},{no:12,name:"extension_name",kind:"scalar",T:9},{no:2,name:"extension_version",kind:"scalar",T:9},{no:3,name:"api_key",kind:"scalar",T:9},{no:4,name:"locale",kind:"scalar",T:9},{no:10,name:"session_id",kind:"scalar",T:9},{no:9,name:"request_id",kind:"scalar",T:4},{no:13,name:"user_agent",kind:"scalar",T:9},{no:14,name:"url",kind:"scalar",T:9},{no:15,name:"auth_source",kind:"enum",T:x.getEnumType(pn)}])),ke),kc=(Ce=class extends X{constructor(n){super();g(this,"tabSize",W.zero);g(this,"insertSpaces",!1);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ce().fromBinary(n,r)}static fromJson(n,r){return new Ce().fromJson(n,r)}static fromJsonString(n,r){return new Ce().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ce,n,r)}},g(Ce,"runtime",x),g(Ce,"typeName","exa.codeium_common_pb.EditorOptions"),g(Ce,"fields",x.util.newFieldList(()=>[{no:1,name:"tab_size",kind:"scalar",T:4},{no:2,name:"insert_spaces",kind:"scalar",T:8}])),Ce);Ne=class extends X{constructor(n){super();g(this,"eventType",hn.UNSPECIFIED);g(this,"eventJson","");g(this,"timestampUnixMs",W.zero);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ne().fromBinary(n,r)}static fromJson(n,r){return new Ne().fromJson(n,r)}static fromJsonString(n,r){return new Ne().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ne,n,r)}},g(Ne,"runtime",x),g(Ne,"typeName","exa.codeium_common_pb.Event"),g(Ne,"fields",x.util.newFieldList(()=>[{no:1,name:"event_type",kind:"enum",T:x.getEnumType(hn)},{no:2,name:"event_json",kind:"scalar",T:9},{no:3,name:"timestamp_unix_ms",kind:"scalar",T:3}]));var Cc=class extends Wt{constructor(e,n){super();g(this,"index");g(this,"total");this.index=e,this.total=n}toDOM(){let e=document.createElement("span");e.setAttribute("aria-hidden","true"),e.className="cm-codeium-cycle";let n=e.appendChild(document.createElement("span"));n.className="cm-codeium-cycle-explanation",n.innerText=`${this.index+1}/${this.total}`;let r=e.appendChild(document.createElement("button"));return r.className="cm-codeium-cycle-key",r.innerText="\u2192 (Ctrl ])",r.dataset.action="codeium-cycle",e}ignoreEvent(){return!1}};const yn=$t.define({combine(t){return $n(t,{language:lt.TYPESCRIPT,timeout:150,widgetClass:Cc,alwaysOn:!0},{})}}),ro=$t.define({combine(t){return $n(t,{override:()=>[]},{})}});var Nc=V.mark({class:"cm-ghostText"});const ct=We.define({create(t){return null},update(t,e){var r;let n=e.state.facet(yn);for(let a of e.effects){if(a.is(sr)){let{changeSpecs:o,index:i}=a.value,s=o[i].map(l=>Nc.range(l.absoluteStartPos,l.absoluteEndPos)),c=(r=s.at(-1))==null?void 0:r.to;return{index:i,decorations:V.set([...s,...c!==void 0&&o.length>1&&n.widgetClass?[V.widget({widget:new n.widgetClass(i,o.length),side:1}).range(c)]:[]]),changeSpecs:o,reverseChangeSet:a.value.reverseChangeSet}}if(a.is(lr)||a.is(cr))return null}return t&&{...t,decorations:t.decorations.map(e.changes),reverseChangeSet:t.reverseChangeSet.map(e.changes)}},provide:t=>R.decorations.from(t,e=>(e==null?void 0:e.decorations)||V.none)}),bt=Xr.define(),bn=Xr.define();var B;(function(t){t[t.Canceled=1]="Canceled",t[t.Unknown=2]="Unknown",t[t.InvalidArgument=3]="InvalidArgument",t[t.DeadlineExceeded=4]="DeadlineExceeded",t[t.NotFound=5]="NotFound",t[t.AlreadyExists=6]="AlreadyExists",t[t.PermissionDenied=7]="PermissionDenied",t[t.ResourceExhausted=8]="ResourceExhausted",t[t.FailedPrecondition=9]="FailedPrecondition",t[t.Aborted=10]="Aborted",t[t.OutOfRange=11]="OutOfRange",t[t.Unimplemented=12]="Unimplemented",t[t.Internal=13]="Internal",t[t.Unavailable=14]="Unavailable",t[t.DataLoss=15]="DataLoss",t[t.Unauthenticated=16]="Unauthenticated"})(B||(B={}));function gr(t){let e=B[t];return typeof e=="string"?e[0].toLowerCase()+e.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase()):t.toString()}var wn;function Ic(t){if(!wn){wn={};for(let e of Object.values(B))typeof e!="string"&&(wn[gr(e)]=e)}return wn[t]}var ge=class It extends Error{constructor(e,n=B.Unknown,r,a,o){super(Tc(e,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=e,this.code=n,this.metadata=new Headers(r??{}),this.details=a??[],this.cause=o}static from(e,n=B.Unknown){return e instanceof It?e:e instanceof Error?e.name=="AbortError"?new It(e.message,B.Canceled):new It(e.message,n,void 0,void 0,e):new It(String(e),n,void 0,void 0,e)}static[Symbol.hasInstance](e){return e instanceof Error?Object.getPrototypeOf(e)===It.prototype?!0:e.name==="ConnectError"&&"code"in e&&typeof e.code=="number"&&"metadata"in e&&"details"in e&&Array.isArray(e.details)&&"rawMessage"in e&&typeof e.rawMessage=="string"&&"cause"in e:!1}findDetails(e){let n="typeName"in e?{findMessage:a=>a===e.typeName?e:void 0}:e,r=[];for(let a of this.details){if("getType"in a){n.findMessage(a.getType().typeName)&&r.push(a);continue}let o=n.findMessage(a.type);if(o)try{r.push(o.fromBinary(a.value))}catch{}}return r}};function Tc(t,e){return t.length?`[${gr(e)}] ${t}`:`[${gr(e)}]`}function Ac(...t){let e=new Headers;for(let n of t)n.forEach((r,a)=>{e.append(a,r)});return e}function Lc(t,e){let n={};for(let[r,a]of Object.entries(t.methods)){let o=e(Object.assign(Object.assign({},a),{localName:r,service:t}));o!=null&&(n[r]=o)}return n}function Oc(t){let e,n=new Uint8Array;function r(a){let o=new Uint8Array(n.length+a.length);o.set(n),o.set(a,n.length),n=o}return new ReadableStream({start(){e=t.getReader()},async pull(a){let o;for(;;){if(o===void 0&&n.byteLength>=5){let c=0;for(let l=1;l<5;l++)c=(c<<8)+n[l];o={flags:n[0],length:c}}if(o!==void 0&&n.byteLength>=o.length+5)break;let s=await e.read();if(s.done)break;r(s.value)}if(o===void 0){if(n.byteLength==0){a.close();return}a.error(new ge("premature end of stream",B.DataLoss));return}let i=n.subarray(5,5+o.length);n=n.subarray(5+o.length),a.enqueue({flags:o.flags,data:i})}})}function _c(t,e){let n=new Uint8Array(e.length+5);n.set(e,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,t),r.setUint32(1,e.length),n}var Uc=function(t){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(i){return new Promise(function(s,c){i=t[o](i),a(s,c,i.done,i.value)})}}function a(o,i,s,c){Promise.resolve(c).then(function(l){o({value:l,done:s})},i)}},Mt=function(t){return this instanceof Mt?(this.v=t,this):new Mt(t)},jc=function(t,e,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,o=[];return a={},s("next"),s("throw"),s("return",i),a[Symbol.asyncIterator]=function(){return this},a;function i(f){return function(m){return Promise.resolve(m).then(f,d)}}function s(f,m){r[f]&&(a[f]=function(y){return new Promise(function(b,v){o.push([f,y,b,v])>1||c(f,y)})},m&&(a[f]=m(a[f])))}function c(f,m){try{l(r[f](m))}catch(y){p(o[0][3],y)}}function l(f){f.value instanceof Mt?Promise.resolve(f.value.v).then(u,d):p(o[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,m){f(m),o.shift(),o.length&&c(o[0][0],o[0][1])}},Pc=function(t){var e,n;return e={},r("next"),r("throw",function(a){throw a}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(a,o){e[a]=t[a]?function(i){return(n=!n)?{value:Mt(t[a](i)),done:!1}:o?o(i):i}:o}};function Dc(t){return jc(this,arguments,function*(){yield Mt(yield*Pc(Uc(t)))})}var ao=function(t){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(i){return new Promise(function(s,c){i=t[o](i),a(s,c,i.done,i.value)})}}function a(o,i,s,c){Promise.resolve(c).then(function(l){o({value:l,done:s})},i)}},wt=function(t){return this instanceof wt?(this.v=t,this):new wt(t)},Mc=function(t){var e,n;return e={},r("next"),r("throw",function(a){throw a}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(a,o){e[a]=t[a]?function(i){return(n=!n)?{value:wt(t[a](i)),done:!1}:o?o(i):i}:o}},Fc=function(t,e,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,o=[];return a={},s("next"),s("throw"),s("return",i),a[Symbol.asyncIterator]=function(){return this},a;function i(f){return function(m){return Promise.resolve(m).then(f,d)}}function s(f,m){r[f]&&(a[f]=function(y){return new Promise(function(b,v){o.push([f,y,b,v])>1||c(f,y)})},m&&(a[f]=m(a[f])))}function c(f,m){try{l(r[f](m))}catch(y){p(o[0][3],y)}}function l(f){f.value instanceof wt?Promise.resolve(f.value.v).then(u,d):p(o[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,m){f(m),o.shift(),o.length&&c(o[0][0],o[0][1])}};function Rc(t,e){return Lc(t,n=>{switch(n.kind){case Ee.Unary:return Gc(e,t,n);case Ee.ServerStreaming:return Jc(e,t,n);case Ee.ClientStreaming:return Vc(e,t,n);case Ee.BiDiStreaming:return $c(e,t,n);default:return null}})}function Bc(t,e){return Rc(t,e)}function Gc(t,e,n){return async function(r,a){var o,i;let s=await t.unary(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,r,a==null?void 0:a.contextValues);return(o=a==null?void 0:a.onHeader)==null||o.call(a,s.header),(i=a==null?void 0:a.onTrailer)==null||i.call(a,s.trailer),s.message}}function Jc(t,e,n){return function(r,a){return oo(t.stream(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,Dc([r]),a==null?void 0:a.contextValues),a)}}function Vc(t,e,n){return async function(r,a){var o,i,s,c,l,u;let d=await t.stream(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,r,a==null?void 0:a.contextValues);(l=a==null?void 0:a.onHeader)==null||l.call(a,d.header);let p,f=0;try{for(var m=!0,y=ao(d.message),b;b=await y.next(),o=b.done,!o;m=!0)c=b.value,m=!1,p=c,f++}catch(v){i={error:v}}finally{try{!m&&!o&&(s=y.return)&&await s.call(y)}finally{if(i)throw i.error}}if(!p)throw new ge("protocol error: missing response message",B.Unimplemented);if(f>1)throw new ge("protocol error: received extra messages for client streaming method",B.Unimplemented);return(u=a==null?void 0:a.onTrailer)==null||u.call(a,d.trailer),p}}function $c(t,e,n){return function(r,a){return oo(t.stream(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,r,a==null?void 0:a.contextValues),a)}}function oo(t,e){let n=(function(){return Fc(this,arguments,function*(){var r,a;let o=yield wt(t);(r=e==null?void 0:e.onHeader)==null||r.call(e,o.header),yield wt(yield*Mc(ao(o.message))),(a=e==null?void 0:e.onTrailer)==null||a.call(e,o.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function Wc(...t){let e=new AbortController,n=t.filter(a=>a!==void 0).concat(e.signal);for(let a of n){if(a.aborted){r.apply(a);break}a.addEventListener("abort",r)}function r(){e.signal.aborted||e.abort(io(this));for(let a of n)a.removeEventListener("abort",r)}return e}function qc(t){let e=new AbortController,n=()=>{e.abort(new ge("the operation timed out",B.DeadlineExceeded))},r;return t!==void 0&&(t<=0?n():r=setTimeout(n,t)),{signal:e.signal,cleanup:()=>clearTimeout(r)}}function io(t){if(!t.aborted)return;if(t.reason!==void 0)return t.reason;let e=Error("This operation was aborted");return e.name="AbortError",e}function so(){return{get(t){return t.id in this?this[t.id]:t.defaultValue},set(t,e){return this[t.id]=e,this},delete(t){return delete this[t.id],this}}}function lo(t,e,n){let r=typeof e=="string"?e:e.typeName,a=typeof n=="string"?n:n.name;return t.toString().replace(/\/?$/,`/${r}/${a}`)}function co(t,e){return e instanceof t?e:new t(e)}function Hc(t,e){function n(r){return r.done===!0?r:{done:r.done,value:co(t,r.value)}}return{[Symbol.asyncIterator](){let r=e[Symbol.asyncIterator](),a={next:()=>r.next().then(n)};return r.throw!==void 0&&(a.throw=o=>r.throw(o).then(n)),r.return!==void 0&&(a.return=o=>r.return(o).then(n)),a}}}function uo(t,e){return(e==null?void 0:e.concat().reverse().reduce((n,r)=>r(n),t))??t}function fo(t){let e=Object.assign({},t);return e.ignoreUnknownFields??(e.ignoreUnknownFields=!0),e}function mo(t,e,n,r){let a=e?po(t.I,r):ho(t.I,n);return{parse:(e?po(t.O,r):ho(t.O,n)).parse,serialize:a.serialize}}function po(t,e){return{parse(n){try{return t.fromBinary(n,e)}catch(r){throw new ge(`parse binary: ${r instanceof Error?r.message:String(r)}`,B.Internal)}},serialize(n){try{return n.toBinary(e)}catch(r){throw new ge(`serialize binary: ${r instanceof Error?r.message:String(r)}`,B.Internal)}}}}function ho(t,e){let n=(e==null?void 0:e.textEncoder)??new TextEncoder,r=(e==null?void 0:e.textDecoder)??new TextDecoder,a=fo(e);return{parse(o){try{let i=r.decode(o);return t.fromJsonString(i,a)}catch(i){throw ge.from(i,B.InvalidArgument)}},serialize(o){try{let i=o.toJsonString(a);return n.encode(i)}catch(i){throw ge.from(i,B.Internal)}}}}const zc=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;function Yc(t){let e=t==null?void 0:t.match(zc);if(e)return{stream:!!e[1],binary:!!e[3]}}function go(t,e,n){if(e&&new Headers(e).forEach((i,s)=>n.metadata.append(s,i)),typeof t!="object"||!t||Array.isArray(t))throw n;let r=n.code;"code"in t&&typeof t.code=="string"&&(r=Ic(t.code)??r);let a=t.message;if(a!=null&&typeof a!="string")throw n;let o=new ge(a??"",r,e);if("details"in t&&Array.isArray(t.details))for(let i of t.details){if(typeof i!="object"||!i||Array.isArray(i)||typeof i.type!="string"||typeof i.value!="string")throw n;try{o.details.push({type:i.type,value:sn.dec(i.value),debug:i.debug})}catch{throw n}}return o}function Kc(t){let e=new ge("invalid end stream",B.Unknown),n;try{n=JSON.parse(typeof t=="string"?t:new TextDecoder().decode(t))}catch{throw e}if(typeof n!="object"||!n||Array.isArray(n))throw e;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw e;for(let[a,o]of Object.entries(n.metadata)){if(!Array.isArray(o)||o.some(i=>typeof i!="string"))throw e;for(let i of o)r.append(a,i)}}return{metadata:r,error:"error"in n&&n.error!=null?go(n.error,r,e):void 0}}const vn="Content-Type",yo="Content-Encoding",bo="Connect-Protocol-Version";function Xc(t){switch(t){case 400:return B.Internal;case 401:return B.Unauthenticated;case 403:return B.PermissionDenied;case 404:return B.Unimplemented;case 429:return B.Unavailable;case 502:return B.Unavailable;case 503:return B.Unavailable;case 504:return B.Unavailable;default:return B.Unknown}}function wo(t){let e=new Headers,n=new Headers;return t.forEach((r,a)=>{a.toLowerCase().startsWith("trailer-")?n.append(a.substring(8),r):e.append(a,r)}),[e,n]}function vo(t,e,n,r,a){let o=new Headers(r??{});return n!==void 0&&o.set("Connect-Timeout-Ms",`${n}`),o.set(vn,t==Ee.Unary?e?"application/proto":"application/json":e?"application/connect+proto":"application/connect+json"),o.set(bo,"1"),a&&o.set("User-Agent","connect-es/1.6.1"),o}function xo(t,e,n,r){let a=r.get(vn),o=Yc(a);if(n!==200){let s=new ge(`HTTP ${n}`,Xc(n),r);if(t==Ee.Unary&&o&&!o.binary)return{isUnaryError:!0,unaryError:s};throw s}let i={binary:e,stream:t!==Ee.Unary};if((o==null?void 0:o.binary)!==i.binary||o.stream!==i.stream)throw new ge(`unsupported content type ${a}`,o===void 0?B.Unknown:B.Internal,r);return{isUnaryError:!1}}var Qc="application/";function Zc(t,e){return e?sn.enc(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):encodeURIComponent(new TextDecoder().decode(t))}function eu(t,e,n){let r="?connect=v1",a=t.header.get(vn);(a==null?void 0:a.indexOf(Qc))===0&&(r+="&encoding="+encodeURIComponent(a.slice(12)));let o=t.header.get(yo);o!==null&&o!=="identity"&&(r+="&compression="+encodeURIComponent(o),n=!0),n&&(r+="&base64=1"),r+="&message="+Zc(e,n);let i=t.url+r,s=new Headers(t.header);return[bo,vn,"Content-Length",yo,"Accept-Encoding"].forEach(c=>s.delete(c)),Object.assign(Object.assign({},t),{init:Object.assign(Object.assign({},t.init),{method:"GET"}),url:i,header:s})}function tu(t){let e=uo(t.next,t.interceptors),[n,r,a]=Eo(t);return e(Object.assign(Object.assign({},t.req),{message:co(t.req.method.I,t.req.message),signal:n})).then(o=>(a(),o),r)}function nu(t){let e=uo(t.next,t.interceptors),[n,r,a]=Eo(t),o=Object.assign(Object.assign({},t.req),{message:Hc(t.req.method.I,t.req.message),signal:n}),i=!1;return n.addEventListener("abort",function(){var s,c;let l=t.req.message[Symbol.asyncIterator]();i||(s=l.throw)==null||s.call(l,this.reason).catch(()=>{}),(c=l.return)==null||c.call(l).catch(()=>{})}),e(o).then(s=>Object.assign(Object.assign({},s),{message:{[Symbol.asyncIterator](){let c=s.message[Symbol.asyncIterator]();return{next(){return c.next().then(l=>(l.done==1&&(i=!0,a()),l),r)}}}}}),r)}function Eo(t){let{signal:e,cleanup:n}=qc(t.timeoutMs),r=Wc(t.signal,e);return[r.signal,function(a){let o=ge.from(e.aborted?io(e):a);return r.abort(o),n(),Promise.reject(o)},function(){n(),r.abort()}]}var xn;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.INACTIVE=1]="INACTIVE",t[t.PROCESSING=2]="PROCESSING",t[t.SUCCESS=3]="SUCCESS",t[t.WARNING=4]="WARNING",t[t.ERROR=5]="ERROR"})(xn||(xn={})),x.util.setEnumType(xn,"exa.language_server_pb.CodeiumState",[{no:0,name:"CODEIUM_STATE_UNSPECIFIED"},{no:1,name:"CODEIUM_STATE_INACTIVE"},{no:2,name:"CODEIUM_STATE_PROCESSING"},{no:3,name:"CODEIUM_STATE_SUCCESS"},{no:4,name:"CODEIUM_STATE_WARNING"},{no:5,name:"CODEIUM_STATE_ERROR"}]);var So;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SINGLE=1]="SINGLE",t[t.MULTI=2]="MULTI"})(So||(So={})),x.util.setEnumType(So,"exa.language_server_pb.LineType",[{no:0,name:"LINE_TYPE_UNSPECIFIED"},{no:1,name:"LINE_TYPE_SINGLE"},{no:2,name:"LINE_TYPE_MULTI"}]);var En;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.INLINE=1]="INLINE",t[t.BLOCK=2]="BLOCK",t[t.INLINE_MASK=3]="INLINE_MASK"})(En||(En={})),x.util.setEnumType(En,"exa.language_server_pb.CompletionPartType",[{no:0,name:"COMPLETION_PART_TYPE_UNSPECIFIED"},{no:1,name:"COMPLETION_PART_TYPE_INLINE"},{no:2,name:"COMPLETION_PART_TYPE_BLOCK"},{no:3,name:"COMPLETION_PART_TYPE_INLINE_MASK"}]);var ru=(Ie=class extends X{constructor(n){super();g(this,"threshold",0);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ie().fromBinary(n,r)}static fromJson(n,r){return new Ie().fromJson(n,r)}static fromJsonString(n,r){return new Ie().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ie,n,r)}},g(Ie,"runtime",x),g(Ie,"typeName","exa.language_server_pb.MultilineConfig"),g(Ie,"fields",x.util.newFieldList(()=>[{no:1,name:"threshold",kind:"scalar",T:2}])),Ie),au=(Te=class extends X{constructor(n){super();g(this,"metadata");g(this,"document");g(this,"editorOptions");g(this,"otherDocuments",[]);g(this,"experimentConfig");g(this,"modelName","");g(this,"multilineConfig");x.util.initPartial(n,this)}static fromBinary(n,r){return new Te().fromBinary(n,r)}static fromJson(n,r){return new Te().fromJson(n,r)}static fromJsonString(n,r){return new Te().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Te,n,r)}},g(Te,"runtime",x),g(Te,"typeName","exa.language_server_pb.GetCompletionsRequest"),g(Te,"fields",x.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:no},{no:2,name:"document",kind:"message",T:ko},{no:3,name:"editor_options",kind:"message",T:kc},{no:5,name:"other_documents",kind:"message",T:ko,repeated:!0},{no:7,name:"experiment_config",kind:"message",T:uu},{no:10,name:"model_name",kind:"scalar",T:9},{no:13,name:"multiline_config",kind:"message",T:ru}])),Te),ou=(Ae=class extends X{constructor(n){super();g(this,"state");g(this,"completionItems",[]);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ae().fromBinary(n,r)}static fromJson(n,r){return new Ae().fromJson(n,r)}static fromJsonString(n,r){return new Ae().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ae,n,r)}},g(Ae,"runtime",x),g(Ae,"typeName","exa.language_server_pb.GetCompletionsResponse"),g(Ae,"fields",x.util.newFieldList(()=>[{no:1,name:"state",kind:"message",T:du},{no:2,name:"completion_items",kind:"message",T:hu,repeated:!0}])),Ae),iu=(Le=class extends X{constructor(n){super();g(this,"metadata");g(this,"completionId","");x.util.initPartial(n,this)}static fromBinary(n,r){return new Le().fromBinary(n,r)}static fromJson(n,r){return new Le().fromJson(n,r)}static fromJsonString(n,r){return new Le().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Le,n,r)}},g(Le,"runtime",x),g(Le,"typeName","exa.language_server_pb.AcceptCompletionRequest"),g(Le,"fields",x.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:no},{no:2,name:"completion_id",kind:"scalar",T:9}])),Le),su=(Oe=class extends X{constructor(e){super(),x.util.initPartial(e,this)}static fromBinary(e,n){return new Oe().fromBinary(e,n)}static fromJson(e,n){return new Oe().fromJson(e,n)}static fromJsonString(e,n){return new Oe().fromJsonString(e,n)}static equals(e,n){return x.util.equals(Oe,e,n)}},g(Oe,"runtime",x),g(Oe,"typeName","exa.language_server_pb.AcceptCompletionResponse"),g(Oe,"fields",x.util.newFieldList(()=>[])),Oe),lu=(_e=class extends X{constructor(e){super(),x.util.initPartial(e,this)}static fromBinary(e,n){return new _e().fromBinary(e,n)}static fromJson(e,n){return new _e().fromJson(e,n)}static fromJsonString(e,n){return new _e().fromJsonString(e,n)}static equals(e,n){return x.util.equals(_e,e,n)}},g(_e,"runtime",x),g(_e,"typeName","exa.language_server_pb.GetAuthTokenRequest"),g(_e,"fields",x.util.newFieldList(()=>[])),_e),cu=(Ue=class extends X{constructor(n){super();g(this,"authToken","");g(this,"uuid","");x.util.initPartial(n,this)}static fromBinary(n,r){return new Ue().fromBinary(n,r)}static fromJson(n,r){return new Ue().fromJson(n,r)}static fromJsonString(n,r){return new Ue().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ue,n,r)}},g(Ue,"runtime",x),g(Ue,"typeName","exa.language_server_pb.GetAuthTokenResponse"),g(Ue,"fields",x.util.newFieldList(()=>[{no:1,name:"auth_token",kind:"scalar",T:9},{no:2,name:"uuid",kind:"scalar",T:9}])),Ue),yr=(je=class extends X{constructor(n){super();g(this,"row",W.zero);g(this,"col",W.zero);x.util.initPartial(n,this)}static fromBinary(n,r){return new je().fromBinary(n,r)}static fromJson(n,r){return new je().fromJson(n,r)}static fromJsonString(n,r){return new je().fromJsonString(n,r)}static equals(n,r){return x.util.equals(je,n,r)}},g(je,"runtime",x),g(je,"typeName","exa.language_server_pb.DocumentPosition"),g(je,"fields",x.util.newFieldList(()=>[{no:1,name:"row",kind:"scalar",T:4},{no:2,name:"col",kind:"scalar",T:4}])),je),ko=(Pe=class extends X{constructor(n){super();g(this,"absolutePath","");g(this,"relativePath","");g(this,"text","");g(this,"editorLanguage","");g(this,"language",lt.UNSPECIFIED);g(this,"cursorOffset",W.zero);g(this,"cursorPosition");g(this,"lineEnding","");x.util.initPartial(n,this)}static fromBinary(n,r){return new Pe().fromBinary(n,r)}static fromJson(n,r){return new Pe().fromJson(n,r)}static fromJsonString(n,r){return new Pe().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Pe,n,r)}},g(Pe,"runtime",x),g(Pe,"typeName","exa.language_server_pb.Document"),g(Pe,"fields",x.util.newFieldList(()=>[{no:1,name:"absolute_path",kind:"scalar",T:9},{no:2,name:"relative_path",kind:"scalar",T:9},{no:3,name:"text",kind:"scalar",T:9},{no:4,name:"editor_language",kind:"scalar",T:9},{no:5,name:"language",kind:"enum",T:x.getEnumType(lt)},{no:6,name:"cursor_offset",kind:"scalar",T:4},{no:8,name:"cursor_position",kind:"message",T:yr},{no:7,name:"line_ending",kind:"scalar",T:9}])),Pe),uu=(De=class extends X{constructor(n){super();g(this,"forceEnableExperiments",[]);x.util.initPartial(n,this)}static fromBinary(n,r){return new De().fromBinary(n,r)}static fromJson(n,r){return new De().fromJson(n,r)}static fromJsonString(n,r){return new De().fromJsonString(n,r)}static equals(n,r){return x.util.equals(De,n,r)}},g(De,"runtime",x),g(De,"typeName","exa.language_server_pb.ExperimentConfig"),g(De,"fields",x.util.newFieldList(()=>[{no:1,name:"force_enable_experiments",kind:"enum",T:x.getEnumType(hr),repeated:!0}])),De),du=(Me=class extends X{constructor(n){super();g(this,"state",xn.UNSPECIFIED);g(this,"message","");x.util.initPartial(n,this)}static fromBinary(n,r){return new Me().fromBinary(n,r)}static fromJson(n,r){return new Me().fromJson(n,r)}static fromJsonString(n,r){return new Me().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Me,n,r)}},g(Me,"runtime",x),g(Me,"typeName","exa.language_server_pb.State"),g(Me,"fields",x.util.newFieldList(()=>[{no:1,name:"state",kind:"enum",T:x.getEnumType(xn)},{no:2,name:"message",kind:"scalar",T:9}])),Me),fu=(Fe=class extends X{constructor(n){super();g(this,"startOffset",W.zero);g(this,"endOffset",W.zero);g(this,"startPosition");g(this,"endPosition");x.util.initPartial(n,this)}static fromBinary(n,r){return new Fe().fromBinary(n,r)}static fromJson(n,r){return new Fe().fromJson(n,r)}static fromJsonString(n,r){return new Fe().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Fe,n,r)}},g(Fe,"runtime",x),g(Fe,"typeName","exa.language_server_pb.Range"),g(Fe,"fields",x.util.newFieldList(()=>[{no:1,name:"start_offset",kind:"scalar",T:4},{no:2,name:"end_offset",kind:"scalar",T:4},{no:3,name:"start_position",kind:"message",T:yr},{no:4,name:"end_position",kind:"message",T:yr}])),Fe),mu=(Re=class extends X{constructor(n){super();g(this,"text","");g(this,"deltaCursorOffset",W.zero);x.util.initPartial(n,this)}static fromBinary(n,r){return new Re().fromBinary(n,r)}static fromJson(n,r){return new Re().fromJson(n,r)}static fromJsonString(n,r){return new Re().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Re,n,r)}},g(Re,"runtime",x),g(Re,"typeName","exa.language_server_pb.Suffix"),g(Re,"fields",x.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"delta_cursor_offset",kind:"scalar",T:3}])),Re),pu=(Be=class extends X{constructor(n){super();g(this,"text","");g(this,"offset",W.zero);g(this,"type",En.UNSPECIFIED);g(this,"prefix","");g(this,"line",W.zero);x.util.initPartial(n,this)}static fromBinary(n,r){return new Be().fromBinary(n,r)}static fromJson(n,r){return new Be().fromJson(n,r)}static fromJsonString(n,r){return new Be().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Be,n,r)}},g(Be,"runtime",x),g(Be,"typeName","exa.language_server_pb.CompletionPart"),g(Be,"fields",x.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"offset",kind:"scalar",T:4},{no:3,name:"type",kind:"enum",T:x.getEnumType(En)},{no:4,name:"prefix",kind:"scalar",T:9},{no:5,name:"line",kind:"scalar",T:4}])),Be),hu=(Ge=class extends X{constructor(n){super();g(this,"completion");g(this,"suffix");g(this,"range");g(this,"source",gn.UNSPECIFIED);g(this,"completionParts",[]);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ge().fromBinary(n,r)}static fromJson(n,r){return new Ge().fromJson(n,r)}static fromJsonString(n,r){return new Ge().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ge,n,r)}},g(Ge,"runtime",x),g(Ge,"typeName","exa.language_server_pb.CompletionItem"),g(Ge,"fields",x.util.newFieldList(()=>[{no:1,name:"completion",kind:"message",T:Sc},{no:5,name:"suffix",kind:"message",T:mu},{no:2,name:"range",kind:"message",T:fu},{no:3,name:"source",kind:"enum",T:x.getEnumType(gn)},{no:8,name:"completion_parts",kind:"message",T:pu,repeated:!0}])),Ge);const gu={typeName:"exa.language_server_pb.LanguageServerService",methods:{getCompletions:{name:"GetCompletions",I:au,O:ou,kind:Ee.Unary},acceptCompletion:{name:"AcceptCompletion",I:iu,O:su,kind:Ee.Unary},getAuthToken:{name:"GetAuthToken",I:lu,O:cu,kind:Ee.Unary}}};function yu(){try{new Headers}catch{throw Error("connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.")}}var Ft=function(t){return this instanceof Ft?(this.v=t,this):new Ft(t)},bu=function(t,e,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,o=[];return a={},s("next"),s("throw"),s("return",i),a[Symbol.asyncIterator]=function(){return this},a;function i(f){return function(m){return Promise.resolve(m).then(f,d)}}function s(f,m){r[f]&&(a[f]=function(y){return new Promise(function(b,v){o.push([f,y,b,v])>1||c(f,y)})},m&&(a[f]=m(a[f])))}function c(f,m){try{l(r[f](m))}catch(y){p(o[0][3],y)}}function l(f){f.value instanceof Ft?Promise.resolve(f.value.v).then(u,d):p(o[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,m){f(m),o.shift(),o.length&&c(o[0][0],o[0][1])}};function wu(t){yu();let e=t.useBinaryFormat??!1;return{async unary(n,r,a,o,i,s,c){let{serialize:l,parse:u}=mo(r,e,t.jsonOptions,t.binaryOptions);return o=o===void 0?t.defaultTimeoutMs:o<=0?void 0:o,await tu({interceptors:t.interceptors,signal:a,timeoutMs:o,req:{stream:!1,service:n,method:r,url:lo(t.baseUrl,n,r),init:{method:"POST",credentials:t.credentials??"same-origin",redirect:"error",mode:"cors"},header:vo(r.kind,e,o,i,!1),contextValues:c??so(),message:s},next:async d=>{let p=t.useHttpGet===!0&&r.idempotency===to.NoSideEffects,f=null;p?d=eu(d,l(d.message),e):f=l(d.message);let m=await(t.fetch??globalThis.fetch)(d.url,Object.assign(Object.assign({},d.init),{headers:d.header,signal:d.signal,body:f})),{isUnaryError:y,unaryError:b}=xo(r.kind,e,m.status,m.headers);if(y)throw go(await m.json(),Ac(...wo(m.headers)),b);let[v,S]=wo(m.headers);return{stream:!1,service:n,method:r,header:v,message:e?u(new Uint8Array(await m.arrayBuffer())):r.O.fromJson(await m.json(),fo(t.jsonOptions)),trailer:S}}})},async stream(n,r,a,o,i,s,c){let{serialize:l,parse:u}=mo(r,e,t.jsonOptions,t.binaryOptions);function d(f,m,y,b){return bu(this,arguments,function*(){let v=Oc(f).getReader(),S=!1;for(;;){let k=yield Ft(v.read());if(k.done)break;let{flags:_,data:P}=k.value;if((_&1)==1)throw new ge("protocol error: received unsupported compressed output",B.Internal);if((_&2)==2){S=!0;let A=Kc(P);if(A.error){let N=A.error;throw y.forEach((G,M)=>{N.metadata.append(M,G)}),N}A.metadata.forEach((N,G)=>m.set(G,N));continue}yield yield Ft(u(P))}if("throwIfAborted"in b&&b.throwIfAborted(),!S)throw"missing EndStreamResponse"})}async function p(f){if(r.kind!=Ee.ServerStreaming)throw"The fetch API does not support streaming request bodies";let m=await f[Symbol.asyncIterator]().next();if(m.done==1)throw"missing request message";return _c(0,l(m.value))}return o=o===void 0?t.defaultTimeoutMs:o<=0?void 0:o,await nu({interceptors:t.interceptors,timeoutMs:o,signal:a,req:{stream:!0,service:n,method:r,url:lo(t.baseUrl,n,r),init:{method:"POST",credentials:t.credentials??"same-origin",redirect:"error",mode:"cors"},header:vo(r.kind,e,o,i,!1),contextValues:c??so(),message:s},next:async f=>{let m=await(t.fetch??globalThis.fetch)(f.url,Object.assign(Object.assign({},f.init),{headers:f.header,signal:f.signal,body:await p(f.message)}));if(xo(r.kind,e,m.status,m.headers),m.body===null)throw"missing response body";let y=new Headers;return Object.assign(Object.assign({},f),{header:m.headers,trailer:y,message:d(m.body,y,m.headers,f.signal)})}})}}}var vu=Bc(gu,wu({baseUrl:"https://web-backend.codeium.com",useBinaryFormat:!0})),Sn;try{Sn=crypto.randomUUID()}catch{Sn=function(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^(crypto.getRandomValues(new Uint8Array(1))[0]??0)&15>>e/4).toString(16))}()}async function xu({text:t,cursorOffset:e,config:n,otherDocuments:r}){return await vu.getCompletions({metadata:{ideName:"web",ideVersion:"0.0.5",extensionName:"@valtown/codemirror-codeium",extensionVersion:"1.0.0",apiKey:n.apiKey,sessionId:Sn,authSource:n.authSource},document:{text:t,cursorOffset:BigInt(e),language:n.language,editorLanguage:"typescript",lineEnding:`
|
|
14
|
-
`},editorOptions:{tabSize:2n,insertSpaces:!0},otherDocuments:r,multilineConfig:void 0},{headers:{Authorization:`Basic ${n.apiKey}-${
|
|
15
|
-
${r.text}`:r.text,i={absoluteStartPos:n+a,absoluteEndPos:n+a+o.length,from:a,to:a,insert:o};return n+=o.length,i})})}async function
|
|
12
|
+
`.trim(),n=qi();await Wi();let r=await fetch(n.getAiURL("completion").toString(),{method:"POST",headers:n.headers(),body:JSON.stringify({prompt:t.prompt,code:e,selectedText:t.selection,includeOtherCode:"",language:t.language})}),a=((i=t.selection.match(/^\s*/))==null?void 0:i[0])||"",o=await rl(r);return o.startsWith(a)||(o=a+o),o}function ka(t){switch(t){case"table":case"connection":Br("variables"),ys(Gh,"datasources");return;case"bucket":Br("files"),ys(Bh,"remote-storage");return;case"cache":Br("cache");return;default:Ki(t)}}function ol(t){let{state:e,names:n}=t;if(n.size===0)return[];let r=$n(e);if(!r||xi(r))return[];let a=new Map,o=c=>{if(c.name===Q.VariableName){let l=e.doc.sliceString(c.from,c.to);n.has(l)&&!a.has(l)&&a.set(l,{from:c.from,to:c.to,name:l});return}if(c.name===Q.TupleExpression||c.name===Q.ArrayExpression||c.name===Q.ParenthesizedExpression)for(let l=c.firstChild;l;l=l.nextSibling)o(l)},i=c=>{let l=-1;for(let u=c.firstChild;u;u=u.nextSibling)u.name===Q.AssignOp&&(l=u.from);if(l!==-1)for(let u=c.firstChild;u&&u.from<l;u=u.nextSibling)o(u)},s=c=>{if(!Kf.has(c.name)){if(c.name===Q.AssignStatement){i(c);return}for(let l=c.firstChild;l;l=l.nextSibling)s(l)}};return s(r.topNode),[...a.values()]}var il=/\bmo\.(?:persistent_cache|cache)\b/g;function Ca(t){let e=t.match(/^[A-Za-z]*("""|'''|"|')([\s\S]*)\1$/);return e?e[2]:t}function sl(t,e){var a;if(!t)return null;let n=o=>(o==null?void 0:o.name)===","||(o==null?void 0:o.name)===")",r=null;for(let o=t.firstChild;o;o=o.nextSibling)if(!(o.name==="("||o.name===")"||o.name===",")&&(r??(r=o),o.name===Q.VariableName&&e(o)==="name"&&((a=o.nextSibling)==null?void 0:a.name)===Q.AssignOp)){let i=o.nextSibling.nextSibling;if((i==null?void 0:i.name)===Q.String&&n(i.nextSibling))return Ca(e(i))}return r&&r.name===Q.String&&n(r.nextSibling)?Ca(e(r)):null}function ll(t,e,n,r){var d,p,f;let a=m=>t.doc.sliceString(m.from,m.to),o=e.resolveInner(n,1),i=null,s=null,c=r,l=null;for(let m=o.parent;m&&m.from===n;m=m.parent)if(m.name===Q.CallExpression){l=m;break}if(l){c=l.to,s=l.getChild(Q.ArgList);let m=l.parent;if((m==null?void 0:m.name)===Q.AssignStatement){let y=m.getChild(Q.VariableName);i=y&&y.from<l.from?a(y):null}else if((m==null?void 0:m.name)===Q.WithStatement){let y=m.firstChild;for(;y;){if(y.from<l.to||y.name===qf.As){y=y.nextSibling;continue}y.name===Q.VariableName&&(i=a(y));break}}}else if(((d=o.parent)==null?void 0:d.name)===Q.Decorator){let m=o.parent,y=m.getChild(Q.ArgList);(y==null?void 0:y.from)===r&&(s=y,c=y.to);let b=(f=(p=m.parent)==null?void 0:p.getChild(Q.FunctionDefinition))==null?void 0:f.getChild(Q.VariableName);i=b?a(b):null}let u=sl(s,a);return{from:n,to:c,boundName:i,cacheName:u}}function cl(t,e,n){let r=e.resolveInner(n,1);return mm.has(r.name)?!1:r.name===Q.VariableName&&t.doc.sliceString(r.from,r.to)==="mo"}function ul(t){let e=$n(t);return!e||xi(e)?[]:[...t.doc.toString().matchAll(il)].filter(n=>cl(t,e,n.index??0)).map(n=>{let r=n.index??0;return ll(t,e,r,r+n[0].length)})}function ar(t,e,n){let r=t.get(e);r!==void 0&&r!==n&&$e.error(`[code-lens] "${e}" is claimed by both a ${r} and a ${n} entity; keeping ${n}`),t.set(e,n)}var dl=ut(t=>{let e=new Map;for(let n of t(Wr))n.variable_name&&ar(e,n.variable_name,"table");for(let n of t(Vr).keys())um.has(n)||ar(e,n,"connection");for(let n of t(ia))ar(e,n.name,"bucket");return e}),fl=ut(t=>{let e=t(dl),n=t(Fn),r=new Map,a=new Map;for(let[o,i]of e){let s=n[o];if(s==null){a.set(o,i);continue}for(let c of s.declaredBy){let l=r.get(c);l||(l=new Map,r.set(c,l)),l.set(o,i)}}return{byCell:r,pending:a}});function ml(t){let{byCell:e,pending:n}=J.get(fl),r=new Map(e.get(t));for(let[a,o]of n)r.has(a)||r.set(a,o);return r}var en=t=>`<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${t}</svg>`;const pl={table:en('<path d="M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"/>'),connection:en('<ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5V19A9 3 0 0 0 21 19V5"/><path d="M3 12A9 3 0 0 0 21 12"/>'),bucket:en('<line x1="22" x2="2" y1="12" y2="12"/><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/><line x1="6" x2="6.01" y1="16" y2="16"/><line x1="10" x2="10.01" y1="16" y2="16"/>'),cache:en('<ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5V19A9 3 0 0 0 15 21.84"/><path d="M21 5V8"/><path d="M21 12L18 17H22L19 22"/><path d="M3 12A9 3 0 0 0 14.59 14.87"/>')},hl={table:"Open in data sources",connection:"Open in data sources",bucket:"Open in remote storage",cache:"Open cache panel"};var _t=ve(),gl=Tm(),h=bi(rp(),1);function yl(t,e){let n=(0,gl.createRoot)(t);return n.render((0,h.jsx)(Df,{store:J,children:(0,h.jsx)(bl,{spec:e})})),()=>queueMicrotask(()=>n.unmount())}var bl=t=>{var r,a;let e=(0,_t.c)(9),{spec:n}=t;switch(n.kind){case"table":{let o;return e[0]===n.name?o=e[1]:(o=(0,h.jsx)(wl,{name:n.name}),e[0]=n.name,e[1]=o),o}case"connection":{let o;return e[2]===n.name?o=e[3]:(o=(0,h.jsx)(vl,{name:n.name}),e[2]=n.name,e[3]=o),o}case"bucket":{let o;return e[4]===n.name?o=e[5]:(o=(0,h.jsx)(xl,{name:n.name}),e[4]=n.name,e[5]=o),o}case"cache":{let o=((r=n.cache)==null?void 0:r.boundName)??null,i=((a=n.cache)==null?void 0:a.cacheName)??null,s;return e[6]!==o||e[7]!==i?(s=(0,h.jsx)(Cl,{boundName:o,cacheName:i}),e[6]=o,e[7]=i,e[8]=s):s=e[8],s}default:Ki(n.kind)}},wl=t=>{let e=(0,_t.c)(5),{name:n}=t,r=q(Wr),a;if(e[0]!==n||e[1]!==r){let o;e[3]===n?o=e[4]:(o=s=>s.variable_name===n,e[3]=n,e[4]=o);let i=r.find(o);a=i?km(i):Li("table"),e[0]=n,e[1]=r,e[2]=a}else a=e[2];return a},vl=t=>{let e=(0,_t.c)(5),{name:n}=t,r=q(Vr),a,o;if(e[0]!==r||e[1]!==n){o=Symbol.for("react.early_return_sentinel");e:{let i=r.get(n);if(!i){let s;e[4]===Symbol.for("react.memo_cache_sentinel")?(s=Li("database"),e[4]=s):s=e[4],o=s;break e}a=lm(i)}e[0]=r,e[1]=n,e[2]=a,e[3]=o}else a=e[2],o=e[3];return o===Symbol.for("react.early_return_sentinel")?a:o},xl=t=>{let e=(0,_t.c)(27),{name:n}=t,r=q(ia),a;if(e[0]!==n||e[1]!==r){let y;e[3]===n?y=e[4]:(y=b=>b.name===n,e[3]=n,e[4]=y),a=r.find(y),e[0]=n,e[1]=r,e[2]=a}else a=e[2];let o=a;if(!o){let y;return e[5]===Symbol.for("react.memo_cache_sentinel")?(y=(0,h.jsx)("div",{className:Hr,children:(0,h.jsx)("span",{className:"text-xs text-(--slate-11)",children:"No storage information available."})}),e[5]=y):y=e[5],y}let i;e[6]===o.protocol?i=e[7]:(i=(0,h.jsx)(fh,{protocol:o.protocol,className:"w-4 h-4"}),e[6]=o.protocol,e[7]=i);let s;e[8]===o.protocol?s=e[9]:(s=(0,h.jsx)(gh,{variant:"outline",className:"text-xs",children:o.protocol}),e[8]=o.protocol,e[9]=s);let c;e[10]!==o.displayName||e[11]!==i||e[12]!==s?(c=(0,h.jsx)(Ui,{icon:i,title:o.displayName,badge:s}),e[10]=o.displayName,e[11]=i,e[12]=s,e[13]=c):c=e[13];let l;e[14]===o.name?l=e[15]:(l=(0,h.jsx)(nt,{label:"Variable",value:(0,h.jsx)("code",{className:"text-xs bg-(--slate-4) px-1 rounded",children:o.name})}),e[14]=o.name,e[15]=l);let u=o.rootPath||"(root)",d;e[16]===u?d=e[17]:(d=(0,h.jsx)(nt,{label:"Root",value:(0,h.jsx)("code",{className:"text-xs bg-(--slate-4) px-1 rounded",children:u})}),e[16]=u,e[17]=d);let p;e[18]===o.backendType?p=e[19]:(p=(0,h.jsx)(nt,{label:"Backend",value:(0,h.jsx)("span",{className:"font-medium",children:o.backendType})}),e[18]=o.backendType,e[19]=p);let f;e[20]!==l||e[21]!==d||e[22]!==p?(f=(0,h.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[l,d,p]}),e[20]=l,e[21]=d,e[22]=p,e[23]=f):f=e[23];let m;return e[24]!==c||e[25]!==f?(m=(0,h.jsxs)("div",{className:Hr,children:[c,f]}),e[24]=c,e[25]=f,e[26]=m):m=e[26],m},El=/\bhits=(\d+) misses=(\d+)/,tn=null,Sl=5e3;function kl(){let t=Date.now();tn!=null&&t-tn<Sl||(tn=t,Xi().getCacheInfo().catch(()=>{tn=null}))}var Cl=t=>{var k,_;let e=(0,_t.c)(16),{boundName:n,cacheName:r}=t,{locale:a}=Eh(),o=q(Fn),i=q(Mh),s=n?o[n]:void 0,c;e[0]===s?c=e[1]:(c=(k=s==null?void 0:s.dataType)!=null&&k.startsWith("_cache_call")?(_=s.value)==null?void 0:_.match(El):void 0,e[0]=s,e[1]=c);let l=c,u=!!l,d,p;e[2]===u?(d=e[3],p=e[4]):(d=()=>{u||kl()},p=[u],e[2]=u,e[3]=d,e[4]=p),(0,N.useEffect)(d,p);let f;e[5]===Symbol.for("react.memo_cache_sentinel")?(f=(0,h.jsx)(ch,{className:"w-4 h-4 text-(--amber-9)"}),e[5]=f):f=e[5];let m=r??n??"Cache",y;e[6]===m?y=e[7]:(y=(0,h.jsx)(Ui,{icon:f,title:m}),e[6]=m,e[7]=y);let b;e[8]!==i||e[9]!==a||e[10]!==l?(b=l?(0,h.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[(0,h.jsx)(nt,{label:"Hits",value:(0,h.jsx)("span",{className:"font-medium",children:zn(Number(l[1]),a)})}),(0,h.jsx)(nt,{label:"Misses",value:(0,h.jsx)("span",{className:"font-medium",children:zn(Number(l[2]),a)})})]}):i&&(0,h.jsxs)("div",{className:"flex flex-col gap-2 py-2",children:[(0,h.jsx)("span",{className:"text-xs font-medium text-(--slate-11)",children:"Notebook-wide"}),(0,h.jsx)(nt,{label:"Hits",value:zn(i.hits,a)}),(0,h.jsx)(nt,{label:"Misses",value:zn(i.misses,a)}),(0,h.jsx)(nt,{label:"Time saved",value:Fh(i.time,a)})]}),e[8]=i,e[9]=a,e[10]=l,e[11]=b):b=e[11];let v;e[12]===Symbol.for("react.memo_cache_sentinel")?(v=(0,h.jsx)("div",{className:"pt-2 text-xs text-(--slate-10)",children:"Click to open the cache panel"}),e[12]=v):v=e[12];let S;return e[13]!==y||e[14]!==b?(S=(0,h.jsxs)("div",{className:Hr,children:[y,b,v]}),e[13]=y,e[14]=b,e[15]=S):S=e[15],S},or=ce.define(),ir=ce.define();function sr(t,e){var n,r,a,o;return t.pos===e.pos&&t.kind===e.kind&&t.name===e.name&&((n=t.cache)==null?void 0:n.boundName)===((r=e.cache)==null?void 0:r.boundName)&&((a=t.cache)==null?void 0:a.cacheName)===((o=e.cache)==null?void 0:o.cacheName)}var Tl=class{constructor(t){this.view=t}enterLens(t,e){this.clearTimers(),Nl(this.view,e);let n=this.view.state.field(lr,!1);n&&sr(n.spec,t)||(this.showTimer=window.setTimeout(()=>{this.showTimer=void 0,this.view.dispatch({effects:ir.of(t)})},400))}leave(){this.clearTimers(),this.hideTimer=window.setTimeout(()=>{this.hideTimer=void 0,this.hide()},200)}enterPopover(){window.clearTimeout(this.hideTimer),this.hideTimer=void 0}hide(){this.clearTimers(),this.view.state.field(lr,!1)&&this.view.dispatch({effects:ir.of(null)})}destroy(){this.clearTimers()}clearTimers(){window.clearTimeout(this.showTimer),window.clearTimeout(this.hideTimer),this.showTimer=void 0,this.hideTimer=void 0}},nn=ze.define(t=>new Tl(t));function Nl(t,e){t.dom.dispatchEvent(new MouseEvent("mouseleave",{relatedTarget:e}))}var Il=class extends $t{constructor(t){super(),this.spec=t}eq(t){return sr(this.spec,t.spec)}toDOM(t){let{spec:e}=this,n=document.createElement("span");n.className="mo-code-lens",n.setAttribute("role","button"),n.tabIndex=0,n.setAttribute("aria-label",hl[e.kind]),n.innerHTML=pl[e.kind];let r=()=>t.plugin(nn),a=()=>{var o;return(o=r())==null?void 0:o.hide()};return n.onmouseenter=()=>{var o;return(o=r())==null?void 0:o.enterLens(e,n)},n.onmouseleave=()=>{var o;return(o=r())==null?void 0:o.leave()},n.onmousemove=o=>{o.stopPropagation()},n.onmousedown=o=>{o.preventDefault(),o.stopPropagation()},n.onclick=o=>{o.preventDefault(),o.stopPropagation(),a(),ka(e.kind)},n.onkeydown=o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),o.stopPropagation(),a(),ka(e.kind))},n}ignoreEvent(){return!0}};function Al(t){return{spec:t,tooltip:{pos:t.pos,above:!0,create:e=>{let n=document.createElement("div");return n.classList.add("mo-cm-tooltip","docs-documentation"),n.onmouseenter=()=>{var r;return(r=e.plugin(nn))==null?void 0:r.enterPopover()},n.onmouseleave=()=>{var r;return(r=e.plugin(nn))==null?void 0:r.leave()},{dom:n,resize:!1,destroy:yl(n,t)}}}}}var lr=We.define({create(){return null},update(t,e){for(let n of e.effects){if(n.is(ir))return n.value?Al(n.value):null;if(n.is(or)&&t)return n.value.some(r=>sr(r,t.spec))?t:null}return e.docChanged?null:t},provide:t=>wp.from(t,e=>(e==null?void 0:e.tooltip)??null)}),Ll=We.define({create(){return V.none},update(t,e){t=t.map(e.changes);for(let n of e.effects)n.is(or)&&(t=V.set(n.value.map(r=>V.widget({widget:new Il(r),side:1}).range(r.pos)),!0));return t},provide:t=>R.decorations.from(t)}),Ol=class{constructor(t,e,n){g(this,"debounceMs",300);this.view=t,this.cellId=e,this.includeCache=n,this.scheduleUpdate=Pm(()=>this.run(),this.debounceMs);let r=()=>this.scheduleUpdate();this.unsubscribes=[J.sub(Wr,r),J.sub(Vr,r),J.sub(ia,r),J.sub(Fn,r)],this.scheduleUpdate()}update(t){var n,r;let e=((n=t.startState.field(dt,!1))==null?void 0:n.type)!==((r=t.state.field(dt,!1))==null?void 0:r.type);(t.docChanged||e)&&this.scheduleUpdate()}destroy(){this.scheduleUpdate.cancel();for(let t of this.unsubscribes)t()}run(){var r;let{state:t}=this.view,e=[],n=(r=t.field(dt,!1))==null?void 0:r.type;if(n==null||n==="python"){let a=ml(this.cellId),o=ol({state:t,names:new Set(a.keys())});for(let i of o){let s=a.get(i.name);s&&e.push({pos:i.to,kind:s,name:i.name})}if(this.includeCache)for(let i of ul(t))e.push({pos:i.to,kind:"cache",name:`cache:${i.from}`,cache:{boundName:i.boundName,cacheName:i.cacheName}})}queueMicrotask(()=>{this.view.dispatch({effects:or.of(e)})})}},rn="3px",_l=R.baseTheme({".mo-code-lens":{display:"inline-flex",verticalAlign:"baseline",transform:"translateY(1.5px)",padding:rn,margin:`-${rn} 0 -${rn} calc(0.3em - ${rn})`,cursor:"pointer",opacity:"0.5"},".mo-code-lens:hover":{opacity:"1"}});function Ul(t,e=!0){return e?[Ll,lr,nn,ze.define(n=>new Ol(n,t,vi("cache_panel"))),_l]:[]}var jl=["%alias","%cd","%clear","%debug","%env","%load","%load_ext","%lsmagic","%matplotlib","%pwd","%who_ls","%system","%%time","%%timeit","%%writefile","%%capture","%%html","%%latex"],cr;function Pl(){let t=async r=>{let a=J.get(Xr),{saveUserConfig:o}=Xi();await o({config:{runtime:{auto_reload:r}}}).then(()=>J.set(Xr,{...a,runtime:{...a.runtime,auto_reload:r}}))},e=[{match:"!pip install",onMatch:()=>{J.set(Rr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),oa()},title:"Package Installation",description:(0,h.jsxs)(h.Fragment,{children:["The package manager sidebar has been opened.",(0,h.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv pip install",onMatch:()=>{J.set(Rr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),oa()},title:"Package Installation",description:(0,h.jsxs)(h.Fragment,{children:["The package manager sidebar has been opened.",(0,h.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv add",onMatch:()=>{J.set(Rr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),oa()},title:"Package Installation",description:(0,h.jsxs)(h.Fragment,{children:["The package manager sidebar has been opened.",(0,h.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"%autoreload 2",onMatch:async()=>{await t("autorun")},title:"Module reload",description:(0,h.jsxs)(h.Fragment,{children:["Module reload mode set to ",(0,h.jsx)("b",{children:"autorun"})," - module changes will re-run the cells that import them."]})},{match:"%autoreload 1",onMatch:async()=>{await t("lazy")},title:"Module reload",description:(0,h.jsxs)(h.Fragment,{children:["Module reload mode set to ",(0,h.jsx)("b",{children:"lazy"})," - module changes will mark the cells that import them as stale."]})},{match:"%autoreload 0",onMatch:async()=>{await t("off")},title:"Module reload",description:(0,h.jsx)(h.Fragment,{children:"Module reload disabled - module changes will not be detected."})},{match:"!ls",onMatch:()=>{},title:"Listing files",description:(0,h.jsxs)(h.Fragment,{children:["Shell commands are not directly supported.",(0,h.jsx)("br",{}),"Use ",(0,h.jsx)("code",{children:"import subprocess; subprocess.run(['ls'])"})," instead."]})},...jl.map(r=>({match:r,onMatch:()=>{},title:(0,h.jsx)(Th,{className:"inline",children:r}),description:(0,h.jsxs)(h.Fragment,{children:["Magic commands are not supported in marimo. Read more about replacements in the"," ",(0,h.jsx)("a",{href:"https://docs.marimo.io/guides/coming_from/jupyter/#adapting-to-the-absence-of-magic-commands",target:"_blank",className:"text-link underline cursor-pointer",rel:"noopener noreferrer",children:"documentation"}),"."]})}))],n=new Map(e.map(r=>[r.match,r]));return R.updateListener.of(r=>{if(r.docChanged){let a=r.state.selection.main,o=r.state.doc,i=o.lineAt(a.head),s=o.sliceString(i.from,a.anchor).trim(),c=n.get(s);c&&(c.onMatch(),cr?cr.upsert({title:c.title,description:c.description}):cr=kt({title:c.title,description:c.description}))}})}var Ta=new Set(["Escape","Alt-`"]);function Dl(t,e=Ta){return t.filter(n=>![n.key,n.mac,n.linux,n.win].some(r=>e.has(r)))}function Ml(t=!0){let e=new Set(Ta);t||e.add("Enter");let n=Dl(Jp,e);return mt.highest(He.of([...n,{key:"Ctrl-y",run:r=>Rn(r)?Yi(r):!1},{key:"Ctrl-n",run:r=>Rn(r)?qn(!0)(r):!1},{key:"Ctrl-p",run:r=>Rn(r)?qn(!1)(r):!1}]))}const ur=ce.define(),dr=ce.define(),fr=ce.define();function z(t,e){if(!t)throw Error(e)}var Fl=3402823466385289e23,Rl=-3402823466385289e23,Bl=4294967295,Gl=2147483647,Jl=-2147483648;function an(t){if(typeof t!="number")throw Error("invalid int 32: "+typeof t);if(!Number.isInteger(t)||t>Gl||t<Jl)throw Error("invalid int 32: "+t)}function mr(t){if(typeof t!="number")throw Error("invalid uint 32: "+typeof t);if(!Number.isInteger(t)||t>Bl||t<0)throw Error("invalid uint 32: "+t)}function Na(t){if(typeof t!="number")throw Error("invalid float 32: "+typeof t);if(Number.isFinite(t)&&(t>Fl||t<Rl))throw Error("invalid float 32: "+t)}var Ia=Symbol("@bufbuild/protobuf/enum-type");function Vl(t){let e=t[Ia];return z(e,"missing enum type on enum object"),e}function Aa(t,e,n,r){t[Ia]=La(e,n.map(a=>({no:a.no,name:a.name,localName:t[a.no]})),r)}function La(t,e,n){let r=Object.create(null),a=Object.create(null),o=[];for(let i of e){let s=Oa(i);o.push(s),r[i.name]=s,a[i.no]=s}return{typeName:t,values:o,findName(i){return r[i]},findNumber(i){return a[i]}}}function $l(t,e,n){let r={};for(let a of e){let o=Oa(a);r[o.localName]=o.no,r[o.no]=o.localName}return Aa(r,t,e,n),r}function Oa(t){return"localName"in t?t:Object.assign(Object.assign({},t),{localName:t.name})}var X=class{equals(t){return this.getType().runtime.util.equals(this.getType(),this,t)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(t,e){let n=this.getType().runtime.bin,r=n.makeReadOptions(e);return n.readMessage(this,r.readerFactory(t),t.byteLength,r),this}fromJson(t,e){let n=this.getType(),r=n.runtime.json,a=r.makeReadOptions(e);return r.readMessage(n,t,a,this),this}fromJsonString(t,e){let n;try{n=JSON.parse(t)}catch(r){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${r instanceof Error?r.message:String(r)}`)}return this.fromJson(n,e)}toBinary(t){let e=this.getType().runtime.bin,n=e.makeWriteOptions(t),r=n.writerFactory();return e.writeMessage(this,r,n),r.finish()}toJson(t){let e=this.getType().runtime.json,n=e.makeWriteOptions(t);return e.writeMessage(this,n)}toJsonString(t){let e=this.toJson(t);return JSON.stringify(e,null,(t==null?void 0:t.prettySpaces)??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function Wl(t,e,n,r){let a=(r==null?void 0:r.localName)??e.substring(e.lastIndexOf(".")+1),o={[a]:function(i){t.util.initFields(this),t.util.initPartial(i,this)}}[a];return Object.setPrototypeOf(o.prototype,new X),Object.assign(o,{runtime:t,typeName:e,fields:t.util.newFieldList(n),fromBinary(i,s){return new o().fromBinary(i,s)},fromJson(i,s){return new o().fromJson(i,s)},fromJsonString(i,s){return new o().fromJsonString(i,s)},equals(i,s){return t.util.equals(o,i,s)}}),o}function ql(){let t=0,e=0;for(let r=0;r<28;r+=7){let a=this.buf[this.pos++];if(t|=(a&127)<<r,!(a&128))return this.assertBounds(),[t,e]}let n=this.buf[this.pos++];if(t|=(n&15)<<28,e=(n&112)>>4,!(n&128))return this.assertBounds(),[t,e];for(let r=3;r<=31;r+=7){let a=this.buf[this.pos++];if(e|=(a&127)<<r,!(a&128))return this.assertBounds(),[t,e]}throw Error("invalid varint")}function pr(t,e,n){for(let o=0;o<28;o+=7){let i=t>>>o,s=!(!(i>>>7)&&e==0),c=(s?i|128:i)&255;if(n.push(c),!s)return}let r=t>>>28&15|(e&7)<<4,a=!!(e>>3);if(n.push((a?r|128:r)&255),a){for(let o=3;o<31;o+=7){let i=e>>>o,s=!!(i>>>7),c=(s?i|128:i)&255;if(n.push(c),!s)return}n.push(e>>>31&1)}}var on=4294967296;function _a(t){let e=t[0]==="-";e&&(t=t.slice(1));let n=1e6,r=0,a=0;function o(i,s){let c=Number(t.slice(i,s));a*=n,r=r*n+c,r>=on&&(a+=r/on|0,r%=on)}return o(-24,-18),o(-18,-12),o(-12,-6),o(-6),e?ja(r,a):hr(r,a)}function Hl(t,e){let n=hr(t,e),r=n.hi&2147483648;r&&(n=ja(n.lo,n.hi));let a=Ua(n.lo,n.hi);return r?"-"+a:a}function Ua(t,e){if({lo:t,hi:e}=zl(t,e),e<=2097151)return String(on*e+t);let n=t&16777215,r=(t>>>24|e<<8)&16777215,a=e>>16&65535,o=n+r*6777216+a*6710656,i=r+a*8147497,s=a*2,c=1e7;return o>=c&&(i+=Math.floor(o/c),o%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+Pa(i)+Pa(o)}function zl(t,e){return{lo:t>>>0,hi:e>>>0}}function hr(t,e){return{lo:t|0,hi:e|0}}function ja(t,e){return e=~e,t?t=~t+1:e+=1,hr(t,e)}var Pa=t=>{let e=String(t);return"0000000".slice(e.length)+e};function Da(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t>>>=7;e.push(t)}else{for(let n=0;n<9;n++)e.push(t&127|128),t>>=7;e.push(1)}}function Yl(){let t=this.buf[this.pos++],e=t&127;if(!(t&128)||(t=this.buf[this.pos++],e|=(t&127)<<7,!(t&128))||(t=this.buf[this.pos++],e|=(t&127)<<14,!(t&128))||(t=this.buf[this.pos++],e|=(t&127)<<21,!(t&128)))return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let n=5;t&128&&n<10;n++)t=this.buf[this.pos++];if(t&128)throw Error("invalid varint");return this.assertBounds(),e>>>0}function Kl(){let t=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"&&(typeof process!="object"||{}.BUF_BIGINT_DISABLE!=="1")){let r=BigInt("-9223372036854775808"),a=BigInt("9223372036854775807"),o=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>a||c<r)throw Error(`int64 invalid: ${s}`);return c},uParse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>i||c<o)throw Error(`uint64 invalid: ${s}`);return c},enc(s){return t.setBigInt64(0,this.parse(s),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},uEnc(s){return t.setBigInt64(0,this.uParse(s),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},dec(s,c){return t.setInt32(0,s,!0),t.setInt32(4,c,!0),t.getBigInt64(0,!0)},uDec(s,c){return t.setInt32(0,s,!0),t.setInt32(4,c,!0),t.getBigUint64(0,!0)}}}let e=r=>z(/^-?[0-9]+$/.test(r),`int64 invalid: ${r}`),n=r=>z(/^[0-9]+$/.test(r),`uint64 invalid: ${r}`);return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),e(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),n(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),e(r),_a(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),n(r),_a(r)},dec(r,a){return Hl(r,a)},uDec(r,a){return Ua(r,a)}}}const W=Kl();var w;(function(t){t[t.DOUBLE=1]="DOUBLE",t[t.FLOAT=2]="FLOAT",t[t.INT64=3]="INT64",t[t.UINT64=4]="UINT64",t[t.INT32=5]="INT32",t[t.FIXED64=6]="FIXED64",t[t.FIXED32=7]="FIXED32",t[t.BOOL=8]="BOOL",t[t.STRING=9]="STRING",t[t.BYTES=12]="BYTES",t[t.UINT32=13]="UINT32",t[t.SFIXED32=15]="SFIXED32",t[t.SFIXED64=16]="SFIXED64",t[t.SINT32=17]="SINT32",t[t.SINT64=18]="SINT64"})(w||(w={}));var st;(function(t){t[t.BIGINT=0]="BIGINT",t[t.STRING=1]="STRING"})(st||(st={}));function et(t,e,n){if(e===n)return!0;if(t==w.BYTES){if(!(e instanceof Uint8Array)||!(n instanceof Uint8Array)||e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==n[r])return!1;return!0}switch(t){case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return e==n}return!1}function gt(t,e){switch(t){case w.BOOL:return!1;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return e==0?W.zero:"0";case w.DOUBLE:case w.FLOAT:return 0;case w.BYTES:return new Uint8Array;case w.STRING:return"";default:return 0}}function Ma(t,e){switch(t){case w.BOOL:return e===!1;case w.STRING:return e==="";case w.BYTES:return e instanceof Uint8Array&&!e.byteLength;default:return e==0}}var Z;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(Z||(Z={}));var Xl=class{constructor(t){this.stack=[],this.textEncoder=t??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let t=0;for(let r=0;r<this.chunks.length;r++)t+=this.chunks[r].length;let e=new Uint8Array(t),n=0;for(let r=0;r<this.chunks.length;r++)e.set(this.chunks[r],n),n+=this.chunks[r].length;return this.chunks=[],e}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let t=this.finish(),e=this.stack.pop();if(!e)throw Error("invalid state, fork stack empty");return this.chunks=e.chunks,this.buf=e.buf,this.uint32(t.byteLength),this.raw(t)}tag(t,e){return this.uint32((t<<3|e)>>>0)}raw(t){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(t),this}uint32(t){for(mr(t);t>127;)this.buf.push(t&127|128),t>>>=7;return this.buf.push(t),this}int32(t){return an(t),Da(t,this.buf),this}bool(t){return this.buf.push(t?1:0),this}bytes(t){return this.uint32(t.byteLength),this.raw(t)}string(t){let e=this.textEncoder.encode(t);return this.uint32(e.byteLength),this.raw(e)}float(t){Na(t);let e=new Uint8Array(4);return new DataView(e.buffer).setFloat32(0,t,!0),this.raw(e)}double(t){let e=new Uint8Array(8);return new DataView(e.buffer).setFloat64(0,t,!0),this.raw(e)}fixed32(t){mr(t);let e=new Uint8Array(4);return new DataView(e.buffer).setUint32(0,t,!0),this.raw(e)}sfixed32(t){an(t);let e=new Uint8Array(4);return new DataView(e.buffer).setInt32(0,t,!0),this.raw(e)}sint32(t){return an(t),t=(t<<1^t>>31)>>>0,Da(t,this.buf),this}sfixed64(t){let e=new Uint8Array(8),n=new DataView(e.buffer),r=W.enc(t);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(e)}fixed64(t){let e=new Uint8Array(8),n=new DataView(e.buffer),r=W.uEnc(t);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(e)}int64(t){let e=W.enc(t);return pr(e.lo,e.hi,this.buf),this}sint64(t){let e=W.enc(t),n=e.hi>>31;return pr(e.lo<<1^n,(e.hi<<1|e.lo>>>31)^n,this.buf),this}uint64(t){let e=W.uEnc(t);return pr(e.lo,e.hi,this.buf),this}},Ql=class{constructor(t,e){this.varint64=ql,this.uint32=Yl,this.buf=t,this.len=t.length,this.pos=0,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength),this.textDecoder=e??new TextDecoder}tag(){let t=this.uint32(),e=t>>>3,n=t&7;if(e<=0||n<0||n>5)throw Error("illegal tag: field no "+e+" wire type "+n);return[e,n]}skip(t,e){let n=this.pos;switch(t){case Z.Varint:for(;this.buf[this.pos++]&128;);break;case Z.Bit64:this.pos+=4;case Z.Bit32:this.pos+=4;break;case Z.LengthDelimited:let r=this.uint32();this.pos+=r;break;case Z.StartGroup:for(;;){let[a,o]=this.tag();if(o===Z.EndGroup){if(e!==void 0&&a!==e)throw Error("invalid end group tag");break}this.skip(o,a)}break;default:throw Error("cant skip wire type "+t)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)}int64(){return W.dec(...this.varint64())}uint64(){return W.uDec(...this.varint64())}sint64(){let[t,e]=this.varint64(),n=-(t&1);return t=(t>>>1|(e&1)<<31)^n,e=e>>>1^n,W.dec(t,e)}bool(){let[t,e]=this.varint64();return t!==0||e!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return W.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return W.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let t=this.uint32(),e=this.pos;return this.pos+=t,this.assertBounds(),this.buf.subarray(e,e+t)}string(){return this.textDecoder.decode(this.bytes())}};function Zl(t,e,n,r){let a;return{typeName:e,extendee:n,get field(){if(!a){let o=typeof r=="function"?r():r;o.name=e.split(".").pop(),o.jsonName=`[${e}]`,a=t.util.newFieldList([o]).list()[0]}return a},runtime:t}}function Fa(t){let e=t.field.localName,n=Object.create(null);return n[e]=ec(t),[n,()=>n[e]]}function ec(t){let e=t.field;if(e.repeated)return[];if(e.default!==void 0)return e.default;switch(e.kind){case"enum":return e.T.values[0].no;case"scalar":return gt(e.T,e.L);case"message":let n=e.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function tc(t,e){if(!e.repeated&&(e.kind=="enum"||e.kind=="scalar")){for(let n=t.length-1;n>=0;--n)if(t[n].no==e.no)return[t[n]];return[]}return t.filter(n=>n.no===e.no)}var Xe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),sn=[];for(let t=0;t<Xe.length;t++)sn[Xe[t].charCodeAt(0)]=t;sn[45]=Xe.indexOf("+"),sn[95]=Xe.indexOf("/");const ln={dec(t){let e=t.length*3/4;t[t.length-2]=="="?e-=2:t[t.length-1]=="="&&--e;let n=new Uint8Array(e),r=0,a=0,o,i=0;for(let s=0;s<t.length;s++){if(o=sn[t.charCodeAt(s)],o===void 0)switch(t[s]){case"=":a=0;case`
|
|
13
|
+
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(a){case 0:i=o,a=1;break;case 1:n[r++]=i<<2|(o&48)>>4,i=o,a=2;break;case 2:n[r++]=(i&15)<<4|(o&60)>>2,i=o,a=3;break;case 3:n[r++]=(i&3)<<6|o,a=0;break}}if(a==1)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(t){let e="",n=0,r,a=0;for(let o=0;o<t.length;o++)switch(r=t[o],n){case 0:e+=Xe[r>>2],a=(r&3)<<4,n=1;break;case 1:e+=Xe[a|r>>4],a=(r&15)<<2,n=2;break;case 2:e+=Xe[a|r>>6],e+=Xe[r&63],n=0;break}return n&&(e+=Xe[a],e+="=",n==1&&(e+="=")),e}};function nc(t,e,n){Ba(e,t);let r=e.runtime.bin.makeReadOptions(n),a=tc(t.getType().runtime.bin.listUnknownFields(t),e.field),[o,i]=Fa(e);for(let s of a)e.runtime.bin.readField(o,r.readerFactory(s.data),e.field,s.wireType,r);return i()}function rc(t,e,n,r){Ba(e,t);let a=e.runtime.bin.makeReadOptions(r),o=e.runtime.bin.makeWriteOptions(r);if(Ra(t,e)){let l=t.getType().runtime.bin.listUnknownFields(t).filter(u=>u.no!=e.field.no);t.getType().runtime.bin.discardUnknownFields(t);for(let u of l)t.getType().runtime.bin.onUnknownField(t,u.no,u.wireType,u.data)}let i=o.writerFactory(),s=e.field;!s.opt&&!s.repeated&&(s.kind=="enum"||s.kind=="scalar")&&(s=Object.assign(Object.assign({},e.field),{opt:!0})),e.runtime.bin.writeField(s,n,i,o);let c=a.readerFactory(i.finish());for(;c.pos<c.len;){let[l,u]=c.tag(),d=c.skip(u,l);t.getType().runtime.bin.onUnknownField(t,l,u,d)}}function Ra(t,e){let n=t.getType();return e.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(t).find(r=>r.no==e.field.no)}function Ba(t,e){z(t.extendee.typeName==e.getType().typeName,`extension ${t.typeName} can only be applied to message ${t.extendee.typeName}`)}function Ga(t,e){let n=t.localName;if(t.repeated)return e[n].length>0;if(t.oneof)return e[t.oneof.localName].case===n;switch(t.kind){case"enum":case"scalar":return t.opt||t.req?e[n]!==void 0:t.kind=="enum"?e[n]!==t.T.values[0].no:!Ma(t.T,e[n]);case"message":return e[n]!==void 0;case"map":return Object.keys(e[n]).length>0}}function Ja(t,e){let n=t.localName,r=!t.opt&&!t.req;if(t.repeated)e[n]=[];else if(t.oneof)e[t.oneof.localName]={case:void 0};else switch(t.kind){case"map":e[n]={};break;case"enum":e[n]=r?t.T.values[0].no:void 0;break;case"scalar":e[n]=r?gt(t.T,t.L):void 0;break;case"message":e[n]=void 0;break}}function Qe(t,e){if(typeof t!="object"||!t||!Object.getOwnPropertyNames(X.prototype).every(r=>r in t&&typeof t[r]=="function"))return!1;let n=t.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:e===void 0?!0:n.typeName==e.typeName}function Va(t,e){return Qe(e)||!t.fieldWrapper?e:t.fieldWrapper.wrapField(e)}w.DOUBLE,w.FLOAT,w.INT64,w.UINT64,w.INT32,w.UINT32,w.BOOL,w.STRING,w.BYTES;var $a={ignoreUnknownFields:!1},Wa={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function ac(t){return t?Object.assign(Object.assign({},$a),t):$a}function oc(t){return t?Object.assign(Object.assign({},Wa),t):Wa}var cn=Symbol(),un=Symbol();function ic(){return{makeReadOptions:ac,makeWriteOptions:oc,readMessage(t,e,n,r){if(e==null||Array.isArray(e)||typeof e!="object")throw Error(`cannot decode message ${t.typeName} from JSON: ${Ye(e)}`);r??(r=new t);let a=new Map,o=n.typeRegistry;for(let[i,s]of Object.entries(e)){let c=t.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;let l=a.get(c.oneof);if(l!==void 0)throw Error(`cannot decode message ${t.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${l}", "${i}"`);a.set(c.oneof,i)}qa(r,s,c,n,t)}else{let l=!1;if(o!=null&&o.findExtension&&i.startsWith("[")&&i.endsWith("]")){let u=o.findExtension(i.substring(1,i.length-1));if(u&&u.extendee.typeName==t.typeName){l=!0;let[d,p]=Fa(u);qa(d,s,u.field,n,u),rc(r,u,p(),n)}}if(!l&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${t.typeName} from JSON: key "${i}" is unknown`)}}return r},writeMessage(t,e){let n=t.getType(),r={},a;try{for(a of n.fields.byNumber()){if(!Ga(a,t)){if(a.req)throw"required field not set";if(!e.emitDefaultValues||!lc(a))continue}let i=a.oneof?t[a.oneof.localName].value:t[a.localName],s=Ha(a,i,e);s!==void 0&&(r[e.useProtoFieldName?a.name:a.jsonName]=s)}let o=e.typeRegistry;if(o!=null&&o.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(t)){let s=o.findExtensionFor(n.typeName,i.no);if(s&&Ra(t,s)){let c=nc(t,s,e),l=Ha(s.field,c,e);l!==void 0&&(r[s.field.jsonName]=l)}}}catch(o){let i=a?`cannot encode field ${n.typeName}.${a.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,s=o instanceof Error?o.message:String(o);throw Error(i+(s.length>0?`: ${s}`:""))}return r},readScalar(t,e,n){return Ut(t,e,n??st.BIGINT,!0)},writeScalar(t,e,n){if(e!==void 0&&(n||Ma(t,e)))return dn(t,e)},debug:Ye}}function Ye(t){if(t===null)return"null";switch(typeof t){case"object":return Array.isArray(t)?"array":"object";case"string":return t.length>100?"string":`"${t.split('"').join('\\"')}"`;default:return String(t)}}function qa(t,e,n,r,a){let o=n.localName;if(n.repeated){if(z(n.kind!="map"),e===null)return;if(!Array.isArray(e))throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`);let i=t[o];for(let s of e){if(s===null)throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(s)}`);switch(n.kind){case"message":i.push(n.T.fromJson(s,r));break;case"enum":let c=gr(n.T,s,r.ignoreUnknownFields,!0);c!==un&&i.push(c);break;case"scalar":try{i.push(Ut(n.T,s,n.L,!0))}catch(l){let u=`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(s)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}}else if(n.kind=="map"){if(e===null)return;if(typeof e!="object"||Array.isArray(e))throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`);let i=t[o];for(let[s,c]of Object.entries(e)){if(c===null)throw Error(`cannot decode field ${a.typeName}.${n.name} from JSON: map value null`);let l;try{l=sc(n.K,s)}catch(u){let d=`cannot decode map key for field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`;throw u instanceof Error&&u.message.length>0&&(d+=`: ${u.message}`),Error(d)}switch(n.V.kind){case"message":i[l]=n.V.T.fromJson(c,r);break;case"enum":let u=gr(n.V.T,c,r.ignoreUnknownFields,!0);u!==un&&(i[l]=u);break;case"scalar":try{i[l]=Ut(n.V.T,c,st.BIGINT,!0)}catch(d){let p=`cannot decode map value for field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`;throw d instanceof Error&&d.message.length>0&&(p+=`: ${d.message}`),Error(p)}break}}}else switch(n.oneof&&(t=t[n.oneof.localName]={case:o},o="value"),n.kind){case"message":let i=n.T;if(e===null&&i.typeName!="google.protobuf.Value")return;let s=t[o];Qe(s)?s.fromJson(e,r):(t[o]=s=i.fromJson(e,r),i.fieldWrapper&&!n.oneof&&(t[o]=i.fieldWrapper.unwrapField(s)));break;case"enum":let c=gr(n.T,e,r.ignoreUnknownFields,!1);switch(c){case cn:Ja(n,t);break;case un:break;default:t[o]=c;break}break;case"scalar":try{let l=Ut(n.T,e,n.L,!1);l===cn?Ja(n,t):t[o]=l}catch(l){let u=`cannot decode field ${a.typeName}.${n.name} from JSON: ${Ye(e)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}function sc(t,e){if(t===w.BOOL)switch(e){case"true":e=!0;break;case"false":e=!1;break}return Ut(t,e,st.BIGINT,!0).toString()}function Ut(t,e,n,r){if(e===null)return r?gt(t,n):cn;switch(t){case w.DOUBLE:case w.FLOAT:if(e==="NaN")return NaN;if(e==="Infinity")return 1/0;if(e==="-Infinity")return-1/0;if(e===""||typeof e=="string"&&e.trim().length!==e.length||typeof e!="string"&&typeof e!="number")break;let a=Number(e);if(Number.isNaN(a)||!Number.isFinite(a))break;return t==w.FLOAT&&Na(a),a;case w.INT32:case w.FIXED32:case w.SFIXED32:case w.SINT32:case w.UINT32:let o;if(typeof e=="number"?o=e:typeof e=="string"&&e.length>0&&e.trim().length===e.length&&(o=Number(e)),o===void 0)break;return t==w.UINT32||t==w.FIXED32?mr(o):an(o),o;case w.INT64:case w.SFIXED64:case w.SINT64:if(typeof e!="number"&&typeof e!="string")break;let i=W.parse(e);return n?i.toString():i;case w.FIXED64:case w.UINT64:if(typeof e!="number"&&typeof e!="string")break;let s=W.uParse(e);return n?s.toString():s;case w.BOOL:if(typeof e!="boolean")break;return e;case w.STRING:if(typeof e!="string")break;return e;case w.BYTES:if(e==="")return new Uint8Array;if(typeof e!="string")break;return ln.dec(e)}throw Error()}function gr(t,e,n,r){if(e===null)return t.typeName=="google.protobuf.NullValue"?0:r?t.values[0].no:cn;switch(typeof e){case"number":if(Number.isInteger(e))return e;break;case"string":let a=t.findName(e);if(a!==void 0)return a.no;if(n)return un;break}throw Error(`cannot decode enum ${t.typeName} from JSON: ${Ye(e)}`)}function lc(t){return t.repeated||t.kind=="map"?!0:!(t.oneof||t.kind=="message"||t.opt||t.req)}function Ha(t,e,n){if(t.kind=="map"){z(typeof e=="object"&&!!e);let r={},a=Object.entries(e);switch(t.V.kind){case"scalar":for(let[i,s]of a)r[i.toString()]=dn(t.V.T,s);break;case"message":for(let[i,s]of a)r[i.toString()]=s.toJson(n);break;case"enum":let o=t.V.T;for(let[i,s]of a)r[i.toString()]=yr(o,s,n.enumAsInteger);break}return n.emitDefaultValues||a.length>0?r:void 0}if(t.repeated){z(Array.isArray(e));let r=[];switch(t.kind){case"scalar":for(let a=0;a<e.length;a++)r.push(dn(t.T,e[a]));break;case"enum":for(let a=0;a<e.length;a++)r.push(yr(t.T,e[a],n.enumAsInteger));break;case"message":for(let a=0;a<e.length;a++)r.push(e[a].toJson(n));break}return n.emitDefaultValues||r.length>0?r:void 0}switch(t.kind){case"scalar":return dn(t.T,e);case"enum":return yr(t.T,e,n.enumAsInteger);case"message":return Va(t.T,e).toJson(n)}}function yr(t,e,n){var r;return z(typeof e=="number"),t.typeName=="google.protobuf.NullValue"?null:n?e:((r=t.findNumber(e))==null?void 0:r.name)??e}function dn(t,e){switch(t){case w.INT32:case w.SFIXED32:case w.SINT32:case w.FIXED32:case w.UINT32:return z(typeof e=="number"),e;case w.FLOAT:case w.DOUBLE:return z(typeof e=="number"),Number.isNaN(e)?"NaN":e===1/0?"Infinity":e===-1/0?"-Infinity":e;case w.STRING:return z(typeof e=="string"),e;case w.BOOL:return z(typeof e=="boolean"),e;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return z(typeof e=="bigint"||typeof e=="string"||typeof e=="number"),e.toString();case w.BYTES:return z(e instanceof Uint8Array),ln.enc(e)}}var yt=Symbol("@bufbuild/protobuf/unknown-fields"),za={readUnknownFields:!0,readerFactory:t=>new Ql(t)},Ya={writeUnknownFields:!0,writerFactory:()=>new Xl};function cc(t){return t?Object.assign(Object.assign({},za),t):za}function uc(t){return t?Object.assign(Object.assign({},Ya),t):Ya}function dc(){return{makeReadOptions:cc,makeWriteOptions:uc,listUnknownFields(t){return t[yt]??[]},discardUnknownFields(t){delete t[yt]},writeUnknownFields(t,e){let n=t[yt];if(n)for(let r of n)e.tag(r.no,r.wireType).raw(r.data)},onUnknownField(t,e,n,r){let a=t;Array.isArray(a[yt])||(a[yt]=[]),a[yt].push({no:e,wireType:n,data:r})},readMessage(t,e,n,r,a){let o=t.getType(),i=a?e.len:e.pos+n,s,c;for(;e.pos<i&&([s,c]=e.tag(),!(a===!0&&c==Z.EndGroup));){let l=o.fields.find(s);if(!l){let u=e.skip(c,s);r.readUnknownFields&&this.onUnknownField(t,s,c,u);continue}Ka(t,e,l,c,r)}if(a&&(c!=Z.EndGroup||s!==n))throw Error("invalid end group tag")},readField:Ka,writeMessage(t,e,n){let r=t.getType();for(let a of r.fields.byNumber()){if(!Ga(a,t)){if(a.req)throw Error(`cannot encode field ${r.typeName}.${a.name} to binary: required field not set`);continue}Xa(a,a.oneof?t[a.oneof.localName].value:t[a.localName],e,n)}return n.writeUnknownFields&&this.writeUnknownFields(t,e),e},writeField(t,e,n,r){e!==void 0&&Xa(t,e,n,r)}}}function Ka(t,e,n,r,a){let{repeated:o,localName:i}=n;switch(n.oneof&&(t=t[n.oneof.localName],t.case!=i&&delete t.value,t.case=i,i="value"),n.kind){case"scalar":case"enum":let s=n.kind=="enum"?w.INT32:n.T,c=mn;if(n.kind=="scalar"&&n.L>0&&(c=mc),o){let p=t[i];if(r==Z.LengthDelimited&&s!=w.STRING&&s!=w.BYTES){let f=e.uint32()+e.pos;for(;e.pos<f;)p.push(c(e,s))}else p.push(c(e,s))}else t[i]=c(e,s);break;case"message":let l=n.T;o?t[i].push(fn(e,new l,a,n)):Qe(t[i])?fn(e,t[i],a,n):(t[i]=fn(e,new l,a,n),l.fieldWrapper&&!n.oneof&&!n.repeated&&(t[i]=l.fieldWrapper.unwrapField(t[i])));break;case"map":let[u,d]=fc(n,e,a);t[i][u]=d;break}}function fn(t,e,n,r){let a=e.getType().runtime.bin,o=r==null?void 0:r.delimited;return a.readMessage(e,t,o?r.no:t.uint32(),n,o),e}function fc(t,e,n){let r=e.uint32(),a=e.pos+r,o,i;for(;e.pos<a;){let[s]=e.tag();switch(s){case 1:o=mn(e,t.K);break;case 2:switch(t.V.kind){case"scalar":i=mn(e,t.V.T);break;case"enum":i=e.int32();break;case"message":i=fn(e,new t.V.T,n,void 0);break}break}}if(o===void 0&&(o=gt(t.K,st.BIGINT)),typeof o!="string"&&typeof o!="number"&&(o=o.toString()),i===void 0)switch(t.V.kind){case"scalar":i=gt(t.V.T,st.BIGINT);break;case"enum":i=t.V.T.values[0].no;break;case"message":i=new t.V.T;break}return[o,i]}function mc(t,e){let n=mn(t,e);return typeof n=="bigint"?n.toString():n}function mn(t,e){switch(e){case w.STRING:return t.string();case w.BOOL:return t.bool();case w.DOUBLE:return t.double();case w.FLOAT:return t.float();case w.INT32:return t.int32();case w.INT64:return t.int64();case w.UINT64:return t.uint64();case w.FIXED64:return t.fixed64();case w.BYTES:return t.bytes();case w.FIXED32:return t.fixed32();case w.SFIXED32:return t.sfixed32();case w.SFIXED64:return t.sfixed64();case w.SINT64:return t.sint64();case w.UINT32:return t.uint32();case w.SINT32:return t.sint32()}}function Xa(t,e,n,r){z(e!==void 0);let a=t.repeated;switch(t.kind){case"scalar":case"enum":let o=t.kind=="enum"?w.INT32:t.T;if(a)if(z(Array.isArray(e)),t.packed)hc(n,o,t.no,e);else for(let i of e)jt(n,o,t.no,i);else jt(n,o,t.no,e);break;case"message":if(a){z(Array.isArray(e));for(let i of e)Qa(n,r,t,i)}else Qa(n,r,t,e);break;case"map":z(typeof e=="object"&&!!e);for(let[i,s]of Object.entries(e))pc(n,r,t,i,s);break}}function pc(t,e,n,r,a){t.tag(n.no,Z.LengthDelimited),t.fork();let o=r;switch(n.K){case w.INT32:case w.FIXED32:case w.UINT32:case w.SFIXED32:case w.SINT32:o=Number.parseInt(r);break;case w.BOOL:z(r=="true"||r=="false"),o=r=="true";break}switch(jt(t,n.K,1,o),n.V.kind){case"scalar":jt(t,n.V.T,2,a);break;case"enum":jt(t,w.INT32,2,a);break;case"message":z(a!==void 0),t.tag(2,Z.LengthDelimited).bytes(a.toBinary(e));break}t.join()}function Qa(t,e,n,r){let a=Va(n.T,r);n.delimited?t.tag(n.no,Z.StartGroup).raw(a.toBinary(e)).tag(n.no,Z.EndGroup):t.tag(n.no,Z.LengthDelimited).bytes(a.toBinary(e))}function jt(t,e,n,r){z(r!==void 0);let[a,o]=Za(e);t.tag(n,a)[o](r)}function hc(t,e,n,r){if(!r.length)return;t.tag(n,Z.LengthDelimited).fork();let[,a]=Za(e);for(let o=0;o<r.length;o++)t[a](r[o]);t.join()}function Za(t){let e=Z.Varint;switch(t){case w.BYTES:case w.STRING:e=Z.LengthDelimited;break;case w.DOUBLE:case w.FIXED64:case w.SFIXED64:e=Z.Bit64;break;case w.FIXED32:case w.SFIXED32:case w.FLOAT:e=Z.Bit32;break}let n=w[t].toLowerCase();return[e,n]}function gc(){return{setEnumType:Aa,initPartial(t,e){if(t===void 0)return;let n=e.getType();for(let r of n.fields.byMember()){let a=r.localName,o=e,i=t;if(i[a]!=null)switch(r.kind){case"oneof":let s=i[a].case;if(s===void 0)continue;let c=r.findField(s),l=i[a].value;c&&c.kind=="message"&&!Qe(l,c.T)?l=new c.T(l):c&&c.kind==="scalar"&&c.T===w.BYTES&&(l=Pt(l)),o[a]={case:s,value:l};break;case"scalar":case"enum":let u=i[a];r.T===w.BYTES&&(u=r.repeated?u.map(Pt):Pt(u)),o[a]=u;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===w.BYTES)for(let[f,m]of Object.entries(i[a]))o[a][f]=Pt(m);else Object.assign(o[a],i[a]);break;case"message":let p=r.V.T;for(let f of Object.keys(i[a])){let m=i[a][f];p.fieldWrapper||(m=new p(m)),o[a][f]=m}break}break;case"message":let d=r.T;if(r.repeated)o[a]=i[a].map(p=>Qe(p,d)?p:new d(p));else{let p=i[a];d.fieldWrapper?d.typeName==="google.protobuf.BytesValue"?o[a]=Pt(p):o[a]=p:o[a]=Qe(p,d)?p:new d(p)}break}}},equals(t,e,n){return e===n?!0:!e||!n?!1:t.fields.byMember().every(r=>{let a=e[r.localName],o=n[r.localName];if(r.repeated){if(a.length!==o.length)return!1;switch(r.kind){case"message":return a.every((i,s)=>r.T.equals(i,o[s]));case"scalar":return a.every((i,s)=>et(r.T,i,o[s]));case"enum":return a.every((i,s)=>et(w.INT32,i,o[s]))}throw Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":let i=a,s=o;return r.T.fieldWrapper&&(i!==void 0&&!Qe(i)&&(i=r.T.fieldWrapper.wrapField(i)),s!==void 0&&!Qe(s)&&(s=r.T.fieldWrapper.wrapField(s))),r.T.equals(i,s);case"enum":return et(w.INT32,a,o);case"scalar":return et(r.T,a,o);case"oneof":if(a.case!==o.case)return!1;let c=r.findField(a.case);if(c===void 0)return!0;switch(c.kind){case"message":return c.T.equals(a.value,o.value);case"enum":return et(w.INT32,a.value,o.value);case"scalar":return et(c.T,a.value,o.value)}throw Error(`oneof cannot contain ${c.kind}`);case"map":let l=Object.keys(a).concat(Object.keys(o));switch(r.V.kind){case"message":let u=r.V.T;return l.every(p=>u.equals(a[p],o[p]));case"enum":return l.every(p=>et(w.INT32,a[p],o[p]));case"scalar":let d=r.V.T;return l.every(p=>et(d,a[p],o[p]))}break}})},clone(t){let e=t.getType(),n=new e,r=n;for(let a of e.fields.byMember()){let o=t[a.localName],i;if(a.repeated)i=o.map(pn);else if(a.kind=="map"){i=r[a.localName];for(let[s,c]of Object.entries(o))i[s]=pn(c)}else i=a.kind=="oneof"?a.findField(o.case)?{case:o.case,value:pn(o.value)}:{case:void 0}:pn(o);r[a.localName]=i}for(let a of e.runtime.bin.listUnknownFields(t))e.runtime.bin.onUnknownField(r,a.no,a.wireType,a.data);return n}}}function pn(t){if(t===void 0)return t;if(Qe(t))return t.clone();if(t instanceof Uint8Array){let e=new Uint8Array(t.byteLength);return e.set(t),e}return t}function Pt(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function yc(t,e,n){return{syntax:t,json:ic(),bin:dc(),util:Object.assign(Object.assign({},gc()),{newFieldList:e,initFields:n}),makeMessageType(r,a,o){return Wl(this,r,a,o)},makeEnum:$l,makeEnumType:La,getEnumType:Vl,makeExtension(r,a,o){return Zl(this,r,a,o)}}}var bc=class{constructor(t,e){this._fields=t,this._normalizer=e}findJsonName(t){if(!this.jsonNames){let e={};for(let n of this.list())e[n.jsonName]=e[n.name]=n;this.jsonNames=e}return this.jsonNames[t]}find(t){if(!this.numbers){let e={};for(let n of this.list())e[n.no]=n;this.numbers=e}return this.numbers[t]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(this.numbersAsc=this.list().concat().sort((t,e)=>t.no-e.no)),this.numbersAsc}byMember(){if(!this.members){this.members=[];let t=this.members,e;for(let n of this.list())n.oneof?n.oneof!==e&&(e=n.oneof,t.push(e)):t.push(n)}return this.members}};function eo(t,e){let n=to(t);return e?n:kc(Sc(n))}function wc(t){return eo(t,!1)}const vc=to;function to(t){let e=!1,n=[];for(let r=0;r<t.length;r++){let a=t.charAt(r);switch(a){case"_":e=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":n.push(a),e=!1;break;default:e&&(e=!1,a=a.toUpperCase()),n.push(a);break}}return n.join("")}var xc=new Set(["constructor","toString","toJSON","valueOf"]),Ec=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),no=t=>`${t}$`,Sc=t=>Ec.has(t)?no(t):t;const kc=t=>xc.has(t)?no(t):t;var Cc=class{constructor(t){this.kind="oneof",this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=t,this.localName=wc(t)}addField(t){z(t.oneof===this,`field ${t.name} not one of ${this.name}`),this.fields.push(t)}findField(t){if(!this._lookup){this._lookup=Object.create(null);for(let e=0;e<this.fields.length;e++)this._lookup[this.fields[e].localName]=this.fields[e]}return this._lookup[t]}};function Tc(t,e){let n=[],r;for(let a of typeof t=="function"?t():t){let o=a;if(o.localName=eo(a.name,a.oneof!==void 0),o.jsonName=a.jsonName??vc(a.name),o.repeated=a.repeated??!1,a.kind=="scalar"&&(o.L=a.L??st.BIGINT),o.delimited=a.delimited??!1,o.req=a.req??!1,o.opt=a.opt??!1,a.packed===void 0&&(e?o.packed=a.kind=="enum"||a.kind=="scalar"&&a.T!=w.BYTES&&a.T!=w.STRING:o.packed=!1),a.oneof!==void 0){let i=typeof a.oneof=="string"?a.oneof:a.oneof.name;(!r||r.name!=i)&&(r=new Cc(i)),o.oneof=r,r.addField(o)}n.push(o)}return n}const x=yc("proto3",t=>new bc(t,e=>Tc(e,!0)),t=>{for(let e of t.getType().fields.byMember()){if(e.opt)continue;let n=e.localName,r=t;if(e.repeated){r[n]=[];continue}switch(e.kind){case"oneof":r[n]={case:void 0};break;case"enum":r[n]=0;break;case"map":r[n]={};break;case"scalar":r[n]=gt(e.T,e.L);break;case"message":break}}});var Ee;(function(t){t[t.Unary=0]="Unary",t[t.ServerStreaming=1]="ServerStreaming",t[t.ClientStreaming=2]="ClientStreaming",t[t.BiDiStreaming=3]="BiDiStreaming"})(Ee||(Ee={}));var ro;(function(t){t[t.NoSideEffects=1]="NoSideEffects",t[t.Idempotent=2]="Idempotent"})(ro||(ro={}));var br;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.JUPYTER_FORMAT=77]="JUPYTER_FORMAT"})(br||(br={})),x.util.setEnumType(br,"exa.codeium_common_pb.ExperimentKey",[{no:0,name:"UNSPECIFIED"},{no:77,name:"JUPYTER_FORMAT"}]);var hn;(function(t){t[t.CODEIUM=0]="CODEIUM"})(hn||(hn={})),x.util.setEnumType(hn,"exa.codeium_common_pb.AuthSource",[{no:0,name:"AUTH_SOURCE_CODEIUM"}]);var gn;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.ENABLE_CODEIUM=1]="ENABLE_CODEIUM",t[t.DISABLE_CODEIUM=2]="DISABLE_CODEIUM",t[t.SHOW_PREVIOUS_COMPLETION=3]="SHOW_PREVIOUS_COMPLETION",t[t.SHOW_NEXT_COMPLETION=4]="SHOW_NEXT_COMPLETION"})(gn||(gn={})),x.util.setEnumType(gn,"exa.codeium_common_pb.EventType",[{no:0,name:"EVENT_TYPE_UNSPECIFIED"},{no:1,name:"EVENT_TYPE_ENABLE_CODEIUM"},{no:2,name:"EVENT_TYPE_DISABLE_CODEIUM"},{no:3,name:"EVENT_TYPE_SHOW_PREVIOUS_COMPLETION"},{no:4,name:"EVENT_TYPE_SHOW_NEXT_COMPLETION"}]);var yn;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.TYPING_AS_SUGGESTED=1]="TYPING_AS_SUGGESTED",t[t.CACHE=2]="CACHE",t[t.NETWORK=3]="NETWORK"})(yn||(yn={})),x.util.setEnumType(yn,"exa.codeium_common_pb.CompletionSource",[{no:0,name:"COMPLETION_SOURCE_UNSPECIFIED"},{no:1,name:"COMPLETION_SOURCE_TYPING_AS_SUGGESTED"},{no:2,name:"COMPLETION_SOURCE_CACHE"},{no:3,name:"COMPLETION_SOURCE_NETWORK"}]);var lt;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.C=1]="C",t[t.CLOJURE=2]="CLOJURE",t[t.COFFEESCRIPT=3]="COFFEESCRIPT",t[t.CPP=4]="CPP",t[t.CSHARP=5]="CSHARP",t[t.CSS=6]="CSS",t[t.CUDACPP=7]="CUDACPP",t[t.DOCKERFILE=8]="DOCKERFILE",t[t.GO=9]="GO",t[t.GROOVY=10]="GROOVY",t[t.HANDLEBARS=11]="HANDLEBARS",t[t.HASKELL=12]="HASKELL",t[t.HCL=13]="HCL",t[t.HTML=14]="HTML",t[t.INI=15]="INI",t[t.JAVA=16]="JAVA",t[t.JAVASCRIPT=17]="JAVASCRIPT",t[t.JSON=18]="JSON",t[t.JULIA=19]="JULIA",t[t.KOTLIN=20]="KOTLIN",t[t.LATEX=21]="LATEX",t[t.LESS=22]="LESS",t[t.LUA=23]="LUA",t[t.MAKEFILE=24]="MAKEFILE",t[t.MARKDOWN=25]="MARKDOWN",t[t.OBJECTIVEC=26]="OBJECTIVEC",t[t.OBJECTIVECPP=27]="OBJECTIVECPP",t[t.PERL=28]="PERL",t[t.PHP=29]="PHP",t[t.PLAINTEXT=30]="PLAINTEXT",t[t.PROTOBUF=31]="PROTOBUF",t[t.PBTXT=32]="PBTXT",t[t.PYTHON=33]="PYTHON",t[t.R=34]="R",t[t.RUBY=35]="RUBY",t[t.RUST=36]="RUST",t[t.SASS=37]="SASS",t[t.SCALA=38]="SCALA",t[t.SCSS=39]="SCSS",t[t.SHELL=40]="SHELL",t[t.SQL=41]="SQL",t[t.STARLARK=42]="STARLARK",t[t.SWIFT=43]="SWIFT",t[t.TSX=44]="TSX",t[t.TYPESCRIPT=45]="TYPESCRIPT",t[t.VISUALBASIC=46]="VISUALBASIC",t[t.VUE=47]="VUE",t[t.XML=48]="XML",t[t.XSL=49]="XSL",t[t.YAML=50]="YAML",t[t.SVELTE=51]="SVELTE",t[t.TOML=52]="TOML",t[t.DART=53]="DART",t[t.RST=54]="RST",t[t.OCAML=55]="OCAML",t[t.CMAKE=56]="CMAKE",t[t.PASCAL=57]="PASCAL",t[t.ELIXIR=58]="ELIXIR",t[t.FSHARP=59]="FSHARP",t[t.LISP=60]="LISP",t[t.MATLAB=61]="MATLAB",t[t.POWERSHELL=62]="POWERSHELL",t[t.SOLIDITY=63]="SOLIDITY",t[t.ADA=64]="ADA",t[t.OCAML_INTERFACE=65]="OCAML_INTERFACE"})(lt||(lt={})),x.util.setEnumType(lt,"exa.codeium_common_pb.Language",[{no:0,name:"LANGUAGE_UNSPECIFIED"},{no:1,name:"LANGUAGE_C"},{no:2,name:"LANGUAGE_CLOJURE"},{no:3,name:"LANGUAGE_COFFEESCRIPT"},{no:4,name:"LANGUAGE_CPP"},{no:5,name:"LANGUAGE_CSHARP"},{no:6,name:"LANGUAGE_CSS"},{no:7,name:"LANGUAGE_CUDACPP"},{no:8,name:"LANGUAGE_DOCKERFILE"},{no:9,name:"LANGUAGE_GO"},{no:10,name:"LANGUAGE_GROOVY"},{no:11,name:"LANGUAGE_HANDLEBARS"},{no:12,name:"LANGUAGE_HASKELL"},{no:13,name:"LANGUAGE_HCL"},{no:14,name:"LANGUAGE_HTML"},{no:15,name:"LANGUAGE_INI"},{no:16,name:"LANGUAGE_JAVA"},{no:17,name:"LANGUAGE_JAVASCRIPT"},{no:18,name:"LANGUAGE_JSON"},{no:19,name:"LANGUAGE_JULIA"},{no:20,name:"LANGUAGE_KOTLIN"},{no:21,name:"LANGUAGE_LATEX"},{no:22,name:"LANGUAGE_LESS"},{no:23,name:"LANGUAGE_LUA"},{no:24,name:"LANGUAGE_MAKEFILE"},{no:25,name:"LANGUAGE_MARKDOWN"},{no:26,name:"LANGUAGE_OBJECTIVEC"},{no:27,name:"LANGUAGE_OBJECTIVECPP"},{no:28,name:"LANGUAGE_PERL"},{no:29,name:"LANGUAGE_PHP"},{no:30,name:"LANGUAGE_PLAINTEXT"},{no:31,name:"LANGUAGE_PROTOBUF"},{no:32,name:"LANGUAGE_PBTXT"},{no:33,name:"LANGUAGE_PYTHON"},{no:34,name:"LANGUAGE_R"},{no:35,name:"LANGUAGE_RUBY"},{no:36,name:"LANGUAGE_RUST"},{no:37,name:"LANGUAGE_SASS"},{no:38,name:"LANGUAGE_SCALA"},{no:39,name:"LANGUAGE_SCSS"},{no:40,name:"LANGUAGE_SHELL"},{no:41,name:"LANGUAGE_SQL"},{no:42,name:"LANGUAGE_STARLARK"},{no:43,name:"LANGUAGE_SWIFT"},{no:44,name:"LANGUAGE_TSX"},{no:45,name:"LANGUAGE_TYPESCRIPT"},{no:46,name:"LANGUAGE_VISUALBASIC"},{no:47,name:"LANGUAGE_VUE"},{no:48,name:"LANGUAGE_XML"},{no:49,name:"LANGUAGE_XSL"},{no:50,name:"LANGUAGE_YAML"},{no:51,name:"LANGUAGE_SVELTE"},{no:52,name:"LANGUAGE_TOML"},{no:53,name:"LANGUAGE_DART"},{no:54,name:"LANGUAGE_RST"},{no:55,name:"LANGUAGE_OCAML"},{no:56,name:"LANGUAGE_CMAKE"},{no:57,name:"LANGUAGE_PASCAL"},{no:58,name:"LANGUAGE_ELIXIR"},{no:59,name:"LANGUAGE_FSHARP"},{no:60,name:"LANGUAGE_LISP"},{no:61,name:"LANGUAGE_MATLAB"},{no:62,name:"LANGUAGE_POWERSHELL"},{no:63,name:"LANGUAGE_SOLIDITY"},{no:64,name:"LANGUAGE_ADA"},{no:65,name:"LANGUAGE_OCAML_INTERFACE"}]);var Nc=(Se=class extends X{constructor(n){super();g(this,"completionId","");g(this,"text","");g(this,"prefix","");g(this,"stop","");g(this,"score",0);g(this,"tokens",[]);g(this,"decodedTokens",[]);g(this,"probabilities",[]);g(this,"adjustedProbabilities",[]);g(this,"generatedLength",W.zero);x.util.initPartial(n,this)}static fromBinary(n,r){return new Se().fromBinary(n,r)}static fromJson(n,r){return new Se().fromJson(n,r)}static fromJsonString(n,r){return new Se().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Se,n,r)}},g(Se,"runtime",x),g(Se,"typeName","exa.codeium_common_pb.Completion"),g(Se,"fields",x.util.newFieldList(()=>[{no:1,name:"completion_id",kind:"scalar",T:9},{no:2,name:"text",kind:"scalar",T:9},{no:3,name:"prefix",kind:"scalar",T:9},{no:4,name:"stop",kind:"scalar",T:9},{no:5,name:"score",kind:"scalar",T:1},{no:6,name:"tokens",kind:"scalar",T:4,repeated:!0},{no:7,name:"decoded_tokens",kind:"scalar",T:9,repeated:!0},{no:8,name:"probabilities",kind:"scalar",T:1,repeated:!0},{no:9,name:"adjusted_probabilities",kind:"scalar",T:1,repeated:!0},{no:10,name:"generated_length",kind:"scalar",T:4}])),Se),ao=(ke=class extends X{constructor(n){super();g(this,"ideName","");g(this,"ideVersion","");g(this,"extensionName","");g(this,"extensionVersion","");g(this,"apiKey","");g(this,"locale","");g(this,"sessionId","");g(this,"requestId",W.zero);g(this,"userAgent","");g(this,"url","");g(this,"authSource",hn.CODEIUM);x.util.initPartial(n,this)}static fromBinary(n,r){return new ke().fromBinary(n,r)}static fromJson(n,r){return new ke().fromJson(n,r)}static fromJsonString(n,r){return new ke().fromJsonString(n,r)}static equals(n,r){return x.util.equals(ke,n,r)}},g(ke,"runtime",x),g(ke,"typeName","exa.codeium_common_pb.Metadata"),g(ke,"fields",x.util.newFieldList(()=>[{no:1,name:"ide_name",kind:"scalar",T:9},{no:7,name:"ide_version",kind:"scalar",T:9},{no:12,name:"extension_name",kind:"scalar",T:9},{no:2,name:"extension_version",kind:"scalar",T:9},{no:3,name:"api_key",kind:"scalar",T:9},{no:4,name:"locale",kind:"scalar",T:9},{no:10,name:"session_id",kind:"scalar",T:9},{no:9,name:"request_id",kind:"scalar",T:4},{no:13,name:"user_agent",kind:"scalar",T:9},{no:14,name:"url",kind:"scalar",T:9},{no:15,name:"auth_source",kind:"enum",T:x.getEnumType(hn)}])),ke),Ic=(Ce=class extends X{constructor(n){super();g(this,"tabSize",W.zero);g(this,"insertSpaces",!1);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ce().fromBinary(n,r)}static fromJson(n,r){return new Ce().fromJson(n,r)}static fromJsonString(n,r){return new Ce().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ce,n,r)}},g(Ce,"runtime",x),g(Ce,"typeName","exa.codeium_common_pb.EditorOptions"),g(Ce,"fields",x.util.newFieldList(()=>[{no:1,name:"tab_size",kind:"scalar",T:4},{no:2,name:"insert_spaces",kind:"scalar",T:8}])),Ce);Te=class extends X{constructor(n){super();g(this,"eventType",gn.UNSPECIFIED);g(this,"eventJson","");g(this,"timestampUnixMs",W.zero);x.util.initPartial(n,this)}static fromBinary(n,r){return new Te().fromBinary(n,r)}static fromJson(n,r){return new Te().fromJson(n,r)}static fromJsonString(n,r){return new Te().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Te,n,r)}},g(Te,"runtime",x),g(Te,"typeName","exa.codeium_common_pb.Event"),g(Te,"fields",x.util.newFieldList(()=>[{no:1,name:"event_type",kind:"enum",T:x.getEnumType(gn)},{no:2,name:"event_json",kind:"scalar",T:9},{no:3,name:"timestamp_unix_ms",kind:"scalar",T:3}]));var Ac=class extends $t{constructor(e,n){super();g(this,"index");g(this,"total");this.index=e,this.total=n}toDOM(){let e=document.createElement("span");e.setAttribute("aria-hidden","true"),e.className="cm-codeium-cycle";let n=e.appendChild(document.createElement("span"));n.className="cm-codeium-cycle-explanation",n.innerText=`${this.index+1}/${this.total}`;let r=e.appendChild(document.createElement("button"));return r.className="cm-codeium-cycle-key",r.innerText="\u2192 (Ctrl ])",r.dataset.action="codeium-cycle",e}ignoreEvent(){return!1}};const bn=Vt.define({combine(t){return Wn(t,{language:lt.TYPESCRIPT,timeout:150,widgetClass:Ac,alwaysOn:!0},{})}}),oo=Vt.define({combine(t){return Wn(t,{override:()=>[]},{})}});var Lc=V.mark({class:"cm-ghostText"});const ct=We.define({create(t){return null},update(t,e){var r;let n=e.state.facet(bn);for(let a of e.effects){if(a.is(ur)){let{changeSpecs:o,index:i}=a.value,s=o[i].map(l=>Lc.range(l.absoluteStartPos,l.absoluteEndPos)),c=(r=s.at(-1))==null?void 0:r.to;return{index:i,decorations:V.set([...s,...c!==void 0&&o.length>1&&n.widgetClass?[V.widget({widget:new n.widgetClass(i,o.length),side:1}).range(c)]:[]]),changeSpecs:o,reverseChangeSet:a.value.reverseChangeSet}}if(a.is(dr)||a.is(fr))return null}return t&&{...t,decorations:t.decorations.map(e.changes),reverseChangeSet:t.reverseChangeSet.map(e.changes)}},provide:t=>R.decorations.from(t,e=>(e==null?void 0:e.decorations)||V.none)}),bt=ea.define(),wn=ea.define();var B;(function(t){t[t.Canceled=1]="Canceled",t[t.Unknown=2]="Unknown",t[t.InvalidArgument=3]="InvalidArgument",t[t.DeadlineExceeded=4]="DeadlineExceeded",t[t.NotFound=5]="NotFound",t[t.AlreadyExists=6]="AlreadyExists",t[t.PermissionDenied=7]="PermissionDenied",t[t.ResourceExhausted=8]="ResourceExhausted",t[t.FailedPrecondition=9]="FailedPrecondition",t[t.Aborted=10]="Aborted",t[t.OutOfRange=11]="OutOfRange",t[t.Unimplemented=12]="Unimplemented",t[t.Internal=13]="Internal",t[t.Unavailable=14]="Unavailable",t[t.DataLoss=15]="DataLoss",t[t.Unauthenticated=16]="Unauthenticated"})(B||(B={}));function wr(t){let e=B[t];return typeof e=="string"?e[0].toLowerCase()+e.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase()):t.toString()}var vn;function Oc(t){if(!vn){vn={};for(let e of Object.values(B))typeof e!="string"&&(vn[wr(e)]=e)}return vn[t]}var ge=class Nt extends Error{constructor(e,n=B.Unknown,r,a,o){super(_c(e,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=e,this.code=n,this.metadata=new Headers(r??{}),this.details=a??[],this.cause=o}static from(e,n=B.Unknown){return e instanceof Nt?e:e instanceof Error?e.name=="AbortError"?new Nt(e.message,B.Canceled):new Nt(e.message,n,void 0,void 0,e):new Nt(String(e),n,void 0,void 0,e)}static[Symbol.hasInstance](e){return e instanceof Error?Object.getPrototypeOf(e)===Nt.prototype?!0:e.name==="ConnectError"&&"code"in e&&typeof e.code=="number"&&"metadata"in e&&"details"in e&&Array.isArray(e.details)&&"rawMessage"in e&&typeof e.rawMessage=="string"&&"cause"in e:!1}findDetails(e){let n="typeName"in e?{findMessage:a=>a===e.typeName?e:void 0}:e,r=[];for(let a of this.details){if("getType"in a){n.findMessage(a.getType().typeName)&&r.push(a);continue}let o=n.findMessage(a.type);if(o)try{r.push(o.fromBinary(a.value))}catch{}}return r}};function _c(t,e){return t.length?`[${wr(e)}] ${t}`:`[${wr(e)}]`}function Uc(...t){let e=new Headers;for(let n of t)n.forEach((r,a)=>{e.append(a,r)});return e}function jc(t,e){let n={};for(let[r,a]of Object.entries(t.methods)){let o=e(Object.assign(Object.assign({},a),{localName:r,service:t}));o!=null&&(n[r]=o)}return n}function Pc(t){let e,n=new Uint8Array;function r(a){let o=new Uint8Array(n.length+a.length);o.set(n),o.set(a,n.length),n=o}return new ReadableStream({start(){e=t.getReader()},async pull(a){let o;for(;;){if(o===void 0&&n.byteLength>=5){let c=0;for(let l=1;l<5;l++)c=(c<<8)+n[l];o={flags:n[0],length:c}}if(o!==void 0&&n.byteLength>=o.length+5)break;let s=await e.read();if(s.done)break;r(s.value)}if(o===void 0){if(n.byteLength==0){a.close();return}a.error(new ge("premature end of stream",B.DataLoss));return}let i=n.subarray(5,5+o.length);n=n.subarray(5+o.length),a.enqueue({flags:o.flags,data:i})}})}function Dc(t,e){let n=new Uint8Array(e.length+5);n.set(e,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,t),r.setUint32(1,e.length),n}var Mc=function(t){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(i){return new Promise(function(s,c){i=t[o](i),a(s,c,i.done,i.value)})}}function a(o,i,s,c){Promise.resolve(c).then(function(l){o({value:l,done:s})},i)}},Dt=function(t){return this instanceof Dt?(this.v=t,this):new Dt(t)},Fc=function(t,e,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,o=[];return a={},s("next"),s("throw"),s("return",i),a[Symbol.asyncIterator]=function(){return this},a;function i(f){return function(m){return Promise.resolve(m).then(f,d)}}function s(f,m){r[f]&&(a[f]=function(y){return new Promise(function(b,v){o.push([f,y,b,v])>1||c(f,y)})},m&&(a[f]=m(a[f])))}function c(f,m){try{l(r[f](m))}catch(y){p(o[0][3],y)}}function l(f){f.value instanceof Dt?Promise.resolve(f.value.v).then(u,d):p(o[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,m){f(m),o.shift(),o.length&&c(o[0][0],o[0][1])}},Rc=function(t){var e,n;return e={},r("next"),r("throw",function(a){throw a}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(a,o){e[a]=t[a]?function(i){return(n=!n)?{value:Dt(t[a](i)),done:!1}:o?o(i):i}:o}};function Bc(t){return Fc(this,arguments,function*(){yield Dt(yield*Rc(Mc(t)))})}var io=function(t){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=t[o]&&function(i){return new Promise(function(s,c){i=t[o](i),a(s,c,i.done,i.value)})}}function a(o,i,s,c){Promise.resolve(c).then(function(l){o({value:l,done:s})},i)}},wt=function(t){return this instanceof wt?(this.v=t,this):new wt(t)},Gc=function(t){var e,n;return e={},r("next"),r("throw",function(a){throw a}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(a,o){e[a]=t[a]?function(i){return(n=!n)?{value:wt(t[a](i)),done:!1}:o?o(i):i}:o}},Jc=function(t,e,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,o=[];return a={},s("next"),s("throw"),s("return",i),a[Symbol.asyncIterator]=function(){return this},a;function i(f){return function(m){return Promise.resolve(m).then(f,d)}}function s(f,m){r[f]&&(a[f]=function(y){return new Promise(function(b,v){o.push([f,y,b,v])>1||c(f,y)})},m&&(a[f]=m(a[f])))}function c(f,m){try{l(r[f](m))}catch(y){p(o[0][3],y)}}function l(f){f.value instanceof wt?Promise.resolve(f.value.v).then(u,d):p(o[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,m){f(m),o.shift(),o.length&&c(o[0][0],o[0][1])}};function Vc(t,e){return jc(t,n=>{switch(n.kind){case Ee.Unary:return Wc(e,t,n);case Ee.ServerStreaming:return qc(e,t,n);case Ee.ClientStreaming:return Hc(e,t,n);case Ee.BiDiStreaming:return zc(e,t,n);default:return null}})}function $c(t,e){return Vc(t,e)}function Wc(t,e,n){return async function(r,a){var o,i;let s=await t.unary(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,r,a==null?void 0:a.contextValues);return(o=a==null?void 0:a.onHeader)==null||o.call(a,s.header),(i=a==null?void 0:a.onTrailer)==null||i.call(a,s.trailer),s.message}}function qc(t,e,n){return function(r,a){return so(t.stream(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,Bc([r]),a==null?void 0:a.contextValues),a)}}function Hc(t,e,n){return async function(r,a){var o,i,s,c,l,u;let d=await t.stream(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,r,a==null?void 0:a.contextValues);(l=a==null?void 0:a.onHeader)==null||l.call(a,d.header);let p,f=0;try{for(var m=!0,y=io(d.message),b;b=await y.next(),o=b.done,!o;m=!0)c=b.value,m=!1,p=c,f++}catch(v){i={error:v}}finally{try{!m&&!o&&(s=y.return)&&await s.call(y)}finally{if(i)throw i.error}}if(!p)throw new ge("protocol error: missing response message",B.Unimplemented);if(f>1)throw new ge("protocol error: received extra messages for client streaming method",B.Unimplemented);return(u=a==null?void 0:a.onTrailer)==null||u.call(a,d.trailer),p}}function zc(t,e,n){return function(r,a){return so(t.stream(e,n,a==null?void 0:a.signal,a==null?void 0:a.timeoutMs,a==null?void 0:a.headers,r,a==null?void 0:a.contextValues),a)}}function so(t,e){let n=(function(){return Jc(this,arguments,function*(){var r,a;let o=yield wt(t);(r=e==null?void 0:e.onHeader)==null||r.call(e,o.header),yield wt(yield*Gc(io(o.message))),(a=e==null?void 0:e.onTrailer)==null||a.call(e,o.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function Yc(...t){let e=new AbortController,n=t.filter(a=>a!==void 0).concat(e.signal);for(let a of n){if(a.aborted){r.apply(a);break}a.addEventListener("abort",r)}function r(){e.signal.aborted||e.abort(lo(this));for(let a of n)a.removeEventListener("abort",r)}return e}function Kc(t){let e=new AbortController,n=()=>{e.abort(new ge("the operation timed out",B.DeadlineExceeded))},r;return t!==void 0&&(t<=0?n():r=setTimeout(n,t)),{signal:e.signal,cleanup:()=>clearTimeout(r)}}function lo(t){if(!t.aborted)return;if(t.reason!==void 0)return t.reason;let e=Error("This operation was aborted");return e.name="AbortError",e}function co(){return{get(t){return t.id in this?this[t.id]:t.defaultValue},set(t,e){return this[t.id]=e,this},delete(t){return delete this[t.id],this}}}function uo(t,e,n){let r=typeof e=="string"?e:e.typeName,a=typeof n=="string"?n:n.name;return t.toString().replace(/\/?$/,`/${r}/${a}`)}function fo(t,e){return e instanceof t?e:new t(e)}function Xc(t,e){function n(r){return r.done===!0?r:{done:r.done,value:fo(t,r.value)}}return{[Symbol.asyncIterator](){let r=e[Symbol.asyncIterator](),a={next:()=>r.next().then(n)};return r.throw!==void 0&&(a.throw=o=>r.throw(o).then(n)),r.return!==void 0&&(a.return=o=>r.return(o).then(n)),a}}}function mo(t,e){return(e==null?void 0:e.concat().reverse().reduce((n,r)=>r(n),t))??t}function po(t){let e=Object.assign({},t);return e.ignoreUnknownFields??(e.ignoreUnknownFields=!0),e}function ho(t,e,n,r){let a=e?go(t.I,r):yo(t.I,n);return{parse:(e?go(t.O,r):yo(t.O,n)).parse,serialize:a.serialize}}function go(t,e){return{parse(n){try{return t.fromBinary(n,e)}catch(r){throw new ge(`parse binary: ${r instanceof Error?r.message:String(r)}`,B.Internal)}},serialize(n){try{return n.toBinary(e)}catch(r){throw new ge(`serialize binary: ${r instanceof Error?r.message:String(r)}`,B.Internal)}}}}function yo(t,e){let n=(e==null?void 0:e.textEncoder)??new TextEncoder,r=(e==null?void 0:e.textDecoder)??new TextDecoder,a=po(e);return{parse(o){try{let i=r.decode(o);return t.fromJsonString(i,a)}catch(i){throw ge.from(i,B.InvalidArgument)}},serialize(o){try{let i=o.toJsonString(a);return n.encode(i)}catch(i){throw ge.from(i,B.Internal)}}}}const Qc=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;function Zc(t){let e=t==null?void 0:t.match(Qc);if(e)return{stream:!!e[1],binary:!!e[3]}}function bo(t,e,n){if(e&&new Headers(e).forEach((i,s)=>n.metadata.append(s,i)),typeof t!="object"||!t||Array.isArray(t))throw n;let r=n.code;"code"in t&&typeof t.code=="string"&&(r=Oc(t.code)??r);let a=t.message;if(a!=null&&typeof a!="string")throw n;let o=new ge(a??"",r,e);if("details"in t&&Array.isArray(t.details))for(let i of t.details){if(typeof i!="object"||!i||Array.isArray(i)||typeof i.type!="string"||typeof i.value!="string")throw n;try{o.details.push({type:i.type,value:ln.dec(i.value),debug:i.debug})}catch{throw n}}return o}function eu(t){let e=new ge("invalid end stream",B.Unknown),n;try{n=JSON.parse(typeof t=="string"?t:new TextDecoder().decode(t))}catch{throw e}if(typeof n!="object"||!n||Array.isArray(n))throw e;let r=new Headers;if("metadata"in n){if(typeof n.metadata!="object"||n.metadata==null||Array.isArray(n.metadata))throw e;for(let[a,o]of Object.entries(n.metadata)){if(!Array.isArray(o)||o.some(i=>typeof i!="string"))throw e;for(let i of o)r.append(a,i)}}return{metadata:r,error:"error"in n&&n.error!=null?bo(n.error,r,e):void 0}}const xn="Content-Type",wo="Content-Encoding",vo="Connect-Protocol-Version";function tu(t){switch(t){case 400:return B.Internal;case 401:return B.Unauthenticated;case 403:return B.PermissionDenied;case 404:return B.Unimplemented;case 429:return B.Unavailable;case 502:return B.Unavailable;case 503:return B.Unavailable;case 504:return B.Unavailable;default:return B.Unknown}}function xo(t){let e=new Headers,n=new Headers;return t.forEach((r,a)=>{a.toLowerCase().startsWith("trailer-")?n.append(a.substring(8),r):e.append(a,r)}),[e,n]}function Eo(t,e,n,r,a){let o=new Headers(r??{});return n!==void 0&&o.set("Connect-Timeout-Ms",`${n}`),o.set(xn,t==Ee.Unary?e?"application/proto":"application/json":e?"application/connect+proto":"application/connect+json"),o.set(vo,"1"),a&&o.set("User-Agent","connect-es/1.6.1"),o}function So(t,e,n,r){let a=r.get(xn),o=Zc(a);if(n!==200){let s=new ge(`HTTP ${n}`,tu(n),r);if(t==Ee.Unary&&o&&!o.binary)return{isUnaryError:!0,unaryError:s};throw s}let i={binary:e,stream:t!==Ee.Unary};if((o==null?void 0:o.binary)!==i.binary||o.stream!==i.stream)throw new ge(`unsupported content type ${a}`,o===void 0?B.Unknown:B.Internal,r);return{isUnaryError:!1}}var nu="application/";function ru(t,e){return e?ln.enc(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):encodeURIComponent(new TextDecoder().decode(t))}function au(t,e,n){let r="?connect=v1",a=t.header.get(xn);(a==null?void 0:a.indexOf(nu))===0&&(r+="&encoding="+encodeURIComponent(a.slice(12)));let o=t.header.get(wo);o!==null&&o!=="identity"&&(r+="&compression="+encodeURIComponent(o),n=!0),n&&(r+="&base64=1"),r+="&message="+ru(e,n);let i=t.url+r,s=new Headers(t.header);return[vo,xn,"Content-Length",wo,"Accept-Encoding"].forEach(c=>s.delete(c)),Object.assign(Object.assign({},t),{init:Object.assign(Object.assign({},t.init),{method:"GET"}),url:i,header:s})}function ou(t){let e=mo(t.next,t.interceptors),[n,r,a]=ko(t);return e(Object.assign(Object.assign({},t.req),{message:fo(t.req.method.I,t.req.message),signal:n})).then(o=>(a(),o),r)}function iu(t){let e=mo(t.next,t.interceptors),[n,r,a]=ko(t),o=Object.assign(Object.assign({},t.req),{message:Xc(t.req.method.I,t.req.message),signal:n}),i=!1;return n.addEventListener("abort",function(){var s,c;let l=t.req.message[Symbol.asyncIterator]();i||(s=l.throw)==null||s.call(l,this.reason).catch(()=>{}),(c=l.return)==null||c.call(l).catch(()=>{})}),e(o).then(s=>Object.assign(Object.assign({},s),{message:{[Symbol.asyncIterator](){let c=s.message[Symbol.asyncIterator]();return{next(){return c.next().then(l=>(l.done==1&&(i=!0,a()),l),r)}}}}}),r)}function ko(t){let{signal:e,cleanup:n}=Kc(t.timeoutMs),r=Yc(t.signal,e);return[r.signal,function(a){let o=ge.from(e.aborted?lo(e):a);return r.abort(o),n(),Promise.reject(o)},function(){n(),r.abort()}]}var En;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.INACTIVE=1]="INACTIVE",t[t.PROCESSING=2]="PROCESSING",t[t.SUCCESS=3]="SUCCESS",t[t.WARNING=4]="WARNING",t[t.ERROR=5]="ERROR"})(En||(En={})),x.util.setEnumType(En,"exa.language_server_pb.CodeiumState",[{no:0,name:"CODEIUM_STATE_UNSPECIFIED"},{no:1,name:"CODEIUM_STATE_INACTIVE"},{no:2,name:"CODEIUM_STATE_PROCESSING"},{no:3,name:"CODEIUM_STATE_SUCCESS"},{no:4,name:"CODEIUM_STATE_WARNING"},{no:5,name:"CODEIUM_STATE_ERROR"}]);var Co;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SINGLE=1]="SINGLE",t[t.MULTI=2]="MULTI"})(Co||(Co={})),x.util.setEnumType(Co,"exa.language_server_pb.LineType",[{no:0,name:"LINE_TYPE_UNSPECIFIED"},{no:1,name:"LINE_TYPE_SINGLE"},{no:2,name:"LINE_TYPE_MULTI"}]);var Sn;(function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.INLINE=1]="INLINE",t[t.BLOCK=2]="BLOCK",t[t.INLINE_MASK=3]="INLINE_MASK"})(Sn||(Sn={})),x.util.setEnumType(Sn,"exa.language_server_pb.CompletionPartType",[{no:0,name:"COMPLETION_PART_TYPE_UNSPECIFIED"},{no:1,name:"COMPLETION_PART_TYPE_INLINE"},{no:2,name:"COMPLETION_PART_TYPE_BLOCK"},{no:3,name:"COMPLETION_PART_TYPE_INLINE_MASK"}]);var su=(Ne=class extends X{constructor(n){super();g(this,"threshold",0);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ne().fromBinary(n,r)}static fromJson(n,r){return new Ne().fromJson(n,r)}static fromJsonString(n,r){return new Ne().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ne,n,r)}},g(Ne,"runtime",x),g(Ne,"typeName","exa.language_server_pb.MultilineConfig"),g(Ne,"fields",x.util.newFieldList(()=>[{no:1,name:"threshold",kind:"scalar",T:2}])),Ne),lu=(Ie=class extends X{constructor(n){super();g(this,"metadata");g(this,"document");g(this,"editorOptions");g(this,"otherDocuments",[]);g(this,"experimentConfig");g(this,"modelName","");g(this,"multilineConfig");x.util.initPartial(n,this)}static fromBinary(n,r){return new Ie().fromBinary(n,r)}static fromJson(n,r){return new Ie().fromJson(n,r)}static fromJsonString(n,r){return new Ie().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ie,n,r)}},g(Ie,"runtime",x),g(Ie,"typeName","exa.language_server_pb.GetCompletionsRequest"),g(Ie,"fields",x.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:ao},{no:2,name:"document",kind:"message",T:To},{no:3,name:"editor_options",kind:"message",T:Ic},{no:5,name:"other_documents",kind:"message",T:To,repeated:!0},{no:7,name:"experiment_config",kind:"message",T:pu},{no:10,name:"model_name",kind:"scalar",T:9},{no:13,name:"multiline_config",kind:"message",T:su}])),Ie),cu=(Ae=class extends X{constructor(n){super();g(this,"state");g(this,"completionItems",[]);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ae().fromBinary(n,r)}static fromJson(n,r){return new Ae().fromJson(n,r)}static fromJsonString(n,r){return new Ae().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ae,n,r)}},g(Ae,"runtime",x),g(Ae,"typeName","exa.language_server_pb.GetCompletionsResponse"),g(Ae,"fields",x.util.newFieldList(()=>[{no:1,name:"state",kind:"message",T:hu},{no:2,name:"completion_items",kind:"message",T:wu,repeated:!0}])),Ae),uu=(Le=class extends X{constructor(n){super();g(this,"metadata");g(this,"completionId","");x.util.initPartial(n,this)}static fromBinary(n,r){return new Le().fromBinary(n,r)}static fromJson(n,r){return new Le().fromJson(n,r)}static fromJsonString(n,r){return new Le().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Le,n,r)}},g(Le,"runtime",x),g(Le,"typeName","exa.language_server_pb.AcceptCompletionRequest"),g(Le,"fields",x.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:ao},{no:2,name:"completion_id",kind:"scalar",T:9}])),Le),du=(Oe=class extends X{constructor(e){super(),x.util.initPartial(e,this)}static fromBinary(e,n){return new Oe().fromBinary(e,n)}static fromJson(e,n){return new Oe().fromJson(e,n)}static fromJsonString(e,n){return new Oe().fromJsonString(e,n)}static equals(e,n){return x.util.equals(Oe,e,n)}},g(Oe,"runtime",x),g(Oe,"typeName","exa.language_server_pb.AcceptCompletionResponse"),g(Oe,"fields",x.util.newFieldList(()=>[])),Oe),fu=(_e=class extends X{constructor(e){super(),x.util.initPartial(e,this)}static fromBinary(e,n){return new _e().fromBinary(e,n)}static fromJson(e,n){return new _e().fromJson(e,n)}static fromJsonString(e,n){return new _e().fromJsonString(e,n)}static equals(e,n){return x.util.equals(_e,e,n)}},g(_e,"runtime",x),g(_e,"typeName","exa.language_server_pb.GetAuthTokenRequest"),g(_e,"fields",x.util.newFieldList(()=>[])),_e),mu=(Ue=class extends X{constructor(n){super();g(this,"authToken","");g(this,"uuid","");x.util.initPartial(n,this)}static fromBinary(n,r){return new Ue().fromBinary(n,r)}static fromJson(n,r){return new Ue().fromJson(n,r)}static fromJsonString(n,r){return new Ue().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ue,n,r)}},g(Ue,"runtime",x),g(Ue,"typeName","exa.language_server_pb.GetAuthTokenResponse"),g(Ue,"fields",x.util.newFieldList(()=>[{no:1,name:"auth_token",kind:"scalar",T:9},{no:2,name:"uuid",kind:"scalar",T:9}])),Ue),vr=(je=class extends X{constructor(n){super();g(this,"row",W.zero);g(this,"col",W.zero);x.util.initPartial(n,this)}static fromBinary(n,r){return new je().fromBinary(n,r)}static fromJson(n,r){return new je().fromJson(n,r)}static fromJsonString(n,r){return new je().fromJsonString(n,r)}static equals(n,r){return x.util.equals(je,n,r)}},g(je,"runtime",x),g(je,"typeName","exa.language_server_pb.DocumentPosition"),g(je,"fields",x.util.newFieldList(()=>[{no:1,name:"row",kind:"scalar",T:4},{no:2,name:"col",kind:"scalar",T:4}])),je),To=(Pe=class extends X{constructor(n){super();g(this,"absolutePath","");g(this,"relativePath","");g(this,"text","");g(this,"editorLanguage","");g(this,"language",lt.UNSPECIFIED);g(this,"cursorOffset",W.zero);g(this,"cursorPosition");g(this,"lineEnding","");x.util.initPartial(n,this)}static fromBinary(n,r){return new Pe().fromBinary(n,r)}static fromJson(n,r){return new Pe().fromJson(n,r)}static fromJsonString(n,r){return new Pe().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Pe,n,r)}},g(Pe,"runtime",x),g(Pe,"typeName","exa.language_server_pb.Document"),g(Pe,"fields",x.util.newFieldList(()=>[{no:1,name:"absolute_path",kind:"scalar",T:9},{no:2,name:"relative_path",kind:"scalar",T:9},{no:3,name:"text",kind:"scalar",T:9},{no:4,name:"editor_language",kind:"scalar",T:9},{no:5,name:"language",kind:"enum",T:x.getEnumType(lt)},{no:6,name:"cursor_offset",kind:"scalar",T:4},{no:8,name:"cursor_position",kind:"message",T:vr},{no:7,name:"line_ending",kind:"scalar",T:9}])),Pe),pu=(De=class extends X{constructor(n){super();g(this,"forceEnableExperiments",[]);x.util.initPartial(n,this)}static fromBinary(n,r){return new De().fromBinary(n,r)}static fromJson(n,r){return new De().fromJson(n,r)}static fromJsonString(n,r){return new De().fromJsonString(n,r)}static equals(n,r){return x.util.equals(De,n,r)}},g(De,"runtime",x),g(De,"typeName","exa.language_server_pb.ExperimentConfig"),g(De,"fields",x.util.newFieldList(()=>[{no:1,name:"force_enable_experiments",kind:"enum",T:x.getEnumType(br),repeated:!0}])),De),hu=(Me=class extends X{constructor(n){super();g(this,"state",En.UNSPECIFIED);g(this,"message","");x.util.initPartial(n,this)}static fromBinary(n,r){return new Me().fromBinary(n,r)}static fromJson(n,r){return new Me().fromJson(n,r)}static fromJsonString(n,r){return new Me().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Me,n,r)}},g(Me,"runtime",x),g(Me,"typeName","exa.language_server_pb.State"),g(Me,"fields",x.util.newFieldList(()=>[{no:1,name:"state",kind:"enum",T:x.getEnumType(En)},{no:2,name:"message",kind:"scalar",T:9}])),Me),gu=(Fe=class extends X{constructor(n){super();g(this,"startOffset",W.zero);g(this,"endOffset",W.zero);g(this,"startPosition");g(this,"endPosition");x.util.initPartial(n,this)}static fromBinary(n,r){return new Fe().fromBinary(n,r)}static fromJson(n,r){return new Fe().fromJson(n,r)}static fromJsonString(n,r){return new Fe().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Fe,n,r)}},g(Fe,"runtime",x),g(Fe,"typeName","exa.language_server_pb.Range"),g(Fe,"fields",x.util.newFieldList(()=>[{no:1,name:"start_offset",kind:"scalar",T:4},{no:2,name:"end_offset",kind:"scalar",T:4},{no:3,name:"start_position",kind:"message",T:vr},{no:4,name:"end_position",kind:"message",T:vr}])),Fe),yu=(Re=class extends X{constructor(n){super();g(this,"text","");g(this,"deltaCursorOffset",W.zero);x.util.initPartial(n,this)}static fromBinary(n,r){return new Re().fromBinary(n,r)}static fromJson(n,r){return new Re().fromJson(n,r)}static fromJsonString(n,r){return new Re().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Re,n,r)}},g(Re,"runtime",x),g(Re,"typeName","exa.language_server_pb.Suffix"),g(Re,"fields",x.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"delta_cursor_offset",kind:"scalar",T:3}])),Re),bu=(Be=class extends X{constructor(n){super();g(this,"text","");g(this,"offset",W.zero);g(this,"type",Sn.UNSPECIFIED);g(this,"prefix","");g(this,"line",W.zero);x.util.initPartial(n,this)}static fromBinary(n,r){return new Be().fromBinary(n,r)}static fromJson(n,r){return new Be().fromJson(n,r)}static fromJsonString(n,r){return new Be().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Be,n,r)}},g(Be,"runtime",x),g(Be,"typeName","exa.language_server_pb.CompletionPart"),g(Be,"fields",x.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"offset",kind:"scalar",T:4},{no:3,name:"type",kind:"enum",T:x.getEnumType(Sn)},{no:4,name:"prefix",kind:"scalar",T:9},{no:5,name:"line",kind:"scalar",T:4}])),Be),wu=(Ge=class extends X{constructor(n){super();g(this,"completion");g(this,"suffix");g(this,"range");g(this,"source",yn.UNSPECIFIED);g(this,"completionParts",[]);x.util.initPartial(n,this)}static fromBinary(n,r){return new Ge().fromBinary(n,r)}static fromJson(n,r){return new Ge().fromJson(n,r)}static fromJsonString(n,r){return new Ge().fromJsonString(n,r)}static equals(n,r){return x.util.equals(Ge,n,r)}},g(Ge,"runtime",x),g(Ge,"typeName","exa.language_server_pb.CompletionItem"),g(Ge,"fields",x.util.newFieldList(()=>[{no:1,name:"completion",kind:"message",T:Nc},{no:5,name:"suffix",kind:"message",T:yu},{no:2,name:"range",kind:"message",T:gu},{no:3,name:"source",kind:"enum",T:x.getEnumType(yn)},{no:8,name:"completion_parts",kind:"message",T:bu,repeated:!0}])),Ge);const vu={typeName:"exa.language_server_pb.LanguageServerService",methods:{getCompletions:{name:"GetCompletions",I:lu,O:cu,kind:Ee.Unary},acceptCompletion:{name:"AcceptCompletion",I:uu,O:du,kind:Ee.Unary},getAuthToken:{name:"GetAuthToken",I:fu,O:mu,kind:Ee.Unary}}};function xu(){try{new Headers}catch{throw Error("connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.")}}var Mt=function(t){return this instanceof Mt?(this.v=t,this):new Mt(t)},Eu=function(t,e,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,o=[];return a={},s("next"),s("throw"),s("return",i),a[Symbol.asyncIterator]=function(){return this},a;function i(f){return function(m){return Promise.resolve(m).then(f,d)}}function s(f,m){r[f]&&(a[f]=function(y){return new Promise(function(b,v){o.push([f,y,b,v])>1||c(f,y)})},m&&(a[f]=m(a[f])))}function c(f,m){try{l(r[f](m))}catch(y){p(o[0][3],y)}}function l(f){f.value instanceof Mt?Promise.resolve(f.value.v).then(u,d):p(o[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function p(f,m){f(m),o.shift(),o.length&&c(o[0][0],o[0][1])}};function Su(t){xu();let e=t.useBinaryFormat??!1;return{async unary(n,r,a,o,i,s,c){let{serialize:l,parse:u}=ho(r,e,t.jsonOptions,t.binaryOptions);return o=o===void 0?t.defaultTimeoutMs:o<=0?void 0:o,await ou({interceptors:t.interceptors,signal:a,timeoutMs:o,req:{stream:!1,service:n,method:r,url:uo(t.baseUrl,n,r),init:{method:"POST",credentials:t.credentials??"same-origin",redirect:"error",mode:"cors"},header:Eo(r.kind,e,o,i,!1),contextValues:c??co(),message:s},next:async d=>{let p=t.useHttpGet===!0&&r.idempotency===ro.NoSideEffects,f=null;p?d=au(d,l(d.message),e):f=l(d.message);let m=await(t.fetch??globalThis.fetch)(d.url,Object.assign(Object.assign({},d.init),{headers:d.header,signal:d.signal,body:f})),{isUnaryError:y,unaryError:b}=So(r.kind,e,m.status,m.headers);if(y)throw bo(await m.json(),Uc(...xo(m.headers)),b);let[v,S]=xo(m.headers);return{stream:!1,service:n,method:r,header:v,message:e?u(new Uint8Array(await m.arrayBuffer())):r.O.fromJson(await m.json(),po(t.jsonOptions)),trailer:S}}})},async stream(n,r,a,o,i,s,c){let{serialize:l,parse:u}=ho(r,e,t.jsonOptions,t.binaryOptions);function d(f,m,y,b){return Eu(this,arguments,function*(){let v=Pc(f).getReader(),S=!1;for(;;){let k=yield Mt(v.read());if(k.done)break;let{flags:_,data:P}=k.value;if((_&1)==1)throw new ge("protocol error: received unsupported compressed output",B.Internal);if((_&2)==2){S=!0;let A=eu(P);if(A.error){let T=A.error;throw y.forEach((G,M)=>{T.metadata.append(M,G)}),T}A.metadata.forEach((T,G)=>m.set(G,T));continue}yield yield Mt(u(P))}if("throwIfAborted"in b&&b.throwIfAborted(),!S)throw"missing EndStreamResponse"})}async function p(f){if(r.kind!=Ee.ServerStreaming)throw"The fetch API does not support streaming request bodies";let m=await f[Symbol.asyncIterator]().next();if(m.done==1)throw"missing request message";return Dc(0,l(m.value))}return o=o===void 0?t.defaultTimeoutMs:o<=0?void 0:o,await iu({interceptors:t.interceptors,timeoutMs:o,signal:a,req:{stream:!0,service:n,method:r,url:uo(t.baseUrl,n,r),init:{method:"POST",credentials:t.credentials??"same-origin",redirect:"error",mode:"cors"},header:Eo(r.kind,e,o,i,!1),contextValues:c??co(),message:s},next:async f=>{let m=await(t.fetch??globalThis.fetch)(f.url,Object.assign(Object.assign({},f.init),{headers:f.header,signal:f.signal,body:await p(f.message)}));if(So(r.kind,e,m.status,m.headers),m.body===null)throw"missing response body";let y=new Headers;return Object.assign(Object.assign({},f),{header:m.headers,trailer:y,message:d(m.body,y,m.headers,f.signal)})}})}}}var ku=$c(vu,Su({baseUrl:"https://web-backend.codeium.com",useBinaryFormat:!0})),kn;try{kn=crypto.randomUUID()}catch{kn=function(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^(crypto.getRandomValues(new Uint8Array(1))[0]??0)&15>>e/4).toString(16))}()}async function Cu({text:t,cursorOffset:e,config:n,otherDocuments:r}){return await ku.getCompletions({metadata:{ideName:"web",ideVersion:"0.0.5",extensionName:"@valtown/codemirror-codeium",extensionVersion:"1.0.0",apiKey:n.apiKey,sessionId:kn,authSource:n.authSource},document:{text:t,cursorOffset:BigInt(e),language:n.language,editorLanguage:"typescript",lineEnding:`
|
|
14
|
+
`},editorOptions:{tabSize:2n,insertSpaces:!0},otherDocuments:r,multilineConfig:void 0},{headers:{Authorization:`Basic ${n.apiKey}-${kn}`}})}function Tu(t){return t.completionItems.map(e=>{let n=0;return e.completionParts.filter(r=>r.type!==3).map(r=>{let a=Number(r.offset),o=r.type===2?`
|
|
15
|
+
${r.text}`:r.text,i={absoluteStartPos:n+a,absoluteEndPos:n+a+o.length,from:a,to:a,insert:o};return n+=o.length,i})})}async function Nu(t,e){let n=t.state.facet(bn),{override:r}=t.state.facet(oo),a=await r(),o=t.state,i=o.selection.main.head,s=o.doc.toString();try{let c=await Cu({text:s,cursorOffset:i,config:n,otherDocuments:a});if(!c||c.completionItems.length===0||!((e===void 0||i===e)&&qt(t.state)!=="active"&&t.hasFocus))return;let l=Tu(c),u=l.at(0);if(!u)return;let d=Vn.of(u,o.doc.length),p=d.invert(o.doc);t.dispatch({changes:d,effects:ur.of({index:0,reverseChangeSet:p,changeSpecs:l}),annotations:[wn.of(null),bt.of(null),Wt.addToHistory.of(!1)]})}catch(c){console.warn("copilot completion failed",c),await new Promise(l=>setTimeout(l,300))}}function Iu(t){return t.docChanged&&!t.transactions.some(e=>e.effects.some(n=>n.is(dr)||n.is(fr)))}function Au(t){if(!t.view.hasFocus||t.state.field(ct)||qt(t.state)==="active")return!0;for(let e of t.transactions)if(e.annotation(bt)!==void 0)return!0}function Lu(){let t=null,e=0;return R.updateListener.of(n=>{let r=n.view.state.facet(bn);if(!r.alwaysOn||!Iu(n)||(t&&clearTimeout(t),Au(n)))return;let a=n.state.selection.main.head;r.shouldComplete&&!r.shouldComplete(new qp(n.view.state,a,!1))||(t=setTimeout(async()=>{a===e&&await Nu(n.view,e)},r.timeout),e=a)})}function No(t){var a;let e=t.state.field(ct);if(!e)return!1;let n=(a=e.reverseChangeSet)==null?void 0:a.invert(t.state.doc);t.dispatch({changes:e.reverseChangeSet,effects:dr.of(null),annotations:[wn.of(null),bt.of(null),Wt.addToHistory.of(!1)]});let r=0;return n==null||n.iterChangedRanges((o,i,s,c)=>{r=c}),t.dispatch({changes:n,selection:St.cursor(r),annotations:[bt.of(null),Wt.addToHistory.of(!0)]}),!0}const Io=t=>{let{state:e}=t,n=e.field(ct);if(!n)return!1;let{changeSpecs:r}=n;if(r.length<2)return!1;let a=(n.index+1)%r.length,o=r.at(a);if(!o)return!1;let i=n.reverseChangeSet.apply(e.doc),s=Vn.of(n.reverseChangeSet,e.doc.length).compose(Vn.of(o,i.length)),c=Vn.of(o,i.length).invert(i);return t.dispatch({changes:s,effects:ur.of({index:a,reverseChangeSet:c,changeSpecs:r}),annotations:[wn.of(null),bt.of(null),Wt.addToHistory.of(!1)]}),!0};function xr(t){let e=t.state.field(ct);return e&&t.dispatch({changes:e.reverseChangeSet,effects:fr.of(null),annotations:[wn.of(null),bt.of(null),Wt.addToHistory.of(!1)]}),!1}function Ou(t,e){return t.state.field(ct)?e==="Tab"?No(t):xr(t):!1}function _u(t){var a,o;let e=!1,n=(a=t.state.selection.asSingle().ranges.at(0))==null?void 0:a.head,r=t.state.field(ct);return n!==void 0&&r?((o=r.decorations)==null||o.between(n,n,()=>{e=!0}),e):!1}function Uu(){return R.domEventHandlers({keydown(t,e){return t.key==="]"&&t.ctrlKey?!1:t.key!=="Shift"&&t.key!=="Control"&&t.key!=="Alt"&&t.key!=="Meta"?Ou(e,t.key):!1},mouseup(t,e){let n=t.target;return n.nodeName==="BUTTON"&&n.dataset.action==="codeium-cycle"?(Io(e),t.stopPropagation(),t.preventDefault(),!0):_u(e)?No(e):xr(e)}})}function ju(){return He.of([{key:"Ctrl-]",run:Io}])}function Pu(){return R.updateListener.of(t=>{t.focusChanged&&xr(t.view)})}function Du(t){return[bn.of(t),ct,mt.highest(ju()),mt.highest(Pu()),mt.high(Uu()),Lu()]}function Mu({response:t,prefix:e,suffix:n}){if(!t)return t;let r=t;return e&&r.startsWith(e)&&(r=r.slice(e.length)),n&&r.endsWith(n)&&(r=r.slice(0,-n.length)),r}var Fu=Rf(),Ru=new gp,Er=$e.get("@github/copilot-language-server"),Ao={delay:300,includeKeymap:!0,events:{shouldShowSuggestion:t=>t.hasFocus,beforeSuggestionFetch:t=>t.hasFocus}};const Bu=t=>{let e=[];return t.copilot==="codeium"&&t.codeium_api_key&&e.push(Du({apiKey:t.codeium_api_key,language:lt.PYTHON}),oo.of({override:async()=>[{text:Jr(""),language:lt.PYTHON,editorLanguage:"python"}]})),t.copilot==="github"&&e.push(va({...Ao,fetchFn:async(n,r,a)=>{let o=n.selection.main.head;if(!Gm()||!a.hasFocus||n.doc.length===0)return"";await new Promise(c=>setTimeout(c,20));let i=Gu(n,Jr(n.doc.toString())),s=await Fm().getCompletion(i);return o===a.state.selection.main.head?Ju(s,i.position,n):($e.debug("ignoring response because of new position"),"")}})),t.copilot==="custom"&&e.push(va({...Ao,fetchFn:async(n,r,a)=>{let o=n.selection.main.head;if(n.doc.length===0||!a.hasFocus)return"";let i=n.doc.sliceString(0,n.selection.main.head),s=n.doc.sliceString(n.selection.main.head,n.doc.length);if(i.length===0)return"";let c=n.field(dt).type,l=await Xm.post("/ai/inline_completion",{prefix:i,suffix:s,language:c});return o===a.state.selection.main.head?(l=Mu({response:l,prefix:i,suffix:s}),l):($e.debug("ignoring response because of new position"),"")}})),[...e,mt.highest(He.of([{key:"Escape",run:n=>{let r=wa(n);return Rn(n)?!1:r}}])),Ru.of(Rm())]};function Gu(t,e){let n=t.doc.toString(),r=e.split(`
|
|
16
16
|
`).length-n.split(`
|
|
17
|
-
`).length,a=
|
|
18
|
-
`,s-1)+1;return
|
|
17
|
+
`).length,a=Vu(t.doc,t.selection.main.head);return a.line+=r,{textDocument:{uri:`file://${Mm}`,version:"replace_me"},position:a,context:{triggerKind:Fu.InlineCompletionTriggerKind.Automatic},formattingOptions:{tabSize:t.tabSize,insertSpaces:!0}}}function Ju(t,e,n){if(!t)return Er.debug("No response from copilot"),"";let r=Array.isArray(t)?t[0]:t.items[0];if(!r)return Er.debug("No response from copilot"),"";let{insertText:a,range:o}=r,i=String(a);if(!o)return Er.error("No range from copilot"),i;let s=o.start.character-e.character,c=s<0?i.slice(-s):i,l=n.doc.sliceString(n.selection.main.head,n.doc.length);for(let u=0;u<c.length;u++){let d=c.slice(u);if(l.startsWith(d))return c.slice(0,u)}return c}function Vu(t,e){let n=t.lineAt(e);return{line:n.number-1,character:e-n.from}}Qn=function(t){return Gt("create"in t,'Expected query to have a "create" method'),t},xe=bm({findText:"",replaceText:"",caseSensitive:!1,wholeWord:!1,regexp:!1,isOpen:!1,currentView:void 0},(t,e)=>{if(e===void 0)return t;switch(e.type){case"setFind":return{...t,findText:e.find};case"setReplace":return{...t,replaceText:e.replace};case"setCaseSensitive":return{...t,caseSensitive:e.caseSensitive};case"setWholeWord":return{...t,wholeWord:e.wholeWord};case"setRegex":return{...t,regexp:e.regexp};case"setIsOpen":return{...t,isOpen:e.isOpen};case"setCurrentView":return{...t,currentView:{view:e.view,range:e.range}};case"clearCurrentView":return{...t,currentView:void 0}}}),ca=function(t){if([...document.querySelectorAll('[role="dialog"][data-state="open"]')].some(e=>e instanceof HTMLElement&&e.childNodes.length>0))return!1;if(t){let e=t.state.selection.main,n=t.state.sliceDoc(e.from,e.to);n?(J.set(xe,{type:"setFind",find:n}),J.set(xe,{type:"setCurrentView",view:t,range:{from:e.from,to:e.to}})):J.set(xe,{type:"setCurrentView",view:t,range:{from:0,to:0}})}return J.get(xe).isOpen?(J.set(xe,{type:"setIsOpen",isOpen:!1}),requestAnimationFrame(()=>{J.set(xe,{type:"setIsOpen",isOpen:!0})}),!0):(J.set(xe,{type:"setIsOpen",isOpen:!0}),!0)};function $u(){return J.get(xe).isOpen?(J.set(xe,{type:"setIsOpen",isOpen:!1}),!0):!1}var Sr=ce.define();Ss=function(){let t=J.get(xe),e=Pi();for(let n of e)n.state.readOnly||n.dispatch({effects:Sr.of(new na({search:t.findText,caseSensitive:t.caseSensitive,regexp:t.regexp,replace:t.replaceText,wholeWord:t.wholeWord}))})},Ts=function(){let t=Pi();for(let e of t)e.state.readOnly||e.dispatch({effects:Sr.of(new na({search:""}))})};const Cn=We.define({create(){let t=J.get(xe);return Qn(new na({search:t.findText,caseSensitive:t.caseSensitive,regexp:t.regexp,replace:t.replaceText,wholeWord:t.wholeWord})).create()},update(t,e){for(let n of e.effects)n.is(Sr)&&(t=Qn(n.value).create());return t}});var Wu=V.mark({class:"cm-searchMatch"}),qu=V.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Hu=250;const zu=ze.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Cn))}update(t){let e=t.state.field(Cn);(e!==t.startState.field(Cn)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight(t){if(!t.spec.valid)return V.none;let{view:e}=this,n=new Ep,r=e.visibleRanges,a=r.length;for(let o=0;o<a;o++){let{to:i}=r[o],{from:s}=r[o];for(;o<a-1&&i>r[o+1].from-2*Hu;)i=r[++o].to;t.highlight(e.state,s,i,(c,l)=>{let u=e.state.selection.ranges.some(d=>d.from===c&&d.to===l);n.add(c,l,u?qu:Wu)})}return n.finish()}},{decorations:t=>t.decorations}),Yu=R.baseTheme({"&light .cm-searchMatch":{backgroundColor:"var(--cm-search-match-background-light)"},"&dark .cm-searchMatch":{backgroundColor:"var(--cm-search-match-background-dark)"},"&light .cm-searchMatch-selected":{backgroundColor:"transparent"},"&dark .cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"var(--cm-search-match-selected-background-dark) !important"}});function Ku(t){return[He.of([{key:"Escape",preventDefault:!1,run:$u},{key:t.getHotkey("cell.selectNextOccurrence").key,preventDefault:!0,run:Dp},{key:t.getHotkey("cell.findAndReplace").key,preventDefault:!0,run:ca}]),Fp(),zu,Cn,Yu]}var Xu=V.mark({class:"underline"}),Lo=ce.define(),Oo=ce.define(),_o=ce.define();const Qu=We.define({create(){return V.none},update(t,e){let n=t.map(e.changes);for(let r of e.effects)r.is(Lo)?n=t.update({add:[Xu.range(r.value.from,r.value.to)]}):r.is(Oo)?n=t.update({add:[Bf.range(r.value.from,r.value.to)]}):r.is(_o)&&(n=V.none);return n},provide:t=>R.decorations.from(t)});var Zu=class{constructor(t,e){g(this,"keydown",t=>{(t.key==="Meta"||t.key==="Control")&&(this.commandClickMode=!0,this.view.dom.addEventListener("mousemove",this.mousemove),this.view.dom.addEventListener("click",this.click))});g(this,"keyup",t=>{(t.key==="Meta"||t.key==="Control")&&this.exitCommandClickMode()});g(this,"windowBlur",()=>{this.commandClickMode&&this.exitCommandClickMode()});g(this,"mousemove",t=>{var a;if(!t.metaKey&&!t.ctrlKey){this.exitCommandClickMode();return}if(!this.commandClickMode){this.clearUnderline();return}let e=this.view.posAtCoords({x:t.clientX,y:t.clientY});if(e==null){this.clearUnderline();return}let n=(a=this.view.state.field(pm,!1))==null?void 0:a.ranges.find(o=>e>=o.from&&e<=o.to);if(n){let{from:o,to:i}=n;if(this.hoveredRange&&this.hoveredRange.from===o&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:o,to:i,position:e},this.view.dispatch({effects:Oo.of(this.hoveredRange)});return}let r=$n(this.view.state).cursorAt(e);if(r.name==="VariableName"){let{from:o,to:i}=r;if(this.hoveredRange&&this.hoveredRange.from===o&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:o,to:i,position:e},this.view.dispatch({effects:Lo.of(this.hoveredRange)})}else this.clearUnderline()});g(this,"click",t=>{this.hoveredRange&&(t.preventDefault(),t.stopPropagation(),this.view.dispatch({selection:{head:this.hoveredRange.position,anchor:this.hoveredRange.position}}),this.onClick(this.view))});this.view=t,this.commandClickMode=!1,this.hoveredRange=null,this.onClick=e,window.addEventListener("keydown",this.keydown),window.addEventListener("keyup",this.keyup),window.addEventListener("blur",this.windowBlur),window.addEventListener("mouseleave",this.windowBlur)}update(t){}destroy(){window.removeEventListener("keydown",this.keydown),window.removeEventListener("keyup",this.keyup),window.removeEventListener("blur",this.windowBlur),window.removeEventListener("mouseleave",this.windowBlur),this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click)}exitCommandClickMode(){this.commandClickMode=!1,this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click),this.clearUnderline()}clearUnderline(){this.hoveredRange&&(this.hoveredRange=(this.view.dispatch({effects:_o.of(null)}),null))}};const ed=t=>ze.define(e=>new Zu(e,t));function td(){return[Qu,ed(t=>{im(t)}),R.baseTheme({".underline":{textDecoration:"underline",cursor:"pointer",color:"var(--link)"}})]}function nd(){return[R.domEventHandlers({drop:(t,e)=>{var a,o;let n=(a=t.dataTransfer)==null?void 0:a.files[0];if(n!=null&&n.type.startsWith("text/"))return t.preventDefault(),om(e,n),!0;if(n!=null&&n.type.startsWith("image/"))return t.preventDefault(),Ff(e,n),!0;let r=(o=t.dataTransfer)==null?void 0:o.getData("text/plain");if(r){t.preventDefault();let i=e.posAtCoords({x:t.clientX,y:t.clientY});return i!==null&&e.dispatch({changes:{from:i,to:i,insert:r},scrollIntoView:!0}),!0}return!1},dragover:t=>{t.preventDefault()}})]}function rd(){return[R.domEventHandlers({paste:(t,e)=>{var i;let n=(i=t.clipboardData)==null?void 0:i.getData("text/plain");if(!n||!Uo(n))return!1;let{setup:r,cells:a}=ad(n);if(r===null&&a.length===0)return!1;let o=e.state.facet(sm);return r!==null&&o.addOrAppendSetupCell(r),a.length>0&&o.createManyBelow(a),!0}})]}function Uo(t){return/@app\.cell|@app\.function|\bapp\.setup\b/.test(t)}function ad(t){if(!Uo(t))return{setup:null,cells:[]};let e=[],n=[],r=bh.parse(t),a=(s,c)=>{let l=t.lastIndexOf(`
|
|
18
|
+
`,s-1)+1;return od(t.slice(l,c))},o=(s,c)=>{let l=a(s,c);l.trim()&&e.push(l)},i=(s,c)=>{var f;let l=[];for(let m=s.firstChild;m;m=m.nextSibling)m.name!==":"&&l.push(m);c&&((f=l.at(-1))==null?void 0:f.name)==="ReturnStatement"&&l.pop();let u=l[0],d=l.at(-1);if(!u||!d)return null;let p=a(u.from,d.to);return p.trim()?p:null};return r.iterate({enter:s=>{if(s.name==="WithStatement"){let d=s.node.getChild("Body");if(d&&t.slice(s.from,d.from).includes("app.setup")){let p=i(d,!1);p!==null&&n.push(p)}return!1}if(s.name!=="DecoratedStatement")return!0;let c=s.node.getChild("Decorator"),l=s.node.getChild("FunctionDefinition");if(!c||!l)return!1;let u=t.slice(c.from,c.to).trim();if(u.startsWith("@app.cell")){let d=l.getChild("Body");if(d){let p=i(d,!0);p!==null&&e.push(p)}return!1}return u.startsWith("@app.function")&&o(l.from,l.to),!1}}),{setup:n.length>0?n.join(`
|
|
19
19
|
|
|
20
|
-
`):null,cells:e}}function
|
|
20
|
+
`):null,cells:e}}function od(t){let e=t.split(`
|
|
21
21
|
`);if(e.length===0)return"";let n=e.filter(o=>o.trim().length>0);if(n.length===0)return"";let r=/^\s*/,a=Math.min(...n.map(o=>{var i;return((i=o.match(r))==null?void 0:i[0].length)??1/0}));return a===0?t.trim():e.map(o=>o.slice(a)).join(`
|
|
22
|
-
`).trim()}function nd(t,e,n,r){var a;return r!=="{"||e!==n||!((a=Vn(t.state).resolveInner(e,-1))!=null&&a.type.name.includes("String"))?!1:(t.dispatch({changes:{from:e,to:n,insert:"{}"},selection:{anchor:e+1},userEvent:"input.type"}),!0)}function rd(){return R.inputHandler.of(nd)}function _o(t){let{showPlaceholder:e,enableAI:n}=t;return e?"marimo-import":n?"ai":"none"}var Uo="cm-tooltip-portal";function ad(t){if(t==null)return document.querySelector("#App")??void 0;let e=document.querySelector(t);if(e==null)return;let n=e.querySelector(`:scope > .${Uo}`);if(n!=null)return n;let r=document.createElement("div");return r.className=`${Uo} not-prose contents`,e.append(r),r}const od=t=>{let{cellId:e,keymapConfig:n,hotkeys:r,enableAI:a,cellActions:o,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:l,inlineAiTooltip:u}=t,d=_o(t);return[_m(n,r),Qu(),Zu(),Ol(),Vf({cellId:e,completionConfig:i,hotkeys:r,placeholderType:d,lspConfig:s,diagnosticsConfig:c}),hm({cellId:e,hotkeys:r,cellActions:o,keymapConfig:n}),sd(t),Xu(),c!=null&&c.enabled?Up():[],a&&u?[Hs({prompt:p=>nl({prompt:p.prompt,selection:p.selection,codeBefore:p.codeBefore,codeAfter:p.codeAfter,language:Xf(p.editorView)})}),en.of({hideOnBlur:!0})]:[],Wf(e,l.reference_highlighting??!0),Al(e,l.code_lens??!0)]};var id=t=>{let{from:e,to:n}=t.state.selection.main;if(e!==n)return!1;let r=t.state.doc.lineAt(n);return r.text.slice(0,n-r.from).trim()===""?!1:Rp(t)};const sd=t=>{let{theme:e,hotkeys:n,completionConfig:r,acceptCompletionOnEnter:a,cellId:o,lspConfig:i,diagnosticsConfig:s,tooltipParentSelector:c}=t,l=_o(t),u=r.auto_close_pairs!==!1;return[R.lineWrapping,xp(),vp(),Np(),gp(),lp(),cp(),sp(),dp({position:"fixed",parent:ad(c)}),Kf(),e==="dark"?Xm:Km,zf(i),Du(r),Cp(),rd(),u?Bp():[],Ul(a),u?mt.high(He.of(Mp)):[],Sp(),pp(),mp.of(" "),yp(wp,{fallback:!0}),He.of(up),Qf({placeholderType:l,completionConfig:r,hotkeys:n,cellId:o,lspConfig:{...i,diagnostics:s}}),Gf.of(Op()),Qr.allowMultipleSelections.of(!0),qu(n),He.of([{key:"Tab",run:d=>Hi(d)||id(d)||Tp(d),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:d=>Ht(d.state)===null?!1:(Wn(!0)(d),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:d=>Ht(d.state)===null?!1:(Wn(!1)(d),!0),preventDefault:!0}]),He.of([...Pp,Lp])]};var tt=(t=>!t||t instanceof WebAssembly.Module?t:typeof t=="object"&&"default"in t?t.default??t:t)(Bh),xr=t=>{Jh(t),typeof ys=="function"&&ys(),ld(Nt)};function ld(t){typeof t.__wbindgen_start=="function"&&t.__wbindgen_start()}if(tt&&tt.__wbindgen_start)xr(tt);else if("Bun"in globalThis){let t;if(tt instanceof WebAssembly.Module)({instance:t}=await WebAssembly.instantiate(tt,{"./loro_wasm_bg.js":Nt}));else{let e=Bun.pathToFileURL(tt);({instance:t}=await WebAssembly.instantiateStreaming(fetch(e),{"./loro_wasm_bg.js":Nt}))}xr(t.exports)}else{let t=tt instanceof WebAssembly.Module?tt:await mh(()=>import("./loro_wasm_bg-Cei5H7n0.js").then(async r=>(await r.__tla,r)),__vite__mapDeps([0,1,2]),import.meta.url),e=t instanceof WebAssembly.Module?t:t&&t.default||t,n;if(e instanceof WebAssembly.Instance)n=e;else if(e instanceof WebAssembly.Module)n=await WebAssembly.instantiate(e,{"./loro_wasm_bg.js":Nt});else if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let{instance:r}=await WebAssembly.instantiate(e,{"./loro_wasm_bg.js":Nt});n=r}else if(typeof e=="string"||e instanceof URL){let r=await fetch(e),{instance:a}=await WebAssembly.instantiateStreaming(r,{"./loro_wasm_bg.js":Nt});n=a}else throw console.error("Unsupported wasm import type:",e),Error("Unsupported wasm import type: "+typeof e);xr(n.exports??n)}var cd=["Map","Text","List","Tree","MovableList","Counter"];function ud(t){return t.startsWith("cid:")}function jo(t){if(typeof t!="object"||!t)return!1;let e=Object.getPrototypeOf(t);return typeof e!="object"||!e||typeof e.kind!="function"?!1:cd.includes(t.kind())}var dd=class{constructor(t,e=3e4){this.listeners=new Set,this.inner=new Gh(t,e),this.peer=t,this.timeout=e}apply(t,e="remote"){let{updated:n,added:r}=this.inner.apply(t);this.listeners.forEach(a=>{a({updated:n,added:r,removed:[]},e)}),this.startTimerIfNotEmpty()}setLocalState(t){let e=this.inner.getState(this.peer)==null;this.inner.setLocalState(t),e?this.listeners.forEach(n=>{n({updated:[],added:[this.inner.peer()],removed:[]},"local")}):this.listeners.forEach(n=>{n({updated:[this.inner.peer()],added:[],removed:[]},"local")}),this.startTimerIfNotEmpty()}getLocalState(){return this.inner.getState(this.peer)}getAllStates(){return this.inner.getAllStates()}encode(t){return this.inner.encode(t)}encodeAll(){return this.inner.encodeAll()}addListener(t){this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}peers(){return this.inner.peers()}destroy(){clearInterval(this.timer),this.listeners.clear()}startTimerIfNotEmpty(){this.inner.isEmpty()||this.timer!=null||(this.timer=setInterval(()=>{let t=this.inner.removeOutdated();t.length>0&&this.listeners.forEach(e=>{e({updated:[],added:[],removed:t},"timeout")}),this.inner.isEmpty()&&(clearInterval(this.timer),this.timer=void 0)},this.timeout/2))}};oa.prototype.toJsonWithReplacer=function(t){let e=new Set,n=this,r=(o,i)=>{if(typeof i=="string"&&ud(i)&&!e.has(i)){e.add(i);let c=n.getContainerById(i);if(c==null)throw Error(`ContainerID not found: ${i}`);let l=t(o,c);if(l===c){let u=c.getShallowValue();return typeof u=="object"?a(u):u}if(jo(l))throw Error("Using new container is not allowed in toJsonWithReplacer");return typeof l=="object"&&l?a(l):l}if(typeof i=="object"&&i)return a(i);let s=t(o,i);if(jo(s))throw Error("Using new container is not allowed in toJsonWithReplacer");return s},a=o=>{if(Array.isArray(o))return o.map((s,c)=>r(c,s)).filter(s=>s!==void 0);let i={};for(let[s,c]of Object.entries(o)){let l=r(s,c);l!==void 0&&(i[s]=l)}return i};return a(n.getShallowValue())};var Po=Symbol("loro.callPendingEventsWrapped");function fd(t,e){let n=Object.getOwnPropertyDescriptor(t,e);if(!n||typeof n.value!="function")return;let r=n.value;if(r[Po])return;let a=function(...o){let i;try{return i=r.apply(this,o),i}finally{i&&typeof i.then=="function"?i.finally(()=>{gs()}):gs()}};a[Po]=!0,Object.defineProperty(t,e,{...n,value:a})}function Er(t,e){for(let n of e)fd(t,n)}Er(oa.prototype,["setDetachedEditing","attach","detach","fork","forkAt","checkoutToLatest","checkout","commit","getCursorPos","revertTo","export","exportJsonUpdates","exportJsonInIdSpan","importJsonUpdates","import","importUpdateBatch","importBatch","travelChangeAncestors","getChangedContainersIn","diff","applyDiff","setPeerId"]),Er(Fh.prototype,["set","delete","apply","removeOutdated"]),Er(Rh.prototype,["undo","redo"]);const md=R.baseTheme({".loro-cursor":{position:"absolute",width:"2px",display:"inline-block",height:"1.2em"},".loro-cursor::before":{position:"absolute",top:"1.3em",left:"0",content:"var(--rtc-name)",padding:"2px 6px",fontSize:"12px",borderRadius:"3px",whiteSpace:"nowrap",userSelect:"none",backgroundColor:"inherit",opacity:"0.7"},".loro-selection":{opacity:"0.5"}});Xr.define();const Rt=ce.define(),Sr=We.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(t,e){for(let n of e.effects)if(n.is(Rt))switch(n.value.type){case"update":{let{peer:r,user:a,cursor:o}=n.value;t.remoteCursors.set(r,{uid:r,cursor:o,user:a});break}case"delete":t.remoteCursors.delete(n.value.peer);break;case"checkout":t.isCheckout=n.value.checkout}return t}});var Do=t=>{let e=t.transactions.flatMap(n=>n.effects).filter(n=>n.is(Rt));return t.docChanged||t.viewportChanged||e.length>0};const pd=()=>Wi({above:!0,class:"loro-cursor-layer",update:Do,markers:t=>{let{remoteCursors:e,isCheckout:n}=t.state.field(Sr);return n?[]:[...e.values()].flatMap(r=>{var o,i;let a=St.cursor(r.cursor.anchor);return gd.createCursor(t,a,((o=r.user)==null?void 0:o.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),hd=()=>Wi({above:!1,class:"loro-selection-layer",update:Do,markers:t=>{let{remoteCursors:e,isCheckout:n}=t.state.field(Sr);return n?[]:[...e.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var o;let a=St.range(r.cursor.anchor,r.cursor.head);return Ep.forRange(t,`loro-selection ${((o=r.user)==null?void 0:o.colorClassName)||""}`,a)})}});var gd=class ua{constructor(e,n,r,a,o){this.left=e,this.top=n,this.height=r,this.name=a,this.colorClassName=o}draw(){let e=document.createElement("div");return this.adjust(e),e}update(e){return this.adjust(e),!0}adjust(e){e.style.left=`${this.left}px`,e.style.top=`${this.top}px`,e.style.height=`${this.height}px`,e.className=`loro-cursor ${this.colorClassName}`,e.style.setProperty("--rtc-name",`"${this.name}"`)}eq(e){return this.left===e.left&&this.top===e.top&&this.height===e.height&&this.name===e.name}static createCursor(e,n,r,a){let o=ua.calculateAbsoluteCursorPosition(n,e);if(!o)return[];let i=e.scrollDOM.getBoundingClientRect(),s=(e.textDirection===kp.LTR?i.left:i.right-e.scrollDOM.clientWidth)-e.scrollDOM.scrollLeft,c=i.top-e.scrollDOM.scrollTop;return[new ua(o.left-s,o.top-c,o.bottom-o.top,r,a)]}static calculateAbsoluteCursorPosition(e,n){let r=Math.max(0,Math.min(n.state.doc.length,e.anchor));return n.coordsAtPos(r,e.assoc||1)}},yd=(t,e,n,r)=>{let a=[],{updated:o,added:i}=n;for(let s of[...o,...i]){let c=Mo(t,e,s,r);c&&a.push(c)}return a},Mo=(t,e,n,r)=>{var c,l;let a=e.getAllStates()[n];if(!a||n===t.peerIdStr||a.scopeId!==r)return;if(a.type==="delete")return Rt.of({type:"delete",peer:a.uid,scopeId:a.scopeId});let o=bs.decode(a.cursor.anchor),i=((c=t.getCursorPos(o))==null?void 0:c.offset)??0,s=i;if(a.cursor.head){let u=bs.decode(a.cursor.head);s=((l=t.getCursorPos(u))==null?void 0:l.offset)??0}return Rt.of({type:"update",peer:a.uid,scopeId:a.scopeId,cursor:{anchor:i,head:s},user:a.user})},bd=class{constructor(t,e,n,r,a,o,i){this.view=t,this.doc=e,this.user=n,this.awareness=r,this.getTextFromDoc=a,this.scopeId=o,this.getUserId=i,this.sub=this.doc.subscribe(s=>{if(s.by==="local"){let c=[];for(let l of this.awareness.peers()){let u=Mo(this.doc,this.awareness,l,this.scopeId);u&&c.push(u)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Rt.of({type:"checkout",checkout:this.doc.isDetached()})]})})}update(t){if(!t.selectionSet&&!t.focusChanged&&!t.docChanged)return;let e=t.state.selection.main;if(this.view.hasFocus&&!this.doc.isDetached()){let n=vd({doc:this.doc,getTextFromDoc:this.getTextFromDoc,anchor:e.anchor,head:e.head});this.awareness.setLocalState({type:"update",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId,cursor:n,user:this.user})}else this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}destroy(){var t;(t=this.sub)==null||t.call(this),this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},wd=class{constructor(t,e,n,r){this.view=t,this.doc=e,this.awareness=n,this.scopeId=r;let a=async(o,i)=>{i!=="local"&&this.view.dispatch({effects:yd(this.doc,this.awareness,o,this.scopeId)})};this._awarenessListener=a,this.awareness.addListener(a)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},vd=({doc:t,getTextFromDoc:e,anchor:n,head:r})=>{var i,s;n===r&&(r=void 0);let a=(i=e(t).getCursor(n))==null?void 0:i.encode();if(!a)throw Error("cursor head not found");let o;return r!==void 0&&(o=(s=e(t).getCursor(r))==null?void 0:s.encode()),{anchor:a,head:o}};const Cn=["bg-(--amber-6)","bg-(--blue-6)","bg-(--crimson-6)","bg-(--cyan-6)","bg-(--grass-6)","bg-(--gray-6)","bg-(--green-6)","bg-(--lime-6)","bg-(--orange-6)","bg-(--purple-6)","bg-(--red-6)","bg-(--sage-6)","bg-(--sky-6)","bg-(--slate-6)"],xd=t=>{if(typeof t=="string"){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e=Math.trunc(e);return Cn[Math.abs(e)%Cn.length]}return Cn[t%Cn.length]};var he=$e.get("rtc"),Fo=he.get("awareness").disabled(),kr="awareness:";function Ed(t,e){let n=new TextEncoder().encode(t);return new Uint8Array([...n,...e])}function Sd(t,e){return new TextDecoder().decode(t.slice(0,e.length))===e}function kd(t,e){return t.slice(e.length)}pt=ut(void 0);var re=new oa,Nn=new dd(re.peerIdStr),Cr=Dp(()=>{he.debug("creating websocket");let t=new $h($i().getWsSyncURL(hh()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await Vi(),Jm()==="edit"&&t.reconnect()}),t.addEventListener("message",async e=>{let n=await e.data.arrayBuffer(),r=new Uint8Array(n);if(Sd(r,kr)){let a=kd(r,kr);Nn.apply(a),Fo.debug("applied awareness update");return}re.import(r),he.debug("imported doc change. new doc:",re.toJSON()),J.get(pt)!==re&&J.set(pt,re)}),t.addEventListener("open",()=>{he.debug("websocket open")}),t.addEventListener("close",e=>{he.warn("websocket close",e),J.get(pt)===re&&J.set(pt,void 0)}),t});Bn()&&Cr(),re.subscribeLocalUpdates(t=>{he.debug("local update, sending to server"),Cr().send(t)}),Nn.addListener((t,e)=>{let n=[...t.added,...t.removed,...t.updated];e==="local"&&(Fo.debug("awareness changes",n),Cr().send(Ed(kr,Nn.encode(n))))});function Nr(t,e,n=""){if(Vm())return{extension:[],code:n};let r=re.getByPath(`codes/${t}`)!==void 0,a=re.getMap("codes").getOrCreateContainer(t,new aa);return r||(he.log("initializing code for new cell",n),a.insert(0,n)),{code:n.toString(),extension:[Cd(t),Nd(t),Id(re,Nn,{get name(){return J.get(wm)||"Anonymous"},get colorClassName(){return xd(this.name)}},()=>a,t),fm(re,["codes",t],()=>a)]}}function Cd(t){let e=(r,a)=>{let o=r.state.field(dt).type,i=a.toString();i&&i!==o&&(he.debug(`[incoming] setting language type: ${o} -> ${i}`),Gt(r,{language:i,keepCodeAsIs:!0}))},n=(r,a)=>{let o=r.state.field(Gr),i=a.toJSON();jn(o,i)||r.dispatch({effects:[Ii.of(i)],annotations:[ji.of(!0)]})};return Ke.define(r=>{let a;return Promise.resolve().then(()=>{let o=re.getByPath(`languages/${t}`);if(!o){he.error("no language container found for cell",t);return}Jt(o instanceof aa,"language type is not a LoroText");let i=re.getByPath(`language_metadata/${t}`);if(!i){he.error("no language metadata container found for cell",t);return}Jt(i instanceof ws,"language metadata is not a LoroMap"),e(r,o),n(r,i),a=re.subscribe(s=>{if(s.origin==="local")return;let c=s.events.some(u=>u.target===o.id),l=s.events.some(u=>u.target===i.id);c&&e(r,o),l&&n(r,i)})}),{destroy(){a()}}})}function Nd(t){let e=re.getMap("languages").getOrCreateContainer(t,new aa),n=re.getMap("language_metadata").getOrCreateContainer(t,new ws);return R.updateListener.of(r=>{let a=e.toString()!=="";if(!r.docChanged&&a)return;if(!a){let i=Wr(r.state).type;Gt(r.view,{language:i}),he.debug("no initial language, setting default to",i),e.delete(0,e.length),e.insert(0,i),he.debug("no initial language metadata, setting default to",r.state.field(Gr));let s=r.state.field(Gr);for(let c of Object.keys(s))n.set(c,s[c]);re.commit();return}let o=!1;for(let i of r.transactions)if(!i.annotation(ji)){for(let s of i.effects)if(s.is(km)&&e.toString()!==s.value.type&&(he.debug(`[outgoing] language change: ${e} -> ${s.value.type}`),e.delete(0,e.length),e.insert(0,s.value.type),o=!0),s.is(Ii)||s.is(Ni)){let c=s.value;s.is(Ni)?(he.debug("[outgoing] setting language metadata: ",c),n.clear()):he.debug("[outgoing] updating language metadata: ",c);for(let l of Object.keys(c))n.set(l,c[l]);o=!0}}o&&re.commit()})}function Id(t,e,n,r,a,o){let i=`loro:cell:${a}`;return[Sr,pd(),hd(),Ke.define(s=>new bd(s,t,n,e,r,i,o)),Ke.define(s=>new wd(s,t,e,i)),md]}var Td=ve(),Ad=ep;sa=t=>{let e=(0,Td.c)(41),{resetOnBlur:n,placeholderText:r,initialValue:a,flexibleWidth:o,onNameChange:i,className:s}=t,c=n===void 0?!1:n,l=a===void 0?null:a,u=o===void 0?!1:o,{sendListFiles:d}=qn(),[p,f]=(0,I.useState)(l),m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=[],e[0]=m):m=e[0];let[y,b]=(0,I.useState)(m),[v,S]=(0,I.useState)(!1),k=(0,I.useRef)(null),_=(0,I.useRef)(!1),P,A;e[1]===l?(P=e[2],A=e[3]):(P=()=>{f(l)},A=[l],e[1]=l,e[2]=P,e[3]=A),(0,I.useEffect)(P,A);let N;e[4]===Symbol.for("react.memo_cache_sentinel")?(N=()=>{S(!0)},e[4]=N):N=e[4];let G=N,M;e[5]!==l||e[6]!==c?(M=Y=>{var vt;(vt=Y.relatedTarget)!=null&&vt.closest(".filename-input")||(S(!1),c&&f(l))},e[5]=l,e[6]=c,e[7]=M):M=e[7];let ae=M,O;e[8]===p?O=e[9]:(O=Ze.dirname(p||""),e[8]=p,e[9]=O);let T=O,le=Ze.basename(p||""),ue=y.filter(Y=>Ze.basename(Y.path).startsWith(le)),oe;e[10]!==T||e[11]!==v||e[12]!==d?(oe=async()=>{if(!v){b([]);return}b((await d({path:T})).files)},e[10]=T,e[11]=v,e[12]=d,e[13]=oe):oe=e[13];let ne;e[14]!==T||e[15]!==v?(ne=[T,v],e[14]=T,e[15]=v,e[16]=ne):ne=e[16];let{isPending:U}=Ih(oe,ne),j=Ld(p,y,l),we=(j||ue.length>0)&&(0,h.jsxs)(fs,{className:"font-mono",children:[!U&&(0,h.jsx)(Ah,{children:"No files"}),j&&(0,h.jsxs)(ds,{variant:"success",className:"py-2 px-3",onSelect:()=>{var Y;j&&(_.current=!0,i(j),(Y=k.current)==null||Y.blur())},children:[(0,h.jsx)(te,{className:"w-4 h-4 mr-2"})," ",(0,h.jsxs)("span",{className:"text-sm",children:[l?"Rename to: ":"Save as: ",(0,h.jsx)("span",{className:"font-medium text-sm",children:Ze.basename(j)})]})]},"_rename_"),ue.map(Y=>{let vt=sh[Y.isDirectory?"directory":ih(Y.path)];return(0,h.jsxs)(ds,{variant:Y.isDirectory?"default":"muted",className:"py-2 px-3",onSelect:()=>{Y.isDirectory?f(`${Y.path}/`):f(Y.path)},children:[(0,h.jsx)(vt,{className:"w-4 h-4 mr-2"})," ",Ze.basename(Y.path)]},Y.path)})]}),de=Math.max(20,(p==null?void 0:p.length)||(r==null?void 0:r.length)||0)*10,E=v?p||"":l||"",C;e[17]!==u||e[18]!==de?(C=u?{maxWidth:de}:void 0,e[17]=u,e[18]=de,e[19]=C):C=e[19];let D;e[20]===s?D=e[21]:(D=at(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),e[20]=s,e[21]=D);let L;e[22]!==r||e[23]!==E||e[24]!==C||e[25]!==D?(L=(0,h.jsx)(Ad,{children:(0,h.jsx)(Th,{"data-testid":"dir-completion-input",tabIndex:-1,rootClassName:"border-none justify-center px-1",spellCheck:"false",value:E,onKeyDown:Od,icon:null,ref:k,onValueChange:f,placeholder:r,autoComplete:"off",style:C,className:D})}),e[22]=r,e[23]=E,e[24]=C,e[25]=D,e[26]=L):L=e[26];let fe=we&&"group-focus-within:block",Je;e[27]===fe?Je=e[28]:(Je=at("p-0 w-full min-w-80 max-w-80vw hidden",fe),e[27]=fe,e[28]=Je);let qe;e[29]!==we||e[30]!==Je?(qe=(0,h.jsx)(tp,{side:"bottom",className:Je,portal:!1,children:we}),e[29]=we,e[30]=Je,e[31]=qe):qe=e[31];let Ve;e[32]!==L||e[33]!==qe?(Ve=(0,h.jsxs)(fs,{children:[L,qe]}),e[32]=L,e[33]=qe,e[34]=Ve):Ve=e[34];let F;e[35]!==ae||e[36]!==Ve?(F=(0,h.jsx)(Lh,{onFocus:G,onBlur:ae,shouldFilter:!1,id:"filename-input",className:"bg-transparent group filename-input",children:Ve}),e[35]=ae,e[36]=Ve,e[37]=F):F=e[37];let ie;return e[38]!==v||e[39]!==F?(ie=(0,h.jsx)(Qm,{children:(0,h.jsx)(np,{open:v,modal:!1,children:F})}),e[38]=v,e[39]=F,e[40]=ie):ie=e[40],ie};function Ld(t,e,n){if(t&&!t.endsWith("/")&&((bi("markdown")?new Set(["py","md","markdown","qmd"]):new Set(["py"])).has(Ze.extension(t))||(t=t.endsWith(".")?`${t}py`:t.endsWith(".p")?`${t}y`:`${t}.py`),!e.some(r=>r.path===t||Ze.basename(r.path)===t)&&!(n&&(n===t||Ze.basename(n)===t))))return t}function Od(t){t.key==="Escape"&&t.currentTarget.blur()}var Ro=ve(),_d=t=>{let e=(0,Ro.c)(33),n=()=>{ip(new Blob([r()],{type:"text/plain"}),`${t.proposedName}.json`)},r=se(Pd),a;e[0]!==n||e[1]!==t?(a=P=>{P.preventDefault(),n(),t.closeModal()},e[0]=n,e[1]=t,e[2]=a):a=e[2];let o;e[3]===t?o=e[4]:(o=P=>{P.key==="Escape"&&t.closeModal()},e[3]=t,e[4]=o);let i;e[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,h.jsx)(as,{className:"text-accent-foreground mb-6",children:"Download unsaved changes?"}),e[5]=i):i=e[5];let s;e[6]===Symbol.for("react.memo_cache_sentinel")?(s={wordBreak:"break-word"},e[6]=s):s=e[6];let c,l;e[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,h.jsx)("p",{children:"This app has unsaved changes. To recover:"}),l={paddingBottom:"10px"},e[7]=c,e[8]=l):(c=e[7],l=e[8]);let u;e[9]===t.proposedName?u=e[10]:(u=(0,h.jsxs)("li",{style:l,children:['Click the "Download" button. This will download a file called\xA0',(0,h.jsxs)("code",{children:[t.proposedName,".json"]}),". This file contains your code."]}),e[9]=t.proposedName,e[10]=u);let d;e[11]===Symbol.for("react.memo_cache_sentinel")?(d={paddingBottom:"10px"},e[11]=d):d=e[11];let p;e[12]===Symbol.for("react.memo_cache_sentinel")?(p={display:"block",padding:"10px"},e[12]=p):p=e[12];let f;e[13]===t.proposedName?f=e[14]:(f=(0,h.jsxs)("code",{style:p,children:["marimo recover ",t.proposedName,".json ",">"," ",t.proposedName,".py"]}),e[13]=t.proposedName,e[14]=f);let m;e[15]===t.proposedName?m=e[16]:(m=(0,h.jsxs)("code",{children:[t.proposedName,".py"]}),e[15]=t.proposedName,e[16]=m);let y;e[17]!==m||e[18]!==f?(y=(0,h.jsxs)("li",{style:d,children:["In your terminal, type",f,"to overwrite ",m," with the recovered changes."]}),e[17]=m,e[18]=f,e[19]=y):y=e[19];let b;e[20]!==y||e[21]!==u?(b=(0,h.jsx)(vh,{className:"markdown wrap-break-word",style:s,children:(0,h.jsxs)("div",{className:"prose dark:prose-invert",children:[c,(0,h.jsxs)("ol",{children:[u,y]})]})}),e[20]=y,e[21]=u,e[22]=b):b=e[22];let v;e[23]===t.closeModal?v=e[24]:(v=(0,h.jsx)(ft,{"aria-label":"Cancel",variant:"secondary","data-testid":"cancel-recovery-button",onClick:t.closeModal,children:"Cancel"}),e[23]=t.closeModal,e[24]=v);let S;e[25]===Symbol.for("react.memo_cache_sentinel")?(S=(0,h.jsx)(ft,{"data-testid":"download-recovery-button","aria-label":"Download",variant:"default",type:"submit",children:"Download"}),e[25]=S):S=e[25];let k;e[26]===v?k=e[27]:(k=(0,h.jsxs)(os,{children:[v,S]}),e[26]=v,e[27]=k);let _;return e[28]!==a||e[29]!==o||e[30]!==b||e[31]!==k?(_=(0,h.jsx)(is,{className:"w-fit",children:(0,h.jsxs)("form",{onSubmit:a,onKeyDown:o,children:[i,b,k]})}),e[28]=a,e[29]=o,e[30]=b,e[31]=k,e[32]=_):_=e[32],_};const Ud=t=>{let e=(0,Ro.c)(12),{filename:n,needsSave:r}=t,{openModal:a,closeModal:o}=ls(),i;e[0]===n?i=e[1]:(i=n===null?"app":Ze.basename(n).split(".")[0],e[0]=n,e[1]=i);let s=i,c;e[2]!==o||e[3]!==r||e[4]!==a||e[5]!==s?(c=()=>{r&&a((0,h.jsx)(_d,{proposedName:s,closeModal:o}))},e[2]=o,e[3]=r,e[4]=a,e[5]=s,e[6]=c):c=e[6];let l=c;ss("global.save",l);let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=ms("global.save"),e[7]=u):u=e[7];let d=r?"yellow":"gray",p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=(0,h.jsx)(ts,{strokeWidth:1.5,size:18}),e[8]=p):p=e[8];let f;return e[9]!==l||e[10]!==d?(f=(0,h.jsx)(Gn,{content:u,children:(0,h.jsx)(vs,{onClick:l,id:"save-button","aria-label":"Save",className:"rectangle",color:d,children:p})}),e[9]=l,e[10]=d,e[11]=f):f=e[11],f};function jd(t){return{id:t.id,name:t.name,code:t.code,code_hash:null,config:{column:0,...t.config}}}function Pd(){let t=Fr(xt()),e={version:"1",metadata:{marimo_version:Ym()},cells:t.map(jd)};return JSON.stringify(e,null,2)}let Ir;Kn=ut(void 0),Ir=ut(t=>{let e=t(Kn);return Dd({state:t(rt),layout:t(Ki),lastSavedNotebook:e})});function Dd({state:t,layout:e,lastSavedNotebook:n}){if(!n)return!1;let{cellIds:r,cellData:a}=t,o=r.inOrderIds.map(l=>a[l]),i=o.map(l=>l.code),s=o.map(l=>l.config),c=o.map(l=>l.name);return!qi(i,n.codes)||!qi(c,n.names)||!jn(s,n.configs)||!jn(e.selectedLayout,n.layout.selectedLayout)||!jn(e.layoutData,n.layout.layoutData)}var Md=ve();function Fd(t){let e=(0,Md.c)(21),{codes:n,cellConfigs:r,config:a,connStatus:o,cellNames:i,needsSave:s,kioskMode:c,onSave:l}=t,u=(0,I.useRef)(null),d;e[0]===n?d=e[1]:(d=n.join(":"),e[0]=n,e[1]=d);let p=d,f;e[2]===r?f=e[3]:(f=r.map(Rd).join(":"),e[2]=r,e[3]=f);let m=f,y;e[4]===i?y=e[5]:(y=i.join(":"),e[4]=i,e[5]=y);let b=y,v;e[6]!==a||e[7]!==o.state||e[8]!==c||e[9]!==s||e[10]!==l?(v=()=>{if(!c)return a.autosave==="after_delay"&&(u.current!==null&&clearTimeout(u.current),s&&o.state===Vt.OPEN&&(u.current=setTimeout(l,a.autosave_delay))),()=>{u.current!==null&&clearTimeout(u.current)}},e[6]=a,e[7]=o.state,e[8]=c,e[9]=s,e[10]=l,e[11]=v):v=e[11];let S;e[12]!==m||e[13]!==b||e[14]!==p||e[15]!==a||e[16]!==o.state||e[17]!==c||e[18]!==s||e[19]!==l?(S=[p,m,b,a,o.state,l,c,s],e[12]=m,e[13]=b,e[14]=p,e[15]=a,e[16]=o.state,e[17]=c,e[18]=s,e[19]=l,e[20]=S):S=e[20],(0,I.useEffect)(v,S)}function Rd(t){return JSON.stringify(t)}var In=ve();Ss=t=>{let e=(0,In.c)(15),{kioskMode:n}=t,r=kh(),a=q(Ir),o=q(Et).state===Vt.CLOSED,{saveOrNameNotebook:i,saveIfNotebookIsPersistent:s}=Kt(),c;e[0]!==n||e[1]!==s?(c={onSave:s,kioskMode:n},e[0]=n,e[1]=s,e[2]=c):c=e[2],Vd(c),Wh();let l;e[3]===a?l=e[4]:(l=b=>{if(a)return b.preventDefault(),b.returnValue="You have unsaved changes. Are you sure you want to leave?",b.returnValue},e[3]=a,e[4]=l),Bm(window,"beforeunload",l);let u;e[5]===i?u=e[6]:(u=b=>{b.preventDefault(),b.stopPropagation(),i()},e[5]=i,e[6]=u);let d=u;if(ss("global.save",i),o){let b;return e[7]!==r||e[8]!==a?(b=(0,h.jsx)(Ud,{filename:r,needsSave:a}),e[7]=r,e[8]=a,e[9]=b):b=e[9],b}let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=ms("global.save"),e[10]=p):p=e[10];let f=a?"yellow":"hint-green",m;e[11]===Symbol.for("react.memo_cache_sentinel")?(m=(0,h.jsx)(ts,{strokeWidth:1.5,size:18}),e[11]=m):m=e[11];let y;return e[12]!==d||e[13]!==f?(y=(0,h.jsx)(Gn,{content:p,children:(0,h.jsx)(vs,{"data-testid":"save-button",id:"save-button",shape:"rectangle",color:f,onClick:d,children:m})}),e[12]=d,e[13]=f,e[14]=y):y=e[14],y},Kt=function(){let t=(0,In.c)(21),{sendSave:e}=qn(),{openModal:n,closeModal:r,openAlert:a}=ls(),o=yi(Kn),i=Ch(),s=Pr(),c;t[0]!==a||t[1]!==e||t[2]!==o||t[3]!==s?(c=async(v,S)=>{let k=s.get(Et),_=s.get(Gi);if(s.get($m))return;if(k.state!==Vt.OPEN){a("Failed to save notebook: not connected to a kernel.");return}$e.log("saving to ",v),S&&_.format_on_save&&($e.log("formatting notebook (onSave)"),await em());let P=xt(),A=Fr(P),N=A.map(Jd),G=A.map(Gd),M=A.map(Bd),ae=Pi(P),O=s.get(Ki);G.length!==0&&(await e({cellIds:N,codes:G,names:M,filename:v,configs:ae,layout:$p(),persist:!0}),o({names:M,codes:G,configs:ae,layout:O}))},t[0]=a,t[1]=e,t[2]=o,t[3]=s,t[4]=c):c=t[4];let l=se(c),u;t[5]!==l||t[6]!==s?(u=v=>{let S=v===void 0?!1:v,k=s.get(Li),_=s.get(Et);Bo(k)&&_.state===Vt.OPEN&&l(k,S)},t[5]=l,t[6]=s,t[7]=u):u=t[7];let d=se(u),p;t[8]!==l||t[9]!==i?(p=v=>{i(v).then(S=>{S!==null&&l(S,!0)})},t[8]=l,t[9]=i,t[10]=p):p=t[10];let f=p,m;t[11]!==r||t[12]!==f||t[13]!==n||t[14]!==d||t[15]!==s?(m=()=>{let v=s.get(Li),S=s.get(Et);d(!0),!Bo(v)&&S.state!==Vt.CLOSED&&n((0,h.jsx)(qd,{onClose:r,onSave:f}))},t[11]=r,t[12]=f,t[13]=n,t[14]=d,t[15]=s,t[16]=m):m=t[16];let y=se(m),b;return t[17]!==d||t[18]!==l||t[19]!==y?(b={saveOrNameNotebook:y,saveIfNotebookIsPersistent:d,saveNotebook:l},t[17]=d,t[18]=l,t[19]=y,t[20]=b):b=t[20],b};function Bd(t){return t.name}function Gd(t){return t.code}function Jd(t){return t.id}function Bo(t){return t!==null&&!t.startsWith("/tmp/")&&!t.startsWith("/var/folders")&&!t.includes("AppData\\Local\\Temp")}function Vd(t){let e=(0,In.c)(14),n=q(Gi),r=Mf(),[a]=Un(Et),o=q(Ir),i,s;if(e[0]!==r){let p=Fr(r);i=p.map(Wd),s=p.map($d),e[0]=r,e[1]=i,e[2]=s}else i=e[1],s=e[2];let c=s,l;e[3]===r?l=e[4]:(l=Pi(r),e[3]=r,e[4]=l);let u=l,d;e[5]!==n||e[6]!==c||e[7]!==i||e[8]!==u||e[9]!==a||e[10]!==o||e[11]!==t.kioskMode||e[12]!==t.onSave?(d={onSave:t.onSave,needsSave:o,codes:i,cellConfigs:u,cellNames:c,connStatus:a,config:n,kioskMode:t.kioskMode},e[5]=n,e[6]=c,e[7]=i,e[8]=u,e[9]=a,e[10]=o,e[11]=t.kioskMode,e[12]=t.onSave,e[13]=d):d=e[13],Fd(d)}function $d(t){return t.name}function Wd(t){return t.code}var qd=t=>{let e=(0,In.c)(17),{onClose:n,onSave:r}=t,[a,o]=(0,I.useState)(),i;e[0]!==n||e[1]!==r?(i=b=>{o(b),b.trim()&&(r(b),n())},e[0]=n,e[1]=r,e[2]=i):i=e[2];let s=i,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,h.jsx)(as,{children:"Save notebook"}),e[3]=c):c=e[3];let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=(0,h.jsx)(Yr,{className:"text-md pt-6 px-1",children:"Save as"}),e[4]=l):l=e[4];let u;e[5]===s?u=e[6]:(u=(0,h.jsxs)("div",{className:"flex flex-col",children:[l,(0,h.jsx)(sa,{onNameChange:s,placeholderText:"filename",className:"missing-filename"})]}),e[5]=s,e[6]=u);let d;e[7]===n?d=e[8]:(d=(0,h.jsx)(ft,{"data-testid":"cancel-save-dialog-button","aria-label":"Cancel",variant:"secondary",onClick:n,children:"Cancel"}),e[7]=n,e[8]=d);let p=!a,f;e[9]===p?f=e[10]:(f=(0,h.jsx)(ft,{"data-testid":"submit-save-dialog-button","aria-label":"Save",variant:"default",disabled:p,type:"submit",children:"Save"}),e[9]=p,e[10]=f);let m;e[11]!==d||e[12]!==f?(m=(0,h.jsxs)(os,{children:[d,f]}),e[11]=d,e[12]=f,e[13]=m):m=e[13];let y;return e[14]!==u||e[15]!==m?(y=(0,h.jsxs)(is,{children:[c,u,m]}),e[14]=u,e[15]=m,e[16]=y):y=e[16],y};Yn=function(...t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}};var Go={modified:{doc:""},original:{doc:""}},Jo=(0,I.createContext)(Go);function Hd(t,e){return K({},t,e,{modified:K({},t.modified,e.modified),original:K({},t.original,e.original)})}var Tr=()=>(0,I.useContext)(Jo),zd=t=>{var{children:e,theme:n}=t,[r,a]=(0,I.useReducer)(Hd,K({},Go,{theme:n}));return(0,I.useEffect)(()=>a({theme:n}),[n]),(0,h.jsx)(Jo.Provider,{value:K({},r,{dispatch:a}),children:e})},Yd=["extensions","value","selection","onChange"],Vo=t=>{var{extensions:e=[],value:n,selection:r,onChange:a}=t,o=zt(t,Yd),{theme:i,dispatch:s}=Tr(),c=Ct(K({},o,{theme:i}));return(0,I.useEffect)(()=>s({original:{doc:n,selection:r,extensions:[...c,...e]},originalExtension:{onChange:a,option:o,extension:[e]}}),[t]),null};Vo.displayName="CodeMirrorMerge.Original";var Kd=["extensions","value","selection","onChange"],$o=t=>{var{extensions:e=[],value:n,selection:r,onChange:a}=t,o=zt(t,Kd),{theme:i,dispatch:s}=Tr(),c=Ct(K({},o,{theme:i}));return(0,I.useEffect)(()=>{s({modified:{doc:n,selection:r,extensions:[...c,...e]},modifiedExtension:{onChange:a,option:o,extension:[e]}})},[t]),null};$o.displayName="CodeMirrorMerge.Modified";var Xd=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","diffConfig","root"],Qd=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],Wo=I.forwardRef((t,e)=>{var{className:n,children:r,orientation:a,revertControls:o,highlightChanges:i,gutter:s,collapseUnchanged:c,destroyRerender:l=!0,renderRevertControl:u,diffConfig:d,root:p}=t,f=zt(t,Xd),m=Tr(),{modified:y,modifiedExtension:b,original:v,originalExtension:S,theme:k,dispatch:_}=m,P=zt(m,Qd),A=(0,I.useRef)(null),N=(0,I.useRef)(),G={orientation:a,revertControls:o,highlightChanges:i,gutter:s,collapseUnchanged:c,renderRevertControl:u,diffConfig:d,root:p};(0,I.useImperativeHandle)(e,()=>({container:A.current,view:N.current,modified:y,original:v,config:K({a:v,b:y,parent:A.current},G)}),[A,N,y,v,G]);var M=R.updateListener.of(O=>{if(O.docChanged&&typeof(S==null?void 0:S.onChange)=="function"){var T=O.state.doc.toString();S==null||S.onChange(T,O)}}),ae=R.updateListener.of(O=>{if(O.docChanged&&typeof(b==null?void 0:b.onChange)=="function"){var T=O.state.doc.toString();b==null||b.onChange(T,O)}});return(0,I.useEffect)(()=>{!N.current&&A.current&&S&&b&&(N.current=new ps(K({a:K({},v,{extensions:[...(S==null?void 0:S.extension)||[],...Ct(K({},S==null?void 0:S.option,{theme:k})),M]}),b:K({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Ct(K({},b==null?void 0:b.option,{theme:k})),ae]}),parent:A.current},G)),_({view:N.current}))},[N,A,S,b]),(0,I.useEffect)(()=>{var U,j;if(v&&v.doc&&N.current){var O=(U=N.current)==null?void 0:U.a.state.doc.toString();if(O!==v.doc){var T;(T=N.current)==null||T.a.dispatch({changes:{from:0,to:O.length,insert:v.doc||""}})}}if(y&&y.doc&&N.current){var le=(j=N.current)==null?void 0:j.b.state.doc.toString();if(le!==y.doc){var ue;(ue=N.current)==null||ue.b.dispatch({changes:{from:0,to:le.length,insert:y.doc||""}})}}if(l&&N.current){var oe=N.current.a.state.selection.ranges[0].from,ne=N.current.b.state.selection.ranges[0].from;N.current.destroy(),N.current=new ps(K({a:K({},v,{extensions:[...(S==null?void 0:S.extension)||[],...Ct(K({},S==null?void 0:S.option,{theme:k}))]}),b:K({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Ct(K({},b==null?void 0:b.option,{theme:k}))]}),parent:A.current},G)),oe&&(N.current.a.focus(),N.current.a.dispatch({selection:{anchor:oe,head:oe}})),ne&&(N.current.b.focus(),N.current.b.dispatch({selection:{anchor:ne,head:ne}}))}},[N,k,A.current,v,y,S,b,l]),(0,I.useEffect)(()=>()=>N.current&&N.current.destroy(),[]),(0,I.useEffect)(()=>{if(N.current){var O={};P.orientation!==a&&(O.orientation=a),P.revertControls!==o&&(O.revertControls=o),P.highlightChanges!==i&&(O.highlightChanges=i),P.gutter!==s&&(O.gutter=s),P.collapseUnchanged!==c&&(O.collapseUnchanged=c),P.renderRevertControl!==u&&(O.collapseUnchanged=c),Object.keys(O).length&&_&&N.current&&(N.current.reconfigure(K({},O)),_(K({},O)))}},[_,N,a,o,i,s,c,u]),(0,h.jsx)("div",K({ref:A,className:"cm-merge-theme"+(n?" "+n:"")},f,{children:r}))});Wo.displayName="CodeMirrorMerge.Internal";var Zd=["theme"],Tn=I.forwardRef((t,e)=>{var{theme:n}=t;return(0,h.jsx)(zd,{theme:n,children:(0,h.jsx)(Wo,K({},zt(t,Zd),{ref:e}))})});Tn.Original=Vo,Tn.Modified=$o,Tn.displayName="CodeMirrorMerge";var Ar=Tn,ef=ve(),tf=Ar.Original,nf=Ar.Modified,qo=[Rf(),R.lineWrapping];const rf=({cellId:t,aiCompletionCell:e,className:n,onChange:r,currentLanguageAdapter:a,currentCode:o,declineChange:i,acceptChange:s,runCell:c,outputArea:l,children:u})=>{let[d,p]=(0,I.useState)(!1),[f,m]=(0,I.useState)({}),[y,b]=Un(Sh),v=(0,I.useId)(),S=qm(),{initialPrompt:k,triggerImmediately:_,cellId:P}=e??{},A=P===t,N=q(Yp).get(t),G;(N==null?void 0:N.type)==="update_cell"&&(G=N.previousCode);let{completion:M,input:ae,stop:O,isLoading:T,setCompletion:le,setInput:ue,handleSubmit:oe,complete:ne}=Qp({api:S.getAiURL("completion").toString(),headers:S.headers(),initialInput:k,throttle:100,body:{...Object.keys(f).length>0?f:k?Qi({input:k}):{},includeOtherCode:y?Rr(o):"",code:o,language:a},onError:F=>{kt({title:"Completion failed",description:xh(F)})},onFinish:(F,ie)=>{le(nr(ie).trimEnd())}}),U=I.useRef(null),j=nr(M,{streaming:T}).trimEnd(),we=(0,I.useCallback)(()=>{_&&!T&&k&&ne(k)},[_]);(0,I.useEffect)(()=>{var F;A&&(Ff(()=>{let ie=U.current;return ie!=null&&ie.view?(ie.view.focus(),we(),!0):!1},{retries:3,delay:100,initialDelay:100}),Sm((F=U.current)==null?void 0:F.view))},[A,we]),(0,I.useEffect)(()=>{A&&ue(k||"")},[A,k,ue]);let{theme:de}=gh(),E=()=>{s(j),le("")},C=()=>{var F,ie;O(),le(""),p(!0),(ie=(F=U.current)==null?void 0:F.view)==null||ie.focus()},D=A&&_&&(j||T);l??(l="below");let L=A&&(!_||d),fe=(0,h.jsx)("div",{className:at("w-full bg-(--cm-background) flex justify-center transition-all duration-300 ease-in-out overflow-hidden",D?"max-h-20 opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:(0,h.jsx)(af,{status:T?"loading":"generated",onAccept:E,onReject:C,showInputPrompt:d,setShowInputPrompt:p,runCell:c,className:"mt-4 mb-3 w-lg"})}),Je=(F,ie)=>(0,h.jsxs)(Ar,{className:"cm",theme:de,children:[(0,h.jsx)(tf,{onChange:r,value:F,extensions:qo}),(0,h.jsx)(nf,{value:ie,editable:!1,readOnly:!0,extensions:qo})]}),qe=()=>{if(j&&A)return Je(o,j);if(!j&&G)return Je(G,o)},Ve=(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(Xi,{isLoading:T,onAccept:E,size:"xs",multipleCompletions:!1,acceptShortcut:"Mod-\u21B5",runCell:c,borderless:!0,buttonStyles:"hover:shadow-none",playButtonStyles:"hover:shadow-none"}),(0,h.jsx)(Zi,{onDecline:C,size:"xs",multipleCompletions:!1,declineShortcut:"Shift-Mod-Delete",borderless:!0,className:"hover:shadow-none"})]});return(0,h.jsxs)("div",{"data-ai-input-open":L,className:at("flex flex-col w-full rounded-[inherit]",n),children:[(0,h.jsx)("div",{className:at("flex items-center gap-2 px-3 transition-all rounded-[inherit] rounded-b-none duration-300",L&&"max-h-[400px] border-b min-h-11 visible",!L&&"max-h-0 min-h-0 invisible"),children:A&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(dh,{className:"text-(--blue-10) shrink-0",size:16}),(0,h.jsx)(th,{inputRef:U,className:"h-full my-0 py-2 flex items-center",onClose:()=>{i(),le("")},value:ae,onChange:F=>{ue(F),m(Qi({input:F}))},onSubmit:()=>{var F;T||((F=U.current)!=null&&F.view&&Kp(U.current.view),oe())},onKeyDown:rh({handleAcceptCompletion:E,handleDeclineCompletion:C,isLoading:T,hasCompletion:j.trim().length>0})}),(0,h.jsxs)("div",{className:"-mr-1.5 py-1.5",children:[(0,h.jsxs)("div",{className:"flex flex-row items-center justify-end gap-0.5",children:[(0,h.jsx)(nh,{isLoading:T,onStop:O,onSendClick:oe,isEmpty:!ae.trim(),showStopLabel:!0}),(0,h.jsx)(eh,{handleAddContext:()=>zp(U),isLoading:T}),(0,h.jsx)(Dm,{triggerClassName:"h-7 text-xs",iconSize:"small",forRole:"edit",displayIconOnly:!0,placeholder:"Edit model"})]}),j&&(0,h.jsx)("div",{className:"mt-1 flex items-center gap-1",children:Ve})]}),(0,h.jsx)("div",{className:"h-full w-px bg-border mx-2"}),(0,h.jsx)(Gn,{content:"Include code from other cells",children:(0,h.jsxs)("div",{className:"flex flex-row items-start gap-1 overflow-hidden",children:[(0,h.jsx)($f,{"data-testid":"include-other-cells-checkbox",id:v,checked:y,onCheckedChange:F=>b(!!F)}),(0,h.jsx)(Yr,{htmlFor:v,className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"All code"})]})}),(0,h.jsx)(ft,{"data-testid":"decline-completion-button",variant:"text",size:"icon",disabled:T,onClick:()=>{O(),i(),le("")},children:(0,h.jsx)(qp,{className:"text-(--red-10)",size:16})})]})}),l==="above"&&fe,qe(),(!j||!A)&&!G&&u,l==="below"&&fe]})};var af=t=>{let e=(0,ef.c)(27),{status:n,onAccept:r,onReject:a,className:o,showInputPrompt:i,setShowInputPrompt:s,runCell:c}=t,l=n==="loading",u;e[0]===o?u=e[1]:(u=at("flex flex-row items-center gap-6 rounded-md py-2 px-2.5 text-sm border border-border","shadow-[0_0_6px_1px_rgba(34,197,94,0.15)]",o),e[0]=o,e[1]=u);let d;e[2]===l?d=e[3]:(d=l?(0,h.jsx)(ch,{className:"animate-spin text-blue-600 mb-px",size:15,strokeWidth:2,"aria-label":"Generating fix"}):(0,h.jsx)(Hp,{className:"text-green-600 mb-px",size:15,strokeWidth:2,"aria-label":"Fix generated"}),e[2]=l,e[3]=d);let p=l?"Generating fix...":"Showing fix",f;e[4]===p?f=e[5]:(f=(0,h.jsx)("p",{className:"transition-opacity duration-200 text-muted-foreground",children:p}),e[4]=p,e[5]=f);let m;e[6]!==d||e[7]!==f?(m=(0,h.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[d,f]}),e[6]=d,e[7]=f,e[8]=m):m=e[8];let y;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=(0,h.jsx)(Yr,{htmlFor:"show-input-prompt",className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"Show prompt"}),e[9]=y):y=e[9];let b;e[10]!==s||e[11]!==i?(b=(0,h.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[y,(0,h.jsx)(zm,{checked:i,onCheckedChange:s,size:"xs"})]}),e[10]=s,e[11]=i,e[12]=b):b=e[12];let v;e[13]!==l||e[14]!==r||e[15]!==c?(v=(0,h.jsx)(Xi,{isLoading:l,onAccept:r,size:"xs",borderless:!0,runCell:c}),e[13]=l,e[14]=r,e[15]=c,e[16]=v):v=e[16];let S;e[17]===a?S=e[18]:(S=(0,h.jsx)(Zi,{onDecline:a,size:"xs",borderless:!0}),e[17]=a,e[18]=S);let k;e[19]!==v||e[20]!==S?(k=(0,h.jsxs)("div",{className:"flex flex-row items-center gap-2 ml-auto",children:[v,S]}),e[19]=v,e[20]=S,e[21]=k):k=e[21];let _;return e[22]!==u||e[23]!==k||e[24]!==m||e[25]!==b?(_=(0,h.jsxs)("div",{className:u,children:[m,b,k]}),e[22]=u,e[23]=k,e[24]=m,e[25]=b,e[26]=_):_=e[26],_},Lr="web application/x-marimo-cell",of=qr({cells:Am(qr({code:Di(),name:Di().optional(),config:qr({column:Lm([Nm(),Im()]).optional(),disabled:Mi().optional(),hide_code:Mi().optional()}).optional()})),version:Tm("1.0")});function Or(t){return t.map(e=>e.code).join(`
|
|
22
|
+
`).trim()}function id(t,e,n,r){var a;return r!=="{"||e!==n||!((a=$n(t.state).resolveInner(e,-1))!=null&&a.type.name.includes("String"))?!1:(t.dispatch({changes:{from:e,to:n,insert:"{}"},selection:{anchor:e+1},userEvent:"input.type"}),!0)}function sd(){return R.inputHandler.of(id)}function jo(t){let{showPlaceholder:e,enableAI:n}=t;return e?"marimo-import":n?"ai":"none"}var Po="cm-tooltip-portal";function ld(t){if(t==null)return document.querySelector("#App")??void 0;let e=document.querySelector(t);if(e==null)return;let n=e.querySelector(`:scope > .${Po}`);if(n!=null)return n;let r=document.createElement("div");return r.className=`${Po} not-prose contents`,e.append(r),r}const cd=t=>{let{cellId:e,keymapConfig:n,hotkeys:r,enableAI:a,cellActions:o,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:l,inlineAiTooltip:u}=t,d=jo(t);return[Dm(n,r),nd(),rd(),Pl(),Hf({cellId:e,completionConfig:i,hotkeys:r,placeholderType:d,lspConfig:s,diagnosticsConfig:c}),wm({cellId:e,hotkeys:r,cellActions:o,keymapConfig:n}),dd(t),td(),c!=null&&c.enabled?Mp():[],a&&u?[Ys({prompt:p=>al({prompt:p.prompt,selection:p.selection,codeBefore:p.codeBefore,codeAfter:p.codeAfter,language:tm(p.editorView)})}),Zt.of({hideOnBlur:!0})]:[],Yf(e,l.reference_highlighting??!0),Ul(e,l.code_lens??!0)]};var ud=t=>{let{from:e,to:n}=t.state.selection.main;if(e!==n)return!1;let r=t.state.doc.lineAt(n);return r.text.slice(0,n-r.from).trim()===""?!1:Vp(t)};const dd=t=>{let{theme:e,hotkeys:n,completionConfig:r,acceptCompletionOnEnter:a,cellId:o,lspConfig:i,diagnosticsConfig:s,tooltipParentSelector:c}=t,l=jo(t),u=r.auto_close_pairs!==!1;return[R.lineWrapping,Cp(),kp(),Lp(),vp(),fp(),mp(),dp(),hp({position:"fixed",parent:ld(c)}),em(),e==="dark"?tp:ep,Qf(i),Bu(r),Ap(),sd(),u?$p():[],Ml(a),u?mt.high(He.of(Gp)):[],Np(),bp(),yp.of(" "),xp(Sp,{fallback:!0}),He.of(pp),nm({placeholderType:l,completionConfig:r,hotkeys:n,cellId:o,lspConfig:{...i,diagnostics:s}}),Wf.of(Pp()),ta.allowMultipleSelections.of(!0),Ku(n),He.of([{key:"Tab",run:d=>Yi(d)||ud(d)||_p(d),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:d=>qt(d.state)===null?!1:(qn(!0)(d),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:d=>qt(d.state)===null?!1:(qn(!1)(d),!0),preventDefault:!0}]),He.of([...Rp,jp])]};var tt=(t=>!t||t instanceof WebAssembly.Module?t:typeof t=="object"&&"default"in t?t.default??t:t)($h),kr=t=>{qh(t),typeof ws=="function"&&ws(),fd(Tt)};function fd(t){typeof t.__wbindgen_start=="function"&&t.__wbindgen_start()}if(tt&&tt.__wbindgen_start)kr(tt);else if("Bun"in globalThis){let t;if(tt instanceof WebAssembly.Module)({instance:t}=await WebAssembly.instantiate(tt,{"./loro_wasm_bg.js":Tt}));else{let e=Bun.pathToFileURL(tt);({instance:t}=await WebAssembly.instantiateStreaming(fetch(e),{"./loro_wasm_bg.js":Tt}))}kr(t.exports)}else{let t=tt instanceof WebAssembly.Module?tt:await yh(()=>import("./loro_wasm_bg-Cei5H7n0.js").then(async r=>(await r.__tla,r)),__vite__mapDeps([0,1,2]),import.meta.url),e=t instanceof WebAssembly.Module?t:t&&t.default||t,n;if(e instanceof WebAssembly.Instance)n=e;else if(e instanceof WebAssembly.Module)n=await WebAssembly.instantiate(e,{"./loro_wasm_bg.js":Tt});else if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)){let{instance:r}=await WebAssembly.instantiate(e,{"./loro_wasm_bg.js":Tt});n=r}else if(typeof e=="string"||e instanceof URL){let r=await fetch(e),{instance:a}=await WebAssembly.instantiateStreaming(r,{"./loro_wasm_bg.js":Tt});n=a}else throw console.error("Unsupported wasm import type:",e),Error("Unsupported wasm import type: "+typeof e);kr(n.exports??n)}var md=["Map","Text","List","Tree","MovableList","Counter"];function pd(t){return t.startsWith("cid:")}function Do(t){if(typeof t!="object"||!t)return!1;let e=Object.getPrototypeOf(t);return typeof e!="object"||!e||typeof e.kind!="function"?!1:md.includes(t.kind())}var hd=class{constructor(t,e=3e4){this.listeners=new Set,this.inner=new Wh(t,e),this.peer=t,this.timeout=e}apply(t,e="remote"){let{updated:n,added:r}=this.inner.apply(t);this.listeners.forEach(a=>{a({updated:n,added:r,removed:[]},e)}),this.startTimerIfNotEmpty()}setLocalState(t){let e=this.inner.getState(this.peer)==null;this.inner.setLocalState(t),e?this.listeners.forEach(n=>{n({updated:[],added:[this.inner.peer()],removed:[]},"local")}):this.listeners.forEach(n=>{n({updated:[this.inner.peer()],added:[],removed:[]},"local")}),this.startTimerIfNotEmpty()}getLocalState(){return this.inner.getState(this.peer)}getAllStates(){return this.inner.getAllStates()}encode(t){return this.inner.encode(t)}encodeAll(){return this.inner.encodeAll()}addListener(t){this.listeners.add(t)}removeListener(t){this.listeners.delete(t)}peers(){return this.inner.peers()}destroy(){clearInterval(this.timer),this.listeners.clear()}startTimerIfNotEmpty(){this.inner.isEmpty()||this.timer!=null||(this.timer=setInterval(()=>{let t=this.inner.removeOutdated();t.length>0&&this.listeners.forEach(e=>{e({updated:[],added:[],removed:t},"timeout")}),this.inner.isEmpty()&&(clearInterval(this.timer),this.timer=void 0)},this.timeout/2))}};la.prototype.toJsonWithReplacer=function(t){let e=new Set,n=this,r=(o,i)=>{if(typeof i=="string"&&pd(i)&&!e.has(i)){e.add(i);let c=n.getContainerById(i);if(c==null)throw Error(`ContainerID not found: ${i}`);let l=t(o,c);if(l===c){let u=c.getShallowValue();return typeof u=="object"?a(u):u}if(Do(l))throw Error("Using new container is not allowed in toJsonWithReplacer");return typeof l=="object"&&l?a(l):l}if(typeof i=="object"&&i)return a(i);let s=t(o,i);if(Do(s))throw Error("Using new container is not allowed in toJsonWithReplacer");return s},a=o=>{if(Array.isArray(o))return o.map((s,c)=>r(c,s)).filter(s=>s!==void 0);let i={};for(let[s,c]of Object.entries(o)){let l=r(s,c);l!==void 0&&(i[s]=l)}return i};return a(n.getShallowValue())};var Mo=Symbol("loro.callPendingEventsWrapped");function gd(t,e){let n=Object.getOwnPropertyDescriptor(t,e);if(!n||typeof n.value!="function")return;let r=n.value;if(r[Mo])return;let a=function(...o){let i;try{return i=r.apply(this,o),i}finally{i&&typeof i.then=="function"?i.finally(()=>{bs()}):bs()}};a[Mo]=!0,Object.defineProperty(t,e,{...n,value:a})}function Cr(t,e){for(let n of e)gd(t,n)}Cr(la.prototype,["setDetachedEditing","attach","detach","fork","forkAt","checkoutToLatest","checkout","commit","getCursorPos","revertTo","export","exportJsonUpdates","exportJsonInIdSpan","importJsonUpdates","import","importUpdateBatch","importBatch","travelChangeAncestors","getChangedContainersIn","diff","applyDiff","setPeerId"]),Cr(Jh.prototype,["set","delete","apply","removeOutdated"]),Cr(Vh.prototype,["undo","redo"]);const yd=R.baseTheme({".loro-cursor":{position:"absolute",width:"2px",display:"inline-block",height:"1.2em"},".loro-cursor::before":{position:"absolute",top:"1.3em",left:"0",content:"var(--rtc-name)",padding:"2px 6px",fontSize:"12px",borderRadius:"3px",whiteSpace:"nowrap",userSelect:"none",backgroundColor:"inherit",opacity:"0.7"},".loro-selection":{opacity:"0.5"}});ea.define();const Ft=ce.define(),Tr=We.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(t,e){for(let n of e.effects)if(n.is(Ft))switch(n.value.type){case"update":{let{peer:r,user:a,cursor:o}=n.value;t.remoteCursors.set(r,{uid:r,cursor:o,user:a});break}case"delete":t.remoteCursors.delete(n.value.peer);break;case"checkout":t.isCheckout=n.value.checkout}return t}});var Fo=t=>{let e=t.transactions.flatMap(n=>n.effects).filter(n=>n.is(Ft));return t.docChanged||t.viewportChanged||e.length>0};const bd=()=>Hi({above:!0,class:"loro-cursor-layer",update:Fo,markers:t=>{let{remoteCursors:e,isCheckout:n}=t.state.field(Tr);return n?[]:[...e.values()].flatMap(r=>{var o,i;let a=St.cursor(r.cursor.anchor);return vd.createCursor(t,a,((o=r.user)==null?void 0:o.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),wd=()=>Hi({above:!1,class:"loro-selection-layer",update:Fo,markers:t=>{let{remoteCursors:e,isCheckout:n}=t.state.field(Tr);return n?[]:[...e.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var o;let a=St.range(r.cursor.anchor,r.cursor.head);return Tp.forRange(t,`loro-selection ${((o=r.user)==null?void 0:o.colorClassName)||""}`,a)})}});var vd=class ma{constructor(e,n,r,a,o){this.left=e,this.top=n,this.height=r,this.name=a,this.colorClassName=o}draw(){let e=document.createElement("div");return this.adjust(e),e}update(e){return this.adjust(e),!0}adjust(e){e.style.left=`${this.left}px`,e.style.top=`${this.top}px`,e.style.height=`${this.height}px`,e.className=`loro-cursor ${this.colorClassName}`,e.style.setProperty("--rtc-name",`"${this.name}"`)}eq(e){return this.left===e.left&&this.top===e.top&&this.height===e.height&&this.name===e.name}static createCursor(e,n,r,a){let o=ma.calculateAbsoluteCursorPosition(n,e);if(!o)return[];let i=e.scrollDOM.getBoundingClientRect(),s=(e.textDirection===Ip.LTR?i.left:i.right-e.scrollDOM.clientWidth)-e.scrollDOM.scrollLeft,c=i.top-e.scrollDOM.scrollTop;return[new ma(o.left-s,o.top-c,o.bottom-o.top,r,a)]}static calculateAbsoluteCursorPosition(e,n){let r=Math.max(0,Math.min(n.state.doc.length,e.anchor));return n.coordsAtPos(r,e.assoc||1)}},xd=(t,e,n,r)=>{let a=[],{updated:o,added:i}=n;for(let s of[...o,...i]){let c=Ro(t,e,s,r);c&&a.push(c)}return a},Ro=(t,e,n,r)=>{var c,l;let a=e.getAllStates()[n];if(!a||n===t.peerIdStr||a.scopeId!==r)return;if(a.type==="delete")return Ft.of({type:"delete",peer:a.uid,scopeId:a.scopeId});let o=vs.decode(a.cursor.anchor),i=((c=t.getCursorPos(o))==null?void 0:c.offset)??0,s=i;if(a.cursor.head){let u=vs.decode(a.cursor.head);s=((l=t.getCursorPos(u))==null?void 0:l.offset)??0}return Ft.of({type:"update",peer:a.uid,scopeId:a.scopeId,cursor:{anchor:i,head:s},user:a.user})},Ed=class{constructor(t,e,n,r,a,o,i){this.view=t,this.doc=e,this.user=n,this.awareness=r,this.getTextFromDoc=a,this.scopeId=o,this.getUserId=i,this.sub=this.doc.subscribe(s=>{if(s.by==="local"){let c=[];for(let l of this.awareness.peers()){let u=Ro(this.doc,this.awareness,l,this.scopeId);u&&c.push(u)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Ft.of({type:"checkout",checkout:this.doc.isDetached()})]})})}update(t){if(!t.selectionSet&&!t.focusChanged&&!t.docChanged)return;let e=t.state.selection.main;if(this.view.hasFocus&&!this.doc.isDetached()){let n=kd({doc:this.doc,getTextFromDoc:this.getTextFromDoc,anchor:e.anchor,head:e.head});this.awareness.setLocalState({type:"update",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId,cursor:n,user:this.user})}else this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}destroy(){var t;(t=this.sub)==null||t.call(this),this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},Sd=class{constructor(t,e,n,r){this.view=t,this.doc=e,this.awareness=n,this.scopeId=r;let a=async(o,i)=>{i!=="local"&&this.view.dispatch({effects:xd(this.doc,this.awareness,o,this.scopeId)})};this._awarenessListener=a,this.awareness.addListener(a)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},kd=({doc:t,getTextFromDoc:e,anchor:n,head:r})=>{var i,s;n===r&&(r=void 0);let a=(i=e(t).getCursor(n))==null?void 0:i.encode();if(!a)throw Error("cursor head not found");let o;return r!==void 0&&(o=(s=e(t).getCursor(r))==null?void 0:s.encode()),{anchor:a,head:o}};const Tn=["bg-(--amber-6)","bg-(--blue-6)","bg-(--crimson-6)","bg-(--cyan-6)","bg-(--grass-6)","bg-(--gray-6)","bg-(--green-6)","bg-(--lime-6)","bg-(--orange-6)","bg-(--purple-6)","bg-(--red-6)","bg-(--sage-6)","bg-(--sky-6)","bg-(--slate-6)"],Cd=t=>{if(typeof t=="string"){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e=Math.trunc(e);return Tn[Math.abs(e)%Tn.length]}return Tn[t%Tn.length]};var he=$e.get("rtc"),Bo=he.get("awareness").disabled(),Nr="awareness:";function Td(t,e){let n=new TextEncoder().encode(t);return new Uint8Array([...n,...e])}function Nd(t,e){return new TextDecoder().decode(t.slice(0,e.length))===e}function Id(t,e){return t.slice(e.length)}pt=ut(void 0);var re=new la,Nn=new hd(re.peerIdStr),Ir=Bp(()=>{he.debug("creating websocket");let t=new zh(qi().getWsSyncURL(wh()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await Wi(),qm()==="edit"&&t.reconnect()}),t.addEventListener("message",async e=>{let n=await e.data.arrayBuffer(),r=new Uint8Array(n);if(Nd(r,Nr)){let a=Id(r,Nr);Nn.apply(a),Bo.debug("applied awareness update");return}re.import(r),he.debug("imported doc change. new doc:",re.toJSON()),J.get(pt)!==re&&J.set(pt,re)}),t.addEventListener("open",()=>{he.debug("websocket open")}),t.addEventListener("close",e=>{he.warn("websocket close",e),J.get(pt)===re&&J.set(pt,void 0)}),t});Gn()&&Ir(),re.subscribeLocalUpdates(t=>{he.debug("local update, sending to server"),Ir().send(t)}),Nn.addListener((t,e)=>{let n=[...t.added,...t.removed,...t.updated];e==="local"&&(Bo.debug("awareness changes",n),Ir().send(Td(Nr,Nn.encode(n))))});function Ar(t,e,n=""){if(Hm())return{extension:[],code:n};let r=re.getByPath(`codes/${t}`)!==void 0,a=re.getMap("codes").getOrCreateContainer(t,new sa);return r||(he.log("initializing code for new cell",n),a.insert(0,n)),{code:n.toString(),extension:[Ad(t),Ld(t),Od(re,Nn,{get name(){return J.get(Sm)||"Anonymous"},get colorClassName(){return Cd(this.name)}},()=>a,t),gm(re,["codes",t],()=>a)]}}function Ad(t){let e=(r,a)=>{let o=r.state.field(dt).type,i=a.toString();i&&i!==o&&(he.debug(`[incoming] setting language type: ${o} -> ${i}`),Bt(r,{language:i,keepCodeAsIs:!0}))},n=(r,a)=>{let o=r.state.field($r),i=a.toJSON();Pn(o,i)||r.dispatch({effects:[Ai.of(i)],annotations:[Di.of(!0)]})};return ze.define(r=>{let a;return Promise.resolve().then(()=>{let o=re.getByPath(`languages/${t}`);if(!o){he.error("no language container found for cell",t);return}Gt(o instanceof sa,"language type is not a LoroText");let i=re.getByPath(`language_metadata/${t}`);if(!i){he.error("no language metadata container found for cell",t);return}Gt(i instanceof xs,"language metadata is not a LoroMap"),e(r,o),n(r,i),a=re.subscribe(s=>{if(s.origin==="local")return;let c=s.events.some(u=>u.target===o.id),l=s.events.some(u=>u.target===i.id);c&&e(r,o),l&&n(r,i)})}),{destroy(){a()}}})}function Ld(t){let e=re.getMap("languages").getOrCreateContainer(t,new sa),n=re.getMap("language_metadata").getOrCreateContainer(t,new xs);return R.updateListener.of(r=>{let a=e.toString()!=="";if(!r.docChanged&&a)return;if(!a){let i=zr(r.state).type;Bt(r.view,{language:i}),he.debug("no initial language, setting default to",i),e.delete(0,e.length),e.insert(0,i),he.debug("no initial language metadata, setting default to",r.state.field($r));let s=r.state.field($r);for(let c of Object.keys(s))n.set(c,s[c]);re.commit();return}let o=!1;for(let i of r.transactions)if(!i.annotation(Di)){for(let s of i.effects)if(s.is(Im)&&e.toString()!==s.value.type&&(he.debug(`[outgoing] language change: ${e} -> ${s.value.type}`),e.delete(0,e.length),e.insert(0,s.value.type),o=!0),s.is(Ai)||s.is(Ii)){let c=s.value;s.is(Ii)?(he.debug("[outgoing] setting language metadata: ",c),n.clear()):he.debug("[outgoing] updating language metadata: ",c);for(let l of Object.keys(c))n.set(l,c[l]);o=!0}}o&&re.commit()})}function Od(t,e,n,r,a,o){let i=`loro:cell:${a}`;return[Tr,bd(),wd(),ze.define(s=>new Ed(s,t,n,e,r,i,o)),ze.define(s=>new Sd(s,t,e,i)),yd]}var _d=ve(),Ud=ap;ua=t=>{let e=(0,_d.c)(41),{resetOnBlur:n,placeholderText:r,initialValue:a,flexibleWidth:o,onNameChange:i,className:s}=t,c=n===void 0?!1:n,l=a===void 0?null:a,u=o===void 0?!1:o,{sendListFiles:d}=Hn(),[p,f]=(0,N.useState)(l),m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=[],e[0]=m):m=e[0];let[y,b]=(0,N.useState)(m),[v,S]=(0,N.useState)(!1),k=(0,N.useRef)(null),_=(0,N.useRef)(!1),P,A;e[1]===l?(P=e[2],A=e[3]):(P=()=>{f(l)},A=[l],e[1]=l,e[2]=P,e[3]=A),(0,N.useEffect)(P,A);let T;e[4]===Symbol.for("react.memo_cache_sentinel")?(T=()=>{S(!0)},e[4]=T):T=e[4];let G=T,M;e[5]!==l||e[6]!==c?(M=Y=>{var vt;(vt=Y.relatedTarget)!=null&&vt.closest(".filename-input")||(S(!1),c&&f(l))},e[5]=l,e[6]=c,e[7]=M):M=e[7];let ae=M,O;e[8]===p?O=e[9]:(O=Ze.dirname(p||""),e[8]=p,e[9]=O);let I=O,le=Ze.basename(p||""),ue=y.filter(Y=>Ze.basename(Y.path).startsWith(le)),oe;e[10]!==I||e[11]!==v||e[12]!==d?(oe=async()=>{if(!v){b([]);return}b((await d({path:I})).files)},e[10]=I,e[11]=v,e[12]=d,e[13]=oe):oe=e[13];let ne;e[14]!==I||e[15]!==v?(ne=[I,v],e[14]=I,e[15]=v,e[16]=ne):ne=e[16];let{isPending:U}=Oh(oe,ne),j=jd(p,y,l),we=(j||ue.length>0)&&(0,h.jsxs)(ps,{className:"font-mono",children:[!U&&(0,h.jsx)(Uh,{children:"No files"}),j&&(0,h.jsxs)(ms,{variant:"success",className:"py-2 px-3",onSelect:()=>{var Y;j&&(_.current=!0,i(j),(Y=k.current)==null||Y.blur())},children:[(0,h.jsx)(te,{className:"w-4 h-4 mr-2"})," ",(0,h.jsxs)("span",{className:"text-sm",children:[l?"Rename to: ":"Save as: ",(0,h.jsx)("span",{className:"font-medium text-sm",children:Ze.basename(j)})]})]},"_rename_"),ue.map(Y=>{let vt=dh[Y.isDirectory?"directory":uh(Y.path)];return(0,h.jsxs)(ms,{variant:Y.isDirectory?"default":"muted",className:"py-2 px-3",onSelect:()=>{Y.isDirectory?f(`${Y.path}/`):f(Y.path)},children:[(0,h.jsx)(vt,{className:"w-4 h-4 mr-2"})," ",Ze.basename(Y.path)]},Y.path)})]}),de=Math.max(20,(p==null?void 0:p.length)||(r==null?void 0:r.length)||0)*10,E=v?p||"":l||"",C;e[17]!==u||e[18]!==de?(C=u?{maxWidth:de}:void 0,e[17]=u,e[18]=de,e[19]=C):C=e[19];let D;e[20]===s?D=e[21]:(D=at(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),e[20]=s,e[21]=D);let L;e[22]!==r||e[23]!==E||e[24]!==C||e[25]!==D?(L=(0,h.jsx)(Ud,{children:(0,h.jsx)(_h,{"data-testid":"dir-completion-input",tabIndex:-1,rootClassName:"border-none justify-center px-1",spellCheck:"false",value:E,onKeyDown:Pd,icon:null,ref:k,onValueChange:f,placeholder:r,autoComplete:"off",style:C,className:D})}),e[22]=r,e[23]=E,e[24]=C,e[25]=D,e[26]=L):L=e[26];let fe=we&&"group-focus-within:block",Je;e[27]===fe?Je=e[28]:(Je=at("p-0 w-full min-w-80 max-w-80vw hidden",fe),e[27]=fe,e[28]=Je);let qe;e[29]!==we||e[30]!==Je?(qe=(0,h.jsx)(op,{side:"bottom",className:Je,portal:!1,children:we}),e[29]=we,e[30]=Je,e[31]=qe):qe=e[31];let Ve;e[32]!==L||e[33]!==qe?(Ve=(0,h.jsxs)(ps,{children:[L,qe]}),e[32]=L,e[33]=qe,e[34]=Ve):Ve=e[34];let F;e[35]!==ae||e[36]!==Ve?(F=(0,h.jsx)(jh,{onFocus:G,onBlur:ae,shouldFilter:!1,id:"filename-input",className:"bg-transparent group filename-input",children:Ve}),e[35]=ae,e[36]=Ve,e[37]=F):F=e[37];let ie;return e[38]!==v||e[39]!==F?(ie=(0,h.jsx)(np,{children:(0,h.jsx)(ip,{open:v,modal:!1,children:F})}),e[38]=v,e[39]=F,e[40]=ie):ie=e[40],ie};function jd(t,e,n){if(t&&!t.endsWith("/")&&((vi("markdown")?new Set(["py","md","markdown","qmd"]):new Set(["py"])).has(Ze.extension(t))||(t=t.endsWith(".")?`${t}py`:t.endsWith(".p")?`${t}y`:`${t}.py`),!e.some(r=>r.path===t||Ze.basename(r.path)===t)&&!(n&&(n===t||Ze.basename(n)===t))))return t}function Pd(t){t.key==="Escape"&&t.currentTarget.blur()}var Go=ve(),Dd=t=>{let e=(0,Go.c)(33),n=()=>{up(new Blob([r()],{type:"text/plain"}),`${t.proposedName}.json`)},r=se(Rd),a;e[0]!==n||e[1]!==t?(a=P=>{P.preventDefault(),n(),t.closeModal()},e[0]=n,e[1]=t,e[2]=a):a=e[2];let o;e[3]===t?o=e[4]:(o=P=>{P.key==="Escape"&&t.closeModal()},e[3]=t,e[4]=o);let i;e[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,h.jsx)(is,{className:"text-accent-foreground mb-6",children:"Download unsaved changes?"}),e[5]=i):i=e[5];let s;e[6]===Symbol.for("react.memo_cache_sentinel")?(s={wordBreak:"break-word"},e[6]=s):s=e[6];let c,l;e[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,h.jsx)("p",{children:"This app has unsaved changes. To recover:"}),l={paddingBottom:"10px"},e[7]=c,e[8]=l):(c=e[7],l=e[8]);let u;e[9]===t.proposedName?u=e[10]:(u=(0,h.jsxs)("li",{style:l,children:['Click the "Download" button. This will download a file called\xA0',(0,h.jsxs)("code",{children:[t.proposedName,".json"]}),". This file contains your code."]}),e[9]=t.proposedName,e[10]=u);let d;e[11]===Symbol.for("react.memo_cache_sentinel")?(d={paddingBottom:"10px"},e[11]=d):d=e[11];let p;e[12]===Symbol.for("react.memo_cache_sentinel")?(p={display:"block",padding:"10px"},e[12]=p):p=e[12];let f;e[13]===t.proposedName?f=e[14]:(f=(0,h.jsxs)("code",{style:p,children:["marimo recover ",t.proposedName,".json ",">"," ",t.proposedName,".py"]}),e[13]=t.proposedName,e[14]=f);let m;e[15]===t.proposedName?m=e[16]:(m=(0,h.jsxs)("code",{children:[t.proposedName,".py"]}),e[15]=t.proposedName,e[16]=m);let y;e[17]!==m||e[18]!==f?(y=(0,h.jsxs)("li",{style:d,children:["In your terminal, type",f,"to overwrite ",m," with the recovered changes."]}),e[17]=m,e[18]=f,e[19]=y):y=e[19];let b;e[20]!==y||e[21]!==u?(b=(0,h.jsx)(kh,{className:"markdown wrap-break-word",style:s,children:(0,h.jsxs)("div",{className:"prose dark:prose-invert",children:[c,(0,h.jsxs)("ol",{children:[u,y]})]})}),e[20]=y,e[21]=u,e[22]=b):b=e[22];let v;e[23]===t.closeModal?v=e[24]:(v=(0,h.jsx)(ft,{"aria-label":"Cancel",variant:"secondary","data-testid":"cancel-recovery-button",onClick:t.closeModal,children:"Cancel"}),e[23]=t.closeModal,e[24]=v);let S;e[25]===Symbol.for("react.memo_cache_sentinel")?(S=(0,h.jsx)(ft,{"data-testid":"download-recovery-button","aria-label":"Download",variant:"default",type:"submit",children:"Download"}),e[25]=S):S=e[25];let k;e[26]===v?k=e[27]:(k=(0,h.jsxs)(ss,{children:[v,S]}),e[26]=v,e[27]=k);let _;return e[28]!==a||e[29]!==o||e[30]!==b||e[31]!==k?(_=(0,h.jsx)(ls,{className:"w-fit",children:(0,h.jsxs)("form",{onSubmit:a,onKeyDown:o,children:[i,b,k]})}),e[28]=a,e[29]=o,e[30]=b,e[31]=k,e[32]=_):_=e[32],_};const Md=t=>{let e=(0,Go.c)(12),{filename:n,needsSave:r}=t,{openModal:a,closeModal:o}=us(),i;e[0]===n?i=e[1]:(i=n===null?"app":Ze.basename(n).split(".")[0],e[0]=n,e[1]=i);let s=i,c;e[2]!==o||e[3]!==r||e[4]!==a||e[5]!==s?(c=()=>{r&&a((0,h.jsx)(Dd,{proposedName:s,closeModal:o}))},e[2]=o,e[3]=r,e[4]=a,e[5]=s,e[6]=c):c=e[6];let l=c;cs("global.save",l);let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=hs("global.save"),e[7]=u):u=e[7];let d=r?"yellow":"gray",p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=(0,h.jsx)(rs,{strokeWidth:1.5,size:18}),e[8]=p):p=e[8];let f;return e[9]!==l||e[10]!==d?(f=(0,h.jsx)(Jn,{content:u,children:(0,h.jsx)(Es,{onClick:l,id:"save-button","aria-label":"Save",className:"rectangle",color:d,children:p})}),e[9]=l,e[10]=d,e[11]=f):f=e[11],f};function Fd(t){return{id:t.id,name:t.name,code:t.code,code_hash:null,config:{column:0,...t.config}}}function Rd(){let t=Gr(xt()),e={version:"1",metadata:{marimo_version:Zm()},cells:t.map(Fd)};return JSON.stringify(e,null,2)}let Lr;Xn=ut(void 0),Lr=ut(t=>{let e=t(Xn);return Bd({state:t(rt),layout:t(Qi),lastSavedNotebook:e})});function Bd({state:t,layout:e,lastSavedNotebook:n}){if(!n)return!1;let{cellIds:r,cellData:a}=t,o=r.inOrderIds.map(l=>a[l]),i=o.map(l=>l.code),s=o.map(l=>l.config),c=o.map(l=>l.name);return!zi(i,n.codes)||!zi(c,n.names)||!Pn(s,n.configs)||!Pn(e.selectedLayout,n.layout.selectedLayout)||!Pn(e.layoutData,n.layout.layoutData)}var Gd=ve();function Jd(t){let e=(0,Gd.c)(21),{codes:n,cellConfigs:r,config:a,connStatus:o,cellNames:i,needsSave:s,kioskMode:c,onSave:l}=t,u=(0,N.useRef)(null),d;e[0]===n?d=e[1]:(d=n.join(":"),e[0]=n,e[1]=d);let p=d,f;e[2]===r?f=e[3]:(f=r.map(Vd).join(":"),e[2]=r,e[3]=f);let m=f,y;e[4]===i?y=e[5]:(y=i.join(":"),e[4]=i,e[5]=y);let b=y,v;e[6]!==a||e[7]!==o.state||e[8]!==c||e[9]!==s||e[10]!==l?(v=()=>{if(!c)return a.autosave==="after_delay"&&(u.current!==null&&clearTimeout(u.current),s&&o.state===Jt.OPEN&&(u.current=setTimeout(l,a.autosave_delay))),()=>{u.current!==null&&clearTimeout(u.current)}},e[6]=a,e[7]=o.state,e[8]=c,e[9]=s,e[10]=l,e[11]=v):v=e[11];let S;e[12]!==m||e[13]!==b||e[14]!==p||e[15]!==a||e[16]!==o.state||e[17]!==c||e[18]!==s||e[19]!==l?(S=[p,m,b,a,o.state,l,c,s],e[12]=m,e[13]=b,e[14]=p,e[15]=a,e[16]=o.state,e[17]=c,e[18]=s,e[19]=l,e[20]=S):S=e[20],(0,N.useEffect)(v,S)}function Vd(t){return JSON.stringify(t)}var In=ve();Cs=t=>{let e=(0,In.c)(15),{kioskMode:n}=t,r=Ih(),a=q(Lr),o=q(Et).state===Jt.CLOSED,{saveOrNameNotebook:i,saveIfNotebookIsPersistent:s}=Yt(),c;e[0]!==n||e[1]!==s?(c={onSave:s,kioskMode:n},e[0]=n,e[1]=s,e[2]=c):c=e[2],Hd(c),Yh();let l;e[3]===a?l=e[4]:(l=b=>{if(a)return b.preventDefault(),b.returnValue="You have unsaved changes. Are you sure you want to leave?",b.returnValue},e[3]=a,e[4]=l),$m(window,"beforeunload",l);let u;e[5]===i?u=e[6]:(u=b=>{b.preventDefault(),b.stopPropagation(),i()},e[5]=i,e[6]=u);let d=u;if(cs("global.save",i),o){let b;return e[7]!==r||e[8]!==a?(b=(0,h.jsx)(Md,{filename:r,needsSave:a}),e[7]=r,e[8]=a,e[9]=b):b=e[9],b}let p;e[10]===Symbol.for("react.memo_cache_sentinel")?(p=hs("global.save"),e[10]=p):p=e[10];let f=a?"yellow":"hint-green",m;e[11]===Symbol.for("react.memo_cache_sentinel")?(m=(0,h.jsx)(rs,{strokeWidth:1.5,size:18}),e[11]=m):m=e[11];let y;return e[12]!==d||e[13]!==f?(y=(0,h.jsx)(Jn,{content:p,children:(0,h.jsx)(Es,{"data-testid":"save-button",id:"save-button",shape:"rectangle",color:f,onClick:d,children:m})}),e[12]=d,e[13]=f,e[14]=y):y=e[14],y},Yt=function(){let t=(0,In.c)(21),{sendSave:e}=Hn(),{openModal:n,closeModal:r,openAlert:a}=us(),o=wi(Xn),i=Ah(),s=Fr(),c;t[0]!==a||t[1]!==e||t[2]!==o||t[3]!==s?(c=async(v,S)=>{let k=s.get(Et),_=s.get(Vi);if(s.get(zm))return;if(k.state!==Jt.OPEN){a("Failed to save notebook: not connected to a kernel.");return}$e.log("saving to ",v),S&&_.format_on_save&&($e.log("formatting notebook (onSave)"),await am());let P=xt(),A=Gr(P),T=A.map(qd),G=A.map(Wd),M=A.map($d),ae=Mi(P),O=s.get(Qi);G.length!==0&&(await e({cellIds:T,codes:G,names:M,filename:v,configs:ae,layout:zp(),persist:!0}),o({names:M,codes:G,configs:ae,layout:O}))},t[0]=a,t[1]=e,t[2]=o,t[3]=s,t[4]=c):c=t[4];let l=se(c),u;t[5]!==l||t[6]!==s?(u=v=>{let S=v===void 0?!1:v,k=s.get(_i),_=s.get(Et);Jo(k)&&_.state===Jt.OPEN&&l(k,S)},t[5]=l,t[6]=s,t[7]=u):u=t[7];let d=se(u),p;t[8]!==l||t[9]!==i?(p=v=>{i(v).then(S=>{S!==null&&l(S,!0)})},t[8]=l,t[9]=i,t[10]=p):p=t[10];let f=p,m;t[11]!==r||t[12]!==f||t[13]!==n||t[14]!==d||t[15]!==s?(m=()=>{let v=s.get(_i),S=s.get(Et);d(!0),!Jo(v)&&S.state!==Jt.CLOSED&&n((0,h.jsx)(Kd,{onClose:r,onSave:f}))},t[11]=r,t[12]=f,t[13]=n,t[14]=d,t[15]=s,t[16]=m):m=t[16];let y=se(m),b;return t[17]!==d||t[18]!==l||t[19]!==y?(b={saveOrNameNotebook:y,saveIfNotebookIsPersistent:d,saveNotebook:l},t[17]=d,t[18]=l,t[19]=y,t[20]=b):b=t[20],b};function $d(t){return t.name}function Wd(t){return t.code}function qd(t){return t.id}function Jo(t){return t!==null&&!t.startsWith("/tmp/")&&!t.startsWith("/var/folders")&&!t.includes("AppData\\Local\\Temp")}function Hd(t){let e=(0,In.c)(14),n=q(Vi),r=Gf(),[a]=jn(Et),o=q(Lr),i,s;if(e[0]!==r){let p=Gr(r);i=p.map(Yd),s=p.map(zd),e[0]=r,e[1]=i,e[2]=s}else i=e[1],s=e[2];let c=s,l;e[3]===r?l=e[4]:(l=Mi(r),e[3]=r,e[4]=l);let u=l,d;e[5]!==n||e[6]!==c||e[7]!==i||e[8]!==u||e[9]!==a||e[10]!==o||e[11]!==t.kioskMode||e[12]!==t.onSave?(d={onSave:t.onSave,needsSave:o,codes:i,cellConfigs:u,cellNames:c,connStatus:a,config:n,kioskMode:t.kioskMode},e[5]=n,e[6]=c,e[7]=i,e[8]=u,e[9]=a,e[10]=o,e[11]=t.kioskMode,e[12]=t.onSave,e[13]=d):d=e[13],Jd(d)}function zd(t){return t.name}function Yd(t){return t.code}var Kd=t=>{let e=(0,In.c)(17),{onClose:n,onSave:r}=t,[a,o]=(0,N.useState)(),i;e[0]!==n||e[1]!==r?(i=b=>{o(b),b.trim()&&(r(b),n())},e[0]=n,e[1]=r,e[2]=i):i=e[2];let s=i,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,h.jsx)(is,{children:"Save notebook"}),e[3]=c):c=e[3];let l;e[4]===Symbol.for("react.memo_cache_sentinel")?(l=(0,h.jsx)(Qr,{className:"text-md pt-6 px-1",children:"Save as"}),e[4]=l):l=e[4];let u;e[5]===s?u=e[6]:(u=(0,h.jsxs)("div",{className:"flex flex-col",children:[l,(0,h.jsx)(ua,{onNameChange:s,placeholderText:"filename",className:"missing-filename"})]}),e[5]=s,e[6]=u);let d;e[7]===n?d=e[8]:(d=(0,h.jsx)(ft,{"data-testid":"cancel-save-dialog-button","aria-label":"Cancel",variant:"secondary",onClick:n,children:"Cancel"}),e[7]=n,e[8]=d);let p=!a,f;e[9]===p?f=e[10]:(f=(0,h.jsx)(ft,{"data-testid":"submit-save-dialog-button","aria-label":"Save",variant:"default",disabled:p,type:"submit",children:"Save"}),e[9]=p,e[10]=f);let m;e[11]!==d||e[12]!==f?(m=(0,h.jsxs)(ss,{children:[d,f]}),e[11]=d,e[12]=f,e[13]=m):m=e[13];let y;return e[14]!==u||e[15]!==m?(y=(0,h.jsxs)(ls,{children:[c,u,m]}),e[14]=u,e[15]=m,e[16]=y):y=e[16],y};Kn=function(...t){return e=>{t.forEach(n=>{typeof n=="function"?n(e):n!=null&&(n.current=e)})}};var Vo={modified:{doc:""},original:{doc:""}},$o=(0,N.createContext)(Vo);function Xd(t,e){return K({},t,e,{modified:K({},t.modified,e.modified),original:K({},t.original,e.original)})}var Or=()=>(0,N.useContext)($o),Qd=t=>{var{children:e,theme:n}=t,[r,a]=(0,N.useReducer)(Xd,K({},Vo,{theme:n}));return(0,N.useEffect)(()=>a({theme:n}),[n]),(0,h.jsx)($o.Provider,{value:K({},r,{dispatch:a}),children:e})},Zd=["extensions","value","selection","onChange"],Wo=t=>{var{extensions:e=[],value:n,selection:r,onChange:a}=t,o=Ht(t,Zd),{theme:i,dispatch:s}=Or(),c=Ct(K({},o,{theme:i}));return(0,N.useEffect)(()=>s({original:{doc:n,selection:r,extensions:[...c,...e]},originalExtension:{onChange:a,option:o,extension:[e]}}),[t]),null};Wo.displayName="CodeMirrorMerge.Original";var ef=["extensions","value","selection","onChange"],qo=t=>{var{extensions:e=[],value:n,selection:r,onChange:a}=t,o=Ht(t,ef),{theme:i,dispatch:s}=Or(),c=Ct(K({},o,{theme:i}));return(0,N.useEffect)(()=>{s({modified:{doc:n,selection:r,extensions:[...c,...e]},modifiedExtension:{onChange:a,option:o,extension:[e]}})},[t]),null};qo.displayName="CodeMirrorMerge.Modified";var tf=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","diffConfig","root"],nf=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],Ho=N.forwardRef((t,e)=>{var{className:n,children:r,orientation:a,revertControls:o,highlightChanges:i,gutter:s,collapseUnchanged:c,destroyRerender:l=!0,renderRevertControl:u,diffConfig:d,root:p}=t,f=Ht(t,tf),m=Or(),{modified:y,modifiedExtension:b,original:v,originalExtension:S,theme:k,dispatch:_}=m,P=Ht(m,nf),A=(0,N.useRef)(null),T=(0,N.useRef)(),G={orientation:a,revertControls:o,highlightChanges:i,gutter:s,collapseUnchanged:c,renderRevertControl:u,diffConfig:d,root:p};(0,N.useImperativeHandle)(e,()=>({container:A.current,view:T.current,modified:y,original:v,config:K({a:v,b:y,parent:A.current},G)}),[A,T,y,v,G]);var M=R.updateListener.of(O=>{if(O.docChanged&&typeof(S==null?void 0:S.onChange)=="function"){var I=O.state.doc.toString();S==null||S.onChange(I,O)}}),ae=R.updateListener.of(O=>{if(O.docChanged&&typeof(b==null?void 0:b.onChange)=="function"){var I=O.state.doc.toString();b==null||b.onChange(I,O)}});return(0,N.useEffect)(()=>{!T.current&&A.current&&S&&b&&(T.current=new gs(K({a:K({},v,{extensions:[...(S==null?void 0:S.extension)||[],...Ct(K({},S==null?void 0:S.option,{theme:k})),M]}),b:K({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Ct(K({},b==null?void 0:b.option,{theme:k})),ae]}),parent:A.current},G)),_({view:T.current}))},[T,A,S,b]),(0,N.useEffect)(()=>{var U,j;if(v&&v.doc&&T.current){var O=(U=T.current)==null?void 0:U.a.state.doc.toString();if(O!==v.doc){var I;(I=T.current)==null||I.a.dispatch({changes:{from:0,to:O.length,insert:v.doc||""}})}}if(y&&y.doc&&T.current){var le=(j=T.current)==null?void 0:j.b.state.doc.toString();if(le!==y.doc){var ue;(ue=T.current)==null||ue.b.dispatch({changes:{from:0,to:le.length,insert:y.doc||""}})}}if(l&&T.current){var oe=T.current.a.state.selection.ranges[0].from,ne=T.current.b.state.selection.ranges[0].from;T.current.destroy(),T.current=new gs(K({a:K({},v,{extensions:[...(S==null?void 0:S.extension)||[],...Ct(K({},S==null?void 0:S.option,{theme:k}))]}),b:K({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Ct(K({},b==null?void 0:b.option,{theme:k}))]}),parent:A.current},G)),oe&&(T.current.a.focus(),T.current.a.dispatch({selection:{anchor:oe,head:oe}})),ne&&(T.current.b.focus(),T.current.b.dispatch({selection:{anchor:ne,head:ne}}))}},[T,k,A.current,v,y,S,b,l]),(0,N.useEffect)(()=>()=>T.current&&T.current.destroy(),[]),(0,N.useEffect)(()=>{if(T.current){var O={};P.orientation!==a&&(O.orientation=a),P.revertControls!==o&&(O.revertControls=o),P.highlightChanges!==i&&(O.highlightChanges=i),P.gutter!==s&&(O.gutter=s),P.collapseUnchanged!==c&&(O.collapseUnchanged=c),P.renderRevertControl!==u&&(O.collapseUnchanged=c),Object.keys(O).length&&_&&T.current&&(T.current.reconfigure(K({},O)),_(K({},O)))}},[_,T,a,o,i,s,c,u]),(0,h.jsx)("div",K({ref:A,className:"cm-merge-theme"+(n?" "+n:"")},f,{children:r}))});Ho.displayName="CodeMirrorMerge.Internal";var rf=["theme"],An=N.forwardRef((t,e)=>{var{theme:n}=t;return(0,h.jsx)(Qd,{theme:n,children:(0,h.jsx)(Ho,K({},Ht(t,rf),{ref:e}))})});An.Original=Wo,An.Modified=qo,An.displayName="CodeMirrorMerge";var _r=An,af=ve(),of=_r.Original,sf=_r.Modified,zo=[Vf(),R.lineWrapping];const lf=({cellId:t,aiCompletionCell:e,className:n,onChange:r,currentLanguageAdapter:a,currentCode:o,declineChange:i,acceptChange:s,runCell:c,outputArea:l,children:u})=>{let[d,p]=(0,N.useState)(!1),[f,m]=(0,N.useState)({}),[y,b]=jn(Nh),v=(0,N.useId)(),S=Km(),{initialPrompt:k,triggerImmediately:_,cellId:P}=e??{},A=P===t,T=q(Zp).get(t),G;(T==null?void 0:T.type)==="update_cell"&&(G=T.previousCode);let{completion:M,input:ae,stop:O,isLoading:I,setCompletion:le,setInput:ue,handleSubmit:oe,complete:ne}=nh({api:S.getAiURL("completion").toString(),headers:S.headers(),initialInput:k,throttle:100,body:{...Object.keys(f).length>0?f:k?es({input:k}):{},includeOtherCode:y?Jr(o):"",code:o,language:a},onError:F=>{kt({title:"Completion failed",description:Ch(F)})},onFinish:(F,ie)=>{le(rr(ie).trimEnd())}}),U=N.useRef(null),j=rr(M,{streaming:I}).trimEnd(),we=(0,N.useCallback)(()=>{_&&!I&&k&&ne(k)},[_]);(0,N.useEffect)(()=>{var F;A&&(Jf(()=>{let ie=U.current;return ie!=null&&ie.view?(ie.view.focus(),we(),!0):!1},{retries:3,delay:100,initialDelay:100}),Nm((F=U.current)==null?void 0:F.view))},[A,we]),(0,N.useEffect)(()=>{A&&ue(k||"")},[A,k,ue]);let{theme:de}=vh(),E=()=>{s(j),le("")},C=()=>{var F,ie;O(),le(""),p(!0),(ie=(F=U.current)==null?void 0:F.view)==null||ie.focus()},D=A&&_&&(j||I);l??(l="below");let L=A&&(!_||d),fe=(0,h.jsx)("div",{className:at("w-full bg-(--cm-background) flex justify-center transition-all duration-300 ease-in-out overflow-hidden",D?"max-h-20 opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:(0,h.jsx)(cf,{status:I?"loading":"generated",onAccept:E,onReject:C,showInputPrompt:d,setShowInputPrompt:p,runCell:c,className:"mt-4 mb-3 w-lg"})}),Je=(F,ie)=>(0,h.jsxs)(_r,{className:"cm",theme:de,children:[(0,h.jsx)(of,{onChange:r,value:F,extensions:zo}),(0,h.jsx)(sf,{value:ie,editable:!1,readOnly:!0,extensions:zo})]}),qe=()=>{if(j&&A)return Je(o,j);if(!j&&G)return Je(G,o)},Ve=(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(Zi,{isLoading:I,onAccept:E,size:"xs",multipleCompletions:!1,acceptShortcut:"Mod-\u21B5",runCell:c,borderless:!0,buttonStyles:"hover:shadow-none",playButtonStyles:"hover:shadow-none"}),(0,h.jsx)(ts,{onDecline:C,size:"xs",multipleCompletions:!1,declineShortcut:"Shift-Mod-Delete",borderless:!0,className:"hover:shadow-none"})]});return(0,h.jsxs)("div",{"data-ai-input-open":L,className:at("flex flex-col w-full rounded-[inherit]",n),children:[(0,h.jsx)("div",{className:at("flex items-center gap-2 px-3 transition-all rounded-[inherit] rounded-b-none duration-300",L&&"max-h-[400px] border-b min-h-11 visible",!L&&"max-h-0 min-h-0 invisible"),children:A&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(hh,{className:"text-(--blue-10) shrink-0",size:16}),(0,h.jsx)(oh,{inputRef:U,className:"h-full my-0 py-2 flex items-center",onClose:()=>{i(),le("")},value:ae,onChange:F=>{ue(F),m(es({input:F}))},onSubmit:()=>{var F;I||((F=U.current)!=null&&F.view&&eh(U.current.view),oe())},onKeyDown:sh({handleAcceptCompletion:E,handleDeclineCompletion:C,isLoading:I,hasCompletion:j.trim().length>0})}),(0,h.jsxs)("div",{className:"-mr-1.5 py-1.5",children:[(0,h.jsxs)("div",{className:"flex flex-row items-center justify-end gap-0.5",children:[(0,h.jsx)(ih,{isLoading:I,onStop:O,onSendClick:oe,isEmpty:!ae.trim(),showStopLabel:!0}),(0,h.jsx)(ah,{handleAddContext:()=>Qp(U),isLoading:I}),(0,h.jsx)(Bm,{triggerClassName:"h-7 text-xs",iconSize:"small",forRole:"edit",displayIconOnly:!0,placeholder:"Edit model"})]}),j&&(0,h.jsx)("div",{className:"mt-1 flex items-center gap-1",children:Ve})]}),(0,h.jsx)("div",{className:"h-full w-px bg-border mx-2"}),(0,h.jsx)(Jn,{content:"Include code from other cells",children:(0,h.jsxs)("div",{className:"flex flex-row items-start gap-1 overflow-hidden",children:[(0,h.jsx)(zf,{"data-testid":"include-other-cells-checkbox",id:v,checked:y,onCheckedChange:F=>b(!!F)}),(0,h.jsx)(Qr,{htmlFor:v,className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"All code"})]})}),(0,h.jsx)(ft,{"data-testid":"decline-completion-button",variant:"text",size:"icon",disabled:I,onClick:()=>{O(),i(),le("")},children:(0,h.jsx)(Kp,{className:"text-(--red-10)",size:16})})]})}),l==="above"&&fe,qe(),(!j||!A)&&!G&&u,l==="below"&&fe]})};var cf=t=>{let e=(0,af.c)(27),{status:n,onAccept:r,onReject:a,className:o,showInputPrompt:i,setShowInputPrompt:s,runCell:c}=t,l=n==="loading",u;e[0]===o?u=e[1]:(u=at("flex flex-row items-center gap-6 rounded-md py-2 px-2.5 text-sm border border-border","shadow-[0_0_6px_1px_rgba(34,197,94,0.15)]",o),e[0]=o,e[1]=u);let d;e[2]===l?d=e[3]:(d=l?(0,h.jsx)(mh,{className:"animate-spin text-blue-600 mb-px",size:15,strokeWidth:2,"aria-label":"Generating fix"}):(0,h.jsx)(Xp,{className:"text-green-600 mb-px",size:15,strokeWidth:2,"aria-label":"Fix generated"}),e[2]=l,e[3]=d);let p=l?"Generating fix...":"Showing fix",f;e[4]===p?f=e[5]:(f=(0,h.jsx)("p",{className:"transition-opacity duration-200 text-muted-foreground",children:p}),e[4]=p,e[5]=f);let m;e[6]!==d||e[7]!==f?(m=(0,h.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[d,f]}),e[6]=d,e[7]=f,e[8]=m):m=e[8];let y;e[9]===Symbol.for("react.memo_cache_sentinel")?(y=(0,h.jsx)(Qr,{htmlFor:"show-input-prompt",className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"Show prompt"}),e[9]=y):y=e[9];let b;e[10]!==s||e[11]!==i?(b=(0,h.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[y,(0,h.jsx)(Qm,{checked:i,onCheckedChange:s,size:"xs"})]}),e[10]=s,e[11]=i,e[12]=b):b=e[12];let v;e[13]!==l||e[14]!==r||e[15]!==c?(v=(0,h.jsx)(Zi,{isLoading:l,onAccept:r,size:"xs",borderless:!0,runCell:c}),e[13]=l,e[14]=r,e[15]=c,e[16]=v):v=e[16];let S;e[17]===a?S=e[18]:(S=(0,h.jsx)(ts,{onDecline:a,size:"xs",borderless:!0}),e[17]=a,e[18]=S);let k;e[19]!==v||e[20]!==S?(k=(0,h.jsxs)("div",{className:"flex flex-row items-center gap-2 ml-auto",children:[v,S]}),e[19]=v,e[20]=S,e[21]=k):k=e[21];let _;return e[22]!==u||e[23]!==k||e[24]!==m||e[25]!==b?(_=(0,h.jsxs)("div",{className:u,children:[m,b,k]}),e[22]=u,e[23]=k,e[24]=m,e[25]=b,e[26]=_):_=e[26],_},Ur="web application/x-marimo-cell",uf=Yr({cells:Um(Yr({code:Fi(),name:Fi().optional(),config:Yr({column:jm([Lm(),Om()]).optional(),disabled:Ri().optional(),hide_code:Ri().optional()}).optional()})),version:_m("1.0")});function jr(t){return t.map(e=>e.code).join(`
|
|
23
23
|
|
|
24
|
-
`)}async function Ho(t){let e={cells:t.map(r=>({code:r.code,name:r.name,config:r.config})),version:"1.0"},n=new uf().add(Lr,e).add("text/plain",Or(t)).build();await navigator.clipboard.write([n])}function sf(){let t=Pn(),e=mm(),n=ym();return{copyCells:se(async r=>{let a=xt(),o=r.map(i=>a.cellData[i]).filter(Boolean);if(o.length!==0)try{await Ho(o),e.clear(),zo(o.length)}catch(i){$e.error("Failed to copy cells to clipboard",i);try{await rs(Or(o)),e.clear(),zo(o.length)}catch{Yo()}}}),cutCells:se(async r=>{let a=xt(),o=r.filter(s=>a.cellData[s]),i=o.map(s=>a.cellData[s]);if(i.length!==0)try{await Ho(i),e.markForCut({cellIds:o})}catch(s){$e.error("Failed to cut cells to clipboard",s);try{await rs(Or(i)),e.markForCut({cellIds:o})}catch{Yo()}}}),pasteAtCell:se(async(r,a)=>{var i;let{before:o=!1}=a??{};if(n.cellIds.size>0){let s=[...n.cellIds],c=xt(),l=s.map(u=>{let d=c.cellIds.findWithId(u);return{columnId:d.id,index:d.indexOfOrThrow(u)}});t.moveCellsRelativeTo({cellIds:s,targetCellId:r,position:o?"before":"after",previousPlacements:l}),e.clear();return}try{let s=await navigator.clipboard.read();for(let l of s)if(l.types.includes(Lr)){let u=await(await l.getType(Lr)).text();try{let d=of.parse(JSON.parse(u));if(d.cells.length===0)break;let p=r,f=d.cells.toReversed();for(let m of f)t.createNewCell({cellId:p,before:o,code:m.code,name:m.name,config:m.config,hideCode:(i=m.config)==null?void 0:i.hide_code,autoFocus:!0});return}catch(d){$e.warn("Failed to parse clipboard cell data",d)}}let c=await navigator.clipboard.readText();c.trim()?t.createNewCell({cellId:r,before:o,code:c,autoFocus:!0}):lf()}catch(s){$e.error("Failed to paste from clipboard",s),cf()}}),clearPendingCut:e.clear}}var zo=t=>{let e=t===1?"Cell":`${t} cells`;kt({title:`${e} copied`,description:`${e} ${t===1?"has":"have"} been copied to clipboard.`})},Yo=()=>{kt({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},lf=()=>{kt({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},cf=()=>{kt({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},uf=class{constructor(){g(this,"items",{})}add(t,e){return ClipboardItem.supports(t)?typeof e=="string"?(this.items[t]=new Blob([e],{type:t}),this):(this.items[t]=new Blob([JSON.stringify(e)],{type:t}),this):($e.warn(`ClipboardItem does not support ${t}`),this)}build(){return new ClipboardItem(this.items)}},df=ve();function Ko(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:zh,createActions:Yh,valueAtom:_r,useActions:ff}=ea(Ko,{select:(t,e)=>({selectionStart:e.cellId,selectionEnd:e.cellId,selected:new Set([e.cellId])}),extend:(t,e)=>{if(!t.selectionStart)return{selectionStart:e.cellId,selectionEnd:e.cellId,selected:new Set([e.cellId])};let{cellId:n,allCellIds:r}=e;try{let a=r.findWithId(t.selectionStart),o=a.indexOfOrThrow(t.selectionStart),i=a.indexOfOrThrow(n),[s,c]=o<i?[o,i]:[i,o],l=a.slice(s,c+1);return{selectionStart:t.selectionStart,selectionEnd:n,selected:new Set(l)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:t=>t.selected.size===0?t:Ko()});Ns=()=>q(_r);function mf(t){let e=(0,df.c)(2),n;return e[0]===t?n=e[1]:(n=ut(r=>r(_r).selected.has(t)),e[0]=t,e[1]=n),q(n)}ca=function(){return ff()};function pf(t){return t.get(_r).selected}let Xo,Qo,Zo;Xo=ve(),{valueAtom:Qo,useActions:Yt}=ea(()=>new Set,{add:(t,e)=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n},remove:(t,e)=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),xi(()=>{let r=document.activeElement;if(!r)return;let a=Rn.findElementThroughShadowDOMs(r);a&&vi(Rn.parse(a.id))}),n}}),Zo=t=>ut(e=>e(Qo).has(t)),Es=function(t){let e=(0,Xo.c)(2),n;return e[0]===t?n=e[1]:(n=Zo(t),e[0]=t,e[1]=n),q(n)};var Bt=new WeakMap,hf=500;function gf(t){if(t.ctrlKey||t.metaKey||t.altKey)return"";let e=t.key.toLowerCase();return t.shiftKey?`shift+${e}`:e}function yf(t,e){let n=gf(t),r=t.target;if(!n||!r)return!1;let a=Bt.get(r),o=n;a!=null&&a.timeout&&clearTimeout(a.timeout),a&&(o=`${a.sequence} ${n}`);let i=e[o];if(i)return Bt.delete(r),i();if(!a){let s=e[n];if(s)return s()}if(Object.keys(e).some(s=>s.startsWith(`${o} `))){let s=window.setTimeout(()=>{Bt.delete(r)},hf);return Bt.set(r,{sequence:o,timeout:s}),!0}return Bt.delete(r),!1}var Ur=ve();function ei(t){return{handle:e=>t(e),bulkHandle:e=>{let n=!0;try{for(let r of e)n&&(n=t(r));return n}catch{return!1}}}}function Ye(t){return{handle:e=>t([e]),bulkHandle:e=>t(e)}}function bf(t,e){let n=(0,Ur.c)(12),r=Nh(),a=Pn(),o=Yt(),i;n[0]!==t||n[1]!==r?(i=()=>{r.focusCell({cellId:t})},n[0]=t,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==a||n[4]!==t||n[5]!==e||n[6]!==r||n[7]!==o?(s=u=>{var d;ti(u.relatedTarget)||ti(u.target)||ni(u.relatedTarget)===t||ni((d=u.relatedTarget)==null?void 0:d.closest("[data-for-cell-id]"))===t||(o.remove(t),a.markTouched({cellId:t}),r.blurCell(),e.current&&jr(e.current))},n[3]=a,n[4]=t,n[5]=e,n[6]=r,n[7]=o,n[8]=s):s=n[8];let c;n[9]!==i||n[10]!==s?(c={onFocusWithin:i,onBlurWithin:s},n[9]=i,n[10]=s,n[11]=c):c=n[11];let{focusWithinProps:l}=uh(c);return l}function ti(t){return t&&t instanceof HTMLElement?t.closest(".cm-vim-panel")!==null:!1}function ni(t){return t&&t.getAttribute(Yf)||null}Cs=function(t,e){let n=(0,Ur.c)(34),{canMoveX:r,editorView:a,cellActionDropdownRef:o}=e,{saveOrNameNotebook:i}=Kt(),{saveCellConfig:s}=qn(),c=yi(cs),l=Pn(),u=Pr(),d=Yt(),p=wh(),f=q(Ji),{copyCells:m,pasteAtCell:y,cutCells:b}=sf(),v=ca(),S=mf(t),k=zn(),_=ta(),P=q(zr),A;n[0]===P?A=n[1]:(A=Ri(P),n[0]=P,n[1]=A);let N=A,G;n[2]!==k||n[3]!==v?(G={clear:()=>{k.clear(),v.clear()},extend:U=>{k.clear(),v.extend(U)},select:U=>{k.clear(),v.select(U)}},n[2]=k,n[3]=v,n[4]=G):G=n[4];let M=G,ae=q(Bi),O;n[5]===ae?O=n[6]:(O=(U,j)=>Hr(ae.getHotkey(U).key)(j.nativeEvent||j),n[5]=ae,n[6]=O);let T=O,le=bf(t,a),ue;n[7]!==l||n[8]!==N||n[9]!==r||n[10]!==o||n[11]!==t||n[12]!==m||n[13]!==b||n[14]!==_||n[15]!==a||n[16]!==S||n[17]!==T||n[18]!==f||n[19]!==y||n[20]!==k||n[21]!==p||n[22]!==s||n[23]!==i||n[24]!==M||n[25]!==c||n[26]!==u||n[27]!==d||n[28]!==P?(ue={onKeyDown:U=>{if(Kr.fromInput(U)){U.continuePropagation();return}let j={"Mod+ArrowUp":()=>(l.focusTopCell(),M.clear(),!0),"Mod+ArrowDown":()=>(l.focusBottomCell(),M.clear(),!0),ArrowUp:()=>(l.focusCell({cellId:t,where:"before"}),M.clear(),!0),ArrowDown:()=>(l.focusCell({cellId:t,where:"after"}),M.clear(),!0),ArrowLeft:()=>{if(r){let E=u.get(rt),C=E.cellIds.findWithId(t),D=E.cellIds.indexOf(C),L=E.cellIds.at(D-1);if(L&&L.length>0){let fe=ri(t,L);return l.focusCell({cellId:fe,where:"exact"}),M.clear(),!0}}return!1},ArrowRight:()=>{if(r){let E=u.get(rt),C=E.cellIds.findWithId(t),D=E.cellIds.indexOf(C),L=E.cellIds.at(D+1);if(L&&L.length>0){let fe=ri(t,L);return l.focusCell({cellId:fe,where:"exact"}),M.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let E=u.get(_i);M.extend({cellId:t,allCellIds:E});let C=E.findWithId(t).before(t);return C&&M.extend({cellId:C,allCellIds:E}),l.focusCell({cellId:t,where:"before"}),!0},"Shift+ArrowDown":()=>{let E=u.get(_i);M.extend({cellId:t,allCellIds:E});let C=E.findWithId(t).after(t);return C&&M.extend({cellId:C,allCellIds:E}),l.focusCell({cellId:t,where:"after"}),!0},Escape:()=>u.get(lm).size>0?(u.set(gm),!0):S?(M.clear(),!0):!1,Enter:()=>(d.add(t),Ci(u,t),M.clear(),!0),s:()=>(i(),!0)};for(let[E,C]of Object.entries(j))if(Hr(E)(U)&&C()){U.preventDefault();return}let we={"cell.run":Ye(E=>(p(E),!0)),"cell.runAndNewBelow":Ye(E=>{p(E);let C=E[E.length-1];return l.moveToNextCell({cellId:C,before:!1}),!0}),"cell.runAndNewAbove":Ye(E=>{p(E);let C=E[0];return l.moveToNextCell({cellId:C,before:!0}),!0}),"cell.createAbove":E=>(l.createNewCell({cellId:E,before:!0}),!0),"cell.createBelow":E=>(l.createNewCell({cellId:E,before:!1}),!0),"cell.moveUp":Ye(E=>{let C=E[0];return u.get(rt).cellIds.findWithId(C).first()===C?!1:(E.forEach(D=>{l.moveCell({cellId:D,before:!0})}),!0)}),"cell.moveDown":Ye(E=>{let C=E[E.length-1];return u.get(rt).cellIds.findWithId(C).last()===C?!1:(E.toReversed().forEach(D=>{l.moveCell({cellId:D,before:!1})}),!0)}),"cell.moveLeft":ei(E=>r?(l.moveCell({cellId:E,direction:"left"}),!0):!1),"cell.moveRight":ei(E=>r?(l.moveCell({cellId:E,direction:"right"}),!0):!1),"cell.hideCode":Ye(E=>{var D;let C=!E.map(L=>{var fe;return((fe=u.get(rt).cellData[L])==null?void 0:fe.config)||null}).every(wf);s({configs:Object.fromEntries(E.map(L=>[L,{hide_code:C}]))});for(let L of E)l.updateCellConfig({cellId:L,config:{hide_code:C}});if(E.length===1){let L=E[0];l.focusCell({cellId:L,where:"after"}),C?((D=a.current)==null||D.contentDOM.blur(),ki(L)):Ci(u,L)}return!0}),"cell.focusDown":E=>(l.focusCell({cellId:E,where:"after"}),!0),"cell.focusUp":E=>(l.focusCell({cellId:E,where:"before"}),!0),"cell.sendToBottom":Ye(E=>(E.forEach(C=>{l.sendToBottom({cellId:C})}),!0)),"cell.sendToTop":Ye(E=>(E.toReversed().forEach(C=>{l.sendToTop({cellId:C})}),!0)),"cell.aiCompletion":E=>{var D;if(!N)return!1;let C=!1;return c(L=>(L==null?void 0:L.cellId)===E?(C=!0,null):{cellId:E}),C&&((D=a.current)==null||D.focus()),!0},"cell.cellActions":()=>{var E;return(E=o.current)==null||E.toggle(),!0},"command.copyCell":Ye(E=>(m(E),!0)),"command.cutCell":Ye(E=>(b(E),!0)),"command.pasteCell":E=>(y(E),!0),"command.createCellBefore":E=>Kr.hasModifier(U)?!1:(l.createNewCell({cellId:E,before:!0,autoFocus:!0}),!0),"command.createCellAfter":E=>Kr.hasModifier(U)?!1:(l.createNewCell({cellId:E,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!P.keymap.destructive_delete)return!1;let E=de.size>=2?[...de]:[t],C=u.get(rt);return E.some(D=>{let{status:L}=C.cellRuntime[D];return L==="running"||L==="queued"})?!1:k.idle?(k.submit(E),!0):(_({cellIds:E}),k.clear(),!0)}},de=pf(u);if(f==="vim"&&yf(U.nativeEvent||U,{j:j.ArrowDown,k:j.ArrowUp,h:j.ArrowLeft,l:j.ArrowRight,i:j.Enter,"shift+j":j["Shift+ArrowDown"],"shift+k":j["Shift+ArrowUp"],"g g":j["Mod+ArrowUp"],"shift+g":j["Mod+ArrowDown"],"d d":()=>we["cell.delete"](),"y y":()=>(m(de.size>=2?[...de]:[t]),!0),p:()=>(y(t,{before:!1}),!0),"shift+p":()=>(y(t,{before:!0}),!0),o:()=>(l.createNewCell({cellId:t,before:!1,autoFocus:!0}),!0),"shift+o":()=>(l.createNewCell({cellId:t,before:!0,autoFocus:!0}),!0),u:()=>(l.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[E,C]of Object.entries(we))if(T(E,U)){if(typeof C=="function"){if(C(t)){U.preventDefault();return}}else if(de.size>=2?C.bulkHandle([...de]):C.handle(t)){U.preventDefault();return}return}U.continuePropagation()}},n[7]=l,n[8]=N,n[9]=r,n[10]=o,n[11]=t,n[12]=m,n[13]=b,n[14]=_,n[15]=a,n[16]=S,n[17]=T,n[18]=f,n[19]=y,n[20]=k,n[21]=p,n[22]=s,n[23]=i,n[24]=M,n[25]=c,n[26]=u,n[27]=d,n[28]=P,n[29]=ue):ue=n[29];let{keyboardProps:oe}=ns(ue),ne;return n[30]!==le||n[31]!==S||n[32]!==oe?(ne=yh(le,oe,{"data-selected":S,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[30]=le,n[31]=S,n[32]=oe,n[33]=ne):ne=n[33],ne};function wf(t){return t==null?void 0:t.hide_code}function vf(t,e){let n=(0,Ur.c)(12),r=Yt(),a=q(Ji),o=q(Bi),i;n[0]===o?i=n[1]:(i=Hr(o.getHotkey("command.vimEnterCommandMode").key),n[0]=o,n[1]=i);let s=i,c;n[2]!==t||n[3]!==r?(c=()=>{r.remove(t),ki(t),xi(()=>{vi(t)})},n[2]=t,n[3]=r,n[4]=c):c=n[4];let l=c,u;n[5]!==e||n[6]!==l?(u=()=>{if(!e.current){l();return}let m=e.current,y=m.state;if(Ap(m))return;let b=!!y.field(Si,!1)||!!y.field(dm,!1),v=Ht(y)!==null;b&&jr(m),v&&Gp(m),!(b||v)&&l()},n[5]=e,n[6]=l,n[7]=u):u=n[7];let d=u,p;n[8]!==d||n[9]!==a||n[10]!==s?(p={onKeyDown:m=>{a==="vim"?s(m)&&d():m.key==="Escape"&&d(),m.continuePropagation()}},n[8]=d,n[9]=a,n[10]=s,n[11]=p):p=n[11];let{keyboardProps:f}=ns(p);return f}function ri(t,e){let n=document.getElementById(Rn.create(t));if(!n)return e.first();let r=n.getBoundingClientRect();for(let a of e.topLevelIds){let o=document.getElementById(Rn.create(a));if(o){let i=o.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return a}}return e.last()}function jr(t){t.state.field(Si,!1)&&t.dispatch({effects:Bf.of(null)}),bm(t)}var xf=ve(),Ef=50,Sf=4,kf=60;function Cf(t){return Math.min(kf,Math.max(Sf,t))}const Nf=t=>{let e=(0,xf.c)(13),{code:n,className:r}=t,a,o,i,s;if(e[0]!==r||e[1]!==n){let l=n.split(`
|
|
25
|
-
`,
|
|
24
|
+
`)}async function Yo(t){let e={cells:t.map(r=>({code:r.code,name:r.name,config:r.config})),version:"1.0"},n=new pf().add(Ur,e).add("text/plain",jr(t)).build();await navigator.clipboard.write([n])}function df(){let t=Dn(),e=ym(),n=xm();return{copyCells:se(async r=>{let a=xt(),o=r.map(i=>a.cellData[i]).filter(Boolean);if(o.length!==0)try{await Yo(o),e.clear(),Ko(o.length)}catch(i){$e.error("Failed to copy cells to clipboard",i);try{await os(jr(o)),e.clear(),Ko(o.length)}catch{Xo()}}}),cutCells:se(async r=>{let a=xt(),o=r.filter(s=>a.cellData[s]),i=o.map(s=>a.cellData[s]);if(i.length!==0)try{await Yo(i),e.markForCut({cellIds:o})}catch(s){$e.error("Failed to cut cells to clipboard",s);try{await os(jr(i)),e.markForCut({cellIds:o})}catch{Xo()}}}),pasteAtCell:se(async(r,a)=>{var i;let{before:o=!1}=a??{};if(n.cellIds.size>0){let s=[...n.cellIds],c=xt(),l=s.map(u=>{let d=c.cellIds.findWithId(u);return{columnId:d.id,index:d.indexOfOrThrow(u)}});t.moveCellsRelativeTo({cellIds:s,targetCellId:r,position:o?"before":"after",previousPlacements:l}),e.clear();return}try{let s=await navigator.clipboard.read();for(let l of s)if(l.types.includes(Ur)){let u=await(await l.getType(Ur)).text();try{let d=uf.parse(JSON.parse(u));if(d.cells.length===0)break;let p=r,f=d.cells.toReversed();for(let m of f)t.createNewCell({cellId:p,before:o,code:m.code,name:m.name,config:m.config,hideCode:(i=m.config)==null?void 0:i.hide_code,autoFocus:!0});return}catch(d){$e.warn("Failed to parse clipboard cell data",d)}}let c=await navigator.clipboard.readText();c.trim()?t.createNewCell({cellId:r,before:o,code:c,autoFocus:!0}):ff()}catch(s){$e.error("Failed to paste from clipboard",s),mf()}}),clearPendingCut:e.clear}}var Ko=t=>{let e=t===1?"Cell":`${t} cells`;kt({title:`${e} copied`,description:`${e} ${t===1?"has":"have"} been copied to clipboard.`})},Xo=()=>{kt({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},ff=()=>{kt({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},mf=()=>{kt({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},pf=class{constructor(){g(this,"items",{})}add(t,e){return ClipboardItem.supports(t)?typeof e=="string"?(this.items[t]=new Blob([e],{type:t}),this):(this.items[t]=new Blob([JSON.stringify(e)],{type:t}),this):($e.warn(`ClipboardItem does not support ${t}`),this)}build(){return new ClipboardItem(this.items)}},hf=ve();function Qo(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:Qh,createActions:Zh,valueAtom:Pr,useActions:gf}=ra(Qo,{select:(t,e)=>({selectionStart:e.cellId,selectionEnd:e.cellId,selected:new Set([e.cellId])}),extend:(t,e)=>{if(!t.selectionStart)return{selectionStart:e.cellId,selectionEnd:e.cellId,selected:new Set([e.cellId])};let{cellId:n,allCellIds:r}=e;try{let a=r.findWithId(t.selectionStart),o=a.indexOfOrThrow(t.selectionStart),i=a.indexOfOrThrow(n),[s,c]=o<i?[o,i]:[i,o],l=a.slice(s,c+1);return{selectionStart:t.selectionStart,selectionEnd:n,selected:new Set(l)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:t=>t.selected.size===0?t:Qo()});Is=()=>q(Pr);function yf(t){let e=(0,hf.c)(2),n;return e[0]===t?n=e[1]:(n=ut(r=>r(Pr).selected.has(t)),e[0]=t,e[1]=n),q(n)}fa=function(){return gf()};function bf(t){return t.get(Pr).selected}let Zo,ei,ti;Zo=ve(),{valueAtom:ei,useActions:zt}=ra(()=>new Set,{add:(t,e)=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n},remove:(t,e)=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),Si(()=>{let r=document.activeElement;if(!r)return;let a=Bn.findElementThroughShadowDOMs(r);a&&Ei(Bn.parse(a.id))}),n}}),ti=t=>ut(e=>e(ei).has(t)),ks=function(t){let e=(0,Zo.c)(2),n;return e[0]===t?n=e[1]:(n=ti(t),e[0]=t,e[1]=n),q(n)};var Rt=new WeakMap,wf=500;function vf(t){if(t.ctrlKey||t.metaKey||t.altKey)return"";let e=t.key.toLowerCase();return t.shiftKey?`shift+${e}`:e}function xf(t,e){let n=vf(t),r=t.target;if(!n||!r)return!1;let a=Rt.get(r),o=n;a!=null&&a.timeout&&clearTimeout(a.timeout),a&&(o=`${a.sequence} ${n}`);let i=e[o];if(i)return Rt.delete(r),i();if(!a){let s=e[n];if(s)return s()}if(Object.keys(e).some(s=>s.startsWith(`${o} `))){let s=window.setTimeout(()=>{Rt.delete(r)},wf);return Rt.set(r,{sequence:o,timeout:s}),!0}return Rt.delete(r),!1}var Dr=ve();function ni(t){return{handle:e=>t(e),bulkHandle:e=>{let n=!0;try{for(let r of e)n&&(n=t(r));return n}catch{return!1}}}}function Ke(t){return{handle:e=>t([e]),bulkHandle:e=>t(e)}}function Ef(t,e){let n=(0,Dr.c)(12),r=Lh(),a=Dn(),o=zt(),i;n[0]!==t||n[1]!==r?(i=()=>{r.focusCell({cellId:t})},n[0]=t,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==a||n[4]!==t||n[5]!==e||n[6]!==r||n[7]!==o?(s=u=>{var d;ri(u.relatedTarget)||ri(u.target)||ai(u.relatedTarget)===t||ai((d=u.relatedTarget)==null?void 0:d.closest("[data-for-cell-id]"))===t||(o.remove(t),a.markTouched({cellId:t}),r.blurCell(),e.current&&Mr(e.current))},n[3]=a,n[4]=t,n[5]=e,n[6]=r,n[7]=o,n[8]=s):s=n[8];let c;n[9]!==i||n[10]!==s?(c={onFocusWithin:i,onBlurWithin:s},n[9]=i,n[10]=s,n[11]=c):c=n[11];let{focusWithinProps:l}=ph(c);return l}function ri(t){return t&&t instanceof HTMLElement?t.closest(".cm-vim-panel")!==null:!1}function ai(t){return t&&t.getAttribute(Zf)||null}Ns=function(t,e){let n=(0,Dr.c)(34),{canMoveX:r,editorView:a,cellActionDropdownRef:o}=e,{saveOrNameNotebook:i}=Yt(),{saveCellConfig:s}=Hn(),c=wi(ds),l=Dn(),u=Fr(),d=zt(),p=Sh(),f=q($i),{copyCells:m,pasteAtCell:y,cutCells:b}=df(),v=fa(),S=yf(t),k=Yn(),_=aa(),P=q(Xr),A;n[0]===P?A=n[1]:(A=Gi(P),n[0]=P,n[1]=A);let T=A,G;n[2]!==k||n[3]!==v?(G={clear:()=>{k.clear(),v.clear()},extend:U=>{k.clear(),v.extend(U)},select:U=>{k.clear(),v.select(U)}},n[2]=k,n[3]=v,n[4]=G):G=n[4];let M=G,ae=q(Ji),O;n[5]===ae?O=n[6]:(O=(U,j)=>Kr(ae.getHotkey(U).key)(j.nativeEvent||j),n[5]=ae,n[6]=O);let I=O,le=Ef(t,a),ue;n[7]!==l||n[8]!==T||n[9]!==r||n[10]!==o||n[11]!==t||n[12]!==m||n[13]!==b||n[14]!==_||n[15]!==a||n[16]!==S||n[17]!==I||n[18]!==f||n[19]!==y||n[20]!==k||n[21]!==p||n[22]!==s||n[23]!==i||n[24]!==M||n[25]!==c||n[26]!==u||n[27]!==d||n[28]!==P?(ue={onKeyDown:U=>{if(Zr.fromInput(U)){U.continuePropagation();return}let j={"Mod+ArrowUp":()=>(l.focusTopCell(),M.clear(),!0),"Mod+ArrowDown":()=>(l.focusBottomCell(),M.clear(),!0),ArrowUp:()=>(l.focusCell({cellId:t,where:"before"}),M.clear(),!0),ArrowDown:()=>(l.focusCell({cellId:t,where:"after"}),M.clear(),!0),ArrowLeft:()=>{if(r){let E=u.get(rt),C=E.cellIds.findWithId(t),D=E.cellIds.indexOf(C),L=E.cellIds.at(D-1);if(L&&L.length>0){let fe=oi(t,L);return l.focusCell({cellId:fe,where:"exact"}),M.clear(),!0}}return!1},ArrowRight:()=>{if(r){let E=u.get(rt),C=E.cellIds.findWithId(t),D=E.cellIds.indexOf(C),L=E.cellIds.at(D+1);if(L&&L.length>0){let fe=oi(t,L);return l.focusCell({cellId:fe,where:"exact"}),M.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let E=u.get(ji);M.extend({cellId:t,allCellIds:E});let C=E.findWithId(t).before(t);return C&&M.extend({cellId:C,allCellIds:E}),l.focusCell({cellId:t,where:"before"}),!0},"Shift+ArrowDown":()=>{let E=u.get(ji);M.extend({cellId:t,allCellIds:E});let C=E.findWithId(t).after(t);return C&&M.extend({cellId:C,allCellIds:E}),l.focusCell({cellId:t,where:"after"}),!0},Escape:()=>u.get(fm).size>0?(u.set(vm),!0):S?(M.clear(),!0):!1,Enter:()=>(d.add(t),Ni(u,t),M.clear(),!0),s:()=>(i(),!0)};for(let[E,C]of Object.entries(j))if(Kr(E)(U)&&C()){U.preventDefault();return}let we={"cell.run":Ke(E=>(p(E),!0)),"cell.runAndNewBelow":Ke(E=>{p(E);let C=E[E.length-1];return l.moveToNextCell({cellId:C,before:!1}),!0}),"cell.runAndNewAbove":Ke(E=>{p(E);let C=E[0];return l.moveToNextCell({cellId:C,before:!0}),!0}),"cell.createAbove":E=>(l.createNewCell({cellId:E,before:!0}),!0),"cell.createBelow":E=>(l.createNewCell({cellId:E,before:!1}),!0),"cell.moveUp":Ke(E=>{let C=E[0];return u.get(rt).cellIds.findWithId(C).first()===C?!1:(E.forEach(D=>{l.moveCell({cellId:D,before:!0})}),!0)}),"cell.moveDown":Ke(E=>{let C=E[E.length-1];return u.get(rt).cellIds.findWithId(C).last()===C?!1:(E.toReversed().forEach(D=>{l.moveCell({cellId:D,before:!1})}),!0)}),"cell.moveLeft":ni(E=>r?(l.moveCell({cellId:E,direction:"left"}),!0):!1),"cell.moveRight":ni(E=>r?(l.moveCell({cellId:E,direction:"right"}),!0):!1),"cell.hideCode":Ke(E=>{var D;let C=!E.map(L=>{var fe;return((fe=u.get(rt).cellData[L])==null?void 0:fe.config)||null}).every(Sf);s({configs:Object.fromEntries(E.map(L=>[L,{hide_code:C}]))});for(let L of E)l.updateCellConfig({cellId:L,config:{hide_code:C}});if(E.length===1){let L=E[0];l.focusCell({cellId:L,where:"after"}),C?((D=a.current)==null||D.contentDOM.blur(),Ti(L)):Ni(u,L)}return!0}),"cell.focusDown":E=>(l.focusCell({cellId:E,where:"after"}),!0),"cell.focusUp":E=>(l.focusCell({cellId:E,where:"before"}),!0),"cell.sendToBottom":Ke(E=>(E.forEach(C=>{l.sendToBottom({cellId:C})}),!0)),"cell.sendToTop":Ke(E=>(E.toReversed().forEach(C=>{l.sendToTop({cellId:C})}),!0)),"cell.aiCompletion":E=>{var D;if(!T)return!1;let C=!1;return c(L=>(L==null?void 0:L.cellId)===E?(C=!0,null):{cellId:E}),C&&((D=a.current)==null||D.focus()),!0},"cell.cellActions":()=>{var E;return(E=o.current)==null||E.toggle(),!0},"command.copyCell":Ke(E=>(m(E),!0)),"command.cutCell":Ke(E=>(b(E),!0)),"command.pasteCell":E=>(y(E),!0),"command.createCellBefore":E=>Zr.hasModifier(U)?!1:(l.createNewCell({cellId:E,before:!0,autoFocus:!0}),!0),"command.createCellAfter":E=>Zr.hasModifier(U)?!1:(l.createNewCell({cellId:E,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!P.keymap.destructive_delete)return!1;let E=de.size>=2?[...de]:[t],C=u.get(rt);return E.some(D=>{let{status:L}=C.cellRuntime[D];return L==="running"||L==="queued"})?!1:k.idle?(k.submit(E),!0):(_({cellIds:E}),k.clear(),!0)}},de=bf(u);if(f==="vim"&&xf(U.nativeEvent||U,{j:j.ArrowDown,k:j.ArrowUp,h:j.ArrowLeft,l:j.ArrowRight,i:j.Enter,"shift+j":j["Shift+ArrowDown"],"shift+k":j["Shift+ArrowUp"],"g g":j["Mod+ArrowUp"],"shift+g":j["Mod+ArrowDown"],"d d":()=>we["cell.delete"](),"y y":()=>(m(de.size>=2?[...de]:[t]),!0),p:()=>(y(t,{before:!1}),!0),"shift+p":()=>(y(t,{before:!0}),!0),o:()=>(l.createNewCell({cellId:t,before:!1,autoFocus:!0}),!0),"shift+o":()=>(l.createNewCell({cellId:t,before:!0,autoFocus:!0}),!0),u:()=>(l.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[E,C]of Object.entries(we))if(I(E,U)){if(typeof C=="function"){if(C(t)){U.preventDefault();return}}else if(de.size>=2?C.bulkHandle([...de]):C.handle(t)){U.preventDefault();return}return}U.continuePropagation()}},n[7]=l,n[8]=T,n[9]=r,n[10]=o,n[11]=t,n[12]=m,n[13]=b,n[14]=_,n[15]=a,n[16]=S,n[17]=I,n[18]=f,n[19]=y,n[20]=k,n[21]=p,n[22]=s,n[23]=i,n[24]=M,n[25]=c,n[26]=u,n[27]=d,n[28]=P,n[29]=ue):ue=n[29];let{keyboardProps:oe}=as(ue),ne;return n[30]!==le||n[31]!==S||n[32]!==oe?(ne=xh(le,oe,{"data-selected":S,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[30]=le,n[31]=S,n[32]=oe,n[33]=ne):ne=n[33],ne};function Sf(t){return t==null?void 0:t.hide_code}function kf(t,e){let n=(0,Dr.c)(12),r=zt(),a=q($i),o=q(Ji),i;n[0]===o?i=n[1]:(i=Kr(o.getHotkey("command.vimEnterCommandMode").key),n[0]=o,n[1]=i);let s=i,c;n[2]!==t||n[3]!==r?(c=()=>{r.remove(t),Ti(t),Si(()=>{Ei(t)})},n[2]=t,n[3]=r,n[4]=c):c=n[4];let l=c,u;n[5]!==e||n[6]!==l?(u=()=>{if(!e.current){l();return}let m=e.current,y=m.state;if(Up(m))return;let b=!!y.field(Ci,!1)||!!y.field(hm,!1),v=qt(y)!==null;b&&Mr(m),v&&Wp(m),!(b||v)&&l()},n[5]=e,n[6]=l,n[7]=u):u=n[7];let d=u,p;n[8]!==d||n[9]!==a||n[10]!==s?(p={onKeyDown:m=>{a==="vim"?s(m)&&d():m.key==="Escape"&&d(),m.continuePropagation()}},n[8]=d,n[9]=a,n[10]=s,n[11]=p):p=n[11];let{keyboardProps:f}=as(p);return f}function oi(t,e){let n=document.getElementById(Bn.create(t));if(!n)return e.first();let r=n.getBoundingClientRect();for(let a of e.topLevelIds){let o=document.getElementById(Bn.create(a));if(o){let i=o.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return a}}return e.last()}function Mr(t){t.state.field(Ci,!1)&&t.dispatch({effects:$f.of(null)}),Em(t)}var Cf=ve(),Tf=50,Nf=4,If=60;function Af(t){return Math.min(If,Math.max(Nf,t))}const Lf=t=>{let e=(0,Cf.c)(13),{code:n,className:r}=t,a,o,i,s;if(e[0]!==r||e[1]!==n){let l=n.split(`
|
|
25
|
+
`,Tf);e[6]===r?a=e[7]:(a=at("cm","mo-code-placeholder",r),e[6]=r,e[7]=a),o="cell-editor-placeholder",i=!0,s=l.map(Of),e[0]=r,e[1]=n,e[2]=a,e[3]=o,e[4]=i,e[5]=s}else a=e[2],o=e[3],i=e[4],s=e[5];let c;return e[8]!==a||e[9]!==o||e[10]!==i||e[11]!==s?(c=(0,h.jsx)("div",{className:a,"data-testid":o,"aria-hidden":i,children:s}),e[8]=a,e[9]=o,e[10]=i,e[11]=s,e[12]=c):c=e[12],c};function Of(t,e){let n=t.trimEnd().length;return(0,h.jsx)("div",{className:"mo-code-placeholder-line",children:n>0&&(0,h.jsx)(Kh,{className:"mo-code-placeholder-bar",style:{width:`${Af(n)}ch`}})},e)}var ii=ve();let Ln;da=t=>{let e=(0,ii.c)(25),{editorView:n,code:r,currentLanguageAdapter:a,onAfterToggle:o,className:i}=t,s=i===void 0?"absolute right-3 top-2 z-20 flex hover-action gap-1":i,c;e[0]===r?c=e[1]:(c=ki.markdown.isSupported(r)||r.trim()==="",e[0]=r,e[1]=c);let l=c,u;e[2]===r?u=e[3]:(u=ki.sql.isSupported(r)||r.trim()==="",e[2]=r,e[3]=u);let d=u&&a==="python",p;e[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,h.jsx)(Xf,{color:"var(--sky-11)",strokeWidth:2.5,className:"w-4 h-4"}),e[4]=p):p=e[4];let f;e[5]!==a||e[6]!==n||e[7]!==o||e[8]!==d?(f=(0,h.jsx)(Ln,{editorView:n,currentLanguageAdapter:a,canSwitchToLanguage:d,icon:p,toType:"sql",displayName:"SQL",onAfterToggle:o}),e[5]=a,e[6]=n,e[7]=o,e[8]=d,e[9]=f):f=e[9];let m=l&&a==="python",y;e[10]===Symbol.for("react.memo_cache_sentinel")?(y=(0,h.jsx)(Dh,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),e[10]=y):y=e[10];let b;e[11]!==a||e[12]!==n||e[13]!==o||e[14]!==m?(b=(0,h.jsx)(Ln,{editorView:n,currentLanguageAdapter:a,canSwitchToLanguage:m,icon:y,toType:"markdown",displayName:"Markdown",onAfterToggle:o}),e[11]=a,e[12]=n,e[13]=o,e[14]=m,e[15]=b):b=e[15];let v;e[16]===Symbol.for("react.memo_cache_sentinel")?(v=(0,h.jsx)(Ph,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),e[16]=v):v=e[16];let S;e[17]!==a||e[18]!==n?(S=(0,h.jsx)(Ln,{editorView:n,currentLanguageAdapter:a,canSwitchToLanguage:!0,icon:v,toType:"python",displayName:"Python",onAfterToggle:Vm.NOOP}),e[17]=a,e[18]=n,e[19]=S):S=e[19];let k;return e[20]!==s||e[21]!==S||e[22]!==f||e[23]!==b?(k=(0,h.jsxs)("div",{className:s,children:[f,b,S]}),e[20]=s,e[21]=S,e[22]=f,e[23]=b,e[24]=k):k=e[24],k},Ln=t=>{let e=(0,ii.c)(10),{editorView:n,currentLanguageAdapter:r,canSwitchToLanguage:a,icon:o,toType:i,displayName:s,onAfterToggle:c}=t,l;e[0]!==n||e[1]!==c||e[2]!==i?(l=()=>{n&&(Bt(n,{language:i}),c())},e[0]=n,e[1]=c,e[2]=i,e[3]=l):l=e[3];let u=l;if(!a||r===i)return null;let d=`View as ${s}`,p;e[4]!==u||e[5]!==o?(p=(0,h.jsx)(ft,{"data-testid":"language-toggle-button",variant:"text",size:"xs",className:"opacity-80 px-1",onClick:u,children:o}),e[4]=u,e[5]=o,e[6]=p):p=e[6];let f;return e[7]!==d||e[8]!==p?(f=(0,h.jsx)(Jn,{content:d,children:p}),e[7]=d,e[8]=p,e[9]=f):f=e[9],f};var si=ve(),li=({theme:t,showPlaceholder:e,id:n,config:r,code:a,status:o,serializedEditorState:i,setEditorView:s,runCell:c,userConfig:l,editorViewRef:u,editorViewParentRef:d,hidden:p,hasOutput:f,showHiddenCode:m,languageAdapter:y,setLanguageAdapter:b,showLanguageToggles:v=!0,inlineAiTooltip:S,outputArea:k,tooltipParentSelector:_})=>{var di,fi;let[P,A]=jn(ds),T=ns(),{saveOrNameNotebook:G}=Yt(),M=Yn(),{saveCellConfig:ae}=Hn(),O=o==="running"||o==="queued",I=Dn(),le=Rh(),ue=y==="markdown",oe=se(()=>O?!1:M.idle&&l.keymap.destructive_delete?(M.submit([n]),!0):(T({cellId:n}),!0)),ne=se(()=>O?!1:(c(),u.current&&Mr(u.current),!0)),U=se(()=>{let $=!r.hide_code;return ae({configs:{[n]:{hide_code:$}}}),I.updateCellConfig({cellId:n,config:{hide_code:$}}),$}),j=q(Wm),we=q(Jm),de=se(()=>{fs({autoInstantiate:j,createNewCell:I.createNewCell}),r.hide_code||(ae({configs:{[n]:{hide_code:!0}}}),I.updateCellConfig({cellId:n,config:{hide_code:!0}}),I.markUntouched({cellId:n}))}),E=se(()=>{fs({autoInstantiate:j,createNewCell:I.createNewCell})}),C=Gi(l),D=(0,N.useMemo)(()=>{var me;let $=cd({cellId:n,showPlaceholder:e,enableAI:C,cellActions:{...I,afterToggleMarkdown:de,afterToggleSQL:E,onRun:ne,deleteCell:oe,saveNotebook:G,createManyBelow:ee=>{for(let ye of ee.toReversed())I.createNewCell({code:ye,before:!1,cellId:n,skipIfCodeExists:!0})},addOrAppendSetupCell:ee=>{let ye=xt();if(!ye.cellIds.setupCellExists()){I.addSetupCellIfDoesntExist({code:ee});return}let Un=Cm(ye)[qr],mi=Un?dm(Un):ye.cellData[qr].code,pi=mi.trim()?`${mi.trimEnd()}
|
|
26
26
|
|
|
27
|
-
${ee}`:ee;
|
|
27
|
+
${ee}`:ee;Un&&cm(Un,pi),I.updateCellCode({cellId:qr,code:pi,formattingChange:!1})},splitCell:le,toggleHideCode:U,aiCellCompletion:()=>{if(!C)return!1;let ee=!1;return A(ye=>(ye==null?void 0:ye.cellId)===n?(ee=!0,null):{cellId:n}),ee}},completionConfig:l.completion,acceptCompletionOnEnter:we,keymapConfig:l.keymap,lspConfig:l.language_servers,theme:t,hotkeys:new Bi(l.keymap.overrides??{}),diagnosticsConfig:l.diagnostics,displayConfig:l.display,inlineAiTooltip:S??((me=l.ai)==null?void 0:me.inline_tooltip)??!1,tooltipParentSelector:_});return $.push(ze.define(ee=>(b(ee.state.field(dt).type),{update(ye){b(ye.state.field(dt).type)}})),R.updateListener.of(ee=>{ee.selectionSet&&ee.state.selection.ranges.some(ye=>ye.from!==ye.to)&&m({focus:!1})}),R.domEventHandlers({focus:()=>{m({focus:!1})}})),$},[n,we,l.keymap,l.completion,l.language_servers,l.display,l.diagnostics,(di=l.ai)==null?void 0:di.inline_tooltip,S,_,C,t,e,I,le,U,oe,ne,A,de,E,b,m,G]),L=Gn()&&Oi(n),fe=se(()=>{if(L){let me=Ar(n,ee=>{I.updateCellCode({cellId:n,code:ee,formattingChange:!0})},a);D.push(me.extension),a=me.code}let $=new R({state:ta.create({doc:a,extensions:D})});s($),L||Bt($,{language:zr($.state).type})}),Je=se(()=>{if(Gt(u.current!==null,"Editor view is not initialized"),L){let $=Ar(n,me=>{I.updateCellCode({cellId:n,code:me,formattingChange:!0})});D.push($.extension)}u.current.dispatch({effects:[ce.reconfigure.of([D]),rm(u.current,{completionConfig:l.completion,hotkeysProvider:new Bi(l.keymap.overrides??{}),lspConfig:{...l.language_servers,diagnostics:l.diagnostics}})]})}),qe=se(()=>{if(Gt(i,"Editor view is not initialized"),L){let me=Ar(n,ee=>{I.updateCellCode({cellId:n,code:ee,formattingChange:!0})},a);D.push(me.extension),a=me.code}let $=new R({state:ta.fromJSON(i,{doc:a,extensions:D},{history:Op})});L||Bt($,{language:zr($.state).type}),s($),I.clearSerializedEditorState({cellId:n})}),[Ve,F]=(0,N.useState)(i!==null);(0,N.useEffect)(()=>{if(u.current!==null){F(!0);return}if(F(!1),i!==null){qe(),F(!0);return}return Mn.request(n,()=>{u.current===null&&(fe(),F(!0))}),()=>Mn.cancel(n)},[n,u,qe,fe,i]),(0,N.useEffect)(()=>{u.current!==null&&Je()},[Je,D,u]),(0,N.useEffect)(()=>()=>{var $;($=u.current)==null||$.destroy(),u.current=null},[u]);let[ie,Y]=sp({rootMargin:"300px 0px",threshold:0});(0,N.useEffect)(()=>{Ve||(Y!=null&&Y.isIntersecting?Mn.prioritize(n):Mn.deprioritize(n))},[Ve,Y==null?void 0:Y.isIntersecting,n]);let vt=kf(n,u),_n="";return ue&&p&&f?_n="h-0 overflow-hidden":p&&(_n="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,h.jsx)(lf,{cellId:n,aiCompletionCell:P,currentCode:((fi=u.current)==null?void 0:fi.state.doc.toString())??a,currentLanguageAdapter:y,declineChange:se(()=>{var $;A(null),($=u.current)==null||$.focus()}),onChange:se($=>{var me;(me=u.current)==null||me.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:$}})}),acceptChange:se($=>{var me,ee;(me=u.current)==null||me.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:$}}),(ee=u.current)==null||ee.focus(),A(null)}),runCell:ne,outputArea:k,children:(0,h.jsxs)("div",{className:"relative w-full",ref:ie,...vt,children:[Ve?(0,h.jsx)(ci,{className:_n,editorView:u.current,ref:d,hidden:p,showHiddenCode:m}):(0,h.jsx)(Lf,{code:a,className:_n}),!p&&v&&(0,h.jsx)("div",{className:"absolute top-1 right-5",children:(0,h.jsx)(da,{code:a,editorView:u.current,currentLanguageAdapter:y,onAfterToggle:de})})]})})},ci=N.forwardRef((t,e)=>{let n=(0,si.c)(14),{className:r,editorView:a,hidden:o,showHiddenCode:i}=t,s=(0,N.useRef)(null),c,l;n[0]===a?(c=n[1],l=n[2]):(c=()=>{a!==null&&s.current!==null&&s.current.children.length===0&&s.current.append(a.dom)},l=[a,s],n[0]=a,n[1]=c,n[2]=l),(0,N.useEffect)(c,l);let u;n[3]===r?u=n[4]:(u=at("cm mathjax_ignore",r),n[3]=r,n[4]=u);let d;n[5]!==o||n[6]!==i?(d=m=>{o&&i&&(m.stopPropagation(),i({focus:!0}))},n[5]=o,n[6]=i,n[7]=d):d=n[7];let p;n[8]===e?p=n[9]:(p=m=>{e?Kn(e,s)(m):Kn(s)(m)},n[8]=e,n[9]=p);let f;return n[10]!==u||n[11]!==d||n[12]!==p?(f=(0,h.jsx)("div",{className:u,onDoubleClick:d,ref:p,"data-testid":"cell-editor"}),n[10]=u,n[11]=d,n[12]=p,n[13]=f):f=n[13],f});ci.displayName="CellCodeMirrorEditor";function _f(t){let e=n=>{let r=(0,si.c)(5),a=q(Et),[o,i]=jn(pt);if(Gn()&&Oi(n.id)&&(Ym(a.state)||o===void 0)){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,h.jsx)("span",{children:"Waiting for real-time collaboration connection..."}),r[0]=c):c=r[0];let l;return r[1]===i?l=r[2]:(l=(0,h.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,h.jsxs)(lp,{milliseconds:1e3,fallback:null,children:[c,(0,h.jsx)(ft,{variant:"link",onClick:()=>{i("disabled")},children:"Turn off real-time collaboration"})]})}),r[1]=i,r[2]=l),l}let s;return r[3]===n?s=r[4]:(s=(0,h.jsx)(t,{...n}),r[3]=n,r[4]=s),s};return e.displayName=`WithWaitUntilConnected(${t.displayName})`,e}As=Gn()?_f((0,N.memo)(li)):(0,N.memo)(li)});export{ca as _,Xh as __tla,zt as a,Yn as b,Kn as c,Xn as d,ua as f,xe as g,Ss as h,ks as i,Cs as l,Ts as m,da as n,fa as o,pt as p,Ns as r,Is as s,As as t,Yt as u,Qn as v,Ls as y};
|