isorite 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/main.js +609 -96
- package/docs/setup-for-agents.md +3 -0
- package/docs/setup.md +20 -0
- package/docs/terminal.md +15 -0
- package/package.json +1 -1
- package/plugin/server.ts +4 -2
- package/web/_app/immutable/assets/{0.BKnIhFWM.css → 0.CTbO0owi.css} +1 -1
- package/web/_app/immutable/chunks/B-65IYX-.js +6 -0
- package/web/_app/immutable/chunks/{62dhNtvj.js → B91efLFT.js} +3 -3
- package/web/_app/immutable/chunks/{Cn-vtDpV.js → BjPiibIz.js} +1 -1
- package/web/_app/immutable/chunks/{BNjH_DUx.js → BrXPCJaM.js} +1 -1
- package/web/_app/immutable/chunks/{B7GA1FFB.js → BtUtjfIh.js} +1 -1
- package/web/_app/immutable/chunks/{CYNZ4aV_.js → CCiHXe5d.js} +1 -1
- package/web/_app/immutable/chunks/{DHfKGggc.js → CGzfi9Nl.js} +1 -1
- package/web/_app/immutable/chunks/CnP_Si9g.js +1 -0
- package/web/_app/immutable/chunks/{CWmfjLLv.js → D_JZ0swv.js} +1 -1
- package/web/_app/immutable/chunks/{WBFggAXs.js → DgZW3JtG.js} +1 -1
- package/web/_app/immutable/chunks/{CVbgxz8Y.js → Di_ac7WN.js} +1 -1
- package/web/_app/immutable/chunks/{DsBJWNWe.js → NmqB5ax3.js} +1 -1
- package/web/_app/immutable/chunks/{BoNMG-YE.js → dvrIP-Hm.js} +1 -1
- package/web/_app/immutable/chunks/hOAYc4Tf.js +1 -0
- package/web/_app/immutable/entry/{app.Dt52eXt2.js → app.DO9lj7h3.js} +2 -2
- package/web/_app/immutable/entry/start.Bg5TZs6n.js +1 -0
- package/web/_app/immutable/nodes/0.N1e1uAFq.js +26 -0
- package/web/_app/immutable/nodes/{1.B5qkcrvB.js → 1.BRTPLKyU.js} +1 -1
- package/web/_app/immutable/nodes/2.BWh1AYEd.js +1 -0
- package/web/_app/immutable/nodes/3.Cgqgn7Zv.js +1 -0
- package/web/_app/immutable/nodes/{4.BhNJiqT-.js → 4.DYW7Fxdy.js} +1 -1
- package/web/_app/immutable/nodes/{5.DXTbGemS.js → 5.Dkvkif0E.js} +1 -1
- package/web/_app/immutable/nodes/6.BinB0fuq.js +1 -0
- package/web/_app/version.json +1 -1
- package/web/index.html +15 -15
- package/web/_app/immutable/chunks/B3dCo0od.js +0 -1
- package/web/_app/immutable/chunks/D6Vzg2HD.js +0 -6
- package/web/_app/immutable/chunks/DkvLWnSd.js +0 -1
- package/web/_app/immutable/entry/start.mjqIl2PI.js +0 -1
- package/web/_app/immutable/nodes/0.DIhIOwuo.js +0 -26
- package/web/_app/immutable/nodes/2.CK3q7brK.js +0 -1
- package/web/_app/immutable/nodes/3.CrUewa31.js +0 -1
- package/web/_app/immutable/nodes/6.BZWaFgFP.js +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import{$ as e,A as t,B as n,C as r,D as i,F as a,G as o,H as s,I as c,J as l,K as u,L as d,M as f,N as p,P as m,Q as h,S as g,T as _,U as v,V as y,X as b,Y as x,Z as S,_ as C,at as w,b as T,c as E,ct as D,d as O,dt as k,et as A,f as j,ft as M,g as N,gt as P,h as F,i as I,j as L,k as R,l as z,m as B,mt as V,n as H,ot as U,p as W,pt as ee,q as G,rt as te,s as ne,tt as K,u as re,ut as ie,v as ae,w as oe,x as se,z as ce}from"../chunks/nMarIA7J.js";import{o as le,t as ue}from"../chunks/BrXPCJaM.js";import"../chunks/xihTtKlq.js";import{O as de,d as q,f as fe,g as pe,h as J,i as me,m as Y,p as he,t as ge}from"../chunks/B91efLFT.js";import{i as _e,t as ve}from"../chunks/Di_ac7WN.js";import{o as ye,r as be,s as xe,t as X}from"../chunks/CnP_Si9g.js";import{i as Z,n as Se,r as Ce,t as we}from"../chunks/hOAYc4Tf.js";import{t as Te}from"../chunks/NmqB5ax3.js";import{t as Ee}from"../chunks/CCiHXe5d.js";import{i as De,n as Oe,r as ke,t as Ae}from"../chunks/DZYaqCwi.js";var je={name:`openrouter`,url:`https://openrouter.ai/api/v1`,cacheMarks:!0,tiers:{low:`anthropic/claude-haiku-4.5`,mid:`anthropic/claude-sonnet-5.5`,max:`anthropic/claude-opus-5.5`},prices:{},auth:`https://openrouter.ai/auth`},Me={type:`string`};({...Me}),{...Me},{...Me},{...Me},{...Me};var Ne={type:`string`};({...Ne}),{...Ne},{...Ne},{...Ne},{...Ne},{...Ne},{...Ne},{...Ne},{...Ne},{...Ne},{...Ne},{...Ne},{...Ne};var Pe=`The change is written at once, under your name: the person sees your words marked in the note, and can undo it from the browser. Use this, never edit or write, for any note of the knowledge base.`;`${Pe}`,`${Pe}`;var Fe=`physics`,Ie=`integrators`,Le=`algorithms`,Re=`simulation`,ze=(e,t)=>`${e}/${t}`;ze(Fe,`newtons-law-of-gravitation`),ze(Fe,`the-n-body-problem`),ze(Fe,`units`),ze(Fe,`energy-conservation`),ze(Fe,`softening`),ze(Ie,`eulers-method`),ze(Ie,`leapfrog`),ze(Ie,`symplectic-integrators`),ze(Ie,`choosing-the-timestep`),ze(Le,`direct-summation`),ze(Le,`centre-of-mass`),ze(Le,`the-quadtree`),ze(Le,`barnes-hut`),ze(Le,`cost-and-accuracy`),ze(Re,`the-main-loop`),ze(Re,`initial-conditions`),ze(Re,`diagnostics`),ze(Re,`two-galaxies-colliding`);var Be=`$F = G m_1 m_2 / d^2 = 1 \\cdot \\tfrac12 \\cdot \\tfrac12 / 1 = \\tfrac14$.
|
|
2
|
+
|
|
3
|
+
Each accelerates at $a = F/m = \\tfrac14 / \\tfrac12$.
|
|
4
|
+
|
|
5
|
+
So each accelerates at $\\tfrac12$, towards the other.`,Ve=`$M = 1 + 2 + 1 = 4$.
|
|
6
|
+
|
|
7
|
+
$\\mathbf{R} = (1 \\cdot (0,0) + 2 \\cdot (3,0) + 1 \\cdot (0,4)) / 4 = (6, 4)/4$.
|
|
8
|
+
|
|
9
|
+
So $\\mathbf{R} = (1.5, 1)$, with $M = 4$.`,He=`The drift falls as $\\Delta t^2$; at $T/100$ it is a few parts in a million.
|
|
10
|
+
|
|
11
|
+
So $\\Delta t = 2\\pi/100 \\approx 0.06$ is enough.
|
|
12
|
+
|
|
13
|
+
Check: record $E$ every 100 steps and plot the drift; halve $\\Delta t$ and it should fall by four.`;[20,17,12,5,2].map(e=>({day:e,working:Be})),[6,4,2,1].map(e=>({day:e,working:Ve})),[11,7].map(e=>({day:e,working:He}));var Ue=`surfaces`,We=`curvature`,Ge=`global`,Q=(e,t)=>`${e}/${t}`;Q(Ue,`regular-surfaces`),Q(Ue,`first-ff`),Q(Ue,`second-ff`),Q(Ue,`orientable`),Q(We,`gaussian-curvature`),Q(We,`egregium`),Q(We,`gauss-equation`),Q(We,`geodesic-curvature`),Q(Ge,`euler`);var Ke=Q(Ge,`gauss-bonnet`);Q(Ge,`triangulations`);var qe=Q(Ge,`where-is-compactness-used`);Q(Ue,`why-ii-changes-sign`),Q(We,`derivatives-when-f-is-zero`),Q(Ge,`kg-at-the-corners`);var Je=Q(Ge,`total-curvature-of-the-torus`),Ye=Q(Ge,`angles-of-a-geodesic-triangle`);Q(Ge,`gauss-bonnet-and-the-mobius-band`),Q(We,`curvature-of-a-sphere`),Q(We,`curvature-of-the-saddle`),Q(We,`the-cylinder-and-the-plane`),Q(We,`k-from-e-and-g-alone`),Q(We,`catenoid-and-helicoid`),Q(Ge,`chi-of-a-surface-of-genus-g`),`${Ke}${Je}${Ke}${qe}${Ye}`;var Xe=P({load:()=>Ze});async function Ze(){return await X.load(),{}}var Qe=/\]\(\/([^)\s#]+)\.md(?:#[^)\s]*)?(?:\s+"[^"]*")?\)/g,$e=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),et=e=>e.split(`/`).map(encodeURIComponent).join(`/`);function tt(e){let t=[];for(let n of e.matchAll(Qe)){let e=decodeURIComponent(n[1]);t.includes(e)||t.push(e)}return t}function nt(e,t,n){let r=e.replace(/\s+$/,``),i=RegExp(`^\\[[^\\]\\n]*\\]\\(/[^)\\n]*\\.md\\)$`);return`${r}${!r||r.endsWith(`---`)?`
|
|
14
|
+
|
|
15
|
+
`:i.test(r.split(`
|
|
16
|
+
`).at(-1))?`
|
|
17
|
+
`:`
|
|
18
|
+
|
|
19
|
+
`}[${n.replace(/[[\]]/g,``)}](/${et(t)}.md)\n`}function rt(e,t){let n=`\\[[^\\]\\n]*\\]\\(/${$e(et(t))}\\.md\\)`,r=e.split(`
|
|
20
|
+
`),i=r.filter(e=>!RegExp(`^${n}$`).test(e.trim()));return i.length===r.length||tt(i.join(`
|
|
21
|
+
`)).includes(t)?null:i.join(`
|
|
22
|
+
`).replace(/\n{3,}/g,`
|
|
23
|
+
|
|
24
|
+
`).replace(/\s+$/,``)+`
|
|
25
|
+
`}function it(e){return(/^title:[ \t]*(.*)$/m.exec(e.split(/^---\s*$/m)[1]??``)?.[1]??``).trim().replace(/^(["'])(.*)\1$/,`$2`)}var at=e=>e<1e3?String(e):e<1e4?`${(e/1e3).toFixed(1)}k`:`${Math.round(e/1e3)}k`,ot=xe(`isorite.atlas.drafts`),st=()=>{try{return JSON.parse(localStorage.getItem(ot)??`{}`)}catch{return{}}},ct=e=>st()[e]??null;function lt(e,t,n){for(let r=1;;r++){let i=r===1?t:`${t}-${r}`;if(n([e,i].filter(Boolean).join(`/`)))return{slug:i,n:r}}}async function ut(e,t){let n=X.listing.notes.map(e=>e.id),r=t.split(`/`).slice(0,-1).join(`/`),i=lt(r,`untitled-${e}`,e=>!n.includes(e)),a=[r,i.slug].filter(Boolean).join(`/`),o=`Untitled ${e}${i.n===1?``:` ${i.n}`}`;return await X.api.createNote(a,`---\ntype: ${e===`question`?`Question`:`Problem`}\ntitle: ${JSON.stringify(o)}\n${e===`question`?`about`:`uses`}: [${t}]\n---\n\n`),await X.refresh(),Z.fresh=a,await Z.open(a,!0),a}var dt=L(`<li class="svelte-1a0w8ls"><b class="num svelte-1a0w8ls"> </b><span class="t svelte-1a0w8ls"> </span><span class="faint"> </span></li>`),ft=L(`<span class="label over svelte-1a0w8ls"> </span>`),pt=L(`<div class="dock svelte-1a0w8ls" role="region" aria-label="Notes linked to the note for Iso"><i class="dia open" aria-hidden="true"></i> <div class="what svelte-1a0w8ls"><span class="name svelte-1a0w8ls"> </span> <span class="label" role="status"> </span></div> <ol class="grow svelte-1a0w8ls"></ol> <!> <a class="btn primary tall svelte-1a0w8ls">back to it</a></div>`);function mt(e,t){U(t,!0);let n=I(t,`notice`,3,``),r=K(()=>t.picked.reduce((e,t)=>e+t.tokens,0)),a=K(()=>d(r)>t.budget),o=K(()=>[`${t.picked.length} linked`,t.picked.length?`${at(d(r))} tokens`:``,d(a)?`over ${at(t.budget)}`:``,n()].filter(Boolean).join(` · `));var c=pt(),l=b(G(c),2),u=G(l),f=x(u,!0),p=b(u,2),m=x(p,!0);k(l);var h=b(l,2);g(h,23,()=>t.picked,e=>e.id,(e,t,n)=>{var r=dt(),a=G(r),o=x(a,!0),c=b(a),l=x(c,!0),u=b(c),f=x(u,!0);k(r),s(e=>{i(o,d(n)+1),i(l,d(t).title),i(f,e)},[()=>at(d(t).tokens)]),R(e,r)}),k(h);var v=b(h,2),y=e=>{var n=ft(),r=x(n);s(e=>i(r,`over ${e??``}: the last are cut short, or left for Iso to read itself`),[()=>at(t.budget)]),R(e,n)};_(v,e=>{d(a)&&e(y)});var S=b(v,2);k(c),s(()=>{i(f,t.title||`a new note`),i(m,d(o)),j(S,`href`,t.href)}),R(e,c),w()}var $=new class{#e=e(``);get id(){return d(this.#e)}set id(e){h(this.#e,e,!0)}#t=e([]);get turns(){return d(this.#t)}set turns(e){h(this.#t,e)}#n=e(``);get streaming(){return d(this.#n)}set streaming(e){h(this.#n,e,!0)}#r=e(null);get retrying(){return d(this.#r)}set retrying(e){h(this.#r,e)}#i=e(``);get problem(){return d(this.#i)}set problem(e){h(this.#i,e,!0)}#a=e(null);get report(){return d(this.#a)}set report(e){h(this.#a,e)}#o=e(`chat`);get view(){return d(this.#o)}set view(e){h(this.#o,e,!0)}#s=e([]);get off(){return d(this.#s)}set off(e){h(this.#s,e)}#c=e(!1);get summing(){return d(this.#c)}set summing(e){h(this.#c,e,!0)}async toggle(e){if(this.problem=``,/^[rtb]:/.test(e.key)){if(!this.id)return;try{await X.api.setContext(this.id,e.key,!e.on)}catch(e){this.problem=e.message}}else this.off=this.off.includes(e.key)?this.off.filter(t=>t!==e.key):[...this.off,e.key];this.measure()}takeOut(e){let t=e.given;if(!t)return;let n=Y.parts.find(e=>e.kind===t.kind&&e.id===t.id&&(t.kind!==`passage`||e.kind===`passage`&&e.text===t.text));n&&Y.remove(n),this.off=this.off.filter(t=>t!==e.key)}async compact(){if(!(!this.id||this.running||this.summing)){this.problem=``,this.summing=!0;try{await X.api.compact(this.id)}catch(e){this.problem=e.message}finally{this.summing=!1}this.measure()}}async branch(){if(!(!this.id||this.running||this.summing)){this.problem=``,this.summing=!0;try{let{conversation:e}=await X.api.branch(this.id);this.id=e,this.turns=[],this.streaming=``,this.off=this.off.filter(e=>!/^[rtb]:/.test(e))}catch(e){this.problem=e.message}finally{this.summing=!1}this.measure()}}sizeOf(e){let t=this.report?.given?.find(t=>t.kind===e.kind&&t.id===e.id&&(e.kind!==`passage`||t.text===e.text));return t?t.tokens:null}started=!1;timer;get running(){let e=this.turns.at(-1);return e?.state===`running`?e:null}start(){!this.started&&X.api&&(this.started=!0,X.api.conversation().then(e=>{e&&!this.id&&this.show(e)},()=>void 0),X.on(e=>this.follow(e)),this.measure())}async again(e){if(this.problem=``,this.running||e.state!==`failed`)return!1;this.off=this.off.includes(e.id)?this.off:[...this.off,e.id];try{let{conversation:t}=await X.api.converse({conversation:e.conversation,mode:e.mode,asked:e.asked,given:e.given,tier:e.tier,off:this.off});return this.id=t,!0}catch(e){return this.problem=e.message,!1}}show(e){this.id=e.id,this.turns=e.turns}fresh(){this.running||(this.id=``,this.turns=[],this.streaming=``,this.off=[],this.measure())}async send(e){if(this.problem=``,!e.trim()||this.running)return!1;try{let t=Y.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id}),{conversation:n}=await X.api.converse({...this.id?{conversation:this.id}:{},mode:Z.mode,asked:e.trim(),given:t,tier:he.tier,...this.off.length?{off:this.off}:{}});return this.id=n,!0}catch(e){return this.problem=e.message,!1}}async stop(){let e=this.running;e&&await X.api.stop(e.id)}async undo(e){this.problem=``;try{await X.api.undoTurn(this.id,e)}catch(e){this.problem=e.message}}async take(e,t){this.problem=``;try{await X.api.takeItem(this.id,e,t)}catch(e){this.problem=e.message}}async answer(e,t){let n=this.running;n&&await X.api.answer(n.id,e,t)}follow(e){if(e.type===`iso-start`&&e.place.form===`turn`){if(this.id&&e.place.conversation!==this.id)return;this.id=e.place.conversation,this.streaming=``,this.turns=[...this.turns.filter(t=>t.id!==e.request),{id:e.request,conversation:e.place.conversation,at:new Date().toISOString(),mode:e.place.mode,asked:e.asked,given:e.place.given,tier:e.tier,items:[],state:`running`}];return}if(!(`request`in e)){(e.type===`note-changed`||e.type===`journal`||e.type===`context`&&e.conversation===this.id)&&this.measure();return}let t=this.turns.findIndex(t=>t.id===e.request);if(t<0)return;let n=this.turns[t],r=e=>{this.turns=this.turns.map((n,r)=>r===t?e:n)};e.type===`iso-retry`?this.retrying={retry:e.retry,of:e.of}:(this.retrying=null,e.type===`iso-text`?this.streaming=e.again?e.delta:this.streaming+e.delta:e.type===`iso-item`?(e.item.kind===`text`&&(this.streaming=``),r({...n,items:[...n.items,e.item]})):e.type===`iso-taken`?r({...n,items:n.items.map(t=>t.kind===`question`&&t.id===e.item?{...t,made:e.note}:t.kind===`offer`&&t.id===e.item?{...t,taken:!0}:t)}):e.type===`iso-answer`?r({...n,items:n.items.map(t=>t.kind===`permission`&&t.id===e.permission?{...t,answer:e.decision}:t)}):e.type===`iso-done`?(r({...n,state:`done`,cost:e.cost}),this.streaming=``,this.measure()):e.type===`iso-stopped`?(r({...n,state:`stopped`,...this.streaming?{items:[...n.items,{kind:`text`,text:this.streaming}]}:{}}),this.streaming=``):e.type===`iso-failed`&&(r({...n,state:`failed`,message:e.message}),this.streaming=``))}measure(){clearTimeout(this.timer),this.timer=setTimeout(()=>{if(!X.api)return;let e=Y.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id});X.api.turnContext({...this.id?{conversation:this.id}:{},mode:Z.mode,given:e,tier:he.tier,...this.off.length?{off:this.off}:{}}).then(e=>this.report=e,()=>void 0)},250)}},ht=4.5,gt=.04;function _t(e){let t=e.items.map(t=>{let n=[];for(let r=t.parent;r>=0;r=e.items[r].parent)n.push(r);return n}),n=e.items.map(()=>0);e.items.forEach((e,r)=>{if(e.kind===`note`)for(let e of t[r])n[e]++});let r=(t,n)=>{for(;e.items[t].parent!==n;)t=e.items[t].parent;return t},i=new Map(e.trunks.map((e,t)=>[`${e.a}|${e.b}`,t])),a=e.links.some(e=>e.s>=3)?3:2,o=e.trunks.map(()=>!1);for(let t of e.links){let e=t.s>=a?i.get(`${r(t.a,t.level)}|${r(t.b,t.level)}`):void 0;e!==void 0&&(o[e]=!0)}return{up:t,noteCount:n,strong:o,at:new Map(e.items.flatMap((e,t)=>e.kind===`note`?[[e.ref,t]]:[])),trunkAt:i,feederAt:new Map(e.feeders.map((e,t)=>[`${e.trunk}|${e.folder}|${e.item}`,t])),ownPath:new Map(e.trunks.flatMap(e=>e.pts?[[`${e.a}|${e.b}`,e.pts]]:[]))}}var vt=new WeakMap;function yt(e){let t=vt.get(e);return t||vt.set(e,t={...e,trunks:e.highways.trunks,feeders:e.highways.feeders}),t}function bt(e,t){let n=[];return e.items.forEach((r,i)=>{let a=r.parent<0||n[r.parent]===`o`;n[i]=a?r.kind===`folder`&&e.cell*t>=1.2&&Math.max(r.w,r.h)*e.cell*t>=53?`o`:`s`:`-`}),n.join(``)}function xt(e,t,n){let r=e.up[n];for(let e=r.length-1;e>=0;e--)if(t[r[e]]!==`o`)return r[e];return n}function St(e,t,n=[],r=!1){let i=e=>t[e]!==`-`,a=[];return e.trunks.forEach((t,r)=>{let o=e.items[t.a].kind===`folder`&&e.items[t.b].kind===`folder`;t.pts&&!t.implied&&i(t.a)&&i(t.b)&&a.push({key:`t`+r,pts:t.pts,lane:0,count:t.count,feed:!o,strong:n[r]??!0})}),e.feeders.forEach((o,s)=>{let c=e.trunks[o.trunk];(r||!o.leaf)&&!c.implied&&t[o.folder]===`o`&&i(o.item)&&i(c.a)&&i(c.b)&&a.push({key:`f`+s,pts:o.pts,lane:o.lane,count:o.count,feed:!0,strong:n[o.trunk]??!0})}),a}var Ct=(e,t)=>Math.abs(e[0]-t[0])<1e-6&&Math.abs(e[1]-t[1])<1e-6;function wt(e,t,n,r){let i=new Set(t.up[r]),a=t.up[n].find(e=>i.has(e))??-1,o=e=>{let n=[e];for(let r of t.up[e]){if(r===a)break;n.push(r)}return n},s=o(n),c=o(r),l=t.trunkAt.get(`${s.at(-1)}|${c.at(-1)}`);if(l===void 0||!e.trunks[l].pts||s.length<2&&c.length<2)return null;let u=(t,n=0)=>{let r=e.feeders[t];if(r.via<0||n>40)return r.pts;let i=u(r.via,n+1),a=i.findIndex(e=>Ct(e,r.pts.at(-1)));return a<0?r.pts:[...r.pts,...i.slice(a+1)]},d=e=>{let n=[];for(let r=0;r+1<e.length;r++){let i=t.feederAt.get(`${l}|${e[r+1]}|${e[r]}`);if(i===void 0)return null;n=n.concat(u(i))}return n},f=d(c),p=d(s);if(!f||!p)return null;let m=[...f,...e.trunks[l].pts,...p.reverse()];return m.filter((e,t)=>!t||!Ct(e,m[t-1]))}var Tt=[`uses`,`builds`,`requires`,`iso`];function Et(e,t=!1){let n=e=>`${Math.round(e[0]*100)},${Math.round(e[1]*100)}`,r=new Map,i=new Map;for(let t of e){let e=Tt.indexOf(t.kind??`requires`),a=new Set;for(let o=1;o<t.pts.length;o++){let[s,c]=t.pts[o-1],[l,u]=t.pts[o],d=Math.max(1,Math.round(Math.max(Math.abs(l-s),Math.abs(u-c))*2));for(let o=0;o<d;o++){let f=[s+(l-s)*o/d,c+(u-c)*o/d],p=[s+(l-s)*(o+1)/d,c+(u-c)*(o+1)/d],m=n(f),h=n(p),g=m<h?m+`|`+h:h+`|`+m;if(m===h||a.has(g))continue;a.add(g);let _=r.get(g);if(!_){_=m<h?{a:m,b:h,A:f,B:p,count:0,strong:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]}:{a:h,b:m,A:p,B:f,count:0,strong:!1,trunk:!1,kind:0,fwd:[0,0,0,0],back:[0,0,0,0]},r.set(g,_);for(let e of[_.a,_.b]){let t=i.get(e);t?t.push(g):i.set(e,[g])}}_.count+=t.count??1,_.strong||=t.strong??!0,_.trunk||=t.feed===!1,_.kind=Math.max(_.kind,e),(m===_.a?_.fwd:_.back)[e]+=1}}}let a=e=>t?`${e.kind}|${e.count}`:`${e.count}|${e.strong}|${e.trunk}`,o=(e,n)=>{let r=e.fwd[e.kind],i=e.back[e.kind];return!t||r&&i?0:(r?1:-1)*(n===e.a?1:-1)},s=(e,t)=>t===e.a?e.b:e.a,c=(e,t)=>t===e.a?e.A:e.B,l=(e,t,n)=>{let r=s(e,t);return a(e)===a(n)&&o(e,t)===o(n,r)},u=new Set,d=[],f=new Set,p=(e,t)=>{let p=e,m=t,h=r.get(m),g=[c(h,p)],_=o(h,p);for(;;){u.add(m);let e=s(h,p);g.push(c(h,e));let t=i.get(e).filter(e=>e!==m);if(t.length!==1||u.has(t[0])||!l(h,p,r.get(t[0])))break;p=e,m=t[0],h=r.get(m)}_<0&&g.reverse();let v=`${n(g[0])}>${n(g.at(-1))}:${a(h)}`;for(let e=2;f.has(v);e++)v=`${v.split(`#`)[0]}#${e}`;f.add(v),d.push({key:v,pts:g,count:h.count,strong:h.strong,trunk:h.trunk,kind:Tt[h.kind],flow:+!!_})};for(let[e,t]of i)if(t.length!==2||!l(r.get(t[0]),s(r.get(t[0]),e),r.get(t[1])))for(let n of t)u.has(n)||p(e,n);for(let[e,t]of r)u.has(e)||p(t.a,e);return d}function Dt(e,t,n,r){let i=[],a=[],o=new Set;for(let{a:s,b:c,kind:l}of r){let r=xt(t,n,s),u=xt(t,n,c),d=`${l}:${r}|${u}`;if(r===u||o.has(d))continue;o.add(d);let f=(n,i)=>r===s&&u===c?t.ownPath.get(`${n}|${i}`)??wt(e,t,n,i):t.ownPath.get(`${n}|${i}`)??null,p=f(r,u)??f(u,r)?.slice().reverse()??null;p?i.push({key:d,kind:l,pts:p}):a.push({key:d,kind:l,a:r,b:u})}return{fixed:i,asks:a}}function Ot(e,t){if(!t)return e;let n=(e,t)=>{let n=t[0]-e[0],r=t[1]-e[1],i=Math.hypot(n,r)||1;return n/=i,r/=i,(n<-1e-6||Math.abs(n)<1e-6&&r<0)&&(n=-n,r=-r),[-r,n]};return e.map((r,i)=>{let a=i>0?n(e[i-1],r):n(r,e[i+1]),o=i<e.length-1?n(r,e[i+1]):a,s=1+a[0]*o[0]+a[1]*o[1];return s<.2?[r[0]+a[0]*t,r[1]+a[1]*t]:[r[0]+(a[0]+o[0])/s*t,r[1]+(a[1]+o[1])/s*t]})}function kt(e,t=0,n=7){let r=Ot(e.map(([e,t])=>[e*n,t*n]),t*2.2),i=Math.min(n,10.5)*.9,a=r.filter((e,t)=>t===0||t===r.length-1||Math.abs((e[0]-r[t-1][0])*(r[t+1][1]-e[1])-(e[1]-r[t-1][1])*(r[t+1][0]-e[0]))>.001),o=e=>String(Math.round(e*10)/10),s=`M${o(a[0][0])} ${o(a[0][1])}`;for(let e=1;e<a.length-1;e++){let t=a[e-1],n=a[e],r=a[e+1],c=Math.hypot(n[0]-t[0],n[1]-t[1])||1,l=Math.hypot(r[0]-n[0],r[1]-n[1])||1;if(!(Math.abs((n[0]-t[0])*(r[0]-n[0])+(n[1]-t[1])*(r[1]-n[1]))<.001*c*l)){s+=`L${o(n[0])} ${o(n[1])}`;continue}let u=Math.min(i,c/2,l/2);s+=`L${o(n[0]-(n[0]-t[0])/c*u)} ${o(n[1]-(n[1]-t[1])/c*u)}L${o(n[0]+(r[0]-n[0])/l*u)} ${o(n[1]+(r[1]-n[1])/l*u)}`}let c=a.at(-1);return s+`L${o(c[0])} ${o(c[1])}`}function At(e,t,n){let r=n?t[0]-e[0]:t[1]-e[1],i=n?t[1]-e[1]:t[0]-e[0],a=Math.abs(r),o=Math.abs(i),s=Math.sign(r),c=Math.sign(i),l=(t,r)=>n?[e[0]+t,e[1]+r]:[e[0]+r,e[1]+t];if(a>=o){let e=(a-o)/2;return[l(0,0),l(s*e,0),l(s*(e+o),c*o),l(r,i)]}let u=a/2;return[l(0,0),l(s*u,c*u),l(s*u,c*(o-u)),l(r,i)]}function jt(e,t,n,r=3,i=7){let a=Math.max(gt,Math.min(r,.96*Math.min(t/((e.w+4)*i),n/((e.h+4)*i))));return{k:a,x:t/2-a*(e.gx+e.w/2)*i,y:n/2-a*(e.gy+e.h/2)*i}}function Mt(e,t,n,r){let i=Math.max(gt,Math.min(3,e.k*t)),a=i/e.k;return{k:i,x:n-(n-e.x)*a,y:r-(r-e.y)*a}}function Nt(e,t){let n=new Set,r=e=>({...e,children:e.children.flatMap(e=>e.kind===`dir`?[r(e)]:t(e.ref)?(n.add(e.ref),[]):[e])}),i=r(e.root);return n.size?{root:i,edges:e.edges.filter(([e,t])=>!n.has(e)&&!n.has(t))}:e}var Pt=1;function Ft(e,t,n){if(!n.web&&!n.code)return[];let r=[];for(let i of e){let e=(t[i.ref]?.links??[]).filter(e=>n[e.kind]),a=Math.max(1,Math.floor((i.h+Pt)/4));e.forEach((e,t)=>{let n=Math.floor(t/a),o=t%a;r.push({key:`${i.ref} ${e.href}`,kind:e.kind,href:e.href,text:e.text,broken:!!e.broken,gx:i.gx+i.w+Pt+n*4,gy:i.gy+o*4})})}return r}var It=2;function Lt(e){let{W:t,H:n,items:r}=e,i=new Int8Array(t*n),a=new Uint8Array(t*n),o=new Int32Array(t*n).fill(-1),s=new Int32Array(t*n).fill(-1),c=r.map((e,t)=>t).filter(e=>r[e].kind===`folder`).sort((e,t)=>r[e].depth-r[t].depth||e-t);for(let e of c){let n=r[e];for(let r=n.gy;r<n.gy+n.h;r++)for(let a=n.gx;a<n.gx+n.w;a++)i[r*t+a]=n.depth,o[r*t+a]=e}r.forEach((e,n)=>{if(e.kind===`note`)for(let r=e.gy;r<e.gy+e.h;r++)for(let i=e.gx;i<e.gx+e.w;i++)a[r*t+i]=1,s[r*t+i]=n});let l=new Uint8Array(t*n),u=e.keep??It,d=(e,r,i,a)=>{for(let o=Math.max(0,r);o<Math.min(n,a);o++)for(let n=Math.max(0,e);n<Math.min(t,i);n++)l[o*t+n]=1};for(let e of r)e.kind===`note`?d(e.gx-u,e.gy-u,e.gx+e.w+u,e.gy+e.h+u):(d(e.gx-u,e.gy-u,e.gx+e.w+u,e.gy+u),d(e.gx-u,e.gy+e.h-u,e.gx+e.w+u,e.gy+e.h+u),d(e.gx-u,e.gy-u,e.gx+u,e.gy+e.h+u),d(e.gx+e.w-u,e.gy-u,e.gx+e.w+u,e.gy+e.h+u));return{W:t,H:n,elev:i,blocked:a,owner:o,noteAt:s,close:l}}function Rt(e,t){let n=e[t].kind===`folder`?[t]:[];for(let r=e[t].parent;r>=0;r=e[r].parent)n.push(r);return n}var zt={bend:4,flow:1,area:.01,aspect:1,shape:1,effort:1e3,seed:0,cross:20,stay:5};function Bt(e,t,n,r,i={}){let{bend:a,flow:o,area:s,aspect:c,shape:l,effort:u,seed:d,cross:f,stay:p}={...zt,...i},m=e.length,h=e.map(e=>e[0]),g=e.map(e=>e[1]);if(!m)return{x:[],y:[],w:0,h:0};let _=Array.from({length:m},(e,t)=>Array.from({length:m},(e,r)=>n(t,r))),v=new Float64Array(m),y=new Float64Array(m),b=[...Array(m).keys()],x=[...b],S=new Int32Array(m),C=new Int32Array(m),w=0,T=0,E=()=>{b.forEach((e,t)=>{S[e]=t}),x.forEach((e,t)=>{C[e]=t}),w=0,T=0;for(let e=0;e<m;e++){let t=b[e],n=0,r=0;for(let i=0;i<e;i++){let e=b[i];C[e]<C[t]?n=Math.max(n,v[e]+h[e]+_[e][t]):r=Math.max(r,y[e]+g[e]+_[e][t])}v[t]=n,y[t]=r,w=Math.max(w,n+h[t]),T=Math.max(T,r+g[t])}},D=e=>[v[e]+h[e]/2,y[e]+g[e]/2],O=()=>{E();let e=0;for(let[n,i,s]of t){let t=Math.max(0,v[i]-v[n]-h[n],v[n]-v[i]-h[i]),c=Math.max(0,y[i]-y[n]-g[n],y[n]-y[i]-g[i]);e+=s*(Math.max(t,c)+.414*Math.min(t,c)+(t>0&&c>0?a:0));let l=r===`right`?v[n]+h[n]/2-(v[i]+h[i]/2):y[i]+g[i]/2-(y[n]+g[n]/2);l>0&&(e+=o*s*l)}if(f)for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){let[i,a,o]=t[n],[s,c,l]=t[r];i!==s&&i!==c&&a!==s&&a!==c&&Ht(D(i),D(a),D(s),D(c))&&(e+=f*Math.min(o,l))}if(A)for(let t=0;t<m;t++)for(let n=t+1;n<m;n++)(S[t]<S[n]!=A[0][t]<A[0][n]||C[t]<C[n]!=A[1][t]<A[1][n])&&(e+=p);let n=Math.log(w/T/l);return e+s*w*T*(1+c*n*n)},k=Vt(m,t);if(b.sort((e,t)=>k[e]-k[t]),x.splice(0,m,...b),r===`up`&&b.reverse(),i.pair)return b.splice(0,m,...i.pair[0]),x.splice(0,m,...i.pair[1]),E(),{x:[...v],y:[...y],w,h:T,pair:i.pair};let A=null;i.start&&(b.splice(0,m,...i.start[0]),x.splice(0,m,...i.start[1]),A=[new Int32Array(m),new Int32Array(m)],b.forEach((e,t)=>{A[0][e]=t}),x.forEach((e,t)=>{A[1][e]=t}));let j=O(),M=j,N=[...b],P=[...x];if(m<2)return E(),{x:[...v],y:[...y],w,h:T,pair:[[...b],[...x]]};let F=Wt(Ut(e,t)^d),I=u*m,L=i.start?Math.max(.5,j*.002):Math.max(1,j*.05),R=.001**(1/I);for(let e=0;e<I;e++,L*=R){let e=Math.floor(F()*m),t=(e+1+Math.floor(F()*(m-1)))%m,n=F(),r=n=>{let r=n[e];n[e]=n[t],n[t]=r};if(n<.4)r(b);else if(n<.8)r(x);else{let n=b.indexOf(x[e]),i=b.indexOf(x[t]);r(x);let a=b[n];b[n]=b[i],b[i]=a}let i=O();if(i<=j||F()<Math.exp((j-i)/L))j=i,j<M&&(M=j,N=[...b],P=[...x]);else if(n<.4)r(b);else if(n<.8)r(x);else{let n=b.indexOf(x[e]),i=b.indexOf(x[t]);r(x);let a=b[n];b[n]=b[i],b[i]=a}}return b.splice(0,m,...N),x.splice(0,m,...P),E(),{x:[...v],y:[...y],w,h:T,cost:M,pair:[N,P]}}function Vt(e,t){let n=Array(e).fill(0);for(let[e,r,i]of t)n[e]+=i,n[r]-=i;let r=[...Array(e).keys()].sort((e,t)=>n[t]-n[e]||e-t),i=Array(e);return r.forEach((e,t)=>{i[e]=t}),i}function Ht(e,t,n,r){let i=(e,t,n)=>(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0]);return i(e,t,n)*i(e,t,r)<0&&i(n,r,e)*i(n,r,t)<0}function Ut(e,t){let n=2166136261;for(let r of[...e.flat(),...t.flat()])n^=r|0,n=Math.imul(n,16777619);return n>>>0}function Wt(e){return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}var Gt={cell:7,note:[18,11],gap:6,gapFolders:8,channel:6,channelFolders:8,pad:6,head:2,margin:8,minFolder:12,slant:8,keep:2},Kt={fine:Gt,coarse:{cell:14,note:[9,6],gap:3,gapFolders:6,channel:3,channelFolders:6,pad:3,head:1,margin:6,minFolder:6,slant:4,keep:1},coarser:{cell:18,note:[7,4],gap:2,gapFolders:5,channel:2,channelFolders:5,pad:2,head:1,margin:5,minFolder:5,slant:3,keep:1}};Gt.pad;var qt=1.4,Jt=8,Yt=12,Xt=Gt.note,Zt=0,Qt=0,$t=0,en=0,tn=0,nn=0,rn=0,an=0,on=0,sn=2,cn=0,ln=0;function un(e){({note:Xt,gap:Zt,gapFolders:Qt,channel:$t,channelFolders:en,head:tn,margin:nn,minFolder:rn,slant:an,pad:on,keep:sn}=e),cn=Xt[0]+Zt,ln=3*cn}function dn(e,{flow:t=`up`,grain:n=`fine`,plan:r=!1,planCosts:i={},planned:a=null,from:o=null}={}){let s=Kt[n]??Gt;un(s);let c=e=>e.kind===`dir`,l=new Map,u=new Map,d=[e.root];for(let e=0;e<d.length;e++)for(let t of d[e].children||[])l.set(t,d[e]),c(t)?d.push(t):u.set(t.ref,t);let f=e=>{let t=[];for(let n=e;n;n=l.get(n))t.push(n);return t.reverse()},p=new Map(d.map(e=>[e,new Map])),m=new Map;for(let e of d){m.set(e,m.size);for(let t of e.children||[])c(t)||m.set(t,m.size)}let h=new Map(u);if(e.code)for(let t of d)t!==e.root&&!h.has(t.ref)&&h.set(t.ref,t);for(let[t,n,r]of e.edges){if(r<2)continue;let e=h.get(t),i=h.get(n);if(!e||!i||e===i)continue;let a=f(e),o=f(i),s=0;for(;a[s+1]&&a[s+1]===o[s+1];)s++;if(!a[s+1]||!o[s+1])continue;let c=p.get(a[s]),l=o[s+1],u=a[s+1],d=m.get(l)+`|`+m.get(u),g=c.get(d)||{p:l,q:u,weight:0,count:0};g.weight+=r,g.count++,c.set(d,g)}let g=new Map,_=new Map,v={},y=new Map,b=e=>e===`up`?`right`:`up`,x=(t,n)=>{let r=t.children||[];for(let e of r)c(e)?x(e,b(n)):g.set(e,{w:Xt[0],h:Xt[1]});let i=r.length?S(t,r,n):{w:0,h:0};g.set(t,t===e.root?i:r.length?{w:Math.max(rn,i.w+2*on),h:i.h+on+tn+on}:{w:rn,h:tn+2*on})};function S(e,t,n){if(r&&t.some(c))return C(e,t,n);let i=new Map(t.map(e=>[e,e])),a=e=>{for(;i.get(e)!==e;)e=i.get(e);return e};for(let t of p.get(e).values()){let e=a(t.p),n=a(t.q);e!==n&&i.set(n,e)}let o=new Map,s=new Set([...p.get(e).values()].flatMap(e=>[e.p,e.q]));for(let e of t){let t=s.has(e)?a(e):null;o.set(t,[...o.get(t)||[],e])}if(o.size<2){let r=w(e,t,n);return y.set(e,r.out),{w:r.w,h:r.h}}let l=[...o].map(([t,r],i)=>({list:r,loose:t===null,k:i,...w(e,r,n)}));l.sort((e,t)=>e.loose-t.loose||t.w*t.h-e.w*e.h||e.k-t.k);let u=t.some(c)?Qt:Zt,d=l.reduce((e,t)=>e+(t.w+u)*(t.h+u),0),f=Math.max(Math.ceil(Math.sqrt(d*qt)),...l.map(e=>e.w)),m=0,h=0,_=0,v=0,b=[];for(let e of l){m&&m+e.w>f&&(m=0,h+=_+u,_=0);for(let t of e.list){let e=g.get(t);e.x+=m,e.y+=h}for(let t of e.out)b.push({...t,pts:t.pts&&t.pts.map(([e,t])=>[e+m,t+h])});v=Math.max(v,m+e.w),_=Math.max(_,e.h),m+=e.w+u}return y.set(e,b),{w:v,h:h+_}}function C(t,n,r){let s=new Map(n.map((e,t)=>[e,t])),l=[...p.get(t).values()].filter(e=>s.has(e.p)&&s.has(e.q)),u=t===e.root?``:t.ref,d=a?.get(u),f=(e,t)=>d?.wider.get([n[e].ref,n[t].ref].sort().join(`|`))??0,m=(e,t)=>(c(n[e])||c(n[t])?Qt:Zt)+f(e,t),h=n.map(e=>[g.get(e).w,g.get(e).h]),b=t===e.root&&r===`up`?1/zt.shape:zt.shape,x,S=!d&&o?.[u];if(S){let e=new Map(n.map((e,t)=>[e.ref,t])),t=n.map((e,t)=>t).filter(e=>!S[0].includes(n[e].ref));x=S.map(n=>[...n.filter(t=>e.has(t)).map(t=>e.get(t)),...t])}let C=Bt(h,l.map(e=>[s.get(e.p),s.get(e.q),e.count]),m,r,{shape:b,...i,pair:d?.pair,start:x});_.set(u,C.pair),v[u]=C.pair.map(e=>e.map(e=>n[e].ref)),n.forEach((e,t)=>Object.assign(g.get(e),{x:C.x[t],y:C.y[t]}));let w=e=>r===`right`?C.x[e]+h[e][0]/2:-(C.y[e]+h[e][1]/2),T=new Map;for(let e of l)T.set(e.p,[...T.get(e.p)||[],e.q]);let E=(e,t)=>{let n=new Set,r=(T.get(e)||[]).filter(e=>e!==t);for(;r.length;){let e=r.pop();if(e===t)return!0;n.has(e)||(n.add(e),r.push(...T.get(e)||[]))}return!1};return y.set(t,l.map(e=>({p:e.p,q:e.q,count:e.count,back:w(s.get(e.p))>w(s.get(e.q)),implied:!c(e.p)&&!c(e.q)&&E(e.p,e.q),pts:null}))),{w:C.w,h:C.h}}function w(e,t,n){let r=t.length,i=new Map(t.map((e,t)=>[e,t])),a=n===`up`,o=t.some(c)?Qt:Zt,s=t.map(e=>a?g.get(e).h:g.get(e).w),l=t.map(e=>a?g.get(e).w:g.get(e).h),u=[...p.get(e).values()].filter(e=>i.has(e.p)&&i.has(e.q)).map(e=>({...e,p:i.get(e.p),q:i.get(e.q)})),d=pn(r,u.map(e=>[e.p,e.q,e.weight]));for(let e of u)e.back=d[e.p]>d[e.q],e.u=e.back?e.q:e.p,e.v=e.back?e.p:e.q;let f=u.filter(e=>!e.back),m=Array(r).fill(0),h=t.map(()=>[]),_=t.map(()=>[]);for(let e of u)h[e.v].push(e.u),_[e.u].push(e.v);let v=t.map(()=>[]);for(let e of f)v[e.p].push(e.q);for(let e of[...Array(r).keys()].sort((e,t)=>d[e]-d[t]))for(let t of h[e])m[e]=Math.max(m[e],m[t]+1);for(let e=0;e<r;e++)!h[e].length&&_[e].length&&(m[e]=Math.min(..._[e].map(e=>m[e]))-1);let y=(e,t,n)=>{let r=new Set,i=v[e].filter(e=>e!==n);for(;i.length;){let e=i.pop();if(e===t)return!0;r.has(e)||(r.add(e),i.push(...v[e]))}return!1};for(let e of f)e.implied=!c(t[e.p])&&!c(t[e.q])&&y(e.p,e.q,e.q);let b=u.filter(e=>!e.implied).sort((e,t)=>t.weight-e.weight||e.p-t.p||e.q-t.q),x=t.reduce((e,t,n)=>e+(l[n]+o)*(s[n]+$t),0),S=Math.max(Math.ceil(Math.sqrt(a?x*qt:x/qt)),...l),C=[],w=Array(r),T=Array(r).fill(!1);for(let e of u)T[e.p]=!0,T[e.q]=!0;let E=T.some(Boolean)&&T.some(e=>!e),D=e=>{let t=e.reduce((e,t)=>e+l[t]+o,0),n=Math.max(1,Math.ceil((t-o)/S)),r=t/n,i=null,a=0;for(let t of e)(!i||a+l[t]>S||C.length-O<n&&a>=r)&&(i=[],C.push(i),a=0),w[t]=C.length-1,i.push(t),a+=l[t]+o},O=0,k=e=>h[e].length?+!!_[e].length:2,A=e=>e.length?e.reduce((e,t)=>e+d[t],0)/e.length:0;for(let e=0;e<=Math.max(...m);e++){let t=[...Array(r).keys()].filter(t=>m[t]===e&&(T[t]||!E));t.reduce((e,t)=>e+l[t]+o,0)-o>S&&t.sort((e,t)=>k(e)-k(t)||A(h[e])-A(h[t])||e-t),O=C.length,D(t)}E&&(O=C.length,D([...Array(r).keys()].filter(e=>!T[e])));let j=[...l],M=t.map(()=>[]),N=t.map(()=>[]),P=new Map,F=new Map,I=[],L=new Set,R=new Map;for(let e of b){let t=[e.u];for(let n=w[e.u]+1;n<w[e.v];n++){let r=e.u+`|`+n;P.has(r)||(P.set(r,j.length),F.set(j.length,e.u),j.push(1),M.push([]),N.push([]),w.push(n),C[n].push(j.length-1)),t.push(P.get(r))}t.push(e.v);for(let e=1;e<t.length;e++){let n=t[e-1],r=t[e];L.has(n+`|`+r)||(L.add(n+`|`+r),I.push([n,r]),N[n].push(r),M[r].push(n))}R.set(e,t)}let z=e=>e>=r,B=Array(j.length);C.forEach(e=>e.forEach((e,t)=>{B[e]=t}));let V=(e,t)=>{let n=new Map(C[e].map(e=>[e,t[e].length?t[e].reduce((e,t)=>e+B[t],0)/t[e].length:B[e]]));C[e].sort((e,t)=>n.get(e)-n.get(t)||B[e]-B[t]),C[e].forEach((e,t)=>{B[e]=t})},H=()=>{let e=0;for(let t=0;t<C.length-1;t++){let n=[];for(let e of C[t])for(let t of N[e])n.push([B[e],B[t]]);for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++)(n[t][0]-n[r][0])*(n[t][1]-n[r][1])<0&&e++}return e},U=()=>{let e=(e,t,n)=>{let r=0;for(let i of n[e])for(let e of n[t])r+=B[i]>B[e]?1:B[i]<B[e]?-1:0;return r};for(let t=!0,n=0;t&&n<Jt;n++){t=!1;for(let n of C)for(let r=0;r+1<n.length;r++){let i=n[r],a=n[r+1];e(i,a,M)+e(i,a,N)>0&&(n[r]=a,n[r+1]=i,B[i]=r+1,B[a]=r,t=!0)}}},W=C.map(e=>[...e]),ee=(e,t)=>(z(e)?d[F.get(e)]:d[e])-(z(t)?d[F.get(t)]:d[t])||e-t,G=null,te=1/0;for(let e of[e=>e,e=>[...e].sort(ee),e=>[...e].reverse()]){C.forEach((t,n)=>{t.splice(0,t.length,...e(W[n])),t.forEach((e,t)=>{B[e]=t})});let t=1/0,n=0;for(let e=0;e<24&&n<4&&te>0;e++,n++){if(e%2==0)for(let e=1;e<C.length;e++)V(e,M);else for(let e=C.length-2;e>=0;e--)V(e,N);U();let r=H();r<t&&(t=r,n=0),r<te&&(te=r,G=C.map(e=>[...e]))}}G&&C.forEach((e,t)=>{e.splice(0,e.length,...G[t]),e.forEach((e,t)=>{B[e]=t})});let ne=(e,t)=>z(e)&&z(t)?1:z(e)||z(t)?sn:o,K=Array(j.length).fill(0);for(let e of C){let t=0;e.forEach((n,r)=>{r&&(t+=ne(e[r-1],n)),K[n]=t,t+=j[n]})}let re=e=>e.length?K[e[e.length-1]]+j[e[e.length-1]]:0,ie=Math.max(...C.map(re));for(let e of C){let t=(ie-re(e))/2;for(let n of e)K[n]+=t}let ae=e=>K[e]+j[e]/2;for(let e=0;e<Yt;e++)for(let t of e%2?[...C].reverse():C){if(!t.length)continue;let e=t.map(e=>{let t=[...M[e],...N[e]];return(t.length?t.reduce((e,t)=>e+ae(t),0)/t.length:ae(e))-j[e]/2}),n=[],r=[];t.forEach((r,i)=>{n[i]=i?Math.max(e[i],n[i-1]+j[t[i-1]]+ne(t[i-1],r)):e[i]});for(let n=t.length-1;n>=0;n--)r[n]=n<t.length-1?Math.min(e[n],r[n+1]-j[t[n]]-ne(t[n],t[n+1])):e[n];t.forEach((e,t)=>{K[e]=(n[t]+r[t])/2})}let oe=e=>Math.floor((j[e]-1)/2),se=Array(j.length).fill(-1),ce=Array(j.length).fill(-1);for(let e of[!0,!1])for(let t=1;t<C.length;t++){let n=C[t].filter(e=>se[e]>=0).map(e=>[B[se[e]],B[e]]);for(let r of C[t]){if(se[r]>=0||!M[r].length)continue;let t=[...M[r]].sort((e,t)=>B[e]-B[t]),i=(t.length-1)/2,a=t.map((e,t)=>[e,Math.abs(t-i)]).filter(([t])=>ce[t]<0&&(!e||z(t)&&z(r))&&Math.abs(K[t]+oe(t)-K[r]-oe(r))<=(e?ln:cn)).sort((e,t)=>e[1]-t[1]||B[e[0]]-B[t[0]]);for(let[e]of a)if(!n.some(([t,n])=>t<B[e]!=n<B[r])){se[r]=e,ce[e]=r,n.push([B[e],B[r]]);break}}}let le=Array(j.length).fill(-1),ue=0;for(let e=0;e<j.length;e++)if(se[e]<0){for(let t=e;t>=0;t=ce[t])le[t]=ue;ue++}let de=Array.from({length:ue},()=>[]);le.forEach((e,t)=>de[e].push(t));let q=(e,t)=>j[e]-oe(e)+ne(e,t)+oe(t),fe=Array(j.length).fill(-1),pe=Array(j.length).fill(-1);for(let e of C)e.forEach((t,n)=>{n&&(fe[t]=e[n-1],pe[e[n-1]]=t)});let J=Array(ue).fill(0),me=!1;for(let e=0;e<=ue&&!me;e++){me=!0;for(let e of C)for(let t=1;t<e.length;t++){let n=J[le[e[t-1]]]+q(e[t-1],e[t]);J[le[e[t]]]<n&&(J[le[e[t]]]=n,me=!1)}}if(me){let e=de.map(e=>Math.round(e.reduce((e,t)=>e+K[t]+oe(t),0)/e.length)),t=Math.min(...e.map((e,t)=>e-J[t])),n=[...Array(ue).keys()].sort((t,n)=>e[n]-e[t]||t-n);for(let r=0;r<24;r++){let i=!1;for(let a of r%2?[...n].reverse():n){let n=-1/0,r=1/0;for(let e of de[a])fe[e]>=0&&(n=Math.max(n,J[le[fe[e]]]+q(fe[e],e))),pe[e]>=0&&(r=Math.min(r,J[le[pe[e]]]-q(e,pe[e])));let o=Math.max(n,Math.min(r,e[a]-t));o!==J[a]&&(J[a]=o,i=!0)}if(!i)break}for(let e=0;e<j.length;e++)K[e]=J[le[e]]-oe(e)}else for(let e of C)e.forEach((t,n)=>{K[t]=n?Math.max(Math.round(K[t]),K[e[n-1]]+j[e[n-1]]+ne(e[n-1],t)):Math.round(K[t])});let Y=Math.min(...K);for(let e=0;e<K.length;e++)K[e]-=Y;let he=Math.max(...K.map((e,t)=>e+j[t])),ge=e=>K[e]+Math.floor((j[e]-1)/2)+.5,_e=new Map;for(let e=0;e<j.length;e++){let t=[...M[e]].sort((e,t)=>ge(e)-ge(t)),n=K[e]+.5,r=K[e]+j[e]-.5;if(t.length>j[e]){t.forEach((r,i)=>_e.set(r+`|`+e,n+Math.min(j[e]-1,Math.floor(i*j[e]/t.length))));continue}let i=t.map(e=>Math.max(n,Math.min(r,ge(e))));for(let e=1;e<i.length;e++)i[e]=Math.max(i[e],i[e-1]+1);for(let e=i.length-1;e>=0;e--)i[e]=Math.min(i[e],e===i.length-1?r:i[e+1]-1);t.forEach((t,n)=>_e.set(t+`|`+e,i[n]))}let ve=(e,t)=>{let n=_e.get(e+`|`+t);return n>=K[e]+.5&&n<=K[e]+j[e]-.5},ye=Array(j.length);for(let e=0;e<j.length;e++){let t=N[e].filter(t=>!ve(e,t)).map(t=>_e.get(e+`|`+t)).sort((e,t)=>e-t);ye[e]=t.length?Math.max(K[e]+.5,Math.min(K[e]+j[e]-.5,t[t.length-1>>1])):ge(e)}let be=(e,t)=>ve(e,t)?_e.get(e+`|`+t):ye[e],xe=(e,t)=>{let n=be(e,t),r=_e.get(e+`|`+t);return[Math.min(n,r),Math.max(n,r)]},X=new Set,Z=C.map(()=>0);for(let[e,t]of I){if(ve(e,t))continue;let[n,r]=xe(e,t),i=_e.get(e+`|`+t)>ye[e];r-n>an||I.every(([a,o])=>{if(w[a]!==w[e]||a===e&&o===t)return!0;let[s,c]=xe(a,o);return a===e?i?c<=n:s>=r:c<n-1||s>r+1})&&(X.add(e+`|`+t),Z[w[e]]=Math.max(Z[w[e]],r-n))}let Se=new Map;for(let[e,t]of I){if(ve(e,t)||X.has(e+`|`+t))continue;let n=_e.get(e+`|`+t),r=Se.get(e)||{u:e,lo:ye[e],hi:ye[e],track:0};r.lo=Math.min(r.lo,n),r.hi=Math.max(r.hi,n),Se.set(e,r)}let Ce=C.map(()=>0);C.forEach((e,t)=>{let n=[...Se.values()].filter(e=>w[e.u]===t&&e.hi>e.lo).sort((e,t)=>e.lo-t.lo||e.hi-t.hi||e.u-t.u),r=n.map(e=>N[e.u].filter(t=>!ve(e.u,t)&&!X.has(e.u+`|`+t)).map(t=>_e.get(e.u+`|`+t))),i=(e,t)=>!(n[e].hi<n[t].lo-1||n[t].hi<n[e].lo-1),a=(e,t)=>+(ye[n[t].u]>n[e].lo&&ye[n[t].u]<n[e].hi)+r[e].filter(e=>e>n[t].lo&&e<n[t].hi).length,o=[];for(let e=0;e<n.length;e++)for(let t=e+1;t<n.length;t++){if(!i(e,t))continue;let n=a(t,e)-a(e,t);n>0?o.push([e,t,n]):n<0&&o.push([t,e,-n])}let s=pn(n.length,o),c=[];for(let e of[...n.keys()].sort((e,t)=>s[e]-s[t]))n[e].track=Math.max(0,...c.filter(t=>i(e,t)).map(e=>n[e].track+1)),c.push(e);Ce[t]=Math.max(0,...n.map(e=>e.track+1))});let we=C.map(e=>Math.max(0,...e.filter(e=>!z(e)).map(e=>s[e]))),Te=[],Ee=[],De=[],Oe=0;C.forEach((e,n)=>{Te[n]=Oe,Oe+=we[n];let r=Math.max(t.some(c)?en:$t,Ce[n]+2*sn,Z[n]+2);Ee[n]=Oe+Math.max(sn,Math.floor((r-Ce[n])/2));let i=Oe;De[n]=e=>i+Math.floor((r-e)/2),n<C.length-1&&(Oe+=r)});let ke=Oe,Ae=e=>Te[w[e]]+Math.floor((we[w[e]]-s[e])/2),je=(e,t)=>a?[t,ke-e]:[e,t];t.forEach((e,t)=>Object.assign(g.get(e),a?{x:K[t],y:ke-Ae(t)-s[t]}:{x:Ae(t),y:K[t]}));let Me=[];for(let e of u){let n=R.get(e),r=null;if(n){r=[je(Ae(e.u)+s[e.u],be(e.u,n[1]))];for(let e=1;e<n.length;e++){let t=n[e-1],i=n[e],a=_e.get(t+`|`+i);if(X.has(t+`|`+i)){let e=Math.abs(a-ye[t]),n=De[w[t]](e);r.push(je(n,ye[t]),je(n+e,a));continue}let o=Ee[w[t]]+(Se.get(t)?.track||0)+.5;r.push(je(o,be(t,i)),je(o,a))}r.push(je(Ae(e.v),_e.get(n[n.length-2]+`|`+e.v))),r=r.filter((e,t)=>!t||e[0]!==r[t-1][0]||e[1]!==r[t-1][1]),e.back&&r.reverse()}Me.push({p:t[e.p],q:t[e.q],count:e.count,back:e.back,implied:!!e.implied,pts:r})}return a?{w:he,h:ke,out:Me}:{w:ke,h:he,out:Me}}x(e.root,t);let T=[],E=new Map,D=new Map([[e.root,[nn,nn]]]);for(let t of d){let[n,r]=D.get(t),i=t===e.root?-1:E.get(t),a=f(t).length;for(let e of t.children||[]){let t=g.get(e);E.set(e,T.length),T.push({id:e.id,ref:e.ref,kind:c(e)?`folder`:`note`,parent:i,depth:a,gx:n+t.x,gy:r+t.y,w:t.w,h:t.h}),c(e)&&D.set(e,[n+t.x+on,r+t.y+tn+on])}}let O=[],k=new Set;for(let e of d){let[t,n]=D.get(e);for(let r of y.get(e)||[]){let e=E.get(r.q),i=E.get(r.p);r.back&&k.add(e+`|`+i),O.push({a:e,b:i,count:r.count,back:r.back,implied:r.implied,pts:r.pts&&r.pts.map(([e,r])=>[e+t,r+n])})}}let A=fn(T,e.edges,new Map([...u].map(([e,t])=>[e,E.get(t)]))),j=(e,t)=>{for(;T[e].parent!==t;)e=T[e].parent;return e};for(let e of A)e.placed=e.s>=2&&!k.has(j(e.a,e.level)+`|`+j(e.b,e.level));let M=g.get(e.root);return{W:M.w+2*nn,H:M.h+2*nn,flow:t,cell:s.cell,keep:s.keep,margin:nn,items:T,links:A,trunks:O,pairs:_,orders:v}}function fn(e,t,n){let r=t=>{let n=[];for(let r=e[t].parent;r>=0;r=e[r].parent)n.push(r);return n},i=[];for(let[e,a,o]of t){let t=n.get(e),s=n.get(a);if(t===void 0||s===void 0||t===s)continue;let c=new Set(r(s));i.push({a:t,b:s,s:o,level:r(t).find(e=>c.has(e))??-1,placed:!1})}return i}function pn(e,t){let n=Array.from({length:e},()=>new Map),r=Array.from({length:e},()=>new Map);for(let[e,i,a]of t)e!==i&&(n[e].set(i,(n[e].get(i)||0)+a),r[i].set(e,(r[i].get(e)||0)+a));let i=e=>{let t=0;for(let n of e.values())t+=n;return t},a=new Set([...Array(e).keys()]),o=[],s=[],c=(e,t)=>{a.delete(e),t.push(e);for(let t of n[e].keys())r[t].delete(e);for(let t of r[e].keys())n[t].delete(e)};for(;a.size;){let e=!0;for(;e;){e=!1;for(let t of[...a])r[t].size?n[t].size||(c(t,s),e=!0):(c(t,o),e=!0)}if(!a.size)break;let t=-1,l=-1/0;for(let e of a){let a=i(n[e])-i(r[e]);a>l&&(l=a,t=e)}c(t,o)}let l=Array(e);return[...o,...s.reverse()].forEach((e,t)=>{l[e]=t}),l}var mn={climb:5,turn45:1.5,turn90:3,foreign:2.5,crowd:.2,near:0,hug:2.5,haste:3.2},hn=[1,1,0,-1,-1,-1,0,1],gn=[0,1,1,1,0,-1,-1,-1],_n=3,vn=8;function yn(e,t,n={}){let{climb:r,turn45:i,turn90:a,foreign:o,crowd:s,near:c,hug:l,haste:u}={...mn,...n},{W:d,H:f,elev:p,blocked:m,owner:h}=t,g=t.close||new Uint8Array(d*f),_=d*f,v=e.items,y=new Uint16Array(_),b=new Uint16Array(_),x=new Float32Array(_*9),S=new Int32Array(_*9),C=new Uint32Array(_*9),w=new Uint32Array(v.length),T=_*9,E=0,D=new Float32Array(4096),O=new Float32Array(4096),k=new Int32Array(4096),A=0,j=(e,t,n)=>{if(A===D.length){let e=(e,t)=>{let n=new t(e.length*2);return n.set(e),n};D=e(D,Float32Array),O=e(O,Float32Array),k=e(k,Int32Array)}let r=A++;for(;r>0;){let t=r-1>>1;if(D[t]<=e)break;D[r]=D[t],O[r]=O[t],k[r]=k[t],r=t}D[r]=e,O[r]=t,k[r]=n},M=()=>{N=O[0],P=k[0];let e=D[--A],t=O[A],n=k[A],r=0;for(;;){let t=2*r+1;if(t>=A||(t+1<A&&D[t+1]<D[t]&&t++,D[t]>=e))break;D[r]=D[t],O[r]=O[t],k[r]=k[t],r=t}D[r]=e,O[r]=t,k[r]=n},N=0,P=0,F=(e,t)=>{y[e]+=t;let n=e%d,r=e/d|0;for(let e=Math.max(0,r-1);e<=Math.min(f-1,r+1);e++)for(let i=Math.max(0,n-1);i<=Math.min(d-1,n+1);i++)(i!==n||e!==r)&&(b[e*d+i]+=t)},I=e=>{let t=[],n=(e,n,r,i)=>{e>=0&&n>=0&&e<d&&n<f&&!m[n*d+e]&&t.push([n*d+e,r,i])};for(let t=e.gx;t<e.gx+e.w;t++)n(t,e.gy-1,t+.5,e.gy),n(t,e.gy+e.h,t+.5,e.gy+e.h);for(let t=e.gy;t<e.gy+e.h;t++)n(e.gx-1,t,e.gx,t+.5),n(e.gx+e.w,t,e.gx+e.w,t+.5);return t};function L(e,t,n,f,_,D,O=null){E++,A=0;for(let t of Rt(v,e))w[t]=E;if(O){w[O.folder]=E;for(let e of Rt(v,O.folder))w[e]=E}else for(let e of Rt(v,t))w[e]=E;let k=v[e],L=O?null:v[t],R=O?O.ends:new Map(I(L).map(e=>[e[0],e])),z,B,V,H;if(O?.toward!==void 0)z=B=O.toward%d,V=H=O.toward/d|0;else if(O){z=V=1/0,B=H=-1/0;for(let e of R.keys()){let t=e%d,n=e/d|0;z=Math.min(z,t),B=Math.max(B,t),V=Math.min(V,n),H=Math.max(H,n)}}else z=L.gx-1,B=L.gx+L.w,V=L.gy-1,H=L.gy+L.h;let U=(e,t)=>{let n=Math.max(z-e,e-B,0),r=Math.max(V-t,t-H,0);return u*(Math.max(n,r)+.414*Math.min(n,r))},W=new Map;for(let e of I(k)){let t=e[0],n=t*9+vn,r=Math.fround(1+s*Math.min(y[t],_n));C[n]===E&&x[n]<=r||(C[n]=E,x[n]=r,S[n]=-1,j(r+U(t%d,t/d|0),r,n),W.set(t,e))}let ee=!!O?.strict,G=-1;for(;A;){M();let e=P,t=N;if(e>=T){G=e-T;break}if(t!==x[e])continue;let u=e/9|0,v=e%9,k=R.get(u);if(k){if(!k[3]){G=e;break}j(Math.fround(t+k[3]),Math.fround(t+k[3]),T+e)}let A=u%d,F=u/d|0;for(let T=0;T<8;T++){let k=A+hn[T],M=F+gn[T];if(k<n||M<f||k>_||M>D)continue;let N=M*d+k;if(m[N]||ee&&h[N]!==O.folder)continue;if(hn[T]&&gn[T]){let e=F*d+k,t=M*d+A;if(m[e]||m[t]||p[e]!==p[u]||p[t]!==p[u]||p[N]!==p[u])continue}let P=(hn[T]&&gn[T]?1.414:1)*(1+s*Math.min(y[N],_n)+c*Math.min(b[N],_n))+r*Math.abs(p[N]-p[u]);if(v!==vn&&v!==T){let e=Math.min((T-v+8)%8,(v-T+8)%8);P+=e===1?i:a*(e>=3?2:1)}h[N]>=0&&w[h[N]]!==E&&(P+=o),g[N]&&(P+=l);let I=N*9+T,L=Math.fround(t+P);C[I]===E&&x[I]<=L||(C[I]=E,x[I]=L,S[I]=e,j(L+U(k,M),L,I))}}if(G<0)return null;let te=[];for(let e=G;e!==-1;e=S[e])te.push(e/9|0);te.reverse();for(let e of te)F(e,1);let ne=W.get(te[0]),K=R.get(te[te.length-1]),re=[[ne[1],ne[2]]];for(let e of te)re.push([e%d+.5,(e/d|0)+.5]);return re.push([K[1],K[2]]),{cells:Int32Array.from(te),pts:re}}function R(e,t){let n=v[e],r=v[t],i=Math.max(Math.abs(n.gx-r.gx),Math.abs(n.gy-r.gy)),a=Math.max(12,Math.ceil(i*.4)),o=Math.max(0,Math.min(n.gx,r.gx)-a),s=Math.max(0,Math.min(n.gy,r.gy)-a),c=Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+a),l=Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+a);return L(e,t,o,s,c,l)||(o||s||c<d-1||l<f-1?L(e,t,0,0,d-1,f-1):null)}function z(e,t){return v[e],v[t.folder],B(e,{...t,strict:!0})||B(e,t)}function B(e,t){let n=v[e],r=v[t.folder];return L(e,-1,Math.max(0,Math.min(n.gx,r.gx)-2),Math.max(0,Math.min(n.gy,r.gy)-2),Math.min(d-1,Math.max(n.gx+n.w,r.gx+r.w)+2),Math.min(f-1,Math.max(n.gy+n.h,r.gy+r.h)+2),t)}function V(e){let t=new Set;for(let n=1;n<e.length;n++){let[r,i]=e[n-1],[a,o]=e[n],s=Math.max(1,Math.ceil(Math.max(Math.abs(a-r),Math.abs(o-i))*2));for(let e=0;e<=s;e++){let n=Math.floor(r+(a-r)*e/s),c=Math.floor(i+(o-i)*e/s);n<0||c<0||n>=d||c>=f||m[c*d+n]||t.has(c*d+n)||(t.add(c*d+n),F(c*d+n,1))}}}return{route:R,routeTo:z,occupy:V,release:e=>{for(let t of e.cells)F(t,-1)},hold:e=>{for(let t of e.cells)F(t,1)}}}var bn=[0,1,-1,2,-2,3,-3];function xn(e,t){let n=new Map;e.forEach((e,r)=>{e.edges=new Set;for(let i=1;i<e.cells.length;i++){let a=e.cells[i-1],o=e.cells[i],s=a<o?a*t+o:o*t+a;e.edges.add(s),n.has(s)||n.set(s,[]),n.get(s).push(r)}}),e.forEach((t,r)=>{let i=new Set;for(let a of t.edges)for(let t of n.get(a))t<r&&i.add(e[t].lane);t.lane=bn.find(e=>!i.has(e))??0,delete t.edges})}var Sn=(e,t,n,r)=>{let i=(e,t,n)=>(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0]);return i(e,t,n)*i(e,t,r)<0&&i(n,r,e)*i(n,r,t)<0};function Cn(e,t){let n=new Map;e.forEach((e,t)=>{for(let r of e.cells)n.has(r)||n.set(r,new Set),n.get(r).add(t)});let r=0,i=0;e.forEach((e,a)=>{for(let o of e.cells){r++;let e=!1,s=o%t;for(let r=-1;r<=1&&!e;r++)for(let i=-1;i<=1&&!e;i++){if(s+i<0||s+i>=t)continue;let c=n.get(o+r*t+i);if(c){for(let t of c)if(t!==a){e=!0;break}}}e||i++}});let a=e.map((e,t)=>{let n=[t*.618%1*.02-.01,t*.414%1*.02-.01],r=e.pts;return r.filter((e,t)=>t===0||t===r.length-1||Math.abs((e[0]-r[t-1][0])*(r[t+1][1]-e[1])-(e[1]-r[t-1][1])*(r[t+1][0]-e[0]))>1e-6).map(e=>[e[0]+n[0],e[1]+n[1]])}),o=0;for(let t=0;t<e.length;t++)for(let n=t+1;n<e.length;n++){let r=e[t],i=e[n];if(r.a!==i.a&&r.a!==i.b&&r.b!==i.a&&r.b!==i.b)for(let e=1;e<a[t].length;e++)for(let r=1;r<a[n].length;r++)Sn(a[t][e-1],a[t][e],a[n][r-1],a[n][r])&&o++}return{routes:e.length,crossings:o,length:r,beside:r?1-i/r:0}}function wn(e,t,n,r,i=t.length<=100?2:+(t.length<=300)){let a=t.map(({a:t,b:n})=>{let r=e.route(t,n);return r&&{a:t,b:n,...r}});for(let t=0;t<i;t++)a.forEach((t,n)=>{if(!t)return;e.release(t);let r=e.route(t.a,t.b);r?Object.assign(t,r):e.hold(t)});let o=a.filter(Boolean);xn(o,n*r);let s={...Cn(o,n),lost:a.length-o.length};for(let t of o)e.release(t);return{routes:a.map(e=>e&&{pts:e.pts,lane:e.lane}),measures:s}}var Tn=[1,1,0,-1,-1,-1,0,1],En=[0,1,1,1,0,-1,-1,-1],Dn=8,On={turn45:1.5,turn90:3,diag:1.3,hug:1,share:.35,centre:.3,gather:224};function kn(e,t=Lt(e),n={}){let{turn45:r,turn90:i,diag:a,hug:o,share:s,centre:c,gather:l}={...On,...n},{items:u,trunks:d}=e,{W:f,H:p,blocked:m,owner:h}=t,g=f*p,_=Math.max(2,Math.round(28/(e.cell??7))),v=zn(t,_),y=_,b=new Uint8Array(g),x=10/(e.cell??7),S=(e,t)=>e>=0&&t>=0&&e<f&&t<p,C=(e,t,n)=>S(e,t)&&!m[t*f+e]&&h[t*f+e]===n;function w(e,t,n){let[r,i]=e,[a,o]=t,s=n?a-r:o-i,c=n?o-i:a-r,l=Math.sign(s),u=Math.sign(c),d=Math.abs(s),f=Math.abs(c),p=[];if(d>=f){let e=Math.floor((d-f)/2);for(let t=0;t<e;t++)p.push([l,0]);for(let e=0;e<f;e++)p.push([l,u]);for(let t=0;t<d-f-e;t++)p.push([l,0])}else{let e=Math.floor(d/2);for(let t=0;t<e;t++)p.push([l,u]);for(let e=0;e<f-d;e++)p.push([0,u]);for(let t=0;t<d-e;t++)p.push([l,u])}let m=[[r,i]],h=r,g=i;for(let[e,t]of p)n?(h+=e,g+=t):(h+=t,g+=e),m.push([h,g]);return m}function T(e,t,n,r,i){let a=Math.max(e.gx-(t.gx+t.w),t.gx-(e.gx+e.w)),o=Math.max(e.gy-(t.gy+t.h),t.gy-(e.gy+e.h)),s=a>=o;if((s?a:o)<1)return null;let[c,l]=s?t.gx<e.gx?[3,2]:[2,3]:t.gy<e.gy?[1,0]:[0,1];if(i&&i.side!==c||r&&r.side!==l)return null;let u=Rn(t)[c],d=Rn(e)[l],p=s?Math.max(e.gy,t.gy):Math.max(e.gx,t.gx),m=s?Math.min(e.gy+e.h,t.gy+t.h):Math.min(e.gx+e.w,t.gx+t.w),h=e=>Math.floor(e.mid-.5+1e-9),g=e=>e>=p&&e<m,b=r||i?[[i?i.t:g(r.t)?r.t:h(u),r?r.t:g(i.t)?i.t:h(d),0]]:m-p>=1?Bn(p,m).map(e=>[e,e,Math.abs(e+.5-(p+m)/2)]):[[h(u),h(d),0]],S=null;for(let[r,i,a]of b){if(An(t,c,r,x)||An(e,l,i,x))continue;let o=w(s?[c===3?t.gx+t.w:t.gx-1,r]:[r,c===1?t.gy+t.h:t.gy-1],s?[l===2?e.gx-1:e.gx+e.w,i]:[i,l===0?e.gy-1:e.gy+e.h],s);if(!o.every(([e,t])=>C(e,t,n)))continue;let u=o.slice(_,o.length-_),d=u.length?Math.min(...u.map(([e,t])=>v[t*f+e])):_;d<y||(!S||d>S.least||d===S.least&&a<S.off)&&(S={least:d,off:a,tb:r,ta:i,way:o})}return S?[u.wall(S.tb),...S.way.map(([e,t])=>[e+.5,t+.5]),d.wall(S.ta)]:null}let E=new Float32Array(g+1),D=new Int32Array(g+1),O=new Uint8Array(g+1),k=new Uint32Array(g+1),A=0,j=[],M=(e,t)=>{j.push([e,t]);let n=j.length-1;for(;n>0;){let t=n-1>>1;if(j[t][0]<=e)break;[j[t],j[n]]=[j[n],j[t]],n=t}},N=()=>{let e=j[0],t=j.pop();if(j.length){j[0]=t;let e=0;for(;;){let t=2*e+1;if(t>=j.length||(t+1<j.length&&j[t+1][0]<j[t][0]&&t++,j[t][0]>=j[e][0]))break;[j[t],j[e]]=[j[e],j[t]],e=t}}return e},P=(e,t)=>{if(e===Dn||e===t)return 0;let n=Math.min((t-e+8)%8,(e-t+8)%8);return n===1?r:i*(n>=3?2:1)};function F(e,t,n,r,i){A++,j.length=0;let l=g,u=new Map,d=(e,t,n)=>!e||e.side===t&&e.t===n;if(Rn(e).forEach((t,i)=>t.cells.forEach(([a,o])=>{let s=t.dir===6||t.dir===2?a:o;C(a,o,n)&&d(r,i,s)&&!An(e,i,s,x)&&u.set(o*f+a,[(t.dir+4)%8,c*Math.abs(s+.5-t.mid),t.wall(s)])})),!r)for(let t of jn(e,x))C(...t.out,n)&&u.set(t.out[1]*f+t.out[0],[(t.dir+4)%8,c*Math.min(e.w,e.h)/2,t.pt]);if(!u.size)return null;let p=e.gx-1,m=e.gx+e.w,h=e.gy-1,y=e.gy+e.h,S=(e,t)=>{let n=Math.max(p-e,e-m,0),r=Math.max(h-t,t-y,0);return Math.max(n,r)+.414*Math.min(n,r)},w=new Map,T=(e,t,n,r)=>{k[e]===A&&E[e]<=t||(k[e]=A,E[e]=t,D[e]=-1,O[e]=n,w.set(e,r),M(t+S(e%f,e/f|0),e))};if(Rn(t).forEach((e,r)=>e.cells.forEach(([a,o])=>{let s=e.dir===6||e.dir===2?a:o;C(a,o,n)&&d(i,r,s)&&!An(t,r,s,x)&&T(o*f+a,c*Math.abs(s+.5-e.mid),e.dir,e.wall(s))})),!i)for(let e of jn(t,x))C(...e.out,n)&&T(e.out[1]*f+e.out[0],c*Math.min(t.w,t.h)/2,e.dir,e.pt);for(;j.length;){let[e,t]=N();if(t===l)break;let r=E[t];if(e-S(t%f,t/f|0)>r+1e-4)continue;let i=u.get(t);if(i){let e=r+i[1]+P(O[t],i[0]);(k[l]!==A||e<E[l])&&(k[l]=A,E[l]=e,D[l]=t,M(e,l))}let c=t%f,d=t/f|0;for(let e=0;e<8;e++){let i=c+Tn[e],l=d+En[e];if(!C(i,l,n)||Tn[e]&&En[e]&&(!C(i,d,n)||!C(c,l,n)))continue;let u=l*f+i,p=r+(Tn[e]&&En[e]?Math.SQRT2*a:1)*(b[u]?1-s:1)+o*(_-v[u])+P(O[t],e);k[u]===A&&E[u]<=p||(k[u]=A,E[u]=p,D[u]=t,O[u]=e,M(p+S(i,l),u))}}if(k[l]!==A)return null;let F=[];for(let e=D[l];e!==-1;e=D[e])F.push(e);return F.reverse(),[w.get(F[0]),...F.map(e=>[e%f+.5,Math.floor(e/f)+.5]),u.get(F.at(-1))[2]]}let I=d.map((e,t)=>t).sort((e,t)=>d[t].count-d[e].count||e-t),L=d.map(e=>({a:e.a,b:e.b,count:e.count,back:e.back,implied:e.implied})),R=e=>Pn(e,(e,t)=>{S(e,t)&&!m[t*f+e]&&(b[t*f+e]=1)}),z=(e,t,n)=>{let r=d[e],i=u[r.a],a=u[r.b];return T(i,a,i.parent,t,n)??F(i,a,i.parent,t,n)};for(let e of I){let t=z(e);t&&(L[e].pts=t,R(t))}let B=l/(e.cell??7),V=new Map;L.forEach((e,t)=>{if(e.pts)for(let[n,r,i]of[[`b`,e.b,e.pts[0]],[`a`,e.a,e.pts.at(-1)]]){let a=u[r];if(a.kind!==`folder`||!Mn(a,i))continue;let o=Nn(a,i),s=`${r}|${o}`;V.set(s,[...V.get(s)||[],{k:t,end:n,t:Math.floor(o<2?i[0]:i[1]),count:e.count}])}});let H=new Map;for(let[e,t]of V){let[n,r]=e.split(`|`).map(Number),i=u[n];Rn(i)[r],r<2?i.gx:i.gy,t.sort((e,t)=>e.t-t.t);for(let e=0;e<t.length;){let n=e+1;for(;n<t.length&&t[n].t-t[n-1].t<=B;)n++;let a=t.slice(e,n);if(e=n,a.length<2||a.every(e=>e.t===a[0].t))continue;let o=new Map;for(let e of a)o.set(e.t,(o.get(e.t)||0)+e.count);let s=(a[0].t+a.at(-1).t)/2,c=[...o].filter(([e])=>!An(i,r,e,x)).reduce((e,t)=>t[1]>e[1]||t[1]===e[1]&&Math.abs(t[0]-s)<Math.abs(e[0]-s)?t:e)[0];for(let e of a)e.t!==c&&H.set(e.k,{...H.get(e.k),[e.end]:{side:r,t:c}})}}if(H.size){b.fill(0),L.forEach((e,t)=>{e.pts&&!H.has(t)&&R(e.pts)});for(let e of I){let t=H.get(e);if(!t)continue;let n=L[e],r=(e,t)=>{if(!Mn(u[e],t))return;let n=Nn(u[e],t);return{side:n,t:Math.floor(n<2?t[0]:t[1])}},i=z(e,t.a??r(n.a,n.pts.at(-1)),t.b??r(n.b,n.pts[0]));i&&(L[e].pts=i),R(L[e].pts)}}return L}function An(e,t,n,r){if(e.kind!==`folder`)return!1;let i=t<2?e.gx:e.gy,a=i+(t<2?e.w:e.h);return n+.5-i<r||a-(n+.5)<r}function jn(e,t){return e.kind===`folder`?[[e.gx,e.gy,1,1,5],[e.gx+e.w,e.gy,-1,1,7],[e.gx+e.w,e.gy+e.h,-1,-1,1],[e.gx,e.gy+e.h,1,-1,3]].map(([e,n,r,i,a])=>({out:[Math.floor(e-r*.5),Math.floor(n-i*.5)],in:[Math.floor(e+r*.5),Math.floor(n+i*.5)],dir:a,pt:[e+r*t/2,n+i*t/2]})):[]}function Mn(e,[t,n]){let r=(e,t)=>Math.abs(e-t)<1e-6;return(r(t,e.gx)||r(t,e.gx+e.w))&&n>=e.gy-1e-6&&n<=e.gy+e.h+1e-6||(r(n,e.gy)||r(n,e.gy+e.h))&&t>=e.gx-1e-6&&t<=e.gx+e.w+1e-6}function Nn(e,[t,n]){let r=(e,t)=>Math.abs(e-t)<1e-6;return r(n,e.gy)?0:r(n,e.gy+e.h)?1:r(t,e.gx)?2:3}function Pn(e,t){for(let n=1;n<e.length;n++){let[r,i]=e[n-1],[a,o]=e[n],s=Math.max(1,Math.ceil(Math.max(Math.abs(a-r),Math.abs(o-i))*2));for(let e=0;e<=s;e++)t(Math.floor(r+(a-r)*e/s),Math.floor(i+(o-i)*e/s))}}var Fn={turn45:1.5,turn90:3,diag:1.3,hug:1,centre:1,join:.5,cross:1,haste:1.5,hasteNote:4};function In(e,t,n=Lt(e),r={}){let{turn45:i,turn90:a,diag:o,hug:s,centre:c,join:l,cross:u,haste:d,hasteNote:f}={...Fn,...r},{items:p,links:m}=e,{W:h,H:g,blocked:_,owner:v}=n,y=h*g,b=Math.max(2,Math.round(28/(e.cell??7))),x=zn(n,b),S=10/(e.cell??7),C=new Uint8Array(y);for(let e of t)e.pts&&Pn(e.pts,(e,t)=>{e>=0&&t>=0&&e<h&&t<g&&(C[t*h+e]=1)});let w=(e,t)=>e>=0&&t>=0&&e<h&&t<g,T=(e,t)=>{for(;p[e].parent!==t;)e=p[e].parent;return e},E=(e,[t,n])=>{let r=(e,t)=>Math.abs(e-t)<1e-6;if(!Mn(e,[t,n])){let i=jn(e,S).find(e=>r(e.pt[0],t)&&r(e.pt[1],n));if(i)return[...i.in,i.dir]}return r(t,e.gx)?[e.gx,Math.floor(n),4]:r(t,e.gx+e.w)?[e.gx+e.w-1,Math.floor(n),0]:r(n,e.gy)?[Math.floor(t),e.gy,6]:[Math.floor(t),e.gy+e.h-1,2]},D=(e,t)=>(Tn[e]&&En[e]?Math.SQRT2*o:1)+s*(b-x[t]),O=(e,t)=>{if(e===Dn||e===t)return 0;let n=Math.min((t-e+8)%8,(e-t+8)%8);return n===1?i:a*(n>=3?2:1)},k=new Float32Array(y*9+1),A=new Int32Array(y*9+1),j=new Uint32Array(y*9+1),M=y*9,N=0,P=new Float64Array(4096),F=new Float64Array(4096),I=new Int32Array(4096),L=0,R=0,z=0,B=(e,t,n)=>{if(L===P.length){let e=(e,t)=>{let n=new t(e.length*2);return n.set(e),n};P=e(P,Float64Array),F=e(F,Float64Array),I=e(I,Int32Array)}let r=L++;for(;r>0;){let t=r-1>>1;if(P[t]<=e)break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n},V=()=>{P[0],R=F[0],z=I[0];let e=P[--L],t=F[L],n=I[L],r=0;for(;;){let t=2*r+1;if(t>=L||(t+1<L&&P[t+1]<P[t]&&t++,P[t]>=e))break;P[r]=P[t],F[r]=F[t],I[r]=I[t],r=t}P[r]=e,F[r]=t,I[r]=n};function H(e,t,n,r,i){N++,L=0;let a=(e,t)=>w(e,t)&&!_[t*h+e]&&v[t*h+e]===n,o=r%h,d=r/h|0,f=(e,t)=>{let n=Math.abs(e-o),r=Math.abs(t-d);return i*(1-l)*(Math.max(n,r)+.414*Math.min(n,r))},p=new Map;if(e.kind===`folder`)for(let t of jn(e,S)){let[n,r]=t.out;if(!a(n,r))continue;let i=r*h+n,o=i*9+t.dir,l=Math.fround(c*Math.min(e.w,e.h)/2+s*(b-x[i]));j[o]===N&&k[o]<=l||(j[o]=N,k[o]=l,A[o]=-1,p.set(i,t.pt),B(l+f(n,r),l,o))}for(Rn(e).forEach((t,n)=>t.cells.forEach(([r,i])=>{if(!a(r,i)||An(e,n,t.dir===6||t.dir===2?r:i,S))return;let o=t.dir===6||t.dir===2?r:i,l=i*h+r,u=l*9+t.dir,d=Math.fround(c*Math.abs(o+.5-t.mid)+s*(b-x[l]));j[u]===N&&k[u]<=d||(j[u]=N,k[u]=d,A[u]=-1,p.set(l,t.wall(o)),B(d+f(r,i),d,u))}));L;){V();let e=z,n=R;if(e===M)break;if(n!==k[e])continue;let r=e/9|0,i=e%9,o=r%h,s=r/h|0,c=t.get(r);if(c){let t=n+c.rest+O(i,c.dir);(j[M]!==N||t<k[M])&&(j[M]=N,k[M]=t,A[M]=e,B(t,t,M))}for(let t=0;t<8;t++){let r=o+Tn[t],c=s+En[t];if(!a(r,c)||Tn[t]&&En[t]&&(!a(r,s)||!a(o,c)))continue;let l=c*h+r,d=l*9+t,p=Math.fround(n+D(t,l)+(C[l]?u:0)+O(i,t));j[d]===N&&k[d]<=p||(j[d]=N,k[d]=p,A[d]=e,B(p+f(r,c),p,d))}}if(j[M]!==N)return null;let m=[];for(let e=A[M];e!==-1;e=A[e])m.push(e/9|0);return m.reverse(),{cells:m,pts:[p.get(m[0]),...m.map(e=>[e%h+.5,Math.floor(e/h)+.5]),t.get(m.at(-1)).pt]}}let U=[];t.forEach((e,t)=>{if(!e.pts)return;let n=p[e.a].parent,r=m.filter(t=>t.s>=2&&t.level===n&&T(t.a,n)===e.a&&T(t.b,n)===e.b);p[e.a].kind===`folder`&&U.push({folder:e.a,at:e.pts[e.pts.length-1],notes:r.map(e=>e.a),trunk:t}),p[e.b].kind===`folder`&&U.push({folder:e.b,at:e.pts[0],notes:r.map(e=>e.b),trunk:t})});let W=[],ee=e=>p[e].kind===`note`,G=new Map;for(let e=0;e<U.length;e++){let{folder:t,at:n,notes:r,trunk:i}=U[e],[a,c,u]=E(p[t],n);if(!w(a,c)||_[c*h+a])continue;let m=c*h+a,g={dir:u,rest:0,pt:n};G.has(m)||G.set(m,{ends:new Map([[m,g]]),endsAny:new Map([[m,g]]),owners:new Map([[m,-1]]),exits:new Map});let{ends:v,endsAny:y,owners:S,exits:C}=G.get(m),D=new Map;for(let e of r){let n=T(e,t);D.set(n,[...D.get(n)||[],e])}for(let[e,n]of[...D].sort((e,t)=>ee(e[0])-ee(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=ee(e),a=C.get(e),c=r?y:v,u=a&&c.has(a.cell)?{cells:[a.cell],pts:[a.wall,c.get(a.cell).pt,c.get(a.cell).pt]}:H(p[e],c,t,m,r?f:d);if(!u)continue;a||C.set(e,{cell:u.cells[0],wall:u.pts[0]});let g=W.length,_=u.cells.at(-1);W.push({item:e,folder:t,trunk:i,count:n.length,pts:u.pts,cells:u.cells,leaf:r,via:S.get(_)??-1});let w=new Float32Array(u.cells.length);w[w.length-1]=y.get(_).rest;for(let e=u.cells.length-2;e>=0;e--){let t=u.cells[e],n=u.cells[e+1],r=t%h!==n%h&&Math.floor(t/h)!==Math.floor(n/h);w[e]=w[e+1]+(1-l)*((r?Math.SQRT2*o:1)+s*(b-x[n]))}for(let[e,t]of u.cells.entries()){if(y.has(t))continue;let n=u.cells[e+1],i={dir:n===void 0?y.get(_).dir:Ln(n%h-t%h,Math.floor(n/h)-Math.floor(t/h)),rest:w[e],pt:[t%h+.5,Math.floor(t/h)+.5]};y.set(t,i),S.set(t,g),r||v.set(t,i)}r||U.push({folder:e,at:u.pts[0],notes:n,trunk:i})}}return xn(W,y),W.map(({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s})=>({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s}))}var Ln=(e,t)=>Tn.findIndex((n,r)=>n===Math.sign(e)&&En[r]===Math.sign(t));function Rn(e){return[{dir:6,cells:Bn(e.gx,e.gx+e.w).map(t=>[t,e.gy-1]),mid:e.gx+e.w/2,wall:t=>[t+.5,e.gy]},{dir:2,cells:Bn(e.gx,e.gx+e.w).map(t=>[t,e.gy+e.h]),mid:e.gx+e.w/2,wall:t=>[t+.5,e.gy+e.h]},{dir:4,cells:Bn(e.gy,e.gy+e.h).map(t=>[e.gx-1,t]),mid:e.gy+e.h/2,wall:t=>[e.gx,t+.5]},{dir:0,cells:Bn(e.gy,e.gy+e.h).map(t=>[e.gx+e.w,t]),mid:e.gy+e.h/2,wall:t=>[e.gx+e.w,t+.5]}]}function zn({W:e,H:t,blocked:n,owner:r},i){let a=e*t,o=new Uint8Array(a).fill(i),s=new Int32Array(a),c=0,l=0;for(let i=0;i<a;i++){if(n[i]){o[i]=0;continue}let a=i%e,c=i/e|0;for(let u=0;u<8;u++){let d=a+Tn[u],f=c+En[u];if(d<0||f<0||d>=e||f>=t)continue;let p=f*e+d;if(n[p]||r[p]!==r[i]){o[i]=1,s[l++]=i;break}}}for(;c<l;){let a=s[c++],u=a%e,d=a/e|0;if(!(o[a]+1>=i))for(let i=0;i<8;i++){let c=u+Tn[i],f=d+En[i];if(c<0||f<0||c>=e||f>=t)continue;let p=f*e+c;o[p]>o[a]+1&&!n[p]&&r[p]===r[a]&&(o[p]=o[a]+1,s[l++]=p)}}return o}var Bn=(e,t)=>Array.from({length:Math.max(0,t-e)},(t,n)=>e+n);function Vn(e,t){let n=10/(e.cell??7),r=e.items.filter(e=>e.kind===`folder`),i=(e,t)=>Math.abs(e-t)<1e-6,a=(e,t)=>{for(let a of r){let r=i(e[0],a.gx)||i(e[0],a.gx+a.w),o=i(e[1],a.gy)||i(e[1],a.gy+a.h);if(!(r&&e[1]>=a.gy-1e-6&&e[1]<=a.gy+a.h+1e-6)&&!(o&&e[0]>=a.gx-1e-6&&e[0]<=a.gx+a.w+1e-6))continue;let s=e[0]-a.gx<a.w/2?1:-1,c=e[1]-a.gy<a.h/2?1:-1,l=s>0?a.gx:a.gx+a.w,u=c>0?a.gy:a.gy+a.h;if(Math.abs(e[0]-l)+Math.abs(e[1]-u)>=n-1e-6)return null;let d=[l+s*n/2,u+c*n/2],f=t[0]>a.gx&&t[0]<a.gx+a.w&&t[1]>a.gy&&t[1]<a.gy+a.h?[s,c]:[-s,-c],p=t[0]-d[0],m=t[1]-d[1];if(Math.abs(Math.abs(p)-Math.abs(m))<1e-6&&p*f[0]>0)return[d];let h=[p/f[0],m/f[1]].filter(e=>e>1e-6).sort((e,t)=>e-t);return h.length?[d,[d[0]+f[0]*h[0],d[1]+f[1]*h[0]]]:null}return null};for(let e of t){if(!e.pts||e.pts.length<2)continue;let t=a(e.pts[0],e.pts[1]);t&&(e.pts=[...t,...e.pts.slice(1)]);let n=a(e.pts.at(-1),e.pts.at(-2));n&&(e.pts=[...e.pts.slice(0,-1),...n.reverse()])}return t}function Hn(e,t=!1){let n=e=>e.kind===`dir`?{kind:`dir`,id:e.id,ref:e.ref,children:e.children.map(n)}:{kind:e.kind,id:e.id,ref:e.ref,weight:e.weight,rank:e.rank||0};if(t){let t=[],r=e=>{e.kind===`dir`?e.children.forEach(r):t.push(n(e))};return r(e.root),{root:{kind:`dir`,id:e.root.id,ref:e.root.ref,children:t},edges:e.edges,code:!1}}return{root:n(e.root),edges:e.edges,code:!!e.code}}function Un(e,t){let n={flow:t.gridFlow===`right`?`right`:`up`,grain:Jn(t),plan:!!t.blocks,from:t.from??null},r=dn(e,n);if(t.blocks){let t=Wn(r,kn(r,Lt(r)));[...t.values()].some(e=>e.wider.size)&&(r=dn(e,{...n,planned:t}))}r.feeders=Gn(r);let i=Lt(r),a=kn(r,i),o=In(r,a,i);return Vn(r,[...a,...o]),r.highways={trunks:a,feeders:o},r}function Wn(e,t){let{items:n}=e,r=e.cell>7?2:3,i=new Map;for(let[a,o]of e.pairs??[]){let e=a===``?-1:n.findIndex(e=>e.kind===`folder`&&e.ref===a),s=n.map((e,t)=>t).filter(t=>n[t].parent===e),c=t.filter(t=>t.pts&&n[t.a].parent===e),l=new Map;for(let e of s)for(let t of s){if(e>=t)continue;let i=n[e],a=n[t],[o,s]=i.gx<=a.gx?[i,a]:[a,i],[u,d]=i.gy<=a.gy?[i,a]:[a,i],f=s.gx-(o.gx+o.w),p=d.gy-(u.gy+u.h),m=null,h=!1;if(f>0&&f<=16&&Math.min(i.gy+i.h,a.gy+a.h)-Math.max(i.gy,a.gy)>=4?(m=[o.gx+o.w,Math.max(i.gy,a.gy),s.gx,Math.min(i.gy+i.h,a.gy+a.h)],h=!0):p>0&&p<=16&&Math.min(i.gx+i.w,a.gx+a.w)-Math.max(i.gx,a.gx)>=4&&(m=[Math.max(i.gx,a.gx),u.gy+u.h,Math.min(i.gx+i.w,a.gx+a.w),d.gy]),!m)continue;let g=new Map;for(let e of c)for(let t=1;t<e.pts.length;t++){let[n,r]=e.pts[t-1],[i,a]=e.pts[t],o=Math.max(1,Math.ceil(Math.max(Math.abs(i-n),Math.abs(a-r))));for(let e=0;e<=o;e++){let t=Math.floor(n+(i-n)*e/o),s=Math.floor(r+(a-r)*e/o);if(t<m[0]||t>=m[2]||s<m[1]||s>=m[3])continue;let c=h?t:s;g.has(c)||g.set(c,new Set),g.get(c).add(h?s:t)}}let _=[...g.values()].filter(e=>e.size>=4).length;_>1&&l.set([i.ref,a.ref].sort().join(`|`),r*(_-1))}i.set(a,{pair:o,wider:l})}return i}function Gn(e,t=e.trunks){let{items:n,links:r,W:i}=e;if(!t.some(e=>e.pts&&(n[e.a].kind===`folder`||n[e.b].kind===`folder`)))return[];let a=Lt(e),o=yn(e,a,{crowd:1,haste:1.5});for(let e of t)e.pts&&o.occupy(e.pts);let s=(e,t)=>{for(;n[e].parent!==t;)e=n[e].parent;return e},c=(e,[t,r])=>{let i=n[e],a=(e,t)=>Math.abs(e-t)<1e-6;return a(t,i.gx)?[i.gx,Math.floor(r)]:a(t,i.gx+i.w)?[i.gx+i.w-1,Math.floor(r)]:a(r,i.gy)?[Math.floor(t),i.gy]:[Math.floor(t),i.gy+i.h-1]},l=[];t.forEach((e,t)=>{if(!e.pts)return;let i=n[e.a].parent,a=r.filter(t=>t.s>=2&&t.level===i&&s(t.a,i)===e.a&&s(t.b,i)===e.b);n[e.a].kind===`folder`&&l.push({folder:e.a,at:e.pts[e.pts.length-1],notes:a.map(e=>e.a),trunk:t}),n[e.b].kind===`folder`&&l.push({folder:e.b,at:e.pts[0],notes:a.map(e=>e.b),trunk:t})});let u=[];for(let e=0;e<l.length;e++){let{folder:t,at:r,notes:d,trunk:f}=l[e],[p,m]=c(t,r);if(p<0||m<0||p>=i||a.blocked[m*i+p])continue;let h=new Map;for(let e of d){let n=s(e,t);h.set(n,[...h.get(n)||[],e])}let g=m*i+p,_=e=>n[e].kind===`note`,v=new Map([[g,[g,r[0],r[1]]]]),y=new Map(v),b=new Map([[g,-1]]);for(let[e,n]of[...h].sort((e,t)=>_(e[0])-_(t[0])||t[1].length-e[1].length||e[0]-t[0])){let r=_(e),s=o.routeTo(e,{ends:r?y:v,folder:t,toward:g});if(!s)continue;let c=u.length;u.push({item:e,folder:t,trunk:f,count:n.length,pts:s.pts,cells:s.cells,leaf:r,via:b.get(s.cells[s.cells.length-1])??-1});let d=new Float32Array(s.cells.length);d[d.length-1]=y.get(s.cells[s.cells.length-1])?.[3]??0;for(let e=s.cells.length-2;e>=0;e--){let t=s.cells[e],n=s.cells[e+1];d[e]=d[e+1]+(t%i!==n%i&&Math.floor(t/i)!==Math.floor(n/i)?Math.SQRT2:1)+(a.close[n]?mn.hug:0)}for(let[e,t]of s.cells.entries()){if(y.has(t))continue;let n=[t,t%i+.5,Math.floor(t/i)+.5,d[e]];y.set(t,n),b.set(t,c),r||v.set(t,n)}r||l.push({folder:e,at:s.pts[0],notes:n,trunk:f})}}return xn(u,a.W*a.H),u.map(({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s})=>({item:e,folder:t,trunk:n,count:r,pts:i,lane:a,leaf:o,via:s}))}function Kn(e){let t=Lt(e),n=yn(e,t);return e=>wn(n,e,t.W,t.H)}function qn(e){let t=3735928559,n=1103547991;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t=Math.imul(t^i,2654435761),n=Math.imul(n^i,1597334677)}return t=Math.imul(t^t>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507)^Math.imul(t^t>>>13,3266489909),(4294967296*(2097151&n)+(t>>>0)).toString(36)}var Jn=e=>e.grain===`coarse`||e.grain===`coarser`?e.grain:`fine`;function Yn(e,t={}){return qn(JSON.stringify([14,t.gridFlow===`right`?`right`:`up`,Jn(t),!!t.blocks,e]))}var Xn,Zn=1,Qn=new Map;function $n(e){if(Xn===void 0)try{Xn=new Worker(new URL(new URL(`../workers/worker-CWkpeSVG.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),Xn.onmessage=({data:e})=>{let t=Qn.get(e.id);Qn.delete(e.id),e.error===void 0?t?.resolve(e.result):t?.reject(Error(e.error))},Xn.onerror=()=>{for(let e of Qn.values())e.reject(Error(`the layout worker stopped`));Qn.clear(),Xn=null}}catch{Xn=null}if(!Xn)return Promise.reject(Error(`no worker`));let t=Zn++;return new Promise((n,r)=>{Qn.set(t,{resolve:n,reject:r}),Xn.postMessage({id:t,...e})})}var er=new Map,tr=new Map,nr=``;async function rr(e,t){let n=Hn(e),r=Yn(n,t),i=er.get(r);return i||(i=await $n({layout:{model:n,o:t}}).catch(()=>Un(n,t)),er.size>=6&&er.delete(er.keys().next().value),er.set(r,i)),{key:r,layout:i}}async function ir(e,t,n){if(!n.length)return[];let r=()=>{let r=tr.get(e);return r||(tr.clear(),tr.set(e,r=Kn(t))),r(n)},i=nr!==e;return nr=e,(await $n({routes:{key:e,layout:i?t:null,asks:n}}).catch(()=>$n({routes:{key:e,layout:t,asks:n}})).catch(r)).routes.map(e=>e?.pts??null)}var ar=f(`<path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9" class="svelte-m50bdg"></path><path d="M8 12v1.2" class="svelte-m50bdg"></path>`,1),or=f(`<path d="M8 2.5l5.8 10.5H2.2z" class="svelte-m50bdg"></path>`),sr=f(`<svg class="notch svelte-m50bdg" viewBox="0 0 16 16" aria-hidden="true"><!></svg>`),cr=L(`<b class="num svelte-m50bdg"> </b>`),lr=L(`<b class="order svelte-m50bdg" aria-hidden="true"> </b>`),ur=L(`<i class="dia svelte-m50bdg" aria-hidden="true"></i>`),dr=L(`<a><!><span class="t svelte-m50bdg"> </span><!><!><!></a>`);function fr(e,t){U(t,!0);let n=I(t,`kind`,3,``),r=I(t,`done`,3,!1),o=I(t,`behind`,3,`var(--ground-0)`),l=I(t,`mark`,3,``),u=I(t,`far`,3,0),d=I(t,`num`,3,0),f=I(t,`iso`,3,``),p=I(t,`linked`,3,!1),m=I(t,`dim`,3,!1),h=I(t,`moment`,3,``),g=I(t,`given`,3,!1),v=I(t,`held`,3,``),y=I(t,`changed`,3,!1),S=I(t,`pointed`,3,``),C=I(t,`order`,3,0),T=I(t,`here`,3,!1);var E=dr();let D;var O=G(E),A=e=>{var t=sr(),i=G(t),a=e=>{var t=ar();ie(),R(e,t)},o=e=>{var t=or();s(()=>j(t,`fill`,r()?`currentColor`:`none`)),R(e,t)};_(i,e=>{n()===`question`?e(a):e(o,-1)}),k(t),R(e,t)};_(O,e=>{n()&&e(A)});var M=b(O),N=x(M,!0),P=b(M),L=e=>{var t=cr(),n=x(t,!0);s(()=>i(n,d())),R(e,t)};_(P,e=>{d()&&e(L)});var z=b(P),V=e=>{var t=lr(),n=x(t,!0);s(()=>i(n,C())),R(e,t)};_(z,e=>{C()&&e(V)});var H=b(z),W=e=>{var t=ur();R(e,t)};_(H,e=>{y()&&e(W)}),k(E),s(e=>{D=F(E,1,`n ${h()?`mo-${h()}`:``} ${f()?`p-${f()}`:``} ${l()??``} ${n()??``}`,`svelte-m50bdg`,D,{done:r(),linked:p(),dim:m()&&!d()&&!f()&&!p()&&!g(),far:u()>1,pick:d()>0,given:g(),held:v()===`on`,aside:v()===`aside`,changed:y(),pointed:!!S(),here:T()}),j(E,`aria-current`,T()?`page`:void 0),j(E,`href`,t.href),j(E,`aria-label`,d()?`${t.title}: linked, number ${d()}`:`${n()===`question`?`Question: `:n()===`problem`?`Problem${r()?`, solved`:``}: `:``}${t.title}${g()?`: in Iso's context`:v()===`on`?`: read by Iso, in hand`:v()===`aside`?`: read by Iso, set aside`:``}${y()?`, changed by Iso`:``}${S()?`, Iso points to it: ${S()}`:``}`),j(E,`title`,S()||(g()?`In Iso's context: shift+click takes it back`:v()===`on`?`Read by Iso, in hand: shift+click sets it aside`:v()===`aside`?`Read by Iso, set aside: shift+click puts it in hand again`:void 0)),j(E,`data-note`,t.item.ref),B(E,`--x:${t.item.gx??``};--y:${t.item.gy??``};--w:${t.item.w??``};--h:${t.item.h??``};--lit:${e??``}%;--behind:${o()??``}`),i(N,t.title)},[()=>Math.max(34,100-(u()-1)*20)]),a(`click`,E,function(...e){t.onpick?.apply(this,e)}),c(`pointerenter`,E,e=>{e.pointerType===`mouse`&&t.onpoint(!0)}),c(`pointerleave`,E,e=>{e.pointerType===`mouse`&&t.onpoint(!1)}),c(`focus`,E,()=>t.onpoint(!0)),c(`blur`,E,()=>t.onpoint(!1)),R(e,E),w()}m([`click`]);var pr=L(`<button class="frame-title svelte-ywp27z" type="button"> </button>`),mr=L(`<span class="frame-title held svelte-ywp27z"> </span>`),hr=L(`<div><!> <!></div>`),gr=L(`<button type="button"><span class="inner svelte-ywp27z"><span class="name svelte-ywp27z"> </span><span class="label svelte-ywp27z"> </span></span></button>`);function _r(e,n){U(n,!0);let r=I(n,`titled`,3,!0),o=I(n,`held`,19,()=>({req:0,bld:0})),c=I(n,`dim`,3,!1),u=I(n,`given`,3,!1),f=I(n,`here`,3,!1),p=I(n,`moment`,3,``),m=K(()=>n.item.depth%2?`var(--ground-1)`:`var(--ground-0)`),h=K(()=>n.item.depth%2?`var(--ground-0)`:`var(--ground-1)`),g=K(()=>o().req?`req`:o().bld?`bld`:``),v=K(()=>[o().req?`${o().req} required here`:``,o().bld?`${o().bld} ${o().bld===1?`builds`:`build`} on it`:``].filter(Boolean).join(` · `)),y=K(()=>`--x:${n.item.gx};--y:${n.item.gy};--w:${n.item.w};--h:${n.item.h}`);var S=t(),C=l(S),T=e=>{var t=hr();let o;var c=G(t),l=e=>{var t=pr(),r=x(t,!0);s(()=>{j(t,`title`,u()?`In Iso's context: shift+click takes it back`:void 0),i(r,n.name)}),a(`click`,t,function(...e){n.onpick?.apply(this,e)}),R(e,t)};_(c,e=>{r()&&e(l)});var f=b(c,2),S=e=>{var t=mr(),n=x(t,!0);s(()=>i(n,d(v))),R(e,t)};_(f,e=>{d(v)&&e(S)}),k(t),s(()=>{o=F(t,1,`folder frame ${d(g)??``} ${p()?`mo-${p()}`:``}`,`svelte-ywp27z`,o,{given:u()}),j(t,`data-folder`,n.item.ref),B(t,`${d(y)??``};--inside:${d(m)??``};--behind:${d(h)??``};--ground-here:${d(m)??``}`)}),R(e,t)},E=e=>{var t=gr();let r;var o=G(t),l=G(o),m=x(l,!0),h=b(l),_=x(h,!0);k(o),k(t),s(()=>{r=F(t,1,`folder frame closed ${d(g)??``} ${p()?`mo-${p()}`:``}`,`svelte-ywp27z`,r,{dim:c(),given:u(),here:f()}),j(t,`aria-current`,f()?`page`:void 0),j(t,`data-folder`,n.item.ref),B(t,d(y)),j(t,`title`,u()?`In Iso's context: shift+click takes it back`:void 0),i(m,n.name),i(_,d(v)||`${n.count} ${n.count===1?`note`:`notes`}`)}),a(`click`,t,function(...e){n.onpick?.apply(this,e)}),R(e,t)};_(C,e=>{n.open?e(T):e(E,-1)}),R(e,S),w()}m([`click`]);var vr=f(`<path pathLength="1"></path>`),yr=f(`<path></path>`),br=f(`<path class="sent svelte-k96fgh"></path>`),xr=f(`<!><!><!>`,1),Sr=f(`<path class="grown svelte-k96fgh" pathLength="1"></path>`),Cr=f(`<svg class="routes svelte-k96fgh" aria-hidden="true"><g class="svelte-k96fgh"><!><!></g></svg>`);function wr(e,n){U(n,!0);let r=I(n,`sent`,19,()=>[]),i=I(n,`grown`,19,()=>[]),a=I(n,`beat`,3,``),o=I(n,`retracting`,19,()=>[]),c=e=>`${(e.strong?e.trunk?3:1.5:e.trunk?2:1)/n.k}px`;var u=Cr(),f=G(u),p=G(f),m=e=>{var n=t(),r=l(n);g(r,17,o,e=>e.key,(e,t)=>{var n=vr();let r,i;s(e=>{r=F(n,0,`along retract ${d(t).strong?`base`:`base weak`}`,`svelte-k96fgh`,r,{trunk:d(t).trunk}),j(n,`d`,d(t).d),i=B(n,``,i,{"stroke-width":e})},[()=>c(d(t))]),R(e,n)}),R(e,n)},h=e=>{var r=t(),i=l(r);g(i,17,()=>n.rest,e=>e.key,(e,t)=>{var n=vr();let r,i;s(e=>{r=F(n,0,`along draw ${d(t).strong?`base`:`base weak`}`,`svelte-k96fgh`,r,{trunk:d(t).trunk}),j(n,`d`,d(t).d),i=B(n,``,i,{"stroke-width":e})},[()=>c(d(t))]),R(e,n)}),R(e,r)},v=e=>{var t=xr(),i=l(t);g(i,17,()=>n.rest,e=>e.key,(e,t)=>{var n=yr();let r;s(()=>{r=F(n,0,N(d(t).strong?`base`:`base weak`),`svelte-k96fgh`,r,{trunk:d(t).trunk}),j(n,`d`,d(t).d)}),R(e,n)});var a=b(i);g(a,17,r,e=>e.key,(e,t)=>{var n=br();s(()=>j(n,`d`,d(t).d)),R(e,n)});var o=b(a);g(o,17,()=>n.hot,e=>e.key,(e,t)=>{var n=yr();let r;s(()=>{r=F(n,0,`lit ${d(t).kind??``}`,`svelte-k96fgh`,r,{still:d(t).still}),j(n,`d`,d(t).d)}),R(e,n)}),R(e,t)};_(p,e=>{a()===`retract`?e(m):a()===`draw`?e(h,1):a()===``&&e(v,2)});var y=b(p);g(y,17,i,e=>e.key,(e,t)=>{var r=Sr();let i;s(()=>{j(r,`d`,d(t).d),i=B(r,``,i,{"stroke-width":`${3/n.k}px`})}),R(e,r)}),k(f),k(u),s(()=>{j(u,`data-requires`,n.counts.requires),j(u,`data-builds`,n.counts.builds),j(u,`data-uses`,n.counts.uses),j(f,`transform`,`scale(${n.k??``})`)}),R(e,u),w()}var Tr=L(`<p class="said svelte-14y1y1z"> </p>`),Er=L(`<p class="said faint svelte-14y1y1z">There are no notes yet. The map draws itself as you write them.</p>`),Dr=L(`<span> </span>`),Or=L(`<a class="sat web svelte-14y1y1z" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><circle cx="8" cy="8" r="5.5"></circle><path d="M2.5 8h11M8 2.5c-2 2.8-2 8.2 0 11M8 2.5c2 2.8 2 8.2 0 11"></path></svg></a>`),kr=L(`<span role="img"><svg viewBox="0 0 16 16" aria-hidden="true" class="svelte-14y1y1z"><path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path></svg></span>`),Ar=L(`<a class="eph svelte-14y1y1z"><span class="t svelte-14y1y1z"> </span></a>`),jr=L(`Iso is reading <span class="c-gold svelte-14y1y1z"> </span>`,1),Mr=L(`<svg class="loader svelte-14y1y1z" aria-hidden="true"><path d="M0 1H1000" class="svelte-14y1y1z"></path></svg> <p class="doing svelte-14y1y1z" role="status"><i class="dia svelte-14y1y1z" aria-hidden="true"></i><!></p>`,1),Nr=L(`<div><!> <!></div>`),Pr=f(`<path d="M1.5 5.5h6l2 2.5h9v12.5h-17z" class="svelte-14y1y1z"></path>`),Fr=f(`<path d="M3.5 1.5h9l4.5 4.5v16.5h-13.5z M12.5 1.5v4.5h4.5" class="svelte-14y1y1z"></path><path class="ln svelte-14y1y1z" d="M6.5 11h7.5M6.5 14.5h7.5M6.5 18h5"></path>`,1),Ir=L(`<div><svg viewBox="0 0 20 24" width="20" height="24" aria-hidden="true" class="svelte-14y1y1z"><!></svg> <span class="svelte-14y1y1z"> </span></div>`),Lr=L(`<button type="button"><svg viewBox="0 0 12 12" width="12" height="12" aria-hidden="true" class="svelte-14y1y1z"><path d="M2 2l8 4-8 4z" class="svelte-14y1y1z"></path></svg></button>`),Rr=L(`<p class="notice svelte-14y1y1z" role="alert"> </p>`),zr=L(`<p class="given svelte-14y1y1z" role="status"> </p>`),Br=L(`<p class="legend svelte-14y1y1z" aria-hidden="true"><span class="svelte-14y1y1z"><i class="k g svelte-14y1y1z"></i>you gave it</span><span class="svelte-14y1y1z"><i class="k h svelte-14y1y1z"></i>Iso read it</span><span class="svelte-14y1y1z"><i class="k d svelte-14y1y1z"></i>Iso changed it</span><span class="svelte-14y1y1z"><i class="k p svelte-14y1y1z"></i>Iso points to it</span><span class="svelte-14y1y1z"><i class="k n svelte-14y1y1z">1</i>read, in order</span></p>`),Vr=L(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◇</i>Take back from Iso</button>`),Hr=L(`<button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">◆</i>Give to Iso</button>`),Ur=L(`<div class="offer frame svelte-14y1y1z" role="menu"><!> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">▣</i>Open</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i class="q svelte-14y1y1z" aria-hidden="true">?</i>A question about it</button> <button type="button" role="menuitem" class="svelte-14y1y1z"><i aria-hidden="true" class="svelte-14y1y1z">△</i>A problem using it</button></div>`),Wr=L(`<div aria-hidden="true"> </div>`),Gr=L(`<!> <div><div class="scaled svelte-14y1y1z"></div> <!> <!> <div class="scaled svelte-14y1y1z"><!> <!></div> <!> <!></div> <!> <!> <!> <!> <!> <!>`,1),Kr=L(`<div role="application" aria-label="The atlas: the map of the base" tabindex="0"><div class="ground dots svelte-14y1y1z" aria-hidden="true"></div> <!></div>`);function qr(r,o){U(o,!0);let u=I(o,`pick`,3,``),f=e(null),m=e(null),y=``,C=e(``),T=e({x:0,y:0,k:1}),E=e(1),D;v(()=>{let e=d(T).k;clearTimeout(D),Math.abs(Math.log(e/d(E)))>.35?h(E,e,!0):e!==d(E)&&(D=setTimeout(()=>h(E,e,!0),150))});let O=e=>{h(T,e),h(E,e.k,!0)},A=e({w:0,h:0}),M=e(``),N=e([]),P=K(()=>d(N).at(-1)??``),L=e(void 0),z=[`fine`,`coarse`,`coarser`],V=e(S(z.find(e=>e===te(`isorite.atlas.grain`))??`fine`)),H=e(te(`isorite.atlas.leaves`)===`on`),W=!1,ee=window.innerWidth>=window.innerHeight?`right`:`up`;function te(e){try{return localStorage.getItem(e)}catch{return null}}function re(){h(V,z[(z.indexOf(d(V))+1)%z.length],!0),W=!1;try{localStorage.setItem(`isorite.atlas.grain`,d(V))}catch{}oe()}function ae(e){h(H,e,!0);try{localStorage.setItem(`isorite.atlas.leaves`,e?`on`:`off`)}catch{}}async function oe(){try{let e=await X.api.map(),t={...e,model:Nt(e.model,t=>{let n=e.notes[t];return n?.kind===`question`?!Z.on.questions||!!n.done:n?.kind===`problem`&&!Z.on.problems})},n=`${ee}|${d(V)}`,r=d(m)&&y===n?d(m).layout.orders??null:null,i=await rr(t.model,{gridFlow:ee,grain:d(V),blocks:!0,from:r});y=n;let a=!!d(m)&&d(m).key!==i.key,o=d(m)&&d(q)?{refs:new Set(d(q).items.map(e=>e.ref)),edges:new Set(d(f).model.edges.map(([e,t])=>`${e}>${t}`))}:null,s=!d(m)||d(m).key!==i.key&&!W,c=++Ce,l=matchMedia(`(prefers-reduced-motion: reduce)`).matches,u=!!o&&a&&!l;if(u){if(h(Se,d(je)),h(xe,`retract`),await ye(ge),c!==Ce)return;h(Se,[]),h(xe,`move`)}if(h(f,t),h(m,i),h(C,``),o&&a&&De(o),s&&d(A).w&&O(he()),u){if(await ye(_e),c!==Ce)return;h(xe,`draw`),await ye(ve),c===Ce&&h(xe,``)}}catch(e){h(C,e.message,!0)}}let se=``;v(()=>{let e=`${Z.on.questions}|${Z.on.problems}`;se&&se!==e&&oe(),se=e}),v(()=>{oe();let e,t=X.on(t=>{(t.type===`note-changed`||t.type===`record`)&&(clearTimeout(e),e=setTimeout(()=>{oe()},400))});return()=>{t(),clearTimeout(e)}});let q=K(()=>d(m)?yt(d(m).layout):null),J=K(()=>d(q)?_t(d(q)):null),me=K(()=>d(q)?bt(d(q),d(E)):``),he=()=>{let e=(d(q)?.margin??0)/2,t={gx:e,gy:e,w:(d(q)?.W??1)-2*e,h:(d(q)?.H??1)-2*e},n=d(Lt)?.draft?d(Lt):null;if(n&&d(q)){let e=Math.max(t.gx+t.w,n.gx+Math.max(n.w,240/d(q).cell)+2),r=Math.max(t.gy+t.h,n.gy+n.h+70/d(q).cell);t.gx=Math.min(t.gx,n.gx-2),t.gy=Math.min(t.gy,n.gy-2),t.w=e-t.gx,t.h=r-t.gy}return jt(t,d(A).w,d(A).h,1,d(q)?.cell)},ge=220,_e=520,ve=340,ye=e=>new Promise(t=>setTimeout(t,e)),xe=e(``),Se=e([]),Ce=0,we=e(!1),Ee=e([]);async function De(e){if(h(we,!0),setTimeout(()=>h(we,!1),700),await ce(),!d(q)||!d(J)||!d(f))return;let t=matchMedia(`(prefers-reduced-motion: reduce)`).matches;for(let n of d(q).items)e.refs.has(n.ref)||n.ref.startsWith(`@`)||(d(L)?.querySelector(n.kind===`folder`?`[data-folder="${CSS.escape(n.ref)}"]`:`[data-note="${CSS.escape(n.ref)}"]`))?.animate([{opacity:0},{opacity:0,offset:t?0:.45},{opacity:1}],{duration:t?200:1e3,easing:`ease-out`});let n=d(f).model.edges.filter(([t,n])=>!e.edges.has(`${t}>${n}`)&&!t.startsWith(`@`)&&!n.startsWith(`@`)&&e.refs.has(t)&&e.refs.has(n));h(Ee,n.flatMap(([e,t])=>{let n=d(J).at.get(e),r=d(J).at.get(t);return n===void 0||r===void 0?[]:[{key:`${e}>${t}`,d:Oe(d(q).items[xt(d(J),d(me),n)],d(q).items[xt(d(J),d(me),r)])}]})),d(Ee).length&&setTimeout(()=>h(Ee,[]),5600)}function Oe(e,t){let n=t.gx+t.w/2-(e.gx+e.w/2),r=t.gy+t.h/2-(e.gy+e.h/2),i=11/18*Math.abs(n)>=Math.abs(r);return kt(At(i?[n<0?e.gx:e.gx+e.w,e.gy+e.h/2]:[e.gx+e.w/2,r<0?e.gy:e.gy+e.h],i?[n<0?t.gx+t.w:t.gx,t.gy+t.h/2]:[t.gx+t.w/2,r<0?t.gy+t.h:t.gy],i),0,d(q).cell)}v(()=>{if(!d(L))return;let e=new ResizeObserver(([e])=>{let{width:t,height:n}=e.contentRect,r=!d(A).w,i=d(A);h(A,{w:t,h:n}),r&&d(q)?O(he()):!r&&t&&n&&h(T,{...d(T),x:d(T).x+(t-i.w)/2,y:d(T).y+(n-i.h)/2})});return e.observe(d(L)),()=>e.disconnect()});let ke=K(()=>d(q)?d(q).items.flatMap((e,t)=>e.kind===`folder`&&d(me)[t]!==`-`?[{item:e,i:t,open:d(me)[t]===`o`}]:[]):[]),Ae=K(()=>d(q)?d(q).items.flatMap((e,t)=>e.kind===`note`&&d(me)[t]===`s`?[{item:e,i:t}]:[]):[]),je=K(()=>d(q)?Et(St(d(q),d(me),d(J).strong,d(H))).map(e=>({key:e.key,pts:e.pts,d:kt(e.pts,0,d(q).cell),count:e.count,strong:e.strong,trunk:e.trunk,...Me(e)})).map((e,t,n)=>({...e,label:e.label&&!n.some((n,r)=>r!==t&&n.label&&n.count===e.count&&Math.hypot(n.mid[0]-e.mid[0],n.mid[1]-e.mid[1])<10&&(n.length>e.length||n.length===e.length&&r<t))})):[]);function Me(e){let t=e.pts[0],n=t,r=0;for(let i=1,a=0;i<e.pts.length;i++){let o=e.pts[i-1],s=e.pts[i],c=e.pts[i+1];if(c&&Math.abs((s[0]-o[0])*(c[1]-s[1])-(s[1]-o[1])*(c[0]-s[0]))<1e-6&&(s[0]-o[0])*(c[0]-s[0])+(s[1]-o[1])*(c[1]-s[1])>0)continue;let l=e.pts[a],u=Math.hypot(s[0]-l[0],s[1]-l[1]);u>r&&(r=u,t=l,n=s),a=i}return{label:e.trunk&&e.count>1&&r>=3,mid:[(t[0]+n[0])/2,(t[1]+n[1])/2],side:Math.abs(t[0]-n[0])<1e-6?`right`:`above`,length:r}}let Ne=K(()=>u()?``:d(P)||d(M)),Pe=K(()=>d(Ne)&&d(f)&&d(J)?.at.has(d(Ne))?pe(d(f).model,d(Ne)):null),Fe=K(()=>{let e=new Map;if(!d(Pe))return e;for(let t of d(Pe).also)e.set(t,{mark:`also`,far:0});for(let t of d(Pe).uses)e.set(t,{mark:`use`,far:0});for(let t of d(Pe).builds)e.set(t,{mark:`bld`,far:0});for(let t of d(Pe).requires)e.set(t,{mark:`req`,far:d(Pe).depth[t]??1});for(let t of d(N))e.set(t,{mark:`req`,far:1});return e.set(d(Ne),{mark:`at`,far:0}),e}),Ie=K(()=>{if(!d(Pe))return[];let e=d(N).slice(1).map((e,t)=>({from:d(N)[t],to:e,kind:`requires`})),t=d(N).at(-2);return[...e,...d(Pe).links.filter(e=>e.kind===`requires`?e.from===d(Ne):e.kind!==`builds`||e.from!==t)]}),Le=K(()=>{let e=new Map;if(!d(Pe)||!d(J))return e;let t=new Set(d(J).up[d(J).at.get(d(Ne))]),n=(n,r)=>{for(let i of n)for(let n of d(J).up[d(J).at.get(i)??-1]??[]){if(t.has(n))break;let i=e.get(n)??{req:0,bld:0};i[r]++,e.set(n,i)}};return n(d(Pe).requires,`req`),n(d(Pe).builds,`bld`),e}),Re=(e,t)=>{let n=d(Le).get(e),r=d(q).items[e].parent;return n&&(!t||r<0||!d(Le).has(r))?n:{req:0,bld:0}},ze=e([]),Be=e({requires:0,builds:0,uses:0});function Ve(e,t){if(!e.length||!d(q)||!d(J)||!d(m)){t([],[]);return}let n=e.flatMap(e=>{let t=d(J).at.get(e.from),n=d(J).at.get(e.to);return t===void 0||n===void 0?[]:[{a:t,b:n,kind:e.kind}]}),{fixed:r,asks:i}=Dt(d(q),d(J),d(me),n),a=e=>t(Et(e,!0).map(e=>({key:e.key,kind:e.kind,d:kt(e.pts,0,d(q).cell),count:e.count,still:!e.flow})),e);if(a(r),!i.length)return;let o=!1;return ir(d(m).key,d(q),i.map(({a:e,b:t})=>({a:e,b:t}))).then(e=>{o||a([...r,...i.flatMap((t,n)=>e[n]?[{key:t.key,kind:t.kind,pts:[...e[n]].reverse()}]:[])])}).catch(()=>void 0),()=>{o=!0}}v(()=>Ve(d(Ie),(e,t)=>{h(ze,e),h(Be,{requires:t.filter(e=>e.kind===`requires`).length,builds:t.filter(e=>e.kind===`builds`).length,uses:t.filter(e=>e.kind===`uses`).length})}));let He=K(()=>Te.route.id===`/n/[...id]`?Te.params.id??``:``);function Ue(e,t=!1){if(!d(q)||!d(J)||!e)return-1;let n=t?d(q).items.findIndex(t=>t.kind===`folder`&&t.ref.replace(/\/$/,``)===e):d(J).at.get(e)??-1;return n<0?-1:xt(d(J),d(me),n)}let We=K(()=>Ue(d(He))),Ge=K(()=>fe.elsewhere),Q=K(()=>d(Ge)?Ue(d(Ge).id,d(Ge).folder):-1),Ke=K(()=>{if(!d(Ge)||d(Ge).folder||!d(He)||d(Ge).id===d(He)||!d(f))return[];let e=d(f).model.edges.find(([e,t])=>e===d(He)&&t===d(Ge).id||e===d(Ge).id&&t===d(He));return e?[{from:e[0],to:e[1],kind:e[2]>=de.requires?`requires`:`uses`}]:[]}),qe=e([]);v(()=>Ve(d(Ke),e=>{h(qe,e.map(e=>({...e,key:`there:${e.key}`})))}));let Je=``;v(()=>{let e=d(He);n(()=>{if(e&&e!==Je&&d(P)&&d(P)===Je&&d(J)?.at.has(e)){let t=[];if(d(Pe)&&d(Pe).depth[e])for(let n=e;n&&n!==d(P);n=d(Pe).via[n])t.unshift(n);h(N,d(N).includes(e)?d(N).slice(0,d(N).indexOf(e)+1):t.length?[...d(N),...t]:[e])}Je=e})});function Ye(e){if(!d(q)||e<0||!d(A).w)return null;let t=d(q).items[e],n=d(q).cell*d(T).k,r=d(T).x+t.gx*n,i=d(T).y+t.gy*n,a=r+t.w*n,o=i+t.h*n;if(a>0&&r<d(A).w&&o>0&&i<d(A).h)return null;let s=d(A).w/2,c=d(A).h/2,l=(r+a)/2-s,u=(i+o)/2-c,f=Math.min((s-14)/Math.max(Math.abs(l),1e-6),(c-14)/Math.max(Math.abs(u),1e-6));return{x:s+l*f,y:c+u*f,angle:Math.atan2(u,l)}}let Xe=K(()=>u()?null:Ye(d(We))),Ze=K(()=>u()||d(Q)===d(We)?null:Ye(d(Q)));function Qe(e){if(!d(q))return;let t=d(q).items[e],n=d(q).cell*d(T).k;W=!0,mn({k:d(T).k,x:d(A).w/2-(t.gx+t.w/2)*n,y:d(A).h/2-(t.gy+t.h/2)*n})}let $e=K(()=>u()?null:X.iso),et=K(()=>d($e)?.state===`reading`||d($e)?.state===`writing`),at=K(()=>{let e=new Map;for(let t of d($e)?.steps??[])t.opened&&!t.failed&&!e.has(t.opened)&&e.set(t.opened,t.how);return e}),ot=K(()=>Z.on.context||!!u()),st=K(()=>new Set(Y.parts.filter(e=>e.kind===`note`).map(e=>e.id))),dt=K(()=>new Set(Y.parts.filter(e=>e.kind===`folder`).map(e=>e.id))),ft=K(()=>new Map(($.report?.rows??[]).filter(e=>e.kind===`read`).map(e=>[e.key.slice(2),e]))),pt=K(()=>$.turns.at(-1)),vt=K(()=>new Set($.turns.filter(e=>!e.items.some(e=>e.kind===`undone`)).flatMap(e=>e.items.flatMap(e=>e.kind===`change`&&e.why!==`delete`?[e.why===`move`?e.to:e.note]:[])))),Ct=K(()=>new Map((d(pt)?.items??[]).flatMap(e=>e.kind===`point`?[[e.note,e.why]]:[]))),wt=K(()=>{let e=new Map;for(let t of d(pt)?.items??[])t.kind===`look`&&t.step.opened&&!t.step.failed&&!e.has(t.step.opened)&&e.set(t.step.opened,e.size+1);return e}),Tt=K(()=>d(et)?d($e).steps.findLast(e=>e.opened&&!e.failed)?.opened??``:``),Ot=K(()=>(d($e)?.steps??[]).flatMap(e=>e.how===`link`&&e.from&&e.opened&&!e.failed?[{from:e.from,to:e.opened,kind:`iso`}]:[])),Pt=e([]);v(()=>Ve(d(Ot),e=>{h(Pt,e.map(e=>({...e,key:`iso:${e.key}`})))}));let It=e(null);v(()=>{let e=d($e)?.note??``;if(h(It,null),!e.startsWith(`@draft/`))return;let t=!1;return X.api.readNote(e).then(e=>{t||h(It,e)},()=>void 0),()=>{t=!0}});let Lt=K(()=>{if(!d($e)||!d(q)||!d(J))return null;if(!d($e).note.startsWith(`@draft/`)){let e=d(J).at.get(d($e).note);if(e===void 0)return null;let t=d(q).items[xt(d(J),d(me),e)];return{gx:t.gx,gy:t.gy,w:t.w,h:t.h,draft:!1,title:dn(d($e).note)}}let e=Math.round(126/d(q).cell),t=Math.round(77/d(q).cell),n=d(It)?it(d(It).text)||`a new note`:``,r=ct(d($e).note),i=r?{gx:Math.round(r.gx*7/d(q).cell),gy:Math.round(r.gy*7/d(q).cell)}:null;if(i&&!d(q).items.some(n=>n.kind===`note`&&i.gx<n.gx+n.w+1&&n.gx<i.gx+e+1&&i.gy<n.gy+n.h+1&&n.gy<i.gy+t+1))return{...i,w:e,h:t,draft:!0,title:n};let a=d(q).items.filter(e=>e.parent<0),o=Math.max(...a.map(e=>e.gx+e.w)),s=Math.max(...a.map(e=>e.gy+e.h)),c=Math.round(84/d(q).cell);return ee===`right`?{gx:o+c,gy:Math.round((d(q).H-t)/2),w:e,h:t,draft:!0,title:n}:{gx:Math.round((d(q).W-e)/2),gy:s+c,w:e,h:t,draft:!0,title:n}}),Rt=K(()=>d(It)?tt(d(It).text).filter(e=>d(f)?.notes[e]):[]),zt=K(()=>!d(Lt)?.draft||!d(q)||!d(J)?[]:d(Rt).flatMap(e=>{let t=d(J).at.get(e);return t===void 0?[]:[{key:e,d:Oe(d(Lt),d(q).items[xt(d(J),d(me),t)])}]})),Bt=e=>{if(!d(ot))return``;if(e===d(Tt))return`used`;let t=d(at).get(e);return t===`keyword`?`key`:t===`meaning`?`sem`:t?`link`:``};v(()=>{let e=d($e);e&&e.request===X.watching&&e.state!==`reading`&&e.state!==`writing`&&(X.watching=``,e.state===`done`&&ue(le(`/draft/[id]`,{id:e.note.slice(7)})))});let Vt=``;v(()=>{d(Lt)?.draft&&d($e)&&Vt!==d($e).request&&d(A).w&&(Vt=d($e).request,W||h(T,he()))});let Ht=e(null),Ut=e(``);v(()=>{if(h(Ht,null),h(Ut,``),!u())return;let e=!1;return X.api.readNote(u()).then(t=>{e||h(Ht,t)},()=>{e||h(Ut,`that note for Iso is not here any more`)}),()=>{e=!0}});let Wt=K(()=>d(Ht)?tt(d(Ht).text).filter(e=>d(f)?.notes[e]&&!e.startsWith(`@`)):[]),Gt=Promise.resolve();function Kt(e){Gt=Gt.then(async()=>{if(!d(Ht)||e.startsWith(`@`))return;let t=t=>tt(t).includes(e)?rt(t,e):nt(t,e,dn(e)),n=t(d(Ht).text);if(n===null)h(Ut,`linked in what you wrote: take it out there`);else{h(Ut,``);try{h(Ht,await X.api.saveNote(u(),{base:d(Ht).version,text:n}))}catch{try{let e=await X.api.readNote(u()),n=t(e.text);h(Ht,n===null?e:await X.api.saveNote(u(),{base:e.version,text:n}))}catch(e){h(Ut,`not linked: ${e.message}`)}}}})}let qt=e(null),Jt=null,Yt=!1,Xt,Zt;function Qt(){clearTimeout(Xt),clearTimeout(Zt),Xt=Zt=void 0,Jt=null,Yt||h(qt,null)}function $t(e,t){let n=null;for(let r of d(q).items)r.kind===`folder`&&!r.ref.startsWith(`@`)&&e>=r.gx&&e<r.gx+r.w&&t>=r.gy&&t<r.gy+r.h&&(!n||r.depth>n.depth)&&(n={ref:r.ref,depth:r.depth});return n?.ref??``}function en(e,t){if(Qt(),d(nn)&&!(e.target instanceof Element&&e.target.closest(`.offer`))&&h(nn,null),u()||Yt||!d(q)||!d(J)||!(e.target instanceof Element)||e.target.closest(`button, .dock`))return;let n=e.target.closest(`[data-note]`)?.dataset.note??``;if(n.startsWith(`@`))return;if(n){let r=e.pointerType!==`mouse`;Zt=setTimeout(()=>{Zt=void 0,hn=!0,r?h(nn,{ref:n,x:t.x,y:t.y}):on(n)},650);return}let r=d(q).cell*d(T).k,i=Math.round((t.x-d(T).x)/r),a=Math.round((t.y-d(T).y)/r),o={dir:$t(i,a),gx:i,gy:a,w:0,h:0,folder:!1};Xt=setTimeout(()=>{h(qt,o)},180),Zt=setTimeout(()=>{Zt=void 0,hn=!0,Jt=t,h(qt,o),d(L)?.setPointerCapture(e.pointerId)},650)}function tn(e){Jt&&d(qt)&&!d(qt).folder&&Math.hypot(e.x-Jt.x,e.y-Jt.y)>=24&&h(qt,{...d(qt),folder:!0})}let nn=e(null),rn=e(``),an;function on(e,t=`note`){let n=Y.add({kind:t,id:e,title:t===`note`?dn(e):fn(e)});h(rn,n?`${t===`note`?dn(e):fn(e)} is in Iso's context`:`${t===`note`?dn(e):fn(e)} is in Iso's context already`,!0),clearTimeout(an),an=setTimeout(()=>h(rn,``),2200)}function sn(e,t=`note`){let n=t===`note`&&!Y.has(`note`,e)?d(ft).get(e):void 0;if(n){$.toggle(n),h(rn,`${dn(e)} is ${n.on?`set aside`:`in Iso's hand again`}`),clearTimeout(an),an=setTimeout(()=>h(rn,``),2200);return}if(!Y.has(t,e)){on(e,t);return}let r=t===`note`?dn(e):fn(e);Y.remove({kind:t,id:e,title:r}),h(rn,`${r} is out of Iso's context`),clearTimeout(an),an=setTimeout(()=>h(rn,``),2200)}function cn(){Jt&&d(qt)&&(Jt=null,ln(d(qt)))}async function ln(e){Yt=!0;let t=X.listing.notes.map(e=>e.id),n=e.dir;if(e.folder){let r=lt(e.dir,`untitled-folder`,e=>!t.some(t=>t.startsWith(`${e}/`)));n=[e.dir,r.slug].filter(Boolean).join(`/`)}let r=lt(n,`untitled-note`,e=>!t.includes(e)),i=[n,r.slug].filter(Boolean).join(`/`),a=r.n===1?`Untitled note`:`Untitled note ${r.n}`;try{await X.api.createNote(i,`---\ntype: Concept\ntitle: ${JSON.stringify(a)}\n---\n\n`),await X.refresh(),Z.fresh=i,await Z.open(i)}catch(e){h(Ut,e.message,!0)}finally{Yt=!1,h(qt,null)}}async function un(e,t){try{await ut(e,t)}catch(e){h(Ut,e.message,!0)}}let dn=e=>d(f)?.notes[e]?.title??e.split(`/`).at(-1)??e,fn=e=>e.split(`/`).at(-1)||X.session?.name||`the base`,pn=0;function mn(e){if(cancelAnimationFrame(pn),jn(),matchMedia(`(prefers-reduced-motion: reduce)`).matches){h(T,e);return}let t=d(T),n=performance.now(),r=i=>{let a=Math.min(1,(i-n)/320),o=1-(1-a)**3,s=t.k*(e.k/t.k)**o,c=d(A).w/2,l=d(A).h/2,u=(c-t.x)/t.k*(1-o)+(c-e.x)/e.k*o,f=(l-t.y)/t.k*(1-o)+(l-e.y)/e.k*o;h(T,a===1?e:{k:s,x:c-u*s,y:l-f*s}),a<1&&(pn=requestAnimationFrame(r))};pn=requestAnimationFrame(r)}let hn=!1,gn=new Map,_n=null;function vn(){let e=[...gn.values()];if(!e.length){_n=null;return}let t=e.reduce((e,t)=>e+t.x,0)/e.length,n=e.reduce((e,t)=>e+t.y,0)/e.length;_n={view:d(T),x:t,y:n,span:e.length>1?Math.hypot(e[0].x-e[1].x,e[0].y-e[1].y):0}}let yn=e=>{let t=d(L).getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},bn=null,xn=e(S({x:0,y:0}));function Sn(e){if(u()||!(e.target instanceof Element))return null;let t=e.target.closest(`[data-note]`)?.dataset.note;if(t)return t.startsWith(`@`)?null:{kind:`note`,id:t,title:dn(t)};let n=(e.target.closest(`.frame-title`)?.closest(`[data-folder]`)??e.target.closest(`button[data-folder]`))?.dataset.folder;return n&&!n.startsWith(`@`)?{kind:`folder`,id:n,title:fn(n)}:null}function Cn(e){if(!bn||e.pointerType!==`mouse`)return;h(xn,{x:e.clientX,y:e.clientY},!0);let t=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-pane="iso"]`)!=null;Y.carrying={part:bn,over:t}}function wn(e){(e.pointerType!==`mouse`||e.button===0)&&(cancelAnimationFrame(pn),jn(),gn.size||(hn=!1,bn=Sn(e)),gn.set(e.pointerId,yn(e)),vn(),gn.size===1?en(e,yn(e)):Qt())}function Tn(e){if(!gn.has(e.pointerId)||!_n)return;if(gn.set(e.pointerId,yn(e)),Jt){tn(yn(e));return}let t=[...gn.values()],n=t.reduce((e,t)=>e+t.x,0)/t.length,r=t.reduce((e,t)=>e+t.y,0)/t.length;if(!hn&&t.length===1&&Math.hypot(n-_n.x,r-_n.y)<5)return;if(hn||(hn=!0,Qt(),d(L).setPointerCapture(e.pointerId)),t.length===1&&bn){Cn(e);return}W=!0;let i=t.length>1?Math.hypot(t[0].x-t[1].x,t[0].y-t[1].y):0,a=_n.span&&i?Mt(_n.view,i/_n.span,_n.x,_n.y):_n.view;h(T,{k:a.k,x:a.x+n-_n.x,y:a.y+r-_n.y})}function En(e){if(gn.delete(e.pointerId)){if(Y.carrying){let{part:e,over:t}=Y.carrying;Y.carrying=null,t&&(e.kind===`note`||e.kind===`folder`)&&on(e.id,e.kind)}bn=null,Jt?cn():Zt!==void 0&&Qt(),vn()}}let Dn=null,On=0;function kn(e){e.preventDefault(),cancelAnimationFrame(pn),W=!0;let t=yn(e),n=e.deltaMode===1?16:1,r=Math.exp(-e.deltaY*n*(e.ctrlKey?.01:.0015)),i=Math.min(3,Math.max(gt,(Dn?.k??d(T).k)*r));matchMedia(`(prefers-reduced-motion: reduce)`).matches?h(T,Mt(d(T),i/d(T).k,t.x,t.y)):(Dn={k:i,x:t.x,y:t.y},On||=requestAnimationFrame(An))}function An(){if(On=0,!Dn)return;let e=Dn.k/d(T).k;Math.abs(Math.log(e))<.004?(h(T,Mt(d(T),e,Dn.x,Dn.y)),Dn=null):(h(T,Mt(d(T),e**.3,Dn.x,Dn.y)),On=requestAnimationFrame(An))}function jn(){cancelAnimationFrame(On),On=0,Dn=null}v(()=>{if(!d(L))return;let e=d(L);return e.addEventListener(`wheel`,kn,{passive:!1}),()=>e.removeEventListener(`wheel`,kn)});function Mn(e,t){if(e.metaKey||e.ctrlKey||(e.preventDefault(),e.stopPropagation(),hn))return;if(u()){Kt(t);return}if(e.shiftKey){t.startsWith(`@`)||sn(t);return}if(d(P)===t){Z.open(t);return}let n=[];if(d(Pe)&&d(Ne)===d(P)&&d(Pe).depth[t])for(let e=t;e&&e!==d(P);e=d(Pe).via[e])n.unshift(e);h(N,d(N).includes(t)?d(N).slice(0,d(N).indexOf(t)+1):n.length?[...d(N),...n]:[t])}function Nn(e,t){if(hn||!d(q))return;let n=d(q).items[e].ref;if(t?.shiftKey){n.startsWith(`@`)||sn(n,`folder`);return}W=!0;let r=jt(d(q).items[e],d(A).w,d(A).h,1.5,d(q).cell),i=Math.abs(r.k-d(T).k)<.01*r.k&&Math.hypot(r.x-d(T).x,r.y-d(T).y)<4,a=d(q).items[e].parent;mn(i?a<0?he():jt(d(q).items[a],d(A).w,d(A).h,1.5,d(q).cell):r)}function Pn(e){if(hn||!(e.target instanceof Element)||e.target.closest(`.dock, .key`))return;let t=e.target.closest(`[data-folder]`);e.target.closest(`a, button`)||(d(P)?h(N,[]):d($e)&&!d(et)?X.iso=null:t&&d(q)?Nn(d(q).items.findIndex(e=>e.kind===`folder`&&e.ref===t.dataset.folder),e):mn(he()))}function Fn(e){if(e.key===`Escape`){h(N,[]),h(M,``);return}if(e.key===`c`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){re();return}if(e.key===`l`&&!e.metaKey&&!e.ctrlKey&&!e.altKey){ae(!d(H));return}if(e.target!==d(L))return;let t={x:d(A).w/2,y:d(A).h/2};if(e.key===`+`||e.key===`=`)h(T,Mt(d(T),1.25,t.x,t.y));else if(e.key===`-`)h(T,Mt(d(T),.8,t.x,t.y));else if(e.key===`0`)mn(he());else if(e.key===`ArrowLeft`)h(T,{...d(T),x:d(T).x+80});else if(e.key===`ArrowRight`)h(T,{...d(T),x:d(T).x-80});else if(e.key===`ArrowUp`)h(T,{...d(T),y:d(T).y+80});else if(e.key===`ArrowDown`)h(T,{...d(T),y:d(T).y-80});else return;e.preventDefault(),W=!0}let In=K(()=>{if(!d(q)||!d(A).w||d(T).k<=he().k*1.05)return-1;let e=d(q).cell*d(T).k,t=(d(A).w/2-d(T).x)/e,n=(d(A).h/2-d(T).y)/e,r=-1;return d(q).items.forEach((i,a)=>{i.kind!==`folder`||d(me)[a]!==`o`||t<i.gx||t>i.gx+i.w||n<i.gy||n>i.gy+i.h||(i.w*e>=.6*d(A).w||i.h*e>=.6*d(A).h)&&(r<0||d(q).items[r].depth<i.depth)&&(r=a)}),r});function Ln(){if(!d(q))return;W=!0;let e=d(In)<0?-1:d(q).items[d(In)].parent;mn(e<0?he():jt(d(q).items[e],d(A).w,d(A).h,1.5,d(q).cell))}let Rn=K(()=>12*d(E)>=ht),zn=K(()=>d(q)&&d(f)?Ft(d(Ae).map(e=>e.item),d(f).notes,{web:Z.on.web,code:Z.on.code}):[]),Bn=e=>e>=0&&d(q).items[e].depth%2?`var(--ground-1)`:`var(--ground-0)`;v(()=>(X.atlas={chosen:d(P)?dn(d(P)):``,chosenId:d(P),steps:d(N).length-1,pick:!!u(),here:d(In)<0?``:fn(d(q).items[d(In)].ref),out:Ln,fit:()=>{W=!1,mn(he())}},()=>{X.atlas=null}));var Vn=Kr();let Hn;var Un=G(Vn),Wn=b(Un,2),Gn=e=>{var t=Tr(),n=x(t);s(()=>i(n,`The map could not be drawn: ${d(C)??``}`)),R(e,t)},Kn=e=>{var n=Gr(),r=l(n),o=e=>{var t=Er();R(e,t)};_(r,e=>{d(q).items.length||e(o)});var c=b(r,2);let m;var v=G(c);g(v,21,()=>d(ke),e=>e.item.id,(e,t)=>{{let n=K(()=>fn(d(t).item.ref)),r=K(()=>d(t).item.parent<0||(d(t).item.gy-d(q).items[d(t).item.parent].gy)*d(q).cell*d(E)>=18),i=K(()=>Re(d(t).i,d(t).open)),a=K(()=>!!d(Pe)&&!d(t).open&&!d(Le).has(d(t).i)),o=K(()=>d(ot)&&d(dt).has(d(t).item.ref)),s=K(()=>!d(t).open&&d(We)===d(t).i),c=K(()=>d(Q)===d(t).i?d(Ge).who:``);_r(e,{get item(){return d(t).item},get name(){return d(n)},get count(){return d(J).noteCount[d(t).i]},get open(){return d(t).open},get titled(){return d(r)},get held(){return d(i)},get dim(){return d(a)},get given(){return d(o)},get here(){return d(s)},get moment(){return d(c)},onpick:e=>Nn(d(t).i,e)})}}),k(v);var y=b(v,2);{let e=K(()=>[...d(ot)?d(Pt):[],...d(ze),...d(qe)]);wr(y,{get k(){return d(E)},get rest(){return d(je)},get hot(){return d(e)},get counts(){return d(Be)},get sent(){return d(zt)},get grown(){return d(Ee)},get beat(){return d(xe)},get retracting(){return d(Se)}})}var S=b(y,2),C=e=>{var n=t(),r=l(n);g(r,17,()=>d(je),e=>e.key,(e,n)=>{var r=t(),a=l(r),o=e=>{var t=Dr(),r=x(t,!0);s(()=>{F(t,1,`count ${d(n).side??``}`,`svelte-14y1y1z`),B(t,`--x:${d(n).mid[0]??``};--y:${d(n).mid[1]??``}`),i(r,d(n).count)}),R(e,t)};_(a,e=>{d(n).label&&e(o)}),R(e,r)}),R(e,n)};_(S,e=>{d(Rn)&&!d(xe)&&e(C)});var w=b(S,2),D=G(w);g(D,17,()=>d(Ae),e=>e.item.id,(e,t)=>{let n=K(()=>d(Fe).get(d(t).item.ref)),r=K(()=>d(n)?.mark??``);{let i=K(()=>dn(d(t).item.ref)),a=K(()=>d(f).notes[d(t).item.ref]?.kind??``),o=K(()=>!!d(f).notes[d(t).item.ref]?.done),s=K(()=>Bn(d(t).item.parent)),c=K(()=>d(n)?.far??0),l=K(()=>d(Wt).indexOf(d(t).item.ref)+1),u=K(()=>Bt(d(t).item.ref)),p=K(()=>d(Rt).includes(d(t).item.ref)),m=K(()=>d(ot)&&d(st).has(d(t).item.ref)),g=K(()=>d(ot)&&!d(st).has(d(t).item.ref)?d(ft).get(d(t).item.ref)?.on?`on`:d(ft).has(d(t).item.ref)?`aside`:``:``),_=K(()=>d(ot)&&d(vt).has(d(t).item.ref)),v=K(()=>d(ot)?d(Ct).get(d(t).item.ref)??``:``),y=K(()=>d(ot)?d(wt).get(d(t).item.ref)??0:0),b=K(()=>d(Q)===d(t).i?d(Ge).who:``),x=K(()=>d(We)===d(t).i),S=K(()=>!!d(Pe)&&!d(r)),C=K(()=>be(d(t).item.ref));fr(e,{get item(){return d(t).item},get title(){return d(i)},get kind(){return d(a)},get done(){return d(o)},get behind(){return d(s)},get mark(){return d(r)},get far(){return d(c)},get num(){return d(l)},get iso(){return d(u)},get linked(){return d(p)},get given(){return d(m)},get held(){return d(g)},get changed(){return d(_)},get pointed(){return d(v)},get order(){return d(y)},get moment(){return d(b)},get here(){return d(x)},get dim(){return d(S)},get href(){return d(C)},onpick:e=>Mn(e,d(t).item.ref),onpoint:e=>{h(M,e?d(t).item.ref:d(M)===d(t).item.ref?``:d(M),!0),fe.onAtlas=d(M)}})}});var O=b(D,2);g(O,17,()=>d(zn),e=>e.key,(e,n)=>{var r=t(),i=l(r),o=e=>{var t=Or();s(()=>{j(t,`href`,d(n).href),j(t,`title`,`${d(n).text} · ${d(n).href}`),j(t,`aria-label`,d(n).text),j(t,`data-sat`,d(n).key),B(t,`--x:${d(n).gx??``};--y:${d(n).gy??``}`)}),a(`click`,t,e=>{hn&&e.preventDefault(),e.stopPropagation()}),R(e,t)},c=e=>{var t=kr();let r;s(e=>{r=F(t,1,`sat code svelte-14y1y1z`,null,r,{broken:d(n).broken}),j(t,`title`,e),j(t,`aria-label`,`${d(n).text}${d(n).broken?`, not in the repository`:``}`),j(t,`data-sat`,d(n).key),B(t,`--x:${d(n).gx??``};--y:${d(n).gy??``}`)},[()=>`${d(n).text} · ${d(n).href.slice(5)}${d(n).broken?` · not in the repository`:``}`]),R(e,t)};_(i,e=>{d(n).kind===`web`?e(o):e(c,-1)}),R(e,r)}),k(w);var N=b(w,2),P=e=>{var t=Nr();let n;var r=G(t),a=e=>{var t=Ar(),n=G(t),r=x(n,!0);k(t),s(e=>{j(t,`href`,e),j(t,`aria-label`,`${d(Lt).title??``}: your note for Iso`),i(r,d(Lt).title)},[()=>le(`/draft/[id]`,{id:d($e).note.slice(7)})]),R(e,t)};_(r,e=>{d(Lt).draft&&e(a)});var o=b(r,2),c=e=>{var t=Mr(),n=b(l(t),2),r=b(G(n)),a=e=>{var t=p(`Iso is writing`);R(e,t)},o=e=>{var t=jr(),n=b(l(t)),r=x(n,!0);s(e=>i(r,e),[()=>dn(d(Tt))]),R(e,t)},c=e=>{var t=p(`Iso is thinking`);R(e,t)};_(r,e=>{d($e).state===`writing`?e(a):d(Tt)?e(o,1):e(c,-1)}),k(n),R(e,t)};_(o,e=>{d(et)&&e(c)}),k(t),s(()=>{n=F(t,1,`asker svelte-14y1y1z`,null,n,{draft:d(Lt).draft}),B(t,`--x:${d(Lt).gx??``};--y:${d(Lt).gy??``};--w:${d(Lt).w??``};--h:${d(Lt).h??``}`)}),R(e,t)};_(N,e=>{d(Lt)&&e(P)});var I=b(N,2),L=e=>{var t=Ir();let n;var r=G(t),a=G(r),o=e=>{var t=Pr();R(e,t)},c=e=>{var t=Fr();ie(),R(e,t)};_(a,e=>{d(qt).folder?e(o):e(c,-1)}),k(r);var l=b(r,2),u=x(l);k(t),s(()=>{n=F(t,1,`grasp svelte-14y1y1z`,null,n,{folder:d(qt).folder}),B(t,`--x:${d(qt).gx??``};--y:${d(qt).gy??``}`),i(u,`${d(qt).folder?`a new folder`:`a new note`}${d(qt).dir?` in ${d(qt).dir}`:``}`)}),R(e,t)};_(I,e=>{d(qt)&&e(L)}),k(c);var z=b(c,2);g(z,17,()=>[{p:d(Xe),i:d(We),who:`here`},{p:d(Ze),i:d(Q),who:d(Ge)?.who??`you`}],e=>e.who===`here`?`here`:`there`,(e,n)=>{var r=t(),i=l(r),o=e=>{var t=Lr();s((e,r)=>{F(t,1,`pip ${d(n).who??``}`,`svelte-14y1y1z`),B(t,`left:${d(n).p.x??``}px;top:${d(n).p.y??``}px;--a:${d(n).p.angle??``}rad`),j(t,`data-pip`,d(n).who===`here`?`here`:`there`),j(t,`aria-label`,`Bring ${e??``} into view`),j(t,`title`,`${r??``}${d(n).who===`here`?`: open in the Note pane`:``}`)},[()=>dn(d(q).items[d(n).i].ref),()=>dn(d(q).items[d(n).i].ref)]),a(`click`,t,e=>{e.stopPropagation(),Qe(d(n).i)}),R(e,t)};_(i,e=>{d(n).p&&e(o)}),R(e,r)});var V=b(z,2),H=e=>{{let t=K(()=>d(Ht)?it(d(Ht).text):``),n=K(()=>d(Wt).map(e=>({id:e,title:dn(e),tokens:d(f).notes[e]?.tokens??0}))),r=K(()=>le(`/draft/[id]`,{id:u().slice(7)}));mt(e,{get title(){return d(t)},get picked(){return d(n)},budget:8e3,get notice(){return d(Ut)},get href(){return d(r)}})}},U=e=>{var t=Rr(),n=x(t,!0);s(()=>i(n,d(Ut))),R(e,t)};_(V,e=>{u()?e(H):d(Ut)&&e(U,1)});var W=b(V,2),ee=e=>{var t=zr(),n=x(t);s(()=>i(n,`◆ ${d(rn)??``}`)),R(e,t)};_(W,e=>{d(rn)&&e(ee)});var te=b(W,2),ne=e=>{var t=Br();R(e,t)};_(te,e=>{Z.on.context&&!u()&&!d(rn)&&Z.settings===`atlas`&&e(ne)});var re=b(te,2),ae=e=>{let t=K(()=>d(nn));var n=Ur(),r=G(n),i=e=>{var n=Vr();a(`click`,n,e=>{e.stopPropagation(),sn(d(t).ref),h(nn,null)}),R(e,n)},o=K(()=>Y.has(`note`,d(t).ref)),c=e=>{var n=Hr();a(`click`,n,e=>{e.stopPropagation(),on(d(t).ref),h(nn,null)}),R(e,n)};_(r,e=>{d(o)?e(i):e(c,-1)});var l=b(r,2),u=b(l,2),f=b(u,2);k(n),s((e,r)=>{j(n,`aria-label`,e),B(n,`left:${r??``}px;top:${d(t).y+14}px`)},[()=>dn(d(t).ref),()=>Math.min(d(t).x,d(A).w-170)]),a(`click`,l,e=>{e.stopPropagation(),h(nn,null),Z.open(d(t).ref,!0)}),a(`click`,u,e=>{e.stopPropagation(),h(nn,null),un(`question`,d(t).ref)}),a(`click`,f,e=>{e.stopPropagation(),h(nn,null),un(`problem`,d(t).ref)}),R(e,n)};_(re,e=>{d(nn)&&e(ae)});var oe=b(re,2),se=e=>{var t=Wr();let n;var r=x(t);s(()=>{n=F(t,1,`carried svelte-14y1y1z`,null,n,{over:Y.carrying.over}),B(t,`left:${d(xn).x??``}px;top:${d(xn).y??``}px`),i(r,`${Y.carrying.part.kind===`folder`?`▭`:`▣`} ${Y.carrying.part.title??``}`)}),R(e,t)};_(oe,e=>{Y.carrying&&e(se)}),s(()=>{m=F(c,1,`atlas-world svelte-14y1y1z`,null,m,{labels:d(Rn),shifting:d(we)}),j(c,`data-open`,d(me)),B(c,`transform: translate(${d(T).x??``}px, ${d(T).y??``}px) scale(${d(T).k/d(E)}); --u: ${(d(q)?.cell??7)*d(E)}px; --k: ${d(E)??``}`),B(v,`transform: scale(${d(E)??``}); --u: ${d(q).cell??``}px; --px: ${1/d(E)}px; --ik: ${1/d(E)}`),B(w,`transform: scale(${d(E)??``}); --u: ${d(q).cell??``}px; --px: ${1/d(E)}px; --ik: ${1/d(E)}`)}),R(e,n)};_(Wn,e=>{d(C)?e(Gn):d(q)&&d(f)&&e(Kn,1)}),k(Vn),ne(Vn,e=>h(L,e),()=>d(L)),s(()=>{Hn=F(Vn,1,`atlas svelte-14y1y1z`,null,Hn,{lit:!!d(Pe)}),B(Un,`transform: translate(${(d(T).x%24+24)%24}px, ${(d(T).y%24+24)%24}px)`)}),a(`pointerdown`,Vn,wn),a(`pointermove`,Vn,Tn),a(`pointerup`,Vn,En),c(`pointercancel`,Vn,En),a(`click`,Vn,Pn),a(`keydown`,Vn,Fn),c(`dragstart`,Vn,e=>e.preventDefault()),a(`contextmenu`,Vn,e=>{(d(qt)||Xt!==void 0||Zt!==void 0||d(nn))&&e.preventDefault()}),R(r,Vn),w()}m([`pointerdown`,`pointermove`,`pointerup`,`click`,`keydown`,`contextmenu`]);var Jr=L(`<div class="side svelte-nwxyyl"><button class="icon svelte-nwxyyl" type="button" aria-label="this session's timeline" title="this session's timeline"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true"><path d="M8 1v14" stroke="currentColor" stroke-width="1.2" fill="none"></path><rect x="5.5" y="2" width="5" height="3.2" fill="currentColor"></rect><path d="M8 6.3l2.3 2.3L8 10.9 5.7 8.6z" fill="currentColor"></path><rect x="5.5" y="12" width="5" height="3" fill="none" stroke="currentColor" stroke-width="1.2"></rect></svg></button> <!></div>`),Yr=L(`<div class="map svelte-nwxyyl"><!> <!></div>`);function Xr(t,n){U(n,!0);let r=K(()=>Te.url.searchParams.get(`pick`)??new URLSearchParams(Te.url.hash.split(`?`)[1]??``).get(`pick`)??``),i=e(S((()=>{try{return localStorage.getItem(`isorite.timeline`)===`1`}catch{return!1}})())),o=e([]),c=e(null),l=e=>X.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1),u=e=>e.who.startsWith(`iso:`)||e.who.startsWith(`agent:`);async function f(){try{h(o,(await X.api.timeline()).filter(e=>!e.note.startsWith(`@draft/`)))}catch{}}v(()=>{if(!d(i))return;f();let e,t=X.on(t=>{t.type===`journal`&&(clearTimeout(e),e=setTimeout(()=>{f()},300))});return()=>{t(),clearTimeout(e)}});function p(e){ue(`${be(e.note)}?at=${encodeURIComponent(_e(e))}`)}v(()=>{let e=d(c);fe.set(`timeline`,e?{id:e.note,folder:!1,who:u(e)?`iso`:`you`}:null)});function m(){h(i,!d(i)),h(c,null);try{localStorage.setItem(`isorite.timeline`,d(i)?`1`:`0`)}catch{}}var g=Yr(),y=G(g);{let e=K(()=>d(r)?`@draft/${d(r)}`:``);qr(y,{get pick(){return d(e)}})}var x=b(y,2),C=e=>{var t=Jr(),n=G(t),r=b(n,2),u=e=>{ve(e,{get moments(){return d(o)},at:null,get pointed(){return d(c)},leftward:!0,name:`This session's timeline`,label:e=>l(e.note),point:e=>h(c,e),pick:e=>p(e)})};_(r,e=>{d(i)&&e(u)}),k(t),s(()=>j(n,`aria-pressed`,d(i))),a(`click`,n,m),R(e,t)};_(x,e=>{d(r)||e(C)}),k(g),R(t,g),w()}m([`click`]);var Zr=new class{#e=e(null);get value(){return d(this.#e)}set value(e){h(this.#e,e)}started=!1;start(){!this.started&&X.api&&(this.started=!0,this.refresh(),X.on(e=>{(e.type===`iso-done`||e.type===`record`)&&this.refresh()}))}async refresh(){try{this.value=await X.api.spend()}catch{}}},Qr=new class{#e=e(null);get view(){return d(this.#e)}set view(e){h(this.#e,e)}#t=e(``);get problem(){return d(this.#t)}set problem(e){h(this.#t,e,!0)}started=!1;get connected(){return!!this.view?.connected}get running(){return!!this.view?.busy||this.view?.turns.at(-1)?.state===`running`}get api(){return X.api?.terminal??null}start(){!this.started&&X.api&&(this.started=!0,this.api?(this.api.view().then(e=>this.show(e),()=>Z.setTerminal(!1)),X.on(e=>{e.type===`terminal`&&this.show(e.terminal)})):Z.setTerminal(!1))}show(e){let t=this.connected;this.view=e,Z.setTerminal(e.connected);for(let t of e.asking)this.refused.has(t.id)||(/^(shell|bash)$/.test(t.action)?!Z.on.run:/^(edit|write|patch)$/.test(t.action)&&!Z.on.files)&&(this.refused.add(t.id),this.reply(t.id,`reject`));t&&e.connected&&Z.focus!==`iso`&&e.turns.length>(this.seen??e.turns.length)&&Z.unseen++,this.seen=e.turns.length}seen=null;refused=new Set;async send(e){if(this.problem=``,!e.trim()||!this.api)return!1;try{let t=Y.sent.map(e=>e.kind===`passage`?{kind:e.kind,id:e.id,text:e.text}:{kind:e.kind,id:e.id});return await this.api.prompt(e.trim(),t),!0}catch(e){return this.problem=e.message,!1}}async stop(){try{await this.api?.stop()}catch(e){this.problem=e.message}}async reply(e,t){try{await this.api?.reply(e,t)}catch(e){this.problem=e.message}}},$r=L(`<span class="d svelte-po8nwq"> </span>`),ei=L(`<button type="button" class="x svelte-po8nwq" aria-label="The turns it sums up" title="The turns it sums up"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path></path></svg></button>`),ti=L(`<button type="button" class="x svelte-po8nwq" title="Take it out"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button>`),ni=L(`<li><button type="button" class="r svelte-po8nwq" role="switch"><span aria-hidden="true"> </span> <span class="t svelte-po8nwq"> </span> <!> <span class="num svelte-po8nwq"> </span> <i class="bar svelte-po8nwq"></i></button> <!></li>`),ri=L(`<li class="row svelte-po8nwq"><span class="r svelte-po8nwq"><span class="mk svelte-po8nwq" aria-hidden="true">◆</span><span class="t svelte-po8nwq"> </span></span> <button type="button" class="x svelte-po8nwq"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M4 4l8 8M12 4l-8 8"></path></svg></button></li>`),ii=L(`<h2 class="label svelte-po8nwq">notes</h2> <ul class="rows svelte-po8nwq" aria-label="What you gave Iso" title="Sent with your next message to the terminal's agent: notes and folders by name, passages as they are"></ul>`,1),ai=L(`<span class="acts svelte-po8nwq"><button class="icon svelte-po8nwq" type="button" aria-label="Sum up the earlier turns" title="Sum up the earlier turns, all but the last, into a briefing sent instead of them"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M3 3.5h10M3 6.5h10M5 10l3 3 3-3"></path></svg></button> <button class="icon svelte-po8nwq" type="button" aria-label="A new conversation from here" title="A new conversation that starts from a briefing of this one"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M4 2.5v6a3 3 0 0 0 3 3h5"></path><path d="M9.5 9l2.5 2.5L9.5 14"></path></svg></button></span>`),oi=L(`<!> <!>`,1),si=L(`<h2 class="label svelte-po8nwq"><span> </span> <!></h2> <ul class="rows svelte-po8nwq"></ul>`,1),ci=L(`<p class="total svelte-po8nwq"><span> </span><span class="faint"> </span></p> <!>`,1),li=L(`<p class="bad svelte-po8nwq" role="alert"> </p>`),ui=L(`<div class="context svelte-po8nwq" role="region" aria-label="What Iso is sent"><!> <!></div>`);function di(n,r){U(r,!0);let o=(e,t=ee,n)=>{let r=A(()=>M(n?.(),!1)),o=K(()=>d(p)?Math.min(1,t().tokens/d(p).limit):0);var l=ni();let u;var m=G(l),g=G(m);let S;var w=x(g,!0),T=b(g,2),E=x(T,!0),D=b(T,2),O=e=>{var n=$r(),r=x(n,!0);s(()=>i(r,t().detail)),R(e,n)};_(D,e=>{t().detail&&e(O)});var N=b(D,2),P=x(N,!0),I=b(N,2);let L;k(m);var z=b(m,2),V=e=>{var n=ei(),r=G(n),i=x(r);k(n),s((e,t)=>{j(n,`aria-expanded`,e),j(i,`d`,t)},[()=>d(v).includes(t().key),()=>d(v).includes(t().key)?`M4 10l4-4 4 4`:`M4 6l4 4 4-4`]),a(`click`,n,()=>h(v,d(v).includes(t().key)?d(v).filter(e=>e!==t().key):[...d(v),t().key],!0)),R(e,n)},H=e=>{var n=ti();s(()=>j(n,`aria-label`,`Take ${t().title??``} out of Iso's context`)),a(`click`,n,()=>$.takeOut(t())),R(e,n)};_(z,e=>{t().kind===`briefing`?e(V):t().given&&e(H,1)}),k(l),s((e,n,a,o)=>{u=F(l,1,`row svelte-po8nwq`,null,u,{off:!t().on,under:d(r)}),j(l,`data-key`,t().key),j(m,`aria-checked`,t().on),j(m,`aria-label`,`Send: ${t().title??``}`),j(m,`title`,e),m.disabled=n,S=F(g,1,`mk svelte-po8nwq`,null,S,{iso:t().by===`iso`,q:t().kind===`question`}),i(w,f[t().kind]),i(E,t().kind===`passage`?`“${t().given?.kind===`passage`?t().given.text:t().title}”`:t().title),i(P,a),L=B(I,``,L,{"--w":o})},[()=>C(t()),()=>y(t()),()=>c(t().tokens),()=>`${(d(o)*100).toFixed(2)??``}%`]),a(`click`,m,()=>void $.toggle(t())),R(e,l)},c=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),u=[`notes`,`conversation`,`fixed`],f={note:`◆`,folder:`▭`,passage:`“`,understanding:`◇`,read:`◇`,question:`?`,turn:`›`,briefing:`≡`,instructions:``,agents:``,message:``},p=K(()=>$.report),m=K(()=>Z.mode===`build`),v=e(S([])),y=e=>e.kind===`instructions`||e.kind===`message`,C=e=>e.kind===`read`?e.aged?`Read by Iso, and set aside: not used for 3 turns. Iso is told it can read it again. Click to send it again.`:e.on?`Read by Iso, and kept in hand so it is not read again. Click to set it aside.`:`Read by Iso, and set aside. Click to send it again.`:e.kind===`turn`?e.on?`An earlier turn, sent whole. Click to leave it out.`:e.under?`Summed up in the briefing above. Click to send it whole as well.`:`Left out. Click to send it again.`:e.kind===`briefing`?e.on?`Earlier turns, summed up: sent instead of them. Click to send the turns instead.`:`Not sent: the turns it sums up are sent instead. Click to send it again.`:e.kind===`agents`?`AGENTS.md: your instructions for this base, sent with every turn. Click to leave it out.`:e.kind===`question`?`An open question about a note you gave. Click to leave it out.`:y(e)?e.kind===`instructions`?`What Iso is told, and its tools`:`What you are writing`:e.on?`You gave it. Click to leave it out for now; ✕ takes it out.`:`Left out for now. Click to send it again.`;var T=ui(),E=G(T),D=e=>{var t=ii(),n=b(l(t),2);g(n,21,()=>Y.sent,e=>Y.keyOf(e),(e,t)=>{var n=ri(),r=G(n),o=b(G(r)),c=x(o,!0);k(r);var l=b(r,2);k(n),s(()=>{i(c,d(t).kind===`passage`?`“${d(t).text}”`:d(t).title),j(l,`aria-label`,`Take ${d(t).title??``} out of Iso's context`)}),a(`click`,l,()=>Y.remove(d(t))),R(e,n)}),k(n),R(e,t)},O=e=>{var n=ci(),r=l(n),f=G(r),m=x(f,!0),h=b(f),y=x(h);k(r);var S=b(r,2);g(S,16,()=>u,e=>e,(e,n)=>{let r=K(()=>d(p).rows.filter(e=>e.group===n&&!e.under));var c=t(),u=l(c),f=e=>{var c=si(),u=l(c),f=G(u),m=x(f,!0),h=b(f,2),y=e=>{var t=ai(),n=G(t),r=b(n,2);k(t),s(e=>{n.disabled=e,r.disabled=$.summing||!!$.running||!$.turns.length},[()=>$.summing||!!$.running||d(p).rows.filter(e=>e.kind===`turn`&&e.on).length<2]),a(`click`,n,()=>void $.compact()),a(`click`,r,()=>void $.branch()),R(e,t)};_(h,e=>{n===`conversation`&&e(y)}),k(u);var S=b(u,2);g(S,21,()=>d(r),e=>e.key,(e,n)=>{var r=oi(),i=l(r);o(i,()=>d(n));var a=b(i,2),s=e=>{var r=t(),i=l(r);g(i,17,()=>d(p).rows.filter(e=>e.under===d(n).key),e=>e.key,(e,t)=>{o(e,()=>d(t),()=>!0)}),R(e,r)},c=K(()=>d(n).kind===`briefing`&&d(v).includes(d(n).key));_(a,e=>{d(c)&&e(s)}),R(e,r)}),k(S),s(()=>{i(m,n),j(S,`aria-label`,n===`notes`?`The notes Iso has`:n===`conversation`?`The conversation`:`Always sent`)}),R(e,c)};_(u,e=>{(d(r).length||n===`notes`)&&e(f)}),R(e,c)}),s((e,t)=>{j(r,`title`,d(p).counted?`As the provider counted the last turn`:`Estimated: counted after the first turn`),i(m,e),i(y,`of ${t??``}${d(p).counted?``:` ~`}`)},[()=>c(d(p).tokens),()=>c(d(p).limit)]),R(e,n)};_(E,e=>{d(m)?e(D):d(p)?.rows&&e(O,1)});var N=b(E,2),P=e=>{var t=li(),n=x(t,!0);s(()=>i(n,$.problem)),R(e,t)};_(N,e=>{$.problem&&e(P)}),k(T),R(n,T),w()}m([`click`]);var fi=L(`<div class="permit svelte-17377q0" role="group" aria-label="The terminal's agent asks before it does this"><p>OpenCode wants to <code class="svelte-17377q0"> </code>.</p> <p class="acts svelte-17377q0"><button type="button" class="svelte-17377q0">Allow once</button><button type="button" class="svelte-17377q0">Always allow this</button><button type="button" class="no svelte-17377q0">Don't allow</button></p></div>`),pi=L(`<div class="said prose svelte-17377q0"></div>`),mi=L(`<a class="note-link svelte-17377q0" data-sveltekit-reload="" target="_blank" rel="noopener"><span class="in svelte-17377q0"> </span> </a>`),hi=L(`<button type="button" class="note-link svelte-17377q0"> </button>`),gi=L(`<code class="q svelte-17377q0"> </code>`),_i=L(`<span class="n svelte-17377q0"><span class="add svelte-17377q0"> </span> <span class="del svelte-17377q0"> </span></span>`),vi=L(`<span> </span>`),yi=L(`<pre class="diff svelte-17377q0"></pre>`),bi=L(`<pre class="out svelte-17377q0"> </pre>`),xi=L(`<details><summary class="svelte-17377q0"><span class="v svelte-17377q0"> </span><!><!></summary> <!></details>`),Si=L(`<p class="line svelte-17377q0"><span class="v svelte-17377q0"> </span><!></p>`),Ci=L(`<div class="tool svelte-17377q0"><!> <!></div>`),wi=L(`<p class="doing svelte-17377q0" role="status"><i class="spin svelte-17377q0" aria-hidden="true"></i>OpenCode is at work</p>`),Ti=L(`<p class="faint end svelte-17377q0">stopped</p>`),Ei=L(`<p class="bad svelte-17377q0" role="alert">The turn failed; the terminal says why.</p>`),Di=L(`<article class="turn svelte-17377q0"><div class="you svelte-17377q0"><p class="asked svelte-17377q0"> </p><span class="from svelte-17377q0"> </span></div> <!> <!></article>`),Oi=L(`<p class="title faint svelte-17377q0"> </p>`),ki=L(`<p class="faint">The terminal's session shows here: what is asked there or here, what OpenCode does, and what it asks before doing.</p>`),Ai=L(`<div class="chat svelte-17377q0" role="log" aria-label="The terminal's session" aria-live="polite"><!> <!> <!> <!></div>`);function ji(n,o){U(o,!0);let c=(e,t=ee)=>{var n=fi(),r=G(n),o=b(G(r)),c=x(o,!0);ie(),k(r);var l=b(r,2),u=G(l),d=b(u),f=b(d);k(l),k(n),s(e=>i(c,e),[()=>A(t())]),a(`click`,u,()=>void Qr.reply(t().id,`once`)),a(`click`,d,()=>void Qr.reply(t().id,`always`)),a(`click`,f,()=>void Qr.reply(t().id,`reject`)),R(e,n)},u=(e,n=ee)=>{var o=t(),u=l(o),f=e=>{var t=pi();se(t,()=>me(n().text),!0),k(t),C(t,(e,t)=>ge?.(e,t),()=>({given:n().text,copy:!0})),R(e,t)},p=e=>{var t=Ci(),o=G(t),l=e=>{var t=xi(),o=G(t),c=G(o),l=x(c,!0),u=b(c),f=e=>{var t=mi(),r=G(t),a=x(r),o=b(r);k(t),s(e=>{j(t,`href`,e),j(t,`title`,`In ${n().base??``}, in a tab of its own`),i(a,`${n().base??``}:`),i(o,` ${n().note??``}`)},[()=>ye(n().base,`#/n/${n().note}`)]),R(e,t)},p=e=>{var t=hi(),r=x(t,!0);s(e=>i(r,e),[()=>y(n().note)]),a(`click`,t,e=>{e.preventDefault(),E(n().name,n().note)}),R(e,t)},m=e=>{var t=gi(),r=x(t,!0);s(()=>i(r,n().title)),R(e,t)};_(u,e=>{n().note&&n().base?e(f):n().note?e(p,1):e(m,-1)});var h=b(u),v=e=>{var t=_i(),r=G(t),a=x(r),o=b(r,2),c=x(o);k(t),s((e,t)=>{i(a,`+${e??``}`),i(c,`−${t??``}`)},[()=>n().diff.filter(e=>e.startsWith(`+`)).length,()=>n().diff.filter(e=>e.startsWith(`-`)).length]),R(e,t)};_(h,e=>{n().diff&&e(v)}),k(o);var S=b(o,2),C=e=>{var t=yi();g(t,21,()=>n().diff,r,(e,t)=>{var n=vi();let r;var a=x(n,!0);s((e,o)=>{r=F(n,1,`svelte-17377q0`,null,r,{add:e,del:o}),i(a,d(t))},[()=>d(t).startsWith(`+`),()=>d(t).startsWith(`-`)]),R(e,n)}),k(t),R(e,t)},w=e=>{var t=bi(),r=x(t,!0);s(()=>i(r,n().output)),R(e,t)};_(S,e=>{n().diff?e(C):e(w,-1)}),k(t),s(e=>i(l,e),[()=>D(n().name)]),R(e,t)},u=e=>{var t=Si(),r=G(t),o=x(r,!0),c=b(r),l=e=>{var t=mi(),r=G(t),a=x(r),o=b(r);k(t),s(e=>{j(t,`href`,e),j(t,`title`,`In ${n().base??``}, in a tab of its own`),i(a,`${n().base??``}:`),i(o,` ${n().note??``}`)},[()=>ye(n().base,`#/n/${n().note}`)]),R(e,t)},u=e=>{var t=hi(),r=x(t,!0);s(e=>i(r,e),[()=>y(n().note)]),a(`click`,t,()=>E(n().name,n().note)),R(e,t)},d=e=>{var t=gi(),r=x(t,!0);s(()=>i(r,n().title)),R(e,t)};_(c,e=>{n().note&&n().base?e(l):n().note?e(u,1):e(d,-1)}),k(t),s(e=>i(o,e),[()=>D(n().name)]),R(e,t)};_(o,e=>{n().output||n().diff?e(l):e(u,-1)});var f=b(o,2);g(f,17,()=>M(n().id),e=>e.id,(e,t)=>{c(e,()=>d(t))}),k(t),s(()=>j(t,`data-status`,n().status)),R(e,t)};_(u,e=>{n().kind===`text`?e(f):e(p,-1)}),R(e,o)},f=(e,t=ee)=>{var n=Di(),a=G(n),o=G(a),c=x(o,!0),l=b(o),f=x(l,!0);k(a);var p=b(a,2);g(p,17,()=>t().items,r,(e,t)=>{u(e,()=>d(t))});var m=b(p,2),h=e=>{var t=wi();R(e,t)},v=e=>{var t=Ti();R(e,t)},y=e=>{var t=Ei();R(e,t)};_(m,e=>{t().state===`running`?e(h):t().state===`stopped`?e(v,1):t().state===`failed`&&e(y,2)}),k(n),s(()=>{j(n,`data-state`,t().state),i(c,t().asked),i(f,t().from===`here`?`from here`:`in the terminal`)}),R(e,n)},p=e(void 0),m=K(()=>Qr.view),y=e=>X.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,S={shell:`ran`,bash:`ran`,read:`read`,write:`wrote`,edit:`edited`,glob:`found`,grep:`searched`,webfetch:`fetched`,websearch:`searched the web`,search_notes:`searched`,find_similar:`by meaning`,outline_note:`outlined`,read_note:`read`,brief_base:`looked over`,edit_note:`changed`,write_note:`wrote`},T=new Set([`edit_note`,`write_note`]);function E(e,t){T.has(e)&&Z.flip(`provenance`,!0),Z.open(t,!0)}let D=e=>S[e]??e.replaceAll(`_`,` `),O={shell:`run`,edit:`edit`,write:`write`,read:`read`,webfetch:`fetch`,external_directory:`reach outside the project`},A=e=>`${O[e.action]??e.action} ${e.resources.join(`, `)}`.trim(),M=e=>d(m)?.asking.filter(t=>t.tool===e)??[],N=K(()=>d(m)?.asking.filter(e=>!e.tool||!d(m).turns.some(t=>t.items.some(t=>t.kind===`tool`&&t.id===e.tool)))??[]);v(()=>{d(m),ce().then(()=>{d(p)&&(d(p).scrollTop=d(p).scrollHeight)})});var P=Ai(),I=G(P),L=e=>{var t=Oi(),n=x(t,!0);s(()=>i(n,d(m).title)),R(e,t)};_(I,e=>{d(m)?.title&&e(L)});var z=b(I,2);g(z,17,()=>d(m)?.turns??[],e=>e.id,(e,t)=>{f(e,()=>d(t))});var B=b(z,2);g(B,17,()=>d(N),e=>e.id,(e,t)=>{c(e,()=>d(t))});var V=b(B,2),H=e=>{var t=ki();R(e,t)};_(V,e=>{d(m)?.turns.length||e(H)}),k(P),ne(P,e=>h(p,e),()=>d(p)),R(n,P),w()}m([`click`]);var Mi=e=>{var t=Fi();R(e,t)},Ni=L(`<span><span class="k svelte-d2jxoz" aria-hidden="true"> </span><span class="t svelte-d2jxoz"> </span></span>`),Pi=L(`<span class="gave svelte-d2jxoz"></span>`),Fi=f(`<svg class="qm svelte-d2jxoz" viewBox="0 0 16 16" width="13" height="13" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9"></path><path d="M8 12v1.2"></path></svg>`),Ii=L(`<div class="said prose svelte-d2jxoz"></div>`),Li=L(`<a class="note-link away svelte-d2jxoz" data-sveltekit-reload="" target="_blank" rel="noopener"><span class="in svelte-d2jxoz"> </span> </a>`),Ri=L(`<span class="q svelte-d2jxoz"><span class="in svelte-d2jxoz"> </span> </span>`),zi=L(`<button type="button" class="note-link svelte-d2jxoz"> </button>`),Bi=L(`<span class="n svelte-d2jxoz"> </span>`),Vi=L(`<span class="q svelte-d2jxoz"> </span><!>`,1),Hi=L(`<p><span class="v svelte-d2jxoz"> </span> <!></p>`),Ui=L(`<span class="q"> </span>`),Wi=L(`<span class="n"><span class="add svelte-d2jxoz"> </span> <span class="del svelte-d2jxoz"> </span></span>`),Gi=L(`<p class="change svelte-d2jxoz"><span class="v svelte-d2jxoz"> </span> <!> <!></p>`),Ki=L(`<p class="faint"> </p>`),qi=L(`<p class="acts svelte-d2jxoz"><button type="button" class="svelte-d2jxoz">Allow once</button><button type="button" class="svelte-d2jxoz">Always allow this</button><button type="button" class="no svelte-d2jxoz">Don't allow</button></p>`),Ji=L(`<div class="permit svelte-d2jxoz" role="group" aria-label="Iso asks before it does this"><p> </p> <!></div>`),Yi=L(`<p class="faint undone svelte-d2jxoz"> </p>`),Xi=L(`<span class="why svelte-d2jxoz"> </span>`),Zi=L(`<p class="point svelte-d2jxoz"><span class="dia svelte-d2jxoz" aria-hidden="true">◆</span><span class="v svelte-d2jxoz">look at</span><button type="button" class="note-link svelte-d2jxoz"> </button><!></p>`),Qi=L(`<span class="qt svelte-d2jxoz"> </span> <button class="icon plus svelte-d2jxoz" type="button"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M8 3v10M3 8h10"></path></svg></button>`,1),$i=L(`<p class="qb svelte-d2jxoz"> </p>`),ea=L(`<div class="asks svelte-d2jxoz"><p class="svelte-d2jxoz"><!><!></p> <!></div>`),ta=L(`<span title="Your instructions for this base, in Iso's settings">AGENTS.md</span>`),na=f(`<svg class="in svelte-d2jxoz" viewBox="0 0 16 16" width="14" height="14" role="img" aria-label="Inserted" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M3 8.5l3 3 7-7"></path></svg>`),ra=L(`<button class="icon svelte-d2jxoz" type="button"><svg viewBox="0 0 16 16" width="15" height="15" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.4"><path d="M13 3v6H4"></path><path d="M7 6L4 9l3 3"></path></svg></button>`),ia=L(`<div class="offer svelte-d2jxoz"><div class="prose yours svelte-d2jxoz"></div> <p class="for svelte-d2jxoz"><!> <!></p></div>`),aa=L(`<span class="tmode svelte-d2jxoz" title="Iso could edit the notes"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 13.5l2.5-2.5M5 11c.6-4.2 3.6-7.4 8.5-8.5C12.6 7.2 9.4 10.4 5 11zM7.2 8.8l2.6-.3M8.8 6.6l2.4-.4"></path></svg><span class="hidden-label">write</span></span>`),oa=L(`<!> <p class="doing svelte-d2jxoz" role="status"><i class="spin svelte-d2jxoz" aria-hidden="true"></i> </p>`,1),sa=L(`<p class="undo svelte-d2jxoz"><button class="icon svelte-d2jxoz" type="button" aria-label="Undo this turn's changes" title="Put back every note this turn changed"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M3.2 9.5A5 5 0 1 0 4.6 4.3"></path><path d="M3 1.8v3.4h3.4"></path></svg></button></p>`),ca=L(`<p class="undo svelte-d2jxoz"><button class="icon svelte-d2jxoz" type="button" aria-label="Send it again" title="Send it again, with what was given"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M12.8 9.5A5 5 0 1 1 11.4 4.3"></path><path d="M13 1.8v3.4H9.6"></path></svg></button></p>`),la=L(`<p class="bad svelte-d2jxoz" role="alert"> </p> <!>`,1),ua=L(`<p class="faint end svelte-d2jxoz">stopped</p>`),da=L(`<article class="turn svelte-d2jxoz"><div class="you svelte-d2jxoz"><p class="asked svelte-d2jxoz"> </p><!><!></div> <!> <!> <!></article>`),fa=L(`<div class="chat svelte-d2jxoz" role="log" aria-label="The conversation with Iso" aria-live="polite"></div>`),pa=L(`<button class="corner stop svelte-d2jxoz" type="button" title="Stop (Escape)"><svg viewBox="0 0 16 16" width="12" height="12" aria-hidden="true"><rect x="4" y="4" width="8" height="8" fill="currentColor"></rect></svg></button>`),ma=L(`<button class="corner send svelte-d2jxoz" type="button" aria-label="Send" title="Send (Enter)"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.6"><path d="M3 8h10M9 4l4 4-4 4"></path></svg></button>`),ha=L(`<p class="bad svelte-d2jxoz" role="alert"> </p>`),ga=L(`<div><!> <div class="composer svelte-d2jxoz"><div class="box svelte-d2jxoz"><label class="hidden-label" for="iso-box">Message Iso</label> <textarea id="iso-box" rows="2" class="svelte-d2jxoz"></textarea> <!></div> <!></div></div>`);function _a(n,o){U(o,!0);let u=(e,n=ee)=>{var a=t(),o=l(a),c=e=>{var t=Pi();g(t,21,()=>n().given,r,(e,t)=>{var n=Ni();let r;var a=G(n),o=x(a,!0),c=b(a),l=x(c,!0);k(n),s(e=>{r=F(n,1,`chip svelte-d2jxoz`,null,r,{u:d(t).kind===`understanding`}),i(o,p[d(t).kind]),i(l,e)},[()=>d(t).kind===`passage`?d(t).text:d(t).kind===`folder`?d(t).id||`the base`:m(d(t).id)]),R(e,n)}),k(t),R(e,t)};_(o,e=>{n().given.length&&e(c)}),R(e,a)},f=(e,n=ee,r=ee)=>{var o=t(),c=l(o),u=e=>{var t=Ii();se(t,()=>me(r().text),!0),k(t),C(t,(e,t)=>ge?.(e,t),()=>({given:r().text,copy:!0})),R(e,t)},d=e=>{var t=Hi();let n;var o=G(t),c=x(o,!0),u=b(o,2),d=e=>{var t=Li(),n=G(t),a=x(n),o=b(n);k(t),s(e=>{j(t,`href`,e),j(t,`title`,`In ${r().step.away.base??``}, in a tab of its own`),i(a,`${r().step.away.base??``}:`),i(o,` ${r().step.away.note??``}${r().step.away.section?` · ${r().step.away.section}`:``}`)},[()=>ye(r().step.away.base,`#/n/${r().step.away.note}`)]),R(e,t)},f=e=>{var t=Ri(),n=G(t),a=x(n),o=b(n);k(t),s(()=>{i(a,`${r().step.away.base??``}:`),i(o,` ${(r().step.query?`“${r().step.query}”`:r().step.said)??``}`)}),R(e,t)},p=e=>{var t=zi(),n=x(t);s(e=>{j(t,`data-to`,r().step.opened),i(n,`${e??``}${r().step.section?` · ${r().step.section}`:``}`)},[()=>m(r().step.opened)]),a(`click`,t,()=>L(r().step.opened)),R(e,t)},h=e=>{var t=Vi(),n=l(t),a=x(n,!0),o=b(n),c=e=>{var t=Bi(),n=x(t);s(()=>i(n,`${r().step.notes.length??``} found`)),R(e,t)};_(o,e=>{r().step.notes.length&&e(c)}),s(()=>i(a,r().step.query?`“${r().step.query}”`:r().step.said)),R(e,t)};_(u,e=>{r().step.away?.note?e(d):r().step.away?e(f,1):r().step.opened?e(p,2):e(h,-1)}),k(t),s(()=>{n=F(t,1,`look svelte-d2jxoz`,null,n,{failed:r().step.failed}),i(c,y[r().step.how])}),R(e,t)},f=e=>{var t=Gi(),n=G(t),o=x(n,!0),c=b(n,2),l=e=>{var t=Ui(),n=x(t,!0);s(()=>i(n,r().title)),R(e,t)},u=e=>{var t=zi(),n=x(t,!0);s(e=>{j(t,`data-to`,r().why===`move`?r().to:r().note),i(n,e)},[()=>r().why===`move`?`${r().title} → ${r().to}`:r().note.startsWith(`@`)?r().title:m(r().note)]),a(`click`,t,()=>z(r().why===`move`?r().to:r().note)),R(e,t)};_(c,e=>{r().why===`delete`?e(l):e(u,-1)});var d=b(c,2),f=e=>{var t=Wi(),n=G(t),a=x(n),o=b(n,2),c=x(o);k(t),s(()=>{i(a,`+${r().added??``}`),i(c,`−${r().removed??``}`)}),R(e,t)};_(d,e=>{(r().added||r().removed)&&e(f)}),k(t),s(e=>i(o,e),[()=>r().note.startsWith(`@understanding/`)?`wrote`:r().why===`create`?`made`:r().why===`delete`?`deleted`:r().why===`move`?`moved`:`changed`]),R(e,t)},p=e=>{var t=Ji(),n=G(t),o=x(n),c=b(n,2),l=e=>{var t=Ki(),n=x(t,!0);s(()=>i(n,r().answer===`reject`?`Not allowed.`:r().answer===`always`?`Allowed, and from now on in this conversation.`:`Allowed once.`)),R(e,t)},u=e=>{var t=qi(),n=G(t),i=b(n),o=b(i);k(t),a(`click`,n,()=>void $.answer(r().id,`once`)),a(`click`,i,()=>void $.answer(r().id,`always`)),a(`click`,o,()=>void $.answer(r().id,`reject`)),R(e,t)};_(c,e=>{r().answer?e(l):e(u,-1)}),k(t),s(()=>i(o,`Iso wants to ${r().what??``}.`)),R(e,t)},h=e=>{var t=Yi(),n=x(t);s((e,t)=>i(n,`${e??``}${t??``}`),[()=>r().notes.length?`Undone: ${r().notes.map(m).join(`, `)} put back.`:`Nothing was put back.`,()=>r().left.length?` Left as they are, changed since: ${r().left.map(m).join(`, `)}.`:``]),R(e,t)},g=e=>{var t=Zi(),n=b(G(t),2),o=x(n,!0),c=b(n),l=e=>{var t=Xi(),n=x(t,!0);s(()=>i(n,r().why)),R(e,t)};_(c,e=>{r().why&&e(l)}),k(t),s(e=>{j(n,`data-to`,r().note),i(o,e)},[()=>m(r().note)]),a(`click`,n,()=>L(r().note)),R(e,t)},v=e=>{var t=ea(),o=G(t),c=G(o);Mi(c);var u=b(c),d=e=>{var t=zi(),n=x(t,!0);s(()=>{j(t,`data-to`,r().made),i(n,r().title)}),a(`click`,t,()=>L(r().made)),R(e,t)},f=e=>{var t=Qi(),o=l(t),c=x(o,!0),u=b(o,2);s(e=>{i(c,r().title),j(u,`aria-label`,`Keep “${r().title??``}” as an open question`),j(u,`title`,`Keep as an open question about ${e??``}`)},[()=>r().about.map(m).join(`, `)]),a(`click`,u,()=>void $.take(n().id,r().id)),R(e,t)};_(u,e=>{r().made?e(d):e(f,-1)}),k(o);var p=b(o,2),h=e=>{var t=$i(),n=x(t,!0);s(()=>i(n,r().text)),R(e,t)};_(p,e=>{r().text&&e(h)}),k(t),s(()=>j(t,`data-question`,r().id)),R(e,t)},S=e=>{var t=ia(),o=G(t);se(o,()=>me(r().text),!0),k(o),C(o,(e,t)=>ge?.(e,t),()=>r().text);var c=b(o,2),l=G(c),u=e=>{var t=ta();R(e,t)},d=e=>{var t=zi(),n=x(t,!0);s(e=>{j(t,`data-to`,r().note),i(n,e)},[()=>m(r().note)]),a(`click`,t,()=>L(r().note)),R(e,t)};_(l,e=>{r().note===`AGENTS.md`?e(u):e(d,-1)});var f=b(l,2),p=e=>{var t=na();R(e,t)},h=e=>{var t=ra();s((e,n)=>{j(t,`aria-label`,`Insert into ${e??``} as yours`),j(t,`title`,`Insert at the end of ${n??``}, as yours`)},[()=>m(r().note),()=>m(r().note)]),a(`click`,t,()=>void $.take(n().id,r().id)),R(e,t)};_(f,e=>{r().taken?e(p):e(h,-1)}),k(c),k(t),s(()=>j(t,`data-offer`,r().id)),R(e,t)};_(c,e=>{r().kind===`text`?e(u):r().kind===`look`?e(d,1):r().kind===`change`?e(f,2):r().kind===`permission`?e(p,3):r().kind===`undone`?e(h,4):r().kind===`point`?e(g,5):r().kind===`question`?e(v,6):r().kind===`offer`&&e(S,7)}),R(e,o)},p={note:`▣`,folder:`▭`,passage:`“`,understanding:`◇`},m=e=>X.listing.notes.find(t=>t.id===e)?.title??e.split(`/`).at(-1)??e,y={keyword:`searched`,meaning:`by meaning`,link:`followed`,read:`read`};function S(e){if(e.pointerType!==`mouse`||!(e.target instanceof Element))return;let t=e.target.closest(`[data-to], a[href]`),n=t?.dataset.to?{id:t.dataset.to,folder:!1}:t instanceof HTMLAnchorElement?q(t.getAttribute(`href`)??``):null;fe.set(`iso`,n?{...n,who:`you`}:null)}let T=e(``),E=e(void 0),D=K(()=>Z.mode===`build`),O=K(()=>$.running),A=K(()=>d(D)?Qr.running:!!d(O)),M=K(()=>{if(!d(O))return``;if($.retrying)return`Iso's provider did not answer: asking again (${$.retrying.retry} of ${$.retrying.of})`;if($.streaming)return`Iso is writing`;let e=d(O).items.findLast(e=>e.kind===`look`);return e?.step.opened?`Iso is reading ${m(e.step.opened)}`:`Iso is thinking`});H(()=>{$.start(),Qr.start(),Zr.start()}),v(()=>{Y.sent,Z.mode,he.tier,$.measure()}),v(()=>{$.turns,$.streaming,ce().then(()=>{d(E)&&(d(E).scrollTop=d(E).scrollHeight)})});async function N(){let e=d(T);await(d(D)?Qr.send(e):$.send(e))&&h(T,``)}let P=()=>d(D)?Qr.stop():$.stop();function I(e){e.key===`Enter`&&!e.shiftKey&&!e.isComposing?(e.preventDefault(),N()):e.key===`Escape`&&d(A)&&(e.preventDefault(),P())}function L(e){Z.open(e,!0)}function z(e){e.startsWith(`@understanding/`)?B(e.slice(15)):(Z.flip(`provenance`,!0),Z.showUnderstanding(!1),Z.open(e,!0))}function B(e){Z.showUnderstanding(!0),Z.open(e,!0)}let V=e=>e.items.some(e=>e.kind===`change`)&&!e.items.some(e=>e.kind===`undone`);var W=ga();let ie;var ae=G(W),oe=e=>{di(e,{})},le=e=>{ji(e,{})},ue=e=>{var t=fa();g(t,21,()=>$.turns,e=>e.id,(e,t)=>{var n=da(),o=G(n),c=G(o),p=x(c,!0),m=b(c);u(m,()=>d(t));var h=b(m),v=e=>{var t=aa();R(e,t)};_(h,e=>{d(t).mode===`write`&&e(v)}),k(o);var y=b(o,2);g(y,17,()=>d(t).items,r,(e,n)=>{f(e,()=>d(t),()=>d(n))});var S=b(y,2),w=e=>{var t=oa(),n=l(t),r=e=>{var t=Ii();se(t,()=>me($.streaming),!0),k(t),C(t,(e,t)=>ge?.(e,t),()=>$.streaming),R(e,t)};_(n,e=>{$.streaming&&e(r)});var a=b(n,2),o=b(G(a),1,!0);k(a),s(()=>i(o,d(M))),R(e,t)},T=e=>{var n=sa(),r=x(n);a(`click`,r,()=>void $.undo(d(t).id)),R(e,n)},E=K(()=>V(d(t)));_(S,e=>{d(t).state===`running`?e(w):d(E)&&e(T,1)});var D=b(S,2),O=e=>{var n=la(),r=l(n),o=x(r),c=b(r,2),u=e=>{var n=ca(),r=x(n);a(`click`,r,()=>void $.again(d(t))),R(e,n)},f=K(()=>d(t)===$.turns.at(-1));_(c,e=>{d(f)&&e(u)}),s(()=>i(o,`Iso could not answer: ${d(t).message??``}`)),R(e,n)},A=e=>{var t=ua();R(e,t)};_(D,e=>{d(t).state===`failed`?e(O):d(t).state===`stopped`&&e(A,1)}),k(n),s(()=>{j(n,`data-state`,d(t).state),i(p,d(t).asked)}),R(e,n)}),k(t),ne(t,e=>h(E,e),()=>d(E)),a(`pointerover`,t,S),c(`pointerleave`,t,()=>fe.set(`iso`,null)),R(e,t)};_(ae,e=>{$.view===`context`?e(oe):d(D)?e(le,1):e(ue,-1)});var de=b(ae,2),pe=G(de),J=b(G(pe),2);te(J);var _e=b(J,2),ve=e=>{var t=pa();s(()=>j(t,`aria-label`,d(D)?`Stop the terminal's agent`:`Stop Iso`)),a(`click`,t,()=>void P()),R(e,t)},be=e=>{var t=ma();a(`click`,t,()=>void N()),R(e,t)},xe=K(()=>d(T).trim());_(_e,e=>{d(A)?e(ve):d(xe)&&e(be,1)}),k(pe);var Se=b(pe,2),Ce=e=>{var t=ha(),n=x(t,!0);s(()=>i(n,d(D)?Qr.problem:$.problem)),R(e,t)};_(Se,e=>{(d(D)?Qr.problem:$.problem)&&e(Ce)}),k(de),k(W),s(()=>{ie=F(W,1,`iso svelte-d2jxoz`,null,ie,{drop:Y.carrying?.over}),j(J,`placeholder`,d(D)?`Ask in the terminal's session`:`Ask Iso`)}),a(`keydown`,J,I),re(J,()=>d(T),e=>h(T,e)),R(n,W),w()}m([`click`,`pointerover`,`keydown`]);var va=L(`<li><i class="tick svelte-1wk2ip3" aria-hidden="true"> </i> <a data-sveltekit-reload="" class="svelte-1wk2ip3"> </a> <button class="lend svelte-1wk2ip3" type="button" aria-label="Lent to every session"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linejoin="round"><rect x="2.5" y="5.5" width="7" height="8"></rect><path d="M6.5 5.5V2.5h7v8h-4"></path></svg></button></li>`),ya=L(`<p class="bad svelte-1wk2ip3" role="alert"> </p>`),ba=L(`<div class="frame bases svelte-1wk2ip3" role="dialog" aria-label="Knowledge bases" tabindex="-1"><span class="frame-title">bases</span> <ul class="svelte-1wk2ip3"></ul> <!></div>`),xa=L(`<button class="base svelte-1wk2ip3" type="button" aria-haspopup="true" title="The knowledge bases: switch to another"> </button> <span class="slash svelte-1wk2ip3" aria-hidden="true">/</span> <!>`,1);function Sa(n,r){U(r,!0);let o=X.api?.bases??null,f=e(!1),p=e([]),m=e(``),v=e(!1),y=e(``),C=e(void 0),T=e(void 0),E=e(S({top:0,left:0}));async function D(){if(o)try{await(async e=>{h(p,e.bases),h(m,e.here,!0),h(v,e.local,!0)})(await o.list()),h(y,``)}catch(e){h(y,e.message,!0)}}async function O(){if(h(f,!d(f)),d(f)&&d(T)){let e=d(T).getBoundingClientRect();h(E,{top:e.bottom+14,left:Math.max(8,e.left-8)},!0)}d(f)&&(await D(),d(C)?.querySelector(`a`)?.focus())}async function A(e){try{h(p,await o.lend(e.name,!e.lend)),h(y,``)}catch(e){h(y,e.message,!0)}}function M(e){d(f)&&e.target instanceof Node&&!d(C)?.contains(e.target)&&!d(T)?.contains(e.target)&&h(f,!1)}function N(e){d(f)&&e.key===`Escape`&&(h(f,!1),d(T)?.focus())}var P=t();c(`pointerdown`,u,M),c(`keydown`,u,N);var I=l(P),L=e=>{var t=xa(),n=l(t),r=x(n,!0);ne(n,e=>h(T,e),()=>d(T));var o=b(n,4),c=e=>{var t=ba();let n;var r=b(G(t),2);g(r,21,()=>d(p),e=>e.name,(e,t)=>{let n=K(()=>d(t).name===(d(m)||X.session.name));var r=va();let o;var c=G(r),l=x(c,!0),u=b(c,2),f=x(u,!0),p=b(u,2);k(r),s(e=>{o=F(r,1,`svelte-1wk2ip3`,null,o,{here:d(n)}),i(l,d(n)?`✓`:``),j(u,`href`,e),j(u,`title`,d(t).path),j(u,`aria-current`,d(n)?`page`:void 0),i(f,d(t).name),j(p,`aria-pressed`,d(t).lend),p.disabled=!d(v),j(p,`title`,d(v)?d(t).lend?`Lent to every session's agent and Iso: press to keep it to itself`:`Lend it to every session's agent and Iso, as the agent's memory is`:`Lent or not is changed only from this machine`)},[()=>ye(d(t).name)]),a(`click`,p,()=>A(d(t))),R(e,r)}),k(r);var o=b(r,2),c=e=>{var t=ya(),n=x(t,!0);s(()=>i(n,d(y))),R(e,t)};_(o,e=>{d(y)&&e(c)}),k(t),ne(t,e=>h(C,e),()=>d(C)),s(()=>n=B(t,``,n,{top:`${d(E).top??``}px`,left:`${d(E).left??``}px`})),R(e,t)};_(o,e=>{d(f)&&e(c)}),s(()=>{j(n,`aria-expanded`,d(f)),i(r,X.session.name)}),a(`click`,n,O),R(e,t)};_(I,e=>{o&&X.session&&e(L)}),R(n,P),w()}m([`click`]);var Ca=f(`<rect x="2.5" y="2.5" width="11" height="11"></rect><path d="M8 2.5v11"></path><rect x="8.6" y="3.1" width="4.3" height="9.8" fill="currentColor" stroke="none"></rect>`,1),wa=f(`<path d="M8 1v14" stroke-width="1.2"></path><rect x="5.5" y="2" width="5" height="3.2" fill="currentColor" stroke="none"></rect><path d="M8 6.3l2.3 2.3L8 10.9 5.7 8.6z" fill="currentColor" stroke="none"></path><rect x="5.5" y="12" width="5" height="3" stroke-width="1.2"></rect>`,1),Ta=f(`<path d="M5.6 5.6a2.4 2.4 0 1 1 3.4 2.2c-.6.3-1 .8-1 1.5v.9"></path><path d="M8 12v1.2"></path>`,1),Ea=f(`<path d="M8 2.5l5.8 10.5H2.2z"></path>`),Da=f(`<circle cx="8" cy="8" r="5.5"></circle><path d="M2.5 8h11M8 2.5c-2 2.8-2 8.2 0 11M8 2.5c2 2.8 2 8.2 0 11"></path>`,1),Oa=f(`<path d="M5.5 4.5L2 8l3.5 3.5M10.5 4.5L14 8l-3.5 3.5M9 3l-2 10"></path>`),ka=f(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path><path d="M8 5.5l2.5 2.5L8 10.5 5.5 8z" fill="currentColor" stroke="none"></path>`,1),Aa=f(`<path d="M2.5 13.5l2.5-2.5M5 11c.6-4.2 3.6-7.4 8.5-8.5C12.6 7.2 9.4 10.4 5 11zM7.2 8.8l2.6-.3M8.8 6.6l2.4-.4"></path>`),ja=f(`<path d="M3.5 2.5h5.5l3.5 3.5v7.5h-9z"></path><path d="M9 2.5V6h3.5"></path>`,1),Ma=f(`<path d="M3 4.5l3 3.5-3 3.5M7.5 12h5.5"></path>`),Na=L(`<button type="button" class="sw svelte-ubc5lw"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"><!></svg></button>`),Pa=L(`<button class="icon gear svelte-ubc5lw" type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><path d="M2.5 4.5h11M2.5 8h11M2.5 11.5h11"></path><rect x="9" y="3" width="2.5" height="3" fill="var(--ground-0)" class="svelte-ubc5lw"></rect><rect x="4.5" y="6.5" width="2.5" height="3" fill="var(--ground-0)" class="svelte-ubc5lw"></rect><rect x="10" y="10" width="2.5" height="3" fill="var(--ground-0)" class="svelte-ubc5lw"></rect></svg></button>`),Fa=L(`<div class="frame settings svelte-ubc5lw" role="dialog" tabindex="-1"><span class="frame-title"> </span> <div class="inner svelte-ubc5lw"><!></div></div>`),Ia=L(`<header class="phead svelte-ubc5lw"><!> <span class="pname svelte-ubc5lw"> </span> <span class="switches svelte-ubc5lw" role="group"></span> <span class="grow svelte-ubc5lw"></span> <!> <!></header> <!>`,1);function La(t,n){U(n,!0);let r=I(n,`first`,3,!1),o={provenance:`Provenance: whose words are whose (Alt+P)`,timeline:`Timeline (Alt+T)`,context:`Iso's context: what it is sent, what it read and changed (Alt+C)`,questions:`Open questions (Alt+Q)`,problems:`Problems (Alt+B)`,web:`Links to the web (Alt+W)`,code:`Links to code (Alt+K)`,notes:`Iso may edit the notes (Alt+N)`,files:`Iso may edit the project's files (Alt+F)`,run:`Iso may run commands (Alt+R)`},f={provenance:`growth`,timeline:`lattice`,questions:`rose`,problems:`text`,web:`lattice`,code:`lattice`,context:`growth`,notes:`growth`,files:`growth`,run:`growth`},p=K(()=>Ce[n.pane].filter(e=>e!==`files`&&e!==`run`||Z.terminal)),m=K(()=>Z.settings===n.pane),y=e(void 0);v(()=>{d(m)&&d(y)?.focus()});function S(e){d(m)&&e.target instanceof Element&&(d(y)?.contains(e.target)||e.target.closest(`[data-settings="${n.pane}"]`)||(Z.settings=null))}var C=Ia();c(`pointerdown`,u,S),c(`keydown`,u,e=>{d(m)&&e.key===`Escape`&&(Z.settings=null)});var E=l(C),D=G(E),O=e=>{Sa(e,{})};_(D,e=>{r()&&e(O)});var A=b(D,2),M=x(A,!0),N=b(A,2);g(N,20,()=>d(p),e=>e,(e,t)=>{var n=Na();let r;var i=G(n),c=G(i),l=e=>{var t=Ca();ie(2),R(e,t)},u=e=>{var t=wa();ie(3),R(e,t)},d=e=>{var t=Ta();ie(),R(e,t)},p=e=>{var t=Ea();R(e,t)},m=e=>{var t=Da();ie(),R(e,t)},h=e=>{var t=Oa();R(e,t)},g=e=>{var t=ka();ie(),R(e,t)},v=e=>{var t=Aa();R(e,t)},y=e=>{var t=ja();ie(),R(e,t)},b=e=>{var t=Ma();R(e,t)};_(c,e=>{t===`provenance`?e(l):t===`timeline`?e(u,1):t===`questions`?e(d,2):t===`problems`?e(p,3):t===`web`?e(m,4):t===`code`?e(h,5):t===`context`?e(g,6):t===`notes`?e(v,7):t===`files`?e(y,8):e(b,-1)}),k(i),k(n),s(e=>{j(n,`data-switch`,t),j(n,`aria-pressed`,Z.on[t]),j(n,`aria-label`,e),j(n,`title`,o[t]),r=B(n,``,r,{"--c":`var(--${f[t]??``})`})},[()=>o[t].replace(/ \(Alt\+.\)$/,``)]),a(`click`,n,()=>Z.flip(t)),R(e,n)}),k(N);var P=b(N,4);T(P,()=>n.tools??ee);var F=b(P,2),L=e=>{var t=Pa();s(()=>{j(t,`data-settings`,n.pane),j(t,`aria-label`,`${n.name??``} settings`),j(t,`aria-expanded`,d(m)),j(t,`title`,`${n.name??``} settings`)}),a(`click`,t,()=>Z.settings=d(m)?null:n.pane),R(e,t)};_(F,e=>{n.settings&&e(L)}),k(E);var z=b(E,2),V=e=>{var t=Fa(),r=G(t),a=x(r,!0),o=b(r,2),c=G(o);T(c,()=>n.settings),k(o),k(t),ne(t,e=>h(y,e),()=>d(y)),s(e=>{j(t,`aria-label`,`${n.name??``} settings`),i(a,e)},[()=>n.name.toLowerCase()]),R(e,t)};_(z,e=>{n.settings&&d(m)&&e(V)}),s(()=>{i(M,n.name),j(N,`aria-label`,`${n.name??``}'s switches`)}),R(t,C),w()}m([`click`]);var Ra=L(`<button type="button" class="gauge svelte-1cyuk5c"><i></i> <i></i></button>`);function za(e,t){U(t,!0);let n=e=>e>=1e3?`${(e/1e3).toFixed(e>=1e5?0:1)}k`:String(e),r=e=>`$${e.toFixed(e>0&&e<.1?3:2)}`,i={day:`today`,week:`this week`,month:`this month`,total:`in all`},o=K(()=>$.report),c=K(()=>Z.mode===`build`),l=K(()=>Qr.view),u=K(()=>!d(c)&&d(o)?Math.min(1,d(o).tokens/d(o).limit):0),f=K(()=>!d(c)&&!!d(o)&&d(o).tokens>=Math.min(1e5,d(o).limit/2)),p=K(()=>!d(c)&&!!d(o)&&d(o).tokens>d(o).limit),m=K(()=>Zr.value),h=K(()=>d(m)&&d(m).cap?Math.min(1,d(m).usd/d(m).cap):0),g=K(()=>d(h)>.8),_=K(()=>d(c)?`${d(l)?.model||`OpenCode`}${d(l)?`, ${n(d(l).tokens.input+d(l).tokens.output)} tokens`:``}${d(l)?.cost?`, ${r(d(l).cost)}`:``}`:d(o)?`Context: ${n(d(o).tokens)} of ${n(d(o).limit)} tokens${d(p)?`: more than the model takes; switch parts off in the Context view`:d(f)?`: long enough to drift; summing up the earlier turns may help`:``}`:`Context: not measured yet`),v=K(()=>d(m)?d(m).source===`key`?`Spend: ${r(d(m).usd)} of the key's ${r(d(m).cap)} limit, ${i[d(m).per]}`:d(m).source===`setting`?`Spend: ${r(d(m).usd)} of ${r(d(m).cap)} this month (the cap set in settings)`:d(m).cap?`Spend: ${r(d(m).usd)} this month; the most in any month is ${r(d(m).cap)}`:`Spend: ${r(d(m).usd)} this month; no cap is set`:`Spend: not known yet`);var y=Ra(),x=G(y);let S,C;var T=b(x,2);let E,D;k(y),s(()=>{j(y,`aria-label`,`${d(_)??``}. ${d(v)??``}`),j(y,`title`,`${d(_)??``}
|
|
26
|
+
${d(v)??``}`),S=F(x,1,`bar ctx svelte-1cyuk5c`,null,S,{long:d(f),full:d(p)}),C=B(x,``,C,{"--fill":d(u)}),E=F(T,1,`bar usd svelte-1cyuk5c`,null,E,{over:d(g)}),D=B(T,``,D,{"--fill":d(h)})}),a(`click`,y,()=>$.view=$.view===`context`?`chat`:`context`),R(e,y),w()}m([`click`]);var Ba=L(`<button type="button" role="radio" class="svelte-xdo8"> </button>`),Va=L(`<span class="tiers wide svelte-xdo8" role="radiogroup" aria-label="How able a model"></span> <button type="button" class="tiers narrow svelte-xdo8"> </button>`,1);function Ha(t,n){U(n,!0);let r=[`low`,`mid`,`max`],o={low:`quick`,mid:`Iso's default`,max:`the most able`},c=e(null);v(()=>{X.api&&!d(c)&&X.api.settings().then(e=>h(c,e.tiers),()=>void 0)});let u=e=>d(c)?.[e]??``,f=e=>`${e}: ${o[e]}${u(e)?`, ${u(e)}`:``}`,p=()=>he.setTier(r[(r.indexOf(he.tier)+1)%r.length]);var m=Va(),_=l(m);g(_,20,()=>r,e=>e,(e,t)=>{var n=Ba(),r=x(n,!0);s(e=>{j(n,`aria-checked`,he.tier===t),j(n,`title`,e),i(r,t)},[()=>f(t)]),a(`click`,n,()=>he.setTier(t)),R(e,n)}),k(_);var y=b(_,2),S=x(y,!0);s(e=>{j(y,`aria-label`,`How able a model: ${he.tier??``}`),j(y,`title`,`${e??``}: click for the next`),i(S,he.tier[0])},[()=>f(he.tier)]),a(`click`,y,p),R(t,m),w()}m([`click`]);var Ua=L(`<div class="row svelte-fl4w36"><input class="field name svelte-fl4w36" placeholder="name" autocomplete="off" spellcheck="false"/> <input class="field grow svelte-fl4w36" autocomplete="off" spellcheck="false"/> <button class="icon svelte-fl4w36" type="button" title="remove"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" class="svelte-fl4w36"><path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.3" class="svelte-fl4w36"></path></svg></button></div>`),Wa=L(`<!> <button class="icon svelte-fl4w36" type="button"><svg viewBox="0 0 16 16" width="14" height="14" aria-hidden="true" class="svelte-fl4w36"><path d="M8 3v10M3 8h10" stroke="currentColor" stroke-width="1.3" class="svelte-fl4w36"></path></svg></button>`,1),Ga=L(`<button class="icon svelte-fl4w36" type="button" aria-label="keep" title="keep it, in use at once (config.toml is written again, without its comments: the first time, the file as it was is kept beside it as config.toml.bak). A running isorite term takes new models when it is next started"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" class="svelte-fl4w36"><path d="M3 8.5l3.2 3L13 4.5" stroke="currentColor" stroke-width="1.4" fill="none" class="svelte-fl4w36"></path></svg></button>`),Ka=L(`<div class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" aria-label="The gateway's address" placeholder="https://… /v1" title="its address, as an OpenAI-compatible client is given it (…/v1)" autocomplete="off" spellcheck="false"/> <input class="field name svelte-fl4w36" aria-label="Its name" placeholder="name" title="what to call it" autocomplete="off" spellcheck="false"/></div>`),qa=L(`<input class="field svelte-fl4w36" type="password" aria-label="A key for this address" title="the key goes with the address: the one held now is forgotten when this is kept, unless another is given" autocomplete="off" spellcheck="false"/>`),Ja=L(`<button class="btn svelte-fl4w36" type="button">forget it</button>`),Ya=L(`<button class="btn svelte-fl4w36" type="button">sign in for a key</button>`),Xa=L(`<p role="status"> </p>`),Za=L(`<form class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" type="password" aria-label="Provider key" title="kept in this device's configuration, never in a base, and not shown again" autocomplete="off" spellcheck="false"/> <button class="btn primary svelte-fl4w36" type="submit">hold it</button> <!> <!></form> <!>`,1),Qa=L(`<details class="svelte-fl4w36"><summary class="label svelte-fl4w36">what else it asks for</summary> <div class="more svelte-fl4w36"><input class="field svelte-fl4w36" aria-label="The header the key goes in" placeholder="the key's header" title="the header the key goes in (key_header), as api-key; left empty, Authorization: Bearer" autocomplete="off" spellcheck="false"/> <h3 class="label svelte-fl4w36">headers</h3> <!> <h3 class="label svelte-fl4w36">query</h3> <!> <h3 class="label svelte-fl4w36">client certificate</h3> <div class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" aria-label="The .pfx file" placeholder="~/… .pfx" title="a .pfx (or .p12) on this machine: the certificate and its key" autocomplete="off" spellcheck="false"/> <input class="field name svelte-fl4w36" type="password" aria-label="The .pfx's password" title="the .pfx's password: held, not shown" autocomplete="off"/></div> <div class="row svelte-fl4w36"><input class="field grow svelte-fl4w36" aria-label="The certificate" placeholder="or a certificate" title="instead of a .pfx: the certificate (cert, a .pem)" autocomplete="off" spellcheck="false"/> <input class="field grow svelte-fl4w36" aria-label="The certificate's key" placeholder="and its key" title="and its private key (cert_key, a .pem)" autocomplete="off" spellcheck="false"/></div> <input class="field svelte-fl4w36" aria-label="The authority" placeholder="an authority" title="the authority the gateway's own certificate is signed by (ca, a .pem), added to those trusted: for a gateway whose certificate the company signs" autocomplete="off" spellcheck="false"/> <div class="row svelte-fl4w36"><label class="soft check svelte-fl4w36" title="some gateways refuse stream_options: then the gauge can't count what Iso costs"><input type="checkbox" class="svelte-fl4w36"/> reports usage</label> <input class="field name svelte-fl4w36" type="number" min="1" step="1" aria-label="max_tokens" placeholder="max_tokens" title="the most a reply may be, for models that think at length"/></div></div></details>`),$a=L(`<label class="label svelte-fl4w36"> </label> <input class="field svelte-fl4w36" list="setup-models" autocomplete="off" spellcheck="false"/>`,1),eo=L(`<option class="svelte-fl4w36"></option>`),to=L(`<li><span class="mark svelte-fl4w36"> </span><span class="svelte-fl4w36"> </span><span class="faint said svelte-fl4w36"> </span></li>`),no=L(`<ul class="checks svelte-fl4w36" aria-label="The check"></ul>`),ro=L(`<pre class="report svelte-fl4w36" aria-label="The report"> </pre>`),io=L(`<fieldset class="svelte-fl4w36"><div class="kinds svelte-fl4w36" role="radiogroup" aria-label="The provider"><label class="svelte-fl4w36"><input type="radio" class="svelte-fl4w36"/> OpenRouter</label> <label class="svelte-fl4w36"><input type="radio" class="svelte-fl4w36"/> a gateway of your own</label></div> <!></fieldset> <!> <fieldset class="svelte-fl4w36"><!> <div class="tiers svelte-fl4w36"><!> <datalist id="setup-models" class="svelte-fl4w36"></datalist></div></fieldset> <!> <!>`,1),ao=L(`<p class="bad svelte-fl4w36" role="alert"> </p>`),oo=L(`<div class="head svelte-fl4w36"><h2 class="label svelte-fl4w36">the provider</h2> <span class="grow svelte-fl4w36"></span> <button class="icon svelte-fl4w36" type="button" aria-label="check"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" class="svelte-fl4w36"><path d="M1.5 8.5h3l1.8-4.5 3 8 1.9-3.5h3.3" stroke="currentColor" stroke-width="1.3" fill="none" class="svelte-fl4w36"></path></svg></button> <!> <button class="icon svelte-fl4w36" type="button" aria-label="copy the report" title="copy isorite doctor's report, its secrets hidden, to paste to someone helping (it checks the provider too)"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" class="svelte-fl4w36"><rect x="3.5" y="2.5" width="9" height="11.5" rx="1" stroke="currentColor" stroke-width="1.2" fill="none" class="svelte-fl4w36"></rect><path d="M6 2.5V1.5h4v1M5.8 6.5h4.4M5.8 9h4.4M5.8 11.5h2.6" stroke="currentColor" stroke-width="1.2" fill="none" class="svelte-fl4w36"></path></svg></button></div> <p class="soft svelte-fl4w36"> </p> <!> <!>`,1);function so(t,n){U(n,!0);let o=[],u=(e,t=ee,n=ee)=>{var i=Wa(),o=l(i);g(o,17,t,r,(e,r,i)=>{var o=Ua(),c=G(o);O(c);var l=b(c,2);O(l);var u=b(l,2);k(o),s(e=>{j(c,`aria-label`,`${n()??``} name`),j(l,`type`,e),j(l,`aria-label`,`${n()??``} value`),j(l,`placeholder`,d(r).held?`held`:`value, or $NAME`),j(l,`title`,d(r).held?`held, not shown: type another to replace it`:`a value, or $NAME for an environment variable`),j(u,`aria-label`,`remove ${(d(r).name||n())??``}`)},[()=>J(d(r))?`password`:`text`]),re(c,()=>d(r).name,e=>d(r).name=e),re(l,()=>d(r).value,e=>d(r).value=e),a(`click`,u,()=>t().splice(i,1)),R(e,o)});var c=b(o,2);s(()=>{j(c,`aria-label`,`add a ${n()??``}`),j(c,`title`,`add a ${n()??``}`)}),a(`click`,c,()=>pe(t())),R(e,i)},f=[`low`,`mid`,`max`],p={ok:`✓`,warn:`!`,fail:`✗`,skip:`–`},m=e(null),y=e(null),S=e(``),C=e(``),T=e(``),A=e(null),M=e(null),P=e(``),I=e(``),L=e(``),B=e=>e.trim().replace(/\/+$/,``),V=e=>{h(m,e),h(y,structuredClone(e.setup),!0),h(S,``),h(C,``)};v(()=>{n.api.view().then(V,e=>h(L,e.message,!0))});let H=e=>e.kind===`gateway`?B(e.url):je.url,te=K(()=>!!(d(y)&&d(m)&&H(d(y))!==H(d(m).setup))),ne=K(()=>!!(d(y)&&d(m)&&(JSON.stringify(d(y))!==JSON.stringify(d(m).setup)||d(S)||d(C)))),ae=K(()=>d(m)?.local??!1);function oe(){let e=D(d(y));return d(te)&&d(S).trim()&&(e.key=d(S).trim()),d(C)&&(e.passphrase=d(C)),e}async function se(e,t){h(L,``),h(P,e,!0);try{return await t()}catch(e){h(L,e.message,!0);return}finally{h(P,``)}}let ce=()=>se(`check`,async()=>{h(A,await n.api.check(d(ae)&&d(ne)?oe():null))}),le=()=>se(`keep`,async()=>{V(await n.api.keep(oe())),h(A,null),h(M,null),n.onsettings(await X.api.settings())});async function ue(){if(!d(M)){h(M,[]);try{h(M,await n.api.models(d(ae)&&d(ne)?oe():null))}catch{}}}let de=()=>se(`report`,async()=>{h(I,await n.api.report(),!0);try{await navigator.clipboard.writeText(d(I)),h(I,``)}catch{}});async function q(e){h(L,``),X.signIn=null;try{n.onsettings(await X.api.setKey(e)),h(T,``),V(await n.api.view())}catch(e){h(L,e.message,!0)}}async function fe(){h(L,``),X.signIn=null;try{await X.startSignIn()}catch(e){h(L,e.message,!0)}}let pe=e=>e.push({name:``,value:``}),J=e=>e.held||/key|token|secret|pass|auth|cookie/i.test(e.name)&&!/^\$[A-Za-z_]\w*$/.test(e.value);var me=oo(),Y=l(me),he=b(G(Y),4),ge=b(he,2),_e=e=>{var t=Ga();s(()=>{t.disabled=!d(ne)||d(P)!==``,j(t,`aria-busy`,d(P)===`keep`)}),a(`click`,t,le),R(e,t)};_(ge,e=>{d(ae)&&e(_e)});var ve=b(ge,2);k(Y);var ye=b(Y,2),be=x(ye),xe=b(ye,2),Z=e=>{var t=io(),m=l(t),v=G(m),w=G(v),D=G(w);O(D),D.value=D.__value=`openrouter`,ie(),k(w);var P=b(w,2),L=G(P);O(L),L.value=L.__value=`gateway`,ie(),k(P),k(v);var B=b(v,2),V=e=>{var t=Ka(),n=G(t);O(n);var r=b(n,2);O(r),k(t),re(n,()=>d(y).url,e=>d(y).url=e),re(r,()=>d(y).name,e=>d(y).name=e),R(e,t)};_(B,e=>{d(y).kind===`gateway`&&e(V)}),k(m);var H=b(m,2),U=e=>{var t=qa();O(t),s(()=>{t.disabled=!d(ae),j(t,`placeholder`,d(y).kind===`gateway`?`a key for this address`:`a key from OpenRouter`)}),re(t,()=>d(S),e=>h(S,e)),R(e,t)},ee=e=>{var t=Za(),r=l(t),o=G(r);O(o);var u=b(o,2),f=b(u,2),p=e=>{var t=Ja();a(`click`,t,()=>q(null)),R(e,t)};_(f,e=>{n.settings.key&&e(p)});var m=b(f,2),g=e=>{var t=Ya();s(()=>j(t,`title`,`you sign in at ${n.settings.provider??``}, and the key it makes comes straight here; a spending limit for it is set on its page of keys`)),a(`click`,t,fe),R(e,t)};_(m,e=>{n.settings.connect&&e(g)}),k(r);var v=b(r,2),y=e=>{var t=Xa(),n=x(t,!0);s(()=>{F(t,1,N(X.signIn.ok?`soft`:`bad`),`svelte-fl4w36`),i(n,X.signIn.message)}),R(e,t)};_(v,e=>{X.signIn&&e(y)}),s(e=>{j(o,`placeholder`,n.settings.key?`held: paste another to replace it`:`paste a key`),u.disabled=e},[()=>!d(T).trim()]),c(`submit`,r,e=>{e.preventDefault(),d(T).trim()&&q(d(T))}),re(o,()=>d(T),e=>h(T,e)),R(e,t)};_(H,e=>{d(te)?e(U):e(ee,-1)});var ne=b(H,2),K=G(ne),oe=e=>{var t=Qa(),n=b(G(t),2),r=G(n);O(r);var i=b(r,4);u(i,()=>d(y).headers,()=>`header`);var o=b(i,4);u(o,()=>d(y).query,()=>`query value`);var c=b(o,4),l=G(c);O(l);var f=b(l,2);O(f),k(c);var p=b(c,2),m=G(p);O(m);var g=b(m,2);O(g),k(p);var _=b(p,2);O(_);var v=b(_,2),x=G(v),S=G(x);O(S),ie(),k(x);var w=b(x,2);O(w),k(v),k(n),k(t),s(()=>{j(f,`placeholder`,d(y).passphraseHeld?`password held`:`its password`),W(w,d(y).maxTokens??``)}),re(r,()=>d(y).keyHeader,e=>d(y).keyHeader=e),re(l,()=>d(y).pfx,e=>d(y).pfx=e),re(f,()=>d(C),e=>h(C,e)),re(m,()=>d(y).cert,e=>d(y).cert=e),re(g,()=>d(y).certKey,e=>d(y).certKey=e),re(_,()=>d(y).ca,e=>d(y).ca=e),E(S,()=>d(y).streamUsage,e=>d(y).streamUsage=e),a(`input`,w,e=>{let t=Number(e.currentTarget.value);d(y).maxTokens=t>0?Math.floor(t):null}),R(e,t)};_(K,e=>{d(y).kind===`gateway`&&e(oe)});var se=b(K,2),ce=G(se);g(ce,16,()=>f,e=>e,(e,t)=>{var n=$a(),r=l(n),a=x(r,!0),o=b(r,2);O(o),s(()=>{j(r,`for`,`tier-${t??``}`),i(a,t),j(o,`id`,`tier-${t??``}`),j(o,`title`,`the ${t??``} tier's model: one the provider lists, or its name typed`)}),c(`focus`,o,ue),re(o,()=>d(y).tiers[t],e=>d(y).tiers[t]=e),R(e,n)});var le=b(ce,2);g(le,20,()=>d(M)??[],e=>e,(e,t)=>{var n=eo(),r={};s(()=>{r!==(r=t)&&(n.value=(n.__value=r)??``)}),R(e,n)}),k(le),k(se),k(ne);var de=b(ne,2),pe=e=>{var t=no();g(t,21,()=>d(A),r,(e,t)=>{var n=to(),r=G(n),a=x(r,!0),o=b(r),c=x(o,!0),l=b(o),u=x(l,!0);k(n),s(()=>{F(n,1,N(d(t).outcome),`svelte-fl4w36`),i(a,p[d(t).outcome]),i(c,d(t).step),i(u,d(t).said)}),R(e,n)}),k(t),R(e,t)};_(de,e=>{d(A)&&e(pe)});var J=b(de,2),me=e=>{var t=ro(),n=x(t,!0);s(()=>i(n,d(I))),R(e,t)};_(J,e=>{d(I)&&e(me)}),s(()=>{m.disabled=!d(ae),j(m,`title`,d(ae)?void 0:`changed only from this machine (localhost): the key goes where this says`),ne.disabled=!d(ae),j(ne,`title`,d(ae)?void 0:`changed only from this machine (localhost)`)}),z(o,[],D,()=>d(y).kind,e=>d(y).kind=e),z(o,[],L,()=>d(y).kind,e=>d(y).kind=e),R(e,t)};_(xe,e=>{d(y)&&d(m)&&e(Z)});var Se=b(xe,2),Ce=e=>{var t=ao(),n=x(t,!0);s(()=>i(n,d(L))),R(e,t)};_(Se,e=>{d(L)&&e(Ce)}),s(()=>{j(he,`title`,d(ae)&&d(ne)?`check this setup before keeping it: its models, a few words from each, a tool call (a few hundred tokens)`:`check the setup kept: its models, a few words from each, a tool call (a few hundred tokens)`),he.disabled=d(P)!==``,j(he,`aria-busy`,d(P)===`check`),ve.disabled=d(P)!==``,j(ve,`aria-busy`,d(P)===`report`),i(be,`Asked through ${n.settings.provider??``}. ${n.settings.key?`A key is held on this device.`:`No key is held yet.`}`)}),a(`click`,he,ce),a(`click`,ve,de),R(t,me),w()}m([`click`,`input`]);var co=L(`<button class="btn" type="button">forget it</button>`),lo=L(`<button class="btn" type="button">sign in for a key</button>`),uo=L(`<p role="status"> </p>`),fo=L(`<dt> </dt><dd class="faint svelte-1c4xnzk"> </dd>`,1),po=L(`<h2 class="label svelte-1c4xnzk">the provider</h2> <p class="soft"> </p> <form class="row svelte-1c4xnzk"><label class="hidden-label" for="key">Provider key</label> <input id="key" class="field grow" type="password" title="kept in this device's configuration, never in a base, and not shown again" autocomplete="off" spellcheck="false"/> <button class="btn primary" type="submit">hold it</button> <!> <!></form> <!> <dl class="tiers svelte-1c4xnzk"></dl>`,1),mo=L(`<button class="btn" type="button">no cap</button>`),ho=L(`<form class="row svelte-1c4xnzk"><label class="hidden-label" for="cap">Monthly spend cap in dollars</label> <input id="cap" class="field grow" type="number" min="0.01" step="any" autocomplete="off"/> <button class="btn" type="submit">set it</button> <!></form>`),go=L(`<h2 class="label svelte-1c4xnzk">AGENTS.md</h2> <label class="hidden-label" for="agents">AGENTS.md: your instructions for this base</label> <textarea id="agents" class="agents svelte-1c4xnzk" rows="6" spellcheck="true" placeholder="notation, level, language, how notes are named" title="Your instructions for this base: sent with every turn, to Iso and to the terminal's agent. Kept at the top of your notes, as AGENTS.md."></textarea>`,1),_o=L(`<p class="bad svelte-1c4xnzk" role="alert"> </p>`),vo=L(`<section class="svelte-1c4xnzk"><!> <!> <!> <!></section>`);function yo(t,n){U(n,!0);let r=e(null),o=X.api?.setup??null,u=e(``),f=e(``),p=e(``),m=e(null),y=``;v(()=>{X.api.agents().then(e=>{h(m,e.text??``,!0),y=d(m)},()=>void 0)});async function S(){if(d(m)!==null&&d(m)!==y){h(f,``);try{await X.api.saveAgents(d(m)),y=d(m),$.measure()}catch(e){h(f,e.message,!0)}}}v(()=>{X.api.settings().then(e=>h(r,e),e=>h(f,e.message,!0))}),v(()=>()=>{X.signIn=null});async function C(e){h(f,``),X.signIn=null;try{h(r,await X.api.setKey(e)),h(u,``)}catch(e){h(f,e.message,!0)}}async function T(e){h(f,``);try{h(r,await X.api.setSpendCap(e)),h(p,``),Zr.refresh()}catch(e){h(f,e.message,!0)}}async function E(){h(f,``),X.signIn=null;try{await X.startSignIn()}catch(e){h(f,e.message,!0)}}var D=vo(),A=G(D),M=e=>{so(e,{get api(){return o},get settings(){return d(r)},onsettings:e=>{h(r,e),Zr.refresh()}})},P=e=>{var t=po(),n=b(l(t),2),o=x(n),f=b(n,2),p=b(G(f),2);O(p);var m=b(p,2),v=b(m,2),y=e=>{var t=co();a(`click`,t,()=>C(null)),R(e,t)};_(v,e=>{d(r).key&&e(y)});var S=b(v,2),w=e=>{var t=lo();s(()=>j(t,`title`,`you sign in at ${d(r).provider??``}, and the key it makes comes straight here; a spending limit for it is set on its page of keys`)),a(`click`,t,E),R(e,t)};_(S,e=>{d(r).connect&&e(w)}),k(f);var T=b(f,2),D=e=>{var t=uo(),n=x(t,!0);s(()=>{F(t,1,N(X.signIn.ok?`soft`:`bad`),`svelte-1c4xnzk`),i(n,X.signIn.message)}),R(e,t)};_(T,e=>{X.signIn&&e(D)});var A=b(T,2);g(A,20,()=>[`low`,`mid`,`max`],e=>e,(e,t)=>{var n=fo(),a=l(n),o=x(a,!0),c=b(a),u=x(c,!0);s(()=>{i(o,t),i(u,d(r).tiers[t])}),R(e,n)}),k(A),s(e=>{i(o,`Asked through ${d(r).provider??``}. ${d(r).key?`A key is held on this device.`:`No key is held yet, so Iso cannot be asked.`}`),j(p,`placeholder`,d(r).key?`paste another key to replace it`:`paste a key`),m.disabled=e},[()=>!d(u).trim()]),c(`submit`,f,e=>{e.preventDefault(),d(u).trim()&&C(d(u))}),re(p,()=>d(u),e=>h(u,e)),R(e,t)};_(A,e=>{d(r)&&o?e(M):d(r)&&e(P,1)});var I=b(A,2),L=e=>{var t=ho(),n=b(G(t),2);O(n);var i=b(n,2),o=b(i,2),l=e=>{var t=mo();a(`click`,t,()=>T(null)),R(e,t)};_(o,e=>{d(r).spendCap&&e(l)}),k(t),s(e=>{j(n,`placeholder`,d(r).spendCap?`$${d(r).spendCap} a month; another amount replaces it`:`a monthly cap in dollars`),j(n,`title`,`the lower bar in Iso's header fills toward this, over a calendar month; a key with a limit of its own at ${d(r).provider??``} is measured by that instead`),i.disabled=e},[()=>!(Number(d(p))>0)]),c(`submit`,t,e=>{e.preventDefault();let t=Number(d(p));t>0&&T(t)}),re(n,()=>d(p),e=>h(p,e)),R(e,t)};_(I,e=>{d(r)&&e(L)});var z=b(I,2),B=e=>{var t=go(),n=b(l(t),4);te(n),c(`blur`,n,()=>void S()),re(n,()=>d(m),e=>h(m,e)),R(e,t)};_(z,e=>{d(m)!==null&&e(B)});var V=b(z,2),H=e=>{var t=_o(),n=x(t,!0);s(()=>i(n,d(f))),R(e,t)};_(V,e=>{d(f)&&e(H)}),k(D),R(t,D),w()}m([`click`]);var bo=L(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">this note</h2> <div class="row svelte-1h9x2hz"><button class="btn" type="button">A question about it</button> <button class="btn" type="button">A problem using it</button></div></section>`),xo=L(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the base</h2> <p><span class="name svelte-1h9x2hz"> </span> <span class="faint"> </span></p> <!></section>`),So=L(`<button type="button" role="radio"> </button>`),Co=L(`<button type="button">fullscreen</button>`),wo=f(`<path d="M5.8 2.5v11M10.2 2.5v11"></path>`),To=f(`<path d="M8 2.5v11M8 8h6.5"></path>`),Eo=L(`<button class="icon svelte-1h9x2hz" type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><rect x="1.5" y="2.5" width="13" height="11"></rect><!></svg></button>`),Do=f(`<path d="M4 2.5h6l2.5 2.5v8.5H4zM6 7h5M6 9.5h5"></path>`),Oo=f(`<rect x="2" y="2.5" width="5" height="4"></rect><rect x="9" y="9.5" width="5" height="4"></rect><path d="M4.5 6.5v5H9"></path>`,1),ko=f(`<path d="M8 2.5l5.5 5.5L8 13.5 2.5 8z"></path>`),Ao=L(`<button type="button"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3"><!></svg></button>`),jo=L(`<span class="icons svelte-1h9x2hz" role="group" aria-label="Layout"></span> <span class="icons svelte-1h9x2hz" role="group" aria-label="Panes shown"></span>`,1),Mo=L(`<section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the screen</h2> <div class="row svelte-1h9x2hz"><!> <!></div></section>`),No=L(`<!> <!> <section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the ground</h2> <div class="row svelte-1h9x2hz" role="radiogroup" aria-label="Ground"></div></section> <section class="svelte-1h9x2hz"><h2 class="label svelte-1h9x2hz">the code</h2> <div class="row svelte-1h9x2hz" role="radiogroup" aria-label="Code"></div></section> <!> <p class="foot svelte-1h9x2hz"><a>the parts</a></p>`,1);function Po(t,n){U(n,!0);let r={note:`Note`,atlas:`Atlas`,iso:`Iso`},o={cols:`Three columns`,stack:`The note beside the Atlas over Iso`,one:`One pane: the one in focus`},c=e(!1),u=e(!1);H(()=>{h(c,!!document.fullscreenEnabled&&!matchMedia(`(display-mode: standalone)`).matches,!0);let e=()=>{h(u,document.fullscreenElement!==null)};return e(),document.addEventListener(`fullscreenchange`,e),()=>document.removeEventListener(`fullscreenchange`,e)}),e(!1);function f(){document.fullscreenElement?document.exitFullscreen():document.documentElement.requestFullscreen().catch(()=>void 0)}var p=No(),m=l(p),v=e=>{let t=K(()=>X.open);var n=bo(),r=b(G(n),2),i=G(r),o=b(i,2);k(r),k(n),a(`click`,i,()=>{Z.settings=null,ut(`question`,d(t))}),a(`click`,o,()=>{Z.settings=null,ut(`problem`,d(t))}),R(e,n)},y=K(()=>X.open&&!X.open.startsWith(`@`));_(m,e=>{d(y)&&e(v)});var S=b(m,2),C=e=>{var t=xo(),n=b(G(t),2),r=G(n),a=x(r,!0),o=b(r,2),c=x(o);k(n);var l=b(n,2);_(l,e=>{}),k(t),s(()=>{i(a,X.session.name),i(c,`· ${X.listing.notes.length??``} ${X.listing.notes.length===1?`note`:`notes`}`)}),R(e,t)};_(S,e=>{X.session&&e(C)});var T=b(S,2),E=b(G(T),2);g(E,21,()=>Oe,([e,t])=>e,(e,t)=>{var n=K(()=>V(d(t),2));let r=()=>d(n)[0],o=()=>d(n)[1];var c=So();let l;var u=x(c,!0);s(()=>{l=F(c,1,`btn svelte-1h9x2hz`,null,l,{on:De.chosen===r()}),j(c,`aria-checked`,De.chosen===r()),i(u,o())}),a(`click`,c,()=>De.choose(r())),R(e,c)}),k(E),k(T);var D=b(T,2),O=b(G(D),2);g(O,21,()=>Ae,([e,t])=>e,(e,t)=>{var n=K(()=>V(d(t),2));let r=()=>d(n)[0],o=()=>d(n)[1];var c=So();let l;var u=x(c,!0);s(()=>{l=F(c,1,`btn svelte-1h9x2hz`,null,l,{on:ke.chosen===r()}),j(c,`aria-checked`,ke.chosen===r()),j(c,`title`,r()?`keywords bold, comments faint, as in print`:`coloured by what each word is`),i(u,o())}),a(`click`,c,()=>ke.choose(r())),R(e,c)}),k(O),k(D);var A=b(D,2),M=e=>{var t=Mo(),n=b(G(t),2),i=G(n),p=e=>{var t=Co();let n;s(()=>{n=F(t,1,`btn svelte-1h9x2hz`,null,n,{on:d(u)}),j(t,`aria-pressed`,d(u))}),a(`click`,t,f),R(e,t)};_(i,e=>{d(c)&&e(p)});var m=b(i,2),h=e=>{var t=jo(),n=l(t);g(n,20,()=>we,e=>e,(e,t)=>{var n=Eo(),r=G(n),i=b(G(r)),c=e=>{var t=wo();R(e,t)},l=e=>{var t=To();R(e,t)};_(i,e=>{t===`cols`?e(c):t===`stack`&&e(l,1)}),k(r),k(n),s(()=>{j(n,`aria-pressed`,Z.layout===t),j(n,`aria-label`,o[t]),j(n,`title`,`${o[t]??``} (Alt+L)`)}),a(`click`,n,()=>Z.setLayout(t)),R(e,n)}),k(n);var i=b(n,2);g(i,20,()=>Se,e=>e,(e,t)=>{var n=Ao();let i;var o=G(n),c=G(o),l=e=>{var t=Do();R(e,t)},u=e=>{var t=Oo();ie(2),R(e,t)},d=e=>{var t=ko();R(e,t)};_(c,e=>{t===`note`?e(l):t===`atlas`?e(u,1):e(d,-1)}),k(o),k(n),s(e=>{i=F(n,1,`icon svelte-1h9x2hz`,null,i,{off:!Z.show[t]}),j(n,`aria-pressed`,Z.show[t]),j(n,`aria-label`,`Show ${r[t]??``}`),j(n,`title`,`Show or hide ${r[t]??``} (Alt+${e??``} brings it back)${t===`iso`?` · hide it when your terminal has the session`:``}`)},[()=>Se.indexOf(t)+1]),a(`click`,n,()=>Z.toggle(t)),R(e,n)}),k(i),R(e,t)};_(m,e=>{Z.narrow||e(h)}),k(n),k(t),R(e,t)};_(A,e=>{(d(c)||!Z.narrow)&&e(M)});var N=b(A,2),P=x(N);s(e=>j(P,`href`,e),[()=>le(`/parts`)]),a(`click`,P,()=>Z.settings=null),R(t,p),w()}m([`click`]);var Fo=e=>{Po(e,{})},Io=e=>{yo(e,{})},Lo=e=>{var t=zo(),n=b(G(t),2),r=e=>{var t=Ro(),n=x(t);s(()=>i(n,`${X.listing.notes.length??``} ${X.listing.notes.length===1?`note`:`notes`}`)),R(e,t)};_(n,e=>{X.atlas&&e(r)}),k(t),R(e,t)},Ro=L(`<p class="soft svelte-12qhfyh"> </p>`),zo=L(`<section class="set svelte-12qhfyh"><h2 class="label svelte-12qhfyh">the map</h2> <!></section>`),Bo=L(`<p class="stopped svelte-12qhfyh"> </p>`),Vo=L(`<div class="divider svelte-12qhfyh" role="separator" aria-orientation="vertical" tabindex="0"></div>`),Ho=L(`<button class="icon svelte-12qhfyh" type="button" data-tour="understanding" aria-label="Understanding note" title="Understanding note"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="svelte-12qhfyh"><path d="M8 14.5V7.5M8 7.5L4.6 4.4M8 7.5l3.4-3.1M8 7.5V2.5M4.6 4.4L2.8 4.6M4.6 4.4L4.5 2.4M11.4 4.4l1.8.2M11.4 4.4l.1-2M8 11L5.8 9.6M8 11l2.2-1.4" class="svelte-12qhfyh"></path></svg></button>`),Uo=L(`<span role="status"><i aria-hidden="true" class="svelte-12qhfyh"></i><span class="hidden-label svelte-12qhfyh"> </span></span>`),Wo=L(`<!> <!> <button class="icon svelte-12qhfyh" type="button" aria-label="All notes" title="All notes, and search"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M2.5 3h4M4.5 3v9.5h3M4.5 7.5h3" class="svelte-12qhfyh"></path><rect x="8" y="5.5" width="5.5" height="3.5" class="svelte-12qhfyh"></rect><rect x="8" y="10.5" width="5.5" height="3.5" class="svelte-12qhfyh"></rect></svg></button>`,1),Go=L(`<div class="tree svelte-12qhfyh"><!></div>`),Ko=L(`<!> <div class="pbody note-body svelte-12qhfyh"><!></div> <!>`,1),qo=L(`<span class="says svelte-12qhfyh"> </span> <button class="link svelte-12qhfyh" type="button">stop</button>`,1),Jo=L(`<span title="click open ground to let its path go"> </span>`),Yo=L(`<span class="says svelte-12qhfyh">click a note to link it, again to take it away</span>`),Xo=L(`<span class="says svelte-12qhfyh"> </span>`),Zo=L(`<span class="where soft svelte-12qhfyh"> </span><button class="btn out svelte-12qhfyh" type="button">↑ out</button>`,1),Qo=L(`<button class="icon svelte-12qhfyh" type="button" aria-label="The whole map" title="The whole map (0)"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M2.5 6V2.5H6M10 2.5h3.5V6M13.5 10v3.5H10M6 13.5H2.5V10" class="svelte-12qhfyh"></path></svg></button>`),$o=L(`<!> <!> <!>`,1),es=L(`<!> <div class="pbody atlas-body svelte-12qhfyh"><!></div>`,1),ts=L(`<span> </span>`),ns=L(`<!> <!> <!> <button class="icon ctx svelte-12qhfyh" type="button" aria-label="Context" title="What Iso is sent, part by part"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M3 3.5h10M3 6.5h10M3 9.5h6M3 12.5h6" class="svelte-12qhfyh"></path></svg> <!></button> <button class="icon svelte-12qhfyh" type="button" aria-label="A new conversation" title="A new conversation: nothing earlier is sent"><svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" fill="none" stroke="currentColor" stroke-width="1.3" class="svelte-12qhfyh"><path d="M8 3.5v9M3.5 8h9" class="svelte-12qhfyh"></path></svg></button>`,1),rs=L(`<!> <div class="pbody iso-body svelte-12qhfyh"><!></div>`,1),is=L(`<section><!> <!></section>`),as=L(`<span class="badge svelte-12qhfyh"> </span>`),os=L(`<button type="button" class="svelte-12qhfyh"> <!></button>`),ss=L(`<div class="shell svelte-12qhfyh"><main class="panes svelte-12qhfyh"><!></main> <nav class="tabs svelte-12qhfyh" aria-label="Panes"></nav></div>`);function cs(n,r){U(r,!0),X.signIn!==null&&(Z.settings=`iso`);let f=K(()=>Z.standing);v(()=>{Te.route.id===`/n/[...id]`&&Te.params.id&&Z.setLast(Te.params.id)}),v(()=>{Te.url.href,Z.tree=!1}),H(()=>{let e=matchMedia(`(max-width: 760px)`);Z.narrow=e.matches;let t=()=>{Z.narrow=e.matches,Z.narrow&&requestAnimationFrame(()=>Z.scroll?.(Z.focus))};return e.addEventListener(`change`,t),Z.scroll=e=>{if(!Z.narrow||!d(p))return;let t=d(p).querySelector(`[data-pane="${e}"]`);t&&d(p).scrollTo({left:t.offsetLeft,behavior:matchMedia(`(prefers-reduced-motion: reduce)`).matches?`auto`:`smooth`})},()=>{e.removeEventListener(`change`,t),Z.scroll=null}});let p=e(void 0),m=K(()=>{if(Z.layout===`stack`&&d(f).length===3){let[e,t]=d(f);return{template:`"a b" minmax(0, 1fr) "a c" minmax(0, 1fr) / minmax(0, ${Z.widths[e]}fr) minmax(0, ${Z.widths[t]}fr)`,areas:Object.fromEntries(d(f).map((e,t)=>[e,`abc`[t]]))}}return{template:`minmax(0, 1fr) / ${d(f).map(e=>`minmax(0, ${Z.widths[e]}fr)`).join(` `)}`,areas:{}}});function S(e,t){let n=e.currentTarget,r=d(f)[d(f).indexOf(t)-1];if(!r||!d(p))return;n.setPointerCapture(e.pointerId);let i=d(f).reduce((e,t)=>e+(Z.layout===`stack`&&t===d(f)[2]?0:Z.widths[t]),0),a=d(p).getBoundingClientRect().width/i,o=e.clientX,s=e=>{let n=(e.clientX-o)/a,i=Z.widths[r]+n,s=Z.widths[t]-n;i<.4||s<.4||(Z.setWidth(r,i),Z.setWidth(t,s),o=e.clientX)},c=()=>{n.removeEventListener(`pointermove`,s),n.removeEventListener(`pointerup`,c)};n.addEventListener(`pointermove`,s),n.addEventListener(`pointerup`,c)}function C(e,t){let n=d(f)[d(f).indexOf(t)-1];if(!n||e.key!==`ArrowLeft`&&e.key!==`ArrowRight`)return;let r=e.key===`ArrowLeft`?-.1:.1;Z.widths[n]+r>=.4&&Z.widths[t]-r>=.4&&(Z.setWidth(n,Z.widths[n]+r),Z.setWidth(t,Z.widths[t]-r)),e.preventDefault()}function E(){Z.narrow&&d(p)&&(clearTimeout(D),D=setTimeout(()=>{let e=Se[Math.round(d(p).scrollLeft/d(p).clientWidth)];e&&e!==Z.focus&&(Z.focus=e,e===`iso`&&(Z.unseen=0))},60))}let D;function O(e){if(e.key===`Escape`&&Z.tree){Z.tree=!1;return}if(!e.altKey||e.ctrlKey||e.metaKey||e.defaultPrevented)return;let t=e.target?.closest?.(`.cm-editor, input, textarea`)!=null,n=e.key;if(n===`1`||n===`2`||n===`3`)Z.to(Se[n-1]);else if(n.toLowerCase()===`l`&&!Z.narrow)Z.nextLayout();else if(t)return;else if(n===`ArrowLeft`||n===`ArrowRight`)Z.step(n===`ArrowRight`?1:-1);else if(M[n.toLowerCase()])Z.flip(M[n.toLowerCase()]);else return;e.preventDefault()}let A={note:`Note`,atlas:`Atlas`,iso:`Iso`},M={p:`provenance`,t:`timeline`,q:`questions`,b:`problems`,w:`web`,k:`code`,c:`context`,n:`notes`,f:`files`,r:`run`},N=K(()=>Te.route.id===`/n/[...id]`||Te.route.id===`/draft/[id]`),P=K(()=>X.atlas&&!X.atlas.pick&&X.iso?.start?.place.form!==`turn`?X.iso:null),I=K(()=>d(P)?.state===`reading`||d(P)?.state===`writing`),L=K(()=>d(P)?X.listing.notes.find(e=>e.id===d(P).note)?.title??`your note`:``),z=()=>{d(P)&&X.api.stop(d(P).request)},V=K(()=>J(d(P)?.agent)),W=K(()=>{let e=d(P)?.steps.findLast(e=>e.opened&&!e.failed)?.opened;return e?X.listing.notes.find(t=>t.id===e)?.title??e:``});var ee=ss();ae(`12qhfyh`,e=>{y(()=>{o.title=d(N)&&X.here?`${X.here} · isorite`:`isorite`})}),c(`keydown`,u,O);var te=G(ee);let re;var ie=G(te),se=e=>{var t=Bo(),n=x(t);s(()=>i(n,`isorite could not open the base: ${X.error??``}`)),R(e,t)},ce=e=>{var n=t(),o=l(n);g(o,16,()=>Se,e=>e,(e,n)=>{var o=is();let u,p;var h=G(o),g=e=>{var t=Vo();s(()=>j(t,`aria-label`,`Resize ${A[n]??``}`)),a(`pointerdown`,t,e=>S(e,n)),a(`keydown`,t,e=>C(e,n)),R(e,t)};_(h,e=>{!Z.narrow&&d(f)[0]!==n&&(Z.layout!==`stack`||d(f)[2]!==n)&&e(g)});var v=b(h,2),y=e=>{var t=Ko(),n=l(t);{let e=e=>{var t=Wo(),n=l(t),r=e=>{var t=Ho();s(()=>j(t,`aria-pressed`,Z.understanding)),a(`click`,t,()=>Z.showUnderstanding()),R(e,t)},o=K(()=>Te.route.id===`/n/[...id]`&&!(Te.params.id??``).startsWith(`@`));_(n,e=>{d(o)&&e(r)});var c=b(n,2),u=e=>{var t=Uo();let n;var r=b(G(t)),a=x(r,!0);k(t),s(e=>{n=F(t,1,`saved svelte-12qhfyh`,null,n,{bad:X.saving.bad,busy:e}),j(t,`title`,X.saving.text),i(a,X.saving.text)},[()=>!X.saving.text.startsWith(`saved`)]),R(e,t)};_(c,e=>{d(N)&&X.saving&&e(u)});var f=b(c,2);s(()=>j(f,`aria-pressed`,Te.route.id===`/notes`||Z.tree)),a(`click`,f,()=>{Te.route.id!==`/notes`&&(Z.tree=!Z.tree)}),R(e,t)},t=K(()=>Z.narrow||d(f)[0]===`note`);La(n,{pane:`note`,get first(){return d(t)},name:`Note`,get settings(){return Fo},tools:e,$$slots:{tools:!0}})}var o=b(n,2),c=G(o);T(c,()=>r.children),k(o);var u=b(o,2),p=e=>{var t=Go(),n=G(t);Ee(n,{}),k(t),R(e,t)};_(u,e=>{Z.tree&&Te.route.id!==`/notes`&&e(p)}),R(e,t)},w=e=>{var n=es(),r=l(n);{let e=e=>{var n=$o(),r=l(n),o=e=>{var n=t(),r=l(n),o=e=>{var t=qo(),n=l(t),r=x(n,!0),o=b(n,2);s(e=>i(r,e),[()=>d(P).note.startsWith(`@draft/`)?`your note opens when Iso is done`:`Iso is answering in ${d(L)}`]),a(`click`,o,z),R(e,t)},c=e=>{var t=Jo();let n;var r=x(t,!0);s(()=>{n=F(t,1,`says svelte-12qhfyh`,null,n,{bad:d(P).state===`failed`}),i(r,d(P).state===`done`?`Iso is done in ${d(L)}`:d(P).state===`stopped`?`Iso was stopped`:`Iso could not answer: ${d(P).message}`)}),R(e,t)};_(r,e=>{d(I)?e(o):e(c,-1)}),R(e,n)},c=e=>{var t=Yo();R(e,t)},u=e=>{var t=Xo(),n=x(t);s(()=>i(n,`${X.atlas.steps??``} ${X.atlas.steps===1?`step`:`steps`} back`)),R(e,t)};_(r,e=>{d(P)&&!d(P).agent&&(!X.open||d(P).note!==X.open)&&(d(I)||!X.atlas?.chosen)?e(o):X.atlas?.pick?e(c,1):X.atlas?.chosen&&X.atlas.steps&&e(u,2)});var f=b(r,2),p=e=>{var t=Zo(),n=l(t),r=x(n,!0),o=b(n);s(()=>i(r,X.atlas.here)),a(`click`,o,function(...e){X.atlas.out?.apply(this,e)}),R(e,t)};_(f,e=>{X.atlas?.here&&e(p)});var m=b(f,2),h=e=>{var t=Qo();a(`click`,t,function(...e){X.atlas.fit?.apply(this,e)}),R(e,t)};_(m,e=>{X.atlas&&e(h)}),R(e,n)},n=K(()=>Z.narrow||d(f)[0]===`atlas`);La(r,{pane:`atlas`,get first(){return d(n)},name:`Atlas`,get settings(){return Lo},tools:e,$$slots:{tools:!0}})}var o=b(r,2);Xr(G(o),{}),k(o),R(e,n)},E=e=>{var n=rs(),r=l(n);{let e=e=>{var n=ns(),r=l(n),o=e=>{var t=Xo(),n=x(t,!0);s(()=>{j(t,`title`,d(I)?``:`click open ground on the Atlas to let its path go`),i(n,d(I)?`${d(V)} is ${d(W)?`reading ${d(W)}`:`at work`} in the terminal`:`${d(V)}'s turn is done`)}),R(e,t)};_(r,e=>{d(P)?.agent&&e(o)});var c=b(r,2),u=e=>{Ha(e,{})};_(c,e=>{Z.mode!==`build`&&e(u)});var f=b(c,2);za(f,{});var p=b(f,2),m=b(G(p),2),h=e=>{var n=t(),r=l(n);oe(r,()=>Y.fresh,e=>{var t=ts();let n;var r=x(t,!0);s(()=>{n=F(t,1,`n svelte-12qhfyh`,null,n,{pulse:$.view===`chat`&&Y.fresh!==``}),i(r,Y.sent.length)}),R(e,t)}),R(e,n)};_(m,e=>{Y.sent.length&&e(h)}),k(p);var g=b(p,2);s(()=>{j(p,`aria-pressed`,$.view===`context`),g.disabled=Z.mode===`build`||!!$.running||!$.turns.length}),a(`click`,p,()=>$.view=$.view===`context`?`chat`:`context`),a(`click`,g,()=>{$.fresh(),$.view=`chat`}),R(e,n)},n=K(()=>Z.narrow||d(f)[0]===`iso`);La(r,{pane:`iso`,get first(){return d(n)},name:`Iso`,get settings(){return Io},tools:e,$$slots:{tools:!0}})}var o=b(r,2);_a(G(o),{}),k(o),R(e,n)};_(v,e=>{n===`note`?e(y):n===`atlas`?e(w,1):e(E,-1)}),k(o),s(e=>{u=F(o,1,`pane svelte-12qhfyh`,null,u,{focus:Z.focus===n,first:d(f)[0]===n,top:Z.layout===`stack`&&d(f)[1]===n&&d(f).length===3}),j(o,`data-pane`,n),j(o,`aria-label`,A[n]),j(o,`hidden`,e),p=B(o,``,p,{"grid-area":d(m).areas[n]})},[()=>!d(f).includes(n)]),c(`pointerdown`,o,()=>{Z.narrow||(Z.focus=n)},!0),R(e,o)}),R(e,n)};_(ie,e=>{X.error?e(se):e(ce,-1)}),k(te),ne(te,e=>h(p,e),()=>d(p));var le=b(te,2);g(le,20,()=>Se,e=>e,(e,t)=>{var n=os(),r=G(n),o=b(r),c=e=>{var t=as(),n=x(t,!0);s(()=>i(n,Z.unseen)),R(e,t)};_(o,e=>{t===`iso`&&Z.unseen&&e(c)}),k(n),s(()=>{j(n,`aria-current`,Z.focus===t),j(n,`aria-label`,A[t]),i(r,`${A[t]??``} `)}),a(`click`,n,()=>Z.to(t)),R(e,n)}),k(le),k(ee),s(()=>{j(te,`data-layout`,Z.layout),re=B(te,``,re,{"grid-template":d(m).template})}),c(`scroll`,te,E),R(n,ee),w()}m([`pointerdown`,`keydown`,`click`]);export{cs as component,Xe as universal};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D as e,H as t,J as n,X as r,Y as i,at as a,j as o,k as s,ot as c}from"../chunks/nMarIA7J.js";import"../chunks/xihTtKlq.js";import{t as l}from"../chunks/
|
|
1
|
+
import{D as e,H as t,J as n,X as r,Y as i,at as a,j as o,k as s,ot as c}from"../chunks/nMarIA7J.js";import"../chunks/xihTtKlq.js";import{t as l}from"../chunks/NmqB5ax3.js";var u=o(`<h1> </h1> <p> </p>`,1);function d(o,d){c(d,!0);var f=u(),p=n(f),m=i(p,!0),h=r(p,2),g=i(h,!0);t(()=>{e(m,l.status),e(g,l.error?.message)}),s(o,f),a()}export{d as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{at as e,n as t,o as n,ot as r}from"../chunks/nMarIA7J.js";import{o as i,t as a}from"../chunks/BrXPCJaM.js";import"../chunks/xihTtKlq.js";import{r as o,t as s}from"../chunks/CnP_Si9g.js";import{i as c}from"../chunks/hOAYc4Tf.js";import"../chunks/D_19S_Iu.js";function l(l,u){r(u,!1),t(()=>{let e=s.listing.notes.some(e=>e.id===c.last)?c.last:``;a(e?o(e):i(`/notes`),{replaceState:!0})}),n(),e()}export{l as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{at as e,n as t,o as n,ot as r}from"../chunks/nMarIA7J.js";import{o as i,t as a}from"../chunks/BrXPCJaM.js";import"../chunks/xihTtKlq.js";import{r as o,t as s}from"../chunks/CnP_Si9g.js";import{i as c}from"../chunks/hOAYc4Tf.js";import{t as l}from"../chunks/NmqB5ax3.js";import"../chunks/D_19S_Iu.js";function u(u,d){r(d,!1),t(()=>{let e=s.listing.notes.some(e=>e.id===c.last)?c.last:``,t=new URLSearchParams(l.url.search);t.delete(`base`);let n=t.size?`?${t}`:``;a((e?o(e):i(`/notes`))+n,{replaceState:!0}).then(()=>c.to(`atlas`))}),n(),e()}export{u as component};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{$ as e,A as t,D as n,F as r,H as i,J as a,L as o,P as s,Q as c,S as l,T as u,U as d,X as f,Y as p,_ as m,at as h,d as g,dt as _,et as v,f as y,h as b,j as x,k as S,n as C,o as w,ot as T,p as E,q as D,rt as O,tt as k,u as A,ut as ee,w as j,x as M}from"../chunks/nMarIA7J.js";import{o as N,t as P}from"../chunks/
|
|
1
|
+
import{$ as e,A as t,D as n,F as r,H as i,J as a,L as o,P as s,Q as c,S as l,T as u,U as d,X as f,Y as p,_ as m,at as h,d as g,dt as _,et as v,f as y,h as b,j as x,k as S,n as C,o as w,ot as T,p as E,q as D,rt as O,tt as k,u as A,ut as ee,w as j,x as M}from"../chunks/nMarIA7J.js";import{o as N,t as P}from"../chunks/BrXPCJaM.js";import"../chunks/xihTtKlq.js";import{i as F,t as I}from"../chunks/B91efLFT.js";import{r as L,t as R}from"../chunks/CnP_Si9g.js";import{i as z}from"../chunks/hOAYc4Tf.js";import{t as B}from"../chunks/NmqB5ax3.js";import"../chunks/D_19S_Iu.js";import{a as V,o as H,t as te}from"../chunks/B-65IYX-.js";var U=x(`<p class="faint col svelte-nq8rms">opening…</p>`),W=x(`<div class="col svelte-nq8rms"><p class="soft">This note for Iso is not here any more. It was kept as a note, or discarded.</p><p><a>all notes</a></p></div>`),ne=x(`<div class="prompt svelte-nq8rms"><p> </p> <button class="link svelte-nq8rms" type="button"> </button></div>`),G=x(`<div class="prose said svelte-nq8rms"></div>`),re=x(`<span class="faint"> </span>`),ie=x(`<!> <div class="foot svelte-nq8rms"><i class="dia svelte-nq8rms" aria-hidden="true"></i> <span class="soft"> <!></span> <span class="grow"></span> <button class="link svelte-nq8rms" type="button">[ stop ]</button></div>`,1),ae=x(`<textarea class="revision svelte-nq8rms" aria-label="Iso's text, to edit"></textarea>`),oe=x(`<!> <div aria-live="polite"><!></div>`,1),K=x(`<p class="bad svelte-nq8rms" role="alert"> </p>`),se=x(`<span class="chip lattice svelte-nq8rms"> </span>`),ce=x(`<span class="faint">no notes yet: type [[ in what you write, or</span>`),le=x(`<button type="button" role="radio" class="svelte-nq8rms"> </button>`),ue=x(`<div class="row svelte-nq8rms"><span class="label">linked</span> <!> <button class="link svelte-nq8rms" type="button">[ + pick on the atlas ]</button></div> <div class="row svelte-nq8rms"><button class="btn primary tall" type="button"><i class="dia inverse svelte-nq8rms" aria-hidden="true"></i>send to Iso</button> <span class="tiers svelte-nq8rms" role="radiogroup" aria-label="Tier"></span> <span class="grow"></span> <button class="link faint svelte-nq8rms" type="button">[ discard ]</button></div>`,1),de=x(`<option></option>`),fe=x(`<button class="btn edit" type="button">done</button>`),pe=x(`<button class="btn edit" type="button">edit</button>`),me=x(`<div class="row svelte-nq8rms"><button class="btn primary tall" type="button">keep as a note</button> <label class="in soft svelte-nq8rms"><span>in</span><input class="field svelte-nq8rms" placeholder="the top of the base" list="folders" autocomplete="off" aria-label="Folder"/><span class="faint">/</span></label> <datalist id="folders"></datalist> <span class="grow"></span> <!> <button class="btn danger tall" type="button">discard</button></div> <div class="row svelte-nq8rms"><span class="label"> </span> <span class="grow"></span> <button class="link svelte-nq8rms" type="button">[ back to what I wrote ]</button></div>`,1),he=x(`<div class="col svelte-nq8rms"><div class="mark svelte-nq8rms"><i class="dia open svelte-nq8rms" aria-hidden="true"></i><span class="label">for Iso · not in your base yet</span></div> <label class="hidden-label" for="title">Title</label> <textarea id="title" class="serif title svelte-nq8rms" rows="1" placeholder="a title for the note" autocomplete="off"></textarea> <!> <!> <!></div> <div class="deck svelte-nq8rms"><!></div>`,1),ge=x(`<article class="draft svelte-nq8rms"><!></article>`);function q(t,s){T(s,!0);let v=new V(s.id),x=new H(v),w=e(``),j=e(!1),B=e(``),q=e(!1),J=k(()=>x.proposals.at(-1)),Y=k(()=>o(J)?.text??``),X=k(()=>o(J)&&x.editing?.id===o(J).id?x.editing:null),Z=k(()=>!o(J)&&!x.asking),_e=k(()=>{let e=[...v.body.matchAll(/\]\(\/([^)\s#]+)\.md/g)].map(e=>decodeURIComponent(e[1]));return[...new Set(e)].flatMap(e=>{let t=R.listing.notes.find(t=>t.id===e);return t?[t]:[]})}),Q=k(()=>x.asking?.steps.at(-1)?.said??``);C(()=>{R.open=s.id,v.open().then(()=>x.open());let e=()=>{v.save()};return addEventListener(`pagehide`,e),()=>{removeEventListener(`pagehide`,e),x.close(),v.close(),R.here=R.open=``,R.saving=null}}),d(()=>{R.here=v.loaded===`ready`?v.fields.title||`a new note`:``,R.saving=v.loaded===`ready`&&o(Z)?{text:v.saving===`saved`?`saved, outside your base`:v.saving===`failed`?`not saved: ${v.message}`:`saving`,bad:v.saving===`failed`}:null});async function ve(){if(o(J)){c(B,``),c(q,!0);try{await v.save(),o(X)&&await x.done(o(J));let e=await R.api.keepDraft(s.id,o(J).id,o(w));await R.refresh(),await P(L(e.id))}catch(e){c(B,e.message,!0)}finally{c(q,!1)}}}async function ye(){await v.save();let e=s.id.slice(7);await P(`${N(`/draft/[id]`,{id:e})}?pick=${encodeURIComponent(e)}`),z.to(`atlas`)}async function be(){let e=await x.send();e&&(R.watching=e,z.to(`atlas`))}async function xe(){c(q,!0);try{await R.api.discardDraft(s.id),await P(N(`/notes`))}catch(e){c(B,e.message,!0),c(q,!1)}}var $=ge(),Se=D($),Ce=e=>{var t=U();S(e,t)},we=e=>{var t=W(),n=f(D(t)),r=p(n);_(t),i(e=>y(r,`href`,e),[()=>N(`/notes`)]),S(e,t)},Te=e=>{var t=he(),s=a(t),d=f(D(s),4);O(d);var h=f(d,2),C=e=>{te(e,{get note(){return v},source:!1})},T=e=>{var t=oe(),s=a(t),l=e=>{var t=ne(),a=D(t);let s;var l=p(a,!0),u=f(a,2),d=p(u,!0);_(t),i(e=>{s=b(a,1,`serif soft svelte-nq8rms`,null,s,{fold:!o(j)}),n(l,e),n(d,o(j)?`[ fold ]`:`[ show all ]`)},[()=>v.body.trim()]),r(`click`,u,()=>c(j,!o(j))),S(e,t)},d=k(()=>v.body.trim());u(s,e=>{o(d)&&e(l)});var h=f(s,2);let g;var C=D(h),w=e=>{var t=ie(),s=a(t),c=e=>{var t=G();M(t,()=>F(x.asking.text),!0),_(t),m(t,(e,t)=>I?.(e,t),()=>x.asking.text),S(e,t)};u(s,e=>{x.asking.text&&e(c)});var l=f(s,2),d=f(D(l),2),h=D(d,!0),g=f(h),v=e=>{var t=re(),r=p(t);i(()=>n(r,`· ${o(Q)??``}`)),S(e,t)};u(g,e=>{o(Q)&&e(v)}),_(d);var y=f(d,4);_(l),i(()=>n(h,x.asking.text?`Iso is writing`:`Iso is thinking`)),r(`click`,y,()=>x.halt()),S(e,t)},T=e=>{var t=ae();O(t),i(e=>y(t,`rows`,e),[()=>Math.max(6,o(X).text.split(`
|
|
2
2
|
`).length+1)]),A(t,()=>o(X).text,e=>o(X).text=e),S(e,t)},E=e=>{var t=G();M(t,()=>F(o(Y)),!0),_(t),m(t,(e,t)=>I?.(e,t),()=>({given:o(Y),copy:!0})),S(e,t)};u(C,e=>{x.asking?e(w):o(X)?e(T,1):e(E,-1)}),_(h),i(e=>g=b(h,1,`between svelte-nq8rms`,null,g,{working:e}),[()=>!!x.asking]),S(e,t)};u(h,e=>{o(Z)?e(C):e(T,-1)});var N=f(h,2),P=e=>{var t=K(),r=p(t,!0);i(()=>n(r,x.failed.message)),S(e,t)};u(N,e=>{x.failed&&e(P)});var L=f(N,2),z=e=>{var t=K(),r=p(t,!0);i(()=>n(r,o(B))),S(e,t)};u(L,e=>{o(B)&&e(z)}),_(s);var V=f(s,2),H=D(V),U=e=>{var t=ue(),s=a(t),c=f(D(s),2);l(c,17,()=>o(_e),e=>e.id,(e,t)=>{var r=se(),a=p(r,!0);i(()=>n(a,o(t).title)),S(e,r)},e=>{var t=ce();S(e,t)});var u=f(c,2);_(s);var d=f(s,2),m=D(d),h=f(m,2);l(h,20,()=>[`low`,`mid`,`max`],e=>e,(e,t)=>{var a=le(),o=p(a,!0);i(()=>{y(a,`aria-checked`,x.tier===t),n(o,t)}),r(`click`,a,()=>x.setTier(t)),S(e,a)}),_(h);var g=f(h,4);_(d),i(e=>{m.disabled=e,g.disabled=o(q)},[()=>!v.body.trim()]),r(`click`,u,ye),r(`click`,m,be),r(`click`,g,xe),S(e,t)},W=e=>{var t=me(),s=a(t),d=D(s),m=f(d,2),h=f(D(m));g(h),ee(),_(m);var v=f(m,2);l(v,20,()=>R.listing.dirs,e=>e,(e,t)=>{var n=de(),r={};i(()=>{r!==(r=t)&&(n.value=(n.__value=r)??``)}),S(e,n)}),_(v);var y=f(v,4),b=e=>{var t=fe();r(`click`,t,()=>x.done(o(J))),S(e,t)},C=e=>{var t=pe();r(`click`,t,()=>x.edit(o(J))),S(e,t)};u(y,e=>{o(X)?e(b):e(C,-1)});var T=f(y,2);_(s);var E=f(s,2),O=D(E),k=p(O),j=f(O,4);_(E),i(e=>{d.disabled=o(q),T.disabled=o(q),n(k,`${e??``}${o(J).notice?` · ${o(J).notice}`:``}`),j.disabled=o(q)},[()=>o(J).cost?`${o(J).cost.tier} · $${o(J).cost.usd.toFixed(3)}`:``]),r(`click`,d,ve),A(h,()=>o(w),e=>c(w,e)),r(`click`,T,xe),r(`click`,j,()=>x.discard(o(J))),S(e,t)};u(H,e=>{o(Z)?e(U):o(J)&&e(W,1)}),_(V),i(()=>{E(d,v.fields.title),d.readOnly=!o(Z)}),r(`input`,d,e=>v.setFields({title:e.currentTarget.value.replace(/\s*\n\s*/g,` `)})),r(`keydown`,d,e=>{e.key===`Enter`&&e.preventDefault()}),S(e,t)};u(Se,e=>{v.loaded===`loading`?e(Ce):v.loaded===`ready`?e(Te,-1):e(we,1)}),_($),S(t,$),h()}s([`input`,`keydown`,`click`]);function J(e,n){T(n,!1),w();var r=t(),i=a(r);j(i,()=>B.params.id,e=>{{let t=v(()=>`@draft/${B.params.id??``}`);q(e,{get id(){return o(t)}})}}),S(e,r),h()}export{J as component};
|