@openagt/dashboard 0.16.0 → 0.18.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 -1
- package/dist/built-in.d.ts.map +1 -1
- package/dist/built-in.js +1 -1
- package/dist/built-in.js.map +1 -1
- package/dist/daemon-runtime.d.ts.map +1 -1
- package/dist/daemon-runtime.js +6 -1
- package/dist/daemon-runtime.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +8 -3
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/agent-handoff.d.ts +48 -1
- package/dist/dashboard/agent-handoff.d.ts.map +1 -1
- package/dist/dashboard/agent-handoff.js +82 -6
- package/dist/dashboard/agent-handoff.js.map +1 -1
- package/dist/dashboard/cache.d.ts +5 -0
- package/dist/dashboard/cache.d.ts.map +1 -1
- package/dist/dashboard/cache.js +2 -2
- package/dist/dashboard/cache.js.map +1 -1
- package/dist/dashboard/machine-call.d.ts +13 -1
- package/dist/dashboard/machine-call.d.ts.map +1 -1
- package/dist/dashboard/machine-call.js +22 -2
- package/dist/dashboard/machine-call.js.map +1 -1
- package/dist/dashboard/relay-endpoints.d.ts +1 -1
- package/dist/dashboard/relay-endpoints.d.ts.map +1 -1
- package/dist/dashboard/relay-endpoints.js +1 -1
- package/dist/dashboard/relay-endpoints.js.map +1 -1
- package/dist/dashboard/remote-run.d.ts +6 -0
- package/dist/dashboard/remote-run.d.ts.map +1 -1
- package/dist/dashboard/remote-run.js +9 -0
- package/dist/dashboard/remote-run.js.map +1 -1
- package/dist/dashboard/types.d.ts +2 -0
- package/dist/dashboard/types.d.ts.map +1 -1
- package/dist/dashboard-bundle/assets/main-BpK2OYXg.js +141 -0
- package/dist/dashboard-bundle/assets/main-DYV5aTCD.css +2 -0
- package/dist/dashboard-bundle/assets/module-C6swDbeD.js +24 -0
- package/dist/dashboard-bundle/host/module.js +1 -1
- package/dist/dashboard-bundle/index.html +3 -3
- package/dist/dashboard-rpc/machines.d.ts +4 -1
- package/dist/dashboard-rpc/machines.d.ts.map +1 -1
- package/dist/dashboard-rpc/machines.js +5 -2
- package/dist/dashboard-rpc/machines.js.map +1 -1
- package/dist/dashboard-rpc/modules.d.ts.map +1 -1
- package/dist/dashboard-rpc/modules.js +5 -1
- package/dist/dashboard-rpc/modules.js.map +1 -1
- package/dist/dashboard-rpc/reads.d.ts +1 -1
- package/dist/dashboard-rpc/reads.js +1 -1
- package/dist/events.d.ts +15 -15
- package/dist/events.d.ts.map +1 -1
- package/dist/module-types/dashboard/components/AddMachineDialog.d.ts +4 -0
- package/dist/module-types/dashboard/components/DiffStat.d.ts +8 -2
- package/dist/module-types/dashboard/components/FileIcon.d.ts +5 -0
- package/dist/module-types/dashboard/components/Markdown.d.ts +5 -0
- package/dist/module-types/dashboard/components/PaneHeader.d.ts +14 -0
- package/dist/module-types/dashboard/components/SettingsRows.d.ts +3 -2
- package/dist/module-types/dashboard/components/ui/context-menu.d.ts +3 -0
- package/dist/module-types/dashboard/components/ui/copy-button.d.ts +5 -0
- package/dist/module-types/dashboard/components/ui/dialog.d.ts +7 -0
- package/dist/module-types/dashboard/components/ui/scroll-area.d.ts +1 -4
- package/dist/module-types/dashboard/lib/machines.d.ts +15 -0
- package/dist/module-types/dashboard/lib/models.d.ts +12 -0
- package/dist/module-types/dashboard/lib/remote-target.d.ts +6 -0
- package/dist/module-types/dashboard/lib/use-modules.d.ts +3 -3
- package/dist/module-types/dashboard/module/index.d.ts +41 -20
- package/dist/module-types/dashboard/rpc/machines.d.ts +9 -0
- package/dist/module-types/src/dashboard/agent-handoff.d.ts +48 -1
- package/dist/module-types/src/dashboard/cache.d.ts +5 -0
- package/dist/module-types/src/dashboard/machine-call.d.ts +13 -1
- package/dist/module-types/src/dashboard/remote-run.d.ts +6 -0
- package/dist/module-types/src/dashboard/types.d.ts +2 -0
- package/dist/module-types/src/dashboard-rpc/machines.d.ts +4 -1
- package/dist/module-types/src/dashboard-rpc/reads.d.ts +1 -1
- package/dist/module-types/src/events.d.ts +15 -15
- package/dist/module-types/src/package-services.d.ts +29 -0
- package/dist/module-types/src/project-hooks.d.ts +9 -1
- package/dist/module-types/src/project-modules.d.ts +3 -1
- package/dist/module-types/src/publish-levels.d.ts +4 -3
- package/dist/module-types/src/registry.d.ts +31 -0
- package/dist/module-types/src/screens.d.ts +7 -5
- package/dist/module-types/src/store/agent-store.d.ts +6 -0
- package/dist/module-types/src/store/runs.d.ts +6 -0
- package/dist/package-services.d.ts +4 -1
- package/dist/package-services.d.ts.map +1 -1
- package/dist/package-services.js +10 -0
- package/dist/package-services.js.map +1 -1
- package/dist/project-hooks.d.ts +9 -1
- package/dist/project-hooks.d.ts.map +1 -1
- package/dist/project-hooks.js +6 -1
- package/dist/project-hooks.js.map +1 -1
- package/dist/project-modules.d.ts +3 -1
- package/dist/project-modules.d.ts.map +1 -1
- package/dist/project-modules.js +4 -2
- package/dist/project-modules.js.map +1 -1
- package/dist/publish-levels.d.ts +4 -3
- package/dist/publish-levels.d.ts.map +1 -1
- package/dist/publish-levels.js +5 -4
- package/dist/publish-levels.js.map +1 -1
- package/dist/registry.d.ts +31 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +26 -1
- package/dist/registry.js.map +1 -1
- package/dist/screens.d.ts +7 -5
- package/dist/screens.d.ts.map +1 -1
- package/dist/screens.js +19 -8
- package/dist/screens.js.map +1 -1
- package/dist/store/agent-store.d.ts +6 -0
- package/dist/store/agent-store.d.ts.map +1 -1
- package/dist/store/agent-store.js.map +1 -1
- package/dist/store/run-record.js +1 -1
- package/dist/store/run-record.js.map +1 -1
- package/dist/store/runs.d.ts +6 -0
- package/dist/store/runs.d.ts.map +1 -1
- package/dist/store/runs.js +3 -1
- package/dist/store/runs.js.map +1 -1
- package/dist/terminal.js +4 -2
- package/dist/terminal.js.map +1 -1
- package/package.json +17 -15
- package/dist/dashboard-bundle/assets/main-DHxsfluB.js +0 -140
- package/dist/dashboard-bundle/assets/main-DbqABoVD.css +0 -2
- package/dist/dashboard-bundle/assets/module-CFB4pxwP.js +0 -24
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t,t as n}from"./rolldown-runtime-QTnfLwEv.js";import{t as r}from"./client-CbBRB9m4.js";import{t as i}from"./react-CZI7_Jkm.js";import{t as a}from"./react-dom-cJyBB_A4.js";import{$ as o,$t as s,At as c,B as l,Bt as u,Ct as d,Dt as f,Et as p,Ft as m,G as h,Gt as g,Ht as _,It as v,J as y,Jt as b,K as x,Kt as S,L as C,Lt as w,Mt as T,Nt as E,Ot as D,Pt as O,Q as k,Qt as A,R as j,Rt as M,St as N,Tt as P,U as F,Ut as ee,V as te,Vt as ne,W as re,Wt as ie,X as ae,Xt as oe,Yt as se,Z as ce,Zt as I,_ as le,_n as ue,_t as L,an as de,at as fe,bt as R,cn as pe,ct as me,d as he,dt as ge,en as z,et as _e,fn as ve,ft as ye,g as be,gn as xe,h as Se,hn as Ce,i as we,in as Te,it as Ee,jt as De,kt as Oe,l as ke,ln as Ae,lt as je,m as Me,mn as Ne,mt as Pe,nn as Fe,nt as Ie,on as Le,ot as Re,p as ze,pn as Be,pt as Ve,q as He,qt as Ue,rn as B,rt as We,st as Ge,t as Ke,tn as V,tt as qe,u as Je,un as H,ut as Ye,v as Xe,vn as Ze,vt as U,wt as Qe,xt as $e,y as et,yn as tt,yt as nt,z as rt,zt as it}from"./module-CFB4pxwP.js";import{t as at}from"./jsx-runtime-By8HlURe.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var ot=t(r(),1);function st(e){return Array.isArray(e)?[...e]:e?[e]:[]}function ct(e){switch(e.kind){case`session`:return`◆ ${e.fake?`fake`:e.driver}${e.model?` (${e.model})`:``} in ${e.workspace}${e.sessionLink?` — ${e.sessionLink}`:``}`;case`session-update`:return` session ${e.sessionId}${e.sessionLink?` — ${e.sessionLink}`:``}`;case`screen`:return`◆ ${e.label}`;case`log`:return` ${e.message}`;case`error`:return`✗ ${e.headline}${e.detail?`\n ${e.detail.replace(/\n/g,`
|
|
2
|
-
`)}`:``}`;case`view`:return`▶ view: ${e.title}`;case`settled`:return`◆ done for now — waiting for your next message`;case`branch`:return` branch: ${e.branch}`;case`cloud-anchor`:return` hand-off anchor: ${e.sha.slice(0,7)}`;case`pull-request`:return` pull request: #${e.number}`;case`usage`:return` spend: $${e.costUsd.toFixed(4)}`;case`choice`:{let t=t=>e.multi?t.default?`[x]`:`[ ]`:t.id===e.recommended?`●`:`○`,n=e.options.map(e=>` ${t(e)} ${e.label}`).join(`
|
|
3
|
-
`);return`? ${e.title}\n${n}`}case`choice-resolved`:return` ✓ chose ${st(e.picked).join(`, `)||`(none)`} (${e.by})`;case`driver`:return lt(e.event);case`intent`:return`▶ "${dt(e.text)}"`;case`end`:return e.ok?`✓ finished`:e.stopped?`■ stopped`:e.waiting?`? waiting for an answer`:`✗ failed: ${e.detail??`unknown error`}`}}function lt(e){switch(e.type){case`start`:return` › prompt: ${dt(e.prompt,140)}`;case`session`:return` session ${e.sessionId}`;case`model`:return` model ${e.model}`;case`partial`:case`text`:return` ${dt(e.text)}`;case`action`:return e.detail===void 0?` · ${e.label}`:` · ${e.label} ${dt(e.detail,140)}`;case`output`:return` ${e.failed?`✗`:`→`} ${dt(e.text,140)}`;case`thought`:return` 💭 ${dt(e.text,140)}`;case`result`:return` ‹ turn complete`;case`rate-limit`:return` ${ut(e.limit)}`;case`error`:return` ! agent error: ${e.message}`;case`notice`:return` ~ ${e.message}`;case`question`:return` ? ${dt(e.question.title,140)}`}}function ut(e){let t=new Date(e.resetsAt).toISOString();return e.status===`rejected`?`✗ quota exhausted (${e.window}), resets ${t}`:e.status===`allowed_warning`?`! quota running low (${e.window}), resets ${t}`:`· quota ${e.status} (${e.window}), resets ${t}`}function dt(e,t=100){let n=e.replace(/\s+/g,` `).trim();return n.length>t?n.slice(0,t-1)+`…`:n}function ft(e){let t=new Set,n=new Map,r=-1;e.forEach((e,i)=>{e.kind===`end`&&!e.waiting&&(r=i),e.kind===`screen`&&(e.ended?(t.add(e),n.delete(e.url)):n.set(e.url,i))});let i=new Set;for(let t of n.values())t>r&&i.add(e[t]);return{live:i,hidden:t}}var pt=[`B`,`KB`,`MB`,`GB`,`TB`];function mt(e,t=`–`){if(typeof e!=`number`||!Number.isFinite(e)||e<0)return t;let n=e,r=0;for(;n>=1024&&r<pt.length-1;)n/=1024,r++;return`${n<10&&r>0?Math.round(n*10)/10:Math.round(n)} ${pt[r]}`}function ht(e){let t=[];for(let n of e)if(n.kind===`error`)t.push({headline:n.headline,...n.detail?{detail:n.detail}:{}});else if(n.kind===`driver`&&n.event.type===`error`&&typeof n.event.message==`string`){let[e=``,...r]=n.event.message.trim().split(`
|
|
4
|
-
`),i=r.join(`
|
|
5
|
-
`).trim();t.push({headline:e||`error`,...i?{detail:i}:{}})}return t}function gt(e){let t=null;for(let n of e)n.kind===`session`?t={workspace:n.workspace,...n.sessionLink?{sessionLink:n.sessionLink}:{}}:n.kind===`session-update`&&(t={...t??{},sessionId:n.sessionId,...n.sessionLink?{sessionLink:n.sessionLink}:{}});return t}function _t(e){let t=new Map;for(let n of e)if(n.kind===`choice-resolved`)t.delete(n.id);else if(n.kind===`driver`)t.clear();else if(n.kind===`end`)n.waiting!==!0&&t.clear();else if(n.kind===`choice`){let{kind:e,...r}=n;t.set(n.id,r)}return[...t.values()]}function vt(e){return e.kind===`awaiting`?`awaiting:${e.projectId}:${e.agentId??``}:${e.awaitId??``}`:e.kind===`unpushed`?`unpushed:${e.projectId}:${e.agentId??``}`:e.url??``}function yt(e){return`${e.kind}:${e.projectId}:${e.agentId}`}var bt=class{keyOf;scopeOf;seen=new Set;warmedUp=new Set;constructor(e,t){this.keyOf=e,this.scopeOf=t}observe(e,t){let n=e.filter(e=>this.warmedUp.has(this.scopeOf(e))&&!this.seen.has(this.keyOf(e)));for(let t of e)this.seen.add(this.keyOf(t));for(let e of t)this.warmedUp.add(e);return n}};function xt(e){try{let t=new URL(e.trim());if(t.protocol!==`http:`&&t.protocol!==`https:`)return null;let[n,r]=t.hash.slice(1).split(`.`);return!n||r&&t.protocol!==`https:`?null:{url:t.origin,door:t.origin+t.pathname,code:n,...r?{pin:r}:{}}}catch{return null}}var St=/^127(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}$/;function Ct(e){return e===`localhost`||e===`::1`||e===`[::1]`||St.test(e)}function wt(e){try{let t=new URL(e);return t.protocol===`http:`&&Ct(t.hostname)}catch{return!1}}function Tt(e){return{id:`bridge:${e.sessionId}`,title:e.title,options:e.options.map(e=>({id:e.label,label:e.label,...e.detail?{detail:e.detail}:{},...e.default?{default:!0}:{}})),...e.recommended?{recommended:e.recommended}:{},...e.multi?{multi:!0}:{}}}function Et(e,t){if(e.target!==`web`||e.status!==`done`)return;if(e.cloudWaiting)return`waiting`;if(e.mergeOutcome===`merged`)return`merged`;if(e.pr)return`done`;let n=Date.parse(e.startedAt);return Number.isFinite(n)&&t-n<=432e5?`in-cloud`:`done`}var W=t(i(),1),Dt=H(`onPreferences`);H(`savePreferences`);var Ot=H(`patchPreferences`),kt=H(`onProjectPresets`),At=H(`saveProjectPresets`),jt=H(`onEditors`),Mt={},Nt=null,Pt=null,Ft=new Map,It=new Set,Lt=[],Rt=0,zt=0,Bt=new Set;function Vt(){for(let e of Bt)e()}function Ht(e){return Bt.add(e),()=>Bt.delete(e)}function Ut(e){!Nt&&!Pt&&(Pt=Dt().then(e=>{Nt??=e}).catch(()=>{Nt??={}}).finally(()=>{Pt=null,Vt()})),Wt(e)}typeof window<`u`&&(window.addEventListener(`focus`,Yt),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&Yt()}));function Wt(e){!e||Ft.has(e)||It.has(e)||(It.add(e),kt(e).then(t=>{Ft.has(e)||Ft.set(e,t)}).catch(()=>{Ft.has(e)||Ft.set(e,[])}).finally(()=>{It.delete(e),Vt()}))}function Gt(){let e=typeof window>`u`?null:pe(window.location.pathname).projectId,t=(0,W.useSyncExternalStore)(Ht,()=>e?Ft.get(e)??Lt:Lt,()=>Lt);return(0,W.useEffect)(()=>Wt(e),[e]),t}function Kt(e){let t=qt();t&&(Ft.set(t,e),At(t,e).catch(()=>{}),Vt())}function qt(){return typeof window>`u`?null:pe(window.location.pathname).projectId}function Jt(e){Nt={...Nt??{},...e};let t=++Rt;zt++,Ot(e).then(e=>{e.ok&&t===Rt&&(Nt=e.preferences,Vt())}).catch(()=>{}).finally(()=>zt--),Vt()}function Yt(){let e=Rt;Dt().then(t=>{e!==Rt||zt>0||(Nt=t,Vt())}).catch(()=>{})}function Xt(){return typeof window>`u`?null:pe(window.location.pathname).projectId}function Zt(){let e=typeof window>`u`?null:pe(window.location.pathname).projectId,t=(0,W.useSyncExternalStore)(Ht,()=>Nt??Mt,()=>Mt);return(0,W.useEffect)(()=>Ut(e),[e]),t}function Qt(){return(0,W.useSyncExternalStore)(Ht,()=>Nt!==null,()=>!1)}function $t(e){return e.theme??`system`}function en(e,t){return e===`dark`||e===`system`&&t}function tn(e){return ve(e)}function nn(e){return Be(e,`newActivity`)}function rn(e){return Be(e,`humanIntervention`)}var G=t(at(),1),an=class extends W.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`Dashboard render error:`,e,t.componentStack)}reset=()=>this.setState({error:null});render(){let{error:e}=this.state;return e?(0,G.jsxs)(`div`,{role:`alert`,className:`flex min-h-screen flex-col items-center justify-center gap-3 bg-background p-8 text-center text-foreground`,children:[(0,G.jsx)(`p`,{className:`text-base font-medium`,children:`Something went wrong`}),(0,G.jsx)(`p`,{className:`max-w-md text-sm text-muted-foreground`,children:`The dashboard hit an error and could not finish drawing this view. Your session is safe — the daemon keeps running. Try again, or reload the page.`}),e.message&&(0,G.jsx)(`pre`,{className:`max-w-md overflow-x-auto rounded-md bg-muted px-3 py-2 text-left text-xs text-muted-foreground`,children:e.message}),(0,G.jsxs)(`div`,{className:`flex gap-2`,children:[(0,G.jsx)(V,{variant:`outline`,onClick:this.reset,children:`Try again`}),(0,G.jsx)(V,{onClick:()=>window.location.reload(),children:`Reload`})]})]}):this.props.children}};function on({children:e}){let t=$t(Zt());return(0,W.useEffect)(()=>{let e=document.documentElement,n=window.matchMedia(`(prefers-color-scheme: dark)`),r=()=>e.classList.toggle(`dark`,en(t,n.matches));if(r(),t===`system`)return n.addEventListener(`change`,r),()=>n.removeEventListener(`change`,r)},[t]),(0,G.jsx)(`div`,{className:`min-h-screen bg-background text-foreground`,children:(0,G.jsx)(an,{children:e})})}var sn=H(`onAgents`),cn=H(`onRetainedWorktrees`),ln=H(`onAgentWorktree`),un=H(`onAgent`),dn=H(`onAgentsDoing`),fn=H(`onDocs`);H(`onQueue`);var pn=H(`onOverview`),mn=H(`onRecentAgents`),hn=H(`onInterventions`),gn=H(`onOpenQuestions`),_n=H(`onActivity`),vn=H(`onDashboard`),yn=H(`onProjectFiles`),bn=H(`onGitHostHome`),xn=H(`onRepositoryOffer`),Sn=H(`onAgentHandoff`),Cn=H(`onBridgeQuestion`),wn=H(`onBridgeStatus`),Tn=H(`onBridgeToken`),En=H(`onBridgeAnswer`),Dn=H(`onBridgeEvents`),On=H(`onBridgeBrowser`),kn=H(`sendStop`),An=H(`sendChoice`),jn=H(`sendBridgeAnswer`),Mn=H(`sendBridgeAnswerCancel`),Nn=H(`sendBridgeBrowser`),Pn=H(`sendMessage`),Fn=H(`sendRemoveWorktree`),In=H(`sendDeleteAgent`),Ln=H(`sendStart`),Rn=H(`sendOpenInApp`),zn=H(`sendOpenPullRequest`),Bn=H(`sendMerge`),Vn=H(`sendPush`),Hn=H(`sendMergeBranch`),Un=H(`sendCreateRepository`),Wn=H(`onProjects`),Gn=H(`sendAddProject`),Kn=H(`onCloneTarget`),qn=H(`sendAddProjectFromAddress`),Jn=H(`sendRemoveProject`),Yn=H(`onRecordsReach`),Xn=H(`sendShareRecords`),Zn=H(`sendPickProjectDirectory`),Qn=H(`onOnboarding`),$n=H(`onCommands`),er=H(`onStartCheck`),tr=H(`onMachines`),nr=H(`sendAddMachine`),rr=H(`sendRemoveMachine`),ir=H(`onMachinesReachable`),ar=H(`onMachineVersions`),or=H(`sendProjectToMachine`),sr=H(`onProjectOnMachine`),cr=[],lr=null,ur=0,dr=0,fr=!1,pr=new Set;function mr(e){return pr.add(e),()=>pr.delete(e)}function hr(){let e=++ur;return dr++,tr().then(t=>{if(e===ur){lr=t;for(let e of pr)e()}},()=>{}).finally(()=>dr--)}function gr(){lr===null&&dr===0&&hr(),!(fr||typeof window>`u`)&&(fr=!0,window.addEventListener(`focus`,()=>void hr()))}async function _r(e,t){let n=await nr(e,t);return n.ok&&await hr(),n}async function vr(e){let t=await rr(e).catch(()=>({ok:!1,error:`The machine could not be removed.`}));return await hr(),t}function yr(){let e=(0,W.useSyncExternalStore)(mr,()=>lr??cr,()=>cr);return(0,W.useEffect)(gr,[]),e}function br(){return(0,W.useSyncExternalStore)(mr,()=>lr!==null,()=>!1)}var xr=z(`ArrowDown`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),Sr=z(`ArrowUp`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Cr=z(`BellOff`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742`,key:`178tsu`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05`,key:`1hqiys`}]]),wr=z(`Bell`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]),Tr=z(`Blocks`,[[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`path`,{d:`M10 21V8a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1H3`,key:`1fpvtg`}]]),Er=z(`Bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),Dr=z(`ChevronsUpDown`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),Or=z(`CircleAlert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),kr=z(`CircleCheck`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Ar=z(`CircleHelp`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),jr=z(`CloudOff`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193`,key:`yfwify`}],[`path`,{d:`M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07`,key:`jlfiyv`}]]),Mr=z(`CloudUpload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),Nr=z(`Cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]),Pr=z(`Code`,[[`polyline`,{points:`16 18 22 12 16 6`,key:`z7tu5w`}],[`polyline`,{points:`8 6 2 12 8 18`,key:`1eg1df`}]]),Fr=z(`Copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Ir=z(`EllipsisVertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),Lr=z(`ExternalLink`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Rr=z(`FileText`,[[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z`,key:`1rqfz7`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),zr=z(`FolderOpen`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),Br=z(`FolderX`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`m9.5 10.5 5 5`,key:`ra9qjz`}],[`path`,{d:`m14.5 10.5-5 5`,key:`l2rkpq`}]]),Vr=z(`Folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Hr=z(`GitBranch`,[[`line`,{x1:`6`,x2:`6`,y1:`3`,y2:`15`,key:`17qcm7`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M18 9a9 9 0 0 1-9 9`,key:`n2h4wq`}]]),Ur=z(`GitCommitHorizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),Wr=z(`GitMerge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),Gr=z(`GitPullRequestDraft`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M18 6V5`,key:`1oao2s`}],[`path`,{d:`M18 11v-1`,key:`11c8tz`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),Kr=z(`GitPullRequest`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),qr=z(`Github`,[[`path`,{d:`M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4`,key:`tonef`}],[`path`,{d:`M9 18c-4.51 2-5-2-7-2`,key:`9comsn`}]]),Jr=z(`Inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),Yr=z(`Info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),Xr=z(`Laptop`,[[`path`,{d:`M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16`,key:`tarvll`}]]),Zr=z(`Layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),Qr=z(`LayoutDashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),$r=z(`Menu`,[[`line`,{x1:`4`,x2:`20`,y1:`12`,y2:`12`,key:`1e0a9i`}],[`line`,{x1:`4`,x2:`20`,y1:`6`,y2:`6`,key:`1owob3`}],[`line`,{x1:`4`,x2:`20`,y1:`18`,y2:`18`,key:`yk5zj1`}]]),ei=z(`MessageCircleQuestion`,[[`path`,{d:`M7.9 20A9 9 0 1 0 4 16.1L2 22Z`,key:`vv11sd`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),ti=z(`Monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),ni=z(`Moon`,[[`path`,{d:`M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z`,key:`a7tn18`}]]),ri=z(`PanelRightClose`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m8 9 3 3-3 3`,key:`12hl5m`}]]),ii=z(`PanelRightOpen`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m10 15-3-3 3-3`,key:`1pgupc`}]]),ai=z(`Play`,[[`polygon`,{points:`6 3 20 12 6 21 6 3`,key:`1oa8hb`}]]),oi=z(`Plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),si=z(`Puzzle`,[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]),ci=z(`RefreshCw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),li=z(`Server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),ui=z(`Settings`,[[`path`,{d:`M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z`,key:`1qme2f`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),di=z(`SquareCheckBig`,[[`path`,{d:`M21 10.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.5`,key:`1uzm8b`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),fi=z(`Square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),pi=z(`Sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),mi=z(`Trash2`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`,key:`4alrt4`}],[`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`,key:`v07s0e`}],[`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`,key:`1uufr5`}],[`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`,key:`xtxkd`}]]),hi=z(`TriangleAlert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),gi=z(`Upload`,[[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`polyline`,{points:`17 8 12 3 7 8`,key:`t8dd8p`}],[`line`,{x1:`12`,x2:`12`,y1:`3`,y2:`15`,key:`widbto`}]]),_i=z(`X`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),vi={running:`text-primary`,done:`text-success`,stopped:`text-warning`,failed:`text-danger`};function yi(e){return e.intent?.trim()||e.branch?.trim()||_(e.startedAt)}function bi(e){let t=/^(\d{4}-\d{2}-\d{2}T\d{2})-(\d{2})-(\d{2})-(\d{3})Z$/.exec(e);return t?`${t[1]}:${t[2]}:${t[3]}.${t[4]}Z`:void 0}function xi(e,t){return e.filter(e=>e.parent===t).sort((e,t)=>e.id<t.id?-1:+(e.id>t.id))}function Si(e){return yi(e).split(`
|
|
6
|
-
`)[0].trim()}function Ci(e){return e.status===`running`||e.status===`waiting`}var wi=1e4;function Ti(e,t){return e.status===`running`||e.saving===!0||e.endedAt!==void 0&&t-Date.parse(e.endedAt)<wi}function Ei(e){let t=new Map(e.map(e=>[e.key,e])),n=e=>e.agent.parent===void 0?void 0:t.get(e.key.slice(0,e.key.length-e.agent.id.length)+e.agent.parent),r=e=>{let t=n(e);return t&&!n(t)?t:void 0};return e.filter(e=>!r(e)).map(t=>({row:t,subagents:e.filter(e=>r(e)===t).sort((e,t)=>e.agent.id<t.agent.id?-1:+(e.agent.id>t.agent.id))}))}var Di=/^The run (\S+), started for this run, ended (\w+)(?:: (.*?))?\.?$/;function Oi(e,t){let[n=``,...r]=e.split(`
|
|
7
|
-
`),i=Di.exec(n.trim()),a=i&&t.find(e=>e.id===i[1]);if(!(!i||!a))return{agent:a,status:i[2],...i[3]?{detail:i[3]}:{},rest:r.join(`
|
|
8
|
-
`).trim()}}function ki(e){return bi(e.id)??e.startedAt}function Ai(e,t){let n=new Map;for(let r of t){let t=Date.parse(ki(r)),i=e.findIndex(e=>e.at!==void 0&&Date.parse(e.at)>t),a=i===-1?e.length:i;n.set(a,[...n.get(a)??[],r])}return n}function ji({className:e,title:t}){return(0,G.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,className:e,...Ni(t),children:[t&&(0,G.jsx)(`title`,{children:t}),(0,G.jsx)(`path`,{d:`m4.714 15.956l4.718-2.648l.079-.23l-.08-.128h-.23l-.79-.048l-2.695-.073l-2.337-.097l-2.265-.122l-.57-.121l-.535-.704l.055-.353l.48-.321l.685.06l1.518.104l2.277.157l1.651.098l2.447.255h.389l.054-.158l-.133-.097l-.103-.098l-2.356-1.596l-2.55-1.688l-1.336-.972l-.722-.491L2 6.223l-.158-1.008l.656-.722l.88.06l.224.061l.893.686l1.906 1.476l2.49 1.833l.364.304l.146-.104l.018-.072l-.164-.274l-1.354-2.446l-1.445-2.49l-.644-1.032l-.17-.619a3 3 0 0 1-.103-.729L6.287.133L6.7 0l.995.134l.42.364l.619 1.415L9.735 4.14l1.555 3.03l.455.898l.243.832l.09.255h.159V9.01l.127-1.706l.237-2.095l.23-2.695l.08-.76l.376-.91l.747-.492l.583.28l.48.685l-.067.444l-.286 1.851l-.558 2.903l-.365 1.942h.213l.243-.242l.983-1.306l1.652-2.064l.728-.82l.85-.904l.547-.431h1.032l.759 1.129l-.34 1.166l-1.063 1.347l-.88 1.142l-1.263 1.7l-.79 1.36l.074.11l.188-.02l2.853-.606l1.542-.28l1.84-.315l.832.388l.09.395l-.327.807l-1.967.486l-2.307.462l-3.436.813l-.043.03l.049.061l1.548.146l.662.036h1.62l3.018.225l.79.522l.473.638l-.08.485l-1.213.62l-1.64-.389l-3.825-.91l-1.31-.329h-.183v.11l1.093 1.068l2.003 1.81l2.508 2.33l.127.578l-.321.455l-.34-.049l-2.204-1.657l-.85-.747l-1.925-1.62h-.127v.17l.443.649l2.343 3.521l.122 1.08l-.17.353l-.607.213l-.668-.122l-1.372-1.924l-1.415-2.168l-1.141-1.943l-.14.08l-.674 7.254l-.316.37l-.728.28l-.607-.461l-.322-.747l.322-1.476l.388-1.924l.316-1.53l.285-1.9l.17-.632l-.012-.042l-.14.018l-1.432 1.967l-2.18 2.945l-1.724 1.845l-.413.164l-.716-.37l.066-.662l.401-.589l2.386-3.036l1.439-1.882l.929-1.086l-.006-.158h-.055L4.138 18.56l-1.13.146l-.485-.456l.06-.746l.231-.243l1.907-1.312Z`})]})}function Mi({className:e,title:t}){return(0,G.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`currentColor`,className:e,...Ni(t),children:[t&&(0,G.jsx)(`title`,{children:t}),(0,G.jsx)(`path`,{d:`M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.0201 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z`})]})}function Ni(e){return e?{role:`img`}:{"aria-hidden":`true`}}function Pi({driver:e,className:t,title:n}){return(0,G.jsx)(e===`codex`?Mi:ji,{className:t,...n?{title:n}:{}})}function Fi(){let e=`rounded bg-muted px-1`;return(0,G.jsxs)(`div`,{className:`space-y-1 text-xs text-muted-foreground`,children:[(0,G.jsx)(`p`,{children:`Adding a project lets agents work in its folder. Adding it:`}),(0,G.jsxs)(`ul`,{className:`list-disc space-y-0.5 pl-4`,children:[(0,G.jsx)(`li`,{children:`makes no commit on your branch and pushes nothing`}),(0,G.jsxs)(`li`,{children:[`lets OpenAgent keep its own files there, in hidden folders (`,(0,G.jsx)(`code`,{className:e,children:`.openagent`}),`,`,` `,(0,G.jsx)(`code`,{className:e,children:`.branches`}),`, `,(0,G.jsx)(`code`,{className:e,children:`.agent-runner`}),`), and the agents’ records on a local branch `,(0,G.jsx)(`code`,{className:e,children:`agent-data`})]}),(0,G.jsx)(`li`,{children:`keeps the records on this machine, unless you choose to share them`}),(0,G.jsxs)(`li`,{children:[`gives each agent four basic skills in its own copy, hidden from git: `,(0,G.jsx)(`code`,{className:e,children:`branches`}),`,`,` `,(0,G.jsx)(`code`,{className:e,children:`logs`}),`, `,(0,G.jsx)(`code`,{className:e,children:`question`}),`, and `,(0,G.jsx)(`code`,{className:e,children:`github`}),` when the project is on GitHub`]})]}),(0,G.jsx)(`p`,{children:`Agents work in their own copies, on their own branches. Your files and your branch stay as they are.`}),(0,G.jsx)(`p`,{className:`italic`,children:`A folder with no git, or a repository with no commit yet, gets one empty first commit.`})]})}function Ii({folder:e,fromAddress:t=!1,onAdded:n,onClose:r}){let[i,a]=(0,W.useState)(e??null),[o,s]=(0,W.useState)(t),[c,l]=(0,W.useState)(``),[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)(!1),h=(0,W.useId)(),[g,_]=(0,W.useState)(null),[v,y]=(0,W.useState)(null),{busy:b,error:x,reset:S,run:C}=it(),w=(0,W.useRef)(null);(0,W.useEffect)(()=>{let e=document.activeElement instanceof HTMLElement?document.activeElement:null;return()=>e?.focus()},[]);let T=async()=>{y(null);let e=await Zn().catch(()=>({ok:!1,error:`Could not reach the daemon.`}));if(!e.ok){y(e.error);return}if(!e.path){r();return}S(),a(e.path)};(0,W.useEffect)(()=>{!e&&!t&&T()},[]),(0,W.useEffect)(()=>{if(!g)return;let e=setTimeout(r,g.noRemote||g.path?6e3:2500);return()=>clearTimeout(e)},[g]);let D=async e=>{e.preventDefault();let t=c.trim();if(b||!t)return;let n=await C(()=>Kn(t),`Could not reach the daemon.`);n.ok&&d({typed:t,address:n.value.address,path:n.value.path})},O=async()=>{if(b||!i&&!u)return;let e=await C(()=>u?qn(u.typed,f):Gn(i,f),`Failed to add the project.`);e.ok&&(_({alreadyActivated:e.value.alreadyActivated,noRemote:e.value.noRemote===!0,...e.value.path?{path:e.value.path}:{}}),n())};return(0,G.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-start justify-center bg-black/40 pt-24`,onKeyDown:e=>{if(e.key===`Escape`){e.preventDefault(),r();return}if(e.key!==`Tab`||!w.current)return;let t=[...w.current.querySelectorAll(`button, input, [tabindex]:not([tabindex="-1"])`)].filter(e=>!e.hasAttribute(`disabled`)),n=t[0],i=t[t.length-1];!n||!i||(e.shiftKey&&document.activeElement===n?(e.preventDefault(),i.focus()):!e.shiftKey&&document.activeElement===i&&(e.preventDefault(),n.focus()))},children:[(0,G.jsx)(`div`,{className:`absolute inset-0`,onClick:r}),(0,G.jsx)(`div`,{ref:w,role:`dialog`,"aria-modal":`true`,"aria-label":`Add project`,className:`relative w-96 max-w-[90vw] rounded-lg border border-border bg-background p-4 shadow-lg`,children:g?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`p`,{role:`status`,className:`mb-3 text-sm font-medium`,children:g.alreadyActivated?`Already added`:`Project added`}),g.noRemote&&(0,G.jsx)(`p`,{className:`mb-3 text-xs text-muted-foreground`,children:`This repository has no remote, so the agents’ records stay on this machine.`}),g.path&&(0,G.jsxs)(`p`,{className:`mb-3 break-all text-xs text-muted-foreground`,children:[`It is in `,(0,G.jsx)(`code`,{className:`rounded bg-muted px-1`,children:g.path}),`.`]}),(0,G.jsx)(`div`,{className:`flex justify-end`,children:(0,G.jsx)(V,{type:`button`,size:`sm`,autoFocus:!0,onClick:r,children:`Done`})})]}):o&&!u?(0,G.jsxs)(`form`,{onSubmit:e=>void D(e),children:[(0,G.jsx)(`p`,{className:`mb-2 text-sm font-medium`,children:`Add project from a GitHub address`}),v&&(0,G.jsx)(`p`,{className:`mb-2 text-xs text-muted-foreground`,children:v}),(0,G.jsx)(`label`,{className:`mb-1 block text-xs text-muted-foreground`,htmlFor:`add-project-address`,children:`The repository’s address. Any git host works.`}),(0,G.jsx)(M,{id:`add-project-address`,autoFocus:!0,value:c,disabled:b,onChange:e=>l(e.target.value),placeholder:`github.com/you/project`,spellCheck:!1,autoCapitalize:`none`,autoCorrect:`off`,className:`mb-2 h-8 bg-background px-2 font-mono text-xs`}),(0,G.jsx)(`p`,{className:`mb-3 text-xs text-muted-foreground`,children:`It is cloned into the projects folder of this computer, with the logins this computer has.`}),x&&(0,G.jsx)(`p`,{className:`mb-2 text-xs text-danger`,children:x}),(0,G.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,G.jsx)(V,{type:`button`,variant:`ghost`,size:`sm`,onClick:r,children:`Cancel`}),(0,G.jsx)(V,{type:`submit`,size:`sm`,disabled:b||!c.trim(),children:`Next`})]})]}):v?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`p`,{className:`mb-2 text-sm font-medium`,children:`Add project`}),(0,G.jsx)(`p`,{className:`mb-3 text-xs text-danger`,children:v}),(0,G.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[(0,G.jsx)(V,{type:`button`,variant:`ghost`,size:`sm`,onClick:r,children:`Cancel`}),(0,G.jsx)(V,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>s(!0),children:`Add from a GitHub address`}),(0,G.jsx)(V,{type:`button`,size:`sm`,onClick:()=>void T(),children:`Try again`})]})]}):i||u?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`p`,{className:`mb-2 text-sm font-medium`,children:`Do you trust this repository?`}),(0,G.jsx)(`p`,{className:`mb-2 break-all text-xs text-muted-foreground`,children:(0,G.jsx)(`code`,{className:`rounded bg-muted px-1`,children:u?u.address:i})}),u&&(0,G.jsxs)(`p`,{className:`mb-2 break-all text-xs text-muted-foreground`,children:[`It will be cloned to `,(0,G.jsx)(`code`,{className:`rounded bg-muted px-1`,children:u.path}),`.`]}),(0,G.jsx)(`p`,{className:`mb-3 text-xs text-muted-foreground`,children:`Adding it lets the agent read its files. Hidden instructions in an untrusted repo can hijack the agent (prompt injection), so only add repos you trust.`}),(0,G.jsx)(`div`,{className:`mb-3`,children:(0,G.jsx)(Fi,{})}),(0,G.jsxs)(`div`,{className:`mb-3 text-xs`,children:[(0,G.jsx)(`p`,{id:h,className:`mb-1 font-medium text-foreground`,children:`The agents’ records (what you ask, what each agent answers)`}),(0,G.jsxs)(E,{"aria-labelledby":h,value:f?`share`:`keep`,disabled:b,onValueChange:e=>p(e===`share`),className:`gap-1.5`,children:[(0,G.jsx)(m,{value:`keep`,className:`flex-nowrap items-start text-xs [&>[data-slot=radio-group-item]]:mt-0.5`,children:(0,G.jsxs)(`span`,{children:[`Keep them on this machine`,(0,G.jsx)(`span`,{className:`block text-muted-foreground`,children:`Nothing is pushed.`})]})}),(0,G.jsx)(m,{value:`share`,className:`flex-nowrap items-start text-xs [&>[data-slot=radio-group-item]]:mt-0.5`,children:(0,G.jsxs)(`span`,{children:[`Share them to the repository’s remote`,(0,G.jsxs)(`span`,{className:`block text-muted-foreground`,children:[`Pushes a branch `,(0,G.jsx)(`code`,{className:`rounded bg-muted px-1`,children:`agent-data`}),` to origin, and keeps pushing as agents work.`]})]})})]}),(0,G.jsx)(`p`,{className:`mt-1 text-muted-foreground`,children:`You can change this later in the project’s menu.`})]}),x&&(0,G.jsx)(`p`,{className:`mb-2 text-xs text-danger`,children:x}),(0,G.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,G.jsx)(V,{type:`button`,variant:`ghost`,size:`sm`,disabled:b,onClick:()=>{S(),u?d(null):e?r():T()},children:u?`Change the address`:e?`Cancel`:`Choose again`}),(0,G.jsx)(V,{type:`button`,size:`sm`,autoFocus:!0,disabled:b,onClick:()=>void O(),children:b?u?`Cloning…`:`Adding…`:u?`I trust it, clone and add it`:`I trust it, add it`})]})]}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`p`,{className:`mb-2 text-sm font-medium`,children:`Add project`}),(0,G.jsx)(`p`,{role:`status`,className:`mb-3 text-xs text-muted-foreground`,children:`Choose the repository's folder in the system dialog…`}),(0,G.jsx)(`div`,{className:`flex justify-end`,children:(0,G.jsx)(V,{type:`button`,variant:`ghost`,size:`sm`,onClick:r,children:`Cancel`})})]})})]})}function Li(e){switch(e){case`data-sync`:return`Not syncing with the remote`;case`provider`:return`Unsettled: which package provides the data`}}function Ri({errors:e}){return!e||e.length===0?null:(0,G.jsx)(`div`,{className:`flex flex-col gap-2 border-b border-danger/30 bg-danger/10 px-4 py-3`,children:e.map(e=>(0,G.jsxs)(`div`,{role:`alert`,className:`flex items-start gap-2 text-sm`,children:[(0,G.jsx)(hi,{className:`mt-0.5 h-4 w-4 shrink-0 text-danger`,"aria-hidden":!0}),(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`p`,{className:`font-medium text-danger`,children:[Li(e.code),(0,G.jsxs)(`span`,{className:`font-normal text-muted-foreground`,children:[` · since `,u(e.since)]})]}),(0,G.jsx)(`p`,{className:`break-words text-muted-foreground`,children:e.message})]})]},e.code))})}function zi({project:e}){return(0,G.jsx)(`span`,{"aria-hidden":!0,className:B(`h-2 w-2 shrink-0 rounded-full`,e.errors?.length?`bg-danger`:e.activated?`bg-primary`:`bg-muted-foreground`)})}function Bi({projects:e,scope:t,onScope:n,onProjectAdded:r}){let[i,a]=(0,W.useState)(null),o=t===null?void 0:e.find(e=>e.id===t);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)($e,{children:[(0,G.jsxs)(De,{"aria-label":`Project: ${o?o.name:`All projects`}`,className:`flex w-full items-center gap-2 rounded-md border border-sidebar-border bg-background px-2 py-1.5 text-sm font-medium transition-colors hover:bg-sidebar-accent/60`,children:[o?(0,G.jsx)(zi,{project:o}):(0,G.jsx)(Zr,{className:`h-4 w-4 shrink-0 text-muted-foreground`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`flex-1 truncate text-left`,children:o?o.name:`All projects`}),(0,G.jsx)(Dr,{className:`h-3.5 w-3.5 shrink-0 opacity-70`,"aria-hidden":!0})]}),(0,G.jsxs)(d,{align:`start`,className:`w-[var(--anchor-width)]`,children:[(0,G.jsxs)(P,{onClick:()=>n(null),children:[(0,G.jsx)(Zr,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`flex-1`,children:`All projects`}),t===null&&(0,G.jsx)(A,{className:`h-3.5 w-3.5 shrink-0`,"aria-label":`selected`})]}),e.length>0&&(0,G.jsx)(f,{}),e.map(e=>(0,G.jsxs)(P,{onClick:()=>n(e.id),children:[(0,G.jsx)(zi,{project:e}),(0,G.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`span`,{className:`block truncate`,children:e.name}),e.errors?.map(e=>(0,G.jsx)(`span`,{title:e.message,className:`block truncate text-xs text-danger`,children:Li(e.code)},e.code)),!e.errors?.length&&!e.activated&&(0,G.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:`Not activated`}),!e.errors?.length&&e.activated&&e.local&&(0,G.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.local===`no-remote`?`Local only, no remote`:`Records kept on this machine`})]}),e.id===t&&(0,G.jsx)(A,{className:`h-3.5 w-3.5 shrink-0`,"aria-label":`selected`})]},e.id)),(0,G.jsx)(f,{}),(0,G.jsxs)(P,{onClick:()=>a(`folder`),className:`text-muted-foreground`,children:[(0,G.jsx)(oi,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(`span`,{children:`Add project`})]}),(0,G.jsxs)(P,{onClick:()=>a(`address`),className:`text-muted-foreground`,children:[(0,G.jsx)(oi,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(`span`,{children:`Add from a GitHub address`})]})]})]}),i&&(0,G.jsx)(Ii,{fromAddress:i===`address`,onAdded:()=>r?.(),onClose:()=>a(null)})]})}function Vi(e){return v(e.defaultTagName??`div`,e,e)}function Hi(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,disablePointerDismissal:o=!1,modal:s=!0,actionsRef:c,handle:l,triggerId:u,defaultTriggerId:d=null}=e,f=Pe(!0),p=!!f,m=w(()=>l?.store??new Re({open:n??r,activeTriggerId:u===void 0?d:u,modal:s,disablePointerDismissal:o,nested:p})).current;m.useControlledProp(`open`,n,r),m.useControlledProp(`activeTriggerId`,u,d),m.useSyncedValues({disablePointerDismissal:o,nested:p,modal:s}),m.useContextCallback(`onOpenChange`,i),m.useContextCallback(`onOpenChangeComplete`,a);let h=m.useState(`payload`);Ge({store:m,actionsRef:c,parentContext:f?.store.context,onOpenChange:i,triggerIdProp:u});let g=W.useMemo(()=>({store:m}),[m]);return(0,G.jsx)(Ve.Provider,{value:g,children:typeof t==`function`?t({payload:h}):t})}function Ui(e){return(0,G.jsx)(Hi,{...e})}function Wi({className:e,children:t,side:n=`left`,...r}){return(0,G.jsxs)(me,{children:[(0,G.jsx)(ye,{className:`fixed inset-0 z-50 bg-black/40 backdrop-blur-[1px]`}),(0,G.jsx)(je,{className:B(`fixed inset-y-0 z-50 flex h-full w-3/4 max-w-sm flex-col bg-card text-card-foreground shadow-lg outline-none`,n===`left`?`left-0 border-r border-border`:`right-0 border-l border-border`,e),...r,children:t})]})}function Gi({className:e,...t}){return(0,G.jsx)(`div`,{"data-slot":`sheet-header`,className:B(`flex flex-col gap-1 p-4`,e),...t})}function Ki({className:e,...t}){return(0,G.jsx)(fe,{className:B(`text-sm font-semibold`,e),...t})}function qi({className:e,...t}){return(0,G.jsx)(Ye,{className:B(`text-sm text-muted-foreground`,e),...t})}var Ji=`(width < 48rem)`,Yi=()=>typeof window<`u`&&typeof window.matchMedia==`function`?window.matchMedia(Ji):void 0,Xi=()=>Yi()?.matches??!1;function Zi(e){let t=Yi();return t?.addEventListener(`change`,e),()=>t?.removeEventListener(`change`,e)}function Qi(){return(0,W.useSyncExternalStore)(Zi,Xi,()=>!1)}var $i=`16rem`,ea=`18rem`,ta=`3rem`,na=`b`,ra=W.createContext(null);function ia(){let e=W.useContext(ra);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}function aa({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:i,children:a,...o}){let s=Qi(),[c,l]=W.useState(!1),[u,d]=W.useState(e),f=t??u,p=W.useCallback(e=>{let t=typeof e==`function`?e(f):e;n?n(t):d(t)},[n,f]),m=W.useCallback(()=>s?l(e=>!e):p(e=>!e),[s,p,l]);W.useEffect(()=>{let e=e=>{e.key===na&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),m())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[m]);let h=f?`expanded`:`collapsed`,g=W.useMemo(()=>({state:h,open:f,setOpen:p,isMobile:s,openMobile:c,setOpenMobile:l,toggleSidebar:m}),[h,f,p,s,c,l,m]);return(0,G.jsx)(ra.Provider,{value:g,children:(0,G.jsx)(nt,{delay:0,children:(0,G.jsx)(`div`,{"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":$i,"--sidebar-width-icon":ta,...i},className:B(`group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full`,r),...o,children:a})})})}function oa({side:e=`left`,variant:t=`sidebar`,collapsible:n=`offcanvas`,className:r,children:i,...a}){let{isMobile:o,state:s,openMobile:c,setOpenMobile:l}=ia();return n===`none`?(0,G.jsx)(`div`,{"data-slot":`sidebar`,className:B(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,r),...a,children:i}):o?(0,G.jsx)(Ui,{open:c,onOpenChange:l,children:(0,G.jsxs)(Wi,{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,className:`bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden`,style:{"--sidebar-width":ea},side:e,children:[(0,G.jsxs)(Gi,{className:`sr-only`,children:[(0,G.jsx)(Ki,{children:`Sidebar`}),(0,G.jsx)(qi,{children:`Displays the mobile sidebar.`})]}),(0,G.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:i})]})}):(0,G.jsxs)(`div`,{className:`group peer text-sidebar-foreground hidden md:block`,"data-state":s,"data-collapsible":s===`collapsed`?n:``,"data-variant":t,"data-side":e,"data-slot":`sidebar`,children:[(0,G.jsx)(`div`,{"data-slot":`sidebar-gap`,className:B(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,t===`floating`||t===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`)}),(0,G.jsx)(`div`,{"data-slot":`sidebar-container`,className:B(`fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,t===`floating`||t===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,r),...a,children:(0,G.jsx)(`div`,{"data-sidebar":`sidebar`,"data-slot":`sidebar-inner`,className:`bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm`,children:i})})]})}function sa({className:e,...t}){return(0,G.jsx)(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,className:B(`flex flex-col gap-2 p-2`,e),...t})}function ca({className:e,...t}){return(0,G.jsx)(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,className:B(`flex flex-col gap-2 p-2`,e),...t})}function la({className:e,...t}){return(0,G.jsx)(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,className:B(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,e),...t})}function ua({className:e,...t}){return(0,G.jsx)(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,className:B(`relative flex w-full min-w-0 flex-col p-2`,e),...t})}function da({className:e,render:t=(0,G.jsx)(`div`,{}),...n}){return Vi({render:t,props:{"data-slot":`sidebar-group-label`,"data-sidebar":`group-label`,className:B(`text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0`,e),...n}})}function fa({className:e,...t}){return(0,G.jsx)(`div`,{"data-slot":`sidebar-group-content`,"data-sidebar":`group-content`,className:B(`w-full text-sm`,e),...t})}function pa({className:e,...t}){return(0,G.jsx)(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,className:B(`flex w-full min-w-0 flex-col gap-1`,e),...t})}function ma({className:e,...t}){return(0,G.jsx)(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,className:B(`group/menu-item relative`,e),...t})}Te(`peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});var ha=[`#e69875`,`#dbbc7f`,`#a7c080`,`#7fbbb3`,`#d699b6`,`#e67e80`],ga=[{d:`M-160 -166.3 A10 10 0 0 0 -175 -174.9 L-234 -140.9 A10 10 0 0 0 -239 -132.2 L-239 34.1 A10 10 0 0 0 -234 42.7 L-72 136.3 A10 10 0 0 0 -62 136.3 L-21 112.6 A10 10 0 0 0 -21 95.3 L-173 7.5 A10 10 0 0 1 -178 -1.2 L-178 -97 A10 10 0 0 1 -173 -105.7 L-165 -110.3 A10 10 0 0 0 -160 -118.9 Z`,axis:[-160,-148.4,-36.5,121.5]},{d:`M64 -221.7 A10 10 0 0 0 64 -239 L5 -273.1 A10 10 0 0 0 -5 -273.1 L-149 -189.9 A10 10 0 0 0 -154 -181.3 L-154 5.8 A10 10 0 0 0 -149 14.4 L-108 38.1 A10 10 0 0 0 -93 29.4 L-93 -146.1 A10 10 0 0 1 -88 -154.7 L-5 -202.6 A10 10 0 0 1 5 -202.6 L13 -198 A10 10 0 0 0 23 -198 Z`,axis:[48.5,-212.8,-123.5,29.2]},{d:`M224 -55.4 A10 10 0 0 0 239 -64.1 L239 -132.2 A10 10 0 0 0 234 -140.9 L90 -224 A10 10 0 0 0 80 -224 L-82 -130.5 A10 10 0 0 0 -87 -121.8 L-87 -74.5 A10 10 0 0 0 -72 -65.8 L80 -153.6 A10 10 0 0 1 90 -153.6 L173 -105.7 A10 10 0 0 1 178 -97 L178 -87.8 A10 10 0 0 0 183 -79.1 Z`,axis:[208.5,-64.4,-87,-92.4]},{d:`M160 166.3 A10 10 0 0 0 175 174.9 L234 140.9 A10 10 0 0 0 239 132.2 L239 -34.1 A10 10 0 0 0 234 -42.7 L72 -136.3 A10 10 0 0 0 62 -136.3 L21 -112.6 A10 10 0 0 0 21 -95.3 L173 -7.5 A10 10 0 0 1 178 1.2 L178 97 A10 10 0 0 1 173 105.7 L165 110.3 A10 10 0 0 0 160 118.9 Z`,axis:[160,148.4,36.5,-121.5]},{d:`M-64 221.7 A10 10 0 0 0 -64 239 L-5 273.1 A10 10 0 0 0 5 273.1 L149 189.9 A10 10 0 0 0 154 181.3 L154 -5.8 A10 10 0 0 0 149 -14.4 L108 -38.1 A10 10 0 0 0 93 -29.4 L93 146.1 A10 10 0 0 1 88 154.7 L5 202.6 A10 10 0 0 1 -5 202.6 L-13 198 A10 10 0 0 0 -23 198 Z`,axis:[-48.5,212.8,123.5,-29.2]},{d:`M-224 55.4 A10 10 0 0 0 -239 64.1 L-239 132.2 A10 10 0 0 0 -234 140.9 L-90 224 A10 10 0 0 0 -80 224 L82 130.5 A10 10 0 0 0 87 121.8 L87 74.5 A10 10 0 0 0 72 65.8 L-80 153.6 A10 10 0 0 1 -90 153.6 L-173 105.7 A10 10 0 0 1 -178 97 L-178 87.8 A10 10 0 0 0 -183 79.1 Z`,axis:[-208.5,64.4,87,92.4]}];function _a(e){return e?`AI is working for you 🚀`:`AI isn't working for you 💤`}function va(e){return e?`AI is working for you`:`AI isn't working for you`}function ya(e){return ha[(e%ha.length+ha.length)%ha.length]}function ba(e){return ha.map((t,n)=>ya(e+n)).concat(ya(e)).join(`;`)}function xa({className:e,working:t=!1}){let n=_a(t);return(0,G.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`-289 -326 578 651.9`,className:e,role:`img`,"aria-label":va(t),children:[(0,G.jsx)(`title`,{children:n}),t&&(0,G.jsx)(`defs`,{children:ga.map(({axis:[e,t,n,r]},i)=>(0,G.jsxs)(`linearGradient`,{id:`hexknot-${i}`,gradientUnits:`userSpaceOnUse`,x1:e,y1:t,x2:n,y2:r,children:[(0,G.jsx)(`stop`,{offset:`0`,stopColor:ya(i),children:(0,G.jsx)(`animate`,{attributeName:`stop-color`,dur:`6s`,repeatCount:`indefinite`,values:ba(i)})}),(0,G.jsx)(`stop`,{offset:`1`,stopColor:ya(i-1),children:(0,G.jsx)(`animate`,{attributeName:`stop-color`,dur:`6s`,repeatCount:`indefinite`,values:ba(i-1)})})]},i))}),ga.map(({d:e},n)=>(0,G.jsx)(`path`,{fill:t?`url(#hexknot-${n})`:`var(--logo-${n+1})`,d:e},n))]})}function Sa({working:e,href:t=`/`,onNavigate:n}){return(0,G.jsxs)(`a`,{href:t,onClick:e=>{e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0||(e.preventDefault(),n())},className:`flex shrink-0 items-center gap-3 rounded-md transition-opacity hover:opacity-80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]`,children:[(0,G.jsx)(xa,{className:`h-6 w-auto shrink-0`,working:e}),(0,G.jsx)(`span`,{className:`shrink-0 font-semibold max-sm:hidden`,children:`OpenAgent`})]})}var Ca=[{value:`system`,label:`System`,icon:ti},{value:`light`,label:`Light`,icon:pi},{value:`dark`,label:`Dark`,icon:ni}];function wa(){let e=$t(Zt()),t=Ca.find(t=>t.value===e)??Ca[0],n=t.icon;return(0,G.jsxs)($e,{children:[(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(De,{className:B(Fe({variant:`ghost`,size:`icon-sm`}),`shrink-0 text-muted-foreground`),"aria-label":`Theme`}),children:(0,G.jsx)(n,{className:`h-4 w-4`})}),(0,G.jsxs)(U,{children:[`Theme: `,t.label]})]}),(0,G.jsx)(d,{align:`end`,children:Ca.map(t=>{let n=t.icon;return(0,G.jsxs)(P,{closeOnClick:!1,onClick:()=>Jt({theme:t.value}),children:[(0,G.jsx)(A,{className:B(`h-3.5 w-3.5 shrink-0`,t.value===e?`opacity-100`:`opacity-0`)}),(0,G.jsx)(n,{className:`h-3.5 w-3.5 shrink-0 opacity-70`}),t.label]},t.value)})})]})}function Ta(){return(0,W.useSyncExternalStore)(Ea,()=>typeof Notification>`u`?`unsupported`:Notification.permission,()=>`unsupported`)}function Ea(e){let t=setInterval(e,3e3);return()=>clearInterval(t)}function Da(){let e=Zt(),t=tn(e),n=nn(e),r=rn(e),i=Ta(),a=i!==`unsupported`,o=i===`denied`,s=t&&i===`granted`,c=e=>{Jt({notifyBrowser:e}),e&&i==="default"&&Notification.requestPermission()},l=o?`Blocked in your browser settings`:t&&i==="default"?`Click to allow browser notifications`:`Desktop notifications while the dashboard is open`;return(0,G.jsxs)($e,{children:[(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(De,{type:`button`,"aria-label":`Notifications`,className:B(`relative rounded-md p-1.5 hover:bg-accent`,s?`text-foreground`:`text-muted-foreground`)}),children:[s?(0,G.jsx)(wr,{className:`h-4 w-4`}):(0,G.jsx)(Cr,{className:`h-4 w-4`}),s&&(0,G.jsx)(`span`,{className:`absolute right-1 top-1 h-1.5 w-1.5 rounded-full bg-[var(--color-primary)]`})]}),(0,G.jsx)(U,{children:s?`Notifications on`:`Notifications`})]}),(0,G.jsxs)(d,{align:`end`,className:`min-w-[16rem]`,children:[a&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(Qe,{children:[(0,G.jsx)(p,{children:`Deliver to`}),(0,G.jsx)(N,{checked:t,disabled:o,onCheckedChange:c,className:`items-start`,children:(0,G.jsx)(Ee,{label:`Browser`,description:l})})]}),(0,G.jsx)(f,{})]}),(0,G.jsxs)(Qe,{children:[(0,G.jsx)(p,{children:`Notify me about`}),(0,G.jsx)(N,{checked:r,onCheckedChange:e=>Jt({notifyHumanIntervention:e}),className:`items-start`,children:(0,G.jsx)(Ee,{label:`Human Queue`,description:`An agent awaiting you, or a PR to review`})}),(0,G.jsx)(N,{checked:n,onCheckedChange:e=>Jt({notifyNewActivity:e}),className:`items-start`,children:(0,G.jsx)(Ee,{label:`New activity`,description:`An agent started or finished`})})]})]})]})}function Oa(e,t){return`agent-log:${e}:${t}`}function ka(e,t){qe(Oa(e,t),()=>un(e,t))}function Aa(e,t){return e===null||t.status===`running`?{}:{onNear:()=>ka(e,t.id)}}function ja({projectId:e,scope:t=null,onScope:n=()=>{},homeHref:r=`/`,agents:i,selectedAgentId:a,onSelect:o,recentAgents:s,onSelectRecent:c,projects:l=[],onNewAgentInProject:u,onProjectAdded:d,startTick:f=0,startIntent:p=``,startId:m=null,startProjectName:h,working:_=!1,onDashboard:v=()=>{},onSettings:y=()=>{},pages:b=[],activePage:x=null,atSettings:S=!1,onPage:C=()=>{},interventionCount:w=0}){let{isMobile:E,setOpenMobile:D}=ia(),O=e=>(...t)=>{D(!1),e(...t)},k=Zt(),[A,j]=(0,W.useState)(null);(0,W.useEffect)(()=>{f>0&&j({intent:p,id:m})},[f]);let M=t===null&&s!==void 0,N=M?s.map(e=>e.agent):i,P=N.some(e=>e.status===`running`),F=A!==null&&N.some(e=>e.id===A.id);(0,W.useEffect)(()=>{F&&j(null)},[F]),(0,W.useEffect)(()=>{j(null)},[t]),(0,W.useEffect)(()=>{if(A===null||P)return;let e=setTimeout(()=>j(null),2e4);return()=>clearTimeout(e)},[A,P]);let ee=A!==null&&!P&&!F,te=a!==null&&!N.some(e=>e.id===a),ne=M?s.map(t=>({key:`${t.projectId}:${t.agent.id}`,agent:t.agent,project:t.projectName,active:t.projectId===e&&t.agent.id===a,onClick:()=>c?.(t.projectId,t.agent.id),...Aa(t.projectId,t.agent)})):i.map(t=>({key:t.id,agent:t,active:t.id===a,onClick:()=>o(t.id),...Aa(e,t)})),re=e!==null&&a===null,ie=Ei(ne),[ae,oe]=(0,W.useState)({}),se=ne.length>0||ee,ce=(e,t,n=e.agent.status,r)=>(0,G.jsx)(Fa,{status:n,fold:r,saving:e.agent.saving===!0&&n===e.agent.status,intent:t?Si(e.agent):yi(e.agent),driver:e.agent.driver,subtitle:e.project&&!t?`${e.project} · ${g(e.agent.startedAt)}`:g(e.agent.startedAt),active:e.active,remote:e.agent.target===`remote`,cloud:e.agent.target===`web`,...e.agent.otherHost&&e.agent.host?{startedOn:e.agent.host}:{},cloudState:Et(e.agent,Date.now()),...e.agent.remoteLabel?{remoteLabel:e.agent.remoteLabel}:{},remoteByLine:e.agent.remoteByLine===!0,onClick:O(e.onClick),onNear:e.onNear});return(0,G.jsxs)(oa,{collapsible:E?`offcanvas`:`none`,className:`w-(--sidebar-width) border-r border-sidebar-border`,children:[(0,G.jsxs)(sa,{className:`gap-3 border-b border-sidebar-border pb-3`,children:[(0,G.jsx)(`div`,{className:`px-1 pt-1`,children:(0,G.jsx)(Sa,{working:_,href:r,onNavigate:O(v)})}),(0,G.jsx)(Bi,{projects:l,scope:t,onScope:n,onProjectAdded:d})]}),(0,G.jsxs)(sa,{className:`gap-0.5 pb-2`,children:[(0,G.jsx)(Pa,{scope:t,projects:l,active:re,onNewAgentInProject:u&&O(u),onSelect:O(o),onProjectAdded:d}),(0,G.jsx)(Na,{active:e===null&&x===null&&!S,count:w,onClick:O(v)}),b.map(e=>(0,G.jsx)(Ma,{icon:e.icon??Tr,label:e.label,active:x===e.segment,onClick:O(()=>C(e.segment))},e.segment))]}),(0,G.jsx)(la,{className:`overflow-hidden`,children:(0,G.jsx)(T,{className:`min-h-0 flex-1`,children:(0,G.jsxs)(ua,{className:`pt-3 pr-3`,children:[(0,G.jsxs)(`div`,{className:`sticky top-0 z-10`,children:[(0,G.jsx)(da,{className:`rounded-none bg-background font-normal tracking-wide text-muted-foreground`,children:`Recent agents`}),(0,G.jsx)(`div`,{"aria-hidden":!0,className:`rail-fade pointer-events-none absolute inset-x-0 top-full h-4 bg-gradient-to-b from-background to-transparent`})]}),(0,G.jsxs)(fa,{children:[(0,G.jsxs)(pa,{className:`gap-0.5`,children:[ee&&(0,G.jsx)(ma,{children:(0,G.jsx)(Fa,{status:`running`,intent:A?.intent??void 0,subtitle:M&&h?`${h} · just now`:`just now`,driver:k.driver,active:te,standIn:!0,onClick:O(()=>o(null))})}),ie.map(({row:e,subagents:t})=>{let n=ae[e.key]??t.some(e=>Ci(e.agent)||e.active),r=t.filter(e=>e.agent.status===`running`).length,i=Date.now(),a=e.agent.status===`done`&&t.some(e=>Ti(e.agent,i));return(0,G.jsxs)(ma,{children:[ce(e,!1,a?`running`:e.agent.status,t.length>0?{count:t.length,working:r,open:n,onToggle:()=>oe(t=>({...t,[e.key]:!n}))}:void 0),t.length>0&&n&&(0,G.jsx)(`div`,{className:`mt-0.5 ml-4 flex flex-col gap-0.5 border-l border-sidebar-border pl-2`,children:t.map(e=>(0,G.jsx)(`div`,{children:ce(e,!0)},e.key))})]},e.key)})]}),!se&&(0,G.jsx)(`p`,{className:`whitespace-nowrap px-2 py-1 text-sm text-muted-foreground`,children:`No agents yet.`})]})]})})}),(0,G.jsx)(ca,{className:`border-t border-sidebar-border`,children:(0,G.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,G.jsx)(`div`,{className:`min-w-0 flex-1`}),(0,G.jsx)(wa,{}),(0,G.jsx)(Da,{}),(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(V,{variant:`ghost`,size:`sm`,onClick:O(y),"aria-label":`Settings`,"aria-current":S?`page`:void 0,className:S?`bg-accent text-accent-foreground`:void 0}),children:(0,G.jsx)(ui,{className:`h-4 w-4`,"aria-hidden":!0})}),(0,G.jsx)(U,{children:`Settings`})]})]})})]})}function Ma({icon:e,label:t,active:n,onClick:r,children:i}){return(0,G.jsxs)(`button`,{type:`button`,onClick:r,"aria-current":n?`page`:void 0,className:B(`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors`,n?`bg-sidebar-accent text-sidebar-accent-foreground`:`text-foreground hover:bg-sidebar-accent/60`),children:[(0,G.jsx)(e,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`flex-1 text-left`,children:t}),i]})}function Na({active:e,count:t,onClick:n}){return(0,G.jsx)(Ma,{icon:Qr,label:`Overview`,active:e,onClick:n,children:t>0&&(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`span`,{className:`min-w-5 rounded-full bg-primary px-1.5 text-center text-xs font-semibold text-primary-foreground tabular-nums`}),children:t}),(0,G.jsxs)(U,{children:[t,` item`,t===1?``:`s`,` in your Human Queue`]})]})})}function Pa({scope:e,projects:t,active:n=!1,onNewAgentInProject:r,onSelect:i,onProjectAdded:a}){let[o,s]=(0,W.useState)(!1),c=B(`h-auto w-full justify-start gap-2 px-2 py-1.5 font-normal`,n&&`bg-sidebar-accent text-sidebar-accent-foreground`),l=e=>r?r(e):i(null);if(e!==null||t.length===1){let n=e??t[0].id;return(0,G.jsxs)(V,{variant:`ghost`,className:c,onClick:()=>l(n),children:[(0,G.jsx)(oi,{className:`h-4 w-4 shrink-0`}),(0,G.jsx)(`span`,{className:`whitespace-nowrap`,children:`New agent`})]})}return t.length===0?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(V,{variant:`ghost`,className:c,onClick:()=>s(!0)}),children:[(0,G.jsx)(oi,{className:`h-4 w-4 shrink-0`}),(0,G.jsx)(`span`,{className:`whitespace-nowrap`,children:`New agent`})]}),(0,G.jsx)(U,{children:`Add a project to start an agent`})]}),o&&(0,G.jsx)(Ii,{onAdded:()=>a?.(),onClose:()=>s(!1)})]}):(0,G.jsxs)($e,{children:[(0,G.jsxs)(De,{"aria-label":`New agent`,className:B(Fe({variant:`ghost`}),c),children:[(0,G.jsx)(oi,{className:`h-4 w-4 shrink-0`}),(0,G.jsx)(`span`,{className:`whitespace-nowrap`,children:`New agent`}),(0,G.jsx)(I,{className:`ml-auto h-3.5 w-3.5 shrink-0 opacity-70`})]}),(0,G.jsx)(d,{align:`start`,className:`w-[13.5rem]`,children:t.map(e=>(0,G.jsxs)(P,{onClick:()=>l(e.id),children:[(0,G.jsx)(`span`,{"aria-hidden":!0,className:B(`h-2 w-2 shrink-0 rounded-full`,e.activated?`bg-primary`:`bg-muted-foreground`)}),(0,G.jsx)(`span`,{className:`flex-1 truncate`,children:e.name})]},e.id))})]})}function Fa({status:e,intent:t,subtitle:n,active:r,onClick:i,onNear:a,driver:o,standIn:s=!1,saving:c=!1,remote:l=!1,cloud:u=!1,cloudState:d,remoteLabel:f,remoteByLine:p=!1,startedOn:m,fold:h}){let g=e===`waiting`||d===`waiting`,_=tt(o),v=p?Xr:li,y=d===`in-cloud`,x=d===`merged`?`merged`:void 0,S=c&&!u,C=(0,W.useRef)(null),[w,T]=(0,W.useState)(!1);(0,W.useEffect)(()=>{let e=C.current;e&&T(e.scrollWidth>e.clientWidth+1)},[t]);let E=t||`New agent`,D=B(`rail-title w-full px-2 text-sm font-normal`,w&&`is-overflowing`);return(0,G.jsxs)(V,{variant:`ghost`,className:B(`rail-row h-auto w-full flex-col items-start gap-0.5 px-0 py-2 text-left`,r&&`bg-accent text-accent-foreground`),...s?{"data-stand-in":``}:{},onClick:i,onPointerEnter:a,onFocus:a,children:[(0,G.jsxs)(`span`,{className:`flex w-full items-center gap-2 px-2`,children:[(e===`running`||g)&&(0,G.jsx)(`span`,{className:B(`inline-block h-2 w-2 shrink-0 rounded-full`,g?`bg-muted-foreground`:`animate-pulse bg-primary`)}),S&&(0,G.jsx)(`span`,{className:`inline-block h-2 w-2 shrink-0 animate-pulse rounded-full bg-success`}),(0,G.jsx)(b,{className:B(`shrink-0 border-transparent px-0 text-[10px] uppercase`,g||S?`text-muted-foreground`:y?`text-primary`:x?`text-success`:vi[e]),children:g?`waiting`:y?`in cloud`:x||(S?`saving…`:e)}),(0,G.jsx)(`span`,{className:`truncate text-xs font-normal text-muted-foreground`,children:n}),(l||u||_||m||h)&&(0,G.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[h&&(0,G.jsxs)(`span`,{role:`button`,tabIndex:0,"aria-expanded":h.open,"aria-label":`${h.count} agent${h.count===1?``:`s`}${h.working>0?` · ${h.working} running`:``}`,title:`${h.count} subagent${h.count===1?``:`s`}${h.working>0?`, ${h.working} running`:``}`,onClick:e=>{e.stopPropagation(),h.onToggle()},onKeyDown:e=>{e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),h.onToggle())},className:`flex items-center gap-0.5 rounded-sm px-1 text-[11px] font-normal tabular-nums text-muted-foreground transition-colors hover:bg-background hover:text-foreground`,children:[(0,G.jsx)(I,{className:B(`h-3 w-3 shrink-0 transition-transform`,h.open||`-rotate-90`),"aria-hidden":!0}),(0,G.jsx)(Er,{className:`h-3 w-3 shrink-0`,"aria-hidden":!0}),h.count]}),m&&(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`span`,{className:`flex items-center`}),children:(0,G.jsx)(Xr,{className:`h-3 w-3 text-muted-foreground`,"aria-label":`Started on ${m}`})}),(0,G.jsxs)(U,{children:[`Started on `,m,`.`]})]}),l&&(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`span`,{className:`flex items-center`}),children:(0,G.jsx)(v,{className:`h-3 w-3 text-muted-foreground`,"aria-label":f?`Runs on ${f}`:`Runs on another machine`})}),(0,G.jsx)(U,{children:f?`Runs on ${f}`:`Runs on another machine`})]}),u&&(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`span`,{className:`flex items-center`}),children:(0,G.jsx)(Nr,{className:`h-3 w-3 text-muted-foreground`,"aria-label":`Runs as a Claude Code cloud session`})}),(0,G.jsx)(U,{children:`Runs as a Claude Code cloud session; it works and opens its PR over there.`})]}),_&&(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`span`,{className:`flex items-center`,role:`img`,"aria-label":Ze[_]}),children:(0,G.jsx)(Pi,{driver:_,className:`h-3 w-3 text-muted-foreground`})}),(0,G.jsx)(U,{children:Ze[_]})]})]})]}),w?(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`span`,{ref:C,className:D}),children:E}),(0,G.jsx)(U,{side:`right`,className:`max-w-96 whitespace-pre-wrap break-words`,children:E})]}):(0,G.jsx)(`span`,{ref:C,className:D,children:E})]})}var Ia=null,La=new Set;function Ra(e){if(Ia!==e){Ia=e;for(let e of La)e()}}function za(){return Ia}function Ba(e){return La.add(e),()=>La.delete(e)}function Va(){return(0,W.useSyncExternalStore)(Ba,za,()=>null)}function Ha(e){return{...e.driver?{driver:e.driver}:{},...e.model?{model:e.model}:{},...e.publish?{publish:e.publish}:{}}}var Ua=`post-merge-cleanup`;function Wa(e){return e.some(e=>e.name===Ua)}function Ga(e,t){return e.postMergeCleanup&&Wa(t)?{then:`/${Ua}`}:{}}function Ka(e){let{busy:t,error:n,reset:r,run:i}=it(),[a,o]=(0,W.useState)(null),s=(0,W.useRef)(!0),c=(0,W.useRef)(e);return c.current=e,(0,W.useEffect)(()=>(s.current=!0,()=>{s.current=!1}),[]),{busy:t,cloning:a!==null&&a.scope===e,error:n,reset:r,start:async(t,n,r={},a=`Failed to start the agent.`)=>{let l=e,u=()=>s.current&&c.current===l,d=await i(async()=>{let e=await Ln(t,n,r);if(e.ok||!e.notThere||r.machine===void 0)return e;o({scope:l});try{let e=await Xa(t,r.machine,u);if(e===qa||!u())return qa;if(!e.ok)return e}finally{o(null)}return Ln(t,n,r)},a);return d.ok?d.value??void 0:void 0}}}var qa=null,Ja=2e3,Ya=16*6e4;async function Xa(e,t,n){let r=Date.now()+Ya,i=await or(e,t);for(;i.ok&&!i.there;){if(Date.now()>r)return{ok:!1,error:`The machine is still cloning the project. Send again in a few minutes.`};if(await new Promise(e=>setTimeout(e,Ja)),!n())return qa;i=await sr(e,t)}return i.ok?{ok:!0}:i}function Za(e){let t=We(e?()=>$n(e):null,null,15e3,[e]).value,n=Zt().startFrom?.[e??``]===`local`;return!t||!n||!t.startFrom?t:{...t,commands:t.commands.map(({waiting:e,here:t,...n})=>t?n:{...n,...e===void 0?{}:{waiting:e}})}}function Qa(e){return e.filter(e=>e.waiting===void 0)}function $a(){let[e,t]=(0,W.useState)(new Set);return{context:e,add:e=>t(t=>t.has(e)?t:new Set(t).add(e)),remove:e=>t(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}),toggle:e=>t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),reset:()=>t(new Set)}}function eo(e,t){let n=[...t];return n.length?`${e.trimEnd()}\n\nContext: ${n.join(`, `)}`:e}var to={nothing:`It commits and publishes nothing. You decide after.`,commit:`It commits its work on its branch.`,branch:`It commits and pushes its branch.`,pr:`It commits, pushes its branch and opens a pull request.`,merge:`It commits, pushes its branch and opens a pull request set to merge once its checks pass.`};function no({publish:e,picks:t,onPublish:n,cleanup:r,onCleanup:i,busy:a}){let o=r!==void 0,s=`Auto: ${Ne[e]}${r?` · cleanup`:``}`;return(0,G.jsxs)($e,{children:[(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(De,{type:`button`,disabled:a,"aria-label":`Auto`,className:B(Fe({variant:`ghost`,size:`xs`}),`max-w-full font-normal text-muted-foreground hover:text-foreground`)}),children:[(0,G.jsx)(`span`,{className:`truncate`,children:s}),(0,G.jsx)(I,{className:`h-3.5 w-3.5 shrink-0 opacity-70`,"aria-hidden":!0})]}),(0,G.jsx)(U,{children:`What the agent does by itself when it finishes.`})]}),(0,G.jsx)(d,{className:`min-w-[19rem] max-w-[22rem]`,children:(0,G.jsxs)(Qe,{children:[(0,G.jsx)(p,{className:`font-normal`,children:`When the agent finishes`}),t.map(t=>(0,G.jsxs)(P,{className:`items-start`,"aria-current":t===e,onClick:()=>n(t),children:[(0,G.jsx)(A,{className:B(`mt-0.5 h-3.5 w-3.5 shrink-0`,t===e?`opacity-100`:`opacity-0`),"aria-hidden":!0}),(0,G.jsx)(Ee,{label:Ne[t],description:to[t]})]},t)),o&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(f,{}),(0,G.jsx)(N,{className:`items-start`,checked:r,onCheckedChange:i,children:(0,G.jsx)(Ee,{label:`Post-merge cleanup`,description:`Once the agent ends done with a pull request, a fresh agent runs /post-merge-cleanup on its branch; the merge waits for it.`})})]})]})})]})}function ro({files:e,onRemove:t,busy:n}){return e.length===0?null:(0,G.jsx)(`div`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,G.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(e),"aria-label":`Remove ${e} from context`,className:`flex h-3.5 w-3.5 items-center justify-center rounded text-muted-foreground hover:text-danger disabled:opacity-50`}),children:(0,G.jsx)(_i,{className:`h-3.5 w-3.5`})}),(0,G.jsxs)(U,{children:[`Remove `,e]})]}),(0,G.jsx)(`span`,{className:`truncate`,title:e,children:e})]},e))})}function io({otherProjects:e,context:t,contextFiles:n,summary:r,busy:i,onToggle:a}){return(0,G.jsxs)($e,{children:[(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(De,{type:`button`,disabled:i,className:B(Fe({variant:`ghost`,size:`sm`}),`h-8 items-center gap-1.5 px-2 text-[11px] font-normal text-muted-foreground hover:text-foreground`)}),children:[(0,G.jsx)(Zr,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),`Context`,r&&(0,G.jsxs)(`span`,{className:`text-primary`,children:[` · `,r]})]}),(0,G.jsx)(U,{children:`Narrow the run to specific repos and files`})]}),(0,G.jsxs)(d,{align:`start`,className:`min-w-[18rem] max-w-[24rem]`,children:[(0,G.jsxs)(Qe,{children:[(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(p,{}),children:`Projects`}),(0,G.jsx)(U,{className:`max-w-[22rem]`,children:`The agent can still reach every repo; ticking some just narrows its focus.`})]}),e.length>0?e.map(e=>(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(N,{checked:t.has(e.path),onCheckedChange:()=>a(e.path),disabled:i}),children:(0,G.jsx)(`span`,{className:`truncate`,children:e.name})}),(0,G.jsx)(U,{children:e.path})]},e.id)):(0,G.jsx)(`p`,{className:`px-2 py-1 text-xs text-muted-foreground/60`,children:`No other repos to add.`})]}),(0,G.jsx)(f,{}),(0,G.jsxs)(Qe,{children:[(0,G.jsx)(p,{children:`Files`}),n.length>0?(0,G.jsx)(`div`,{className:`px-2 py-1`,children:(0,G.jsx)(ro,{files:n,onRemove:a,busy:i})}):(0,G.jsx)(`p`,{className:`px-2 py-1 text-xs text-muted-foreground/60`,children:`None yet — add with # or the Files tab.`})]})]})]})}var ao=t(a(),1);function oo(e){this.content=e}oo.prototype={constructor:oo,find:function(e){for(var t=0;t<this.content.length;t+=2)if(this.content[t]===e)return t;return-1},get:function(e){var t=this.find(e);return t==-1?void 0:this.content[t+1]},update:function(e,t,n){var r=n&&n!=e?this.remove(n):this,i=r.find(e),a=r.content.slice();return i==-1?a.push(n||e,t):(a[i+1]=t,n&&(a[i]=n)),new oo(a)},remove:function(e){var t=this.find(e);if(t==-1)return this;var n=this.content.slice();return n.splice(t,2),new oo(n)},addToStart:function(e,t){return new oo([e,t].concat(this.remove(e).content))},addToEnd:function(e,t){var n=this.remove(e).content.slice();return n.push(e,t),new oo(n)},addBefore:function(e,t,n){var r=this.remove(t),i=r.content.slice(),a=r.find(e);return i.splice(a==-1?i.length:a,0,t,n),new oo(i)},forEach:function(e){for(var t=0;t<this.content.length;t+=2)e(this.content[t],this.content[t+1])},prepend:function(e){return e=oo.from(e),e.size?new oo(e.content.concat(this.subtract(e).content)):this},append:function(e){return e=oo.from(e),e.size?new oo(this.subtract(e).content.concat(e.content)):this},subtract:function(e){var t=this;e=oo.from(e);for(var n=0;n<e.content.length;n+=2)t=t.remove(e.content[n]);return t},toObject:function(){var e={};return this.forEach(function(t,n){e[t]=n}),e},get size(){return this.content.length>>1}},oo.from=function(e){if(e instanceof oo)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new oo(t)};function so(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),a=t.child(r);if(i==a){n+=i.nodeSize;continue}if(!i.sameMarkup(a))return n;if(i.isText&&i.text!=a.text){let e=i.text,t=a.text,r=0;for(;e[r]==t[r];r++)n++;return r&&r<e.length&&r<t.length&&uo(e.charCodeAt(r-1))&&lo(e.charCodeAt(r))&&n--,n}if(i.content.size||a.content.size){let e=so(i.content,a.content,n+1);if(e!=null)return e}n+=i.nodeSize}}function co(e,t,n,r){for(let i=e.childCount,a=t.childCount;;){if(i==0||a==0)return i==a?null:{a:n,b:r};let o=e.child(--i),s=t.child(--a),c=o.nodeSize;if(o==s){n-=c,r-=c;continue}if(!o.sameMarkup(s))return{a:n,b:r};if(o.isText&&o.text!=s.text){let e=o.text,t=s.text,i=e.length,a=t.length;for(;i>0&&a>0&&e[i-1]==t[a-1];)i--,a--,n--,r--;return i&&a&&i<e.length&&uo(e.charCodeAt(i-1))&&lo(e.charCodeAt(i))&&(n++,r++),{a:n,b:r}}if(o.content.size||s.content.size){let e=co(o.content,s.content,n-1,r-1);if(e)return e}n-=c,r-=c}}function lo(e){return e>=56320&&e<57344}function uo(e){return e>=55296&&e<56320}var K=class e{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let t=0;t<e.length;t++)this.size+=e[t].nodeSize}nodesBetween(e,t,n,r=0,i){for(let a=0,o=0;o<t;a++){let s=this.content[a],c=o+s.nodeSize;if(c>e&&n(s,r+o,i||null,a)!==!1&&s.content.size){let i=o+1;s.nodesBetween(Math.max(0,e-i),Math.min(s.content.size,t-i),n,r+i)}o=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,n,r){let i=``,a=!0;return this.nodesBetween(e,t,(o,s)=>{let c=o.isText?o.text.slice(Math.max(e,s)-s,t-s):o.isLeaf?r?typeof r==`function`?r(o):r:o.type.spec.leafText?o.type.spec.leafText(o):``:``;o.isBlock&&(o.isLeaf&&c||o.isTextblock)&&n&&(a?a=!1:i+=n),i+=c},0),i}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),a=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),a=1);a<t.content.length;a++)i.push(t.content[a]);return new e(i,this.size+t.size)}cut(t,n=this.size){if(t==0&&n==this.size)return this;let r=[],i=0;if(n>t)for(let e=0,a=0;a<n;e++){let o=this.content[e],s=a+o.nodeSize;s>t&&((a<t||s>n)&&(o=o.isText?o.cut(Math.max(0,t-a),Math.min(o.text.length,n-a)):o.cut(Math.max(0,t-a-1),Math.min(o.content.size,n-a-1))),r.push(o),i+=o.nodeSize),a=s}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),a=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,a)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw RangeError(`Index `+e+` out of range for `+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,n=0;t<this.content.length;t++){let r=this.content[t];e(r,n,t),n+=r.nodeSize}}findDiffStart(e,t=0){return so(this,e,t)}findDiffEnd(e,t=this.size,n=e.size){return co(this,e,t,n)}findIndex(e){if(e==0)return po(0,e);if(e==this.size)return po(this.content.length,e);if(e>this.size||e<0)throw RangeError(`Position ${e} outside of fragment (${this})`);for(let t=0,n=0;;t++){let r=this.child(t),i=n+r.nodeSize;if(i>=e)return i==e?po(t+1,i):po(t,n);n=i}}toString(){return`<`+this.toStringInner()+`>`}toStringInner(){return this.content.join(`, `)}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw RangeError(`Invalid input for Fragment.fromJSON`);return e.fromArray(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let e=0;e<t.length;e++){let i=t[e];r+=i.nodeSize,e&&i.isText&&t[e-1].sameMarkup(i)?(n||=t.slice(0,e),n[n.length-1]=i.withText(n[n.length-1].text+i.text)):n&&n.push(i)}return new e(n||t,r)}static from(t){if(!t)return e.empty;if(t instanceof e)return t;if(Array.isArray(t))return this.fromArray(t);if(t.attrs)return new e([t],t.nodeSize);throw RangeError(`Can not convert `+t+` to a Fragment`+(t.nodesBetween?` (looks like multiple versions of prosemirror-model were loaded)`:``))}};K.empty=new K([],0);var fo={index:0,offset:0};function po(e,t){return fo.index=e,fo.offset=t,fo}function mo(e,t){if(e===t)return!0;if(!(e&&typeof e==`object`)||!(t&&typeof t==`object`))return!1;let n=Array.isArray(e);if(Array.isArray(t)!=n)return!1;if(n){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!mo(e[n],t[n]))return!1}else{for(let n in e)if(!(n in t)||!mo(e[n],t[n]))return!1;for(let n in t)if(!(n in e))return!1}return!0}var q=class e{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(this.eq(i))return e;if(this.type.excludes(i.type))t||=e.slice(0,r);else if(i.type.excludes(this.type))return e;else!n&&i.type.rank>this.type.rank&&(t||=e.slice(0,r),t.push(this),n=!0),t&&t.push(i)}return t||=e.slice(),n||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&mo(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Mark.fromJSON`);let n=e.marks[t.type];if(!n)throw RangeError(`There is no mark type ${t.type} in this schema`);let r=n.create(t.attrs);return n.checkAttrs(r.attrs),r}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(t[n]))return!1;return!0}static setFrom(t){if(!t||Array.isArray(t)&&t.length==0)return e.none;if(t instanceof e)return[t];let n=t.slice();return n.sort((e,t)=>e.type.rank-t.type.rank),n}};q.none=[];var ho=class extends Error{},J=class e{constructor(e,t,n){this.content=e,this.openStart=t,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=_o(this.content,t+this.openStart,n,this.openStart+1,this.openEnd+1);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(go(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+`(`+this.openStart+`,`+this.openEnd+`)`}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!=`number`||typeof i!=`number`)throw RangeError(`Invalid input for Slice.fromJSON`);return new e(K.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let e=t.firstChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.firstChild)r++;for(let e=t.lastChild;e&&!e.isLeaf&&(n||!e.type.spec.isolating);e=e.lastChild)i++;return new e(t,r,i)}};J.empty=new J(K.empty,0,0);function go(e,t,n){let{index:r,offset:i}=e.findIndex(t),a=e.maybeChild(r),{index:o,offset:s}=e.findIndex(n);if(i==t||a.isText){if(s!=n&&!e.child(o).isText)throw RangeError(`Removing non-flat range`);return e.cut(0,t).append(e.cut(n))}if(r!=o)throw RangeError(`Removing non-flat range`);return e.replaceChild(r,a.copy(go(a.content,t-i-1,n-i-1)))}function _o(e,t,n,r,i,a){let{index:o,offset:s}=e.findIndex(t),c=e.maybeChild(o);if(s==t||c.isText)return a&&r<=0&&i<=0&&!a.canReplace(o,o,n)?null:e.cut(0,t).append(n).append(e.cut(t));let l=_o(c.content,t-s-1,n,o==0?r-1:0,o==e.childCount-1?i-1:0,c);return l&&e.replaceChild(o,c.copy(l))}function vo(e,t,n){if(n.openStart>e.depth)throw new ho(`Inserted content deeper than insertion position`);if(e.depth-n.openStart!=t.depth-n.openEnd)throw new ho(`Inconsistent open depths`);return yo(e,t,n,0)}function yo(e,t,n,r){let i=e.index(r),a=e.node(r);if(i==t.index(r)&&r<e.depth-n.openStart){let o=yo(e,t,n,r+1);return a.copy(a.content.replaceChild(i,o))}else if(!n.content.size)return wo(a,Eo(e,t,r));else if(!n.openStart&&!n.openEnd&&e.depth==r&&t.depth==r){let r=e.parent,i=r.content;return wo(r,i.cut(0,e.parentOffset).append(n.content).append(i.cut(t.parentOffset)))}else{let{start:i,end:o}=Do(n,e);return wo(a,To(e,i,o,t,r))}}function bo(e,t){if(!t.type.compatibleContent(e.type))throw new ho(`Cannot join `+t.type.name+` onto `+e.type.name)}function xo(e,t,n){let r=e.node(n);return bo(r,t.node(n)),r}function So(e,t){let n=t.length-1;n>=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function Co(e,t,n,r){let i=(t||e).node(n),a=0,o=t?t.index(n):i.childCount;e&&(a=e.index(n),e.depth>n?a++:e.textOffset&&(So(e.nodeAfter,r),a++));for(let e=a;e<o;e++)So(i.child(e),r);t&&t.depth==n&&t.textOffset&&So(t.nodeBefore,r)}function wo(e,t){if(!e.type.validContent(t))throw new ho(`Invalid content for node `+e.type.name);return e.copy(t)}function To(e,t,n,r,i){let a=e.depth>i&&xo(e,t,i+1),o=r.depth>i&&xo(n,r,i+1),s=[];return Co(null,e,i,s),a&&o&&t.index(i)==n.index(i)?(bo(a,o),So(wo(a,To(e,t,n,r,i+1)),s)):(a&&So(wo(a,Eo(e,t,i+1)),s),Co(t,n,i,s),o&&So(wo(o,Eo(n,r,i+1)),s)),Co(r,null,i,s),new K(s)}function Eo(e,t,n){let r=[];return Co(null,e,n,r),e.depth>n&&So(wo(xo(e,t,n+1),Eo(e,t,n+1)),r),Co(t,null,n,r),new K(r)}function Do(e,t){let n=t.depth-e.openStart,r=t.node(n).copy(e.content);for(let e=n-1;e>=0;e--)r=t.node(e).copy(K.from(r));return{start:r.resolveNoCache(e.openStart+n),end:r.resolveNoCache(r.content.size-e.openEnd-n)}}var Oo=class e{constructor(e,t,n){this.pos=e,this.path=t,this.parentOffset=n,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position before the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw RangeError(`There is no position after the top-level node`);return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],r=e.child(t);return n?e.child(t).cut(n):r}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let n=this.path[t*3],r=t==0?0:this.path[t*3-1]+1;for(let t=0;t<e;t++)r+=n.child(t).nodeSize;return r}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return q.none;if(this.textOffset)return e.child(t).marks;let n=e.maybeChild(t-1),r=e.maybeChild(t);if(!n){let e=n;n=r,r=e}let i=n.marks;for(var a=0;a<i.length;a++)i[a].type.spec.inclusive===!1&&(!r||!i[a].isInSet(r.marks))&&(i=i[a--].removeFromSet(i));return i}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let n=t.marks,r=e.parent.maybeChild(e.index());for(var i=0;i<n.length;i++)n[i].type.spec.inclusive===!1&&(!r||!n[i].isInSet(r.marks))&&(n=n[i--].removeFromSet(n));return n}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!t||t(this.node(n))))return new Mo(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e=``;for(let t=1;t<=this.depth;t++)e+=(e?`/`:``)+this.node(t).type.name+`_`+this.index(t-1);return e+`:`+this.parentOffset}static resolve(t,n){if(!(n>=0&&n<=t.content.size))throw RangeError(`Position `+n+` out of range`);let r=[],i=0,a=n;for(let e=t;;){let{index:t,offset:n}=e.content.findIndex(a),o=a-n;if(r.push(e,t,i+n),!o||(e=e.child(t),e.isText))break;a=o-1,i+=n+1}return new e(n,r,a)}static resolveCached(t,n){let r=jo.get(t);if(r)for(let e=0;e<r.elts.length;e++){let t=r.elts[e];if(t.pos==n)return t}else jo.set(t,r=new ko);let i=r.elts[r.i]=e.resolve(t,n);return r.i=(r.i+1)%Ao,i}},ko=class{constructor(){this.elts=[],this.i=0}},Ao=12,jo=new WeakMap,Mo=class{constructor(e,t,n){this.$from=e,this.$to=t,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}},No=Object.create(null),Po=class e{constructor(e,t,n,r=q.none){this.type=e,this.attrs=t,this.marks=r,this.content=n||K.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,n,r=0){this.content.nodesBetween(e,t,n,r,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,``)}textBetween(e,t,n,r){return this.content.textBetween(e,t,n,r)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,n){return this.type==e&&mo(this.attrs,t||e.defaultAttrs||No)&&q.sameSet(this.marks,n||q.none)}copy(t=null){return t==this.content?this:new e(this.type,this.attrs,t,this.marks)}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.content,t)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,n=!1){if(e==t)return J.empty;let r=this.resolve(e),i=this.resolve(t),a=n?0:r.sharedDepth(t),o=r.start(a);return new J(r.node(a).content.cut(r.pos-o,i.pos-o),r.depth-a,i.depth-a)}replace(e,t,n){return vo(this.resolve(e),this.resolve(t),n)}nodeAt(e){for(let t=this;;){let{index:n,offset:r}=t.content.findIndex(e);if(t=t.maybeChild(n),!t)return null;if(r==e||t.isText)return t;e-=r+1}}childAfter(e){let{index:t,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(t),index:t,offset:n};let r=this.content.child(t-1);return{node:r,index:t-1,offset:n-r.nodeSize}}resolve(e){return Oo.resolveCached(this,e)}resolveNoCache(e){return Oo.resolve(this,e)}rangeHasMark(e,t,n){let r=!1;return t>e&&this.nodesBetween(e,t,e=>(n.isInSet(e.marks)&&(r=!0),!r)),r}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+=`(`+this.content.toStringInner()+`)`),Io(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw Error(`Called contentMatchAt on a node with invalid content`);return t}canReplace(e,t,n=K.empty,r=0,i=n.childCount){let a=this.contentMatchAt(e).matchFragment(n,r,i),o=a&&a.matchFragment(this.content,t);if(!o||!o.validEnd)return!1;for(let e=r;e<i;e++)if(!this.type.allowsMarks(n.child(e).marks))return!1;return!0}canReplaceWith(e,t,n,r){if(r&&!this.type.allowsMarks(r))return!1;let i=this.contentMatchAt(e).matchType(n),a=i&&i.matchFragment(this.content,t);return a?a.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=q.none;for(let t=0;t<this.marks.length;t++){let n=this.marks[t];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!q.sameSet(e,this.marks))throw RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(e=>e.type.name)}`);this.content.forEach(e=>e.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(e=>e.toJSON())),e}static fromJSON(e,t){if(!t)throw RangeError(`Invalid input for Node.fromJSON`);let n;if(t.marks){if(!Array.isArray(t.marks))throw RangeError(`Invalid mark data for Node.fromJSON`);n=t.marks.map(e.markFromJSON)}if(t.type==`text`){if(typeof t.text!=`string`)throw RangeError(`Invalid text node in JSON`);return e.text(t.text,n)}let r=K.fromJSON(e,t.content),i=e.nodeType(t.type).create(t.attrs,r,n);return i.type.checkAttrs(i.attrs),i}};Po.prototype.text=void 0;var Fo=class e extends Po{constructor(e,t,n,r){if(super(e,t,null,r),!n)throw RangeError(`Empty text nodes are not allowed`);this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):Io(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function Io(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+`(`+t+`)`;return t}var Lo=class e{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new Ro(t,n);if(r.next==null)return e.empty;let i=zo(r);r.next&&r.err(`Unexpected trailing text`);let a=Yo(Ko(i));return Xo(a,r),a}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,n=e.childCount){let r=this;for(let i=t;r&&i<n;i++)r=r.matchType(e.child(i).type);return r}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let n=0;n<e.next.length;n++)if(this.next[t].type==e.next[n].type)return!0;return!1}fillBefore(e,t=!1,n=0){let r=[this];function i(a,o){let s=a.matchFragment(e,n);if(s&&(!t||s.validEnd))return K.from(o.map(e=>e.createAndFill()));for(let e=0;e<a.next.length;e++){let{type:t,next:n}=a.next[e];if(!(t.isText||t.hasRequiredAttrs())&&r.indexOf(n)==-1){r.push(n);let e=i(n,o.concat(t));if(e)return e}}return null}return i(this,[])}findWrapping(e){for(let t=0;t<this.wrapCache.length;t+=2)if(this.wrapCache[t]==e)return this.wrapCache[t+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let r=n.shift(),i=r.match;if(i.matchType(e)){let e=[];for(let t=r;t.type;t=t.via)e.push(t.type);return e.reverse()}for(let e=0;e<i.next.length;e++){let{type:a,next:o}=i.next[e];!a.isLeaf&&!a.hasRequiredAttrs()&&!(a.name in t)&&(!r.type||o.validEnd)&&(n.push({match:a.contentMatch,type:a,via:r}),t[a.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(n){e.push(n);for(let r=0;r<n.next.length;r++)e.indexOf(n.next[r].next)==-1&&t(n.next[r].next)}return t(this),e.map((t,n)=>{let r=n+(t.validEnd?`*`:` `)+` `;for(let n=0;n<t.next.length;n++)r+=(n?`, `:``)+t.next[n].type.name+`->`+e.indexOf(t.next[n].next);return r}).join(`
|
|
9
|
-
`)}};Lo.empty=new Lo(!0);var Ro=class{constructor(e,t){this.string=e,this.nodeTypes=t,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==``&&this.tokens.pop(),this.tokens[0]==``&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw SyntaxError(e+` (in content expression '`+this.string+`')`)}};function zo(e){let t=[];do t.push(Bo(e));while(e.eat(`|`));return t.length==1?t[0]:{type:`choice`,exprs:t}}function Bo(e){let t=[];do t.push(Vo(e));while(e.next&&e.next!=`)`&&e.next!=`|`);return t.length==1?t[0]:{type:`seq`,exprs:t}}function Vo(e){let t=Go(e);for(;;)if(e.eat(`+`))t={type:`plus`,expr:t};else if(e.eat(`*`))t={type:`star`,expr:t};else if(e.eat(`?`))t={type:`opt`,expr:t};else if(e.eat(`{`))t=Uo(e,t);else break;return t}function Ho(e){/\D/.test(e.next)&&e.err(`Expected number, got '`+e.next+`'`);let t=Number(e.next);return e.pos++,t}function Uo(e,t){let n=Ho(e),r=n;return e.eat(`,`)&&(r=e.next==`}`?-1:Ho(e)),e.eat(`}`)||e.err(`Unclosed braced range`),{type:`range`,min:n,max:r,expr:t}}function Wo(e,t){let n=e.nodeTypes,r=n[t];if(r)return[r];let i=[];for(let e in n){let r=n[e];r.isInGroup(t)&&i.push(r)}return i.length==0&&e.err(`No node type or group '`+t+`' found`),i}function Go(e){if(e.eat(`(`)){let t=zo(e);return e.eat(`)`)||e.err(`Missing closing paren`),t}else if(/\W/.test(e.next))e.err(`Unexpected token '`+e.next+`'`);else{let t=Wo(e,e.next).map(t=>(e.inline==null?e.inline=t.isInline:e.inline!=t.isInline&&e.err(`Mixing inline and block content`),{type:`name`,value:t}));return e.pos++,t.length==1?t[0]:{type:`choice`,exprs:t}}}function Ko(e){let t=[[]];return i(a(e,0),n()),t;function n(){return t.push([])-1}function r(e,n,r){let i={term:r,to:n};return t[e].push(i),i}function i(e,t){e.forEach(e=>e.to=t)}function a(e,t){if(e.type==`choice`)return e.exprs.reduce((e,n)=>e.concat(a(n,t)),[]);if(e.type==`seq`)for(let r=0;;r++){let o=a(e.exprs[r],t);if(r==e.exprs.length-1)return o;i(o,t=n())}else if(e.type==`star`){let o=n();return r(t,o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`plus`){let o=n();return i(a(e.expr,t),o),i(a(e.expr,o),o),[r(o)]}else if(e.type==`opt`)return[r(t)].concat(a(e.expr,t));else if(e.type==`range`){let o=t;for(let t=0;t<e.min;t++){let t=n();i(a(e.expr,o),t),o=t}if(e.max==-1)i(a(e.expr,o),o);else for(let t=e.min;t<e.max;t++){let t=n();r(o,t),i(a(e.expr,o),t),o=t}return[r(o)]}else if(e.type==`name`)return[r(t,void 0,e.value)];else throw Error(`Unknown expr type`)}}function qo(e,t){return t-e}function Jo(e,t){let n=[];return r(t),n.sort(qo);function r(t){let i=e[t];if(i.length==1&&!i[0].term)return r(i[0].to);n.push(t);for(let e=0;e<i.length;e++){let{term:t,to:a}=i[e];!t&&n.indexOf(a)==-1&&r(a)}}}function Yo(e){let t=Object.create(null);return n(Jo(e,0));function n(r){let i=[];r.forEach(t=>{e[t].forEach(({term:t,to:n})=>{if(!t)return;let r;for(let e=0;e<i.length;e++)i[e][0]==t&&(r=i[e][1]);Jo(e,n).forEach(e=>{r||i.push([t,r=[]]),r.indexOf(e)==-1&&r.push(e)})})});let a=t[r.join(`,`)]=new Lo(r.indexOf(e.length-1)>-1);for(let e=0;e<i.length;e++){let r=i[e][1].sort(qo);a.next.push({type:i[e][0],next:t[r.join(`,`)]||n(r)})}return a}}function Xo(e,t){for(let n=0,r=[e];n<r.length;n++){let e=r[n],i=!e.validEnd,a=[];for(let t=0;t<e.next.length;t++){let{type:n,next:o}=e.next[t];a.push(n.name),i&&!(n.isText||n.hasRequiredAttrs())&&(i=!1),r.indexOf(o)==-1&&r.push(o)}i&&t.err(`Only non-generatable nodes (`+a.join(`, `)+`) in a required position (see https://prosemirror.net/docs/guide/#generatable)`)}}function Zo(e){let t=Object.create(null);for(let n in e){let r=e[n];if(!r.hasDefault)return null;t[n]=r.default}return t}function Qo(e,t){let n=Object.create(null);for(let r in e){let i=t&&t[r];if(i===void 0){let t=e[r];if(t.hasDefault)i=t.default;else throw RangeError(`No value supplied for attribute `+r)}n[r]=i}return n}function $o(e,t,n,r){for(let i in t)if(!(i in e))throw RangeError(`Unsupported attribute ${i} for ${n} of type ${r}`);for(let n in e)e[n].validate&&e[n].validate(t[n])}function es(e,t){let n=Object.create(null);if(t)for(let r in t)n[r]=new rs(e,r,t[r]);return n}var ts=class e{constructor(e,t,n){this.name=e,this.schema=t,this.spec=n,this.markSet=null,this.groups=n.group?n.group.split(` `):[],this.attrs=es(e,n.attrs),this.defaultAttrs=Zo(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(n.inline||e==`text`),this.isText=e==`text`}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==Lo.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?`pre`:`normal`)}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:Qo(this.attrs,e)}create(e=null,t,n){if(this.isText)throw Error(`NodeType.create can't construct text nodes`);return new Po(this,this.computeAttrs(e),K.from(t),q.setFrom(n))}createChecked(e=null,t,n){return t=K.from(t),this.checkContent(t),new Po(this,this.computeAttrs(e),t,q.setFrom(n))}createAndFill(e=null,t,n){if(e=this.computeAttrs(e),t=K.from(t),t.size){let e=this.contentMatch.fillBefore(t);if(!e)return null;t=e.append(t)}let r=this.contentMatch.matchFragment(t),i=r&&r.fillBefore(K.empty,!0);return i?new Po(this,e,t.append(i),q.setFrom(n)):null}validContent(e){let t=this.contentMatch.matchFragment(e);if(!t||!t.validEnd)return!1;for(let t=0;t<e.childCount;t++)if(!this.allowsMarks(e.child(t).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){$o(this.attrs,e,`node`,this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let t=0;t<e.length;t++)if(!this.allowsMarkType(e[t].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let t;for(let n=0;n<e.length;n++)this.allowsMarkType(e[n].type)?t&&t.push(e[n]):t||=e.slice(0,n);return t?t.length?t:q.none:e}static compile(t,n){let r=Object.create(null);t.forEach((t,i)=>r[t]=new e(t,n,i));let i=n.spec.topNode||`doc`;if(!r[i])throw RangeError(`Schema is missing its top node type ('`+i+`')`);if(!r.text)throw RangeError(`Every schema needs a 'text' type`);for(let e in r.text.attrs)throw RangeError(`The text node type should not have attributes`);return r}};function ns(e,t,n){let r=n.split(`|`);return n=>{let i=n===null?`null`:typeof n;if(r.indexOf(i)<0)throw RangeError(`Expected value of type ${r} for attribute ${t} on type ${e}, got ${i}`)}}var rs=class{constructor(e,t,n){this.hasDefault=Object.prototype.hasOwnProperty.call(n,`default`),this.default=n.default,this.validate=typeof n.validate==`string`?ns(e,t,n.validate):n.validate}get isRequired(){return!this.hasDefault}},is=class e{constructor(e,t,n,r){this.name=e,this.rank=t,this.schema=n,this.spec=r,this.attrs=es(e,r.attrs),this.excluded=null;let i=Zo(this.attrs);this.instance=i?new q(this,i):null}create(e=null){return!e&&this.instance?this.instance:new q(this,Qo(this.attrs,e))}static compile(t,n){let r=Object.create(null),i=0;return t.forEach((t,a)=>r[t]=new e(t,i++,n,a)),r}removeFromSet(e){for(var t=0;t<e.length;t++)e[t].type==this&&(e=e.slice(0,t).concat(e.slice(t+1)),t--);return e}isInSet(e){for(let t=0;t<e.length;t++)if(e[t].type==this)return e[t]}checkAttrs(e){$o(this.attrs,e,`mark`,this.name)}excludes(e){return this.excluded.indexOf(e)>-1}},as=class{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let t=this.spec={};for(let n in e)t[n]=e[n];t.nodes=oo.from(e.nodes),t.marks=oo.from(e.marks||{}),this.nodes=ts.compile(this.spec.nodes,this),this.marks=is.compile(this.spec.marks,this);let n=Object.create(null);for(let e in this.nodes){if(e in this.marks)throw RangeError(e+` can not be both a node and a mark`);let t=this.nodes[e],r=t.spec.content||``,i=t.spec.marks;if(t.contentMatch=n[r]||(n[r]=Lo.parse(r,this.nodes)),t.inlineContent=t.contentMatch.inlineContent,t.spec.linebreakReplacement){if(this.linebreakReplacement)throw RangeError(`Multiple linebreak nodes defined`);if(!t.isInline||!t.isLeaf)throw RangeError(`Linebreak replacement nodes must be inline leaf nodes`);this.linebreakReplacement=t}t.markSet=i==`_`?null:i?ss(this,i.split(` `)):i==``||!t.inlineContent?[]:null}for(let e in this.marks){let t=this.marks[e],n=t.spec.excludes;t.excluded=n==null?[t]:n==``?[]:ss(this,n.split(` `))}this.nodeFromJSON=e=>Po.fromJSON(this,e),this.markFromJSON=e=>q.fromJSON(this,e),this.topNodeType=this.nodes[this.spec.topNode||`doc`],this.cached.wrappings=Object.create(null)}node(e,t=null,n,r){if(typeof e==`string`)e=this.nodeType(e);else if(!(e instanceof ts))throw RangeError(`Invalid node type: `+e);else if(e.schema!=this)throw RangeError(`Node type from different schema used (`+e.name+`)`);return e.createChecked(t,n,r)}text(e,t){let n=this.nodes.text;return new Fo(n,n.defaultAttrs,e,q.setFrom(t))}mark(e,t){return typeof e==`string`&&(e=this.marks[e]),e.create(t)}nodeType(e){let t=this.nodes[e];if(!t)throw RangeError(`Unknown node type: `+e);return t}};function ss(e,t){let n=[];for(let r=0;r<t.length;r++){let i=t[r],a=e.marks[i],o=a;if(a)n.push(a);else for(let t in e.marks){let r=e.marks[t];(i==`_`||r.spec.group&&r.spec.group.split(` `).indexOf(i)>-1)&&n.push(o=r)}if(!o)throw SyntaxError(`Unknown mark type: '`+t[r]+`'`)}return n}function cs(e){return e.tag!=null}function ls(e){return e.style!=null}var us=class e{constructor(e,t){this.schema=e,this.rules=t,this.tags=[],this.styles=[];let n=this.matchedStyles=[];t.forEach(e=>{if(cs(e))this.tags.push(e);else if(ls(e)){let t=/[^=]*/.exec(e.style)[0];n.indexOf(t)<0&&n.push(t),this.styles.push(e)}}),this.normalizeLists=!this.tags.some(t=>{if(!/^(ul|ol)\b/.test(t.tag)||!t.node)return!1;let n=e.nodes[t.node];return n.contentMatch.matchType(n)})}parse(e,t={}){let n=new ys(this,t,!1);return n.addAll(e,q.none,t.from,t.to),n.finish()}parseSlice(e,t={}){let n=new ys(this,t,!0);return n.addAll(e,q.none,t.from,t.to),J.maxOpen(n.finish())}matchTag(e,t,n){for(let r=n?this.tags.indexOf(n)+1:0;r<this.tags.length;r++){let n=this.tags[r];if(xs(e,n.tag)&&(n.namespace===void 0||e.namespaceURI==n.namespace)&&(!n.context||t.matchesContext(n.context))){if(n.getAttrs){let t=n.getAttrs(e);if(t===!1)continue;n.attrs=t||void 0}return n}}}matchStyle(e,t,n,r){for(let i=r?this.styles.indexOf(r)+1:0;i<this.styles.length;i++){let r=this.styles[i],a=r.style;if(!(a.indexOf(e)!=0||r.context&&!n.matchesContext(r.context)||a.length>e.length&&(a.charCodeAt(e.length)!=61||a.slice(e.length+1)!=t))){if(r.getAttrs){let e=r.getAttrs(t);if(e===!1)continue;r.attrs=e||void 0}return r}}}static schemaRules(e){let t=[];function n(e){let n=e.priority==null?50:e.priority,r=0;for(;r<t.length;r++){let e=t[r];if((e.priority==null?50:e.priority)<n)break}t.splice(r,0,e)}for(let t in e.marks){let r=e.marks[t].spec.parseDOM;r&&r.forEach(e=>{n(e=Ss(e)),e.mark||e.ignore||e.clearMark||(e.mark=t)})}for(let t in e.nodes){let r=e.nodes[t].spec.parseDOM;r&&r.forEach(e=>{n(e=Ss(e)),e.node||e.ignore||e.mark||(e.node=t)})}return t}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new e(t,e.schemaRules(t)))}},ds={address:!0,article:!0,aside:!0,blockquote:!0,body:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},fs={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},ps={ol:!0,ul:!0},ms=1,hs=2,gs=4;function _s(e,t,n){return t==null?e&&e.whitespace==`pre`?3:n&-5:(t?ms:0)|(t===`full`?hs:0)}var vs=class{constructor(e,t,n,r,i,a){this.type=e,this.attrs=t,this.marks=n,this.solid=r,this.options=a,this.content=[],this.activeMarks=q.none,this.match=i||(a&gs?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let t=this.type.contentMatch.fillBefore(K.from(e));if(t)this.match=this.type.contentMatch.matchFragment(t);else{let t=this.type.contentMatch,n;return(n=t.findWrapping(e.type))?(this.match=t,n):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&ms)){let e=this.content[this.content.length-1],t;if(e&&e.isText&&(t=/[ \t\r\n\u000c]+$/.exec(e.text))){let n=e;e.text.length==t[0].length?this.content.pop():this.content[this.content.length-1]=n.withText(n.text.slice(0,n.text.length-t[0].length))}}let t=K.from(this.content);return!e&&this.match&&(t=t.append(this.match.fillBefore(K.empty,!0))),this.type?this.type.create(this.attrs,t,this.marks):t}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!ds.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}},ys=class{constructor(e,t,n){this.parser=e,this.options=t,this.isOpen=n,this.open=0,this.localPreserveWS=!1;let r=t.topNode,i,a=_s(null,t.preserveWhitespace,0)|(n?gs:0);i=r?new vs(r.type,r.attrs,q.none,!0,t.topMatch||r.type.contentMatch,a):n?new vs(null,null,q.none,!0,null,a):new vs(e.schema.topNodeType,null,q.none,!0,null,a),this.nodes=[i],this.find=t.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,t){e.nodeType==3?this.addTextNode(e,t):e.nodeType==1&&this.addElement(e,t)}addTextNode(e,t){let n=e.nodeValue,r=this.top,i=r.options&hs?`full`:this.localPreserveWS||(r.options&ms)>0,{schema:a}=this.parser;if(i===`full`||r.inlineContext(e)||/[^ \t\r\n\u000c]/.test(n)){if(!i){if(n=n.replace(/[ \t\r\n\u000c]+/g,` `),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){let t=r.content[r.content.length-1],i=e.previousSibling;(!t||i&&i.nodeName==`BR`||t.isText&&/[ \t\r\n\u000c]$/.test(t.text))&&(n=n.slice(1))}}else if(i===`full`)n=n.replace(/\r\n?/g,`
|
|
10
|
-
`);else if(a.linebreakReplacement&&/[\r\n]/.test(n)&&this.top.findWrapping(a.linebreakReplacement.create())){let e=n.split(/\r?\n|\r/);for(let n=0;n<e.length;n++)n&&this.insertNode(a.linebreakReplacement.create(),t,!0),e[n]&&this.insertNode(a.text(e[n]),t,!/\S/.test(e[n]));n=``}else n=n.replace(/\r?\n|\r/g,` `);n&&this.insertNode(a.text(n),t,!/\S/.test(n)),this.findInText(e)}else this.findInside(e)}addElement(e,t,n){let r=this.localPreserveWS,i=this.top;(e.tagName==`PRE`||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let a=e.nodeName.toLowerCase(),o;ps.hasOwnProperty(a)&&this.parser.normalizeLists&&bs(e);let s=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(o=this.parser.matchTag(e,this,n));out:if(s?s.ignore:fs.hasOwnProperty(a))this.findInside(e),this.ignoreFallback(e,t);else if(!s||s.skip||s.closeParent){s&&s.closeParent?this.open=Math.max(0,this.open-1):s&&s.skip.nodeType&&(e=s.skip);let n,r=this.needsBlock;if(ds.hasOwnProperty(a))i.content.length&&i.content[0].isInline&&this.open&&(this.open--,i=this.top),n=!0,i.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,t);break out}let o=s&&s.skip?t:this.readStyles(e,t);o&&this.addAll(e,o),n&&this.sync(i),this.needsBlock=r}else{let n=this.readStyles(e,t);n&&this.addElementByRule(e,s,n,s.consuming===!1?o:void 0)}this.localPreserveWS=r}leafFallback(e,t){e.nodeName==`BR`&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
|
|
11
|
-
`),t)}ignoreFallback(e,t){e.nodeName==`BR`&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text(`-`),t,!0)}readStyles(e,t){let n=e.style;if(n&&n.length)for(let e=0;e<this.parser.matchedStyles.length;e++){let r=this.parser.matchedStyles[e],i=n.getPropertyValue(r);if(i)for(let e;;){let n=this.parser.matchStyle(r,i,this,e);if(!n)break;if(n.ignore)return null;if(t=n.clearMark?t.filter(e=>!n.clearMark(e)):t.concat(this.parser.schema.marks[n.mark].create(n.attrs)),n.consuming===!1)e=n;else break}}return t}addElementByRule(e,t,n,r){let i,a;if(t.node)if(a=this.parser.schema.nodes[t.node],a.isLeaf)this.insertNode(a.create(t.attrs),n,e.nodeName==`BR`)||this.leafFallback(e,n);else{let e=this.enter(a,t.attrs||null,n,t.preserveWhitespace);e&&(i=!0,n=e)}else{let e=this.parser.schema.marks[t.mark];n=n.concat(e.create(t.attrs))}let o=this.top;if(a&&a.isLeaf)this.findInside(e);else if(r)this.addElement(e,n,r);else if(t.getContent)this.findInside(e),t.getContent(e,this.parser.schema).forEach(e=>this.insertNode(e,n,!1));else{let r=e;typeof t.contentElement==`string`?r=e.querySelector(t.contentElement):typeof t.contentElement==`function`?r=t.contentElement(e):t.contentElement&&(r=t.contentElement),this.findAround(e,r,!0),this.addAll(r,n),this.findAround(e,r,!1)}i&&this.sync(o)&&this.open--}addAll(e,t,n,r){let i=n||0;for(let a=n?e.childNodes[n]:e.firstChild,o=r==null?null:e.childNodes[r];a!=o;a=a.nextSibling,++i)this.findAtPoint(e,i),this.addDOM(a,t);this.findAtPoint(e,i)}findPlace(e,t,n){let r,i;for(let t=this.open,a=0;t>=0;t--){let o=this.nodes[t],s=o.findWrapping(e);if(s&&(!r||r.length>s.length+a)&&(r=s,i=o,!s.length))break;if(o.solid){if(n)break;a+=2}}if(!r)return null;this.sync(i);for(let e=0;e<r.length;e++)t=this.enterInner(r[e],null,t,!1);return t}insertNode(e,t,n){if(e.isInline&&this.needsBlock&&!this.top.type){let e=this.textblockFromContext();e&&(t=this.enterInner(e,null,t))}let r=this.findPlace(e,t,n);if(r){this.closeExtra();let t=this.top;t.match&&=t.match.matchType(e.type);let n=q.none;for(let i of r.concat(e.marks))(t.type?t.type.allowsMarkType(i.type):Cs(i.type,e.type))&&(n=i.addToSet(n));return t.content.push(e.mark(n)),!0}return!1}enter(e,t,n,r){let i=this.findPlace(e.create(t),n,!1);return i&&=this.enterInner(e,t,n,!0,r),i}enterInner(e,t,n,r=!1,i){this.closeExtra();let a=this.top;a.match=a.match&&a.match.matchType(e);let o=_s(e,i,a.options);a.options&gs&&a.content.length==0&&(o|=gs);let s=q.none;return n=n.filter(t=>(a.type?a.type.allowsMarkType(t.type):Cs(t.type,e))?(s=t.addToSet(s),!1):!0),this.nodes.push(new vs(e,t,s,r,null,o)),this.open++,n}closeExtra(e=!1){let t=this.nodes.length-1;if(t>this.open){for(;t>this.open;t--)this.nodes[t-1].content.push(this.nodes[t].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let t=this.open;t>=0;t--)if(this.nodes[t]==e)return this.open=t,!0;else this.localPreserveWS&&(this.nodes[t].options|=ms);return!1}get currentPos(){this.closeExtra();let e=0;for(let t=this.open;t>=0;t--){let n=this.nodes[t].content;for(let t=n.length-1;t>=0;t--)e+=n[t].nodeSize;t&&e++}return e}findAtPoint(e,t){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&this.find[n].offset==t&&(this.find[n].pos=this.currentPos)}findInside(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].pos==null&&e.nodeType==1&&e.contains(this.find[t].node)&&(this.find[t].pos=this.currentPos)}findAround(e,t,n){if(e!=t&&this.find)for(let r=0;r<this.find.length;r++)this.find[r].pos==null&&e.nodeType==1&&e.contains(this.find[r].node)&&t.compareDocumentPosition(this.find[r].node)&(n?2:4)&&(this.find[r].pos=this.currentPos)}findInText(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].node==e&&(this.find[t].pos=this.currentPos-(e.nodeValue.length-this.find[t].offset))}matchesContext(e){if(e.indexOf(`|`)>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let t=e.split(`/`),n=this.options.context,r=!this.isOpen&&(!n||n.parent.type==this.nodes[0].type),i=-(n?n.depth+1:0)+ +!r,a=(e,o)=>{for(;e>=0;e--){let s=t[e];if(s==``){if(e==t.length-1||e==0)continue;for(;o>=i;o--)if(a(e-1,o))return!0;return!1}else{let e=o>0||o==0&&r?this.nodes[o].type:n&&o>=i?n.node(o-i).type:null;if(!e||e.name!=s&&!e.isInGroup(s))return!1;o--}}return!0};return a(t.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let t=e.depth;t>=0;t--){let n=e.node(t).contentMatchAt(e.indexAfter(t)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let e in this.parser.schema.nodes){let t=this.parser.schema.nodes[e];if(t.isTextblock&&t.defaultAttrs)return t}}};function bs(e){for(let t=e.firstChild,n=null;t;t=t.nextSibling){let e=t.nodeType==1?t.nodeName.toLowerCase():null;e&&ps.hasOwnProperty(e)&&n?(n.appendChild(t),t=n):e==`li`?n=t:e&&(n=null)}}function xs(e,t){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,t)}function Ss(e){let t={};for(let n in e)t[n]=e[n];return t}function Cs(e,t){let n=t.schema.nodes;for(let r in n){let i=n[r];if(!i.allowsMarkType(e))continue;let a=[],o=e=>{a.push(e);for(let n=0;n<e.edgeCount;n++){let{type:r,next:i}=e.edge(n);if(r==t||a.indexOf(i)<0&&o(i))return!0}};if(o(i.contentMatch))return!0}}var ws=class e{constructor(e,t){this.nodes=e,this.marks=t}serializeFragment(e,t={},n){n||=Es(t).createDocumentFragment();let r=n,i=[];return e.forEach(e=>{if(i.length||e.marks.length){let n=0,a=0;for(;n<i.length&&a<e.marks.length;){let t=e.marks[a];if(!this.marks[t.type.name]){a++;continue}if(!t.eq(i[n][0])||t.type.spec.spanning===!1)break;n++,a++}for(;n<i.length;)r=i.pop()[1];for(;a<e.marks.length;){let n=e.marks[a++],o=this.serializeMark(n,e.isInline,t);o&&(i.push([n,r]),r.appendChild(o.dom),r=o.contentDOM||o.dom)}}r.appendChild(this.serializeNodeInner(e,t))}),n}serializeNodeInner(e,t){if(e.isText)return Es(t).createTextNode(e.text);let{dom:n,contentDOM:r}=As(Es(t),this.nodes[e.type.name](e),null,e.attrs);if(r){if(e.isLeaf)throw RangeError(`Content hole not allowed in a leaf node spec`);this.serializeFragment(e.content,t,r)}return n}serializeNode(e,t={}){let n=this.serializeNodeInner(e,t);for(let r=e.marks.length-1;r>=0;r--){let i=this.serializeMark(e.marks[r],e.isInline,t);i&&((i.contentDOM||i.dom).appendChild(n),n=i.dom)}return n}serializeMark(e,t,n={}){let r=this.marks[e.type.name];return r&&As(Es(n),r(e,t),null,e.attrs)}static renderSpec(e,t,n=null,r){return typeof t==`string`?{dom:e.createTextNode(t)}:As(e,t,n,r)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new e(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(e){let t=Ts(e.nodes);return t.text||=e=>e.text,t}static marksFromSchema(e){return Ts(e.marks)}};function Ts(e){let t={};for(let n in e){let r=e[n].spec.toDOM;r&&(t[n]=r)}return t}function Es(e){return e.document||window.document}var Ds=new WeakMap;function Os(e){let t=Ds.get(e);return t===void 0&&Ds.set(e,t=ks(e)),t}function ks(e){let t=null;function n(e){if(e&&typeof e==`object`)if(Array.isArray(e))if(typeof e[0]==`string`)t||=[],t.push(e);else for(let t=0;t<e.length;t++)n(e[t]);else for(let t in e)n(e[t])}return n(e),t}function As(e,t,n,r){if(t.nodeType==1)return{dom:t};if(t.dom&&t.dom.nodeType==1)return t;let i=t[0],a;if(typeof i!=`string`)throw RangeError(`Invalid array passed to renderSpec`);if(r&&(a=Os(r))&&a.indexOf(t)>-1)throw RangeError(`Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.`);let o=i.indexOf(` `);o>0&&(n=i.slice(0,o),i=i.slice(o+1));let s,c=n?e.createElementNS(n,i):e.createElement(i),l=t[1],u=1;if(l&&typeof l==`object`&&l.nodeType==null&&!Array.isArray(l)){u=2;for(let e in l)if(l[e]!=null){let t=e.indexOf(` `);t>0?c.setAttributeNS(e.slice(0,t),e.slice(t+1),l[e]):e==`style`&&c.style?c.style.cssText=l[e]:c.setAttribute(e,l[e])}}for(let i=u;i<t.length;i++){let a=t[i];if(a===0){if(i<t.length-1||i>u)throw RangeError(`Content hole must be the only child of its parent node`);return{dom:c,contentDOM:c}}else if(typeof a==`string`)c.appendChild(e.createTextNode(a));else{let{dom:t,contentDOM:i}=As(e,a,n,r);if(c.appendChild(t),i){if(s)throw RangeError(`Multiple content holes`);s=i}}}return{dom:c,contentDOM:s}}var js=65535,Ms=2**16;function Ns(e,t){return e+t*Ms}function Ps(e){return e&js}function Fs(e){return(e-(e&js))/Ms}var Is=1,Ls=2,Rs=4,zs=8,Bs=class{constructor(e,t,n){this.pos=e,this.delInfo=t,this.recover=n}get deleted(){return(this.delInfo&zs)>0}get deletedBefore(){return(this.delInfo&5)>0}get deletedAfter(){return(this.delInfo&6)>0}get deletedAcross(){return(this.delInfo&Rs)>0}},Vs=class e{constructor(t,n=!1){if(this.ranges=t,this.inverted=n,!t.length&&e.empty)return e.empty}recover(e){let t=0,n=Ps(e);if(!this.inverted)for(let e=0;e<n;e++)t+=this.ranges[e*3+2]-this.ranges[e*3+1];return this.ranges[n*3]+t+Fs(e)}mapResult(e,t=1){return this._map(e,t,!1)}map(e,t=1){return this._map(e,t,!0)}_map(e,t,n){let r=0,i=this.inverted?2:1,a=this.inverted?1:2;for(let o=0;o<this.ranges.length;o+=3){let s=this.ranges[o]-(this.inverted?r:0);if(s>e)break;let c=this.ranges[o+i],l=this.ranges[o+a],u=s+c;if(e<=u){let i=c?e==s?-1:e==u?1:t:t,a=s+r+(i<0?0:l);if(n)return a;let d=e==(t<0?s:u)?null:Ns(o/3,e-s),f=e==s?Ls:e==u?Is:Rs;return(t<0?e!=s:e!=u)&&(f|=zs),new Bs(a,f,d)}r+=l-c}return n?e+r:new Bs(e+r,0,null)}touches(e,t){let n=0,r=Ps(t),i=this.inverted?2:1,a=this.inverted?1:2;for(let t=0;t<this.ranges.length;t+=3){let o=this.ranges[t]-(this.inverted?n:0);if(o>e)break;let s=this.ranges[t+i];if(e<=o+s&&t==r*3)return!0;n+=this.ranges[t+a]-s}return!1}forEach(e){let t=this.inverted?2:1,n=this.inverted?1:2;for(let r=0,i=0;r<this.ranges.length;r+=3){let a=this.ranges[r],o=a-(this.inverted?i:0),s=a+(this.inverted?0:i),c=this.ranges[r+t],l=this.ranges[r+n];e(o,o+c,s,s+l),i+=l-c}}invert(){return new e(this.ranges,!this.inverted)}toString(){return(this.inverted?`-`:``)+JSON.stringify(this.ranges)}static offset(t){return t==0?e.empty:new e(t<0?[0,-t,0]:[0,0,t])}};Vs.empty=new Vs([]);var Hs=class e{constructor(e,t,n=0,r=e?e.length:0){this.mirror=t,this.from=n,this.to=r,this._maps=e||[],this.ownData=!(e||t)}get maps(){return this._maps}slice(t=0,n=this.maps.length){return new e(this._maps,this.mirror,t,n)}appendMap(e,t){this.ownData||=(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),!0),this.to=this._maps.push(e),t!=null&&this.setMirror(this._maps.length-1,t)}appendMapping(e){for(let t=0,n=this._maps.length;t<e._maps.length;t++){let r=e.getMirror(t);this.appendMap(e._maps[t],r!=null&&r<t?n+r:void 0)}}getMirror(e){if(this.mirror){for(let t=0;t<this.mirror.length;t++)if(this.mirror[t]==e)return this.mirror[t+(t%2?-1:1)]}}setMirror(e,t){this.mirror||=[],this.mirror.push(e,t)}appendMappingInverted(e){for(let t=e.maps.length-1,n=this._maps.length+e._maps.length;t>=0;t--){let r=e.getMirror(t);this.appendMap(e._maps[t].invert(),r!=null&&r>t?n-r-1:void 0)}}invert(){let t=new e;return t.appendMappingInverted(this),t}map(e,t=1){if(this.mirror)return this._map(e,t,!0);for(let n=this.from;n<this.to;n++)e=this._maps[n].map(e,t);return e}mapResult(e,t=1){return this._map(e,t,!1)}_map(e,t,n){let r=0;for(let n=this.from;n<this.to;n++){let i=this._maps[n].mapResult(e,t);if(i.recover!=null){let t=this.getMirror(n);if(t!=null&&t>n&&t<this.to){n=t,e=this._maps[t].recover(i.recover);continue}}r|=i.delInfo,e=i.pos}return n?e:new Bs(e,r,null)}},Us=Object.create(null),Ws=class{getMap(){return Vs.empty}merge(e){return null}static fromJSON(e,t){if(!t||!t.stepType)throw RangeError(`Invalid input for Step.fromJSON`);let n=Us[t.stepType];if(!n)throw RangeError(`No step type ${t.stepType} defined`);return n.fromJSON(e,t)}static jsonID(e,t){if(e in Us)throw RangeError(`Duplicate use of step JSON ID `+e);return Us[e]=t,t.prototype.jsonID=e,t}},Gs=class e{constructor(e,t){this.doc=e,this.failed=t}static ok(t){return new e(t,null)}static fail(t){return new e(null,t)}static fromReplace(t,n,r,i){try{return e.ok(t.replace(n,r,i))}catch(t){if(t instanceof ho)return e.fail(t.message);throw t}}};function Ks(e,t,n){let r=[];for(let i=0;i<e.childCount;i++){let a=e.child(i);a.content.size&&(a=a.copy(Ks(a.content,t,a))),a.isInline&&(a=t(a,n,i)),r.push(a)}return K.fromArray(r)}var qs=class e extends Ws{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=e.resolve(this.from),r=n.node(n.sharedDepth(this.to)),i=new J(Ks(t.content,(e,t)=>!e.isAtom||!t.type.allowsMarkType(this.mark.type)?e:e.mark(this.mark.addToSet(e.marks)),r),t.openStart,t.openEnd);return Gs.fromReplace(e,this.from,this.to,i)}invert(){return new Js(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`addMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for AddMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};Ws.jsonID(`addMark`,qs);var Js=class e extends Ws{constructor(e,t,n){super(),this.from=e,this.to=t,this.mark=n}apply(e){let t=e.slice(this.from,this.to),n=new J(Ks(t.content,e=>e.mark(this.mark.removeFromSet(e.marks)),e),t.openStart,t.openEnd);return Gs.fromReplace(e,this.from,this.to,n)}invert(){return new qs(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:`removeMark`,mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for RemoveMarkStep.fromJSON`);return new e(n.from,n.to,t.markFromJSON(n.mark))}};Ws.jsonID(`removeMark`,Js);var Ys=class e extends Ws{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return Gs.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.addToSet(t.marks));return Gs.fromReplace(e,this.pos,this.pos+1,new J(K.from(n),0,+!t.isLeaf))}invert(t){let n=t.nodeAt(this.pos);if(n){let t=this.mark.addToSet(n.marks);if(t.length==n.marks.length){for(let r=0;r<n.marks.length;r++)if(!n.marks[r].isInSet(t))return new e(this.pos,n.marks[r]);return new e(this.pos,this.mark)}}return new Xs(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`addNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for AddNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};Ws.jsonID(`addNodeMark`,Ys);var Xs=class e extends Ws{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return Gs.fail(`No node at mark step's position`);let n=t.type.create(t.attrs,null,this.mark.removeFromSet(t.marks));return Gs.fromReplace(e,this.pos,this.pos+1,new J(K.from(n),0,+!t.isLeaf))}invert(e){let t=e.nodeAt(this.pos);return!t||!this.mark.isInSet(t.marks)?this:new Ys(this.pos,this.mark)}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.mark)}toJSON(){return{stepType:`removeNodeMark`,pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for RemoveNodeMarkStep.fromJSON`);return new e(n.pos,t.markFromJSON(n.mark))}};Ws.jsonID(`removeNodeMark`,Xs);var Zs=class e extends Ws{constructor(e,t,n,r=!1){super(),this.from=e,this.to=t,this.slice=n,this.structure=r}apply(e){return this.structure&&$s(e,this.from,this.to)?Gs.fail(`Structure replace would overwrite content`):Gs.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new Vs([this.from,this.to-this.from,this.slice.size])}invert(t){return new e(this.from,this.from+this.slice.size,t.slice(this.from,this.to))}map(t){let n=t.mapResult(this.to,-1),r=this.from==this.to&&e.MAP_BIAS<0?n:t.mapResult(this.from,1);return r.deletedAcross&&n.deletedAcross?null:new e(r.pos,Math.max(r.pos,n.pos),this.slice,this.structure)}merge(t){if(!(t instanceof e)||t.structure||this.structure)return null;if(this.from+this.slice.size==t.from&&!this.slice.openEnd&&!t.slice.openStart){let n=this.slice.size+t.slice.size==0?J.empty:new J(this.slice.content.append(t.slice.content),this.slice.openStart,t.slice.openEnd);return new e(this.from,this.to+(t.to-t.from),n,this.structure)}else if(t.to==this.from&&!this.slice.openStart&&!t.slice.openEnd){let n=this.slice.size+t.slice.size==0?J.empty:new J(t.slice.content.append(this.slice.content),t.slice.openStart,this.slice.openEnd);return new e(t.from,this.to,n,this.structure)}else return null}toJSON(){let e={stepType:`replace`,from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`)throw RangeError(`Invalid input for ReplaceStep.fromJSON`);return new e(n.from,n.to,J.fromJSON(t,n.slice),!!n.structure)}};Zs.MAP_BIAS=1,Ws.jsonID(`replace`,Zs);var Qs=class e extends Ws{constructor(e,t,n,r,i,a,o=!1){super(),this.from=e,this.to=t,this.gapFrom=n,this.gapTo=r,this.slice=i,this.insert=a,this.structure=o}apply(e){if(this.structure&&($s(e,this.from,this.gapFrom)||$s(e,this.gapTo,this.to)))return Gs.fail(`Structure gap-replace would overwrite content`);let t=e.slice(this.gapFrom,this.gapTo);if(t.openStart||t.openEnd)return Gs.fail(`Gap is not a flat range`);let n=this.slice.insertAt(this.insert,t.content);return n?Gs.fromReplace(e,this.from,this.to,n):Gs.fail(`Content does not fit in gap`)}getMap(){return new Vs([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(t){let n=this.gapTo-this.gapFrom;return new e(this.from,this.from+this.slice.size+n,this.from+this.insert,this.from+this.insert+n,t.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1),i=this.from==this.gapFrom?n.pos:t.map(this.gapFrom,-1),a=this.to==this.gapTo?r.pos:t.map(this.gapTo,1);return n.deletedAcross&&r.deletedAcross||i<n.pos||a>r.pos?null:new e(n.pos,r.pos,i,a,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:`replaceAround`,from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(t,n){if(typeof n.from!=`number`||typeof n.to!=`number`||typeof n.gapFrom!=`number`||typeof n.gapTo!=`number`||typeof n.insert!=`number`)throw RangeError(`Invalid input for ReplaceAroundStep.fromJSON`);return new e(n.from,n.to,n.gapFrom,n.gapTo,J.fromJSON(t,n.slice),n.insert,!!n.structure)}};Ws.jsonID(`replaceAround`,Qs);function $s(e,t,n){let r=e.resolve(t),i=n-t,a=r.depth;for(;i>0&&a>0&&r.indexAfter(a)==r.node(a).childCount;)a--,i--;if(i>0){let e=r.node(a).maybeChild(r.indexAfter(a));for(;i>0;){if(!e||e.isLeaf)return!0;e=e.firstChild,i--}}return!1}function ec(e,t,n,r){let i=[],a=[],o,s;e.doc.nodesBetween(t,n,(e,c,l)=>{if(!e.isInline)return;let u=e.marks;if(!r.isInSet(u)&&l.type.allowsMarkType(r.type)){let l=Math.max(c,t),d=Math.min(c+e.nodeSize,n),f=r.addToSet(u);for(let e=0;e<u.length;e++)u[e].isInSet(f)||(o&&o.to==l&&o.mark.eq(u[e])?o.to=d:i.push(o=new Js(l,d,u[e])));s&&s.to==l?s.to=d:a.push(s=new qs(l,d,r))}}),i.forEach(t=>e.step(t)),a.forEach(t=>e.step(t))}function tc(e,t,n,r){let i=[],a=0;e.doc.nodesBetween(t,n,(e,o)=>{if(!e.isInline)return;a++;let s=null;if(r instanceof is){let t=e.marks,n;for(;n=r.isInSet(t);)(s||=[]).push(n),t=n.removeFromSet(t)}else r?r.isInSet(e.marks)&&(s=[r]):s=e.marks;if(s&&s.length){let r=Math.min(o+e.nodeSize,n);for(let e=0;e<s.length;e++){let n=s[e],c;for(let e=0;e<i.length;e++){let t=i[e];t.step==a-1&&n.eq(i[e].style)&&(c=t)}c?(c.to=r,c.step=a):i.push({style:n,from:Math.max(o,t),to:r,step:a})}}}),i.forEach(t=>e.step(new Js(t.from,t.to,t.style)))}function nc(e,t,n,r=n.contentMatch,i=!0){let a=e.doc.nodeAt(t),o=[],s=t+1;for(let t=0;t<a.childCount;t++){let c=a.child(t),l=s+c.nodeSize,u=r.matchType(c.type);if(!u)o.push(new Zs(s,l,J.empty));else{r=u;for(let t=0;t<c.marks.length;t++)n.allowsMarkType(c.marks[t].type)||e.step(new Js(s,l,c.marks[t]));if(i&&c.isText&&n.whitespace!=`pre`){let e,t=/\r?\n|\r/g,r;for(;e=t.exec(c.text);)r||=new J(K.from(n.schema.text(` `,n.allowedMarks(c.marks))),0,0),o.push(new Zs(s+e.index,s+e.index+e[0].length,r))}}s=l}if(!r.validEnd){let t=r.fillBefore(K.empty,!0);e.replace(s,s,new J(t,0,0))}for(let t=o.length-1;t>=0;t--)e.step(o[t])}function rc(e,t,n){return(t==0||e.canReplace(t,e.childCount))&&(n==e.childCount||e.canReplace(0,n))}function ic(e){let t=e.parent.content.cutByIndex(e.startIndex,e.endIndex);for(let n=e.depth,r=0,i=0;;--n){let a=e.$from.node(n),o=e.$from.index(n)+r,s=e.$to.indexAfter(n)-i;if(n<e.depth&&a.canReplace(o,s,t))return n;if(n==0||a.type.spec.isolating||!rc(a,o,s))break;o&&(r=1),s<a.childCount&&(i=1)}return null}function ac(e,t,n){let{$from:r,$to:i,depth:a}=t,o=r.before(a+1),s=i.after(a+1),c=o,l=s,u=K.empty,d=0;for(let e=a,t=!1;e>n;e--)t||r.index(e)>0?(t=!0,u=K.from(r.node(e).copy(u)),d++):c--;let f=K.empty,p=0;for(let e=a,t=!1;e>n;e--)t||i.after(e+1)<i.end(e)?(t=!0,f=K.from(i.node(e).copy(f)),p++):l++;e.step(new Qs(c,l,o,s,new J(u.append(f),d,p),u.size-d,!0))}function oc(e,t,n=null,r=e){let i=cc(e,t),a=i&&lc(r,t);return a?i.map(sc).concat({type:t,attrs:n}).concat(a.map(sc)):null}function sc(e){return{type:e,attrs:null}}function cc(e,t){let{parent:n,startIndex:r,endIndex:i}=e,a=n.contentMatchAt(r).findWrapping(t);if(!a)return null;let o=a.length?a[0]:t;return n.canReplaceWith(r,i,o)?a:null}function lc(e,t){let{parent:n,startIndex:r,endIndex:i}=e,a=n.child(r),o=t.contentMatch.findWrapping(a.type);if(!o)return null;let s=(o.length?o[o.length-1]:t).contentMatch;for(let e=r;s&&e<i;e++)s=s.matchType(n.child(e).type);return!s||!s.validEnd?null:o}function uc(e,t,n){let r=K.empty;for(let e=n.length-1;e>=0;e--){if(r.size){let t=n[e].type.contentMatch.matchFragment(r);if(!t||!t.validEnd)throw RangeError(`Wrapper type given to Transform.wrap does not form valid content of its parent wrapper`)}r=K.from(n[e].type.create(n[e].attrs,r))}let i=t.start,a=t.end;e.step(new Qs(i,a,i,a,new J(r,0,0),n.length,!0))}function dc(e,t,n,r,i){if(!r.isTextblock)throw RangeError(`Type given to setBlockType should be a textblock`);let a=e.steps.length;e.doc.nodesBetween(t,n,(t,n)=>{let o=typeof i==`function`?i(t):i;if(t.isTextblock&&!t.hasMarkup(r,o)&&mc(e.doc,e.mapping.slice(a).map(n),r)){let i=null;if(r.schema.linebreakReplacement){let e=r.whitespace==`pre`,t=!!r.contentMatch.matchType(r.schema.linebreakReplacement);e&&!t?i=!1:!e&&t&&(i=!0)}i===!1&&pc(e,t,n,a),nc(e,e.mapping.slice(a).map(n,1),r,void 0,i===null);let s=e.mapping.slice(a),c=s.map(n,1),l=s.map(n+t.nodeSize,1);return e.step(new Qs(c,l,c+1,l-1,new J(K.from(r.create(o,null,t.marks)),0,0),1,!0)),i===!0&&fc(e,t,n,a),!1}})}function fc(e,t,n,r){t.forEach((i,a)=>{if(i.isText){let o,s=/\r?\n|\r/g;for(;o=s.exec(i.text);){let i=e.mapping.slice(r).map(n+1+a+o.index);e.replaceWith(i,i+1,t.type.schema.linebreakReplacement.create())}}})}function pc(e,t,n,r){t.forEach((i,a)=>{if(i.type==i.type.schema.linebreakReplacement){let i=e.mapping.slice(r).map(n+1+a);e.replaceWith(i,i+1,t.type.schema.text(`
|
|
12
|
-
`))}})}function mc(e,t,n){let r=e.resolve(t),i=r.index();return r.parent.canReplaceWith(i,i+1,n)}function hc(e,t,n,r,i){let a=e.doc.nodeAt(t);if(!a)throw RangeError(`No node at given position`);n||=a.type;let o=n.create(r,null,i||a.marks);if(a.isLeaf)return e.replaceWith(t,t+a.nodeSize,o);if(!n.validContent(a.content))throw RangeError(`Invalid content for node type `+n.name);e.step(new Qs(t,t+a.nodeSize,t+1,t+a.nodeSize-1,new J(K.from(o),0,0),1,!0))}function gc(e,t,n=1,r){let i=e.resolve(t),a=i.depth-n,o=r&&r[r.length-1]||i.parent;if(a<0||i.parent.type.spec.isolating||!i.parent.canReplace(i.index(),i.parent.childCount)||!o.type.validContent(i.parent.content.cutByIndex(i.index(),i.parent.childCount)))return!1;for(let e=i.depth-1,t=n-2;e>a;e--,t--){let n=i.node(e),a=i.index(e);if(n.type.spec.isolating)return!1;let o=n.content.cutByIndex(a,n.childCount),s=r&&r[t+1];s&&(o=o.replaceChild(0,s.type.create(s.attrs)));let c=r&&r[t]||n;if(!n.canReplace(a+1,n.childCount)||!c.type.validContent(o))return!1}let s=i.indexAfter(a),c=r&&r[0];return i.node(a).canReplaceWith(s,s,c?c.type:i.node(a+1).type)}function _c(e,t,n=1,r){let i=e.doc.resolve(t),a=K.empty,o=K.empty;for(let e=i.depth,t=i.depth-n,s=n-1;e>t;e--,s--){a=K.from(i.node(e).copy(a));let t=r&&r[s];o=K.from(t?t.type.create(t.attrs,o):i.node(e).copy(o))}e.step(new Zs(t,t,new J(a.append(o),n,n),!0))}function vc(e,t){let n=e.resolve(t),r=n.index();return bc(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(r,r+1)}function yc(e,t){t.content.size||e.type.compatibleContent(t.type);let n=e.contentMatchAt(e.childCount),{linebreakReplacement:r}=e.type.schema;for(let i=0;i<t.childCount;i++){let a=t.child(i),o=a.type==r?e.type.schema.nodes.text:a.type;if(n=n.matchType(o),!n||!e.type.allowsMarks(a.marks))return!1}return n.validEnd}function bc(e,t){return!!(e&&t&&!e.isLeaf&&yc(e,t))}function xc(e,t,n=-1){let r=e.resolve(t);for(let e=r.depth;;e--){let i,a,o=r.index(e);if(e==r.depth?(i=r.nodeBefore,a=r.nodeAfter):n>0?(i=r.node(e+1),o++,a=r.node(e).maybeChild(o)):(i=r.node(e).maybeChild(o-1),a=r.node(e+1)),i&&!i.isTextblock&&bc(i,a)&&r.node(e).canReplace(o,o+1))return t;if(e==0)break;t=n<0?r.before(e):r.after(e)}}function Sc(e,t,n){let r=null,{linebreakReplacement:i}=e.doc.type.schema,a=e.doc.resolve(t-n),o=a.node().type;if(i&&o.inlineContent){let e=o.whitespace==`pre`,t=!!o.contentMatch.matchType(i);e&&!t?r=!1:!e&&t&&(r=!0)}let s=e.steps.length;if(r===!1){let r=e.doc.resolve(t+n);pc(e,r.node(),r.before(),s)}o.inlineContent&&nc(e,t+n-1,o,a.node().contentMatchAt(a.index()),r==null);let c=e.mapping.slice(s),l=c.map(t-n);if(e.step(new Zs(l,c.map(t+n,-1),J.empty,!0)),r===!0){let t=e.doc.resolve(l);fc(e,t.node(),t.before(),e.steps.length)}return e}function Cc(e,t,n){let r=e.resolve(t);if(r.parent.canReplaceWith(r.index(),r.index(),n))return t;if(r.parentOffset==0)for(let e=r.depth-1;e>=0;e--){let t=r.index(e);if(r.node(e).canReplaceWith(t,t,n))return r.before(e+1);if(t>0)return null}if(r.parentOffset==r.parent.content.size)for(let e=r.depth-1;e>=0;e--){let t=r.indexAfter(e);if(r.node(e).canReplaceWith(t,t,n))return r.after(e+1);if(t<r.node(e).childCount)return null}return null}function wc(e,t,n){let r=e.resolve(t);if(!n.content.size)return t;let i=n.content;for(let e=0;e<n.openStart;e++)i=i.firstChild.content;for(let e=1;e<=(n.openStart==0&&n.size?2:1);e++)for(let t=r.depth;t>=0;t--){let n=t==r.depth?0:r.pos<=(r.start(t+1)+r.end(t+1))/2?-1:1,a=r.index(t)+ +(n>0),o=r.node(t),s=!1;if(e==1)s=o.canReplace(a,a,i);else{let e=o.contentMatchAt(a).findWrapping(i.firstChild.type);s=e&&o.canReplaceWith(a,a,e[0])}if(s)return n==0?r.pos:n<0?r.before(t+1):r.after(t+1)}return null}function Tc(e,t,n=t,r=J.empty){if(t==n&&!r.size)return null;let i=e.resolve(t),a=e.resolve(n);return Ec(i,a,r)?new Zs(t,n,r):new Dc(i,a,r).fit()}function Ec(e,t,n){return!n.openStart&&!n.openEnd&&e.start()==t.start()&&e.parent.canReplace(e.index(),t.index(),n.content)}var Dc=class{constructor(e,t,n){this.$from=e,this.$to=t,this.unplaced=n,this.frontier=[],this.placed=K.empty;for(let t=0;t<=e.depth;t++){let n=e.node(t);this.frontier.push({type:n.type,match:n.contentMatchAt(e.indexAfter(t))})}for(let t=e.depth;t>0;t--)this.placed=K.from(e.node(t).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let e=this.findFittable();e?this.placeNodes(e):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),t=this.placed.size-this.depth-this.$from.depth,n=this.$from,r=this.close(e<0?this.$to:n.doc.resolve(e));if(!r)return null;let i=this.placed,a=n.depth,o=r.depth;for(;a&&o&&i.childCount==1;)i=i.firstChild.content,a--,o--;let s=new J(i,a,o);return e>-1?new Qs(n.pos,e,this.$to.pos,this.$to.end(),s,t):s.size||n.pos!=this.$to.pos?new Zs(n.pos,r.pos,s):null}findFittable(){let e=this.unplaced.openStart;for(let t=this.unplaced.content,n=0,r=this.unplaced.openEnd;n<e;n++){let i=t.firstChild;if(t.childCount>1&&(r=0),i.type.spec.isolating&&r<=n){e=n;break}t=i.content}for(let t=1;t<=2;t++)for(let n=t==1?e:this.unplaced.openStart;n>=0;n--){let e,r=null;n?(r=Ac(this.unplaced.content,n-1).firstChild,e=r.content):e=this.unplaced.content;let i=e.firstChild;for(let e=this.depth;e>=0;e--){let{type:a,match:o}=this.frontier[e],s,c=null;if(t==1&&(i?o.matchType(i.type)||(c=o.fillBefore(K.from(i),!1)):r&&a.compatibleContent(r.type)))return{sliceDepth:n,frontierDepth:e,parent:r,inject:c};if(t==2&&i&&(s=o.findWrapping(i.type)))return{sliceDepth:n,frontierDepth:e,parent:r,wrap:s};if(r&&o.matchType(r.type))break}}}openMore(){let{content:e,openStart:t,openEnd:n}=this.unplaced,r=Ac(e,t);return!r.childCount||r.firstChild.isLeaf?!1:(this.unplaced=new J(e,t+1,Math.max(n,r.size+t>=e.size-n?t+1:0)),!0)}dropNode(){let{content:e,openStart:t,openEnd:n}=this.unplaced,r=Ac(e,t);if(r.childCount<=1&&t>0){let i=e.size-t<=t+r.size;this.unplaced=new J(Oc(e,t-1,1),t-1,i?t-1:n)}else this.unplaced=new J(Oc(e,t,1),t,n)}placeNodes({sliceDepth:e,frontierDepth:t,parent:n,inject:r,wrap:i}){for(;this.depth>t;)this.closeFrontierNode();if(i)for(let e=0;e<i.length;e++)this.openFrontierNode(i[e]);let a=this.unplaced,o=n?n.content:a.content,s=a.openStart-e,c=0,l=[],{match:u,type:d}=this.frontier[t];if(r){for(let e=0;e<r.childCount;e++)l.push(r.child(e));u=u.matchFragment(r)}let f=o.size+e-(a.content.size-a.openEnd);for(;c<o.childCount;){let e=o.child(c),t=u.matchType(e.type);if(!t)break;c++,(c>1||s==0||e.content.size)&&(u=t,l.push(jc(e.mark(d.allowedMarks(e.marks)),c==1?s:0,c==o.childCount?f:-1)))}let p=c==o.childCount;p||(f=-1),this.placed=kc(this.placed,t,K.from(l)),this.frontier[t].match=u,p&&f<0&&n&&n.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let e=0,t=o;e<f;e++){let e=t.lastChild;this.frontier.push({type:e.type,match:e.contentMatchAt(e.childCount)}),t=e.content}this.unplaced=p?e==0?J.empty:new J(Oc(a.content,e-1,1),e-1,f<0?a.openEnd:e-1):new J(Oc(a.content,e,c),a.openStart,a.openEnd)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let e=this.frontier[this.depth],t;if(!e.type.isTextblock||!Mc(this.$to,this.$to.depth,e.type,e.match,!1)||this.$to.depth==this.depth&&(t=this.findCloseLevel(this.$to))&&t.depth==this.depth)return-1;let{depth:n}=this.$to,r=this.$to.after(n);for(;n>1&&r==this.$to.end(--n);)++r;return r}findCloseLevel(e){scan:for(let t=Math.min(this.depth,e.depth);t>=0;t--){let{match:n,type:r}=this.frontier[t],i=t<e.depth&&e.end(t+1)==e.pos+(e.depth-(t+1)),a=Mc(e,t,r,n,i);if(a){for(let n=t-1;n>=0;n--){let{match:t,type:r}=this.frontier[n],i=Mc(e,n,r,t,!0);if(!i||i.childCount)continue scan}return{depth:t,fit:a,move:i?e.doc.resolve(e.after(t+1)):e}}}}close(e){let t=this.findCloseLevel(e);if(!t)return null;for(;this.depth>t.depth;)this.closeFrontierNode();t.fit.childCount&&(this.placed=kc(this.placed,t.depth,t.fit)),e=t.move;for(let n=t.depth+1;n<=e.depth;n++){let t=e.node(n),r=t.type.contentMatch.fillBefore(t.content,!0,e.index(n));this.openFrontierNode(t.type,t.attrs,r)}return e}openFrontierNode(e,t=null,n){let r=this.frontier[this.depth];r.match=r.match.matchType(e),this.placed=kc(this.placed,this.depth,K.from(e.create(t,n))),this.frontier.push({type:e,match:e.contentMatch})}closeFrontierNode(){let e=this.frontier.pop().match.fillBefore(K.empty,!0);e.childCount&&(this.placed=kc(this.placed,this.frontier.length,e))}};function Oc(e,t,n){return t==0?e.cutByIndex(n,e.childCount):e.replaceChild(0,e.firstChild.copy(Oc(e.firstChild.content,t-1,n)))}function kc(e,t,n){return t==0?e.append(n):e.replaceChild(e.childCount-1,e.lastChild.copy(kc(e.lastChild.content,t-1,n)))}function Ac(e,t){for(let n=0;n<t;n++)e=e.firstChild.content;return e}function jc(e,t,n){if(t<=0)return e;let r=e.content;return t>1&&(r=r.replaceChild(0,jc(r.firstChild,t-1,r.childCount==1?n-1:0))),t>0&&(r=e.type.contentMatch.fillBefore(r).append(r),n<=0&&(r=r.append(e.type.contentMatch.matchFragment(r).fillBefore(K.empty,!0)))),e.copy(r)}function Mc(e,t,n,r,i){let a=e.node(t),o=i?e.indexAfter(t):e.index(t);if(o==a.childCount&&!n.compatibleContent(a.type))return null;let s=r.fillBefore(a.content,!0,o);return s&&!Nc(n,a.content,o)?s:null}function Nc(e,t,n){for(let r=n;r<t.childCount;r++)if(!e.allowsMarks(t.child(r).marks))return!0;return!1}function Pc(e){return e.spec.defining||e.spec.definingForContent}function Fc(e,t,n,r){if(!r.size)return e.deleteRange(t,n);let i=e.doc.resolve(t),a=e.doc.resolve(n);if(Ec(i,a,r))return e.step(new Zs(t,n,r));let o=zc(i,a);o[o.length-1]==0&&o.pop();let s=-(i.depth+1);o.unshift(s);for(let e=i.depth,t=i.pos-1;e>0;e--,t--){let n=i.node(e).type.spec;if(n.defining||n.definingAsContext||n.isolating)break;o.indexOf(e)>-1?s=e:i.before(e)==t&&o.splice(1,0,-e)}let c=o.indexOf(s),l=[],u=r.openStart;for(let e=r.content,t=0;;t++){let n=e.firstChild;if(l.push(n),t==r.openStart)break;e=n.content}for(let e=u-1;e>=0;e--){let t=l[e],n=Pc(t.type);if(n&&!t.sameMarkup(i.node(Math.abs(s)-1)))u=e;else if(n||!t.type.isTextblock)break}for(let t=r.openStart;t>=0;t--){let s=(t+u+1)%(r.openStart+1),d=l[s];if(d)for(let t=0;t<o.length;t++){let l=o[(t+c)%o.length],u=!0;l<0&&(u=!1,l=-l);let f=i.node(l-1),p=i.index(l-1);if(f.canReplaceWith(p,p,d.type,d.marks))return e.replace(i.before(l),u?a.after(l):n,new J(Ic(r.content,0,r.openStart,s),s,r.openEnd))}}let d=e.steps.length;for(let s=o.length-1;s>=0&&(e.replace(t,n,r),!(e.steps.length>d));s--){let e=o[s];e<0||(t=i.before(e),n=a.after(e))}}function Ic(e,t,n,r,i){if(t<n){let i=e.firstChild;e=e.replaceChild(0,i.copy(Ic(i.content,t+1,n,r,i)))}if(t>r){let t=i.contentMatchAt(0),n=t.fillBefore(e).append(e);e=n.append(t.matchFragment(n).fillBefore(K.empty,!0))}return e}function Lc(e,t,n,r){if(!r.isInline&&t==n&&e.doc.resolve(t).parent.content.size){let i=Cc(e.doc,t,r.type);i!=null&&(t=n=i)}e.replaceRange(t,n,new J(K.from(r),0,0))}function Rc(e,t,n){let r=e.doc.resolve(t),i=e.doc.resolve(n);if(r.parent.isTextblock&&i.parent.isTextblock&&r.start()!=i.start()&&r.parentOffset==0&&i.parentOffset==0){let a=r.sharedDepth(n),o=!1;for(let e=r.depth;e>a;e--)r.node(e).type.spec.isolating&&(o=!0);for(let e=i.depth;e>a;e--)i.node(e).type.spec.isolating&&(o=!0);if(!o){for(let e=r.depth;e>0&&t==r.start(e);e--)t=r.before(e);for(let e=i.depth;e>0&&n==i.start(e);e--)n=i.before(e);r=e.doc.resolve(t),i=e.doc.resolve(n)}}let a=zc(r,i);for(let t=0;t<a.length;t++){let n=a[t],o=t==a.length-1;if(o&&n==0||r.node(n).type.contentMatch.validEnd)return e.delete(r.start(n),i.end(n));if(n>0&&(o||r.node(n-1).canReplace(r.index(n-1),i.indexAfter(n-1))))return e.delete(r.before(n),i.after(n))}for(let a=1;a<=r.depth&&a<=i.depth;a++)if(t-r.start(a)==r.depth-a&&n>r.end(a)&&i.end(a)-n!=i.depth-a&&r.start(a-1)==i.start(a-1)&&r.node(a-1).canReplace(r.index(a-1),i.index(a-1)))return e.delete(r.before(a),n);e.delete(t,n)}function zc(e,t){let n=[],r=Math.min(e.depth,t.depth);for(let i=r;i>=0;i--){let r=e.start(i);if(r<e.pos-(e.depth-i)||t.end(i)>t.pos+(t.depth-i)||e.node(i).type.spec.isolating||t.node(i).type.spec.isolating)break;(r==t.start(i)||i==e.depth&&i==t.depth&&e.parent.inlineContent&&t.parent.inlineContent&&i&&t.start(i-1)==r-1)&&n.push(i)}return n}var Bc=class e extends Ws{constructor(e,t,n){super(),this.pos=e,this.attr=t,this.value=n}apply(e){let t=e.nodeAt(this.pos);if(!t)return Gs.fail(`No node at attribute step's position`);let n=Object.create(null);for(let e in t.attrs)n[e]=t.attrs[e];n[this.attr]=this.value;let r=t.type.create(n,null,t.marks);return Gs.fromReplace(e,this.pos,this.pos+1,new J(K.from(r),0,+!t.isLeaf))}getMap(){return Vs.empty}invert(t){return new e(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.attr,this.value)}toJSON(){return{stepType:`attr`,pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,n){if(typeof n.pos!=`number`||typeof n.attr!=`string`)throw RangeError(`Invalid input for AttrStep.fromJSON`);return new e(n.pos,n.attr,n.value)}};Ws.jsonID(`attr`,Bc);var Vc=class e extends Ws{constructor(e,t){super(),this.attr=e,this.value=t}apply(e){let t=Object.create(null);for(let n in e.attrs)t[n]=e.attrs[n];t[this.attr]=this.value;let n=e.type.create(t,e.content,e.marks);return Gs.ok(n)}getMap(){return Vs.empty}invert(t){return new e(this.attr,t.attrs[this.attr])}map(e){return this}toJSON(){return{stepType:`docAttr`,attr:this.attr,value:this.value}}static fromJSON(t,n){if(typeof n.attr!=`string`)throw RangeError(`Invalid input for DocAttrStep.fromJSON`);return new e(n.attr,n.value)}};Ws.jsonID(`docAttr`,Vc);var Hc=class extends Error{};Hc=function e(t){let n=Error.call(this,t);return n.__proto__=e.prototype,n},Hc.prototype=Object.create(Error.prototype),Hc.prototype.constructor=Hc,Hc.prototype.name=`TransformError`;var Uc=class{constructor(e){this.doc=e,this.steps=[],this.docs=[],this.mapping=new Hs}get before(){return this.docs.length?this.docs[0]:this.doc}step(e){let t=this.maybeStep(e);if(t.failed)throw new Hc(t.failed);return this}maybeStep(e){let t=e.apply(this.doc);return t.failed||this.addStep(e,t.doc),t}get docChanged(){return this.steps.length>0}changedRange(){let e=1e9,t=-1e9;for(let n=0;n<this.mapping.maps.length;n++){let r=this.mapping.maps[n];n&&(e=r.map(e,1),t=r.map(t,-1)),r.forEach((n,r,i,a)=>{e=Math.min(e,i),t=Math.max(t,a)})}return e==1e9?null:{from:e,to:t}}addStep(e,t){this.docs.push(this.doc),this.steps.push(e),this.mapping.appendMap(e.getMap()),this.doc=t}replace(e,t=e,n=J.empty){let r=Tc(this.doc,e,t,n);return r&&this.step(r),this}replaceWith(e,t,n){return this.replace(e,t,new J(K.from(n),0,0))}delete(e,t){return this.replace(e,t,J.empty)}insert(e,t){return this.replaceWith(e,e,t)}replaceRange(e,t,n){return Fc(this,e,t,n),this}replaceRangeWith(e,t,n){return Lc(this,e,t,n),this}deleteRange(e,t){return Rc(this,e,t),this}lift(e,t){return ac(this,e,t),this}join(e,t=1){return Sc(this,e,t),this}wrap(e,t){return uc(this,e,t),this}setBlockType(e,t=e,n,r=null){return dc(this,e,t,n,r),this}setNodeMarkup(e,t,n=null,r){return hc(this,e,t,n,r),this}setNodeAttribute(e,t,n){return this.step(new Bc(e,t,n)),this}setDocAttribute(e,t){return this.step(new Vc(e,t)),this}addNodeMark(e,t){return this.step(new Ys(e,t)),this}removeNodeMark(e,t){let n=this.doc.nodeAt(e);if(!n)throw RangeError(`No node at position `+e);if(t instanceof q)t.isInSet(n.marks)&&this.step(new Xs(e,t));else{let r=n.marks,i,a=[];for(;i=t.isInSet(r);)a.push(new Xs(e,i)),r=i.removeFromSet(r);for(let e=a.length-1;e>=0;e--)this.step(a[e])}return this}split(e,t=1,n){return _c(this,e,t,n),this}addMark(e,t,n){return ec(this,e,t,n),this}removeMark(e,t,n){return tc(this,e,t,n),this}clearIncompatible(e,t,n){return nc(this,e,t,n),this}},Wc=Object.create(null),Y=class{constructor(e,t,n){this.$anchor=e,this.$head=t,this.ranges=n||[new Gc(e.min(t),e.max(t))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let e=this.ranges;for(let t=0;t<e.length;t++)if(e[t].$from.pos!=e[t].$to.pos)return!1;return!0}content(){return this.$from.doc.slice(this.from,this.to,!0)}replace(e,t=J.empty){let n=t.content.lastChild,r=null;for(let e=0;e<t.openEnd;e++)r=n,n=n.lastChild;let i=e.steps.length,a=this.ranges;for(let o=0;o<a.length;o++){let{$from:s,$to:c}=a[o],l=e.mapping.slice(i);e.replaceRange(l.map(s.pos),l.map(c.pos),o?J.empty:t),o==0&&$c(e,i,(n?n.isInline:r&&r.isTextblock)?-1:1)}}replaceWith(e,t){let n=e.steps.length,r=this.ranges;for(let i=0;i<r.length;i++){let{$from:a,$to:o}=r[i],s=e.mapping.slice(n),c=s.map(a.pos),l=s.map(o.pos);i?e.deleteRange(c,l):(e.replaceRangeWith(c,l,t),$c(e,n,t.isInline?-1:1))}}static findFrom(e,t,n=!1){let r=e.parent.inlineContent?new X(e):Qc(e.node(0),e.parent,e.pos,e.index(),t,n);if(r)return r;for(let r=e.depth-1;r>=0;r--){let i=t<0?Qc(e.node(0),e.node(r),e.before(r+1),e.index(r),t,n):Qc(e.node(0),e.node(r),e.after(r+1),e.index(r)+1,t,n);if(i)return i}return null}static near(e,t=1){return this.findFrom(e,t)||this.findFrom(e,-t)||new Xc(e.node(0))}static atStart(e){return Qc(e,e,0,0,1)||new Xc(e)}static atEnd(e){return Qc(e,e,e.content.size,e.childCount,-1)||new Xc(e)}static fromJSON(e,t){if(!t||!t.type)throw RangeError(`Invalid input for Selection.fromJSON`);let n=Wc[t.type];if(!n)throw RangeError(`No selection type ${t.type} defined`);return n.fromJSON(e,t)}static jsonID(e,t){if(e in Wc)throw RangeError(`Duplicate use of selection JSON ID `+e);return Wc[e]=t,t.prototype.jsonID=e,t}getBookmark(){return X.between(this.$anchor,this.$head).getBookmark()}};Y.prototype.visible=!0;var Gc=class{constructor(e,t){this.$from=e,this.$to=t}},Kc=!1;function qc(e){!Kc&&!e.parent.inlineContent&&(Kc=!0,console.warn(`TextSelection endpoint not pointing into a node with inline content (`+e.parent.type.name+`)`))}var X=class e extends Y{constructor(e,t=e){qc(e),qc(t),super(e,t)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(t,n){let r=t.resolve(n.map(this.head));if(!r.parent.inlineContent)return Y.near(r);let i=t.resolve(n.map(this.anchor));return new e(i.parent.inlineContent?i:r,r)}replace(e,t=J.empty){if(super.replace(e,t),t==J.empty){let t=this.$from.marksAcross(this.$to);t&&e.ensureMarks(t)}}eq(t){return t instanceof e&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new Jc(this.anchor,this.head)}toJSON(){return{type:`text`,anchor:this.anchor,head:this.head}}static fromJSON(t,n){if(typeof n.anchor!=`number`||typeof n.head!=`number`)throw RangeError(`Invalid input for TextSelection.fromJSON`);return new e(t.resolve(n.anchor),t.resolve(n.head))}static create(e,t,n=t){let r=e.resolve(t);return new this(r,n==t?r:e.resolve(n))}static between(t,n,r){let i=t.pos-n.pos;if((!r||i)&&(r=i>=0?1:-1),!n.parent.inlineContent){let e=Y.findFrom(n,r,!0)||Y.findFrom(n,-r,!0);if(e)n=e.$head;else return Y.near(n,r)}return t.parent.inlineContent||(i==0?t=n:(t=(Y.findFrom(t,-r,!0)||Y.findFrom(t,r,!0)).$anchor,t.pos<n.pos!=i<0&&(t=n))),new e(t,n)}};Y.jsonID(`text`,X);var Jc=class e{constructor(e,t){this.anchor=e,this.head=t}map(t){return new e(t.map(this.anchor),t.map(this.head))}resolve(e){return X.between(e.resolve(this.anchor),e.resolve(this.head))}},Z=class e extends Y{constructor(e){let t=e.nodeAfter,n=e.node(0).resolve(e.pos+t.nodeSize);super(e,n),this.node=t}map(t,n){let{deleted:r,pos:i}=n.mapResult(this.anchor),a=t.resolve(i);return r?Y.near(a):new e(a)}content(){return new J(K.from(this.node),0,0)}eq(t){return t instanceof e&&t.anchor==this.anchor}toJSON(){return{type:`node`,anchor:this.anchor}}getBookmark(){return new Yc(this.anchor)}static fromJSON(t,n){if(typeof n.anchor!=`number`)throw RangeError(`Invalid input for NodeSelection.fromJSON`);return new e(t.resolve(n.anchor))}static create(t,n){return new e(t.resolve(n))}static isSelectable(e){return!e.isText&&e.type.spec.selectable!==!1}};Z.prototype.visible=!1,Y.jsonID(`node`,Z);var Yc=class e{constructor(e){this.anchor=e}map(t){let{deleted:n,pos:r}=t.mapResult(this.anchor);return n?new Jc(r,r):new e(r)}resolve(e){let t=e.resolve(this.anchor),n=t.nodeAfter;return n&&Z.isSelectable(n)?new Z(t):Y.near(t)}},Xc=class e extends Y{constructor(e){super(e.resolve(0),e.resolve(e.content.size))}replace(e,t=J.empty){if(t==J.empty){e.delete(0,e.doc.content.size);let t=Y.atStart(e.doc);t.eq(e.selection)||e.setSelection(t)}else super.replace(e,t)}toJSON(){return{type:`all`}}static fromJSON(t){return new e(t)}map(t){return new e(t)}eq(t){return t instanceof e}getBookmark(){return Zc}};Y.jsonID(`all`,Xc);var Zc={map(){return this},resolve(e){return new Xc(e)}};function Qc(e,t,n,r,i,a=!1){if(t.inlineContent)return X.create(e,n);for(let o=r-(i>0?0:1);i>0?o<t.childCount:o>=0;o+=i){let r=t.child(o);if(!r.isAtom){let t=Qc(e,r,n+i,i<0?r.childCount:0,i,a);if(t)return t}else if(!a&&Z.isSelectable(r))return Z.create(e,n-(i<0?r.nodeSize:0));n+=r.nodeSize*i}return null}function $c(e,t,n){let r=e.steps.length-1;if(r<t)return;let i=e.steps[r];if(!(i instanceof Zs||i instanceof Qs))return;let a=e.mapping.maps[r],o;a.forEach((e,t,n,r)=>{o??=r}),e.setSelection(Y.near(e.doc.resolve(o),n))}var el=1,tl=2,nl=4,rl=class extends Uc{constructor(e){super(e.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=e.selection,this.storedMarks=e.storedMarks}get selection(){return this.curSelectionFor<this.steps.length&&(this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor)),this.curSelectionFor=this.steps.length),this.curSelection}setSelection(e){if(e.$from.doc!=this.doc)throw RangeError(`Selection passed to setSelection must point at the current document`);return this.curSelection=e,this.curSelectionFor=this.steps.length,this.updated=(this.updated|el)&-3,this.storedMarks=null,this}get selectionSet(){return(this.updated&el)>0}setStoredMarks(e){return this.storedMarks=e,this.updated|=tl,this}ensureMarks(e){return q.sameSet(this.storedMarks||this.selection.$from.marks(),e)||this.setStoredMarks(e),this}addStoredMark(e){return this.ensureMarks(e.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(e){return this.ensureMarks(e.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&tl)>0}addStep(e,t){super.addStep(e,t),this.updated&=-3,this.storedMarks=null}setTime(e){return this.time=e,this}replaceSelection(e){return this.selection.replace(this,e),this}replaceSelectionWith(e,t=!0){let n=this.selection;return t&&(e=e.mark(this.storedMarks||(n.empty?n.$from.marks():n.$from.marksAcross(n.$to)||q.none))),n.replaceWith(this,e),this}deleteSelection(){return this.selection.replace(this),this}insertText(e,t,n){let r=this.doc.type.schema;if(t==null)return e?this.replaceSelectionWith(r.text(e),!0):this.deleteSelection();{if(n??=t,!e)return this.deleteRange(t,n);let i=this.storedMarks;if(!i){let e=this.doc.resolve(t);i=n==t?e.marks():e.marksAcross(this.doc.resolve(n))}return this.replaceRangeWith(t,n,r.text(e,i)),!this.selection.empty&&this.selection.to==t+e.length&&this.setSelection(Y.near(this.selection.$to)),this}}setMeta(e,t){return this.meta[typeof e==`string`?e:e.key]=t,this}getMeta(e){return this.meta[typeof e==`string`?e:e.key]}get isGeneric(){for(let e in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=nl,this}get scrolledIntoView(){return(this.updated&nl)>0}};function il(e,t){return!t||!e?e:e.bind(t)}var al=class{constructor(e,t,n){this.name=e,this.init=il(t.init,n),this.apply=il(t.apply,n)}},ol=[new al(`doc`,{init(e){return e.doc||e.schema.topNodeType.createAndFill()},apply(e){return e.doc}}),new al(`selection`,{init(e,t){return e.selection||Y.atStart(t.doc)},apply(e){return e.selection}}),new al(`storedMarks`,{init(e){return e.storedMarks||null},apply(e,t,n,r){return r.selection.$cursor?e.storedMarks:null}}),new al(`scrollToSelection`,{init(){return 0},apply(e,t){return e.scrolledIntoView?t+1:t}})],sl=class{constructor(e,t){this.schema=e,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=ol.slice(),t&&t.forEach(e=>{if(this.pluginsByKey[e.key])throw RangeError(`Adding different instances of a keyed plugin (`+e.key+`)`);this.plugins.push(e),this.pluginsByKey[e.key]=e,e.spec.state&&this.fields.push(new al(e.key,e.spec.state,e))})}},cl=class e{constructor(e){this.config=e}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(e){return this.applyTransaction(e).state}filterTransaction(e,t=-1){for(let n=0;n<this.config.plugins.length;n++)if(n!=t){let t=this.config.plugins[n];if(t.spec.filterTransaction&&!t.spec.filterTransaction.call(t,e,this))return!1}return!0}applyTransaction(e){if(!this.filterTransaction(e))return{state:this,transactions:[]};let t=[e],n=this.applyInner(e),r=null;for(;;){let i=!1;for(let a=0;a<this.config.plugins.length;a++){let o=this.config.plugins[a];if(o.spec.appendTransaction){let s=r?r[a].n:0,c=r?r[a].state:this,l=s<t.length&&o.spec.appendTransaction.call(o,s?t.slice(s):t,c,n);if(l&&n.filterTransaction(l,a)){if(l.setMeta(`appendedTransaction`,e),!r){r=[];for(let e=0;e<this.config.plugins.length;e++)r.push(e<a?{state:n,n:t.length}:{state:this,n:0})}t.push(l),n=n.applyInner(l),i=!0}r&&(r[a]={state:n,n:t.length})}}if(!i)return{state:n,transactions:t}}}applyInner(t){if(!t.before.eq(this.doc))throw RangeError(`Applying a mismatched transaction`);let n=new e(this.config),r=this.config.fields;for(let e=0;e<r.length;e++){let i=r[e];n[i.name]=i.apply(t,this[i.name],this,n)}return n}get tr(){return new rl(this)}static create(t){let n=new sl(t.doc?t.doc.type.schema:t.schema,t.plugins),r=new e(n);for(let e=0;e<n.fields.length;e++)r[n.fields[e].name]=n.fields[e].init(t,r);return r}reconfigure(t){let n=new sl(this.schema,t.plugins),r=n.fields,i=new e(n);for(let e=0;e<r.length;e++){let n=r[e].name;i[n]=this.hasOwnProperty(n)?this[n]:r[e].init(t,i)}return i}toJSON(e){let t={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks&&(t.storedMarks=this.storedMarks.map(e=>e.toJSON())),e&&typeof e==`object`)for(let n in e){if(n==`doc`||n==`selection`)throw RangeError("The JSON fields `doc` and `selection` are reserved");let r=e[n],i=r.spec.state;i&&i.toJSON&&(t[n]=i.toJSON.call(r,this[r.key]))}return t}static fromJSON(t,n,r){if(!n)throw RangeError(`Invalid input for EditorState.fromJSON`);if(!t.schema)throw RangeError(`Required config field 'schema' missing`);let i=new sl(t.schema,t.plugins),a=new e(i);return i.fields.forEach(e=>{if(e.name==`doc`)a.doc=Po.fromJSON(t.schema,n.doc);else if(e.name==`selection`)a.selection=Y.fromJSON(a.doc,n.selection);else if(e.name==`storedMarks`)n.storedMarks&&(a.storedMarks=n.storedMarks.map(t.schema.markFromJSON));else{if(r)for(let i in r){let o=r[i],s=o.spec.state;if(o.key==e.name&&s&&s.fromJSON&&Object.prototype.hasOwnProperty.call(n,i)){a[e.name]=s.fromJSON.call(o,t,n[i],a);return}}a[e.name]=e.init(t,a)}}),a}};function ll(e,t,n){for(let r in e){let i=e[r];i instanceof Function?i=i.bind(t):r==`handleDOMEvents`&&(i=ll(i,t,{})),n[r]=i}return n}var ul=class{constructor(e){this.spec=e,this.props={},e.props&&ll(e.props,this,this.props),this.key=e.key?e.key.key:fl(`plugin`)}getState(e){return e[this.key]}},dl=Object.create(null);function fl(e){return e in dl?e+`$`+ ++dl[e]:(dl[e]=0,e+`$`)}var pl=class{constructor(e=`key`){this.key=fl(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}},ml=function(e){for(var t=0;;t++)if(e=e.previousSibling,!e)return t},hl=function(e){let t=e.assignedSlot||e.parentNode;return t&&t.nodeType==11?t.host:t},gl=null,_l=function(e,t,n){let r=gl||=document.createRange();return r.setEnd(e,n??e.nodeValue.length),r.setStart(e,t||0),r},vl=function(){gl=null},yl=function(e,t,n,r){return n&&(xl(e,t,n,r,-1)||xl(e,t,n,r,1))},bl=/^(img|br|input|textarea|hr)$/i;function xl(e,t,n,r,i){for(;;){if(e==n&&t==r)return!0;if(t==(i<0?0:Sl(e))){let n=e.parentNode;if(!n||n.nodeType!=1||El(e)||bl.test(e.nodeName)||e.contentEditable==`false`)return!1;t=ml(e)+(i<0?0:1),e=n}else if(e.nodeType==1){let n=e.childNodes[t+(i<0?-1:0)];if(n.nodeType==1&&n.contentEditable==`false`)if(n.pmViewDesc?.ignoreForSelection)t+=i;else return!1;else e=n,t=i<0?Sl(e):0}else return!1}}function Sl(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function Cl(e,t){for(;;){if(e.nodeType==3&&t)return e;if(e.nodeType==1&&t>0){if(e.contentEditable==`false`)return null;e=e.childNodes[t-1],t=Sl(e)}else if(e.parentNode&&!El(e))t=ml(e),e=e.parentNode;else return null}}function wl(e,t){for(;;){if(e.nodeType==3&&t<e.nodeValue.length)return e;if(e.nodeType==1&&t<e.childNodes.length){if(e.contentEditable==`false`)return null;e=e.childNodes[t],t=0}else if(e.parentNode&&!El(e))t=ml(e)+1,e=e.parentNode;else return null}}function Tl(e,t,n){for(let r=t==0,i=t==Sl(e);r||i;){if(e==n)return!0;let t=ml(e);if(e=e.parentNode,!e)return!1;r&&=t==0,i&&=t==Sl(e)}}function El(e){let t;for(let n=e;n&&!(t=n.pmViewDesc);n=n.parentNode);return t&&t.node&&t.node.isBlock&&(t.dom==e||t.contentDOM==e)}var Dl=function(e){return e.focusNode&&yl(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)};function Ol(e,t){let n=document.createEvent(`Event`);return n.initEvent(`keydown`,!0,!0),n.keyCode=e,n.key=n.code=t,n}function kl(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}function Al(e,t,n){if(e.caretPositionFromPoint)try{let r=e.caretPositionFromPoint(t,n);if(r)return{node:r.offsetNode,offset:Math.min(Sl(r.offsetNode),r.offset)}}catch{}if(e.caretRangeFromPoint){let r=e.caretRangeFromPoint(t,n);if(r)return{node:r.startContainer,offset:Math.min(Sl(r.startContainer),r.startOffset)}}}var jl=typeof navigator<`u`?navigator:null,Ml=typeof document<`u`?document:null,Nl=jl&&jl.userAgent||``,Pl=/Edge\/(\d+)/.exec(Nl),Fl=/MSIE \d/.exec(Nl),Il=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Nl),Ll=!!(Fl||Il||Pl),Rl=Fl?document.documentMode:Il?+Il[1]:Pl?+Pl[1]:0,zl=!Ll&&/gecko\/(\d+)/i.test(Nl);zl&&+(/Firefox\/(\d+)/.exec(Nl)||[0,0])[1];var Bl=!Ll&&/Chrome\/(\d+)/.exec(Nl),Vl=!!Bl,Hl=Bl?+Bl[1]:0,Ul=!Ll&&!!jl&&/Apple Computer/.test(jl.vendor),Wl=Ul&&(/Mobile\/\w+/.test(Nl)||!!jl&&jl.maxTouchPoints>2),Gl=Wl||(jl?/Mac/.test(jl.platform):!1),Kl=jl?/Win/.test(jl.platform):!1,ql=/Android \d/.test(Nl),Jl=!!Ml&&`webkitFontSmoothing`in Ml.documentElement.style,Yl=Jl?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function Xl(e){let t=e.defaultView&&e.defaultView.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.documentElement.clientWidth,top:0,bottom:e.documentElement.clientHeight}}function Zl(e,t){return typeof e==`number`?e:e[t]}function Ql(e){let t=e.getBoundingClientRect(),n=t.width/e.offsetWidth||1,r=t.height/e.offsetHeight||1;return{left:t.left,right:t.left+e.clientWidth*n,top:t.top,bottom:t.top+e.clientHeight*r}}function $l(e,t,n){if(!mu(t)&&t.left==0)return;let r=e.someProp(`scrollThreshold`)||0,i=e.someProp(`scrollMargin`)||5,a=e.dom.ownerDocument;for(let o=n||e.dom;o;){if(o.nodeType!=1){o=hl(o);continue}let e=o,n=e==a.body,s=n?Xl(a):Ql(e),c=0,l=0;if(t.top<s.top+Zl(r,`top`)?l=-(s.top-t.top+Zl(i,`top`)):t.bottom>s.bottom-Zl(r,`bottom`)&&(l=t.bottom-t.top>s.bottom-s.top?t.top+Zl(i,`top`)-s.top:t.bottom-s.bottom+Zl(i,`bottom`)),t.left<s.left+Zl(r,`left`)?c=-(s.left-t.left+Zl(i,`left`)):t.right>s.right-Zl(r,`right`)&&(c=t.right-s.right+Zl(i,`right`)),c||l)if(n)a.defaultView.scrollBy(c,l);else{let n=e.scrollLeft,r=e.scrollTop;l&&(e.scrollTop+=l),c&&(e.scrollLeft+=c);let i=e.scrollLeft-n,a=e.scrollTop-r;t={left:t.left-i,top:t.top-a,right:t.right-i,bottom:t.bottom-a}}let u=n?`fixed`:getComputedStyle(o).position;if(/^(fixed|sticky)$/.test(u))break;o=u==`absolute`?o.offsetParent:hl(o)}}function eu(e){let t=e.dom.getBoundingClientRect(),n=Math.max(0,t.top),r,i;for(let a=(t.left+t.right)/2,o=n+1;o<Math.min(innerHeight,t.bottom);o+=5){let t=e.root.elementFromPoint(a,o);if(!t||t==e.dom||!e.dom.contains(t))continue;let s=t.getBoundingClientRect();if(s.top>=n-20){r=t,i=s.top;break}}return{refDOM:r,refTop:i,stack:tu(e.dom)}}function tu(e){let t=[],n=e.ownerDocument;for(let r=e;r&&(t.push({dom:r,top:r.scrollTop,left:r.scrollLeft}),e!=n);r=hl(r));return t}function nu({refDOM:e,refTop:t,stack:n}){let r=e?e.getBoundingClientRect().top:0;ru(n,r==0?0:r-t)}function ru(e,t){for(let n=0;n<e.length;n++){let{dom:r,top:i,left:a}=e[n];r.scrollTop!=i+t&&(r.scrollTop=i+t),r.scrollLeft!=a&&(r.scrollLeft=a)}}var iu=null;function au(e){if(e.setActive)return e.setActive();if(iu)return e.focus(iu);let t=tu(e);e.focus(iu==null?{get preventScroll(){return iu={preventScroll:!0},!0}}:void 0),iu||(iu=!1,ru(t,0))}function ou(e,t){let n,r=2e8,i,a=0,o=t.top,s=t.top,c,l;for(let u=e.firstChild,d=0;u;u=u.nextSibling,d++){let e;if(u.nodeType==1)e=u.getClientRects();else if(u.nodeType==3)e=_l(u).getClientRects();else continue;for(let f=0;f<e.length;f++){let p=e[f];if(p.top<=o&&p.bottom>=s){o=Math.max(p.bottom,o),s=Math.min(p.top,s);let e=p.left>t.left?p.left-t.left:p.right<t.left?t.left-p.right:0;if(e<r){n=u,r=e,i=e&&n.nodeType==3?{left:p.right<t.left?p.right:p.left,top:t.top}:t,u.nodeType==1&&e&&(a=d+ +(t.left>=(p.left+p.right)/2));continue}}else p.top>t.top&&!c&&p.left<=t.left&&p.right>=t.left&&(c=u,l={left:Math.max(p.left,Math.min(p.right,t.left)),top:p.top});!n&&(t.left>=p.right&&t.top>=p.top||t.left>=p.left&&t.top>=p.bottom)&&(a=d+1)}}return!n&&c&&(n=c,i=l,r=0),n&&n.nodeType==3?su(n,i):!n||r&&n.nodeType==1?{node:e,offset:a}:ou(n,i)}function su(e,t){let n=e.nodeValue.length,r=document.createRange(),i;for(let a=0;a<n;a++){r.setEnd(e,a+1),r.setStart(e,a);let n=hu(r,1);if(n.top!=n.bottom&&cu(t,n)){i={node:e,offset:a+ +(t.left>=(n.left+n.right)/2)};break}}return r.detach(),i||{node:e,offset:0}}function cu(e,t){return e.left>=t.left-1&&e.left<=t.right+1&&e.top>=t.top-1&&e.top<=t.bottom+1}function lu(e,t){let n=e.parentNode;return n&&/^li$/i.test(n.nodeName)&&t.left<e.getBoundingClientRect().left?n:e}function uu(e,t,n){let{node:r,offset:i}=ou(t,n),a=-1;if(r.nodeType==1&&!r.firstChild){let e=r.getBoundingClientRect();a=e.left!=e.right&&n.left>(e.left+e.right)/2?1:-1}return e.docView.posFromDOM(r,i,a)}function du(e,t,n,r){let i=-1;for(let n=t,a=!1;n!=e.dom;){let t=e.docView.nearestDesc(n,!0),o;if(!t)return null;if(t.dom.nodeType==1&&(t.node.isBlock&&t.parent||!t.contentDOM)&&((o=t.dom.getBoundingClientRect()).width||o.height)&&(t.node.isBlock&&t.parent&&!/^T(R|BODY|HEAD|FOOT)$/.test(t.dom.nodeName)&&(!a&&o.left>r.left||o.top>r.top?i=t.posBefore:(!a&&o.right<r.left||o.bottom<r.top)&&(i=t.posAfter),a=!0),!t.contentDOM&&i<0&&!t.node.isText))return(t.node.isBlock?r.top<(o.top+o.bottom)/2:r.left<(o.left+o.right)/2)?t.posBefore:t.posAfter;n=t.dom.parentNode}return i>-1?i:e.docView.posFromDOM(t,n,-1)}function fu(e,t,n){let r=e.childNodes.length;if(r&&n.top<n.bottom)for(let i=Math.max(0,Math.min(r-1,Math.floor(r*(t.top-n.top)/(n.bottom-n.top))-2)),a=i;;){let n=e.childNodes[a];if(n.nodeType==1){let e=n.getClientRects();for(let r=0;r<e.length;r++){let i=e[r];if(cu(t,i))return fu(n,t,i)}}if((a=(a+1)%r)==i)break}return e}function pu(e,t){let n=e.dom.ownerDocument,r,i=0,a=Al(n,t.left,t.top);a&&({node:r,offset:i}=a);let o=(e.root.elementFromPoint?e.root:n).elementFromPoint(t.left,t.top),s;if(!o||!e.dom.contains(o.nodeType==1?o:o.parentNode)){let n=e.dom.getBoundingClientRect();if(!cu(t,n)||(o=fu(e.dom,t,n),!o))return null}if(Ul)for(let e=o;r&&e;e=hl(e))e.draggable&&(r=void 0);if(o=lu(o,t),r){if(zl&&r.nodeType==1&&(i=Math.min(i,r.childNodes.length),i<r.childNodes.length)){let e=r.childNodes[i],n;e.nodeName==`IMG`&&(n=e.getBoundingClientRect()).right<=t.left&&n.bottom>t.top&&i++}let n;Jl&&i&&r.nodeType==1&&(n=r.childNodes[i-1]).nodeType==1&&n.contentEditable==`false`&&n.getBoundingClientRect().top>=t.top&&i--,r==e.dom&&i==r.childNodes.length-1&&r.lastChild.nodeType==1&&t.top>r.lastChild.getBoundingClientRect().bottom?s=e.state.doc.content.size:(i==0||r.nodeType!=1||r.childNodes[i-1].nodeName!=`BR`)&&(s=du(e,r,i,t))}s??=uu(e,o,t);let c=e.docView.nearestDesc(o,!0);return{pos:s,inside:c?c.posAtStart-c.border:-1}}function mu(e){return e.top<e.bottom||e.left<e.right}function hu(e,t){let n=e.getClientRects();if(n.length){let e=n[t<0?0:n.length-1];if(mu(e))return e}return Array.prototype.find.call(n,mu)||e.getBoundingClientRect()}var gu=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;function _u(e,t,n){let{node:r,offset:i,atom:a}=e.docView.domFromPos(t,n<0?-1:1),o=Jl||zl;if(r.nodeType==3)if(o&&(gu.test(r.nodeValue)||(n<0?!i:i==r.nodeValue.length))){let e=hu(_l(r,i,i),n);if(zl&&i&&/\s/.test(r.nodeValue[i-1])&&i<r.nodeValue.length){let t=hu(_l(r,i-1,i-1),-1);if(t.top==e.top){let n=hu(_l(r,i,i+1),-1);if(n.top!=e.top)return vu(n,n.left<t.left)}}return e}else{let e=i,t=i,a=n<0?1:-1;return n<0&&!i?(t++,a=-1):n>=0&&i==r.nodeValue.length?(e--,a=1):n<0?e--:t++,vu(hu(_l(r,e,t),a),a<0)}if(!e.state.doc.resolve(t-(a||0)).parent.inlineContent){if(a==null&&i&&(n<0||i==Sl(r))){let e=r.childNodes[i-1];if(e.nodeType==1)return yu(e.getBoundingClientRect(),!1)}if(a==null&&i<Sl(r)){let e=r.childNodes[i];if(e.nodeType==1)return yu(e.getBoundingClientRect(),!0)}return yu(r.getBoundingClientRect(),n>=0)}if(a==null&&i&&(n<0||i==Sl(r))){let e=r.childNodes[i-1],t=e.nodeType==3?_l(e,Sl(e)-+!o):e.nodeType==1&&(e.nodeName!=`BR`||!e.nextSibling)?e:null;if(t)return vu(hu(t,1),!1)}if(a==null&&i<Sl(r)){let e=r.childNodes[i];for(;e.pmViewDesc&&e.pmViewDesc.ignoreForCoords;)e=e.nextSibling;let t=e?e.nodeType==3?_l(e,0,+!o):e.nodeType==1?e:null:null;if(t)return vu(hu(t,-1),!0)}return vu(hu(r.nodeType==3?_l(r):r,-n),n>=0)}function vu(e,t){if(e.width==0)return e;let n=t?e.left:e.right;return{top:e.top,bottom:e.bottom,left:n,right:n}}function yu(e,t){if(e.height==0)return e;let n=t?e.top:e.bottom;return{top:n,bottom:n,left:e.left,right:e.right}}function bu(e,t,n){let r=e.state,i=e.root.activeElement;r!=t&&e.updateState(t),i!=e.dom&&e.focus();try{return n()}finally{r!=t&&e.updateState(r),i!=e.dom&&i&&i.focus()}}function xu(e,t,n){let r=t.selection,i=n==`up`?r.$from:r.$to;return bu(e,t,()=>{let{node:t}=e.docView.domFromPos(i.pos,n==`up`?-1:1);for(;;){let n=e.docView.nearestDesc(t,!0);if(!n)break;if(n.node.isBlock){t=n.contentDOM||n.dom;break}t=n.dom.parentNode}let r=_u(e,i.pos,1);for(let e=t.firstChild;e;e=e.nextSibling){let t;if(e.nodeType==1)t=e.getClientRects();else if(e.nodeType==3)t=_l(e,0,e.nodeValue.length).getClientRects();else continue;for(let e=0;e<t.length;e++){let i=t[e];if(i.bottom>i.top+1&&(n==`up`?r.top-i.top>(i.bottom-r.top)*2:i.bottom-r.bottom>(r.bottom-i.top)*2))return!1}}return!0})}var Su=/[\u0590-\u08ac]/;function Cu(e,t,n){let{$head:r}=t.selection;if(!r.parent.isTextblock)return!1;let i=r.parentOffset,a=!i,o=i==r.parent.content.size,s=e.domSelection();return s?!Su.test(r.parent.textContent)||!s.modify?n==`left`||n==`backward`?a:o:bu(e,t,()=>{let{focusNode:t,focusOffset:i,anchorNode:a,anchorOffset:o}=e.domSelectionRange(),c=s.caretBidiLevel;s.modify(`move`,n,`character`);let l=r.depth?e.docView.domAfterPos(r.before()):e.dom,{focusNode:u,focusOffset:d}=e.domSelectionRange(),f=u&&!l.contains(u.nodeType==1?u:u.parentNode)||t==u&&i==d;try{s.collapse(a,o),t&&(t!=a||i!=o)&&s.extend&&s.extend(t,i)}catch{}return c!=null&&(s.caretBidiLevel=c),f}):r.pos==r.start()||r.pos==r.end()}var wu=null,Tu=null,Eu=!1;function Du(e,t,n){return wu==t&&Tu==n?Eu:(wu=t,Tu=n,Eu=n==`up`||n==`down`?xu(e,t,n):Cu(e,t,n))}var Ou=0,ku=1,Au=2,ju=3,Mu=class{constructor(e,t,n,r){this.parent=e,this.children=t,this.dom=n,this.contentDOM=r,this.dirty=Ou,n.pmViewDesc=this}matchesWidget(e){return!1}matchesMark(e){return!1}matchesNode(e,t,n){return!1}matchesHack(e){return!1}parseRule(){return null}stopEvent(e){return!1}get size(){let e=0;for(let t=0;t<this.children.length;t++)e+=this.children[t].size;return e}get border(){return 0}destroy(){this.parent=void 0,this.dom.pmViewDesc==this&&(this.dom.pmViewDesc=void 0);for(let e=0;e<this.children.length;e++)this.children[e].destroy()}posBeforeChild(e){for(let t=0,n=this.posAtStart;;t++){let r=this.children[t];if(r==e)return n;n+=r.size}}get posBefore(){return this.parent.posBeforeChild(this)}get posAtStart(){return this.parent?this.parent.posBeforeChild(this)+this.border:0}get posAfter(){return this.posBefore+this.size}get posAtEnd(){return this.posAtStart+this.size-2*this.border}localPosFromDOM(e,t,n){if(this.contentDOM&&this.contentDOM.contains(e.nodeType==1?e:e.parentNode))if(n<0){let n,r;if(e==this.contentDOM)n=e.childNodes[t-1];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;n=e.previousSibling}for(;n&&!((r=n.pmViewDesc)&&r.parent==this);)n=n.previousSibling;return n?this.posBeforeChild(r)+r.size:this.posAtStart}else{let n,r;if(e==this.contentDOM)n=e.childNodes[t];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;n=e.nextSibling}for(;n&&!((r=n.pmViewDesc)&&r.parent==this);)n=n.nextSibling;return n?this.posBeforeChild(r):this.posAtEnd}let r;if(e==this.dom&&this.contentDOM)r=t>ml(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))r=e.compareDocumentPosition(this.contentDOM)&2;else if(this.dom.firstChild){if(t==0)for(let t=e;;t=t.parentNode){if(t==this.dom){r=!1;break}if(t.previousSibling)break}if(r==null&&t==e.childNodes.length)for(let t=e;;t=t.parentNode){if(t==this.dom){r=!0;break}if(t.nextSibling)break}}return r??n>0?this.posAtEnd:this.posAtStart}nearestDesc(e,t=!1){for(let n=!0,r=e;r;r=r.parentNode){let i=this.getDesc(r),a;if(i&&(!t||i.node))if(n&&(a=i.nodeDOM)&&!(a.nodeType==1?a.contains(e.nodeType==1?e:e.parentNode):a==e))n=!1;else return i}}getDesc(e){let t=e.pmViewDesc;for(let e=t;e;e=e.parent)if(e==this)return t}posFromDOM(e,t,n){for(let r=e;r;r=r.parentNode){let i=this.getDesc(r);if(i)return i.localPosFromDOM(e,t,n)}return-1}descAt(e){for(let t=0,n=0;t<this.children.length;t++){let r=this.children[t],i=n+r.size;if(n==e&&i!=n){for(;!r.border&&r.children.length;)for(let e=0;e<r.children.length;e++){let t=r.children[e];if(t.size){r=t;break}}return r}if(e<i)return r.descAt(e-n-r.border);n=i}}domFromPos(e,t){if(!this.contentDOM)return{node:this.dom,offset:0,atom:e+1};let n=0,r=0;for(let t=0;n<this.children.length;n++){let i=this.children[n],a=t+i.size;if(a>e||i instanceof zu){r=e-t;break}t=a}if(r)return this.children[n].domFromPos(r-this.children[n].border,t);for(let e;n&&!(e=this.children[n-1]).size&&e instanceof Nu&&e.side>=0;n--);if(t<=0){let e,r=!0;for(;e=n?this.children[n-1]:null,!(!e||e.dom.parentNode==this.contentDOM);n--,r=!1);return e&&t&&r&&!e.border&&!e.domAtom?e.domFromPos(e.size,t):{node:this.contentDOM,offset:e?ml(e.dom)+1:0}}else{let e,r=!0;for(;e=n<this.children.length?this.children[n]:null,!(!e||e.dom.parentNode==this.contentDOM);n++,r=!1);return e&&r&&!e.border&&!e.domAtom?e.domFromPos(0,t):{node:this.contentDOM,offset:e?ml(e.dom):this.contentDOM.childNodes.length}}}parseRange(e,t,n=0){if(this.children.length==0)return{node:this.contentDOM,from:e,to:t,fromOffset:0,toOffset:this.contentDOM.childNodes.length};let r=-1,i=-1;for(let a=n,o=0;;o++){let n=this.children[o],s=a+n.size;if(r==-1&&e<=s){let i=a+n.border;if(e>=i&&t<=s-n.border&&n.node&&n.contentDOM&&this.contentDOM.contains(n.contentDOM))return n.parseRange(e,t,i);e=a;for(let t=o;t>0;t--){let n=this.children[t-1];if(n.size&&n.dom.parentNode==this.contentDOM&&!n.emptyChildAt(1)){r=ml(n.dom)+1;break}e-=n.size}r==-1&&(r=0)}if(r>-1&&(s>t||o==this.children.length-1)){t=s;for(let e=o+1;e<this.children.length;e++){let n=this.children[e];if(n.size&&n.dom.parentNode==this.contentDOM&&!n.emptyChildAt(-1)){i=ml(n.dom);break}t+=n.size}i==-1&&(i=this.contentDOM.childNodes.length);break}a=s}return{node:this.contentDOM,from:e,to:t,fromOffset:r,toOffset:i}}emptyChildAt(e){if(this.border||!this.contentDOM||!this.children.length)return!1;let t=this.children[e<0?0:this.children.length-1];return t.size==0||t.emptyChildAt(e)}domAfterPos(e){let{node:t,offset:n}=this.domFromPos(e,0);if(t.nodeType!=1||n==t.childNodes.length)throw RangeError(`No node after pos `+e);return t.childNodes[n]}setSelection(e,t,n,r=!1){let i=Math.min(e,t),a=Math.max(e,t);for(let o=0,s=0;o<this.children.length;o++){let c=this.children[o],l=s+c.size;if(i>s&&a<l)return c.setSelection(e-s-c.border,t-s-c.border,n,r);s=l}let o=this.domFromPos(e,e?-1:1),s=t==e?o:this.domFromPos(t,t?-1:1),c=n.root.getSelection(),l=n.domSelectionRange(),u=!1;if((zl||Ul)&&e==t){let{node:e,offset:t}=o;if(e.nodeType==3){if(u=!!(t&&e.nodeValue[t-1]==`
|
|
13
|
-
`),u&&t==e.nodeValue.length)for(let t=e,n;t;t=t.parentNode){if(n=t.nextSibling){n.nodeName==`BR`&&(o=s={node:n.parentNode,offset:ml(n)+1});break}let e=t.pmViewDesc;if(e&&e.node&&e.node.isBlock)break}}else{let n=e.childNodes[t-1];u=n&&(n.nodeName==`BR`||n.contentEditable==`false`)}}if(zl&&l.focusNode&&l.focusNode!=s.node&&l.focusNode.nodeType==1){let e=l.focusNode.childNodes[l.focusOffset];e&&e.contentEditable==`false`&&(r=!0)}if(!(r||u&&Ul)&&yl(o.node,o.offset,l.anchorNode,l.anchorOffset)&&yl(s.node,s.offset,l.focusNode,l.focusOffset))return;let d=!1;if((c.extend||e==t)&&!(u&&zl)){c.collapse(o.node,o.offset);try{e!=t&&c.extend(s.node,s.offset),d=!0}catch{}}if(!d){if(e>t){let e=o;o=s,s=e}let n=document.createRange();n.setEnd(s.node,s.offset),n.setStart(o.node,o.offset),c.removeAllRanges(),c.addRange(n)}}ignoreMutation(e){return!this.contentDOM&&e.type!=`selection`}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(e,t){for(let n=0,r=0;r<this.children.length;r++){let i=this.children[r],a=n+i.size;if(n==a?e<=a&&t>=n:e<a&&t>n){let r=n+i.border,o=a-i.border;if(e>=r&&t<=o){this.dirty=e==n||t==a?Au:ku,e==r&&t==o&&(i.contentLost||i.dom.parentNode!=this.contentDOM)?i.dirty=ju:i.markDirty(e-r,t-r);return}else i.dirty=i.dom==i.contentDOM&&i.dom.parentNode==this.contentDOM&&!i.children.length?Au:ju}n=a}this.dirty=Au}markParentsDirty(){let e=1;for(let t=this.parent;t;t=t.parent,e++){let n=e==1?Au:ku;t.dirty<n&&(t.dirty=n)}}get domAtom(){return!1}get ignoreForCoords(){return!1}get ignoreForSelection(){return!1}isText(e){return!1}},Nu=class extends Mu{constructor(e,t,n,r){let i,a=t.type.toDOM;if(typeof a==`function`&&(a=a(n,()=>{if(!i)return r;if(i.parent)return i.parent.posBeforeChild(i)})),!t.type.spec.raw){if(a.nodeType!=1){let e=document.createElement(`span`);e.appendChild(a),a=e}a.contentEditable=`false`,a.classList.add(`ProseMirror-widget`)}super(e,[],a,null),this.widget=t,this.widget=t,i=this}matchesWidget(e){return this.dirty==Ou&&e.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(e){let t=this.widget.spec.stopEvent;return t?t(e):!1}ignoreMutation(e){return e.type!=`selection`||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get ignoreForSelection(){return!!this.widget.type.spec.relaxedSide}get side(){return this.widget.type.side}},Pu=class extends Mu{constructor(e,t,n,r){super(e,[],t,null),this.textDOM=n,this.text=r}get size(){return this.text.length}localPosFromDOM(e,t){return e==this.textDOM?this.posAtStart+t:this.posAtStart+(t?this.size:0)}domFromPos(e){return{node:this.textDOM,offset:e}}ignoreMutation(e){return e.type===`characterData`&&e.target.nodeValue==e.oldValue}},Fu=class e extends Mu{constructor(e,t,n,r,i){super(e,[],n,r),this.mark=t,this.spec=i}static create(t,n,r,i){let a=i.nodeViews[n.type.name],o=a&&a(n,i,r);return(!o||!o.dom)&&(o=ws.renderSpec(document,n.type.spec.toDOM(n,r),null,n.attrs)),new e(t,n,o.dom,o.contentDOM||o.dom,o)}parseRule(){return this.dirty&ju||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(e){return this.dirty!=ju&&this.mark.eq(e)}markDirty(e,t){if(super.markDirty(e,t),this.dirty!=Ou){let e=this.parent;for(;!e.node;)e=e.parent;e.dirty<this.dirty&&(e.dirty=this.dirty),this.dirty=Ou}}slice(t,n,r){let i=e.create(this.parent,this.mark,!0,r),a=this.children,o=this.size;n<o&&(a=nd(a,n,o,r)),t>0&&(a=nd(a,0,t,r));for(let e=0;e<a.length;e++)a[e].parent=i;return i.children=a,i}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}},Iu=class e extends Mu{constructor(e,t,n,r,i,a,o){super(e,[],i,a),this.node=t,this.outerDeco=n,this.innerDeco=r,this.nodeDOM=o}static create(t,n,r,i,a,o){let s=a.nodeViews[n.type.name],c,l=s&&s(n,a,()=>{if(!c)return o;if(c.parent)return c.parent.posBeforeChild(c)},r,i),u=l&&l.dom,d=l&&l.contentDOM;if(n.isText){if(!u)u=document.createTextNode(n.text);else if(u.nodeType!=3)throw RangeError(`Text must be rendered as a DOM text node`)}else if(!u){let e=ws.renderSpec(document,n.type.spec.toDOM(n),null,n.attrs);({dom:u,contentDOM:d}=e)}!d&&!n.isText&&u.nodeName!=`BR`&&(u.hasAttribute(`contenteditable`)||(u.contentEditable=`false`),n.type.spec.draggable&&(u.draggable=!0));let f=u;return u=qu(u,r,n),l?c=new Bu(t,n,r,i,u,d||null,f,l):n.isText?new Ru(t,n,r,i,u,f):new e(t,n,r,i,u,d||null,f)}parseRule(){if(this.node.type.spec.reparseInView)return null;let e={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace==`pre`&&(e.preserveWhitespace=`full`),!this.contentDOM)e.getContent=()=>this.node.content;else if(!this.contentLost)e.contentElement=this.contentDOM;else{for(let t=this.children.length-1;t>=0;t--){let n=this.children[t];if(this.dom.contains(n.dom.parentNode)){e.contentElement=n.dom.parentNode;break}}e.contentElement||(e.getContent=()=>K.empty)}return e}matchesNode(e,t,n){return this.dirty==Ou&&e.eq(this.node)&&Ju(t,this.outerDeco)&&n.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return+!this.node.isLeaf}updateChildren(e,t){let n=this.node.inlineContent,r=t,i=e.composing?this.localCompositionInfo(e,t):null,a=i&&i.pos>-1?i:null,o=i&&i.pos<0,s=new Xu(this,a&&a.node,e);$u(this.node,this.innerDeco,(t,i,a)=>{t.spec.marks?s.syncToMarks(t.spec.marks,n,e,i):t.type.side>=0&&!a&&s.syncToMarks(i==this.node.childCount?q.none:this.node.child(i).marks,n,e,i),s.placeWidget(t,e,r)},(t,a,c,l)=>{s.syncToMarks(t.marks,n,e,l);let u;s.findNodeMatch(t,a,c,l)||o&&e.state.selection.from>r&&e.state.selection.to<r+t.nodeSize&&(u=s.findIndexWithChild(i.node))>-1&&s.updateNodeAt(t,a,c,u,e)||s.updateNextNode(t,a,c,e,l,r)||s.addNode(t,a,c,e,r),r+=t.nodeSize}),s.syncToMarks([],n,e,0),this.node.isTextblock&&s.addTextblockHacks(),s.destroyRest(),(s.changed||this.dirty==Au)&&(a&&this.protectLocalComposition(e,a),Vu(this.contentDOM,this.children,e),Wl&&ed(this.dom))}localCompositionInfo(e,t){let{from:n,to:r}=e.state.selection;if(!(e.state.selection instanceof X)||n<t||r>t+this.node.content.size)return null;let i=e.input.compositionNode;if(!i||!this.dom.contains(i.parentNode))return null;if(this.node.inlineContent){let e=i.nodeValue,a=td(this.node.content,e,n-t,r-t);return a<0?null:{node:i,pos:a,text:e}}else return{node:i,pos:-1,text:``}}protectLocalComposition(e,{node:t,pos:n,text:r}){if(this.getDesc(t))return;let i=t;for(;i.parentNode!=this.contentDOM;i=i.parentNode){for(;i.previousSibling;)i.parentNode.removeChild(i.previousSibling);for(;i.nextSibling;)i.parentNode.removeChild(i.nextSibling);i.pmViewDesc&&=void 0}let a=new Pu(this,i,t,r);e.input.compositionNodes.push(a),this.children=nd(this.children,n,n+r.length,e,a)}update(e,t,n,r){return this.dirty==ju||!e.sameMarkup(this.node)?!1:(this.updateInner(e,t,n,r),!0)}updateInner(e,t,n,r){this.updateOuterDeco(t),this.node=e,this.innerDeco=n,this.contentDOM&&this.updateChildren(r,this.posAtStart),this.dirty=Ou}updateOuterDeco(e){if(Ju(e,this.outerDeco))return;let t=this.nodeDOM.nodeType!=1,n=this.dom;this.dom=Gu(this.dom,this.nodeDOM,Wu(this.outerDeco,this.node,t),Wu(e,this.node,t)),this.dom!=n&&(n.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=e}selectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.add(`ProseMirror-selectednode`),(this.contentDOM||!this.node.type.spec.draggable)&&(this.nodeDOM.draggable=!0))}deselectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.remove(`ProseMirror-selectednode`),(this.contentDOM||!this.node.type.spec.draggable)&&this.nodeDOM.removeAttribute(`draggable`))}get domAtom(){return this.node.isAtom}};function Lu(e,t,n,r,i){qu(r,t,e);let a=new Iu(void 0,e,t,n,r,r,r);return a.contentDOM&&a.updateChildren(i,0),a}var Ru=class e extends Iu{constructor(e,t,n,r,i,a){super(e,t,n,r,i,null,a)}parseRule(){let e=this.nodeDOM.parentNode;for(;e&&e!=this.dom&&!e.pmIsDeco;)e=e.parentNode;return{skip:e||!0}}update(e,t,n,r){return this.dirty==ju||this.dirty!=Ou&&!this.inParent()||!e.sameMarkup(this.node)?!1:(this.updateOuterDeco(t),(this.dirty!=Ou||e.text!=this.node.text)&&e.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=e.text,r.trackWrites==this.nodeDOM&&(r.trackWrites=null)),this.node=e,this.dirty=Ou,!0)}inParent(){let e=this.parent.contentDOM;for(let t=this.nodeDOM;t;t=t.parentNode)if(t==e)return!0;return!1}domFromPos(e){return{node:this.nodeDOM,offset:e}}localPosFromDOM(e,t,n){return e==this.nodeDOM?this.posAtStart+Math.min(t,this.node.text.length):super.localPosFromDOM(e,t,n)}ignoreMutation(e){return e.type!=`characterData`&&e.type!=`selection`}slice(t,n,r){let i=this.node.cut(t,n),a=document.createTextNode(i.text);return new e(this.parent,i,this.outerDeco,this.innerDeco,a,a)}markDirty(e,t){super.markDirty(e,t),this.dom!=this.nodeDOM&&(e==0||t==this.nodeDOM.nodeValue.length)&&(this.dirty=ju)}get domAtom(){return!1}isText(e){return this.node.text==e}},zu=class extends Mu{parseRule(){return{ignore:!0}}matchesHack(e){return this.dirty==Ou&&this.dom.nodeName==e}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName==`IMG`}},Bu=class extends Iu{constructor(e,t,n,r,i,a,o,s){super(e,t,n,r,i,a,o),this.spec=s}update(e,t,n,r){if(this.dirty==ju)return!1;if(this.spec.update&&(this.node.type==e.type||this.spec.multiType)){let i=this.spec.update(e,t,n);return i&&this.updateInner(e,t,n,r),i}else if(!this.contentDOM&&!e.isLeaf)return!1;else return super.update(e,t,n,r)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(e,t,n,r){this.spec.setSelection?this.spec.setSelection(e,t,n.root):super.setSelection(e,t,n,r)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(e){return this.spec.stopEvent?this.spec.stopEvent(e):!1}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}};function Vu(e,t,n){let r=e.firstChild,i=!1;for(let a=0;a<t.length;a++){let o=t[a],s=o.dom;if(s.parentNode==e){for(;s!=r;)r=Yu(r),i=!0;r=r.nextSibling}else i=!0,e.insertBefore(s,r);if(o instanceof Fu){let t=r?r.previousSibling:e.lastChild;Vu(o.contentDOM,o.children,n),r=t?t.nextSibling:e.firstChild}}for(;r;)r=Yu(r),i=!0;i&&n.trackWrites==e&&(n.trackWrites=null)}var Hu=function(e){e&&(this.nodeName=e)};Hu.prototype=Object.create(null);var Uu=[new Hu];function Wu(e,t,n){if(e.length==0)return Uu;let r=n?Uu[0]:new Hu,i=[r];for(let a=0;a<e.length;a++){let o=e[a].type.attrs;if(o){o.nodeName&&i.push(r=new Hu(o.nodeName));for(let e in o){let a=o[e];a!=null&&(n&&i.length==1&&i.push(r=new Hu(t.isInline?`span`:`div`)),e==`class`?r.class=(r.class?r.class+` `:``)+a:e==`style`?r.style=(r.style?r.style+`;`:``)+a:e!=`nodeName`&&(r[e]=a))}}}return i}function Gu(e,t,n,r){if(n==Uu&&r==Uu)return t;let i=t;for(let t=0;t<r.length;t++){let a=r[t],o=n[t];if(t){let t;o&&o.nodeName==a.nodeName&&i!=e&&(t=i.parentNode)&&t.nodeName.toLowerCase()==a.nodeName?i=t:(t=document.createElement(a.nodeName),t.pmIsDeco=!0,t.appendChild(i),o=Uu[0],i=t)}Ku(i,o||Uu[0],a)}return i}function Ku(e,t,n){for(let r in t)r!=`class`&&r!=`style`&&r!=`nodeName`&&!(r in n)&&e.removeAttribute(r);for(let r in n)r!=`class`&&r!=`style`&&r!=`nodeName`&&n[r]!=t[r]&&e.setAttribute(r,n[r]);if(t.class!=n.class){let r=t.class?t.class.split(` `).filter(Boolean):[],i=n.class?n.class.split(` `).filter(Boolean):[];for(let t=0;t<r.length;t++)i.indexOf(r[t])==-1&&e.classList.remove(r[t]);for(let t=0;t<i.length;t++)r.indexOf(i[t])==-1&&e.classList.add(i[t]);e.classList.length==0&&e.removeAttribute(`class`)}if(t.style!=n.style){if(t.style){let n=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,r;for(;r=n.exec(t.style);)e.style.removeProperty(r[1])}n.style&&(e.style.cssText+=n.style)}}function qu(e,t,n){return Gu(e,e,Uu,Wu(t,n,e.nodeType!=1))}function Ju(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].type.eq(t[n].type))return!1;return!0}function Yu(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}var Xu=class{constructor(e,t,n){this.lock=t,this.view=n,this.index=0,this.stack=[],this.changed=!1,this.top=e,this.preMatch=Zu(e.node.content,e)}destroyBetween(e,t){if(e!=t){for(let n=e;n<t;n++)this.top.children[n].destroy();this.top.children.splice(e,t-e),this.changed=!0}}destroyRest(){this.destroyBetween(this.index,this.top.children.length)}syncToMarks(e,t,n,r){let i=0,a=this.stack.length>>1,o=Math.min(a,e.length);for(;i<o&&(i==a-1?this.top:this.stack[i+1<<1]).matchesMark(e[i])&&e[i].type.spec.spanning!==!1;)i++;for(;i<a;)this.destroyRest(),this.top.dirty=Ou,this.index=this.stack.pop(),this.top=this.stack.pop(),a--;for(;a<e.length;){this.stack.push(this.top,this.index+1);let i=-1,o=this.top.children.length;r<this.preMatch.index&&(o=Math.min(this.index+3,o));for(let t=this.index;t<o;t++){let n=this.top.children[t];if(n.matchesMark(e[a])&&!this.isLocked(n.dom)){i=t;break}}if(i<0&&this.index<this.top.children.length){let t=this.top.children[this.index];t instanceof Fu&&t.dirty!=ju&&t.mark.type==e[a].type&&t.spec.update&&!this.isLocked(t.dom)&&t.spec.update(e[a])&&(t.mark=e[a],i=this.index,this.changed=!0)}if(i>-1)i>this.index&&(this.changed=!0,this.destroyBetween(this.index,i)),this.top=this.top.children[this.index];else{let r=Fu.create(this.top,e[a],t,n);this.top.children.splice(this.index,0,r),this.top=r,this.changed=!0}this.index=0,a++}}findNodeMatch(e,t,n,r){let i=-1,a;if(r>=this.preMatch.index&&(a=this.preMatch.matches[r-this.preMatch.index]).parent==this.top&&a.matchesNode(e,t,n))i=this.top.children.indexOf(a,this.index);else for(let r=this.index,a=Math.min(this.top.children.length,r+5);r<a;r++){let a=this.top.children[r];if(a.matchesNode(e,t,n)&&!this.preMatch.matched.has(a)){i=r;break}}return i<0?!1:(this.destroyBetween(this.index,i),this.index++,!0)}updateNodeAt(e,t,n,r,i){let a=this.top.children[r];return a.dirty==ju&&a.dom==a.contentDOM&&(a.dirty=Au),a.update(e,t,n,i)?(this.destroyBetween(this.index,r),this.index++,!0):!1}findIndexWithChild(e){for(;;){let t=e.parentNode;if(!t)return-1;if(t==this.top.contentDOM){let t=e.pmViewDesc;if(t){for(let e=this.index;e<this.top.children.length;e++)if(this.top.children[e]==t)return e}return-1}e=t}}updateNextNode(e,t,n,r,i,a){for(let o=this.index;o<this.top.children.length;o++){let s=this.top.children[o];if(s instanceof Iu){let c=this.preMatch.matched.get(s);if(c!=null&&c!=i)return!1;let l=s.dom,u,d=this.isLocked(l)&&!(e.isText&&s.node&&s.node.isText&&s.nodeDOM.nodeValue==e.text&&s.dirty!=ju&&Ju(t,s.outerDeco));if(!d&&s.update(e,t,n,r))return this.destroyBetween(this.index,o),s.dom!=l&&(this.changed=!0),this.index++,!0;if(!d&&(u=this.recreateWrapper(s,e,t,n,r,a)))return this.destroyBetween(this.index,o),this.top.children[this.index]=u,u.contentDOM&&(u.dirty=Au,u.updateChildren(r,a+1),u.dirty=Ou),this.changed=!0,this.index++,!0;break}}return!1}recreateWrapper(e,t,n,r,i,a){if(e.dirty||t.isAtom||!e.children.length||!e.node.content.eq(t.content)||!Ju(n,e.outerDeco)||!r.eq(e.innerDeco))return null;let o=Iu.create(this.top,t,n,r,i,a);if(o.contentDOM){o.children=e.children,e.children=[];for(let e of o.children)e.parent=o}return e.destroy(),o}addNode(e,t,n,r,i){let a=Iu.create(this.top,e,t,n,r,i);a.contentDOM&&a.updateChildren(r,i+1),this.top.children.splice(this.index++,0,a),this.changed=!0}placeWidget(e,t,n){let r=this.index<this.top.children.length?this.top.children[this.index]:null;if(r&&r.matchesWidget(e)&&(e==r.widget||!r.widget.type.toDOM.parentNode))this.index++;else{let r=new Nu(this.top,e,t,n);this.top.children.splice(this.index++,0,r),this.changed=!0}}addTextblockHacks(){let e=this.top.children[this.index-1],t=this.top;for(;e instanceof Fu;)t=e,e=t.children[t.children.length-1];(!e||!(e instanceof Ru)||/\n$/.test(e.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(e.node.text))&&((Ul||Vl)&&e&&e.dom.contentEditable==`false`&&this.addHackNode(`IMG`,t),this.addHackNode(`BR`,this.top))}addHackNode(e,t){if(t==this.top&&this.index<t.children.length&&t.children[this.index].matchesHack(e))this.index++;else{let n=document.createElement(e);e==`IMG`&&(n.className=`ProseMirror-separator`,n.alt=``),e==`BR`&&(n.className=`ProseMirror-trailingBreak`);let r=new zu(this.top,[],n,null);t==this.top?t.children.splice(this.index++,0,r):t.children.push(r),this.changed=!0}}isLocked(e){return this.lock&&(e==this.lock||e.nodeType==1&&e.contains(this.lock.parentNode))}};function Zu(e,t){let n=t,r=n.children.length,i=e.childCount,a=new Map,o=[];outer:for(;i>0;){let s;for(;;)if(r){let e=n.children[r-1];if(e instanceof Fu)n=e,r=e.children.length;else{s=e,r--;break}}else if(n==t)break outer;else r=n.parent.children.indexOf(n),n=n.parent;let c=s.node;if(c){if(c!=e.child(i-1))break;--i,a.set(s,i),o.push(s)}}return{index:i,matched:a,matches:o.reverse()}}function Qu(e,t){return e.type.side-t.type.side}function $u(e,t,n,r){let i=t.locals(e),a=0;if(i.length==0){for(let n=0;n<e.childCount;n++){let o=e.child(n);r(o,i,t.forChild(a,o),n),a+=o.nodeSize}return}let o=0,s=[],c=null;for(let l=0;;){let u,d;for(;o<i.length&&i[o].to==a;){let e=i[o++];e.widget&&(u?(d||=[u]).push(e):u=e)}if(u)if(d){d.sort(Qu);for(let e=0;e<d.length;e++)n(d[e],l,!!c)}else n(u,l,!!c);let f,p;if(c)p=-1,f=c,c=null;else if(l<e.childCount)p=l,f=e.child(l++);else break;for(let e=0;e<s.length;e++)s[e].to<=a&&s.splice(e--,1);for(;o<i.length&&i[o].from<=a&&i[o].to>a;)s.push(i[o++]);let m=a+f.nodeSize;if(f.isText){let e=m;o<i.length&&i[o].from<e&&(e=i[o].from);for(let t=0;t<s.length;t++)s[t].to<e&&(e=s[t].to);e<m&&(c=f.cut(e-a),f=f.cut(0,e-a),m=e,p=-1)}else for(;o<i.length&&i[o].to<m;)o++;let h=f.isInline&&!f.isLeaf?s.filter(e=>!e.inline):s.slice();r(f,h,t.forChild(a,f),p),a=m}}function ed(e){if(e.nodeName==`UL`||e.nodeName==`OL`){let t=e.style.cssText;e.style.cssText=t+`; list-style: square !important`,window.getComputedStyle(e).listStyle,e.style.cssText=t}}function td(e,t,n,r){for(let i=0,a=0;i<e.childCount&&a<=r;){let o=e.child(i++),s=a;if(a+=o.nodeSize,!o.isText)continue;let c=o.text;for(;i<e.childCount;){let t=e.child(i++);if(a+=t.nodeSize,!t.isText)break;c+=t.text}if(a>=n){if(a>=r&&c.slice(r-t.length-s,r-s)==t)return r-t.length;let e=s<r?c.lastIndexOf(t,r-s-1):-1;if(e>=0&&e+t.length+s>=n)return s+e;if(n==r&&c.length>=r+t.length-s&&c.slice(r-s,r-s+t.length)==t)return r}}return-1}function nd(e,t,n,r,i){let a=[];for(let o=0,s=0;o<e.length;o++){let c=e[o],l=s,u=s+=c.size;l>=n||u<=t?a.push(c):(l<t&&a.push(c.slice(0,t-l,r)),i&&=(a.push(i),void 0),u>n&&a.push(c.slice(n-l,c.size,r)))}return a}function rd(e,t=null){let n=e.domSelectionRange(),r=e.state.doc;if(!n.focusNode)return null;let i=e.docView.nearestDesc(n.focusNode),a=i&&i.size==0,o=e.docView.posFromDOM(n.focusNode,n.focusOffset,1);if(o<0)return null;let s=r.resolve(o),c,l;if(Dl(n)){for(c=o;i&&!i.node;)i=i.parent;let e=i.node;if(i&&e.isAtom&&Z.isSelectable(e)&&i.parent&&!(e.isInline&&Tl(n.focusNode,n.focusOffset,i.dom))){let e=i.posBefore;l=new Z(o==e?s:r.resolve(e))}}else{if(n instanceof e.dom.ownerDocument.defaultView.Selection&&n.rangeCount>1){let t=o,i=o;for(let r=0;r<n.rangeCount;r++){let a=n.getRangeAt(r);t=Math.min(t,e.docView.posFromDOM(a.startContainer,a.startOffset,1)),i=Math.max(i,e.docView.posFromDOM(a.endContainer,a.endOffset,-1))}if(t<0)return null;[c,o]=i==e.state.selection.anchor?[i,t]:[t,i],s=r.resolve(o)}else c=e.docView.posFromDOM(n.anchorNode,n.anchorOffset,1);if(c<0)return null}let u=r.resolve(c);if(!l){let n=t==`pointer`||e.state.selection.head<s.pos&&!a?1:-1;l=md(e,u,s,n)}return l}function id(e){return e.editable?e.hasFocus():gd(e)&&document.activeElement&&document.activeElement.contains(e.dom)}function ad(e,t=!1){let n=e.state.selection;if(fd(e,n),!id(e))return;let r=e.input.mouseDown;if(!t&&Vl&&r){let t=e.domSelectionRange(),n=e.domObserver.currentSelection;if(t.anchorNode&&n.anchorNode&&yl(t.anchorNode,t.anchorOffset,n.anchorNode,n.anchorOffset)&&r.delaySelUpdate()){e.domObserver.setCurSelection();return}}if(e.domObserver.disconnectSelection(),e.cursorWrapper)dd(e);else{let{anchor:r,head:i}=n,a,o;od&&!(n instanceof X)&&(n.$from.parent.inlineContent||(a=sd(e,n.from)),!n.empty&&!n.$from.parent.inlineContent&&(o=sd(e,n.to))),e.docView.setSelection(r,i,e,t),od&&(a&&ld(a),o&&ld(o)),n.visible?e.dom.classList.remove(`ProseMirror-hideselection`):(e.dom.classList.add(`ProseMirror-hideselection`),`onselectionchange`in document&&ud(e))}e.domObserver.setCurSelection(),e.domObserver.connectSelection()}var od=Ul||Vl&&Hl<63;function sd(e,t){let{node:n,offset:r}=e.docView.domFromPos(t,0),i=r<n.childNodes.length?n.childNodes[r]:null,a=r?n.childNodes[r-1]:null;if(Ul&&i&&i.contentEditable==`false`)return cd(i);if((!i||i.contentEditable==`false`)&&(!a||a.contentEditable==`false`)){if(i)return cd(i);if(a)return cd(a)}}function cd(e){return e.contentEditable=`true`,Ul&&e.draggable&&(e.draggable=!1,e.wasDraggable=!0),e}function ld(e){e.contentEditable=`false`,e.wasDraggable&&=(e.draggable=!0,null)}function ud(e){let t=e.dom.ownerDocument;t.removeEventListener(`selectionchange`,e.input.hideSelectionGuard);let n=e.domSelectionRange(),r=n.anchorNode,i=n.anchorOffset;t.addEventListener(`selectionchange`,e.input.hideSelectionGuard=()=>{(n.anchorNode!=r||n.anchorOffset!=i)&&(t.removeEventListener(`selectionchange`,e.input.hideSelectionGuard),setTimeout(()=>{(!id(e)||e.state.selection.visible)&&e.dom.classList.remove(`ProseMirror-hideselection`)},20))})}function dd(e){let t=e.domSelection();if(!t)return;let n=e.cursorWrapper.dom,r=n.nodeName==`IMG`;r?t.collapse(n.parentNode,ml(n)+1):t.collapse(n,0),!r&&!e.state.selection.visible&&Ll&&Rl<=11&&(n.disabled=!0,n.disabled=!1)}function fd(e,t){if(t instanceof Z){let n=e.docView.descAt(t.from);n!=e.lastSelectedViewDesc&&(pd(e),n&&n.selectNode(),e.lastSelectedViewDesc=n)}else pd(e)}function pd(e){e.lastSelectedViewDesc&&=(e.lastSelectedViewDesc.parent&&e.lastSelectedViewDesc.deselectNode(),void 0)}function md(e,t,n,r){return e.someProp(`createSelectionBetween`,r=>r(e,t,n))||X.between(t,n,r)}function hd(e){return e.editable&&!e.hasFocus()?!1:gd(e)}function gd(e){let t=e.domSelectionRange();if(!t.anchorNode)return!1;try{return e.dom.contains(t.anchorNode.nodeType==3?t.anchorNode.parentNode:t.anchorNode)&&(e.editable||e.dom.contains(t.focusNode.nodeType==3?t.focusNode.parentNode:t.focusNode))}catch{return!1}}function _d(e){let t=e.docView.domFromPos(e.state.selection.anchor,0),n=e.domSelectionRange();return yl(t.node,t.offset,n.anchorNode,n.anchorOffset)}function vd(e,t){let{$anchor:n,$head:r}=e.selection,i=t>0?n.max(r):n.min(r),a=i.parent.inlineContent?i.depth?e.doc.resolve(t>0?i.after():i.before()):null:i;return a&&Y.findFrom(a,t)}function yd(e,t){return e.dispatch(e.state.tr.setSelection(t).scrollIntoView()),!0}function bd(e,t,n){let r=e.state.selection;if(r instanceof X){if(n.indexOf(`s`)>-1){let{$head:n}=r,i=n.textOffset?null:t<0?n.nodeBefore:n.nodeAfter;if(!i||i.isText||!i.isLeaf)return!1;let a=e.state.doc.resolve(n.pos+i.nodeSize*(t<0?-1:1));return yd(e,new X(r.$anchor,a))}else if(!r.empty)return!1;else if(e.endOfTextblock(t>0?`forward`:`backward`)){let n=vd(e.state,t);return n&&n instanceof Z?yd(e,n):!1}else if(!(Gl&&n.indexOf(`m`)>-1)){let n=r.$head,i=n.textOffset?null:t<0?n.nodeBefore:n.nodeAfter,a;if(!i||i.isText)return!1;let o=t<0?n.pos-i.nodeSize:n.pos;return i.isAtom||(a=e.docView.descAt(o))&&!a.contentDOM?Z.isSelectable(i)?yd(e,new Z(t<0?e.state.doc.resolve(n.pos-i.nodeSize):n)):Jl?yd(e,new X(e.state.doc.resolve(t<0?o:o+i.nodeSize))):!1:!1}}else if(r instanceof Z&&r.node.isInline)return yd(e,new X(t>0?r.$to:r.$from));else{let n=vd(e.state,t);return n?yd(e,n):!1}}function xd(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function Sd(e,t){let n=e.pmViewDesc;return n&&n.size==0&&(t<0||e.nextSibling||e.nodeName!=`BR`)}function Cd(e,t){return t<0?wd(e):Td(e)}function wd(e){let t=e.domSelectionRange(),n=t.focusNode,r=t.focusOffset;if(!n)return;let i,a,o=!1;for(zl&&n.nodeType==1&&r<xd(n)&&Sd(n.childNodes[r],-1)&&(o=!0);;)if(r>0){if(n.nodeType!=1)break;{let e=n.childNodes[r-1];if(Sd(e,-1))i=n,a=--r;else if(e.nodeType==3)n=e,r=n.nodeValue.length;else break}}else if(Ed(n))break;else{let t=n.previousSibling;for(;t&&Sd(t,-1);)i=n.parentNode,a=ml(t),t=t.previousSibling;if(t)n=t,r=xd(n);else{if(n=n.parentNode,n==e.dom)break;r=0}}o?kd(e,n,r):i&&kd(e,i,a)}function Td(e){let t=e.domSelectionRange(),n=t.focusNode,r=t.focusOffset;if(!n)return;let i=xd(n),a,o;for(;;)if(r<i){if(n.nodeType!=1)break;let e=n.childNodes[r];if(Sd(e,1))a=n,o=++r;else break}else if(Ed(n))break;else{let t=n.nextSibling;for(;t&&Sd(t,1);)a=t.parentNode,o=ml(t)+1,t=t.nextSibling;if(t)n=t,r=0,i=xd(n);else{if(n=n.parentNode,n==e.dom)break;r=i=0}}a&&kd(e,a,o)}function Ed(e){let t=e.pmViewDesc;return t&&t.node&&t.node.isBlock}function Dd(e,t){for(;e&&t==e.childNodes.length&&!El(e);)t=ml(e)+1,e=e.parentNode;for(;e&&t<e.childNodes.length;){let n=e.childNodes[t];if(n.nodeType==3)return n;if(n.nodeType==1&&n.contentEditable==`false`)break;e=n,t=0}}function Od(e,t){for(;e&&!t&&!El(e);)t=ml(e),e=e.parentNode;for(;e&&t;){let n=e.childNodes[t-1];if(n.nodeType==3)return n;if(n.nodeType==1&&n.contentEditable==`false`)break;e=n,t=e.childNodes.length}}function kd(e,t,n){if(t.nodeType!=3){let e,r;(r=Dd(t,n))?(t=r,n=0):(e=Od(t,n))&&(t=e,n=e.nodeValue.length)}let r=e.domSelection();if(!r)return;if(Dl(r)){let e=document.createRange();e.setEnd(t,n),e.setStart(t,n),r.removeAllRanges(),r.addRange(e)}else r.extend&&r.extend(t,n);e.domObserver.setCurSelection();let{state:i}=e;setTimeout(()=>{e.state==i&&ad(e)},50)}function Ad(e,t){let n=e.state.doc.resolve(t);if(!(Vl||Kl)&&n.parent.inlineContent){let r=e.coordsAtPos(t);if(t>n.start()){let n=e.coordsAtPos(t-1),i=(n.top+n.bottom)/2;if(i>r.top&&i<r.bottom&&Math.abs(n.left-r.left)>1)return n.left<r.left?`ltr`:`rtl`}if(t<n.end()){let n=e.coordsAtPos(t+1),i=(n.top+n.bottom)/2;if(i>r.top&&i<r.bottom&&Math.abs(n.left-r.left)>1)return n.left>r.left?`ltr`:`rtl`}}return getComputedStyle(e.dom).direction==`rtl`?`rtl`:`ltr`}function jd(e,t,n){let r=e.state.selection;if(r instanceof X&&!r.empty||n.indexOf(`s`)>-1||Gl&&n.indexOf(`m`)>-1)return!1;let{$from:i,$to:a}=r;if(!i.parent.inlineContent||e.endOfTextblock(t<0?`up`:`down`)){let n=vd(e.state,t);if(n&&n instanceof Z)return yd(e,n)}if(!i.parent.inlineContent){let n=t<0?i:a,o=r instanceof Xc?Y.near(n,t):Y.findFrom(n,t);return o?yd(e,o):!1}return!1}function Md(e,t){if(!(e.state.selection instanceof X))return!0;let{$head:n,$anchor:r,empty:i}=e.state.selection;if(!n.sameParent(r))return!0;if(!i)return!1;if(e.endOfTextblock(t>0?`forward`:`backward`))return!0;let a=!n.textOffset&&(t<0?n.nodeBefore:n.nodeAfter);if(a&&!a.isText){let r=e.state.tr;return t<0?r.delete(n.pos-a.nodeSize,n.pos):r.delete(n.pos,n.pos+a.nodeSize),e.dispatch(r),!0}return!1}function Nd(e,t,n){e.domObserver.stop(),t.contentEditable=n,e.domObserver.start()}function Pd(e){if(!Ul||e.state.selection.$head.parentOffset>0)return!1;let{focusNode:t,focusOffset:n}=e.domSelectionRange();if(t&&t.nodeType==1&&n==0&&t.firstChild&&t.firstChild.contentEditable==`false`){let n=t.firstChild;Nd(e,n,`true`),setTimeout(()=>Nd(e,n,`false`),20)}return!1}function Fd(e){let t=``;return e.ctrlKey&&(t+=`c`),e.metaKey&&(t+=`m`),e.altKey&&(t+=`a`),e.shiftKey&&(t+=`s`),t}function Id(e,t){let n=t.keyCode,r=Fd(t);if(n==8||Gl&&n==72&&r==`c`)return Md(e,-1)||Cd(e,-1);if(n==46&&!t.shiftKey||Gl&&n==68&&r==`c`)return Md(e,1)||Cd(e,1);if(n==13||n==27)return!0;if(n==37||Gl&&n==66&&r==`c`){let t=n==37?Ad(e,e.state.selection.from)==`ltr`?-1:1:-1;return bd(e,t,r)||Cd(e,t)}else if(n==39||Gl&&n==70&&r==`c`){let t=n==39?Ad(e,e.state.selection.from)==`ltr`?1:-1:1;return bd(e,t,r)||Cd(e,t)}else if(n==38||Gl&&n==80&&r==`c`)return jd(e,-1,r)||Cd(e,-1);else if(n==40||Gl&&n==78&&r==`c`)return Pd(e)||jd(e,1,r)||Cd(e,1);else if(r==(Gl?`m`:`c`)&&(n==66||n==73||n==89||n==90))return!0;return!1}function Ld(e,t){e.someProp(`transformCopied`,n=>{t=n(t,e)});let n=[],{content:r,openStart:i,openEnd:a}=t;for(;i>1&&a>1&&r.childCount==1&&r.firstChild.childCount==1;){i--,a--;let e=r.firstChild;n.push(e.type.name,e.attrs==e.type.defaultAttrs?null:e.attrs),r=e.content}let o=e.someProp(`clipboardSerializer`)||ws.fromSchema(e.state.schema),s=qd(),c=s.createElement(`div`);c.appendChild(o.serializeFragment(r,{document:s}));let l=c.firstChild,u,d=0;for(;l&&l.nodeType==1&&(u=Kd[l.nodeName.toLowerCase()]);){for(let e=u.length-1;e>=0;e--){let t=s.createElement(u[e]);for(;c.firstChild;)t.appendChild(c.firstChild);c.appendChild(t),d++}l=c.firstChild}return l&&l.nodeType==1&&l.setAttribute(`data-pm-slice`,`${i} ${a}${d?` -${d}`:``} ${JSON.stringify(n)}`),{dom:c,text:e.someProp(`clipboardTextSerializer`,n=>n(t,e))||t.content.textBetween(0,t.content.size,`
|
|
14
|
-
|
|
15
|
-
`),slice:t}}function Rd(e,t,n,r,i){let a=i.parent.type.spec.code,o,s;if(!n&&!t)return null;let c=!!t&&(r||a||!n);if(c){if(e.someProp(`transformPastedText`,n=>{t=n(t,a||r,e)}),a)return s=new J(K.from(e.state.schema.text(t.replace(/\r\n?/g,`
|
|
16
|
-
`))),0,0),e.someProp(`transformPasted`,t=>{s=t(s,e,!0)}),s;let n=e.someProp(`clipboardTextParser`,n=>n(t,i,r,e));if(n)s=n;else{let n=i.marks(),{schema:r}=e.state,a=ws.fromSchema(r);o=document.createElement(`div`),t.split(/(?:\r\n?|\n)+/).forEach(e=>{let t=o.appendChild(document.createElement(`p`));e&&t.appendChild(a.serializeNode(r.text(e,n)))})}}else e.someProp(`transformPastedHTML`,t=>{n=t(n,e)}),o=Xd(n),Jl&&Zd(o);let l=o&&o.querySelector(`[data-pm-slice]`),u=l&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(l.getAttribute(`data-pm-slice`)||``);if(u&&u[3])for(let e=+u[3];e>0;e--){let e=o.firstChild;for(;e&&e.nodeType!=1;)e=e.nextSibling;if(!e)break;o=e}if(s||=(e.someProp(`clipboardParser`)||e.someProp(`domParser`)||us.fromSchema(e.state.schema)).parseSlice(o,{preserveWhitespace:!!(c||u),context:i,ruleFromNode(e){return e.nodeName==`BR`&&!e.nextSibling&&e.parentNode&&!zd.test(e.parentNode.nodeName)?{ignore:!0}:null}}),u)s=Qd(Gd(s,+u[1],+u[2]),u[4]);else if(s=J.maxOpen(Bd(s.content,i),!0),s.openStart||s.openEnd){let e=0,t=0;for(let t=s.content.firstChild;e<s.openStart&&!t.type.spec.isolating;e++,t=t.firstChild);for(let e=s.content.lastChild;t<s.openEnd&&!e.type.spec.isolating;t++,e=e.lastChild);s=Gd(s,e,t)}return e.someProp(`transformPasted`,t=>{s=t(s,e,c)}),s}var zd=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function Bd(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.index(n)),i,a=[];if(e.forEach(e=>{if(!a)return;let t=r.findWrapping(e.type),n;if(!t)return a=null;if(n=a.length&&i.length&&Hd(t,i,e,a[a.length-1],0))a[a.length-1]=n;else{a.length&&(a[a.length-1]=Ud(a[a.length-1],i.length));let n=Vd(e,t);a.push(n),r=r.matchType(n.type),i=t}}),a)return K.from(a)}return e}function Vd(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,K.from(e));return e}function Hd(e,t,n,r,i){if(i<e.length&&i<t.length&&e[i]==t[i]){let a=Hd(e,t,n,r.lastChild,i+1);if(a)return r.copy(r.content.replaceChild(r.childCount-1,a));if(r.contentMatchAt(r.childCount).matchType(i==e.length-1?n.type:e[i+1]))return r.copy(r.content.append(K.from(Vd(n,e,i+1))))}}function Ud(e,t){if(t==0)return e;let n=e.content.replaceChild(e.childCount-1,Ud(e.lastChild,t-1)),r=e.contentMatchAt(e.childCount).fillBefore(K.empty,!0);return e.copy(n.append(r))}function Wd(e,t,n,r,i,a){let o=t<0?e.firstChild:e.lastChild,s=o.content;return e.childCount>1&&(a=0),i<r-1&&(s=Wd(s,t,n,r,i+1,a)),i>=n&&(s=t<0?o.contentMatchAt(0).fillBefore(s,a<=i).append(s):s.append(o.contentMatchAt(o.childCount).fillBefore(K.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,o.copy(s))}function Gd(e,t,n){return t<e.openStart&&(e=new J(Wd(e.content,-1,t,e.openStart,0,e.openEnd),t,e.openEnd)),n<e.openEnd&&(e=new J(Wd(e.content,1,n,e.openEnd,0,0),e.openStart,n)),e}var Kd={thead:[`table`],tbody:[`table`],tfoot:[`table`],caption:[`table`],colgroup:[`table`],col:[`table`,`colgroup`],tr:[`table`,`tbody`],td:[`table`,`tbody`,`tr`],th:[`table`,`tbody`,`tr`]};function qd(){return document.implementation.createHTMLDocument(`title`)}var Jd=null;function Yd(e){let t=window.trustedTypes;return t?(Jd||=t.defaultPolicy||t.createPolicy(`ProseMirrorClipboard`,{createHTML:e=>e}),Jd.createHTML(e)):e}function Xd(e){let t=/^(\s*<meta [^>]*>)*/.exec(e);t&&(e=e.slice(t[0].length));let n=qd(),r=n.body,i=/<([a-z][^>\s]+)/i.exec(e),a;if((a=i&&Kd[i[1].toLowerCase()])&&(e=a.map(e=>`<`+e+`>`).join(``)+e+a.map(e=>`</`+e+`>`).reverse().join(``)),r.innerHTML=Yd(e),a)for(let e=0;e<a.length;e++)r=r.querySelector(a[e])||r;for(let e=0;e<n.styleSheets.length;e++){let t=n.styleSheets[e];for(let e=0;e<t.rules.length;e++){let n=t.rules[e];if(n instanceof CSSStyleRule){let e=r.querySelectorAll(n.selectorText);for(let t=0;t<e.length;t++)e[t].style.cssText+=n.style.cssText}}}return r}function Zd(e){let t=e.querySelectorAll(Vl?`span:not([class]):not([style])`:`span.Apple-converted-space`);for(let n=0;n<t.length;n++){let r=t[n];r.childNodes.length==1&&r.textContent==`\xA0`&&r.parentNode&&r.parentNode.replaceChild(e.ownerDocument.createTextNode(` `),r)}}function Qd(e,t){if(!e.size)return e;let n=e.content.firstChild.type.schema,r;try{r=JSON.parse(t)}catch{return e}let{content:i,openStart:a,openEnd:o}=e;for(let e=r.length-2;e>=0;e-=2){let t=n.nodes[r[e]];if(!t||t.hasRequiredAttrs())break;i=K.from(t.create(r[e+1],i)),a++,o++}return new J(i,a,o)}var $d={},ef={},tf={touchstart:!0,touchmove:!0},nf=class{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:``,button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.badSafariComposition=!1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}};function rf(e){for(let t in $d){let n=$d[t];e.dom.addEventListener(t,e.input.eventHandlers[t]=t=>{lf(e,t)&&!cf(e,t)&&(e.editable||!(t.type in ef))&&n(e,t)},tf[t]?{passive:!0}:void 0)}Ul&&e.dom.addEventListener(`input`,()=>null),sf(e)}function af(e,t){e.input.lastSelectionOrigin=t,e.input.lastSelectionTime=Date.now()}function of(e){e.input.mouseDown&&e.input.mouseDown.done(),e.domObserver.stop();for(let t in e.input.eventHandlers)e.dom.removeEventListener(t,e.input.eventHandlers[t]);clearTimeout(e.input.composingTimeout),clearTimeout(e.input.lastIOSEnterFallbackTimeout)}function sf(e){e.someProp(`handleDOMEvents`,t=>{for(let n in t)e.input.eventHandlers[n]||e.dom.addEventListener(n,e.input.eventHandlers[n]=t=>cf(e,t))})}function cf(e,t){return e.someProp(`handleDOMEvents`,n=>{let r=n[t.type];return r?r(e,t)||t.defaultPrevented:!1})}function lf(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target;n!=e.dom;n=n.parentNode)if(!n||n.nodeType==11||n.pmViewDesc&&n.pmViewDesc.stopEvent(t))return!1;return!0}function uf(e,t){!cf(e,t)&&$d[t.type]&&(e.editable||!(t.type in ef))&&$d[t.type](e,t)}ef.keydown=(e,t)=>{let n=t;if(e.input.shiftKey=n.keyCode==16||n.shiftKey,!Df(e)&&(e.input.lastKeyCode=n.keyCode,e.input.lastKeyCodeTime=Date.now(),!(ql&&Vl&&n.keyCode==13)))if(n.keyCode!=229&&e.domObserver.forceFlush(),Wl&&n.keyCode==13&&!n.ctrlKey&&!n.altKey&&!n.metaKey){let t=Date.now();e.input.lastIOSEnter=t,e.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{e.input.lastIOSEnter==t&&(e.someProp(`handleKeyDown`,t=>t(e,Ol(13,`Enter`))),e.input.lastIOSEnter=0)},200)}else e.someProp(`handleKeyDown`,t=>t(e,n))||Id(e,n)?n.preventDefault():af(e,`key`)},ef.keyup=(e,t)=>{t.keyCode==16&&(e.input.shiftKey=!1)},ef.keypress=(e,t)=>{let n=t;if(Df(e)||!n.charCode||n.ctrlKey&&!n.altKey||Gl&&n.metaKey)return;if(e.someProp(`handleKeyPress`,t=>t(e,n))){n.preventDefault();return}let r=e.state.selection;if(!(r instanceof X)||!r.$from.sameParent(r.$to)){let t=String.fromCharCode(n.charCode),i=()=>e.state.tr.insertText(t).scrollIntoView();!/[\r\n]/.test(t)&&!e.someProp(`handleTextInput`,n=>n(e,r.$from.pos,r.$to.pos,t,i))&&e.dispatch(i()),n.preventDefault()}};function df(e){return{left:e.clientX,top:e.clientY}}function ff(e,t){let n=t.x-e.clientX,r=t.y-e.clientY;return n*n+r*r<100}function pf(e,t,n,r,i){if(r==-1)return!1;let a=e.state.doc.resolve(r);for(let r=a.depth+1;r>0;r--)if(e.someProp(t,t=>r>a.depth?t(e,n,a.nodeAfter,a.before(r),i,!0):t(e,n,a.node(r),a.before(r),i,!1)))return!0;return!1}function mf(e,t,n){if(e.focused||e.focus(),e.state.selection.eq(t))return;let r=e.state.tr.setSelection(t);n==`pointer`&&r.setMeta(`pointer`,!0),e.dispatch(r)}function hf(e,t){if(t==-1)return!1;let n=e.state.doc.resolve(t),r=n.nodeAfter;return r&&r.isAtom&&Z.isSelectable(r)?(mf(e,new Z(n),`pointer`),!0):!1}function gf(e,t){if(t==-1)return!1;let n=e.state.selection,r,i;n instanceof Z&&(r=n.node);let a=e.state.doc.resolve(t);for(let e=a.depth+1;e>0;e--){let t=e>a.depth?a.nodeAfter:a.node(e);if(Z.isSelectable(t)){i=r&&n.$from.depth>0&&e>=n.$from.depth&&a.before(n.$from.depth+1)==n.$from.pos?a.before(n.$from.depth):a.before(e);break}}return i==null?!1:(mf(e,Z.create(e.state.doc,i),`pointer`),!0)}function _f(e,t,n,r,i){return pf(e,`handleClickOn`,t,n,r)||e.someProp(`handleClick`,n=>n(e,t,r))||(i?gf(e,n):hf(e,n))}function vf(e,t,n,r){return pf(e,`handleDoubleClickOn`,t,n,r)||e.someProp(`handleDoubleClick`,n=>n(e,t,r))}function yf(e,t,n,r){return pf(e,`handleTripleClickOn`,t,n,r)||e.someProp(`handleTripleClick`,n=>n(e,t,r))||bf(e,n,r)}function bf(e,t,n){if(n.button!=0)return!1;let r=xf(e,t,!0),i=e.state.doc;return r?(mf(e,r,`pointer`),r instanceof X&&i.eq(e.state.doc)&&(e.input.mouseDown=new Ef(e,r)),!0):!1}function xf(e,t,n){let r=e.state.doc;if(t==-1)return r.inlineContent?X.create(r,0,r.content.size):null;let i=r.resolve(t);for(let e=i.depth+1;e>0;e--){let t=e>i.depth?i.nodeAfter:i.node(e),a=i.before(e);if(t.inlineContent)return X.create(r,a+1,a+1+t.content.size);if(n&&Z.isSelectable(t))return Z.create(r,a)}return null}function Sf(e){return Nf(e)}var Cf=Gl?`metaKey`:`ctrlKey`;$d.mousedown=(e,t)=>{let n=t;e.input.shiftKey=n.shiftKey;let r=Sf(e),i=Date.now(),a=`singleClick`;i-e.input.lastClick.time<500&&ff(n,e.input.lastClick)&&!n[Cf]&&e.input.lastClick.button==n.button&&(e.input.lastClick.type==`singleClick`?a=`doubleClick`:e.input.lastClick.type==`doubleClick`&&(a=`tripleClick`)),e.input.lastClick={time:i,x:n.clientX,y:n.clientY,type:a,button:n.button},e.input.mouseDown&&e.input.mouseDown.done();let o=e.posAtCoords(df(n));o&&(a==`singleClick`?e.input.mouseDown=new Tf(e,o,n,!!r):(a==`doubleClick`?vf:yf)(e,o.pos,o.inside,n)?n.preventDefault():af(e,`pointer`))};var wf=class{constructor(e){this.view=e,this.mightDrag=null,e.root.addEventListener(`mouseup`,this.up=this.up.bind(this)),e.root.addEventListener(`mousemove`,this.move=this.move.bind(this))}up(e){this.done()}move(e){e.buttons==0&&this.done()}done(){this.view.root.removeEventListener(`mouseup`,this.up),this.view.root.removeEventListener(`mousemove`,this.move),this.view.input.mouseDown==this&&(this.view.input.mouseDown=null)}delaySelUpdate(){return!1}},Tf=class extends wf{constructor(e,t,n,r){super(e),this.pos=t,this.event=n,this.flushed=r,this.delayedSelectionSync=!1,this.startDoc=e.state.doc,this.selectNode=!!n[Cf],this.allowDefault=n.shiftKey;let i,a;if(t.inside>-1)i=e.state.doc.nodeAt(t.inside),a=t.inside;else{let n=e.state.doc.resolve(t.pos);i=n.parent,a=n.depth?n.before():0}let o=r?null:n.target,s=o?e.docView.nearestDesc(o,!0):null;this.target=s&&s.nodeDOM.nodeType==1?s.nodeDOM:null;let{selection:c}=e.state;n.button==0&&(i.type.spec.draggable&&i.type.spec.selectable!==!1||c instanceof Z&&c.from<=a&&c.to>a)&&(this.mightDrag={node:i,pos:a,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&zl&&!this.target.hasAttribute(`contentEditable`))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute(`contentEditable`,`false`)},20),this.view.domObserver.start()),af(e,`pointer`)}done(){super.done(),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute(`draggable`),this.mightDrag.setUneditable&&this.target.removeAttribute(`contentEditable`),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>{this.view.isDestroyed||ad(this.view)})}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let t=this.pos;this.view.state.doc!=this.startDoc&&(t=this.view.posAtCoords(df(e))),this.updateAllowDefault(e),this.allowDefault||!t?af(this.view,`pointer`):_f(this.view,t.pos,t.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||Ul&&this.mightDrag&&!this.mightDrag.node.isAtom||Vl&&!this.view.state.selection.visible&&Math.min(Math.abs(t.pos-this.view.state.selection.from),Math.abs(t.pos-this.view.state.selection.to))<=2)?(mf(this.view,Y.near(this.view.state.doc.resolve(t.pos)),`pointer`),e.preventDefault()):af(this.view,`pointer`)}move(e){this.updateAllowDefault(e),af(this.view,`pointer`),super.move(e)}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}delaySelUpdate(){return this.allowDefault?(this.delayedSelectionSync=!0,!0):!1}},Ef=class extends wf{constructor(e,t){super(e),this.startSelection=t,this.startDoc=e.state.doc}move(e){if(e.buttons==0||this.view.isDestroyed||!this.view.state.doc.eq(this.startDoc)){this.done();return}e.preventDefault(),af(this.view,`pointer`);let t=this.view.posAtCoords(df(e)),n=t&&xf(this.view,t.inside,!1);if(!n)return;let{doc:r}=this.view.state,i=this.startSelection,[a,o]=n.from<i.from?[i.to,n.from]:[i.from,n.to];mf(this.view,X.create(r,a,o),`pointer`)}};$d.touchstart=e=>{e.input.lastTouch=Date.now(),Sf(e),af(e,`pointer`)},$d.touchmove=e=>{e.input.lastTouch=Date.now(),af(e,`pointer`)},$d.contextmenu=e=>Sf(e);function Df(e,t){return e.composing?!0:Ul&&Math.abs(Date.now()-e.input.compositionEndedAt)<500?(e.input.compositionEndedAt=-2e8,!0):!1}var Of=ql?5e3:-1;ef.compositionstart=ef.compositionupdate=e=>{if(!e.composing){e.domObserver.flush();let{state:t}=e,n=t.selection.$to;if(t.selection instanceof X&&(t.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some(e=>e.type.spec.inclusive===!1)||Vl&&Kl&&kf(e)))e.markCursor=e.state.storedMarks||n.marks(),Nf(e,!0),e.markCursor=null;else if(Nf(e,!t.selection.empty),zl&&t.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let t=e.domSelectionRange();for(let n=t.focusNode,r=t.focusOffset;n&&n.nodeType==1&&r!=0;){let t=r<0?n.lastChild:n.childNodes[r-1];if(!t)break;if(t.nodeType==3){let n=e.domSelection();n&&n.collapse(t,t.nodeValue.length);break}else n=t,r=-1}}e.input.composing=!0}Af(e,Of)};function kf(e){let{focusNode:t,focusOffset:n}=e.domSelectionRange();if(!t||t.nodeType!=1||n>=t.childNodes.length)return!1;let r=t.childNodes[n];return r.nodeType==1&&r.contentEditable==`false`}ef.compositionend=(e,t)=>{e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=Date.now(),e.input.compositionPendingChanges=e.domObserver.pendingRecords().length?e.input.compositionID:0,e.input.compositionNode=null,e.input.badSafariComposition?e.domObserver.forceFlush():e.input.compositionPendingChanges&&Promise.resolve().then(()=>e.domObserver.flush()),e.input.compositionID++,Af(e,20))};function Af(e,t){clearTimeout(e.input.composingTimeout),t>-1&&(e.input.composingTimeout=setTimeout(()=>Nf(e),t))}function jf(e){for(e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=Date.now());e.input.compositionNodes.length>0;)e.input.compositionNodes.pop().markParentsDirty()}function Mf(e){let t=e.domSelectionRange();if(!t.focusNode)return null;let n=Cl(t.focusNode,t.focusOffset),r=wl(t.focusNode,t.focusOffset);if(n&&r&&n!=r){let t=r.pmViewDesc,i=e.domObserver.lastChangedTextNode;if(n==i||r==i)return i;if(!t||!t.isText(r.nodeValue))return r;if(e.input.compositionNode==r){let e=n.pmViewDesc;if(!(!e||!e.isText(n.nodeValue)))return r}}return n||r}function Nf(e,t=!1){if(!(ql&&e.domObserver.flushingSoon>=0)){if(e.domObserver.forceFlush(),jf(e),t||e.docView&&e.docView.dirty){let n=rd(e),r=e.state.selection;return n&&!n.eq(r)?e.dispatch(e.state.tr.setSelection(n)):(e.markCursor||t)&&!r.$from.node(r.$from.sharedDepth(r.to)).inlineContent?e.dispatch(e.state.tr.deleteSelection()):e.updateState(e.state),!0}return!1}}function Pf(e,t){if(!e.dom.parentNode)return;let n=e.dom.parentNode.appendChild(document.createElement(`div`));n.appendChild(t),n.style.cssText=`position: fixed; left: -10000px; top: 10px`;let r=getSelection(),i=document.createRange();i.selectNodeContents(t),e.dom.blur(),r.removeAllRanges(),r.addRange(i),setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n),e.focus()},50)}var Ff=Ll&&Rl<15||Wl&&Yl<604;$d.copy=ef.cut=(e,t)=>{let n=t,r=e.state.selection,i=n.type==`cut`;if(r.empty)return;let a=Ff?null:n.clipboardData,{dom:o,text:s}=Ld(e,r.content());a?(n.preventDefault(),a.clearData(),a.setData(`text/html`,o.innerHTML),a.setData(`text/plain`,s)):Pf(e,o),i&&e.dispatch(e.state.tr.deleteSelection().scrollIntoView().setMeta(`uiEvent`,`cut`))};function If(e){return e.openStart==0&&e.openEnd==0&&e.content.childCount==1?e.content.firstChild:null}function Lf(e,t){if(!e.dom.parentNode)return;let n=e.input.shiftKey||e.state.selection.$from.parent.type.spec.code,r=e.dom.parentNode.appendChild(document.createElement(n?`textarea`:`div`));n||(r.contentEditable=`true`),r.style.cssText=`position: fixed; left: -10000px; top: 10px`,r.focus();let i=e.input.shiftKey&&e.input.lastKeyCode!=45;setTimeout(()=>{e.focus(),r.parentNode&&r.parentNode.removeChild(r),n?Rf(e,r.value,null,i,t):Rf(e,r.textContent,r.innerHTML,i,t)},50)}function Rf(e,t,n,r,i){let a=Rd(e,t,n,r,e.state.selection.$from);if(e.someProp(`handlePaste`,t=>t(e,i,a||J.empty)))return!0;if(!a)return!1;let o=If(a),s=o?e.state.tr.replaceSelectionWith(o,r):e.state.tr.replaceSelection(a);return e.dispatch(s.scrollIntoView().setMeta(`paste`,!0).setMeta(`uiEvent`,`paste`)),!0}function zf(e){let t=e.getData(`text/plain`)||e.getData(`Text`);if(t)return t;let n=e.getData(`text/uri-list`);return n?n.replace(/\r?\n/g,` `):``}ef.paste=(e,t)=>{let n=t;if(e.composing&&!ql)return;let r=Ff?null:n.clipboardData,i=e.input.shiftKey&&e.input.lastKeyCode!=45;r&&Rf(e,zf(r),r.getData(`text/html`),i,n)?n.preventDefault():Lf(e,n)};var Bf=class{constructor(e,t,n){this.slice=e,this.move=t,this.node=n}},Vf=Gl?`altKey`:`ctrlKey`;function Hf(e,t){let n;return e.someProp(`dragCopies`,e=>{n||=e(t)}),n==null?!t[Vf]:!n}$d.dragstart=(e,t)=>{let n=t,r=e.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let i=e.state.selection,a=i.empty?null:e.posAtCoords(df(n)),o;if(!(a&&a.pos>=i.from&&a.pos<=(i instanceof Z?i.to-1:i.to))){if(r&&r.mightDrag)o=Z.create(e.state.doc,r.mightDrag.pos);else if(n.target&&n.target.nodeType==1){let t=e.docView.nearestDesc(n.target,!0);t&&t.node.type.spec.draggable&&t!=e.docView&&(o=Z.create(e.state.doc,t.posBefore))}}let{dom:s,text:c,slice:l}=Ld(e,(o||e.state.selection).content());(!n.dataTransfer.files.length||!Vl||Hl>120)&&n.dataTransfer.clearData(),n.dataTransfer.setData(Ff?`Text`:`text/html`,s.innerHTML),n.dataTransfer.effectAllowed=`copyMove`,Ff||n.dataTransfer.setData(`text/plain`,c),e.dragging=new Bf(l,Hf(e,n),o)},$d.dragend=e=>{let t=e.dragging;window.setTimeout(()=>{e.dragging==t&&(e.dragging=null)},50)},ef.dragover=ef.dragenter=(e,t)=>t.preventDefault(),ef.drop=(e,t)=>{try{Uf(e,t,e.dragging)}finally{e.dragging=null}};function Uf(e,t,n){if(!t.dataTransfer)return;let r=e.posAtCoords(df(t));if(!r)return;let i=e.state.doc.resolve(r.pos),a=n&&n.slice;a?e.someProp(`transformPasted`,t=>{a=t(a,e,!1)}):a=Rd(e,zf(t.dataTransfer),Ff?null:t.dataTransfer.getData(`text/html`),!1,i);let o=!!(n&&Hf(e,t));if(e.someProp(`handleDrop`,n=>n(e,t,a||J.empty,o))){t.preventDefault();return}if(!a)return;t.preventDefault();let s=a?wc(e.state.doc,i.pos,a):i.pos;s??=i.pos;let c=e.state.tr;if(o){let{node:e}=n;e?e.replace(c):c.deleteSelection()}let l=c.mapping.map(s),u=a.openStart==0&&a.openEnd==0&&a.content.childCount==1,d=c.doc;if(u?c.replaceRangeWith(l,l,a.content.firstChild):c.replaceRange(l,l,a),c.doc.eq(d))return;let f=c.doc.resolve(l);if(u&&Z.isSelectable(a.content.firstChild)&&f.nodeAfter&&f.nodeAfter.sameMarkup(a.content.firstChild))c.setSelection(new Z(f));else{let t=c.mapping.map(s);c.mapping.maps[c.mapping.maps.length-1].forEach((e,n,r,i)=>t=i),c.setSelection(md(e,f,c.doc.resolve(t)))}e.focus(),e.dispatch(c.setMeta(`uiEvent`,`drop`))}$d.focus=e=>{e.input.lastFocus=Date.now(),e.focused||(e.domObserver.stop(),e.dom.classList.add(`ProseMirror-focused`),e.domObserver.start(),e.focused=!0,setTimeout(()=>{e.docView&&e.hasFocus()&&!e.domObserver.currentSelection.eq(e.domSelectionRange())&&ad(e)},20))},$d.blur=(e,t)=>{let n=t;e.focused&&=(e.domObserver.stop(),e.dom.classList.remove(`ProseMirror-focused`),e.domObserver.start(),n.relatedTarget&&e.dom.contains(n.relatedTarget)&&e.domObserver.currentSelection.clear(),!1)},$d.beforeinput=(e,t)=>{if(Vl&&ql&&t.inputType==`deleteContentBackward`){e.domObserver.flushSoon();let{domChangeCount:t}=e.input;setTimeout(()=>{if(e.input.domChangeCount!=t||(e.dom.blur(),e.focus(),e.someProp(`handleKeyDown`,t=>t(e,Ol(8,`Backspace`)))))return;let{$cursor:n}=e.state.selection;n&&n.pos>0&&e.dispatch(e.state.tr.delete(n.pos-1,n.pos).scrollIntoView())},50)}};for(let e in ef)$d[e]=ef[e];function Wf(e,t){if(e==t)return!0;for(let n in e)if(e[n]!==t[n])return!1;for(let n in t)if(!(n in e))return!1;return!0}var Gf=class e{constructor(e,t){this.toDOM=e,this.spec=t||Xf,this.side=this.spec.side||0}map(e,t,n,r){let{pos:i,deleted:a}=e.mapResult(t.from+r,this.side<0?-1:1);return a?null:new Jf(i-n,i-n,this)}valid(){return!0}eq(t){return this==t||t instanceof e&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&Wf(this.spec,t.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}},Kf=class e{constructor(e,t){this.attrs=e,this.spec=t||Xf}map(e,t,n,r){let i=e.map(t.from+r,this.spec.inclusiveStart?-1:1)-n,a=e.map(t.to+r,this.spec.inclusiveEnd?1:-1)-n;return i>=a?null:new Jf(i,a,this)}valid(e,t){return t.from<t.to}eq(t){return this==t||t instanceof e&&Wf(this.attrs,t.attrs)&&Wf(this.spec,t.spec)}static is(t){return t.type instanceof e}destroy(){}},qf=class e{constructor(e,t){this.attrs=e,this.spec=t||Xf}map(e,t,n,r){let i=e.mapResult(t.from+r,1);if(i.deleted)return null;let a=e.mapResult(t.to+r,-1);return a.deleted||a.pos<=i.pos?null:new Jf(i.pos-n,a.pos-n,this)}valid(e,t){let{index:n,offset:r}=e.content.findIndex(t.from),i;return r==t.from&&!(i=e.child(n)).isText&&r+i.nodeSize==t.to}eq(t){return this==t||t instanceof e&&Wf(this.attrs,t.attrs)&&Wf(this.spec,t.spec)}destroy(){}},Jf=class e{constructor(e,t,n){this.from=e,this.to=t,this.type=n}copy(t,n){return new e(t,n,this.type)}eq(e,t=0){return this.type.eq(e.type)&&this.from+t==e.from&&this.to+t==e.to}map(e,t,n){return this.type.map(e,this,t,n)}static widget(t,n,r){return new e(t,t,new Gf(n,r))}static inline(t,n,r,i){return new e(t,n,new Kf(r,i))}static node(t,n,r,i){return new e(t,n,new qf(r,i))}get spec(){return this.type.spec}get inline(){return this.type instanceof Kf}get widget(){return this.type instanceof Gf}},Yf=[],Xf={},Zf=class e{constructor(e,t){this.local=e.length?e:Yf,this.children=t.length?t:Yf}static create(e,t){return t.length?ap(t,e,0,Xf):Qf}find(e,t,n){let r=[];return this.findInner(e??0,t??1e9,r,0,n),r}findInner(e,t,n,r,i){for(let a=0;a<this.local.length;a++){let o=this.local[a];o.from<=t&&o.to>=e&&(!i||i(o.spec))&&n.push(o.copy(o.from+r,o.to+r))}for(let a=0;a<this.children.length;a+=3)if(this.children[a]<t&&this.children[a+1]>e){let o=this.children[a]+1;this.children[a+2].findInner(e-o,t-o,n,r+o,i)}}map(e,t,n){return this==Qf||e.maps.length==0?this:this.mapInner(e,t,0,0,n||Xf)}mapInner(t,n,r,i,a){let o;for(let e=0;e<this.local.length;e++){let s=this.local[e].map(t,r,i);s&&s.type.valid(n,s)?(o||=[]).push(s):a.onRemove&&a.onRemove(this.local[e].spec)}return this.children.length?ep(this.children,o||[],t,n,r,i,a):o?new e(o.sort(op),Yf):Qf}add(t,n){return n.length?this==Qf?e.create(t,n):this.addInner(t,n,0):this}addInner(t,n,r){let i,a=0;t.forEach((e,t)=>{let o=t+r,s;if(s=rp(n,e,o)){for(i||=this.children.slice();a<i.length&&i[a]<t;)a+=3;i[a]==t?i[a+2]=i[a+2].addInner(e,s,o+1):i.splice(a,0,t,t+e.nodeSize,ap(s,e,o+1,Xf)),a+=3}});let o=tp(a?ip(n):n,-r);for(let e=0;e<o.length;e++)o[e].type.valid(t,o[e])||o.splice(e--,1);return new e(o.length?this.local.concat(o).sort(op):this.local,i||this.children)}remove(e){return e.length==0||this==Qf?this:this.removeInner(e,0)}removeInner(t,n){let r=this.children,i=this.local;for(let e=0;e<r.length;e+=3){let i,a=r[e]+n,o=r[e+1]+n;for(let e=0,n;e<t.length;e++)(n=t[e])&&n.from>a&&n.to<o&&(t[e]=null,(i||=[]).push(n));if(!i)continue;r==this.children&&(r=this.children.slice());let s=r[e+2].removeInner(i,a+1);s==Qf?(r.splice(e,3),e-=3):r[e+2]=s}if(i.length){for(let e=0,r;e<t.length;e++)if(r=t[e])for(let e=0;e<i.length;e++)i[e].eq(r,n)&&(i==this.local&&(i=this.local.slice()),i.splice(e--,1))}return r==this.children&&i==this.local?this:i.length||r.length?new e(i,r):Qf}forChild(t,n){if(this==Qf)return this;if(n.isLeaf)return e.empty;let r,i;for(let e=0;e<this.children.length;e+=3)if(this.children[e]>=t){this.children[e]==t&&(r=this.children[e+2]);break}let a=t+1,o=a+n.content.size;for(let e=0;e<this.local.length;e++){let t=this.local[e];if(t.from<o&&t.to>a&&t.type instanceof Kf){let e=Math.max(a,t.from)-a,n=Math.min(o,t.to)-a;e<n&&(i||=[]).push(t.copy(e,n))}}if(i){let t=new e(i.sort(op),Yf);return r?new $f([t,r]):t}return r||Qf}eq(t){if(this==t)return!0;if(!(t instanceof e)||this.local.length!=t.local.length||this.children.length!=t.children.length)return!1;for(let e=0;e<this.local.length;e++)if(!this.local[e].eq(t.local[e]))return!1;for(let e=0;e<this.children.length;e+=3)if(this.children[e]!=t.children[e]||this.children[e+1]!=t.children[e+1]||!this.children[e+2].eq(t.children[e+2]))return!1;return!0}locals(e){return sp(this.localsInner(e))}localsInner(e){if(this==Qf)return Yf;if(e.inlineContent||!this.local.some(Kf.is))return this.local;let t=[];for(let e=0;e<this.local.length;e++)this.local[e].type instanceof Kf||t.push(this.local[e]);return t}forEachSet(e){e(this)}};Zf.empty=new Zf([],[]),Zf.removeOverlap=sp;var Qf=Zf.empty,$f=class e{constructor(e){this.members=e}map(t,n){let r=this.members.map(e=>e.map(t,n,Xf));return e.from(r)}forChild(t,n){if(n.isLeaf)return Zf.empty;let r=[];for(let i=0;i<this.members.length;i++){let a=this.members[i].forChild(t,n);a!=Qf&&(a instanceof e?r=r.concat(a.members):r.push(a))}return e.from(r)}eq(t){if(!(t instanceof e)||t.members.length!=this.members.length)return!1;for(let e=0;e<this.members.length;e++)if(!this.members[e].eq(t.members[e]))return!1;return!0}locals(e){let t,n=!0;for(let r=0;r<this.members.length;r++){let i=this.members[r].localsInner(e);if(i.length)if(!t)t=i;else{n&&=(t=t.slice(),!1);for(let e=0;e<i.length;e++)t.push(i[e])}}return t?sp(n?t:t.sort(op)):Yf}static from(t){switch(t.length){case 0:return Qf;case 1:return t[0];default:return new e(t.every(e=>e instanceof Zf)?t:t.reduce((e,t)=>e.concat(t instanceof Zf?t:t.members),[]))}}forEachSet(e){for(let t=0;t<this.members.length;t++)this.members[t].forEachSet(e)}};function ep(e,t,n,r,i,a,o){let s=e.slice();for(let e=0,t=a;e<n.maps.length;e++){let r=0;n.maps[e].forEach((e,n,i,a)=>{let o=a-i-(n-e);for(let i=0;i<s.length;i+=3){let a=s[i+1];if(a<0||e>a+t-r)continue;let c=s[i]+t-r;n>=c?s[i+1]=e<=c?-2:-1:e>=t&&o&&(s[i]+=o,s[i+1]+=o)}r+=o}),t=n.maps[e].map(t,-1)}let c=!1;for(let t=0;t<s.length;t+=3)if(s[t+1]<0){if(s[t+1]==-2){c=!0,s[t+1]=-1;continue}let l=n.map(e[t]+a),u=l-i;if(u<0||u>=r.content.size){c=!0;continue}let d=n.map(e[t+1]+a,-1)-i,{index:f,offset:p}=r.content.findIndex(u),m=r.maybeChild(f);if(m&&p==u&&p+m.nodeSize==d){let r=s[t+2].mapInner(n,m,l+1,e[t]+a+1,o);r==Qf?(s[t+1]=-2,c=!0):(s[t]=u,s[t+1]=d,s[t+2]=r)}else c=!0}if(c){let c=ap(np(s,e,t,n,i,a,o),r,0,o);t=c.local;for(let e=0;e<s.length;e+=3)s[e+1]<0&&(s.splice(e,3),e-=3);for(let e=0,t=0;e<c.children.length;e+=3){let n=c.children[e];for(;t<s.length&&s[t]<n;)t+=3;s.splice(t,0,c.children[e],c.children[e+1],c.children[e+2])}}return new Zf(t.sort(op),s)}function tp(e,t){if(!t||!e.length)return e;let n=[];for(let r=0;r<e.length;r++){let i=e[r];n.push(new Jf(i.from+t,i.to+t,i.type))}return n}function np(e,t,n,r,i,a,o){function s(e,t){for(let a=0;a<e.local.length;a++){let s=e.local[a].map(r,i,t);s?n.push(s):o.onRemove&&o.onRemove(e.local[a].spec)}for(let n=0;n<e.children.length;n+=3)s(e.children[n+2],e.children[n]+t+1)}for(let n=0;n<e.length;n+=3)e[n+1]==-1&&s(e[n+2],t[n]+a+1);return n}function rp(e,t,n){if(t.isLeaf)return null;let r=n+t.nodeSize,i=null;for(let t=0,a;t<e.length;t++)(a=e[t])&&a.from>n&&a.to<r&&((i||=[]).push(a),e[t]=null);return i}function ip(e){let t=[];for(let n=0;n<e.length;n++)e[n]!=null&&t.push(e[n]);return t}function ap(e,t,n,r){let i=[],a=!1;t.forEach((t,o)=>{let s=rp(e,t,o+n);if(s){a=!0;let e=ap(s,t,n+o+1,r);e!=Qf&&i.push(o,o+t.nodeSize,e)}});let o=tp(a?ip(e):e,-n).sort(op);for(let e=0;e<o.length;e++)o[e].type.valid(t,o[e])||(r.onRemove&&r.onRemove(o[e].spec),o.splice(e--,1));return o.length||i.length?new Zf(o,i):Qf}function op(e,t){return e.from-t.from||e.to-t.to}function sp(e){let t=e;for(let n=0;n<t.length-1;n++){let r=t[n];if(r.from!=r.to)for(let i=n+1;i<t.length;i++){let a=t[i];if(a.from==r.from){a.to!=r.to&&(t==e&&(t=e.slice()),t[i]=a.copy(a.from,r.to),cp(t,i+1,a.copy(r.to,a.to)));continue}else{a.from<r.to&&(t==e&&(t=e.slice()),t[n]=r.copy(r.from,a.from),cp(t,i,r.copy(a.from,r.to)));break}}}return t}function cp(e,t,n){for(;t<e.length&&op(n,e[t])>0;)t++;e.splice(t,0,n)}function lp(e){let t=[];return e.someProp(`decorations`,n=>{let r=n(e.state);r&&r!=Qf&&t.push(r)}),e.cursorWrapper&&t.push(Zf.create(e.state.doc,[e.cursorWrapper.deco])),$f.from(t)}var up={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},dp=Ll&&Rl<=11,fp=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}},pp=class{constructor(e,t){this.view=e,this.handleDOMChange=t,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new fp,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(t=>{for(let e=0;e<t.length;e++)this.queue.push(t[e]);Ll&&Rl<=11&&t.some(e=>e.type==`childList`&&e.removedNodes.length||e.type==`characterData`&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():Ul&&e.composing&&t.some(e=>e.type==`childList`&&e.target.nodeName==`TR`)?(e.input.badSafariComposition=!0,this.flushSoon()):this.flush()}),dp&&(this.onCharData=e=>{this.queue.push({target:e.target,type:`characterData`,oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,up)),this.onCharData&&this.view.dom.addEventListener(`DOMCharacterDataModified`,this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let t=0;t<e.length;t++)this.queue.push(e[t]);window.setTimeout(()=>this.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener(`DOMCharacterDataModified`,this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener(`selectionchange`,this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener(`selectionchange`,this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(hd(this.view)){if(this.suppressingSelectionUpdates)return ad(this.view);if(Ll&&Rl<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&yl(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let t=new Set,n;for(let n=e.focusNode;n;n=hl(n))t.add(n);for(let r=e.anchorNode;r;r=hl(r))if(t.has(r)){n=r;break}let r=n&&this.view.docView.nearestDesc(n);if(r&&r.ignoreMutation({type:`selection`,target:n.nodeType==3?n.parentNode:n}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let t=this.pendingRecords();t.length&&(this.queue=[]);let n=e.domSelectionRange(),r=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(n)&&hd(e)&&!this.ignoreSelectionChange(n),i=-1,a=-1,o=!1,s=[];if(e.editable)for(let e=0;e<t.length;e++){let n=this.registerMutation(t[e],s);n&&(i=i<0?n.from:Math.min(n.from,i),a=a<0?n.to:Math.max(n.to,a),n.typeOver&&(o=!0))}if(s.some(e=>e.nodeName==`BR`)&&(e.input.lastKeyCode==8||e.input.lastKeyCode==46||Vl&&(e.composing||e.input.compositionEndedAt>Date.now()-50)&&t.some(e=>e.type==`childList`&&e.removedNodes.length))){for(let e of s)if(e.nodeName==`BR`&&e.parentNode){let t=e.nextSibling;for(;t&&t.nodeType==1;){if(t.contentEditable==`false`){e.parentNode.removeChild(e);break}t=t.firstChild}}}else if(zl&&s.length){let t=s.filter(e=>e.nodeName==`BR`);if(t.length==2){let[e,n]=t;e.parentNode&&e.parentNode.parentNode==n.parentNode?n.remove():e.remove()}else{let{focusNode:n}=this.currentSelection;for(let r of t){let t=r.parentNode;t&&t.nodeName==`LI`&&(!n||yp(e,n)!=t)&&r.remove()}}}let c=null;i<0&&r&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)<Date.now()-300&&Dl(n)&&(c=rd(e))&&c.eq(Y.near(e.state.doc.resolve(0),1))?(e.input.lastFocus=0,ad(e),this.currentSelection.set(n),e.scrollToSelection()):(i>-1||r)&&(i>-1&&(e.docView.markDirty(i,a),gp(e)),e.input.badSafariComposition&&(e.input.badSafariComposition=!1,bp(e,s)),this.handleDOMChange(i,a,o,s),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(n)||ad(e),this.currentSelection.set(n))}registerMutation(e,t){if(t.indexOf(e.target)>-1)return null;let n=this.view.docView.nearestDesc(e.target);if(e.type==`attributes`&&(n==this.view.docView||e.attributeName==`contenteditable`||e.attributeName==`style`&&!e.oldValue&&!e.target.getAttribute(`style`))||!n||n.ignoreMutation(e))return null;if(e.type==`childList`){for(let n=0;n<e.addedNodes.length;n++){let r=e.addedNodes[n];t.push(r),r.nodeType==3&&(this.lastChangedTextNode=r)}if(n.contentDOM&&n.contentDOM!=n.dom&&!n.contentDOM.contains(e.target))return{from:n.posBefore,to:n.posAfter};let r=e.previousSibling,i=e.nextSibling;if(Ll&&Rl<=11&&e.addedNodes.length)for(let t=0;t<e.addedNodes.length;t++){let{previousSibling:n,nextSibling:a}=e.addedNodes[t];(!n||Array.prototype.indexOf.call(e.addedNodes,n)<0)&&(r=n),(!a||Array.prototype.indexOf.call(e.addedNodes,a)<0)&&(i=a)}let a=r&&r.parentNode==e.target?ml(r)+1:0,o=n.localPosFromDOM(e.target,a,-1),s=i&&i.parentNode==e.target?ml(i):e.target.childNodes.length;return{from:o,to:n.localPosFromDOM(e.target,s,1)}}else if(e.type==`attributes`)return{from:n.posAtStart-n.border,to:n.posAtEnd+n.border};else return this.lastChangedTextNode=e.target,{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}}},mp=new WeakMap,hp=!1;function gp(e){if(!mp.has(e)&&(mp.set(e,null),[`normal`,`nowrap`,`pre-line`].indexOf(getComputedStyle(e.dom).whiteSpace)!==-1)){if(e.requiresGeckoHackNode=zl,hp)return;console.warn(`ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package.`),hp=!0}}function _p(e,t){let n=t.startContainer,r=t.startOffset,i=t.endContainer,a=t.endOffset,o=e.domAtPos(e.state.selection.anchor);return yl(o.node,o.offset,i,a)&&([n,r,i,a]=[i,a,n,r]),{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:a}}function vp(e,t){if(t.getComposedRanges){let n=t.getComposedRanges(e.root)[0];if(n)return _p(e,n)}let n;function r(e){e.preventDefault(),e.stopImmediatePropagation(),n=e.getTargetRanges()[0]}return e.dom.addEventListener(`beforeinput`,r,!0),document.execCommand(`indent`),e.dom.removeEventListener(`beforeinput`,r,!0),n?_p(e,n):null}function yp(e,t){for(let n=t.parentNode;n&&n!=e.dom;n=n.parentNode){let t=e.docView.nearestDesc(n,!0);if(t&&t.node.isBlock)return n}return null}function bp(e,t){let{focusNode:n,focusOffset:r}=e.domSelectionRange();for(let i of t)if(i.parentNode?.nodeName==`TR`){let t=i.nextSibling;for(;t&&t.nodeName!=`TD`&&t.nodeName!=`TH`;)t=t.nextSibling;if(t){let a=t;for(;;){let e=a.firstChild;if(!e||e.nodeType!=1||e.contentEditable==`false`||/^(BR|IMG)$/.test(e.nodeName))break;a=e}a.insertBefore(i,a.firstChild),n==i&&e.domSelection().collapse(i,r)}else i.parentNode.removeChild(i)}}function xp(e,t,n){let{node:r,fromOffset:i,toOffset:a,from:o,to:s}=e.docView.parseRange(t,n),c=e.domSelectionRange(),l,u=c.anchorNode;if(u&&e.dom.contains(u.nodeType==1?u:u.parentNode)&&(l=[{node:u,offset:c.anchorOffset}],Dl(c)||l.push({node:c.focusNode,offset:c.focusOffset})),Vl&&e.input.lastKeyCode===8)for(let e=a;e>i;e--){let t=r.childNodes[e-1],n=t.pmViewDesc;if(t.nodeName==`BR`&&!n){a=e;break}if(!n||n.size)break}let d=e.state.doc,f=e.someProp(`domParser`)||us.fromSchema(e.state.schema),p=d.resolve(o),m=null,h=f.parse(r,{topNode:p.parent,topMatch:p.parent.contentMatchAt(p.index()),topOpen:!0,from:i,to:a,preserveWhitespace:p.parent.type.whitespace!=`pre`||`full`,findPositions:l,ruleFromNode:Sp,context:p});if(l&&l[0].pos!=null){let e=l[0].pos,t=l[1]&&l[1].pos;t??=e,m={anchor:e+o,head:t+o}}return{doc:h,sel:m,from:o,to:s}}function Sp(e){let t=e.pmViewDesc;if(t)return t.parseRule();if(e.nodeName==`BR`&&e.parentNode){if(Ul&&/^(ul|ol)$/i.test(e.parentNode.nodeName)){let e=document.createElement(`div`);return e.appendChild(document.createElement(`li`)),{skip:e}}else if(e.parentNode.lastChild==e||Ul&&/^(tr|table)$/i.test(e.parentNode.nodeName))return{ignore:!0}}else if(e.nodeName==`IMG`&&e.getAttribute(`mark-placeholder`))return{ignore:!0};return null}var Cp=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|img|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function wp(e,t,n,r,i){let a=e.input.compositionPendingChanges||(e.composing?e.input.compositionID:0);if(e.input.compositionPendingChanges=0,t<0){let t=e.input.lastSelectionTime>Date.now()-50?e.input.lastSelectionOrigin:null,n=rd(e,t);if(n&&!e.state.selection.eq(n)){if(Vl&&ql&&e.input.lastKeyCode===13&&Date.now()-100<e.input.lastKeyCodeTime&&e.someProp(`handleKeyDown`,t=>t(e,Ol(13,`Enter`))))return;let r=e.state.tr.setSelection(n);t==`pointer`?r.setMeta(`pointer`,!0):t==`key`&&r.scrollIntoView(),a&&r.setMeta(`composition`,a),e.dispatch(r)}return}let o=e.state.doc.resolve(t),s=o.sharedDepth(n);t=o.before(s+1),n=e.state.doc.resolve(n).after(s+1);let c=e.state.selection,l=xp(e,t,n),u=e.state.doc,d=u.slice(l.from,l.to),f,p;e.input.lastKeyCode===8&&Date.now()-100<e.input.lastKeyCodeTime?(f=e.state.selection.to,p=`end`):(f=e.state.selection.from,p=`start`),e.input.lastKeyCode=null;let m=kp(d.content,l.doc.content,l.from,f,p);if(m&&e.input.domChangeCount++,(Wl&&e.input.lastIOSEnter>Date.now()-225||ql)&&i.some(e=>e.nodeType==1&&!Cp.test(e.nodeName))&&(!m||m.endA>=m.endB)&&e.someProp(`handleKeyDown`,t=>t(e,Ol(13,`Enter`)))){e.input.lastIOSEnter=0;return}if(!m)if(r&&c instanceof X&&!c.empty&&c.$head.sameParent(c.$anchor)&&!e.composing&&!(l.sel&&l.sel.anchor!=l.sel.head))m={start:c.from,endA:c.to,endB:c.to};else{if(l.sel){let t=Tp(e,e.state.doc,l.sel);if(t&&!t.eq(e.state.selection)){let n=e.state.tr.setSelection(t);a&&n.setMeta(`composition`,a),e.dispatch(n)}}return}e.state.selection.from<e.state.selection.to&&m.start==m.endB&&e.state.selection instanceof X&&(m.start>e.state.selection.from&&m.start<=e.state.selection.from+2&&e.state.selection.from>=l.from?m.start=e.state.selection.from:m.endA<e.state.selection.to&&m.endA>=e.state.selection.to-2&&e.state.selection.to<=l.to&&(m.endB+=e.state.selection.to-m.endA,m.endA=e.state.selection.to)),Ll&&Rl<=11&&m.endB==m.start+1&&m.endA==m.start&&m.start>l.from&&l.doc.textBetween(m.start-l.from-1,m.start-l.from+1)==` \xA0`&&(m.start--,m.endA--,m.endB--);let h=l.doc.resolveNoCache(m.start-l.from),g=l.doc.resolveNoCache(m.endB-l.from),_=u.resolve(m.start),v=h.sameParent(g)&&h.parent.inlineContent&&_.end()>=m.endA;if((Wl&&e.input.lastIOSEnter>Date.now()-225&&(!v||i.some(e=>e.nodeName==`DIV`||e.nodeName==`P`))||!v&&h.pos<l.doc.content.size&&(!h.sameParent(g)||!h.parent.inlineContent)&&h.pos<g.pos&&!/\S/.test(l.doc.textBetween(h.pos,g.pos,``,``)))&&e.someProp(`handleKeyDown`,t=>t(e,Ol(13,`Enter`)))){e.input.lastIOSEnter=0;return}if(e.state.selection.anchor>m.start&&Dp(u,m.start,m.endA,h,g)&&e.someProp(`handleKeyDown`,t=>t(e,Ol(8,`Backspace`)))){ql&&Vl&&e.domObserver.suppressSelectionUpdates();return}Vl&&m.endB==m.start&&(e.input.lastChromeDelete=Date.now()),ql&&!v&&h.start()!=g.start()&&g.parentOffset==0&&h.depth==g.depth&&l.sel&&l.sel.anchor==l.sel.head&&l.sel.head==m.endA&&(m.endB-=2,g=l.doc.resolveNoCache(m.endB-l.from),setTimeout(()=>{e.someProp(`handleKeyDown`,function(t){return t(e,Ol(13,`Enter`))})},20));let y=m.start,b=m.endA,x=t=>{let n=t||e.state.tr.replace(y,b,l.doc.slice(m.start-l.from,m.endB-l.from));if(l.sel){let t=Tp(e,n.doc,l.sel);t&&!(Vl&&e.composing&&t.empty&&(m.start!=m.endB||e.input.lastChromeDelete<Date.now()-100)&&(t.head==y||t.head==n.mapping.map(b)-1)||Ll&&t.empty&&t.head==y)&&n.setSelection(t)}return a&&n.setMeta(`composition`,a),n.scrollIntoView()},S;if(v)if(h.pos==g.pos){Ll&&Rl<=11&&h.parentOffset==0&&(e.domObserver.suppressSelectionUpdates(),setTimeout(()=>ad(e),20));let t=x(e.state.tr.delete(y,b)),n=u.resolve(m.start).marksAcross(u.resolve(m.endA));n&&t.ensureMarks(n),e.dispatch(t)}else if(m.endA==m.endB&&(S=Ep(h.parent.content.cut(h.parentOffset,g.parentOffset),_.parent.content.cut(_.parentOffset,m.endA-_.start())))){let t=x(e.state.tr);S.type==`add`?t.addMark(y,b,S.mark):t.removeMark(y,b,S.mark),e.dispatch(t)}else if(h.parent.child(h.index()).isText&&h.index()==g.index()-+!g.textOffset){let t=h.parent.textBetween(h.parentOffset,g.parentOffset),n=()=>x(e.state.tr.insertText(t,y,b));e.someProp(`handleTextInput`,r=>r(e,y,b,t,n))||e.dispatch(n())}else e.dispatch(x());else e.dispatch(x())}function Tp(e,t,n){return Math.max(n.anchor,n.head)>t.content.size?null:md(e,t.resolve(n.anchor),t.resolve(n.head))}function Ep(e,t){let n=e.firstChild.marks,r=t.firstChild.marks,i=n,a=r,o,s,c;for(let e=0;e<r.length;e++)i=r[e].removeFromSet(i);for(let e=0;e<n.length;e++)a=n[e].removeFromSet(a);if(i.length==1&&a.length==0)s=i[0],o=`add`,c=e=>e.mark(s.addToSet(e.marks));else if(i.length==0&&a.length==1)s=a[0],o=`remove`,c=e=>e.mark(s.removeFromSet(e.marks));else return null;let l=[];for(let e=0;e<t.childCount;e++)l.push(c(t.child(e)));if(K.from(l).eq(e))return{mark:s,type:o}}function Dp(e,t,n,r,i){if(n-t<=i.pos-r.pos||Op(r,!0,!1)<i.pos)return!1;let a=e.resolve(t);if(!r.parent.isTextblock){let e=a.nodeAfter;return e!=null&&n==t+e.nodeSize}if(a.parentOffset<a.parent.content.size||!a.parent.isTextblock)return!1;let o=e.resolve(Op(a,!0,!0));return!o.parent.isTextblock||o.pos>n||Op(o,!0,!1)<n?!1:r.parent.content.cut(r.parentOffset).eq(o.parent.content)}function Op(e,t,n){let r=e.depth,i=t?e.end():e.pos;for(;r>0&&(t||e.indexAfter(r)==e.node(r).childCount);)r--,i++,t=!1;if(n){let t=e.node(r).maybeChild(e.indexAfter(r));for(;t&&!t.isLeaf;)t=t.firstChild,i++}return i}function kp(e,t,n,r,i){let a=e.findDiffStart(t,n),o=n+e.size,s=n+t.size;if(a==null)return null;let{a:c,b:l}=e.findDiffEnd(t,o,s);if(i==`end`){let e=Math.max(0,a-Math.min(c,l));r-=c+e-a}if(c<a&&o<s){let e=r<=a&&r>=c?a-r:0;a-=e,l=a+(l-c),c=a}else if(l<a){let e=r<=a&&r>=l?a-r:0;a-=e,c=a+(c-l),l=a}return{start:a,endA:c,endB:l}}var Ap=class{constructor(e,t){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new nf,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=t,this.state=t.state,this.directPlugins=t.plugins||[],this.directPlugins.forEach(Lp),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement(`div`),e&&(e.appendChild?e.appendChild(this.dom):typeof e==`function`?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=Np(this),Mp(this),this.nodeViews=Fp(this),this.docView=Lu(this.state.doc,jp(this),lp(this),this.dom,this),this.domObserver=new pp(this,(e,t,n,r)=>wp(this,e,t,n,r)),this.domObserver.start(),rf(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let t in e)this._props[t]=e[t];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&sf(this);let t=this._props;this._props=e,e.plugins&&(e.plugins.forEach(Lp),this.directPlugins=e.plugins),this.updateStateInner(e.state,t)}setProps(e){let t={};for(let e in this._props)t[e]=this._props[e];t.state=this.state;for(let n in e)t[n]=e[n];this.update(t)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,t){let n=this.state,r=!1,i=!1;e.storedMarks&&this.composing&&(jf(this),i=!0),this.state=e;let a=n.plugins!=e.plugins||this._props.plugins!=t.plugins;if(a||this._props.plugins!=t.plugins||this._props.nodeViews!=t.nodeViews){let e=Fp(this);Ip(e,this.nodeViews)&&(this.nodeViews=e,r=!0)}(a||t.handleDOMEvents!=this._props.handleDOMEvents)&&sf(this),this.editable=Np(this),Mp(this);let o=lp(this),s=jp(this),c=n.plugins!=e.plugins&&!n.doc.eq(e.doc)?`reset`:e.scrollToSelection>n.scrollToSelection?`to selection`:`preserve`,l=r||!this.docView.matchesNode(e.doc,s,o);(l||!e.selection.eq(n.selection))&&(i=!0);let u=c==`preserve`&&i&&this.dom.style.overflowAnchor==null&&eu(this);if(i){this.domObserver.stop();let t=l&&(Ll||Vl)&&!this.composing&&!n.selection.empty&&!e.selection.empty&&Pp(n.selection,e.selection);if(l){let n=Vl?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=Mf(this)),(r||!this.docView.update(e.doc,s,o,this))&&(this.docView.updateOuterDeco(s),this.docView.destroy(),this.docView=Lu(e.doc,s,o,this.dom,this)),n&&(!this.trackWrites||!this.dom.contains(this.trackWrites))&&(t=!0)}let i=this.input.mouseDown;t||!(i&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&_d(this)&&i.delaySelUpdate())?ad(this,t):(fd(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(n),this.dragging?.node&&!n.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,n),c==`reset`?this.dom.scrollTop=0:c==`to selection`?this.scrollToSelection():u&&nu(u)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!this.dom.contains(e.nodeType==1?e:e.parentNode))&&!this.someProp(`handleScrollToSelection`,e=>e(this)))if(this.state.selection instanceof Z){let t=this.docView.domAfterPos(this.state.selection.from);t.nodeType==1&&$l(this,t.getBoundingClientRect(),e)}else $l(this,this.coordsAtPos(this.state.selection.head,1),e)}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let e=0;e<this.directPlugins.length;e++){let t=this.directPlugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}for(let e=0;e<this.state.plugins.length;e++){let t=this.state.plugins[e];t.spec.view&&this.pluginViews.push(t.spec.view(this))}}else for(let t=0;t<this.pluginViews.length;t++){let n=this.pluginViews[t];n.update&&n.update(this,e)}}updateDraggedNode(e,t){let n=e.node,r=-1;if(n.from<this.state.doc.content.size&&this.state.doc.nodeAt(n.from)==n.node)r=n.from;else{let e=n.from+(this.state.doc.content.size-t.doc.content.size);(e>0&&e<this.state.doc.content.size&&this.state.doc.nodeAt(e))==n.node&&(r=e)}this.dragging=new Bf(e.slice,e.move,r<0?void 0:Z.create(this.state.doc,r))}someProp(e,t){let n=this._props&&this._props[e],r;if(n!=null&&(r=t?t(n):n))return r;for(let n=0;n<this.directPlugins.length;n++){let i=this.directPlugins[n].props[e];if(i!=null&&(r=t?t(i):i))return r}let i=this.state.plugins;if(i)for(let n=0;n<i.length;n++){let a=i[n].props[e];if(a!=null&&(r=t?t(a):a))return r}}hasFocus(){if(Ll){let e=this.root.activeElement;if(e==this.dom)return!0;if(!e||!this.dom.contains(e))return!1;for(;e&&this.dom!=e&&this.dom.contains(e);){if(e.contentEditable==`false`)return!1;e=e.parentElement}return!0}return this.root.activeElement==this.dom}focus(){this.domObserver.stop(),this.editable&&au(this.dom),ad(this),this.domObserver.start()}get root(){let e=this._root;if(e==null){for(let e=this.dom.parentNode;e;e=e.parentNode)if(e.nodeType==9||e.nodeType==11&&e.host)return e.getSelection||(Object.getPrototypeOf(e).getSelection=()=>e.ownerDocument.getSelection()),this._root=e}return e||document}updateRoot(){this._root=null}posAtCoords(e){return pu(this,e)}coordsAtPos(e,t=1){return _u(this,e,t)}domAtPos(e,t=0){return this.docView.domFromPos(e,t)}nodeDOM(e){let t=this.docView.descAt(e);return t?t.nodeDOM:null}posAtDOM(e,t,n=-1){let r=this.docView.posFromDOM(e,t,n);if(r==null)throw RangeError(`DOM position not inside the editor`);return r}endOfTextblock(e,t){return Du(this,t||this.state,e)}pasteHTML(e,t){return Rf(this,``,e,!1,t||new ClipboardEvent(`paste`))}pasteText(e,t){return Rf(this,e,null,!0,t||new ClipboardEvent(`paste`))}serializeForClipboard(e){return Ld(this,e)}destroy(){this.docView&&(of(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],lp(this),this),this.dom.textContent=``):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,vl())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return uf(this,e)}domSelectionRange(){let e=this.domSelection();return e?Ul&&this.root.nodeType===11&&kl(this.dom.ownerDocument)==this.dom&&vp(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}};Ap.prototype.dispatch=function(e){let t=this._props.dispatchTransaction;t?t.call(this,e):this.updateState(this.state.apply(e))};function jp(e){let t=Object.create(null);return t.class=`ProseMirror`,t.contenteditable=String(e.editable),e.someProp(`attributes`,n=>{if(typeof n==`function`&&(n=n(e.state)),n)for(let e in n)e==`class`?t.class+=` `+n[e]:e==`style`?t.style=(t.style?t.style+`;`:``)+n[e]:!t[e]&&e!=`contenteditable`&&e!=`nodeName`&&(t[e]=String(n[e]))}),t.translate||=`no`,[Jf.node(0,e.state.doc.content.size,t)]}function Mp(e){if(e.markCursor){let t=document.createElement(`img`);t.className=`ProseMirror-separator`,t.setAttribute(`mark-placeholder`,`true`),t.setAttribute(`alt`,``),e.cursorWrapper={dom:t,deco:Jf.widget(e.state.selection.from,t,{raw:!0,marks:e.markCursor})}}else e.cursorWrapper=null}function Np(e){return!e.someProp(`editable`,t=>t(e.state)===!1)}function Pp(e,t){let n=Math.min(e.$anchor.sharedDepth(e.head),t.$anchor.sharedDepth(t.head));return e.$anchor.start(n)!=t.$anchor.start(n)}function Fp(e){let t=Object.create(null);function n(e){for(let n in e)Object.prototype.hasOwnProperty.call(t,n)||(t[n]=e[n])}return e.someProp(`nodeViews`,n),e.someProp(`markViews`,n),t}function Ip(e,t){let n=0,r=0;for(let r in e){if(e[r]!=t[r])return!0;n++}for(let e in t)r++;return n!=r}function Lp(e){if(e.spec.state||e.spec.filterTransaction||e.spec.appendTransaction)throw RangeError(`Plugins passed directly to the view must not have a state component`)}for(var Rp={8:`Backspace`,9:`Tab`,10:`Enter`,12:`NumLock`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,44:`PrintScreen`,45:`Insert`,46:`Delete`,59:`;`,61:`=`,91:`Meta`,92:`Meta`,106:`*`,107:`+`,108:`,`,109:`-`,110:`.`,111:`/`,144:`NumLock`,145:`ScrollLock`,160:`Shift`,161:`Shift`,162:`Control`,163:`Control`,164:`Alt`,165:`Alt`,173:`-`,186:`;`,187:`=`,188:`,`,189:`-`,190:`.`,191:`/`,192:"`",219:`[`,220:`\\`,221:`]`,222:`'`},zp={48:`)`,49:`!`,50:`@`,51:`#`,52:`$`,53:`%`,54:`^`,55:`&`,56:`*`,57:`(`,59:`:`,61:`+`,173:`_`,186:`:`,187:`+`,188:`<`,189:`_`,190:`>`,191:`?`,192:`~`,219:`{`,220:`|`,221:`}`,222:`"`},Bp=typeof navigator<`u`&&/Mac/.test(navigator.platform),Vp=typeof navigator<`u`&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Hp=0;Hp<10;Hp++)Rp[48+Hp]=Rp[96+Hp]=String(Hp);for(var Hp=1;Hp<=24;Hp++)Rp[Hp+111]=`F`+Hp;for(var Hp=65;Hp<=90;Hp++)Rp[Hp]=String.fromCharCode(Hp+32),zp[Hp]=String.fromCharCode(Hp);for(var Up in Rp)zp.hasOwnProperty(Up)||(zp[Up]=Rp[Up]);function Wp(e){var t=!(Bp&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||Vp&&e.shiftKey&&e.key&&e.key.length==1||e.key==`Unidentified`)&&e.key||(e.shiftKey?zp:Rp)[e.keyCode]||e.key||`Unidentified`;return t==`Esc`&&(t=`Escape`),t==`Del`&&(t=`Delete`),t==`Left`&&(t=`ArrowLeft`),t==`Up`&&(t=`ArrowUp`),t==`Right`&&(t=`ArrowRight`),t==`Down`&&(t=`ArrowDown`),t}var Gp=typeof navigator<`u`&&/Mac|iP(hone|[oa]d)/.test(navigator.platform),Kp=typeof navigator<`u`&&/Win/.test(navigator.platform);function qp(e){let t=e.split(/-(?!$)/),n=t[t.length-1];n==`Space`&&(n=` `);let r,i,a,o;for(let e=0;e<t.length-1;e++){let n=t[e];if(/^(cmd|meta|m)$/i.test(n))o=!0;else if(/^a(lt)?$/i.test(n))r=!0;else if(/^(c|ctrl|control)$/i.test(n))i=!0;else if(/^s(hift)?$/i.test(n))a=!0;else if(/^mod$/i.test(n))Gp?o=!0:i=!0;else throw Error(`Unrecognized modifier name: `+n)}return r&&(n=`Alt-`+n),i&&(n=`Ctrl-`+n),o&&(n=`Meta-`+n),a&&(n=`Shift-`+n),n}function Jp(e){let t=Object.create(null);for(let n in e)t[qp(n)]=e[n];return t}function Yp(e,t,n=!0){return t.altKey&&(e=`Alt-`+e),t.ctrlKey&&(e=`Ctrl-`+e),t.metaKey&&(e=`Meta-`+e),n&&t.shiftKey&&(e=`Shift-`+e),e}function Xp(e){return new ul({props:{handleKeyDown:Zp(e)}})}function Zp(e){let t=Jp(e);return function(e,n){let r=Wp(n),i,a=t[Yp(r,n)];if(a&&a(e.state,e.dispatch,e))return!0;if(r.length==1&&r!=` `){if(n.shiftKey){let i=t[Yp(r,n,!1)];if(i&&i(e.state,e.dispatch,e))return!0}if((n.altKey||n.metaKey||n.ctrlKey)&&!(Kp&&n.ctrlKey&&n.altKey)&&(i=Rp[n.keyCode])&&i!=r){let r=t[Yp(i,n)];if(r&&r(e.state,e.dispatch,e))return!0}}return!1}}var Qp=(e,t)=>e.selection.empty?!1:(t&&t(e.tr.deleteSelection().scrollIntoView()),!0);function $p(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock(`backward`,e):n.parentOffset>0)?null:n}var em=(e,t,n)=>{let r=$p(e,n);if(!r)return!1;let i=om(r);if(!i){let n=r.blockRange(),i=n&&ic(n);return i==null?!1:(t&&t(e.tr.lift(n,i).scrollIntoView()),!0)}let a=i.nodeBefore;if(wm(e,i,t,-1))return!0;if(r.parent.content.size==0&&(im(a,`end`)||Z.isSelectable(a)))for(let n=r.depth;;n--){let o=Tc(e.doc,r.before(n),r.after(n),J.empty);if(o&&o.slice.size<o.to-o.from){if(t){let n=e.tr.step(o);n.setSelection(im(a,`end`)?Y.findFrom(n.doc.resolve(n.mapping.map(i.pos,-1)),-1):Z.create(n.doc,i.pos-a.nodeSize)),t(n.scrollIntoView())}return!0}if(n==1||r.node(n-1).childCount>1)break}return a.isAtom&&i.depth==r.depth-1?(t&&t(e.tr.delete(i.pos-a.nodeSize,i.pos).scrollIntoView()),!0):!1},tm=(e,t,n)=>{let r=$p(e,n);if(!r)return!1;let i=om(r);return i?rm(e,i,t):!1},nm=(e,t,n)=>{let r=sm(e,n);if(!r)return!1;let i=um(r);return i?rm(e,i,t):!1};function rm(e,t,n){let r=t.nodeBefore,i=t.pos-1;for(;!r.isTextblock;i--){if(r.type.spec.isolating)return!1;let e=r.lastChild;if(!e)return!1;r=e}let a=t.nodeAfter,o=t.pos+1;for(;!a.isTextblock;o++){if(a.type.spec.isolating)return!1;let e=a.firstChild;if(!e)return!1;a=e}let s=Tc(e.doc,i,o,J.empty);if(!s||s.from!=i||s instanceof Zs&&s.slice.size>=o-i)return!1;if(n){let t=e.tr.step(s);t.setSelection(X.create(t.doc,i)),n(t.scrollIntoView())}return!0}function im(e,t,n=!1){for(let r=e;r;r=t==`start`?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&r.childCount!=1)return!1}return!1}var am=(e,t,n)=>{let{$head:r,empty:i}=e.selection,a=r;if(!i)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock(`backward`,e):r.parentOffset>0)return!1;a=om(r)}let o=a&&a.nodeBefore;return!o||!Z.isSelectable(o)?!1:(t&&t(e.tr.setSelection(Z.create(e.doc,a.pos-o.nodeSize)).scrollIntoView()),!0)};function om(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){if(e.index(t)>0)return e.doc.resolve(e.before(t+1));if(e.node(t).type.spec.isolating)break}return null}function sm(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock(`forward`,e):n.parentOffset<n.parent.content.size)?null:n}var cm=(e,t,n)=>{let r=sm(e,n);if(!r)return!1;let i=um(r);if(!i)return!1;let a=i.nodeAfter;if(wm(e,i,t,1))return!0;if(r.parent.content.size==0&&(im(a,`start`)||Z.isSelectable(a))){let n=Tc(e.doc,r.before(),r.after(),J.empty);if(n&&n.slice.size<n.to-n.from){if(t){let r=e.tr.step(n);r.setSelection(im(a,`start`)?Y.findFrom(r.doc.resolve(r.mapping.map(i.pos)),1):Z.create(r.doc,r.mapping.map(i.pos))),t(r.scrollIntoView())}return!0}}return a.isAtom&&i.depth==r.depth-1?(t&&t(e.tr.delete(i.pos,i.pos+a.nodeSize).scrollIntoView()),!0):!1},lm=(e,t,n)=>{let{$head:r,empty:i}=e.selection,a=r;if(!i)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock(`forward`,e):r.parentOffset<r.parent.content.size)return!1;a=um(r)}let o=a&&a.nodeAfter;return!o||!Z.isSelectable(o)?!1:(t&&t(e.tr.setSelection(Z.create(e.doc,a.pos)).scrollIntoView()),!0)};function um(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){let n=e.node(t);if(e.index(t)+1<n.childCount)return e.doc.resolve(e.after(t+1));if(n.type.spec.isolating)break}return null}var dm=(e,t)=>{let n=e.selection,r=n instanceof Z,i;if(r){if(n.node.isTextblock||!vc(e.doc,n.from))return!1;i=n.from}else if(i=xc(e.doc,n.from,-1),i==null)return!1;if(t){let n=e.tr.join(i);r&&n.setSelection(Z.create(n.doc,i-e.doc.resolve(i).nodeBefore.nodeSize)),t(n.scrollIntoView())}return!0},fm=(e,t)=>{let n=e.selection,r;if(n instanceof Z){if(n.node.isTextblock||!vc(e.doc,n.to))return!1;r=n.to}else if(r=xc(e.doc,n.to,1),r==null)return!1;return t&&t(e.tr.join(r).scrollIntoView()),!0},pm=(e,t)=>{let{$from:n,$to:r}=e.selection,i=n.blockRange(r),a=i&&ic(i);return a==null?!1:(t&&t(e.tr.lift(i,a).scrollIntoView()),!0)},mm=(e,t)=>{let{$head:n,$anchor:r}=e.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(t&&t(e.tr.insertText(`
|
|
17
|
-
`).scrollIntoView()),!0)};function hm(e){for(let t=0;t<e.edgeCount;t++){let{type:n}=e.edge(t);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}var gm=(e,t)=>{let{$head:n,$anchor:r}=e.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let i=n.node(-1),a=n.indexAfter(-1),o=hm(i.contentMatchAt(a));if(!o||!i.canReplaceWith(a,a,o))return!1;if(t){let r=n.after(),i=e.tr.replaceWith(r,r,o.createAndFill());i.setSelection(Y.near(i.doc.resolve(r),1)),t(i.scrollIntoView())}return!0},_m=(e,t)=>{let n=e.selection,{$from:r,$to:i}=n;if(n instanceof Xc||r.parent.inlineContent||i.parent.inlineContent)return!1;let a=hm(i.parent.contentMatchAt(i.indexAfter()));if(!a||!a.isTextblock)return!1;if(t){let n=(!r.parentOffset&&i.index()<i.parent.childCount?r:i).pos,o=e.tr.insert(n,a.createAndFill());o.setSelection(X.create(o.doc,n+1)),t(o.scrollIntoView())}return!0},vm=(e,t)=>{let{$cursor:n}=e.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let r=n.before();if(gc(e.doc,r))return t&&t(e.tr.split(r).scrollIntoView()),!0}let r=n.blockRange(),i=r&&ic(r);return i==null?!1:(t&&t(e.tr.lift(r,i).scrollIntoView()),!0)};function ym(e){return(t,n)=>{let{$from:r,$to:i}=t.selection;if(t.selection instanceof Z&&t.selection.node.isBlock)return!r.parentOffset||!gc(t.doc,r.pos)?!1:(n&&n(t.tr.split(r.pos).scrollIntoView()),!0);if(!r.depth)return!1;let a=[],o,s,c=!1,l=!1;for(let t=r.depth;;t--)if(r.node(t).isBlock){c=r.end(t)==r.pos+(r.depth-t),l=r.start(t)==r.pos-(r.depth-t),s=hm(r.node(t-1).contentMatchAt(r.indexAfter(t-1)));let n=e&&e(i.parent,c,r);a.unshift(n||(c&&s?{type:s}:null)),o=t;break}else{if(t==1)return!1;a.unshift(null)}let u=t.tr;(t.selection instanceof X||t.selection instanceof Xc)&&u.deleteSelection();let d=u.mapping.map(r.pos),f=gc(u.doc,d,a.length,a);if(f||=(a[0]=s?{type:s}:null,gc(u.doc,d,a.length,a)),!f)return!1;if(u.split(d,a.length,a),!c&&l&&r.node(o).type!=s){let e=u.mapping.map(r.before(o)),t=u.doc.resolve(e);s&&r.node(o-1).canReplaceWith(t.index(),t.index()+1,s)&&u.setNodeMarkup(u.mapping.map(r.before(o)),s)}return n&&n(u.scrollIntoView()),!0}}var bm=ym(),xm=(e,t)=>{let{$from:n,to:r}=e.selection,i,a=n.sharedDepth(r);return a==0?!1:(i=n.before(a),t&&t(e.tr.setSelection(Z.create(e.doc,i))),!0)},Sm=(e,t)=>(t&&t(e.tr.setSelection(new Xc(e.doc))),!0);function Cm(e,t,n){let r=t.nodeBefore,i=t.nodeAfter,a=t.index();return!r||!i||!r.type.compatibleContent(i.type)?!1:!r.content.size&&t.parent.canReplace(a-1,a)?(n&&n(e.tr.delete(t.pos-r.nodeSize,t.pos).scrollIntoView()),!0):!t.parent.canReplace(a,a+1)||!(i.isTextblock||vc(e.doc,t.pos))?!1:(n&&n(e.tr.join(t.pos).scrollIntoView()),!0)}function wm(e,t,n,r){let i=t.nodeBefore,a=t.nodeAfter,o,s,c=i.type.spec.isolating||a.type.spec.isolating;if(!c&&Cm(e,t,n))return!0;let l=!c&&t.parent.canReplace(t.index(),t.index()+1);if(l&&(o=(s=i.contentMatchAt(i.childCount)).findWrapping(a.type))&&s.matchType(o[0]||a.type).validEnd){if(n){let r=t.pos+a.nodeSize,s=K.empty;for(let e=o.length-1;e>=0;e--)s=K.from(o[e].create(null,s));s=K.from(i.copy(s));let c=e.tr.step(new Qs(t.pos-1,r,t.pos,r,new J(s,1,0),o.length,!0)),l=c.doc.resolve(r+2*o.length);l.nodeAfter&&l.nodeAfter.type==i.type&&vc(c.doc,l.pos)&&c.join(l.pos),n(c.scrollIntoView())}return!0}let u=a.type.spec.isolating||r>0&&c?null:Y.findFrom(t,1),d=u&&u.$from.blockRange(u.$to),f=d&&ic(d);if(f!=null&&f>=t.depth)return n&&n(e.tr.lift(d,f).scrollIntoView()),!0;if(l&&im(a,`start`,!0)&&im(i,`end`)){let r=i,o=[];for(;o.push(r),!r.isTextblock;)r=r.lastChild;let s=a,c=1;for(;!s.isTextblock;s=s.firstChild)c++;if(r.canReplace(r.childCount,r.childCount,s.content)){if(n){let r=K.empty;for(let e=o.length-1;e>=0;e--)r=K.from(o[e].copy(r));n(e.tr.step(new Qs(t.pos-o.length,t.pos+a.nodeSize,t.pos+c,t.pos+a.nodeSize-c,new J(r,o.length,0),0,!0)).scrollIntoView())}return!0}}return!1}function Tm(e){return function(t,n){let r=t.selection,i=e<0?r.$from:r.$to,a=i.depth;for(;i.node(a).isInline;){if(!a)return!1;a--}return i.node(a).isTextblock?(n&&n(t.tr.setSelection(X.create(t.doc,e<0?i.start(a):i.end(a)))),!0):!1}}var Em=Tm(-1),Dm=Tm(1);function Om(e,t=null){return function(n,r){let{$from:i,$to:a}=n.selection,o=i.blockRange(a),s=o&&oc(o,e,t);return s?(r&&r(n.tr.wrap(o,s).scrollIntoView()),!0):!1}}function km(e,t=null){return function(n,r){let i=!1;for(let r=0;r<n.selection.ranges.length&&!i;r++){let{$from:{pos:a},$to:{pos:o}}=n.selection.ranges[r];n.doc.nodesBetween(a,o,(r,a)=>{if(i)return!1;if(!(!r.isTextblock||r.hasMarkup(e,t)))if(r.type==e)i=!0;else{let t=n.doc.resolve(a),r=t.index();i=t.parent.canReplaceWith(r,r+1,e)}})}if(!i)return!1;if(r){let i=n.tr;for(let r=0;r<n.selection.ranges.length;r++){let{$from:{pos:a},$to:{pos:o}}=n.selection.ranges[r];i.setBlockType(a,o,e,t)}r(i.scrollIntoView())}return!0}}function Am(...e){return function(t,n,r){for(let i=0;i<e.length;i++)if(e[i](t,n,r))return!0;return!1}}var jm=Am(Qp,em,am),Mm=Am(Qp,cm,lm),Nm={Enter:Am(mm,_m,vm,bm),"Mod-Enter":gm,Backspace:jm,"Mod-Backspace":jm,"Shift-Backspace":jm,Delete:Mm,"Mod-Delete":Mm,"Mod-a":Sm},Pm={"Ctrl-h":Nm.Backspace,"Alt-Backspace":Nm[`Mod-Backspace`],"Ctrl-d":Nm.Delete,"Ctrl-Alt-Backspace":Nm[`Mod-Delete`],"Alt-Delete":Nm[`Mod-Delete`],"Alt-d":Nm[`Mod-Delete`],"Ctrl-a":Em,"Ctrl-e":Dm};for(let e in Nm)Pm[e]=Nm[e];typeof navigator<`u`?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os<`u`&&os.platform&&os.platform();function Fm(e,t=null){return function(n,r){let{$from:i,$to:a}=n.selection,o=i.blockRange(a);if(!o)return!1;let s=r?n.tr:null;return Im(s,o,e,t)?(r&&r(s.scrollIntoView()),!0):!1}}function Im(e,t,n,r=null){let i=!1,a=t,o=t.$from.doc;if(t.depth>=2&&t.$from.node(t.depth-1).type.compatibleContent(n)&&t.startIndex==0){if(t.$from.index(t.depth-1)==0)return!1;let e=o.resolve(t.start-2);a=new Mo(e,e,t.depth),t.endIndex<t.parent.childCount&&(t=new Mo(t.$from,o.resolve(t.$to.end(t.depth)),t.depth)),i=!0}let s=oc(a,n,r,t);return s?(e&&Lm(e,t,s,i,n),!0):!1}function Lm(e,t,n,r,i){let a=K.empty;for(let e=n.length-1;e>=0;e--)a=K.from(n[e].type.create(n[e].attrs,a));e.step(new Qs(t.start-(r?2:0),t.end,t.start,t.end,new J(a,0,0),n.length,!0));let o=0;for(let e=0;e<n.length;e++)n[e].type==i&&(o=e+1);let s=n.length-o,c=t.start+n.length-(r?2:0),l=t.parent;for(let n=t.startIndex,r=t.endIndex,i=!0;n<r;n++,i=!1)!i&&gc(e.doc,c,s)&&(e.split(c,s),c+=2*s),c+=l.child(n).nodeSize;return e}function Rm(e){return function(t,n){let{$from:r,$to:i}=t.selection,a=r.blockRange(i,t=>t.childCount>0&&t.firstChild.type==e);return a?n?r.node(a.depth-1).type==e?zm(t,n,e,a):Bm(t,n,a):!0:!1}}function zm(e,t,n,r){let i=e.tr,a=r.end,o=r.$to.end(r.depth);a<o&&(i.step(new Qs(a-1,o,a,o,new J(K.from(n.create(null,r.parent.copy())),1,0),1,!0)),r=new Mo(i.doc.resolve(r.$from.pos),i.doc.resolve(o),r.depth));let s=ic(r);if(s==null)return!1;i.lift(r,s);let c=i.doc.resolve(i.mapping.map(a,-1)-1);return vc(i.doc,c.pos)&&c.nodeBefore.type==c.nodeAfter.type&&i.join(c.pos),t(i.scrollIntoView()),!0}function Bm(e,t,n){let r=e.tr,i=n.parent;for(let e=n.end,t=n.endIndex-1,a=n.startIndex;t>a;t--)e-=i.child(t).nodeSize,r.delete(e-1,e+1);let a=r.doc.resolve(n.start),o=a.nodeAfter;if(r.mapping.map(n.end)!=n.start+a.nodeAfter.nodeSize)return!1;let s=n.startIndex==0,c=n.endIndex==i.childCount,l=a.node(-1),u=a.index(-1);if(!l.canReplace(u+ +!s,u+1,o.content.append(c?K.empty:K.from(i))))return!1;let d=a.pos,f=d+o.nodeSize;return r.step(new Qs(d-+!!s,f+ +!!c,d+1,f-1,new J((s?K.empty:K.from(i.copy(K.empty))).append(c?K.empty:K.from(i.copy(K.empty))),+!s,+!c),+!s)),t(r.scrollIntoView()),!0}function Vm(e){return function(t,n){let{$from:r,$to:i}=t.selection,a=r.blockRange(i,t=>t.childCount>0&&t.firstChild.type==e);if(!a)return!1;let o=a.startIndex;if(o==0)return!1;let s=a.parent,c=s.child(o-1);if(c.type!=e)return!1;if(n){let r=c.lastChild&&c.lastChild.type==s.type,i=K.from(r?e.create():null),o=new J(K.from(e.create(null,K.from(s.type.create(null,i)))),r?3:1,0),l=a.start,u=a.end;n(t.tr.step(new Qs(l-(r?3:1),u,l,u,o,1,!0)).scrollIntoView())}return!0}}function Hm(e){let{state:t,transaction:n}=e,{selection:r}=n,{doc:i}=n,{storedMarks:a}=n;return{...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return a},get selection(){return r},get doc(){return i},get tr(){return r=n.selection,i=n.doc,a=n.storedMarks,n}}}var Um=class{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){let{rawCommands:e,editor:t,state:n}=this,{view:r}=t,{tr:i}=n,a=this.buildProps(i);return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,(...e)=>{let n=t(...e)(a);return!i.getMeta(`preventDispatch`)&&!this.hasCustomState&&r.dispatch(i),n}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,t=!0){let{rawCommands:n,editor:r,state:i}=this,{view:a}=r,o=[],s=!!e,c=e||i.tr,l=()=>(!s&&t&&!c.getMeta(`preventDispatch`)&&!this.hasCustomState&&a.dispatch(c),o.every(e=>e===!0)),u={...Object.fromEntries(Object.entries(n).map(([e,n])=>[e,(...e)=>{let r=this.buildProps(c,t),i=n(...e)(r);return o.push(i),u}])),run:l};return u}createCan(e){let{rawCommands:t,state:n}=this,r=e||n.tr,i=this.buildProps(r,!1);return{...Object.fromEntries(Object.entries(t).map(([e,t])=>[e,(...e)=>t(...e)({...i,dispatch:void 0})])),chain:()=>this.createChain(r,!1)}}buildProps(e,t=!0){let{rawCommands:n,editor:r,state:i}=this,{view:a}=r,o={tr:e,editor:r,view:a,state:Hm({state:i,transaction:e}),dispatch:t?()=>void 0:void 0,chain:()=>this.createChain(e,t),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(n).map(([e,t])=>[e,(...e)=>t(...e)(o)]))}};return o}},Wm=class{constructor(){this.callbacks={}}on(e,t){return this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(t),this}emit(e,...t){let n=this.callbacks[e];return n&&n.forEach(e=>e.apply(this,t)),this}off(e,t){let n=this.callbacks[e];return n&&(t?this.callbacks[e]=n.filter(e=>e!==t):delete this.callbacks[e]),this}once(e,t){let n=(...r)=>{this.off(e,n),t.apply(this,r)};return this.on(e,n)}removeAllListeners(){this.callbacks={}}};function Q(e,t,n){return e.config[t]===void 0&&e.parent?Q(e.parent,t,n):typeof e.config[t]==`function`?e.config[t].bind({...n,parent:e.parent?Q(e.parent,t,n):null}):e.config[t]}function Gm(e){return{baseExtensions:e.filter(e=>e.type===`extension`),nodeExtensions:e.filter(e=>e.type===`node`),markExtensions:e.filter(e=>e.type===`mark`)}}function Km(e){let t=[],{nodeExtensions:n,markExtensions:r}=Gm(e),i=[...n,...r],a={default:null,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1};return e.forEach(e=>{let n=Q(e,`addGlobalAttributes`,{name:e.name,options:e.options,storage:e.storage,extensions:i});n&&n().forEach(e=>{e.types.forEach(n=>{Object.entries(e.attributes).forEach(([e,r])=>{t.push({type:n,name:e,attribute:{...a,...r}})})})})}),i.forEach(e=>{let n=Q(e,`addAttributes`,{name:e.name,options:e.options,storage:e.storage});if(!n)return;let r=n();Object.entries(r).forEach(([n,r])=>{let i={...a,...r};typeof i?.default==`function`&&(i.default=i.default()),i?.isRequired&&i?.default===void 0&&delete i.default,t.push({type:e.name,name:n,attribute:i})})}),t}function qm(e,t){if(typeof e==`string`){if(!t.nodes[e])throw Error(`There is no node type named '${e}'. Maybe you forgot to add the extension?`);return t.nodes[e]}return e}function Jm(...e){return e.filter(e=>!!e).reduce((e,t)=>{let n={...e};return Object.entries(t).forEach(([e,t])=>{if(!n[e]){n[e]=t;return}if(e===`class`){let r=t?String(t).split(` `):[],i=n[e]?n[e].split(` `):[],a=r.filter(e=>!i.includes(e));n[e]=[...i,...a].join(` `)}else if(e===`style`){let r=t?t.split(`;`).map(e=>e.trim()).filter(Boolean):[],i=n[e]?n[e].split(`;`).map(e=>e.trim()).filter(Boolean):[],a=new Map;i.forEach(e=>{let[t,n]=e.split(`:`).map(e=>e.trim());a.set(t,n)}),r.forEach(e=>{let[t,n]=e.split(`:`).map(e=>e.trim());a.set(t,n)}),n[e]=Array.from(a.entries()).map(([e,t])=>`${e}: ${t}`).join(`; `)}else n[e]=t}),n},{})}function Ym(e,t){return t.filter(t=>t.type===e.type.name).filter(e=>e.attribute.rendered).map(t=>t.attribute.renderHTML?t.attribute.renderHTML(e.attrs)||{}:{[t.name]:e.attrs[t.name]}).reduce((e,t)=>Jm(e,t),{})}function Xm(e){return typeof e==`function`}function $(e,t=void 0,...n){return Xm(e)?t?e.bind(t)(...n):e(...n):e}function Zm(e={}){return Object.keys(e).length===0&&e.constructor===Object}function Qm(e){return typeof e==`string`?e.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(e):e===`true`||e!==`false`&&e:e}function $m(e,t){return`style`in e?e:{...e,getAttrs:n=>{let r=e.getAttrs?e.getAttrs(n):e.attrs;if(r===!1)return!1;let i=t.reduce((e,t)=>{let r=t.attribute.parseHTML?t.attribute.parseHTML(n):Qm(n.getAttribute(t.name));return r==null?e:{...e,[t.name]:r}},{});return{...r,...i}}}}function eh(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>e===`attrs`&&Zm(t)?!1:t!=null))}function th(e,t){let n=Km(e),{nodeExtensions:r,markExtensions:i}=Gm(e);return new as({topNode:r.find(e=>Q(e,`topNode`))?.name,nodes:Object.fromEntries(r.map(r=>{let i=n.filter(e=>e.type===r.name),a={name:r.name,options:r.options,storage:r.storage,editor:t},o=eh({...e.reduce((e,t)=>{let n=Q(t,`extendNodeSchema`,a);return{...e,...n?n(r):{}}},{}),content:$(Q(r,`content`,a)),marks:$(Q(r,`marks`,a)),group:$(Q(r,`group`,a)),inline:$(Q(r,`inline`,a)),atom:$(Q(r,`atom`,a)),selectable:$(Q(r,`selectable`,a)),draggable:$(Q(r,`draggable`,a)),code:$(Q(r,`code`,a)),whitespace:$(Q(r,`whitespace`,a)),linebreakReplacement:$(Q(r,`linebreakReplacement`,a)),defining:$(Q(r,`defining`,a)),isolating:$(Q(r,`isolating`,a)),attrs:Object.fromEntries(i.map(e=>[e.name,{default:e?.attribute?.default}]))}),s=$(Q(r,`parseHTML`,a));s&&(o.parseDOM=s.map(e=>$m(e,i)));let c=Q(r,`renderHTML`,a);c&&(o.toDOM=e=>c({node:e,HTMLAttributes:Ym(e,i)}));let l=Q(r,`renderText`,a);return l&&(o.toText=l),[r.name,o]})),marks:Object.fromEntries(i.map(r=>{let i=n.filter(e=>e.type===r.name),a={name:r.name,options:r.options,storage:r.storage,editor:t},o=eh({...e.reduce((e,t)=>{let n=Q(t,`extendMarkSchema`,a);return{...e,...n?n(r):{}}},{}),inclusive:$(Q(r,`inclusive`,a)),excludes:$(Q(r,`excludes`,a)),group:$(Q(r,`group`,a)),spanning:$(Q(r,`spanning`,a)),code:$(Q(r,`code`,a)),attrs:Object.fromEntries(i.map(e=>[e.name,{default:e?.attribute?.default}]))}),s=$(Q(r,`parseHTML`,a));s&&(o.parseDOM=s.map(e=>$m(e,i)));let c=Q(r,`renderHTML`,a);return c&&(o.toDOM=e=>c({mark:e,HTMLAttributes:Ym(e,i)})),[r.name,o]}))})}function nh(e,t){return t.nodes[e]||t.marks[e]||null}function rh(e,t){return Array.isArray(t)?t.some(t=>(typeof t==`string`?t:t.name)===e.name):t}function ih(e,t){let n=ws.fromSchema(t).serializeFragment(e),r=document.implementation.createHTMLDocument().createElement(`div`);return r.appendChild(n),r.innerHTML}var ah=(e,t=500)=>{let n=``,r=e.parentOffset;return e.parent.nodesBetween(Math.max(0,r-t),r,(e,t,i,a)=>{var o;let s=(o=e.type.spec).toText?.call(o,{node:e,pos:t,parent:i,index:a})||e.textContent||`%leaf%`;n+=e.isAtom&&!e.isText?s:s.slice(0,Math.max(0,r-t))}),n};function oh(e){return Object.prototype.toString.call(e)===`[object RegExp]`}var sh=class{constructor(e){this.find=e.find,this.handler=e.handler}},ch=(e,t)=>{if(oh(t))return t.exec(e);let n=t(e);if(!n)return null;let r=[n.text];return r.index=n.index,r.input=e,r.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn(`[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".`),r.push(n.replaceWith)),r};function lh(e){let{editor:t,from:n,to:r,text:i,rules:a,plugin:o}=e,{view:s}=t;if(s.composing)return!1;let c=s.state.doc.resolve(n);if(c.parent.type.spec.code||(c.nodeBefore||c.nodeAfter)?.marks.find(e=>e.type.spec.code))return!1;let l=!1,u=ah(c)+i;return a.forEach(e=>{if(l)return;let a=ch(u,e.find);if(!a)return;let c=s.state.tr,d=Hm({state:s.state,transaction:c}),f={from:n-(a[0].length-i.length),to:r},{commands:p,chain:m,can:h}=new Um({editor:t,state:d});e.handler({state:d,range:f,match:a,commands:p,chain:m,can:h})===null||!c.steps.length||(c.setMeta(o,{transform:c,from:n,to:r,text:i}),s.dispatch(c),l=!0)}),l}function uh(e){let{editor:t,rules:n}=e,r=new ul({state:{init(){return null},apply(e,i,a){let o=e.getMeta(r);if(o)return o;let s=e.getMeta(`applyInputRules`);return s&&setTimeout(()=>{let{text:e}=s;e=typeof e==`string`?e:ih(K.from(e),a.schema);let{from:i}=s,o=i+e.length;lh({editor:t,from:i,to:o,text:e,rules:n,plugin:r})}),e.selectionSet||e.docChanged?null:i}},props:{handleTextInput(e,i,a,o){return lh({editor:t,from:i,to:a,text:o,rules:n,plugin:r})},handleDOMEvents:{compositionend:e=>(setTimeout(()=>{let{$cursor:i}=e.state.selection;i&&lh({editor:t,from:i.pos,to:i.pos,text:``,rules:n,plugin:r})}),!1)},handleKeyDown(e,i){if(i.key!==`Enter`)return!1;let{$cursor:a}=e.state.selection;return a?lh({editor:t,from:a.pos,to:a.pos,text:`
|
|
18
|
-
`,rules:n,plugin:r}):!1}},isInputRules:!0});return r}function dh(e){return Object.prototype.toString.call(e).slice(8,-1)}function fh(e){return dh(e)===`Object`&&e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}function ph(e,t){let n={...e};return fh(e)&&fh(t)&&Object.keys(t).forEach(r=>{fh(t[r])&&fh(e[r])?n[r]=ph(e[r],t[r]):n[r]=t[r]}),n}var mh=class e{constructor(e={}){this.type=`mark`,this.name=`mark`,this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...e},this.name=this.config.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=$(Q(this,`addOptions`,{name:this.name}))),this.storage=$(Q(this,`addStorage`,{name:this.name,options:this.options}))||{}}static create(t={}){return new e(t)}configure(e={}){let t=this.extend({...this.config,addOptions:()=>ph(this.options,e)});return t.name=this.name,t.parent=this.parent,t}extend(t={}){let n=new e(t);return n.parent=this,this.child=n,n.name=t.name?t.name:n.parent.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=$(Q(n,`addOptions`,{name:n.name})),n.storage=$(Q(n,`addStorage`,{name:n.name,options:n.options})),n}static handleExit({editor:e,mark:t}){let{tr:n}=e.state,r=e.state.selection.$from;if(r.pos===r.end()){let i=r.marks();if(!i.find(e=>e?.type.name===t.name))return!1;let a=i.find(e=>e?.type.name===t.name);return a&&n.removeStoredMark(a),n.insertText(` `,r.pos),e.view.dispatch(n),!0}return!1}};function hh(e){return typeof e==`number`}var gh=class{constructor(e){this.find=e.find,this.handler=e.handler}},_h=(e,t,n)=>{if(oh(t))return[...e.matchAll(t)];let r=t(e,n);return r?r.map(t=>{let n=[t.text];return n.index=t.index,n.input=e,n.data=t.data,t.replaceWith&&(t.text.includes(t.replaceWith)||console.warn(`[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".`),n.push(t.replaceWith)),n}):[]};function vh(e){let{editor:t,state:n,from:r,to:i,rule:a,pasteEvent:o,dropEvent:s}=e,{commands:c,chain:l,can:u}=new Um({editor:t,state:n}),d=[];return n.doc.nodesBetween(r,i,(e,t)=>{if(!e.isTextblock||e.type.spec.code)return;let f=Math.max(r,t),p=Math.min(i,t+e.content.size);_h(e.textBetween(f-t,p-t,void 0,``),a.find,o).forEach(e=>{if(e.index===void 0)return;let t=f+e.index+1,r=t+e[0].length,i={from:n.tr.mapping.map(t),to:n.tr.mapping.map(r)},p=a.handler({state:n,range:i,match:e,commands:c,chain:l,can:u,pasteEvent:o,dropEvent:s});d.push(p)})}),d.every(e=>e!==null)}var yh=null,bh=e=>{var t;let n=new ClipboardEvent(`paste`,{clipboardData:new DataTransfer});return(t=n.clipboardData)==null||t.setData(`text/html`,e),n};function xh(e){let{editor:t,rules:n}=e,r=null,i=!1,a=!1,o=typeof ClipboardEvent<`u`?new ClipboardEvent(`paste`):null,s;try{s=typeof DragEvent<`u`?new DragEvent(`drop`):null}catch{s=null}let c=({state:e,from:n,to:r,rule:i,pasteEvt:a})=>{let c=e.tr,l=Hm({state:e,transaction:c});if(!(!vh({editor:t,state:l,from:Math.max(n-1,0),to:r.b-1,rule:i,pasteEvent:a,dropEvent:s})||!c.steps.length)){try{s=typeof DragEvent<`u`?new DragEvent(`drop`):null}catch{s=null}return o=typeof ClipboardEvent<`u`?new ClipboardEvent(`paste`):null,c}};return n.map(e=>new ul({view(e){let n=n=>{r=e.dom.parentElement?.contains(n.target)?e.dom.parentElement:null,r&&(yh=t)},i=()=>{yh&&=null};return window.addEventListener(`dragstart`,n),window.addEventListener(`dragend`,i),{destroy(){window.removeEventListener(`dragstart`,n),window.removeEventListener(`dragend`,i)}}},props:{handleDOMEvents:{drop:(e,t)=>{if(a=r===e.dom.parentElement,s=t,!a){let e=yh;e?.isEditable&&setTimeout(()=>{let t=e.state.selection;t&&e.commands.deleteRange({from:t.from,to:t.to})},10)}return!1},paste:(e,t)=>{let n=t.clipboardData?.getData(`text/html`);return o=t,i=!!n?.includes(`data-pm-slice`),!1}}},appendTransaction:(t,n,r)=>{let s=t[0],l=s.getMeta(`uiEvent`)===`paste`&&!i,u=s.getMeta(`uiEvent`)===`drop`&&!a,d=s.getMeta(`applyPasteRules`),f=!!d;if(!l&&!u&&!f)return;if(f){let{text:t}=d;t=typeof t==`string`?t:ih(K.from(t),r.schema);let{from:n}=d,i=n+t.length,a=bh(t);return c({rule:e,state:r,from:n,to:{b:i},pasteEvt:a})}let p=n.doc.content.findDiffStart(r.doc.content),m=n.doc.content.findDiffEnd(r.doc.content);if(!(!hh(p)||!m||p===m.b))return c({rule:e,state:r,from:p,to:m,pasteEvt:o})}}))}function Sh(e){let t=e.filter((t,n)=>e.indexOf(t)!==n);return Array.from(new Set(t))}var Ch=class e{constructor(t,n){this.splittableMarks=[],this.editor=n,this.extensions=e.resolve(t),this.schema=th(this.extensions,n),this.setupExtensions()}static resolve(t){let n=e.sort(e.flatten(t)),r=Sh(n.map(e=>e.name));return r.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${r.map(e=>`'${e}'`).join(`, `)}]. This can lead to issues.`),n}static flatten(e){return e.map(e=>{let t=Q(e,`addExtensions`,{name:e.name,options:e.options,storage:e.storage});return t?[e,...this.flatten(t())]:e}).flat(10)}static sort(e){return e.sort((e,t)=>{let n=Q(e,`priority`)||100,r=Q(t,`priority`)||100;return n>r?-1:+(n<r)})}get commands(){return this.extensions.reduce((e,t)=>{let n=Q(t,`addCommands`,{name:t.name,options:t.options,storage:t.storage,editor:this.editor,type:nh(t.name,this.schema)});return n?{...e,...n()}:e},{})}get plugins(){let{editor:t}=this,n=e.sort([...this.extensions].reverse()),r=[],i=[],a=n.map(e=>{let n={name:e.name,options:e.options,storage:e.storage,editor:t,type:nh(e.name,this.schema)},a=[],o=Q(e,`addKeyboardShortcuts`,n),s={};if(e.type===`mark`&&Q(e,`exitable`,n)&&(s.ArrowRight=()=>mh.handleExit({editor:t,mark:e})),o){let e=Object.fromEntries(Object.entries(o()).map(([e,n])=>[e,()=>n({editor:t})]));s={...s,...e}}let c=Xp(s);a.push(c);let l=Q(e,`addInputRules`,n);rh(e,t.options.enableInputRules)&&l&&r.push(...l());let u=Q(e,`addPasteRules`,n);rh(e,t.options.enablePasteRules)&&u&&i.push(...u());let d=Q(e,`addProseMirrorPlugins`,n);if(d){let e=d();a.push(...e)}return a}).flat();return[uh({editor:t,rules:r}),...xh({editor:t,rules:i}),...a]}get attributes(){return Km(this.extensions)}get nodeViews(){let{editor:e}=this,{nodeExtensions:t}=Gm(this.extensions);return Object.fromEntries(t.filter(e=>!!Q(e,`addNodeView`)).map(t=>{let n=this.attributes.filter(e=>e.type===t.name),r=Q(t,`addNodeView`,{name:t.name,options:t.options,storage:t.storage,editor:e,type:qm(t.name,this.schema)});return r?[t.name,(i,a,o,s,c)=>{let l=Ym(i,n);return r()({node:i,view:a,getPos:o,decorations:s,innerDecorations:c,editor:e,extension:t,HTMLAttributes:l})}]:[]}))}setupExtensions(){this.extensions.forEach(e=>{this.editor.extensionStorage[e.name]=e.storage;let t={name:e.name,options:e.options,storage:e.storage,editor:this.editor,type:nh(e.name,this.schema)};e.type===`mark`&&($(Q(e,`keepOnSplit`,t))??!0)&&this.splittableMarks.push(e.name);let n=Q(e,`onBeforeCreate`,t),r=Q(e,`onCreate`,t),i=Q(e,`onUpdate`,t),a=Q(e,`onSelectionUpdate`,t),o=Q(e,`onTransaction`,t),s=Q(e,`onFocus`,t),c=Q(e,`onBlur`,t),l=Q(e,`onDestroy`,t);n&&this.editor.on(`beforeCreate`,n),r&&this.editor.on(`create`,r),i&&this.editor.on(`update`,i),a&&this.editor.on(`selectionUpdate`,a),o&&this.editor.on(`transaction`,o),s&&this.editor.on(`focus`,s),c&&this.editor.on(`blur`,c),l&&this.editor.on(`destroy`,l)})}},wh=class e{constructor(e={}){this.type=`extension`,this.name=`extension`,this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...e},this.name=this.config.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=$(Q(this,`addOptions`,{name:this.name}))),this.storage=$(Q(this,`addStorage`,{name:this.name,options:this.options}))||{}}static create(t={}){return new e(t)}configure(e={}){let t=this.extend({...this.config,addOptions:()=>ph(this.options,e)});return t.name=this.name,t.parent=this.parent,t}extend(t={}){let n=new e({...this.config,...t});return n.parent=this,this.child=n,n.name=t.name?t.name:n.parent.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=$(Q(n,`addOptions`,{name:n.name})),n.storage=$(Q(n,`addStorage`,{name:n.name,options:n.options})),n}};function Th(e,t,n){let{from:r,to:i}=t,{blockSeparator:a=`
|
|
19
|
-
|
|
20
|
-
`,textSerializers:o={}}=n||{},s=``;return e.nodesBetween(r,i,(e,n,c,l)=>{e.isBlock&&n>r&&(s+=a);let u=o?.[e.type.name];if(u)return c&&(s+=u({node:e,pos:n,parent:c,index:l,range:t})),!1;e.isText&&(s+=(e?.text)?.slice(Math.max(r,n)-n,i-n))}),s}function Eh(e){return Object.fromEntries(Object.entries(e.nodes).filter(([,e])=>e.spec.toText).map(([e,t])=>[e,t.spec.toText]))}var Dh=wh.create({name:`clipboardTextSerializer`,addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new ul({key:new pl(`clipboardTextSerializer`),props:{clipboardTextSerializer:()=>{let{editor:e}=this,{state:t,schema:n}=e,{doc:r,selection:i}=t,{ranges:a}=i,o=Math.min(...a.map(e=>e.$from.pos)),s=Math.max(...a.map(e=>e.$to.pos)),c=Eh(n);return Th(r,{from:o,to:s},{...this.options.blockSeparator===void 0?{}:{blockSeparator:this.options.blockSeparator},textSerializers:c})}}})]}}),Oh=()=>({editor:e,view:t})=>(requestAnimationFrame(()=>{var n;e.isDestroyed||(t.dom.blur(),(n=window==null?void 0:window.getSelection())==null||n.removeAllRanges())}),!0),kh=(e=!1)=>({commands:t})=>t.setContent(``,e),Ah=()=>({state:e,tr:t,dispatch:n})=>{let{selection:r}=t,{ranges:i}=r;return n&&i.forEach(({$from:n,$to:r})=>{e.doc.nodesBetween(n.pos,r.pos,(e,n)=>{if(e.type.isText)return;let{doc:r,mapping:i}=t,a=r.resolve(i.map(n)),o=r.resolve(i.map(n+e.nodeSize)),s=a.blockRange(o);if(!s)return;let c=ic(s);if(e.type.isTextblock){let{defaultType:e}=a.parent.contentMatchAt(a.index());t.setNodeMarkup(s.start,e)}(c||c===0)&&t.lift(s,c)})}),!0},jh=e=>t=>e(t),Mh=()=>({state:e,dispatch:t})=>_m(e,t),Nh=(e,t)=>({editor:n,tr:r})=>{let{state:i}=n,a=i.doc.slice(e.from,e.to);r.deleteRange(e.from,e.to);let o=r.mapping.map(t);return r.insert(o,a.content),r.setSelection(new X(r.doc.resolve(Math.max(o-1,0)))),!0},Ph=()=>({tr:e,dispatch:t})=>{let{selection:n}=e,r=n.$anchor.node();if(r.content.size>0)return!1;let i=e.selection.$anchor;for(let n=i.depth;n>0;--n)if(i.node(n).type===r.type){if(t){let t=i.before(n),r=i.after(n);e.delete(t,r).scrollIntoView()}return!0}return!1},Fh=e=>({tr:t,state:n,dispatch:r})=>{let i=qm(e,n.schema),a=t.selection.$anchor;for(let e=a.depth;e>0;--e)if(a.node(e).type===i){if(r){let n=a.before(e),r=a.after(e);t.delete(n,r).scrollIntoView()}return!0}return!1},Ih=e=>({tr:t,dispatch:n})=>{let{from:r,to:i}=e;return n&&t.delete(r,i),!0},Lh=()=>({state:e,dispatch:t})=>Qp(e,t),Rh=()=>({commands:e})=>e.keyboardShortcut(`Enter`),zh=()=>({state:e,dispatch:t})=>gm(e,t);function Bh(e,t,n={strict:!0}){let r=Object.keys(t);return!r.length||r.every(r=>n.strict?t[r]===e[r]:oh(t[r])?t[r].test(e[r]):t[r]===e[r])}function Vh(e,t,n={}){return e.find(e=>e.type===t&&Bh(Object.fromEntries(Object.keys(n).map(t=>[t,e.attrs[t]])),n))}function Hh(e,t,n={}){return!!Vh(e,t,n)}function Uh(e,t,n){if(!e||!t)return;let r=e.parent.childAfter(e.parentOffset);if((!r.node||!r.node.marks.some(e=>e.type===t))&&(r=e.parent.childBefore(e.parentOffset)),!r.node||!r.node.marks.some(e=>e.type===t)||(n||=r.node.marks[0]?.attrs,!Vh([...r.node.marks],t,n)))return;let i=r.index,a=e.start()+r.offset,o=i+1,s=a+r.node.nodeSize;for(;i>0&&Hh([...e.parent.child(i-1).marks],t,n);)--i,a-=e.parent.child(i).nodeSize;for(;o<e.parent.childCount&&Hh([...e.parent.child(o).marks],t,n);)s+=e.parent.child(o).nodeSize,o+=1;return{from:a,to:s}}function Wh(e,t){if(typeof e==`string`){if(!t.marks[e])throw Error(`There is no mark type named '${e}'. Maybe you forgot to add the extension?`);return t.marks[e]}return e}var Gh=(e,t={})=>({tr:n,state:r,dispatch:i})=>{let a=Wh(e,r.schema),{doc:o,selection:s}=n,{$from:c,from:l,to:u}=s;if(i){let e=Uh(c,a,t);if(e&&e.from<=l&&e.to>=u){let t=X.create(o,e.from,e.to);n.setSelection(t)}}return!0},Kh=e=>t=>{let n=typeof e==`function`?e(t):e;for(let e=0;e<n.length;e+=1)if(n[e](t))return!0;return!1};function qh(e){return e instanceof X}function Jh(e=0,t=0,n=0){return Math.min(Math.max(e,t),n)}function Yh(e,t=null){if(!t)return null;let n=Y.atStart(e),r=Y.atEnd(e);if(t===`start`||t===!0)return n;if(t===`end`)return r;let i=n.from,a=r.to;return t===`all`?X.create(e,Jh(0,i,a),Jh(e.content.size,i,a)):X.create(e,Jh(t,i,a),Jh(t,i,a))}function Xh(){return navigator.platform===`Android`||/android/i.test(navigator.userAgent)}function Zh(){return[`iPad Simulator`,`iPhone Simulator`,`iPod Simulator`,`iPad`,`iPhone`,`iPod`].includes(navigator.platform)||navigator.userAgent.includes(`Mac`)&&`ontouchend`in document}function Qh(){return typeof navigator<`u`&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}var $h=(e=null,t={})=>({editor:n,view:r,tr:i,dispatch:a})=>{t={scrollIntoView:!0,...t};let o=()=>{(Zh()||Xh())&&r.dom.focus(),requestAnimationFrame(()=>{n.isDestroyed||(r.focus(),Qh()&&!Zh()&&!Xh()&&r.dom.focus({preventScroll:!0}))})};if(r.hasFocus()&&e===null||e===!1)return!0;if(a&&e===null&&!qh(n.state.selection))return o(),!0;let s=Yh(i.doc,e)||n.state.selection,c=n.state.selection.eq(s);return a&&(c||i.setSelection(s),c&&i.storedMarks&&i.setStoredMarks(i.storedMarks),o()),!0},eg=(e,t)=>n=>e.every((e,r)=>t(e,{...n,index:r})),tg=(e,t)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},e,t),ng=e=>{let t=e.childNodes;for(let n=t.length-1;n>=0;--n){let r=t[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):r.nodeType===1&&ng(r)}return e};function rg(e){let t=`<body>${e}</body>`,n=new window.DOMParser().parseFromString(t,`text/html`).body;return ng(n)}function ig(e,t,n){if(e instanceof Po||e instanceof K)return e;n={slice:!0,parseOptions:{},...n};let r=typeof e==`object`&&!!e,i=typeof e==`string`;if(r)try{if(Array.isArray(e)&&e.length>0)return K.fromArray(e.map(e=>t.nodeFromJSON(e)));let r=t.nodeFromJSON(e);return n.errorOnInvalidContent&&r.check(),r}catch(r){if(n.errorOnInvalidContent)throw Error(`[tiptap error]: Invalid JSON content`,{cause:r});return console.warn(`[tiptap warn]: Invalid content.`,`Passed value:`,e,`Error:`,r),ig(``,t,n)}if(i){if(n.errorOnInvalidContent){let r=!1,i=``,a=new as({topNode:t.spec.topNode,marks:t.spec.marks,nodes:t.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:`inline*`,group:`block`,parseDOM:[{tag:`*`,getAttrs:e=>(r=!0,i=typeof e==`string`?e:e.outerHTML,null)}]}})});if(n.slice?us.fromSchema(a).parseSlice(rg(e),n.parseOptions):us.fromSchema(a).parse(rg(e),n.parseOptions),n.errorOnInvalidContent&&r)throw Error(`[tiptap error]: Invalid HTML content`,{cause:Error(`Invalid element found: ${i}`)})}let r=us.fromSchema(t);return n.slice?r.parseSlice(rg(e),n.parseOptions).content:r.parse(rg(e),n.parseOptions)}return ig(``,t,n)}function ag(e,t,n){let r=e.steps.length-1;if(r<t)return;let i=e.steps[r];if(!(i instanceof Zs||i instanceof Qs))return;let a=e.mapping.maps[r],o=0;a.forEach((e,t,n,r)=>{o===0&&(o=r)}),e.setSelection(Y.near(e.doc.resolve(o),n))}var og=e=>!(`type`in e),sg=(e,t,n)=>({tr:r,dispatch:i,editor:a})=>{if(i){n={parseOptions:a.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};let i,o=e=>{a.emit(`contentError`,{editor:a,error:e,disableCollaboration:()=>{a.storage.collaboration&&(a.storage.collaboration.isDisabled=!0)}})},s={preserveWhitespace:`full`,...n.parseOptions};if(!n.errorOnInvalidContent&&!a.options.enableContentCheck&&a.options.emitContentError)try{ig(t,a.schema,{parseOptions:s,errorOnInvalidContent:!0})}catch(e){o(e)}try{i=ig(t,a.schema,{parseOptions:s,errorOnInvalidContent:n.errorOnInvalidContent??a.options.enableContentCheck})}catch(e){return o(e),!1}let{from:c,to:l}=typeof e==`number`?{from:e,to:e}:{from:e.from,to:e.to},u=!0,d=!0;if((og(i)?i:[i]).forEach(e=>{e.check(),u=u?e.isText&&e.marks.length===0:!1,d=d?e.isBlock:!1}),c===l&&d){let{parent:e}=r.doc.resolve(c);e.isTextblock&&!e.type.spec.code&&!e.childCount&&(--c,l+=1)}let f;if(u){if(Array.isArray(t))f=t.map(e=>e.text||``).join(``);else if(t instanceof K){let e=``;t.forEach(t=>{t.text&&(e+=t.text)}),f=e}else f=typeof t==`object`&&t&&t.text?t.text:t;r.insertText(f,c,l)}else f=i,r.replaceWith(c,l,f);n.updateSelection&&ag(r,r.steps.length-1,-1),n.applyInputRules&&r.setMeta(`applyInputRules`,{from:c,text:f}),n.applyPasteRules&&r.setMeta(`applyPasteRules`,{from:c,text:f})}return!0},cg=()=>({state:e,dispatch:t})=>dm(e,t),lg=()=>({state:e,dispatch:t})=>fm(e,t),ug=()=>({state:e,dispatch:t})=>em(e,t),dg=()=>({state:e,dispatch:t})=>cm(e,t),fg=()=>({state:e,dispatch:t,tr:n})=>{try{let r=xc(e.doc,e.selection.$from.pos,-1);return r==null?!1:(n.join(r,2),t&&t(n),!0)}catch{return!1}},pg=()=>({state:e,dispatch:t,tr:n})=>{try{let r=xc(e.doc,e.selection.$from.pos,1);return r==null?!1:(n.join(r,2),t&&t(n),!0)}catch{return!1}},mg=()=>({state:e,dispatch:t})=>tm(e,t),hg=()=>({state:e,dispatch:t})=>nm(e,t);function gg(){return typeof navigator<`u`&&/Mac/.test(navigator.platform)}function _g(e){let t=e.split(/-(?!$)/),n=t[t.length-1];n===`Space`&&(n=` `);let r,i,a,o;for(let e=0;e<t.length-1;e+=1){let n=t[e];if(/^(cmd|meta|m)$/i.test(n))o=!0;else if(/^a(lt)?$/i.test(n))r=!0;else if(/^(c|ctrl|control)$/i.test(n))i=!0;else if(/^s(hift)?$/i.test(n))a=!0;else if(/^mod$/i.test(n))Zh()||gg()?o=!0:i=!0;else throw Error(`Unrecognized modifier name: ${n}`)}return r&&(n=`Alt-${n}`),i&&(n=`Ctrl-${n}`),o&&(n=`Meta-${n}`),a&&(n=`Shift-${n}`),n}var vg=e=>({editor:t,view:n,tr:r,dispatch:i})=>{let a=_g(e).split(/-(?!$)/),o=a.find(e=>![`Alt`,`Ctrl`,`Meta`,`Shift`].includes(e)),s=new KeyboardEvent(`keydown`,{key:o===`Space`?` `:o,altKey:a.includes(`Alt`),ctrlKey:a.includes(`Ctrl`),metaKey:a.includes(`Meta`),shiftKey:a.includes(`Shift`),bubbles:!0,cancelable:!0});return t.captureTransaction(()=>{n.someProp(`handleKeyDown`,e=>e(n,s))})?.steps.forEach(e=>{let t=e.map(r.mapping);t&&i&&r.maybeStep(t)}),!0};function yg(e,t,n={}){let{from:r,to:i,empty:a}=e.selection,o=t?qm(t,e.schema):null,s=[];e.doc.nodesBetween(r,i,(e,t)=>{if(e.isText)return;let n=Math.max(r,t),a=Math.min(i,t+e.nodeSize);s.push({node:e,from:n,to:a})});let c=i-r,l=s.filter(e=>!o||o.name===e.node.type.name).filter(e=>Bh(e.node.attrs,n,{strict:!1}));return a?!!l.length:l.reduce((e,t)=>e+t.to-t.from,0)>=c}var bg=(e,t={})=>({state:n,dispatch:r})=>yg(n,qm(e,n.schema),t)?pm(n,r):!1,xg=()=>({state:e,dispatch:t})=>vm(e,t),Sg=e=>({state:t,dispatch:n})=>Rm(qm(e,t.schema))(t,n),Cg=()=>({state:e,dispatch:t})=>mm(e,t);function wg(e,t){return t.nodes[e]?`node`:t.marks[e]?`mark`:null}function Tg(e,t){let n=typeof t==`string`?[t]:t;return Object.keys(e).reduce((t,r)=>(n.includes(r)||(t[r]=e[r]),t),{})}var Eg=(e,t)=>({tr:n,state:r,dispatch:i})=>{let a=null,o=null,s=wg(typeof e==`string`?e:e.name,r.schema);return s?(s===`node`&&(a=qm(e,r.schema)),s===`mark`&&(o=Wh(e,r.schema)),i&&n.selection.ranges.forEach(e=>{r.doc.nodesBetween(e.$from.pos,e.$to.pos,(e,r)=>{a&&a===e.type&&n.setNodeMarkup(r,void 0,Tg(e.attrs,t)),o&&e.marks.length&&e.marks.forEach(i=>{o===i.type&&n.addMark(r,r+e.nodeSize,o.create(Tg(i.attrs,t)))})})}),!0):!1},Dg=()=>({tr:e,dispatch:t})=>(t&&e.scrollIntoView(),!0),Og=()=>({tr:e,dispatch:t})=>{if(t){let t=new Xc(e.doc);e.setSelection(t)}return!0},kg=()=>({state:e,dispatch:t})=>am(e,t),Ag=()=>({state:e,dispatch:t})=>lm(e,t),jg=()=>({state:e,dispatch:t})=>xm(e,t),Mg=()=>({state:e,dispatch:t})=>Dm(e,t),Ng=()=>({state:e,dispatch:t})=>Em(e,t);function Pg(e,t,n={},r={}){return ig(e,t,{slice:!1,parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent})}var Fg=(e,t=!1,n={},r={})=>({editor:i,tr:a,dispatch:o,commands:s})=>{let{doc:c}=a;if(n.preserveWhitespace!==`full`){let s=Pg(e,i.schema,n,{errorOnInvalidContent:r.errorOnInvalidContent??i.options.enableContentCheck});return o&&a.replaceWith(0,c.content.size,s).setMeta(`preventUpdate`,!t),!0}return o&&a.setMeta(`preventUpdate`,!t),s.insertContentAt({from:0,to:c.content.size},e,{parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent??i.options.enableContentCheck})};function Ig(e,t){let n=Wh(t,e.schema),{from:r,to:i,empty:a}=e.selection,o=[];a?(e.storedMarks&&o.push(...e.storedMarks),o.push(...e.selection.$head.marks())):e.doc.nodesBetween(r,i,e=>{o.push(...e.marks)});let s=o.find(e=>e.type.name===n.name);return s?{...s.attrs}:{}}function Lg(e){for(let t=0;t<e.edgeCount;t+=1){let{type:n}=e.edge(t);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}function Rg(e,t){for(let n=e.depth;n>0;--n){let r=e.node(n);if(t(r))return{pos:n>0?e.before(n):0,start:e.start(n),depth:n,node:r}}}function zg(e){return t=>Rg(t.$from,e)}function Bg(e,t){return Th(e,{from:0,to:e.content.size},t)}function Vg(e,t){let n=qm(t,e.schema),{from:r,to:i}=e.selection,a=[];e.doc.nodesBetween(r,i,e=>{a.push(e)});let o=a.reverse().find(e=>e.type.name===n.name);return o?{...o.attrs}:{}}function Hg(e,t){let n=wg(typeof t==`string`?t:t.name,e.schema);return n===`node`?Vg(e,t):n===`mark`?Ig(e,t):{}}function Ug(e,t,n){let r=[];return e===t?n.resolve(e).marks().forEach(t=>{let i=Uh(n.resolve(e),t.type);i&&r.push({mark:t,...i})}):n.nodesBetween(e,t,(e,t)=>{!e||e?.nodeSize===void 0||r.push(...e.marks.map(n=>({from:t,to:t+e.nodeSize,mark:n})))}),r}function Wg(e,t,n){return Object.fromEntries(Object.entries(n).filter(([n])=>{let r=e.find(e=>e.type===t&&e.name===n);return r?r.attribute.keepOnSplit:!1}))}function Gg(e,t,n={}){let{empty:r,ranges:i}=e.selection,a=t?Wh(t,e.schema):null;if(r)return!!(e.storedMarks||e.selection.$from.marks()).filter(e=>!a||a.name===e.type.name).find(e=>Bh(e.attrs,n,{strict:!1}));let o=0,s=[];if(i.forEach(({$from:t,$to:n})=>{let r=t.pos,i=n.pos;e.doc.nodesBetween(r,i,(e,t)=>{if(!e.isText&&!e.marks.length)return;let n=Math.max(r,t),a=Math.min(i,t+e.nodeSize),c=a-n;o+=c,s.push(...e.marks.map(e=>({mark:e,from:n,to:a})))})}),o===0)return!1;let c=s.filter(e=>!a||a.name===e.mark.type.name).filter(e=>Bh(e.mark.attrs,n,{strict:!1})).reduce((e,t)=>e+t.to-t.from,0),l=s.filter(e=>!a||e.mark.type!==a&&e.mark.type.excludes(a)).reduce((e,t)=>e+t.to-t.from,0);return(c>0?c+l:c)>=o}function Kg(e,t,n={}){if(!t)return yg(e,null,n)||Gg(e,null,n);let r=wg(t,e.schema);return r===`node`?yg(e,t,n):r===`mark`&&Gg(e,t,n)}function qg(e,t){let{nodeExtensions:n}=Gm(t),r=n.find(t=>t.name===e);if(!r)return!1;let i=$(Q(r,`group`,{name:r.name,options:r.options,storage:r.storage}));return typeof i==`string`&&i.split(` `).includes(`list`)}function Jg(e,{checkChildren:t=!0,ignoreWhitespace:n=!1}={}){if(n){if(e.type.name===`hardBreak`)return!0;if(e.isText)return/^\s*$/m.test(e.text??``)}if(e.isText)return!e.text;if(e.isAtom||e.isLeaf)return!1;if(e.content.childCount===0)return!0;if(t){let r=!0;return e.content.forEach(e=>{r!==!1&&(Jg(e,{ignoreWhitespace:n,checkChildren:t})||(r=!1))}),r}return!1}function Yg(e){return e instanceof Z}function Xg(e,t,n){let{selection:r}=t,i=null;if(qh(r)&&(i=r.$cursor),i){let t=e.storedMarks??i.marks();return!!n.isInSet(t)||!t.some(e=>e.type.excludes(n))}let{ranges:a}=r;return a.some(({$from:t,$to:r})=>{let i=t.depth===0&&e.doc.inlineContent&&e.doc.type.allowsMarkType(n);return e.doc.nodesBetween(t.pos,r.pos,(e,t,r)=>{if(i)return!1;if(e.isInline){let t=!r||r.type.allowsMarkType(n),a=!!n.isInSet(e.marks)||!e.marks.some(e=>e.type.excludes(n));i=t&&a}return!i}),i})}var Zg=(e,t={})=>({tr:n,state:r,dispatch:i})=>{let{selection:a}=n,{empty:o,ranges:s}=a,c=Wh(e,r.schema);if(i)if(o){let e=Ig(r,c);n.addStoredMark(c.create({...e,...t}))}else s.forEach(e=>{let i=e.$from.pos,a=e.$to.pos;r.doc.nodesBetween(i,a,(e,r)=>{let o=Math.max(r,i),s=Math.min(r+e.nodeSize,a);e.marks.find(e=>e.type===c)?e.marks.forEach(e=>{c===e.type&&n.addMark(o,s,c.create({...e.attrs,...t}))}):n.addMark(o,s,c.create(t))})});return Xg(r,n,c)},Qg=(e,t)=>({tr:n})=>(n.setMeta(e,t),!0),$g=(e,t={})=>({state:n,dispatch:r,chain:i})=>{let a=qm(e,n.schema),o;return n.selection.$anchor.sameParent(n.selection.$head)&&(o=n.selection.$anchor.parent.attrs),a.isTextblock?i().command(({commands:e})=>km(a,{...o,...t})(n)?!0:e.clearNodes()).command(({state:e})=>km(a,{...o,...t})(e,r)).run():(console.warn(`[tiptap warn]: Currently "setNode()" only supports text block nodes.`),!1)},e_=e=>({tr:t,dispatch:n})=>{if(n){let{doc:n}=t,r=Jh(e,0,n.content.size),i=Z.create(n,r);t.setSelection(i)}return!0},t_=e=>({tr:t,dispatch:n})=>{if(n){let{doc:n}=t,{from:r,to:i}=typeof e==`number`?{from:e,to:e}:e,a=X.atStart(n).from,o=X.atEnd(n).to,s=Jh(r,a,o),c=Jh(i,a,o),l=X.create(n,s,c);t.setSelection(l)}return!0},n_=e=>({state:t,dispatch:n})=>Vm(qm(e,t.schema))(t,n);function r_(e,t){let n=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();if(n){let r=n.filter(e=>t?.includes(e.type.name));e.tr.ensureMarks(r)}}var i_=({keepMarks:e=!0}={})=>({tr:t,state:n,dispatch:r,editor:i})=>{let{selection:a,doc:o}=t,{$from:s,$to:c}=a,l=i.extensionManager.attributes,u=Wg(l,s.node().type.name,s.node().attrs);if(a instanceof Z&&a.node.isBlock)return!s.parentOffset||!gc(o,s.pos)?!1:(r&&(e&&r_(n,i.extensionManager.splittableMarks),t.split(s.pos).scrollIntoView()),!0);if(!s.parent.isBlock)return!1;let d=c.parentOffset===c.parent.content.size,f=s.depth===0?void 0:Lg(s.node(-1).contentMatchAt(s.indexAfter(-1))),p=d&&f?[{type:f,attrs:u}]:void 0,m=gc(t.doc,t.mapping.map(s.pos),1,p);if(!p&&!m&&gc(t.doc,t.mapping.map(s.pos),1,f?[{type:f}]:void 0)&&(m=!0,p=f?[{type:f,attrs:u}]:void 0),r){if(m&&(a instanceof X&&t.deleteSelection(),t.split(t.mapping.map(s.pos),1,p),f&&!d&&!s.parentOffset&&s.parent.type!==f)){let e=t.mapping.map(s.before()),n=t.doc.resolve(e);s.node(-1).canReplaceWith(n.index(),n.index()+1,f)&&t.setNodeMarkup(t.mapping.map(s.before()),f)}e&&r_(n,i.extensionManager.splittableMarks),t.scrollIntoView()}return m},a_=(e,t={})=>({tr:n,state:r,dispatch:i,editor:a})=>{let o=qm(e,r.schema),{$from:s,$to:c}=r.selection,l=r.selection.node;if(l&&l.isBlock||s.depth<2||!s.sameParent(c))return!1;let u=s.node(-1);if(u.type!==o)return!1;let d=a.extensionManager.attributes;if(s.parent.content.size===0&&s.node(-1).childCount===s.indexAfter(-1)){if(s.depth===2||s.node(-3).type!==o||s.index(-2)!==s.node(-2).childCount-1)return!1;if(i){let e=K.empty,r=s.index(-1)?1:s.index(-2)?2:3;for(let t=s.depth-r;t>=s.depth-3;--t)e=K.from(s.node(t).copy(e));let i=s.indexAfter(-1)<s.node(-2).childCount?1:s.indexAfter(-2)<s.node(-3).childCount?2:3,a={...Wg(d,s.node().type.name,s.node().attrs),...t},c=o.contentMatch.defaultType?.createAndFill(a)||void 0;e=e.append(K.from(o.createAndFill(null,c)||void 0));let l=s.before(s.depth-(r-1));n.replace(l,s.after(-i),new J(e,4-r,0));let u=-1;n.doc.nodesBetween(l,n.doc.content.size,(e,t)=>{if(u>-1)return!1;e.isTextblock&&e.content.size===0&&(u=t+1)}),u>-1&&n.setSelection(X.near(n.doc.resolve(u))),n.scrollIntoView()}return!0}let f=c.pos===s.end()?u.contentMatchAt(0).defaultType:null,p={...Wg(d,u.type.name,u.attrs),...t},m={...Wg(d,s.node().type.name,s.node().attrs),...t};n.delete(s.pos,c.pos);let h=f?[{type:o,attrs:p},{type:f,attrs:m}]:[{type:o,attrs:p}];if(!gc(n.doc,s.pos,2))return!1;if(i){let{selection:e,storedMarks:t}=r,{splittableMarks:o}=a.extensionManager,c=t||e.$to.parentOffset&&e.$from.marks();if(n.split(s.pos,2,h).scrollIntoView(),!c||!i)return!0;let l=c.filter(e=>o.includes(e.type.name));n.ensureMarks(l)}return!0},o_=(e,t)=>{let n=zg(e=>e.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(r===void 0)return!0;let i=e.doc.nodeAt(r);return n.node.type===i?.type&&vc(e.doc,n.pos)&&e.join(n.pos),!0},s_=(e,t)=>{let n=zg(e=>e.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(n.start).after(n.depth);if(r===void 0)return!0;let i=e.doc.nodeAt(r);return n.node.type===i?.type&&vc(e.doc,r)&&e.join(r),!0},c_=Object.freeze({__proto__:null,blur:Oh,clearContent:kh,clearNodes:Ah,command:jh,createParagraphNear:Mh,cut:Nh,deleteCurrentNode:Ph,deleteNode:Fh,deleteRange:Ih,deleteSelection:Lh,enter:Rh,exitCode:zh,extendMarkRange:Gh,first:Kh,focus:$h,forEach:eg,insertContent:tg,insertContentAt:sg,joinBackward:ug,joinDown:lg,joinForward:dg,joinItemBackward:fg,joinItemForward:pg,joinTextblockBackward:mg,joinTextblockForward:hg,joinUp:cg,keyboardShortcut:vg,lift:bg,liftEmptyBlock:xg,liftListItem:Sg,newlineInCode:Cg,resetAttributes:Eg,scrollIntoView:Dg,selectAll:Og,selectNodeBackward:kg,selectNodeForward:Ag,selectParentNode:jg,selectTextblockEnd:Mg,selectTextblockStart:Ng,setContent:Fg,setMark:Zg,setMeta:Qg,setNode:$g,setNodeSelection:e_,setTextSelection:t_,sinkListItem:n_,splitBlock:i_,splitListItem:a_,toggleList:(e,t,n,r={})=>({editor:i,tr:a,state:o,dispatch:s,chain:c,commands:l,can:u})=>{let{extensions:d,splittableMarks:f}=i.extensionManager,p=qm(e,o.schema),m=qm(t,o.schema),{selection:h,storedMarks:g}=o,{$from:_,$to:v}=h,y=_.blockRange(v),b=g||h.$to.parentOffset&&h.$from.marks();if(!y)return!1;let x=zg(e=>qg(e.type.name,d))(h);if(y.depth>=1&&x&&y.depth-x.depth<=1){if(x.node.type===p)return l.liftListItem(m);if(qg(x.node.type.name,d)&&p.validContent(x.node.content)&&s)return c().command(()=>(a.setNodeMarkup(x.pos,p),!0)).command(()=>o_(a,p)).command(()=>s_(a,p)).run()}return!n||!b||!s?c().command(()=>u().wrapInList(p,r)?!0:l.clearNodes()).wrapInList(p,r).command(()=>o_(a,p)).command(()=>s_(a,p)).run():c().command(()=>{let e=u().wrapInList(p,r),t=b.filter(e=>f.includes(e.type.name));return a.ensureMarks(t),e?!0:l.clearNodes()}).wrapInList(p,r).command(()=>o_(a,p)).command(()=>s_(a,p)).run()},toggleMark:(e,t={},n={})=>({state:r,commands:i})=>{let{extendEmptyMarkRange:a=!1}=n,o=Wh(e,r.schema);return Gg(r,o,t)?i.unsetMark(o,{extendEmptyMarkRange:a}):i.setMark(o,t)},toggleNode:(e,t,n={})=>({state:r,commands:i})=>{let a=qm(e,r.schema),o=qm(t,r.schema),s=yg(r,a,n),c;return r.selection.$anchor.sameParent(r.selection.$head)&&(c=r.selection.$anchor.parent.attrs),s?i.setNode(o,c):i.setNode(a,{...c,...n})},toggleWrap:(e,t={})=>({state:n,commands:r})=>{let i=qm(e,n.schema);return yg(n,i,t)?r.lift(i):r.wrapIn(i,t)},undoInputRule:()=>({state:e,dispatch:t})=>{let n=e.plugins;for(let r=0;r<n.length;r+=1){let i=n[r],a;if(i.spec.isInputRules&&(a=i.getState(e))){if(t){let t=e.tr,n=a.transform;for(let e=n.steps.length-1;e>=0;--e)t.step(n.steps[e].invert(n.docs[e]));if(a.text){let n=t.doc.resolve(a.from).marks();t.replaceWith(a.from,a.to,e.schema.text(a.text,n))}else t.delete(a.from,a.to)}return!0}}return!1},unsetAllMarks:()=>({tr:e,dispatch:t})=>{let{selection:n}=e,{empty:r,ranges:i}=n;return r||t&&i.forEach(t=>{e.removeMark(t.$from.pos,t.$to.pos)}),!0},unsetMark:(e,t={})=>({tr:n,state:r,dispatch:i})=>{let{extendEmptyMarkRange:a=!1}=t,{selection:o}=n,s=Wh(e,r.schema),{$from:c,empty:l,ranges:u}=o;if(!i)return!0;if(l&&a){let{from:e,to:t}=o,r=Uh(c,s,c.marks().find(e=>e.type===s)?.attrs);r&&(e=r.from,t=r.to),n.removeMark(e,t,s)}else u.forEach(e=>{n.removeMark(e.$from.pos,e.$to.pos,s)});return n.removeStoredMark(s),!0},updateAttributes:(e,t={})=>({tr:n,state:r,dispatch:i})=>{let a=null,o=null,s=wg(typeof e==`string`?e:e.name,r.schema);return s?(s===`node`&&(a=qm(e,r.schema)),s===`mark`&&(o=Wh(e,r.schema)),i&&n.selection.ranges.forEach(e=>{let i=e.$from.pos,s=e.$to.pos,c,l,u,d;n.selection.empty?r.doc.nodesBetween(i,s,(e,t)=>{a&&a===e.type&&(u=Math.max(t,i),d=Math.min(t+e.nodeSize,s),c=t,l=e)}):r.doc.nodesBetween(i,s,(e,r)=>{r<i&&a&&a===e.type&&(u=Math.max(r,i),d=Math.min(r+e.nodeSize,s),c=r,l=e),r>=i&&r<=s&&(a&&a===e.type&&n.setNodeMarkup(r,void 0,{...e.attrs,...t}),o&&e.marks.length&&e.marks.forEach(a=>{if(o===a.type){let c=Math.max(r,i),l=Math.min(r+e.nodeSize,s);n.addMark(c,l,o.create({...a.attrs,...t}))}}))}),l&&(c!==void 0&&n.setNodeMarkup(c,void 0,{...l.attrs,...t}),o&&l.marks.length&&l.marks.forEach(e=>{o===e.type&&n.addMark(u,d,o.create({...e.attrs,...t}))}))}),!0):!1},wrapIn:(e,t={})=>({state:n,dispatch:r})=>Om(qm(e,n.schema),t)(n,r),wrapInList:(e,t={})=>({state:n,dispatch:r})=>Fm(qm(e,n.schema),t)(n,r)}),l_=wh.create({name:`commands`,addCommands(){return{...c_}}}),u_=wh.create({name:`drop`,addProseMirrorPlugins(){return[new ul({key:new pl(`tiptapDrop`),props:{handleDrop:(e,t,n,r)=>{this.editor.emit(`drop`,{editor:this.editor,event:t,slice:n,moved:r})}}})]}}),d_=wh.create({name:`editable`,addProseMirrorPlugins(){return[new ul({key:new pl(`editable`),props:{editable:()=>this.editor.options.editable}})]}}),f_=new pl(`focusEvents`),p_=wh.create({name:`focusEvents`,addProseMirrorPlugins(){let{editor:e}=this;return[new ul({key:f_,props:{handleDOMEvents:{focus:(t,n)=>{e.isFocused=!0;let r=e.state.tr.setMeta(`focus`,{event:n}).setMeta(`addToHistory`,!1);return t.dispatch(r),!1},blur:(t,n)=>{e.isFocused=!1;let r=e.state.tr.setMeta(`blur`,{event:n}).setMeta(`addToHistory`,!1);return t.dispatch(r),!1}}}})]}}),m_=wh.create({name:`keymap`,addKeyboardShortcuts(){let e=()=>this.editor.commands.first(({commands:e})=>[()=>e.undoInputRule(),()=>e.command(({tr:t})=>{let{selection:n,doc:r}=t,{empty:i,$anchor:a}=n,{pos:o,parent:s}=a,c=a.parent.isTextblock&&o>0?t.doc.resolve(o-1):a,l=c.parent.type.spec.isolating,u=a.pos-a.parentOffset,d=l&&c.parent.childCount===1?u===a.pos:Y.atStart(r).from===o;return!i||!s.type.isTextblock||s.textContent.length||!d||d&&a.parent.type.name===`paragraph`?!1:e.clearNodes()}),()=>e.deleteSelection(),()=>e.joinBackward(),()=>e.selectNodeBackward()]),t=()=>this.editor.commands.first(({commands:e})=>[()=>e.deleteSelection(),()=>e.deleteCurrentNode(),()=>e.joinForward(),()=>e.selectNodeForward()]),n={Enter:()=>this.editor.commands.first(({commands:e})=>[()=>e.newlineInCode(),()=>e.createParagraphNear(),()=>e.liftEmptyBlock(),()=>e.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:e,"Mod-Backspace":e,"Shift-Backspace":e,Delete:t,"Mod-Delete":t,"Mod-a":()=>this.editor.commands.selectAll()},r={...n},i={...n,"Ctrl-h":e,"Alt-Backspace":e,"Ctrl-d":t,"Ctrl-Alt-Backspace":t,"Alt-Delete":t,"Alt-d":t,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return Zh()||gg()?i:r},addProseMirrorPlugins(){return[new ul({key:new pl(`clearDocument`),appendTransaction:(e,t,n)=>{if(e.some(e=>e.getMeta(`composition`)))return;let r=e.some(e=>e.docChanged)&&!t.doc.eq(n.doc),i=e.some(e=>e.getMeta(`preventClearDocument`));if(!r||i)return;let{empty:a,from:o,to:s}=t.selection,c=Y.atStart(t.doc).from,l=Y.atEnd(t.doc).to;if(a||!(o===c&&s===l)||!Jg(n.doc))return;let u=n.tr,d=Hm({state:n,transaction:u}),{commands:f}=new Um({editor:this.editor,state:d});if(f.clearNodes(),u.steps.length)return u}})]}}),h_=wh.create({name:`paste`,addProseMirrorPlugins(){return[new ul({key:new pl(`tiptapPaste`),props:{handlePaste:(e,t,n)=>{this.editor.emit(`paste`,{editor:this.editor,event:t,slice:n})}}})]}}),g_=wh.create({name:`tabindex`,addProseMirrorPlugins(){return[new ul({key:new pl(`tabindex`),props:{attributes:()=>this.editor.isEditable?{tabindex:`0`}:{}}})]}}),__=Object.freeze({__proto__:null,ClipboardTextSerializer:Dh,Commands:l_,Drop:u_,Editable:d_,FocusEvents:p_,Keymap:m_,Paste:h_,Tabindex:g_,focusEventsPluginKey:f_}),v_=class e{get name(){return this.node.type.name}constructor(e,t,n=!1,r=null){this.currentNode=null,this.actualDepth=null,this.isBlock=n,this.resolvedPos=e,this.editor=t,this.currentNode=r}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){return this.actualDepth??this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(e){let t=this.from,n=this.to;if(this.isBlock){if(this.content.size===0){console.error(`You can’t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);return}t=this.from+1,n=this.to-1}this.editor.commands.insertContentAt({from:t,to:n},e)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+ +!this.node.isText}get parent(){if(this.depth===0)return null;let t=this.resolvedPos.start(this.resolvedPos.depth-1),n=this.resolvedPos.doc.resolve(t);return new e(n,this.editor)}get before(){let t=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.from-3)),new e(t,this.editor)}get after(){let t=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.to+3)),new e(t,this.editor)}get children(){let t=[];return this.node.content.forEach((n,r)=>{let i=n.isBlock&&!n.isTextblock,a=n.isAtom&&!n.isText,o=this.pos+r+ +!a;if(o<0||o>this.resolvedPos.doc.nodeSize-2)return;let s=this.resolvedPos.doc.resolve(o);if(!i&&s.depth<=this.depth)return;let c=new e(s,this.editor,i,i?n:null);i&&(c.actualDepth=this.depth+1),t.push(new e(s,this.editor,i,i?n:null))}),t}get firstChild(){return this.children[0]||null}get lastChild(){let e=this.children;return e[e.length-1]||null}closest(e,t={}){let n=null,r=this.parent;for(;r&&!n;){if(r.node.type.name===e)if(Object.keys(t).length>0){let e=r.node.attrs,n=Object.keys(t);for(let r=0;r<n.length;r+=1){let i=n[r];if(e[i]!==t[i])break}}else n=r;r=r.parent}return n}querySelector(e,t={}){return this.querySelectorAll(e,t,!0)[0]||null}querySelectorAll(e,t={},n=!1){let r=[];if(!this.children||this.children.length===0)return r;let i=Object.keys(t);return this.children.forEach(a=>{n&&r.length>0||(a.node.type.name===e&&i.every(e=>t[e]===a.node.attrs[e])&&r.push(a),!(n&&r.length>0)&&(r=r.concat(a.querySelectorAll(e,t,n))))}),r}setAttribute(e){let{tr:t}=this.editor.state;t.setNodeMarkup(this.from,void 0,{...this.node.attrs,...e}),this.editor.view.dispatch(t)}},y_=`.ProseMirror {
|
|
21
|
-
position: relative;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.ProseMirror {
|
|
25
|
-
word-wrap: break-word;
|
|
26
|
-
white-space: pre-wrap;
|
|
27
|
-
white-space: break-spaces;
|
|
28
|
-
-webkit-font-variant-ligatures: none;
|
|
29
|
-
font-variant-ligatures: none;
|
|
30
|
-
font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.ProseMirror [contenteditable="false"] {
|
|
34
|
-
white-space: normal;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.ProseMirror [contenteditable="false"] [contenteditable="true"] {
|
|
38
|
-
white-space: pre-wrap;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.ProseMirror pre {
|
|
42
|
-
white-space: pre-wrap;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
img.ProseMirror-separator {
|
|
46
|
-
display: inline !important;
|
|
47
|
-
border: none !important;
|
|
48
|
-
margin: 0 !important;
|
|
49
|
-
width: 0 !important;
|
|
50
|
-
height: 0 !important;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.ProseMirror-gapcursor {
|
|
54
|
-
display: none;
|
|
55
|
-
pointer-events: none;
|
|
56
|
-
position: absolute;
|
|
57
|
-
margin: 0;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.ProseMirror-gapcursor:after {
|
|
61
|
-
content: "";
|
|
62
|
-
display: block;
|
|
63
|
-
position: absolute;
|
|
64
|
-
top: -2px;
|
|
65
|
-
width: 20px;
|
|
66
|
-
border-top: 1px solid black;
|
|
67
|
-
animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
@keyframes ProseMirror-cursor-blink {
|
|
71
|
-
to {
|
|
72
|
-
visibility: hidden;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.ProseMirror-hideselection *::selection {
|
|
77
|
-
background: transparent;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.ProseMirror-hideselection *::-moz-selection {
|
|
81
|
-
background: transparent;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
.ProseMirror-hideselection * {
|
|
85
|
-
caret-color: transparent;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.ProseMirror-focused .ProseMirror-gapcursor {
|
|
89
|
-
display: block;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
.tippy-box[data-animation=fade][data-state=hidden] {
|
|
93
|
-
opacity: 0
|
|
94
|
-
}`;function b_(e,t,n){let r=document.querySelector(`style[data-tiptap-style${n?`-${n}`:``}]`);if(r!==null)return r;let i=document.createElement(`style`);return t&&i.setAttribute(`nonce`,t),i.setAttribute(`data-tiptap-style${n?`-${n}`:``}`,``),i.innerHTML=e,document.getElementsByTagName(`head`)[0].appendChild(i),i}var x_=class extends Wm{constructor(e={}){super(),this.isFocused=!1,this.isInitialized=!1,this.extensionStorage={},this.options={element:document.createElement(`div`),content:``,injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,emitContentError:!1,onBeforeCreate:()=>null,onCreate:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:e})=>{throw e},onPaste:()=>null,onDrop:()=>null},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.setOptions(e),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on(`beforeCreate`,this.options.onBeforeCreate),this.emit(`beforeCreate`,{editor:this}),this.on(`contentError`,this.options.onContentError),this.createView(),this.injectCSS(),this.on(`create`,this.options.onCreate),this.on(`update`,this.options.onUpdate),this.on(`selectionUpdate`,this.options.onSelectionUpdate),this.on(`transaction`,this.options.onTransaction),this.on(`focus`,this.options.onFocus),this.on(`blur`,this.options.onBlur),this.on(`destroy`,this.options.onDestroy),this.on(`drop`,({event:e,slice:t,moved:n})=>this.options.onDrop(e,t,n)),this.on(`paste`,({event:e,slice:t})=>this.options.onPaste(e,t)),window.setTimeout(()=>{this.isDestroyed||(this.commands.focus(this.options.autofocus),this.emit(`create`,{editor:this}),this.isInitialized=!0)},0)}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&document&&(this.css=b_(y_,this.options.injectNonce))}setOptions(e={}){this.options={...this.options,...e},!(!this.view||!this.state||this.isDestroyed)&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(e,t=!0){this.setOptions({editable:e}),t&&this.emit(`update`,{editor:this,transaction:this.state.tr})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get state(){return this.view.state}registerPlugin(e,t){let n=Xm(t)?t(e,[...this.state.plugins]):[...this.state.plugins,e],r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}unregisterPlugin(e){if(this.isDestroyed)return;let t=this.state.plugins,n=t;if([].concat(e).forEach(e=>{let t=typeof e==`string`?`${e}$`:e.key;n=n.filter(e=>!e.key.startsWith(t))}),t.length===n.length)return;let r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}createExtensionManager(){let e=[...this.options.enableCoreExtensions?[d_,Dh.configure({blockSeparator:this.options.coreExtensionOptions?.clipboardTextSerializer?.blockSeparator}),l_,p_,m_,g_,u_,h_].filter(e=>typeof this.options.enableCoreExtensions!=`object`||this.options.enableCoreExtensions[e.name]!==!1):[],...this.options.extensions].filter(e=>[`extension`,`node`,`mark`].includes(e?.type));this.extensionManager=new Ch(e,this)}createCommandManager(){this.commandManager=new Um({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createView(){let e;try{e=Pg(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(t){if(!(t instanceof Error)||![`[tiptap error]: Invalid JSON content`,`[tiptap error]: Invalid HTML content`].includes(t.message))throw t;this.emit(`contentError`,{editor:this,error:t,disableCollaboration:()=>{this.storage.collaboration&&(this.storage.collaboration.isDisabled=!0),this.options.extensions=this.options.extensions.filter(e=>e.name!==`collaboration`),this.createExtensionManager()}}),e=Pg(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}let t=Yh(e,this.options.autofocus);this.view=new Ap(this.options.element,{...this.options.editorProps,attributes:{role:`textbox`,...this.options.editorProps?.attributes},dispatchTransaction:this.dispatchTransaction.bind(this),state:cl.create({doc:e,selection:t||void 0})});let n=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(n),this.createNodeViews(),this.prependClass();let r=this.view.dom;r.editor=this}createNodeViews(){this.view.isDestroyed||this.view.setProps({nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`tiptap ${this.view.dom.className}`}captureTransaction(e){this.isCapturingTransaction=!0,e(),this.isCapturingTransaction=!1;let t=this.capturedTransaction;return this.capturedTransaction=null,t}dispatchTransaction(e){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=e;return}e.steps.forEach(e=>this.capturedTransaction?.step(e));return}let t=this.state.apply(e),n=!this.state.selection.eq(t.selection);this.emit(`beforeTransaction`,{editor:this,transaction:e,nextState:t}),this.view.updateState(t),this.emit(`transaction`,{editor:this,transaction:e}),n&&this.emit(`selectionUpdate`,{editor:this,transaction:e});let r=e.getMeta(`focus`),i=e.getMeta(`blur`);r&&this.emit(`focus`,{editor:this,event:r.event,transaction:e}),i&&this.emit(`blur`,{editor:this,event:i.event,transaction:e}),!(!e.docChanged||e.getMeta(`preventUpdate`))&&this.emit(`update`,{editor:this,transaction:e})}getAttributes(e){return Hg(this.state,e)}isActive(e,t){let n=typeof e==`string`?e:null,r=typeof e==`string`?t:e;return Kg(this.state,n,r)}getJSON(){return this.state.doc.toJSON()}getHTML(){return ih(this.state.doc.content,this.schema)}getText(e){let{blockSeparator:t=`
|
|
95
|
-
|
|
96
|
-
`,textSerializers:n={}}=e||{};return Bg(this.state.doc,{blockSeparator:t,textSerializers:{...Eh(this.schema),...n}})}get isEmpty(){return Jg(this.state.doc)}getCharacterCount(){return console.warn(`[tiptap warn]: "editor.getCharacterCount()" is deprecated. Please use "editor.storage.characterCount.characters()" instead.`),this.state.doc.content.size-2}destroy(){if(this.emit(`destroy`),this.view){let e=this.view.dom;e&&e.editor&&delete e.editor,this.view.destroy()}this.removeAllListeners()}get isDestroyed(){return!this.view?.docView}$node(e,t){return this.$doc?.querySelector(e,t)||null}$nodes(e,t){return this.$doc?.querySelectorAll(e,t)||null}$pos(e){return new v_(this.state.doc.resolve(e),this)}get $doc(){return this.$pos(0)}};function S_(e){return new sh({find:e.find,handler:({state:t,range:n,match:r})=>{let i=$(e.getAttributes,void 0,r);if(i===!1||i===null)return null;let{tr:a}=t,o=r[r.length-1],s=r[0];if(o){let r=s.search(/\S/),c=n.from+s.indexOf(o),l=c+o.length;if(Ug(n.from,n.to,t.doc).filter(t=>t.mark.type.excluded.find(n=>n===e.type&&n!==t.mark.type)).filter(e=>e.to>c).length)return null;l<n.to&&a.delete(l,n.to),c>n.from&&a.delete(n.from+r,c);let u=n.from+r+o.length;a.addMark(n.from+r,u,e.type.create(i||{})),a.removeStoredMark(e.type)}}})}function C_(e){return new sh({find:e.find,handler:({state:t,range:n,match:r})=>{let i=$(e.getAttributes,void 0,r)||{},{tr:a}=t,o=n.from,s=n.to,c=e.type.create(i);if(r[1]){let e=o+r[0].lastIndexOf(r[1]);e>s?e=s:s=e+r[1].length;let t=r[0][r[0].length-1];a.insertText(t,o+r[0].length-1),a.replaceWith(e,s,c)}else if(r[0]){let t=e.type.isInline?o:o-1;a.insert(t,e.type.create(i)).delete(a.mapping.map(o),a.mapping.map(s))}a.scrollIntoView()}})}function w_(e){return new sh({find:e.find,handler:({state:t,range:n,match:r})=>{let i=t.doc.resolve(n.from),a=$(e.getAttributes,void 0,r)||{};if(!i.node(-1).canReplaceWith(i.index(-1),i.indexAfter(-1),e.type))return null;t.tr.delete(n.from,n.to).setBlockType(n.from,n.from,e.type,a)}})}function T_(e){return new sh({find:e.find,handler:({state:t,range:n,match:r,chain:i})=>{let a=$(e.getAttributes,void 0,r)||{},o=t.tr.delete(n.from,n.to),s=o.doc.resolve(n.from).blockRange(),c=s&&oc(s,e.type,a);if(!c)return null;if(o.wrap(s,c),e.keepMarks&&e.editor){let{selection:n,storedMarks:r}=t,{splittableMarks:i}=e.editor.extensionManager,a=r||n.$to.parentOffset&&n.$from.marks();if(a){let e=a.filter(e=>i.includes(e.type.name));o.ensureMarks(e)}}if(e.keepAttributes){let t=e.type.name===`bulletList`||e.type.name===`orderedList`?`listItem`:`taskList`;i().updateAttributes(t,a).run()}let l=o.doc.resolve(n.from-1).nodeBefore;l&&l.type===e.type&&vc(o.doc,n.from-1)&&(!e.joinPredicate||e.joinPredicate(r,l))&&o.join(n.from-1)}})}var E_=class e{constructor(e={}){this.type=`node`,this.name=`node`,this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...e},this.name=this.config.name,e.defaultOptions&&Object.keys(e.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=$(Q(this,`addOptions`,{name:this.name}))),this.storage=$(Q(this,`addStorage`,{name:this.name,options:this.options}))||{}}static create(t={}){return new e(t)}configure(e={}){let t=this.extend({...this.config,addOptions:()=>ph(this.options,e)});return t.name=this.name,t.parent=this.parent,t}extend(t={}){let n=new e(t);return n.parent=this,this.child=n,n.name=t.name?t.name:n.parent.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`),n.options=$(Q(n,`addOptions`,{name:n.name})),n.storage=$(Q(n,`addStorage`,{name:n.name,options:n.options})),n}};function D_(e){return new gh({find:e.find,handler:({state:t,range:n,match:r,pasteEvent:i})=>{let a=$(e.getAttributes,void 0,r,i);if(a===!1||a===null)return null;let{tr:o}=t,s=r[r.length-1],c=r[0],l=n.to;if(s){let r=c.search(/\S/),i=n.from+c.indexOf(s),u=i+s.length;if(Ug(n.from,n.to,t.doc).filter(t=>t.mark.type.excluded.find(n=>n===e.type&&n!==t.mark.type)).filter(e=>e.to>i).length)return null;u<n.to&&o.delete(u,n.to),i>n.from&&o.delete(n.from+r,i),l=n.from+r+s.length,o.addMark(n.from+r,l,e.type.create(a||{})),o.removeStoredMark(e.type)}}})}function O_(e,t){let{selection:n}=e,{$from:r}=n;if(n instanceof Z){let e=r.index();return r.parent.canReplaceWith(e,e+1,t)}let i=r.depth;for(;i>=0;){let e=r.index(i);if(r.node(i).contentMatchAt(e).matchType(t))return!0;--i}return!1}function k_(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,`\\$&`)}function A_(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}var j_={exports:{}},M_={},N_;function P_(){if(N_)return M_;N_=1;var e=W.default;function t(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var n=typeof Object.is==`function`?Object.is:t,r=e.useState,i=e.useEffect,a=e.useLayoutEffect,o=e.useDebugValue;function s(e,t){var n=t(),s=r({inst:{value:n,getSnapshot:t}}),l=s[0].inst,u=s[1];return a(function(){l.value=n,l.getSnapshot=t,c(l)&&u({inst:l})},[e,n,t]),i(function(){return c(l)&&u({inst:l}),e(function(){c(l)&&u({inst:l})})},[e]),o(n),n}function c(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!n(e,r)}catch{return!0}}function l(e,t){return t()}var u=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?l:s;return M_.useSyncExternalStore=e.useSyncExternalStore===void 0?u:e.useSyncExternalStore,M_}j_.exports=P_();var F_=j_.exports,I_=(...e)=>t=>{e.forEach(e=>{typeof e==`function`?e(t):e&&(e.current=t)})},L_=({contentComponent:e})=>{let t=F_.useSyncExternalStore(e.subscribe,e.getSnapshot,e.getServerSnapshot);return W.createElement(W.Fragment,null,Object.values(t))};function R_(){let e=new Set,t={};return{subscribe(t){return e.add(t),()=>{e.delete(t)}},getSnapshot(){return t},getServerSnapshot(){return t},setRenderer(n,r){t={...t,[n]:ao.createPortal(r.reactElement,r.element,n)},e.forEach(e=>e())},removeRenderer(n){let r={...t};delete r[n],t=r,e.forEach(e=>e())}}}var z_=class extends W.Component{constructor(e){super(e),this.editorContentRef=W.createRef(),this.initialized=!1,this.state={hasContentComponentInitialized:!!e.editor?.contentComponent}}componentDidMount(){this.init()}componentDidUpdate(){this.init()}init(){let e=this.props.editor;if(e&&!e.isDestroyed&&e.options.element){if(e.contentComponent)return;let t=this.editorContentRef.current;t.append(...e.options.element.childNodes),e.setOptions({element:t}),e.contentComponent=R_(),this.state.hasContentComponentInitialized||(this.unsubscribeToContentComponent=e.contentComponent.subscribe(()=>{this.setState(e=>e.hasContentComponentInitialized?e:{hasContentComponentInitialized:!0}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent()})),e.createNodeViews(),this.initialized=!0}}componentWillUnmount(){let e=this.props.editor;if(!e||(this.initialized=!1,e.isDestroyed||e.view.setProps({nodeViews:{}}),this.unsubscribeToContentComponent&&this.unsubscribeToContentComponent(),e.contentComponent=null,!e.options.element.firstChild))return;let t=document.createElement(`div`);t.append(...e.options.element.childNodes),e.setOptions({element:t})}render(){let{editor:e,innerRef:t,...n}=this.props;return W.createElement(W.Fragment,null,W.createElement(`div`,{ref:I_(t,this.editorContentRef),...n}),e?.contentComponent&&W.createElement(L_,{contentComponent:e.contentComponent}))}},B_=(0,W.forwardRef)((e,t)=>{let n=W.useMemo(()=>Math.floor(Math.random()*4294967295).toString(),[e.editor]);return W.createElement(z_,{key:n,innerRef:t,...e})}),V_=W.memo(B_),H_=A_(function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t instanceof Map&&n instanceof Map){if(t.size!==n.size)return!1;for(i of t.entries())if(!n.has(i[0]))return!1;for(i of t.entries())if(!e(i[1],n.get(i[0])))return!1;return!0}if(t instanceof Set&&n instanceof Set){if(t.size!==n.size)return!1;for(i of t.entries())if(!n.has(i[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(n)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(t[i]!==n[i])return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!(o===`_owner`&&t.$$typeof)&&!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}),U_={exports:{}},W_={},G_;function K_(){if(G_)return W_;G_=1;var e=W.default,t=F_;function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useSyncExternalStore,a=e.useRef,o=e.useEffect,s=e.useMemo,c=e.useDebugValue;return W_.useSyncExternalStoreWithSelector=function(e,t,n,l,u){var d=a(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=s(function(){function e(e){if(!i){if(i=!0,a=e,e=l(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return o=t}return o=e}if(t=o,r(a,e))return t;var n=l(e);return u!==void 0&&u(t,n)?t:(a=e,o=n)}var i=!1,a,o,s=n===void 0?null:n;return[function(){return e(t())},s===null?void 0:function(){return e(s())}]},[t,n,l,u]);var p=i(e,d[0],d[1]);return o(function(){f.hasValue=!0,f.value=p},[p]),c(p),p},W_}U_.exports=K_();var q_=U_.exports,J_=typeof window<`u`?W.useLayoutEffect:W.useEffect,Y_=class{constructor(e){this.transactionNumber=0,this.lastTransactionNumber=0,this.subscribers=new Set,this.editor=e,this.lastSnapshot={editor:e,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber?this.lastSnapshot:(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber},this.lastSnapshot)}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}watch(e){if(this.editor=e,this.editor){let e=()=>{this.transactionNumber+=1,this.subscribers.forEach(e=>e())},t=this.editor;return t.on(`transaction`,e),()=>{t.off(`transaction`,e)}}}};function X_(e){let[t]=(0,W.useState)(()=>new Y_(e.editor)),n=q_.useSyncExternalStoreWithSelector(t.subscribe,t.getSnapshot,t.getServerSnapshot,e.selector,e.equalityFn??H_);return J_(()=>t.watch(e.editor),[e.editor,t]),(0,W.useDebugValue)(n),n}var Z_=typeof window>`u`,Q_=Z_||!!(typeof window<`u`&&window.next),$_=class e{constructor(e){this.editor=null,this.subscriptions=new Set,this.isComponentMounted=!1,this.previousDeps=null,this.instanceId=``,this.options=e,this.subscriptions=new Set,this.setEditor(this.getInitialEditor()),this.scheduleDestroy(),this.getEditor=this.getEditor.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.subscribe=this.subscribe.bind(this),this.refreshEditorInstance=this.refreshEditorInstance.bind(this),this.scheduleDestroy=this.scheduleDestroy.bind(this),this.onRender=this.onRender.bind(this),this.createEditor=this.createEditor.bind(this)}setEditor(e){this.editor=e,this.instanceId=Math.random().toString(36).slice(2,9),this.subscriptions.forEach(e=>e())}getInitialEditor(){return this.options.current.immediatelyRender===void 0?Z_||Q_?null:this.createEditor():(this.options.current.immediatelyRender,this.options.current.immediatelyRender?this.createEditor():null)}createEditor(){return new x_({...this.options.current,onBeforeCreate:(...e)=>{var t;return(t=this.options.current).onBeforeCreate?.call(t,...e)},onBlur:(...e)=>{var t;return(t=this.options.current).onBlur?.call(t,...e)},onCreate:(...e)=>{var t;return(t=this.options.current).onCreate?.call(t,...e)},onDestroy:(...e)=>{var t;return(t=this.options.current).onDestroy?.call(t,...e)},onFocus:(...e)=>{var t;return(t=this.options.current).onFocus?.call(t,...e)},onSelectionUpdate:(...e)=>{var t;return(t=this.options.current).onSelectionUpdate?.call(t,...e)},onTransaction:(...e)=>{var t;return(t=this.options.current).onTransaction?.call(t,...e)},onUpdate:(...e)=>{var t;return(t=this.options.current).onUpdate?.call(t,...e)},onContentError:(...e)=>{var t;return(t=this.options.current).onContentError?.call(t,...e)},onDrop:(...e)=>{var t;return(t=this.options.current).onDrop?.call(t,...e)},onPaste:(...e)=>{var t;return(t=this.options.current).onPaste?.call(t,...e)}})}getEditor(){return this.editor}getServerSnapshot(){return null}subscribe(e){return this.subscriptions.add(e),()=>{this.subscriptions.delete(e)}}static compareOptions(e,t){return Object.keys(e).every(n=>[`onCreate`,`onBeforeCreate`,`onDestroy`,`onUpdate`,`onTransaction`,`onFocus`,`onBlur`,`onSelectionUpdate`,`onContentError`,`onDrop`,`onPaste`].includes(n)?!0:n===`extensions`&&e.extensions&&t.extensions?e.extensions.length===t.extensions.length&&e.extensions.every((e,n)=>e===t.extensions?.[n]):e[n]===t[n])}onRender(t){return()=>(this.isComponentMounted=!0,clearTimeout(this.scheduledDestructionTimeout),this.editor&&!this.editor.isDestroyed&&t.length===0?e.compareOptions(this.options.current,this.editor.options)||this.editor.setOptions({...this.options.current,editable:this.editor.isEditable}):this.refreshEditorInstance(t),()=>{this.isComponentMounted=!1,this.scheduleDestroy()})}refreshEditorInstance(e){if(this.editor&&!this.editor.isDestroyed){if(this.previousDeps===null){this.previousDeps=e;return}if(this.previousDeps.length===e.length&&this.previousDeps.every((t,n)=>t===e[n]))return}this.editor&&!this.editor.isDestroyed&&this.editor.destroy(),this.setEditor(this.createEditor()),this.previousDeps=e}scheduleDestroy(){let e=this.instanceId,t=this.editor;this.scheduledDestructionTimeout=setTimeout(()=>{if(this.isComponentMounted&&this.instanceId===e){t&&t.setOptions(this.options.current);return}t&&!t.isDestroyed&&(t.destroy(),this.instanceId===e&&this.setEditor(null))},1)}};function ev(e={},t=[]){let n=(0,W.useRef)(e);n.current=e;let[r]=(0,W.useState)(()=>new $_(n)),i=F_.useSyncExternalStore(r.subscribe,r.getEditor,r.getServerSnapshot);return(0,W.useDebugValue)(i),(0,W.useEffect)(r.onRender(t)),X_({editor:i,selector:({transactionNumber:t})=>e.shouldRerenderOnTransaction===!1?null:e.immediatelyRender&&t===0?0:t+1}),i}(0,W.createContext)({editor:null}).Consumer;var tv=(0,W.createContext)({onDragStart:void 0}),nv=()=>(0,W.useContext)(tv);W.forwardRef((e,t)=>{let{onDragStart:n}=nv(),r=e.as||`div`;return W.createElement(r,{...e,ref:t,"data-node-view-wrapper":``,onDragStart:n,style:{whiteSpace:`normal`,...e.style}})});var rv=/^\s*>\s$/,iv=E_.create({name:`blockquote`,addOptions(){return{HTMLAttributes:{}}},content:`block+`,group:`block`,defining:!0,parseHTML(){return[{tag:`blockquote`}]},renderHTML({HTMLAttributes:e}){return[`blockquote`,Jm(this.options.HTMLAttributes,e),0]},addCommands(){return{setBlockquote:()=>({commands:e})=>e.wrapIn(this.name),toggleBlockquote:()=>({commands:e})=>e.toggleWrap(this.name),unsetBlockquote:()=>({commands:e})=>e.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[T_({find:rv,type:this.type})]}}),av=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,ov=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,sv=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,cv=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,lv=mh.create({name:`bold`,addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:`strong`},{tag:`b`,getAttrs:e=>e.style.fontWeight!==`normal`&&null},{style:`font-weight=400`,clearMark:e=>e.type.name===this.name},{style:`font-weight`,getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}]},renderHTML({HTMLAttributes:e}){return[`strong`,Jm(this.options.HTMLAttributes,e),0]},addCommands(){return{setBold:()=>({commands:e})=>e.setMark(this.name),toggleBold:()=>({commands:e})=>e.toggleMark(this.name),unsetBold:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[S_({find:av,type:this.type}),S_({find:sv,type:this.type})]},addPasteRules(){return[D_({find:ov,type:this.type}),D_({find:cv,type:this.type})]}}),uv=`listItem`,dv=`textStyle`,fv=/^\s*([-+*])\s$/,pv=E_.create({name:`bulletList`,addOptions(){return{itemTypeName:`listItem`,HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:`block list`,content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:`ul`}]},renderHTML({HTMLAttributes:e}){return[`ul`,Jm(this.options.HTMLAttributes,e),0]},addCommands(){return{toggleBulletList:()=>({commands:e,chain:t})=>this.options.keepAttributes?t().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(uv,this.editor.getAttributes(dv)).run():e.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let e=T_({find:fv,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(e=T_({find:fv,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(dv),editor:this.editor})),[e]}}),mv=/(^|[^`])`([^`]+)`(?!`)/,hv=/(^|[^`])`([^`]+)`(?!`)/g,gv=mh.create({name:`code`,addOptions(){return{HTMLAttributes:{}}},excludes:`_`,code:!0,exitable:!0,parseHTML(){return[{tag:`code`}]},renderHTML({HTMLAttributes:e}){return[`code`,Jm(this.options.HTMLAttributes,e),0]},addCommands(){return{setCode:()=>({commands:e})=>e.setMark(this.name),toggleCode:()=>({commands:e})=>e.toggleMark(this.name),unsetCode:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[S_({find:mv,type:this.type})]},addPasteRules(){return[D_({find:hv,type:this.type})]}}),_v=/^```([a-z]+)?[\s\n]$/,vv=/^~~~([a-z]+)?[\s\n]$/,yv=E_.create({name:`codeBlock`,addOptions(){return{languageClassPrefix:`language-`,exitOnTripleEnter:!0,exitOnArrowDown:!0,defaultLanguage:null,HTMLAttributes:{}}},content:`text*`,marks:``,group:`block`,code:!0,defining:!0,addAttributes(){return{language:{default:this.options.defaultLanguage,parseHTML:e=>{let{languageClassPrefix:t}=this.options;return[...e.firstElementChild?.classList||[]].filter(e=>e.startsWith(t)).map(e=>e.replace(t,``))[0]||null},rendered:!1}}},parseHTML(){return[{tag:`pre`,preserveWhitespace:`full`}]},renderHTML({node:e,HTMLAttributes:t}){return[`pre`,Jm(this.options.HTMLAttributes,t),[`code`,{class:e.attrs.language?this.options.languageClassPrefix+e.attrs.language:null},0]]},addCommands(){return{setCodeBlock:e=>({commands:t})=>t.setNode(this.name,e),toggleCodeBlock:e=>({commands:t})=>t.toggleNode(this.name,`paragraph`,e)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{let{empty:e,$anchor:t}=this.editor.state.selection,n=t.pos===1;return!e||t.parent.type.name!==this.name?!1:n||!t.parent.textContent.length?this.editor.commands.clearNodes():!1},Enter:({editor:e})=>{if(!this.options.exitOnTripleEnter)return!1;let{state:t}=e,{selection:n}=t,{$from:r,empty:i}=n;if(!i||r.parent.type!==this.type)return!1;let a=r.parentOffset===r.parent.nodeSize-2,o=r.parent.textContent.endsWith(`
|
|
97
|
-
|
|
98
|
-
`);return!a||!o?!1:e.chain().command(({tr:e})=>(e.delete(r.pos-2,r.pos),!0)).exitCode().run()},ArrowDown:({editor:e})=>{if(!this.options.exitOnArrowDown)return!1;let{state:t}=e,{selection:n,doc:r}=t,{$from:i,empty:a}=n;if(!a||i.parent.type!==this.type||i.parentOffset!==i.parent.nodeSize-2)return!1;let o=i.after();return o===void 0?!1:r.nodeAt(o)?e.commands.command(({tr:e})=>(e.setSelection(Y.near(r.resolve(o))),!0)):e.commands.exitCode()}}},addInputRules(){return[w_({find:_v,type:this.type,getAttributes:e=>({language:e[1]})}),w_({find:vv,type:this.type,getAttributes:e=>({language:e[1]})})]},addProseMirrorPlugins(){return[new ul({key:new pl(`codeBlockVSCodeHandler`),props:{handlePaste:(e,t)=>{if(!t.clipboardData||this.editor.isActive(this.type.name))return!1;let n=t.clipboardData.getData(`text/plain`),r=t.clipboardData.getData(`vscode-editor-data`),i=(r?JSON.parse(r):void 0)?.mode;if(!n||!i)return!1;let{tr:a,schema:o}=e.state,s=o.text(n.replace(/\r\n?/g,`
|
|
99
|
-
`));return a.replaceSelectionWith(this.type.create({language:i},s)),a.selection.$from.parent.type!==this.type&&a.setSelection(X.near(a.doc.resolve(Math.max(0,a.selection.from-2)))),a.setMeta(`paste`,!0),e.dispatch(a),!0}}})]}}),bv=E_.create({name:`doc`,topNode:!0,content:`block+`});function xv(e={}){return new ul({view(t){return new Sv(t,e)}})}var Sv=class{constructor(e,t){this.editorView=e,this.cursorPos=null,this.element=null,this.timeout=-1,this.lastDragEvent=null,this.width=t.width??1,this.color=t.color===!1?void 0:t.color||`black`,this.class=t.class,this.handlers=[`dragover`,`dragend`,`drop`,`dragleave`].map(t=>{let n=e=>{this[t](e)};return e.dom.addEventListener(t,n),{name:t,handler:n}})}destroy(){this.handlers.forEach(({name:e,handler:t})=>this.editorView.dom.removeEventListener(e,t))}update(e,t){if(this.cursorPos!=null&&t.doc!=e.state.doc)if(this.lastDragEvent){let e=this.computeTarget(this.lastDragEvent);e==this.cursorPos?this.updateOverlay():this.setCursor(e)}else this.updateOverlay()}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),t=!e.parent.inlineContent,n,r=this.editorView.dom,i=r.getBoundingClientRect(),a=i.width/r.offsetWidth,o=i.height/r.offsetHeight;if(t){let t=e.nodeBefore,r=e.nodeAfter;if(t||r){let e=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0));if(e){let i=e.getBoundingClientRect(),a=t?i.bottom:i.top;t&&r&&(a=(a+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let s=this.width/2*o;n={left:i.left,right:i.right,top:a-s,bottom:a+s}}}}if(!n){let e=this.editorView.coordsAtPos(this.cursorPos),t=this.width/2*a;n={left:e.left-t,right:e.left+t,top:e.top,bottom:e.bottom}}let s=this.editorView.dom.offsetParent;this.element||(this.element=s.appendChild(document.createElement(`div`)),this.class&&(this.element.className=this.class),this.element.style.cssText=`position: absolute; z-index: 50; pointer-events: none;`,this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle(`prosemirror-dropcursor-block`,t),this.element.classList.toggle(`prosemirror-dropcursor-inline`,!t);let c,l;if(!s||s==document.body&&getComputedStyle(s).position==`static`)c=-pageXOffset,l=-pageYOffset;else{let e=s.getBoundingClientRect(),t=e.width/s.offsetWidth,n=e.height/s.offsetHeight;c=e.left-s.scrollLeft*t,l=e.top-s.scrollTop*n}this.element.style.left=(n.left-c)/a+`px`,this.element.style.top=(n.top-l)/o+`px`,this.element.style.width=(n.right-n.left)/a+`px`,this.element.style.height=(n.bottom-n.top)/o+`px`}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}computeTarget(e){let t=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),n=t&&t.inside>=0&&this.editorView.state.doc.nodeAt(t.inside),r=n&&n.type.spec.disableDropCursor,i=typeof r==`function`?r(this.editorView,t,e):r;if(!t||i)return null;let a=t.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let e=wc(this.editorView.state.doc,a,this.editorView.dragging.slice);e!=null&&(a=e)}return a}dragover(e){if(!this.editorView.editable)return;this.lastDragEvent=e;let t=this.computeTarget(e);t!=null&&(this.setCursor(t),this.scheduleRemoval(5e3))}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}},Cv=wh.create({name:`dropCursor`,addOptions(){return{color:`currentColor`,width:1,class:void 0}},addProseMirrorPlugins(){return[xv(this.options)]}}),wv=class e extends Y{constructor(e){super(e,e)}map(t,n){let r=t.resolve(n.map(this.head));return e.valid(r)?new e(r):Y.near(r)}content(){return J.empty}eq(t){return t instanceof e&&t.head==this.head}toJSON(){return{type:`gapcursor`,pos:this.head}}static fromJSON(t,n){if(typeof n.pos!=`number`)throw RangeError(`Invalid input for GapCursor.fromJSON`);return new e(t.resolve(n.pos))}getBookmark(){return new Tv(this.anchor)}static valid(e){let t=e.parent;if(t.inlineContent||!Dv(e)||!Ov(e))return!1;let n=t.type.spec.allowGapCursor;if(n!=null)return n;let r=t.contentMatchAt(e.index()).defaultType;return r&&r.isTextblock}static findGapCursorFrom(t,n,r=!1){search:for(;;){if(!r&&e.valid(t))return t;let i=t.pos,a=null;for(let r=t.depth;;r--){let o=t.node(r);if(n>0?t.indexAfter(r)<o.childCount:t.index(r)>0){a=o.child(n>0?t.indexAfter(r):t.index(r)-1);break}else if(r==0)return null;i+=n;let s=t.doc.resolve(i);if(e.valid(s))return s}for(;;){let o=n>0?a.firstChild:a.lastChild;if(!o){if(a.isAtom&&!a.isText&&!Z.isSelectable(a)){t=t.doc.resolve(i+a.nodeSize*n),r=!1;continue search}break}a=o,i+=n;let s=t.doc.resolve(i);if(e.valid(s))return s}return null}}};wv.prototype.visible=!1,wv.findFrom=wv.findGapCursorFrom,Y.jsonID(`gapcursor`,wv);var Tv=class e{constructor(e){this.pos=e}map(t){return new e(t.map(this.pos))}resolve(e){let t=e.resolve(this.pos);return wv.valid(t)?new wv(t):Y.near(t)}};function Ev(e){return e.isAtom||e.spec.isolating||e.spec.createGapCursor}function Dv(e){for(let t=e.depth;t>=0;t--){let n=e.index(t),r=e.node(t);if(n==0){if(r.type.spec.isolating)return!0;continue}for(let e=r.child(n-1);;e=e.lastChild){if(e.childCount==0&&!e.inlineContent||Ev(e.type))return!0;if(e.inlineContent)return!1}}return!0}function Ov(e){for(let t=e.depth;t>=0;t--){let n=e.indexAfter(t),r=e.node(t);if(n==r.childCount){if(r.type.spec.isolating)return!0;continue}for(let e=r.child(n);;e=e.firstChild){if(e.childCount==0&&!e.inlineContent||Ev(e.type))return!0;if(e.inlineContent)return!1}}return!0}function kv(){return new ul({props:{decorations:Pv,createSelectionBetween(e,t,n){return t.pos==n.pos&&wv.valid(n)?new wv(n):null},handleClick:Mv,handleKeyDown:Av,handleDOMEvents:{beforeinput:Nv}}})}var Av=Zp({ArrowLeft:jv(`horiz`,-1),ArrowRight:jv(`horiz`,1),ArrowUp:jv(`vert`,-1),ArrowDown:jv(`vert`,1)});function jv(e,t){let n=e==`vert`?t>0?`down`:`up`:t>0?`right`:`left`;return function(e,r,i){let a=e.selection,o=t>0?a.$to:a.$from,s=a.empty;if(a instanceof X){if(!i.endOfTextblock(n)||o.depth==0)return!1;s=!1,o=e.doc.resolve(t>0?o.after():o.before())}let c=wv.findGapCursorFrom(o,t,s);return c?(r&&r(e.tr.setSelection(new wv(c))),!0):!1}}function Mv(e,t,n){if(!e||!e.editable)return!1;let r=e.state.doc.resolve(t);if(!wv.valid(r))return!1;let i=e.posAtCoords({left:n.clientX,top:n.clientY});return i&&i.inside>-1&&Z.isSelectable(e.state.doc.nodeAt(i.inside))?!1:(e.dispatch(e.state.tr.setSelection(new wv(r))),!0)}function Nv(e,t){if(t.inputType!=`insertCompositionText`||!(e.state.selection instanceof wv))return!1;let{$from:n}=e.state.selection,r=n.parent.contentMatchAt(n.index()).findWrapping(e.state.schema.nodes.text);if(!r)return!1;let i=K.empty;for(let e=r.length-1;e>=0;e--)i=K.from(r[e].createAndFill(null,i));let a=e.state.tr.replace(n.pos,n.pos,new J(i,0,0));return a.setSelection(X.near(a.doc.resolve(n.pos+1))),e.dispatch(a),!1}function Pv(e){if(!(e.selection instanceof wv))return null;let t=document.createElement(`div`);return t.className=`ProseMirror-gapcursor`,Zf.create(e.doc,[Jf.widget(e.selection.head,t,{key:`gapcursor`})])}var Fv=wh.create({name:`gapCursor`,addProseMirrorPlugins(){return[kv()]},extendNodeSchema(e){return{allowGapCursor:$(Q(e,`allowGapCursor`,{name:e.name,options:e.options,storage:e.storage}))??null}}}),Iv=E_.create({name:`hardBreak`,addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:`inline`,selectable:!1,linebreakReplacement:!0,parseHTML(){return[{tag:`br`}]},renderHTML({HTMLAttributes:e}){return[`br`,Jm(this.options.HTMLAttributes,e)]},renderText(){return`
|
|
100
|
-
`},addCommands(){return{setHardBreak:()=>({commands:e,chain:t,state:n,editor:r})=>e.first([()=>e.exitCode(),()=>e.command(()=>{let{selection:e,storedMarks:i}=n;if(e.$from.parent.type.spec.isolating)return!1;let{keepMarks:a}=this.options,{splittableMarks:o}=r.extensionManager,s=i||e.$to.parentOffset&&e.$from.marks();return t().insertContent({type:this.name}).command(({tr:e,dispatch:t})=>{if(t&&s&&a){let t=s.filter(e=>o.includes(e.type.name));e.ensureMarks(t)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),Lv=E_.create({name:`heading`,addOptions(){return{levels:[1,2,3,4,5,6],HTMLAttributes:{}}},content:`inline*`,group:`block`,defining:!0,addAttributes(){return{level:{default:1,rendered:!1}}},parseHTML(){return this.options.levels.map(e=>({tag:`h${e}`,attrs:{level:e}}))},renderHTML({node:e,HTMLAttributes:t}){return[`h${this.options.levels.includes(e.attrs.level)?e.attrs.level:this.options.levels[0]}`,Jm(this.options.HTMLAttributes,t),0]},addCommands(){return{setHeading:e=>({commands:t})=>this.options.levels.includes(e.level)?t.setNode(this.name,e):!1,toggleHeading:e=>({commands:t})=>this.options.levels.includes(e.level)?t.toggleNode(this.name,`paragraph`,e):!1}},addKeyboardShortcuts(){return this.options.levels.reduce((e,t)=>({...e,[`Mod-Alt-${t}`]:()=>this.editor.commands.toggleHeading({level:t})}),{})},addInputRules(){return this.options.levels.map(e=>w_({find:RegExp(`^(#{${Math.min(...this.options.levels)},${e}})\\s$`),type:this.type,getAttributes:{level:e}}))}}),Rv=200,zv=function(){};zv.prototype.append=function(e){return e.length?(e=zv.from(e),!this.length&&e||e.length<Rv&&this.leafAppend(e)||this.length<Rv&&e.leafPrepend(this)||this.appendInner(e)):this},zv.prototype.prepend=function(e){return e.length?zv.from(e).append(this):this},zv.prototype.appendInner=function(e){return new Vv(this,e)},zv.prototype.slice=function(e,t){return e===void 0&&(e=0),t===void 0&&(t=this.length),e>=t?zv.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,t))},zv.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)},zv.prototype.forEach=function(e,t,n){t===void 0&&(t=0),n===void 0&&(n=this.length),t<=n?this.forEachInner(e,t,n,0):this.forEachInvertedInner(e,t,n,0)},zv.prototype.map=function(e,t,n){t===void 0&&(t=0),n===void 0&&(n=this.length);var r=[];return this.forEach(function(t,n){return r.push(e(t,n))},t,n),r},zv.from=function(e){return e instanceof zv?e:e&&e.length?new Bv(e):zv.empty};var Bv=function(e){function t(t){e.call(this),this.values=t}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={length:{configurable:!0},depth:{configurable:!0}};return t.prototype.flatten=function(){return this.values},t.prototype.sliceInner=function(e,n){return e==0&&n==this.length?this:new t(this.values.slice(e,n))},t.prototype.getInner=function(e){return this.values[e]},t.prototype.forEachInner=function(e,t,n,r){for(var i=t;i<n;i++)if(e(this.values[i],r+i)===!1)return!1},t.prototype.forEachInvertedInner=function(e,t,n,r){for(var i=t-1;i>=n;i--)if(e(this.values[i],r+i)===!1)return!1},t.prototype.leafAppend=function(e){if(this.length+e.length<=Rv)return new t(this.values.concat(e.flatten()))},t.prototype.leafPrepend=function(e){if(this.length+e.length<=Rv)return new t(e.flatten().concat(this.values))},n.length.get=function(){return this.values.length},n.depth.get=function(){return 0},Object.defineProperties(t.prototype,n),t}(zv);zv.empty=new Bv([]);var Vv=function(e){function t(t,n){e.call(this),this.left=t,this.right=n,this.length=t.length+n.length,this.depth=Math.max(t.depth,n.depth)+1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},t.prototype.getInner=function(e){return e<this.left.length?this.left.get(e):this.right.get(e-this.left.length)},t.prototype.forEachInner=function(e,t,n,r){var i=this.left.length;if(t<i&&this.left.forEachInner(e,t,Math.min(n,i),r)===!1||n>i&&this.right.forEachInner(e,Math.max(t-i,0),Math.min(this.length,n)-i,r+i)===!1)return!1},t.prototype.forEachInvertedInner=function(e,t,n,r){var i=this.left.length;if(t>i&&this.right.forEachInvertedInner(e,t-i,Math.max(n,i)-i,r+i)===!1||n<i&&this.left.forEachInvertedInner(e,Math.min(t,i),n,r)===!1)return!1},t.prototype.sliceInner=function(e,t){if(e==0&&t==this.length)return this;var n=this.left.length;return t<=n?this.left.slice(e,t):e>=n?this.right.slice(e-n,t-n):this.left.slice(e,n).append(this.right.slice(0,t-n))},t.prototype.leafAppend=function(e){var n=this.right.leafAppend(e);if(n)return new t(this.left,n)},t.prototype.leafPrepend=function(e){var n=this.left.leafPrepend(e);if(n)return new t(n,this.right)},t.prototype.appendInner=function(e){return this.left.depth>=Math.max(this.right.depth,e.depth)+1?new t(this.left,new t(this.right,e)):new t(this,e)},t}(zv),Hv=500,Uv=class e{constructor(e,t){this.items=e,this.eventCount=t}popEvent(t,n){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--)if(this.items.get(r-1).selection){--r;break}let i,a;n&&(i=this.remapping(r,this.items.length),a=i.maps.length);let o=t.tr,s,c,l=[],u=[];return this.items.forEach((t,n)=>{if(!t.step){i||(i=this.remapping(r,n+1),a=i.maps.length),a--,u.push(t);return}if(i){u.push(new Gv(t.map));let e=t.step.map(i.slice(a)),n;e&&o.maybeStep(e).doc&&(n=o.mapping.maps[o.mapping.maps.length-1],l.push(new Gv(n,void 0,void 0,l.length+u.length))),a--,n&&i.appendMap(n,a)}else o.maybeStep(t.step);if(t.selection)return s=i?t.selection.map(i.slice(a)):t.selection,c=new e(this.items.slice(0,r).append(u.reverse().concat(l)),this.eventCount-1),!1},this.items.length,0),{remaining:c,transform:o,selection:s}}addTransform(t,n,r,i){let a=[],o=this.eventCount,s=this.items,c=!i&&s.length?s.get(s.length-1):null;for(let e=0;e<t.steps.length;e++){let r=t.steps[e].invert(t.docs[e]),l=new Gv(t.mapping.maps[e],r,n),u;(u=c&&c.merge(l))&&(l=u,e?a.pop():s=s.slice(0,s.length-1)),a.push(l),n&&=(o++,void 0),i||(c=l)}let l=o-r.depth;return l>qv&&(s=Wv(s,l),o-=l),new e(s.append(a),o)}remapping(e,t){let n=new Hs;return this.items.forEach((t,r)=>{let i=t.mirrorOffset!=null&&r-t.mirrorOffset>=e?n.maps.length-t.mirrorOffset:void 0;n.appendMap(t.map,i)},e,t),n}addMaps(t){return this.eventCount==0?this:new e(this.items.append(t.map(e=>new Gv(e))),this.eventCount)}rebased(t,n){if(!this.eventCount)return this;let r=[],i=Math.max(0,this.items.length-n),a=t.mapping,o=t.steps.length,s=this.eventCount;this.items.forEach(e=>{e.selection&&s--},i);let c=n;this.items.forEach(e=>{let n=a.getMirror(--c);if(n==null)return;o=Math.min(o,n);let i=a.maps[n];if(e.step){let o=t.steps[n].invert(t.docs[n]),l=e.selection&&e.selection.map(a.slice(c+1,n));l&&s++,r.push(new Gv(i,o,l))}else r.push(new Gv(i))},i);let l=[];for(let e=n;e<o;e++)l.push(new Gv(a.maps[e]));let u=this.items.slice(0,i).append(l).append(r),d=new e(u,s);return d.emptyItemCount()>Hv&&(d=d.compress(this.items.length-r.length)),d}emptyItemCount(){let e=0;return this.items.forEach(t=>{t.step||e++}),e}compress(t=this.items.length){let n=this.remapping(0,t),r=n.maps.length,i=[],a=0;return this.items.forEach((e,o)=>{if(o>=t)i.push(e),e.selection&&a++;else if(e.step){let t=e.step.map(n.slice(r)),o=t&&t.getMap();if(r--,o&&n.appendMap(o,r),t){let s=e.selection&&e.selection.map(n.slice(r));s&&a++;let c=new Gv(o.invert(),t,s),l,u=i.length-1;(l=i.length&&i[u].merge(c))?i[u]=l:i.push(c)}}else e.map&&r--},this.items.length,0),new e(zv.from(i.reverse()),a)}};Uv.empty=new Uv(zv.empty,0);function Wv(e,t){let n;return e.forEach((e,r)=>{if(e.selection&&t--==0)return n=r,!1}),e.slice(n)}var Gv=class e{constructor(e,t,n,r){this.map=e,this.step=t,this.selection=n,this.mirrorOffset=r}merge(t){if(this.step&&t.step&&!t.selection){let n=t.step.merge(this.step);if(n)return new e(n.getMap().invert(),n,this.selection)}}},Kv=class{constructor(e,t,n,r,i){this.done=e,this.undone=t,this.prevRanges=n,this.prevTime=r,this.prevComposition=i}},qv=20;function Jv(e,t,n,r){let i=n.getMeta(ny),a;if(i)return i.historyState;n.getMeta(ry)&&(e=new Kv(e.done,e.undone,null,0,-1));let o=n.getMeta(`appendedTransaction`);if(n.steps.length==0)return e;if(o&&o.getMeta(ny))return o.getMeta(ny).redo?new Kv(e.done.addTransform(n,void 0,r,ty(t)),e.undone,Xv(n.mapping.maps),e.prevTime,e.prevComposition):new Kv(e.done,e.undone.addTransform(n,void 0,r,ty(t)),null,e.prevTime,e.prevComposition);if(n.getMeta(`addToHistory`)!==!1&&!(o&&o.getMeta(`addToHistory`)===!1)){let i=n.getMeta(`composition`),a=e.prevTime==0||!o&&e.prevComposition!=i&&(e.prevTime<(n.time||0)-r.newGroupDelay||!Yv(n,e.prevRanges)),s=o?Zv(e.prevRanges,n.mapping):Xv(n.mapping.maps);return new Kv(e.done.addTransform(n,a?t.selection.getBookmark():void 0,r,ty(t)),Uv.empty,s,n.time,i??e.prevComposition)}else if(a=n.getMeta(`rebased`))return new Kv(e.done.rebased(n,a),e.undone.rebased(n,a),Zv(e.prevRanges,n.mapping),e.prevTime,e.prevComposition);else return new Kv(e.done.addMaps(n.mapping.maps),e.undone.addMaps(n.mapping.maps),Zv(e.prevRanges,n.mapping),e.prevTime,e.prevComposition)}function Yv(e,t){if(!t)return!1;if(!e.docChanged)return!0;let n=!1;return e.mapping.maps[0].forEach((e,r)=>{for(let i=0;i<t.length;i+=2)e<=t[i+1]&&r>=t[i]&&(n=!0)}),n}function Xv(e){let t=[];for(let n=e.length-1;n>=0&&t.length==0;n--)e[n].forEach((e,n,r,i)=>t.push(r,i));return t}function Zv(e,t){if(!e)return null;let n=[];for(let r=0;r<e.length;r+=2){let i=t.map(e[r],1),a=t.map(e[r+1],-1);i<=a&&n.push(i,a)}return n}function Qv(e,t,n){let r=ty(t),i=ny.get(t).spec.config,a=(n?e.undone:e.done).popEvent(t,r);if(!a)return null;let o=a.selection.resolve(a.transform.doc),s=(n?e.done:e.undone).addTransform(a.transform,t.selection.getBookmark(),i,r),c=new Kv(n?s:a.remaining,n?a.remaining:s,null,0,-1);return a.transform.setSelection(o).setMeta(ny,{redo:n,historyState:c})}var $v=!1,ey=null;function ty(e){let t=e.plugins;if(ey!=t){$v=!1,ey=t;for(let e=0;e<t.length;e++)if(t[e].spec.historyPreserveItems){$v=!0;break}}return $v}var ny=new pl(`history`),ry=new pl(`closeHistory`);function iy(e={}){return e={depth:e.depth||100,newGroupDelay:e.newGroupDelay||500},new ul({key:ny,state:{init(){return new Kv(Uv.empty,Uv.empty,null,0,-1)},apply(t,n,r){return Jv(n,r,t,e)}},config:e,props:{handleDOMEvents:{beforeinput(e,t){let n=t.inputType,r=n==`historyUndo`?oy:n==`historyRedo`?sy:null;return!r||!e.editable?!1:(t.preventDefault(),r(e.state,e.dispatch))}}}})}function ay(e,t){return(n,r)=>{let i=ny.getState(n);if(!i||(e?i.undone:i.done).eventCount==0)return!1;if(r){let a=Qv(i,n,e);a&&r(t?a.scrollIntoView():a)}return!0}}var oy=ay(!1,!0),sy=ay(!0,!0),cy=wh.create({name:`history`,addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:e,dispatch:t})=>oy(e,t),redo:()=>({state:e,dispatch:t})=>sy(e,t)}},addProseMirrorPlugins(){return[iy(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),ly=E_.create({name:`horizontalRule`,addOptions(){return{HTMLAttributes:{}}},group:`block`,parseHTML(){return[{tag:`hr`}]},renderHTML({HTMLAttributes:e}){return[`hr`,Jm(this.options.HTMLAttributes,e)]},addCommands(){return{setHorizontalRule:()=>({chain:e,state:t})=>{if(!O_(t,t.schema.nodes[this.name]))return!1;let{selection:n}=t,{$from:r,$to:i}=n,a=e();return r.parentOffset===0?a.insertContentAt({from:Math.max(r.pos-1,0),to:i.pos},{type:this.name}):Yg(n)?a.insertContentAt(i.pos,{type:this.name}):a.insertContent({type:this.name}),a.command(({tr:e,dispatch:t})=>{if(t){let{$to:t}=e.selection,n=t.end();if(t.nodeAfter)t.nodeAfter.isTextblock?e.setSelection(X.create(e.doc,t.pos+1)):t.nodeAfter.isBlock?e.setSelection(Z.create(e.doc,t.pos)):e.setSelection(X.create(e.doc,t.pos));else{let r=t.parent.type.contentMatch.defaultType?.create();r&&(e.insert(n,r),e.setSelection(X.create(e.doc,n+1)))}e.scrollIntoView()}return!0}).run()}}},addInputRules(){return[C_({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),uy=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,dy=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,fy=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,py=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,my=mh.create({name:`italic`,addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:`em`},{tag:`i`,getAttrs:e=>e.style.fontStyle!==`normal`&&null},{style:`font-style=normal`,clearMark:e=>e.type.name===this.name},{style:`font-style=italic`}]},renderHTML({HTMLAttributes:e}){return[`em`,Jm(this.options.HTMLAttributes,e),0]},addCommands(){return{setItalic:()=>({commands:e})=>e.setMark(this.name),toggleItalic:()=>({commands:e})=>e.toggleMark(this.name),unsetItalic:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[S_({find:uy,type:this.type}),S_({find:fy,type:this.type})]},addPasteRules(){return[D_({find:dy,type:this.type}),D_({find:py,type:this.type})]}}),hy=E_.create({name:`listItem`,addOptions(){return{HTMLAttributes:{},bulletListTypeName:`bulletList`,orderedListTypeName:`orderedList`}},content:`paragraph block*`,defining:!0,parseHTML(){return[{tag:`li`}]},renderHTML({HTMLAttributes:e}){return[`li`,Jm(this.options.HTMLAttributes,e),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),gy=`listItem`,_y=`textStyle`,vy=/^(\d+)\.\s$/,yy=E_.create({name:`orderedList`,addOptions(){return{itemTypeName:`listItem`,HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:`block list`,content(){return`${this.options.itemTypeName}+`},addAttributes(){return{start:{default:1,parseHTML:e=>e.hasAttribute(`start`)?parseInt(e.getAttribute(`start`)||``,10):1},type:{default:null,parseHTML:e=>e.getAttribute(`type`)}}},parseHTML(){return[{tag:`ol`}]},renderHTML({HTMLAttributes:e}){let{start:t,...n}=e;return t===1?[`ol`,Jm(this.options.HTMLAttributes,n),0]:[`ol`,Jm(this.options.HTMLAttributes,e),0]},addCommands(){return{toggleOrderedList:()=>({commands:e,chain:t})=>this.options.keepAttributes?t().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(gy,this.editor.getAttributes(_y)).run():e.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let e=T_({find:vy,type:this.type,getAttributes:e=>({start:+e[1]}),joinPredicate:(e,t)=>t.childCount+t.attrs.start===+e[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(e=T_({find:vy,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:e=>({start:+e[1],...this.editor.getAttributes(_y)}),joinPredicate:(e,t)=>t.childCount+t.attrs.start===+e[1],editor:this.editor})),[e]}}),by=E_.create({name:`paragraph`,priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:`block`,content:`inline*`,parseHTML(){return[{tag:`p`}]},renderHTML({HTMLAttributes:e}){return[`p`,Jm(this.options.HTMLAttributes,e),0]},addCommands(){return{setParagraph:()=>({commands:e})=>e.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),xy=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,Sy=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,Cy=mh.create({name:`strike`,addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:`s`},{tag:`del`},{tag:`strike`},{style:`text-decoration`,consuming:!1,getAttrs:e=>e.includes(`line-through`)?{}:!1}]},renderHTML({HTMLAttributes:e}){return[`s`,Jm(this.options.HTMLAttributes,e),0]},addCommands(){return{setStrike:()=>({commands:e})=>e.setMark(this.name),toggleStrike:()=>({commands:e})=>e.toggleMark(this.name),unsetStrike:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[S_({find:xy,type:this.type})]},addPasteRules(){return[D_({find:Sy,type:this.type})]}}),wy=E_.create({name:`text`,group:`inline`}),Ty=wh.create({name:`starterKit`,addExtensions(){let e=[];return this.options.bold!==!1&&e.push(lv.configure(this.options.bold)),this.options.blockquote!==!1&&e.push(iv.configure(this.options.blockquote)),this.options.bulletList!==!1&&e.push(pv.configure(this.options.bulletList)),this.options.code!==!1&&e.push(gv.configure(this.options.code)),this.options.codeBlock!==!1&&e.push(yv.configure(this.options.codeBlock)),this.options.document!==!1&&e.push(bv.configure(this.options.document)),this.options.dropcursor!==!1&&e.push(Cv.configure(this.options.dropcursor)),this.options.gapcursor!==!1&&e.push(Fv.configure(this.options.gapcursor)),this.options.hardBreak!==!1&&e.push(Iv.configure(this.options.hardBreak)),this.options.heading!==!1&&e.push(Lv.configure(this.options.heading)),this.options.history!==!1&&e.push(cy.configure(this.options.history)),this.options.horizontalRule!==!1&&e.push(ly.configure(this.options.horizontalRule)),this.options.italic!==!1&&e.push(my.configure(this.options.italic)),this.options.listItem!==!1&&e.push(hy.configure(this.options.listItem)),this.options.orderedList!==!1&&e.push(yy.configure(this.options.orderedList)),this.options.paragraph!==!1&&e.push(by.configure(this.options.paragraph)),this.options.strike!==!1&&e.push(Cy.configure(this.options.strike)),this.options.text!==!1&&e.push(wy.configure(this.options.text)),e}}),Ey={};function Dy(e){let t=Ey[e];if(t)return t;t=Ey[e]=[];for(let e=0;e<128;e++){let n=String.fromCharCode(e);t.push(n)}for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t[r]=`%`+(`0`+r.toString(16).toUpperCase()).slice(-2)}return t}function Oy(e,t){typeof t!=`string`&&(t=Oy.defaultChars);let n=Dy(t);return e.replace(/(%[a-f0-9]{2})+/gi,function(e){let t=``;for(let r=0,i=e.length;r<i;r+=3){let a=parseInt(e.slice(r+1,r+3),16);if(a<128){t+=n[a];continue}if((a&224)==192&&r+3<i){let n=parseInt(e.slice(r+4,r+6),16);if((n&192)==128){let e=a<<6&1984|n&63;e<128?t+=`��`:t+=String.fromCharCode(e),r+=3;continue}}if((a&240)==224&&r+6<i){let n=parseInt(e.slice(r+4,r+6),16),i=parseInt(e.slice(r+7,r+9),16);if((n&192)==128&&(i&192)==128){let e=a<<12&61440|n<<6&4032|i&63;e<2048||e>=55296&&e<=57343?t+=`���`:t+=String.fromCharCode(e),r+=6;continue}}if((a&248)==240&&r+9<i){let n=parseInt(e.slice(r+4,r+6),16),i=parseInt(e.slice(r+7,r+9),16),o=parseInt(e.slice(r+10,r+12),16);if((n&192)==128&&(i&192)==128&&(o&192)==128){let e=a<<18&1835008|n<<12&258048|i<<6&4032|o&63;e<65536||e>1114111?t+=`����`:(e-=65536,t+=String.fromCharCode(55296+(e>>10),56320+(e&1023))),r+=9;continue}}t+=`�`}return t})}Oy.defaultChars=`;/?:@&=+$,#`,Oy.componentChars=``;var ky={};function Ay(e){let t=ky[e];if(t)return t;t=ky[e]=[];for(let e=0;e<128;e++){let n=String.fromCharCode(e);/^[0-9a-z]$/i.test(n)?t.push(n):t.push(`%`+(`0`+e.toString(16).toUpperCase()).slice(-2))}for(let n=0;n<e.length;n++)t[e.charCodeAt(n)]=e[n];return t}function jy(e,t,n){typeof t!=`string`&&(n=t,t=jy.defaultChars),n===void 0&&(n=!0);let r=Ay(t),i=``;for(let t=0,a=e.length;t<a;t++){let o=e.charCodeAt(t);if(n&&o===37&&t+2<a&&/^[0-9a-f]{2}$/i.test(e.slice(t+1,t+3))){i+=e.slice(t,t+3),t+=2;continue}if(o<128){i+=r[o];continue}if(o>=55296&&o<=57343){if(o>=55296&&o<=56319&&t+1<a){let n=e.charCodeAt(t+1);if(n>=56320&&n<=57343){i+=encodeURIComponent(e[t]+e[t+1]),t++;continue}}i+=`%EF%BF%BD`;continue}i+=encodeURIComponent(e[t])}return i}jy.defaultChars=`;/?:@&=+$,-_.!~*'()#`,jy.componentChars=`-_.!~*'()`;function My(e){let t=``;return t+=e.protocol||``,t+=e.slashes?`//`:``,t+=e.auth?e.auth+`@`:``,e.hostname&&e.hostname.indexOf(`:`)!==-1?t+=`[`+e.hostname+`]`:t+=e.hostname||``,t+=e.port?`:`+e.port:``,t+=e.pathname||``,t+=e.search||``,t+=e.hash||``,t}function Ny(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var Py=/^([a-z0-9.+-]+:)/i,Fy=/:[0-9]*$/,Iy=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Ly=[`%`,`/`,`?`,`;`,`#`,`'`,`{`,`}`,`|`,`\\`,`^`,"`",`<`,`>`,`"`,"`",` `,`\r`,`
|
|
101
|
-
`,` `],Ry=[`/`,`?`,`#`],zy=255,By=/^[+a-z0-9A-Z_-]{0,63}$/,Vy=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Hy={javascript:!0,"javascript:":!0},Uy={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Wy(e,t){if(e&&e instanceof Ny)return e;let n=new Ny;return n.parse(e,t),n}Ny.prototype.parse=function(e,t){let n,r,i,a=e;if(a=a.trim(),!t&&e.split(`#`).length===1){let e=Iy.exec(a);if(e)return this.pathname=e[1],e[2]&&(this.search=e[2]),this}let o=Py.exec(a);if(o&&(o=o[0],n=o.toLowerCase(),this.protocol=o,a=a.substr(o.length)),(t||o||a.match(/^\/\/[^@\/]+@[^@\/]+/))&&(i=a.substr(0,2)===`//`,i&&!(o&&Hy[o])&&(a=a.substr(2),this.slashes=!0)),!Hy[o]&&(i||o&&!Uy[o])){let e=-1;for(let t=0;t<Ry.length;t++)r=a.indexOf(Ry[t]),r!==-1&&(e===-1||r<e)&&(e=r);let t,n;n=e===-1?a.lastIndexOf(`@`):a.lastIndexOf(`@`,e),n!==-1&&(t=a.slice(0,n),a=a.slice(n+1),this.auth=t),e=-1;for(let t=0;t<Ly.length;t++)r=a.indexOf(Ly[t]),r!==-1&&(e===-1||r<e)&&(e=r);e===-1&&(e=a.length),a[e-1]===`:`&&e--;let i=a.slice(0,e);a=a.slice(e),this.parseHost(i),this.hostname=this.hostname||``;let o=this.hostname[0]===`[`&&this.hostname[this.hostname.length-1]===`]`;if(!o){let e=this.hostname.split(/\./);for(let t=0,n=e.length;t<n;t++){let n=e[t];if(n&&!n.match(By)){let r=``;for(let e=0,t=n.length;e<t;e++)n.charCodeAt(e)>127?r+=`x`:r+=n[e];if(!r.match(By)){let r=e.slice(0,t),i=e.slice(t+1),o=n.match(Vy);o&&(r.push(o[1]),i.unshift(o[2])),i.length&&(a=i.join(`.`)+a),this.hostname=r.join(`.`);break}}}}this.hostname.length>zy&&(this.hostname=``),o&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}let s=a.indexOf(`#`);s!==-1&&(this.hash=a.substr(s),a=a.slice(0,s));let c=a.indexOf(`?`);return c!==-1&&(this.search=a.substr(c),a=a.slice(0,c)),a&&(this.pathname=a),Uy[n]&&this.hostname&&!this.pathname&&(this.pathname=``),this},Ny.prototype.parseHost=function(e){let t=Fy.exec(e);t&&(t=t[0],t!==`:`&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};var Gy=e({decode:()=>Oy,encode:()=>jy,format:()=>My,parse:()=>Wy}),Ky=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,qy=/[\0-\x1F\x7F-\x9F]/,Jy=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,Yy=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,Xy=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/,Zy=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,Qy=e({Any:()=>Ky,Cc:()=>qy,Cf:()=>Jy,P:()=>Yy,S:()=>Xy,Z:()=>Zy}),$y=new Uint16Array(`ᵁ<Õıʊҝջאٵ۞ޢߖࠏઑඡ༉༦ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲϏϢϸontourIntegraìȹoɴ\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲy;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱còJTabcdfgorstרׯؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ߂ߐĀiyޱrc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣসে্ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४ĀnrࢃgleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpwਖਛgȀLRlr৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼અઋp;椅y;䐜Ādl੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑඞcy;䐊cute;䅃ƀaeyહાron;䅇dil;䅅;䐝ƀgswે૰ativeƀMTV૨ediumSpace;怋hiĀcn૦ëeryThiîtedĀGLଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷreak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪௫ఄ಄ದൡඅ櫬Āoungruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater;EFGLSTஶஷ扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨setĀ;Eೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂෛ෧ขภยา฿ไlig;䅒cute耻Ó䃓Āiyීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲcr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬืde耻Õ䃕es;樷ml耻Ö䃖erĀBP๋Āar๐๓r;怾acĀek๚;揞et;掴arenthesis;揜ҀacfhilorsງຊຏຒດຝະrtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ檻cedesȀ;EST່້扺qual;檯lantEqual;扼ilde;找me;怳Ādpuct;戏ortionĀ;aȥl;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL憒ar;懥eftArrow;懄eiling;按oǵ\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄቕቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHcቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗ĀeiቻDzኀ\0ኇefore;戴a;䎘ĀcnኘkSpace;쀀 Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtèa;䎖r;愨pf;愤cr;쀀𝒵ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒;Eaeiopᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;eᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;eᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰᝃᝈ០៦ᠹᡐᜍ᥈ᥰot;櫭ĀcrᛶkȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;tbrk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯᝳ;䎲;愶een;扬r;쀀𝔟gcostuvwឍឝឳេ៕៛ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀakoᠦᠵĀcn៲ᠣkƀlst֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ;敛;敘;攘;攔;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģbar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;elƀ;bhᥨᥩᥫ䁜;槅sub;柈ŬᥴlĀ;e怢t»pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭒\0᯽\0ᰌƀcprᦲute;䄇̀;abcdsᦿᧀᧄ᧕᧙戩nd;橄rcup;橉Āau᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r;Ecefms᩠ᩢᩫ᪤᪪旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ\0\0aĀ;t䀬;䁀ƀ;fl戁îᅠeĀmxent»eóɍǧ\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯delprvw᭠᭬᭷ᮂᮬᯔarrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;pᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰻᰿ᱝᱩᱵᲞᲬᲷᴍᵻᶑᶫᶻ᷆᷍ròar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂᳖᳜᳠mƀ;oș᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄĀDoḆᴴoôĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»ṺƀaeiἒἚls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧\0耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₥₰₴⃰℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽ƀ;qsؾٌlanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqrⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0proør;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼ròòΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonóquigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roøurĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻\xA0ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨íistĀ;sடr;쀀𝔫ȀEest⩦⩹⩼ƀ;qs⩭ƀ;qs⩴lanôií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast⭕⭚⭟lleìl;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖchimpqu⮽⯍⯙⬄⯤⯯Ȁ;cerല⯆ഷ⯉uå;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭ååഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñĀ;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;cⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācrir;榿;쀀𝔬ͯ\0\0\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕⶥⶨrò᪀Āirⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔǒr;榷rp;榹;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ\0\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ脀¶;l䂶leìЃɩ\0\0m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳ᤈ⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t⾴ïrel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⋢⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔ABHabcdefhilmnoprstuxけさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstwガクシスゼゾダッデナp;極Ā;fゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ìâヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘rrowĀ;tㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowóarpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓ròaòՑ;怏oustĀ;a㈞掱che»mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì耻䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;qኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫwar;椪lig耻ß䃟㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rëƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproøim»ኬsðኞĀas㚺㚮ðrn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈadempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xôheadĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roðtré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜtré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌`.split(``).map(e=>e.charCodeAt(0))),eb=new Uint16Array(`Ȁaglq \x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢`.split(``).map(e=>e.charCodeAt(0))),tb=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),nb=String.fromCodePoint??function(e){let t=``;return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function rb(e){return e>=55296&&e<=57343||e>1114111?65533:tb.get(e)??e}var ib;(function(e){e[e.NUM=35]=`NUM`,e[e.SEMI=59]=`SEMI`,e[e.EQUALS=61]=`EQUALS`,e[e.ZERO=48]=`ZERO`,e[e.NINE=57]=`NINE`,e[e.LOWER_A=97]=`LOWER_A`,e[e.LOWER_F=102]=`LOWER_F`,e[e.LOWER_X=120]=`LOWER_X`,e[e.LOWER_Z=122]=`LOWER_Z`,e[e.UPPER_A=65]=`UPPER_A`,e[e.UPPER_F=70]=`UPPER_F`,e[e.UPPER_Z=90]=`UPPER_Z`})(ib||={});var ab=32,ob;(function(e){e[e.VALUE_LENGTH=49152]=`VALUE_LENGTH`,e[e.BRANCH_LENGTH=16256]=`BRANCH_LENGTH`,e[e.JUMP_TABLE=127]=`JUMP_TABLE`})(ob||={});function sb(e){return e>=ib.ZERO&&e<=ib.NINE}function cb(e){return e>=ib.UPPER_A&&e<=ib.UPPER_F||e>=ib.LOWER_A&&e<=ib.LOWER_F}function lb(e){return e>=ib.UPPER_A&&e<=ib.UPPER_Z||e>=ib.LOWER_A&&e<=ib.LOWER_Z||sb(e)}function ub(e){return e===ib.EQUALS||lb(e)}var db;(function(e){e[e.EntityStart=0]=`EntityStart`,e[e.NumericStart=1]=`NumericStart`,e[e.NumericDecimal=2]=`NumericDecimal`,e[e.NumericHex=3]=`NumericHex`,e[e.NamedEntity=4]=`NamedEntity`})(db||={});var fb;(function(e){e[e.Legacy=0]=`Legacy`,e[e.Strict=1]=`Strict`,e[e.Attribute=2]=`Attribute`})(fb||={});var pb=class{constructor(e,t,n){this.decodeTree=e,this.emitCodePoint=t,this.errors=n,this.state=db.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=fb.Strict}startEntity(e){this.decodeMode=e,this.state=db.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,t){switch(this.state){case db.EntityStart:return e.charCodeAt(t)===ib.NUM?(this.state=db.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=db.NamedEntity,this.stateNamedEntity(e,t));case db.NumericStart:return this.stateNumericStart(e,t);case db.NumericDecimal:return this.stateNumericDecimal(e,t);case db.NumericHex:return this.stateNumericHex(e,t);case db.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(e.charCodeAt(t)|ab)===ib.LOWER_X?(this.state=db.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=db.NumericDecimal,this.stateNumericDecimal(e,t))}addToNumericResult(e,t,n,r){if(t!==n){let i=n-t;this.result=this.result*r**+i+parseInt(e.substr(t,i),r),this.consumed+=i}}stateNumericHex(e,t){let n=t;for(;t<e.length;){let r=e.charCodeAt(t);if(sb(r)||cb(r))t+=1;else return this.addToNumericResult(e,n,t,16),this.emitNumericEntity(r,3)}return this.addToNumericResult(e,n,t,16),-1}stateNumericDecimal(e,t){let n=t;for(;t<e.length;){let r=e.charCodeAt(t);if(sb(r))t+=1;else return this.addToNumericResult(e,n,t,10),this.emitNumericEntity(r,2)}return this.addToNumericResult(e,n,t,10),-1}emitNumericEntity(e,t){var n;if(this.consumed<=t)return(n=this.errors)==null||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(e===ib.SEMI)this.consumed+=1;else if(this.decodeMode===fb.Strict)return 0;return this.emitCodePoint(rb(this.result),this.consumed),this.errors&&(e!==ib.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(e,t){let{decodeTree:n}=this,r=n[this.treeIndex],i=(r&ob.VALUE_LENGTH)>>14;for(;t<e.length;t++,this.excess++){let a=e.charCodeAt(t);if(this.treeIndex=hb(n,r,this.treeIndex+Math.max(1,i),a),this.treeIndex<0)return this.result===0||this.decodeMode===fb.Attribute&&(i===0||ub(a))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],i=(r&ob.VALUE_LENGTH)>>14,i!==0){if(a===ib.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==fb.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:t,decodeTree:n}=this,r=(n[t]&ob.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,r,this.consumed),(e=this.errors)==null||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,n){let{decodeTree:r}=this;return this.emitCodePoint(t===1?r[e]&~ob.VALUE_LENGTH:r[e+1],n),t===3&&this.emitCodePoint(r[e+2],n),n}end(){var e;switch(this.state){case db.NamedEntity:return this.result!==0&&(this.decodeMode!==fb.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case db.NumericDecimal:return this.emitNumericEntity(0,2);case db.NumericHex:return this.emitNumericEntity(0,3);case db.NumericStart:return(e=this.errors)==null||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case db.EntityStart:return 0}}};function mb(e){let t=``,n=new pb(e,e=>t+=nb(e));return function(e,r){let i=0,a=0;for(;(a=e.indexOf(`&`,a))>=0;){t+=e.slice(i,a),n.startEntity(r);let o=n.write(e,a+1);if(o<0){i=a+n.end();break}i=a+o,a=o===0?i+1:i}let o=t+e.slice(i);return t=``,o}}function hb(e,t,n,r){let i=(t&ob.BRANCH_LENGTH)>>7,a=t&ob.JUMP_TABLE;if(i===0)return a!==0&&r===a?n:-1;if(a){let t=r-a;return t<0||t>=i?-1:e[n+t]-1}let o=n,s=o+i-1;for(;o<=s;){let t=o+s>>>1,n=e[t];if(n<r)o=t+1;else if(n>r)s=t-1;else return e[t+i]}return-1}var gb=mb($y);mb(eb);function _b(e,t=fb.Legacy){return gb(e,t)}function vb(e){return gb(e,fb.Strict)}var yb=e({arrayReplaceAt:()=>Tb,asciiTrim:()=>Jb,assign:()=>wb,escapeHtml:()=>Rb,escapeRE:()=>Bb,fromCodePoint:()=>Db,has:()=>Cb,isMdAsciiPunct:()=>Gb,isPunctChar:()=>Ub,isPunctCharCode:()=>Wb,isSpace:()=>Vb,isString:()=>xb,isValidEntityCode:()=>Eb,isWhiteSpace:()=>Hb,lib:()=>Yb,normalizeReference:()=>Kb,unescapeAll:()=>Nb,unescapeMd:()=>Mb});function bb(e){return Object.prototype.toString.call(e)}function xb(e){return bb(e)===`[object String]`}var Sb=Object.prototype.hasOwnProperty;function Cb(e,t){return Sb.call(e,t)}function wb(e){return Array.prototype.slice.call(arguments,1).forEach(function(t){if(t){if(typeof t!=`object`)throw TypeError(t+`must be object`);Object.keys(t).forEach(function(n){e[n]=t[n]})}}),e}function Tb(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function Eb(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)==65535||(e&65535)==65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function Db(e){if(e>65535){e-=65536;let t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var Ob=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,kb=RegExp(Ob.source+`|&([a-z#][a-z0-9]{1,31});`,`gi`),Ab=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function jb(e,t){if(t.charCodeAt(0)===35&&Ab.test(t)){let n=t[1].toLowerCase()===`x`?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return Eb(n)?Db(n):e}let n=_b(e);return n===e?e:n}function Mb(e){return e.indexOf(`\\`)<0?e:e.replace(Ob,`$1`)}function Nb(e){return e.indexOf(`\\`)<0&&e.indexOf(`&`)<0?e:e.replace(kb,function(e,t,n){return t||jb(e,n)})}var Pb=/[&<>"]/,Fb=/[&<>"]/g,Ib={"&":`&`,"<":`<`,">":`>`,'"':`"`};function Lb(e){return Ib[e]}function Rb(e){return Pb.test(e)?e.replace(Fb,Lb):e}var zb=/[.?*+^$[\]\\(){}|-]/g;function Bb(e){return e.replace(zb,`\\$&`)}function Vb(e){switch(e){case 9:case 32:return!0}return!1}function Hb(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function Ub(e){return Yy.test(e)||Xy.test(e)}function Wb(e){return Ub(Db(e))}function Gb(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function Kb(e){return e=e.trim().replace(/\s+/g,` `),e.toLowerCase().toUpperCase()}function qb(e){return e===32||e===9||e===10||e===13}function Jb(e){let t=0;for(;t<e.length&&qb(e.charCodeAt(t));t++);let n=e.length-1;for(;n>=t&&qb(e.charCodeAt(n));n--);return e.slice(t,n+1)}var Yb={mdurl:Gy,ucmicro:Qy};function Xb(e,t,n){let r,i,a,o,s=e.posMax,c=e.pos;for(e.pos=t+1,r=1;e.pos<s;){if(a=e.src.charCodeAt(e.pos),a===93&&(r--,r===0)){i=!0;break}if(o=e.pos,e.md.inline.skipToken(e),a===91){if(o===e.pos-1)r++;else if(n)return e.pos=c,-1}}let l=-1;return i&&(l=e.pos),e.pos=c,l}function Zb(e,t,n){let r,i=t,a={ok:!1,pos:0,str:``};if(e.charCodeAt(i)===60){for(i++;i<n;){if(r=e.charCodeAt(i),r===10||r===60)return a;if(r===62)return a.pos=i+1,a.str=Nb(e.slice(t+1,i)),a.ok=!0,a;if(r===92&&i+1<n){i+=2;continue}i++}return a}let o=0;for(;i<n&&(r=e.charCodeAt(i),!(r===32||r<32||r===127));){if(r===92&&i+1<n){if(e.charCodeAt(i+1)===32)break;i+=2;continue}if(r===40&&(o++,o>32))return a;if(r===41){if(o===0)break;o--}i++}return t===i||o!==0?a:(a.str=Nb(e.slice(t,i)),a.pos=i,a.ok=!0,a)}function Qb(e,t,n,r){let i,a=t,o={ok:!1,can_continue:!1,pos:0,str:``,marker:0};if(r)o.str=r.str,o.marker=r.marker;else{if(a>=n)return o;let r=e.charCodeAt(a);if(r!==34&&r!==39&&r!==40)return o;t++,a++,r===40&&(r=41),o.marker=r}for(;a<n;){if(i=e.charCodeAt(a),i===o.marker)return o.pos=a+1,o.str+=Nb(e.slice(t,a)),o.ok=!0,o;if(i===40&&o.marker===41)return o;i===92&&a+1<n&&a++,a++}return o.can_continue=!0,o.str+=Nb(e.slice(t,a)),o}var $b=e({parseLinkDestination:()=>Zb,parseLinkLabel:()=>Xb,parseLinkTitle:()=>Qb}),ex={};ex.code_inline=function(e,t,n,r,i){let a=e[t];return`<code`+i.renderAttrs(a)+`>`+Rb(a.content)+`</code>`},ex.code_block=function(e,t,n,r,i){let a=e[t];return`<pre`+i.renderAttrs(a)+`><code>`+Rb(e[t].content)+`</code></pre>
|
|
102
|
-
`},ex.fence=function(e,t,n,r,i){let a=e[t],o=a.info?Nb(a.info).trim():``,s=``,c=``;if(o){let e=o.split(/(\s+)/g);s=e[0],c=e.slice(2).join(``)}let l;if(l=n.highlight&&n.highlight(a.content,s,c)||Rb(a.content),l.indexOf(`<pre`)===0)return l+`
|
|
103
|
-
`;if(o){let e=a.attrIndex(`class`),t=a.attrs?a.attrs.slice():[];e<0?t.push([`class`,n.langPrefix+s]):(t[e]=t[e].slice(),t[e][1]+=` `+n.langPrefix+s);let r={attrs:t};return`<pre><code${i.renderAttrs(r)}>${l}</code></pre>\n`}return`<pre><code${i.renderAttrs(a)}>${l}</code></pre>\n`},ex.image=function(e,t,n,r,i){let a=e[t];return a.attrs[a.attrIndex(`alt`)][1]=i.renderInlineAsText(a.children,n,r),i.renderToken(e,t,n)},ex.hardbreak=function(e,t,n){return n.xhtmlOut?`<br />
|
|
104
|
-
`:`<br>
|
|
105
|
-
`},ex.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`<br />
|
|
106
|
-
`:`<br>
|
|
107
|
-
`:`
|
|
108
|
-
`},ex.text=function(e,t){return Rb(e[t].content)},ex.html_block=function(e,t){return e[t].content},ex.html_inline=function(e,t){return e[t].content};function tx(){this.rules=wb({},ex)}tx.prototype.renderAttrs=function(e){let t,n,r;if(!e.attrs)return``;for(r=``,t=0,n=e.attrs.length;t<n;t++)r+=` `+Rb(e.attrs[t][0])+`="`+Rb(e.attrs[t][1])+`"`;return r},tx.prototype.renderToken=function(e,t,n){let r=e[t],i=``;if(r.hidden)return``;r.block&&r.nesting!==-1&&t&&e[t-1].hidden&&(i+=`
|
|
109
|
-
`),i+=(r.nesting===-1?`</`:`<`)+r.tag,i+=this.renderAttrs(r),r.nesting===0&&n.xhtmlOut&&(i+=` /`);let a=!1;if(r.block&&(a=!0,r.nesting===1&&t+1<e.length)){let n=e[t+1];(n.type===`inline`||n.hidden||n.nesting===-1&&n.tag===r.tag)&&(a=!1)}return i+=a?`>
|
|
110
|
-
`:`>`,i},tx.prototype.renderInline=function(e,t,n){let r=``,i=this.rules;for(let a=0,o=e.length;a<o;a++){let o=e[a].type;i[o]===void 0?r+=this.renderToken(e,a,t):r+=i[o](e,a,t,n,this)}return r},tx.prototype.renderInlineAsText=function(e,t,n){let r=``;for(let i=0,a=e.length;i<a;i++)switch(e[i].type){case`text`:r+=e[i].content;break;case`image`:r+=this.renderInlineAsText(e[i].children,t,n);break;case`html_inline`:case`html_block`:r+=e[i].content;break;case`softbreak`:case`hardbreak`:r+=`
|
|
111
|
-
`;break;default:}return r},tx.prototype.render=function(e,t,n){let r=``,i=this.rules;for(let a=0,o=e.length;a<o;a++){let o=e[a].type;o===`inline`?r+=this.renderInline(e[a].children,t,n):i[o]===void 0?r+=this.renderToken(e,a,t,n):r+=i[o](e,a,t,n,this)}return r};function nx(){this.__rules__=[],this.__cache__=null}nx.prototype.__find__=function(e){for(let t=0;t<this.__rules__.length;t++)if(this.__rules__[t].name===e)return t;return-1},nx.prototype.__compile__=function(){let e=this,t=[``];e.__rules__.forEach(function(e){e.enabled&&e.alt.forEach(function(e){t.indexOf(e)<0&&t.push(e)})}),e.__cache__={},t.forEach(function(t){e.__cache__[t]=[],e.__rules__.forEach(function(n){n.enabled&&(t&&n.alt.indexOf(t)<0||e.__cache__[t].push(n.fn))})})},nx.prototype.at=function(e,t,n){let r=this.__find__(e),i=n||{};if(r===-1)throw Error(`Parser rule not found: `+e);this.__rules__[r].fn=t,this.__rules__[r].alt=i.alt||[],this.__cache__=null},nx.prototype.before=function(e,t,n,r){let i=this.__find__(e),a=r||{};if(i===-1)throw Error(`Parser rule not found: `+e);this.__rules__.splice(i,0,{name:t,enabled:!0,fn:n,alt:a.alt||[]}),this.__cache__=null},nx.prototype.after=function(e,t,n,r){let i=this.__find__(e),a=r||{};if(i===-1)throw Error(`Parser rule not found: `+e);this.__rules__.splice(i+1,0,{name:t,enabled:!0,fn:n,alt:a.alt||[]}),this.__cache__=null},nx.prototype.push=function(e,t,n){let r=n||{};this.__rules__.push({name:e,enabled:!0,fn:t,alt:r.alt||[]}),this.__cache__=null},nx.prototype.enable=function(e,t){Array.isArray(e)||(e=[e]);let n=[];return e.forEach(function(e){let r=this.__find__(e);if(r<0){if(t)return;throw Error(`Rules manager: invalid rule name `+e)}this.__rules__[r].enabled=!0,n.push(e)},this),this.__cache__=null,n},nx.prototype.enableOnly=function(e,t){Array.isArray(e)||(e=[e]),this.__rules__.forEach(function(e){e.enabled=!1}),this.enable(e,t)},nx.prototype.disable=function(e,t){Array.isArray(e)||(e=[e]);let n=[];return e.forEach(function(e){let r=this.__find__(e);if(r<0){if(t)return;throw Error(`Rules manager: invalid rule name `+e)}this.__rules__[r].enabled=!1,n.push(e)},this),this.__cache__=null,n},nx.prototype.getRules=function(e){return this.__cache__===null&&this.__compile__(),this.__cache__[e]||[]};function rx(e,t,n){this.type=e,this.tag=t,this.attrs=null,this.map=null,this.nesting=n,this.level=0,this.children=null,this.content=``,this.markup=``,this.info=``,this.meta=null,this.block=!1,this.hidden=!1}rx.prototype.attrIndex=function(e){if(!this.attrs)return-1;let t=this.attrs;for(let n=0,r=t.length;n<r;n++)if(t[n][0]===e)return n;return-1},rx.prototype.attrPush=function(e){this.attrs?this.attrs.push(e):this.attrs=[e]},rx.prototype.attrSet=function(e,t){let n=this.attrIndex(e),r=[e,t];n<0?this.attrPush(r):this.attrs[n]=r},rx.prototype.attrGet=function(e){let t=this.attrIndex(e),n=null;return t>=0&&(n=this.attrs[t][1]),n},rx.prototype.attrJoin=function(e,t){let n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=this.attrs[n][1]+` `+t};function ix(e,t,n){this.src=e,this.env=n,this.tokens=[],this.inlineMode=!1,this.md=t}ix.prototype.Token=rx;var ax=/\r\n?|\n/g,ox=/\0/g;function sx(e){let t;t=e.src.replace(ax,`
|
|
112
|
-
`),t=t.replace(ox,`�`),e.src=t}function cx(e){let t;e.inlineMode?(t=new e.Token(`inline`,``,0),t.content=e.src,t.map=[0,1],t.children=[],e.tokens.push(t)):e.md.block.parse(e.src,e.md,e.env,e.tokens)}function lx(e){let t=e.tokens;for(let n=0,r=t.length;n<r;n++){let r=t[n];r.type===`inline`&&e.md.inline.parse(r.content,e.md,e.env,r.children)}}function ux(e){return/^<a[>\s]/i.test(e)}function dx(e){return/^<\/a\s*>/i.test(e)}function fx(e){let t=e.tokens;if(e.md.options.linkify)for(let n=0,r=t.length;n<r;n++){if(t[n].type!==`inline`||!e.md.linkify.pretest(t[n].content))continue;let r=t[n].children,i=0;for(let a=r.length-1;a>=0;a--){let o=r[a];if(o.type===`link_close`){for(a--;r[a].level!==o.level&&r[a].type!==`link_open`;)a--;continue}if(o.type===`html_inline`&&(ux(o.content)&&i>0&&i--,dx(o.content)&&i++),!(i>0)&&o.type===`text`&&e.md.linkify.test(o.content)){let i=o.content,s=e.md.linkify.match(i),c=[],l=o.level,u=0;s.length>0&&s[0].index===0&&a>0&&r[a-1].type===`text_special`&&(s=s.slice(1));for(let t=0;t<s.length;t++){let n=s[t].url,r=e.md.normalizeLink(n);if(!e.md.validateLink(r))continue;let a=s[t].text;a=s[t].schema?s[t].schema===`mailto:`&&!/^mailto:/i.test(a)?e.md.normalizeLinkText(`mailto:`+a).replace(/^mailto:/,``):e.md.normalizeLinkText(a):e.md.normalizeLinkText(`http://`+a).replace(/^http:\/\//,``);let o=s[t].index;if(o>u){let t=new e.Token(`text`,``,0);t.content=i.slice(u,o),t.level=l,c.push(t)}let d=new e.Token(`link_open`,`a`,1);d.attrs=[[`href`,r]],d.level=l++,d.markup=`linkify`,d.info=`auto`,c.push(d);let f=new e.Token(`text`,``,0);f.content=a,f.level=l,c.push(f);let p=new e.Token(`link_close`,`a`,-1);p.level=--l,p.markup=`linkify`,p.info=`auto`,c.push(p),u=s[t].lastIndex}if(u<i.length){let t=new e.Token(`text`,``,0);t.content=i.slice(u),t.level=l,c.push(t)}t[n].children=r=Tb(r,a,c)}}}}var px=/\+-|\.\.|\?\?\?\?|!!!!|,,|--/,mx=/\((c|tm|r)\)/i,hx=/\((c|tm|r)\)/gi,gx={c:`©`,r:`®`,tm:`™`};function _x(e,t){return gx[t.toLowerCase()]}function vx(e){let t=0;for(let n=e.length-1;n>=0;n--){let r=e[n];r.type===`text`&&!t&&(r.content=r.content.replace(hx,_x)),r.type===`link_open`&&r.info===`auto`&&t--,r.type===`link_close`&&r.info===`auto`&&t++}}function yx(e){let t=0;for(let n=e.length-1;n>=0;n--){let r=e[n];r.type===`text`&&!t&&px.test(r.content)&&(r.content=r.content.replace(/\+-/g,`±`).replace(/\.{2,}/g,`…`).replace(/([?!])…/g,`$1..`).replace(/([?!]){4,}/g,`$1$1$1`).replace(/,{2,}/g,`,`).replace(/(^|[^-])---(?=[^-]|$)/gm,`$1—`).replace(/(^|\s)--(?=\s|$)/gm,`$1–`).replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,`$1–`)),r.type===`link_open`&&r.info===`auto`&&t--,r.type===`link_close`&&r.info===`auto`&&t++}}function bx(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type===`inline`&&(mx.test(e.tokens[t].content)&&vx(e.tokens[t].children),px.test(e.tokens[t].content)&&yx(e.tokens[t].children))}var xx=/['"]/,Sx=/['"]/g,Cx=`’`;function wx(e,t,n,r){e[t]||(e[t]=[]),e[t].push({pos:n,ch:r})}function Tx(e,t){let n=``,r=0;t.sort((e,t)=>e.pos-t.pos);for(let i=0;i<t.length;i++){let a=t[i];n+=e.slice(r,a.pos)+a.ch,r=a.pos+1}return n+e.slice(r)}function Ex(e,t){let n,r=[],i={};for(let a=0;a<e.length;a++){let o=e[a],s=e[a].level;for(n=r.length-1;n>=0&&!(r[n].level<=s);n--);if(r.length=n+1,o.type!==`text`)continue;let c=o.content,l=0,u=c.length;OUTER:for(;l<u;){Sx.lastIndex=l;let o=Sx.exec(c);if(!o)break;let d=!0,f=!0;l=o.index+1;let p=o[0]===`'`,m=32;if(o.index-1>=0)m=c.charCodeAt(o.index-1);else for(n=a-1;n>=0&&!(e[n].type===`softbreak`||e[n].type===`hardbreak`);n--)if(e[n].content){m=e[n].content.charCodeAt(e[n].content.length-1);break}let h=32;if(l<u)h=c.charCodeAt(l);else for(n=a+1;n<e.length&&!(e[n].type===`softbreak`||e[n].type===`hardbreak`);n++)if(e[n].content){h=e[n].content.charCodeAt(0);break}let g=Gb(m)||Wb(m),_=Gb(h)||Wb(h),v=Hb(m),y=Hb(h);if(y?d=!1:_&&(v||g||(d=!1)),v?f=!1:g&&(y||_||(f=!1)),h===34&&o[0]===`"`&&m>=48&&m<=57&&(f=d=!1),d&&f&&(d=g,f=_),!d&&!f){p&&wx(i,a,o.index,Cx);continue}if(f)for(n=r.length-1;n>=0;n--){let e=r[n];if(r[n].level<s)break;if(e.single===p&&r[n].level===s){e=r[n];let s,c;p?(s=t.md.options.quotes[2],c=t.md.options.quotes[3]):(s=t.md.options.quotes[0],c=t.md.options.quotes[1]),wx(i,a,o.index,c),wx(i,e.token,e.pos,s),r.length=n;continue OUTER}}d?r.push({token:a,pos:o.index,single:p,level:s}):f&&p&&wx(i,a,o.index,Cx)}}Object.keys(i).forEach(function(t){e[t].content=Tx(e[t].content,i[t])})}function Dx(e){if(e.md.options.typographer)for(let t=e.tokens.length-1;t>=0;t--)e.tokens[t].type!==`inline`||!xx.test(e.tokens[t].content)||Ex(e.tokens[t].children,e)}function Ox(e){let t,n,r=e.tokens,i=r.length;for(let e=0;e<i;e++){if(r[e].type!==`inline`)continue;let i=r[e].children,a=i.length;for(t=0;t<a;t++)i[t].type===`text_special`&&(i[t].type=`text`);for(t=n=0;t<a;t++)i[t].type===`text`&&t+1<a&&i[t+1].type===`text`?i[t+1].content=i[t].content+i[t+1].content:(t!==n&&(i[n]=i[t]),n++);t!==n&&(i.length=n)}}var kx=[[`normalize`,sx],[`block`,cx],[`inline`,lx],[`linkify`,fx],[`replacements`,bx],[`smartquotes`,Dx],[`text_join`,Ox]];function Ax(){this.ruler=new nx;for(let e=0;e<kx.length;e++)this.ruler.push(kx[e][0],kx[e][1])}Ax.prototype.process=function(e){let t=this.ruler.getRules(``);for(let n=0,r=t.length;n<r;n++)t[n](e)},Ax.prototype.State=ix;function jx(e,t,n,r){this.src=e,this.md=t,this.env=n,this.tokens=r,this.bMarks=[],this.eMarks=[],this.tShift=[],this.sCount=[],this.bsCount=[],this.blkIndent=0,this.line=0,this.lineMax=0,this.tight=!1,this.ddIndent=-1,this.listIndent=-1,this.parentType=`root`,this.level=0;let i=this.src;for(let e=0,t=0,n=0,r=0,a=i.length,o=!1;t<a;t++){let s=i.charCodeAt(t);if(!o)if(Vb(s)){n++,s===9?r+=4-r%4:r++;continue}else o=!0;(s===10||t===a-1)&&(s!==10&&t++,this.bMarks.push(e),this.eMarks.push(t),this.tShift.push(n),this.sCount.push(r),this.bsCount.push(0),o=!1,n=0,r=0,e=t+1)}this.bMarks.push(i.length),this.eMarks.push(i.length),this.tShift.push(0),this.sCount.push(0),this.bsCount.push(0),this.lineMax=this.bMarks.length-1}jx.prototype.push=function(e,t,n){let r=new rx(e,t,n);return r.block=!0,n<0&&this.level--,r.level=this.level,n>0&&this.level++,this.tokens.push(r),r},jx.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]},jx.prototype.skipEmptyLines=function(e){for(let t=this.lineMax;e<t&&!(this.bMarks[e]+this.tShift[e]<this.eMarks[e]);e++);return e},jx.prototype.skipSpaces=function(e){for(let t=this.src.length;e<t&&Vb(this.src.charCodeAt(e));e++);return e},jx.prototype.skipSpacesBack=function(e,t){if(e<=t)return e;for(;e>t;)if(!Vb(this.src.charCodeAt(--e)))return e+1;return e},jx.prototype.skipChars=function(e,t){for(let n=this.src.length;e<n&&this.src.charCodeAt(e)===t;e++);return e},jx.prototype.skipCharsBack=function(e,t,n){if(e<=n)return e;for(;e>n;)if(t!==this.src.charCodeAt(--e))return e+1;return e},jx.prototype.getLines=function(e,t,n,r){if(e>=t)return``;let i=Array(t-e);for(let a=0,o=e;o<t;o++,a++){let e=0,s=this.bMarks[o],c=s,l;for(l=o+1<t||r?this.eMarks[o]+1:this.eMarks[o];c<l&&e<n;){let t=this.src.charCodeAt(c);if(Vb(t))t===9?e+=4-(e+this.bsCount[o])%4:e++;else if(c-s<this.tShift[o])e++;else break;c++}e>n?i[a]=Array(e-n+1).join(` `)+this.src.slice(c,l):i[a]=this.src.slice(c,l)}return i.join(``)},jx.prototype.Token=rx;var Mx=65536;function Nx(e,t){let n=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];return e.src.slice(n,r)}function Px(e){let t=[],n=e.length,r=0,i=e.charCodeAt(r),a=!1,o=0,s=``;for(;r<n;)i===124&&(a?(s+=e.substring(o,r-1),o=r):(t.push(s+e.substring(o,r)),s=``,o=r+1)),a=i===92,r++,i=e.charCodeAt(r);return t.push(s+e.substring(o)),t}function Fx(e,t,n,r){if(t+2>n)return!1;let i=t+1;if(e.sCount[i]<e.blkIndent||e.sCount[i]-e.blkIndent>=4)return!1;let a=e.bMarks[i]+e.tShift[i];if(a>=e.eMarks[i])return!1;let o=e.src.charCodeAt(a++);if(o!==124&&o!==45&&o!==58||a>=e.eMarks[i])return!1;let s=e.src.charCodeAt(a++);if(s!==124&&s!==45&&s!==58&&!Vb(s)||o===45&&Vb(s))return!1;for(;a<e.eMarks[i];){let t=e.src.charCodeAt(a);if(t!==124&&t!==45&&t!==58&&!Vb(t))return!1;a++}let c=Nx(e,t+1),l=c.split(`|`),u=[];for(let e=0;e<l.length;e++){let t=l[e].trim();if(!t){if(e===0||e===l.length-1)continue;return!1}if(!/^:?-+:?$/.test(t))return!1;t.charCodeAt(t.length-1)===58?u.push(t.charCodeAt(0)===58?`center`:`right`):t.charCodeAt(0)===58?u.push(`left`):u.push(``)}if(c=Nx(e,t).trim(),c.indexOf(`|`)===-1||e.sCount[t]-e.blkIndent>=4)return!1;l=Px(c),l.length&&l[0]===``&&l.shift(),l.length&&l[l.length-1]===``&&l.pop();let d=l.length;if(d===0||d!==u.length)return!1;if(r)return!0;let f=e.parentType;e.parentType=`table`;let p=e.md.block.ruler.getRules(`blockquote`),m=e.push(`table_open`,`table`,1),h=[t,0];m.map=h;let g=e.push(`thead_open`,`thead`,1);g.map=[t,t+1];let _=e.push(`tr_open`,`tr`,1);_.map=[t,t+1];for(let t=0;t<l.length;t++){let n=e.push(`th_open`,`th`,1);u[t]&&(n.attrs=[[`style`,`text-align:`+u[t]]]);let r=e.push(`inline`,``,0);r.content=l[t].trim(),r.children=[],e.push(`th_close`,`th`,-1)}e.push(`tr_close`,`tr`,-1),e.push(`thead_close`,`thead`,-1);let v,y=0;for(i=t+2;i<n&&!(e.sCount[i]<e.blkIndent);i++){let r=!1;for(let t=0,a=p.length;t<a;t++)if(p[t](e,i,n,!0)){r=!0;break}if(r||(c=Nx(e,i).trim(),!c)||e.sCount[i]-e.blkIndent>=4||(l=Px(c),l.length&&l[0]===``&&l.shift(),l.length&&l[l.length-1]===``&&l.pop(),y+=d-l.length,y>Mx))break;if(i===t+2){let n=e.push(`tbody_open`,`tbody`,1);n.map=v=[t+2,0]}let a=e.push(`tr_open`,`tr`,1);a.map=[i,i+1];for(let t=0;t<d;t++){let n=e.push(`td_open`,`td`,1);u[t]&&(n.attrs=[[`style`,`text-align:`+u[t]]]);let r=e.push(`inline`,``,0);r.content=l[t]?l[t].trim():``,r.children=[],e.push(`td_close`,`td`,-1)}e.push(`tr_close`,`tr`,-1)}return v&&(e.push(`tbody_close`,`tbody`,-1),v[1]=i),e.push(`table_close`,`table`,-1),h[1]=i,e.parentType=f,e.line=i,!0}function Ix(e,t,n){if(e.sCount[t]-e.blkIndent<4)return!1;let r=t+1,i=r;for(;r<n;){if(e.isEmpty(r)){r++;continue}if(e.sCount[r]-e.blkIndent>=4){r++,i=r;continue}break}e.line=i;let a=e.push(`code_block`,`code`,0);return a.content=e.getLines(t,i,4+e.blkIndent,!1)+`
|
|
113
|
-
`,a.map=[t,e.line],!0}function Lx(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],a=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||i+3>a)return!1;let o=e.src.charCodeAt(i);if(o!==126&&o!==96)return!1;let s=i;i=e.skipChars(i,o);let c=i-s;if(c<3)return!1;let l=e.src.slice(s,i),u=e.src.slice(i,a);if(o===96&&u.indexOf(String.fromCharCode(o))>=0)return!1;if(r)return!0;let d=t,f=!1;for(;d++,!(d>=n||(i=s=e.bMarks[d]+e.tShift[d],a=e.eMarks[d],i<a&&e.sCount[d]<e.blkIndent));)if(e.src.charCodeAt(i)===o&&!(e.sCount[d]-e.blkIndent>=4)&&(i=e.skipChars(i,o),!(i-s<c)&&(i=e.skipSpaces(i),!(i<a)))){f=!0;break}c=e.sCount[t],e.line=d+ +!!f;let p=e.push(`fence`,`code`,0);return p.info=u,p.content=e.getLines(t+1,d,c,!0),p.markup=l,p.map=[t,e.line],!0}function Rx(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],a=e.eMarks[t],o=e.lineMax;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(i)!==62)return!1;if(r)return!0;let s=[],c=[],l=[],u=[],d=e.md.block.ruler.getRules(`blockquote`),f=e.parentType;e.parentType=`blockquote`;let p=!1,m;for(m=t;m<n;m++){let t=e.sCount[m]<e.blkIndent;if(i=e.bMarks[m]+e.tShift[m],a=e.eMarks[m],i>=a)break;if(e.src.charCodeAt(i++)===62&&!t){let t=e.sCount[m]+1,n,r;e.src.charCodeAt(i)===32?(i++,t++,r=!1,n=!0):e.src.charCodeAt(i)===9?(n=!0,(e.bsCount[m]+t)%4==3?(i++,t++,r=!1):r=!0):n=!1;let o=t;for(s.push(e.bMarks[m]),e.bMarks[m]=i;i<a;){let t=e.src.charCodeAt(i);if(Vb(t))t===9?o+=4-(o+e.bsCount[m]+ +!!r)%4:o++;else break;i++}p=i>=a,c.push(e.bsCount[m]),e.bsCount[m]=e.sCount[m]+1+ +!!n,l.push(e.sCount[m]),e.sCount[m]=o-t,u.push(e.tShift[m]),e.tShift[m]=i-e.bMarks[m];continue}if(p)break;let r=!1;for(let t=0,i=d.length;t<i;t++)if(d[t](e,m,n,!0)){r=!0;break}if(r){e.lineMax=m,e.blkIndent!==0&&(s.push(e.bMarks[m]),c.push(e.bsCount[m]),u.push(e.tShift[m]),l.push(e.sCount[m]),e.sCount[m]-=e.blkIndent);break}s.push(e.bMarks[m]),c.push(e.bsCount[m]),u.push(e.tShift[m]),l.push(e.sCount[m]),e.sCount[m]=-1}let h=e.blkIndent;e.blkIndent=0;let g=e.push(`blockquote_open`,`blockquote`,1);g.markup=`>`;let _=[t,0];g.map=_,e.md.block.tokenize(e,t,m);let v=e.push(`blockquote_close`,`blockquote`,-1);v.markup=`>`,e.lineMax=o,e.parentType=f,_[1]=e.line;for(let n=0;n<u.length;n++)e.bMarks[n+t]=s[n],e.tShift[n+t]=u[n],e.sCount[n+t]=l[n],e.bsCount[n+t]=c[n];return e.blkIndent=h,!0}function zx(e,t,n,r){let i=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let a=e.bMarks[t]+e.tShift[t],o=e.src.charCodeAt(a++);if(o!==42&&o!==45&&o!==95)return!1;let s=1;for(;a<i;){let t=e.src.charCodeAt(a++);if(t!==o&&!Vb(t))return!1;t===o&&s++}if(s<3)return!1;if(r)return!0;e.line=t+1;let c=e.push(`hr`,`hr`,0);return c.map=[t,e.line],c.markup=Array(s+1).join(String.fromCharCode(o)),!0}function Bx(e,t){let n=e.eMarks[t],r=e.bMarks[t]+e.tShift[t],i=e.src.charCodeAt(r++);return i!==42&&i!==45&&i!==43||r<n&&!Vb(e.src.charCodeAt(r))?-1:r}function Vx(e,t){let n=e.bMarks[t]+e.tShift[t],r=e.eMarks[t],i=n;if(i+1>=r)return-1;let a=e.src.charCodeAt(i++);if(a<48||a>57)return-1;for(;;){if(i>=r)return-1;if(a=e.src.charCodeAt(i++),a>=48&&a<=57){if(i-n>=10)return-1;continue}if(a===41||a===46)break;return-1}return i<r&&(a=e.src.charCodeAt(i),!Vb(a))?-1:i}function Hx(e,t){let n=e.level+2;for(let r=t+2,i=e.tokens.length-2;r<i;r++)e.tokens[r].level===n&&e.tokens[r].type===`paragraph_open`&&(e.tokens[r+2].hidden=!0,e.tokens[r].hidden=!0,r+=2)}function Ux(e,t,n,r){let i,a,o,s,c=t,l=!0;if(e.sCount[c]-e.blkIndent>=4||e.listIndent>=0&&e.sCount[c]-e.listIndent>=4&&e.sCount[c]<e.blkIndent)return!1;let u=!1;r&&e.parentType===`paragraph`&&e.sCount[c]>=e.blkIndent&&(u=!0);let d,f,p;if((p=Vx(e,c))>=0){if(d=!0,o=e.bMarks[c]+e.tShift[c],f=Number(e.src.slice(o,p-1)),u&&f!==1)return!1}else if((p=Bx(e,c))>=0)d=!1;else return!1;if(u&&e.skipSpaces(p)>=e.eMarks[c])return!1;if(r)return!0;let m=e.src.charCodeAt(p-1),h=e.tokens.length;d?(s=e.push(`ordered_list_open`,`ol`,1),f!==1&&(s.attrs=[[`start`,f]])):s=e.push(`bullet_list_open`,`ul`,1);let g=[c,0];s.map=g,s.markup=String.fromCharCode(m);let _=!1,v=e.md.block.ruler.getRules(`list`),y=e.parentType;for(e.parentType=`list`;c<n;){a=p,i=e.eMarks[c];let t=e.sCount[c]+p-(e.bMarks[c]+e.tShift[c]),r=t;for(;a<i;){let t=e.src.charCodeAt(a);if(t===9)r+=4-(r+e.bsCount[c])%4;else if(t===32)r++;else break;a++}let u=a,f;f=u>=i?1:r-t,f>4&&(f=1);let h=t+f;s=e.push(`list_item_open`,`li`,1),s.markup=String.fromCharCode(m);let g=[c,0];s.map=g,d&&(s.info=e.src.slice(o,p-1));let y=e.tight,b=e.tShift[c],x=e.sCount[c],S=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=h,e.tight=!0,e.tShift[c]=u-e.bMarks[c],e.sCount[c]=r,u>=i&&e.isEmpty(c+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,c,n,!0),(!e.tight||_)&&(l=!1),_=e.line-c>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=S,e.tShift[c]=b,e.sCount[c]=x,e.tight=y,s=e.push(`list_item_close`,`li`,-1),s.markup=String.fromCharCode(m),c=e.line,g[1]=c,c>=n||e.sCount[c]<e.blkIndent||e.sCount[c]-e.blkIndent>=4)break;let C=!1;for(let t=0,r=v.length;t<r;t++)if(v[t](e,c,n,!0)){C=!0;break}if(C)break;if(d){if(p=Vx(e,c),p<0)break;o=e.bMarks[c]+e.tShift[c]}else if(p=Bx(e,c),p<0)break;if(m!==e.src.charCodeAt(p-1))break}return s=d?e.push(`ordered_list_close`,`ol`,-1):e.push(`bullet_list_close`,`ul`,-1),s.markup=String.fromCharCode(m),g[1]=c,e.line=c,e.parentType=y,l&&Hx(e,h),!0}function Wx(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],a=e.eMarks[t],o=t+1;if(e.sCount[t]-e.blkIndent>=4||e.src.charCodeAt(i)!==91)return!1;function s(t){let n=e.lineMax;if(t>=n||e.isEmpty(t))return null;let r=!1;if(e.sCount[t]-e.blkIndent>3&&(r=!0),e.sCount[t]<0&&(r=!0),!r){let r=e.md.block.ruler.getRules(`reference`),i=e.parentType;e.parentType=`reference`;let a=!1;for(let i=0,o=r.length;i<o;i++)if(r[i](e,t,n,!0)){a=!0;break}if(e.parentType=i,a)return null}let i=e.bMarks[t]+e.tShift[t],a=e.eMarks[t];return e.src.slice(i,a+1)}let c=e.src.slice(i,a+1);a=c.length;let l=-1;for(i=1;i<a;i++){let e=c.charCodeAt(i);if(e===91)return!1;if(e===93){l=i;break}else if(e===10){let e=s(o);e!==null&&(c+=e,a=c.length,o++)}else if(e===92&&(i++,i<a&&c.charCodeAt(i)===10)){let e=s(o);e!==null&&(c+=e,a=c.length,o++)}}if(l<0||c.charCodeAt(l+1)!==58)return!1;for(i=l+2;i<a;i++){let e=c.charCodeAt(i);if(e===10){let e=s(o);e!==null&&(c+=e,a=c.length,o++)}else if(!Vb(e))break}let u=e.md.helpers.parseLinkDestination(c,i,a);if(!u.ok)return!1;let d=e.md.normalizeLink(u.str);if(!e.md.validateLink(d))return!1;i=u.pos;let f=i,p=o,m=i;for(;i<a;i++){let e=c.charCodeAt(i);if(e===10){let e=s(o);e!==null&&(c+=e,a=c.length,o++)}else if(!Vb(e))break}let h=e.md.helpers.parseLinkTitle(c,i,a);for(;h.can_continue;){let t=s(o);if(t===null)break;c+=t,i=a,a=c.length,o++,h=e.md.helpers.parseLinkTitle(c,i,a,h)}let g;for(i<a&&m!==i&&h.ok?(g=h.str,i=h.pos):(g=``,i=f,o=p);i<a&&Vb(c.charCodeAt(i));)i++;if(i<a&&c.charCodeAt(i)!==10&&g)for(g=``,i=f,o=p;i<a&&Vb(c.charCodeAt(i));)i++;if(i<a&&c.charCodeAt(i)!==10)return!1;let _=Kb(c.slice(1,l));return _?r?!0:(e.env.references===void 0&&(e.env.references={}),e.env.references[_]===void 0&&(e.env.references[_]={title:g,href:d}),e.line=o,!0):!1}var Gx=`address.article.aside.base.basefont.blockquote.body.caption.center.col.colgroup.dd.details.dialog.dir.div.dl.dt.fieldset.figcaption.figure.footer.form.frame.frameset.h1.h2.h3.h4.h5.h6.head.header.hr.html.iframe.legend.li.link.main.menu.menuitem.nav.noframes.ol.optgroup.option.p.param.search.section.summary.table.tbody.td.tfoot.th.thead.title.tr.track.ul`.split(`.`),Kx=RegExp(`^(?:<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>|<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>|<!---?>|<!--(?:[^-]|-[^-]|--[^>])*-->|<[?][\\s\\S]*?[?]>|<![A-Za-z][^>]*>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>)`),qx=RegExp(`^(?:<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>|<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>)`),Jx=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[RegExp(`^</?(`+Gx.join(`|`)+`)(?=(\\s|/?>|$))`,`i`),/^$/,!0],[RegExp(qx.source+`\\s*$`),/^$/,!1]];function Yx(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],a=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(i)!==60)return!1;let o=e.src.slice(i,a),s=0;for(;s<Jx.length&&!Jx[s][0].test(o);s++);if(s===Jx.length)return!1;if(r)return Jx[s][2];let c=t+1,l=Jx[s][1].test(``);if(!Jx[s][1].test(o)){for(;c<n&&!(e.sCount[c]<e.blkIndent&&(l||!e.isEmpty(c)));c++)if(i=e.bMarks[c]+e.tShift[c],a=e.eMarks[c],o=e.src.slice(i,a),Jx[s][1].test(o)){o.length!==0&&c++;break}}e.line=c;let u=e.push(`html_block`,``,0);return u.map=[t,c],u.content=e.getLines(t,c,e.blkIndent,!0),!0}function Xx(e,t,n,r){let i=e.bMarks[t]+e.tShift[t],a=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4)return!1;let o=e.src.charCodeAt(i);if(o!==35||i>=a)return!1;let s=1;for(o=e.src.charCodeAt(++i);o===35&&i<a&&s<=6;)s++,o=e.src.charCodeAt(++i);if(s>6||i<a&&!Vb(o))return!1;if(r)return!0;a=e.skipSpacesBack(a,i);let c=e.skipCharsBack(a,35,i);c>i&&Vb(e.src.charCodeAt(c-1))&&(a=c),e.line=t+1;let l=e.push(`heading_open`,`h`+String(s),1);l.markup=`########`.slice(0,s),l.map=[t,e.line];let u=e.push(`inline`,``,0);u.content=Jb(e.src.slice(i,a)),u.map=[t,e.line],u.children=[];let d=e.push(`heading_close`,`h`+String(s),-1);return d.markup=`########`.slice(0,s),!0}function Zx(e,t,n){let r=e.md.block.ruler.getRules(`paragraph`);if(e.sCount[t]-e.blkIndent>=4)return!1;let i=e.parentType;e.parentType=`paragraph`;let a=0,o,s=t+1;for(;s<n&&!e.isEmpty(s);s++){if(e.sCount[s]-e.blkIndent>3)continue;if(e.sCount[s]>=e.blkIndent){let t=e.bMarks[s]+e.tShift[s],n=e.eMarks[s];if(t<n&&(o=e.src.charCodeAt(t),(o===45||o===61)&&(t=e.skipChars(t,o),t=e.skipSpaces(t),t>=n))){a=o===61?1:2;break}}if(e.sCount[s]<0)continue;let t=!1;for(let i=0,a=r.length;i<a;i++)if(r[i](e,s,n,!0)){t=!0;break}if(t)break}if(!a)return e.parentType=i,!1;let c=Jb(e.getLines(t,s,e.blkIndent,!1));e.line=s+1;let l=e.push(`heading_open`,`h`+String(a),1);l.markup=String.fromCharCode(o),l.map=[t,e.line];let u=e.push(`inline`,``,0);u.content=c,u.map=[t,e.line-1],u.children=[];let d=e.push(`heading_close`,`h`+String(a),-1);return d.markup=String.fromCharCode(o),e.parentType=i,!0}function Qx(e,t,n){let r=e.md.block.ruler.getRules(`paragraph`),i=e.parentType,a=t+1;for(e.parentType=`paragraph`;a<n&&!e.isEmpty(a);a++){if(e.sCount[a]-e.blkIndent>3||e.sCount[a]<0)continue;let t=!1;for(let i=0,o=r.length;i<o;i++)if(r[i](e,a,n,!0)){t=!0;break}if(t)break}let o=Jb(e.getLines(t,a,e.blkIndent,!1));e.line=a;let s=e.push(`paragraph_open`,`p`,1);s.map=[t,e.line];let c=e.push(`inline`,``,0);return c.content=o,c.map=[t,e.line],c.children=[],e.push(`paragraph_close`,`p`,-1),e.parentType=i,!0}var $x=[[`table`,Fx,[`paragraph`,`reference`]],[`code`,Ix],[`fence`,Lx,[`paragraph`,`reference`,`blockquote`,`list`]],[`blockquote`,Rx,[`paragraph`,`reference`,`blockquote`,`list`]],[`hr`,zx,[`paragraph`,`reference`,`blockquote`,`list`]],[`list`,Ux,[`paragraph`,`reference`,`blockquote`]],[`reference`,Wx],[`html_block`,Yx,[`paragraph`,`reference`,`blockquote`]],[`heading`,Xx,[`paragraph`,`reference`,`blockquote`]],[`lheading`,Zx],[`paragraph`,Qx]];function eS(){this.ruler=new nx;for(let e=0;e<$x.length;e++)this.ruler.push($x[e][0],$x[e][1],{alt:($x[e][2]||[]).slice()})}eS.prototype.tokenize=function(e,t,n){let r=this.ruler.getRules(``),i=r.length,a=e.md.options.maxNesting,o=t,s=!1;for(;o<n&&(e.line=o=e.skipEmptyLines(o),!(o>=n||e.sCount[o]<e.blkIndent));){if(e.level>=a){e.line=n;break}let t=e.line,c=!1;for(let a=0;a<i;a++)if(c=r[a](e,o,n,!1),c){if(t>=e.line)throw Error(`block rule didn't increment state.line`);break}if(!c)throw Error(`none of the block rules matched`);e.tight=!s,e.isEmpty(e.line-1)&&(s=!0),o=e.line,o<n&&e.isEmpty(o)&&(s=!0,o++,e.line=o)}},eS.prototype.parse=function(e,t,n,r){if(!e)return;let i=new this.State(e,t,n,r);this.tokenize(i,i.line,i.lineMax)},eS.prototype.State=jx;function tS(e,t,n,r){this.src=e,this.env=n,this.md=t,this.tokens=r,this.tokens_meta=Array(r.length),this.pos=0,this.posMax=this.src.length,this.level=0,this.pending=``,this.pendingLevel=0,this.cache={},this.delimiters=[],this._prev_delimiters=[],this.backticks={},this.backticksScanned=!1,this.linkLevel=0}tS.prototype.pushPending=function(){let e=new rx(`text`,``,0);return e.content=this.pending,e.level=this.pendingLevel,this.tokens.push(e),this.pending=``,e},tS.prototype.push=function(e,t,n){this.pending&&this.pushPending();let r=new rx(e,t,n),i=null;return n<0&&(this.level--,this.delimiters=this._prev_delimiters.pop()),r.level=this.level,n>0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],i={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(i),r},tS.prototype.scanDelims=function(e,t){let n=this.posMax,r=this.src.charCodeAt(e),i;if(e===0)i=32;else if(e===1)i=this.src.charCodeAt(0),(i&63488)==55296&&(i=65533);else if(i=this.src.charCodeAt(e-1),(i&64512)==56320){let t=this.src.charCodeAt(e-2);i=(t&64512)==55296?65536+(t-55296<<10)+(i-56320):65533}else(i&64512)==55296&&(i=65533);let a=e;for(;a<n&&this.src.charCodeAt(a)===r;)a++;let o=a-e,s=a<n?this.src.charCodeAt(a):32;if((s&64512)==55296){let e=this.src.charCodeAt(a+1);s=(e&64512)==56320?65536+(s-55296<<10)+(e-56320):65533}else(s&64512)==56320&&(s=65533);let c=Gb(i)||Wb(i),l=Gb(s)||Wb(s),u=Hb(i),d=Hb(s),f=!d&&(!l||u||c),p=!u&&(!c||d||l);return{can_open:f&&(t||!p||c),can_close:p&&(t||!f||l),length:o}},tS.prototype.Token=rx;function nS(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 58:case 60:case 61:case 62:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 125:case 126:return!0;default:return!1}}function rS(e,t){let n=e.pos;for(;n<e.posMax&&!nS(e.src.charCodeAt(n));)n++;return n===e.pos?!1:(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}var iS=/(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;function aS(e,t){if(!e.md.options.linkify||e.linkLevel>0)return!1;let n=e.pos,r=e.posMax;if(n+3>r||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;let i=e.pending.match(iS);if(!i)return!1;let a=i[1],o=e.md.linkify.matchAtStart(e.src.slice(n-a.length));if(!o)return!1;let s=o.url;if(s.length<=a.length)return!1;let c=s.length;for(;c>0&&s.charCodeAt(c-1)===42;)c--;c!==s.length&&(s=s.slice(0,c));let l=e.md.normalizeLink(s);if(!e.md.validateLink(l))return!1;if(!t){e.pending=e.pending.slice(0,-a.length);let t=e.push(`link_open`,`a`,1);t.attrs=[[`href`,l]],t.markup=`linkify`,t.info=`auto`;let n=e.push(`text`,``,0);n.content=e.md.normalizeLinkText(s);let r=e.push(`link_close`,`a`,-1);r.markup=`linkify`,r.info=`auto`}return e.pos+=s.length-a.length,!0}function oS(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;let r=e.pending.length-1,i=e.posMax;if(!t)if(r>=0&&e.pending.charCodeAt(r)===32)if(r>=1&&e.pending.charCodeAt(r-1)===32){let t=r-1;for(;t>=1&&e.pending.charCodeAt(t-1)===32;)t--;e.pending=e.pending.slice(0,t),e.push(`hardbreak`,`br`,0)}else e.pending=e.pending.slice(0,-1),e.push(`softbreak`,`br`,0);else e.push(`softbreak`,`br`,0);for(n++;n<i&&Vb(e.src.charCodeAt(n));)n++;return e.pos=n,!0}var sS=[];for(let e=0;e<256;e++)sS.push(0);`\\!"#$%&'()*+,./:;<=>?@[]^_\`{|}~-`.split(``).forEach(function(e){sS[e.charCodeAt(0)]=1});function cS(e,t){let n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=r))return!1;let i=e.src.charCodeAt(n);if(i===10){for(t||e.push(`hardbreak`,`br`,0),n++;n<r&&(i=e.src.charCodeAt(n),Vb(i));)n++;return e.pos=n,!0}if(i===32){if(!t){let t=e.push(`text_special`,``,0);t.content=`\\`,t.markup=`\\`,t.info=`escape`}return e.pos=n,!0}let a=e.src[n];if(i>=55296&&i<=56319&&n+1<r){let t=e.src.charCodeAt(n+1);t>=56320&&t<=57343&&(a+=e.src[n+1],n++)}let o=`\\`+a;if(!t){let t=e.push(`text_special`,``,0);i<256&&sS[i]!==0?t.content=a:t.content=o,t.markup=o,t.info=`escape`}return e.pos=n+1,!0}function lS(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==96)return!1;let r=n;n++;let i=e.posMax;for(;n<i&&e.src.charCodeAt(n)===96;)n++;let a=e.src.slice(r,n),o=a.length;if(e.backticksScanned&&(e.backticks[o]||0)<=r)return t||(e.pending+=a),e.pos+=o,!0;let s=n,c;for(;(c=e.src.indexOf("`",s))!==-1;){for(s=c+1;s<i&&e.src.charCodeAt(s)===96;)s++;let r=s-c;if(r===o){if(!t){let t=e.push(`code_inline`,`code`,0);t.markup=a,t.content=e.src.slice(n,c).replace(/\n/g,` `).replace(/^ (.+) $/,`$1`)}return e.pos=s,!0}e.backticks[r]=c}return e.backticksScanned=!0,t||(e.pending+=a),e.pos+=o,!0}function uS(e,t){let n=e.pos,r=e.src.charCodeAt(n);if(t||r!==126)return!1;let i=e.scanDelims(e.pos,!0),a=i.length,o=String.fromCharCode(r);if(a<2)return!1;let s;a%2&&(s=e.push(`text`,``,0),s.content=o,a--);for(let t=0;t<a;t+=2)s=e.push(`text`,``,0),s.content=o+o,e.delimiters.push({marker:r,length:0,token:e.tokens.length-1,end:-1,open:i.can_open,close:i.can_close});return e.pos+=i.length,!0}function dS(e,t){let n,r=[],i=t.length;for(let a=0;a<i;a++){let i=t[a];if(i.marker!==126||i.end===-1)continue;let o=t[i.end];n=e.tokens[i.token],n.type=`s_open`,n.tag=`s`,n.nesting=1,n.markup=`~~`,n.content=``,n=e.tokens[o.token],n.type=`s_close`,n.tag=`s`,n.nesting=-1,n.markup=`~~`,n.content=``,e.tokens[o.token-1].type===`text`&&e.tokens[o.token-1].content===`~`&&r.push(o.token-1)}for(;r.length;){let t=r.pop(),i=t+1;for(;i<e.tokens.length&&e.tokens[i].type===`s_close`;)i++;i--,t!==i&&(n=e.tokens[i],e.tokens[i]=e.tokens[t],e.tokens[t]=n)}}function fS(e){let t=e.tokens_meta,n=e.tokens_meta.length;dS(e,e.delimiters);for(let r=0;r<n;r++)t[r]&&t[r].delimiters&&dS(e,t[r].delimiters)}var pS={tokenize:uS,postProcess:fS};function mS(e,t){let n=e.pos,r=e.src.charCodeAt(n);if(t||r!==95&&r!==42)return!1;let i=e.scanDelims(e.pos,r===42);for(let t=0;t<i.length;t++){let t=e.push(`text`,``,0);t.content=String.fromCharCode(r),e.delimiters.push({marker:r,length:i.length,token:e.tokens.length-1,end:-1,open:i.can_open,close:i.can_close})}return e.pos+=i.length,!0}function hS(e,t){let n=t.length;for(let r=n-1;r>=0;r--){let n=t[r];if(n.marker!==95&&n.marker!==42||n.end===-1)continue;let i=t[n.end],a=r>0&&t[r-1].end===n.end+1&&t[r-1].marker===n.marker&&t[r-1].token===n.token-1&&t[n.end+1].token===i.token+1,o=String.fromCharCode(n.marker),s=e.tokens[n.token];s.type=a?`strong_open`:`em_open`,s.tag=a?`strong`:`em`,s.nesting=1,s.markup=a?o+o:o,s.content=``;let c=e.tokens[i.token];c.type=a?`strong_close`:`em_close`,c.tag=a?`strong`:`em`,c.nesting=-1,c.markup=a?o+o:o,c.content=``,a&&(e.tokens[t[r-1].token].content=``,e.tokens[t[n.end+1].token].content=``,r--)}}function gS(e){let t=e.tokens_meta,n=e.tokens_meta.length;hS(e,e.delimiters);for(let r=0;r<n;r++)t[r]&&t[r].delimiters&&hS(e,t[r].delimiters)}var _S={tokenize:mS,postProcess:gS};function vS(e,t){let n,r,i,a,o=``,s=``,c=e.pos,l=!0;if(e.src.charCodeAt(e.pos)!==91)return!1;let u=e.pos,d=e.posMax,f=e.pos+1,p=e.md.helpers.parseLinkLabel(e,e.pos,!0);if(p<0)return!1;let m=p+1;if(m<d&&e.src.charCodeAt(m)===40){for(l=!1,m++;m<d&&(n=e.src.charCodeAt(m),!(!Vb(n)&&n!==10));m++);if(m>=d)return!1;if(c=m,i=e.md.helpers.parseLinkDestination(e.src,m,e.posMax),i.ok){for(o=e.md.normalizeLink(i.str),e.md.validateLink(o)?m=i.pos:o=``,c=m;m<d&&(n=e.src.charCodeAt(m),!(!Vb(n)&&n!==10));m++);if(i=e.md.helpers.parseLinkTitle(e.src,m,e.posMax),m<d&&c!==m&&i.ok)for(s=i.str,m=i.pos;m<d&&(n=e.src.charCodeAt(m),!(!Vb(n)&&n!==10));m++);}(m>=d||e.src.charCodeAt(m)!==41)&&(l=!0),m++}if(l){if(e.env.references===void 0)return!1;if(m<d&&e.src.charCodeAt(m)===91?(c=m+1,m=e.md.helpers.parseLinkLabel(e,m),m>=0?r=e.src.slice(c,m++):m=p+1):m=p+1,r||=e.src.slice(f,p),a=e.env.references[Kb(r)],!a)return e.pos=u,!1;o=a.href,s=a.title}if(!t){e.pos=f,e.posMax=p;let t=e.push(`link_open`,`a`,1),n=[[`href`,o]];t.attrs=n,s&&n.push([`title`,s]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push(`link_close`,`a`,-1)}return e.pos=m,e.posMax=d,!0}function yS(e,t){let n,r,i,a,o,s,c,l,u=``,d=e.pos,f=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;let p=e.pos+2,m=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(m<0)return!1;if(a=m+1,a<f&&e.src.charCodeAt(a)===40){for(a++;a<f&&(n=e.src.charCodeAt(a),!(!Vb(n)&&n!==10));a++);if(a>=f)return!1;for(l=a,s=e.md.helpers.parseLinkDestination(e.src,a,e.posMax),s.ok&&(u=e.md.normalizeLink(s.str),e.md.validateLink(u)?a=s.pos:u=``),l=a;a<f&&(n=e.src.charCodeAt(a),!(!Vb(n)&&n!==10));a++);if(s=e.md.helpers.parseLinkTitle(e.src,a,e.posMax),a<f&&l!==a&&s.ok)for(c=s.str,a=s.pos;a<f&&(n=e.src.charCodeAt(a),!(!Vb(n)&&n!==10));a++);else c=``;if(a>=f||e.src.charCodeAt(a)!==41)return e.pos=d,!1;a++}else{if(e.env.references===void 0)return!1;if(a<f&&e.src.charCodeAt(a)===91?(l=a+1,a=e.md.helpers.parseLinkLabel(e,a),a>=0?i=e.src.slice(l,a++):a=m+1):a=m+1,i||=e.src.slice(p,m),o=e.env.references[Kb(i)],!o)return e.pos=d,!1;u=o.href,c=o.title}if(!t){r=e.src.slice(p,m);let t=[];e.md.inline.parse(r,e.md,e.env,t);let n=e.push(`image`,`img`,0),i=[[`src`,u],[`alt`,``]];n.attrs=i,n.children=t,n.content=r,c&&i.push([`title`,c])}return e.pos=a,e.posMax=f,!0}var bS=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,xS=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function SS(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;let r=e.pos,i=e.posMax;for(;;){if(++n>=i)return!1;let t=e.src.charCodeAt(n);if(t===60)return!1;if(t===62)break}let a=e.src.slice(r+1,n);if(xS.test(a)){let n=e.md.normalizeLink(a);if(!e.md.validateLink(n))return!1;if(!t){let t=e.push(`link_open`,`a`,1);t.attrs=[[`href`,n]],t.markup=`autolink`,t.info=`auto`;let r=e.push(`text`,``,0);r.content=e.md.normalizeLinkText(a);let i=e.push(`link_close`,`a`,-1);i.markup=`autolink`,i.info=`auto`}return e.pos+=a.length+2,!0}if(bS.test(a)){let n=e.md.normalizeLink(`mailto:`+a);if(!e.md.validateLink(n))return!1;if(!t){let t=e.push(`link_open`,`a`,1);t.attrs=[[`href`,n]],t.markup=`autolink`,t.info=`auto`;let r=e.push(`text`,``,0);r.content=e.md.normalizeLinkText(a);let i=e.push(`link_close`,`a`,-1);i.markup=`autolink`,i.info=`auto`}return e.pos+=a.length+2,!0}return!1}function CS(e){return/^<a[>\s]/i.test(e)}function wS(e){return/^<\/a\s*>/i.test(e)}function TS(e){let t=e|32;return t>=97&&t<=122}function ES(e,t){if(!e.md.options.html)return!1;let n=e.posMax,r=e.pos;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;let i=e.src.charCodeAt(r+1);if(i!==33&&i!==63&&i!==47&&!TS(i))return!1;let a=e.src.slice(r).match(Kx);if(!a)return!1;if(!t){let t=e.push(`html_inline`,``,0);t.content=a[0],CS(t.content)&&e.linkLevel++,wS(t.content)&&e.linkLevel--}return e.pos+=a[0].length,!0}var DS=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,OS=/^&([a-z][a-z0-9]{1,31});/i;function kS(e,t){let n=e.pos,r=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=r)return!1;if(e.src.charCodeAt(n+1)===35){let r=e.src.slice(n).match(DS);if(r){if(!t){let t=r[1][0].toLowerCase()===`x`?parseInt(r[1].slice(1),16):parseInt(r[1],10),n=e.push(`text_special`,``,0);n.content=Eb(t)?Db(t):Db(65533),n.markup=r[0],n.info=`entity`}return e.pos+=r[0].length,!0}}else{let r=e.src.slice(n).match(OS);if(r){let n=vb(r[0]);if(n!==r[0]){if(!t){let t=e.push(`text_special`,``,0);t.content=n,t.markup=r[0],t.info=`entity`}return e.pos+=r[0].length,!0}}}return!1}function AS(e){let t={},n=e.length;if(!n)return;let r=0,i=-2,a=[];for(let o=0;o<n;o++){let n=e[o];if(a.push(0),(e[r].marker!==n.marker||i!==n.token-1)&&(r=o),i=n.token,n.length=n.length||0,!n.close)continue;t.hasOwnProperty(n.marker)||(t[n.marker]=[-1,-1,-1,-1,-1,-1]);let s=t[n.marker][(n.open?3:0)+n.length%3],c=r-a[r]-1,l=c;for(;c>s;c-=a[c]+1){let t=e[c];if(t.marker===n.marker&&t.open&&t.end<0){let r=!1;if((t.close||n.open)&&(t.length+n.length)%3==0&&(t.length%3!=0||n.length%3!=0)&&(r=!0),!r){let r=c>0&&!e[c-1].open?a[c-1]+1:0;a[o]=o-c+r,a[c]=r,n.open=!1,t.end=o,t.close=!1,l=-1,i=-2;break}}}l!==-1&&(t[n.marker][(n.open?3:0)+(n.length||0)%3]=l)}}function jS(e){let t=e.tokens_meta,n=e.tokens_meta.length;AS(e.delimiters);for(let e=0;e<n;e++)t[e]&&t[e].delimiters&&AS(t[e].delimiters)}function MS(e){let t,n,r=0,i=e.tokens,a=e.tokens.length;for(t=n=0;t<a;t++)i[t].nesting<0&&r--,i[t].level=r,i[t].nesting>0&&r++,i[t].type===`text`&&t+1<a&&i[t+1].type===`text`?i[t+1].content=i[t].content+i[t+1].content:(t!==n&&(i[n]=i[t]),n++);t!==n&&(i.length=n)}var NS=[[`text`,rS],[`linkify`,aS],[`newline`,oS],[`escape`,cS],[`backticks`,lS],[`strikethrough`,pS.tokenize],[`emphasis`,_S.tokenize],[`link`,vS],[`image`,yS],[`autolink`,SS],[`html_inline`,ES],[`entity`,kS]],PS=[[`balance_pairs`,jS],[`strikethrough`,pS.postProcess],[`emphasis`,_S.postProcess],[`fragments_join`,MS]];function FS(){this.ruler=new nx;for(let e=0;e<NS.length;e++)this.ruler.push(NS[e][0],NS[e][1]);this.ruler2=new nx;for(let e=0;e<PS.length;e++)this.ruler2.push(PS[e][0],PS[e][1])}FS.prototype.skipToken=function(e){let t=e.pos,n=this.ruler.getRules(``),r=n.length,i=e.md.options.maxNesting,a=e.cache;if(a[t]!==void 0){e.pos=a[t];return}let o=!1;if(e.level<i){for(let i=0;i<r;i++)if(e.level++,o=n[i](e,!0),e.level--,o){if(t>=e.pos)throw Error(`inline rule didn't increment state.pos`);break}}else e.pos=e.posMax;o||e.pos++,a[t]=e.pos},FS.prototype.tokenize=function(e){let t=this.ruler.getRules(``),n=t.length,r=e.posMax,i=e.md.options.maxNesting;for(;e.pos<r;){let a=e.pos,o=!1;if(e.level<i){for(let r=0;r<n;r++)if(o=t[r](e,!1),o){if(a>=e.pos)throw Error(`inline rule didn't increment state.pos`);break}}if(o){if(e.pos>=r)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()},FS.prototype.parse=function(e,t,n,r){let i=new this.State(e,t,n,r);this.tokenize(i);let a=this.ruler2.getRules(``),o=a.length;for(let e=0;e<o;e++)a[e](i)},FS.prototype.State=tS;function IS(e){let t={};e||={},t.src_Any=Ky.source,t.src_Cc=qy.source,t.src_Z=Zy.source,t.src_P=Yy.source,t.src_ZPCc=[t.src_Z,t.src_P,t.src_Cc].join(`|`),t.src_ZCc=[t.src_Z,t.src_Cc].join(`|`);let n=`[><|]`;return t.src_pseudo_letter=`(?:(?!${n}|${t.src_ZPCc})${t.src_Any})`,t.src_ip4=`(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)`,t.src_auth=`(?:(?:(?!${t.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`,t.src_port=`(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?`,t.src_host_terminator=`(?=$|${n}|${t.src_ZPCc})(?!${e[`---`]?`-(?!--)|`:`-|`}_|:\\d|\\.-|\\.(?!$|${t.src_ZPCc}))`,t.src_path=`(?:[/?#](?:(?!${t.src_ZCc}|${n}|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!${t.src_ZCc}|\\]).)*\\]|\\((?:(?!${t.src_ZCc}|[)]).)*\\)|\\{(?:(?!${t.src_ZCc}|[}]).)*\\}|\\"(?:(?!${t.src_ZCc}|["]).)+\\"|\\'(?:(?!${t.src_ZCc}|[']).)+\\'|\\'(?=${t.src_pseudo_letter}|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!${t.src_ZCc}|[.]|$)|`+(e[`---`]?`\\-(?!--(?:[^-]|$))(?:-*)|`:`\\-+|`)+`,(?!${t.src_ZCc}|$)|;(?!${t.src_ZCc}|$)|\\!+(?!${t.src_ZCc}|[!]|$)|\\?(?!${t.src_ZCc}|[?]|$))+|\\/)?`,t.src_email_name=`[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]{0,63}`,t.src_xn=`xn--[a-z0-9\\-]{1,59}`,t.src_domain_root=`(?:`+t.src_xn+`|${t.src_pseudo_letter}{1,63})`,t.src_domain=`(?:`+t.src_xn+`|(?:${t.src_pseudo_letter})|(?:${t.src_pseudo_letter}(?:-|${t.src_pseudo_letter}){0,61}${t.src_pseudo_letter}))`,t.src_host=`(?:(?:(?:(?:${t.src_domain})\\.)*${t.src_domain}))`,t.tpl_host_fuzzy=`(?:`+t.src_ip4+`|(?:(?:(?:${t.src_domain})\\.)+(?:%TLDS%)))`,t.tpl_host_no_ip_fuzzy=`(?:(?:(?:${t.src_domain})\\.)+(?:%TLDS%))`,t.src_host_strict=t.src_host+t.src_host_terminator,t.tpl_host_fuzzy_strict=t.tpl_host_fuzzy+t.src_host_terminator,t.src_host_port_strict=t.src_host+t.src_port+t.src_host_terminator,t.tpl_host_port_fuzzy_strict=t.tpl_host_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_port_no_ip_fuzzy_strict=t.tpl_host_no_ip_fuzzy+t.src_port+t.src_host_terminator,t.tpl_host_fuzzy_test=`localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:${t.src_ZPCc}|>|$))`,t.tpl_email_fuzzy=`(^|${n}|"|\\(|${t.src_ZCc})(${t.src_email_name}@${t.tpl_host_fuzzy_strict})`,t.tpl_link_fuzzy=`(^|(?![.:/\\-_@])(?:[$+<=>^\`|\uff5c]|${t.src_ZPCc}))((?![$+<=>^\`|\uff5c])${t.tpl_host_port_fuzzy_strict}${t.src_path})`,t.tpl_link_no_ip_fuzzy=`(^|(?![.:/\\-_@])(?:[$+<=>^\`|\uff5c]|${t.src_ZPCc}))((?![$+<=>^\`|\uff5c])${t.tpl_host_port_no_ip_fuzzy_strict}${t.src_path})`,t}function LS(e){return Array.prototype.slice.call(arguments,1).forEach(function(t){t&&Object.keys(t).forEach(function(n){e[n]=t[n]})}),e}function RS(e){return Object.prototype.toString.call(e)}function zS(e){return RS(e)===`[object String]`}function BS(e){return RS(e)===`[object Object]`}function VS(e){return RS(e)===`[object RegExp]`}function HS(e){return RS(e)===`[object Function]`}function US(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,`\\$&`)}var WS={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function GS(e){return Object.keys(e||{}).reduce(function(e,t){return e||WS.hasOwnProperty(t)},!1)}var KS={"http:":{validate:function(e,t,n){let r=e.slice(t);return n.re.http||(n.re.http=RegExp(`^\\/\\/${n.re.src_auth}${n.re.src_host_port_strict}${n.re.src_path}`,`i`)),n.re.http.test(r)?r.match(n.re.http)[0].length:0}},"https:":`http:`,"ftp:":`http:`,"//":{validate:function(e,t,n){let r=e.slice(t);return n.re.no_http||(n.re.no_http=RegExp(`^`+n.re.src_auth+`(?:localhost|(?:(?:${n.re.src_domain})\\.)+${n.re.src_domain_root})`+n.re.src_port+n.re.src_host_terminator+n.re.src_path,`i`)),n.re.no_http.test(r)?t>=3&&e[t-3]===`:`||t>=3&&e[t-3]===`/`?0:r.match(n.re.no_http)[0].length:0}},"mailto:":{validate:function(e,t,n){let r=e.slice(t);return n.re.mailto||(n.re.mailto=RegExp(`^${n.re.src_email_name}@${n.re.src_host_strict}`,`i`)),n.re.mailto.test(r)?r.match(n.re.mailto)[0].length:0}}},qS=`a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]`,JS=`biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф`.split(`|`);function YS(e){return function(t,n){let r=t.slice(n);return e.test(r)?r.match(e)[0].length:0}}function XS(){return function(e,t){t.normalize(e)}}function ZS(e){let t=e.re=IS(e.__opts__),n=e.__tlds__.slice();e.onCompile(),e.__tlds_replaced__||n.push(qS),n.push(t.src_xn),t.src_tlds=n.join(`|`);function r(e){return e.replace(`%TLDS%`,t.src_tlds)}t.email_fuzzy=RegExp(r(t.tpl_email_fuzzy),`i`),t.email_fuzzy_global=RegExp(r(t.tpl_email_fuzzy),`ig`),t.link_fuzzy=RegExp(r(t.tpl_link_fuzzy),`i`),t.link_fuzzy_global=RegExp(r(t.tpl_link_fuzzy),`ig`),t.link_no_ip_fuzzy=RegExp(r(t.tpl_link_no_ip_fuzzy),`i`),t.link_no_ip_fuzzy_global=RegExp(r(t.tpl_link_no_ip_fuzzy),`ig`),t.host_fuzzy_test=RegExp(r(t.tpl_host_fuzzy_test),`i`);let i=[];e.__compiled__={};function a(e,t){throw Error(`(LinkifyIt) Invalid schema "${e}": ${t}`)}Object.keys(e.__schemas__).forEach(function(t){let n=e.__schemas__[t];if(n===null)return;let r={validate:null,link:null};if(e.__compiled__[t]=r,BS(n)){VS(n.validate)?r.validate=YS(n.validate):HS(n.validate)?r.validate=n.validate:a(t,n),HS(n.normalize)?r.normalize=n.normalize:n.normalize?a(t,n):r.normalize=XS();return}if(zS(n)){i.push(t);return}a(t,n)}),i.forEach(function(t){e.__compiled__[e.__schemas__[t]]&&(e.__compiled__[t].validate=e.__compiled__[e.__schemas__[t]].validate,e.__compiled__[t].normalize=e.__compiled__[e.__schemas__[t]].normalize)}),e.__compiled__[``]={validate:null,normalize:XS()};let o=Object.keys(e.__compiled__).filter(function(t){return t.length>0&&e.__compiled__[t]}).map(US).join(`|`);e.re.schema_test=RegExp(`(^|(?!_)(?:[><\uff5c]|${t.src_ZPCc}))(${o})`,`i`),e.re.schema_search=RegExp(`(^|(?!_)(?:[><\uff5c]|${t.src_ZPCc}))(${o})`,`ig`),e.re.schema_at_start=RegExp(`^${e.re.schema_search.source}`,`i`),e.re.pretest=RegExp(`(${e.re.schema_test.source})|(${e.re.host_fuzzy_test.source})|@`,`i`)}function QS(e,t,n,r){let i=e.slice(n,r);this.schema=t.toLowerCase(),this.index=n,this.lastIndex=r,this.raw=i,this.text=i,this.url=i}function $S(e,t){if(!(this instanceof $S))return new $S(e,t);t||GS(e)&&(t=e,e={}),this.__opts__=LS({},WS,t),this.__schemas__=LS({},KS,e),this.__compiled__={},this.__tlds__=JS,this.__tlds_replaced__=!1,this.re={},ZS(this)}$S.prototype.add=function(e,t){return this.__schemas__[e]=t,ZS(this),this},$S.prototype.set=function(e){return this.__opts__=LS(this.__opts__,e),this},$S.prototype.test=function(e){if(!e.length)return!1;let t,n;if(this.re.schema_test.test(e)){for(n=this.re.schema_search,n.lastIndex=0;(t=n.exec(e))!==null;)if(this.testSchemaAt(e,t[2],n.lastIndex))return!0}return!!(this.__opts__.fuzzyLink&&this.__compiled__[`http:`]&&e.search(this.re.host_fuzzy_test)>=0&&e.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy)!==null||this.__opts__.fuzzyEmail&&this.__compiled__[`mailto:`]&&e.indexOf(`@`)>=0&&e.match(this.re.email_fuzzy)!==null)},$S.prototype.pretest=function(e){return this.re.pretest.test(e)},$S.prototype.testSchemaAt=function(e,t,n){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,n,this):0},$S.prototype.match=function(e){let t=[],n=[],r=[],i=[],a,o,s;function c(e,t){return e?t?e.index===t.index?e.lastIndex>=t.lastIndex?e:t:e.index<t.index?e:t:e:t}if(!e.length)return null;if(this.re.schema_test.test(e))for(s=this.re.schema_search,s.lastIndex=0;(a=s.exec(e))!==null;)o=this.testSchemaAt(e,a[2],s.lastIndex),o&&n.push({schema:a[2],index:a.index+a[1].length,lastIndex:a.index+a[0].length+o});if(this.__opts__.fuzzyLink&&this.__compiled__[`http:`])for(s=this.__opts__.fuzzyIP?this.re.link_fuzzy_global:this.re.link_no_ip_fuzzy_global,s.lastIndex=0;(a=s.exec(e))!==null;)r.push({schema:``,index:a.index+a[1].length,lastIndex:a.index+a[0].length});if(this.__opts__.fuzzyEmail&&this.__compiled__[`mailto:`])for(s=this.re.email_fuzzy_global,s.lastIndex=0;(a=s.exec(e))!==null;)i.push({schema:`mailto:`,index:a.index+a[1].length,lastIndex:a.index+a[0].length});let l=[0,0,0],u=0;for(;;){let a=[n[l[0]],i[l[1]],r[l[2]]],o=c(c(a[0],a[1]),a[2]);if(!o)break;if(o===a[0]?l[0]++:o===a[1]?l[1]++:l[2]++,o.index<u)continue;let s=new QS(e,o.schema,o.index,o.lastIndex);this.__compiled__[s.schema].normalize(s,this),t.push(s),u=o.lastIndex}return t.length?t:null},$S.prototype.matchAtStart=function(e){if(!e.length)return null;let t=this.re.schema_at_start.exec(e);if(!t)return null;let n=this.testSchemaAt(e,t[2],t[0].length);if(!n)return null;let r=new QS(e,t[2],t.index+t[1].length,t.index+t[0].length+n);return this.__compiled__[r.schema].normalize(r,this),r},$S.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(e,t,n){return e!==n[t-1]}).reverse(),ZS(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,ZS(this),this)},$S.prototype.normalize=function(e){e.schema||(e.url=`http://${e.url}`),e.schema===`mailto:`&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)},$S.prototype.onCompile=function(){};var eC=2147483647,tC=36,nC=1,rC=26,iC=38,aC=700,oC=72,sC=128,cC=`-`,lC=/^xn--/,uC=/[^\0-\x7F]/,dC=/[\x2E\u3002\uFF0E\uFF61]/g,fC={overflow:`Overflow: input needs wider integers to process`,"not-basic":`Illegal input >= 0x80 (not a basic code point)`,"invalid-input":`Invalid input`},pC=tC-nC,mC=Math.floor,hC=String.fromCharCode;function gC(e){throw RangeError(fC[e])}function _C(e,t){let n=[],r=e.length;for(;r--;)n[r]=t(e[r]);return n}function vC(e,t){let n=e.split(`@`),r=``;n.length>1&&(r=n[0]+`@`,e=n[1]),e=e.replace(dC,`.`);let i=_C(e.split(`.`),t).join(`.`);return r+i}function yC(e){let t=[],n=0,r=e.length;for(;n<r;){let i=e.charCodeAt(n++);if(i>=55296&&i<=56319&&n<r){let r=e.charCodeAt(n++);(r&64512)==56320?t.push(((i&1023)<<10)+(r&1023)+65536):(t.push(i),n--)}else t.push(i)}return t}var bC=e=>String.fromCodePoint(...e),xC=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:tC},SC=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},CC=function(e,t,n){let r=0;for(e=n?mC(e/aC):e>>1,e+=mC(e/t);e>455;r+=tC)e=mC(e/pC);return mC(r+36*e/(e+iC))},wC=function(e){let t=[],n=e.length,r=0,i=sC,a=oC,o=e.lastIndexOf(cC);o<0&&(o=0);for(let n=0;n<o;++n)e.charCodeAt(n)>=128&&gC(`not-basic`),t.push(e.charCodeAt(n));for(let s=o>0?o+1:0;s<n;){let o=r;for(let t=1,i=tC;;i+=tC){s>=n&&gC(`invalid-input`);let o=xC(e.charCodeAt(s++));o>=tC&&gC(`invalid-input`),o>mC((eC-r)/t)&&gC(`overflow`),r+=o*t;let c=i<=a?nC:i>=a+rC?rC:i-a;if(o<c)break;let l=tC-c;t>mC(eC/l)&&gC(`overflow`),t*=l}let c=t.length+1;a=CC(r-o,c,o==0),mC(r/c)>eC-i&&gC(`overflow`),i+=mC(r/c),r%=c,t.splice(r++,0,i)}return String.fromCodePoint(...t)},TC=function(e){let t=[];e=yC(e);let n=e.length,r=sC,i=0,a=oC;for(let n of e)n<128&&t.push(hC(n));let o=t.length,s=o;for(o&&t.push(cC);s<n;){let n=eC;for(let t of e)t>=r&&t<n&&(n=t);let c=s+1;n-r>mC((eC-i)/c)&&gC(`overflow`),i+=(n-r)*c,r=n;for(let n of e)if(n<r&&++i>eC&&gC(`overflow`),n===r){let e=i;for(let n=tC;;n+=tC){let r=n<=a?nC:n>=a+rC?rC:n-a;if(e<r)break;let i=e-r,o=tC-r;t.push(hC(SC(r+i%o,0))),e=mC(i/o)}t.push(hC(SC(e,0))),a=CC(i,c,s===o),i=0,++s}++i,++r}return t.join(``)},EC={version:`2.3.1`,ucs2:{decode:yC,encode:bC},decode:wC,encode:TC,toASCII:function(e){return vC(e,function(e){return uC.test(e)?`xn--`+TC(e):e})},toUnicode:function(e){return vC(e,function(e){return lC.test(e)?wC(e.slice(4).toLowerCase()):e})}},DC={default:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:`language-`,linkify:!1,typographer:!1,quotes:`“”‘’`,highlight:null,maxNesting:100},components:{core:{},block:{},inline:{}}},zero:{options:{html:!1,xhtmlOut:!1,breaks:!1,langPrefix:`language-`,linkify:!1,typographer:!1,quotes:`“”‘’`,highlight:null,maxNesting:20},components:{core:{rules:[`normalize`,`block`,`inline`,`text_join`]},block:{rules:[`paragraph`]},inline:{rules:[`text`],rules2:[`balance_pairs`,`fragments_join`]}}},commonmark:{options:{html:!0,xhtmlOut:!0,breaks:!1,langPrefix:`language-`,linkify:!1,typographer:!1,quotes:`“”‘’`,highlight:null,maxNesting:20},components:{core:{rules:[`normalize`,`block`,`inline`,`text_join`]},block:{rules:[`blockquote`,`code`,`fence`,`heading`,`hr`,`html_block`,`lheading`,`list`,`reference`,`paragraph`]},inline:{rules:[`autolink`,`backticks`,`emphasis`,`entity`,`escape`,`html_inline`,`image`,`link`,`newline`,`text`],rules2:[`balance_pairs`,`emphasis`,`fragments_join`]}}}},OC=/^(vbscript|javascript|file|data):/,kC=/^data:image\/(gif|png|jpeg|webp);/;function AC(e){let t=e.trim().toLowerCase();return!OC.test(t)||kC.test(t)}var jC=[`http:`,`https:`,`mailto:`];function MC(e){let t=Wy(e,!0);if(t.hostname&&(!t.protocol||jC.indexOf(t.protocol)>=0))try{t.hostname=EC.toASCII(t.hostname)}catch{}return jy(My(t))}function NC(e){let t=Wy(e,!0);if(t.hostname&&(!t.protocol||jC.indexOf(t.protocol)>=0))try{t.hostname=EC.toUnicode(t.hostname)}catch{}return Oy(My(t),Oy.defaultChars+`%`)}function PC(e,t){if(!(this instanceof PC))return new PC(e,t);t||xb(e)||(t=e||{},e=`default`),this.inline=new FS,this.block=new eS,this.core=new Ax,this.renderer=new tx,this.linkify=new $S,this.validateLink=AC,this.normalizeLink=MC,this.normalizeLinkText=NC,this.utils=yb,this.helpers=wb({},$b),this.options={},this.configure(e),t&&this.set(t)}PC.prototype.set=function(e){return wb(this.options,e),this},PC.prototype.configure=function(e){let t=this;if(xb(e)){let t=e;if(e=DC[t],!e)throw Error('Wrong `markdown-it` preset "'+t+`", check name`)}if(!e)throw Error("Wrong `markdown-it` preset, can't be empty");return e.options&&t.set(e.options),e.components&&Object.keys(e.components).forEach(function(n){e.components[n].rules&&t[n].ruler.enableOnly(e.components[n].rules),e.components[n].rules2&&t[n].ruler2.enableOnly(e.components[n].rules2)}),this},PC.prototype.enable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),[`core`,`block`,`inline`].forEach(function(t){n=n.concat(this[t].ruler.enable(e,!0))},this),n=n.concat(this.inline.ruler2.enable(e,!0));let r=e.filter(function(e){return n.indexOf(e)<0});if(r.length&&!t)throw Error(`MarkdownIt. Failed to enable unknown rule(s): `+r);return this},PC.prototype.disable=function(e,t){let n=[];Array.isArray(e)||(e=[e]),[`core`,`block`,`inline`].forEach(function(t){n=n.concat(this[t].ruler.disable(e,!0))},this),n=n.concat(this.inline.ruler2.disable(e,!0));let r=e.filter(function(e){return n.indexOf(e)<0});if(r.length&&!t)throw Error(`MarkdownIt. Failed to disable unknown rule(s): `+r);return this},PC.prototype.use=function(e){let t=[this].concat(Array.prototype.slice.call(arguments,1));return e.apply(e,t),this},PC.prototype.parse=function(e,t){if(typeof e!=`string`)throw Error(`Input data should be a String`);let n=new this.core.State(e,this,t);return this.core.process(n),n.tokens},PC.prototype.render=function(e,t){return t||={},this.renderer.render(this.parse(e,t),this.options,t)},PC.prototype.parseInline=function(e,t){let n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens},PC.prototype.renderInline=function(e,t){return t||={},this.renderer.render(this.parseInline(e,t),this.options,t)};var FC=new as({nodes:{doc:{content:`block+`},paragraph:{content:`inline*`,group:`block`,parseDOM:[{tag:`p`}],toDOM(){return[`p`,0]}},blockquote:{content:`block+`,group:`block`,parseDOM:[{tag:`blockquote`}],toDOM(){return[`blockquote`,0]}},horizontal_rule:{group:`block`,parseDOM:[{tag:`hr`}],toDOM(){return[`div`,[`hr`]]}},heading:{attrs:{level:{default:1}},content:`(text | image)*`,group:`block`,defining:!0,parseDOM:[{tag:`h1`,attrs:{level:1}},{tag:`h2`,attrs:{level:2}},{tag:`h3`,attrs:{level:3}},{tag:`h4`,attrs:{level:4}},{tag:`h5`,attrs:{level:5}},{tag:`h6`,attrs:{level:6}}],toDOM(e){return[`h`+e.attrs.level,0]}},code_block:{content:`text*`,group:`block`,code:!0,defining:!0,marks:``,attrs:{params:{default:``}},parseDOM:[{tag:`pre`,preserveWhitespace:`full`,getAttrs:e=>({params:e.getAttribute(`data-params`)||``})}],toDOM(e){return[`pre`,e.attrs.params?{"data-params":e.attrs.params}:{},[`code`,0]]}},ordered_list:{content:`list_item+`,group:`block`,attrs:{order:{default:1},tight:{default:!1}},parseDOM:[{tag:`ol`,getAttrs(e){return{order:e.hasAttribute(`start`)?+e.getAttribute(`start`):1,tight:e.hasAttribute(`data-tight`)}}}],toDOM(e){return[`ol`,{start:e.attrs.order==1?null:e.attrs.order,"data-tight":e.attrs.tight?`true`:null},0]}},bullet_list:{content:`list_item+`,group:`block`,attrs:{tight:{default:!1}},parseDOM:[{tag:`ul`,getAttrs:e=>({tight:e.hasAttribute(`data-tight`)})}],toDOM(e){return[`ul`,{"data-tight":e.attrs.tight?`true`:null},0]}},list_item:{content:`block+`,defining:!0,parseDOM:[{tag:`li`}],toDOM(){return[`li`,0]}},text:{group:`inline`},image:{inline:!0,attrs:{src:{},alt:{default:null},title:{default:null}},group:`inline`,draggable:!0,parseDOM:[{tag:`img[src]`,getAttrs(e){return{src:e.getAttribute(`src`),title:e.getAttribute(`title`),alt:e.getAttribute(`alt`)}}}],toDOM(e){return[`img`,e.attrs]}},hard_break:{inline:!0,group:`inline`,selectable:!1,parseDOM:[{tag:`br`}],toDOM(){return[`br`]}}},marks:{em:{parseDOM:[{tag:`i`},{tag:`em`},{style:`font-style=italic`},{style:`font-style=normal`,clearMark:e=>e.type.name==`em`}],toDOM(){return[`em`]}},strong:{parseDOM:[{tag:`strong`},{tag:`b`,getAttrs:e=>e.style.fontWeight!=`normal`&&null},{style:`font-weight=400`,clearMark:e=>e.type.name==`strong`},{style:`font-weight`,getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}],toDOM(){return[`strong`]}},link:{attrs:{href:{},title:{default:null}},inclusive:!1,parseDOM:[{tag:`a[href]`,getAttrs(e){return{href:e.getAttribute(`href`),title:e.getAttribute(`title`)}}}],toDOM(e){return[`a`,e.attrs]}},code:{code:!0,parseDOM:[{tag:`code`}],toDOM(){return[`code`]}}}});function IC(e,t){if(e.isText&&t.isText&&q.sameSet(e.marks,t.marks))return e.withText(e.text+t.text)}var LC=class{constructor(e,t){this.schema=e,this.tokenHandlers=t,this.stack=[{type:e.topNodeType,attrs:null,content:[],marks:q.none}]}top(){return this.stack[this.stack.length-1]}push(e){this.stack.length&&this.top().content.push(e)}addText(e){if(!e)return;let t=this.top(),n=t.content,r=n[n.length-1],i=this.schema.text(e,t.marks),a;r&&(a=IC(r,i))?n[n.length-1]=a:n.push(i)}openMark(e){let t=this.top();t.marks=e.addToSet(t.marks)}closeMark(e){let t=this.top();t.marks=e.removeFromSet(t.marks)}parseTokens(e){for(let t=0;t<e.length;t++){let n=e[t],r=this.tokenHandlers[n.type];if(!r)throw Error("Token type `"+n.type+"` not supported by Markdown parser");r(this,n,e,t)}}addNode(e,t,n){let r=this.top(),i=e.createAndFill(t,n,r?r.marks:[]);return i?(this.push(i),i):null}openNode(e,t){this.stack.push({type:e,attrs:t,content:[],marks:q.none})}closeNode(){let e=this.stack.pop();return this.addNode(e.type,e.attrs,e.content)}};function RC(e,t,n,r){return e.getAttrs?e.getAttrs(t,n,r):e.attrs instanceof Function?e.attrs(t):e.attrs}function zC(e,t){return e.noCloseToken||t==`code_inline`||t==`code_block`||t==`fence`}function BC(e){return e[e.length-1]==`
|
|
114
|
-
`?e.slice(0,e.length-1):e}function VC(){}function HC(e,t){let n=Object.create(null);for(let r in t){let i=t[r];if(i.block){let t=e.nodeType(i.block);zC(i,r)?n[r]=(e,n,r,a)=>{e.openNode(t,RC(i,n,r,a)),e.addText(BC(n.content)),e.closeNode()}:(n[r+`_open`]=(e,n,r,a)=>e.openNode(t,RC(i,n,r,a)),n[r+`_close`]=e=>e.closeNode())}else if(i.node){let t=e.nodeType(i.node);n[r]=(e,n,r,a)=>e.addNode(t,RC(i,n,r,a))}else if(i.mark){let t=e.marks[i.mark];zC(i,r)?n[r]=(e,n,r,a)=>{e.openMark(t.create(RC(i,n,r,a))),e.addText(BC(n.content)),e.closeMark(t)}:(n[r+`_open`]=(e,n,r,a)=>e.openMark(t.create(RC(i,n,r,a))),n[r+`_close`]=e=>e.closeMark(t))}else if(i.ignore)zC(i,r)?n[r]=VC:(n[r+`_open`]=VC,n[r+`_close`]=VC);else throw RangeError(`Unrecognized parsing spec `+JSON.stringify(i))}return n.text=(e,t)=>e.addText(t.content),n.inline=(e,t)=>e.parseTokens(t.children),n.softbreak=n.softbreak||(e=>e.addText(` `)),n}var UC=class{constructor(e,t,n){this.schema=e,this.tokenizer=t,this.tokens=n,this.tokenHandlers=HC(e,n)}parse(e,t={}){let n=new LC(this.schema,this.tokenHandlers),r;n.parseTokens(this.tokenizer.parse(e,t));do r=n.closeNode();while(n.stack.length);return r||this.schema.topNodeType.createAndFill()}};function WC(e,t){for(;++t<e.length;)if(e[t].type!=`list_item_open`)return e[t].hidden;return!1}new UC(FC,PC(`commonmark`,{html:!1}),{blockquote:{block:`blockquote`},paragraph:{block:`paragraph`},list_item:{block:`list_item`},bullet_list:{block:`bullet_list`,getAttrs:(e,t,n)=>({tight:WC(t,n)})},ordered_list:{block:`ordered_list`,getAttrs:(e,t,n)=>({order:+e.attrGet(`start`)||1,tight:WC(t,n)})},heading:{block:`heading`,getAttrs:e=>({level:+e.tag.slice(1)})},code_block:{block:`code_block`,noCloseToken:!0},fence:{block:`code_block`,getAttrs:e=>({params:e.info||``}),noCloseToken:!0},hr:{node:`horizontal_rule`},image:{node:`image`,getAttrs:e=>({src:e.attrGet(`src`),title:e.attrGet(`title`)||null,alt:e.children[0]&&e.children[0].content||null})},hardbreak:{node:`hard_break`},em:{mark:`em`},strong:{mark:`strong`},link:{mark:`link`,getAttrs:e=>({href:e.attrGet(`href`),title:e.attrGet(`title`)||null})},code_inline:{mark:`code`,noCloseToken:!0}});var GC={open:``,close:``,mixable:!0},KC=new class{constructor(e,t,n={}){this.nodes=e,this.marks=t,this.options=n}serialize(e,t={}){t=Object.assign({},this.options,t);let n=new YC(this.nodes,this.marks,t);return n.renderContent(e),n.out}}({blockquote(e,t){e.wrapBlock(`> `,null,t,()=>e.renderContent(t))},code_block(e,t){let n=t.textContent.match(/`{3,}/gm),r=n?n.sort().slice(-1)[0]+"`":"```";e.write(r+(t.attrs.params||``)+`
|
|
115
|
-
`),e.text(t.textContent,!1),e.write(`
|
|
116
|
-
`),e.write(r),e.closeBlock(t)},heading(e,t){e.write(e.repeat(`#`,t.attrs.level)+` `),e.renderInline(t,!1),e.closeBlock(t)},horizontal_rule(e,t){e.write(t.attrs.markup||`---`),e.closeBlock(t)},bullet_list(e,t){e.renderList(t,` `,()=>(t.attrs.bullet||`*`)+` `)},ordered_list(e,t){let n=t.attrs.order??1,r=String(n+t.childCount-1).length,i=e.repeat(` `,r+2);e.renderList(t,i,t=>{let i=String(n+t);return e.repeat(` `,r-i.length)+i+`. `})},list_item(e,t){e.renderContent(t)},paragraph(e,t){e.renderInline(t),e.closeBlock(t)},image(e,t){e.write(`]/g,`\\$&`)+(t.attrs.title?` "`+t.attrs.title.replace(/"/g,`\\"`)+`"`:``)+`)`)},hard_break(e,t,n,r){for(let i=r+1;i<n.childCount;i++)if(n.child(i).type!=t.type){e.write(`\\
|
|
117
|
-
`);return}},text(e,t){e.text(t.text,!e.inAutolink)}},{em:{open:`*`,close:`*`,mixable:!0,expelEnclosingWhitespace:!0},strong:{open:`**`,close:`**`,mixable:!0,expelEnclosingWhitespace:!0},link:{open(e,t,n,r){return e.inAutolink=JC(t,n,r),e.inAutolink?`<`:`[`},close(e,t,n,r){let{inAutolink:i}=e;return e.inAutolink=void 0,i?`>`:`](`+t.attrs.href.replace(/[\(\)"]/g,`\\$&`)+(t.attrs.title?` "${t.attrs.title.replace(/"/g,`\\"`)}"`:``)+`)`},mixable:!0},code:{open(e,t,n,r){return qC(n.child(r),-1)},close(e,t,n,r){return qC(n.child(r-1),1)},escape:!1}});function qC(e,t){let n=/`+/g,r,i=0;if(e.isText)for(;r=n.exec(e.text);)i=Math.max(i,r[0].length);let a=i>0&&t>0?" `":"`";for(let e=0;e<i;e++)a+="`";return i>0&&t<0&&(a+=` `),a}function JC(e,t,n){if(e.attrs.title||!/^\w+:/.test(e.attrs.href))return!1;let r=t.child(n);return!r.isText||r.text!=e.attrs.href||r.marks[r.marks.length-1]!=e?!1:n==t.childCount-1||!e.isInSet(t.child(n+1).marks)}var YC=class{constructor(e,t,n){this.nodes=e,this.marks=t,this.options=n,this.delim=``,this.out=``,this.closed=null,this.inAutolink=void 0,this.atBlockStart=!1,this.inTightList=!1,this.options.tightLists===void 0&&(this.options.tightLists=!1),this.options.hardBreakNodeName===void 0&&(this.options.hardBreakNodeName=`hard_break`)}flushClose(e=2){if(this.closed){if(this.atBlank()||(this.out+=`
|
|
118
|
-
`),e>1){let t=this.delim,n=/\s+$/.exec(t);n&&(t=t.slice(0,t.length-n[0].length));for(let n=1;n<e;n++)this.out+=t+`
|
|
119
|
-
`}this.closed=null}}getMark(e){let t=this.marks[e];if(!t){if(this.options.strict!==!1)throw Error(`Mark type \`${e}\` not supported by Markdown renderer`);t=GC}return t}wrapBlock(e,t,n,r){let i=this.delim;this.write(t??e),this.delim+=e,r(),this.delim=i,this.closeBlock(n)}atBlank(){return/(^|\n)$/.test(this.out)}ensureNewLine(){this.atBlank()||(this.out+=`
|
|
120
|
-
`)}write(e){this.flushClose(),this.delim&&this.atBlank()&&(this.out+=this.delim),e&&(this.out+=e)}closeBlock(e){this.closed=e}text(e,t=!0){let n=e.split(`
|
|
121
|
-
`);for(let e=0;e<n.length;e++)this.write(),!t&&n[e][0]==`[`&&/(^|[^\\])\!$/.test(this.out)&&(this.out=this.out.slice(0,this.out.length-1)+`\\!`),this.out+=t?this.esc(n[e],this.atBlockStart):n[e],e!=n.length-1&&(this.out+=`
|
|
122
|
-
`)}render(e,t,n){if(this.nodes[e.type.name])this.nodes[e.type.name](this,e,t,n);else if(this.options.strict!==!1)throw Error("Token type `"+e.type.name+"` not supported by Markdown renderer");else e.type.isLeaf||(e.type.inlineContent?this.renderInline(e):this.renderContent(e),e.isBlock&&this.closeBlock(e))}renderContent(e){e.forEach((t,n,r)=>this.render(t,e,r))}renderInline(e,t=!0){this.atBlockStart=t;let n=[],r=``,i=(t,i,a)=>{let o=t?t.marks:[];t&&t.type.name===this.options.hardBreakNodeName&&(o=o.filter(t=>{if(a+1==e.childCount)return!1;let n=e.child(a+1);return t.isInSet(n.marks)&&(!n.isText||/\S/.test(n.text))}));let s=r;if(r=``,t&&t.isText&&o.some(e=>{let t=this.getMark(e.type.name);return t&&t.expelEnclosingWhitespace&&!e.isInSet(n)})){let[e,r,i]=/^(\s*)(.*)$/m.exec(t.text);r&&(s+=r,t=i?t.withText(i):null,t||(o=n))}if(t&&t.isText&&o.some(t=>{let n=this.getMark(t.type.name);return n&&n.expelEnclosingWhitespace&&!this.isMarkAhead(e,a+1,t)})){let[e,i,a]=/^(.*?)(\s*)$/m.exec(t.text);a&&(r=a,t=i?t.withText(i):null,t||(o=n))}let c=o.length?o[o.length-1]:null,l=c&&this.getMark(c.type.name).escape===!1,u=o.length-+!!l;outer:for(let e=0;e<u;e++){let t=o[e];if(!this.getMark(t.type.name).mixable)break;for(let r=0;r<n.length;r++){let i=n[r];if(!this.getMark(i.type.name).mixable)break;if(t.eq(i)){e>r?o=o.slice(0,r).concat(t).concat(o.slice(r,e)).concat(o.slice(e+1,u)):r>e&&(o=o.slice(0,e).concat(o.slice(e+1,r)).concat(t).concat(o.slice(r,u)));continue outer}}}let d=0;for(;d<Math.min(n.length,u)&&o[d].eq(n[d]);)++d;for(;d<n.length;)this.text(this.markString(n.pop(),!1,e,a),!1);if(s&&this.text(s),t){for(;n.length<u;){let t=o[n.length];n.push(t),this.text(this.markString(t,!0,e,a),!1),this.atBlockStart=!1}l&&t.isText?this.text(this.markString(c,!0,e,a)+t.text+this.markString(c,!1,e,a+1),!1):this.render(t,e,a),this.atBlockStart=!1}t?.isText&&t.nodeSize>0&&(this.atBlockStart=!1)};e.forEach(i),i(null,0,e.childCount),this.atBlockStart=!1}renderList(e,t,n){this.closed&&this.closed.type==e.type?this.flushClose(3):this.inTightList&&this.flushClose(1);let r=e.attrs.tight===void 0?this.options.tightLists:e.attrs.tight,i=this.inTightList;this.inTightList=r,e.forEach((i,a,o)=>{o&&r&&this.flushClose(1),this.wrapBlock(t,n(o),e,()=>this.render(i,e,o))}),this.inTightList=i}esc(e,t=!1){return e=e.replace(/[`*\\~\[\]_]/g,(t,n)=>t==`_`&&n>0&&n+1<e.length&&e[n-1].match(/\w/)&&e[n+1].match(/\w/)?t:`\\`+t),t&&(e=e.replace(/^(\+[ ]|[\-*>])/,`\\$&`).replace(/^(\s*)(#{1,6})(\s|$)/,`$1\\$2$3`).replace(/^(\s*\d+)\.\s/,`$1\\. `)),this.options.escapeExtraCharacters&&(e=e.replace(this.options.escapeExtraCharacters,`\\$&`)),e}quote(e){let t=e.indexOf(`"`)==-1?`""`:e.indexOf(`'`)==-1?`''`:`()`;return t[0]+e+t[1]}repeat(e,t){let n=``;for(let r=0;r<t;r++)n+=e;return n}markString(e,t,n,r){let i=this.getMark(e.type.name),a=t?i.open:i.close;return typeof a==`string`?a:a(this,e,n,r)}getEnclosingWhitespace(e){return{leading:(e.match(/^(\s+)/)||[void 0])[0],trailing:(e.match(/(\s+)$/)||[void 0])[0]}}isMarkAhead(e,t,n){for(;;t++){if(t>=e.childCount)return!1;let r=e.child(t);if(r.type.name!=this.options.hardBreakNodeName)return n.isInSet(r.marks);t++}}},XC=t(n(((e,t)=>{var n=!0,r=!1,i=!1;t.exports=function(e,t){t&&(n=!t.enabled,r=!!t.label,i=!!t.labelAfter),e.core.ruler.after(`inline`,`github-task-lists`,function(e){for(var t=e.tokens,r=2;r<t.length;r++)s(t,r)&&(c(t[r],e.Token),a(t[r-2],`class`,`task-list-item`+(n?``:` enabled`)),a(t[o(t,r-2)],`class`,`contains-task-list`))})};function a(e,t,n){var r=e.attrIndex(t),i=[t,n];r<0?e.attrPush(i):e.attrs[r]=i}function o(e,t){for(var n=e[t].level-1,r=t-1;r>=0;r--)if(e[r].level===n)return r;return-1}function s(e,t){return p(e[t])&&m(e[t-1])&&h(e[t-2])&&g(e[t])}function c(e,t){if(e.children.unshift(l(e,t)),e.children[1].content=e.children[1].content.slice(3),e.content=e.content.slice(3),r)if(i){e.children.pop();var n=`task-item-`+Math.ceil(1e4*1e3*Math.random()-1e3);e.children[0].content=e.children[0].content.slice(0,-1)+` id="`+n+`">`,e.children.push(f(e.content,n,t))}else e.children.unshift(u(t)),e.children.push(d(t))}function l(e,t){var r=new t(`html_inline`,``,0),i=n?` disabled="" `:``;return e.content.indexOf(`[ ] `)===0?r.content=`<input class="task-list-item-checkbox"`+i+`type="checkbox">`:(e.content.indexOf(`[x] `)===0||e.content.indexOf(`[X] `)===0)&&(r.content=`<input class="task-list-item-checkbox" checked=""`+i+`type="checkbox">`),r}function u(e){var t=new e(`html_inline`,``,0);return t.content=`<label>`,t}function d(e){var t=new e(`html_inline`,``,0);return t.content=`</label>`,t}function f(e,t,n){var r=new n(`html_inline`,``,0);return r.content=`<label class="task-list-item-label" for="`+t+`">`+e+`</label>`,r.attrs=[{for:t}],r}function p(e){return e.type===`inline`}function m(e){return e.type===`paragraph_open`}function h(e){return e.type===`list_item_open`}function g(e){return e.content.indexOf(`[ ] `)===0||e.content.indexOf(`[x] `)===0||e.content.indexOf(`[X] `)===0}}))(),1),ZC=Object.defineProperty,QC=(e,t,n)=>t in e?ZC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$C=(e,t,n)=>(QC(e,typeof t==`symbol`?t:t+``,n),n),ew=wh.create({name:`markdownTightLists`,addOptions:()=>({tight:!0,tightClass:`tight`,listTypes:[`bulletList`,`orderedList`]}),addGlobalAttributes(){return[{types:this.options.listTypes,attributes:{tight:{default:this.options.tight,parseHTML:e=>e.getAttribute(`data-tight`)===`true`||!e.querySelector(`p`),renderHTML:e=>({class:e.tight?this.options.tightClass:null,"data-tight":e.tight?`true`:null})}}}]},addCommands(){var e=this;return{toggleTight:function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return n=>{let{editor:r,commands:i}=n;function a(e){if(!r.isActive(e))return!1;let n=r.getAttributes(e);return i.updateAttributes(e,{tight:t??!(n!=null&&n.tight)})}return e.options.listTypes.some(e=>a(e))}}}}}),tw=PC();function nw(e,t){return tw.inline.State.prototype.scanDelims.call({src:e,posMax:e.length}),new tw.inline.State(e,null,null,[]).scanDelims(t,!0)}function rw(e,t,n,r){let i=e.substring(0,n)+e.substring(n+t.length);return i=i.substring(0,n+r)+t+i.substring(n+r),i}function iw(e,t,n,r){let i=n,a=e;for(;i<r&&!nw(a,i).can_open;)a=rw(a,t,i,1),i++;return{text:a,from:i,to:r}}function aw(e,t,n,r){let i=r,a=e;for(;i>n&&!nw(a,i).can_close;)a=rw(a,t,i,-1),i--;return{text:a,from:n,to:i}}function ow(e,t,n,r){let i={text:e,from:n,to:r};return i=iw(i.text,t,i.from,i.to),i=aw(i.text,t,i.from,i.to),i.to-i.from<t.length+1&&(i.text=i.text.substring(0,i.from)+i.text.substring(i.to+t.length)),i.text}var sw=class extends YC{constructor(e,t,n){super(e,t,n??{}),$C(this,`inTable`,!1),this.inlines=[]}render(e,t,n){super.render(e,t,n);let r=this.inlines[this.inlines.length-1];if(r!=null&&r.start&&r!=null&&r.end){let{delimiter:e,start:t,end:n}=this.normalizeInline(r);this.out=ow(this.out,e,t,n),this.inlines.pop()}}markString(e,t,n,r){let i=this.marks[e.type.name];if(i.expelEnclosingWhitespace)if(t)this.inlines.push({start:this.out.length,delimiter:i.open});else{let e=this.inlines.pop();this.inlines.push({...e,end:this.out.length})}return super.markString(e,t,n,r)}normalizeInline(e){let{start:t,end:n}=e;for(;this.out.charAt(t).match(/\s/);)t++;return{...e,start:t}}},cw=mh.create({name:`markdownHTMLMark`,addStorage(){return{markdown:{serialize:{open(e,t){return this.editor.storage.markdown.options.html?lw(t)?.[0]??``:(console.warn(`Tiptap Markdown: "${t.type.name}" mark is only available in html mode`),``)},close(e,t){return this.editor.storage.markdown.options.html?lw(t)?.[1]??``:``}},parse:{}}}}});function lw(e){let t=e.type.schema,n=t.text(` `,[e]),r=ih(K.from(n),t).match(/^(<.*?>) (<\/.*?>)$/);return r?[r[1],r[2]]:null}function uw(e){let t=`<body>${e}</body>`;return new window.DOMParser().parseFromString(t,`text/html`).body}function dw(e){return e?.replace(/</g,`<`).replace(/>/g,`>`)}function fw(e){let t=e.parentElement,n=t.cloneNode();for(;t.firstChild&&t.firstChild!==e;)n.appendChild(t.firstChild);n.childNodes.length>0&&t.parentElement.insertBefore(n,t),t.parentElement.insertBefore(e,t),t.childNodes.length===0&&t.remove()}function pw(e){let t=e.parentNode;for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}var mw=E_.create({name:`markdownHTMLNode`,addStorage(){return{markdown:{serialize(e,t,n){this.editor.storage.markdown.options.html?e.write(hw(t,n)):(console.warn(`Tiptap Markdown: "${t.type.name}" node is only available in html mode`),e.write(`[${t.type.name}]`)),t.isBlock&&e.closeBlock(t)},parse:{}}}}});function hw(e,t){let n=e.type.schema,r=ih(K.from(e),n);return e.isBlock&&(t instanceof K||t.type.name===n.topNodeType.name)?gw(r):r}function gw(e){let t=uw(e).firstElementChild;return t.innerHTML=t.innerHTML.trim()?`
|
|
123
|
-
${t.innerHTML}
|
|
124
|
-
`:`
|
|
125
|
-
`,t.outerHTML}var _w=E_.create({name:`blockquote`}).extend({addStorage(){return{markdown:{serialize:KC.nodes.blockquote,parse:{}}}}}),vw=E_.create({name:`bulletList`}).extend({addStorage(){return{markdown:{serialize(e,t){return e.renderList(t,` `,()=>(this.editor.storage.markdown.options.bulletListMarker||`-`)+` `)},parse:{}}}}}),yw=E_.create({name:`codeBlock`}).extend({addStorage(){return{markdown:{serialize(e,t){e.write("```"+(t.attrs.language||``)+`
|
|
126
|
-
`),e.text(t.textContent,!1),e.ensureNewLine(),e.write("```"),e.closeBlock(t)},parse:{setup(e){e.set({langPrefix:this.options.languageClassPrefix??`language-`})},updateDOM(e){e.innerHTML=e.innerHTML.replace(/\n<\/code><\/pre>/g,`</code></pre>`)}}}}}}),bw=E_.create({name:`hardBreak`}).extend({addStorage(){return{markdown:{serialize(e,t,n,r){for(let i=r+1;i<n.childCount;i++)if(n.child(i).type!=t.type){e.write(e.inTable?mw.storage.markdown.serialize.call(this,e,t,n):`\\
|
|
127
|
-
`);return}},parse:{}}}}}),xw=E_.create({name:`heading`}).extend({addStorage(){return{markdown:{serialize:KC.nodes.heading,parse:{}}}}}),Sw=E_.create({name:`horizontalRule`}).extend({addStorage(){return{markdown:{serialize:KC.nodes.horizontal_rule,parse:{}}}}}),Cw=E_.create({name:`image`}).extend({addStorage(){return{markdown:{serialize:KC.nodes.image,parse:{}}}}}),ww=E_.create({name:`listItem`}).extend({addStorage(){return{markdown:{serialize:KC.nodes.list_item,parse:{}}}}}),Tw=E_.create({name:`orderedList`});function Ew(e,t,n){let r=0;for(;n-r>0&&t.child(n-r-1).type.name===e.type.name;r++);return r}var Dw=Tw.extend({addStorage(){return{markdown:{serialize(e,t,n,r){let i=t.attrs.start||1,a=String(i+t.childCount-1).length,o=e.repeat(` `,a+2),s=Ew(t,n,r)%2?`) `:`. `;e.renderList(t,o,t=>{let n=String(i+t);return e.repeat(` `,a-n.length)+n+s})},parse:{}}}}}),Ow=E_.create({name:`paragraph`}).extend({addStorage(){return{markdown:{serialize:KC.nodes.paragraph,parse:{}}}}});function kw(e){var t;return(e==null||(t=e.content)==null?void 0:t.content)??[]}var Aw=E_.create({name:`table`}).extend({addStorage(){return{markdown:{serialize(e,t,n){if(!Mw(t)){mw.storage.markdown.serialize.call(this,e,t,n);return}e.inTable=!0,t.forEach((t,n,r)=>{if(e.write(`| `),t.forEach((t,n,r)=>{r&&e.write(` | `);let i=t.firstChild;i.textContent.trim()&&e.renderInline(i)}),e.write(` |`),e.ensureNewLine(),!r){let n=Array.from({length:t.childCount}).map(()=>`---`).join(` | `);e.write(`| ${n} |`),e.ensureNewLine()}}),e.closeBlock(t),e.inTable=!1},parse:{}}}}});function jw(e){return e.attrs.colspan>1||e.attrs.rowspan>1}function Mw(e){let t=kw(e),n=t[0],r=t.slice(1);return!(kw(n).some(e=>e.type.name!==`tableHeader`||jw(e)||e.childCount>1)||r.some(e=>kw(e).some(e=>e.type.name===`tableHeader`||jw(e)||e.childCount>1)))}var Nw=[_w,vw,yw,bw,xw,Sw,mw,Cw,ww,Dw,Ow,Aw,E_.create({name:`taskItem`}).extend({addStorage(){return{markdown:{serialize(e,t){let n=t.attrs.checked?`[x]`:`[ ]`;e.write(`${n} `),e.renderContent(t)},parse:{updateDOM(e){[...e.querySelectorAll(`.task-list-item`)].forEach(e=>{let t=e.querySelector(`input`);e.setAttribute(`data-type`,`taskItem`),t&&(e.setAttribute(`data-checked`,t.checked),t.remove())})}}}}}}),E_.create({name:`taskList`}).extend({addStorage(){return{markdown:{serialize:vw.storage.markdown.serialize,parse:{setup(e){e.use(XC.default)},updateDOM(e){[...e.querySelectorAll(`.contains-task-list`)].forEach(e=>{e.setAttribute(`data-type`,`taskList`)})}}}}}}),E_.create({name:`text`}).extend({addStorage(){return{markdown:{serialize(e,t){e.text(dw(t.text))},parse:{}}}}}),mh.create({name:`bold`}).extend({addStorage(){return{markdown:{serialize:KC.marks.strong,parse:{}}}}}),mh.create({name:`code`}).extend({addStorage(){return{markdown:{serialize:KC.marks.code,parse:{}}}}}),cw,mh.create({name:`italic`}).extend({addStorage(){return{markdown:{serialize:KC.marks.em,parse:{}}}}}),mh.create({name:`link`}).extend({addStorage(){return{markdown:{serialize:KC.marks.link,parse:{}}}}}),mh.create({name:`strike`}).extend({addStorage(){return{markdown:{serialize:{open:`~~`,close:`~~`,expelEnclosingWhitespace:!0},parse:{}}}}})];function Pw(e){let t=e.storage?.markdown,n=Nw.find(t=>t.name===e.name)?.storage.markdown;return t||n?{...n,...t}:null}var Fw=class{constructor(e){$C(this,`editor`,null),this.editor=e}serialize(e){let t=new sw(this.nodes,this.marks,{hardBreakNodeName:bw.name});return t.renderContent(e),t.out}get nodes(){return{...Object.fromEntries(Object.keys(this.editor.schema.nodes).map(e=>[e,this.serializeNode(mw)])),...Object.fromEntries(this.editor.extensionManager.extensions.filter(e=>e.type===`node`&&this.serializeNode(e)).map(e=>[e.name,this.serializeNode(e)])??[])}}get marks(){return{...Object.fromEntries(Object.keys(this.editor.schema.marks).map(e=>[e,this.serializeMark(cw)])),...Object.fromEntries(this.editor.extensionManager.extensions.filter(e=>e.type===`mark`&&this.serializeMark(e)).map(e=>[e.name,this.serializeMark(e)])??[])}}serializeNode(e){var t;return(t=Pw(e))==null||(t=t.serialize)==null?void 0:t.bind({editor:this.editor,options:e.options})}serializeMark(e){let t=Pw(e)?.serialize;return t?{...t,open:typeof t.open==`function`?t.open.bind({editor:this.editor,options:e.options}):t.open,close:typeof t.close==`function`?t.close.bind({editor:this.editor,options:e.options}):t.close}:null}},Iw=class{constructor(e,t){$C(this,`editor`,null),$C(this,`md`,null);let{html:n,linkify:r,breaks:i}=t;this.editor=e,this.md=this.withPatchedRenderer(PC({html:n,linkify:r,breaks:i}))}parse(e){let{inline:t}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(typeof e==`string`){this.editor.extensionManager.extensions.forEach(e=>{var t;return(t=Pw(e))==null||(t=t.parse)==null||(t=t.setup)==null?void 0:t.call({editor:this.editor,options:e.options},this.md)});let n=uw(this.md.render(e));return this.editor.extensionManager.extensions.forEach(e=>{var t;return(t=Pw(e))==null||(t=t.parse)==null||(t=t.updateDOM)==null?void 0:t.call({editor:this.editor,options:e.options},n)}),this.normalizeDOM(n,{inline:t,content:e}),n.innerHTML}return e}normalizeDOM(e,t){let{inline:n,content:r}=t;return this.normalizeBlocks(e),e.querySelectorAll(`*`).forEach(e=>{e.nextSibling?.nodeType===Node.TEXT_NODE&&!e.closest(`pre`)&&(e.nextSibling.textContent=e.nextSibling.textContent.replace(/^\n/,``))}),n&&this.normalizeInline(e,r),e}normalizeBlocks(e){let t=Object.values(this.editor.schema.nodes).filter(e=>e.isBlock).map(e=>e.spec.parseDOM?.map(e=>e.tag)).flat().filter(Boolean).join(`,`);t&&[...e.querySelectorAll(t)].forEach(e=>{e.parentElement.matches(`p`)&&fw(e)})}normalizeInline(e,t){var n;if((n=e.firstElementChild)!=null&&n.matches(`p`)){let n=e.firstElementChild,{nextElementSibling:r}=n,i=t.match(/^\s+/)?.[0]??``,a=r?``:t.match(/\s+$/)?.[0]??``;if(t.match(/^\n\n/)){n.innerHTML=`${n.innerHTML}${a}`;return}pw(n),e.innerHTML=`${i}${e.innerHTML}${a}`}}withPatchedRenderer(e){let t=e=>function(){let t=e(...arguments);return t===`
|
|
128
|
-
`?t:t[t.length-1]===`
|
|
129
|
-
`?t.slice(0,-1):t};return e.renderer.rules.hardbreak=t(e.renderer.rules.hardbreak),e.renderer.rules.softbreak=t(e.renderer.rules.softbreak),e.renderer.rules.fence=t(e.renderer.rules.fence),e.renderer.rules.code_block=t(e.renderer.rules.code_block),e.renderer.renderToken=t(e.renderer.renderToken.bind(e.renderer)),e}},Lw=wh.create({name:`markdownClipboard`,addOptions(){return{transformPastedText:!1,transformCopiedText:!1}},addProseMirrorPlugins(){return[new ul({key:new pl(`markdownClipboard`),props:{clipboardTextParser:(e,t,n)=>{if(n||!this.options.transformPastedText)return null;let r=this.editor.storage.markdown.parser.parse(e,{inline:!0});return us.fromSchema(this.editor.schema).parseSlice(uw(r),{preserveWhitespace:!0,context:t})},clipboardTextSerializer:e=>this.options.transformCopiedText?this.editor.storage.markdown.serializer.serialize(e.content):null}})]}}),Rw=wh.create({name:`markdown`,priority:50,addOptions(){return{html:!0,tightLists:!0,tightListClass:`tight`,bulletListMarker:`-`,linkify:!1,breaks:!1,transformPastedText:!1,transformCopiedText:!1}},addCommands(){let e=__.Commands.config.addCommands();return{setContent:(t,n,r)=>i=>e.setContent(i.editor.storage.markdown.parser.parse(t),n,r)(i),insertContentAt:(t,n,r)=>i=>e.insertContentAt(t,i.editor.storage.markdown.parser.parse(n,{inline:!0}),r)(i)}},onBeforeCreate(){this.editor.storage.markdown={options:{...this.options},parser:new Iw(this.editor,this.options),serializer:new Fw(this.editor),getMarkdown:()=>this.editor.storage.markdown.serializer.serialize(this.editor.state.doc)},this.editor.options.initialContent=this.editor.options.content,this.editor.options.content=this.editor.storage.markdown.parser.parse(this.editor.options.content)},onCreate(){this.editor.options.content=this.editor.options.initialContent,delete this.editor.options.initialContent},addStorage(){return{}},addExtensions(){return[ew.configure({tight:this.options.tightLists,tightClass:this.options.tightListClass}),Lw.configure({transformPastedText:this.options.transformPastedText,transformCopiedText:this.options.transformCopiedText})]}}),zw=E_.create({name:`token`,group:`inline`,inline:!0,atom:!0,selectable:!0,addAttributes(){return{kind:{default:`file`},label:{default:``},text:{default:``}}},parseHTML(){return[{tag:`span[data-token]`}]},renderHTML({node:e,HTMLAttributes:t}){return[`span`,Jm(t,{"data-token":e.attrs.kind,class:`pe-token`}),e.attrs.label||e.attrs.text]},renderText({node:e}){return e.attrs.text},addStorage(){return{markdown:{serialize(e,t){e.write(t.attrs.text)},parse:{}}}}});function Bw(e){let{char:t,allowSpaces:n,allowToIncludeChar:r,allowedPrefixes:i,startOfLine:a,$position:o}=e,s=n&&!r,c=k_(t),l=RegExp(`\\s${c}$`),u=a?`^`:``,d=r?``:c,f=RegExp(s?`${u}${c}.*?(?=\\s${d}|$)`:`${u}(?:^)?${c}[^\\s${d}]*`,`gm`),p=o.nodeBefore?.isText&&o.nodeBefore.text;if(!p)return null;let m=o.pos-p.length,h=Array.from(p.matchAll(f)).pop();if(!h||h.input===void 0||h.index===void 0)return null;let g=h.input.slice(Math.max(0,h.index-1),h.index),_=RegExp(`^[${i?.join(``)}\0]?$`).test(g);if(i!==null&&!_)return null;let v=m+h.index,y=v+h[0].length;return s&&l.test(p.slice(y-1,y+1))&&(h[0]+=` `,y+=1),v<o.pos&&y>=o.pos?{range:{from:v,to:y},query:h[0].slice(t.length),text:h[0]}:null}var Vw=new pl(`suggestion`);function Hw({pluginKey:e=Vw,editor:t,char:n=`@`,allowSpaces:r=!1,allowToIncludeChar:i=!1,allowedPrefixes:a=[` `],startOfLine:o=!1,decorationTag:s=`span`,decorationClass:c=`suggestion`,decorationContent:l=``,decorationEmptyClass:u=`is-empty`,command:d=()=>null,items:f=()=>[],render:p=()=>({}),allow:m=()=>!0,findSuggestionMatch:h=Bw}){let g,_=p?.(),v=new ul({key:e,view(){return{update:async(e,n)=>{var r,i,a,o,s;let c=this.key?.getState(n),l=this.key?.getState(e.state),u=c.active&&l.active&&c.range.from!==l.range.from,p=!c.active&&l.active,m=c.active&&!l.active,h=!p&&!m&&c.query!==l.query,v=p||u&&h,y=h||u,b=m||u&&h;if(!v&&!y&&!b)return;let x=b&&!v?c:l,S=e.dom.querySelector(`[data-decoration-id="${x.decorationId}"]`);g={editor:t,range:x.range,query:x.query,text:x.text,items:[],command:e=>d({editor:t,range:x.range,props:e}),decorationNode:S,clientRect:S?()=>{let{decorationId:n}=this.key?.getState(t.state);return e.dom.querySelector(`[data-decoration-id="${n}"]`)?.getBoundingClientRect()||null}:null},v&&((r=_?.onBeforeStart)==null||r.call(_,g)),y&&((i=_?.onBeforeUpdate)==null||i.call(_,g)),(y||v)&&(g.items=await f({editor:t,query:x.query})),b&&((a=_?.onExit)==null||a.call(_,g)),y&&((o=_?.onUpdate)==null||o.call(_,g)),v&&((s=_?.onStart)==null||s.call(_,g))},destroy:()=>{var e;g&&((e=_?.onExit)==null||e.call(_,g))}}},state:{init(){return{active:!1,range:{from:0,to:0},query:null,text:null,composing:!1}},apply(e,s,c,l){let{isEditable:u}=t,{composing:d}=t.view,{selection:f}=e,{empty:p,from:g}=f,_={...s};if(_.composing=d,u&&(p||t.view.composing)){(g<s.range.from||g>s.range.to)&&!d&&!s.composing&&(_.active=!1);let e=h({char:n,allowSpaces:r,allowToIncludeChar:i,allowedPrefixes:a,startOfLine:o,$position:f.$from}),c=`id_${Math.floor(Math.random()*4294967295)}`;e&&m({editor:t,state:l,range:e.range,isActive:s.active})?(_.active=!0,_.decorationId=s.decorationId?s.decorationId:c,_.range=e.range,_.query=e.query,_.text=e.text):_.active=!1}else _.active=!1;return _.active||(_.decorationId=null,_.range={from:0,to:0},_.query=null,_.text=null),_}},props:{handleKeyDown(e,t){let{active:n,range:r}=v.getState(e.state);return n&&(_?.onKeyDown)?.call(_,{view:e,event:t,range:r})||!1},decorations(e){let{active:t,range:n,decorationId:r,query:i}=v.getState(e);if(!t)return null;let a=!i?.length,o=[c];return a&&o.push(u),Zf.create(e.doc,[Jf.inline(n.from,n.to,{nodeName:s,class:o.join(` `),"data-decoration-id":r,"data-decoration-content":l})])}}});return v}function Uw(e){return`prompt-suggestion-option-${e}`}var Ww=(0,W.forwardRef)(function({items:e,command:t,emptyNote:n,onActiveChange:r},i){let[a,o]=(0,W.useState)(0);return(0,W.useEffect)(()=>o(0),[e]),(0,W.useEffect)(()=>{r?.(e.length>0?Uw(a):null)},[e,a,r]),(0,W.useImperativeHandle)(i,()=>({onKeyDown:n=>{if(e.length===0)return!1;if(n.key===`ArrowDown`)return o(t=>(t+1)%e.length),!0;if(n.key===`ArrowUp`)return o(t=>(t-1+e.length)%e.length),!0;if(n.key===`Enter`||n.key===`Tab`){let n=e[a];return n&&t(n),!0}return!1}})),e.length===0?(0,G.jsx)(`div`,{role:`status`,className:`w-64 rounded-md border border-border bg-card p-2 text-sm text-muted-foreground shadow-md`,children:n??`No matches`}):(0,G.jsx)(`div`,{role:`listbox`,"aria-label":`Suggestions`,className:`max-h-72 w-64 overflow-y-auto rounded-md border border-border bg-card p-1 text-sm shadow-md`,children:e.map((n,r)=>(0,G.jsxs)(`div`,{children:[n.group&&(r===0||e[r-1]?.group!==n.group)&&(0,G.jsx)(`div`,{className:`px-2 pb-1 pt-2 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground/70`,children:n.group}),(0,G.jsxs)(`button`,{type:`button`,id:Uw(r),role:`option`,"aria-selected":r===a,...n.title?{title:n.title}:{},onMouseDown:e=>{e.preventDefault(),t(n)},onMouseEnter:()=>o(r),className:B(`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left`,r===a?`bg-accent text-accent-foreground`:`hover:bg-accent/60`),children:[(0,G.jsx)(`span`,{className:`truncate font-medium`,children:n.label}),n.hint&&(0,G.jsx)(`span`,{className:`ml-auto truncate text-xs text-muted-foreground`,children:n.hint})]})]},n.id))})});function Gw(e,t){if(!t)return;let n=window.innerHeight-t.bottom;e.style.left=`${t.left}px`,n<320?(e.style.top=``,e.style.bottom=`${window.innerHeight-t.top+4}px`):(e.style.bottom=``,e.style.top=`${t.bottom+4}px`)}function Kw(e){let t=null,n=null,r=null,i=null,a=null,o=!1,s=e=>{a&&(e?a.setAttribute(`aria-activedescendant`,e):a.removeAttribute(`aria-activedescendant`))},c=i=>{let{items:c,command:l}=i,u=c.length===0&&!i.query?e.emptyNote:void 0,d=!o&&(c.length>0||!!u);t&&(t.style.display=d?``:`none`),a?.setAttribute(`aria-expanded`,d?`true`:`false`),d||s(null),n?.render((0,W.createElement)(Ww,{items:c,command:l,emptyNote:u,onActiveChange:s,ref:e=>{r=e}}))},l=()=>{t&&Gw(t,i?.()??null)};return{onStart(e){o=!1,t=document.createElement(`div`),t.style.position=`fixed`,t.style.zIndex=`50`,document.body.appendChild(t),n=(0,ot.createRoot)(t),i=e.clientRect??null,a=e.editor?.view.dom??null,l(),c(e),window.addEventListener(`scroll`,l,!0),window.addEventListener(`resize`,l)},onUpdate(e){i=e.clientRect??null,l(),c(e)},onKeyDown(e){return e.event.key===`Escape`?!t||t.style.display===`none`?!1:(o=!0,t.style.display=`none`,a?.setAttribute(`aria-expanded`,`false`),s(null),!0):r?.onKeyDown(e.event)??!1},onExit(){o=!1,window.removeEventListener(`scroll`,l,!0),window.removeEventListener(`resize`,l),a?.setAttribute(`aria-expanded`,`false`),s(null),a=null,n?.unmount(),t?.remove(),n=null,t=null,r=null,i=null}}}function qw(e){return wh.create({name:`suggestion-${e.key}`,addProseMirrorPlugins(){return[Hw({editor:this.editor,char:e.char,pluginKey:new pl(e.key),items:({query:t})=>e.items(t.toLowerCase()),command:({editor:t,range:n,props:r})=>e.onSelect(r,{editor:t,range:n}),render:()=>Kw(e)})]}})}function Jw(e,t,n){e.chain().focus().deleteRange(t).insertContent([{type:`token`,attrs:{kind:n.kind,label:n.label,text:n.text}},{type:`text`,text:` `}]).run()}function Yw(e,t){e.commands.setContent(t),e.commands.focus(`end`),/\s$/.test(t)&&e.commands.insertContent({type:`text`,text:` `})}var Xw=(0,W.forwardRef)(function({onChange:e,onSubmit:t,onPreset:n,onMentionProject:r,onMentionFile:i,onMentionRemoved:a,projects:o,files:s=[],commands:c,customPresets:l=[],projectPresets:u=[],onNewPreset:d,disabled:f=!1,placeholder:p=`Describe what to do…`,initialText:m,compact:h=!1},g){let[_,v]=(0,W.useState)(!0),y=(0,W.useRef)(o),b=(0,W.useRef)(s),x=(0,W.useRef)(c),S=(0,W.useRef)(l),C=(0,W.useRef)(u),w=(0,W.useRef)(d),E=(0,W.useRef)(n),D=(0,W.useRef)(r),O=(0,W.useRef)(i),k=(0,W.useRef)(a),A=(0,W.useRef)(e),j=(0,W.useRef)(t);(0,W.useEffect)(()=>{y.current=o,b.current=s,x.current=c,S.current=l,C.current=u,w.current=d,E.current=n,D.current=r,O.current=i,k.current=a,A.current=e,j.current=t});let M=(0,W.useRef)(new Set),N=e=>{let t=new Set;e.state.doc.descendants(e=>(e.type.name===`token`&&(e.attrs.kind===`project`||e.attrs.kind===`file`)&&t.add(String(e.attrs.text)),!0));for(let e of M.current)if(!t.has(e)){if(e.startsWith(`#`))k.current?.(e.slice(1));else if(e.startsWith(`@`)){let t=y.current.find(t=>t.name===e.slice(1));t&&k.current?.(t.path)}}M.current=t},P=(e,t)=>{let n=!e.isEmpty;return Yw(e,t),N(e),v(e.isEmpty),A.current(e.storage.markdown.getMarkdown()),n},F=ev({immediatelyRender:!1,extensions:[Ty,Rw.configure({html:!1,linkify:!1,breaks:!0,transformPastedText:!0}),zw,qw({char:`/`,key:`slash`,items:e=>{let t=e.toLowerCase();if(x.current.some(e=>e.name===t))return[];let n=x.current.filter(e=>e.name.includes(t)).map(e=>({id:`command:${e.name}`,label:`/${e.name}`,group:`Commands`,...e.description?{title:e.description}:{}})),r=S.current.filter(e=>e.label.toLowerCase().includes(t)).map(e=>({id:`custom-preset:${e.id}`,label:e.label,hint:`saved prompt`,group:`Saved prompts`})),i=C.current.filter(e=>e.label.toLowerCase().includes(t)).map(e=>({id:`project-preset:${e.id}`,label:e.label,hint:`project saved prompt`,group:`Saved prompts`})),a=w.current&&`save prompt`.includes(t)?[{id:`new-preset`,label:`Save prompt…`,hint:`save the current prompt`,group:`Saved prompts`}]:[];return[...n,...r,...i,...a]},onSelect:(e,{editor:t,range:n})=>{if(e.id.startsWith(`command:`)){let r=x.current.find(t=>`command:${t.name}`===e.id);if(r){t.chain().focus().deleteRange(n).run();let e=P(t,`/${r.name} `);E.current?.(`/${r.name}`,e)}return}if(e.id.startsWith(`custom-preset:`)){let r=S.current.find(t=>`custom-preset:${t.id}`===e.id);if(r){t.chain().focus().deleteRange(n).run();let e=P(t,r.prompt);E.current?.(r.label,e)}return}if(e.id.startsWith(`project-preset:`)){let r=C.current.find(t=>`project-preset:${t.id}`===e.id);if(r){t.chain().focus().deleteRange(n).run();let e=P(t,r.prompt);E.current?.(r.label,e)}return}e.id===`new-preset`&&(t.chain().focus().deleteRange(n).run(),w.current?.())}}),qw({char:`@`,key:`at`,emptyNote:`No projects to reference yet.`,items:e=>y.current.filter(t=>t.name.toLowerCase().includes(e)).slice(0,8).map(e=>({id:`project:${e.id}`,label:`@${e.name}`,hint:`project`,group:`Projects`})),onSelect:(e,{editor:t,range:n})=>{let r=y.current.find(t=>`project:${t.id}`===e.id);r&&(Jw(t,n,{kind:`project`,label:`@${r.name}`,text:`@${r.name}`}),D.current?.(r.path))}}),qw({char:`#`,key:`hash`,emptyNote:`No files indexed here yet.`,items:e=>b.current.filter(t=>t.toLowerCase().includes(e.toLowerCase())).slice(0,8).map(e=>({id:`file:${e}`,label:`#${e}`,hint:`file`,group:`Files`})),onSelect:(e,{editor:t,range:n})=>{let r=e.id.slice(5);Jw(t,n,{kind:`file`,label:`#${r}`,text:`#${r}`}),O.current?.(r)}})],editorProps:{attributes:{class:`pe-prose focus:outline-none`,role:`textbox`,"aria-multiline":`true`,"aria-label":`Prompt`,"aria-placeholder":p},handleKeyDown:(e,t)=>(t.metaKey||t.ctrlKey)&&t.key===`Enter`?(t.preventDefault(),j.current(),!0):t.key===`Enter`&&!t.shiftKey&&!t.altKey&&!t.isComposing?e.dom.getAttribute(`aria-expanded`)===`true`||e.state.selection.$from.parent.type.name===`codeBlock`?!1:(t.preventDefault(),j.current(),!0):!1},onUpdate:({editor:e})=>{N(e),v(e.isEmpty),A.current(e.storage.markdown.getMarkdown())}});(0,W.useImperativeHandle)(g,()=>({clear:()=>{F?.commands.clearContent(),F&&N(F),v(!0),A.current(``)},focus:()=>F?.commands.focus(`end`),loadTemplate:e=>F?P(F,e):!1})),(0,W.useEffect)(()=>{F?.setEditable(!f,!1)},[F,f]);let ee=(0,W.useRef)(!1);(0,W.useEffect)(()=>{!F||ee.current||!m||(ee.current=!0,P(F,m))},[F,m]);let te=h?`px-2 py-1.5`:`px-3 py-2.5`,ne=h?`left-2 top-1.5`:`left-3 top-2.5`;return(0,G.jsxs)(`div`,{className:`relative`,children:[(0,G.jsx)(T,{className:h?`rounded-md border border-border focus-within:ring-2 focus-within:ring-[var(--color-primary)]`:``,viewportClassName:h?`max-h-32 min-h-8`:`max-h-64 min-h-10`,children:(0,G.jsx)(V_,{editor:F,className:`w-full bg-transparent text-sm ${te}`})}),_&&(0,G.jsx)(`span`,{className:`pointer-events-none absolute text-sm text-muted-foreground ${ne}`,children:p})]})});function Zw({open:e,onOpenChange:t,title:n,children:r}){return(0,G.jsx)(Hi,{open:e,onOpenChange:t,children:(0,G.jsxs)(me,{children:[(0,G.jsx)(ye,{className:`fixed inset-0 z-50 bg-black/40 backdrop-blur-[1px]`}),(0,G.jsxs)(je,{className:`fixed left-1/2 top-1/2 z-50 w-[min(34rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 rounded-lg border border-border bg-card p-4 text-card-foreground shadow-lg outline-none`,children:[(0,G.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[(0,G.jsx)(fe,{className:`text-sm font-semibold`,children:n}),(0,G.jsx)(ge,{"aria-label":`Close`,className:`rounded p-0.5 text-muted-foreground outline-none hover:text-foreground`,children:(0,G.jsx)(_i,{className:`h-4 w-4`,"aria-hidden":!0})})]}),r]})]})})}var Qw=80;function $w(){return typeof crypto<`u`&&crypto.randomUUID?crypto.randomUUID():`p-${Date.now()}`}function eT({currentPrompt:e,busy:t,canSaveToProject:n,onSave:r,onCancel:i}){let[a,s]=(0,W.useState)(``),[c,l]=(0,W.useState)(e),[u,d]=(0,W.useState)(`user`),f=()=>{let e=a.trim(),t=c.trim();!e||!t||r({id:$w(),label:e,prompt:t},n?u:`user`)};return(0,G.jsx)(Zw,{open:!0,onOpenChange:e=>{e||i()},title:`Save prompt`,children:(0,G.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),f())},children:[(0,G.jsx)(M,{type:`text`,value:a,maxLength:Qw,placeholder:`Name`,disabled:t,autoFocus:!0,onChange:e=>s(e.target.value),className:`h-8 bg-background px-2`}),(0,G.jsx)(o,{value:c,placeholder:`The prompt to save…`,disabled:t,rows:5,onChange:e=>l(e.target.value),className:`resize-y px-2 py-1 font-mono text-xs`}),n&&(0,G.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-[var(--color-muted-foreground)]`,children:[(0,G.jsx)(`span`,{children:`Save to`}),(0,G.jsx)(`div`,{className:`inline-flex overflow-hidden rounded-md border border-border`,children:[`user`,`project`].map(e=>(0,G.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>d(e),"aria-pressed":u===e,className:u===e?`bg-foreground px-2 py-0.5 text-background`:`px-2 py-0.5 text-foreground hover:bg-[var(--color-muted)]`,children:e===`user`?`Just me`:`This project`},e))}),(0,G.jsx)(`span`,{className:`truncate`,children:u===`project`?`Committed to the repo, shared with your team`:`Private to you, on every project`})]}),(0,G.jsxs)(`div`,{className:`mt-1 flex items-center justify-end gap-2`,children:[(0,G.jsx)(V,{type:`button`,variant:`ghost`,size:`sm`,onClick:i,children:`Cancel`}),(0,G.jsx)(V,{type:`button`,size:`sm`,disabled:t||!a.trim()||!c.trim(),onClick:f,children:`Save prompt`})]})]})})}function tT({preset:e,busy:t,onLoad:n,onDelete:r}){return(0,G.jsxs)(P,{disabled:t,onClick:()=>n(e.prompt,e.label),className:`items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`button`,{type:`button`,disabled:t,onClick:t=>{t.stopPropagation(),r(e.id)},"aria-label":`Delete saved prompt ${e.label}`,className:`rounded p-0.5 text-[var(--color-muted-foreground)] hover:text-danger`}),children:(0,G.jsx)(_i,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,G.jsxs)(U,{children:[`Delete "`,e.label,`"`]})]})]})}function nT({commands:e,customPresets:t,projectPresets:n,busy:r,onLoad:i,onNew:a,onDelete:o,onDeleteProject:s}){return(0,G.jsxs)($e,{children:[(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(De,{type:`button`,disabled:r,"aria-label":`Commands`,className:B(Fe({variant:`ghost`,size:`icon-sm`}),`h-8 w-8`)}),children:(0,G.jsx)(oi,{className:`h-4 w-4`,"aria-hidden":!0})}),(0,G.jsx)(U,{children:`Run a command or load a saved prompt. In the box: / commands · @ projects · # files`})]}),(0,G.jsxs)(d,{align:`start`,className:`min-w-[16rem] max-w-[20rem]`,children:[(0,G.jsxs)(Qe,{children:[(0,G.jsx)(p,{children:`Commands`}),e.length===0&&(0,G.jsx)(`div`,{className:`px-2 py-1.5 text-xs text-muted-foreground`,children:`This project has no commands.`}),e.map(e=>{let t={disabled:r||e.waiting!==void 0,onClick:()=>i(`/${e.name} `,`/${e.name}`),className:`items-start`},n=(0,G.jsx)(Ee,{label:`/${e.name}`,...e.waiting===void 0?{}:{description:`waiting to reach ${e.waiting}`}});return e.description?(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(P,{...t}),children:n}),(0,G.jsx)(U,{className:`max-w-[22rem]`,children:e.description})]},e.name):(0,G.jsx)(P,{...t,children:n},e.name)})]}),t.length>0&&(0,G.jsxs)(Qe,{children:[(0,G.jsx)(f,{}),(0,G.jsx)(p,{children:`Your saved prompts`}),t.map(e=>(0,G.jsx)(tT,{preset:e,busy:r,onLoad:i,onDelete:o},e.id))]}),n.length>0&&(0,G.jsxs)(Qe,{children:[(0,G.jsx)(f,{}),(0,G.jsx)(p,{children:`Project saved prompts`}),n.map(e=>(0,G.jsx)(tT,{preset:e,busy:r,onLoad:i,onDelete:s},e.id))]}),a&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(f,{}),(0,G.jsxs)(P,{disabled:r,onClick:a,children:[(0,G.jsx)(oi,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),`Save prompt…`]})]})]})]})}var rT=`the CLI's own default`;function iT(e,t){return e.find(e=>e.value===t)??e[0]}function aT(e,t){if(t)return e?.models.find(e=>e.value===t)?.label??t}function oT({drivers:e,driver:t,model:n,onChange:r,busy:i}){let a=iT(e,t),o=aT(a,n),s=`Driver: ${a?.label??``} · Model: ${o??`the CLI's own default`}`;return(0,G.jsxs)($e,{children:[(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(De,{type:`button`,disabled:i,"aria-label":s,className:B(Fe({variant:`ghost`,size:`sm`}),`gap-1.5 px-2 font-normal`)}),children:[a?.icon?(0,G.jsx)(`span`,{className:`flex h-4 w-4 items-center justify-center`,children:a.icon}):a?.label,o,(0,G.jsx)(I,{className:`h-3.5 w-3.5 opacity-70`})]}),(0,G.jsx)(U,{children:s})]}),(0,G.jsx)(d,{align:`end`,children:e.map(e=>(0,G.jsxs)(D,{children:[(0,G.jsxs)(c,{children:[(0,G.jsx)(A,{className:B(`h-3.5 w-3.5 shrink-0`,e.value===t?`opacity-100`:`opacity-0`)}),e.icon&&(0,G.jsx)(`span`,{className:`flex h-4 w-4 items-center justify-center`,children:e.icon}),(0,G.jsx)(`span`,{className:`flex-1`,children:e.label})]}),(0,G.jsxs)(Oe,{children:[e.models.length===0&&e.modelsNote&&(0,G.jsx)(P,{disabled:!0,children:e.modelsNote}),e.models.map(i=>(0,G.jsxs)(P,{onClick:()=>r(e.value,i.value),children:[(0,G.jsx)(A,{className:B(`h-3.5 w-3.5 shrink-0`,e.value===t&&i.value===n?`opacity-100`:`opacity-0`)}),i.label]},i.value))]})]},e.value))})]})}function sT(e=typeof window>`u`?``:window.location.hostname){return e===``||Ct(e)?`This machine`:e}var cT=`inline-flex h-6 min-w-0 max-w-full items-center gap-1 overflow-hidden rounded-full border border-[var(--color-border)] px-2 text-xs text-muted-foreground`;function lT({icon:e,children:t}){return(0,G.jsxs)(`span`,{className:cT,children:[e,(0,G.jsx)(`span`,{className:`truncate`,children:t})]})}function uT({status:e}){return(0,G.jsx)(`span`,{"aria-hidden":!0,className:B(`mt-1.5 h-2 w-2 shrink-0 rounded-full`,e===`online`?`bg-success`:`bg-muted-foreground/40`)})}function dT({connection:e,busy:t,chip:n=!1}){let r=e.selectedMachineId&&!e.onlyHere?e.machines.find(t=>t.id===e.selectedMachineId):void 0,i=sT(),a=r?.label??i,o=!r,s=o||wt(r.url)?Xr:li;return(0,G.jsxs)($e,{children:[(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(De,{type:`button`,disabled:t,"aria-label":`Run on`,className:n?B(cT,`transition-colors hover:bg-[var(--color-accent)] hover:text-[var(--color-accent-foreground)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] disabled:pointer-events-none disabled:opacity-50`):B(Fe({variant:`ghost`,size:`icon-sm`}),`relative h-8 w-8`)}),children:n?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`span`,{className:`relative flex shrink-0`,children:[(0,G.jsx)(s,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),!o&&(0,G.jsx)(`span`,{className:`absolute -right-0.5 -top-0.5 h-1.5 w-1.5 rounded-full bg-[var(--color-primary)]`})]}),(0,G.jsx)(`span`,{className:`truncate`,children:a}),(0,G.jsx)(I,{className:`h-3 w-3 shrink-0 opacity-70`,"aria-hidden":!0})]}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(s,{className:`h-4 w-4`}),!o&&(0,G.jsx)(`span`,{className:`absolute -right-0.5 -top-0.5 h-2 w-2 rounded-full bg-[var(--color-primary)]`})]})}),(0,G.jsx)(U,{children:`Run on — ${a}`})]}),(0,G.jsxs)(d,{align:n?`start`:`end`,className:`min-w-[19rem] max-w-[22rem]`,children:[(0,G.jsxs)(P,{className:`items-start`,onClick:()=>e.onSelectLocal(),children:[(0,G.jsx)(A,{className:B(`mt-0.5 h-3.5 w-3.5 shrink-0`,o?`opacity-100`:`opacity-0`)}),(0,G.jsx)(Ee,{label:i,description:`Start the run here, through this project's start hook.`})]}),e.machines.map(t=>{let n=e.status[t.id],i=n===`offline`,a=wt(t.url),o=a?Xr:li,s=a?i?`Not connected. It must be on, with OpenAgent running.`:`Your computer. The run starts there.`:i?`${t.url} (offline)`:t.url;return(0,G.jsxs)(P,{className:B(`items-start gap-2`,(i||e.onlyHere)&&`opacity-60`),disabled:e.onlyHere,onClick:()=>e.onSelect(t),children:[(0,G.jsx)(A,{className:B(`mt-0.5 h-3.5 w-3.5 shrink-0`,r?.id===t.id?`opacity-100`:`opacity-0`)}),(0,G.jsx)(o,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground`,"aria-hidden":!0}),(0,G.jsx)(uT,{status:n}),(0,G.jsx)(Ee,{label:t.label,description:s}),!a&&(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`button`,{type:`button`,onClick:n=>{n.stopPropagation(),e.onRemove(t)},"aria-label":`Remove machine ${t.label}`,className:`mt-0.5 rounded p-0.5 text-[var(--color-muted-foreground)] hover:text-danger`}),children:(0,G.jsx)(_i,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,G.jsxs)(U,{children:[`Remove `,t.label]})]})]},t.id)}),e.onlyHere&&e.machines.length>0&&(0,G.jsx)(`p`,{className:`px-2 py-1.5 text-xs text-muted-foreground`,children:`This project has no repository address, so it cannot be sent to another machine.`}),(0,G.jsxs)(P,{className:`items-start`,disabled:t,onClick:()=>e.onAddMachine(),children:[(0,G.jsx)(oi,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(Ee,{label:`Add a machine…`,description:`Paste the link the other machine gives: its Settings, Devices, Add device.`})]})]})]})}function fT({onClose:e,onAdded:t}){let[n,r]=(0,W.useState)(``),[i,a]=(0,W.useState)(``),[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(null),u=xt(n),d=u!==null,f=async()=>{if(!d||o)return;s(!0),l(null);let r=await _r(n,i.trim()||void 0).catch(()=>({ok:!1,error:`The machine could not be saved.`}));if(s(!1),!r.ok)return l(r.error);t(),e()};return(0,G.jsx)(Zw,{open:!0,onOpenChange:t=>{t||e()},title:`Add a machine`,children:(0,G.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),f())},children:[(0,G.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`On the other machine, open Settings, find Devices, and press Add device. Copy the link under the code and paste it here. It works once, and for a short time.`}),(0,G.jsx)(M,{type:`text`,value:n,placeholder:`http://studio.local:4201/…`,autoFocus:!0,onChange:e=>r(e.target.value),className:`h-8 bg-background px-2 font-mono text-xs`}),(0,G.jsx)(M,{type:`text`,value:i,maxLength:60,placeholder:u?`Name (optional) — defaults to ${new URL(u.url).host}`:`Name (optional)`,onChange:e=>a(e.target.value),className:`h-8 bg-background px-2`}),n.trim()!==``&&!d&&(0,G.jsx)(`p`,{className:`text-xs text-warning`,children:`That is not the link another machine gives for a new device.`}),c&&(0,G.jsx)(`p`,{role:`alert`,className:`text-xs text-danger`,children:c}),(0,G.jsxs)(`div`,{className:`mt-1 flex items-center justify-end gap-2`,children:[(0,G.jsx)(V,{type:`button`,variant:`ghost`,size:`sm`,onClick:e,children:`Cancel`}),(0,G.jsx)(V,{type:`button`,size:`sm`,disabled:!d||o,onClick:()=>void f(),children:o?`Adding…`:`Add machine`})]})]})})}var pT=1e4;function mT(e){let t=e.map(e=>e.id).join(`|`),n=We((0,W.useMemo)(()=>t?()=>ir():null,[t]),{},pT,[t]).value;return(0,W.useMemo)(()=>{let e={};for(let[t,r]of Object.entries(n))e[t]=r?`online`:`offline`;return e},[n])}var hT={"claude-code":{icon:(0,G.jsx)(ji,{className:`h-4 w-4`})},codex:{icon:(0,G.jsx)(Mi,{className:`h-4 w-4`})}},gT=(0,W.forwardRef)(function({files:e,addContext:t,removeContext:n,aboveControls:r,belowControls:i,sessionModel:a,onSubmit:o,onPromptChange:s,onPreset:c,busy:l,submitLabel:u,submitBusyLabel:d,placeholder:f,compact:p=!1,showDriverModel:m=!0,inAgent:h=!1,canSubmit:g=!0,idleControl:_},v){let[y,b]=(0,W.useState)(``),[x,S]=(0,W.useState)(!1),[C,w]=(0,W.useState)(!1),[T,E]=(0,W.useState)(null),D=(0,W.useRef)(null),O=yr(),A=mT(O),j=Ie(Wn,[],[]),M=Zt(),N=M.model??``,P=M.driver??`claude-code`,F=ae(),ee=M.customPresets??[],te=Gt(),ne=Xt(),re=Za(ne),ie=re?.commands??[],oe=re!==null&&re.address===void 0,ce=Va(),I=ce&&!oe?O.find(e=>e.id===ce):void 0,le=!!I&&A[I.id]===`offline`;(0,W.useImperativeHandle)(v,()=>({clear:()=>{D.current?.clear(),b(``)},focus:()=>D.current?.focus()}));let[ue,de]=(0,W.useState)(void 0);(0,W.useEffect)(()=>{if(p||h)return;let e=k();e&&de(e)},[p,h]);let fe=(0,W.useRef)(!1),pe=e=>{e?.preventDefault();let t=y.trim();!t||l||fe.current||le||!g||(fe.current=!0,Promise.resolve(o(t)).finally(()=>{fe.current=!1}))},me=(e,t)=>{let n=D.current?.loadTemplate(e)??!1;c?.(t,n)},he=(0,G.jsx)(Xw,{ref:D,compact:p,onChange:e=>{b(e),s?.(e)},onSubmit:pe,...c?{onPreset:c}:{},...t?{onMentionProject:t,onMentionFile:t}:{},...n?{onMentionRemoved:n}:{},projects:j,files:e,commands:Qa(ie),customPresets:ee,projectPresets:te,...p?{}:{onNewPreset:()=>S(!0)},disabled:l,...f?{placeholder:f}:{},...ue?{initialText:ue}:{}}),ge=m&&(0,G.jsx)(oT,{drivers:He(F).map(e=>({...e,...hT[e.value]})),driver:P,model:N,onChange:(e,t)=>Jt({driver:e,model:t}),busy:l}),z=!p&&(0,G.jsx)(nT,{commands:ie,customPresets:ee,projectPresets:te,busy:l,onLoad:me,onNew:()=>S(!0),onDelete:e=>Jt({customPresets:ee.filter(t=>t.id!==e)}),onDeleteProject:e=>Kt(te.filter(t=>t.id!==e))}),_e=h?null:(0,G.jsx)(dT,{busy:l,chip:!p,connection:{machines:O,selectedMachineId:ce,onlyHere:oe,onSelect:e=>Ra(e.id),onSelectLocal:()=>Ra(null),onAddMachine:()=>w(!0),onRemove:e=>{E(null),vr(e.id).then(t=>{if(!t.ok)return E(t.error);ce===e.id&&Ra(null)})},status:A}}),ve=!!y.trim(),ye=(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(V,{type:`submit`,size:`icon-sm`,onClick:pe,disabled:l||!ve||le||!g,"aria-hidden":!ve,tabIndex:ve?void 0:-1,"aria-label":u,className:B(`h-8 w-8 shrink-0 transition-[margin,opacity,transform] duration-150 ease-out`,ve?`ml-0 translate-x-0 opacity-100 disabled:opacity-100`:B(`pointer-events-none translate-x-2 opacity-0 disabled:opacity-0`,p?`-ml-[2.375rem]`:`-ml-8`))}),children:l?(0,G.jsx)(se,{className:`h-4 w-4 animate-spin`}):(0,G.jsx)(Sr,{className:`h-4 w-4`})}),(0,G.jsx)(U,{children:l?d:`${u} (Enter · Shift+Enter for a new line)`})]}),be=!ve&&_?_:ye,xe=le&&(0,G.jsx)(`p`,{role:`alert`,className:`mt-2 text-xs text-danger`,children:`${I?.label??`The selected machine`} is offline. Pick another place to run, then start.`}),Se=T&&(0,G.jsx)(`p`,{role:`alert`,className:`mt-2 text-xs text-danger`,children:T}),Ce=C&&(0,G.jsx)(fT,{onClose:()=>w(!1),onAdded:()=>D.current?.focus()});return p?(0,G.jsxs)(`div`,{className:`flex items-start gap-1.5`,children:[(0,G.jsx)(`div`,{className:`min-w-0 flex-1`,children:he}),ge,_e,be,Ce]}):(0,G.jsxs)(G.Fragment,{children:[!h&&(0,G.jsxs)(`div`,{className:`mb-1.5 flex h-6 items-center gap-1.5`,children:[(0,G.jsx)(`div`,{className:`flex min-w-0 items-center`,children:_e}),(0,G.jsx)(`div`,{className:`flex min-w-0 shrink-[100] items-center gap-1.5`,children:r})]}),(0,G.jsxs)(`div`,{className:`flex items-end rounded-lg border border-border bg-transparent focus-within:border-muted-foreground/40`,children:[(0,G.jsx)(`div`,{className:`min-w-0 flex-1`,children:he}),(0,G.jsx)(`div`,{className:`flex shrink-0 items-center p-1`,children:be})]}),(0,G.jsxs)(`div`,{className:`mt-1 flex h-8 items-center gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1.5`,children:[z,i]}),(0,G.jsx)(`div`,{className:`shrink-0`,children:ge||a!==void 0&&(0,G.jsx)(`span`,{className:`px-2 text-xs text-muted-foreground`,children:a})})]}),xe,Se,x&&(0,G.jsx)(eT,{currentPrompt:y,busy:l,canSaveToProject:ne!==null,onCancel:()=>{S(!1),D.current?.focus()},onSave:(e,t)=>{t===`project`?Kt([...te,e]):Jt({customPresets:[...ee,e]}),S(!1),D.current?.focus()}}),Ce]})});function _T(e,t,n){return e===`local`?`${n} (local)`:t}function vT({main:e,local:t,pick:n,onPick:r,busy:i}){let a=_T(n,e,t),o=[{pick:`main`,label:e,description:`The project's main branch, fetched fresh.`},{pick:`local`,label:`My local branch ${t}`,description:`Your branch as committed on this machine; uncommitted edits are not carried. If the agent publishes, your commits that are not pushed go up with its branch.`}];return(0,G.jsxs)($e,{children:[(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(De,{type:`button`,disabled:i,"aria-label":`The agent starts from`,className:B(cT,`transition-colors hover:bg-[var(--color-accent)] hover:text-[var(--color-accent-foreground)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] disabled:pointer-events-none disabled:opacity-50`)}),children:[(0,G.jsx)(Hr,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`truncate`,children:a}),(0,G.jsx)(I,{className:`h-3 w-3 shrink-0 opacity-70`,"aria-hidden":!0})]}),(0,G.jsx)(U,{children:`The agent starts from ${a}`})]}),(0,G.jsx)(d,{align:`start`,className:`min-w-[19rem] max-w-[22rem]`,children:(0,G.jsxs)(Qe,{children:[(0,G.jsx)(p,{className:`font-normal`,children:`The agent starts from`}),o.map(e=>(0,G.jsxs)(P,{className:`items-start`,"aria-current":e.pick===n,onClick:()=>r(e.pick),children:[(0,G.jsx)(A,{className:B(`mt-0.5 h-3.5 w-3.5 shrink-0`,e.pick===n?`opacity-100`:`opacity-0`),"aria-hidden":!0}),(0,G.jsx)(Ee,{label:e.label,description:e.description})]},e.pick))]})})]})}function yT(e,t){let n=t?.replace(/\/+$/,``);return n&&e.startsWith(`${n}/`)?e.slice(n.length+1):e}function bT(e){return e.kind===`driver`&&e.event.type===`output`?e.event.changed??[]:[]}function xT(e){return e.kind===`driver`&&e.event.type===`start`}function ST(e,t){let n=new Map;for(let r of e){let e=yT(r.path,t),i=n.get(e)??{path:e,name:e.replace(/\/+$/,``).split(`/`).pop()||e,added:0,removed:0,created:!1};n.set(e,{...i,added:i.added+r.added,removed:i.removed+r.removed,created:i.created||r.created===!0})}return[...n.values()].map(e=>e.created?{...e,added:Math.max(0,e.added-e.removed),removed:0}:e)}function CT(e,t){let n=new Map,r=[];for(let i of e){if(xT(i)){r.length>0&&n.set(i,ST(r,t)),r=[];continue}r.push(...bT(i))}return{ended:n,last:ST(r,t)}}function wT(e){return{added:e.reduce((e,t)=>e+t.added,0),removed:e.reduce((e,t)=>e+t.removed,0)}}var TT={Bash:{verb:`Ran`,doing:`Running`,kind:`command`},Read:{verb:`Read`,doing:`Reading`,kind:`read`,file:!0},Edit:{verb:`Edited`,doing:`Editing`,kind:`edit`,file:!0},MultiEdit:{verb:`Edited`,doing:`Editing`,kind:`edit`,file:!0},NotebookEdit:{verb:`Edited`,doing:`Editing`,kind:`edit`,file:!0},Write:{verb:`Wrote`,doing:`Writing`,kind:`edit`,file:!0},Grep:{verb:`Searched`,doing:`Searching`,kind:`search`},Glob:{verb:`Searched`,doing:`Searching`,kind:`search`},WebSearch:{verb:`Searched the web`,doing:`Searching the web`,kind:`search`},WebFetch:{verb:`Fetched`,doing:`Fetching`,kind:`other`},Skill:{verb:`Used skill`,doing:`Using skill`,kind:`other`},Task:{verb:`Started agent`,doing:`Starting agent`,kind:`other`},Agent:{verb:`Started agent`,doing:`Starting agent`,kind:`other`},TodoWrite:{verb:`Updated todos`,doing:`Updating todos`,kind:`other`},commandExecution:{verb:`Ran`,doing:`Running`,kind:`command`},fileChange:{verb:`Edited`,doing:`Editing`,kind:`edit`,file:!0},mcpToolCall:{verb:`Called`,doing:`Calling`,kind:`other`},webSearch:{verb:`Searched the web`,doing:`Searching the web`,kind:`search`}};function ET(e){if(!/^[a-z]+([A-Z][a-z]*)+$/.test(e))return e;let t=e.replace(/[A-Z]/g,e=>` ${e.toLowerCase()}`);return t.charAt(0).toUpperCase()+t.slice(1)}function DT(e){return e.split(`, `).map(e=>e.replace(/\/+$/,``).split(`/`).pop()||e).join(`, `)}function OT(e,t,n){let r=TT[e],i={verb:r?.verb??ET(e),doing:r?.doing??ET(e),kind:r?.kind??`other`};if(t!==void 0&&(i.detail=t,i.target=r?.file?DT(t):t),n!==void 0&&n.length>0){let e=ST(n);i.kind=`edit`,i.verb=e.every(e=>e.created)?`Created`:`Edited`,i.target=e.map(e=>e.name).join(`, `),i.files=e,i.size=wT(e)}return i}var kT={command:e=>`ran ${e} ${e===1?`command`:`commands`}`,read:e=>`read ${e} ${e===1?`file`:`files`}`,edit:e=>`edited ${e} ${e===1?`file`:`files`}`,search:e=>`searched ${e} ${e===1?`time`:`times`}`,other:e=>`used ${e} ${e===1?`tool`:`tools`}`};function AT(e){let t=new Map;for(let n of e)t.set(n.kind,(t.get(n.kind)??0)+1);let n=ST(e.flatMap(e=>e.files??[]).map(e=>({path:e.path,added:e.added,removed:e.removed,...e.created?{created:!0}:{}}))),r=e.filter(e=>e.kind===`edit`&&e.files===void 0).length,i=[...t].flatMap(([e,t])=>{if(e!==`edit`||n.length===0)return[{text:kT[e](t)}];let i=n.every(e=>e.created)?`created`:`edited`,a={text:n.length===1?`${i} ${n[0].name}`:`${i} ${n.length} files`,size:wT(n)};return r>0?[a,{text:kT.edit(r)}]:[a]}),a=i[0];return a?[{...a,text:a.text.charAt(0).toUpperCase()+a.text.slice(1)},...i.slice(1)]:[]}function jT(e){return e.map(e=>e.size?`${e.text} +${e.size.added} −${e.size.removed}`:e.text).join(`, `)}function MT({added:e,removed:t}){return(0,G.jsxs)(`span`,{className:`shrink-0 tabular-nums`,children:[(0,G.jsxs)(`span`,{className:`text-success`,children:[`+`,e]}),` `,(0,G.jsxs)(`span`,{className:`text-danger`,children:[`−`,t]})]})}function NT({files:e,onOpen:t}){return(0,G.jsx)(`ul`,{"aria-label":`Files changed`,className:`flex min-w-0 flex-1 flex-col gap-1 font-sans text-sm`,children:e.map(e=>{let n=(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Rr,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left text-foreground`,title:e.path,children:e.name}),(0,G.jsx)(MT,{added:e.added,removed:e.removed}),t&&(0,G.jsx)(oe,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`,"aria-hidden":!0})]}),r=`flex w-full min-w-0 items-center gap-2 rounded-lg border border-border px-3 py-2`;return(0,G.jsx)(`li`,{className:`min-w-0`,children:t?(0,G.jsx)(`button`,{type:`button`,onClick:()=>t(e.path),"aria-label":`Show the change to ${e.name}`,className:`${r} hover:bg-muted`,children:n}):(0,G.jsx)(`div`,{className:r,children:n})},e.path)})})}function PT({since:e}){let[t,n]=(0,W.useState)(()=>Date.now());(0,W.useEffect)(()=>{let e=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(e)},[]);let r=Math.max(0,Math.floor((t-Date.parse(e))/1e3));return(0,G.jsx)(`span`,{className:`shrink-0 tabular-nums`,children:r<60?`${r}s`:`${Math.floor(r/60)}m ${r%60}s`})}function FT(){return(0,G.jsxs)(`span`,{className:`dot-wave shrink-0`,"aria-hidden":!0,children:[(0,G.jsx)(`span`,{}),(0,G.jsx)(`span`,{}),(0,G.jsx)(`span`,{})]})}var IT=`max-h-64 overflow-auto whitespace-pre-wrap break-all rounded-md px-2.5 py-1.5 font-mono text-xs text-foreground`;function LT({label:e,detail:t,whole:n,output:r,live:i}){let[a,o]=(0,W.useState)(!1),s=OT(e,t,r?.changed),c=n??s.detail,l=(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:B(`shrink-0`,i&&`text-shimmer`),children:i?s.doing:s.verb}),s.target!==void 0&&(0,G.jsx)(`span`,{className:B(`truncate`,i?`text-shimmer`:`text-foreground`),children:s.target}),s.size!==void 0&&(0,G.jsx)(MT,{...s.size}),i?.since!==void 0&&(0,G.jsx)(PT,{since:i.since})]});return c===void 0&&r===void 0?(0,G.jsx)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:l}):(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),"aria-expanded":a,"aria-label":[i?s.doing:s.verb,s.target].filter(Boolean).join(` `),className:`flex max-w-full min-w-0 items-center gap-1.5 text-left hover:text-foreground`,children:[l,(0,G.jsx)(oe,{className:B(`h-3.5 w-3.5 shrink-0 transition-transform`,a&&`rotate-90`),"aria-hidden":!0})]}),a&&(0,G.jsxs)(`div`,{className:`mt-1 flex flex-col gap-1`,children:[c!==void 0&&(0,G.jsxs)(`pre`,{"aria-label":s.kind===`command`?`Command`:`Detail`,className:B(IT,`bg-muted`),children:[s.kind===`command`&&(0,G.jsx)(`span`,{className:`select-none text-muted-foreground`,children:`$ `}),c]}),r!==void 0&&r.text!==``&&(0,G.jsx)(`pre`,{"aria-label":`Output`,className:B(IT,`border border-border`),children:r.text}),r?.failed&&(0,G.jsx)(`div`,{className:`text-xs text-danger`,children:r.exitCode===void 0?`Failed`:`Failed: exit code ${r.exitCode}`})]})]})}function RT({text:e}){let[t,n]=(0,W.useState)(!1);return(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),"aria-expanded":t,className:`flex items-center gap-1.5 hover:text-foreground`,children:[(0,G.jsx)(`span`,{children:`Thought`}),(0,G.jsx)(oe,{className:B(`h-3.5 w-3.5 shrink-0 transition-transform`,t&&`rotate-90`),"aria-hidden":!0})]}),t&&(0,G.jsx)(`div`,{className:`mt-1 italic`,children:(0,G.jsx)(x,{text:e,compact:!0})})]})}function zT({call:e,word:t,since:n}){return(0,G.jsxs)(`div`,{role:`status`,className:`flex min-w-0 flex-1 items-center gap-2 font-sans text-sm text-muted-foreground`,children:[(0,G.jsx)(FT,{}),e?(0,G.jsx)(LT,{...e,live:{since:n}}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`text-shimmer`,children:t}),n!==void 0&&(0,G.jsx)(PT,{since:n})]})]})}function BT({steps:e}){let[t,n]=(0,W.useState)(!1),r=e.flatMap(e=>e.type===`action`?[OT(e.label,e.detail,e.output?.changed)]:[]);if(r.length===0)return null;let i=AT(r),a=e.length===1?e[0]:void 0;return a?.type===`action`?(0,G.jsx)(`div`,{className:`min-w-0 flex-1 font-sans text-sm text-muted-foreground`,children:(0,G.jsx)(LT,{...a})}):(0,G.jsxs)(`div`,{className:`min-w-0 flex-1 font-sans text-sm text-muted-foreground`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),"aria-expanded":t,"aria-label":jT(i),className:`flex items-center gap-1.5 hover:text-foreground`,children:[(0,G.jsx)(`span`,{className:`flex min-w-0 flex-wrap items-center gap-x-1.5 text-left`,children:i.map((e,t,n)=>(0,G.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,G.jsx)(`span`,{children:e.text}),e.size!==void 0&&(0,G.jsx)(MT,{...e.size}),t<n.length-1&&(0,G.jsx)(`span`,{className:`-ml-1.5`,children:`,`})]},t))}),(0,G.jsx)(oe,{className:B(`h-3.5 w-3.5 shrink-0 transition-transform`,t&&`rotate-90`),"aria-hidden":!0})]}),t&&(0,G.jsx)(`div`,{className:`mt-1.5 flex flex-col gap-1.5 rounded-lg border border-border px-3 py-2`,children:e.map((e,t)=>e.type===`action`?(0,G.jsx)(LT,{...e},t):(0,G.jsx)(RT,{text:e.text},t))})]})}var VT=`Starting session`;function HT({projectId:e,projectName:t,onAgentStarted:n,files:r,context:i,addContext:a,removeContext:o,toggleContext:s}){let[c,l]=(0,W.useState)(null),[u,d]=(0,W.useState)(null),{busy:f,cloning:p,error:m,reset:h,start:g}=Ka(e),_=(0,W.useRef)(null),v=Zt(),y=Za(e),b=yr(),x=Va(),S=x&&(y===null||y.address!==void 0)?b.find(e=>e.id===x):void 0,C=y!==null&&!y.startHook&&!S,w=S?[]:Qa(y?.commands??[]),T=Wa(w),E=S?!0:y?.gitHost??!0,D=S?!0:y?.remote??!0,O=xe(v.publish,E,D),k=S?void 0:y?.startFrom,A=v.startFrom?.[e]??`main`,j=Qt(),M=t=>{let{[e]:n,...r}=v.startFrom??{};Jt({startFrom:t===`local`?{...r,[e]:`local`}:r})},N=v.driver,P=Ie(S?null:()=>er(e,N),null,[e,N,S===void 0]),F=Ie(Wn,[],[]),ee=new Set(F.map(e=>e.path)),te=[...i].filter(e=>!ee.has(e)),ne=F.filter(t=>t.id!==e),re=ne.filter(e=>i.has(e.path)).length,ie=[re>0?`${re} project${re>1?`s`:``}`:null,te.length>0?`${te.length} file${te.length>1?`s`:``}`:null].filter(Boolean).join(` · `);return(0,G.jsxs)(`form`,{onSubmit:e=>e.preventDefault(),className:`mx-auto w-full max-w-3xl p-2`,children:[(0,G.jsx)(gT,{ref:_,files:r,addContext:a,removeContext:o,aboveControls:t?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(lT,{icon:(0,G.jsx)(Vr,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),children:t}),k&&j&&(0,G.jsx)(vT,{main:k.main,local:k.local,pick:A,onPick:M,busy:f})]}):null,belowControls:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(io,{otherProjects:ne,context:i,contextFiles:te,summary:ie,busy:f,onToggle:s}),(0,G.jsx)(no,{publish:O,picks:Ce(E,D),onPublish:e=>Jt({publish:e}),cleanup:T?v.postMergeCleanup??!1:void 0,onCleanup:e=>Jt({postMergeCleanup:e}),busy:f})]}),onSubmit:async t=>{if(f)return;l(VT),d(S?.label??null);let r=await g(e,eo(t,i),{...Ha(v),...Ga(v,w),...k&&A===`local`?{base:k.local}:{},...S?{machine:S.id}:{}});l(null),r&&(n?.(t,r.agentId,S?.label,S!==void 0&&wt(S.url)),_.current?.clear())},onPromptChange:e=>{!e.trim()&&c&&l(null),m&&h()},onPreset:(e,t)=>{h(),l(t?`${e} loaded over your draft — undo (⌘Z) brings the draft back`:`${e} loaded — review or edit, then Start`)},busy:f,canSubmit:!C,submitLabel:`Start agent`,submitBusyLabel:`Starting…`}),m&&(0,G.jsx)(UT,{children:m}),c===VT&&!m?(0,G.jsxs)(`p`,{role:`status`,className:`mt-2 flex items-center gap-2 px-1.5 text-sm text-muted-foreground`,children:[(0,G.jsx)(FT,{}),(0,G.jsx)(`span`,{className:`text-shimmer`,children:p&&u?`Cloning ${t??`this project`} on ${u}, the first time only`:c})]}):c&&!m&&(0,G.jsx)(`p`,{role:`status`,className:`mt-2 text-xs text-muted-foreground`,children:c}),P?.problems.map(e=>(0,G.jsx)(UT,{children:e},e)),P?.warnings.map(e=>(0,G.jsx)(`p`,{role:`alert`,className:`mt-2 text-xs text-warning`,children:e},e)),C&&(0,G.jsxs)(UT,{children:[`This project has no start hook. Add a `,(0,G.jsx)(`code`,{className:`font-mono`,children:`start:`}),` line to`,` `,(0,G.jsx)(`code`,{className:`font-mono`,children:`.openagent/hooks.yml`}),`.`]})]})}function UT({children:e}){return(0,G.jsxs)(`p`,{role:`alert`,className:`mt-2 flex items-start gap-2 rounded-md border border-danger/40 bg-danger/10 px-3 py-2 text-sm text-danger`,children:[(0,G.jsx)(Or,{className:`mt-0.5 h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`min-w-0 [overflow-wrap:anywhere]`,children:e})]})}function WT(e){let t=new Map;for(let n of e)if(n.kind===`view`){let{kind:e,...r}=n;t.set(n.id,r)}return[...t.values()]}function GT(e){let t=XT(e);return t.length>0&&!t.some(e=>e.kind===`end`)}function KT(e){let t=XT(e).find(e=>e.kind===`end`);if(!(!t||t.kind!==`end`))return{ok:t.ok,stopped:t.stopped===!0,...t.waiting===!0?{waiting:!0}:{},...t.detail===void 0?{}:{detail:t.detail}}}function qT(e){if(e!==`running`)return{ok:e===`done`,stopped:e===`stopped`,...e===`waiting`?{waiting:!0}:{}}}function JT(e){let t;for(let n of e){if(n.kind!==`driver`||n.event.type!==`action`)continue;let e=/^run (https?:\/\/\S+)$/.exec(n.event.label);e&&(t=e[1])}return t}function YT(e){let t;for(let n of e){if(n.kind!==`driver`||n.event.type!==`action`)continue;let e=/^cloud (https:\/\/claude\.ai\/code\/(session_[A-Za-z0-9]+)\S*)$/.exec(n.event.label);e&&(t={url:e[1],id:e[2]})}return t}function XT(e){let t=0,n=!1;for(let r=e.length-1;r>=0;r--){let i=e[r]?.kind;if(i===`session`){t=r;break}if(i===`end`&&n){t=r+1;break}i===`driver`&&(n=!0)}return e.slice(t)}function ZT(e){let t=e?.sessionLink,n=e?.sessionId;return!t||!n||!t.includes(n)?null:{href:t,label:`Open session (${n}) ↗`}}function QT(e){let t=e?.sessionId;if(!t)return null;let n=e.workspace;if(!n)return t;let r=`'${n.replaceAll(`'`,`'\\''`)}'`;return`mkdir -p ${r} && cd ${r} && claude --resume ${t}`}function $T(){return Ie(()=>jt(),[],[])}function eE(e){let t=$T();return e&&!t.some(t=>t.bin===e)?[...t,{bin:e,label:e}]:t}function tE({busy:e}){let t=Zt().editor,n=eE(t);return(0,G.jsxs)(Qe,{children:[(0,G.jsx)(p,{children:`Preferred editor`}),(0,G.jsxs)(P,{disabled:e,closeOnClick:!1,onClick:()=>Jt({editor:``}),className:`items-start`,children:[(0,G.jsx)(A,{className:B(`mt-0.5 h-3.5 w-3.5 shrink-0`,t?`opacity-0`:`opacity-100`)}),(0,G.jsx)(Ee,{label:`Default`,description:`$OPENAGENT_EDITOR, or code`})]}),n.map(n=>(0,G.jsxs)(P,{disabled:e,closeOnClick:!1,onClick:()=>Jt({editor:n.bin}),className:`items-start`,children:[(0,G.jsx)(A,{className:B(`mt-0.5 h-3.5 w-3.5 shrink-0`,t===n.bin?`opacity-100`:`opacity-0`)}),(0,G.jsx)(Ee,{label:n.label,description:n.bin})]},n.bin))]})}var nE=`font-medium text-foreground`;function rE({projectId:e,open:t,onOpenChange:n,onRemoved:r}){let[i,a]=(0,W.useState)(!1),[o,s]=(0,W.useState)(null),{busy:c,error:l,run:u,reset:d}=it();(0,W.useEffect)(()=>{t&&(a(!1),d())},[t,d]);let f=()=>{n(!1),queueMicrotask(r)};return(0,G.jsx)(h,{open:t,onOpenChange:e=>{c||o||n(e)},children:(0,G.jsxs)(me,{children:[(0,G.jsx)(ye,{className:`fixed inset-0 z-50 bg-black/40 backdrop-blur-[1px]`}),(0,G.jsx)(je,{className:`fixed left-1/2 top-1/2 z-50 max-h-[calc(100vh-2rem)] w-[min(28rem,calc(100vw-2rem))] -translate-x-1/2 -translate-y-1/2 overflow-y-auto rounded-lg border border-border bg-card p-5 text-card-foreground shadow-lg`,children:o?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(fe,{className:`text-sm font-semibold`,children:`Project removed`}),(0,G.jsx)(Ye,{className:`mt-2 text-xs leading-relaxed text-muted-foreground`,children:`It left the dashboard’s list. This is what happened to OpenAgent’s files in the folder.`}),(0,G.jsx)(iE,{title:`Deleted`,empty:`Nothing: there was nothing of OpenAgent’s to delete.`,lines:o.removed}),o.kept.length>0&&(0,G.jsx)(iE,{title:`Kept`,lines:o.kept.map(e=>`${e.path}: ${e.reason}`)}),o.failed.length>0&&(0,G.jsx)(iE,{title:`Could not be cleaned`,lines:o.failed,danger:!0}),(0,G.jsx)(`div`,{className:`mt-4 flex justify-end`,children:(0,G.jsx)(V,{size:`sm`,onClick:f,children:`Done`})})]}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(fe,{className:`text-sm font-semibold`,children:`Remove this project?`}),(0,G.jsxs)(Ye,{className:`mt-2 text-xs leading-relaxed text-muted-foreground`,children:[`It leaves the dashboard’s list, and its scheduler stops unless you set it to keep running.`,` `,i?(0,G.jsx)(G.Fragment,{children:`Your files and your commits stay.`}):(0,G.jsxs)(G.Fragment,{children:[`Nothing in the folder is deleted: your files and your commits stay, and so do OpenAgent’s own files there (`,(0,G.jsx)(`span`,{className:nE,children:`.openagent`}),`, `,(0,G.jsx)(`span`,{className:nE,children:`.branches`}),`,`,` `,(0,G.jsx)(`span`,{className:nE,children:`.agent-runner`}),` and the branch `,(0,G.jsx)(`span`,{className:nE,children:`agent-data`}),` with the agents’ records).`]}),` `,`Add the folder again to bring the project back.`]}),(0,G.jsxs)(`label`,{className:`mt-3 flex cursor-pointer items-start gap-2 text-xs text-foreground`,children:[(0,G.jsx)(F,{checked:i,onCheckedChange:e=>a(e===!0),disabled:c,className:`mt-0.5`}),(0,G.jsx)(`span`,{children:`Also delete OpenAgent’s files in this folder`})]}),i&&(0,G.jsxs)(`div`,{className:`mt-2 rounded-md border border-border p-3 text-xs leading-relaxed text-muted-foreground`,children:[(0,G.jsxs)(`p`,{children:[`This deletes, on this machine: the agents’ checkouts in `,(0,G.jsx)(`span`,{className:nE,children:`.branches`}),`, the folders`,` `,(0,G.jsx)(`span`,{className:nE,children:`.openagent`}),` (with `,(0,G.jsx)(`span`,{className:nE,children:`hooks.yml`}),`, the project’s start lines) and`,` `,(0,G.jsx)(`span`,{className:nE,children:`.agent-runner`}),`, and the local branch `,(0,G.jsx)(`span`,{className:nE,children:`agent-data`}),`. A tool that worked in the project removes its own files too: the scheduler’s state, the subagent settings.`]}),(0,G.jsxs)(`p`,{className:`mt-2`,children:[(0,G.jsx)(`span`,{className:nE,children:`The agents’ conversations go with that branch.`}),` If you never shared the records, this is their only copy. If you did, what has not reached the remote yet is lost. An agent that waits for your answer cannot be continued after this.`]}),(0,G.jsxs)(`p`,{className:`mt-2`,children:[`It never touches the remote, your files, your commits, a branch with work on it, or a file git tracks. A checkout with uncommitted work stays, and so does `,(0,G.jsx)(`span`,{className:nE,children:`.agent-runner/config.yml`}),` if you wrote one. A scheduler you set to keep running is not stopped: its files, the records and `,(0,G.jsx)(`span`,{className:nE,children:`.openagent`}),` then stay. Stop it, add the folder again and remove it once more to delete them. You see the list of what went and what stayed right after.`]})]}),l&&(0,G.jsx)(`p`,{className:`mt-2 text-xs text-danger`,children:l}),(0,G.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[(0,G.jsx)(ge,{render:(0,G.jsx)(V,{variant:`outline`,size:`sm`,disabled:c,children:`Cancel`})}),(0,G.jsx)(V,{variant:`destructive`,size:`sm`,disabled:c,onClick:()=>{u(()=>Jn(e,i),`Could not remove the project.`).then(e=>{if(!e.ok)return;let t=e.value.cleanup;t?s(t):f()})},className:B(c&&`cursor-progress`),children:c?`Removing…`:i?`Remove and delete`:`Remove`})]})]})})]})})}function iE({title:e,lines:t,empty:n,danger:r=!1}){return(0,G.jsxs)(`div`,{className:`mt-3 text-xs`,children:[(0,G.jsx)(`p`,{className:B(`font-medium`,r?`text-danger`:`text-foreground`),children:e}),t.length===0?(0,G.jsx)(`p`,{className:`mt-1 text-muted-foreground`,children:n}):(0,G.jsx)(`ul`,{className:`mt-1 space-y-0.5 text-muted-foreground`,children:t.map(e=>(0,G.jsx)(`li`,{className:`break-words`,children:e},e))})]})}function aE({projectId:e,agentId:t,events:n,label:r,retainedWorktree:i=!1,onWorktreeRemoved:a,onDeleted:o,onProjectRemoved:s,onOpenSkills:l,part:u,details:p,size:m}){let h=u!==`project`,g=u!==`session`,_=GT(n),v=gt(n),y=ZT(v),b=_||i,x=QT(v),[S,C]=(0,W.useState)(!1),w=(0,W.useRef)(void 0);(0,W.useEffect)(()=>()=>clearTimeout(w.current),[]);let T=()=>{x&&navigator.clipboard?.writeText(x).then(()=>{C(!0),clearTimeout(w.current),w.current=setTimeout(()=>C(!1),1500)})},[E,O]=(0,W.useState)(0),k=Ie(g?()=>bn(e):null,null,[e,E,g],`previous`),j=Ie(g&&!t?()=>xn(e):null,null,[e,t,E,g]),[M,N]=(0,W.useState)(!1),[F,ee]=(0,W.useState)(0),te=Ie(g&&!t?()=>Yn(e):null,null,[e,t,E,F,g],`previous`),[ne,ie]=(0,W.useState)(!1),[ae,oe]=(0,W.useState)(!1),se=()=>void ue(()=>Xn(e,!1),`Could not stop sharing.`).then(e=>{e.ok&&ee(e=>e+1)}),{busy:ce,error:le,run:ue}=it(),[de,fe]=(0,W.useState)(!1);(0,W.useEffect)(()=>fe(!1),[t]);let pe=ce||de&&_,[me,he]=(0,W.useState)(!1),ge=n=>ue(()=>Rn(e,n,t??void 0),`Failed to open.`),z=()=>void ue(()=>kn(e,t??void 0),`Could not stop the session.`).then(e=>{e.ok&&fe(!0)}),_e=()=>{t&&ue(()=>Fn(e,t),`Could not remove the worktree.`).then(e=>{e.ok&&a?.()})},ve=r?.trim()||t,ye=u===`session`?`Session actions`:`Project actions`,be=i&&!_&&!!t,xe=!!o&&!_&&!!t;return u===`project`&&!k?(0,G.jsx)(`span`,{"data-testid":`project-menu-place`,className:`h-7 w-7 shrink-0`,"aria-hidden":!0}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)($e,{children:[u===`session`?(0,G.jsxs)(De,{type:`button`,"aria-label":ye,title:r,className:`flex min-w-0 items-center gap-1 rounded px-1 py-0.5 text-left text-xs hover:bg-muted data-[popup-open]:bg-muted`,children:[r?(0,G.jsx)(`span`,{className:`min-w-0 truncate font-medium text-foreground`,children:r}):(0,G.jsx)(`span`,{"data-testid":`title-placeholder`,className:`h-3 w-40 max-w-full rounded bg-muted`}),(0,G.jsx)(I,{className:`h-3 w-3 shrink-0 text-muted-foreground`,"aria-hidden":!0})]}):(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(De,{type:`button`,"aria-label":ye,className:Fe({variant:`outline`,size:`icon-sm`})}),children:(0,G.jsx)(Ir,{className:`h-3.5 w-3.5`})}),(0,G.jsx)(U,{children:ye})]}),(0,G.jsxs)(d,{align:u===`session`?`start`:`end`,className:`min-w-[14rem]`,children:[p&&h&&(0,G.jsxs)(P,{onClick:p.onToggle,children:[(0,G.jsx)(Yr,{className:`h-3.5 w-3.5 shrink-0`}),` `,p.open?`Hide details`:`Show details`]}),k&&(0,G.jsxs)(P,{render:(0,G.jsx)(`a`,{href:k.url,target:`_blank`,rel:`noreferrer`}),children:[(0,G.jsx)(Lr,{className:`h-3.5 w-3.5 shrink-0`}),` Open on `,k.name]}),l&&g&&!t&&(0,G.jsxs)(P,{onClick:l,children:[(0,G.jsx)(si,{className:`h-3.5 w-3.5 shrink-0`}),` Skills…`]}),j&&(0,G.jsxs)(P,{onClick:()=>N(!0),children:[(0,G.jsx)(Mr,{className:`h-3.5 w-3.5 shrink-0`}),` Create a repository on `,j.name,`…`]}),te===`kept`&&(0,G.jsxs)(P,{onClick:()=>ie(!0),children:[(0,G.jsx)(Mr,{className:`h-3.5 w-3.5 shrink-0`}),` Share the agents’ records to the remote…`]}),te===`origin`&&(0,G.jsxs)(P,{disabled:ce,onClick:se,children:[(0,G.jsx)(jr,{className:`h-3.5 w-3.5 shrink-0`}),` Stop sharing the agents’ records`]}),h&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(P,{disabled:ce,onClick:()=>void ge(`files`),title:t&&!b?`This session no longer has its own checkout`:void 0,children:[(0,G.jsx)(zr,{className:`h-3.5 w-3.5 shrink-0`}),` `,t?b?`Open session's folder`:`Open project folder`:`Open folder`]}),(0,G.jsxs)(D,{children:[(0,G.jsxs)(c,{disabled:ce,children:[(0,G.jsx)(Pr,{className:`h-3.5 w-3.5 shrink-0`}),` Open in editor`]}),(0,G.jsxs)(Oe,{className:`min-w-[15rem]`,children:[(0,G.jsxs)(P,{disabled:ce,onClick:()=>void ge(`editor`),children:[(0,G.jsx)(Pr,{className:`h-3.5 w-3.5 shrink-0`}),` `,t?`Open this session's checkout`:`Open in your editor`]}),(0,G.jsx)(f,{}),(0,G.jsx)(tE,{busy:ce})]})]}),y&&(0,G.jsxs)(P,{render:(0,G.jsx)(`a`,{href:y.href,target:`_blank`,rel:`noreferrer`}),children:[(0,G.jsx)(Lr,{className:`h-3.5 w-3.5 shrink-0`}),` `,y.label.replace(` ↗`,``)]}),x&&v?.sessionId&&(0,G.jsxs)(P,{closeOnClick:!1,onClick:T,title:x,children:[S?(0,G.jsx)(A,{className:`h-3.5 w-3.5 shrink-0 text-success`}):(0,G.jsx)(Fr,{className:`h-3.5 w-3.5 shrink-0`}),(0,G.jsx)(`span`,{className:`flex-1`,children:S?`Copied`:v.workspace?`Copy resume command`:`Copy session id`}),(0,G.jsx)(`span`,{className:`ml-auto pl-3 font-mono text-[10px] text-muted-foreground`,children:v.sessionId.slice(0,8)})]}),(_||be||xe)&&(0,G.jsx)(f,{}),_&&(0,G.jsxs)(P,{disabled:pe,onClick:()=>void z(),children:[(0,G.jsx)(fi,{className:`h-3 w-3 shrink-0 fill-current`}),` `,pe?`Stopping…`:`Stop agent`]}),be&&(0,G.jsxs)(P,{disabled:ce,onClick:()=>_e(),children:[(0,G.jsx)(Br,{className:`h-3.5 w-3.5 shrink-0`}),` `,(0,G.jsx)(`span`,{className:`flex-1`,children:`Remove worktree`}),m&&(0,G.jsx)(`span`,{className:`ml-auto pl-3 text-[10px] text-muted-foreground`,children:m})]}),xe&&(0,G.jsxs)(P,{onClick:()=>he(!0),className:`text-danger`,children:[(0,G.jsx)(mi,{className:`h-3.5 w-3.5 shrink-0`}),` Delete session`]})]}),s&&!t&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(f,{}),(0,G.jsxs)(P,{onClick:()=>oe(!0),className:`text-danger`,children:[(0,G.jsx)(mi,{className:`h-3.5 w-3.5 shrink-0`}),` Remove project…`]})]}),le&&(0,G.jsx)(`p`,{className:`px-2 py-1.5 text-xs text-danger`,children:le})]})]}),j&&(0,G.jsx)(re,{open:M,onOpenChange:N,title:`Create a private repository on ${j.name}?`,body:(0,G.jsxs)(G.Fragment,{children:[`This creates the private repository `,(0,G.jsx)(`span`,{className:`font-medium text-foreground`,children:j.repository}),` on your`,` `,j.name,` account and pushes this project to it. The project’s code leaves this machine.`]}),confirmLabel:`Create and push`,confirmBusyLabel:`Creating…`,fallbackError:`Could not create the repository.`,destructive:!1,onConfirm:()=>Un(e),onSuccess:()=>O(e=>e+1)}),te===`kept`&&(0,G.jsx)(re,{open:ne,onOpenChange:ie,title:`Share the agents’ records to the remote?`,body:(0,G.jsxs)(G.Fragment,{children:[`This pushes a branch `,(0,G.jsx)(`span`,{className:`font-medium text-foreground`,children:`agent-data`}),` to this project’s remote, and keeps pushing as agents work. It holds what you asked each agent and what it answered, under your git email. Everyone who can read the remote can read it.`]}),confirmLabel:`Share`,confirmBusyLabel:`Sharing…`,fallbackError:`Could not share the records.`,destructive:!1,onConfirm:()=>Xn(e,!0),onSuccess:()=>ee(e=>e+1)}),s&&!t&&(0,G.jsx)(rE,{projectId:e,open:ae,onOpenChange:oe,onRemoved:s}),o&&t&&(0,G.jsx)(re,{open:me,onOpenChange:he,title:`Delete this agent?`,body:(0,G.jsxs)(G.Fragment,{children:[`Deleting `,(0,G.jsx)(`span`,{className:`font-medium text-foreground`,children:ve}),` removes it from the dashboard for good — its history can’t be recovered. Its branch and any pull request stay in git.`]}),confirmLabel:`Delete`,confirmBusyLabel:`Deleting…`,fallbackError:`Could not delete the agent.`,onConfirm:()=>In(e,t),onSuccess:o})]})}var oE=[];function sE({projectId:e,onProjectRemoved:t,onOpenSkills:n}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 overflow-hidden py-2 md:px-4 max-md:px-11`,children:[(0,G.jsx)(`div`,{className:`grow shrink-0`}),(0,G.jsx)(aE,{projectId:e,events:oE,onProjectRemoved:t,onOpenSkills:n})]})}var cE=H(`onProjectSkills`),lE=H(`sendChangeSkills`),uE=H(`sendCommitSkills`),dE=e=>e.standing!==`absent`,fE=e=>e.groups.flatMap(e=>e.skills),pE=(e,t,n)=>`${e} ${e===1?t:n}`,mE={newer:`a newer text is there`,changed:`changed by hand`,own:`your own text`},hE=`Starts the automations you switch on, while the dashboard is open. This machine only, nothing to commit.`;function gE({projectId:e,onChanged:t,door:n}){let{value:r,reload:i,loaded:a}=We(()=>cE(e).catch(()=>null),null,15e3,[e],`previous`),[o,s]=(0,W.useState)(null),[c,l]=(0,W.useState)(null),{busy:u,error:d,run:f}=it(),p=r?.uncommitted??0;(0,W.useEffect)(()=>{p>0&&l(null)},[p]);let m=n?.open??!1;if((0,W.useEffect)(()=>{m&&r&&s(e=>e??r)},[m,r]),!r)return m&&a?(0,G.jsx)(`p`,{role:`alert`,className:`border-b border-border px-4 py-2 text-xs text-danger`,children:`This project’s skills could not be read.`}):null;let h=async()=>{await i(),t?.()},g=fE(r).filter(e=>e.standing===`newer`).map(e=>e.name),_=fE(r).filter(e=>e.waiting).map(e=>e.name),v=async()=>{(await f(()=>lE(e,{write:g}),`Could not update the skills.`)).ok&&await h()},y=async()=>{let t=await f(()=>uE(e),`Could not commit the skill files.`);t.ok&&(l(t.value.commit??null),await h())},b=o&&(0,G.jsx)(vE,{projectId:e,skills:o,onClose:()=>{s(null),n?.onClose()},onSaved:()=>void h()}),x=r.has===0,S=r.uncommitted===0&&c!==null,C=_.length>0&&r.startBranch!==void 0;return!x&&g.length===0&&r.uncommitted===0&&!S&&!C&&!d?b||null:(0,G.jsxs)(`div`,{role:`status`,"aria-label":`This project's skills`,className:`flex flex-wrap items-center gap-x-4 gap-y-1 border-b border-border px-4 py-2 text-xs text-muted-foreground`,children:[x&&(0,G.jsxs)(`span`,{className:`flex items-center gap-2`,children:[`This project has no skills yet.`,(0,G.jsx)(V,{type:`button`,variant:`outline`,size:`xs`,onClick:()=>s(r),children:`Add skills`})]}),g.length>0&&(0,G.jsxs)(`span`,{className:`flex items-center gap-2`,children:[pE(g.length,`skill has`,`skills have`),` a newer text.`,(0,G.jsx)(V,{type:`button`,variant:`outline`,size:`xs`,disabled:u,onClick:()=>void v(),children:`Update`})]}),r.uncommitted>0&&(0,G.jsxs)(`span`,{className:`flex items-center gap-2`,children:[pE(r.uncommitted,`skill file is`,`skill files are`),` not committed.`,(0,G.jsx)(V,{type:`button`,variant:`outline`,size:`xs`,disabled:u,onClick:()=>void y(),children:`Commit`})]}),S&&(0,G.jsxs)(`span`,{children:[`Committed as `,c,`. Nothing was pushed.`]}),C&&(0,G.jsxs)(`span`,{children:[(0,G.jsx)(`span`,{className:`text-foreground`,children:_.length>4?`${_.length} skills`:_.join(`, `)}),`: waiting to reach `,r.startBranch,`. An agent started from `,r.startBranch,` does not have `,_.length===1?`it`:`them`,`.`]}),d&&(0,G.jsx)(`span`,{className:`text-danger`,children:d}),b]})}function _E(e){let t=fE(e).filter(dE);return t.length>0||e.scheduler?{ticked:new Set(t.map(e=>e.name)),scheduler:e.scheduler}:{ticked:new Set(e.groups.filter(e=>e.ticked).flatMap(e=>e.skills.map(e=>e.name))),scheduler:!0}}function vE({projectId:e,skills:t,onClose:n,onSaved:r}){let[i]=(0,W.useState)(()=>_E(t)),[a,o]=(0,W.useState)(i.ticked),[s,c]=(0,W.useState)(i.scheduler),[l,u]=(0,W.useState)(null),[d,f]=(0,W.useState)(null),{busy:p,error:m,run:h}=it(),g=(e,t)=>o(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r}),_=fE(t).filter(e=>a.has(e.name)&&!dE(e)).map(e=>e.name),v=fE(t).filter(e=>!a.has(e.name)&&dE(e)).map(e=>e.name),y=_.length===0&&v.length===0&&s===t.scheduler,b=async()=>{let n=await h(()=>lE(e,{write:_,remove:v,...s===t.scheduler?{}:{scheduler:s}}),`Could not change the skills.`);n.ok&&(u(n.value),r())},x=async()=>{let t=await h(()=>uE(e,[...l?.written??[],...l?.removed??[]]),`Could not commit the skill files.`);t.ok&&(f(t.value),r())};return(0,G.jsx)(Zw,{open:!0,onOpenChange:e=>{!e&&!p&&n()},title:`Skills`,children:l?(0,G.jsxs)(`div`,{className:`space-y-2 text-xs leading-relaxed text-muted-foreground`,children:[l.written.length>0&&(0,G.jsxs)(`p`,{children:[`Wrote `,pE(l.written.length,`skill`,`skills`),` in `,(0,G.jsx)(`code`,{className:`rounded bg-muted px-1`,children:`.agents/skills`}),`, linked in`,` `,(0,G.jsx)(`code`,{className:`rounded bg-muted px-1`,children:`.claude/skills`}),`: `,(0,G.jsx)(`span`,{className:`text-foreground`,children:l.written.join(`, `)}),`.`]}),l.removed.length>0&&(0,G.jsxs)(`p`,{children:[`Deleted `,pE(l.removed.length,`skill`,`skills`),`: `,(0,G.jsx)(`span`,{className:`text-foreground`,children:l.removed.join(`, `)}),`.`]}),l.scheduler===`on`&&(0,G.jsx)(`p`,{children:`The scheduler is on for this project, on this machine. Every automation starts switched off.`}),l.scheduler===`off`&&(0,G.jsx)(`p`,{children:`The scheduler is off for this project on this machine, and stopped.`}),l.left.map(({path:e,reason:t})=>(0,G.jsxs)(`p`,{children:[`Left as it is: `,(0,G.jsx)(`code`,{className:`rounded bg-muted px-1`,children:e}),` (`,t,`).`]},e)),l.schedulerError&&(0,G.jsxs)(`p`,{className:`text-danger`,children:[`The scheduler was not switched: `,l.schedulerError]}),l.written.length+l.removed.length>0&&!t.git&&(0,G.jsx)(`p`,{children:`This folder is not a git repository, so there is nothing to commit.`}),l.written.length+l.removed.length>0&&t.git&&d===null&&(0,G.jsx)(`p`,{children:`The files are in the project’s folder, not committed. A commit holds these files alone, on the branch the folder is on. Nothing is pushed.`}),d!==null&&!d.committed&&(0,G.jsx)(`p`,{children:`Nothing to commit: git already has these files as they are.`}),d?.committed&&t.remote&&(0,G.jsxs)(`p`,{children:[`Committed as `,d.commit,`, these files alone. Nothing was pushed: push it, or open a pull request where the default branch is protected.`]}),d?.committed&&!t.remote&&(0,G.jsxs)(`p`,{children:[`Committed as `,d.commit,`, these files alone.`,l.written.length>0?` Your agents have these skills from their next start.`:``]}),l.written.length>0&&t.startBranch!==void 0&&!(d?.committed&&!t.remote)&&(0,G.jsxs)(`p`,{children:[`Your agents get these skills once they are on `,t.startBranch,`.`]}),m&&(0,G.jsx)(`p`,{className:`text-danger`,children:m}),(0,G.jsxs)(`div`,{className:`flex justify-end gap-2 pt-1`,children:[l.written.length+l.removed.length>0&&t.git&&d===null&&(0,G.jsx)(V,{type:`button`,size:`sm`,disabled:p,onClick:()=>void x(),children:p?`Committing…`:`Commit these files`}),(0,G.jsx)(V,{type:`button`,variant:`outline`,size:`sm`,disabled:p,onClick:n,children:`Done`})]})]}):(0,G.jsxs)(`div`,{className:`text-xs`,children:[(0,G.jsx)(`p`,{className:`mb-2 leading-relaxed text-muted-foreground`,children:`A ticked skill is written into the project’s folder as a file you commit; an unticked one is deleted. Branches, logs, question, and github on a GitHub project come with every run and are not here.`}),(0,G.jsxs)(`div`,{className:`max-h-[55vh] space-y-3 overflow-y-auto pr-1`,children:[t.groups.map(e=>(0,G.jsxs)(`fieldset`,{children:[(0,G.jsx)(`legend`,{className:`mb-1 font-medium text-foreground`,children:e.title}),e.skills.map(e=>(0,G.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 py-0.5`,children:[(0,G.jsx)(F,{checked:a.has(e.name),onCheckedChange:t=>g(e.name,t===!0),disabled:p,className:`mt-0.5`,"aria-label":e.name}),(0,G.jsxs)(`span`,{className:`min-w-0`,children:[(0,G.jsx)(`span`,{className:`text-foreground`,children:e.name}),mE[e.standing]&&(0,G.jsxs)(`span`,{className:`text-warning`,children:[` (`,mE[e.standing],`)`]}),e.waiting&&t.startBranch!==void 0&&(0,G.jsxs)(`span`,{className:`text-warning`,children:[` (waiting to reach `,t.startBranch,`)`]}),(0,G.jsx)(`span`,{className:`block text-muted-foreground`,children:e.description})]})]},e.name))]},e.title)),(0,G.jsxs)(`fieldset`,{children:[(0,G.jsx)(`legend`,{className:`mb-1 font-medium text-foreground`,children:`The scheduler`}),(0,G.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-2 py-0.5`,children:[(0,G.jsx)(F,{checked:s,onCheckedChange:e=>c(e===!0),disabled:p,className:`mt-0.5`,"aria-label":`scheduler`}),(0,G.jsxs)(`span`,{className:`min-w-0`,children:[(0,G.jsx)(`span`,{className:`text-foreground`,children:`scheduler`}),(0,G.jsx)(`span`,{className:`block text-muted-foreground`,children:hE})]})]})]})]}),m&&(0,G.jsx)(`p`,{className:`mt-2 text-danger`,children:m}),(0,G.jsxs)(`div`,{className:`mt-3 flex items-center justify-end gap-2`,children:[(0,G.jsx)(`span`,{className:`mr-auto text-muted-foreground`,children:y?`Nothing to change.`:[_.length>0?`${pE(_.length,`skill`,`skills`)} to write`:``,v.length>0?`${pE(v.length,`skill`,`skills`)} to delete`:``,s===t.scheduler?``:`the scheduler ${s?`on`:`off`}`].filter(Boolean).join(`, `)+`.`}),(0,G.jsx)(V,{type:`button`,variant:`outline`,size:`sm`,disabled:p,onClick:n,children:`Cancel`}),(0,G.jsx)(V,{type:`button`,size:`sm`,disabled:p||y,onClick:()=>void b(),children:p?`Saving…`:`Save`})]})]})})}function yE({events:e,headline:t=!1}){let n=bE(e);if(n.length===0)return null;let r=n[n.length-1];return(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsxs)(`span`,{role:`alert`,className:`flex shrink-0 items-center gap-1.5 text-danger`,children:[(0,G.jsx)(hi,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,G.jsxs)(`span`,{className:`font-medium`,children:[n.length,` `,n.length===1?`error`:`errors`]}),t&&(0,G.jsxs)(`span`,{className:`min-w-0 truncate text-muted-foreground`,children:[`· `,r.headline]})]})}),(0,G.jsx)(U,{className:`whitespace-pre-line`,children:n.map(e=>e.headline).join(`
|
|
130
|
-
`)})]})}function bE(e){let t=ht(e),n=KT(e),r=n&&!n.ok&&!n.stopped&&!n.waiting?n.detail:void 0;return r?t.filter(e=>!r.includes(e.headline)):t}function xE(e){if(e.length===0)return null;let t=KT(e);return t!==void 0&&!t.ok&&!t.stopped&&!t.waiting?{dot:`bg-danger`,label:`failed`,tone:`text-danger`,...t?.detail?{detail:t.detail}:{}}:t?.stopped?{dot:`bg-warning`,label:`stopped`,tone:`text-warning`}:t?.waiting?{dot:`bg-warning`,label:`waiting for an answer`,tone:`text-warning`}:GT(e)?{dot:`animate-pulse bg-warning`,label:`building…`,tone:`text-muted-foreground`}:{dot:`bg-muted-foreground`,label:`finished`,tone:`text-muted-foreground`}}function SE({events:e}){let t=gt(e),n=xE(e),r=bE(e),i=ZT(t);return!i&&!n&&r.length===0?null:(0,G.jsxs)(`div`,{className:`grid gap-3 border-b border-border p-4 md:grid-cols-2`,children:[n&&(0,G.jsxs)(`div`,{className:`flex items-center gap-2 text-sm md:col-span-2`,children:[(0,G.jsx)(`span`,{className:B(`h-2.5 w-2.5 shrink-0 rounded-full`,n.dot),"aria-hidden":!0}),(0,G.jsx)(`span`,{className:B(`text-xs`,n.tone),children:n.detail?`${n.label} — ${n.detail}`:n.label})]}),r.length>0&&(0,G.jsx)(`div`,{className:`text-sm md:col-span-2`,children:(0,G.jsx)(yE,{events:e,headline:!0})}),i&&(0,G.jsx)(`a`,{href:i.href,target:`_blank`,rel:`noreferrer`,className:`text-xs text-primary underline underline-offset-2 md:col-span-2`,children:i.label})]})}var CE=[];function wE({projectId:e=null,onOpenAgent:t}){let{value:n,loaded:r}=We(gn,CE,5e3,[]),i=e===null?n:n.filter(t=>t.projectId===e);return!r||i.length===0?null:(0,G.jsxs)(`section`,{"aria-label":`Open questions`,className:`p-3`,children:[(0,G.jsxs)(`h2`,{className:`mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:[`Waiting on you · `,i.length]}),(0,G.jsx)(`ul`,{className:`max-h-[70vh] overflow-x-hidden overflow-y-auto`,children:i.map(e=>{let n=TE(e),r=g(e.updatedAt,``);return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,"aria-label":`Open ${n}: needs input, ${e.choice.title}`,onClick:()=>t(e.projectId,e.agentId),className:`flex w-full items-center overflow-hidden whitespace-nowrap rounded-md px-2 py-1.5 text-left text-sm hover:bg-accent/40 md:gap-3 max-md:flex-wrap max-md:gap-x-3 max-md:gap-y-0.5`,children:[(0,G.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-xs text-warning`,children:[(0,G.jsx)(`span`,{className:`h-2 w-2 rounded-full bg-warning`,"aria-hidden":!0}),`Needs input`]}),(0,G.jsx)(`span`,{className:`min-w-0 shrink truncate text-foreground md:max-w-[50%] max-md:flex-1`,children:n}),(0,G.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground md:flex-auto max-md:order-last max-md:basis-full`,children:e.choice.title}),(0,G.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:e.projectName}),r&&(0,G.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:r}),(0,G.jsx)(s,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`,"aria-hidden":!0})]})},`${e.projectId} ${e.agentId}`)})})]})}function TE(e){return e.intent?.split(`
|
|
131
|
-
`)[0]?.slice(0,80)??e.agentId}function EE({projectId:e,projectName:t,scope:n=null,events:r,onAgentStarted:i,files:a,context:o,addContext:s,removeContext:c,toggleContext:l,onOpenAgent:u,errors:d,onProjectRemoved:f,onSkillsChanged:p}){let[m,h]=(0,W.useState)(null);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(sE,{projectId:e,onProjectRemoved:f,onOpenSkills:()=>h(e)}),(0,G.jsx)(Ri,{errors:d}),(0,G.jsx)(gE,{projectId:e,onChanged:p,door:{open:m===e,onClose:()=>h(null)}},e),(0,G.jsx)(T,{className:`min-h-0 flex-1`,children:(0,G.jsxs)(`div`,{className:`mx-auto w-full max-w-3xl`,children:[r.length>0&&(0,G.jsx)(SE,{events:r}),(0,G.jsx)(wE,{projectId:n,onOpenAgent:u})]})}),(0,G.jsx)(HT,{projectId:e,projectName:t,onAgentStarted:i,files:a,context:o,addContext:s,removeContext:c,toggleContext:l})]})}var DE=H(`onQuota`),OE=3e4;function kE(){return We(DE,void 0,OE,[]).value}var AE=class extends W.Component{state={error:null};static getDerivedStateFromError(e){return{error:e instanceof Error?e.message:String(e)}}render(){return this.state.error===null?this.props.children:(0,G.jsxs)(`div`,{role:`alert`,className:`p-6 text-sm text-danger`,children:[`The `,this.props.label,` failed: `,this.state.error]})}};function jE({package:e,label:t,children:n}){let r=Me(e);return(0,G.jsx)(Ke.Provider,{value:r,children:(0,G.jsx)(AE,{label:t,children:n})})}function ME(e,t){return e.flatMap(e=>{let n=t.find(t=>t.id===e);return n?[{id:n.id,name:n.name,gitHost:n.gitHost}]:[]})}function NE({page:e,projects:t,path:n}){let r=e.Page;return(0,G.jsx)(jE,{package:e.package,label:`${e.label} page`,children:(0,G.jsx)(r,{projects:ME(e.projects,t),path:n})},e.segment)}function PE(e){return new Intl.DateTimeFormat(`en-US`,{weekday:`short`}).format(e).slice(0,2).toUpperCase()}function FE(e,t,n=PE){let r=t-e;if(!(r>0))return[];let i=[e],a=new Date(e);for(a.setHours(24,0,0,0);a.getTime()<t;)i.push(a.getTime()),a.setHours(24,0,0,0);i.push(t);let o=[];for(let t=0;t<i.length-1;t++){let a=i[t],s=i[t+1];o.push({startPercent:(a-e)/r*100,endPercent:(s-e)/r*100,label:n(a)})}let s=o[0],c=o.at(-1);return o.length>1&&s.label===c.label&&(s.endPercent-s.startPercent>=c.endPercent-c.startPercent?c.label=void 0:s.label=void 0),o}var IE=5;function LE(e,t,n=IE){return e>=100?`full`:e>t+n?`over`:e>=t-n?`near`:`under`}function RE(e,t){return Math.min(Math.max(e+t,0),100)}function zE(e,t,n){return(e-t)/100*n}function BE(e,t){return Math.min(Math.max(e,0),100)/100*t}function VE(e,t){if(!(t<=0))return e/t*100}function HE(e,t){let n=Math.min(Math.max(e,0),100);return{start:n,end:Math.max(n,Math.min(Math.max(t,0),100))}}var UE={under:`bg-success`,near:`bg-info`,over:`bg-warning`,full:`bg-danger`},WE={under:`text-success`,near:`text-info`,over:`text-warning`,full:`text-danger`},GE=` — `;function KE(e){return e.find(e=>e.kind===`week`)}function qE(e,t){let n=t.map(e=>`“${e.label}”`).join(`, `);return e?e.resetsAtText?`Couldn't parse quota: the week resets “${e.resetsAtText}”, which isn't a phrasing this version recognizes.`:`No quota week to place: “${e.label}” reports ${e.percentUsed}% used but no reset time, and the week is drawn between its start and its reset — there is no span to place it in.`:`Couldn't parse quota: no “Current week (all models)” line in the readout — it reported ${n}.`}function JE({swatch:e,children:t}){return(0,G.jsxs)(`span`,{className:`flex items-center gap-1`,children:[e,t]})}function YE({boundary:e,percentUsed:t,offset:n,onChangeOffset:r,others:i}){let a=FE(e.startsAt,e.resetsAt),o=LE(t,e.percent),s=n!==void 0,c=RE(e.percent,n??0),l=HE(t,s?c:t),u=s&&l.end>l.start,d=zE(c,e.percent,e.resetsAt-e.startsAt),f=s&&c>e.percent+14.285714285714286,p=`${Math.round(t)}% of the week used, against a boundary of ${Math.round(e.percent)}% on day ${e.day} of 7`,m=e.resetsAt-e.startsAt,h=zE(t,e.percent,m),g=h>=0,_=BE(t,m),v=VE(t,e.percent);return(0,G.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,G.jsx)(`div`,{className:`relative h-4 text-[10px] font-medium tracking-wide text-muted-foreground`,children:a.map((e,t)=>e.label&&(0,G.jsx)(`span`,{className:`absolute top-0 -translate-x-1/2`,style:{left:`${(e.startPercent+e.endPercent)/2}%`},children:e.label},t))}),(0,G.jsxs)(`div`,{className:`relative h-4`,children:[(0,G.jsxs)(`div`,{role:`img`,"aria-label":p,className:`absolute inset-x-0 top-[3px] h-2.5 overflow-hidden rounded-full bg-muted`,children:[(0,G.jsx)(`div`,{className:B(`absolute inset-y-0 left-0`,UE[o]),style:{width:`${l.start}%`}}),u&&(0,G.jsx)(`div`,{className:B(`absolute inset-y-0 opacity-35`,UE[o]),style:{left:`${l.start}%`,width:`${l.end-l.start}%`}}),a.slice(1).map((e,t)=>(0,G.jsx)(`div`,{className:`absolute inset-y-0 w-1 bg-background/60`,style:{left:`${e.startPercent}%`},"aria-hidden":!0},t)),(0,G.jsx)(`div`,{className:`absolute inset-y-0 w-0.5 -translate-x-1/2 bg-foreground`,style:{left:`${Math.min(Math.max(e.percent,0),100)}%`},"aria-hidden":!0})]}),s&&(0,G.jsx)(`input`,{type:`range`,"aria-label":`Unattended work stops at`,className:B(`absolute inset-0 h-full w-full cursor-grab appearance-none bg-transparent active:cursor-grabbing`,`[&::-webkit-slider-runnable-track]:bg-transparent`,`[&::-moz-range-track]:border-none [&::-moz-range-track]:bg-transparent`,`[&::-webkit-slider-thumb]:h-3.5 [&::-webkit-slider-thumb]:w-3.5 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full`,`[&::-webkit-slider-thumb]:border [&::-webkit-slider-thumb]:border-background [&::-webkit-slider-thumb]:bg-foreground [&::-webkit-slider-thumb]:shadow-sm`,`[&::-moz-range-thumb]:h-3.5 [&::-moz-range-thumb]:w-3.5 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-none`,`[&::-moz-range-thumb]:border [&::-moz-range-thumb]:border-background [&::-moz-range-thumb]:bg-foreground [&::-moz-range-thumb]:shadow-sm`),min:0,max:100,step:`any`,value:c,onChange:t=>{let n=Math.round(Number(t.target.value)-e.percent);r?.(Math.min(Math.max(n,-50),50))}})]}),(0,G.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(`span`,{className:`cursor-default`}),children:[`You are `,(0,G.jsx)(`span`,{className:B(`font-medium`,WE[o]),children:ee(Math.abs(h))}),` `,g?`over`:`under`,` the week's pace`]}),(0,G.jsxs)(U,{className:`max-w-64`,children:[`You are `,ie(Math.abs(h)),` `,g?`above`:`below`,` the quota boundary.`,(0,G.jsx)(`br`,{}),(0,G.jsx)(`br`,{}),`You're`,` `,g?`over-consuming`:`under-consuming`,`: you spend `,g?`faster`:`slower`,` than the week's pace allows.`]})]}),`:`,` `,(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(`span`,{className:`cursor-default`}),children:[(0,G.jsx)(`span`,{className:`font-medium text-foreground`,children:ee(_)}),` spent`]}),(0,G.jsxs)(U,{className:`max-w-64`,children:[ie(_),` of the week's allowance has been consumed — `,Math.round(t),`% of it, said in the same unit as the pace figure beside it.`]})]}),v!==void 0&&(0,G.jsxs)(G.Fragment,{children:[`,`,` `,(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(`span`,{className:`cursor-default`}),children:[(0,G.jsxs)(`span`,{className:B(`font-medium`,WE[o]),children:[Math.round(v),`%`]}),` of pace`]}),(0,G.jsxs)(U,{className:`max-w-64`,children:[`Against the `,Math.round(e.percent),`% of the week allowed by day `,e.day,` of 7 — 100% is exactly on pace. This is the line that parks unattended work, not the week's total.`]})]})]}),`.`,` `,(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(`span`,{className:`cursor-default`}),children:[`Resets `,S(e.resetsAt)]}),(0,G.jsx)(U,{children:Ue(e.resetsAt)})]}),`.`,i.length>1?(0,G.jsxs)(G.Fragment,{children:[` `,(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`span`,{className:`cursor-default`}),children:`Show all limits`}),(0,G.jsx)(U,{children:(0,G.jsx)(`table`,{className:`border-collapse text-left`,children:(0,G.jsx)(`tbody`,{children:i.map(e=>(0,G.jsx)(ZE,{window:e},e.label))})})})]})]}):null]}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-3 gap-y-1 text-[11px] text-muted-foreground`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,G.jsx)(JE,{swatch:(0,G.jsx)(`span`,{className:B(`h-2 w-2 rounded-sm`,UE[o]),"aria-hidden":!0}),children:`Used`}),s&&(0,G.jsx)(JE,{swatch:(0,G.jsx)(`span`,{className:B(`h-2 w-2 rounded-sm opacity-35`,UE[o]),"aria-hidden":!0}),children:`Budget for Autonomous AI`}),(0,G.jsx)(JE,{swatch:(0,G.jsx)(`span`,{className:`h-2 w-0.5 bg-foreground`,"aria-hidden":!0}),children:(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(`span`,{className:`inline-flex cursor-default items-center gap-0.5`}),children:[`Quota boundary`,(0,G.jsx)(Ar,{className:`h-3 w-3`,"aria-hidden":!0})]}),(0,G.jsxs)(U,{className:`max-w-64 space-y-2`,children:[(0,G.jsx)(`p`,{children:`Not a hard limit — just an indication of whether you're over- or under-consuming. It's calculated as a pro-rated share of the weekly limit.`}),(0,G.jsx)(`p`,{children:`If your usage matches the quota boundary, then you're spending exactly what the week's pace allows.`}),(0,G.jsx)(`p`,{children:`Fun fact: the quota boundary is shown exactly at the current time in the week usage bar above.`})]})]})})]}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[f&&(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(`span`,{className:`inline-flex cursor-default items-center gap-0.5 text-warning`}),children:[`⚠️ Eager consumption`,(0,G.jsx)(Ar,{className:`h-3 w-3`,"aria-hidden":!0})]}),(0,G.jsxs)(U,{children:[`Autonomous AI will spend tokens `,ie(d),` faster than the week's pace allows`]})]}),s&&(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`span`,{className:`cursor-default`}),children:u?(0,G.jsxs)(G.Fragment,{children:[`✅ Autonomous AI `,(0,G.jsx)(`em`,{children:`enabled`}),` `,(0,G.jsx)(`small`,{className:`text-muted-foreground/70`,children:`move slider to the left to disable`})]}):(0,G.jsxs)(G.Fragment,{children:[`❌ Autonomous AI `,(0,G.jsx)(`em`,{children:`disabled`}),` `,(0,G.jsx)(`small`,{className:`text-muted-foreground/70`,children:`move slider to the right to enable`})]})}),(0,G.jsx)(U,{className:`max-w-64`,children:u?`Autonomous AI enabled means that unattended work may start on its own while the account is under the line.`:`Autonomous AI disabled means that no agent starts on its own — every new agentic work is triggered by you manually.`})]})]})]})]})}function XE({window:e}){return(0,G.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-xs`,children:[(0,G.jsx)(`span`,{className:`text-muted-foreground`,children:e.label}),(0,G.jsxs)(`span`,{className:`text-muted-foreground`,children:[Math.round(e.percentUsed),`% used`,e.resetsAtText?`${GE}resets ${e.resetsAtText}`:``]})]})}function ZE({window:e}){return(0,G.jsxs)(`tr`,{children:[(0,G.jsx)(`td`,{className:`pr-3 align-baseline text-muted-foreground`,children:e.label}),(0,G.jsxs)(`td`,{className:`whitespace-nowrap align-baseline text-muted-foreground`,children:[Math.round(e.percentUsed),`% used`,e.resetsAtText?`${GE}resets ${e.resetsAtText}`:``]})]})}function QE(e){switch(e.unavailable){case void 0:return;case`no-subscription`:return`This account has no subscription usage to report, so there is no boundary to measure against.`;case`agent-not-found`:return`Claude Code was not found, so usage cannot be read.`;case`unrecognized`:return e.windows.length?`Claude Code's latest usage readout wasn't one this version recognizes, so these numbers are from the reading before it.`:`Claude Code reported its usage in a way this version does not recognize. Trying again shortly.`;default:return e.windows.length?`Couldn't refresh just now, so these numbers may be a little behind.`:`Reading your usage now.`}}var $E=500;function eD(e,t){let[n,r]=(0,W.useState)(e),[i,a]=(0,W.useState)(),o=(0,W.useRef)(null),s=(0,W.useRef)(void 0);return(0,W.useEffect)(()=>{e!==void 0&&(o.current!==null&&o.current!==e||(o.current=null,r(e)))},[e]),(0,W.useEffect)(()=>()=>clearTimeout(s.current),[]),[n,n=>{r(n),a(void 0),o.current=n,clearTimeout(s.current),s.current=setTimeout(()=>{t(n).then(t=>{t.ok||o.current!==n||(o.current=null,a(t.error),e!==void 0&&r(e))})},$E)},i]}function tD({limit:e,projects:t,boundary:n,percentUsed:r,others:i}){let a=we(),o=t.map(e=>e.id).join(`,`),{value:s}=We(()=>e.read(a,t),void 0,1e4,[e.package,o]),[c,l,u]=eD(s,n=>e.save(a,t,n));return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(YE,{boundary:n,percentUsed:r,...c===void 0?{}:{offset:c,onChangeOffset:l},others:i}),u&&(0,G.jsxs)(`p`,{role:`alert`,className:`text-xs text-danger`,children:[`The limit was not saved: `,u]})]})}function nD({projects:e}){let t=kE(),{usageLimit:n}=le(),r=t?QE(t):void 0,i=t?.unavailable!==void 0&&t.windows.length>0?t.readAt:void 0,a=t?KE(t.windows):void 0,o=t?.windows??[];return(0,G.jsxs)(j,{children:[(0,G.jsx)(l,{children:(0,G.jsx)(te,{className:`text-base`,children:`Usage`})}),(0,G.jsxs)(rt,{className:`space-y-4`,children:[!t&&(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Reading your usage…`}),t?.boundary&&a?n?(0,G.jsx)(jE,{package:n.package,label:`usage limit`,children:(0,G.jsx)(tD,{limit:n,projects:ME(n.projects,e),boundary:t.boundary,percentUsed:a.percentUsed,others:o})}):(0,G.jsx)(YE,{boundary:t.boundary,percentUsed:a.percentUsed,others:o}):t&&t.windows.length?(0,G.jsx)(`p`,{role:`alert`,className:`text-sm text-danger`,children:qE(a,o)}):null,!(t?.boundary&&a)&&o.length?(0,G.jsx)(`div`,{className:`space-y-1 border-t border-border pt-3`,children:o.map(e=>(0,G.jsx)(XE,{window:e},e.label))}):null,r?(0,G.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[r,i===void 0?``:` Last read ${g(new Date(i).toISOString())}.`]}):null]})]})}var rD=`/update-tickets`;function iD({busy:e,onStart:t,onConfigure:n,lastImportedAt:r,disabled:i,variant:a,size:o=`sm`,className:s}){return(0,G.jsx)(Xe,{...a?{variant:a}:{},size:o,...i===void 0?{}:{disabled:i},...s?{className:s}:{},icon:(0,G.jsx)(ci,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),label:`Update tickets`,menuAriaLabel:`Other ways to update the tickets`,tooltip:r?`Bring tickets/ up to date with the issues and comments changed since the last import.`:`Bring tickets/ up to date with the issue tracker. With no import on record, everything open comes across.`,busy:e,starting:e,onStart:t,onConfigure:n,prompt:rD,configureDescription:`Opens the launcher with the update prompt, so you can set the model and where it runs.`})}function aD({dismissible:e=!1,onAgentStarted:t,onSelectProject:n}){let{value:r,reload:i}=We(vn,null,1e4,[]),{value:a,reload:o}=We(Qn,null,3e4,[]),s=Zt(),c=Ta(),{start:u,busy:d,error:f}=Ka(),[p,m]=(0,W.useState)(null),h=a?.cwdProjectId??r?.projects[0]?.projectId??null,g=r?.totals.projects??0,_=r?.projects.some(e=>e.hasTickets)??!1,v=c===`granted`&&tn(s),y=()=>{Jt({notifyBrowser:!0}),c==="default"&&Notification.requestPermission()},b=async()=>{if(!h)return;let e=await u(h,rD,Ha(s));e&&t(h,rD,e.agentId)},x=a?.cwd&&!a.cwdProjectId?a.cwd:void 0,S=[{key:`project`,label:`Add a project`,description:r&&g===0?(0,G.jsx)(Fi,{}):`A project is a git repo OpenAgent may work in.`,done:g>0,action:(0,G.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[x&&(0,G.jsx)(V,{size:`sm`,className:`h-auto min-h-8 max-w-full whitespace-normal py-1 text-left [overflow-wrap:anywhere]`,onClick:()=>m({folder:x}),children:`Add ${x} as project…`}),a?.canPickFolder!==!1&&(0,G.jsx)(V,{size:`sm`,variant:`outline`,onClick:()=>m({}),children:`Select & add project directory`}),(0,G.jsx)(V,{size:`sm`,variant:`outline`,onClick:()=>m({fromAddress:!0}),children:`Add from a GitHub address`})]})},...(r?.queue.length??0)>0?[{key:`todos`,label:`Populate the queue of AI tasks`,description:`The agent queue: each entry is work the agent picks up on its own, so a filled queue is what lets it keep going without you.`,done:(r?.totals.openTodos??0)>0}]:[],...r?.projects.some(e=>e.providesTickets)?[{key:`tickets`,label:`Populate tickets/`,description:`tickets/ holds the bigger things to work on, in the repo. The agent researches and plans them, and they are the input the queue is filled from.`,done:_,optional:!0,action:(0,G.jsxs)(`div`,{className:`flex flex-col items-end gap-1`,children:[(0,G.jsx)(iD,{variant:`default`,busy:d,disabled:!h,onStart:()=>void b(),onConfigure:()=>h&&n(h)}),!h&&(0,G.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Add a project first`}),f&&(0,G.jsx)(`span`,{className:`text-xs text-destructive`,children:f})]})}]:[],{key:`browser-notification`,label:`Add browser notifications`,description:`Desktop pings while the dashboard is open, so a session waiting on you does not sit unnoticed.`,done:v,optional:!0,action:c===`denied`?(0,G.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Blocked in your browser settings`}):c===`unsupported`?(0,G.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Not supported by this browser`}):(0,G.jsx)(V,{size:`sm`,variant:`outline`,onClick:y,children:`Enable`})}],C=S.filter(e=>e.done).length;return(0,G.jsxs)(j,{children:[(0,G.jsxs)(l,{className:`flex flex-row items-start justify-between gap-3`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(te,{className:`text-base`,children:`Onboarding`}),(0,G.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[C,` of `,S.length,` set up.`]})]}),e&&(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(V,{variant:`ghost`,size:`sm`,onClick:()=>Jt({onboardingDismissed:!0}),"aria-label":`Remove, you can resume the onboarding on the settings page`}),children:(0,G.jsx)(_i,{className:`h-4 w-4`,"aria-hidden":!0})}),(0,G.jsx)(U,{children:`Remove, you can resume the onboarding on the settings page`})]})]}),(0,G.jsx)(rt,{children:(0,G.jsx)(`ul`,{className:`divide-y divide-border`,children:S.map(e=>(0,G.jsxs)(`li`,{className:`flex flex-wrap items-start justify-between gap-x-4 gap-y-2 py-3 first:pt-0 last:pb-0`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 grow basis-96 items-start gap-3`,children:[e.done?(0,G.jsx)(di,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--color-primary)]`,"aria-label":`Done`}):(0,G.jsx)(fi,{className:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`,"aria-label":`Not done`}),(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`p`,{className:e.done?`text-sm text-muted-foreground line-through`:`text-sm`,children:[e.label,e.optional&&(0,G.jsx)(`span`,{className:`ml-2 rounded-full border border-border px-1.5 py-0.5 align-middle text-[10px] font-normal uppercase tracking-wide text-muted-foreground`,children:`Optional`})]}),typeof e.description==`string`?(0,G.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.description}):(0,G.jsx)(`div`,{className:`mt-1`,children:e.description})]})]}),!e.done&&e.action&&(0,G.jsx)(`div`,{className:`max-w-full shrink-0`,children:e.action})]},e.key))})}),p&&(0,G.jsx)(Ii,{folder:p.folder,fromAddress:p.fromAddress===!0,onAdded:()=>{i(),o()},onClose:()=>m(null)})]})}function oD({working:e,onSelectAgent:t}){return(0,G.jsxs)(j,{children:[(0,G.jsx)(l,{children:(0,G.jsxs)(te,{className:`flex items-center gap-2 text-base`,children:[(0,G.jsx)(Er,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),`Agents`,(0,G.jsx)(`span`,{className:`truncate text-xs font-normal text-muted-foreground`,children:`Agents currently working`})]})}),(0,G.jsx)(rt,{children:(0,G.jsx)(`ul`,{className:`space-y-0.5`,children:e.map(e=>(0,G.jsx)(sD,{label:cD(e),cloud:e.cloud,host:e.host,at:e.updatedAt,projectName:e.projectName,onOpen:()=>t(e.projectId,e.agentId)},`${e.projectId}:${e.agentId}`))})})]})}function sD({label:e,cloud:t,host:n,at:r,projectName:i,onOpen:a}){return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:a,className:`flex w-full items-baseline gap-2 rounded-md px-2 py-1.5 text-left hover:bg-accent focus-visible:bg-accent focus-visible:outline-none`,children:[(0,G.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 text-muted-foreground/50`,children:`•`}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,children:e}),t&&(0,G.jsx)(`span`,{className:`shrink-0 text-[10px] uppercase text-muted-foreground`,children:t===`waiting`?`waiting`:`in cloud`}),(0,G.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:i}),n&&(0,G.jsxs)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:[`from `,n]}),r&&(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`span`,{className:`shrink-0 whitespace-nowrap text-xs tabular-nums text-muted-foreground/80`}),children:u(r)}),(0,G.jsx)(U,{children:ne(r)})]})]})})}function cD(e){return e.intent?.trim()||e.scope?.trim()||e.projectName}function lD({projects:e}){let{cards:t}=le();return(0,G.jsx)(G.Fragment,{children:t.map(t=>{let n=t.Card,r=ME(t.projects,e);return r.length===0?null:(0,G.jsx)(jE,{package:t.package,label:`${t.id} card`,children:(0,G.jsx)(n,{projects:r})},`${t.package}/${t.id}`)})})}function uD({onSelectProject:e,onSelectAgent:t,onAgentStarted:n,interventions:r,projects:i,scope:a}){let{value:o}=We(vn,null,5e3,[]),s=Zt().onboardingDismissed??!1,c=(o?.active??[]).filter(e=>a===null||e.projectId===a),l=a===null?i:i.filter(e=>e.id===a);return(0,G.jsx)(T,{className:`min-h-0 flex-1`,children:(0,G.jsxs)(`div`,{className:`mx-auto max-w-6xl space-y-6 p-6`,children:[!s&&(0,G.jsx)(aD,{dismissible:!0,onAgentStarted:n,onSelectProject:e}),(0,G.jsx)(nD,{projects:i}),(0,G.jsxs)(`div`,{className:B(`grid grid-cols-[minmax(0,1fr)] items-start gap-4`,c.length>0&&`lg:grid-cols-2`),children:[(0,G.jsx)(dD,{items:r,onSelectProject:e,onSelectAgent:t}),c.length>0&&(0,G.jsx)(oD,{working:c,onSelectAgent:t})]}),(0,G.jsx)(`div`,{className:`gap-4 lg:columns-2 [&>*]:mb-4 [&>*]:break-inside-avoid`,children:(0,G.jsx)(lD,{projects:l})})]})})}function dD({items:e,onSelectProject:t,onSelectAgent:n}){let r=e=>e.agentId?n(e.projectId,e.agentId):t(e.projectId);return(0,G.jsxs)(j,{children:[(0,G.jsxs)(l,{children:[(0,G.jsxs)(te,{className:`flex items-center gap-2 text-base`,children:[(0,G.jsx)(Jr,{className:`h-4 w-4 text-muted-foreground`}),`Human Queue`,e.length>0&&(0,G.jsx)(`span`,{className:`rounded-full bg-primary px-1.5 text-xs font-semibold text-primary-foreground tabular-nums`,children:e.length})]}),(0,G.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Agents awaiting your approval, review, or input`})]}),(0,G.jsx)(rt,{children:e.length===0?(0,G.jsx)(`p`,{className:`py-2 text-sm text-muted-foreground`,children:`AI doesn't need you.`}):(0,G.jsx)(`ul`,{className:`divide-y divide-border`,children:e.map(e=>(0,G.jsx)(`li`,{children:e.kind===`awaiting`?(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(`button`,{type:`button`,onClick:()=>r(e),className:`flex w-full items-center gap-2.5 py-2 text-left hover:opacity-80`}),children:[(0,G.jsx)(ei,{className:`h-4 w-4 shrink-0 text-warning`}),(0,G.jsx)(`span`,{className:`shrink-0 text-xs font-medium text-warning`,children:`Awaiting`}),(0,G.jsx)(`span`,{className:`truncate text-sm font-medium`,children:e.title}),(0,G.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-muted-foreground`,children:e.projectName})]}),(0,G.jsx)(U,{children:`Open the agent to answer`})]}):e.kind===`unpushed`?(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(`button`,{type:`button`,onClick:()=>r(e),className:`flex w-full items-center gap-2.5 py-2 text-left hover:opacity-80`}),children:[(0,G.jsx)(Hr,{className:`h-4 w-4 shrink-0 text-info`}),(0,G.jsx)(`span`,{className:`shrink-0 text-xs font-medium text-info`,children:`Not published`}),(0,G.jsx)(`span`,{className:`truncate text-sm font-medium`,children:e.title}),e.commits!==void 0&&e.commits>0&&(0,G.jsx)(`span`,{className:`shrink-0 text-xs tabular-nums text-muted-foreground`,children:e.commits===1?`1 commit`:`${e.commits} commits`}),(0,G.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-muted-foreground`,children:e.projectName})]}),(0,G.jsx)(U,{children:`Open the session: work on ${e.branch??``} is not published`})]}):(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,className:`flex items-center gap-2.5 py-2 hover:opacity-80`}),children:[(0,G.jsx)(Kr,{className:`h-4 w-4 shrink-0 text-success`}),(0,G.jsxs)(`span`,{className:`shrink-0 text-xs font-medium tabular-nums text-muted-foreground`,children:[`#`,e.number]}),(0,G.jsx)(`span`,{className:`truncate text-sm font-medium`,children:e.title}),(0,G.jsx)(`span`,{className:`ml-auto shrink-0 text-xs text-muted-foreground`,children:e.projectName})]}),(0,G.jsx)(U,{children:`Open PR #${e.number}`})]})},vt(e)))})})]})}function fD({projects:e}){let{settings:t}=le();return(0,G.jsx)(G.Fragment,{children:t.map(t=>{let n=t.Section;return(0,G.jsx)(jE,{package:t.package,label:`${t.id} settings`,children:(0,G.jsx)(n,{projects:ME(t.projects,e)})},`${t.package}/${t.id}`)})})}function pD({text:e,label:t,className:n}){let[r,i]=(0,W.useState)(!1),a=(0,W.useRef)(void 0);(0,W.useEffect)(()=>()=>clearTimeout(a.current),[]);let o=()=>{navigator.clipboard?.writeText(e).then(()=>{i(!0),clearTimeout(a.current),a.current=setTimeout(()=>i(!1),1500)})},s=r?A:Fr;return(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`button`,{type:`button`,onClick:o,"aria-label":t,className:B(`inline-flex shrink-0 items-center rounded p-0.5 text-muted-foreground hover:bg-accent hover:text-foreground`,r&&`text-success`,n)}),children:(0,G.jsx)(s,{className:`h-3 w-3`,"aria-hidden":!0})}),(0,G.jsx)(U,{children:r?`Copied`:t})]})}function mD({enabled:e,onChange:t}){let[n,r]=(0,W.useState)(null),[i,a]=(0,W.useState)(!1),[o,s]=(0,W.useState)(null),[c,l]=(0,W.useState)(!1);return(0,W.useEffect)(()=>{if(!e){s(null),l(!1);return}let t=!0,n=()=>void wn().then(e=>{t&&(s(e.version?.blocked?{got:e.version.got,expected:e.version.expected}:null),l(e.lastContact?.status===401))}).catch(()=>{});n();let r=setInterval(n,5e3);return()=>{t=!1,clearInterval(r)}},[e]),(0,W.useEffect)(()=>{if(!e){r(null),a(!1);return}let t=!0;return Tn().then(e=>{t&&r(e)}).catch(()=>{}),()=>{t=!1}},[e]),e?(0,G.jsxs)(`div`,{className:`mt-2 space-y-2 rounded-md border border-border bg-muted/30 p-3 text-xs`,children:[(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`Install the browser extension, open its options, and paste this token. It reports the question a Claude web session is parked on, so it shows up here instead of only on claude.ai.`}),o&&(0,G.jsxs)(`p`,{className:`text-danger`,children:[`The extension is blocked: it is v`,o.got,` and this dashboard expects v`,o.expected,`. Update it — pull the repo, then reload the extension at chrome://extensions.`]}),!o&&c&&(0,G.jsx)(`p`,{className:`text-danger`,children:`Something is calling the bridge with a token this dashboard rejects, so the calls get nowhere. Open the extension's options and save the token shown below again.`}),n===null?(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`Restart the dashboard to generate the token.`}):(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(`code`,{className:`min-w-0 flex-1 truncate rounded bg-muted px-2 py-1 font-mono`,children:i?n:`•`.repeat(24)}),(0,G.jsx)(V,{variant:`outline`,size:`sm`,onClick:()=>a(e=>!e),children:i?`Hide`:`Reveal`}),(0,G.jsx)(pD,{text:n,label:`Copy the bridge token`})]})]}):null}function hD({enabled:e}){let[t,n]=(0,W.useState)(null);if((0,W.useEffect)(()=>{if(!e){n(null);return}let t=!0,r=()=>void On().then(e=>{t&&n(e)}).catch(()=>{});r();let i=setInterval(r,3e3);return()=>{t=!1,clearInterval(i)}},[e]),!e||!t)return null;let r=e=>void Nn(e).catch(()=>{});return(0,G.jsxs)(`div`,{className:`mt-2 space-y-2 rounded-md border border-border bg-muted/30 p-3 text-xs`,children:[t.state===`off`&&(0,G.jsx)(`p`,{className:`text-muted-foreground`,children:`The bridge browser is off.`}),t.state===`starting`&&(0,G.jsxs)(`p`,{className:`text-muted-foreground`,children:[`Starting the bridge browser: `,t.detail,`.`]}),t.state===`stopped`&&(0,G.jsxs)(`p`,{className:`text-danger`,children:[`The bridge browser is not running: `,t.detail,`.`,` `,(0,G.jsx)(V,{variant:`outline`,size:`sm`,onClick:()=>r(`restart`),children:`Restart`})]}),t.state===`running`&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`p`,{className:`text-muted-foreground`,children:[`The bridge browser is running`,t.visible?` with its window shown`:`, minimized`,`.`,t.signIn&&` It is on claude.ai’s sign-in page: show the window and sign in once, then hide it again.`]}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[t.visible?(0,G.jsx)(V,{variant:`outline`,size:`sm`,onClick:()=>r(`hide`),children:`Hide the window`}):(0,G.jsx)(V,{variant:`outline`,size:`sm`,onClick:()=>r(`show`),children:t.signIn?`Show the window to sign in`:`Show the window`}),(0,G.jsx)(V,{variant:`outline`,size:`sm`,onClick:()=>r(`restart`),children:`Restart`})]})]})]})}function gD(){let e=yr(),t=br(),n=mT(e),r=Va(),[i,a]=(0,W.useState)(!1),[o,s]=(0,W.useState)(null),c=e=>{s(null),vr(e.id).then(t=>{if(!t.ok)return s(t.error);r===e.id&&Ra(null)})};return(0,G.jsxs)(j,{children:[(0,G.jsxs)(l,{className:`flex flex-row items-start justify-between gap-3`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(te,{children:`Machines`}),(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Other machines running OpenAgent that you can run a session on. Saved with this OpenAgent, so every browser that opens it shows the same list.`})]}),(0,G.jsx)(V,{size:`sm`,variant:`outline`,className:`shrink-0 whitespace-nowrap`,onClick:()=>a(!0),children:`Add machine`})]}),(0,G.jsxs)(rt,{children:[t?e.length===0?(0,G.jsx)(`p`,{className:`py-2 text-sm text-muted-foreground`,children:`No machines saved. Add one with the link the other machine gives: its Settings, Devices, Add device.`}):(0,G.jsx)(`ul`,{className:`divide-y divide-border`,children:e.map(e=>{let t=wt(e.url);return(0,G.jsxs)(`li`,{className:`flex items-center justify-between gap-4 py-3 first:pt-0 last:pb-0`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`p`,{className:`truncate text-sm`,children:e.label}),t?(0,G.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Your computer. It keeps a line open to this server. Removed here, it is back when it calls again: to take it out, remove it under Devices.`}):(0,G.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:e.url})]}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3`,children:[(0,G.jsx)(_D,{state:n[e.id]}),(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(V,{size:`sm`,variant:`ghost`,onClick:()=>c(e),"aria-label":`Remove ${e.label}`}),children:(0,G.jsx)(mi,{className:`h-4 w-4`,"aria-hidden":!0})}),(0,G.jsxs)(U,{children:[`Remove `,e.label]})]})]})]},e.id)})}):null,o&&(0,G.jsx)(`p`,{role:`alert`,className:`pt-3 text-xs text-danger`,children:o})]}),i&&(0,G.jsx)(fT,{onClose:()=>a(!1),onAdded:()=>a(!1)})]})}function _D({state:e}){let t=e===`online`?`Online`:e===`offline`?`Offline`:`Checking…`;return(0,G.jsxs)(`span`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,G.jsx)(`span`,{"aria-hidden":!0,className:B(`h-1.5 w-1.5 rounded-full`,e===`online`?`bg-[var(--color-primary)]`:`bg-muted-foreground/40`)}),t]})}function vD({onAgentStarted:e,onSelectProject:t}){let n=Zt(),r=Ie(Wn,[],[]),i=$T(),a=$t(n),o=He(ae()),s=n.driver??ue[0],c=n.model??``,l=Ta()===`denied`;return(0,G.jsx)(T,{className:`min-h-0 flex-1`,children:(0,G.jsxs)(`div`,{className:`mx-auto max-w-4xl space-y-6 p-6 max-md:p-4`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h1`,{className:`text-lg font-semibold`,children:`Settings`}),(0,G.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Your defaults, everywhere.`})]}),(0,G.jsx)(aD,{onAgentStarted:e,onSelectProject:t}),(0,G.jsxs)(Je,{title:`Appearance`,children:[(0,G.jsx)(he,{label:`Theme`,description:`Follow the system, or pin light or dark.`,value:a,options:[{value:`system`,label:`System`},{value:`light`,label:`Light`},{value:`dark`,label:`Dark`}],onChange:e=>Jt({theme:e})}),(0,G.jsx)(he,{label:`Editor`,description:`Which editor “Open in editor” launches.`,value:n.editor??``,options:[{value:``,label:`Auto-detect`},...i.map(e=>({value:e.bin,label:e.label}))],onChange:e=>Jt({editor:e})})]}),(0,G.jsxs)(Je,{title:`Agent`,children:[(0,G.jsx)(he,{label:`Agent`,description:`Which coding agent runs the work.`,value:s,options:o,onChange:e=>Jt({driver:e,model:``})}),(0,G.jsx)(he,{label:`Model`,description:`The models the agent lists. Its own default when none is picked.`,value:c,options:xD(o.find(e=>e.value===s),c),onChange:e=>Jt({model:e})}),(0,G.jsx)(bD,{label:`Post-merge cleanup`,description:`The box in the launcher's Auto menu, ticked by default: once a run ends done with a pull request, a fresh agent runs /post-merge-cleanup on its branch before it merges. In projects with that command.`,checked:n.postMergeCleanup??!1,onChange:e=>Jt({postMergeCleanup:e})})]}),(0,G.jsx)(gD,{}),(0,G.jsxs)(Je,{title:`Notifications`,children:[(0,G.jsx)(bD,{label:`Browser`,description:l?`Blocked in your browser settings`:`Desktop notifications while the dashboard is open.`,checked:(n.notifyBrowser??!0)&&!l,disabled:l,onChange:e=>Jt({notifyBrowser:e})}),(0,G.jsx)(bD,{label:`Human Queue`,description:`An agent awaiting your answer, or a PR ready to review.`,checked:n.notifyHumanIntervention??!0,onChange:e=>Jt({notifyHumanIntervention:e})}),(0,G.jsx)(bD,{label:`New activity`,description:`Also ping when an agent starts or finishes.`,checked:n.notifyNewActivity??!1,onChange:e=>Jt({notifyNewActivity:e})})]}),(0,G.jsxs)(Je,{title:`Claude web`,description:`A Claude web agent hands off and ends, so the questions its session asks never reach this dashboard. The browser bridge carries them back and types your answers into the session.`,children:[(0,G.jsx)(bD,{label:`Browser bridge`,description:`Carry claude.ai questions into this dashboard and type your answers back. A browser signed in to claude.ai does the work, through the bridge extension.`,checked:n.bridge??!1,onChange:e=>Jt({bridge:e})}),(n.bridge??!1)&&(0,G.jsx)(yD,{daemonBrowser:n.bridgeBrowser??!1,onChange:e=>Jt({bridgeBrowser:e})})]}),(0,G.jsx)(fD,{projects:r})]})})}function yD({daemonBrowser:e,onChange:t}){let n=(0,W.useId)(),r=(t,n,r,i)=>(0,G.jsxs)(`label`,{className:B(`flex cursor-pointer gap-3 rounded-md border p-3`,e===t?`border-primary/60 bg-muted/20`:`border-border`),children:[(0,G.jsx)(O,{value:t?`daemon`:`own`,"aria-label":n,className:`mt-1`}),(0,G.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`span`,{className:`block text-sm font-medium`,children:n}),(0,G.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:r}),e===t&&i]})]});return(0,G.jsxs)(`div`,{className:`mt-3`,children:[(0,G.jsx)(`p`,{id:n,className:`mb-2 text-sm font-medium`,children:`Which browser does the work?`}),(0,G.jsxs)(E,{"aria-labelledby":n,value:e?`daemon`:`own`,onValueChange:e=>t(e===`daemon`),children:[r(!0,`A browser the daemon runs — recommended`,`Chrome for Testing, downloaded once, signed in once, kept minimized. Web runs work with your own Chrome closed.`,(0,G.jsx)(hD,{enabled:!0})),r(!1,`Your own Chrome`,`Install the extension, open its options and paste the token. Web runs need your Chrome open.`,(0,G.jsx)(mD,{enabled:!0,onChange:()=>{}}))]})]})}function bD({label:e,description:t,checked:n,onChange:r,disabled:i=!1}){return(0,G.jsx)(ke,{label:e,description:t,dimmed:i,control:(0,G.jsx)(C,{checked:n,disabled:i,onCheckedChange:e=>r(e===!0),"aria-label":e})})}function xD(e,t){let n=e?.models??[];return[{value:``,label:rT},...n,...t&&!n.some(e=>e.value===t)?[{value:t,label:t}]:[],...n.length===0&&e?.modelsNote?[{value:e.modelsNote,label:e.modelsNote,disabled:!0}]:[]]}function SD(e,t,n=!0,r=!1,i=!1){let[a,o]=(0,W.useState)(15e3),s=t?`handoff:${e}:${t}`:void 0;(0,W.useEffect)(()=>{i&&s!==void 0&&_e(s)},[i,s]);let{value:c,reload:l,loaded:u}=We(n&&t?()=>Sn(e,t):null,null,a,[e,t,n,a,r],s===void 0?void 0:{remember:s});(0,W.useEffect)(()=>o(c?.prPending?300:15e3),[c?.prPending]);let{busy:d,error:f,run:p}=it(),[m,h]=(0,W.useState)(null);return{handoff:c,loaded:u,busy:d,error:f,pending:m,act:(e,t,n)=>{h(e),p(t,n).then(e=>e.ok?l():void 0).then(()=>h(null))}}}function CD(e,t,n){let[r,i]=(0,W.useState)(1e4),{value:a,reload:o}=We(()=>ln(e,t),null,r,[e,t,r],{remember:`worktree:${e}:${t}`});(0,W.useEffect)(()=>i(a?.prPending?300:1e4),[a?.prPending]);let s=(0,W.useRef)({key:``,turn:n});return(0,W.useEffect)(()=>{let r=`${e}\0${t}`,i=s.current.key===r&&s.current.turn!==n;s.current={key:r,turn:n},i&&o()},[e,t,n,o]),a}function wD({projectId:e,agentId:t,events:n,retainedWorktree:r=!1,onWorktreeRemoved:i,onDeleted:a,label:o,projectName:s,runsOn:c=sT(),expanded:l=!1,onToggle:u,ready:d=!0,checkout:f}){let p=d?mt(f?.checkout?.sizeBytes,``):``;return(0,G.jsxs)(`div`,{className:`@container flex items-center gap-2 overflow-hidden py-2 md:px-4 max-md:px-11`,children:[(0,G.jsx)(aE,{part:`session`,projectId:e,agentId:t,events:n,label:o,retainedWorktree:r,onWorktreeRemoved:i,onDeleted:a,...u?{details:{open:l,onToggle:u}}:{},size:p}),(0,G.jsx)(`span`,{"data-testid":`runs-on`,className:`max-w-64 shrink-0 truncate rounded bg-muted px-1.5 py-0.5 text-[11px] text-muted-foreground @max-md:hidden`,title:s?`${c} · ${s}`:c,children:s?`${c} · ${s}`:c}),(0,G.jsx)(`div`,{className:`grow shrink-0`}),(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[d&&(0,G.jsx)(yE,{events:n}),(0,G.jsx)(aE,{part:`project`,projectId:e,agentId:t,events:n})]})]})}function TD({projectId:e,agentId:t,live:n,files:r,onAgentStarted:i,onSending:a,onQueued:o,outcome:s,model:c}){let l=(0,W.useRef)(null),{busy:u,error:d,run:f}=it(),{busy:p,error:m,run:h}=it(),[g,_]=(0,W.useState)(!1);(0,W.useEffect)(()=>_(!1),[t]),(0,W.useEffect)(()=>{n||_(!1)},[n]);let[v,y]=(0,W.useState)(!1);(0,W.useEffect)(()=>y(!1),[t]),(0,W.useEffect)(()=>{n&&y(!1)},[n]);let b=p||g&&n,x=async r=>{let s=n;return s||a?.(r),(await f(()=>Pn(e,r,t),`Could not send. Your text is kept, try again.`)).ok?(s?o?.(r):i?.(r,t),!0):(s||a?.(null),!1)},S=async e=>{u||(await x(e)&&l.current?.clear(),l.current?.focus())},C=()=>void h(()=>kn(e,t).then(()=>!0),`Could not stop the agent.`).then(e=>{e&&_(!0)}),w=async()=>{u||await x(`This session was stopped before it finished, not because the work was done. Look at what you had already done, then carry on from there.`)&&y(!0)},T=n?(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(V,{type:`button`,size:`icon-sm`,onClick:C,disabled:b,"aria-label":`Stop agent`,className:`h-8 w-8 shrink-0 disabled:opacity-100`}),children:b?(0,G.jsx)(se,{className:`h-4 w-4 animate-spin`}):(0,G.jsx)(fi,{className:`h-3 w-3 fill-current`})}),(0,G.jsx)(U,{children:b?`Stopping…`:`Stop agent`})]}):s?.stopped||v?(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(V,{type:`button`,size:`icon-sm`,onClick:()=>void w(),disabled:u||v,"aria-label":`Resume`,className:`h-8 w-8 shrink-0 disabled:opacity-100`}),children:u||v?(0,G.jsx)(se,{className:`h-4 w-4 animate-spin`}):(0,G.jsx)(ai,{className:`h-3.5 w-3.5 fill-current`})}),(0,G.jsx)(U,{children:u||v?`Resuming…`:`Resume the agent`})]}):void 0,E=d??m;return(0,G.jsxs)(`div`,{className:`mx-auto w-full max-w-3xl p-2`,children:[E&&(0,G.jsx)(`p`,{role:`alert`,className:`mb-1 px-2 text-xs text-danger`,children:E}),(0,G.jsx)(gT,{ref:l,files:r,onSubmit:S,busy:u,submitLabel:`Send`,submitBusyLabel:n?`Sending…`:`Resuming…`,showDriverModel:!1,inAgent:!0,sessionModel:c,idleControl:T,placeholder:n?`Message the agent…`:`Message the agent to continue it…`})]})}function ED({projectName:e,checkout:t,summary:n,actions:r,show:i}){let a=t?.branch;return a===void 0||!i?null:(0,G.jsx)(`div`,{className:`mx-auto w-full max-w-3xl px-2 pt-2`,children:(0,G.jsxs)(`div`,{role:`group`,"aria-label":`This agent's work`,className:`flex items-center overflow-hidden rounded-lg border border-border px-3 text-xs md:h-9 md:gap-2 max-md:min-h-9 max-md:flex-wrap max-md:gap-x-2 max-md:gap-y-1 max-md:py-1.5`,children:[e&&(0,G.jsx)(`span`,{className:`max-w-32 shrink-0 truncate text-muted-foreground`,title:e,children:e}),(0,G.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 text-muted-foreground`,children:[(0,G.jsx)(Hr,{className:`h-3.5 w-3.5 shrink-0`}),(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`span`,{className:`truncate`}),children:a}),(0,G.jsx)(U,{className:`whitespace-pre-line`,children:[a,t?.checkout?.path].filter(Boolean).join(`
|
|
132
|
-
`)})]})]}),(0,G.jsx)(`span`,{className:`shrink-0`,children:n}),t?.pr&&(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(`a`,{href:t.pr.url,target:`_blank`,rel:`noreferrer`,className:`flex shrink-0 items-center gap-1.5 text-primary hover:underline`}),children:[(0,G.jsxs)(`span`,{children:[`PR #`,t.pr.number]}),(0,G.jsx)(`span`,{className:`rounded-full border border-border px-1.5 text-[10px] uppercase text-muted-foreground`,children:t.pr.state.toLowerCase()})]}),(0,G.jsx)(U,{children:t.pr.title})]}),(0,G.jsx)(`div`,{className:`grow`}),(0,G.jsx)(`div`,{className:`flex items-center gap-2 md:shrink-0 max-md:min-w-0 max-md:flex-wrap`,children:r})]})})}function DD(e){let t=/^You paused to ask: "([\s\S]*)"\. The user chose: ([\s\S]*)\. Continue with that decision\.$/.exec(e);return t?{question:t[1],answer:t[2]}:void 0}function OD({choice:e,pick:t}){let[n,r]=(0,W.useState)(!1),i=new Set(st(t));return(0,G.jsxs)(`div`,{className:`overflow-hidden rounded-md border border-border`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>r(e=>!e),className:`flex w-full items-baseline gap-2 px-4 py-2 text-left text-xs text-muted-foreground hover:bg-accent/40`,"aria-expanded":n,children:[(0,G.jsx)(`span`,{className:`shrink-0 text-success`,children:`✓`}),(0,G.jsx)(`span`,{className:`truncate font-medium text-foreground`,children:e.title}),(0,G.jsx)(`span`,{className:`ml-auto shrink-0`,children:n?`Collapse`:`Expand`})]}),n&&(0,G.jsx)(`div`,{className:`border-t border-border p-4`,children:(0,G.jsxs)(`ul`,{className:`space-y-1 text-sm`,children:[e.options.map(e=>(0,G.jsxs)(`li`,{className:B(`flex items-baseline gap-2`,i.has(e.id)?``:`text-muted-foreground`),children:[(0,G.jsx)(`span`,{className:B(`w-4 shrink-0`,i.has(e.id)?`text-success`:``),children:i.has(e.id)?`✓`:``}),(0,G.jsx)(`span`,{children:e.label})]},e.id)),i.size===0&&(0,G.jsx)(`li`,{className:`text-muted-foreground`,children:`Accepted none`})]})})]})}function kD({label:e,value:t}){return(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(kr,{className:`h-3.5 w-3.5 shrink-0 text-success`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`shrink-0 text-foreground`,children:e}),t!==void 0&&(0,G.jsx)(`span`,{className:`truncate`,title:t,children:t})]})}function AD({setup:e,live:t,working:n=!1,added:r}){let[i,a]=(0,W.useState)(!1),o=tt(e.driver),s=ae(),c=o?Ze[o]:e.driver,l=e.model&&y(o?s?.[o]:void 0,e.model);if(t){let n=e.branch!==void 0||e.workspace!==void 0?`Starting ${c??`the coding agent`}`:c!==void 0&&!e.elsewhere?`Making the checkout`:`Starting session`;return(0,G.jsxs)(`div`,{role:`status`,className:`flex min-w-0 flex-1 items-center gap-2 font-sans text-sm text-muted-foreground`,children:[(0,G.jsx)(FT,{}),(0,G.jsx)(`span`,{className:`text-shimmer`,children:n}),t.since!==void 0&&(0,G.jsx)(PT,{since:t.since})]})}return e.workspace===void 0&&e.branch===void 0&&c===void 0?!n||e.elsewhere?null:(0,G.jsx)(`div`,{className:`min-w-0 flex-1 font-sans text-sm text-muted-foreground`,children:`Session set up`}):(0,G.jsxs)(`div`,{className:`min-w-0 flex-1 font-sans text-sm text-muted-foreground`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>a(e=>!e),"aria-expanded":i,className:`flex items-center gap-1.5 hover:text-foreground`,children:[(0,G.jsx)(`span`,{children:`Session set up`}),(0,G.jsx)(oe,{className:B(`h-3.5 w-3.5 shrink-0 transition-transform`,i&&`rotate-90`),"aria-hidden":!0})]}),i&&(0,G.jsxs)(`div`,{className:`mt-1.5 flex flex-col gap-1.5 rounded-lg border border-border px-3 py-2`,children:[e.workspace!==void 0&&(0,G.jsx)(kD,{label:`Made the checkout`,value:e.workspace}),e.branch!==void 0&&(0,G.jsx)(kD,{label:`Made the branch`,value:e.branch}),e.base!==void 0&&(0,G.jsxs)(`div`,{className:`min-w-0 truncate`,title:e.base,children:[`Started from the branch `,(0,G.jsx)(`span`,{className:`text-foreground`,children:e.base}),`, not from the main branch.`]}),c!==void 0&&(0,G.jsx)(kD,{label:`Started ${c}`,...l?{value:l}:{}}),r!==void 0&&(0,G.jsxs)(`div`,{className:`min-w-0`,children:[`Auto adds after each message: `,(0,G.jsxs)(`span`,{className:`text-foreground`,children:[`“`,r,`”`]})]})]})]})}function jD({open:e,onToggle:t,children:n,className:r}){return(0,G.jsxs)(`button`,{type:`button`,onClick:t,"aria-expanded":e,className:B(`flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground`,r),children:[(0,G.jsx)(oe,{className:B(`h-3.5 w-3.5 shrink-0 transition-transform`,e&&`rotate-90`)}),n]})}function MD({agent:e,doing:t,end:n,onOpen:r}){let i=n?.status??e.status,a=!n&&e.status===`running`,o=!n&&e.endedAt!==void 0?ee(Date.parse(e.endedAt)-Date.parse(ki(e))):void 0,s=n?n.detail:a?t:o;return(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>r?.(e.id),className:`min-w-0 shrink truncate text-left text-foreground hover:underline`,"aria-label":`Open the subagent: ${Si(e)}`,children:[`↳ `,Si(e)]}),(0,G.jsxs)(`span`,{className:B(`flex shrink-0 items-center gap-1.5`,i===`waiting`?`text-muted-foreground`:vi[i]??`text-muted-foreground`),children:[a&&(0,G.jsx)(`span`,{className:`inline-block h-1.5 w-1.5 animate-pulse rounded-full bg-primary`,"aria-hidden":!0}),n?`ended ${i}`:i]}),s&&(0,G.jsx)(`span`,{className:`max-w-[45%] shrink-0 truncate text-muted-foreground`,children:s})]})}function ND({subagents:e,doing:t,onOpen:n}){let[r,i]=(0,W.useState)(!1),a=e.filter(e=>e.status===`running`).length;return a===0?null:(0,G.jsx)(`div`,{className:`border-t border-border py-1.5`,children:(0,G.jsxs)(`div`,{className:`mx-auto w-full max-w-3xl px-4`,children:[(0,G.jsxs)(jD,{open:r,onToggle:()=>i(e=>!e),children:[`Subagents · `,a,` of `,e.length,` running`]}),r&&(0,G.jsx)(`div`,{className:`mt-1 flex flex-col gap-0.5 pl-4 font-mono text-xs`,children:e.map(e=>(0,G.jsx)(MD,{agent:e,doing:t[e.id],onOpen:n},e.id))})]})})}function PD({defaultTagName:e,props:t,render:n,state:r={},stateAttributesMapping:i}){let a=FD(ID(r,i),t);if(!n)return W.createElement(e,a);if(typeof n==`function`)return n(a,r);if(!W.isValidElement(n))return null;let o=n.props,s={...FD(a,o),ref:zD(a.ref,o.ref)};return W.cloneElement(n,s)}function FD(...e){let t={};for(let n of e){if(!n)continue;let e=n;for(let n of Object.keys(e)){let r=e[n];if(r===void 0)continue;let i=t[n];n===`className`?t[n]=[i,r].filter(Boolean).join(` `):n===`style`?t[n]={...i,...r}:n===`ref`?t[n]=zD(i,r):RD(n)&&typeof i==`function`&&typeof r==`function`?t[n]=LD(r,i):t[n]=r}}return t}function ID(e,t){let n={};for(let r of Object.keys(e)){let i=e[r],a=t?.[r]?.(i);if(a){Object.assign(n,a);continue}if(r===`slot`){n[`data-slot`]=i;continue}let o=`data-${String(r).replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}`;typeof i==`boolean`?n[o]=i?``:void 0:i!=null&&(n[o]=String(i))}return n}function LD(e,t){return function(n){e(n),n.defaultPrevented||t(n)}}function RD(e){return/^on[A-Z]/.test(e)}function zD(...e){let t=e.filter(Boolean);if(t.length!==0)return e=>{for(let n of t)typeof n==`function`?n(e):n&&(n.current=e)}}var BD=8,VD=64,HD=0,UD=.5,WD=180,GD=new Set([`ArrowDown`,`ArrowUp`,`End`,`Home`,`PageDown`,`PageUp`,` `]),KD={start:!1,end:!1},qD={currentAnchorId:null,visibleMessageIds:[]};function JD({content:e,scrollEdgeThreshold:t,spacer:n,viewport:r}){if(!r||!e)return KD;let i=oO({content:e,spacer:n,viewport:r});return{start:r.scrollTop>t,end:i-r.scrollTop-r.clientHeight>t}}function YD({content:e,scrollMargin:t,scrollPreviousItemPeek:n,spacer:r,viewport:i,visibleMessageIds:a}){if(!e||!i)return qD;let o=i.getBoundingClientRect(),s=o.top+t+n,c=typeof IntersectionObserver>`u`,l=[],u=null;for(let t of XD(e,r)){let e=t.dataset.messageId;if(!e)continue;let n=t.dataset.scrollAnchor===`true`,r=n||c?t.getBoundingClientRect():null;(c&&r?r.bottom>s&&r.top<o.bottom:a.has(e))&&l.push(e),n&&r&&r.top<=s+UD&&(u=e)}return l.length===0&&u===null?qD:{currentAnchorId:u,visibleMessageIds:l}}function XD(e,t){return Array.from(e.children).filter(e=>e instanceof HTMLElement&&e!==t)}function ZD(e,t){for(let n=t;n<e.length;n++){let t=e[n];if(t?.dataset.scrollAnchor===`true`)return t}return null}function QD(e,t){for(let n of e)if(n.dataset.scrollAnchor===`true`&&!t.has(n))return n;return null}function $D(e,t){let n=0;for(let r=t;r<e.length;r++)if(e[r]?.dataset.scrollAnchor===`true`&&(n+=1,n>1))return!0;return!1}function eO(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.dataset.scrollAnchor===`true`)return n}return null}function tO({content:e,spacer:t,viewport:n}){let r=n.getBoundingClientRect();for(let n of XD(e,t)){if(!n.dataset.messageId)continue;let e=n.getBoundingClientRect();if(e.bottom>r.top&&e.top<r.bottom)return n}return null}function nO({align:e,element:t,scrollMargin:n,spacer:r,viewport:i}){let a=rO(t,i),o=t.getBoundingClientRect().height,s=lO(r);if(e===`center`){let e=Math.max(0,i.clientHeight-s.start-s.end);return a-s.start-(e-o)/2-n}if(e===`end`)return a-i.clientHeight+o+s.end+n;if(e===`nearest`){let e=a+o,t=i.scrollTop+s.start,r=i.scrollTop+i.clientHeight-s.end;return a>=t&&e<=r?i.scrollTop:a<t?a-s.start-n:e-i.clientHeight+s.end+n}return a-s.start-n}function rO(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.top-r.top+t.scrollTop}function iO(e,t){return e.getBoundingClientRect().top-t.getBoundingClientRect().top}function aO({content:e,scrollTop:t,spacer:n,viewport:r}){let i=oO({content:e,spacer:n,viewport:r});return t+r.clientHeight-i}function oO({content:e,spacer:t,viewport:n}){let r=XD(e,t),i=cO(e),a=n.getBoundingClientRect(),o=n.scrollTop,s=i.start+i.end;for(let e of r){let t=e.getBoundingClientRect();s=Math.max(s,t.bottom-a.top+o+i.end)}return s}function sO(e){return Math.max(0,e.scrollHeight-e.clientHeight)}function cO(e){let t=window.getComputedStyle(e);return{end:dO(t.paddingBlockEnd||t.paddingBottom),start:dO(t.paddingBlockStart||t.paddingTop)}}function lO(e){let t=e?.parentElement;return t?cO(t):{end:0,start:0}}function uO(e){if(!e)return 0;let t=window.getComputedStyle(e);return dO(t.rowGap===`normal`?t.gap:t.rowGap)}function dO(e){if(!e)return 0;let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function fO({refs:e,commitScrollState:t,scheduleStateCommit:n,scheduleVisibilitySync:r}){let{streamingTurnRef:i,autoScrollRef:a,autoscrollingRef:o,autoscrollingTimeoutRef:s,contentRef:c,defaultScrollPositionAppliedRef:l,itemCountRef:u,messageElementsRef:d,modeRef:f,pendingScrollToMessageRef:p,prependRestoreRef:m,scrollMarginRef:h,scrollPreviousItemPeekRef:g,spacerGapRef:_,spacerHeightRef:v,spacerRef:y,viewportRef:b}=e,x=W.useCallback(e=>{s.current!==null&&(window.clearTimeout(s.current),s.current=null),o.current!==e&&(o.current=e,t()),e&&(s.current=window.setTimeout(()=>{s.current=null,o.current=!1,t()},WD))},[t]),S=W.useCallback(e=>{let t=y.current;if(!t)return;let n=Math.max(0,Math.ceil(e));v.current!==n&&(v.current=n,t.hidden=n===0,t.style.height=`${n}px`,t.style.marginTop=n>0?`${-_.current}px`:``)},[]),C=W.useCallback((e,{behavior:r=`auto`,autoscrolling:i=!1}={})=>{let a=b.current;if(!a)return;let o=Math.max(0,e);if(Math.abs(a.scrollTop-o)<=UD){a.scrollTop=o,t();return}i&&x(!0),a.scrollTo({top:o,behavior:r}),n()},[t,n,x]),w=W.useCallback(({behavior:e=`auto`}={})=>b.current?(S(0),i.current=null,f.current=`free-scrolling`,C(0,{behavior:e}),r(),!0):!1,[r,C,S]),T=W.useCallback(({behavior:e=`auto`}={})=>{let t=b.current;return t?(S(0),i.current=null,f.current=a.current?`following-bottom`:`free-scrolling`,C(sO(t),{autoscrolling:!0,behavior:e}),r(),!0):!1},[r,C,S]),E=W.useCallback((e,{align:t=`start`,behavior:n=`auto`,scrollMargin:a=h.current}={},{keepPreviousPeek:o=!1}={})=>{let s=c.current,l=b.current;if(!s||!l||!s.contains(e))return!1;let u=nO({align:t,element:e,scrollMargin:o?a+g.current:a,spacer:y.current,viewport:l}),d=aO({content:s,scrollTop:u,spacer:y.current,viewport:l});return S(d),m.current={element:e,viewportTop:iO(e,l)},f.current=o?`anchored-to-message`:`settling-jump`,i.current=o?e:null,C(u,{behavior:n}),r(),!0},[r,C,S]),D=W.useCallback(()=>{let e=i.current;return!e||!e.isConnected||f.current!==`anchored-to-message`?!1:E(e,{align:`start`},{keepPreviousPeek:!0})},[E]),O=W.useCallback((e,t)=>{let n=d.current.get(e);return n?(l.current=!0,E(n,t)?(p.current=null,!0):(p.current={messageId:e,options:t},!0)):u.current===0?(p.current={messageId:e,options:t},l.current=!0,!0):!1},[E]);return{flushPendingScrollToMessage:W.useCallback(()=>{let e=p.current;if(!e)return!1;let t=d.current.get(e.messageId);return!t||!E(t,e.options)?!1:(p.current=null,l.current=!0,!0)},[E]),reanchorToAnchoredMessage:D,scrollToElement:E,scrollToEnd:T,scrollToMessage:O,scrollToStart:w}}function pO(e,t){let n=e,r=new Set;return{getSnapshot:()=>n,hasListeners:()=>r.size>0,setSnapshot:e=>{t(n,e)||(n=e,r.forEach(e=>e()))},subscribe:(e,t,n)=>{let i=r.size===0;return r.add(e),i&&t?.(),()=>{r.delete(e),r.size===0&&n?.()}}}}function mO(e,t){return pO(e,t)}function hO(){return pO(qD,_O)}function gO(e,t){return e.start===t.start&&e.end===t.end}function _O(e,t){return e.currentAnchorId!==t.currentAnchorId||e.visibleMessageIds.length!==t.visibleMessageIds.length?!1:e.visibleMessageIds.every((e,n)=>e===t.visibleMessageIds[n])}function vO({autoScroll:e,scrollEdgeThreshold:t,scrollMargin:n,scrollPreviousItemPeek:r}){let i=W.useRef(e),a=W.useRef(!1),o=W.useRef(null),s=W.useRef(!1),c=W.useRef(t),l=W.useRef(0),u=W.useRef(null),d=W.useRef(0),f=W.useRef(e?`following-bottom`:`free-scrolling`),p=W.useRef(new Map),m=W.useRef(null),h=W.useRef(null),g=W.useRef(null),_=W.useRef(r),v=W.useRef(!0),y=W.useRef(null),b=W.useRef(n),x=W.useRef(null),S=W.useRef(0),C=W.useRef(0),w=W.useRef(null),T=W.useRef(null),E=W.useRef(null),D=W.useRef(null),O=W.useRef(null),k=W.useRef(null),A=W.useRef(null),j=W.useRef(null),M=W.useRef(new Set),N=W.useRef(new WeakSet);return E.current===null&&(E.current=mO(KD,gO)),j.current===null&&(j.current=hO()),i.current=e,c.current=t,b.current=n,_.current=r,{autoScrollRef:i,autoscrollingRef:a,autoscrollingTimeoutRef:D,streamingTurnRef:g,contentRef:o,defaultScrollPositionAppliedRef:s,firstItemRef:u,itemCountRef:l,lastScrollTopRef:d,messageElementsRef:p,modeRef:f,pendingScrollFrameRef:x,pendingScrollToMessageRef:m,prependRestoreRef:h,preserveScrollOnPrependRef:v,rootRef:y,scrollEdgeThresholdRef:c,scrollMarginRef:b,scrollPreviousItemPeekRef:_,spacerGapRef:S,spacerHeightRef:C,spacerRef:w,stateFrameRef:T,stateStore:E.current,viewportRef:O,visibilityFrameRef:k,visibilityObserverRef:A,visibilityStore:j.current,visibleMessageIdsRef:M,handledScrollAnchorsRef:N}}function yO(e,t){return W.useCallback(n=>{e.current=n,n&&t()},[e,t])}function bO({autoScroll:e=!1,defaultScrollPosition:t=`end`,scrollEdgeThreshold:n=BD,scrollPreviousItemPeek:r=VD,scrollMargin:i=HD}){let a=vO({autoScroll:e,scrollEdgeThreshold:n,scrollMargin:i,scrollPreviousItemPeek:r}),{streamingTurnRef:o,autoScrollRef:s,autoscrollingRef:c,autoscrollingTimeoutRef:l,contentRef:u,defaultScrollPositionAppliedRef:d,firstItemRef:f,itemCountRef:p,lastScrollTopRef:m,messageElementsRef:h,modeRef:g,pendingScrollFrameRef:_,pendingScrollToMessageRef:v,prependRestoreRef:y,preserveScrollOnPrependRef:b,rootRef:x,scrollEdgeThresholdRef:S,scrollMarginRef:C,scrollPreviousItemPeekRef:w,spacerGapRef:T,spacerHeightRef:E,spacerRef:D,stateFrameRef:O,stateStore:k,viewportRef:A,visibilityFrameRef:j,visibilityObserverRef:M,visibilityStore:N,visibleMessageIdsRef:P,handledScrollAnchorsRef:F}=a,ee=W.useRef(t);ee.current!==t&&(ee.current=t,d.current=!1);let te=W.useCallback(e=>{let t=x.current,n=A.current,r=[e.start&&`start`,e.end&&`end`].filter(Boolean).join(` `),i=c.current;for(let e of[t,n])e&&(r?e.setAttribute(`data-scrollable`,r):e.removeAttribute(`data-scrollable`),e.toggleAttribute(`data-autoscrolling`,i))},[]),ne=W.useCallback(e=>{let t=A.current?.scrollTop??0,n=t<m.current-UD;m.current=t,s.current&&!e.end&&g.current!==`settling-jump`&&g.current!==`anchored-to-message`?g.current=`following-bottom`:g.current===`following-bottom`&&e.end&&n&&!c.current&&(g.current=`free-scrolling`)},[]),re=W.useCallback(()=>{let e=JD({content:u.current,scrollEdgeThreshold:S.current,spacer:D.current,viewport:A.current});ne(e);let t=g.current===`following-bottom`?{...e,end:!1}:e;te(t),k.setSnapshot(t)},[ne,k,te]),ie=W.useCallback(()=>{O.current===null&&(O.current=window.requestAnimationFrame(()=>{O.current=null,re()}))},[re]),ae=W.useCallback(()=>{N.hasListeners()&&j.current===null&&(j.current=window.requestAnimationFrame(()=>{j.current=null,N.hasListeners()&&N.setSnapshot(YD({content:u.current,scrollMargin:C.current,scrollPreviousItemPeek:w.current,spacer:D.current,viewport:A.current,visibleMessageIds:P.current}))}))},[N]),{flushPendingScrollToMessage:oe,reanchorToAnchoredMessage:se,scrollToElement:ce,scrollToEnd:I,scrollToMessage:le,scrollToStart:ue}=fO({refs:a,commitScrollState:re,scheduleStateCommit:ie,scheduleVisibilitySync:ae}),L=W.useCallback(()=>{let e=y.current,t=A.current;if(!e||!t||!e.element.isConnected)return!1;let n=iO(e.element,t)-e.viewportTop;return Math.abs(n)<=UD?!1:(t.scrollTop+=n,e.viewportTop=iO(e.element,t),ie(),ae(),!0)},[ie,ae]),de=W.useCallback(()=>{let e=u.current,t=A.current;if(!e||!t){y.current=null;return}let n=tO({content:e,spacer:D.current,viewport:t});y.current=n?{element:n,viewportTop:iO(n,t)}:null},[]),fe=W.useCallback(()=>{_.current===null&&(_.current=window.requestAnimationFrame(()=>{_.current=null,oe()&&de()}))},[de,oe]),R=W.useCallback(()=>{if(!t||d.current||p.current===0)return!1;let e=!1;if(t===`last-anchor`){let t=u.current,n=A.current,r=t&&n?eO(XD(t,D.current)):null;if(!t||!n||!r)e=I({behavior:`auto`});else{let i=rO(r,n);e=oO({content:t,spacer:D.current,viewport:n})-i<=n.clientHeight?I({behavior:`auto`}):ce(r,{align:`start`},{keepPreviousPeek:!0})}}else e=t===`end`?I({behavior:`auto`}):ue({behavior:`auto`});return e?(d.current=!0,!0):!1},[t,ce,I,ue]),pe=W.useCallback(()=>{let e=u.current;if(!e)return;let t=XD(e,D.current),n=p.current,r=f.current;p.current=t.length,f.current=t[0]??null,(()=>{if(oe())return;if(n===0){if(R()||t.length>0&&s.current&&I({behavior:`auto`}))return;re(),ae();return}let e=r?t.indexOf(r):-1;if(b.current&&e>0){L();return}if(t.length>n){let e=ZD(t,n);if(e){if(s.current&&g.current===`following-bottom`&&$D(t,n)){I({behavior:`auto`});return}ce(e,{align:`start`},{keepPreviousPeek:!0}),F.current.add(e);return}}if(t.length===n){let e=QD(t,F.current);if(e){ce(e,{align:`start`},{keepPreviousPeek:!0}),F.current.add(e);return}}g.current===`following-bottom`&&s.current?I({behavior:`auto`}):(re(),ae())})(),de()},[R,de,re,oe,L,ae,ce,I]),me=W.useCallback(()=>{if(g.current===`following-bottom`&&s.current){I({behavior:`auto`});return}let e=E.current;if(se()){s.current&&e>0&&E.current===0&&I({behavior:`auto`});return}ie(),ae()},[se,ie,ae,I]),he=W.useCallback(()=>{let e=A.current;if(!(!e||!N.hasListeners())){if(typeof IntersectionObserver>`u`){ae();return}M.current||=new IntersectionObserver(e=>{for(let t of e){let e=t.target.dataset.messageId;e&&(t.isIntersecting?P.current.add(e):P.current.delete(e))}ae()},{root:e,rootMargin:`${-(C.current+w.current)}px 0px 0px 0px`,threshold:[0,.01,.5,1]}),h.current.forEach(e=>{M.current?.observe(e)}),ae()}},[ae,N]),ge=W.useCallback(()=>{j.current!==null&&(window.cancelAnimationFrame(j.current),j.current=null),M.current?.disconnect(),M.current=null,P.current.clear(),N.setSnapshot(qD)},[N]),z=W.useCallback((e,t,n)=>{if(t){h.current.set(e,t),M.current?.observe(t),ae(),v.current?.messageId===e&&fe();return}n&&h.current.get(e)===n&&(h.current.delete(e),P.current.delete(e),M.current?.unobserve(n),ae())},[fe,ae]),_e=W.useCallback(()=>{(g.current===`following-bottom`||g.current===`anchored-to-message`||g.current===`settling-jump`)&&(o.current=null,g.current=`free-scrolling`)},[]),ve=W.useCallback(()=>te(k.getSnapshot()),[k,te]),ye=yO(x,ve),be=yO(A,ve),xe=W.useCallback(e=>{u.current=e},[]),Se=W.useCallback(e=>{D.current=e,T.current=uO(e?.parentElement??null)},[]),Ce=W.useCallback(()=>{re(),ae(),de()},[de,re,ae]),we=W.useMemo(()=>({handleContentChange:pe,handleResize:me,observeVisibility:he,preserveScrollOnPrependRef:b,scrollToEnd:I,scrollToMessage:le,scrollToStart:ue,setContentElement:xe,setRootElement:ye,setSpacerElement:Se,setViewportElement:be,stateStore:k,syncAfterScroll:Ce,unobserveVisibility:ge,userScrollIntent:_e,viewportRef:A,visibilityStore:N}),[pe,me,he,I,le,ue,xe,ye,Se,be,k,Ce,ge,_e,N]);return W.useLayoutEffect(()=>{R()},[R]),W.useEffect(()=>()=>{O.current!==null&&(window.cancelAnimationFrame(O.current),O.current=null),j.current!==null&&(window.cancelAnimationFrame(j.current),j.current=null),l.current!==null&&(window.clearTimeout(l.current),l.current=null),_.current!==null&&(window.cancelAnimationFrame(_.current),_.current=null),M.current?.disconnect(),M.current=null},[]),W.useLayoutEffect(()=>{if(e&&g.current===`following-bottom`&&p.current>0){I({behavior:`auto`});return}re()},[e,re,I]),{context:we,registerMessage:z}}function xO(e){let t=W.useRef(e);return t.current=e,t}var SO=W.createContext(null),CO=W.createContext(null);function wO(){let e=W.useContext(SO);if(!e)throw Error(`useMessageScroller must be used within a MessageScroller.`);return e}function TO(){let e=W.useContext(CO);if(!e)throw Error(`MessageScrollerItem must be used within a MessageScroller.`);return e}function EO({autoScroll:e=!1,children:t,defaultScrollPosition:n=`end`,scrollEdgeThreshold:r,scrollPreviousItemPeek:i,scrollMargin:a}){let{context:o,registerMessage:s}=bO({autoScroll:e,defaultScrollPosition:n,scrollEdgeThreshold:r,scrollPreviousItemPeek:i,scrollMargin:a});return(0,G.jsx)(SO.Provider,{value:o,children:(0,G.jsx)(CO.Provider,{value:s,children:t})})}function DO({children:e,...t}){let{setRootElement:n}=wO();return(0,G.jsx)(`div`,{ref:n,...t,children:e})}function OO({"aria-label":e,children:t,onKeyDown:n,onScroll:r,onTouchMove:i,onWheel:a,preserveScrollOnPrepend:o=!0,ref:s,role:c,tabIndex:l,...u}){let{handleResize:d,preserveScrollOnPrependRef:f,setViewportElement:p,syncAfterScroll:m,userScrollIntent:h,viewportRef:g}=wO();f.current=o;let _=W.useCallback(e=>{p(e),zD(s)?.(e)},[s,p]);function v(e){m(),r?.(e)}function y(e){h(),a?.(e)}function b(e){h(),i?.(e)}function x(e){GD.has(e.key)&&h(),n?.(e)}return W.useEffect(()=>{let e=g.current;if(!e||typeof ResizeObserver>`u`)return;let t=0,n=new ResizeObserver(()=>{window.cancelAnimationFrame(t),t=window.requestAnimationFrame(d)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.disconnect()}},[d,g]),(0,G.jsx)(`div`,{ref:_,role:c??`region`,"aria-label":e??`Messages`,tabIndex:l??0,onKeyDown:x,onScroll:v,onTouchMove:b,onWheel:y,...u,children:t})}function kO({"aria-relevant":e,children:t,ref:n,role:r,spacerClassName:i,...a}){let{handleContentChange:o,handleResize:s,setContentElement:c,setSpacerElement:l}=wO(),u=W.useRef(null),d=W.useCallback(e=>{u.current=e,c(e),zD(n)?.(e)},[n,c]);return W.useLayoutEffect(()=>{let e=u.current;if(!e||(o(),typeof MutationObserver>`u`))return;let t=new MutationObserver(()=>{o()});return t.observe(e,{childList:!0}),()=>t.disconnect()},[o]),W.useEffect(()=>{let e=u.current;if(!e||typeof ResizeObserver>`u`)return;let t=0,n=new ResizeObserver(()=>{window.cancelAnimationFrame(t),t=window.requestAnimationFrame(s)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.disconnect()}},[s]),(0,G.jsxs)(`div`,{ref:d,role:r??`log`,"aria-relevant":e??`additions`,...a,children:[t,(0,G.jsx)(`div`,{ref:l,"aria-hidden":`true`,"data-message-scroller-spacer":``,hidden:!0,className:i})]})}function AO({messageId:e,ref:t,scrollAnchor:n=!1,...r}){let i=TO(),a=W.useRef(null);return(0,G.jsx)(`div`,{ref:W.useCallback(n=>{let r=a.current;a.current=n,e&&i(e,n,r),zD(t)?.(n)},[e,t,i]),"data-message-id":e,"data-scroll-anchor":n?`true`:`false`,...r})}function jO({behavior:e=`smooth`,children:t,direction:n=`end`,onClick:r,render:i,tabIndex:a,type:o=`button`,...s}){let{scrollToEnd:c,scrollToStart:l,stateStore:u}=wO(),d=xO(r),f=W.useCallback(e=>u.subscribe(e),[u]),p=W.useCallback(()=>{let e=u.getSnapshot();return n===`start`?e.start:e.end},[n,u]),m=W.useSyncExternalStore(f,p,p),h=W.useCallback(t=>{m&&(d.current?.(t),t.defaultPrevented||(t.currentTarget.blur(),n===`start`?l({behavior:e}):c({behavior:e})))},[e,n,m,d,c,l]);return PD({defaultTagName:`button`,props:FD({type:o,inert:!m,tabIndex:m?a:-1,children:t??(0,G.jsxs)(`span`,{children:[`Scroll to `,n]}),onClick:h},s),render:i,state:{active:m,direction:n},stateAttributesMapping:{active:e=>({"data-active":e?`true`:`false`})}})}var MO={Provider:EO,Root:DO,Viewport:OO,Content:kO,Item:AO,Button:jO},NO=MO.Provider;function PO({className:e,...t}){return(0,G.jsx)(MO.Root,{"data-slot":`message-scroller`,className:B(`group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden`,e),...t})}function FO({className:e,...t}){return(0,G.jsx)(MO.Viewport,{"data-slot":`message-scroller-viewport`,className:B(`size-full min-h-0 min-w-0 overflow-y-auto overscroll-contain`,`scroll-fade-b scrollbar-thin scrollbar-gutter-stable data-autoscrolling:scrollbar-quiet`,e),...t})}function IO({className:e,...t}){return(0,G.jsx)(MO.Content,{"data-slot":`message-scroller-content`,className:B(`flex h-max min-h-full flex-col`,e),...t})}function LO({className:e,scrollAnchor:t=!1,...n}){return(0,G.jsx)(MO.Item,{"data-slot":`message-scroller-item`,scrollAnchor:t,className:B(`min-w-0 shrink-0`,e),...n})}function RO({direction:e=`end`,className:t,children:n,...r}){return(0,G.jsx)(MO.Button,{"data-slot":`message-scroller-button`,"data-direction":e,direction:e,className:B(`absolute left-1/2 z-10 flex -translate-x-1/2 items-center gap-1 rounded-full border border-border bg-background/90 px-3 py-1 text-xs text-foreground shadow-sm backdrop-blur transition-[translate,scale,opacity] duration-200 hover:bg-accent`,`data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0`,`data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100`,`data-[direction=end]:bottom-3 data-[direction=end]:data-[active=false]:translate-y-full`,`data-[direction=start]:top-3 data-[direction=start]:data-[active=false]:-translate-y-full`,t),...r,children:n??(0,G.jsxs)(G.Fragment,{children:[`Jump to latest`,(0,G.jsx)(xr,{className:`size-3.5`,"aria-hidden":!0})]})})}function zO(e){return e.kind===`driver`?e.event.type===`start`?e.event.prompt:e.event.type===`text`?e.event.text:null:null}function BO(e){return e.replace(/\s+/g,` `).trim().length>100}function VO(e){return e.kind===`driver`?e.event.type===`start`?`you`:`agent`:e.kind}function HO(e){return e.kind===`driver`&&e.event.type===`start`}function UO(e){return e.kind===`driver`?e.event.type===`error`:e.kind===`error`||e.kind===`end`&&!e.ok&&!e.stopped&&!e.waiting}function WO(e){return UO(e)?`text-danger`:``}function GO(e){return UO(e)?`bg-danger/10`:``}function KO(e){let t=e.findIndex(HO);return t<=0?e:[e[t],...e.slice(0,t),...e.slice(t+1)]}function qO(e){return new Date(e).toLocaleTimeString()}function JO(e){let t=new Map,n=new Set,r=new Map,i=new Map;e.forEach((e,t)=>{e.kind===`choice`?r.set(e.id,{e,at:t}):e.kind===`choice-resolved`&&i.set(e.id,{e,at:t})});let a=new Set(e.flatMap(e=>HO(e)?[DD(e.event.prompt)?.question]:[]));for(let t of e)t.kind===`choice`&&a.has(t.title)&&n.add(t);let o=new Set(_t(e).map(e=>e.id));for(let[e,a]of r){if(n.has(a.e))continue;let{kind:r,...s}=a.e,c=i.get(e);o.has(e)?t.set(a.e,{choice:s}):c&&c.at>a.at&&(t.set(a.e,{choice:s,pick:c.e.picked}),n.add(c.e))}return{rows:t,hidden:n}}function YO(e){return new Set(e.filter(e=>e.kind===`end`&&(e.ok||e.waiting)))}function XO(e){let t=new Set,n;for(let r of e)HO(r)?n=void 0:r.kind===`driver`&&r.event.type===`text`?n=r:r.kind===`choice`&&n&&t.add(n);return t}function ZO(e){return e.replace(/```await-choices\b[\s\S]*?(```|$)/g,``).trim()}function QO({text:e}){return(0,G.jsx)(`div`,{className:`min-w-0 flex-1 font-sans text-foreground`,children:(0,G.jsx)(x,{text:e})})}var $O=8,ek=600;function tk(e){return e.length>ek||e.trim().split(`
|
|
133
|
-
`).length>$O}function nk({choice:e}){let[t,n]=(0,W.useState)(!1);return(0,G.jsxs)(`div`,{className:`min-w-0 flex-1 font-sans text-sm text-muted-foreground`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),"aria-expanded":t,"aria-label":`Asking ${e.title}`,className:`flex max-w-full items-center gap-1.5 hover:text-foreground`,children:[(0,G.jsx)(`span`,{className:`shrink-0`,children:`Asking`}),(0,G.jsx)(`span`,{className:`truncate text-foreground`,children:e.title}),(0,G.jsx)(oe,{className:`h-3.5 w-3.5 shrink-0 transition-transform ${t?`rotate-90`:``}`,"aria-hidden":!0})]}),t&&(0,G.jsx)(`ul`,{className:`mt-1.5 flex flex-col gap-1 rounded-lg border border-border px-3 py-2`,children:e.options.map(e=>(0,G.jsx)(`li`,{className:`text-foreground`,children:e.label},e.id))})]})}function rk({question:e,answer:t}){return(0,G.jsxs)(`div`,{role:`group`,"aria-label":`Your answer`,className:`max-w-[85%] min-w-0 rounded-lg border border-border px-3.5 py-2 font-sans text-sm`,children:[(0,G.jsx)(`div`,{className:`text-muted-foreground`,children:e}),(0,G.jsx)(`div`,{className:`text-foreground`,children:t})]})}function ik({text:e,at:t,queued:n=!1,attached:r}){let[i,a]=(0,W.useState)(!1),o=tk(e);return(0,G.jsxs)(`div`,{className:`group/prompt flex min-w-0 flex-1 flex-col items-end font-sans text-foreground`,children:[(0,G.jsxs)(`div`,{role:`group`,"aria-label":n?`Your message, queued`:`Your message`,className:`max-w-[85%] min-w-0 rounded-xl bg-muted px-3.5 py-2 ${n?`opacity-60`:``}`,children:[(0,G.jsx)(`div`,{className:o&&!i?`max-h-40 overflow-hidden`:``,children:(0,G.jsx)(x,{text:e})}),o&&(0,G.jsx)(`button`,{type:`button`,onClick:()=>a(e=>!e),"aria-expanded":i,className:`mt-1 text-xs text-muted-foreground hover:text-foreground`,children:i?`Show less`:`Show more`})]}),r!==void 0&&(0,G.jsx)(ak,{text:r}),n?(0,G.jsx)(`span`,{className:`h-4 pr-1 text-[10px] text-muted-foreground`,children:`Queued`}):(0,G.jsx)(`time`,{dateTime:t,title:t===void 0?void 0:new Date(t).toLocaleString(),className:`h-4 pr-1 text-[10px] tabular-nums text-muted-foreground opacity-0 transition-opacity group-hover/prompt:opacity-100`,children:t===void 0?``:qO(t)})]})}function ak({text:e}){let[t,n]=(0,W.useState)(!1);return(0,G.jsxs)(`div`,{className:`mt-1 flex max-w-[85%] min-w-0 flex-col items-end text-xs text-muted-foreground`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),"aria-expanded":t,className:`flex items-center gap-1 hover:text-foreground`,children:[(0,G.jsx)(`span`,{children:`Sent with this message`}),(0,G.jsx)(oe,{className:`h-3.5 w-3.5 shrink-0 transition-transform ${t?`rotate-90`:``}`,"aria-hidden":!0})]}),t&&(0,G.jsx)(`pre`,{className:`mt-1 max-h-80 w-full overflow-auto whitespace-pre-wrap break-words rounded-lg border border-border px-3 py-2 text-left font-mono text-foreground`,children:e})]})}function ok({text:e}){let[t,n]=(0,W.useState)(!1);return BO(e)?(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-1.5`,children:[(0,G.jsx)(`button`,{type:`button`,onClick:()=>n(!t),"aria-expanded":t,"aria-label":t?`Collapse message`:`Expand message`,className:`shrink-0 select-none text-muted-foreground transition-transform ${t?`rotate-90`:``}`,children:`›`}),(0,G.jsx)(`div`,{className:t?`min-w-0 flex-1`:`max-h-[1.35rem] min-w-0 flex-1 cursor-pointer overflow-hidden`,onClick:t?void 0:()=>n(!0),children:(0,G.jsx)(x,{text:e,compact:!0})})]}):(0,G.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,G.jsx)(x,{text:e,compact:!0})})}function sk(e){return e.kind===`driver`&&(e.event.type===`action`||e.event.type===`thought`)?{...e.event}:void 0}function ck(e){return e.kind===`driver`&&e.event.type===`output`?e.event:void 0}function lk(e,t=!1){let n=e[e.length-1],r=t&&n!==void 0?sk(n):void 0;if(r?.type===`action`)return{...lk(e.slice(0,-1)),current:r};let i=[],a=new Map,o,s=new Map,c=()=>{o?.steps.some(e=>e.type===`action`)&&(i.push(o.head),a.set(o.head,o.steps)),o=void 0};for(let t of e){let e=ck(t);if(e){let t=s.get(e.id);t&&(t.output={text:e.text,...e.failed?{failed:!0}:{},...e.exitCode===void 0?{}:{exitCode:e.exitCode},...e.changed?{changed:e.changed}:{}});continue}let n=sk(t);n?.type===`action`&&n.id!==void 0&&s.set(n.id,n),n===void 0?(c(),i.push(t)):o?o.steps.push(n):o={head:t,steps:[n]}}return c(),{rows:i,steps:a}}var uk=`ml-auto shrink-0 pt-0.5 text-[10px] tabular-nums text-muted-foreground opacity-0 transition-opacity group-hover/row:opacity-100`,dk=`subagent`,fk=[],pk=[],mk={};function hk(e){return e.kind===`session-update`||e.kind===`usage`||e.kind===`driver`&&e.event.type===`result`?!1:e.kind===`driver`&&e.event.type===`rate-limit`?e.event.limit.status!==`allowed`:!0}function gk({events:e,writing:t=``,sending:n,working:r=!1,queued:i=pk,waitingOn:a=0,stick:o=!0,openAt:s,tail:c,projectId:l,subagents:u=fk,doing:d=mk,setup:f,onOpenAgent:p,onOpenChange:m,onOpenScreen:h}){let g=(0,W.useMemo)(()=>l?JO(e):void 0,[l,e]),_=(0,W.useMemo)(()=>ft(e),[e]),v=(0,W.useMemo)(()=>YO(e),[e]),y=f?.workspace,b=(0,W.useMemo)(()=>CT(e,y),[e,y]),x=(0,W.useMemo)(()=>new Map(e.map((e,t)=>[e,String(t)])),[e]),S=(0,W.useMemo)(()=>XO(e),[e]),C=KO(e).filter(e=>hk(e)&&!g?.hidden.has(e)&&!_.hidden.has(e)),w=n===void 0?C:[...C,{kind:`driver`,event:{type:`start`,prompt:n}}],T=e=>{let t=zO(e);return t!==null&&S.has(e)?ZO(t):t},E=ZO(t),D=w.filter(e=>!v.has(e)&&T(e)!==``),{rows:O,steps:k,current:A}=lk(D,r&&!E),j=D.length>0&&HO(D[D.length-1]),M=new Map;for(let e of O){let t=e.kind===`driver`&&e.event.type===`start`?Oi(e.event.prompt,u):void 0;t&&M.set(e,t)}let N=e=>x.get(e)??`sending`,P=[...O].reverse().find(HO),F=new Map,ee=[];for(let e=0,t=[];e<=w.length;e++){let n=w[e];n===void 0?ee.push(...t):v.has(n)?t.push(n):t.length>0&&(F.set(n,t),t=[])}let te=e=>(0,G.jsx)(LO,{messageId:N(e),hidden:!0},`passed-${N(e)}`),ne=e=>M.has(e)?dk:VO(e),re=Ai(O,u),ie=e=>re.get(e)?.map(e=>(0,G.jsxs)(LO,{messageId:`subagent-${e.id}`,className:`group/row -mx-1.5 flex items-start gap-2 rounded-sm px-1.5`,children:[(0,G.jsx)(MD,{agent:e,doing:d[e.id],onOpen:p}),(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`span`,{className:uk}),children:qO(ki(e))}),(0,G.jsx)(U,{children:new Date(ki(e)).toLocaleString()})]})]},`subagent-${e.id}`)),ae=f===void 0?-1:O.length>0&&HO(O[0])?1:0,se=f!==void 0&&r&&!E&&j&&D.filter(HO).length===1,ce=e.find(HO),I=ce?.kind===`driver`&&ce.event.type===`start`?ce.event.added:void 0,le=f!==void 0&&(0,G.jsx)(LO,{messageId:`setup`,className:`-mx-1.5 flex items-start gap-2 rounded-sm px-1.5 empty:hidden`,children:(0,G.jsx)(AD,{setup:f,working:r,added:I,...se?{live:{since:D[D.length-1]?.at}}:{}})},`setup`);return(0,G.jsx)(NO,{autoScroll:o,defaultScrollPosition:s??(o?`end`:`start`),children:(0,G.jsxs)(PO,{className:`flex-1`,children:[(0,G.jsx)(FO,{"aria-label":`Agent output`,children:(0,G.jsxs)(IO,{className:`mx-auto w-full max-w-3xl gap-2 p-4 font-mono text-xs`,children:[O.map((e,t,n)=>{let r=T(e),i=g?.rows.get(e),a=t>0?n[t-1]:void 0,o=M.get(e),s=!a||(re.has(t)?!o:ne(a)!==ne(e)),c=e.at,l=HO(e)&&!o,u=l&&r!==null?DD(r):void 0;return(0,G.jsxs)(W.Fragment,{children:[F.get(e)?.map(te),b.ended.has(e)&&(0,G.jsx)(LO,{messageId:`changes-${N(e)}`,className:`-mx-1.5 flex items-start gap-2 rounded-sm px-1.5`,children:(0,G.jsx)(NT,{files:b.ended.get(e),onOpen:m})}),N(e)===`sending`&&b.last.length>0&&(0,G.jsx)(LO,{messageId:`changes-last`,className:`-mx-1.5 flex items-start gap-2 rounded-sm px-1.5`,children:(0,G.jsx)(NT,{files:b.last,onOpen:m})}),t===ae&&le,ie(t),(0,G.jsxs)(LO,{messageId:N(e),scrollAnchor:e===P,className:`group/row -mx-1.5 flex items-start gap-2 rounded-sm px-1.5 ${o?``:GO(e)}`,children:[u?(0,G.jsx)(rk,{...u}):l&&r!==null?(0,G.jsx)(ik,{text:r,at:c,attached:e.kind===`driver`&&e.event.type===`start`?e.event.attached:void 0}):o?(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,G.jsx)(MD,{agent:o.agent,end:o,onOpen:p}),o.rest&&(0,G.jsx)(ok,{text:o.rest})]}):r===null?k.has(e)?(0,G.jsx)(BT,{steps:k.get(e)}):i&&i.pick===void 0?(0,G.jsx)(nk,{choice:i.choice}):i?.pick===void 0?e.kind===`screen`&&h&&_.live.has(e)?(0,G.jsxs)(`button`,{type:`button`,onClick:h,className:`group/screen flex min-w-0 flex-1 items-center gap-1 text-left text-foreground`,children:[(0,G.jsx)(`span`,{className:`min-w-0 truncate group-hover/screen:underline`,children:(ct(e)??``).trim()}),(0,G.jsx)(oe,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`,"aria-hidden":!0})]}):(0,G.jsx)(`span`,{className:`min-w-0 flex-1 whitespace-pre-wrap break-words ${WO(e)||`text-foreground`}`,children:(ct(e)??``).trim()}):(0,G.jsx)(`div`,{className:`min-w-0 flex-1 font-sans`,children:(0,G.jsx)(OD,{choice:i.choice,pick:i.pick})}):(0,G.jsx)(QO,{text:r}),!l&&s&&c!==void 0&&(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(`span`,{className:uk}),children:qO(c)}),(0,G.jsx)(U,{children:new Date(c).toLocaleString()})]})]})]},N(e))}),ee.map(te),O.length===ae&&le,ie(O.length),E&&(0,G.jsx)(LO,{messageId:`writing`,className:`-mx-1.5 flex items-start gap-2 rounded-sm px-1.5`,children:(0,G.jsx)(QO,{text:E})}),r&&!E&&!se&&(0,G.jsx)(LO,{messageId:`working`,className:`-mx-1.5 flex items-center gap-2 rounded-sm px-1.5`,children:(0,G.jsx)(zT,{call:A,word:j?`Starting…`:`Working…`,since:D[D.length-1]?.at})}),!r&&n===void 0&&b.last.length>0&&(0,G.jsx)(LO,{messageId:`changes-last`,className:`-mx-1.5 flex items-start gap-2 rounded-sm px-1.5`,children:(0,G.jsx)(NT,{files:b.last,onOpen:m})}),!r&&a>0&&(0,G.jsx)(LO,{messageId:`waiting-on`,className:`-mx-1.5 flex items-center gap-2 rounded-sm px-1.5`,children:(0,G.jsx)(zT,{word:`Waiting for ${a} ${a===1?`subagent`:`subagents`}`})}),i.map((e,t)=>(0,G.jsx)(LO,{messageId:`queued-${t}`,className:`-mx-1.5 flex items-start gap-2 rounded-sm px-1.5`,children:(0,G.jsx)(ik,{text:e,queued:!0})},`queued-${t}`)),c]})}),(0,G.jsx)(RO,{})]})})}function _k({events:e,lost:t=!1,writing:n=``,sending:r,working:i=!1,queued:a,waitingOn:o,stick:s=!0,openAt:c,emptyLabel:l=`Waiting for the session to start…`,tail:u,projectId:d,subagents:f,doing:p,setup:m,onOpenAgent:h,onOpenChange:g,onOpenScreen:_}){let v=t&&(0,G.jsxs)(`div`,{role:`status`,className:`flex items-center gap-2 border-b border-border bg-warning/10 px-4 py-2 text-xs text-warning`,children:[(0,G.jsx)(hi,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),`Live stream lost — reconnecting. The session keeps running; this view may be behind.`]});return e.length===0&&r===void 0&&!a?.length?(0,G.jsxs)(G.Fragment,{children:[v,(0,G.jsx)(`div`,{className:`grid flex-1 place-items-center text-sm text-muted-foreground`,children:l})]}):(0,G.jsxs)(G.Fragment,{children:[v,(0,G.jsx)(gk,{events:e,writing:n,...r===void 0?{}:{sending:r},working:i,...a?{queued:a}:{},...o?{waitingOn:o}:{},stick:s,...c?{openAt:c}:{},...u?{tail:u}:{},projectId:d,...f?{subagents:f}:{},...p?{doing:p}:{},setup:m,onOpenAgent:h,onOpenChange:g,onOpenScreen:_})]})}function vk({target:e,events:t,live:n}){if(e!==`actions`)return null;let r=JT(t);return(0,G.jsxs)(`div`,{role:`status`,className:`flex items-center gap-2 border-b border-border bg-muted/40 px-4 py-2 text-xs text-muted-foreground`,children:[(0,G.jsx)(qr,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,G.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[`Running on GitHub Actions`,n?` — updates arrive when the run finishes.`:`.`]}),r&&(0,G.jsxs)(`a`,{href:r,target:`_blank`,rel:`noreferrer`,className:`inline-flex shrink-0 items-center gap-1 text-primary hover:underline`,children:[`View the Actions run`,(0,G.jsx)(Lr,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})]})}var yk=Symbol(`other`);function bk({n:e}){return(0,G.jsx)(`kbd`,{className:`mt-0.5 flex h-5 min-w-5 shrink-0 items-center justify-center rounded border border-border px-1 font-sans text-[11px] text-muted-foreground`,"aria-hidden":!0,children:e})}function xk({projectId:e,agentId:t,choice:n,active:r=!1,onSaid:i,send:a}){let{busy:o,error:s,run:c}=it(),[l,u]=(0,W.useState)(!1),[d,f]=(0,W.useState)(()=>n.multi?void 0:n.recommended??n.options[0]?.id),[p,m]=(0,W.useState)(()=>new Set(n.multi?n.options.filter(e=>e.default).map(e=>e.id):[])),[h,g]=(0,W.useState)(``),_=(0,W.useRef)(null),v=o||l,y=h.trim(),b=e=>void c(e,`Could not send your answer — try again.`).then(e=>e.ok&&u(!0)),x=r=>b(()=>a?a(r):An(e,n.id,r,t)),S=n=>b(async()=>{let r=await Pn(e,n,t);return r.ok&&i?.(n),r}),C=n.multi||d!==yk||y!==``,w=()=>{if(!(v||!C)){if(n.multi)return y===``?x([...p]):S([...n.options.filter(e=>p.has(e.id)).map(e=>e.label),y].join(`, `));if(d===yk)return S(y);d!==void 0&&x(d)}},T=e=>{if(!v){if(!n.multi)return f(e);m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}},E=(0,W.useRef)({submit:w,pick:T});E.current={submit:w,pick:T},(0,W.useEffect)(()=>{if(!r)return;let e=e=>{let t=e.target,r=t!==null&&(t.isContentEditable||t.tagName===`INPUT`||t.tagName===`TEXTAREA`);if((e.ctrlKey||e.metaKey)&&e.key===`Enter`){if(r&&t!==_.current)return;e.preventDefault(),E.current.submit();return}if(r||e.ctrlKey||e.metaKey||e.altKey||!/^[1-9]$/.test(e.key))return;let i=Number(e.key),o=n.options[i-1];if(o)E.current.pick(o.id);else if(!a&&i===n.options.length+1)_.current?.focus();else return;e.preventDefault()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[r,n.options,a]);let D=e=>B(`flex w-full items-start gap-3 rounded-lg border px-3 py-2 text-left`,e?`border-primary bg-accent/60`:`border-border hover:bg-accent/40`);return(0,G.jsx)(`section`,{role:`region`,"aria-label":n.title,className:`mx-auto w-full max-w-3xl px-2 pt-2`,children:(0,G.jsxs)(`div`,{className:`rounded-xl border border-border bg-card p-3`,children:[(0,G.jsx)(`h2`,{className:`mb-2 px-1 text-sm font-medium`,children:n.title}),(0,G.jsxs)(`ul`,{className:`flex flex-col gap-1.5`,children:[n.options.map((e,t)=>{let r=n.multi?p.has(e.id):d===e.id;return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,role:n.multi?`checkbox`:`radio`,"aria-checked":r,disabled:v,onClick:()=>T(e.id),className:B(D(r),`disabled:opacity-60`),children:[n.multi&&(0,G.jsx)(`span`,{className:B(`mt-0.5 flex h-4 w-4 shrink-0 items-center justify-center rounded border`,r?`border-primary bg-primary text-primary-foreground`:`border-border`),"aria-hidden":!0,children:r&&(0,G.jsx)(A,{className:`h-3 w-3`})}),(0,G.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`span`,{className:`text-sm font-medium`,children:[e.label,e.id===n.recommended&&(0,G.jsx)(`span`,{className:`ml-2 text-xs font-normal text-muted-foreground`,children:`Recommended`})]}),e.detail&&(0,G.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.detail})]}),(0,G.jsx)(bk,{n:t+1})]})},e.id)}),!a&&(0,G.jsx)(`li`,{children:(0,G.jsxs)(`label`,{className:B(D(n.multi?y!==``:d===yk),`items-center`),children:[(0,G.jsx)(`input`,{ref:_,value:h,disabled:v,onFocus:()=>!n.multi&&f(yk),onChange:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.ctrlKey&&!e.metaKey&&w()},placeholder:`Other: say it in your own words`,"aria-label":`Other`,className:`min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground`}),(0,G.jsx)(bk,{n:n.options.length+1})]})})]}),s&&(0,G.jsx)(`p`,{role:`alert`,className:`mt-2 px-1 text-xs text-danger`,children:s}),(0,G.jsxs)(`div`,{className:`mt-3 flex items-center gap-2`,children:[(0,G.jsx)(`span`,{role:v?`status`:void 0,className:`min-w-0 flex-1 truncate px-1 text-xs text-muted-foreground`,children:o?`Sending your answer…`:l?`Answer sent — waiting for the agent to pick it up…`:r?`Number keys pick · Ctrl+Enter submits`:``}),!a&&(0,G.jsx)(V,{variant:`ghost`,size:`sm`,disabled:v,onClick:()=>S(`I skip this question.`),children:`Skip`}),(0,G.jsx)(V,{size:`sm`,disabled:v||!C,onClick:w,children:`Submit`})]})]})})}var Sk=4e3;function Ck({target:e,events:t,projectId:n,agentId:r}){let i=e===`web`?YT(t):void 0,a=Pk(i?.id),o=Nk(i?.id);return e===`web`?(0,G.jsxs)(`div`,{className:`border-b border-border bg-muted/40`,children:[(0,G.jsxs)(`div`,{role:`status`,className:`flex flex-wrap items-center gap-2 px-4 py-2 text-xs text-muted-foreground`,children:[(0,G.jsx)(Nr,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1`,children:i?`Running as a Claude Code cloud session. It opens its own pull request over there; a question it parks on shows here once the bridge sees it.`:`Starting a Claude Code cloud session…`}),i&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`span`,{className:`inline-flex shrink-0 items-center gap-1`,children:[(0,G.jsxs)(`code`,{className:`rounded bg-muted px-1 py-0.5`,children:[`claude --teleport `,i.id]}),(0,G.jsx)(pD,{text:`claude --teleport ${i.id}`,label:`Copy the command that continues this session here`})]}),(0,G.jsxs)(`a`,{href:i.url,target:`_blank`,rel:`noreferrer`,className:`inline-flex shrink-0 items-center gap-1 text-primary hover:underline`,children:[`Open the session`,(0,G.jsx)(Lr,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})]})]}),a&&i&&(!o||o.state===`failed`)&&(0,G.jsx)(Tk,{question:a,url:i.url,sessionId:i.id,projectId:n,agentId:r,failure:o?.state===`failed`?o:void 0}),o&&i&&o.state!==`failed`&&(0,G.jsx)(Ek,{answer:o,url:i.url,sessionId:i.id})]}):null}function wk(e){return async t=>{let n=await jn(e,Array.isArray(t)?t:[t]);if(!n.ok)throw Error(n.error??`could not queue the answer`)}}function Tk({question:e,url:t,sessionId:n,projectId:r,agentId:i,failure:a}){return(0,G.jsxs)(`div`,{className:`border-t border-border`,children:[a&&(0,G.jsxs)(`p`,{className:`flex items-center gap-1 px-4 pt-2.5 text-xs text-destructive`,children:[(0,G.jsx)(hi,{className:`h-3 w-3 shrink-0`,"aria-hidden":!0}),`Sending “`,a.labels.join(`, `),`” failed`,a.note?`: ${a.note}`:``,`. Pick again, or answer in the session.`]}),(0,G.jsx)(xk,{projectId:r,agentId:i,choice:Tt(e),send:wk(n)},e.title),(0,G.jsxs)(`a`,{href:t,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 px-4 py-2.5 text-xs text-primary hover:underline`,children:[`Answer it in the session`,(0,G.jsx)(Lr,{className:`h-3 w-3`,"aria-hidden":!0})]})]})}function Ek({answer:e,url:t,sessionId:n}){return(0,G.jsx)(`div`,{className:`flex items-center gap-2 border-t border-border px-4 py-2.5 text-xs text-muted-foreground`,children:e.state===`queued`?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(se,{className:`h-3.5 w-3.5 shrink-0 animate-spin text-primary`,"aria-hidden":!0}),(0,G.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[`Sending “`,e.labels.join(`, `),`” through your Claude web tab… It goes out the next time the extension checks in.`]}),(0,G.jsx)(`button`,{type:`button`,onClick:()=>void Mn(n).catch(()=>{}),className:`shrink-0 rounded border border-border px-2 py-1 hover:border-primary/50 hover:text-foreground`,children:`Cancel`})]}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(A,{className:`h-3.5 w-3.5 shrink-0 text-primary`,"aria-hidden":!0}),(0,G.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[`Answered “`,e.labels.join(`, `),`”. The session continues over there and its transcript above follows along.`]}),(0,G.jsxs)(`a`,{href:t,target:`_blank`,rel:`noreferrer`,className:`inline-flex shrink-0 items-center gap-1 text-primary hover:underline`,children:[`Open the session`,(0,G.jsx)(Lr,{className:`h-3 w-3`,"aria-hidden":!0})]})]})})}var Dk=[/^Arrow keys move the tile/i,/^Show message actions$/i,/^(Claude\s+)?(Fable|Opus|Sonnet|Haiku)(\s+\d[\d.]*)?$/i];function Ok(e){return e.split(`
|
|
134
|
-
`).filter(e=>!Dk.some(t=>t.test(e.trim()))).join(`
|
|
135
|
-
`).replace(/\n{3,}/g,`
|
|
136
|
-
|
|
137
|
-
`).trim()}function kk({target:e,events:t}){let n=e===`web`?YT(t):void 0,r=Mk(n?.id).map(e=>({...e,text:Ok(e.text)})).filter(e=>e.text),i=jk(r.at(-1)?.seq,r.at(-1)?.text.length);return e!==`web`||!n?null:(0,G.jsxs)(`div`,{role:`status`,"aria-label":`Cloud session mirror`,className:`mt-2 rounded-md border border-border bg-muted/40 font-sans`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-border px-3 py-1.5 text-[10px] text-muted-foreground`,children:[(0,G.jsx)(Nr,{className:`h-3 w-3 shrink-0 text-primary`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`font-medium uppercase tracking-wide`,children:`Cloud session mirror`}),(0,G.jsx)(`span`,{className:`opacity-70`,children:`a best-effort view of the Claude tab, not the run's own log`})]}),r.length>0?(0,G.jsx)(`div`,{ref:i,className:`max-h-80 space-y-2 overflow-y-auto px-3 py-2 text-xs`,children:r.map(e=>e.role===`user`?(0,G.jsxs)(`div`,{className:`truncate text-muted-foreground/70`,title:e.text,children:[(0,G.jsx)(`span`,{className:`font-medium`,children:`you ›`}),` `,Ak(e.text)]},e.seq):(0,G.jsx)(`div`,{className:`whitespace-pre-wrap break-words text-muted-foreground`,children:e.text},e.seq))}):(0,G.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-xs text-muted-foreground`,children:[(0,G.jsx)(se,{className:`h-3.5 w-3.5 shrink-0 animate-spin text-primary`,"aria-hidden":!0}),`Connecting to the cloud session…`]})]})}function Ak(e){return e.split(`
|
|
138
|
-
`).find(e=>e.trim())??``}function jk(e,t){let n=(0,W.useRef)(null);return(0,W.useEffect)(()=>{let e=n.current;e&&(e.scrollTop=e.scrollHeight)},[e,t]),n}function Mk(e){let[t,n]=(0,W.useState)([]);return(0,W.useEffect)(()=>{if(!e){n([]);return}let t=!0,r=()=>{Dn(e).then(e=>{t&&n(e)}).catch(()=>{})};r();let i=setInterval(r,Sk);return()=>{t=!1,clearInterval(i)}},[e]),t}function Nk(e){let[t,n]=(0,W.useState)(void 0);return(0,W.useEffect)(()=>{if(!e){n(void 0);return}let t=!0,r=()=>{En(e).then(e=>{t&&n(e??void 0)}).catch(()=>{})};r();let i=setInterval(r,Sk);return()=>{t=!1,clearInterval(i)}},[e]),t}function Pk(e){let[t,n]=(0,W.useState)(void 0);return(0,W.useEffect)(()=>{if(!e){n(void 0);return}let t=!0,r=()=>{Cn(e).then(e=>{t&&n(e??void 0)}).catch(()=>{})};r();let i=setInterval(r,Sk);return()=>{t=!1,clearInterval(i)}},[e]),t}function Fk({machine:e,byLine:t=!1}){return e?(0,G.jsxs)(`div`,{role:`status`,className:`flex items-center gap-2 border-b border-border bg-muted/40 px-4 py-2 text-xs text-muted-foreground`,children:[(0,G.jsx)(t?Xr:li,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,G.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[`Running on `,e,`. Its worktree, diff, and pull request live on that machine.`]})]}):null}function Ik({handoff:e,subagent:t=!1}){if(!e||!e.exists&&e.landed)return null;if(!e.exists)return(0,G.jsx)(`span`,{className:`text-muted-foreground`,children:e.unchanged?`no changes`:`branch gone`});let n=`${e.commits.length} commit${e.commits.length===1?``:`s`}`;if(e.empty&&e.commits.length>0)return(0,G.jsxs)(`span`,{className:`text-muted-foreground`,children:[n,` · no change left`]});if(e.empty&&e.pendingFiles?.length)return null;if(e.empty)return(0,G.jsx)(`span`,{className:`text-muted-foreground`,children:e.merged?`merged`:`no changes`});let r=`${e.files.length} file${e.files.length===1?``:`s`}`;return(0,G.jsxs)(`span`,{className:`flex items-center gap-x-2 whitespace-nowrap text-muted-foreground`,children:[(0,G.jsx)(`span`,{children:n}),(0,G.jsx)(`span`,{children:`·`}),(0,G.jsx)(`span`,{children:r}),(0,G.jsx)(et,{added:e.insertions,removed:e.deletions,className:`text-xs`}),!t&&e.pushed&&!e.pr&&(0,G.jsx)(`span`,{children:`· pushed`})]})}var Lk=`Commit your work.`;function Rk(e){return e!==void 0&&!/^[0-9a-f]{40}$/.test(e)?e.replace(/^origin\//,``):`the main branch`}function zk(e){return e===Lk}function Bk(){return(0,G.jsx)(Kk,{children:`Committing…`})}function Vk(e){return e?e.landed?!0:e.exists?!e.empty||e.commits.length>0||!!e.pendingFiles?.length:!e.unchanged:!1}function Hk({projectId:e,agentId:t,state:n,subagent:r=!1,onAsked:i}){let{handoff:a,busy:o,pending:s,act:c}=n;if(!a)return null;if(r)return a.landed?(0,G.jsx)(Kk,{children:`landed`}):a.empty?(0,G.jsx)(Wk,{paths:a.pendingFiles??[]}):(0,G.jsx)(Kk,{children:`not landed`});if(a.landed)return(0,G.jsx)(Kk,{children:`Merged into the main branch.`});if(a.prPending)return null;if(a.pr)return a.pr.state!==`OPEN`||a.merged?null:(0,G.jsxs)(V,{size:`xs`,disabled:o,onClick:()=>c(`merge`,()=>Bn(e,t),`Could not merge the pull request.`),children:[(0,G.jsx)(Wr,{className:`h-3.5 w-3.5`}),s===`merge`?`Merging…`:`Merge PR`]});if(!a.exists)return a.unchanged?null:(0,G.jsx)(Kk,{children:`Branch gone — nothing to open a PR from.`});let l=a.pendingFiles??[];if(a.empty||l.length>0)return l.length===0&&a.commits.length>0?(0,G.jsxs)(Kk,{children:[`Nothing to `,a.hasRemote?`publish`:`merge`,`: the commits cancel out.`]}):l.length===0?null:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Wk,{paths:l,committed:!a.empty}),(0,G.jsxs)(V,{size:`xs`,disabled:o,onClick:()=>{i?.(Lk),c(`commit`,()=>Pn(e,Lk,t).then(e=>(e.ok||i?.(null),e),e=>{throw i?.(null),e}),`Could not ask the agent to commit.`)},children:[(0,G.jsx)(Ur,{className:`h-3.5 w-3.5`}),s===`commit`?`Asking…`:`Commit`]})]});if(a.merged)return(0,G.jsxs)(Kk,{children:[`Merged into `,Rk(a.base),`.`]});if(!a.hasRemote)return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(Kk,{children:[`Not in `,Rk(a.base),` yet.`]}),(0,G.jsxs)(V,{size:`xs`,disabled:o,onClick:()=>c(`merge-branch`,()=>Hn(e,t),`Could not merge the branch.`),children:[(0,G.jsx)(Wr,{className:`h-3.5 w-3.5`}),s===`merge-branch`?`Merging…`:`Merge`]})]});let u=()=>c(`push`,()=>Vn(e,t),`Could not push the branch.`);if(!a.gitHost)return a.pushed?(0,G.jsx)(Kk,{children:`Pushed — no git host package to open a pull request with.`}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Uk,{}),(0,G.jsxs)(V,{size:`xs`,disabled:o,onClick:u,children:[(0,G.jsx)(gi,{className:`h-3.5 w-3.5`}),s===`push`?`Publishing…`:`Publish branch`]})]});let f=n=>c(`pr`,()=>zn(e,t,{draft:n}),`Could not open the pull request.`);return(0,G.jsxs)(G.Fragment,{children:[!a.pushed&&(0,G.jsx)(Uk,{}),(0,G.jsxs)(`span`,{className:`inline-flex`,children:[(0,G.jsxs)(V,{size:`xs`,className:`rounded-r-none`,disabled:o,onClick:()=>f(!1),children:[(0,G.jsx)(Kr,{className:`h-3.5 w-3.5`}),s===`pr`?`Opening PR…`:s===`push`?`Publishing…`:`Open PR`]}),(0,G.jsxs)($e,{children:[(0,G.jsx)(De,{type:`button`,"aria-label":`Other choices`,disabled:o,className:B(Fe({size:`xs`}),`rounded-l-none border-l border-[var(--color-primary-foreground)]/30 px-1 data-[popup-open]:bg-[var(--color-primary)] data-[popup-open]:text-[var(--color-primary-foreground)] data-[popup-open]:opacity-90`),children:(0,G.jsx)(I,{className:`h-3.5 w-3.5`})}),(0,G.jsxs)(d,{align:`end`,className:`min-w-[10rem]`,children:[(0,G.jsxs)(P,{onClick:()=>f(!0),children:[(0,G.jsx)(Gr,{className:`h-3.5 w-3.5`}),`Create draft PR`]}),!a.pushed&&(0,G.jsxs)(P,{onClick:u,children:[(0,G.jsx)(gi,{className:`h-3.5 w-3.5`}),`Publish branch`]})]})]})]})]})}function Uk(){return(0,G.jsx)(Kk,{children:`not published`})}function Wk({paths:e,committed:t=!1}){return e.length===0?null:(0,G.jsxs)(Kk,{title:e.join(`
|
|
139
|
-
`),children:[t?``:`Nothing committed — `,Gk(e),` left uncommitted.`]})}function Gk(e){let t=e.slice(0,2).join(`, `),n=e.length-Math.min(e.length,2);return n>0?`${t} and ${n} more`:t}function Kk({children:e,title:t}){return(0,G.jsx)(`span`,{className:`inline-block max-w-[24rem] truncate align-middle text-xs text-muted-foreground`,...t?{title:t}:{},children:e})}function qk(e){let t,n=0;for(let r of e)r.kind===`usage`?t=(t??0)+r.costUsd:r.kind===`driver`&&r.event.type===`result`&&n++;return{...t===void 0?{}:{costUsd:t},turns:n}}function Jk({label:e,value:t}){return(0,G.jsxs)(`span`,{className:`flex items-baseline gap-1.5`,children:[(0,G.jsx)(`span`,{className:`text-muted-foreground/70`,children:e}),(0,G.jsx)(`span`,{className:`tabular-nums text-foreground`,children:t})]})}function Yk({events:e,card:t}){let n=tt(t?.driver),r=n?Ze[n]:t?.driver,i=ae(),a=t?.model&&y(n?i?.[n]:void 0,t.model),{costUsd:o,turns:s}=qk(e);return(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-1 border-b border-border px-4 py-2 text-xs`,children:[r&&(0,G.jsx)(Jk,{label:`Agent`,value:r}),a&&(0,G.jsx)(Jk,{label:`Model`,value:a}),o!==void 0&&(0,G.jsx)(Jk,{label:`Spent`,value:`$${o.toFixed(2)}`}),s>0&&(0,G.jsx)(Jk,{label:`Turns`,value:String(s)}),o===void 0&&s===0&&(0,G.jsx)(`span`,{className:`text-muted-foreground/70`,children:`No spend reported yet`})]})}var Xk=`oa.side-panel`,Zk=new Set;function Qk(e,t){return t?`${e}/${t}`:`new`}var $k;function eA(){if($k)return $k;try{let e=JSON.parse(globalThis.localStorage?.getItem(Xk)??`[]`);return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}catch{return[]}}function tA(e,t){let n=eA().filter(t=>t!==e),r=t?[...n,e].slice(-200):n;try{r.length>0?globalThis.localStorage?.setItem(Xk,JSON.stringify(r)):globalThis.localStorage?.removeItem(Xk)}catch{$k=r}for(let e of Zk)e()}function nA(e){return(0,W.useSyncExternalStore)(e=>(Zk.add(e),()=>Zk.delete(e)),()=>eA().includes(e),()=>!1)}var rA=new Map,iA=new Map,aA=new Set,oA=0;function sA(e){return aA.add(e),()=>aA.delete(e)}function cA(e,t){rA.set(e,{path:t,at:++oA}),tA(e,!0);for(let e of aA)e()}function lA(e){return(0,W.useSyncExternalStore)(sA,()=>rA.get(e),()=>void 0)}function uA(e){iA.set(e,++oA),tA(e,!0);for(let e of aA)e()}function dA(e){return(0,W.useSyncExternalStore)(sA,()=>iA.get(e),()=>void 0)}var fA=1e3,pA=5e3,mA=2e3,hA=[],gA={};function _A({projectId:e,agentId:t,events:n,live:r,card:i,label:a,projectName:o,target:s,remoteLabel:c,remoteByLine:l,files:u,lost:d=!1,writing:f=``,startedWith:p,onAgentStarted:m,onDeleted:h,subagents:g=hA,onOpenAgent:_}){let[v,b]=(0,W.useState)(0),x=Ie(r===!1?()=>un(e,t):null,null,[e,t,r,v],{remember:Oa(e,t)}),S=g.filter(e=>e.status===`running`).map(e=>e.id).join(`,`),C=Date.now(),w=g.filter(e=>Ti(e,C)).length,{value:T}=We(S?()=>dn(e,S.split(`,`)):null,gA,mA,[e,S],`previous`),E=Ie(r===!1?()=>cn(e):null,[],[e,t,r],{remember:`retained:${e}`}),[D,O]=(0,W.useState)(!1),k=(0,W.useCallback)(()=>O(!0),[]);(0,W.useEffect)(()=>{O(!1),b(0)},[t]);let A=r===!1&&!D&&E.includes(t),j=r===!0,M=i?.parent!==void 0,{workspace:N,branch:P,base:F,driver:ee,model:te}=i??{},ne=s!==void 0&&s!==`local`||c!==void 0,re=(0,W.useMemo)(()=>({workspace:N,branch:P,base:F,driver:ee,model:te,elsewhere:ne}),[N,P,F,ee,te,ne]),ie=tt(ee),oe=ae(),se=te?y(ie?oe?.[ie]:void 0,te):void 0,ce=c??(s===`web`?`Cloud`:s===`actions`?`GitHub Actions`:s===`remote`?`Another machine`:i?.otherHost&&i.host?i.host:sT()),[I,ue]=(0,W.useState)(!1),{runSlots:L,panels:de}=le(),fe=de.some(t=>t.changes&&t.projects.includes(e)),R=(0,W.useMemo)(()=>fe?n=>cA(Qk(e,t),n):void 0,[fe,e,t]),pe=de.some(t=>t.screen&&t.projects.includes(e)),me=(0,W.useMemo)(()=>pe?()=>uA(Qk(e,t)):void 0,[pe,e,t]),he=L.filter(t=>t.projects.includes(e)),ge=(0,W.useCallback)(()=>ue(e=>!e),[]),z=(!x?.length||n.length===0||JSON.stringify(n[0])===JSON.stringify(x[0]))&&n.length>(x?.length??0),_e=j?n:x?.length&&!z?x:n;(0,W.useEffect)(()=>{r===!1&&x!==null&&z&&b(n.length)},[r,x,z,n.length]);let[ve,ye]=(0,W.useState)(null),be=GT(_e),xe=j||be&&(z||ve===t);(0,W.useEffect)(()=>{be&&z&&x!==null?ye(t):be||ye(null)},[be,z,x,t]);let[Se,Ce]=(0,W.useState)(null);(0,W.useEffect)(()=>Ce(null),[t]);let we=_e.filter(e=>e.kind===`driver`&&e.event.type===`start`).length;(0,W.useEffect)(()=>{Se&&we>Se.prompts&&Ce(null)},[Se,we]);let Te=(0,W.useCallback)(e=>Ce(e===null?null:{text:e,prompts:we}),[we]),[Ee,De]=(0,W.useState)(null);(0,W.useEffect)(()=>De(null),[t]),(0,W.useEffect)(()=>{Ee&&we>Ee.prompts&&De(null)},[Ee,we]),(0,W.useEffect)(()=>{if(!Ee||xe)return;let e=setTimeout(()=>De(null),pA);return()=>clearTimeout(e)},[Ee,xe]);let Oe=(0,W.useCallback)(e=>De(t=>({texts:[...t?.texts??[],e],prompts:we})),[we]),ke=Se?.text??(p&&we===0?p:void 0),Ae=xe||ke!==void 0,je=CD(e,t,be),Me=SD(e,t,r===!1&&!Ae,i?.saving===!0,Ae),Ne=Me.handoff!==null&&Me.handoff.exists&&!Me.handoff.empty,Pe=i?.saving&&!Ne?{...Me,handoff:null,loaded:!1}:Me,Fe=ke??[..._e].reverse().find(e=>e.kind===`driver`&&e.event.type===`start`),Le=zk(typeof Fe==`string`?Fe:Fe?.kind===`driver`&&Fe.event.type===`start`?Fe.event.prompt:void 0)&&(Ae||r===!1&&!Pe.loaded),Re=j?void 0:KT(_e)??(i?qT(i.status):void 0),ze=(0,W.useMemo)(()=>_t(_e),[_e]),Be=r===!1&&Pe.loaded,[Ve,He]=(0,W.useState)(null);(0,W.useEffect)(()=>{let e=setTimeout(()=>He(t),fA);return()=>clearTimeout(e)},[t]);let Ue=i?.saving===!0||Pe.loaded&&!Pe.handoff?.prPending,B=j||Ve===t||x!==null&&Ue,[Ge,Ke]=(0,W.useState)(null),V=Ge===t||j||x!==null||Ve===t;(0,W.useEffect)(()=>{V&&Ke(t)},[V,t]);let qe=B&&r===!1&&!Ae&&w===0,Je=(0,W.useRef)({agentId:null,say:!1}),H=Je.current.agentId===t&&Je.current.say,Ye=Le||je?.pr!==void 0||(r===!1?Pe.loaded?Vk(Pe.handoff):H:je?.checkout?.dirty===!0||H);return Je.current={agentId:t,say:Ye},(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(wD,{projectId:e,agentId:t,events:_e,label:a,projectName:o,runsOn:ce,retainedWorktree:A,onWorktreeRemoved:k,onDeleted:h,expanded:I,onToggle:ge,ready:B,checkout:je}),I&&(0,G.jsx)(Yk,{events:_e,card:i}),(0,G.jsx)(vk,{target:s,events:_e,live:j}),(0,G.jsx)(Ck,{target:s,events:_e,projectId:e,agentId:t}),(0,G.jsx)(Fk,{machine:c,byLine:l}),V?r!==!0&&x===null&&_e.length===0?(0,G.jsx)(`div`,{className:`grid flex-1 place-items-center text-sm text-muted-foreground`,children:`Loading agent…`}):(0,G.jsx)(_k,{events:_e,projectId:e,lost:d,writing:xe?f:``,...ke===void 0?{}:{sending:ke},working:xe||ke!==void 0,queued:Ee?.texts,waitingOn:!Ae&&r===!1&&Re?.ok!==!1&&!Re?.waiting?w:0,...xe?{}:{stick:!1,openAt:`end`,emptyLabel:`This agent has no events.`},tail:(0,G.jsx)(kk,{target:s,events:_e}),subagents:g,doing:T,setup:re,onOpenAgent:_,onOpenChange:R,onOpenScreen:me}):(0,G.jsx)(`div`,{className:`flex-1`}),(0,G.jsx)(ND,{subagents:g,doing:T,onOpen:_},t),t&&ze.map((n,r)=>(0,G.jsx)(xk,{projectId:e,agentId:t,choice:n,active:r===ze.length-1,onSaid:Te},`${t}:${n.id}`)),(0,G.jsx)(ED,{projectName:o,checkout:je,summary:B&&(Be?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Ik,{handoff:Pe.handoff,subagent:M}),Pe.error&&(0,G.jsx)(`span`,{className:`text-danger`,children:Pe.error})]}):he.map(n=>{let r=n.summary;return r?(0,G.jsx)(jE,{package:n.package,label:`run summary`,children:(0,G.jsx)(r,{projectId:e,agentId:t,working:j})},n.package):null})),actions:Le?(0,G.jsx)(Bk,{}):qe?(0,G.jsx)(Hk,{projectId:e,agentId:t,state:Pe,subagent:M,onAsked:Te}):void 0,show:Ye}),(0,G.jsx)(TD,{projectId:e,agentId:t,live:xe,files:u,onAgentStarted:m,onSending:Te,onQueued:Oe,outcome:Re,model:se})]})}function vA({docs:e,loaded:t}){let[n,r]=(0,W.useState)(0);if(!t)return(0,G.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`Loading…`});if(e.length===0)return(0,G.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No PLAN/TODO docs yet.`});let i=e[Math.min(n,e.length-1)];return(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-auto flex-col`,children:[(0,G.jsx)(`div`,{className:`flex flex-wrap gap-1 border-b border-border p-2`,children:e.map((e,t)=>(0,G.jsx)(V,{variant:`ghost`,size:`sm`,className:B(`h-7 text-xs`,t===n&&`bg-accent text-accent-foreground`),onClick:()=>r(t),children:e.name},e.name))}),(0,G.jsx)(T,{className:`min-h-0 flex-auto`,children:(0,G.jsx)(`div`,{className:`p-4`,children:(0,G.jsx)(x,{text:i.content})})})]})}function yA({views:e}){let[t,n]=(0,W.useState)(0),r=(0,W.useRef)(new Set);(0,W.useEffect)(()=>{let t=e.findIndex(e=>!r.current.has(e.id));for(let t of e)r.current.add(t.id);t>=0&&n(t)},[e]);let i=e[Math.min(t,e.length-1)],a=(0,W.useRef)(null);return i?(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-auto flex-col`,children:[e.length>1&&(0,G.jsx)(`nav`,{className:`sticky top-0 z-10 flex flex-wrap gap-1 border-b border-border bg-background/95 p-2 backdrop-blur`,children:e.map((e,r)=>(0,G.jsx)(`button`,{type:`button`,onClick:()=>n(r),title:e.title,className:B(`max-w-[10rem] truncate rounded px-2 py-0.5 text-xs`,r===t?`bg-accent text-accent-foreground`:`bg-muted text-muted-foreground hover:text-foreground`),children:e.title},e.id))}),(0,G.jsx)(T,{viewportRef:a,className:`min-h-0 flex-auto`,children:(0,G.jsxs)(`div`,{className:`p-4`,children:[(0,G.jsxs)(`h2`,{className:`mb-2 flex items-center gap-1.5 text-sm font-semibold`,children:[i.title,(0,G.jsx)(pD,{text:i.markdown,label:`Copy this view as markdown`})]}),(0,G.jsx)(x,{text:i.markdown})]})})]}):(0,G.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:`No views yet.`})}var bA=e=>`module:${e.package}/${e.id}`,xA={views:{label:`Views`,help:`Documents the agent pushed up during the session — a plan, a summary, a writeup.`},docs:{label:`Docs`,help:`The PLAN/TODO markdown files at the root of the workspace.`}},SA=0;function CA({projectId:e,agentId:t,views:n,files:r,context:i,toggleContext:a,activity:o}){let{value:s,loaded:c}=We(e?()=>fn(e):null,[],4e3,[e],e?{remember:`docs:${e}`}:void 0),{panels:l}=le(),u=(0,W.useMemo)(()=>e?l.filter(t=>t.projects.includes(e)):[],[l,e]),d=(0,W.useMemo)(()=>new Set(r.filter(e=>i.has(e))),[r,i]),f=(0,W.useMemo)(()=>({files:d,toggle:a}),[d,a]),p=c?s.length>0:u.length===0&&n.length===0,m=Qk(e??``,t),h=nA(m),g=Qi();(0,W.useEffect)(()=>()=>{Xi()&&tA(m,!1)},[e,t]);let[_,v]=(0,W.useState)(`docs`),y=(0,W.useRef)(!1),x=e=>{y.current=!0,v(e)},S=lA(m),C=u.find(e=>e.changes),w=C?bA(C):void 0,T=S?.at;(0,W.useEffect)(()=>{T===void 0||w===void 0||T<=SA||(SA=T,y.current=!0,v(w))},[T,w]);let E=dA(m),D=u.find(e=>e.screen),O=D?bA(D):void 0;(0,W.useEffect)(()=>{E===void 0||O===void 0||E<=SA||(SA=E,y.current=!0,v(O))},[E,O]);let k=n.length>0,A=u[0]?bA(u[0]):void 0,j=(0,W.useRef)(!1);if((0,W.useEffect)(()=>{let e=k&&!j.current;j.current=j.current||k,e?v(`views`):!y.current&&!k&&v(A??`docs`)},[k,A]),!e)return null;let M=[...u.map(bA),...k?[`views`]:[],...p?[`docs`]:[]];if(M.length===0)return null;let N=(0,G.jsxs)(L,{children:[(0,G.jsx)(R,{render:(0,G.jsx)(V,{variant:`ghost`,size:`icon-sm`,className:`h-7 w-7 shrink-0`,"aria-label":h?`Close the side panel`:`Open the side panel`,"aria-expanded":h,onClick:()=>tA(m,!h)}),children:h?(0,G.jsx)(ri,{className:`h-4 w-4`}):(0,G.jsx)(ii,{className:`h-4 w-4`})}),(0,G.jsx)(U,{children:h?`Close the side panel`:`Open the side panel: ${M.map(e=>u.find(t=>bA(t)===e)?.label??xA[e].label).join(`, `)}`})]});if(!h)return(0,G.jsx)(`aside`,{className:B(`flex shrink-0 flex-col p-2`,g&&`absolute top-0 right-0 z-10`),children:N});let P=M.includes(_)?_:M[0],F={projectId:e,...t?{agentId:t,...o===void 0?{}:{activity:o}}:{},context:f},ee=e=>u.find(t=>bA(t)===e),te=e=>ee(e)?.label??xA[e].label,ne=e=>ee(e)?.help??xA[e].help,re=e=>{if(e===`views`)return n.length;let t=ee(e);return t?.count?t.count(F):0},ie=ee(P),ae=ie?.changes&&S?{...F,reveal:S}:F;return(0,G.jsxs)(`aside`,{className:g?`absolute inset-0 z-20 flex flex-col bg-background`:`flex w-1/2 min-w-[22rem] shrink-0 flex-col border-l border-border`,children:[(0,G.jsxs)(`div`,{className:`flex items-start gap-1 p-2`,children:[(0,G.jsx)(`div`,{role:`tablist`,"aria-label":`Rail panels`,className:`flex min-w-0 flex-1 flex-wrap gap-1`,children:M.map(e=>(0,G.jsxs)(L,{children:[(0,G.jsxs)(R,{render:(0,G.jsx)(V,{role:`tab`,"aria-selected":P===e,variant:`ghost`,size:`sm`,className:B(`h-7 gap-1.5 text-xs`,P===e&&`bg-accent text-accent-foreground`),onClick:()=>x(e)}),children:[te(e),re(e)>0&&(0,G.jsx)(b,{className:`border-primary/40 text-primary`,children:re(e)})]}),(0,G.jsx)(U,{className:`max-w-64`,children:ne(e)})]},e))}),N]}),(0,G.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:ie?(0,G.jsx)(jE,{package:ie.package,label:`${ie.label} tab`,children:(0,G.jsx)(ie.Panel,{...ae})},P):P===`views`&&k?(0,G.jsx)(yA,{views:n}):(0,G.jsx)(vA,{docs:s,loaded:c})})]})}function wA(){let{toggleSidebar:e,openMobile:t}=ia();return(0,G.jsx)(V,{variant:`ghost`,size:`icon-sm`,className:`absolute top-2 left-2 z-10 h-7 w-7`,"aria-label":`Open the menu`,"aria-expanded":t,onClick:e,children:(0,G.jsx)($r,{className:`h-4 w-4`,"aria-hidden":!0})})}function TA({title:e}){return(0,G.jsx)(`div`,{className:`flex h-11 shrink-0 items-center border-b border-border pr-4 pl-11 text-sm font-medium`,children:(0,G.jsx)(`span`,{className:`truncate`,children:e})})}function EA({title:e,detail:t,actionLabel:n,onAction:r}){return(0,G.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 p-8 text-center`,children:[(0,G.jsx)(`p`,{className:`font-medium`,children:e}),(0,G.jsx)(`p`,{className:`max-w-md text-sm text-muted-foreground`,children:t}),(0,G.jsx)(V,{variant:`outline`,onClick:r,children:n})]})}function DA(e,t,n){return`/_screen/${e}?project=${encodeURIComponent(t)}&run=${encodeURIComponent(n)}`}async function OA(e,t,n){let r=await fetch(DA(`stream`,e,t),{signal:n}).catch(()=>void 0);return r?.ok&&r.body?r.body:void 0}function kA(e,t,n){return fetch(DA(`input`,e,t),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}).then(e=>e.ok,()=>!1)}var AA=[1e3,2e3,4e3,8e3];function jA(e){return AA[Math.min(e,AA.length-1)]}var MA=1500;function NA(e,t,n){let[r,i]=(0,W.useState)([]),[a,o]=(0,W.useState)(!1),[s,c]=(0,W.useState)(!1),[l,u]=(0,W.useState)(``);return(0,W.useEffect)(()=>{i([]),u(``)},[n]),(0,W.useEffect)(()=>{if(i([]),o(!1),c(!1),u(``),!e)return;let n,r=!1,a=0,s=!0,l,d,f=()=>{r||(o(!0),l=setTimeout(p,jA(a++)))},p=()=>{let l=!s;s=!1,Ae(e,t??void 0).then(e=>{if(r){e.close();return}n=e,a=0,o(!1);let t=l?[]:void 0,s=``,p=()=>{if(r||t===void 0)return;let e=t;t=void 0,i(e)},m=!1;l?d=setTimeout(()=>{t!==void 0&&t.length===0?m=!0:p()},MA):i([]),e.listen(e=>{if(e.kind===`stream-sync`){d&&clearTimeout(d),p();return}if(e.kind===`partial`){u(e.text===s?``:e.text);return}(e.kind===`driver`&&e.event.type===`text`||e.kind===`end`)&&(s=e.kind===`driver`&&e.event.type===`text`?e.event.text:``,u(``)),t?(t.push(e),m&&(m=!1,d=setTimeout(p,MA))):i(t=>[...t,e])}),e.onClose(e=>{t=void 0,d&&clearTimeout(d),e?f():r||c(!0)})},f)};return p(),()=>{r=!0,l&&clearTimeout(l),d&&clearTimeout(d),n?.close()}},[e,t]),{events:(0,W.useMemo)(()=>t?r:XT(r),[r,t]),lost:a,done:s,writing:l}}var PA=3e4;function FA(e,t=null){let{value:n,reload:r,loaded:i}=We(e?()=>sn(e):null,[],2e3,[e]),a=t===null?void 0:n.find(e=>e.id===t),o=e!==null&&t!==null&&(a===void 0||a.status===`running`&&a.branch===void 0);return(0,W.useEffect)(()=>{if(!o)return;let e=setInterval(()=>void r(),400),t=setTimeout(()=>clearInterval(e),PA);return()=>{clearInterval(e),clearTimeout(t)}},[o,t,r]),{agents:n,reload:r,loaded:i}}var IA=new Set;function LA(){for(let e of IA)e()}function RA(e){return IA.size===0&&window.addEventListener(`popstate`,LA),IA.add(e),()=>{IA.delete(e),IA.size===0&&window.removeEventListener(`popstate`,LA)}}var zA=()=>window.location.pathname+window.location.search;function BA(){let e=(0,W.useSyncExternalStore)(RA,zA,()=>`/`);return{route:pe(e),go:(t,n)=>{let r=n?.keepQuery?Le(de(t),window.location.search):de(t);r!==e&&(n?.replace?window.history.replaceState(null,``,r):window.history.pushState(null,``,r),LA())}}}function VA(e,t){if(typeof Notification>`u`||Notification.permission!==`granted`)return;let n=e[0];if(!n)return;let r=new Notification(t.title(n,e.length),{body:e.map(t.label).join(`
|
|
140
|
-
`)});r.onclick=()=>{let e=t.clickUrl(n);e?window.open(e,`_blank`,`noopener`):window.focus(),r.close()}}function HA(e,t,n){let r=(0,W.useRef)(void 0);r.current??=new bt(n.keyOf,e=>e.projectId);let i=(0,W.useRef)(void 0);(0,W.useEffect)(()=>{if(e===i.current)return;i.current=e;let a=r.current.observe(e.items,e.whole);t&&a.length>0&&VA(a,n)},[e,t])}var UA={keyOf:vt,title:(e,t)=>t===1?`Human Queue · ${e.projectName}`:`${t} items in your Human Queue`,label:e=>e.kind===`awaiting`?e.title:e.kind===`unpushed`?e.commits===void 0||e.commits===0?`${e.title} — work not pushed`:`${e.title} — ${e.commits===1?`1 commit`:`${e.commits} commits`} not pushed`:`#${e.number} ${e.title}`,clickUrl:e=>e.kind===`awaiting`||e.kind===`unpushed`?void 0:e.url},WA={keyOf:yt,title:(e,t)=>t===1?`${e.kind===`started`?`Agent started`:`Agent finished`} · ${e.projectName}`:`${t} agent updates`,label:e=>`${e.kind===`started`?`Started`:`Finished`}: ${e.title??`a session`}`,clickUrl:()=>void 0};function GA(e,t){HA(e,t,UA)}function KA(e,t){HA(e,t,WA)}function qA(e,t){return`${e>0?`(${e}) `:``}${t?`${t} — `:``}OpenAgent`}function JA(e,t){(0,W.useEffect)(()=>{typeof document>`u`||(document.title=qA(e,t))},[e,t])}var YA={active:[],queueOpen:0,recent:[]};function XA(){let{value:e}=We(pn,YA,5e3,[]);return e.active.length>0}var ZA=`/logo.svg`,QA=`/logo-animated.svg`;function $A(e){return e?QA:ZA}function ej(e){(0,W.useEffect)(()=>{if(typeof document>`u`)return;let t=document.querySelector(`link[rel~="icon"]`);t||(t=document.createElement(`link`),t.rel=`icon`,document.head.appendChild(t));let n=$A(e);t.getAttribute(`href`)!==n&&t.setAttribute(`href`,n)},[e])}var tj=5e3;function nj(){let[e,t]=(0,W.useState)(!0);return(0,W.useEffect)(()=>{let e=!1,n,r=()=>{Wn().then(()=>{e||(t(!0),n=setTimeout(r,tj))},()=>{e||(t(!1),n=setTimeout(r,tj))})};return r(),()=>{e=!0,n&&clearTimeout(n)}},[]),e}var rj=[],ij=[],aj={items:[],whole:[]},oj={items:[],whole:[]},sj=[];function cj(){let{route:e,go:t}=BA(),{view:n,projectId:r,agentId:i}=e,a=e.page??null,[o,s]=(0,W.useState)(0),{value:c,loaded:l}=We(Wn,ij,3e4,[o]),u=be(o),{pages:d,loaded:f}=u,p=e.scope&&(c.length===0||c.some(t=>t.id===e.scope))?e.scope:null,m=(0,W.useMemo)(()=>p?c.filter(e=>e.id===p):c,[c,p]),h=(0,W.useMemo)(()=>p?d.filter(e=>e.projects.includes(p)):d,[d,p]),g=a?h.find(e=>e.segment===a):void 0,_=(e,n)=>t({...e,...p?{scope:e.projectId??p}:{}},n),v=n=>{let{scope:r,...i}=e;if(n===null)return t(i,{keepQuery:!0});if(i.projectId!==null&&i.projectId!==n)return t(i.agentId===null?{projectId:n,agentId:null,scope:n}:{projectId:null,agentId:null,scope:n});let a=d.find(e=>e.segment===i.page);if(a&&!a.projects.includes(n))return t({projectId:null,agentId:null,scope:n});let{pagePath:o,...s}=i;t({...s,scope:n},{keepQuery:!o?.length})},[y,b]=(0,W.useState)({tick:0,intent:``,id:null,projectId:null}),{agents:x,reload:S,loaded:C}=FA(r??p,y.id!==null&&y.projectId===(r??p)?y.id:null),{context:w,add:T,remove:E,toggle:D,reset:O}=$a();(0,W.useEffect)(()=>{O()},[r]);let{value:k}=We(r?()=>yn(r,i??void 0):null,rj,1e4,[r,i]),{value:A}=We(hn,aj,15e3,[]),j=r?c.find(e=>e.id===r):void 0,M=j?.name??null,N=p?A.items.filter(e=>e.projectId===p):A.items;JA(N.length,M??c.find(e=>e.id===p)?.name??null);let P=r!==null&&c.length>0&&!c.some(e=>e.id===r),F=Zt();GA(A,rn(F)&&tn(F));let ee=nn(F)&&tn(F),{value:te}=We(ee?_n:null,oj,15e3,[ee]);KA(te,ee);let{value:ne,reload:re}=We(p===null?mn:null,sj,1e4,[p]),ie=(e,t,n,a,o)=>{let s=n===i&&e===r;b(r=>({tick:s?r.tick:r.tick+1,intent:t,id:n,projectId:e,...a?{runsOn:a,byLine:o===!0}:{}})),O(),_({projectId:e,agentId:n}),S(),re()},ae=(e,t,n,i)=>ie(r,e,t,n,i),oe=e=>{_({projectId:r,agentId:e})},se=e=>{_({projectId:e,agentId:null})},I=(e,t)=>{_({projectId:e,agentId:t})},le=e=>{_({projectId:e,agentId:null}),O()},ue=()=>{_({projectId:null,agentId:null})},L=()=>{_({view:`settings`,projectId:null,agentId:null})},fe=e=>{_({projectId:null,agentId:null,page:e})},R={openAgent:I,openPage:(e,t)=>_({projectId:null,agentId:null,page:e,...t&&t.length?{pagePath:t}:{}}),startRun:async(e,t,n)=>{let r=await Ln(e,t,Ha(F));return r.ok&&(n?.land??!0?ie(e,t,r.agentId):S()),r},configureRun:(e,t)=>{ce(t),se(e)},agents:async e=>(await sn(e)).map(e=>({id:e.id,status:e.status,startedAt:e.startedAt,...e.branch?{name:e.branch}:{},...e.intent?{ask:e.intent}:{}})),machines:ar,addMachine:async(e,t)=>{let n=await _r(e,t);return n.ok?{ok:!0}:n},watchScreen:OA,sendToScreen:kA},{events:pe,lost:me,writing:he}=NA(r,i,y.tick),ge=pe.filter(e=>e.kind===`end`).length;(0,W.useEffect)(()=>{ge>0&&S()},[ge]);let z=XT(pe),_e=r?WT(z):[],ve=XA();ej(ve);let ye=nj(),xe=i?x.find(e=>e.id===i)??(C?void 0:ne.find(e=>e.projectId===r&&e.agent.id===i)?.agent):void 0,Ce=(0,W.useMemo)(()=>i?xi(x,i):[],[x,i]),we=()=>n===`settings`?(0,G.jsx)(vD,{onAgentStarted:ie,onSelectProject:se,onDone:ue}):a?g?(0,G.jsx)(NE,{page:g,projects:m,path:e.pagePath??[]}):!f||p!==null&&!l?null:(0,G.jsx)(EA,{title:`No such page`,detail:p!==null&&d.some(e=>e.segment===a)?`The project "${c.find(e=>e.id===p)?.name??p}" has no package that adds a page at "/${a}".`:`No installed package adds a page at "/${a}".`,actionLabel:`Go to the Overview`,onAction:ue}):r?P?(0,G.jsx)(EA,{title:`No such project`,detail:`No project is registered as "${r}". It may have been removed, or the link may be from another machine.`,actionLabel:`Go to the Overview`,onAction:ue}):i===null?(0,G.jsx)(EE,{projectId:r,projectName:M,scope:p,events:pe,onAgentStarted:ae,files:k,context:w,addContext:T,removeContext:E,toggleContext:D,onOpenAgent:I,errors:j?.errors,onProjectRemoved:()=>{s(e=>e+1),ue()},onSkillsChanged:()=>s(e=>e+1)}):xe?(0,G.jsx)(_A,{projectId:r,agentId:i,events:pe,live:xe.status===`running`,card:xe,label:xe.parent===void 0?yi(xe):Si(xe),projectName:M,files:k,lost:me,writing:he,startedWith:i===y.id?y.intent:void 0,target:xe.target,remoteLabel:xe.remoteLabel,remoteByLine:xe.remoteByLine,subagents:Ce,onOpenAgent:oe,onAgentStarted:ae,onDeleted:()=>{oe(null),S()}}):i===y.id||!C?(0,G.jsx)(_A,{projectId:r,agentId:i,events:pe,live:i===y.id||null,label:y.intent||void 0,projectName:M,remoteLabel:i===y.id?y.runsOn:void 0,remoteByLine:i===y.id?y.byLine:void 0,files:k,lost:me,writing:he,startedWith:i===y.id?y.intent:void 0,onAgentStarted:ae}):(0,G.jsx)(EA,{title:`This agent is gone`,detail:`There is no record of this agent. Once its checkout is removed, a finished agent is kept only when the project has a logs skill installed.`,actionLabel:`Back to the project`,onAction:()=>oe(null)}):(0,G.jsx)(uD,{onSelectProject:se,onSelectAgent:I,onAgentStarted:ie,interventions:N,projects:c,scope:p}),Te=Qi(),Ee=n===`settings`?`Settings`:a?g?.label??``:r===null?`Overview`:null;return(0,G.jsx)(Se.Provider,{value:u,children:(0,G.jsx)(ze.Provider,{value:R,children:(0,G.jsxs)(aa,{className:`h-screen flex-col overflow-hidden`,children:[!ye&&(0,G.jsxs)(`div`,{role:`alert`,className:`flex items-center gap-2 border-b border-border bg-warning/10 px-4 py-2 text-xs text-warning`,children:[(0,G.jsx)(hi,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),`The daemon is not answering — retrying. Everything on this page is frozen until it returns.`]}),(0,G.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 overflow-hidden`,children:[(0,G.jsx)(ja,{projectId:r,scope:p,onScope:v,homeHref:de({projectId:null,agentId:null,...p?{scope:p}:{}}),agents:x,selectedAgentId:i,onSelect:e=>_({projectId:p??r,agentId:e}),recentAgents:ne,onSelectRecent:I,projects:c,onNewAgentInProject:le,onProjectAdded:()=>{s(e=>e+1),S()},startTick:y.tick,startIntent:y.intent,startId:y.id,startProjectName:c.find(e=>e.id===y.projectId)?.name,working:ve,onDashboard:ue,onSettings:L,pages:h,activePage:a,atSettings:n===`settings`,onPage:fe,interventionCount:N.length}),Te&&(0,G.jsx)(wA,{}),(0,G.jsxs)(`main`,{className:`flex min-w-0 flex-1 flex-col`,children:[Te&&Ee!==null&&(0,G.jsx)(TA,{title:Ee}),we()]}),!a&&(0,G.jsx)(CA,{projectId:r,agentId:i,views:_e,files:k,context:w,toggleContext:D,activity:pe.length})]})]})})})}var lj=document.getElementById(`root`);if(!lj)throw Error(`no #root in index.html`);(0,ot.createRoot)(lj).render((0,G.jsx)(on,{children:(0,G.jsx)(cj,{})}));
|