@popmelt.com/core 0.32.0 → 0.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/claude-plugin/.claude-plugin/plugin.json +1 -1
- package/codex-plugin/.codex-plugin/plugin.json +1 -1
- package/dist/{ParticipantRuntime-5K4XILTY.mjs → ParticipantRuntime-5KRRPLWL.mjs} +1 -1
- package/dist/bridge-entry.mjs +1 -1
- package/dist/{browser-runtime-UVEA7O7K.mjs → browser-runtime-3EQH4ZUO.mjs} +1 -1
- package/dist/browser.mjs +1 -1
- package/dist/{chunk-KHQZYGU3.mjs → chunk-4BQQAQ3P.mjs} +1 -1
- package/dist/chunk-CGOQSIDR.mjs +342 -0
- package/dist/{chunk-VMQD7UGC.mjs → chunk-GDLI772N.mjs} +1 -1
- package/dist/{chunk-EUWNUQGJ.mjs → chunk-HGXCQKB6.mjs} +1 -1
- package/dist/chunk-IKCHOC3U.mjs +0 -0
- package/dist/{chunk-UGGB6HDI.mjs → chunk-ROIC72KJ.mjs} +1 -1
- package/dist/{chunk-AEOT7B5I.mjs → chunk-U2MTWKH3.mjs} +1 -1
- package/dist/{chunk-67CZ5WTY.mjs → chunk-XQV7EM46.mjs} +1 -1
- package/dist/cli.mjs +2 -2
- package/dist/codex-note-context-OYDZYZXX.mjs +2 -0
- package/dist/{codex-project-MKH6TO5W.mjs → codex-project-XLVIKWAE.mjs} +1 -1
- package/dist/codex-session-registry-SPRWY2WW.mjs +0 -0
- package/dist/index.mjs +1 -1
- package/dist/{peer-client-FJGBXESA.mjs → peer-client-5D6UOMB3.mjs} +1 -1
- package/dist/plugin-astro.mjs +1 -1
- package/dist/plugin-nuxt.mjs +1 -1
- package/dist/plugin-vite.mjs +1 -1
- package/dist/server.mjs +1 -1
- package/package.json +32 -22
- package/dist/chunk-GTQSZVCQ.mjs +0 -334
- package/dist/codex-note-context-VSQVT5ZL.mjs +0 -2
- /package/dist/{chunk-4JG6IVUU.mjs → chunk-DIFC23QP.mjs} +0 -0
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import{b as oh,f as Wi,h as ih,g as ms,a as fc,d as hc,c as mc}from"./chunk-C3VWS5R6.mjs";import{a as ah}from"./chunk-IPR652AZ.mjs";import{M as il,vb as gs,Ua as gc,f as lh,e as yc,tb as ys,a as sh,xb as vc,yb as bc,wb as vs,c as dh,jb as ch,kb as uh,Ja as Ji,ja as ph,Db as fh,Eb as xc,ia as hh,Kb as mh,Gb as gh,Hb as yh,Ib as vh,_a as bh,ka as xh,Da as wh,za as wc,ab as Sh,ba as Ih,ca as bs,da as kh,ea as Eh,$a as Th,Fa as Ch,ha as Ah,ob as xs,nb as Mh,mb as ws,Fb as Rh,la as Lh,Oa as Sc,Ba as Ic,Ma as kc,Na as $h,La as Ec,Ka as jh,Ga as Ss,N as Ph,Cb as zh,p as Tc,ya as Dh,b as Hh,ub as Cc,Ra as Oh,Qa as Nh,Ta as Fh,Pa as _h,Sa as Wh,Ca as Jh,D as Bh,E as Uh,l as qh,ra as sn,ua as Kh,xa as Yh,Ha as Xh,sa as Ac,na as Bi,T as Vh,ma as Gh,R as Mc,Y as Qh,fb as hi,Mb as Zh,Jb as em,eb as Rc,gb as Lc,Ab as tm,Bb as nm,lb as rm,hb as om,ib as im,Aa as am,Ea as Is,Q as lm,C as $c,F as jc,L as Pc,K as zc,o as mi,G as Dc,J as Ui,P as sm,va as ks,qa as dm,pa as Es,oa as Ts,O as cm,ga as um,fa as pm,Ia as fm,ta as Hc,wa as Oc,q as hm,W as Nc,U as Fc,V as _c,X as mm,Z as Wc,$ as Jc,aa as gm,S as ym,zb as Bc,m as qi,A as Cs,r as gi,I as al,u as Uc,g as vm,_ as bm,t as ll,h as qc,y as xm,j as $r,v as As,s as ka,i as Ms,k as wm,z as Sm,x as Im,H as Rs,w as Kc,n as Yc,B as km}from"./chunk-HGXCQKB6.mjs";import{b as Xc,d as Em,a as Tm,e as Cm,c as Am}from"./chunk-J4WDYITA.mjs";import{h as Mm,Ca as Vc,R as Ki,ma as Rm,N as Lm,H as Gc,A as no,la as sl,ka as $m,P as jm,D as Qc,O as Pm,da as Ln,Y as Ls,aa as lr,fa as $s,$ as Ea,ha as zm,S as dl,ua as Zc,_ as ro,za as Dm,Aa as Hm,Ba as eu,ta as tu,J as js,v as nu,u as Ta,r as cl,w as Yi,Z as ru,Q as ou,I as Om,K as Nm,M as Fm,f as _m,ba as Wm,ca as Jm,wa as Bm,va as iu,ya as Um,xa as qm,sa as au,z as lu,t as Ps,g as Km,ea as zs,C as Ym,E as su,G as Xm,F as Vm,ga as du,ia as cu,B as Gm,s as ul,L as Qm,y as Ds,q as uu,x as Zm}from"./chunk-GNZ73T3H.mjs";import{b as pu}from"./chunk-4LHTPRFY.mjs";import{c as eg,a as fu,b as Ca}from"./chunk-MTQ5IWIK.mjs";import{i as hu,k as tg,m as ng,h as mu,g as rg,a as pl,e as og,b as jr,d as ig,f as it,c as ag}from"./chunk-F6AMPRUB.mjs";import{c as gn,a as zo,i as yn,j as yi,d as lg,e as sg,b as gu,l as dg,m as cg,k as ug}from"./chunk-EXDOFFFJ.mjs";import{a as pg}from"./chunk-2P2NUZW7.mjs";import{d as Hs,i as fg}from"./chunk-D32YV5O6.mjs";import{a as Os,h as yu,d as hg,c as mg,g as Ns,e as Fs,b as gg}from"./chunk-V44RIEET.mjs";import{b as Vt,f as vu,d as bu,e as _s,i as yg,j as Aa,l as xu,m as wu,r as vg,p as bg,u as xg,t as wg,s as Sg,k as Ig,a as kg,c as Eg}from"./chunk-CPOYMGYY.mjs";import{a as Su,b as Tg}from"./chunk-EX63NVDN.mjs";import{d as Cg,g as Ag,m as Mg,l as Rg}from"./chunk-N2ZEZCHO.mjs";import{a as Lg}from"./chunk-J3UIBBU2.mjs";import{b as $g}from"./chunk-6VXFTT5U.mjs";import{a as jg}from"./chunk-LVEMYZOA.mjs";import{d as In,o as Ma,n as Xi,a as Iu,i as ku,v as Eu,u as Tu,h as fl,k as Pg,f as zg,c as Ws,m as Cu,l as Js}from"./chunk-RCVAPQ7X.mjs";import{lazy as Ra,memo as Dg,useContext as Pr,useState as P,Suspense as La,Fragment as Hg,useRef as J,useEffect as F,useLayoutEffect as Ct,useCallback as U,useId as Au,useMemo as Ee,cloneElement as Og,useSyncExternalStore as Ng}from"react";import{jsx as f,jsxs as $,Fragment as dt}from"react/jsx-runtime";import{Fingerprint as Do,Component as hl,Reply as Mu,Ban as ml,Terminal as Fg,PenLine as _g,ImageIcon as Wg,Plug as Jg,SquareMousePointer as Bg,ChevronRight as Bs,ThumbsUp as Ug,Clock as Us,ChevronDown as $a,Check as vi,ChevronLeft as qg,X as qs,Send as Ru,Lock as Kg,ArrowDown as Yg,OctagonAlert as Lu,MessageCircleQuestionMark as Xg,TriangleAlert as Vg,Command as $u,CornerDownLeft as Ks,EyeOff as Gg}from"lucide-react";import{createPortal as ju}from"react-dom";function Pu(e,t){return e.store===void 0&&(e.store=t),e.store}function Qg(e,t){let n=e.listeners??(e.listeners=new Set);return n.add(t),()=>n.delete(t)}function Zg(e,t,n){let r=n(Pu(e,t));e.store=r;for(let o of e.listeners??[])o();return r}var rt=globalThis.__POPMELT_BRIDGE_CONNECTION__??(globalThis.__POPMELT_BRIDGE_CONNECTION__={}),gl=rt.sourceId??(typeof localStorage<"u"?localStorage.getItem("popmelt-source-id"):null)??(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2));rt.sourceId=gl;try{typeof localStorage<"u"&&localStorage.setItem("popmelt-source-id",gl)}catch{}function Ys(){return gl}var yl={isConnected:!1,status:"disconnected",jobResponses:{},jobThinking:{},activeJobIds:[],activeJobThreads:{},currentResponse:"",currentThinking:"",events:[],activeJobId:null,lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[],capabilitiesVersion:0};rt.store??(rt.store={...yl}),rt.listeners??(rt.listeners=new Set);var zr=rt.activeEs??null,vl=rt.activeBridgeUrl??null,oo=null,Gn=rt.connectionGeneration??0,ja=new Set,bi=new Map,Ho={},bl=new Set,Oo=new Map;function Hn(e,t){if(!e)return!1;if(bl.has(e))return!0;if(ja.has(e)){let r=bi.get(e);return r||(r=[],bi.set(e,r)),r.push({type:t.type??"",data:t}),!0}let n=Ho[e];return n!==void 0&&typeof t.seq=="number"&&t.seq<=n}async function zu(e,t,n,r=new Map){let o=()=>n!==(rt.connectionGeneration??0);for(let s of t){if(o())return;Oo.set(s,r.get(s)??Oo.get(s)),ja.add(s),bi.set(s,[])}let{mergeBackfillHistory:i,selectBackfillTerminalEvent:a}=await import("./bridge-recovery-3IQN3U6D.mjs");o()||await Promise.all(t.map(async s=>{try{let l=await xu(e,s,-1,{retryUnavailable:!0});if(o()||bl.has(s))return;let d=bi.get(s)??[];if(l){ct(u=>{let h={...u.jobResponses,[s]:l.accumulated.response},m={...u.jobThinking,[s]:l.accumulated.thinking},g=i(u.events,s,l.events);return{...u,jobResponses:h,jobThinking:m,currentResponse:s===u.activeJobId?l.accumulated.response:u.currentResponse,currentThinking:s===u.activeJobId?l.accumulated.thinking:u.currentThinking,events:g}}),Ho[s]=l.currentSeq;let c=[...l.events].reverse().find(u=>u.type==="job_started"||u.type==="job_parked");c?.type==="job_parked"&&Vi("job_parked",c,s);let p=a(l.events,l.jobActive,r.get(s));p&&Vi(p.type,p,s);for(let u of d)typeof u.data.seq=="number"&&u.data.seq<=l.currentSeq||Vi(u.type,u.data,s)}else{let c=!1;for(let u of d)Vi(u.type,u.data,s),(u.type==="done"||u.type==="error")&&(c=!0);let p=r.get(s);!c&&p&&Vi(p.type,p,s)}Oo.delete(s)}finally{o()||(ja.delete(s),bi.delete(s))}}))}function Vi(e,t,n){if(e==="job_parked")ct(r=>{let o=r.activeJobIds.filter(i=>i!==n);return{...r,activeJobIds:o,activeJobId:o.at(-1)??null,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}});else if(e==="job_started")ct(r=>({...r,status:"streaming",activeJobId:n,activeJobIds:[...new Set([...r.activeJobIds,n])],activeJobThreads:typeof t.threadId=="string"?{...r.activeJobThreads,[n]:t.threadId}:r.activeJobThreads,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}));else if(e==="delta"){let r=t.text||"";ct(o=>({...o,jobResponses:{...o.jobResponses,[n]:(o.jobResponses[n]||"")+r},currentResponse:n===o.activeJobId?o.currentResponse+r:o.currentResponse,events:[...o.events,{type:"delta",data:t,timestamp:Date.now()}]}))}else if(e==="thinking"){let r=t.text||"";ct(o=>({...o,jobThinking:{...o.jobThinking,[n]:(o.jobThinking[n]||"")+r},currentThinking:n===o.activeJobId?o.currentThinking+r:o.currentThinking,events:[...o.events,{type:"thinking",data:t,timestamp:Date.now()}]}))}else if(e==="status")ct(r=>({...r,events:[...r.events,{type:"status",data:t,timestamp:Date.now()}]}));else if(e==="done")delete Ho[n],ct(r=>{let o=r.activeJobIds.filter(d=>d!==n),i={...r.jobResponses},a={...r.jobThinking},s=i[n];delete i[n],delete a[n];let l=n===r.activeJobId?o.length>0?o[o.length-1]:null:r.activeJobId;return{...r,activeJobIds:o,activeJobId:l,jobResponses:i,jobThinking:a,lastCompletedJobId:n,lastResponseText:t.responseText||s||r.currentResponse||null,lastThreadId:t.threadId??null,...n===r.activeJobId?{currentResponse:l&&i[l]||"",currentThinking:l&&a[l]||""}:{},events:[...r.events,{type:"done",data:t,timestamp:Date.now()}]}});else if(e==="error"){delete Ho[n];let r=t.message??"";ct(o=>{let i=o.activeJobIds.filter(s=>s!==n),a=i.length>0?o.status:"error";return{...o,status:a,activeJobIds:i,lastCompletedJobId:n,lastErrorByJob:r?{...o.lastErrorByJob,[n]:r}:o.lastErrorByJob,events:[...o.events,{type:"error",data:t,timestamp:Date.now()}]}})}else ct(e==="question"?r=>{let o=typeof t.threadId=="string"?t.threadId:"",i=typeof t.question=="string"?t.question:"",a=Array.isArray(t.annotationIds)?t.annotationIds.filter(l=>typeof l=="string"):void 0,s=r.pendingQuestions.some(l=>l.jobId===n);return{...r,pendingQuestions:i&&o&&!s?[...r.pendingQuestions,{jobId:n,threadId:o,question:i,annotationIds:a,timestamp:Date.now()}]:r.pendingQuestions,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}}:r=>({...r,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}))}var Qn=rt.discoveredBridgeUrl??null,On=rt.discoveredBridgeProjectId??null,No=null,Gi=null;function Du(e,t=!1){let n=e??null;if(!(!t&&(rt.expectedProjectId??null)===n)){zr&&(zr.close(),zr=null,rt.activeEs=null),oo&&(clearTimeout(oo),oo=null),vl=null,rt.activeBridgeUrl=null,Qn=null,On=null,rt.discoveredBridgeUrl=null,rt.discoveredBridgeProjectId=null,No=null,Gi=null,ja.clear(),bi.clear(),bl.clear(),Oo.clear();for(let r of Object.keys(Ho))delete Ho[r];rt.expectedProjectId=n,Gn=(rt.connectionGeneration??Gn)+1,rt.connectionGeneration=Gn,ct(()=>({...yl}))}}function ey(){rt.listeners?.size||Du(null,!0)}async function Hu(e,t){if(Qn&&(t?On===t:!On))return Qn;if(!t&&On&&(Qn=null,On=null,rt.discoveredBridgeUrl=Qn,rt.discoveredBridgeProjectId=On),t&&On&&On!==t&&(Qn=null,On=null,rt.discoveredBridgeUrl=Qn,rt.discoveredBridgeProjectId=On),No&&Gi===(t??null))return No;let n=Gn;return Gi=t??null,No=Ig(e,t).then(r=>n!==Gn?null:(Qn=r?.url??null,On=r?.projectId??t??null,rt.discoveredBridgeUrl=Qn,rt.discoveredBridgeProjectId=On,No=null,Gi=null,Qn)).catch(()=>(n!==Gn||(No=null,Gi=null),null)),No}function ty(){return Qn}async function ny(e,t){Qn=null,On=null,rt.discoveredBridgeUrl=null,rt.discoveredBridgeProjectId=null,No=null,Gi=null;let n=Gn,r=await Hu(e,t);return r&&n===Gn&&Xs(r),r}function Pa(){return Pu(rt,{...yl})}function ry(e){return Qg(rt,e)}function ct(e){Zg(rt,{...yl},t=>{let n=e(t),r=new Set(n.activeJobIds),o=n.activeJobId&&r.has(n.activeJobId)?n.activeJobId:n.activeJobIds.at(-1)??null;return{...n,activeJobId:o,activeJobThreads:Object.keys(n.activeJobThreads).some(i=>!r.has(i))?Object.fromEntries(Object.entries(n.activeJobThreads).filter(([i])=>r.has(i))):n.activeJobThreads,status:n.status==="streaming"&&r.size===0?"idle":n.status}})}function oy(){return typeof window<"u"?window.__POPMELT_PROJECT_ID__??null:null}function Xs(e){if(zr&&zr.readyState!==EventSource.CLOSED&&vl===e)return;zr&&(zr.close(),zr=null,rt.activeEs=null),oo&&(clearTimeout(oo),oo=null),vl=e,rt.activeBridgeUrl=vl,Gn=(rt.connectionGeneration??Gn)+1;let t=Gn;rt.connectionGeneration=Gn;let n=new URLSearchParams({sourceId:gl}),r=oy();r&&n.set("projectId",r);let o=kg(`${e}/events?${n.toString()}`);zr=o,rt.activeEs=zr;let i=!1,a=()=>t!==(rt.connectionGeneration??0),s=()=>i||a();ja.clear(),bi.clear();let l=5e3,d=()=>{a()||oo||(oo=setTimeout(()=>{oo=null,!a()&&Aa(e).then(p=>{a()||(p&&(!r||p.projectId===r)?Xs(e):(l=Math.min(l*2,3e4),d()))})},l))},c=()=>{s()||(i=!0,o.close(),ct(p=>({...p,isConnected:!1,status:"disconnected"})),d())};o.addEventListener("connected",()=>{s()||Aa(e).then(async p=>{if(s())return;if(!p||r&&p.projectId!==r){c();return}let u=[...p?.activeJobs??(p?.activeJob?[p.activeJob]:[]),...p?.queuedJobs?.filter(D=>D.parked)??[]],h=p?.recentJobs??[],{planBridgeReconnectRecovery:m}=await import("./bridge-recovery-3IQN3U6D.mjs");if(s())return;let g=m(Pa().activeJobIds,u,h),{serverActiveIds:x,terminalJobs:S}=g,L=S.map(D=>D.id),H=new Map(Oo);for(let D of S)H.set(D.id,D.status==="error"?{type:"error",jobId:D.id,message:D.error??"The agent run failed.",threadId:D.threadId,annotationIds:D.annotationIds}:{type:"done",jobId:D.id,success:!0,threadId:D.threadId,annotationIds:D.annotationIds});ct(D=>{let _={...D.lastErrorByJob};for(let O of S)O?.status==="error"&&O.error&&(_[O.id]=O.error);let E=m(D.activeJobIds,u,h).reconciledActiveIds,V={};for(let O of u)O.threadId&&(V[O.id]=O.threadId);return{...D,isConnected:!0,status:E.length>0?"streaming":L.length>0||D.status==="disconnected"?"idle":D.status,activeJobId:E.length>0?E[E.length-1]:null,activeJobIds:E,activeJobThreads:V,lastErrorByJob:_,workspaceGeneration:p?.workspaceGeneration}});let w=[...new Set([...x,...L,...Oo.keys()])];w.length>0&&zu(e,w,t,H).catch(c)}).catch(c)}),o.addEventListener("job_parked",p=>{if(s())return;let u=JSON.parse(p.data);Hn(u.jobId,u)||Vi("job_parked",u,u.jobId)}),o.addEventListener("thread_changed",p=>{if(s())return;let u=JSON.parse(p.data);ct(h=>({...h,events:[...h.events,{type:"thread_changed",data:u,timestamp:Date.now()}]}))}),o.addEventListener("job_started",p=>{if(s())return;let u=JSON.parse(p.data),h=u.jobId;if(Hn(h,u))return;let m=u.threadId;ct(g=>({...g,status:"streaming",activeJobId:h,activeJobIds:g.activeJobIds.includes(h)?g.activeJobIds:[...g.activeJobIds,h],activeJobThreads:m?{...g.activeJobThreads,[h]:m}:g.activeJobThreads,jobResponses:{...g.jobResponses,[h]:g.jobResponses[h]??""},jobThinking:{...g.jobThinking,[h]:g.jobThinking[h]??""},currentResponse:g.jobResponses[h]??"",currentThinking:g.jobThinking[h]??"",lastResponseText:null,lastThreadId:null,events:[...g.events,{type:"job_started",data:u,timestamp:Date.now()}]}))}),o.addEventListener("delta",p=>{if(s())return;let u=JSON.parse(p.data),h=u.jobId;if(Hn(h,u))return;let m=u.text||"";ct(g=>({...g,jobResponses:h?{...g.jobResponses,[h]:(g.jobResponses[h]||"")+m}:g.jobResponses,currentResponse:!h||h===g.activeJobId?g.currentResponse+m:g.currentResponse,events:[...g.events,{type:"delta",data:u,timestamp:Date.now()}]}))}),o.addEventListener("thinking",p=>{if(s())return;let u=JSON.parse(p.data),h=u.jobId;if(Hn(h,u))return;let m=u.text||"";ct(g=>({...g,jobThinking:h?{...g.jobThinking,[h]:(g.jobThinking[h]||"")+m}:g.jobThinking,currentThinking:!h||h===g.activeJobId?g.currentThinking+m:g.currentThinking,events:[...g.events,{type:"thinking",data:u,timestamp:Date.now()}]}))}),o.addEventListener("status",p=>{if(s())return;let u=JSON.parse(p.data),h=u.jobId;Hn(h,u)||ct(m=>({...m,events:[...m.events,{type:"status",data:u,timestamp:Date.now()}]}))}),o.addEventListener("orientation",p=>{if(s())return;let u=JSON.parse(p.data),h=u.jobId;Hn(h,u)||ct(m=>({...m,events:[...m.events,{type:"orientation",data:u,timestamp:Date.now()}]}))}),o.addEventListener("approval",p=>{if(s())return;let u=JSON.parse(p.data);Hn(u.jobId,u)||ct(h=>({...h,events:[...h.events,{type:"approval",data:u,timestamp:Date.now()}]}))}),o.addEventListener("imprint_used",p=>{if(s())return;let u=JSON.parse(p.data),h=u.jobId;Hn(h,u)||ct(m=>({...m,events:[...m.events,{type:"imprint_used",data:u,timestamp:Date.now()}]}))}),o.addEventListener("tool_use",p=>{if(s())return;let u=JSON.parse(p.data),h=u.jobId;Hn(h,u)||ct(m=>({...m,events:[...m.events,{type:"tool_use",data:u,timestamp:Date.now()}]}))});for(let p of["image_generation","image_ready"])o.addEventListener(p,u=>{if(s())return;let h=JSON.parse(u.data),m=h.jobId;Hn(m,h)||ct(g=>({...g,events:[...g.events,{type:p,data:h,timestamp:Date.now()}]}))});o.addEventListener("done",p=>{if(s())return;let u=JSON.parse(p.data),h=u.jobId;Hn(h,u)||(h&&delete Ho[h],ct(m=>{let g=h?m.activeJobIds.filter(D=>D!==h):m.activeJobIds,x={...m.jobResponses},S={...m.jobThinking},L={...m.activeJobThreads},H=h?x[h]:void 0;h&&(delete x[h],delete S[h],delete L[h]);let w=h===m.activeJobId?g.length>0?g[g.length-1]:null:m.activeJobId;return{...m,activeJobIds:g,activeJobId:w,jobResponses:x,jobThinking:S,lastCompletedJobId:h??m.activeJobId,lastResponseText:u.responseText||H||m.currentResponse||null,lastThreadId:u.threadId??null,...h===m.activeJobId?{currentResponse:w&&x[w]||"",currentThinking:w&&S[w]||""}:{},events:[...m.events,{type:"done",data:u,timestamp:Date.now()}]}}))}),o.addEventListener("question",p=>{if(s())return;let u=JSON.parse(p.data),h=u.jobId;Hn(h,u)||ct(m=>({...m,pendingQuestions:[...m.pendingQuestions,{jobId:u.jobId,threadId:u.threadId,question:u.question,annotationIds:u.annotationIds,timestamp:Date.now()}],events:[...m.events,{type:"question",data:u,timestamp:Date.now()}]}))}),o.addEventListener("capabilities_changed",()=>{s()||ct(p=>({...p,capabilitiesVersion:p.capabilitiesVersion+1}))}),o.addEventListener("workspace_cleared",p=>{if(s())return;let u=JSON.parse(p.data);typeof u.workspaceGeneration!="number"||!Number.isInteger(u.workspaceGeneration)||u.workspaceGeneration<0||ct(h=>{for(let m of[...h.activeJobIds,...Oo.keys()])bl.add(m);return Oo.clear(),{...h,workspaceGeneration:u.workspaceGeneration,status:"idle",activeJobId:null,activeJobIds:[],activeJobThreads:{},jobResponses:{},jobThinking:{},currentResponse:"",currentThinking:"",events:[],lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[]}})}),o.addEventListener("queue_drained",()=>{if(s())return;let p=[...Pa().activeJobIds];if(p.length===0){ct(u=>({...u,status:u.status==="error"?"error":"idle",incrementalResolutions:[]}));return}zu(e,p,t).then(()=>{s()||ct(u=>({...u,status:u.activeJobIds.length>0?u.status:u.status==="error"?"error":"idle",incrementalResolutions:u.activeJobIds.length>0?u.incrementalResolutions:[]}))}).catch(c)}),o.addEventListener("error",p=>{if(!s()){if(o.readyState===EventSource.CLOSED)c();else if(p instanceof MessageEvent){let u=JSON.parse(p.data),h=u.jobId??null;if(Hn(h??void 0,u))return;h&&delete Ho[h];let m=u.message??"";ct(g=>{let x=h?g.activeJobIds.filter(L=>L!==h):g.activeJobIds,S=x.length>0?g.status:"error";return{...g,status:S,activeJobIds:x,lastCompletedJobId:h??g.activeJobId,lastErrorByJob:h&&m?{...g.lastErrorByJob,[h]:m}:g.lastErrorByJob,events:[...g.events,{type:"error",data:u,timestamp:Date.now()}]}})}}}),o.onerror=()=>{s()||o.readyState===EventSource.CLOSED&&ct(p=>({...p,isConnected:!1,status:"disconnected"}))}}function iy(e="http://localhost:1111",t=!0,n){let r=Ng(ry,Pa,Pa);F(()=>{if(Du(n),!t)return;let a=!1;return Hu(e,n).then(s=>{!s||a||Aa(s).then(l=>{!a&&l&&(!n||l.projectId===n)&&Xs(s)})}),()=>{a=!0}},[e,t,n]);let o=U(()=>{ct(()=>({...Pa(),events:[],currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastResponseText:null,lastThreadId:null,lastErrorByJob:{},incrementalResolutions:[]}))},[]),i=U(a=>{ct(s=>({...s,pendingQuestions:s.pendingQuestions.filter(l=>l.threadId!==a)}))},[]);return{...r,clearEvents:o,dismissQuestion:i}}function Ou(e,t,n,r,o){let i=`devtools-model-id:${r}`,[a,s]=P(()=>typeof window>"u"?"":localStorage.getItem(i)??""),l=o?.(a)??!1,d=l?-1:e.findIndex(u=>u.id===a),c=d>=0?d:0,p=U(u=>{s(u),localStorage.setItem(i,u)},[i]);return F(()=>{n&&a&&(l||t&&d<0&&e.some(u=>u.id))&&p("")},[n,t,a,d,e,p,l]),{index:c,select:p}}function ay(e,t,n){let r=e.flatMap(({requestedAt:a,resolvedAt:s})=>Number.isFinite(a)&&Number.isFinite(s)?[[Math.max(t,a),Math.min(n,s)]]:[]).sort((a,s)=>a[0]-s[0]),o=t,i=0;for(let[a,s]of r)i+=Math.max(0,s-Math.max(o,a)),o=Math.max(o,s);return i}function Nu(e){let t=new Map,n=new Set;for(let r of e)if(r.type==="approval"){let o=r.data.approval;t.set(o.id,o)}else(r.type==="done"||r.type==="error")&&n.add(String(r.data.jobId));return new Set([...t.values()].filter(r=>r.status==="pending"&&!n.has(r.jobId)).map(r=>r.jobId))}function Fu(e){let t=new MutationObserver(n=>{let r=n.filter(o=>document.body.contains(o.target)||o.target===document.documentElement&&[...o.addedNodes,...o.removedNodes].some(i=>i instanceof Element&&i.tagName==="BODY"));r.length&&e(r)});return t.observe(document.documentElement,{childList:!0,subtree:!0}),t}function ly(e,t,n,r=8*1024*1024){let o=d=>JSON.stringify({id:e,clientId:t,result:d}),i=d=>new TextEncoder().encode(d).length<=r,a=o(n);if(i(a))return a;let s=Array.isArray(n.images)?n.images:[],l=[s.filter(d=>d.kind==="annotated-viewport"),s.filter(d=>d.kind!=="annotated-viewport"),[]];for(let d of l){let c=o({...n,images:d,visualEvidence:{status:"partial",reason:"response_size_limit",omitted:s.filter(p=>!d.includes(p)).map(p=>p.kind)}});if(i(c))return c}return o({status:"context_too_large",targetKey:n.targetKey,images:[],warning:"Context exceeds the response limit even without images."})}function sy(e,t,n){let r=J(n);r.current=n;let[o,i]=P([]),a=h=>i(h?[h]:[]),s=J(null),l=J(null),d=J(null),c=U(()=>d.current?.(),[]),p=U(h=>{s.current=h,l.current?.(h)},[]),u=J(null);return F(()=>{if(!e)return;u.current?.url!==t&&(u.current={url:t,clientId:crypto.randomUUID(),sequence:0,sending:!1});let h=u.current,m={clientId:h.clientId,sequence:0,page:location.origin+location.pathname,title:document.title,active:!0,windowFocused:document.hasFocus(),lastInteractionAt:0,blurredAt:0,hover:null,pinned:null,history:[]},g=null,x=new WeakMap,S=new Map,L,H=!1,w,D=0,_=()=>{let z=location.origin+location.pathname;m.page!==z&&(m.page=z,m.title=document.title,m.hover=null,m.pinned=null,m.history=[],m.recent=null,m.selected=null,S.clear(),g=null,m.lastInteractionAt=0),m.sequence=++h.sequence,h.pendingBody=JSON.stringify(m),!h.sending&&(h.sending=!0,(async()=>{for(;h.pendingBody;){let M=h.pendingBody;h.pendingBody=void 0;try{await Vt(`${t}/focus`,{method:"POST",headers:{"Content-Type":"application/json"},body:M,signal:AbortSignal.timeout(3e3)})}catch{}}h.sending=!1})())},E=(z,M)=>{x.has(z)||x.set(z,crypto.randomUUID());let j=yn(z),R=In(z),A=getComputedStyle(z),Q={...M?{subject:M}:{},key:x.get(z),capturedAt:Date.now(),selector:j.selector,tagName:j.tagName,text:j.textContent?.slice(0,200),component:j.reactComponent,source:j.reactSource,rect:{x:R.x,y:R.y,width:R.width,height:R.height},styles:Object.fromEntries(["color","background-color","font-size","font-family","display","padding","border-radius"].map(ne=>[ne,A.getPropertyValue(ne)]))};if(S.set(Q.key,{element:z,target:Q}),S.size>32){let ne=[...S.keys()].find(ee=>ee!==m.pinned?.key);ne&&S.delete(ne)}return Q},V=z=>{let M=z?.element??null,j=z?.selection==="selected",R=m.selected??m.hover;M===g&&!!m.selected===j&&R?.subject?.key===z?.subject?.key||(g=M,clearTimeout(L),L=setTimeout(()=>{if(H)return;let A=M?.isConnected&&!Ma(M,"input, textarea, select, [contenteditable], [data-popmelt-private], [data-popmelt-canvas-block], [data-devtools]")?E(M,z?.subject):null;m.selected=j?A:null,m.hover=j?null:A,j&&(m.recent=null),m.hover&&(m.history=[...m.history,m.hover].slice(-8)),m.windowFocused&&(m.recent=null),_()},M&&!j?120:0))};l.current=V,d.current=()=>{H||document.visibilityState!=="visible"||(m.lastInteractionAt=Date.now(),m.windowFocused=document.hasFocus(),!w&&(w=setTimeout(()=>{w=void 0,D=Date.now(),_()},Math.max(0,250-(Date.now()-D)))))},V(s.current);let O=()=>{m.windowFocused=document.hasFocus(),m.blurredAt=m.windowFocused?0:Date.now(),m.recent=m.windowFocused?null:m.hover,_()},Y=()=>{m.active=document.visibilityState==="visible",m.active?V(s.current):(clearTimeout(L),m.hover=null,m.history=[],m.recent=null,m.selected=null,S.clear(),g=null,m.lastInteractionAt=0),_()};document.addEventListener("visibilitychange",Y),window.addEventListener("focus",O),window.addEventListener("blur",O);let q=setInterval(_,1e4),oe=!1,I,G=new Set,N=setInterval(async()=>{if(!(H||oe||document.visibilityState!=="visible")){oe=!0;try{let z=await Vt(`${t}/focus/requests?clientId=${m.clientId}`,{signal:AbortSignal.timeout(3e3)});if(!z.ok)return;let M=await z.json();for(let j of M){if(G.has(j.id)||H||j.expiresAt<Date.now())continue;G.add(j.id),G.size>64&&G.delete(G.values().next().value);let R=S.get(j.targetKey),A={status:"target_unavailable"};if(j.tasteProposal){let{tasteProposalSession:Q}=await import("./taste-proposal-session-XU4N7RUV.mjs");if(H||j.expiresAt<Date.now())continue;let ne=document.activeElement;for(;ne?.shadowRoot?.activeElement;)ne=ne.shadowRoot.activeElement;A=ne?.matches("input, textarea, select, [contenteditable]")&&Ma(ne,"[data-taste-editor]")&&j.tasteProposal.action!=="inspect"?{status:"busy",reason:"The human is editing a proposal field. Retry after editing ends."}:Q.command(j.tasteProposal)}else if(j.workspace){let{collectWorkspaceSnapshot:Q,workspaceAttentionTarget:ne}=await import("./workspace-snapshot-O34KMJ2V.mjs");if(H||j.expiresAt<Date.now())continue;A=Q(r.current.state,j.workspace);let ee=j.workspace.entryId?[j.workspace.entryId]:"entries"in A?A.entries.map(B=>B.id):[],de=[...new Set(ee.map(B=>ne(r.current.state,B,r.current.registry)).filter(B=>!!B))];i(de);for(let B of de)B instanceof HTMLElement&&B.hasAttribute("data-popmelt-thread-header")&&jg(B,B);if(de.length&&(clearTimeout(I),I=setTimeout(()=>a(null),Math.max(0,j.expiresAt-Date.now())),await new Promise(B=>requestAnimationFrame(()=>setTimeout(B,0))),H))break;A.attention=j.workspace.entryId?de.length?"shown":ne(r.current.state,j.workspace.entryId,r.current.registry,!0)?"target_offscreen":"target_missing_hidden_or_ambiguous":{shown:de.length,requested:ee.length}}else if(R?.element.isConnected&&m.page===location.origin+location.pathname&&!Ma(R.element,"[data-popmelt-private], input, textarea, select, [contenteditable]"))try{let Q=j.attentionOnly?null:(await import("./focus-inspection-G72JLJYG.mjs")).inspectFocusElement;if(H||j.expiresAt<Date.now()||!R.element.isConnected||m.page!==location.origin+location.pathname)continue;if(a(R.element),clearTimeout(I),I=setTimeout(()=>a(null),Math.max(0,j.expiresAt-Date.now())),await new Promise(ne=>requestAnimationFrame(()=>setTimeout(ne,0))),H)break;A=Q?await Q(R.element,R.target,j.screenshot,r.current):{status:"ok",attention:"shown"}}catch{A={status:"capture_failed"}}if(H||document.visibilityState!=="visible")break;(await Vt(`${t}/focus/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:ly(j.id,m.clientId,A),signal:AbortSignal.timeout(3e3)})).ok||await Vt(`${t}/focus/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:j.id,clientId:m.clientId,result:{status:"response_rejected"}}),signal:AbortSignal.timeout(3e3)}),clearTimeout(I),a(null)}}catch{}finally{clearTimeout(I),H||a(null),oe=!1}}},1e3);return Y(),()=>{H=!0,clearTimeout(L),clearTimeout(w),clearInterval(q),clearInterval(N),clearTimeout(I),a(null),document.removeEventListener("visibilitychange",Y),window.removeEventListener("focus",O),window.removeEventListener("blur",O),l.current=null,d.current=null,S.clear(),m.hover=null,m.selected=null,m.history=[],m.active=!1,_()}},[e,t]),{onCanvasFocusChange:p,onCanvasActivity:c,inspectingElement:e?o[0]??null:null,inspectingElements:e?o:[]}}function dy(e,t,n,r){let[o,i]=P(null),[a,s]=P(null),l=J(0),d=J(Promise.resolve(!0)),c=U(()=>{l.current=Date.now()},[]),p=U(h=>{l.current=Date.now(),i(h)},[]),u=U(h=>s(m=>JSON.stringify(m)===JSON.stringify(h)?m:h),[]);return F(()=>{if(!e||!r)return;let h=o?.element;if(h&&Ma(h,"[data-private], [data-sensitive]"))return;let m=a?.targets??(h?[{selector:o?.subject?fu(o.subject):zo(h),...o?.subject?{subject:o.subject}:{}}]:[]);if(!m.length)return;let g={pathname:window.location.pathname,ownerId:t,color:n,targets:m,activity:"looking",...a?{threadId:a.threadId}:{}},x=!1,S=null,L=!1,H=(O,Y,q)=>{let oe=d.current.then(()=>O!=="finish"&&(x||S!==Y)?!1:e(O,Y,q));return d.current=oe.catch(()=>!1),oe},w=()=>{let O=S;S=null,O&&H("finish",O).catch(()=>{})},D=async()=>{if(x||L)return;if(!(document.visibilityState!=="hidden"&&document.hasFocus()&&g.pathname===window.location.pathname&&(a||h?.isConnected&&(o?.selection==="selected"||Date.now()-l.current<5e3)))){w();return}L=!0;let O=S?"renew":"start",Y=S??crypto.randomUUID();S=Y;try{!await H(O,Y,g)&&S===Y&&(S=null),x&&w()}catch{S===Y&&(S=null)}finally{L=!1}},_=setTimeout(D,120),E=setInterval(D,1e3),V=()=>w();return window.addEventListener("blur",V),window.addEventListener("focus",D),document.addEventListener("visibilitychange",D),()=>{x=!0,clearTimeout(_),clearInterval(E),w(),window.removeEventListener("blur",V),window.removeEventListener("focus",D),document.removeEventListener("visibilitychange",D)}},[e,r,t,n,o,a]),{onFocus:p,onActivity:c,onThread:u}}var xl="data-popmelt-preview-target",_u="script,iframe,object,embed,link,meta,base,style,template";function cy({root:e,targets:t,revision:n,width:r,height:o,cleanClone:i}){let a=e.cloneNode(!0),s=[e,...e.querySelectorAll("*")],l=[a,...a.querySelectorAll("*")],d=new Set,c=new Map;for(let[u,h]of t){if(!u||!s.includes(h))throw new Error("Target is outside the preview root");if(c.has(h))throw new Error("Target has multiple identities");c.set(h,u)}s.forEach((u,h)=>{let m=l[h];(u.shadowRoot||u.matches("canvas,video"))&&d.add("Shadow DOM, canvas and video state are not mirrored");for(let x of[...m.attributes])(/^on/i.test(x.name)||["src","srcset","href","xlink:href","action","formaction","autofocus","contenteditable",xl].includes(x.name))&&m.removeAttribute(x.name);u instanceof HTMLInputElement&&(u.type==="password"||u.type==="file"?m.removeAttribute("value"):m.setAttribute("value",u.value),m.toggleAttribute("checked",u.checked)),u instanceof HTMLTextAreaElement&&(m.textContent=u.value),u instanceof HTMLOptionElement&&m.toggleAttribute("selected",u.selected);let g=c.get(u);g&&m.setAttribute(xl,g),i?.(u,m)});for(let u of a.querySelectorAll(_u))u.remove();for(let u of a.querySelectorAll("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-root], popmelt-root"))u.remove();if(a.matches(_u))throw new Error("Unsupported preview root");let p="";for(let u of e.ownerDocument.styleSheets)if(!(u.ownerNode instanceof Element&&u.ownerNode.closest("[data-devtools], [data-popmelt-top-layer-host]")))try{p+=[...u.cssRules].map(h=>h.cssText).join(`
|
|
3
|
+
`)+`
|
|
4
|
+
`}catch{d.add("An inaccessible stylesheet was omitted")}return d.add("Static snapshot: no scripts, external assets, event handlers or application runtime"),{revision:n,html:e.tagName==="BODY"?a.innerHTML:a.outerHTML,...e.tagName==="BODY"?{bodyAttributes:Object.fromEntries([...a.attributes].map(u=>[u.name,u.value]))}:{},css:p,width:r,height:o,warnings:[...d]}}function Wu(e,t){let n=[...e.querySelectorAll(`[${xl}]`)].filter(r=>r.getAttribute(xl)===t);return n.length===1?n[0]:null}var uy=class{constructor(e){this.generation=0,this.cancelPending=null,this.current=null,this.disposed=!1,this.frame=e.ownerDocument.createElement("iframe"),this.frame.setAttribute("sandbox","allow-same-origin"),this.frame.title="Peer plane preview",this.frame.style.cssText="border:0;display:block;pointer-events:none;",this.frame.tabIndex=-1,e.append(this.frame)}async render(e,t,n){if(this.disposed)throw new Error("Preview surface was disposed");this.cancelPending?.();let r=++this.generation;this.current=null,this.frame.width=String(e.width),this.frame.height=String(e.height);let o=this.frame.ownerDocument.implementation.createHTMLDocument("Peer preview"),i=o.createElement("meta");i.httpEquiv="Content-Security-Policy",i.content="default-src 'none'; style-src 'unsafe-inline'; form-action 'none'; base-uri 'none'; script-src 'none'",o.head.prepend(i);let a=o.createElement("style");a.textContent=e.css.replace(/<\/style/gi,"<\\/style"),o.head.append(a),o.body.innerHTML=e.html;for(let[l,d]of Object.entries(e.bodyAttributes??{}))o.body.setAttribute(l,d);let s=o.createElement("style");return s.textContent="*,*::before,*::after{animation:none!important;transition:none!important;caret-color:transparent!important}",o.head.append(s),o.documentElement.dataset.previewGeneration=String(r),new Promise(l=>{let d=h=>{clearTimeout(u),this.frame.removeEventListener("load",p),this.cancelPending===c&&(this.cancelPending=null),l(h)},c=()=>d(!1),p=()=>{if(r!==this.generation||this.frame.contentDocument?.documentElement.dataset.previewGeneration!==String(r))return;let h=this.frame.contentDocument;n?.(h);for(let m of t.artifacts)m.kind==="style"&&Wu(h,m.targetKey)?.style.setProperty(m.property,m.value,"important");this.current={baseline:e,plane:{...t}},d(!0)},u=setTimeout(c,5e3);this.cancelPending=c,this.frame.addEventListener("load",p),queueMicrotask(()=>{!this.disposed&&r===this.generation&&(this.frame.srcdoc="<!doctype html>"+o.documentElement.outerHTML)})})}inspect(e,t){let n=this.current,r=this.frame.contentDocument;if(!n||!r)return null;let o=Wu(r,e);if(!o)return null;let i=this.frame.contentWindow.getComputedStyle(o),a=o.getBoundingClientRect();return{planeId:n.plane.id,planeRevision:n.plane.revision,sourceRevision:n.baseline.revision,targetKey:e,styles:Object.fromEntries(t.map(s=>[s,i.getPropertyValue(s)])),rect:{x:a.x,y:a.y,width:a.width,height:a.height}}}dispose(){this.disposed=!0,++this.generation,this.cancelPending?.(),this.current=null,this.frame.remove()}};function py(e,t){return{id:e,ownerId:t,revision:0,artifacts:[],undo:[],redo:[],attention:null}}function Vs(e){return ll(e).flatMap(t=>t==="color"?[...qc]:[t])}function fy(e,t){if(e===void 0)return{families:qi.map(n=>({family:n,label:Cs(n)}))};if(!qi.includes(e))throw new Error("Unknown omnidial family");if(!t)return{family:e,subproperties:Vs(e)};if(!Vs(e).includes(t))throw new Error("Unknown omnidial subproperty");return{family:e,subproperty:t,...e==="transform"&&t==="translate"?{composedToken:"translate-x-<xStep>-y-<yStep>",axisSteps:gi(e,t)}:{},tokens:gi(e,t).map(n=>({token:al(e,n,t),value:Ui(e,n,t)}))}}function hy(e,t){if(t!==void 0&&!qi.includes(t))throw new Error("Unknown omnidial family");let n=/^translate-x-(-?\d+)-y-(-?\d+)$/.exec(e);if(n&&(!t||t==="transform")){let o=gi("transform","translate"),i=o.find(s=>String(s)===n[1]),a=o.find(s=>String(s)===n[2]);if(i!==void 0&&a!==void 0)return{family:"transform",subproperty:"translate",step:i,axisSteps:{x:i,y:a}}}let r=[];for(let o of t?[t]:qi)for(let i of Vs(o))for(let a of gi(o,i))al(o,a,i)===e&&r.push({family:o,subproperty:i,step:a});if(r.length>1)throw new Error("Ambiguous omnidial token; include its family (for example stack or grid)");if(!r.length)throw new Error("Unknown omnidial token; discover available tokens or use an explicit custom property/value");return r[0]}function Ju(e,t,n,r){let o=e.ownerDocument.defaultView.getComputedStyle(e),i=$c(t,r),a=Ui(t,n,r),s=Pc(t),l=zc(t,r,n),d=t==="border"&&!mi(t,r)&&typeof n=="number"&&n>0?Dc(r):null,c={family:t,subproperty:Uc(t,r),step:n},p=[{property:i,original:o.getPropertyValue(i).trim()||"0px",modified:a,token:al(t,n,r),sticker:c}];s&&p.unshift({property:"display",original:o.getPropertyValue("display").trim()||"block",modified:s,token:s,sticker:c});for(let u of l)p.push({property:u.property,original:o.getPropertyValue(u.property).trim(),modified:u.value,token:u.token,sticker:c});if(d){let u=o.getPropertyValue(d).trim();(!u||u==="none")&&p.push({property:d,original:u||"none",modified:"solid",token:al(t,n,r),sticker:c})}return{alreadyApplied:jc(t,n,r,u=>o.getPropertyValue(u)),changes:p}}function Bu(e,t,n){let r=e.ownerDocument.defaultView.getComputedStyle(e),o="translate",i=`${Number(t)*4}px ${Number(n)*4}px`,a={family:"transform",subproperty:"translate",step:t,axisSteps:{x:t,y:n}};return{alreadyApplied:r.getPropertyValue(o).trim()===i,changes:[{property:o,original:r.getPropertyValue(o).trim()||"none",modified:i,token:`translate-x-${t}-y-${n}`,sticker:a}]}}function my(e,t){for(let n of t.changes)it(e,n.property,n.modified)}var gy=new Set(["text","transform","opacity"]),yy=new Set(["padding","margin","border","radius","color"]);function vy(e){return e instanceof SVGSVGElement&&!(e.parentElement instanceof SVGElement)}function by(e){return e!=="text-align"}function wl(e,t,n){return jr(e)?e instanceof HTMLElement?!0:t==="text"&&!by(n)?!1:gy.has(t)||vy(e)&&yy.has(t):!1}function za(e){return[...new Set([...e?.annotations.flatMap(t=>t.linkedSelector?[t.linkedSelector]:[])??[],...e?.styleModifications.map(t=>t.selector)??[],...e?.textModifications.map(t=>t.selector)??[]])]}function xy(e,t){return Object.keys(t).filter(n=>e[n]!==void 0&&e[n]!==t[n])}function Uu(e,t){return Object.keys(e).length===Object.keys(t).length&&Object.keys(t).every(n=>e[n]===t[n])}function Gs(e,t,n,r){let o={...e};for(let i of r){if(n[i]===void 0){delete o[i];continue}o[i]=t[i]??e[i]??n[i]}return o}function wy(e){let t=e.ownerDocument.defaultView.getComputedStyle(e),n=Array.from(t).filter(i=>!i.startsWith("--")).map(i=>`${i}:${t.getPropertyValue(i)}`).join(";"),r=e.outerHTML+n,o=2166136261;for(let i=0;i<r.length;i++)o=Math.imul(o^r.charCodeAt(i),16777619);return`target-v2:${(o>>>0).toString(16)}`}var sr=()=>location.origin+location.pathname;function Sl(e){let t=document.querySelectorAll(e),n=t[0];if(t.length!==1||!(n instanceof HTMLElement||n instanceof SVGElement)||n.closest("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-canvas-block]"))throw new Error("Target must resolve to exactly one app element");if(n.matches("input,textarea,select,[contenteditable],script,style")||n.closest("[data-private], [data-sensitive]"))throw new Error("Private/editable controls are outside the peer preview");return n}var qu=class{constructor(){this.sources={},this.changed=[],this.container=document.createElement("div"),this.container.dataset.popmeltPeerSurface="",this.container.setAttribute("aria-hidden","true"),this.container.style.cssText="position:fixed;left:-100000px;top:0;pointer-events:none;",document.body.append(this.container),this.surface=new uy(this.container)}async render(e,t,n,r=!1){if(t.domModifications.length||t.spacingTokenChanges.length)throw new Error("Independent previews do not yet support staged structure or spacing-token edits; your draft is preserved");let o=e.state??pl,i=new Set([...n?[n]:[],...za(o)]),a=new Map;for(let c of i)a.set(c,Sl(c));let s=new Map;for(let c of t.textModifications){let p=document.querySelector(c.selector);p&&s.set(p,[...s.get(p)??[],c])}let l=cy({root:document.body,targets:a,revision:sr(),width:innerWidth,height:innerHeight,cleanClone:(c,p)=>{if(!r){ag(c,p);for(let u of s.get(c)??[]){let h=p;for(let m of u.textNodePath)h=h?.childNodes[m];h?.nodeType===Node.TEXT_NODE&&(h.nodeValue=u.original)}}}}),d=py(e.identity.id,e.identity.id);if(d.revision=e.revision,r||(d.artifacts=o.styleModifications.flatMap(c=>c.changes.map(p=>({kind:"style",id:c.selector+p.property,targetKey:c.selector,property:p.property,value:p.modified})))),!await this.surface.render(l,d,c=>{this.sources=Object.fromEntries([...i].map(p=>[p,wy(c.querySelector(`[data-popmelt-preview-target="${CSS.escape(p)}"]`))])),this.changed=xy(e.basis??{},this.sources)}))throw new Error("Preview superseded or unavailable");return this.surface.frame.contentWindow?.scrollTo(scrollX,scrollY),l.warnings}async execute(e,t){let{action:n}=e,r=structuredClone(e.peer);if(n.type==="prepare-send"){if(!za(r.state).length)throw new Error("There are no peer changes to send");if(await this.render(r,t),!e.observedSources||Object.keys(this.sources).some(l=>e.observedSources[l]!==this.sources[l]))throw new Error("Source changed since the last preview. Take another look, then send again.");return this.changed.length&&r.revision++,r.basis={...this.sources},delete r.pendingRevision,{peer:r,sources:this.sources}}if(n.type==="check-source"){let l={...r,state:{...structuredClone(pl),annotations:Object.keys(n.sources).map((d,c)=>({id:`source-${c}`,type:"text",text:"",points:[],strokeWidth:1,color:r.color,timestamp:0,linkedSelector:d}))}};if(await this.render(l,t),!Uu(n.sources,this.sources))throw new Error("Source changed since Send. Preview the current source and send again.");return{peer:r,evidence:{status:"source-current"}}}if(n.type==="tokens")return{peer:r,evidence:fy(n.family,n.subproperty)};let o=r.state??{...structuredClone(pl),isAnnotating:!0,activeColor:r.color},i=o,a,s=l=>{i=Km(i,l)};if(n.type==="send")throw new Error("Send requires the implementation bridge");if(n.type==="rebase")await this.render(r,t),r.basis={...this.sources},r.revision++,delete r.pendingRevision,a={status:"rebased",note:"Draft preserved against current source; Send requires a new approval if in Suggest."};else if(n.type==="undo"||n.type==="redo"){s({type:n.type==="undo"?"UNDO":"REDO"}),await this.render({...r,state:i},t);let l=[...new Set([...za(o),...za(i)])].filter(d=>{let c=p=>JSON.stringify([p.annotations.filter(u=>u.linkedSelector===d),p.styleModifications.filter(u=>u.selector===d)]);return c(o)!==c(i)});r.basis=Gs(r.basis??{},e.observedSources??{},this.sources,l)}else if(n.type==="attention"&&!n.selector)r.attention=null;else if(n.type==="clear"){let l=n.kind!=="style"&&o.annotations.some(c=>c.linkedSelector===n.selector),d=n.kind!=="comment"&&o.styleModifications.some(c=>c.selector===n.selector);if(!l&&!d)return{peer:r,evidence:{status:"nothing-to-clear"}};i={...o,annotations:n.kind==="style"?o.annotations:o.annotations.filter(c=>c.linkedSelector!==n.selector),styleModifications:n.kind==="comment"?o.styleModifications:o.styleModifications.filter(c=>c.selector!==n.selector),undoStack:[...o.undoStack,{annotations:o.annotations,styleModifications:o.styleModifications,textModifications:o.textModifications,domModifications:o.domModifications,spacingTokenChanges:o.spacingTokenChanges,spacingTokenMods:o.spacingTokenMods}],redoStack:[]},await this.render({...r,state:i},t),r.basis=Gs(r.basis??{},e.observedSources??{},this.sources,[n.selector])}else if("selector"in n&&n.selector){let l=Sl(n.selector),d=yn(l),c=n.selector;if(n.type==="inspect"){let p=await this.render(r,t,c,n.plane==="host");a={...this.surface.inspect(c,n.properties??[]),element:d,warnings:p,view:n.plane??"own",url:sr(),changedSourceTargets:n.plane==="host"?void 0:this.changed}}else if(n.type==="style")if("token"in n){let p=hy(n.token,n.family);if(!wl(l,p.family,p.subproperty))throw new Error("This omnidial token does not support the target");await this.render(r,t,c);let u=this.surface.frame.contentDocument?.querySelector(c);if(!u)throw new Error("Could not inspect original style");let h=p.axisSteps?Bu(u,p.axisSteps.x,p.axisSteps.y):Ju(u,p.family,p.step,p.subproperty);h.alreadyApplied||s({type:"MODIFY_STYLES_BATCH",payload:{selector:c,element:{...d,selector:c},changes:h.changes}}),a={token:n.token,selection:p,alreadyApplied:h.alreadyApplied}}else{if(!CSS.supports(n.property,n.value))throw new Error("Unsupported CSS property/value");await this.render(r,t,c);let p=this.surface.inspect(c,[n.property])?.styles[n.property];if(p===void 0)throw new Error("Could not inspect original style");s({type:"MODIFY_STYLES_BATCH",payload:{selector:c,element:{...d,selector:c},changes:[{property:n.property,original:p,modified:n.value}]}})}else if(n.type==="comment"){await this.render(r,t,c);let p=l.getBoundingClientRect();s({type:"ADD_TEXT",payload:{id:`peer-note-${e.id}`,point:{x:p.x+scrollX,y:p.y+scrollY-26},text:n.text,linkedSelector:c,elements:[{...d,selector:c}]}})}r.attention=null,(n.type==="comment"||n.type==="style")&&(r.basis=Gs(r.basis??{},e.observedSources??{},this.sources,[c]))}if(i!==o){if(i.annotations.length+i.styleModifications.length>100)throw new Error("Peer draft is full; submit or undo before adding more");i={...i,undoStack:i.undoStack.slice(-50),redoStack:i.redoStack.slice(-50)},r.state=i,r.revision++,r.url=sr(),delete r.pendingRevision}return{peer:r,evidence:a,...["inspect","style","comment","clear","undo","redo","rebase"].includes(n.type)&&!(n.type==="inspect"&&n.plane==="host")?{sources:this.sources}:{}}}dispose(){this.surface.dispose(),this.container.remove()}};async function Sy(e,t,n){let r=!0,o,i=new Set,a=async c=>{let p=new AbortController;i.add(p);let u=setTimeout(()=>p.abort(),1500);try{return await e(c,p.signal)}catch{return!1}finally{clearTimeout(u),i.delete(p)}},s=()=>{r=!1,clearTimeout(o);for(let c of i)c.abort()},l=()=>{s(),a("finish")},d=async()=>{if(!r)return;let c=await a("renew");r&&c&&(o=setTimeout(()=>{d()},1e3))};n.addEventListener("abort",l,{once:!0});try{if(n.aborted)throw new Error("Canvas disconnected before action");let c=await a("start");if(n.aborted)throw new Error("Canvas disconnected before action");return r&&c&&(o=setTimeout(()=>{d()},1e3)),await t()}finally{s(),n.removeEventListener("abort",l),await a("finish")}}function Iy(e){let t=`popmelt-peer-seen:${e}`,[n,r]=P({key:"",revisions:{}});return F(()=>{let o={};try{let i=JSON.parse(localStorage.getItem(t)??"{}");i&&typeof i=="object"&&!Array.isArray(i)&&(o=Object.fromEntries(Object.entries(i).filter(([,a])=>Number.isSafeInteger(a)&&a>=0)))}catch{}r({key:t,revisions:o})},[t]),{markSeen:U((o,i)=>{r(a=>{if(a.key!==t||(a.revisions[o]??0)>=i)return a;let s={key:t,revisions:{...a.revisions,[o]:i}};try{localStorage.setItem(t,JSON.stringify(s.revisions))}catch{}return s})},[t]),isUnseen:(o,i)=>n.key===t&&i>(n.revisions[o]??0)}}function ky(e,t){let n,r=s=>(s instanceof Element?s:s.parentElement)?.closest("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-root], popmelt-root"),o=()=>{n===void 0&&(n=setTimeout(()=>{n=void 0,t()},400))},i=new MutationObserver(s=>{document.hidden||!e.length||s.some(l=>{if(r(l.target)||l.type==="childList"&&[...l.addedNodes,...l.removedNodes].every(c=>r(c)))return!1;let d=l.target instanceof Element?l.target:l.target.parentElement;return d?.closest("style,head")?!0:e.some(c=>{let p=document.querySelector(c);return!p||p.contains(l.target)||d?.contains(p)})})&&o()});i.observe(document.documentElement,{subtree:!0,attributes:!0,childList:!0,characterData:!0}),window.addEventListener("resize",o);let a=()=>{document.hidden||o()};return document.addEventListener("visibilitychange",a),()=>{i.disconnect(),clearTimeout(n),window.removeEventListener("resize",o),document.removeEventListener("visibilitychange",a)}}function Ku(e){if(!e)return 0;let t=am(e.annotations);return wc({annotations:e.annotations.filter(n=>!n.captured&&!t.has(n)),styleModifications:e.styleModifications.filter(n=>!n.captured),textModifications:e.textModifications.filter(n=>!n.captured)}).count}function Ey(e,t,n,r,o){let[i,a]=P([]),[s,l]=P([]),d=Oh(s,e&&r.isAnnotating),c=Nh(e&&r.isAnnotating),{viewedId:p,isPeeking:u}=c,[h,m]=P(),[g,x]=P(),[S,L]=P([]),H=J(null),{markSeen:w,isUnseen:D}=Iy(n),_=Ee(()=>new Map(i.map(B=>[B.identity.id,Ku(B.state)])),[i]),{annotations:E,styleModifications:V,textModifications:O}=r,Y=Ee(()=>Ku({annotations:E,styleModifications:V,textModifications:O}),[E,V,O]),[q,oe]=P(null),I=J(null),G=J({human:r,settings:o});G.current={human:r,settings:o};let N=J({clientId:crypto.randomUUID()}),z=J(async()=>{throw new Error("Canvas is disconnected")}),M=e?i.find(B=>B.identity.id===p):void 0,j=i.find(B=>B.identity.id===c.selectedId)?.state,R=Ee(()=>Fh(j),[j]);F(()=>{if(!e||!n)return;N.current.token||(N.current={clientId:crypto.randomUUID()});let B=!1,he,ge=-1,te=-1,ve=new AbortController,Oe="",xe=!1,Xe=new qu,K=new Map,Ke=Te=>{B||typeof Te.presenceVersion!="number"||Te.presenceVersion<=te||!Array.isArray(Te.presence)||(te=Te.presenceVersion,l(Te.presence))},me=async(Te,je={},ce=AbortSignal.any([ve.signal,AbortSignal.timeout(5e4)]))=>{let at=N.current.token,ot=await Vt(`${t}/peers/${Te}`,{method:"POST",headers:{"Content-Type":"application/json","X-Popmelt-Project-Id":n},body:JSON.stringify({...N.current,...je}),signal:ce}),Qe=await ot.json();if(Te!=="host"&&at!==N.current.token)throw new Error("Canvas session changed during request");if(!ot.ok||Qe.error)throw new Error(Qe.error??`Peer request failed (${ot.status})`);return Qe};z.current=me;async function Ne(Te){if(Te.url&&Te.url!==sr())throw new Error("Canvas navigated before the operation could run");if(Te.action.type!=="send"){let At=vm(Te.action);return At?(Sl(At.selector),Sy(async(wt,Be)=>{let gt=await me("activity",{id:Te.id,phase:wt},Be);return Ke(gt),gt.accepted===!0},()=>Xe.execute(Te,G.current.human),ve.signal)):Xe.execute(Te,G.current.human)}if(!Te.grant)throw new Error("No host-approved Send grant");let je=structuredClone(Te.peer);if(je.url!==sr())throw new Error("Return to the proposal\u2019s page before sending");let ce=je.state;if(!ce||!ce.annotations.length&&!ce.styleModifications.length)throw new Error("There are no peer changes to send");await Xe.render(je,G.current.human);let at={...Xe.sources};if(!Te.observedSources||Object.keys(at).some(At=>Te.observedSources[At]!==at[At]))throw new Error("Source changed since the last preview. Take another look, then send again.");let ot=Xe.surface.frame.contentDocument;if(!ot)throw new Error("Peer preview is unavailable");let[Qe]=await Wi(ot.body,null,[],{viewportOnly:!0});if(!Qe)throw new Error("Could not capture the peer preview");if(await Xe.render(je,G.current.human),!Uu(at,Xe.sources))throw new Error("Source changed while preparing Send. Take another look, then send again.");await me("source",{grant:Te.grant,sources:at});let we=hc(ce.annotations,ce.styleModifications,void 0,void 0,ce.textModifications),{provider:He,model:zt,agentSettings:Et}=G.current.settings,Jt=await wu(Qe,JSON.stringify(we),t,je.color,He,zt,void 0,void 0,Et,void 0,void 0,void 0,Te.grant);return je.state={...structuredClone(pl),isAnnotating:!0,activeColor:je.color},je.revision++,je.basis={},delete je.pendingRevision,je.lastJob={jobId:Jt.jobId,threadId:Jt.threadId},{peer:je,evidence:{status:"submitted",...Jt}}}async function Ve(){try{if(!N.current.token||Oe!==sr()){let je=await me("host",{url:sr()});if(B)return;N.current.token=String(je.token),Oe=sr()}let Te=await me("poll",{version:ge,presenceVersion:te});if(B)return;Ke(Te),Te.peers&&(a(Te.peers),xe=Te.peers.length>0,ge=Number(Te.version));for(let je of Te.requests){let ce=K.get(je.id);if(!ce){try{ce=await Ne(je)}catch(at){ce={error:at instanceof Error?at.message:String(at)}}K.set(je.id,ce),K.size>100&&K.delete(K.keys().next().value)}await me("response",{id:je.id,result:ce})}}catch(Te){!B&&Te instanceof Error&&Te.message.includes("Host capability")&&(N.current.token=void 0,ge=-1,te=-1,B||l([]))}finally{B||(he=setTimeout(()=>{Ve()},document.hidden||!xe?2e3:600))}}return Ve(),()=>{B=!0,ve.abort(),clearTimeout(he),Xe.dispose(),a([]),l([]),z.current=async()=>{throw new Error("Canvas is disconnected")}}},[e,t,n]),F(()=>{if(x(void 0),L([]),H.current=null,!M||!r.isAnnotating||!I.current){oe(null);return}let B=new qu;I.current.append(B.container),oe(null),B.container.removeAttribute("aria-hidden"),B.container.style.cssText="position:absolute;inset:0;pointer-events:none;";let he=!1;M.url&&M.url!==sr()&&x("This draft belongs to another page. Return to it to preview.");let ge=!1,te=!1,ve=()=>{if(!he){if(ge){te=!0;return}ge=!0,B.render(M,G.current.human).then(()=>{he||(x(void 0),L(B.changed),H.current={id:M.identity.id,revision:M.revision,values:{...B.sources}},oe(B.surface.frame),w(M.identity.id,M.revision))}).catch(K=>{he||(H.current=null,oe(null),x(K.message))}).finally(()=>{ge=!1,te&&(te=!1,ve())})}},Oe=!M.url||M.url===sr();Oe&&ve();let xe=Oe?ky(za(M.state),ve):()=>{},Xe=()=>B.surface.frame.contentWindow?.scrollTo(scrollX,scrollY);return window.addEventListener("scroll",Xe,{passive:!0}),()=>{he=!0,xe(),window.removeEventListener("scroll",Xe),B.dispose()}},[M,r.isAnnotating,w]);let A=async B=>{try{return await B(),m(void 0),!0}catch(he){return m(he instanceof Error?he.message:String(he)),!1}},Q=e&&i.length?{peers:[{identity:{id:"host",name:"You",kind:"human",relationship:"host"},permission:"direct",color:r.activeColor,stagedCount:Y},...i.map(B=>({...B,stagedCount:_.get(B.identity.id)??0,unseenActivity:D(B.identity.id,B.revision)}))],viewedPeerId:p,selectedPeerId:c.selectedId,onPeek:c.peek,onPeekEnd:c.leave,onPreview:B=>{c.select(B),m(void 0)},onPermissionChange:(B,he)=>A(()=>z.current("permission",{peerId:B,permission:he}))}:null,ne=M?.pendingRevision!==void 0?()=>A(()=>{let B=H.current;if(!B||B.id!==p||B.revision!==M.revision)throw new Error("Wait for this draft\u2019s preview before sending.");return z.current("approve",{peerId:p,revision:M.pendingRevision,sources:B.values})}):void 0,ee=!!(M&&r.isAnnotating),de=e&&(h??(ee?g:void 0));return F(()=>{if(!ee)return;let B=he=>{he.composedPath().some(ge=>ge instanceof Element&&ge.hasAttribute("data-devtools"))||(he.metaKey||he.ctrlKey)&&he.key==="Enter"||(he.key.length===1||["Backspace","Delete","Enter"].includes(he.key))&&(he.preventDefault(),he.stopPropagation())};return window.addEventListener("keydown",B,!0),()=>window.removeEventListener("keydown",B,!0)},[ee]),{toolbar:Q,selectedId:c.selectedId,threadAnnotationNumbers:R,activePreview:ee,isPeeking:u,viewed:M,approve:ne,overlay:$(dt,{children:[ee&&f("div",{ref:I,"data-devtools":"peer-preview","data-peer-revision":M?.revision,"data-pending-revision":M?.pendingRevision,"data-popmelt-peer-surface":!0,style:{position:"fixed",inset:0,zIndex:1e4,background:"#111",pointerEvents:"auto"}}),d.map(({presence:B,engaged:he})=>{if(u)return null;let ge=i.find(ve=>ve.identity.id===B.peerId);if(!ge||B.clientId!==N.current.clientId||B.url!==sr()||ee&&ge.identity.id!==p)return null;let te=null;try{te=ee?q?.contentDocument?.querySelector(B.selector)??null:Sl(B.selector)}catch{}return f(Vc,{element:te,engaged:he,label:`${ge.identity.name} is looking at this element`},`${ge.identity.id}:${B.operationId}`)}),!u&&ee&&M&&q?.contentDocument&&f(_h,{peer:M,targetDocument:q.contentDocument,onApprove:ne?()=>{ne()}:void 0}),ee&&M&&p===c.selectedId&&f("div",{"data-devtools":"peer-plane-border","data-plane-owner":M.identity.id,"aria-hidden":"true",style:{position:"fixed",inset:0,border:`2px solid ${M.color}`,boxSizing:"border-box",pointerEvents:"none",zIndex:10002}}),ee&&M&&p===c.selectedId&&f(Wh,{name:M.identity.name,isOwnPlane:M.identity.id==="host",color:M.color,changed:S.length>0}),de&&f("div",{"data-devtools":"peer-error",role:"status",style:{position:"fixed",bottom:100,right:24,maxWidth:360,padding:12,background:"#222",color:"#ddd",borderRadius:12,fontFamily:Os,fontSize:12,lineHeight:1.4,zIndex:10002},children:de})]})}}function Ty(e,t,n,r,o,i,a){let[s,l]=P(),d=J({navigation:e,selectedId:t});F(()=>{if(!e||!n||s?.navigation===e)return;let c=e.read(),p=o.current,u=!1;if(!c.threadId||c.selectedId!==t){l({navigation:e});return}return i(c.threadId).then(h=>{if(!u){if(p===o.current&&e.read()===c)if(h>=200&&h<300)a(c.threadId);else if(h===403||h===404||h===410)e.rememberThread(t,null);else{l({navigation:e,unresolvedRevision:p});return}l({navigation:e})}}).catch(()=>{u||l({navigation:e,unresolvedRevision:p})}),()=>{u=!0}},[e,t,n,s,o,i,a]),F(()=>{let c=d.current.navigation!==e||d.current.selectedId!==t;d.current={navigation:e,selectedId:t},!(!e||s?.navigation!==e||c)&&(s.unresolvedRevision===o.current&&!r||e.rememberThread(t,r))},[e,t,r,s,o])}var Cy=Ra(()=>import("./ParticipantRuntime-5KRRPLWL.mjs")),Ay=Ra(()=>import("./PreviewRuntime-QDA4OF67.mjs"));function My({children:e,projectId:t,adapters:n,multiplayer:r=!1}){let[o,i]=P(!1);if(F(()=>{i(!0)},[]),!o)return null;let a=window.__POPMELT_PARTICIPANTS__;if(!r)return Su()?null:a?f("p",{role:"status","data-devtools":"participant-disabled",children:"Multiplayer is disabled. Enable the multiplayer option in your Popmelt integration to use this participant page."}):e;if(a)try{Tg(a,t)}catch(s){return f("p",{role:"alert","data-devtools":"participant-error",children:s.message})}return Su()?a?f(La,{fallback:null,children:f(Ay,{config:a,adapters:n})}):null:a?f(La,{fallback:null,children:f(Cy,{config:a,children:Og(e,{bridgeUrl:a.url,projectId:a.projectId})},a.projectId)}):e}function Ry(e,t,n,r){let o=J(e);o.current=e;let[i,a]=P([]),s=J(null),[l,d]=P(null),[c,p]=P(null),u=i.filter(x=>x.scope===e),h=x=>a(S=>S.filter(L=>L.id!==x)),m=(x,S)=>{let L=Symbol(x);p(null);let H=t(x).then(()=>!0,()=>(o.current===e&&(S(),p({scope:e,message:"Could not dismiss thread. Please try again."})),h(L),!1));a(w=>[...w.filter(D=>D.scope===e),{id:L,threadId:x,rollback:S,saved:H,scope:e,undoHead:r}])},g=async()=>{let x=u.at(-1);if(!(!x||s.current===e)){s.current=e,d(e),p(null);try{if(!await x.saved||o.current!==e||(await n(x.threadId),o.current!==e))return;x.rollback(),h(x.id)}catch{o.current===e&&p({scope:e,message:"Could not restore thread. Try Undo again."})}finally{s.current===e&&(s.current=null,d(null))}}};return{dismiss:m,undo:g,tryUndo:()=>{let x=u.at(-1);return!x||x.undoHead!==r?!1:(g(),!0)},busy:l===e,count:u.length,error:c?.scope===e?c.message:null}}function Ly({enabled:e,active:t,configuration:n=!0,adapters:r}){let[o,i]=P(!1),[a,s]=P(null),l=Ee(()=>Cg(),[]),{recognition:d,selector:c,root:p,observe:u,store:h,imageHasher:m,onError:g}=typeof n=="object"?n:{},x=r.some(w=>w.surfaceKind==="image"||w.id==="see:image"),S=e&&n!==!1&&!x,L=t||o,H=L?d:void 0;return F(()=>{e?t&&i(!0):i(!1)},[e,t]),F(()=>{if(!S)return;let w=Ag({recognition:H?{cacheKey:H.cacheKey,configurationKey:H.configurationKey,detect:D=>H.detect(D),reconcile:(...D)=>H.reconcile(...D)}:void 0,hydrateOnly:!L,selector:c,root:p,observe:u,store:h??l,imageHasher:m,onError:g});return s(w),()=>{s(null),w.destroy()}},[S,H,L,c,p,u,h,l,m,g]),Ee(()=>S&&a?[a,...r]:r,[S,a,r])}function $y({enabled:e,configuration:t=!0,adapters:n}){let[r,o]=P(null),i=Ee(()=>Mg(),[]),{segmentation:a,tracking:s,selector:l,root:d,observe:c,store:p,onError:u}=typeof t=="object"?t:{},h=n.some(g=>g.surfaceKind==="video"||g.id==="see:video"),m=e&&t!==!1&&!h;return F(()=>{if(!m)return;let g=Rg({tracking:s,segmentation:a,selector:l,root:d,observe:c,store:p??i,onError:u});return o(g),()=>{o(null),g.destroy()}},[m,s,a,l,d,c,p,i,u]),Ee(()=>m&&r?[r,...n]:n,[m,r,n])}function Yu(e,t){return JSON.stringify([e,t.adapter,t.key])}async function Xu(e,t,n,r){for(let o of t){if(!o.target)continue;let i=Yu(n,o.target);if(!r.has(i))try{r.set(i,await e.captureFeedback(o.target))}catch{r.set(i,null)}}}function jy(e,t,n){let r=new Map;for(let o of e.annotations){let i=t.find(s=>s.id===o.id),a=(i?.groupId?t.filter(s=>s.groupId===i.groupId):t.filter(s=>s.id===o.id)).flatMap(s=>n.get(s.id)??[]);a.length&&r.set(o.id,a)}return r}function Py(e,t,n,r){for(let o of e.annotations){if(!o.target)continue;let i=n.get(Yu(o.pathname||r,o.target));if(!i){o.subjectFeedback={warning:"Live object unavailable; the following object context is the draft-time snapshot, not a refreshed detection. No object crop is attached."};continue}if(o.elements=[i.elementInfo],o.subjectFeedback=i.warning?{warning:i.warning}:void 0,i.crop){let a=t.get(o.id)??[];o.subjectFeedback={...o.subjectFeedback,cropImageIndex:a.length},t.set(o.id,[...a,i.crop])}}}function zy(e){let t=e?.requestItems?.flatMap(r=>r.kind==="annotation"&&r.text.trim()?[r.text.trim()]:[]);if(t?.length)return t.join("; ");let n=e?.requestItems?.flatMap(r=>r.kind==="changes"?[`${r.elementLabel} [${r.changes.join(", ")}]`]:[]);return n?.length?n.join("; "):e?.requestText?.trim()||void 0}function Dy(e,t){if(!e?.frames?.length)return[];let n=new Map;for(let r of e.steps){let o=r.visuals?.afterFrameId;o&&!n.has(o)&&n.set(o,r.action?.label?`After ${r.action.label}`:"Resulting state")}return e.frames.flatMap((r,o)=>{let i=t[r.imageIndex];return i?[{id:r.id,imageIndex:r.imageIndex,label:o===0?"Initial state":n.get(r.id)??"State",url:i}]:[]})}function Vu(e){let t=e.instruction?.trim();return t?e.attachments?.some(n=>n.name?.trim()===t)?null:t:null}function Hy(e,t){let n=e?.tagName?.toLowerCase(),r=e?.id?`#${e.id}`:"",o=e?.className?`.${e.className.trim().split(/\s+/).slice(0,2).join(".")}`:"",i=n?`${n}${r}${o}`:t;return e?.reactComponent?`<${e.reactComponent}> ${i}`:i}function Oy(e){let t=e.elements?.[0]?.reactComponent||e.elements?.[0]?.tagName||e.linkedSelector,n=e.type&&e.type!=="annotation"?`${e.type} annotation`:"Annotation";return t?`${n} on ${t}`:n}function Ny(e){let t=e.annotations.map(o=>{let i=o.interactionEpisode?.steps.length??0;return{kind:"annotation",annotationId:o.id,pathname:o.pathname,text:Vu(o)??Oy(o),...i>0?{interactionEpisodeStepCount:i}:{}}}),n=new Map,r=o=>{let i=`${o.pathname??""}:${o.durableSelector??o.selector}`,a=n.get(i);if(a){a.changes.push(o.text),o.annotationNumber!==void 0&&(a.annotationNumber===void 0||o.annotationNumber<a.annotationNumber)&&(a.annotationNumber=o.annotationNumber);return}let s={kind:"changes",elementKey:i,elementLabel:Hy(o.element,o.selector),...o.annotationNumber!==void 0?{annotationNumber:o.annotationNumber}:{},pathname:o.pathname,changes:[o.text]};n.set(i,s),t.push(s)};for(let o of e.styleModifications??[])for(let i of o.changes)r({...o,text:`${i.property}: ${i.original||"unset"} \u2192 ${i.modified||"unset"}${i.token?` (${i.token})`:""}`});for(let o of e.textModifications??[])r({...o,text:`Text: ${o.original||"empty"} \u2192 ${o.modified||"empty"}`});for(let o of e.domModifications??[])r({...o,text:o.operation==="copy"?"Copied element":"Moved element"});return e.spacingTokenChanges?.length&&t.push({kind:"changes",elementKey:"spacing-tokens",elementLabel:"Spacing tokens",changes:e.spacingTokenChanges.map(o=>`${o.tokenName}: ${o.originalPx}px \u2192 ${o.newPx}px`)}),t}function Fy(e){let t=e.annotations.flatMap(r=>{let o=Vu(r);return o?[{instruction:o,pathname:r.pathname}]:[]});if(t.length===0)return;if(new Set(t.map(r=>r.pathname).filter(Boolean)).size<=1)return t.map(r=>r.instruction).join(`
|
|
5
|
+
|
|
6
|
+
`);let n=new Map;for(let r of t){let o=r.pathname||"(unknown)",i=n.get(o)??[];i.push(r.instruction),n.set(o,i)}return[...n.entries()].map(([r,o])=>`\`${r}\`
|
|
7
|
+
${o.map(i=>`- ${i}`).join(`
|
|
8
|
+
`)}`).join(`
|
|
9
|
+
`)}function _y(e,t=96){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(0,t-3))}...`:n}function Wy(e,t,n){let r=[],o=(i,a)=>{let s=i.filter(d=>!d.includes("data-pm=")),l=Tu(s,a);l.status!=="matched"||r.some(d=>d.element===l.element)||r.push({element:l.element,elementInfo:yn(l.element),subject:!1})};for(let i of(e.targets??[]).slice(0,20))if(i.type==="dom"){if(i.pathname!==t)continue;o([i.structuralSelector,i.runtimeSelector,...i.legacySelectors??[]].filter(a=>!!a),i.targetFingerprint)}else{let a=n?.resolve({adapter:i.adapter,key:i.key});a&&r.push({element:a.element,elementInfo:a.elementInfo,subject:!0,sourceElement:a.subject.sourceElement})}if(!e.targets?.length)for(let i of(e.elementIdentifiers??[]).slice(0,20))i.startsWith(`${t}:`)&&o([i.slice(t.length+1)]);return r}function Jy(e){let t=e.sourceElement??e.element;if(!t.isConnected)return!1;if(!e.subject||e.sourceElement){let r=getComputedStyle(t);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||r.opacity==="0"||t.checkVisibility&&!t.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}))return!1}let n=In(e.element);return n.width>0&&n.height>0&&n.bottom>0&&n.right>0&&n.top<window.innerHeight&&n.left<window.innerWidth}function By({entry:e,color:t,subjectRegistry:n,hasExistingOverlay:r}){let o=Pr(Ki),i=ys(),[a,s]=P(null);return F(()=>{if(!o)return;let l=Wy(e,i,n),d=()=>{let u=l.filter(Jy);s(h=>h?.entry===e&&h.pathname===i&&h.targets.length===u.length&&h.targets.every((m,g)=>m===u[g])?h:{entry:e,pathname:i,targets:u})};d();let c=ru(d),p=Fu(d);return()=>{c(),p.disconnect()}},[e,i,n,o]),a?.entry!==e||a.pathname!==i?null:f("div",{"data-devtools":"history-target-preview",style:{pointerEvents:"none"},children:a.targets.filter(l=>!r?.(l.element)).map((l,d)=>f(ro,{element:l.element,elementInfo:l.elementInfo,subjectRegistry:n,isSelected:!1,hideFill:!l.subject,color:t},d))})}function Uy(){if(typeof window>"u")return null;try{let e=window.localStorage.getItem(Is),t=e?JSON.parse(e):null;return t?.region?.kind==="lasso"&&!t.domEdit?{...t,fontSize:12,linkedAnchor:t.linkedAnchor??"bottom-left"}:t}catch{return null}}function qy({bridgeUrl:e,annotations:t}){let[n,r]=P(Uy);F(()=>{if(!n||n.domEdit)return;let s=t.find(l=>l.id===n.id&&(l.status??(l.captured?"in_flight":"pending"))!=="pending");!s||s.text!==n.text||n.images?.length||JSON.stringify(s.attachments??[])!==JSON.stringify(n.attachments??[])||JSON.stringify(s.interactionEpisode??null)!==JSON.stringify(n.interactionEpisode??null)||r(l=>l===n?null:l)},[n,t]),F(()=>{n&&!n.domEdit?window.localStorage.setItem(Is,JSON.stringify(n)):window.localStorage.removeItem(Is)},[n]),F(()=>{let s=n?.attachments?.map(l=>l.id)??[];!e||s.length===0||bu(e,s).catch(()=>{})},[n?.attachments,e]);let o=U(s=>{!e||!s?.length||Promise.all(s.map(l=>_s(e,l.id).catch(()=>{})))},[e]),i=U(async s=>{if(!n||n.domEdit)return;let l=lm(s.clipboardData.getData("text/plain"));if(l){if(s.preventDefault(),!e)return;if(l.blob.size>2097152){console.warn("[Popmelt] Pasted attachment exceeds the 2 MB draft limit.");return}try{let p=n.groupId?t.find(h=>h.groupId===n.groupId&&h.type!=="text")?.id??n.id:n.id,u=await Eg(e,p,l);r(h=>h?.id===n.id?{...h,attachments:[...h.attachments??[],u]}:h)}catch(p){console.error("[Popmelt] Failed to stage pasted attachment:",p)}return}let d=s.clipboardData.items,c=[];for(let p=0;p<d.length;p+=1){let u=d[p];if(!u.type.startsWith("image/"))continue;let h=u.getAsFile();h&&c.push(h)}c.length!==0&&(s.preventDefault(),r(p=>p?{...p,images:[...p.images??[],...c]}:null))},[n,t,e]),a=U(s=>{r(l=>l&&{...l,attachments:l.attachments?.filter(d=>d.id!==s)}),e&&_s(e,s).catch(()=>{})},[e]);return{activeText:n,setActiveText:r,handleTextPaste:i,removeActiveTextAttachment:a,releaseActiveTextAttachments:o}}function Ky({annotations:e,isCreatingAnnotation:t,hoveredTextId:n,badgeHoveredAnnotationId:r,highlightedAnnotationIds:o,cycleFocusedAnnotationIds:i,hoveredElement:a}){let s=Ee(()=>{let p=e.filter(g=>(g.status??"pending")==="pending");if(p.length===0&&!t)return null;let u=new Set(p.map(g=>g.id)),h=new Set(p.flatMap(g=>g.groupId?[g.groupId]:[])),m=new Set(p.flatMap(g=>g.threadId?[g.threadId]:[]));for(let g of e)(g.groupId&&h.has(g.groupId)||g.threadId&&m.has(g.threadId))&&u.add(g.id);return u},[e,t]),l=Ee(()=>{let p=new Set;if(n&&p.add(n),r&&p.add(r),o?.forEach(u=>p.add(u)),a){for(let u of e)if(u.linkedSelector)try{Xi(a,u.linkedSelector)&&p.add(u.id)}catch{}}return ks(e,p)},[e,n,r,o,a]),d=Ee(()=>o?ks(e,o):null,[e,o]),c=Ee(()=>i?ks(e,i):null,[e,i]);return{cycleSpotlightAnnotationIds:c,emphasizedAnnotationIds:d??c??s,hoverRestoredAnnotationIds:l,inactiveEmphasisOpacity:d||c?.2:.5,statusSpotlightAnnotationIds:d}}function Yy({activeText:e,activeTextSendHintId:t,annotationNumberById:n,badgeHoveredAnnotationId:r,canvasRef:o,focusedThreadAnnotationId:i,hoveredElement:a,hoveredElementInfo:s,hoveredTextId:l,showHoverElementIdentifier:d,layoutReady:c,layoutRevision:p,pageAnnotations:u,parentPinnedAnnotationIds:h,pendingLinkedText:m,scroll:g,supersededAnnotations:x,textSafeBounds:S}){let L=J(new Map);return Ee(()=>{let H=new Set,w=new Map,D=new Map,_=new Map,E=()=>({hiddenCollidingAnnotationIds:H,nestedCollidingAnnotationCountById:w,nestedCollidingAnnotationIdsById:D,visibleCollisionRepresentativeByAnnotationId:_});if(!c)return E();let V=o.current?.getContext("2d");if(!V)return E();let O=(R,A,Q,ne,ee)=>{V.font=`${ne}px ${Ln}`;let de=(Q||"Type here...").replace(/\n/g," "),B=ee!==void 0?`${ee}. ${de}`:de,he={x:A.x-g.x,y:A.y-g.y},ge=h.has(R)?zs:0,te=Math.max(60,$s(he.x)-ge),ve=du(V,B,te),Oe=V.measureText(ve).width,xe=cu(he,ne,S,ge+Oe+16);return{left:xe.x-8,top:xe.y-4,right:xe.x+ge+Oe+8,bottom:xe.y+ne*lr+4}},Y=new Set,q=u.flatMap(R=>{if(R.type!=="text"||!R.text||!R.points[0]||!R.linkedSelector||x.has(R))return[];let A=R.elements?.[0]?.selector,Q=L.current.get(R.id),ne=Q?.selector===R.linkedSelector&&Q.fallbackSelector===A&&Q.element.isConnected,ee=ne?Q.element:sn(R.linkedSelector,R.elements);if(!ee)return[];let de=ne?Q.depth:dm(ee);return L.current.set(R.id,{selector:R.linkedSelector,fallbackSelector:A,element:ee,depth:de}),Y.add(R.id),[{id:R.id,annotation:R,element:ee,bounds:O(R.id,R.points[0],R.text,R.fontSize||12,n.get(R.id)),depth:de}]});for(let R of L.current.keys())Y.has(R)||L.current.delete(R);if(q.length===0)return E();let oe=q.map((R,A)=>A),I=R=>{let A=R;for(;oe[A]!==A;)A=oe[A];for(;oe[R]!==R;){let Q=oe[R];oe[R]=A,R=Q}return A},G=(R,A)=>{let Q=I(R),ne=I(A);Q!==ne&&(oe[ne]=Q)};for(let R=0;R<q.length;R+=1)for(let A=R+1;A<q.length;A+=1){let Q=q[R],ne=q[A];Es(Q.element,ne.element)&&Ts(Q.bounds,ne.bounds)&&G(R,A)}let N=new Map;q.forEach((R,A)=>{let Q=I(A),ne=N.get(Q)??[];ne.push(R),N.set(Q,ne)});for(let R of N.values())for(let A of R){let Q=new Set,ne=R.flatMap(ee=>ee.id===A.id||ee.element===A.element||!A.element.contains(ee.element)||Q.has(ee.element)?[]:(Q.add(ee.element),[ee.id]));ne.length>0&&(w.set(A.id,ne.length),D.set(A.id,ne))}let z=e?.linkedSelector?{id:e.id,element:sn(e.linkedSelector,e.elements),bounds:O(e.id,e.point,e.text,e.fontSize,n.get(e.id))}:m?.linkedSelector?{id:t,element:sn(m.linkedSelector,m.elements),bounds:O(t,m.point,"",12)}:null,M=null;if(a&&d){let R=In(a),A=22,Q=R.height>=window.innerHeight,ne=Q?R.top+8:R.top>=A+Bi?R.top-A-Bi:R.bottom+Bi,ee=Q?R.left+8:R.left,de=s?cm(s):a.tagName.toLowerCase();V.font=`12px ${Ln}`;let B=Math.min(400,V.measureText(de).width+16);M={left:ee,top:ne,right:ee+B,bottom:ne+A}}let j=(R,A)=>{R.forEach(Q=>{Q.id!==A&&H.add(Q.id),A&&_.set(Q.id,A)})};for(let R of N.values()){if(z?.element&&R.some(ee=>Es(z.element,ee.element)&&Ts(z.bounds,ee.bounds))){let ee=new Set,de=R.flatMap(B=>B.element===z.element||!z.element.contains(B.element)||ee.has(B.element)?[]:(ee.add(B.element),[B.id]));de.length>0&&(w.set(z.id,de.length),D.set(z.id,de)),j(R,R.find(B=>B.id===z.id)?.id);continue}let A=[l,r].find(ee=>ee&&R.some(de=>de.id===ee)),Q=R.find(ee=>ee.id===A);if(Q){j(R,Q.id);continue}if(a){let ee=R.find(de=>de.element===a);if(ee){j(R,ee.id);continue}if(M&&R.some(de=>!um(de.annotation)&&!pm(de.annotation)&&de.annotation.status!=="awaiting_review"&&Es(a,de.element)&&Ts(M,de.bounds))){j(R);continue}}let ne=[i].find(ee=>ee&&R.some(de=>de.id===ee));if(ne){j(R,ne);continue}if(R.length>1){let ee=R.reduce((de,B)=>B.depth<de.depth||B.depth===de.depth&&(B.bounds.top<de.bounds.top||B.bounds.top===de.bounds.top&&B.annotation.timestamp<de.annotation.timestamp)?B:de);j(R,ee.id)}}return E()},[e,t,n,r,o,i,a,s,l,d,c,u,h,m,g.x,g.y,x,S,p])}function Gu(e){if(!e.isConnected||!fl(e.ownerDocument))return!1;let t=ku(In(e),e.ownerDocument);if(t.width<=0||t.height<=0||e.getClientRects().length===0)return!1;let n=e;for(;n;){let r=window.getComputedStyle(n);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||Number.parseFloat(r.opacity||"1")<=0)return!1;n=Cu(n)}return!0}function Xy(e){if(!e)return null;try{return Js(e)}catch{return null}}function Qu(e,t){if(e?.isConnected){let r=e;for(;r&&r!==document.documentElement;){if(Gu(r))return{element:r,parentPinned:r!==e};r=Cu(r)}}let n=Xy(t);return n&&Gu(n)?{element:n,parentPinned:!0}:null}function Qs(e,t,n){return Qu(e,n)?.element===t}function Zu(e,t){let n=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(t):t.replace(/["\\]/g,"\\$&");return`[${e}="${n}"]`}function Vy(e){let t=e.elements?.[0],n=t?.sourceElement?.dataAttributes,r=n?.["data-popmelt-media-id"]??n?.["data-popmelt-see-id"]??t?.dataAttributes?.["data-popmelt-media-id"]??t?.dataAttributes?.["data-popmelt-see-id"];if(r&&!e.linkedSelector?.startsWith("@frame(")&&!t?.selector.startsWith("@frame(")){let o=Js(Zu("data-popmelt-media-id",r));if(o)return o;let i=Js(Zu("data-popmelt-see-id",r));if(i)return i}return Eu(e.linkedSelector,t)}var Gy='#devtools-toolbar, #devtools-canvas, #devtools-scrim, [data-popmelt-panel], [data-devtools="panel"], [data-devtools="panel-wrapper"], [data-devtools="annotation-badge-layer"], [data-popmelt-subject-projection]';function Qy(e,t){return e.size===t.size&&[...e].every(n=>t.has(n))}function Zy({annotations:e,currentPathname:t,dispatch:n,stateRef:r,styleModifications:o,subjectRegistry:i,toolbarRef:a,onTargetResolutionChange:s}){let l=Pr(Ki),[d,c]=P(()=>new Set),p=Ee(()=>e.filter(h=>h.linkedSelector&&(!h.pathname||h.pathname===t)).map(h=>[h.id,h.linkedSelector,h.text,h.fontSize,h.timestamp,JSON.stringify([h.elements?.[0]?.selector,h.elements?.[0]?.context,h.elements?.[0]?.targetFingerprint,h.elements?.[0]?.dataAttributes,h.elements?.[0]?.sourceElement?.dataAttributes])].join(":")).join("|"),[e,t]),u=Ee(()=>o.filter(h=>!h.pathname||h.pathname===t).map(h=>h.selector).sort().join("|"),[t,o]);return F(()=>{if(!l)return;if(!p){c(M=>M.size===0?M:new Set);return}let h=null,m=!1,g=document.createElement("canvas").getContext("2d"),x=null,S=new Map,L=new Map,H=new Map,w=sm(r.current.annotations.flatMap(M=>[M.linkedSelector,M.elements?.[0]?.selector].filter(j=>!!j))),D=()=>{if(x)return x;let M=r.current.annotations.filter(R=>R.linkedSelector&&(!R.pathname||R.pathname===t)),j=new Map;return x=M.flatMap(R=>{L.has(R.id)||L.set(R.id,Vy(R));let A=L.get(R.id);j.set(R.id,A);let Q=Qu(A,R.elements?.[0]?.context);return Q?[{annotation:R,spatialAnchor:Q}]:[]}),(j.size!==H.size||[...j].some(([R,A])=>H.get(R)!==A))&&(H=j,s?.()),x},_=()=>{x=null,S.clear()},E=()=>{let M=r.current.styleModifications.filter(he=>!he.pathname||he.pathname===t),j=[],R=D(),A=new Map(r.current.annotations.map(he=>[he.id,he])),Q=new Set(R.filter(({spatialAnchor:he})=>he.parentPinned).map(({annotation:he})=>he.id));c(he=>Qy(he,Q)?he:Q);let ne=new Map,ee=new Map,de=new Map;for(let{annotation:he,spatialAnchor:ge}of R){let te=de.get(ge.element)??[];te.push(he),de.set(ge.element,te)}let B=new Map;for(let he of de.values()){he.sort((Oe,xe)=>Oe.timestamp-xe.timestamp);let ge=0,te,ve=0;for(let Oe of he)Oe.timestamp!==te&&(te=Oe.timestamp,ve=ge),B.set(Oe.id,ve),ge+=1}for(let{annotation:he,spatialAnchor:ge}of R){let te=ge.element,ve=ne.get(te);ve||(ve=In(te),ne.set(te,ve));let Oe=ee.get(te);Oe===void 0&&(Oe=M.some(je=>{if(je.captured)return!1;try{return Xi(te,je.selector)}catch{return!1}}),ee.set(te,Oe));let xe=B.get(he.id)??0,Xe=(Oe?1:0)+xe,K=S.get(he.id);if(K===void 0&&he.text&&g){let je=he.fontSize||12;g.font=`${je}px ${Ln}`,K=Math.max(...he.text.split(`
|
|
10
|
+
`).map(ce=>g.measureText(ce).width))+(ge.parentPinned?zs:0),S.set(he.id,K)}let Ke=ve.top>=22*(1+Xe)+Bi?"top-left":"bottom-left",me=te===document.body&&Ac(he)?Hc(ve):Oc(ve,Ke,Xe,a?.current,K),Ne=A.get(he.id),Ve=Ne?.points[0],Te=Ke!==Ne?.linkedAnchor;Ve&&(Te||Math.abs(me.x-Ve.x)>1||Math.abs(me.y-Ve.y)>1)&&j.push({id:he.id,point:me,linkedAnchor:Te?Ke:void 0})}j.length>0&&n({type:"UPDATE_LINKED_POSITIONS",payload:{updates:j}})},V=()=>{m||h!==null||(h=requestAnimationFrame(()=>{h=null,E()}))};E();let O=()=>{_(),V()},Y=ru(E);window.addEventListener("resize",O,!0),window.addEventListener("load",O),document.addEventListener("transitionend",O,!0),document.addEventListener("animationend",O,!0),document.fonts.ready.then(O);let q=i?.subscribeFrame(E),oe=new Set,I=()=>{for(let M of Pg())!(M instanceof ShadowRoot)||oe.has(M)||(oe.add(M),G.observe(M,N))},G=new MutationObserver(M=>{let j=M.filter(R=>{let A=R.target,Q=A instanceof Element?A:A.parentElement;return!Q||!Ma(Q,Gy)});j.some(R=>R.addedNodes.length)&&I(),j.some(w.changesIdentity)&&L.clear(),j.length&&O()}),N={attributes:!0,childList:!0,characterData:!0,subtree:!0,attributeFilter:w.attributes};G.observe(document.body,N),I();let z=p.includes("@frame(")?ou(()=>{L.clear(),_(),E()}):void 0;return()=>{m=!0,z?.(),Y(),window.removeEventListener("resize",O,!0),window.removeEventListener("load",O),document.removeEventListener("transitionend",O,!0),document.removeEventListener("animationend",O,!0),G.disconnect(),q?.(),h&&cancelAnimationFrame(h)}},[l,t,n,p,u,r,i,a,s]),d}function ev(){let e=J({shift:!1,cmd:!1});return F(()=>{let t=o=>{o.key==="Shift"&&(e.current.shift=!0),(o.key==="Meta"||o.key==="Control")&&(e.current.cmd=!0)},n=o=>{o.key==="Shift"&&(e.current.shift=!1),(o.key==="Meta"||o.key==="Control")&&(e.current.cmd=!1)},r=()=>{e.current={shift:!1,cmd:!1}};return window.addEventListener("keydown",t,!0),window.addEventListener("keyup",n,!0),window.addEventListener("blur",r),()=>{window.removeEventListener("keydown",t,!0),window.removeEventListener("keyup",n,!0),window.removeEventListener("blur",r)}},[]),e}function tv({annotations:e,annotationIds:t,badgeHoveredAnnotationId:n,hoveredTextId:r}){let o=Ee(()=>{let d=new Map;for(let c of e){if(!t.has(c.id))continue;let p=lg(c.elements);p&&d.set(c.id,p)}return d},[e,t]),i=[n,r].find(d=>d&&o.has(d))??null,[a,s]=P(null);F(()=>{if(s(null),!i)return;let d=window.setTimeout(()=>{s(i)},500);return()=>window.clearTimeout(d)},[i]);let l=U(async d=>{let c=await sg(d.linkedSelector,d.elements);if(!c)return;let p=In(c);(p.bottom<0||p.top>window.innerHeight)&&c.scrollIntoView({behavior:"smooth",block:"center"})},[]);return{locationLabels:o,tooltipAnnotationId:a,revealAnnotation:l}}function nv({activeText:e,activeTextAnchorId:t,hoveredElement:n,hoveredTextId:r,pendingTextAnnotations:o}){let[i,a]=P(null);return F(()=>{if(e&&!e.domEdit&&e.text.trim()){a(t);return}a(s=>s&&o.some(l=>l.id===s)?s:o[0]?.id??null)},[e,t,o]),F(()=>{if(!r)return;let s=o.find(l=>l.id===r);s&&a(s.id)},[r,o]),F(()=>{if(!n)return;let s=o.find(l=>{if(!l.linkedSelector)return!1;try{return Xi(n,l.linkedSelector)}catch{return!1}});s&&a(s.id)},[n,o]),{sendHintAnchorId:i,setSendHintAnchorId:a}}var rv=86,ov=36,iv=2;function av({nestedAnnotationCount:e,interactionEpisodeStepCount:t,reserveSendHint:n,imageCount:r=0}){let o=+(r>0)+ +(t>0)+ +(e>0)+Number(n);return o===0?0:Mc(r)+(r>0?4:0)+(e>0?ov:0)+Zc(t)+(n?rv:0)+Math.max(0,o-1)*iv}function lv({rawLeft:e,width:t,top:n,scroll:r,collisionId:o,nestedAnnotationCount:i,nestedAnnotationIds:a,nestedBadgeColor:s,interactionEpisodeStepCount:l,imageCount:d=0,color:c="#f50",showSendHint:p,bundleCount:u,onHoverNestedAnnotations:h,onHoverSendHint:m,onClearInteractionEpisode:g,onSend:x}){return i===0&&l===0&&d===0&&!p?null:f(Bm,{"data-popmelt-active-annotation-surface":"true",left:e+t+r.x+2-au,top:n+r.y-au,scrollX:r.x,scrollY:r.y,onContextMenu:S=>{S.preventDefault(),S.stopPropagation()},style:{pointerEvents:"auto",zIndex:10002},children:$("div",{style:{display:"flex",alignItems:"center",gap:2},children:[f(iu,{stepCount:l,onClear:g}),i>0&&o&&f(Um,{count:i,color:s,onHoverChange:S=>h(o,S?a:null)}),$("div",{style:{display:"flex",alignItems:"center",isolation:"isolate",marginLeft:d>0?4:0},children:[f(ym,{imageCount:d,color:c}),p&&f(qm,{layered:d>0,bundleCount:Math.max(1,u),onHoverChange:m,onSend:x})]})]})})}function sv({value:e,fontSize:t,prefix:n,inputRef:r,inputStyle:o,selectionBackground:i,selectionColor:a,annotationBorderRadius:s,activeColor:l,boundaryRects:d,viewportClip:c,wrapsDomText:p,showEditor:u,rawLeft:h,top:m,baselineOffset:g,onChange:x,onKeyDown:S,onPaste:L,onBlur:H}){let w=d!==void 0;return $("div",{"data-devtools":"text-editor-layer",style:c?{position:"fixed",inset:0,pointerEvents:"none",zIndex:10002,clipPath:`inset(${c.top}px ${Math.max(0,window.innerWidth-c.left-c.width)}px ${Math.max(0,window.innerHeight-c.top-c.height)}px ${c.left}px)`}:{display:"contents"},children:[f("style",{children:`
|
|
11
|
+
#devtools-text-input::placeholder { color: rgba(255, 255, 255, 0.5); }
|
|
12
|
+
#devtools-text-input::selection {
|
|
13
|
+
background: ${i};
|
|
14
|
+
color: ${a};
|
|
15
|
+
}
|
|
16
|
+
@keyframes popmeltAnnotationFieldEnter {
|
|
17
|
+
from { border-radius: 8px; }
|
|
18
|
+
to { border-radius: ${s}; }
|
|
19
|
+
}
|
|
20
|
+
@media (prefers-reduced-motion: reduce) {
|
|
21
|
+
#devtools-text-input { animation: none !important; }
|
|
22
|
+
}
|
|
23
|
+
`}),d?.map((D,_)=>f("div",{"data-devtools":"text-edit-active-boundary",style:{position:"fixed",left:D.left,top:D.top,width:D.width,height:D.height,pointerEvents:"none",zIndex:10002,border:`1px solid ${l}`,backgroundColor:dl(l,.08),boxSizing:"border-box"}},`${D.left}:${D.top}:${_}`)),u&&f("textarea",{id:"devtools-text-input","data-popmelt-active-annotation-surface":w?void 0:"true",ref:r,value:e,onChange:x,onKeyDown:S,onPaste:L,onBlur:H,placeholder:"Type here...",wrap:w?p?"soft":"off":void 0,spellCheck:!1,style:{...o,pointerEvents:"auto"}}),u&&!w&&n&&f("span",{"aria-hidden":!0,"data-devtools":"annotation-number",style:{position:"fixed",left:h+8,top:m+4+g,zIndex:10002,pointerEvents:"none",color:"#ffffff",fontFamily:Ln,fontSize:t,lineHeight:`${t*lr}px`,whiteSpace:"pre"},children:n})]})}function dv({anchor:e,insetTopLeft:t=!1,width:n,height:r,value:o,fontSize:i,prefix:a,inputRef:s,inputStyle:l,onChange:d,onKeyDown:c,onPaste:p,onBlur:u,onContextMenu:h}){return $("div",{"data-popmelt-active-annotation-surface":"true",onContextMenu:h,style:{position:"relative",width:n,height:r,flex:`0 0 ${n}px`},children:[f("textarea",{id:"devtools-text-input","data-popmelt-active-annotation-surface":"true",ref:s,value:o,onChange:d,onKeyDown:c,onPaste:p,onBlur:u,onClick:m=>m.stopPropagation(),placeholder:"Type here...",spellCheck:!1,style:{...l,position:"relative",left:0,top:0,zIndex:0,paddingTop:4,paddingBottom:4,borderRadius:t?Ea("bottom-left"):Ea(e),animation:void 0}}),a&&f("span",{"aria-hidden":!0,"data-devtools":"annotation-number",style:{position:"absolute",left:8,top:4,zIndex:1,pointerEvents:"none",color:"#ffffff",fontFamily:Ln,fontSize:i,fontWeight:600,lineHeight:`${i*lr}px`,whiteSpace:"pre"},children:a})]})}function cv(e,t,n){let r={x:n.left+n.width*t.x,y:n.top+n.height*t.y},o=e.left+e.width,i=e.top+e.height,a=r.x>=e.left&&r.x<=o&&r.y>=e.top&&r.y<=i,s={x:Math.max(e.left,Math.min(o,r.x)),y:Math.max(e.top,Math.min(i,r.y))};return{annotation:s,subject:r,visible:!a&&Math.hypot(r.x-s.x,r.y-s.y)>=2}}function uv({element:e,annotationRect:t,subjectAnchor:n,color:r,subjectRegistry:o}){let i=J(null);return F(()=>{let a=i.current;if(!a)return;let s=a.querySelector("line"),l=a.querySelector("circle");if(!s||!l)return;let d=()=>{let u=cv(t,n,In(e));a.style.display=u.visible?"":"none",s.setAttribute("x1",String(u.annotation.x)),s.setAttribute("y1",String(u.annotation.y)),s.setAttribute("x2",String(u.subject.x)),s.setAttribute("y2",String(u.subject.y)),l.setAttribute("cx",String(u.subject.x)),l.setAttribute("cy",String(u.subject.y))};d();let c=o?.subscribeFrame(d),p=o?null:new MutationObserver(d);return p?.observe(e,{attributes:!0,attributeFilter:["style"]}),window.addEventListener("resize",d),()=>{c?.(),p?.disconnect(),window.removeEventListener("resize",d)}},[t,e,n,o]),f("svg",{"data-popmelt-subject-draft-connector":"","aria-hidden":!0,style:{position:"fixed",inset:0,width:"100dvw",height:"100dvh",zIndex:10001,pointerEvents:"none",overflow:"visible"},children:$("g",{ref:i,children:[f("line",{stroke:r,strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("circle",{"data-popmelt-subject-draft-point":"",r:"3",fill:r,stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]})})}var ep=160;function pv({color:e,cursorRef:t,tool:n,onHandoff:r,onDone:o}){let i=J(null),a=J(r);a.current=r,Ct(()=>{let l=i.current;if(!l)return;let d=(u,h)=>{l.style.left=`${u-4}px`,l.style.top=`${h-4}px`},c=t.current;c&&d(c.x,c.y);let p=u=>d(u.clientX,u.clientY);return window.addEventListener("pointermove",p,{capture:!0}),()=>window.removeEventListener("pointermove",p,{capture:!0})},[t]),F(()=>{let l=window.setTimeout(()=>a.current(),ep*.75);return()=>window.clearTimeout(l)},[]);let s=n==="inspector";return $("div",{ref:i,"data-devtools":"cursor-switch-pulse",onAnimationEnd:o,style:{position:"fixed",left:-100,top:-100,zIndex:2147483647,width:24,height:24,pointerEvents:"none",transformOrigin:"0 0",animation:`popmeltCursorSwitchPulse ${ep}ms ease-in-out both`,filter:`drop-shadow(0 .5px .35px rgba(0,0,0,.22)) drop-shadow(0 .75px .65px ${dl(e,.42)}) drop-shadow(0 1.25px 1.1px ${dl(e,.24)})`},children:[f("svg",{width:"24",height:"24",viewBox:"-3 -3 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{overflow:"visible"},children:s?f("path",{transform:"scale(1.125)",d:"M1 8V2C1 1.44772 1.44772 1 2 1H8C11.866 1 15 4.13401 15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8Z",fill:e,stroke:"white",strokeWidth:"1.111"}):f("path",{d:"M5.19194 14.2778L0.732307 2.01384C0.442115 1.21582 1.21582 0.442116 2.01384 0.732307L14.2778 5.19194C15.7506 5.72748 15.5191 7.87826 13.9661 8.08812L10.298 8.58381C9.40594 8.70436 8.70436 9.40594 8.58381 10.298L8.08812 13.9661C7.87826 15.5191 5.72748 15.7506 5.19194 14.2778Z",fill:e,stroke:"white",strokeWidth:"1.25"})}),f("style",{children:`
|
|
24
|
+
@keyframes popmeltCursorSwitchPulse {
|
|
25
|
+
0%, 100% { transform: scale(1); }
|
|
26
|
+
50% { transform: scale(1.5); }
|
|
27
|
+
0%, 75% { opacity: 1; }
|
|
28
|
+
100% { opacity: 0; }
|
|
29
|
+
}
|
|
30
|
+
`})]})}function Il(e,t){let n=({x:r,y:o})=>{let i=Ws({left:r,top:o,width:0,height:0},t);return{x:i.left,y:i.top}};return{topLeft:n(e.topLeft),topRight:n(e.topRight),bottomRight:n(e.bottomRight),bottomLeft:n(e.bottomLeft)}}var kl=28,tp=12,fv=8,np=["transition","transform","translate","rotate","scale"];function xi(e){let[t]=e.getBoxQuads?.({box:"border"})??[];if(t)return{topLeft:{x:t.p1.x,y:t.p1.y},topRight:{x:t.p2.x,y:t.p2.y},bottomRight:{x:t.p3.x,y:t.p3.y},bottomLeft:{x:t.p4.x,y:t.p4.y}};let n=e.getBoundingClientRect();return{topLeft:{x:n.left,y:n.top},topRight:{x:n.right,y:n.top},bottomRight:{x:n.right,y:n.bottom},bottomLeft:{x:n.left,y:n.bottom}}}var El={a:1,b:0,c:0,d:1,e:0,f:0};function Fo(e,t){return{a:e.a*t.a+e.c*t.b,b:e.b*t.a+e.d*t.b,c:e.a*t.c+e.c*t.d,d:e.b*t.c+e.d*t.d,e:e.a*t.e+e.c*t.f+e.e,f:e.b*t.e+e.d*t.f+e.f}}function Zs(e,t){return{...El,e,f:t}}function rp(e){let t=e*Math.PI/180,n=Math.cos(t),r=Math.sin(t);return{a:n,b:r,c:-r,d:n,e:0,f:0}}function op(e,t){return{a:e,b:0,c:0,d:t,e:0,f:0}}function Tl(e,t){if(!e)return 0;let n=Number.parseFloat(e);return Number.isFinite(n)?e.endsWith("%")?n/100*t:n:0}function Cl(e){if(!e)return 1;let t=Number.parseFloat(e);return Number.isFinite(t)?e.endsWith("%")?t/100:t:1}function ip(e){if(!e||e==="none")return El;let t=e.match(/^matrix\(([^)]+)\)$/);if(t){let r=t[1].split(",").map(Number);if(r.length===6&&r.every(Number.isFinite)){let[o,i,a,s,l,d]=r;return{a:o,b:i,c:a,d:s,e:l,f:d}}}let n=e.match(/^matrix3d\(([^)]+)\)$/);if(n){let r=n[1].split(",").map(Number);if(r.length===16&&r.every(Number.isFinite))return{a:r[0],b:r[1],c:r[4],d:r[5],e:r[12],f:r[13]}}return El}function ed(e,t){return{x:e.a*t.x+e.c*t.y+e.e,y:e.b*t.x+e.d*t.y+e.f}}function hv(e){let t=getComputedStyle(e),n=t.rotate.trim().split(/\s+/).at(-1)??"0",r=rp(Number.parseFloat(n)||0),[o="1",i=o]=t.scale.trim().split(/\s+/),a=op(Cl(o),Cl(i)),s=ip(t.transform);return{...Fo(r,Fo(a,s)),e:0,f:0}}function mv(e){let t=El,n=e.parentElement;for(;n;)jr(n)&&(t=Fo(hv(n),t)),n=n.parentElement;return t}function gv(e,t,n){let r=(o,i)=>({x:e.x+(t.x*o+n.x*i)/2,y:e.y+(t.y*o+n.y*i)/2});return{topLeft:r(-1,-1),topRight:r(1,-1),bottomRight:r(1,1),bottomLeft:r(-1,1)}}function yv(e,t){let{width:n,height:r}=lp(e,t);if(n<=0||r<=0)return t;let o=mv(e),i=ed(o,{x:n,y:0}),a=ed(o,{x:0,y:r}),s=Ha(t);return gv(s,i,a)}function Qi(e,t){let[n]=e.getBoxQuads?.({box:"border"})??[];if(n)return xi(e);let r=getComputedStyle(e),{width:o,height:i}=lp(e,t);if(o<=0||i<=0)return xi(e);let[a="0",s="0"]=r.translate.trim().split(/\s+/),l=Zs(Tl(a,o),Tl(s,i)),d=r.rotate.trim().split(/\s+/).at(-1)??"0",c=rp(Number.parseFloat(d)||0),[p="1",u=p]=r.scale.trim().split(/\s+/),h=op(Cl(p),Cl(u)),m=ip(r.transform),[g="50%",x="50%"]=r.transformOrigin.trim().split(/\s+/),S={x:Tl(g,o),y:Tl(x,i)},L=Fo(Zs(S.x,S.y),Fo(c,Fo(h,Fo(m,Zs(-S.x,-S.y))))),H=Fo(l,L),w={x:(t.topRight.x-t.topLeft.x)/o,y:(t.topRight.y-t.topLeft.y)/o},D={x:(t.bottomLeft.x-t.topLeft.x)/i,y:(t.bottomLeft.y-t.topLeft.y)/i},_=E=>{let V=ed(H,E);return{x:t.topLeft.x+w.x*V.x+D.x*V.y,y:t.topLeft.y+w.y*V.x+D.y*V.y}};return{topLeft:_({x:0,y:0}),topRight:_({x:o,y:0}),bottomRight:_({x:o,y:i}),bottomLeft:_({x:0,y:i})}}function Da(e){let t=np.map(n=>({property:n,value:e.style.getPropertyValue(n),priority:e.style.getPropertyPriority(n)}));try{e.style.setProperty("transition","none","important");for(let o of np)o!=="transition"&&e.style.setProperty(o,"none","important");let[n]=e.getBoxQuads?.({box:"border"})??[],r=xi(e);return n?r:yv(e,r)}finally{for(let{property:r,value:o,priority:i}of t.filter(({property:a})=>a!=="transition"))o?e.style.setProperty(r,o,i):e.style.removeProperty(r);let n=t.find(({property:r})=>r==="transition");n&&(n.value?e.style.setProperty(n.property,n.value,n.priority):e.style.removeProperty(n.property))}}function vv(e,t,n=1){return["topLeft","topRight","bottomRight","bottomLeft"].some(r=>Math.hypot(e[r].x-t[r].x,e[r].y-t[r].y)>n)}function Al(e,t,n){let[r="0",o=r]=e.trim().split(/\s+/),i=(a,s)=>{let l=Number.parseFloat(a);return Number.isFinite(l)?a.endsWith("%")?l/100*s:l:0};return{x:i(r,t),y:i(o,n)}}function ap(e,t){let n=getComputedStyle(e),r=(Math.hypot(t.topRight.x-t.topLeft.x,t.topRight.y-t.topLeft.y)+Math.hypot(t.bottomRight.x-t.bottomLeft.x,t.bottomRight.y-t.bottomLeft.y))/2,o=(Math.hypot(t.bottomLeft.x-t.topLeft.x,t.bottomLeft.y-t.topLeft.y)+Math.hypot(t.bottomRight.x-t.topRight.x,t.bottomRight.y-t.topRight.y))/2;return{topLeft:Al(n.borderTopLeftRadius,r,o),topRight:Al(n.borderTopRightRadius,r,o),bottomRight:Al(n.borderBottomRightRadius,r,o),bottomLeft:Al(n.borderBottomLeftRadius,r,o)}}function td(e){return{width:(Math.hypot(e.topRight.x-e.topLeft.x,e.topRight.y-e.topLeft.y)+Math.hypot(e.bottomRight.x-e.bottomLeft.x,e.bottomRight.y-e.bottomLeft.y))/2,height:(Math.hypot(e.bottomLeft.x-e.topLeft.x,e.bottomLeft.y-e.topLeft.y)+Math.hypot(e.bottomRight.x-e.topRight.x,e.bottomRight.y-e.topRight.y))/2}}function lp(e,t){let n=td(t);if(e instanceof HTMLElement)return{width:e.offsetWidth||n.width,height:e.offsetHeight||n.height};let r=getComputedStyle(e),o=Number.parseFloat(r.width),i=Number.parseFloat(r.height);return{width:Number.isFinite(o)&&o>0?o:n.width,height:Number.isFinite(i)&&i>0?i:n.height}}function Ml(e,t,n){let r=td(t),o=td(n),i=r.width>0?o.width/r.width:1,a=r.height>0?o.height/r.height:1;return Object.fromEntries(Object.entries(e).map(([s,l])=>[s,{x:l.x*i,y:l.y*a}]))}function bv(e){let t=e.trim().toLowerCase();if(!t||t==="transparent")return 0;if(t.match(/^#(?:[\da-f]{3}|[\da-f]{4}|[\da-f]{6}|[\da-f]{8})$/))return t.length===5?Number.parseInt(t.at(-1).repeat(2),16)/255:t.length===9?Number.parseInt(t.slice(-2),16)/255:1;let n=t.match(/\/\s*([\d.]+%?)\s*\)$/);if(n){let o=Number.parseFloat(n[1]);return n[1].endsWith("%")?o/100:o}let r=t.match(/^rgba\([^,]+,[^,]+,[^,]+,\s*([\d.]+%?)\s*\)$/);if(r){let o=Number.parseFloat(r[1]);return r[1].endsWith("%")?o/100:o}return 1}function sp(e){let t=getComputedStyle(e);return t.backgroundImage&&t.backgroundImage!=="none"?!1:bv(t.backgroundColor)>=.999}function Zi(e,t,n){let r=t.x-e.x,o=t.y-e.y,i=Math.max(1,Math.hypot(r,o));return{x:e.x+r/i*n,y:e.y+o/i*n}}function dp(e,t){let n=(o,i)=>Math.hypot(i.x-o.x,i.y-o.y),r=[[n(e.topLeft,e.topRight),t.topLeft.x+t.topRight.x],[n(e.topRight,e.bottomRight),t.topRight.y+t.bottomRight.y],[n(e.bottomRight,e.bottomLeft),t.bottomRight.x+t.bottomLeft.x],[n(e.bottomLeft,e.topLeft),t.bottomLeft.y+t.topLeft.y]];return Math.min(1,...r.map(([o,i])=>i>0?o/i:1))}function cp(e){return{topLeft:[e.topLeft.y,e.topLeft.x],topRight:[e.topRight.x,e.topRight.y],bottomRight:[e.bottomRight.y,e.bottomRight.x],bottomLeft:[e.bottomLeft.x,e.bottomLeft.y]}}function up(e,t){let n=["topLeft","topRight","bottomRight","bottomLeft"],r=cp(t),o=dp(e,t),i=1-Math.SQRT1_2;return Object.fromEntries(n.map((a,s)=>{let l=e[a],d=e[n[(s+n.length-1)%n.length]],c=e[n[(s+1)%n.length]],[p,u]=r[a],h=Zi(l,d,p*o*i),m=Zi(l,c,u*o*i);return[a,{x:h.x+m.x-l.x,y:h.y+m.y-l.y}]}))}function nd(e,t){let n=.5522847498,r=["topLeft","topRight","bottomRight","bottomLeft"],o=cp(t),i=dp(e,t),a=r.map((d,c)=>{let p=e[d],u=r[(c+r.length-1)%r.length],h=r[(c+1)%r.length],m=e[u],g=e[h],[x,S]=o[d],L=x*i,H=S*i,w=Zi(p,m,L),D=Zi(p,g,H);return{entry:w,exit:D,entryControl:Zi(w,p,L*n),exitControl:Zi(D,p,H*n)}}),s=a[0],l=[`M ${s.exit.x} ${s.exit.y}`];for(let d=1;d<=a.length;d+=1){let c=a[d%a.length];l.push(`L ${c.entry.x} ${c.entry.y}`),l.push(`C ${c.entryControl.x} ${c.entryControl.y} ${c.exitControl.x} ${c.exitControl.y} ${c.exit.x} ${c.exit.y}`)}return l.push("Z"),l.join(" ")}function Ha(e){return{x:(e.topLeft.x+e.topRight.x+e.bottomRight.x+e.bottomLeft.x)/4,y:(e.topLeft.y+e.topRight.y+e.bottomRight.y+e.bottomLeft.y)/4}}function ea(e,t=kl,n="top"){let[r,o]=n==="top"?[e.topLeft,e.topRight]:n==="right"?[e.topRight,e.bottomRight]:n==="bottom"?[e.bottomRight,e.bottomLeft]:[e.bottomLeft,e.topLeft],i={x:(r.x+o.x)/2,y:(r.y+o.y)/2},a=o.x-r.x,s=o.y-r.y,l=Math.max(1,Math.hypot(a,s));return{edge:i,handle:{x:i.x+s/l*t,y:i.y-a/l*t}}}function pp(e,t){let n=ea(e);return n.handle.y>=t/2?{...n,side:"top"}:{...ea(e,kl,"bottom"),side:"bottom"}}function Rl(e,t,n){let r=n.x-t.x,o=n.y-t.y,i=r*r+o*o;if(i===0)return Math.hypot(e.x-t.x,e.y-t.y);let a=Math.max(0,Math.min(1,((e.x-t.x)*r+(e.y-t.y)*o)/i));return Math.hypot(e.x-(t.x+a*r),e.y-(t.y+a*o))}var xv=["top","right","bottom","left"];function wv(e,t,n){let r=t/2;return e.x>=r&&e.x<=n.width-r&&e.y>=r&&e.y<=n.height-r}function rd(e,t,n,r={}){let o=xv.map(c=>({...ea(e,kl,c),side:c,distance:Rl(t,c==="top"?e.topLeft:c==="right"?e.topRight:c==="bottom"?e.bottomRight:e.bottomLeft,c==="top"?e.topRight:c==="right"?e.bottomRight:c==="bottom"?e.bottomLeft:e.topLeft)})),i=r.viewport?o.filter(({handle:c})=>wv(c,n,r.viewport)):o,a=i.length>0?i:o,s=a.reduce((c,p)=>p.distance<c.distance?p:c),l=r.currentSide?a.find(({side:c})=>c===r.currentSide):void 0,d=l&&l.distance<=s.distance+(r.hysteresis??8)?l:s;return{edge:d.edge,handle:d.handle,side:d.side}}function Sv(e,t,n){let r={x:t,y:n},o=[e.topLeft,e.topRight,e.bottomRight,e.bottomLeft],i=!1,a=!1,s=.001;for(let l=0;l<o.length;l+=1){let d=o[l],c=o[(l+1)%o.length],p=(c.x-d.x)*(r.y-d.y)-(c.y-d.y)*(r.x-d.x);if(p>s&&(i=!0),p<-s&&(a=!0),i&&a)return!1}return!0}function Iv(e,t,n,r){let o={x:t,y:n},i=[e.topLeft,e.topRight,e.bottomRight,e.bottomLeft],a=r/2;if(i.some(l=>Math.hypot(t-l.x,n-l.y)<=a)||[[e.topLeft,e.topRight],[e.topRight,e.bottomRight],[e.bottomRight,e.bottomLeft],[e.bottomLeft,e.topLeft]].some(([l,d])=>Rl(o,l,d)<=tp/2))return!0;let s=rd(e,o,r);return Rl(o,s.edge,s.handle)<=r/2}function kv(e,t,n,r){let o={x:t,y:n},i=rd(e,o,r);return Rl(o,i.edge,i.handle)<=r*1.5}function fp(e){let t=Math.max(1,Math.hypot(e.x,e.y));return{x:e.x/t,y:e.y/t}}function Ev(e,t){let n=Ha(e);return fp({x:e[t].x-n.x,y:e[t].y-n.y})}function Tv(e,t){let n=Ha(e),{handle:r}=ea(e,kl,t),o=fp({x:r.x-n.x,y:r.y-n.y});return{x:-o.y,y:o.x}}function Cv(e,t){if(!t||e.x===0&&e.y===0)return e;let n=Math.PI/4,r=Math.atan2(e.y,e.x),o=Math.round(r/n)*n,i=Math.hypot(e.x,e.y);return{x:Math.cos(o)*i,y:Math.sin(o)*i}}function Av(e,t,n=fv){return Math.hypot(t.x-e.x,t.y-e.y)<=n}function hp(e){if(!e||e==="none")return{x:0,y:0};let[t="0",n="0"]=e.trim().split(/\s+/);return{x:Number.parseFloat(t)||0,y:Number.parseFloat(n)||0}}var mp=Math.SQRT1_2;function gp(e,t){return gi(e,t).filter(n=>typeof n=="number")}function Ll(e,t,n){return gp(e,t).reduce((r,o)=>Math.abs(Number.parseFloat(Ui(e,o,t))-n)<Math.abs(Number.parseFloat(Ui(e,r,t))-n)?o:r)}function io(e,t){let n=gp("transform",e),r=o=>e==="translate"?Number.parseFloat(Ui("transform",o,e)):o;return n.reduce((o,i)=>Math.abs(r(i)-t)<Math.abs(r(o)-t)?i:o)}function Mv(e,t){if(t==="translate")return io(t,hp(e).x);if(t==="scale"){let r=Number.parseFloat(e);return io(t,Number.isFinite(r)?r*100:100)}let n=Number.parseFloat(e);return io(t,Number.isFinite(n)?n:0)}function Rv(e,t){let n=window.getComputedStyle(e).getPropertyValue(t).trim();return Mv(n,t)}function od(e,t){return t?e:e==="left"||e==="right"?"x":"y"}function id(e,t){return t?e:"all"}function ad(e){let t=e==="top-left"||e==="bottom-left"?1:-1,n=e==="top-left"||e==="top-right"?1:-1;return{x:t*mp,y:n*mp}}function Lv(e,t,n){return e*n.x+t*n.y}function yp(e,t){let n=Math.max(1,t);return(e%n+n)%n}function $v(e,t,n){return{cursor:{x:yp(e.cursor.x+t.x,n.width),y:yp(e.cursor.y+t.y,n.height)},deltaX:e.deltaX+t.x,deltaY:e.deltaY+t.y}}function jv(e,t,n,r,o){if(e<o*2||t<o*2)return!1;let i=["top-left","top-right","bottom-right","bottom-left"].map(a=>{let s=ad(a),l=r+n[a],d=a.endsWith("left")?0:e,c=a.startsWith("top")?0:t;return{x:d+s.x*l,y:c+s.y*l}});return i.every((a,s)=>i.slice(s+1).every(l=>Math.hypot(a.x-l.x,a.y-l.y)>=o))}function Pv(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}var ld=["top-left","top-right","bottom-right","bottom-left"],vp=14;function bp({element:e,radius:t,accentColor:n,hoveredCorner:r,draggingCorner:o,cursorViewport:i,onHandlePointerDown:a}){let[s,l]=P(null),d=t["top-left"],c=t["top-right"],p=t["bottom-right"],u=t["bottom-left"];if(F(()=>{if(!e){l(null);return}let w=()=>{l(e.getBoundingClientRect())};return w(),window.addEventListener("scroll",w,{passive:!0}),window.addEventListener("resize",w,{passive:!0}),()=>{window.removeEventListener("scroll",w),window.removeEventListener("resize",w)}},[e]),Ct(()=>{e&&l(e.getBoundingClientRect())},[e,d,c,p,u]),!s)return null;let h=s.width,m=s.height;if(!jv(h,m,t,vp,20))return null;let g=Pv(n,.2),x={"top-left":{x:0,y:0},"top-right":{x:h,y:0},"bottom-right":{x:h,y:m},"bottom-left":{x:0,y:m}},S=Object.fromEntries(ld.map(w=>{let D=ad(w),_=vp+t[w],E=x[w];return[w,{x:E.x+D.x*_,y:E.y+D.y*_}]})),L=o??r,H={position:"fixed",top:s.top,left:s.left,width:h,height:m,pointerEvents:"none",zIndex:a?9999:9996,overflow:"visible"};return $("div",{"data-devtools":"border-radius-handles","data-popmelt-steer-overlay":!0,style:H,children:[$("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${h} ${m}`,children:[f("rect",{x:"0.5",y:"0.5",width:Math.max(0,h-1),height:Math.max(0,m-1),fill:"none",stroke:g,strokeWidth:"1"}),ld.map(w=>{let D=S[w];return f("circle",{cx:D.x,cy:D.y,r:w===L?4:3,fill:n,stroke:"#ffffff",strokeWidth:2},w)}),a&&ld.map(w=>{let D=S[w],_=x[w],E=w==="top-left"||w==="bottom-right"?"nwse-resize":"nesw-resize";return $("g",{children:[f("line",{"data-radius-handle-access":w,x1:_.x,y1:_.y,x2:D.x,y2:D.y,stroke:"transparent",strokeWidth:20,strokeLinecap:"round",style:{pointerEvents:"stroke",cursor:E},onPointerDown:V=>a(w,V)}),f("circle",{cx:D.x,cy:D.y,r:20/2,fill:"transparent",style:{pointerEvents:"all",cursor:E},onPointerDown:V=>a(w,V)})]},`hit-${w}`)})]}),i&&L&&(()=>{let w=Math.round(t[L]);return f("div",{style:{position:"fixed",left:i.x+8,top:i.y-28,background:n,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:w})})()]})}function xp({centerX:e,centerY:t,orientation:n,accentColor:r,...o}){let i=n==="horizontal"?10:6,a=n==="horizontal"?6:10;return f("rect",{...o,"data-direct-manipulation-handle":"",x:e-i/2,y:t-a/2,width:i,height:a,fill:r,stroke:"#ffffff",strokeWidth:2})}function sd(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}function wp({element:e,gap:t,accentColor:n,hoveredAxis:r,draggingAxis:o,cursorViewport:i,isAutoGap:a=!1,refreshKey:s=0,onHandlePointerDown:l}){let[d,c]=P(null),[p,u]=P([]),[h,m]=P(!1);if(F(()=>{let E=Y=>{(Y.key==="Meta"||Y.key==="Control")&&m(!0)},V=Y=>{(Y.key==="Meta"||Y.key==="Control")&&m(!1)},O=()=>m(!1);return window.addEventListener("keydown",E,!0),window.addEventListener("keyup",V,!0),window.addEventListener("blur",O),()=>{window.removeEventListener("keydown",E,!0),window.removeEventListener("keyup",V,!0),window.removeEventListener("blur",O)}},[]),F(()=>{if(!e){c(null),u([]);return}let E=()=>{c(e.getBoundingClientRect()),u(ul(e))};return E(),window.addEventListener("scroll",E,{passive:!0}),window.addEventListener("resize",E,{passive:!0}),()=>{window.removeEventListener("scroll",E),window.removeEventListener("resize",E)}},[e]),Ct(()=>{e&&(c(e.getBoundingClientRect()),u(ul(e)))},[e,t.row,t.column,s]),!d||p.length===0)return null;let g=d.width,x=d.height,S="pm-gap-stripe-pattern",L=sd(n,.25),H=sd(n,.1),w=sd(n,.2),D={position:"fixed",top:d.top,left:d.left,width:g,height:x,pointerEvents:"none",zIndex:l?9999:9996,overflow:"visible"},_=o??r;return $("div",{"data-devtools":"gap-handles","data-popmelt-steer-overlay":!0,style:D,children:[$("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${g} ${x}`,children:[f("defs",{children:f("pattern",{id:S,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:f("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:L,strokeWidth:"1.5"})})}),f("rect",{x:"0.5",y:"0.5",width:Math.max(0,g-1),height:Math.max(0,x-1),fill:"none",stroke:w,strokeWidth:"1"}),p.map((E,V)=>{let O=E.x-d.left,Y=E.y-d.top,q=E.w,oe=E.h,I=h?E.axis===_:!0;return(E.axis==="row"?t.row:t.column)===0?null:$("g",{opacity:I?1:.6,children:[f("rect",{x:O,y:Y,width:q,height:oe,fill:H}),f("rect",{x:O,y:Y,width:q,height:oe,fill:`url(#${S})`})]},V)}),p.map((E,V)=>{let O=E.x-d.left+E.w/2,Y=E.y-d.top+E.h/2;return a?f("circle",{"data-gap-handle":E.axis,cx:O,cy:Y,r:3,fill:n,stroke:"#ffffff",strokeWidth:2},`gap-handle-${V}`):f(xp,{"data-gap-handle":E.axis,centerX:O,centerY:Y,orientation:E.axis==="column"?"vertical":"horizontal",accentColor:n},`gap-handle-${V}`)}),l&&p.map((E,V)=>{let O=E.x-d.left+E.w/2,Y=E.y-d.top+E.h/2,q=Math.max(E.w,20),oe=Math.max(E.h,20);return f("rect",{x:O-q/2,y:Y-oe/2,width:q,height:oe,fill:"transparent",style:{pointerEvents:"all",cursor:E.axis==="row"?"ns-resize":"ew-resize"},onPointerDown:I=>l(E.axis,I)},`gap-hit-${V}`)})]}),i&&_&&(()=>{let E=a?"auto":String(Math.round(_==="row"?t.row:t.column));return f("div",{style:{position:"fixed",left:i.x+8,top:i.y-28,background:n,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:E})})()]})}var zv=new Set(["CANVAS","EMBED","IFRAME","IMG","INPUT","OBJECT","VIDEO"]),Dv=["top","bottom"],Hv=["left","right"];function Ov({isHtmlElement:e,tagName:t,display:n,writingMode:r}){return!e||n!=="inline"||zv.has(t)?[]:r.startsWith("horizontal")?Dv:Hv}function Nv(e,t=window.getComputedStyle(e)){return Ov({isHtmlElement:e instanceof HTMLElement,tagName:e.tagName,display:t.display,writingMode:t.writingMode})}function ta(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}var Fv={top:"bottom",bottom:"top",left:"right",right:"left"},Oa="#808080";function Sp({element:e,padding:t,mode:n="padding",accentColor:r,hoveredSide:o,draggingSide:i,activeSides:a,cursorViewport:s,refreshKey:l,onHandlePointerDown:d}){let[c,p]=P(null),[u,h]=P(!1);if(F(()=>{let te=xe=>{(xe.key==="Alt"||xe.key==="Control")&&h(!0)},ve=xe=>{(xe.key==="Alt"||xe.key==="Control")&&h(!1)},Oe=()=>h(!1);return window.addEventListener("keydown",te,!0),window.addEventListener("keyup",ve,!0),window.addEventListener("blur",Oe),()=>{window.removeEventListener("keydown",te,!0),window.removeEventListener("keyup",ve,!0),window.removeEventListener("blur",Oe)}},[]),F(()=>{if(!e){p(null);return}let te=()=>{p(e.getBoundingClientRect())};return te(),window.addEventListener("scroll",te,{passive:!0}),window.addEventListener("resize",te,{passive:!0}),()=>{window.removeEventListener("scroll",te),window.removeEventListener("resize",te)}},[e]),Ct(()=>{e&&p(e.getBoundingClientRect())},[e,t.top,t.right,t.bottom,t.left,l]),!c)return null;let m=c.width,g=c.height,{top:x,right:S,bottom:L,left:H}=t,w=Math.max(0,x),D=Math.max(0,S),_=Math.max(0,L),E=Math.max(0,H),V=n==="margin",O=V?m+E+D:m,Y=V?g+w+_:g,q=V?E:0,oe=V?w:0,I=V?"pm-dot-pattern":"pm-stripe-pattern",G=ta(r,.25),N=ta(r,.1),z=ta(r,.2),M=ta(Oa,.55),j=ta(Oa,.18),R=ta(Oa,.9),A=new Set(V?[]:Nv(e)),Q=A.size>0,ne="pm-neutral-stripe-pattern",ee={position:"fixed",top:c.top-(V?w:0),left:c.left-(V?E:0),width:O,height:Y,pointerEvents:"none",zIndex:d?9999:9996,overflow:"visible"},de=["top","right","bottom","left"],B={top:`0,0 ${O},0 ${O-D},${w} ${E},${w}`,right:`${O},0 ${O},${Y} ${O-D},${Y-_} ${O-D},${w}`,bottom:`0,${Y} ${E},${Y-_} ${O-D},${Y-_} ${O},${Y}`,left:`0,0 ${E},${w} ${E},${Y-_} 0,${Y}`},he={top:{x:O/2,y:w/2,orientation:"horizontal"},bottom:{x:O/2,y:Y-_/2,orientation:"horizontal"},left:{x:E/2,y:Y/2,orientation:"vertical"},right:{x:O-D/2,y:Y/2,orientation:"vertical"}},ge=new Set(a);return i?ge.add(i):o&&(ge.add(o),u||ge.add(Fv[o])),$("div",{"data-devtools":"padding-handles","data-popmelt-steer-overlay":!0,style:ee,children:[$("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${O} ${Y}`,children:[$("defs",{children:[V?f("pattern",{id:I,patternUnits:"userSpaceOnUse",width:"4",height:"4",children:f("circle",{cx:"1",cy:"1",r:"0.65",fill:G})}):f("pattern",{id:I,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:f("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:G,strokeWidth:"1.5"})}),Q&&f("pattern",{id:ne,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:f("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:M,strokeWidth:"1.5"})})]}),f("rect",{x:q+.5,y:oe+.5,width:Math.max(0,m-1),height:Math.max(0,g-1),fill:"none",stroke:z,strokeWidth:"1"}),de.map(te=>{if(t[te]<=0)return null;let ve=ge.has(te),Oe=A.has(te);return $("g",{"data-padding-flow":Oe?"paint-only":"layout",opacity:ve?1:.6,children:[f("polygon",{points:B[te],fill:Oe?j:N}),f("polygon",{points:B[te],fill:`url(#${Oe?ne:I})`})]},te)}),A.has("top")&&w>0&&f("line",{x1:E,y1:w,x2:O-D,y2:w,stroke:R,strokeWidth:"1"}),A.has("bottom")&&_>0&&f("line",{x1:E,y1:Y-_,x2:O-D,y2:Y-_,stroke:R,strokeWidth:"1"}),A.has("left")&&E>0&&f("line",{x1:E,y1:w,x2:E,y2:Y-_,stroke:R,strokeWidth:"1"}),A.has("right")&&D>0&&f("line",{x1:O-D,y1:w,x2:O-D,y2:Y-_,stroke:R,strokeWidth:"1"}),de.map(te=>{let ve=he[te];return f(xp,{centerX:ve.x,centerY:ve.y,orientation:ve.orientation,accentColor:A.has(te)?Oa:r,"data-padding-flow":A.has(te)?"paint-only":"layout"},`handle-${te}`)}),d&&de.map(te=>{let ve=he[te],Oe=20;return f("rect",{x:ve.x-Oe/2,y:ve.y-Oe/2,width:Oe,height:Oe,fill:"transparent",style:{pointerEvents:"all",cursor:"grab"},onPointerDown:xe=>d(te,xe)},`hit-${te}`)})]}),s&&(o||i)&&(()=>{let te=i??o,ve=Math.round(t[te]),Oe=A.has(te);return $("div",{style:{position:"fixed",left:s.x+8,top:s.y-28,background:Oe?Oa:r,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:[ve,Oe?" \xB7 paint only":""]})})()]})}var dd=["flex-start","center","flex-end"],cd=["flex-start","center","flex-end"];function _v(e){return e==="normal"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function Wv(e){return e==="normal"||e==="stretch"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function Ip(e){let t=Array.from(e.children);if(t.length===0)return null;let n=1/0,r=1/0,o=-1/0,i=-1/0;for(let a of t){let s=a.getBoundingClientRect();s.width===0&&s.height===0||(s.top<n&&(n=s.top),s.left<r&&(r=s.left),s.bottom>o&&(o=s.bottom),s.right>i&&(i=s.right))}return n===1/0?null:new DOMRect(r,n,i-r,o-n)}function Jv({element:e,modifier:t,accentColor:n,refreshKey:r=0}){let[o,i]=P(null);if(F(()=>{if(!e){i(null);return}let g=()=>i(Ip(e));return g(),window.addEventListener("scroll",g,{passive:!0}),window.addEventListener("resize",g,{passive:!0}),()=>{window.removeEventListener("scroll",g),window.removeEventListener("resize",g)}},[e]),Ct(()=>{e&&i(Ip(e))},[e,r]),!o)return null;let a=o,s=window.getComputedStyle(e),l=s.display;if(l!=="flex"&&l!=="inline-flex")return null;let d=s.flexDirection,c=d==="column"||d==="column-reverse"?"vertical":"horizontal",p=c==="horizontal"?"vertical":"horizontal",u=[];if(t==="shift"){let g=_v(s.justifyContent);if(g){let x=dd.indexOf(g);c==="horizontal"?(x>0&&u.push("left"),x<dd.length-1&&u.push("right")):(x>0&&u.push("up"),x<dd.length-1&&u.push("down"))}}else{let g=Wv(s.alignItems);if(g){let x=cd.indexOf(g);p==="horizontal"?(x>0&&u.push("left"),x<cd.length-1&&u.push("right")):(x>0&&u.push("up"),x<cd.length-1&&u.push("down"))}}if(u.length===0)return null;let h=14,m=7;return f(dt,{children:u.map(g=>{let x,S;switch(g){case"right":x=a.right+h,S=a.top+a.height/2;break;case"left":x=a.left-h,S=a.top+a.height/2;break;case"down":x=a.left+a.width/2,S=a.bottom+h;break;case"up":x=a.left+a.width/2,S=a.top-h;break}let L=g==="right"?0:g==="left"?180:g==="down"?90:-90,H={position:"fixed",left:x-m,top:S-m,width:m*2,height:m*2,pointerEvents:"none",zIndex:9997};return f("div",{"data-devtools":"swipe-hint",style:H,children:f("svg",{width:m*2,height:m*2,viewBox:"-7 -7 14 14",style:{overflow:"visible"},children:$("g",{transform:`rotate(${L})`,children:[f("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round"}),f("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),f("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:n,strokeWidth:"1.5",strokeLinecap:"round"}),f("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})},g)})})}function Bv(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}function Uv({element:e,fontSize:t,lineHeight:n,accentColor:r,hoveredProperty:o,draggingProperty:i,cursorViewport:a}){let[s,l]=P(null);if(F(()=>{if(!e){l(null);return}let S=()=>{l(Ds(e))};return S(),window.addEventListener("scroll",S,{passive:!0}),window.addEventListener("resize",S,{passive:!0}),()=>{window.removeEventListener("scroll",S),window.removeEventListener("resize",S)}},[e]),Ct(()=>{e&&l(Ds(e))},[e,t,n]),!s)return null;let d=s.width,c=s.height,p=Bv(r,.2),u=i??o,h=8,m=2,g={position:"fixed",top:s.top,left:s.left,width:d,height:c,pointerEvents:"none",zIndex:9996,overflow:"visible"},x=S=>S==="font-size"?`${Math.round(t)}`:(t>0?n/t:1.2).toFixed(2).replace(/\.?0+$/,"");return $("div",{"data-devtools":"text-handles",style:g,children:[$("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${d} ${c}`,children:[f("rect",{x:"0.5",y:"0.5",width:Math.max(0,d-1),height:Math.max(0,c-1),fill:"none",stroke:p,strokeWidth:"1"}),(u==="font-size"||!u)&&f("rect",{x:d-m/2,y:c/2-h/2,width:m,height:h,fill:r,stroke:"#ffffff",strokeWidth:u==="font-size"?4:2,paintOrder:"stroke"}),(u==="line-height"||!u)&&f("rect",{x:d/2-h/2,y:c-m/2,width:h,height:m,fill:r,stroke:"#ffffff",strokeWidth:u==="line-height"?4:2,paintOrder:"stroke"})]}),a&&u&&(()=>{let S=u==="font-size"?"Aa":"Lh",L=x(u);return $("div",{style:{position:"fixed",left:a.x+8,top:a.y-28,background:r,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:[S," ",L]})})()]})}function qv({active:e,accentColor:t,domDropPreview:n,cursorViewport:r,gapElement:o,gapDragging:i,gapHoveredAxis:a,gapIsAuto:s,gapRefreshKey:l,swipeHint:d,radiusElement:c,radiusDragging:p,radiusHoveredCorner:u,textElement:h,textDragging:m,textHoveredProperty:g,paddingElement:x,paddingDragging:S,paddingHoveredSide:L}){if(!e)return null;let H=h&&!m?lu(h):null;return $(dt,{children:[n&&f("div",{"data-devtools":"dom-drop-preview",style:{position:"fixed",zIndex:9997,pointerEvents:"none",backgroundColor:t,boxShadow:`0 0 0 1px ${t}`,opacity:n.mode==="copy"?.72:1,...n.rect.height>=n.rect.width?{left:n.rect.left-2,top:n.placement==="before"?n.rect.top-2:n.rect.bottom,width:n.rect.width+4,height:2}:{left:n.placement==="before"?n.rect.left-2:n.rect.right,top:n.rect.top-2,width:2,height:n.rect.height+4}}}),o&&f(wp,{element:o,gap:i?{row:i.row,column:i.column}:cl(o),accentColor:t,hoveredAxis:a,draggingAxis:i?.axis??null,cursorViewport:r,isAutoGap:s,refreshKey:l}),d&&f(Jv,{element:d.target,modifier:d.modifier,accentColor:t,refreshKey:l}),!d&&c&&f(bp,{element:c,radius:p?.radius??Yi(c),accentColor:t,hoveredCorner:u,draggingCorner:p?.corner??null,cursorViewport:r}),!d&&h&&f(Uv,{element:h,fontSize:m?.fontSize??H.fontSize,lineHeight:m?.lineHeight??H.lineHeight,accentColor:t,hoveredProperty:g,draggingProperty:m?.property??null,cursorViewport:r}),!d&&x&&f(Sp,{element:x,padding:S?.padding??Ta(x),accentColor:t,hoveredSide:L,draggingSide:S?.side??null,cursorViewport:r,refreshKey:m?m.fontSize+m.lineHeight*1e3:0})]})}var Kv=4,Yv=8,Xv=7.2,Vv=45,Gv=96,Qv=89;function kp(e,t){let n=e===0?"Ready":`${e} action${e===1?"":"s"}`,r=Yv*2+n.length*Xv,o=t?e===0?22:Vv:e===0?Gv:Qv;return{label:n,accessibleShortcut:e===0?"Command Escape to exit":"Command Enter to complete",width:Math.ceil(r+Kv+o)}}var Zv=4,eb=8;function tb({cursor:e,stepCount:t,accentColor:n,toolbarElement:r,threadElement:o}){let[i]=Ns(),a=Fs[i],[s,l]=P(!1);F(()=>{l(!1);let D=window.setTimeout(()=>l(!0),1e3);return()=>window.clearTimeout(D)},[t]);let d={width:window.innerWidth,height:window.innerHeight},c=kp(t,!1),p=Nc(e,d,22,c.width),u=r?Fc(p,r.getBoundingClientRect(),22,void 0,c.width):1,h=o?_c(e,p,o.getBoundingClientRect(),22,void 0,void 0,c.width):1,m=Math.min(u,h)<1||s,g=kp(t,m),x=Nc(e,d,22,g.width),S=r?Fc(x,r.getBoundingClientRect(),22,void 0,g.width):1,L=o?_c(e,x,o.getBoundingClientRect(),22,void 0,void 0,g.width):1,H=mm(S,L,!1),w={position:"fixed",left:x.left,top:x.top,width:g.width,height:22,display:"flex",alignItems:"center",gap:Zv,boxSizing:"border-box",padding:0,color:"#000000",fontSize:12,fontWeight:400,lineHeight:1,pointerEvents:"none",whiteSpace:"nowrap",transition:"width 180ms cubic-bezier(0.2, 0, 0, 1)",opacity:H,transform:`scale(${H})`,transformOrigin:`${e.x-x.left}px ${e.y-x.top}px`,visibility:H===0?"hidden":"visible",zIndex:2147483647,colorScheme:i};return $("div",{role:"status","aria-label":`${g.label}. ${g.accessibleShortcut}`,"data-devtools":"interaction-episode-hud","data-popmelt-interaction-episode-hud":!0,style:w,children:[f("span",{style:{height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",padding:`4px ${eb}px`,borderRadius:"2px 8px 8px 8px",background:n,color:"#dddddd",fontFamily:gg,lineHeight:1.2},children:g.label}),f("span",{"aria-hidden":"true",style:{height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",gap:m?0:6,padding:m?"4px 5px":t===0?"4px 6px 4px 8px":"4px 8px 4px 10px",borderRadius:8,background:a.surface,border:`1px solid ${a.border}`,color:a.primary,fontFamily:Os,lineHeight:1.2,letterSpacing:"0.24px",overflow:"hidden",transition:"width 180ms cubic-bezier(0.2, 0, 0, 1), padding 180ms cubic-bezier(0.2, 0, 0, 1)"},children:m?t===0?f(qs,{size:12,strokeWidth:2}):$("span",{"data-popmelt-interaction-episode-complete-shortcut":!0,style:{display:"inline-flex",alignItems:"center",gap:2},children:[f($u,{size:12,strokeWidth:2}),f("span",{children:"+"}),f(Ks,{size:12,strokeWidth:2})]}):$(dt,{children:[$("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:[f($u,{size:12,strokeWidth:2}),f("span",{children:"+"}),t===0?f("span",{children:"esc"}):f(Ks,{size:12,strokeWidth:2})]}),f("span",{style:{color:a.secondary},children:"to"}),t===0?f(qs,{size:12,strokeWidth:2,color:"red"}):f(vi,{size:12,strokeWidth:2,color:"#02bd02"})]})})]})}function nb(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}function rb({styleModifications:e,textModifications:t=[],accentColor:n}){let[r,o]=P([]);if(F(()=>{let a=null,s=()=>{let c=[],p=[...e,...t],u=new Set;for(let h of p){if(u.has(h.selector))continue;let m=gn(h.selector);if(!m)continue;u.add(h.selector);let g=In(m);if(g.width===0&&g.height===0)continue;let x=Yi(m);c.push({selector:h.selector,top:g.top,left:g.left,width:g.width,height:g.height,borderRadius:`${x["top-left"]}px ${x["top-right"]}px ${x["bottom-right"]}px ${x["bottom-left"]}px`})}o(c)},l=()=>{a&&cancelAnimationFrame(a),a=requestAnimationFrame(s)};s(),window.addEventListener("scroll",l,{passive:!0}),window.addEventListener("resize",l,{passive:!0});let d=new MutationObserver(l);return d.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",l),window.removeEventListener("resize",l),d.disconnect(),a&&cancelAnimationFrame(a)}},[e,t]),r.length===0)return null;let i=nb(n,.2);return f(dt,{children:r.map(a=>{let s={position:"fixed",top:a.top,left:a.left,width:a.width,height:a.height,pointerEvents:"none",zIndex:9995,border:`1px solid ${i}`,borderRadius:a.borderRadius,boxSizing:"border-box"};return f("div",{"data-devtools":"mod-border",style:s},a.selector)})})}var Ep=["topLeft","topRight","bottomRight","bottomLeft"],ob=[["topLeft","topRight"],["topRight","bottomRight"],["bottomRight","bottomLeft"],["bottomLeft","topLeft"]],ib=8,ud="#000000",ab="#ffffff";function lb(e){let t=e.match(/^rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:\s*[,/]\s*([\d.]+%?))?\s*\)$/i);if(!t)return null;let n=t[4],r=n?n.endsWith("%")?Number.parseFloat(n)/100:Number.parseFloat(n):1,o={red:Number.parseFloat(t[1]),green:Number.parseFloat(t[2]),blue:Number.parseFloat(t[3]),alpha:r};return Object.values(o).every(Number.isFinite)?o:null}function Tp(e){let t=e.parentElement;for(;t;){let n=lb(getComputedStyle(t).backgroundColor);if(n&&n.alpha>=.95)return(n.red*.299+n.green*.587+n.blue*.114)/255>=.55?ud:ab;t=t.parentElement}return ud}function sb(e){return Ep.map(t=>`${e[t].x},${e[t].y}`).join(" ")}function db(e,t,n,r){let o=Math.atan2(n.y-t.y,n.x-t.x),i=Math.atan2(r.y-e.y,r.x-e.x),a=Math.atan2(Math.sin(i-o),Math.cos(i-o));if(Math.abs(a)<.001)return null;let s=Math.hypot(r.x-e.x,r.y-e.y),l={x:e.x+Math.cos(o)*s,y:e.y+Math.sin(o)*s},d=ib/2,c={x:Math.cos(o),y:Math.sin(o)},p=a>0?1:0;return{path:`M ${l.x} ${l.y} A ${s} ${s} 0 0 ${p} ${r.x} ${r.y}`,startTick:{start:{x:l.x-c.x*d,y:l.y-c.y*d},end:{x:l.x+c.x*d,y:l.y+c.y*d}}}}function $l({element:e,activeFacet:t,accentColor:n,showHandles:r=!0,outlineStyle:o="solid",showRotateHandle:i=!0,scrimOpacity:a=.05,cursorViewport:s,draggingKind:l,draggingCorner:d,ghostQuad:c,refreshKey:p,onHandlePointerDown:u}){let[h,m]=P(null),[g,x]=P(null),[S,L]=P(null),[H,w]=P(null),[D,_]=P(!1),[E,V]=P(ud),O=J("top"),Y=J(null),q=`transform-occlusion-${Au().replace(/:/g,"")}`;if(F(()=>{let ge=()=>{if(!fl(e.ownerDocument)){m(null);return}let xe=jr(e)?Da(e):xi(e);Y.current=xe;let Xe=Il(xe,e.ownerDocument);x(Xe),w(Ml(ap(e,xe),xe,Xe)),_(sp(e)),V(Tp(e));let K=jr(e)?Qi(e,xe):xi(e),Ke=Il(K,e.ownerDocument);L(Ke),m(Ke)};ge(),window.addEventListener("scroll",ge,{passive:!0}),window.addEventListener("resize",ge,{passive:!0});let te=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>ge());te?.observe(e);let ve="",Oe=Iu(e.ownerDocument)?ou(()=>{let xe=In(e),Xe=JSON.stringify([fl(e.ownerDocument),xe.x,xe.y,xe.width,xe.height]);Xe!==ve&&(ve=Xe,ge())}):void 0;return()=>{Oe?.(),window.removeEventListener("scroll",ge),window.removeEventListener("resize",ge),te?.disconnect()}},[e]),Ct(()=>{let ge=l&&Y.current?Y.current:jr(e)?Da(e):xi(e);Y.current=ge;let te=Il(ge,e.ownerDocument);x(te),w(Ml(ap(e,ge),ge,te)),_(sp(e)),V(Tp(e));let ve=jr(e)?Qi(e,ge):xi(e),Oe=Il(ve,e.ownerDocument);L(Oe),m(Oe)},[l,e,p]),!h)return null;let oe=s?rd(h,s,20,{currentSide:O.current,hysteresis:8,viewport:{width:window.innerWidth,height:window.innerHeight}}):pp(h,20);l!=="rotate"&&(O.current=oe.side);let I=l==="rotate"?{...ea(h,void 0,O.current),side:O.current}:oe,G={position:"fixed",inset:0,pointerEvents:"none",zIndex:u?9999:9996},N=l?.95:.72,z=!!(r&&g&&vv(g,h)),M=g&&S&&H?Ml(H,g,S):H,j=M?up(h,M):h,R=c&&g&&H?Ml(H,g,c):H,A=c&&R?up(c,R):c,Q=Ha(h),ne=c?Ha(c):null,ee=c?ea(c,void 0,I.side):null,de=ee&&ne?db(Q,ne,ee.handle,I.handle):null,B=D&&S&&M?nd(S,M):null,he=B?`url(#${q})`:void 0;return f("div",{"data-devtools":r?"transform-handles":"element-boundary","data-popmelt-steer-overlay":!0,"data-transform-facet":t,style:G,children:$("svg",{width:"100%",height:"100%",style:{position:"absolute",inset:0,pointerEvents:"none"},children:[B&&f("defs",{children:$("mask",{id:q,maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100%",height:"100%",children:[f("rect",{width:"100%",height:"100%",fill:"#ffffff"}),f("path",{"data-transform-occlusion-mask":"",d:B,fill:"#000000"})]})}),z&&g&&H&&f("path",{"data-transform-layout-plate":"",d:nd(g,H),fill:E,fillOpacity:"0.07",stroke:"none",mask:he}),f("path",{"data-transform-effective-outline":"","data-transform-effective-scrim":"",d:M?nd(h,M):`M ${sb(h)} Z`,fill:n,fillOpacity:a,stroke:n,strokeWidth:1,strokeOpacity:N,strokeDasharray:o==="dashed"?pu:void 0}),l==="translate"&&ne&&$("g",{"data-transform-origin-trace":"translate",children:[f("line",{x1:ne.x,y1:ne.y,x2:Q.x,y2:Q.y,stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("circle",{"data-transform-origin-point":"",cx:ne.x,cy:ne.y,r:"3",fill:"#808080",stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]}),l==="scale"&&d&&A&&$("g",{"data-transform-origin-trace":"scale",children:[f("line",{x1:A[d].x,y1:A[d].y,x2:j[d].x,y2:j[d].y,stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("circle",{"data-transform-origin-point":"",cx:A[d].x,cy:A[d].y,r:"3",fill:"#808080",stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]}),l==="rotate"&&de&&$("g",{"data-transform-origin-trace":"rotate",children:[f("path",{"data-transform-rotation-arc":"",d:de.path,fill:"none",stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("line",{"data-transform-rotation-arc-start":"",x1:de.startTick.start.x,y1:de.startTick.start.y,x2:de.startTick.end.x,y2:de.startTick.end.y,stroke:"#808080",strokeWidth:"1",strokeLinecap:"round",opacity:"0.85"})]}),u&&ob.map(([ge,te])=>f("line",{"data-transform-handle":"translate",x1:h[ge].x,y1:h[ge].y,x2:h[te].x,y2:h[te].y,stroke:"transparent",strokeWidth:tp,style:{pointerEvents:"stroke",cursor:"move"},onPointerDown:ve=>u("translate",null,ve)},`${ge}-${te}`)),r&&$("g",{"data-transform-affordances":"",children:[Ep.map(ge=>$("g",{children:[f("rect",{x:j[ge].x-6/2,y:j[ge].y-6/2,width:6,height:6,fill:n,stroke:"#ffffff",strokeWidth:2}),u&&f("circle",{"data-transform-handle":"scale","data-transform-corner":ge,cx:j[ge].x,cy:j[ge].y,r:20/2,fill:"transparent",style:{pointerEvents:"all",cursor:ge==="topLeft"||ge==="bottomRight"?"nwse-resize":"nesw-resize"},onPointerDown:te=>u("scale",ge,te)})]},ge)),i&&$(dt,{children:[f("line",{x1:I.edge.x,y1:I.edge.y,x2:I.handle.x,y2:I.handle.y,stroke:n,strokeWidth:"1",opacity:N}),f("circle",{cx:I.handle.x,cy:I.handle.y,r:6/2,fill:n,stroke:"#ffffff",strokeWidth:2}),u&&f("line",{"data-transform-handle":"rotate",x1:I.edge.x,y1:I.edge.y,x2:I.handle.x,y2:I.handle.y,stroke:"transparent",strokeWidth:20,strokeLinecap:"round",style:{pointerEvents:"stroke",cursor:"grab"},onPointerDown:ge=>{O.current=I.side,u("rotate",null,ge,I.side)}})]})]})]})})}var cb=["top","right","bottom","left"];function ub(e){return e==="all"?cb:e==="x"?["left","right"]:e==="y"?["top","bottom"]:e==="top"||e==="right"||e==="bottom"||e==="left"?[e]:[]}function pb(e){return e==="top-left"||e==="top-right"||e==="bottom-right"||e==="bottom-left"?e:null}function Cp(e,t,n,r){return e&&n==="value"&&t==="transform"&&(r==="translate"||r==="scale"||r==="rotate")}function fb({active:e,accentColor:t,family:n,stage:r,subproperty:o,hoveredElement:i,previewElement:a,transformPreviewElement:s,previewRevision:l,cursorViewport:d,drag:c,onGapPointerDown:p,onRadiusPointerDown:u,onSpacingPointerDown:h,onTransformPointerDown:m}){let g=e&&r==="value",x=i instanceof HTMLElement&&a===i,S=i instanceof HTMLElement&&(Ps(i,"row")||Ps(i,"column")),L=c?.family==="transform"?c.element:i,H=Cp(e,n,r,o)?o:null,w=H!==null&&jr(L)&&(a===L||s===L||c?.family==="transform");return $(dt,{children:[g&&(n==="padding"||n==="margin")&&x&&f(Sp,{element:i,padding:n==="margin"?nu(i):Ta(i),mode:n,accentColor:t,hoveredSide:c?.family===n?c.side??null:null,draggingSide:c?.family===n?c.side??null:null,activeSides:ub(o),refreshKey:l,cursorViewport:c?.cursor,onHandlePointerDown:(D,_)=>h(n,D,_)}),g&&(n==="stack"||n==="grid")&&o==="gap"&&x&&f(wp,{element:i,gap:cl(i),accentColor:t,hoveredAxis:c?.gapAxis??null,draggingAxis:c?.gapAxis??null,refreshKey:l,cursorViewport:c?.cursor,isAutoGap:S,onHandlePointerDown:S?void 0:p}),g&&n==="radius"&&x&&f(bp,{element:i,radius:Yi(i),accentColor:t,hoveredCorner:pb(o),draggingCorner:c?.corner??null,cursorViewport:c?.cursor,onHandlePointerDown:u}),w&&f($l,{element:L,activeFacet:H,accentColor:t,draggingKind:c?.family==="transform"?c.transformKind??null:null,draggingCorner:c?.family==="transform"?c.transformCorner??null:null,ghostQuad:c?.family==="transform"?c.ghostQuad??null:null,cursorViewport:c?.cursor??d,refreshKey:l,onHandlePointerDown:m})]})}var _o=8,Ap=2,hb=66,mb=3;function gb(){let e=Math.random()*Math.PI*2,t=5+Math.random()*8;return{x:Math.cos(e)*t,y:Math.sin(e)*t}}function yb({onSave:e}){let[t,n]=P(!1),[r]=Ns(),o=Fs[r];return $("button",{type:"button","data-popmelt-subject-label-save":!0,"data-hovered":t?"true":"false","aria-label":"Save object label",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),onPointerDown:i=>{i.preventDefault(),i.stopPropagation()},onClick:i=>{i.preventDefault(),i.stopPropagation(),e()},style:{appearance:"none",boxSizing:"border-box",height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:4,margin:0,padding:"0 8px",border:`1px solid ${o.border}`,borderRadius:8,backgroundColor:o.surface,color:o.primary,fontFamily:Ln,fontSize:12,fontWeight:600,letterSpacing:"0.24px",lineHeight:1,whiteSpace:"nowrap",cursor:"pointer",pointerEvents:"auto",userSelect:"none",touchAction:"manipulation"},children:[$("span",{className:"popmelt-subject-save-default",children:[f(Ks,{size:12,strokeWidth:2,"aria-hidden":!0}),f("span",{style:{color:o.secondary},children:"to"}),f(vi,{size:12,strokeWidth:2,"aria-hidden":!0})]}),$("span",{className:"popmelt-subject-save-hovered",children:[f("span",{children:"Save"}),f(vi,{size:12,strokeWidth:2,"aria-hidden":!0})]})]})}function vb(e,t){let n=t.x-e.start.x,r=t.y-e.start.y;if(e.kind==="translate")return{...e.bounds,left:e.bounds.left+n,top:e.bounds.top+r};let o=e.bounds.left+e.bounds.width,i=e.bounds.top+e.bounds.height;switch(e.corner){case"topLeft":{let a=Math.min(o-_o,e.bounds.left+n),s=Math.min(i-_o,e.bounds.top+r);return{left:a,top:s,width:o-a,height:i-s}}case"topRight":{let a=Math.max(e.bounds.left+_o,o+n),s=Math.min(i-_o,e.bounds.top+r);return{left:e.bounds.left,top:s,width:a-e.bounds.left,height:i-s}}case"bottomLeft":{let a=Math.min(o-_o,e.bounds.left+n),s=Math.max(e.bounds.top+_o,i+r);return{left:a,top:e.bounds.top,width:o-a,height:s-e.bounds.top}}default:{let a=Math.max(e.bounds.left+_o,o+n),s=Math.max(e.bounds.top+_o,i+r);return{left:e.bounds.left,top:e.bounds.top,width:a-e.bounds.left,height:s-e.bounds.top}}}}function bb({accentColor:e,created:t,registry:n,target:r,onCommit:o,onClose:i,onCancelCreated:a}){let s=n.resolve(r),l=J(s?.subject.label??"object"),[d,c]=P(l.current),p=s?.subject.trackingAnchors?.map(M=>({...M}))??[],u=J(p),[h,m]=P(p),[g,x]=P(0),[S,L]=P(0),H=J(null),w=J(null),D=J(null),_=J(!1),E=n.resolve(r),V=Ee(()=>{let M=typeof document>"u"?null:document.createElement("canvas").getContext("2d");M&&(M.font=`${Wc}px ${Ln}`);let j=R=>(M?.measureText(R).width??R.length*7.2)+Math.max(0,R.length-1)*bm;return{label:Math.max(8,j(d||" ")),full:j(`<${d||" "}>`)+Jc*2}},[d]);if(Ct(()=>{D.current?.focus(),D.current?.select()},[]),Ct(()=>{if(g)for(let M of w.current?.querySelectorAll("[data-popmelt-tracking-anchor]")??[]){let j=gb();M.animate?.([{transform:"translate(-50%, -50%)"},{transform:`translate(calc(-50% + ${j.x}px), calc(-50% + ${j.y}px))`},{transform:`translate(calc(-50% - ${j.x*.55}px), calc(-50% - ${j.y*.55}px))`},{transform:"translate(-50%, -50%)"}],{duration:220,easing:"ease-out"})}},[g]),F(()=>n.subscribeFrame(()=>L(M=>M+1)),[n]),F(()=>{let M=R=>{let A=H.current;A&&(n.updateBounds(r,vb(A,{x:R.clientX,y:R.clientY})),L(Q=>Q+1))},j=()=>{H.current=null,L(R=>R+1)};return window.addEventListener("pointermove",M,!0),window.addEventListener("pointerup",j,!0),window.addEventListener("pointercancel",j,!0),()=>{window.removeEventListener("pointermove",M,!0),window.removeEventListener("pointerup",j,!0),window.removeEventListener("pointercancel",j,!0)}},[n,r]),!E)return null;let O=()=>{if(_.current)return;let M=d.trim();if(!M){t&&a();return}let j=u.current,R=j.length===1?[]:j,A=E.adapter.updateSubjectTrackingAnchors?n.updateTrackingAnchors(r,R):null,Q=n.rename(r,M)??A;Q&&o(Q),i()},Y=()=>{_.current=!0,t?a():i()},{bounds:q}=E.subject,oe=!!E.adapter.updateSubjectTrackingAnchors,I=Math.min(400,V.full),G=I+Ap+hb,N=Ls({left:q.left,right:q.left+q.width,top:q.top,bottom:q.top+q.height,height:q.height},22,2,window.innerHeight,G,window.innerWidth),z=N.horizontalAlignment==="right"?N.left-G:N.left;return $(dt,{children:[f($l,{element:E.element,activeFacet:"translate",accentColor:e,showRotateHandle:!1,refreshKey:S,draggingKind:H.current?.kind??null,draggingCorner:H.current?.corner??null,onHandlePointerDown:(M,j,R)=>{M!=="rotate"&&(R.preventDefault(),R.stopPropagation(),H.current={kind:M,corner:j,start:{x:R.clientX,y:R.clientY},bounds:{...E.subject.bounds}},L(A=>A+1))}}),oe&&f("div",{ref:w,"data-popmelt-tracking-anchor-surface":!0,"aria-label":"Add tracking anchor",onPointerDown:M=>{if(M.button!==0)return;M.preventDefault(),M.stopPropagation();let j=u.current;if(j.length>=mb){x(A=>A+1);return}let R=[...j,{x:Math.max(0,Math.min(1,(M.clientX-q.left)/q.width)),y:Math.max(0,Math.min(1,(M.clientY-q.top)/q.height))}];u.current=R,m(R)},style:{position:"fixed",left:q.left,top:q.top,width:q.width,height:q.height,pointerEvents:"auto",cursor:"crosshair",zIndex:9998},children:h.map((M,j)=>f("span",{"data-popmelt-tracking-anchor":!0,"data-popmelt-tracking-anchor-reject":g?"true":void 0,style:{position:"absolute",left:`${M.x*100}%`,top:`${M.y*100}%`,width:10,height:10,boxSizing:"border-box",border:"2px solid #ffffff",borderRadius:"50%",background:e,boxShadow:"0 1px 3px rgba(0, 0, 0, 0.35)",pointerEvents:"none",transform:"translate(-50%, -50%)"}},j))}),f("style",{children:`
|
|
31
|
+
[data-popmelt-subject-label-editor]::selection {
|
|
32
|
+
background: #000000;
|
|
33
|
+
color: #ffffff;
|
|
34
|
+
}
|
|
35
|
+
.popmelt-subject-save-default {
|
|
36
|
+
display: inline-flex;
|
|
37
|
+
align-items: center;
|
|
38
|
+
gap: 4px;
|
|
39
|
+
}
|
|
40
|
+
.popmelt-subject-save-hovered {
|
|
41
|
+
display: none;
|
|
42
|
+
align-items: center;
|
|
43
|
+
gap: 4px;
|
|
44
|
+
}
|
|
45
|
+
[data-popmelt-subject-label-save][data-hovered="true"] .popmelt-subject-save-default {
|
|
46
|
+
display: none;
|
|
47
|
+
}
|
|
48
|
+
[data-popmelt-subject-label-save][data-hovered="true"] .popmelt-subject-save-hovered {
|
|
49
|
+
display: inline-flex;
|
|
50
|
+
}
|
|
51
|
+
@media (max-width: 767px) {
|
|
52
|
+
.popmelt-subject-save-default { display: none; }
|
|
53
|
+
.popmelt-subject-save-hovered { display: inline-flex; }
|
|
54
|
+
}
|
|
55
|
+
`}),$("div",{style:{position:"fixed",left:z,top:N.top,display:"flex",alignItems:"center",gap:Ap,pointerEvents:"auto",zIndex:1e4},children:[$("div",{"data-popmelt-subject-label-editor":!0,style:{...gm(e),width:I,gap:0,borderRadius:Ea(N.anchor)},children:[f("span",{"aria-hidden":!0,children:"<"}),f("input",{ref:D,"data-popmelt-subject-label-input":!0,value:d,"aria-label":"Object label",spellCheck:!1,onChange:M=>c(M.target.value),onBlur:O,onKeyDown:M=>{M.key==="Escape"?(M.preventDefault(),Y()):M.key==="Enter"&&!M.metaKey&&!M.ctrlKey&&(M.preventDefault(),O())},style:{appearance:"none",boxSizing:"content-box",width:Math.min(V.label,400-Jc*2-16),minWidth:0,height:`${Wc*1.2}px`,margin:0,padding:0,border:0,outline:0,background:"transparent",color:"inherit",font:"inherit",letterSpacing:"inherit",lineHeight:"inherit"}}),f("span",{"aria-hidden":!0,children:">"})]}),f(yb,{onSave:O})]})]})}var Mp=2;function xb(e,t){if((e.annotation.status??"pending")!=="pending")return null;let n={x:t.x-e.startPoint.x,y:t.y-e.startPoint.y};return e.hasMoved?{session:{...e,startPoint:t},move:{delta:n,saveUndo:!1}}:Math.abs(n.x)>Mp||Math.abs(n.y)>Mp?{session:{...e,hasMoved:!0,startPoint:t},move:{delta:n,saveUndo:!0}}:null}function wb({session:e,clickPoint:t,groupLabelWidth:n=0}){let{annotation:r}=e;return e.hasMoved||r.type!=="text"||(r.status??"pending")!=="pending"?null:{activeText:{id:r.id,point:r.points[0],text:r.text||"",fontSize:r.fontSize||12,isNew:!1,clickPoint:{x:t.x-n,y:t.y},groupId:r.groupId,linkedSelector:r.linkedSelector,linkedAnchor:r.linkedAnchor,elements:r.elements,...r.region?{region:r.region}:{},attachments:r.attachments,interactionEpisode:r.interactionEpisode},color:r.color}}function Rp(e,t,n,r,o){let i={...e},a=i.right-i.left||1,s=i.bottom-i.top||1,l=a/s,d={...e};switch(t){case"topLeft":d.left=n.x,d.top=n.y;break;case"topRight":d.right=n.x,d.top=n.y;break;case"bottomLeft":d.left=n.x,d.bottom=n.y;break;case"bottomRight":d.right=n.x,d.bottom=n.y;break}if(r)switch(t){case"topLeft":d.right=i.right+(i.left-d.left),d.bottom=i.bottom+(i.top-d.top);break;case"topRight":d.left=i.left-(d.right-i.right),d.bottom=i.bottom+(i.top-d.top);break;case"bottomLeft":d.right=i.right+(i.left-d.left),d.top=i.top-(d.bottom-i.bottom);break;case"bottomRight":d.left=i.left-(d.right-i.right),d.top=i.top-(d.bottom-i.bottom);break}if(o){let c=d.right-d.left,p=d.bottom-d.top;if(Math.abs(c/p)>l){let u=Math.abs(p)*l*Math.sign(c);t==="topLeft"||t==="bottomLeft"?d.left=d.right-u:d.right=d.left+u}else{let u=Math.abs(c)/l*Math.sign(p);t==="topLeft"||t==="topRight"?d.top=d.bottom-u:d.bottom=d.top+u}}return d}function Sb({annotation:e,session:t,point:n,centerOrigin:r,lockAspect:o}){let{handle:i,originalPoints:a}=t;if(e.type==="line"){let p=a[0],u=a[a.length-1];return i==="start"?[n,u]:[p,n]}if(e.type==="freehand"){let p={left:Math.min(...a.map(S=>S.x)),right:Math.max(...a.map(S=>S.x)),top:Math.min(...a.map(S=>S.y)),bottom:Math.max(...a.map(S=>S.y))},u=p.right-p.left||1,h=p.bottom-p.top||1,m=Rp(p,i,n,r,o),g=m.right-m.left||1,x=m.bottom-m.top||1;return a.map(S=>({x:m.left+(S.x-p.left)/u*g,y:m.top+(S.y-p.top)/h*x}))}let s=a[0],l=a[a.length-1],d={left:Math.min(s.x,l.x),right:Math.max(s.x,l.x),top:Math.min(s.y,l.y),bottom:Math.max(s.y,l.y)};if(e.type==="circle"){let p=(d.left+d.right)/2,u=(d.top+d.bottom)/2,h=d.right-d.left,m=d.bottom-d.top,g={...d};switch(i){case"top":{if(g.top=n.y,r&&(g.bottom=u+(u-n.y)),o){let x=(g.bottom-g.top)*(h/m)/2;g.left=p-x,g.right=p+x}break}case"bottom":{if(g.bottom=n.y,r&&(g.top=u-(n.y-u)),o){let x=(g.bottom-g.top)*(h/m)/2;g.left=p-x,g.right=p+x}break}case"left":{if(g.left=n.x,r&&(g.right=p+(p-n.x)),o){let x=(g.right-g.left)*(m/h)/2;g.top=u-x,g.bottom=u+x}break}case"right":{if(g.right=n.x,r&&(g.left=p-(n.x-p)),o){let x=(g.right-g.left)*(m/h)/2;g.top=u-x,g.bottom=u+x}break}}return[{x:g.left,y:g.top},{x:g.right,y:g.bottom}]}let c=Rp(d,i,n,r,o);return[{x:c.left,y:c.top},{x:c.right,y:c.bottom}]}function Ib(){let[e,t]=P(null),[n,r]=P(null);return{dragState:e,resizeState:n,setDragState:t,setResizeState:r}}function kb({enabled:e,onRegion:t,onClick:n,onStart:r}){let o=J(null),[i,a]=P(null),s=U(()=>{let l=o.current;o.current=null,a(null),l?.target.hasPointerCapture(l.pointerId)&&l.target.releasePointerCapture(l.pointerId)},[]);return F(()=>{e||s()},[e,s]),F(()=>{let l=d=>{d.key==="Escape"&&o.current&&(d.preventDefault(),d.stopImmediatePropagation(),s())};return window.addEventListener("keydown",l,!0),window.addEventListener("blur",s),window.addEventListener("scroll",s,!0),window.addEventListener("resize",s),()=>{window.removeEventListener("keydown",l,!0),window.removeEventListener("blur",s),window.removeEventListener("scroll",s,!0),window.removeEventListener("resize",s),s()}},[s]),{begin:l=>!e||l.button!==0||!["mouse","pen"].includes(l.pointerType)||l.altKey||l.ctrlKey||l.metaKey||l.shiftKey||o.current?!1:(o.current={pointerId:l.pointerId,target:l.currentTarget,points:[{x:l.clientX,y:l.clientY}],moved:!1,scroll:{x:window.scrollX,y:window.scrollY},viewport:{width:window.innerWidth,height:window.innerHeight}},l.currentTarget.setPointerCapture(l.pointerId),l.preventDefault(),!0),move:l=>{let d=o.current;if(!d||l.pointerId!==d.pointerId)return!1;let c={x:l.clientX,y:l.clientY};return!d.moved&&Math.hypot(c.x-d.points[0].x,c.y-d.points[0].y)>=Tm&&(d.moved=!0,r()),d.points=Xc(d.points,c),d.moved&&a(d.points),l.preventDefault(),!0},end:l=>{let d=o.current;if(!d||l.pointerId!==d.pointerId)return!1;let c=Xc(d.points,{x:l.clientX,y:l.clientY});if(s(),!d.moved)n(l);else{let p=Em(c,d.scroll,d.viewport);p&&t(p,c)}return l.preventDefault(),!0},cancel:s,preview:i,active:()=>o.current!==null}}function pd(e,t,n=!0){let r=new Map(Qc(e.segments,e.originalText,t).map(({segment:o,modifiedText:i})=>[o,i]));return{type:"MODIFY_TEXT_CONTENTS",...n?{}:{saveUndo:!1},payload:e.segments.map(o=>({selector:e.selector,durableSelector:e.durableSelector,element:e.element,textNodePath:o.textNodePath,original:o.originalText,modified:r.get(o)??o.originalText}))}}function Eb(e,t,n){return e||(t>0?`[${t} image${t>1?"s":""}]`:n[0]?.name??"")}function Tb(e){if(e.domEdit){let i=e.domEdit;return e.text===i.originalText?{action:null,sendHintAnchorId:null,attachedImages:null}:{action:pd(i,e.text),sendHintAnchorId:null,attachedImages:null}}let t=e.images??[],n=t.length,r=e.attachments??[];if(!(e.text.trim()||n>0||r.length>0||e.interactionEpisode?.steps.length))return{action:e.isNew?null:{type:"DELETE_ANNOTATION",payload:{id:e.id}},sendHintAnchorId:null,attachedImages:null};let o=Eb(e.text,n,r)||`[Interaction episode: ${e.interactionEpisode?.steps.length??0} steps]`;return{action:e.isNew?{type:"ADD_TEXT",payload:{point:e.point,text:o,fontSize:e.fontSize,id:e.id,groupId:e.groupId,linkedSelector:e.linkedSelector,target:e.target,linkedAnchor:e.linkedAnchor,elements:e.elements,...e.region?{region:e.region}:{},...n>0?{imageCount:n}:{},...r.length>0?{attachments:r}:{},...e.interactionEpisode?{interactionEpisode:e.interactionEpisode}:{}}}:{type:"UPDATE_TEXT",payload:{id:e.id,text:o,...n>0?{imageCount:n}:{},attachments:r,interactionEpisode:e.interactionEpisode}},sendHintAnchorId:e.id,attachedImages:n>0?{annotationId:e.id,images:t}:null}}var na=0,Cb=2,Ab=60;function Lp({anchorLeftX:e,anchorRightX:t,editorWidth:n,trailingWidth:r,viewportWidth:o}){let i=Math.max(na,o-na),a=Math.max(na,Math.min(t,i)),s=r>0?r+Cb:0,l=n+s,d=Math.max(0,e-8),c=a-l,p=Math.max(0,na-d)+Math.max(0,d+l-i),u=Math.max(0,na-c)<p?"right":"left",h=Math.max(Ab,u==="right"?a-na-s:i-d-s),m=Math.min(n,h);return{horizontalAlignment:u,editorLeft:u==="right"?a-s-m:d,maxEditorWidth:h}}function Mb({prefix:e,fontSize:t,railGap:n,context:r}){if(!e)return 0;let o=t*.6,i=r?.measureText(e).width??e.length*o,a=n??(r?.measureText(" ").width??o)/2;return i+a}function Rb({text:e,fontSize:t,point:n,clickPoint:r,context:o}){let i=e.split(`
|
|
56
|
+
`),a=t*lr,s=Math.max(0,Math.min(i.length-1,Math.floor((r.y-n.y)/a))),l=i[s]??"",d=r.x-n.x,c=l.length;for(let u=0;u<=l.length;u+=1){let h=o.measureText(l.slice(0,u)).width;if(h<=d)continue;let m=u>0?o.measureText(l.slice(0,u-1)).width:0;c=Math.max(0,d-m<h-d?u-1:u);break}let p=c;for(let u=0;u<s;u+=1)p+=(i[u]?.length??0)+1;return p}function fd({text:e,fontSize:t,effectiveMaxWidth:n,annotationPrefixWidth:r,isModifiedRail:o,fitToContent:i=o,context:a}){let s=a.measureText("Type here...").width,l=i&&e.length>0?a.measureText(" ").width:s,d=Wm(e).split(`
|
|
57
|
+
`),c=Math.max(l,...d.map(u=>a.measureText(u||" ").width)),p=Math.max(l,n-r-(o?16:0));if(c>p){let u=Jm(a,d,p);return{width:Math.min(p,Math.max(l,...u.map(h=>a.measureText(h).width))),height:Math.max(1,u.length)*t*lr,isWrapped:!0}}return{width:c,height:Math.max(1,d.length)*t*lr,isWrapped:!1}}function Lb(e,t){return e&&t!=="model"}function $b(e,t,n,r=6){return e.moved?e:{...e,moved:Math.hypot(t-e.startX,n-e.startY)>r}}function jb(e){return!!(e&&!e.moved)}function Pb(e){return e==="hand"}var $p={"active-edit":100,"direct-manipulation":90,"in-flight":80,"bundle-preview":70,"nested-preview":65,"annotation-hover":60,"badge-hover":60,"thread-focus":50,selected:45,"pending-change":40,"inspector-hover":30};function zb(e){let t=new Map;for(let n of e){let r=t.get(n.target);(!r||$p[n.owner]>$p[r])&&t.set(n.target,n.owner)}return t}function Db({activeText:e,pendingLinkedText:t,activeTextSendHintId:n,activeTool:r,isAnnotating:o,annotations:i,pageAnnotations:a,pageStyleModifications:s,pageTextModifications:l,supersededAnnotations:d,nestedBadgeHover:c,isSendBundleHovered:p,badgeHoveredAnnotationId:u,hoveredTextId:h,badgeHoveredSelector:m,focusedThreadAnnotationId:g,inFlightSelectorColors:x,focusedSelectorColors:S,hoveredElement:L}){let H=new Map;for(let A of i)A.linkedSelector&&A.elements?.[0]&&H.set(A.linkedSelector,A.elements[0]);for(let A of[...s,...l])H.set(A.selector,A.element);for(let A of[e,t])A?.linkedSelector&&A.elements?.[0]&&H.set(A.linkedSelector,A.elements[0]);let w=(A,Q)=>sn(A,Q??(H.has(A)?[H.get(A)]:void 0)),D=A=>A?i.find(Q=>Q.id===A)?.linkedSelector??null:null,_=c?c.ownerId===n?e?.linkedSelector??null:D(c.ownerId):null,E=(A,Q)=>Q?w(Q)===A:!1,V=A=>{let Q=null;for(let ne of a)!ne.linkedSelector||d.has(ne)||sn(ne.linkedSelector,ne.elements)!==A||(!Q||ne.timestamp>Q.timestamp)&&(Q=ne);return Q},O=[e?.linkedSelector,t?.linkedSelector,D(g),D(c||p?null:u),D(c||p?null:h),m].filter(Boolean),Y=c||p?null:u||h,q=A=>O.some(Q=>E(A,Q)),oe=[],I=(A,Q)=>{A&&oe.push({target:A,owner:Q})},G=(A,Q,ne)=>{A&&I(w(A,ne),Q)};if(o){if(r==="hand")for(let A of s)A.captured||G(A.selector,"pending-change");for(let A of l)A.captured||G(A.selector,"pending-change");for(let A of x?.keys()??[])G(A,"in-flight");for(let A of S?.keys()??[])G(A,"selected");if(G(e?.domEdit?e.linkedSelector:null,"active-edit",e?.elements),!c&&!p&&G(e?.linkedSelector||t?.linkedSelector,"direct-manipulation",e?.elements||t?.elements),!p&&g){let A=i.find(Q=>Q.id===g);A?.linkedSelector&&_!==A.linkedSelector&&G(A.linkedSelector,"thread-focus",A.elements)}if(Y){let A=i.find(Q=>Q.id===Y);G(A?.linkedSelector,"annotation-hover",A?.elements)}if(c&&!p)for(let A of c.annotationIds){let Q=i.find(ne=>ne.id===A);G(Q?.linkedSelector,"nested-preview",Q?.elements)}if(p){for(let A of a)(A.status??"pending")==="pending"&&G(A.linkedSelector,"bundle-preview",A.elements);e&&!e.domEdit&&e.text?.trim()&&G(e.linkedSelector,"bundle-preview",e.elements);for(let A of[...s,...l])A.captured||G(A.selector,"bundle-preview",[A.element])}G(m,"badge-hover"),(r==="inspector"||r==="sticker")&&L&&!Y&&!m&&I(L,"inspector-hover")}let N=zb(oe),z=(A,Q)=>N.get(A)===Q,M=(A,Q)=>{if(!A)return null;let ne=new Map,ee=new Set;for(let[de,B]of A){let he=w(de);he&&z(he,Q)&&!ee.has(he)&&(ee.add(he),ne.set(de,B))}return ne.size>0?ne:null},j=new Set,R=(A,Q)=>!z(A,Q)||j.has(A)?!1:(j.add(A),!0);return{selectorElementInfo:H,hasExistingOverlay:A=>N.has(A),nestedBadgeOwnerSelector:_,hoveredLinkedAnnotationId:Y,hasSelectedHighlightForElement:q,getExistingAnnotationForElement:V,ownedInFlightSelectorColors:M(x,"in-flight"),ownedFocusedSelectorColors:M(S,"selected"),claimElementOverlay:R}}function Hb(e){let[t,n]=P();return Ct(()=>{if(!e)return;let r,o=()=>{if(!e.isConnected)return;let i=In(e);n(a=>a?.element===e&&a.rect.x===i.x&&a.rect.y===i.y&&a.rect.width===i.width&&a.rect.height===i.height?a:{element:e,rect:i}),r=requestAnimationFrame(o)};return o(),()=>cancelAnimationFrame(r)},[e]),t?.element===e?t.rect:void 0}var Ob=180,jp=16,Nb=50,Pp=180;async function Fb(e){let t=new Uint8Array(await e.arrayBuffer()),n=2166136261;for(let r of t)n^=r,n=Math.imul(n,16777619);return`${e.size.toString(36)}-${(n>>>0).toString(36)}`}function zp(e,t){return!e.frames||t===0?e:{...e,frames:e.frames.map(n=>({...n,imageIndex:n.imageIndex+t}))}}function hd(e){let t=e?.replace(/\s+/g," ").trim();if(t)return t.slice(0,Pp)}function _b(e){try{return zo(e)}catch{return}}function Dp(e){if(e instanceof HTMLVideoElement){let t=Number.isFinite(e.duration)?e.duration:void 0;return{kind:"video",currentTime:e.currentTime,...t===void 0?{}:{duration:t},paused:e.paused}}}function ra(e){if(!e||no(e))return;let t=e instanceof HTMLElement?e:null,n=e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?e:null,r=e.getBoundingClientRect(),o=e.getAttribute("role")??void 0,i=hd(e.getAttribute("class")),a=hd(e.getAttribute("aria-label")),s=hd(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement?void 0:e.textContent),l=Dp(e);return{selector:_b(e),tagName:e.tagName.toLowerCase(),...i?{className:i}:{},...o?{role:o}:{},...a?{ariaLabel:a}:{},...s?{text:s}:{},...n&&!(n instanceof HTMLInputElement&&n.type==="password")?{value:n.value.slice(0,Pp)}:{},...e instanceof HTMLInputElement&&(e.type==="checkbox"||e.type==="radio")?{checked:e.checked}:{},...t&&"disabled"in t&&typeof t.disabled=="boolean"?{disabled:t.disabled}:{},...e.hasAttribute("aria-expanded")?{expanded:e.getAttribute("aria-expanded")==="true"}:{},...e.hasAttribute("aria-pressed")?{pressed:e.getAttribute("aria-pressed")==="true"}:{},...e.hasAttribute("aria-selected")?{selected:e.getAttribute("aria-selected")==="true"}:{},rect:{x:Math.round(r.x),y:Math.round(r.y),width:Math.round(r.width),height:Math.round(r.height)},...l?{media:l}:{}}}function md(e){let{subject:t,target:n,adapter:r}=e,{left:o,top:i,width:a,height:s}=t.bounds,l=Dp(t.sourceElement??null);return{tagName:r.id,rect:{x:Math.round(o),y:Math.round(i),width:Math.round(a),height:Math.round(s)},subject:{adapter:n.adapter,key:n.key,label:t.label,...t.context?{context:t.context}:{},...t.data?{data:{...t.data}}:{}},...l?{media:l}:{}}}function Wb(e){return e.type==="click"?"click":e.type==="input"?"input":e.type==="change"?"change":e.type==="submit"?"submit":e.type==="keydown"?"keydown":e.type==="play"?"play":e.type==="pause"?"pause":e.type==="seeked"?"seek":null}function Jb(e,t,n){if(e==="scroll")return"Scrolled the page";let r=n??ra(t),o=r?.subject?.label??r?.ariaLabel??r?.text??r?.tagName??"element";return e==="click"?`Clicked ${o}`:e==="drag"?`Dragged ${o}`:e==="input"?`Entered text in ${o}`:e==="change"?`Changed ${o}`:e==="submit"?`Submitted ${o}`:e==="play"?`Played ${o}`:e==="pause"?`Paused ${o}`:e==="seek"?`Sought in ${o}`:`Pressed a key on ${o}`}function Bb(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function Ub(e){return e.metaKey||e.ctrlKey||e.altKey?!1:["Enter"," ","Escape","Tab","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(e.key)}function qb(e){return e instanceof Element?e:e.parentElement}function Kb(e){let t=e.now??(()=>Date.now()),n=t(),r=[],o=null,i=0,a=!1,s=e.captureFrame?.().catch(()=>null)??Promise.resolve(null),l=[],d=null,c=()=>{if(window.clearTimeout(i),i=0,!o)return;let m=t(),g=o.captureResult?.()??ra(o.targetElement),x=o.kind==="input"||o.kind==="change"||o.kind==="submit"||o.kind==="scroll"||o.kind==="play"||o.kind==="pause"||o.kind==="seek",S={id:o.id,action:{kind:o.kind,label:o.label,...o.key?{key:o.key}:{},...o.target?{target:o.target}:{}},startedAt:o.startedAt,completedAt:m,outcome:x||o.changes.length>0||Bb(o.target,g)?"changed":"no-observable-change",changes:o.changes,...g?{result:g}:{}};if(o=null,r.length<Nb&&(r.push(S),e.onStep?.(S),e.captureFrame)){let L=s,H=e.captureFrame().catch(()=>null);s=H,l.push(Promise.all([L,H]).then(([w,D])=>({step:S,before:w,after:D})))}},p=()=>{window.clearTimeout(i),i=window.setTimeout(c,Ob)},u=(m,g,x)=>{let{element:S,state:L}=g,H=o?.kind==="input"&&m==="input"&&o.targetElement===S,w=o?.kind==="click"&&(m==="input"||m==="change"||m==="play"||m==="pause"||m==="seek")&&o.targetElement===S;if(H||w){p();return}c(),o={id:`episode-step-${n}-${r.length+1}`,kind:m,label:Jb(m,S,L),...x?{key:x}:{},targetElement:S,target:L,captureResult:g.captureResult,startedAt:t(),changes:[]},e.onActionCountChange?.(r.length+1),p()},h=new MutationObserver(m=>{if(!(!o||a)){for(let g of m){if(o.changes.length>=jp)break;let x=(S,L)=>{if(!o||o.changes.length>=jp)return;let H=qb(L),w=ra(H);!w||o.changes.some(D=>D.kind===S&&D.element.selector===w.selector&&D.element.tagName===w.tagName&&D.element.text===w.text)||o.changes.push({kind:S,element:w})};g.addedNodes.forEach(S=>x("added",S)),g.removedNodes.forEach(S=>x("removed",S)),(g.type==="attributes"||g.type==="characterData")&&x("updated",g.target)}p()}});return h.observe(document.documentElement,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["aria-expanded","aria-pressed","aria-selected","checked","class","disabled","hidden","open","poster","src","value"]}),{recordEvent(m){if(a)return;if(m.type==="pointerdown"||m.type==="pointerup"){let H=m;if(m.type==="pointerdown"&&H.button===0){let w=e.resolveEventTarget?.(m),D=w?.element??(m.target instanceof Element&&!no(m.target)?m.target:null),_=w?.state??ra(D);if(!_)return;d={x:H.clientX,y:H.clientY,targetElement:D,target:_,captureResult:w?.captureResult};return}if(m.type==="pointerup"){let w=d;d=null,w?.targetElement&&Math.hypot(H.clientX-w.x,H.clientY-w.y)>4&&u("drag",{element:w.targetElement,state:w.target,captureResult:w.captureResult});return}}let g=Wb(m);if(!g||m instanceof KeyboardEvent&&!Ub(m))return;let x=e.resolveEventTarget?.(m),S=x?.element??(m.target instanceof Element&&!no(m.target)?m.target:null);if(!S)return;let L=x?.state??ra(S);L&&u(g,{element:S,state:L,captureResult:x?.captureResult},m instanceof KeyboardEvent?m.key:void 0)},recordScroll(){if(!a){if(o?.kind==="scroll"){p();return}u("scroll",{element:null,state:{tagName:"document",text:"page"}})}},hasActions(){return o!==null||r.length>0},async finish(){a||c(),a=!0,h.disconnect(),window.clearTimeout(i);let m={version:1,startedAt:n,completedAt:t(),subject:e.subjectState??ra(e.subjectElement),steps:[...r]};if(r.length===0||l.length===0)return{episode:m,frames:[]};let g=await Promise.all(l),x=[],S=new Map,L=[],H=async w=>{if(!w)return;let D=await Fb(w),_=S.get(D);if(_)return _;let E=`episode-frame-${n}-${x.length+1}`;return S.set(D,E),L.push({id:E,imageIndex:x.length,fingerprint:D}),x.push(w),E};for(let w of g){let D=await H(w.before),_=await H(w.after);(D||_)&&(w.step.visuals={...D?{beforeFrameId:D}:{},..._?{afterFrameId:_}:{}})}return L.length>0&&(m.frames=L),{episode:m,frames:x}},cancel(){a=!0,o=null,d=null,h.disconnect(),window.clearTimeout(i)}}}function Hp(e){return!!(e&&!e.domEdit&&(e.linkedSelector||e.target))}function Op(e){return!!(e&&e.type==="text"&&(e.status??"pending")==="pending"&&(e.linkedSelector||e.target))}function Yb(e,t){return!!(t&&e?.id===t.id)}function Xb(e,t,n){let r=[...n?[n]:[],...[...t].reverse()],o=new Set,i=[];for(let a of r){if(o.has(a))continue;o.add(a);let s=e.find(l=>l.id===a);s&&(i.push(s),s.groupId&&i.push(...e.filter(l=>l.id!==s.id&&l.groupId===s.groupId)))}return i}function Vb(e){let t=e.activationDraft??e.activeDraft;if(Hp(t))return{kind:"draft",value:t};let n=Xb(e.annotations,e.selectedAnnotationIds,e.lastSelectedId).find(Op);return n?{kind:"annotation",value:n}:Op(e.annotationAtCursor)?{kind:"annotation",value:e.annotationAtCursor}:null}var gd={kind:"root"},Gb=2;function Qb(e){return e==="color"?"slate":ll(e)[0]}function Zb(e){let t=Cs(e),n=Qb(e),r=e==="color";return{id:`family:${e}`,label:t,searchPath:t,destination:{family:e,subproperty:n,stage:r?"family":"value"},nextScope:r?{kind:"colors",family:e}:{kind:"values",family:e,subproperty:n}}}function Np(e,t){let n=Cs(e),r=km(e,t),o=e==="border"&&t==="all"?`${n} Width`:r===n?n:`${n} ${r}`,i=(e==="text"||e==="border")&&t==="color";return{id:`subproperty:${e}:${t}`,label:o,searchPath:o,destination:{family:e,subproperty:t,stage:i?"family":"value"},nextScope:i?{kind:"colors",family:e}:{kind:"values",family:e,subproperty:t}}}function ex(e,t){let n=t[0].toUpperCase()+t.slice(1);return{id:`color:${e}:${t}`,label:n,searchPath:n,destination:{family:e,subproperty:t,stage:"variant"},nextScope:{kind:"values",family:e,subproperty:t}}}function tx(e,t,n){return{id:`value:${e}:${t}:${n}`,label:String(n),searchPath:String(n),destination:{family:e,subproperty:t,step:n,stage:"value"}}}function nx(e){return e.kind==="root"?qi.flatMap(t=>{let n=Zb(t);return t==="color"?[n]:[n,...ll(t).filter(r=>!Yc(r)).map(r=>Np(t,r))]}):e.kind==="family"?ll(e.family).filter(t=>!Yc(t)).map(t=>Np(e.family,t)):e.kind==="colors"?qc.map(t=>ex(e.family,t)):gi(e.family,e.subproperty).map(t=>tx(e.family,e.subproperty,t))}function Na(e){return e.toLowerCase().trim().replace(/[^a-z0-9]+/g," ")}function Fp(e){return Na(e).replace(/\s+/g,"")}function rx(e){return Na(e).split(/\s+/).filter(Boolean).map(t=>t[0]).join("")}function ox(e,t){let n=Na(e);if(!n)return 0;let r=Na(t.searchPath),o=Na(t.label),i=Fp(e),a=Fp(t.searchPath),s=rx(t.searchPath);if(o===n)return 1e3;if(r===n)return 980;if(o.startsWith(n))return 940;if(r.startsWith(n))return 920;if(r.split(" ").some(c=>c.startsWith(n)))return 880;if(s.startsWith(i))return 850;if(a.startsWith(i))return 820;let l=0;for(let c of i){if(l=a.indexOf(c,l),l===-1)return-1;l+=1}let d=t.id.startsWith("family:")?20:0;return 500-Math.max(0,a.length-i.length)+d}function Fa(e,t){if(!t.trim())return null;let n=o=>nx(o).map((i,a)=>({candidate:i,index:a,score:ox(t,i)})).filter(i=>i.score>=0).sort((i,a)=>a.score-i.score||i.index-a.index)[0]?.candidate??null,r=n(e);if(r||e.kind==="root")return r;if(e.kind==="values"||e.kind==="colors"){let o=n({kind:"family",family:e.family});if(o)return o}return n(gd)}function yd(e,t){return t.trim().length<Gb?null:Fa(e,t)}function ix(e){return e.id.startsWith("family:")?{kind:"icon",label:e.label,family:e.destination.family,subproperty:"all"}:e.id.startsWith("subproperty:")?{kind:"icon",label:e.label,family:e.destination.family,subproperty:e.destination.subproperty??"all"}:{kind:"label",label:e.label}}function ax(e,t){return e?t?t.label.toLowerCase().startsWith(e.toLowerCase())?{typed:t.label.slice(0,e.length),completion:t.label.slice(e.length),fallback:""}:{typed:e,completion:"",fallback:t.label}:{typed:e,completion:"",fallback:""}:{typed:"",completion:"",fallback:"Steer a property"}}function wi(e,t){jr(e)&&(t.forEach(n=>e.style.removeProperty(n)),e.style.removeProperty("transition"))}function dr(e,t,n){return{property:e,original:`${t}px`,modified:`${n}px`}}function lx(e,t,n){wi(e,["font-size","line-height"]);let r=[];if(t.fontSize!==n.fontSize&&(it(e,"font-size",`${n.fontSize}px`),r.push(dr("font-size",t.fontSize,n.fontSize))),t.lineHeight!==n.lineHeight){let o=t.fontSize>0?Math.round(t.lineHeight/t.fontSize*1e3)/1e3:1.2,i=n.fontSize>0?Math.round(n.lineHeight/n.fontSize*1e3)/1e3:1.2;it(e,"line-height",`${i}`),r.push({property:"line-height",original:`${o}`,modified:`${i}`})}return r}var vd=["space-between","space-around","stretch","normal"];function sx(e,t,n,r){if(!t.hasMoved){if(r)return[];wi(e,[]);let i=t.justifyContent||"normal",a=vd.indexOf(i),s=vd[(a+1)%vd.length],l=[];return s==="normal"?(it(e,"justify-content","normal"),l.push({property:"justify-content",original:t.justifyContent,modified:"normal"})):s==="stretch"?(it(e,"justify-content",s),it(e,"row-gap","8px"),it(e,"column-gap","8px"),l.push({property:"justify-content",original:t.justifyContent||"normal",modified:s}),t.row!==8&&l.push(dr("row-gap",t.row,8)),t.column!==8&&l.push(dr("column-gap",t.column,8))):(wi(e,["row-gap","column-gap"]),it(e,"justify-content",s),l.push({property:"justify-content",original:t.justifyContent||"normal",modified:s}),t.row>0&&l.push(dr("row-gap",t.row,0)),t.column>0&&l.push(dr("column-gap",t.column,0))),l}if(!n)return[];wi(e,["row-gap","column-gap"]);let o=[];return t.isAuto?(wi(e,["justify-content"]),it(e,"justify-content","normal"),it(e,"row-gap",`${n.row}px`),it(e,"column-gap",`${n.column}px`),o.push({property:"justify-content",original:t.justifyContent,modified:"normal"}),o.push(dr("row-gap",0,n.row)),o.push(dr("column-gap",0,n.column)),o):(t.row!==n.row&&(it(e,"row-gap",`${n.row}px`),o.push(dr("row-gap",t.row,n.row))),t.column!==n.column&&(it(e,"column-gap",`${n.column}px`),o.push(dr("column-gap",t.column,n.column))),o)}var bd={"top-left":"border-top-left-radius","top-right":"border-top-right-radius","bottom-right":"border-bottom-right-radius","bottom-left":"border-bottom-left-radius"};function dx(e,t,n){let r=Object.values(bd);wi(e,r);let o=[];return Object.keys(bd).forEach(i=>{if(t[i]===n[i])return;let a=bd[i];it(e,a,`${n[i]}px`),o.push(dr(a,t[i],n[i]))}),o}function cx(e,t,n){wi(e,["padding"]);let r=[];return Object.keys(t).forEach(o=>{if(t[o]===n[o])return;let i=`padding-${o}`;it(e,i,`${n[o]}px`),r.push(dr(i,t[o],n[o]))}),r}function _p(){return{isDragging:!1,side:null,startX:0,startY:0,original:{top:0,right:0,bottom:0,left:0},element:null,elementInfo:null,selector:null,durableSelector:null}}function Wp(){return{isDragging:!1,hasMoved:!1,axis:null,startX:0,startY:0,originalRow:0,originalColumn:0,element:null,elementInfo:null,selector:null,durableSelector:null,isAuto:!1,originalJustifyContent:"",visualGap:0}}function Jp(){return{isDragging:!1,corner:null,startY:0,original:{"top-left":0,"top-right":0,"bottom-right":0,"bottom-left":0},maxRadius:0,element:null,elementInfo:null,selector:null,durableSelector:null}}function Bp(){return{isDragging:!1,property:null,startX:0,startY:0,originalFontSize:0,originalLineHeight:0,originalRatio:1.2,element:null,elementInfo:null,selector:null,durableSelector:null}}function jl(e,t){return!e.selector||!e.elementInfo||t.length===0?null:{selector:e.selector,durableSelector:e.durableSelector??void 0,element:e.elementInfo,changes:t}}function ux(e,t){return!e.element||!t?null:jl(e,lx(e.element,{fontSize:e.originalFontSize,lineHeight:e.originalLineHeight},t))}function px(e,t,n){return e.element?jl(e,sx(e.element,{hasMoved:e.hasMoved,isAuto:e.isAuto,row:e.originalRow,column:e.originalColumn,justifyContent:e.originalJustifyContent},t,n)):null}function fx(e,t){return!e.element||!t?null:jl(e,dx(e.element,e.original,t.radius))}function hx(e,t){return!e.element||!t?null:jl(e,cx(e.element,e.original,t.padding))}var mx="popmelt-steering-context",Up=1;function gx(e){return Ji(mx,e)}function oa(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function xd(e){return typeof e=="string"&&qi.includes(e)}function yx(e){return e==="family"||e==="variant"||e==="value"}function qp(e,t){return typeof t=="string"&&Uc(e,t)===t}function vx(e,t,n){return gi(e,t).includes(n)}function Pl(e){if(!oa(e)||!xd(e.family))return null;let t=e.family;if(!qp(t,e.subproperty))return null;let n=e.subproperty;return!yx(e.stage)||!vx(t,n,e.step)?null:{family:t,subproperty:n,stage:e.stage,step:e.step}}function Kp(e){if(!oa(e)||typeof e.kind!="string")return null;if(e.kind==="root")return{kind:"root"};if(e.kind==="family"&&xd(e.family))return{kind:"family",family:e.family};if(e.kind==="colors"&&(e.family==="border"||e.family==="color"||e.family==="text"))return{kind:"colors",family:e.family};if(e.kind==="values"&&xd(e.family)){let t=e.family;return qp(t,e.subproperty)?{kind:"values",family:t,subproperty:e.subproperty}:null}return null}function bx(e){if(!oa(e)||typeof e.query!="string"||!Array.isArray(e.segments)||!e.segments.every(i=>typeof i=="string"))return null;let t=Kp(e.scope),n=Pl(e.origin);if(!t||!n||!Array.isArray(e.history))return null;let r=[];for(let i of e.history){if(!oa(i))return null;let a=Kp(i.scope),s=Pl(i.snapshot);if(!a||!s)return null;r.push({scope:a,snapshot:s})}let o;if(e.segmentOrigin!==void 0){let i=Pl(e.segmentOrigin);if(!i)return null;o=i}return{query:e.query,segments:e.segments,scope:t,origin:n,...o?{segmentOrigin:o}:{},history:r}}function xx(e){let t=Pl(e);if(!t||!oa(e))return null;if(e.query===null)return{...t,query:null};let n=bx(e.query);return n?{...t,query:n}:null}function wx(e,t){try{let n=e.getItem(t);if(!n)return null;let r=JSON.parse(n);return!oa(r)||r.version!==Up?null:xx(r.context)}catch{return null}}function Sx(e,t,n){try{e.setItem(t,JSON.stringify({version:Up,context:n}))}catch{}}function Ix(e,t,n,r){return e===t?{preservedAway:r,shouldReset:!1}:n&&(e==="sticker"&&t==="inspector"||e==="inspector"&&t==="sticker")?{preservedAway:t==="inspector",shouldReset:!1}:{preservedAway:!1,shouldReset:r||e==="sticker"||t==="sticker"}}var Yp=100;function Xp(e,t){return e!=="sticker"||!t}var kx=new Set(["display","border-top-style","border-right-style","border-bottom-style","border-left-style"]);function Ex(e,t){return e?.element===t.element&&e.family===t.family&&e.step===t.step&&e.subproperty===t.subproperty&&e.valueOverride===t.valueOverride}function Vp(e,t,n){return t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom}function Tx(e,t,n,r,o,i,a){return i&&a&&Iv(i,r,o,a)||t===e?!0:t&&t!==e&&e.contains(t)?Vp(n,r,o):t&&t.contains(e)&&i&&a&&kv(i,r,o,a)?!0:Vp(n,r,o)||!!(i&&Sv(i,r,o))}function wd(e,t){t.value?e.style.setProperty(t.property,t.value,t.priority):e.style.removeProperty(t.property)}function Gp(e,t){return{property:t,value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}}function Cx(e){let t=new Set(e);for(let n of e){if(n==="padding"||n.startsWith("padding-")){t.add("padding");for(let r of["top","right","bottom","left"])t.add(`padding-${r}`)}if(n==="margin"||n.startsWith("margin-")){t.add("margin");for(let r of["top","right","bottom","left"])t.add(`margin-${r}`)}if(n==="border-radius"||/border-.+-radius/.test(n)){t.add("border-radius");for(let r of["top-left","top-right","bottom-right","bottom-left"])t.add(`border-${r}-radius`)}if(n==="border-width"||/border-.+-width/.test(n)){t.add("border-width");for(let r of["top","right","bottom","left"])t.add(`border-${r}-width`)}if(n==="border-color"||/border-.+-color/.test(n)){t.add("border-color");for(let r of["top","right","bottom","left"])t.add(`border-${r}-color`)}(n==="gap"||n==="row-gap"||n==="column-gap")&&(t.add("gap"),t.add("row-gap"),t.add("column-gap"))}return t}function _a(e){if(e){og(e.element);for(let t of e.declarations)wd(e.element,t)}}function Ax(e,t,n){e&&(_a(e),hu(t),mu(n))}function Mx(e){if(e)for(let t of e.activeDeclarations)wd(e.element,t)}function Rx(e,t,n,r,o=null,i){o&&o.element!==e&&(_a(o),o=null);let a=window.getComputedStyle(e),s=$c(t,r),l=i?a.getPropertyValue(s).trim()===i:jc(t,n,r,L=>a.getPropertyValue(L)),d=Pc(t),c=zc(t,r,n),p=t==="border"&&!mi(t,r)&&typeof n=="number"&&n>0?Dc(r):null,u=[s,...d?["display"]:[],...c.map(L=>L.property),...p?[p]:[]],h=[...new Set(u)],m=new Set([...h,"transition"]),g=new Map(o?.declarations.map(L=>[L.property,L])??[]);for(let L of g.values())m.has(L.property)||wd(e,L);let x=[...m].map(L=>g.get(L)??Gp(e,L)),S=h.filter(L=>!kx.has(L));ig(e,Cx(h)),S.length>0&&it(e,"transition",S.map(L=>`${L} ${Yp}ms ease-out`).join(", ")),d&&it(e,"display",d);for(let L of c)it(e,L.property,L.value);if(it(e,s,i??Ui(t,n,r)),p){let L=window.getComputedStyle(e).getPropertyValue(p).trim();(!L||L==="none")&&it(e,p,"solid")}return{preview:{element:e,declarations:x,activeDeclarations:[...m].map(L=>Gp(e,L))},stepUnavailable:l}}var Qp="[data-popmelt-subject-label-action]";function Lx(e){let t=Number(e.dataset.popmeltSubjectSurfaceLeft),n=Number(e.dataset.popmeltSubjectSurfaceTop),r=Number(e.dataset.popmeltSubjectSurfaceWidth),o=Number(e.dataset.popmeltSubjectSurfaceHeight);return[t,n,r,o].every(Number.isFinite)?{left:t,top:n,right:t+Math.max(0,r),bottom:n+Math.max(0,o)}:null}function Zp(e,t,n){let r=Lx(e);return r?t>=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom:!0}function $x(e,t){let{popmeltSubjectAdapter:n,popmeltSubjectKey:r}=t.dataset;return!n||!r?null:Array.from(e.querySelectorAll("[data-popmelt-subject-adapter][data-popmelt-subject-key]")).find(o=>!o.hasAttribute("data-popmelt-subject-label-action")&&o.dataset.popmeltSubjectAdapter===n&&o.dataset.popmeltSubjectKey===r)??null}function jx(e,t,n,r){let o=In(e),i=t.getBoundingClientRect();return n>=Math.min(o.left,i.left)&&n<=Math.max(o.right,i.right)&&r>=Math.min(o.top,i.top)&&r<=Math.max(o.bottom,i.bottom)}function ef(e,t,n){for(let r of e.querySelectorAll(Qp)){let o=r.getBoundingClientRect();if(t>=o.left&&t<=o.right&&n>=o.top&&n<=o.bottom){let i=$x(e,r);if(i&&!Zp(i,t,n))continue;return r}}return null}function Px(e,t,n,r){if(!(t instanceof HTMLElement))return!1;let{popmeltSubjectAdapter:o,popmeltSubjectKey:i}=t.dataset;if(!o||!i)return!1;let a=Array.from(e.querySelectorAll(`${Qp}[data-popmelt-subject-adapter][data-popmelt-subject-key]`)).find(s=>s.dataset.popmeltSubjectAdapter===o&&s.dataset.popmeltSubjectKey===i);return!a||!Zp(t,n,r)?!1:jx(t,a,n,r)}function zx(e){return!("button"in e)||e.button===0}function zl(e){let t=js(e);return{element:e,elementInfo:{...yn(e),selector:t},selector:t,durableSelector:zo(e)}}function Dl(e){return{x:e.x-window.scrollX,y:e.y-window.scrollY}}function Hl(e){it(e,"transition","none")}function Dx(e,t,n){let r=zl(e),o=Dl(n),i=Ta(e);return Hl(e),{session:{...r,isDragging:!0,side:t,startX:o.x,startY:o.y,original:i},dragging:{side:t,padding:{...i}}}}function Hx(e,t,n,r){let o=zl(e),i=Dl(n),a=cl(e),s=window.getComputedStyle(e).justifyContent,l=0;if(r){let c=ul(e).find(p=>p.axis===t);l=c?t==="column"?c.w:c.h:0}let d=r?{row:l,column:l}:a;return Hl(e),{session:{...o,isDragging:!0,hasMoved:!1,axis:t,startX:i.x,startY:i.y,originalRow:d.row,originalColumn:d.column,isAuto:r,originalJustifyContent:s,visualGap:l},dragging:{axis:t,...d}}}function Ox(e,t,n){let r=zl(e),o=Yi(e);return Hl(e),{session:{...r,isDragging:!0,corner:t,startY:Dl(n).y,original:o,maxRadius:Math.floor(e.getBoundingClientRect().height/2)},dragging:{corner:t,radius:{...o}}}}function Nx(e,t,n){let r=zl(e),o=Dl(n),i=lu(e);return Hl(e),{session:{...r,isDragging:!0,property:t,startX:o.x,startY:o.y,originalFontSize:i.fontSize,originalLineHeight:i.lineHeight,originalRatio:i.fontSize>0?i.lineHeight/i.fontSize:1.2},dragging:{property:t,...i}}}function Fx({activeText:e,applySticker:t,canvasRef:n,clearSelection:r,commentTextEditCandidateRef:o,commitActiveText:i,createInlineTextEdit:a,dispatch:s,domDragRef:l,editPendingLinkedComment:d,findAnnotationAtPoint:c,findHandleAtPoint:p,findTextAtPoint:u,gapDragRef:h,gapHoveredAxis:m,gapHoveredElement:g,gapIsAuto:x,getPoint:S,handleAnnotationActivation:L,handDragRef:H,handHoveredElement:w,handHoveredSide:D,hoveredElement:_,hoveredElementInfo:E,isElementInFlight:V,onCanvasInteraction:O,openThreadAndFocusReply:Y,pageAnnotations:q,modifiedElementThreadStates:oe,pageStyleModifications:I,parentPinnedAnnotationIds:G,pointerTargetOverrideRef:N,radiusDragRef:z,radiusHoveredCorner:M,radiusHoveredElement:j,selectAnnotation:R,setDragState:A,setGapDragging:Q,setHandDragging:ne,setPendingLinkedText:ee,setRadiusDragging:de,setResizeState:B,setStickerRejectPulse:he,setTextDragging:ge,state:te,stickerStage:ve,textDragRef:Oe,textHoveredElement:xe,textHoveredProperty:Xe,toolbarRef:K}){return U(Ke=>{if(!te.isAnnotating||!zx(Ke))return;O?.();let me=N?.current??null;N&&(N.current=null);let Ne=me?.element??_,Ve=me?.elementInfo??E,Te=S(Ke),je="shiftKey"in Ke&&Ke.shiftKey,ce="clientX"in Ke?{x:Ke.clientX,y:Ke.clientY}:"touches"in Ke&&Ke.touches[0]?{x:Ke.touches[0].clientX,y:Ke.touches[0].clientY}:null;if(te.activeTool==="sticker"){if("button"in Ke&&Ke.button!==0||ve!=="value")return;if(!ce){he(He=>He+1);return}let we=me?.element??yi(ce.x,ce.y);if(!(we instanceof HTMLElement)&&!(we instanceof SVGElement)){he(He=>He+1);return}Ke.preventDefault(),Ke.stopPropagation(),t(we);return}if(te.activeTool==="inspector"&&ce&&(!("button"in Ke)||Ke.button===0)){let we=a(ce.x,ce.y,Te);o.current=we?{edit:we,clientX:ce.x,clientY:ce.y,expiresAt:Date.now()+1e3}:null}else o.current=null;let at=u(Te);if(at?.points[0]){e&&i(),je||r();let we=at.threadId||(at.groupId?te.annotations.find(He=>He.groupId===at.groupId&&He.threadId)?.threadId:void 0);if(G.has(at.id)){o.current=null,L(at.id,we);return}we&&Y(we),A({annotation:at,startPoint:Te,hasMoved:!1});return}if(te.activeTool==="inspector"){if("button"in Ke&&Ke.button===2)return;if(Ne&&!V(Ne)){let we=q.filter(y=>y.type==="text"&&y.linkedSelector).filter(y=>Eu(y.linkedSelector,y.elements?.[0])===Ne).sort((y,re)=>re.timestamp-y.timestamp)[0];if(we?.points[0]){if((we.status??"pending")==="pending"&&!we.threadId)d(we.id);else{let y=we.threadId||(we.groupId?te.annotations.find(re=>re.groupId===we.groupId&&re.threadId)?.threadId:void 0);y&&Y(y)}return}let He=Ca(Ne),zt=new Set;for(let[y,re]of oe??[]){let Se=Tu(re.selectors??[y],re.targetFingerprint);Se.status==="matched"&&Se.element===Ne&&zt.add(re.threadId)}if(zt.size===1){Y([...zt][0]);return}let Et=Ve??yn(Ne),Jt=He?fu(He):zo(Ne),At=In(Ne),wt=Jt;if(!He){let y=Ne.getAttribute("data-pm");y||(y=Math.random().toString(36).substring(2,8),Ne.setAttribute("data-pm",y)),wt=gu(`[data-pm="${y}"]`,Ne.ownerDocument)}let Be=I.some(y=>{if(y.captured)return!1;try{return Xi(Ne,y.selector)}catch{return!1}}),gt=te.annotations.filter(y=>{if(!y.linkedSelector)return!1;try{return Xi(Ne,y.linkedSelector)}catch{return!1}}).length,Nn=(Be?1:0)+gt,dn=At.top>=22*(1+Nn)+Bi?"top-left":"bottom-left",Yt=n.current?.getContext("2d")??document.createElement("canvas").getContext("2d"),ze;Yt&&(Yt.font=`12px ${Ln}`,ze=Yt.measureText("Type here...").width);let rn=Ne===document.body?Hc(At):Oc(At,dn,Nn,K?.current,ze,0);ee({point:rn,subjectAnchor:He?{x:.5,y:.5}:void 0,linkedSelector:wt,target:He,linkedAnchor:dn,elements:[{...Et,selector:Jt}]})}return}if(te.activeTool==="hand"&&w&&Om(w)&&!g&&!j&&!xe&&!D){let we=w,He=js(we),zt=zo(we),Et=yn(we),Jt="altKey"in Ke&&Ke.altKey;l.current={isDragging:!0,hasMoved:!1,mode:Jt?"copy":"move",startX:Te.x-window.scrollX,startY:Te.y-window.scrollY,element:we,originalParent:we.parentElement,originalIndex:Nm(we),selector:He,durableSelector:zt,elementInfo:{...Et,selector:He}},Ke.preventDefault();return}if(te.activeTool==="hand"&&g&&m){let we=Hx(g,m,Te,x);h.current=we.session,Q(we.dragging);return}if(te.activeTool==="hand"&&xe&&Xe){let we=Nx(xe,Xe,Te);Oe.current=we.session,ge(we.dragging);return}if(te.activeTool==="hand"&&j&&M){let we=Ox(j,M,Te);z.current=we.session,de(we.dragging);return}if(te.activeTool==="hand"&&w&&D){let we=Dx(w,D,Te);H.current=we.session,ne(we.dragging);return}let ot=p(Te);if(ot){let we=te.annotations.find(He=>He.id===ot.annotationId);if(we&&we.type!=="text"&&(we.status??"pending")==="pending"){B({annotationId:ot.annotationId,handle:ot.handle,startPoint:Te,originalPoints:[...we.points],hasMoved:!1});return}}let Qe=c(Te);if(Qe?.points[0]){e&&i(),Qe.type!=="text"?(R(Qe.id,je),Qe.color&&(Qe.status??"pending")==="pending"&&s({type:"SET_COLOR",payload:Qe.color})):je||r();let we=Qe.threadId||(Qe.groupId?te.annotations.find(He=>He.groupId===Qe.groupId&&He.threadId)?.threadId:void 0);we&&(Qe.status??"pending")!=="pending"&&Y(we),A({annotation:Qe,startPoint:Te,hasMoved:!1});return}je||r()},[e,t,n,r,o,i,a,s,l,d,c,p,u,h,m,g,x,S,L,H,w,D,_,E,V,O,Y,q,oe,I,G,N,z,M,j,R,A,Q,ne,ee,de,B,he,ge,te.activeTool,te.annotations,te.isAnnotating,ve,Oe,xe,Xe,K])}function ia(e,t,n,r){let o=n.x-t.x,i=n.y-t.y,a=o*o+i*i;if(a===0)return Math.hypot(e.x-t.x,e.y-t.y)<=r;let s=Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*i)/a)),l=t.x+s*o,d=t.y+s*i;return Math.hypot(e.x-l,e.y-d)<=r}function _x({point:e,annotations:t,isHidden:n=()=>!1,textContainsPoint:r=()=>!1}){for(let o=t.length-1;o>=0;o-=1){let i=t[o];if(!i||n(i))continue;if(i.type==="text"){if(r(i,e))return i;continue}if(i.points.length<2)continue;let a=i.points[0],s=i.points[i.points.length-1],l=(i.strokeWidth||3)+4;if(i.type==="line"){if(ia(e,a,s,l))return i;continue}if(i.type==="freehand"){for(let h=0;h<i.points.length-1;h+=1)if(ia(e,i.points[h],i.points[h+1],l))return i;continue}let d=Math.min(a.x,s.x),c=Math.max(a.x,s.x),p=Math.min(a.y,s.y),u=Math.max(a.y,s.y);if(i.type==="rectangle"){if(ia(e,{x:d,y:p},{x:c,y:p},l)||ia(e,{x:d,y:u},{x:c,y:u},l)||ia(e,{x:d,y:p},{x:d,y:u},l)||ia(e,{x:c,y:p},{x:c,y:u},l))return i;continue}if(i.type==="circle"){let h=(c-d)/2,m=(u-p)/2;if(h===0||m===0)continue;let g=Math.hypot((e.x-(d+c)/2)/h,(e.y-(p+u)/2)/m);if(Math.abs(g-1)*Math.max(h,m)<=l)return i}}return null}function Wx(e,t,n,r){if(t.length===0)return null;let o=r/2+4;for(let i of t){let a=n.find(m=>m.id===i);if(!a||a.points.length<2)continue;let s=a.points[0],l=a.points[a.points.length-1];if(a.type==="line"){if(Math.hypot(e.x-s.x,e.y-s.y)<=o)return{handle:"start",annotationId:i};if(Math.hypot(e.x-l.x,e.y-l.y)<=o)return{handle:"end",annotationId:i};continue}let d,c,p,u;a.type==="freehand"?(d=Math.min(...a.points.map(m=>m.x)),c=Math.max(...a.points.map(m=>m.x)),p=Math.min(...a.points.map(m=>m.y)),u=Math.max(...a.points.map(m=>m.y))):(d=Math.min(s.x,l.x),c=Math.max(s.x,l.x),p=Math.min(s.y,l.y),u=Math.max(s.y,l.y));let h=a.type==="circle"?[{handle:"top",x:(d+c)/2,y:p},{handle:"bottom",x:(d+c)/2,y:u},{handle:"left",x:d,y:(p+u)/2},{handle:"right",x:c,y:(p+u)/2}]:a.type==="rectangle"||a.type==="freehand"?[{handle:"topLeft",x:d,y:p},{handle:"topRight",x:c,y:p},{handle:"bottomLeft",x:d,y:u},{handle:"bottomRight",x:c,y:u}]:[];for(let m of h)if(Math.hypot(e.x-m.x,e.y-m.y)<=o)return{handle:m.handle,annotationId:i}}return null}function Jx(e,t,n){if(!e)return{x:0,y:0};let r=t.touches?.[0],o=r?.clientX??t.clientX,i=r?.clientY??t.clientY;if(o===void 0||i===void 0)return{x:0,y:0};let a=e.getBoundingClientRect();return{x:o-a.left+n.x,y:i-a.top+n.y}}function Bx({annotation:e,point:t,context:n,groupNumber:r,scroll:o,textSafeBounds:i,parentPinned:a}){let s=e.points[0];if(!s||!e.text||!n)return!1;let l=4,d=e.fontSize||12;n.font=`${d}px ${Ln}`;let c=e.text.replace(/\n/g," "),p=r!==void 0?`${r}. ${c}`:c,u=s.x-o.x,h=a?zs:0,m=Math.max(60,$s(u)-h),g=du(n,p,m),x=n.measureText(g).width,S=d*lr,L=cu({x:s.x-o.x,y:s.y-o.y},d,i,h+x+16),H={x:L.x+o.x,y:L.y+o.y};return t.x>=H.x-8-l&&t.x<=H.x+h+x+8+l&&t.y>=H.y-4-l&&t.y<=H.y+S+4+l}function Ux({annotationGroupMap:e,annotations:t,canvasRef:n,handleSize:r,hiddenCollidingAnnotationIds:o,pageAnnotations:i,parentPinnedAnnotationIds:a,scroll:s,selectedAnnotationIds:l,supersededAnnotations:d,textSafeBounds:c}){let p=U(g=>Jx(n.current,g,{x:window.scrollX,y:window.scrollY}),[n]),u=U(g=>_x({point:g,annotations:i,isHidden:x=>d.has(x)||o.has(x.id),textContainsPoint:(x,S)=>Bx({annotation:x,point:S,context:n.current?.getContext("2d")??null,groupNumber:e.get(x.id),scroll:s,textSafeBounds:c,parentPinned:a.has(x.id)})}),[e,n,o,i,a,s,d,c]),h=U(g=>{let x=u(g);return x?.type==="text"?x:null},[u]),m=U(g=>Wx(g,l,t,r),[t,r,l]);return{findAnnotationAtPoint:u,findHandleAtPoint:m,findTextAtPoint:h,getPoint:p}}function qx({annotations:e,dragState:t,resizeState:n,dispatch:r,setDragState:o,setResizeState:i}){return U(({point:a,centerOrigin:s,lockAspect:l})=>{if(n){let d=e.find(p=>p.id===n.annotationId);if(!d)return!0;let c=Sb({annotation:d,session:n,point:a,centerOrigin:s,lockAspect:l});return r({type:"RESIZE_ANNOTATION",payload:{id:n.annotationId,points:c,saveUndo:!n.hasMoved}}),n.hasMoved||i({...n,hasMoved:!0}),!0}if(t&&(t.annotation.status??"pending")==="pending"){let d=xb(t,a);return d&&(o(d.session),r({type:"MOVE_ANNOTATION",payload:{id:t.annotation.id,delta:d.move.delta,...d.move.saveUndo?{saveUndo:!0}:{}}})),!0}return!1},[e,r,t,n,o,i])}function Kx({element:e,stickyElement:t,point:n,hitRadius:r=16}){let o=[];e&&o.push(e),t&&t!==e&&o.push(t);let i=null,a=r,s=null;for(let l of o){let d=l.getBoundingClientRect(),c=Yi(l),p=[["top-left",d.left,d.top+c["top-left"]],["top-right",d.right,d.top+c["top-right"]],["bottom-right",d.right,d.bottom-c["bottom-right"]],["bottom-left",d.left,d.bottom-c["bottom-left"]]];for(let[u,h,m]of p){let g=Math.hypot(n.x-h,n.y-m);g<a&&(a=g,i=u,s=l)}}return i&&s?{element:s,corner:i}:null}function Yx({element:e,point:t,maxCandidates:n=3}){let r=[];e&&uu(e)&&r.push(e);let o=e?.parentElement??null;for(;o&&o!==document.body&&r.length<n;)uu(o)&&r.push(o),o=o.parentElement;for(let i of r){let a=ul(i).find(s=>t.x>=s.x&&t.x<=s.x+s.w&&t.y>=s.y&&t.y<=s.y+s.h);if(a)return{element:i,axis:a.axis,isAuto:Ps(i,a.axis)}}return null}function Xx({element:e,stickyElement:t,point:n,hitRadius:r=12}){let o=[];e&&o.push(e),t&&t!==e&&o.push(t);let i=null,a=1/0,s=null;for(let l of o){if(!Zm(l))continue;let d=Ds(l);if(!d)continue;let c=n.x>=d.left&&n.x<=d.right&&n.y>=d.top&&n.y<=d.bottom,p=[["font-size",d.right,d.top+d.height/2],["line-height",d.left+d.width/2,d.bottom]];for(let[u,h,m]of p){let g=Math.hypot(n.x-h,n.y-m);(c||g<r)&&g<a&&(a=g,i=u,s=l)}}return i&&s?{element:s,property:i}:null}function Vx(e,t,n){let r=t.top+Math.max(n.top,4),o=t.bottom-Math.max(n.bottom,4),i=t.left+Math.max(n.left,4),a=t.right-Math.max(n.right,4);if(e.x<t.left||e.x>t.right||e.y<t.top||e.y>t.bottom)return null;let s=e.y<r,l=e.y>o,d=e.x<i,c=e.x>a;return s&&d?n.top>=n.left?"top":"left":s&&c?n.top>=n.right?"top":"right":l&&d?n.bottom>=n.left?"bottom":"left":l&&c?n.bottom>=n.right?"bottom":"right":s?"top":l?"bottom":d?"left":c?"right":null}var Sd=[0,1,2,4,8,12,16,20,24,28,32],Gx=[8,10,11,12,13,14,16,18,20,22,24,28,32,36,40,48,56,64,72,80,96];function Ol(e){for(let t=0;t<Sd.length-1;t++){let n=Sd[t],r=Sd[t+1];if(e<=(n+r)/2)return n;if(e<r)return r}return Math.round(e/8)*8}function Qx(e){return Gx.reduce((t,n)=>Math.abs(e-n)<Math.abs(e-t)?n:t)}function Zx(e,t,n){let r=e.axis;if(!r)return null;let o=!e.hasMoved;if(o){let s=Math.abs(t.x-e.startX),l=Math.abs(t.y-e.startY);if(s<=2&&l<=2)return null}let i=e.originalRow,a=e.originalColumn;if(r==="column"){let s=t.x-e.startX;a+=s,n.isolate||(i+=s)}else{let s=t.y-e.startY;i+=s,n.isolate||(a+=s)}return i=Math.max(0,i),a=Math.max(0,a),n.snap&&(i=Ol(i),a=Ol(a)),{axis:r,gap:{row:Math.round(i),column:Math.round(a)},started:o,convertedAuto:o&&e.isAuto}}function e0(e,t,n){let r=e.corner;if(!r)return null;let o=e.original[r]+t.y-e.startY;o=Math.max(0,Math.min(e.maxRadius,o)),n.snap&&(o=Ol(o)),o=Math.round(o);let i=n.isolate?{...e.original,[r]:o}:{"top-left":o,"top-right":o,"bottom-right":o,"bottom-left":o};return{corner:r,radius:i}}function t0(e,t,n){let r=e.property;if(!r)return null;let o=e.originalFontSize,i=e.originalLineHeight;if(r==="font-size")o=Math.max(1,e.originalFontSize+t.x-e.startX),n&&(o=Qx(o));else if(i=Math.max(o,e.originalLineHeight+t.y-e.startY),n){let a=o>0?i/o:1.2;i=o*Math.max(1,Math.round(a*2)/2)}return{property:r,text:{fontSize:Math.round(o),lineHeight:Math.round(i*10)/10}}}function n0(e,t,n){let r=e.side;if(!r)return null;let o={...e.original};if(r==="top"){let i=e.startY-t.y;o.top+=i,n.isolate||(o.bottom+=i)}else if(r==="bottom"){let i=t.y-e.startY;o.bottom+=i,n.isolate||(o.top+=i)}else if(r==="left"){let i=e.startX-t.x;o.left+=i,n.isolate||(o.right+=i)}else{let i=t.x-e.startX;o.right+=i,n.isolate||(o.left+=i)}return Object.keys(o).forEach(i=>{let a=Math.max(0,o[i]);n.snap&&(a=Ol(a)),o[i]=Math.round(a)}),{side:r,padding:o}}function r0({canvasRef:e,domDragRef:t,gapDragRef:n,gapHoveredAxis:r,gapHoveredElement:o,handCursorRef:i,handDragRef:a,handHoveredElement:s,handHoveredSide:l,modifiersRef:d,radiusDragRef:c,radiusHoveredCorner:p,radiusHoveredElement:u,setDomDropPreview:h,setGapDragging:m,setGapHoveredAxis:g,setGapHoveredElement:x,setGapIsAuto:S,setHandCursorPos:L,setHandDragging:H,setHandHoveredElement:w,setHandHoveredSide:D,setRadiusDragging:_,setRadiusHoveredCorner:E,setRadiusHoveredElement:V,setTextDragging:O,setTextHoveredElement:Y,setTextHoveredProperty:q,textDragRef:oe,textHoveredElement:I,textHoveredProperty:G}){return U(({x:N,y:z})=>{i.current={x:N,y:z},L({x:N,y:z});let M=d.current.cmd,j=d.current.shift;if(t.current.isDragging){let ee=t.current,de=ee.element;if(!de)return;if(!ee.hasMoved){let he=Math.abs(N-ee.startX),ge=Math.abs(z-ee.startY);if(he<=3&&ge<=3)return;ee.hasMoved=!0}let B=Qm(N,z,de,e.current);if(!B){h(null);return}h({rect:B.reference.getBoundingClientRect(),placement:B.placement,mode:ee.mode});return}if(n.current.isDragging){let ee=n.current,de=ee.element;if(!de)return;let B=Zx(ee,{x:N,y:z},{isolate:M,snap:j});if(!B)return;B.started&&(ee.hasMoved=!0),B.convertedAuto&&(it(de,"justify-content","normal"),it(de,"row-gap",`${ee.visualGap}px`),it(de,"column-gap",`${ee.visualGap}px`),S(!1)),it(de,"row-gap",`${B.gap.row}px`),it(de,"column-gap",`${B.gap.column}px`),m({axis:B.axis,...B.gap});return}if(c.current.isDragging){let ee=c.current,de=ee.element;if(!de)return;let B=e0(ee,{y:z},{isolate:M,snap:j});if(!B)return;it(de,"border-top-left-radius",`${B.radius["top-left"]}px`),it(de,"border-top-right-radius",`${B.radius["top-right"]}px`),it(de,"border-bottom-right-radius",`${B.radius["bottom-right"]}px`),it(de,"border-bottom-left-radius",`${B.radius["bottom-left"]}px`),_(B);return}if(oe.current.isDragging){let ee=oe.current,de=ee.element;if(!de)return;let B=t0(ee,{x:N,y:z},j);if(!B)return;it(de,"font-size",`${B.text.fontSize}px`);let he=B.text.fontSize>0?Math.round(B.text.lineHeight/B.text.fontSize*1e3)/1e3:1.2;it(de,"line-height",`${he}`),O({property:B.property,...B.text});return}if(a.current.isDragging){let ee=a.current,de=ee.element;if(!de)return;let B=n0(ee,{x:N,y:z},{isolate:M,snap:j});if(!B)return;it(de,"padding",`${B.padding.top}px ${B.padding.right}px ${B.padding.bottom}px ${B.padding.left}px`),H(B);return}let R=yi(N,z);for(;R&&R.tagName==="A";)R=R.parentElement;let A=Kx({element:R,stickyElement:u,point:{x:N,y:z}});if(A){V(A.element),E(A.corner),s&&w(null),l&&D(null),o&&x(null),r&&g(null),S(!1),I&&Y(null),G&&q(null);return}u&&V(null),p&&E(null);let Q=Yx({element:R,point:{x:N,y:z}});if(Q){x(Q.element),g(Q.axis),S(Q.isAuto),s&&w(null),l&&D(null),I&&Y(null),G&&q(null);return}o&&x(null),r&&g(null),S(!1);let ne=Xx({element:R,stickyElement:I,point:{x:N,y:z}});if(ne?(Y(ne.element),q(ne.property)):(I&&Y(null),G&&q(null)),R!==s&&w(R),R){let ee=Ta(R);D(Vx({x:N,y:z},R.getBoundingClientRect(),ee))}else D(null)},[e,t,n,r,o,i,a,s,l,d,c,p,u,h,m,g,x,S,L,H,w,D,_,E,V,O,Y,q,oe,I,G])}function o0({activeTool:e,isAnnotating:t,lastCanvasCursorRef:n,getPoint:r,isManipulating:o,findTextAtPoint:i,clearPageElementHover:a,handleShakePointerMove:s,handleTargetPointerMove:l,handleHandPointerMove:d,handleAnnotationPointerMove:c}){return U(p=>{let u=r(p),h={x:u.x-window.scrollX,y:u.y-window.scrollY},m="metaKey"in p&&(!("pointerType"in p)||p.pointerType==="mouse");n.current=h;let g=o();if(!s({isManipulating:g,isTouchEvent:"touches"in p||"pointerType"in p&&p.pointerType!=="mouse",viewportPoint:h})){if(!g&&i(u)){a();return}if(!l({viewportPoint:h,passThrough:m&&(p.metaKey||p.ctrlKey),stopPropagation:()=>p.stopPropagation()})){if(e==="hand"&&t){d(h);return}c({point:u,centerOrigin:m&&(p.metaKey||p.ctrlKey),lockAspect:m&&p.shiftKey})}}},[e,a,i,r,c,d,s,l,t,o,n])}function i0({rawElement:e,point:t,dragHandoff:n,previewTarget:r,handleHitSize:o}){let i=!!(n?.element.isConnected&&(e===n.element||Av(n.releasePoint,t))),a=!!(n&&!i),s=!!(!a&&r?.element.isConnected&&Tx(r.element,e,r.bounds,t.x,t.y,r.renderedQuad,o));return{candidate:i?n.element:s?r.element:e,clearDragHandoff:a,clearPreviewTarget:!!(r&&!s)}}function a0(e,t,n){return t?e!=="sticker"&&n(t)?null:t:null}function tf({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n}){return t&&!n&&(e==="inspector"||e==="sticker")}function l0(e,t){return e?.subjectLabel!==t.subjectLabel||e?.textContent!==t.textContent||e?.context!==t.context}function s0(e,t){return!!(e&&t&&(e.adapter!==t.adapter||e.key!==t.key))}function d0(e,t,n,r=16){if(!(e instanceof HTMLImageElement||e instanceof HTMLVideoElement)||t)return!1;let o=In(e);return n.x<o.left||n.x>o.right||n.y<o.top||n.y>o.bottom?!1:Math.min(n.x-o.left,o.right-n.x,n.y-o.top,o.bottom-n.y)<=r}function c0({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n,hoveredElement:r,hoveredElementInfo:o,subjectRegistry:i,stickerFamily:a,stickerStage:s,stickerSubproperty:l,steerDragRef:d,transformDragHandoffRef:c,transformPreviewSuppressionRef:p,transformPreviewTargetRef:u,clearStickerPreview:h,isElementInFlight:m,setHoveredElement:g,setHoveredElementInfo:x,setStickerCursor:S,setStickerStep:L}){return U(({viewportPoint:H,passThrough:w,stopPropagation:D})=>{if(!tf({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n}))return!!n;if(e==="sticker"&&(D(),S(H)),d.current)return!0;if(dg(H.x,H.y))return e==="sticker"&&h(),r&&g(null),o&&x(null),S(null),!0;let _={allowBodyFallback:e==="inspector"},E=w?cg(H.x,H.y,_):yi(H.x,H.y,_),V=e==="inspector"?i?.hitTest(H):null,O=d0(E,!!V,H),Y=Ca(r),q=s0(Y,V?.target),oe=!V&&Y?i?.resolve(Y)?.subject.sourceElement:void 0,I=oe&&!ug(oe,H.x,H.y);if(!O&&!q&&!I&&e==="inspector"&&Px(document,r,H.x,H.y))return!0;let G=V?.element??E,N=e==="sticker"&&s==="value"&&a==="transform"?u.current:null,z=w?{candidate:G,clearDragHandoff:!!c.current,clearPreviewTarget:!!N}:i0({rawElement:G,point:H,dragHandoff:c.current,previewTarget:N,handleHitSize:20});z.clearDragHandoff&&(c.current=null),z.clearPreviewTarget&&(u.current=null);let M=z.candidate,j=a0(e,M,m);if(j===r)return V?.element===j&&l0(o,V.elementInfo)&&x(V.elementInfo),!0;if(e==="sticker"&&h(),e==="sticker"&&jr(j)&&a==="transform"&&(l==="translate"||l==="scale"||l==="rotate")){let R=Rv(j,l);p.current={element:j,subproperty:l,step:R},L(R)}else a==="transform"&&(p.current=null);return g(j),x(V?.element===j?V.elementInfo:j?yn(j):null),!0},[e,h,r,o,t,m,g,x,S,L,d,a,s,l,i,n,c,p,u])}function u0({onSuspend:e,onRestore:t,suspendedRef:n}){let r,o=()=>{n.current||(n.current=!0,e()),clearTimeout(r),r=setTimeout(()=>{n.current=!1,t()},96)};return window.addEventListener("scroll",o,{capture:!0,passive:!0}),()=>{window.removeEventListener("scroll",o,!0),clearTimeout(r),n.current=!1}}function p0(e){let t=r0(e),n=qx(e),r=c0(e),o=J(r),i=J(e.clearPageElementHover),a=J(!1),s=tf({activeTool:e.activeTool,isAnnotating:e.isAnnotating,suspendTargetDiscovery:e.suspendTargetDiscovery});Ct(()=>{o.current=r,i.current=e.clearPageElementHover},[r,e.clearPageElementHover]),F(()=>{if(s)return u0({onSuspend:()=>i.current(),onRestore:()=>{let c=e.lastCanvasCursorRef.current;c&&o.current({viewportPoint:c,passThrough:!1,stopPropagation:()=>{}})},suspendedRef:a})},[e.lastCanvasCursorRef,s]);let l=U(c=>a.current?!0:o.current(c),[]);F(()=>{let c=p=>{p.repeat||p.key!=="Meta"&&p.key!=="Control"||!e.lastCanvasCursorRef.current||l({viewportPoint:e.lastCanvasCursorRef.current,passThrough:!0,stopPropagation:()=>{}})};return window.addEventListener("keydown",c,!0),()=>window.removeEventListener("keydown",c,!0)},[l,e.lastCanvasCursorRef]),F(()=>{let c=p=>{let u=e.canvasRef.current;if(u&&p.composedPath().includes(u))return;let h={x:p.clientX,y:p.clientY};e.lastCanvasCursorRef.current=h,l({viewportPoint:h,passThrough:p.metaKey||p.ctrlKey,stopPropagation:()=>{}})};return window.addEventListener("mousemove",c,!0),()=>window.removeEventListener("mousemove",c,!0)},[l,e.canvasRef,e.lastCanvasCursorRef]),F(()=>{if(e.subjectRegistry)return e.subjectRegistry.subscribeFrame(()=>{let c=e.lastCanvasCursorRef.current;c&&l({viewportPoint:c,passThrough:!1,stopPropagation:()=>{}})})},[l,e.lastCanvasCursorRef,e.subjectRegistry]);let d=U(()=>!!e.dragState||!!e.resizeState||e.domDragRef.current.isDragging||e.handDragRef.current.isDragging||e.gapDragRef.current.isDragging||e.radiusDragRef.current.isDragging||e.textDragRef.current.isDragging,[e.domDragRef,e.dragState,e.gapDragRef,e.handDragRef,e.radiusDragRef,e.resizeState,e.textDragRef]);return o0({...e,isManipulating:d,handleAnnotationPointerMove:n,handleHandPointerMove:t,handleTargetPointerMove:l})}function f0({annotationGroupMap:e,canvasRef:t,currentPathname:n,cursorPosRef:r,dispatch:o,domDragRef:i,dragState:a,gapDragRef:s,gapDragging:l,getPoint:d,handDragRef:c,handDragging:p,lastPositionedTextId:u,radiusDragRef:h,radiusDragging:m,resizeState:g,setActiveText:x,setDomDropPreview:S,setDragState:L,setGapDragging:H,setHandDragging:w,setRadiusDragging:D,setResizeState:_,setSendHintAnchorId:E,setTextDragging:V,textDragRef:O,textDragging:Y}){return U(q=>{if(i.current.isDragging){let z=i.current,M=d(q),j=Fm({drag:z,clientX:M.x-window.scrollX,clientY:M.y-window.scrollY,pathname:n,createId:_m,rootElement:t.current});j&&o({type:"MODIFY_DOM_STRUCTURE",payload:j}),i.current=Gc(),S(null);return}if(O.current.isDragging){let z=ux(O.current,Y);z&&o({type:"MODIFY_STYLES_BATCH",payload:z}),O.current=Bp(),V(null);return}if(s.current.isDragging){let z="button"in q&&q.button===2,M=px(s.current,l,z);M&&o({type:"MODIFY_STYLES_BATCH",payload:M}),s.current=Wp(),H(null);return}if(h.current.isDragging){let z=fx(h.current,m);z&&o({type:"MODIFY_STYLES_BATCH",payload:z}),h.current=Jp(),D(null);return}if(c.current.isDragging){let z=hx(c.current,p);z&&o({type:"MODIFY_STYLES_BATCH",payload:z}),c.current=_p(),w(null);return}if(g){_(null);return}if(!a)return;let oe=e.get(a.annotation.id),I=t.current?.getContext("2d"),G=0;oe!==void 0&&I&&(I.font=`${a.annotation.fontSize||12}px ${Ln}`,G=I.measureText(`${oe}. `).width);let N=wb({session:a,clickPoint:d(q),groupLabelWidth:G});N&&(u.current=null,r.current=null,E(a.annotation.id),N.color&&o({type:"SET_COLOR",payload:N.color}),x(N.activeText)),L(null)},[e,t,n,r,o,i,a,s,l,d,c,p,u,h,m,g,x,S,L,H,w,D,_,E,V,O,Y])}var h0=class{constructor(){this.anchor=null,this.axis=null,this.direction=0,this.reversals=0,this.sequenceStartedAt=0,this.lastTriggerAt=Number.NEGATIVE_INFINITY}push(e){if(e.time-this.lastTriggerAt<700)return this.anchor=e,!1;if(!this.anchor||this.sequenceStartedAt&&e.time-this.sequenceStartedAt>520)return this.reset(e),!1;let t=e.x-this.anchor.x,n=e.y-this.anchor.y,r=Math.hypot(t,n);if(!this.axis)return r<16||(this.axis={x:t/r,y:n/r},this.direction=1,this.sequenceStartedAt=e.time,this.anchor=e),!1;let o=t*this.axis.x+n*this.axis.y,i=t*-this.axis.y+n*this.axis.x;if(Math.abs(o)<16)return!1;if(Math.abs(i)>Math.abs(o)*.7)return this.reset(e),!1;let a=Math.sign(o);return a===this.direction?(this.anchor=e,!1):(this.direction=a,this.reversals+=1,this.anchor=e,this.reversals<3?!1:(this.lastTriggerAt=e.time,this.reset(e,!0),!0))}reset(e=null,t=!1){this.anchor=e,this.axis=null,this.direction=0,this.reversals=0,this.sequenceStartedAt=0,t||(this.lastTriggerAt=Number.NEGATIVE_INFINITY)}};function m0({activeTool:e,isAnnotating:t,clearStickerPreview:n,dispatch:r,setStickerCursor:o,startCursorSwitchPulse:i}){let a=J(new h0),s=J(null);return{handleShakePointerMove:U(({isManipulating:l,isTouchEvent:d,viewportPoint:c})=>{if(d||l||!t||e!=="inspector"&&e!=="sticker"||!a.current.push({...c,time:performance.now()}))return!1;let p=e==="sticker"?"inspector":"sticker";return s.current={from:e,to:p},i(p),p==="sticker"?o(c):n(),r({type:"SET_TOOL",payload:p}),!0},[e,n,r,t,o,i]),pendingShakeToolTransitionRef:s}}function nf(e){return Math.random().toString(36).substring(2,e+2)}function g0(e,t,n,r={}){let{textNode:o,targetElement:i,textNodePath:a,segments:s,originalText:l,rect:d,boundaryRect:c,boundaryRects:p,flowRect:u,firstLineIndent:h,styles:m,fontSize:g,wrapsText:x}=e,S=i.getAttribute("data-pm");S||(S=r.createPmId?.()??nf(6),i.setAttribute("data-pm",S));let L=gu(`[data-pm="${S}"]`,i.ownerDocument),H=Ws({left:0,top:0,width:1,height:1},i.ownerDocument).height,w=D=>D?.endsWith("px")?`${parseFloat(D)*H}px`:D;return{id:r.createEditId?.()??nf(7),point:{x:d.left+n.x,y:d.top+n.y},text:l,fontSize:g*H,isNew:!0,clickPoint:t,domEdit:{selector:L,durableSelector:zo(i),element:{...yn(i),selector:L},textNodePath:a,originalText:l,textNode:o,targetElement:i,segments:s,rect:d,boundaryRect:c,boundaryRects:p,flowRect:u,firstLineIndent:h,fontFamily:m.fontFamily,fontWeight:m.fontWeight,fontStyle:m.fontStyle,lineHeight:m.lineHeight==="normal"?`${Math.round(g*H*1.2*10)/10}px`:w(m.lineHeight),letterSpacing:w(m.letterSpacing),color:m.color,textTransform:m.textTransform,textAlign:m.textAlign,wordSpacing:w(m.wordSpacing),textDecoration:m.textDecoration,textShadow:m.textShadow,whiteSpace:m.whiteSpace,wordBreak:m.wordBreak,overflowWrap:m.overflowWrap,wrapsText:x}}}function y0(e){let t=Gm(e.clientX,e.clientY,e.canvas);return t?g0(t,e.clickPoint,e.scroll):null}function v0({activeText:e,activeTextRef:t,canvasRef:n,clearPageElementHover:r,clearSelection:o,clearSignal:i,commentTextEditCandidateRef:a,cursorPosRef:s,dispatch:l,findTextAtPoint:d,lastPositionedTextId:c,onAttachImages:p,onCloseThread:u,onSend:h,pendingLinkedText:m,releaseActiveTextAttachments:g,setActiveText:x,setDragState:S,setHoveredTextId:L,setPendingLinkedText:H,setSendHintAnchorId:w,state:D,stateRef:_}){F(()=>{m&&(x({id:Math.random().toString(36).substring(2,9),point:m.point,subjectAnchor:m.subjectAnchor,text:"",fontSize:12,isNew:!0,linkedSelector:m.linkedSelector,target:m.target,linkedAnchor:m.linkedAnchor,elements:m.elements}),H(null))},[m,x,H]),F(()=>{let G=N=>{if(e)return;let z=d({x:N.clientX+window.scrollX,y:N.clientY+window.scrollY});L(z?.id??null)};return window.addEventListener("mousemove",G),()=>window.removeEventListener("mousemove",G)},[e,d,L]);let E=U(()=>{if(!e)return;if(e.domEdit){x(null);return}let G=Tb(e);G.sendHintAnchorId&&w(G.sendHintAnchorId),G.action&&l(G.action),G.attachedImages&&p&&p(G.attachedImages.annotationId,G.attachedImages.images),x(null)},[e,l,p,x,w]),V=U(G=>{let N=_.current.annotations.find(M=>M.id===G);if(!N||N.type!=="text"||!N.points[0]||(N.status??"pending")!=="pending")return;let z=t.current;z&&z.id!==N.id&&E(),o(),r(),c.current=null,s.current=N.text?.length??0,w(N.id),N.color&&l({type:"SET_COLOR",payload:N.color}),x({id:N.id,point:N.points[0],text:N.text||"",fontSize:N.fontSize||12,isNew:!1,groupId:N.groupId,linkedSelector:N.linkedSelector,target:N.target,linkedAnchor:N.linkedAnchor,elements:N.elements,...N.region?{region:N.region}:{},attachments:N.attachments,interactionEpisode:N.interactionEpisode})},[t,r,o,E,s,l,c,x,w,_]),O=J(!1),Y=U(()=>{if(!h)return;let G=t.current;if(fm(G?{text:G.text,originalText:G.domEdit?.originalText,hasInteractionEpisode:!!G.interactionEpisode?.steps.length}:null)){O.current=!0,E();return}h()},[t,E,h]);F(()=>{e||!O.current||(O.current=!1,h?.())},[e,h,D.annotations,D.textModifications]);let q=J(i);F(()=>{if(i===q.current)return;q.current=i;let G=t.current;G?.domEdit&&G.domEdit.segments.forEach(z=>{z.textNode.nodeValue=z.originalText});let N=G?.isNew?G.attachments??[]:[];g(N),O.current=!1,x(null),H(null),w(null),S(null),s.current=null,c.current=null,Ss(localStorage)},[t,i,s,c,g,x,S,H,w]);let oe=U((G,N,z)=>y0({clientX:G,clientY:N,clickPoint:z,canvas:n.current,scroll:{x:window.scrollX,y:window.scrollY}}),[n]),I=U(G=>{u?.(),H(null),S(null),w(null),o(),r(),c.current=null,x(G)},[r,o,c,u,x,S,H,w]);return F(()=>{let G=M=>{if(M.button!==0)return;let j=_.current,R=a.current;if(!j.isAnnotating||j.activeTool!=="inspector"||!R)return;let A=Date.now()>R.expiresAt,Q=Math.hypot(M.clientX-R.clientX,M.clientY-R.clientY)>12,ne=R.edit.domEdit;if(A||Q||!ne?.textNode.isConnected||!ne.targetElement.isConnected){a.current=null;return}M.preventDefault(),M.stopPropagation(),a.current=null,I(R.edit)},N=M=>{M.detail===2&&G(M)},z=M=>{G(M)};return window.addEventListener("mousedown",N,!0),window.addEventListener("dblclick",z,!0),()=>{window.removeEventListener("mousedown",N,!0),window.removeEventListener("dblclick",z,!0)}},[a,I,_]),{commitActiveText:E,createInlineTextEdit:oe,editPendingLinkedComment:V,handleSendPendingBundle:Y}}function b0(e,t){let n=Pr(Ki),r=e?.domEdit?.textNode;F(()=>{if(!n||!r)return;let o=null,i=()=>{t(a=>{if(!a?.domEdit)return a;let{textNode:s,targetElement:l,segments:d,rect:c,boundaryRect:p,boundaryRects:u,flowRect:h,firstLineIndent:m}=a.domEdit;if(!s.isConnected||!l.isConnected||!fl(l.ownerDocument))return null;let g=zg(l).getComputedStyle(l),x=Ws({left:0,top:0,width:1,height:1},l.ownerDocument).height,S=(parseFloat(g.fontSize)||12)*x,L=O=>O?.endsWith("px")?`${parseFloat(O)*x}px`:O,H=Ym(d,l,g),{textRect:w,boundaryRect:D,boundaryRects:_,flowRect:E,firstLineIndent:V}=H;return su(c,w)&&su(p,D)&&Xm(u,_)&&Vm(h,E)&&Math.abs(m-V)<.5?a:{...a,fontSize:S,point:{x:w.left+window.scrollX,y:w.top+window.scrollY},domEdit:{...a.domEdit,rect:w,boundaryRect:D,boundaryRects:_,flowRect:E,firstLineIndent:V,lineHeight:g.lineHeight==="normal"?`${S*1.2}px`:L(g.lineHeight),letterSpacing:L(g.letterSpacing),wordSpacing:L(g.wordSpacing)}}}),o=window.requestAnimationFrame(i)};return o=window.requestAnimationFrame(i),()=>{o!==null&&window.cancelAnimationFrame(o)}},[n,r,t])}function x0({activeText:e,activeTextRef:t,canvasRef:n,visible:r}){let o=Pr(Ki),i=J(null),[a,s]=P(null),l=J(null),d=J(null),c=e?.id??null;return Ct(()=>{if(!o)return;let p=i.current,u=e?.domEdit;if(!p||!e||!u){s(null);return}let h=u.flowRect??u.rect,m=Math.max(1,window.innerWidth-h.left),g=Math.min(m,Math.max(1,h.width));p.style.width=`${u.wrapsText?g:1}px`,p.style.height="1px";let x=u.wrapsText?g:Math.min(m,Math.max(g,Math.ceil(p.scrollWidth)));p.style.width=`${x}px`;let S=Math.max(h.height,Math.ceil(p.scrollHeight));p.style.height=`${S}px`,s(L=>L?.id===e.id&&Math.abs(L.width-x)<.5&&Math.abs(L.height-S)<.5?L:{id:e.id,width:x,height:S})},[e,o]),F(()=>{if(!o)return;if(!c){l.current=null,d.current=null;return}if(!r||!i.current){l.current=null;return}let p=requestAnimationFrame(()=>{let u=i.current;if(!u||(u.focus(),l.current===c))return;l.current=c;let h=t.current;if(h){if(h.domEdit){u.setSelectionRange(0,u.value.length);return}if(d.current!==null){let m=Math.min(d.current,u.value.length);u.setSelectionRange(m,m);return}if(!h.isNew&&h.clickPoint){let m=n.current?.getContext("2d");if(!m)return;m.font=`${h.fontSize}px ${Ln}`;let g=Rb({text:h.text,fontSize:h.fontSize,point:h.point,clickPoint:h.clickPoint,context:m});u.setSelectionRange(g,g)}}});return()=>cancelAnimationFrame(p)},[c,t,n,r,o]),{cursorPosRef:d,domEditInputSize:a,inputRef:i,lastPositionedTextId:l}}var Id=["flex-start","center","flex-end"],kd=["flex-start","center","flex-end"],w0=300,rf=20;function S0({enabled:e,dispatch:t,handCursorRef:n,setGapRefreshKey:r}){let[o,i]=P(null),a=U(()=>i(null),[]);return F(()=>{let s=null,l=!1,d=null,c=null,p=null,u=null,h=0,m=(O,Y)=>{let q=yi(O,Y);for(;q&&q!==document.documentElement;){let oe=window.getComputedStyle(q).display;if(oe==="flex"||oe==="inline-flex")return q;q=q.parentElement}return null},g=O=>{let Y=window.getComputedStyle(O).flexDirection;return Y==="column"||Y==="column-reverse"?"vertical":"horizontal"},x=O=>{let Y=O.getAttribute("data-pm");return Y||(Y=Math.random().toString(36).substring(2,8),O.setAttribute("data-pm",Y)),{selector:`[data-pm="${Y}"]`,durableSelector:zo(O)}},S=()=>{l=!0,s&&clearTimeout(s),s=setTimeout(()=>{l=!1,s=null},w0)},L=(O,Y,q)=>{let oe=g(O);if(Y===oe){let I=window.getComputedStyle(O).justifyContent,G=I==="normal"||I==="flex-start"||I==="start"?"flex-start":I==="flex-end"||I==="end"?"flex-end":I==="center"?"center":null;if(!G)return;let N=Id.indexOf(G)+q;if(N<0||N>=Id.length)return;let z=Id[N],{selector:M,durableSelector:j}=x(O);it(O,"justify-content",z),t({type:"MODIFY_STYLES_BATCH",payload:{selector:M,durableSelector:j,element:yn(O),changes:[{property:"justify-content",original:I,modified:z}]}})}else{let I=window.getComputedStyle(O).flexDirection,G=oe==="horizontal"?"column":"row",{selector:N,durableSelector:z}=x(O);it(O,"flex-direction",G),t({type:"MODIFY_STYLES_BATCH",payload:{selector:N,durableSelector:z,element:yn(O),changes:[{property:"flex-direction",original:I,modified:G}]}})}r(I=>I+1)},H=(O,Y,q)=>{let oe=g(O)==="horizontal"?"vertical":"horizontal";if(Y!==oe)return;let I=window.getComputedStyle(O).alignItems,G=I==="normal"||I==="stretch"||I==="flex-start"||I==="start"?"flex-start":I==="flex-end"||I==="end"?"flex-end":I==="center"?"center":null;if(!G)return;let N=kd.indexOf(G)+q;if(N<0||N>=kd.length)return;let z=kd[N],{selector:M,durableSelector:j}=x(O);it(O,"align-items",z),t({type:"MODIFY_STYLES_BATCH",payload:{selector:M,durableSelector:j,element:yn(O),changes:[{property:"align-items",original:I,modified:z}]}}),r(R=>R+1)},w=(O,Y,q)=>{let oe=m(Y,q);i(oe?{modifier:O,target:oe}:null)},D=()=>{p=null,u=null,h=0,d=null,c=null,i(null)},_=O=>{if(!e)return;let Y=n.current;O.key==="Shift"&&!O.altKey?w("shift",Y.x,Y.y):O.key==="Alt"&&!O.shiftKey&&w("alt",Y.x,Y.y)},E=O=>{if(!e)return;let Y=O.shiftKey&&!O.altKey,q=O.altKey&&!O.shiftKey;if(!Y&&!q||O.buttons!==0){D();return}if(d===null&&(d=O.clientX,c=O.clientY,w(Y?"shift":"alt",O.clientX,O.clientY)),l)return;p===null&&(p=O.clientX,u=O.clientY,h=0);let oe=O.clientX-p,I=O.clientY-u,G=Math.abs(oe)>=Math.abs(I)?oe:I;if(Math.abs(G)>3){let j=G>0?1:-1;if(h!==0&&j!==h){p=O.clientX,u=O.clientY,h=0;return}h=j}if(Math.abs(oe)<rf&&Math.abs(I)<rf)return;let N=m(d,c);if(!N)return;let z=Math.abs(oe)>=Math.abs(I)?"horizontal":"vertical",M=(z==="horizontal"?oe:I)>0?1:-1;p=null,u=null,h=0,Y?L(N,z,M):H(N,z,M),S()},V=O=>{(O.key==="Shift"||O.key==="Alt")&&D()};return window.addEventListener("keydown",_),window.addEventListener("mousemove",E),window.addEventListener("mousedown",D),window.addEventListener("keyup",V),()=>{window.removeEventListener("keydown",_),window.removeEventListener("mousemove",E),window.removeEventListener("mousedown",D),window.removeEventListener("keyup",V),s&&clearTimeout(s)}},[t,e,n,r]),{swipeHint:o,clearSwipeHint:a}}function I0(e,t,n){let{destination:r,mode:o,scope:i}=t;if(o==="preview"&&i.kind!=="values"){let u=r.family,h=r.subproperty??As(u,e.subproperty);return{next:{family:u,subproperty:h,step:ka(u,e.step,h),stage:i.kind==="colors"?"variant":"family"},pulseContextLabel:!1}}let a=r.family,s=r.step!==void 0,l=Rs(a),d=!s&&mi(a,r.subproperty??"all")?n.readColor(l):null,c=r.subproperty??As(a,e.subproperty);a==="color"&&r.stage==="family"&&(c=d?.name??$r.name),(a==="border"||a==="text")&&r.subproperty==="color"&&(c=d?.name??$r.name);let p=s?null:d?d.name===c?d.step:Ms:n.readStep(a,c);return{next:{family:a,subproperty:c,step:r.step??p??ka(a,e.step,c),stage:r.stage},pulseContextLabel:r.stage!=="family"}}function Ed(e){if(e.kind==="colors")return"variant";if(e.kind==="values")return"value"}function k0(e){return e.stage==="variant"&&mi(e.family,e.subproperty)&&(e.family==="border"||e.family==="color"||e.family==="text")?{kind:"colors",family:e.family}:e.stage==="value"?{kind:"values",family:e.family,subproperty:e.subproperty}:gd}function E0(e,t,n,r=!1){if(!e)return n!==" "?{handled:!1,session:e}:r?{handled:!0,session:e}:{handled:!0,session:{query:"",segments:[],scope:k0(t),origin:t,history:[]}};if(n==="Escape")return{handled:!0,session:null};if(n==="Backspace"){if(e.query){let a=e.query.slice(0,-1),s=yd(e.scope,a);return{handled:!0,session:{...e,query:a},restore:s?void 0:e.segmentOrigin,destination:s?{mode:"preview",scope:e.scope,value:s.destination}:void 0}}let i=e.history.at(-1);return i?{handled:!0,restore:i.snapshot,session:{...e,query:"",segmentOrigin:void 0,segments:e.segments.slice(0,-1),scope:i.scope,history:e.history.slice(0,-1)}}:{handled:!0,session:null,restore:e.origin}}if(n===" "){if(!e.query.trim())return{handled:!0,session:e};let i=Fa(e.scope,e.query);return i?.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:i.destination},stage:Ed(i.nextScope),session:{...e,query:"",segmentOrigin:void 0,segments:[...e.segments,e.query.trim()],scope:i.nextScope,history:[...e.history,{scope:e.scope,snapshot:t}]}}:{handled:!0,session:e,command:"reject"}}if(n==="Enter"){if(e.scope.kind==="values"){let a=e.query.trim()?Fa(e.scope,e.query):null;return e.query.trim()&&!a?{handled:!0,session:e,command:"reject"}:a?.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:a.destination},stage:Ed(a.nextScope),session:{...e,query:"",segmentOrigin:void 0,segments:[...e.segments,e.query.trim()],scope:a.nextScope,history:[...e.history,{scope:e.scope,snapshot:t}]}}:{handled:!0,session:e,destination:a?{mode:"navigate",scope:e.scope,value:a.destination}:void 0,command:"apply"}}let i=Fa(e.scope,e.query);return i?i.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:i.destination},stage:Ed(i.nextScope),session:{...e,query:"",segmentOrigin:void 0,segments:[...e.segments,e.query.trim()],scope:i.nextScope,history:[...e.history,{scope:e.scope,snapshot:t}]}}:{handled:!0,session:null,destination:{mode:"navigate",scope:e.scope,value:i.destination}}:{handled:!0,session:e,command:"reject"}}let o=n.toLowerCase();if(!r&&(o==="w"||o==="a"||o==="s"||o==="d")&&e.query.at(-1)===o)return{handled:!1,session:null,replayAsSteering:!0,restore:e.segmentOrigin??e.origin};if(n.length===1){let i=`${e.query}${n.toLowerCase()}`,a=yd(e.scope,i);return{handled:!0,session:{...e,query:i,segmentOrigin:e.query?e.segmentOrigin:t},destination:a?{mode:"preview",scope:e.scope,value:a.destination}:void 0}}return{handled:!1,session:e}}function T0(e,t,n){let r=t.toLowerCase(),o=()=>({handled:!0,next:e});if(r==="a"||r==="d"||t==="ArrowLeft"||t==="ArrowRight"){let i=r==="a"||t==="ArrowLeft"?-1:1;if(e.stage==="family"){let a=xm(e.family,i),s=a==="color"?$r.name:As(a,e.subproperty);return{handled:!0,next:{family:a,subproperty:s,step:a==="color"?$r.step:ka(a,e.step,s),stage:e.stage}}}return e.stage==="variant"&&mi(e.family,e.subproperty)?{handled:!0,next:{...e,subproperty:wm(e.subproperty,i),step:Ms}}:{handled:!0,next:{...e,step:Sm(e.family,e.step,i,e.subproperty)}}}if(r==="q"||r==="e"){if(e.family==="color")return o();let i=r==="q"?-1:1,a=Im(e.family,e.subproperty,i);if((e.family==="text"||e.family==="border")&&a==="color"){if(e.stage==="family")return{handled:!0,next:{...e,subproperty:"color",step:Ms}};let s=n.readColor(Rs(e.family));return{handled:!0,next:{...e,subproperty:s?.name??$r.name,step:s?.step??$r.step,stage:Kc(e.stage,e.family,a)}}}return{handled:!0,next:{...e,subproperty:a,step:n.readStep(e.family,a)??ka(e.family,e.step,a),stage:Kc(e.stage,e.family,a)}}}if(r==="w"||t==="Enter"){if(e.stage==="family"){if(e.family==="color"){let i=n.readColor("background-color");return{handled:!0,next:{...e,subproperty:i?.name??$r.name,step:i?.step??$r.step,stage:"variant"}}}if((e.family==="text"||e.family==="border")&&e.subproperty==="color"){let i=n.readColor(Rs(e.family));return{handled:!0,next:{...e,subproperty:i?.name??$r.name,step:i?.step??$r.step,stage:"variant"}}}return{handled:!0,next:{...e,step:n.readStep(e.family,e.subproperty)??e.step,stage:"value"}}}return e.stage==="variant"?{handled:!0,next:{...e,step:ka(e.family,e.step,e.subproperty),stage:"value"}}:{handled:!0,next:e,command:"apply"}}return r==="s"?e.stage==="value"?{handled:!0,next:{...e,stage:mi(e.family,e.subproperty)?"variant":"family"}}:e.stage==="variant"?{handled:!0,next:{...e,subproperty:e.family==="text"?"color":e.subproperty,stage:"family"}}:o():t==="Escape"&&e.stage!=="family"?{handled:!0,stopPropagation:!0,next:{...e,subproperty:e.stage==="variant"&&e.family==="text"?"color":e.subproperty,stage:e.stage==="value"&&mi(e.family,e.subproperty)?"variant":"family"}}:{handled:!1,next:e}}function C0({active:e,family:t,step:n,subproperty:r,stage:o,query:i,setFamily:a,setStep:s,setSubproperty:l,setStage:d,setQuery:c,setCursor:p,setContextLabelPulse:u,setDepthSnapPulse:h,setRejectPulse:m,lastCursorRef:g,toolbarRef:x,previewRef:S,applyStickerRef:L,readColor:H,readStep:w}){F(()=>{if(!e)return;g.current&&p(g.current);let D=_=>{let E=_.composedPath?.()[0]??_.target;if(E?.tagName==="INPUT"||E?.tagName==="TEXTAREA"||E?.isContentEditable||E&&x?.current?.contains(E)||_.metaKey||_.ctrlKey||_.altKey)return;let V={family:t,step:n,subproperty:r,stage:o},O=I=>{a(I.family),s(I.step),l(I.subproperty),d(I.stage)},Y=I=>{let G=I0(V,I,{readColor:H,readStep:w});return O(G.next),G.pulseContextLabel&&u(N=>N+1),G.next},q=E0(i,V,_.key,_.repeat);if(q.replayAsSteering&&(c(null),h(I=>I+1)),q.handled){_.preventDefault(),_.stopPropagation(),q.restore&&O(q.restore);let I=q.destination?Y({mode:q.destination.mode,scope:q.destination.scope,destination:q.destination.value}):void 0;if(q.stage&&d(q.stage),q.command==="reject"&&m(G=>G+1),q.command==="apply"){let G=S.current?.element,N=I?{family:I.family,step:I.step,subproperty:I.subproperty}:void 0;G&&L.current(G,N)?c(null):(c(q.session),G||m(z=>z+1));return}c(q.session);return}let oe=T0(q.replayAsSteering&&q.restore?q.restore:V,_.key,{readColor:H,readStep:w});if(oe.handled&&(_.preventDefault(),oe.stopPropagation&&_.stopPropagation(),a(oe.next.family),s(oe.next.step),l(oe.next.subproperty),d(oe.next.stage),oe.command==="apply")){let I=S.current?.element;I?L.current(I):m(G=>G+1)}};return window.addEventListener("keydown",D,!0),()=>window.removeEventListener("keydown",D,!0)},[e,L,t,g,S,i,H,w,u,p,h,a,c,m,d,s,l,o,n,r,x])}function A0(e,t,n,r){let{deltaX:o,deltaY:i}=t;if(e.transformKind==="translate"&&e.startTranslate){let p=Cv({x:o,y:i},r),u=io("translate",e.startTranslate.x+p.x),h=io("translate",e.startTranslate.y+p.y),m=Math.abs(p.x)>=Math.abs(p.y)?u:h;return{subproperty:"translate",step:m,drag:{...e,subproperty:"translate",step:m,translateSteps:{x:u,y:h},translateValue:`${Number(u)*4}px ${Number(h)*4}px`,hasMoved:e.hasMoved||Math.abs(o)>2||Math.abs(i)>2,cursor:t.cursor,deltaX:o,deltaY:i}}}let a=e.vector?Lv(o,i,e.vector):e.axis==="x"?o:i,s=e.startPixels+a*(e.direction??1),l=e.transformKind==="rotate"?s:Math.max(0,s),d=e.side?od(e.side,n):e.corner?id(e.corner,n):e.subproperty,c=e.transformKind?io(e.transformKind,l):Ll(e.family,d,l);return{subproperty:d,step:c,drag:{...e,subproperty:d,step:c,hasMoved:e.hasMoved||Math.abs(o)>2||Math.abs(i)>2,cursor:t.cursor,deltaX:o,deltaY:i}}}function M0(){let[e,t]=P(null),n=J(e);n.current=e;let r=J(null),o=U(d=>{let c=d.requestPointerLock;if(typeof c=="function"){r.current=d;try{let p=c.call(d);p&&p.catch(()=>{r.current===d&&(r.current=null)})}catch{r.current=null}}},[]),i=U((d,c)=>{n.current=d,t(d),o(c)},[o]),a=U(d=>{n.current=d,t(d)},[]),s=U(()=>{n.current=null,t(null)},[]),l=U(()=>{let d=r.current;r.current=null,d&&document.pointerLockElement===d&&document.exitPointerLock()},[]);return{drag:e,dragRef:n,pointerLockElementRef:r,startDrag:i,replaceDrag:a,clearDrag:s,releasePointerLock:l}}function R0(e,t){let n=J(t);n.current=t;let{dragRef:r,pointerLockElementRef:o,replaceDrag:i,clearDrag:a,releasePointerLock:s}=e;F(()=>{let l=(g,x)=>{let S=r.current;if(!S)return;let L=o.current,H=L!==null&&document.pointerLockElement===L?$v(S,{x:g.movementX,y:g.movementY},{width:window.innerWidth,height:window.innerHeight}):{cursor:{x:g.clientX,y:g.clientY},deltaX:g.clientX-S.startX,deltaY:g.clientY-S.startY},w=A0(S,H,x,g.shiftKey);n.current.onSelectionChange(w.subproperty,w.step),i(w.drag),n.current.onCursorChange(H.cursor)},d=()=>{n.current.onCancel(),a(),s()},c=(g,x)=>{let S=r.current;if(!S)return;let L=S.side?od(S.side,g):S.corner?id(S.corner,g):S.subproperty;S.hasMoved&&n.current.onCommit(S,L,x),a(),s()},p=g=>{r.current&&(g.preventDefault(),l(g,g.altKey||g.ctrlKey))},u=g=>{r.current&&(g.preventDefault(),c(g.altKey||g.ctrlKey,{x:g.clientX,y:g.clientY}))},h=g=>{g.key!=="Escape"||!r.current||(g.preventDefault(),g.stopPropagation(),d())},m=()=>{let g=o.current;g&&document.pointerLockElement!==g&&r.current&&d()};return window.addEventListener("pointermove",p,{passive:!1}),window.addEventListener("pointerup",u),window.addEventListener("pointercancel",d),window.addEventListener("keydown",h,!0),document.addEventListener("pointerlockchange",m),()=>{window.removeEventListener("pointermove",p),window.removeEventListener("pointerup",u),window.removeEventListener("pointercancel",d),window.removeEventListener("keydown",h,!0),document.removeEventListener("pointerlockchange",m),s()}},[a,r,o,s,i])}function L0({applyStickerRef:e,clearStickerPreview:t,dispatch:n,hoveredElement:r,lastCanvasCursorRef:o,setHoveredElement:i,setHoveredElementInfo:a,setStickerApplyPulse:s,setStickerCursor:l,setStickerRejectPulse:d,setStickerStep:c,setStickerSubproperty:p,stickerFamily:u,stickerStep:h,stickerSubproperty:m,transformDragHandoffRef:g,transformPreviewSuppressionRef:x,transformPreviewTargetRef:S}){let L=M0(),{drag:H,dragRef:w,startDrag:D}=L,_=U((N,z)=>{if(no(N))return d(ee=>ee+1),!1;t();let M=z?.family??u,j=z?.step??h,R=z?.subproperty??m;if(!wl(N,M,R))return d(ee=>ee+1),!1;let A=M==="transform"&&R==="translate"&&z?.axisSteps?Bu(N,z.axisSteps.x,z.axisSteps.y):Ju(N,M,j,R);if(A.alreadyApplied)return d(ee=>ee+1),!1;let Q=js(N),ne=zo(N);return my(N,A),n({type:"MODIFY_STYLES_BATCH",payload:{selector:Q,durableSelector:ne,element:{...yn(N),selector:ne},changes:A.changes}}),s(ee=>ee+1),!0},[t,n,s,d,u,h,m]);e.current=_;let E=U((N,z,M)=>{if(!(r instanceof HTMLElement))return;M.preventDefault(),M.stopPropagation(),M.currentTarget.setPointerCapture(M.pointerId),t();let j=N==="margin"?nu(r):Ta(r),R=z==="left"||z==="right"?"x":"y",A=od(z,M.altKey||M.ctrlKey),Q=N==="margin",ne=z==="top"||z==="left"?Q?-1:1:Q?1:-1,ee=Ll(N,A,j[z]);p(A),c(ee),D({element:r,family:N,subproperty:A,startX:M.clientX,startY:M.clientY,startPixels:j[z],deltaX:0,deltaY:0,direction:ne,axis:R,step:ee,hasMoved:!1,side:z,cursor:{x:M.clientX,y:M.clientY}},M.currentTarget)},[t,r,c,p,D]),V=U((N,z)=>{if(!(r instanceof HTMLElement)||u!=="stack"&&u!=="grid")return;z.preventDefault(),z.stopPropagation(),z.currentTarget.setPointerCapture(z.pointerId),t();let M=cl(r),j=N==="row"?M.row:M.column,R=Ll(u,"gap",j);p("gap"),c(R),D({element:r,family:u,subproperty:"gap",startX:z.clientX,startY:z.clientY,startPixels:j,deltaX:0,deltaY:0,direction:1,axis:N==="row"?"y":"x",step:R,hasMoved:!1,gapAxis:N,cursor:{x:z.clientX,y:z.clientY}},z.currentTarget)},[t,r,c,p,D,u]),O=U((N,z)=>{if(!(r instanceof HTMLElement))return;z.preventDefault(),z.stopPropagation(),z.currentTarget.setPointerCapture(z.pointerId),t();let M=id(N,z.altKey||z.ctrlKey),j=Yi(r)[N],R=Ll("radius",M,j);p(M),c(R),D({element:r,family:"radius",subproperty:M,startX:z.clientX,startY:z.clientY,startPixels:j,deltaX:0,deltaY:0,vector:ad(N),step:R,hasMoved:!1,corner:N,cursor:{x:z.clientX,y:z.clientY}},z.currentTarget)},[t,r,c,p,D]),Y=U((N,z,M,j)=>{if(!jr(r))return;M.preventDefault(),M.stopPropagation(),M.currentTarget.setPointerCapture(M.pointerId);let R=window.getComputedStyle(r).getPropertyValue(N).trim(),A=N==="translate"?hp(R):void 0,Q=N==="scale"?(Number.parseFloat(R)||1)*100:N==="translate"?A.x:Number.parseFloat(R)||0,ne=io(N,Q),ee=Da(r),de=Qi(r,ee),B=N==="scale"&&z?Ev(de,z):N==="rotate"?Tv(de,j??pp(de,20).side):void 0,he=A?{x:io("translate",A.x),y:io("translate",A.y)}:void 0;x.current=null,g.current=null,t(),p(N),c(ne),D({element:r,family:"transform",subproperty:N,startX:M.clientX,startY:M.clientY,startPixels:Q,deltaX:0,deltaY:0,direction:1,vector:B,step:ne,hasMoved:!1,transformKind:N,transformCorner:z??void 0,startTranslate:A,translateSteps:he,translateValue:A?`${A.x}px ${A.y}px`:void 0,ghostQuad:de,cursor:{x:M.clientX,y:M.clientY}},M.currentTarget)},[t,r,c,p,D,g,x]),q=U((N,z)=>{p(N),c(z)},[c,p]),oe=U(N=>{o.current=N,l(N)},[o,l]),I=U((N,z,M)=>{e.current(N.element,{family:N.family,step:N.step,subproperty:z,axisSteps:N.translateSteps}),N.family==="transform"&&(x.current={element:N.element,subproperty:N.subproperty,step:N.step},g.current={element:N.element,releasePoint:M},S.current=null,i(N.element),a(yn(N.element)))},[e,i,a,g,x,S]),G=U(()=>{t(),x.current=null,g.current=null},[t,g,x]);return R0(L,{onSelectionChange:q,onCursorChange:oe,onCommit:I,onCancel:G}),{applySticker:_,beginSteerGapDrag:V,beginSteerRadiusDrag:O,beginSteerSpacingDrag:E,beginSteerTransformDrag:Y,steerDrag:H,steerDragRef:w}}function $0(e,t){F(()=>{let n=r=>{if(r.pointerType==="touch")return;let o={x:r.clientX,y:r.clientY};e.current=o,t?.(o)};return window.addEventListener("pointermove",n,{capture:!0,passive:!0}),()=>window.removeEventListener("pointermove",n,{capture:!0})},[e,t])}function j0(e){return e instanceof Element&&e.closest("[data-popmelt-steer-overlay]")!==null}function of(e){return e instanceof Element&&e.closest("[data-popmelt-subject-label-action]")!==null}var af=8,Td=-.5,ao="__active_text_send_hint__",P0=4;function z0({historyPreview:e,bridgeUrl:t,steeringContextStorageKey:n,state:r,dispatch:o,onScreenshot:i,inFlightAnnotationIds:a,inFlightOrientationLabels:s,waitingApprovalJobIds:l,activeAnnotationIds:d,queuePositionMap:c,inFlightStyleSelectors:p,inFlightStyleSelectorJobIds:u,inFlightSelectorColors:h,modifiedElementThreadStates:m,dismissedThreadIds:g,onAttachImages:x,onRemoveImages:S,onCaptureInteractionFrame:L,onSend:H,onViewThread:w,onCloseThread:D,onArchiveThread:_,onDeleteSubmittedAnnotation:E,highlightedAnnotationIds:V,cycleFocusedAnnotationIds:O,onCanvasInteraction:Y,focusedThreadAnnotationId:q,openThreadId:oe,hasOpenThread:I=!1,externalCanvasRef:G,toolbarRef:N,threadPanelElement:z,clearSignal:M=0,subjectRegistry:j,subjectRegistryReady:R=!0,onFocusTargetChange:A,onFocusActivity:Q}){let ne=Pr(Ki),{canvasRef:ee,redrawAll:de,resizeCanvas:B}=Jh(),[he,ge]=P(null),[te,ve]=P(0),[Oe,xe]=P(0),Xe=U(()=>xe(v=>v+1),[]),K=ys(),Ke=U(v=>{ee.current=v,G&&(G.current=v),ge(C=>C===v?C:v)},[G,ee]);Ct(()=>{if(!j||!R)return;let v=!1;for(let C of r.annotations)C.target&&(v=!0,!j.resolve(C.target)&&C.elements?.[0]&&j.restore(C.target,C.elements[0]));v&&ve(C=>C+1)},[r.annotations,j,R]);let me=J(null),Ne=J(0),[Ve,Te]=P(null),je=U(()=>{let v=me.current;me.current=null,Te(null),v&&(v.session.cancel(),v.captureTarget.hasPointerCapture(v.pointerId)&&v.captureTarget.releasePointerCapture(v.pointerId))},[]),ce=J(!1),[at,ot]=P(!1),Qe=J(null),we=J(null),[He,zt]=P(!1),Et=J(Promise.resolve()),[Jt,At]=P(0),[wt,Be]=P(null),gt=U(()=>{if(!L)return Promise.resolve(null);let v=Et.current.then(async()=>(await new Promise(C=>window.requestAnimationFrame(()=>C())),L()));return Et.current=v.catch(()=>null),v},[L]),Nn=J(r.activeTool),dn=J(null),Yt=J(null),ze=U(()=>{Qe.current?.cancel(),Qe.current=null,we.current=null,ce.current=!1,dn.current=null,Yt.current=null,ot(!1),zt(!1),At(0),Be(null)},[]),rn=U(()=>{je(),ce.current=!0,Nn.current=r.activeTool,ot(!0)},[je,r.activeTool]);F(()=>{ce.current&&r.activeTool!==Nn.current&&ze()},[ze,r.activeTool]),F(()=>{(!r.isAnnotating||r.activeTool!=="inspector")&&je()},[je,r.activeTool,r.isAnnotating]),F(()=>()=>{let v=me.current;me.current=null,v?.session.cancel()},[]);let{activeText:y,setActiveText:re,handleTextPaste:Se,removeActiveTextAttachment:We,releaseActiveTextAttachments:Rt}=qy({bridgeUrl:t,annotations:r.annotations}),[St,Re]=P(null),[Ge,Gt]=P(null),[ye,Fe]=P(null),[Ye,ht]=P(0),tt=J(null),Ze=J(null),Lt=J(null),[Je,cn]=P(null),[Fn,_n]=P(null),co=J(void 0);co.current===void 0&&(co.current=n&&typeof window<"u"?wx(window.localStorage,n):null);let ur=co.current,[$t,Qt]=P(()=>ur?.family??"padding"),[vn,bn]=P(()=>ur?.step??4),[Bt,Wn]=P(()=>ur?.subproperty??"all"),[Ut,En]=P(()=>ur?.stage??"family"),[Hr,xn]=P(null);$0(Ze,He?Be:r.isAnnotating&&r.activeTool==="sticker"?xn:void 0);let[Zn,Or]=P(null),$n=U(v=>{Or({id:performance.now(),nativeReady:!1,tool:v})},[]),[Zt,ki]=P(0),[Tn,jt]=P(0),[Dt,Nr]=P(0),[er,on]=P(0),[Ei,pr]=P(!1),[Fr,Ht]=P(0),[qt,Jn]=P(()=>ur?.query??null);F(()=>{!n||typeof window>"u"||Sx(window.localStorage,n,{family:$t,step:vn,subproperty:Bt,stage:Ut,query:qt})},[n,$t,qt,Ut,vn,Bt]);let uo=J(r.activeTool),fr=J(!1),po=J(()=>!1),Tt=J(null),It=J(null),Ti=J(r.styleModifications),hn=J(null),Pe=J(null),Bn=J(null),wn=J(null),Nt=U(()=>{wn.current!==null&&(cancelAnimationFrame(wn.current),wn.current=null)},[]),hr=U(()=>{if(Nt(),!ne)return;let v=performance.now()+Yp,C=()=>{Mx(Tt.current);let Z=hn.current;Z&&Tt.current?.element===Z.element&&(Z.renderedQuad=Qi(Z.element,Z.layoutQuad)),Ht(le=>le+1),performance.now()<v?wn.current=requestAnimationFrame(C):wn.current=null};wn.current=requestAnimationFrame(C)},[Nt,ne]);F(()=>(ne?Tt.current&&hr():Nt(),Nt),[ne,hr,Nt]);let Ft=U(()=>{Nt();let v=Tt.current;v&&(_a(v),Tt.current=null,It.current=null,Ht(C=>C+1))},[Nt]),{handleShakePointerMove:sa,pendingShakeToolTransitionRef:an}=m0({activeTool:r.activeTool,isAnnotating:r.isAnnotating,clearStickerPreview:Ft,dispatch:o,setStickerCursor:xn,startCursorSwitchPulse:$n});Ct(()=>{let v=Ti.current,C=r.styleModifications;Ti.current=C,!(v===C||!Tt.current)&&(Nt(),Ax(Tt.current,v,C),Tt.current=null,It.current=null,hn.current=null,Ht(Z=>Z+1))},[r.styleModifications,Nt]),Ct(()=>{Xp(r.activeTool,r.isAnnotating)&&(Ft(),Pe.current=null,Bn.current=null)},[Ft,r.activeTool,r.isAnnotating]);let mr=U(()=>{En("family"),xn(null),Jn(null)},[]);Ct(()=>{let v=uo.current,C=r.activeTool,Z=an.current,le=Z?.from===v&&Z.to===C;an.current=null,uo.current=C;let ke=Ix(v,C,le,fr.current);fr.current=ke.preservedAway,ke.shouldReset&&mr()},[an,mr,r.activeTool]),Ct(()=>{r.isAnnotating||(fr.current=!1,mr())},[mr,r.isAnnotating]);let _r=U((v,C)=>{if(Ft(),!Je)return null;let Z=window.getComputedStyle(Je),le=Bh(v,C).map(ke=>Z.getPropertyValue(ke));return Uh(v,le,C)},[Ft,Je]),Cn=U(v=>(Ft(),Je?qh(window.getComputedStyle(Je).getPropertyValue(v)):null),[Ft,Je]);C0({active:r.activeTool==="sticker"&&r.isAnnotating,family:$t,step:vn,subproperty:Bt,stage:Ut,query:qt,setFamily:Qt,setStep:bn,setSubproperty:Wn,setStage:En,setQuery:Jn,setCursor:xn,setContextLabelPulse:jt,setDepthSnapPulse:Nr,setRejectPulse:on,lastCursorRef:Ze,toolbarRef:N,previewRef:Tt,applyStickerRef:po,readColor:Cn,readStep:_r});let[en,yt]=P(null),[un,gr]=P(null),[yr,vr]=P(null),[Un,fo]=P(!1),ho=J(_p()),Wr=J(Gc()),[Jr,Br]=P(null),[pn,tr]=P(null),[da,qo]=P(null),[br,vt]=P(null),k=J({x:0,y:0}),[ie,be]=P({x:0,y:0}),$e=J(Wp()),[Ce,De]=P(null),[et,st]=P(null),[Ue,nt]=P(null),[tn,mo]=P(!1),[Ko,An]=P(0),{swipeHint:Ql,clearSwipeHint:qa}=S0({enabled:r.activeTool==="hand"&&r.isAnnotating,dispatch:o,handCursorRef:k,setGapRefreshKey:An}),Ci=J(Jp()),[ca,Ai]=P(null),[go,Yo]=P(null),[yo,jn]=P(null),vo=J(Bp()),[xr,Xo]=P(null),[bo,Ur]=P(null),[Vo,ua]=P(null),Ka=ev(),Go=J(h);Go.current=h;let Qo=U(v=>{let C=Go.current;if(!C||C.size===0)return!1;for(let Z of C.keys())try{if(Xi(v,Z))return!0}catch{}return!1},[]),{applySticker:Zl,beginSteerGapDrag:es,beginSteerRadiusDrag:Ya,beginSteerSpacingDrag:Xa,beginSteerTransformDrag:Va,steerDrag:lt,steerDragRef:Ga}=L0({applyStickerRef:po,clearStickerPreview:Ft,dispatch:o,hoveredElement:Je,lastCanvasCursorRef:Ze,setHoveredElement:cn,setHoveredElementInfo:_n,setStickerApplyPulse:ki,setStickerCursor:xn,setStickerRejectPulse:on,setStickerStep:bn,setStickerSubproperty:Wn,stickerFamily:$t,stickerStep:vn,stickerSubproperty:Bt,transformDragHandoffRef:Bn,transformPreviewSuppressionRef:Pe,transformPreviewTargetRef:hn});F(()=>{pr(!1);let v=lt?.family==="transform"?lt.element:Je;if(Xp(r.activeTool,r.isAnnotating)||Ut!=="value"||!wl(v,$t,Bt)||no(v)){hn.current=null,Ft();return}let C={element:v,family:$t,step:vn,subproperty:Bt,valueOverride:lt?.transformKind==="translate"?lt.translateValue:void 0},Z=Pe.current,le=$t==="transform"&&Z?.element===v&&Z.subproperty===Bt&&Z.step===vn;if(Z&&!le&&(Pe.current=null),le){if(Ft(),hn.current?.element!==v){let{top:qe,right:ft,bottom:xt,left:eo}=v.getBoundingClientRect(),to=Da(v);hn.current={element:v,bounds:{top:qe,right:ft,bottom:xt,left:eo},layoutQuad:to,renderedQuad:Qi(v,to)},Ht(hs=>hs+1)}return}if(Tt.current&&Ex(It.current,C))return;if($t==="transform"){if(hn.current?.element!==v){_a(Tt.current),Tt.current=null,It.current=null;let{top:qe,right:ft,bottom:xt,left:eo}=v.getBoundingClientRect(),to=Da(v);hn.current={element:v,bounds:{top:qe,right:ft,bottom:xt,left:eo},layoutQuad:to,renderedQuad:Qi(v,to)}}}else hn.current=null;let ke=Rx(v,$t,vn,Bt,Tt.current,C.valueOverride);Tt.current=ke.preview,It.current=C,pr(ke.stepUnavailable),Ht(qe=>qe+1),hr()},[Ft,Je,r.activeTool,r.isAnnotating,lt?.element,lt?.family,lt?.transformKind,lt?.translateValue,$t,Ut,vn,Bt,hr]),F(()=>()=>{Nt(),_a(Tt.current),Tt.current=null,It.current=null,hn.current=null,Pe.current=null,Bn.current=null},[Nt]);let Pt=U(()=>{Pe.current=null,Bn.current=null,cn(null),_n(null),Br(null),tr(null),qo(null),De(null),st(null),mo(!1),Ai(null),Yo(null),Xo(null),Ur(null),qa()},[qa]),ts=y&&!y.domEdit?y?.id:null,ns=ye?`${ye.target.adapter}:${ye.target.key}`:null,pa=ts??ns;F(()=>{pa&&Pt()},[pa,Pt]);let fa=U(v=>{yt(v),v&&Pt()},[Pt]),rs=U(v=>{gr(v),v&&Pt()},[Pt]),qr=U((v,C)=>{vr(C?.length?{ownerId:v,annotationIds:C}:null),C?.length&&Pt()},[Pt]),xo=U(v=>{fo(v),v&&Pt()},[Pt]),Sn=U((v,C)=>{Ft();let Z=gn(v);wl(Z,C.family,C.subproperty)&&(o({type:"SELECT_ANNOTATION",payload:{id:null}}),o({type:"SET_TOOL",payload:"sticker"}),Qt(C.family),Wn(C.subproperty),bn(C.step),En("value"),cn(Z),_n(yn(Z)),Ze.current&&xn(Ze.current))},[Ft,o]),Zo=U((v,C)=>{Ft(),Pt(),gr(null),o({type:"CLEAR_STICKER",payload:{selector:v,sticker:C}})},[Pt,Ft,o]),wr=U(v=>{if(!w)return;w(v);let C=0,Z=()=>{let le=document.querySelector("[data-popmelt-shadow-host]")?.shadowRoot?.querySelector("[data-popmelt-reply]");if(le){le.focus(),le.setSelectionRange(le.value.length,le.value.length);return}C+=1,C<6&&requestAnimationFrame(Z)};requestAnimationFrame(Z)},[w]),_t=J(r);_t.current=r;let nr=Zy({annotations:r.annotations,currentPathname:K,dispatch:o,stateRef:_t,styleModifications:r.styleModifications,subjectRegistry:j,toolbarRef:N,onTargetResolutionChange:Xe}),Wt=J(y);Wt.current=y;let Kr=J(y);F(()=>{let v=C=>{if(Kr.current=null,C.button!==2)return;let Z=Wt.current;Kr.current=Hp(Z)?Z:null};return window.addEventListener("pointerdown",v,!0),()=>window.removeEventListener("pointerdown",v,!0)},[]),b0(y,re);let{cursorPosRef:Yr,domEditInputSize:wo,inputRef:Sr,lastPositionedTextId:ha}=x0({activeText:y,activeTextRef:Wt,canvasRef:ee,visible:r.isAnnotating}),Mi=U(()=>{window.requestAnimationFrame(()=>{Sr.current?.focus();let v=Sr.current?.value.length??0;Sr.current?.setSelectionRange(v,v)})},[Sr]),Qa=U((v,C=Kr.current)=>{let Z=Wt.current,le=j?.hitTest(v)??null,ke=le?.element??yi(v.x,v.y,{allowBodyFallback:!0}),qe=le?.target,ft=[..._t.current.annotations].reverse().find(Vn=>Vn.type!=="text"||(Vn.status??"pending")!=="pending"?!1:qe&&Vn.target?Vn.target.adapter===qe.adapter&&Vn.target.key===qe.key:!Vn.linkedSelector||!ke?!1:!!sn(Vn.linkedSelector,Vn.elements)?.contains(ke)),xt=Vb({activationDraft:C,activeDraft:Z,annotations:_t.current.annotations,selectedAnnotationIds:_t.current.selectedAnnotationIds,lastSelectedId:_t.current.lastSelectedId,annotationAtCursor:ft});if(Kr.current=null,!xt||_t.current.activeTool!=="inspector")return!1;let eo=xt.value;Qe.current?.cancel();let to=eo.target&&j?j.resolve(eo.target):null,hs=to?.subject.sourceElement??(eo.linkedSelector?gn(eo.linkedSelector):null),nh=Vn=>{if(!(Vn instanceof MouseEvent)||!j)return;let ol=j.hitTest({x:Vn.clientX,y:Vn.clientY});if(!ol)return;let rh=ol.target;return{element:ol.subject.sourceElement??null,state:md(ol),captureResult:()=>{let pc=j.resolve(rh);return pc?md(pc):void 0}}};return we.current={id:eo.id,draft:xt.kind==="draft"},Qe.current=Kb({subjectElement:hs,...to?{subjectState:md(to)}:{},resolveEventTarget:nh,onActionCountChange:At,captureFrame:L?gt:void 0}),Pt(),Re(null),yt(null),gr(null),At(0),Be(v),zt(!0),rn(),!0},[Pt,gt,rn,L,j]),ei=U(async()=>{let v=Qe.current,C=we.current;if(!v||!C||!v.hasActions())return;let{episode:Z,frames:le}=await v.finish();if(Qe.current=null,C.draft)re(ke=>{if(ke?.id!==C.id)return ke;let qe=ke.images?.length??0;return{...ke,images:[...ke.images??[],...le],interactionEpisode:zp(Z,qe)}});else{let ke=_t.current.annotations.find(qe=>qe.id===C.id);if(ke){let qe=ke.imageCount??0,ft=zp(Z,qe);le.length>0&&x?.(ke.id,le),o({type:"UPDATE_TEXT",payload:{id:ke.id,text:ke.text??"",imageCount:qe+le.length,interactionEpisode:ft}})}}ze(),C.draft&&Mi()},[o,ze,Mi,x,re]),Ri=U(v=>{let C=Wt.current;if(C?.id===v&&(re(le=>{if(le?.id!==v)return le;let ke=new Set(le.interactionEpisode?.frames?.map(ft=>ft.imageIndex)??[]),qe={...le};return delete qe.interactionEpisode,ke.size>0&&le.images&&(qe.images=le.images.filter((ft,xt)=>!ke.has(xt))),qe}),C.isNew))return;let Z=_t.current.annotations.find(le=>le.id===v)?.interactionEpisode?.frames?.map(le=>le.imageIndex)??[];Z.length>0&&S?.(v,Z),o({type:"CLEAR_INTERACTION_EPISODE",payload:{id:v}})},[o,S,re]),ma=U(()=>{let v=we.current?.draft;ze(),v&&Mi()},[ze,Mi]);F(()=>{let v=C=>{if(!ce.current)return;let Z=C.metaKey||C.ctrlKey;if(C.key==="Escape"&&Z){C.preventDefault(),C.stopPropagation(),C.stopImmediatePropagation(),Qe.current?ma():ze();return}C.key==="Enter"&&Z&&Qe.current&&(C.preventDefault(),C.stopPropagation(),C.stopImmediatePropagation(),ei())};return window.addEventListener("keydown",v,!0),()=>window.removeEventListener("keydown",v,!0)},[ma,ze,ei]),F(()=>{if(!He)return;let v=Z=>Qe.current?.recordEvent(Z),C=()=>Qe.current?.recordScroll();return window.addEventListener("click",v,!0),window.addEventListener("pointerdown",v,!0),window.addEventListener("pointerup",v,!0),window.addEventListener("input",v,!0),window.addEventListener("change",v,!0),window.addEventListener("submit",v,!0),window.addEventListener("keydown",v,!0),window.addEventListener("play",v,!0),window.addEventListener("pause",v,!0),window.addEventListener("seeked",v,!0),window.addEventListener("scroll",C,{capture:!0,passive:!0}),()=>{window.removeEventListener("click",v,!0),window.removeEventListener("pointerdown",v,!0),window.removeEventListener("pointerup",v,!0),window.removeEventListener("input",v,!0),window.removeEventListener("change",v,!0),window.removeEventListener("submit",v,!0),window.removeEventListener("keydown",v,!0),window.removeEventListener("play",v,!0),window.removeEventListener("pause",v,!0),window.removeEventListener("seeked",v,!0),window.removeEventListener("scroll",C,!0)}},[He]);let So=J([]),Li=J(i);Li.current=i;let{dragState:Xr,resizeState:$i,setDragState:Ir,setResizeState:Io}=Ib(),kr=r.selectedAnnotationIds;So.current=kr;let rr=U((v,C=!1)=>{o({type:"SELECT_ANNOTATION",payload:{id:v,addToSelection:C}})},[o]),ko=U(()=>{o({type:"SELECT_ANNOTATION",payload:{id:null}})},[o]),Eo=U(v=>{let C=_t.current.annotations.find(Z=>Z.id===v);!C||!sl(C,_t.current.annotations)||(o({type:"DELETE_ANNOTATION",payload:{id:v}}),Wt.current?.id===v&&(Rt(Wt.current.attachments),re(null)),Pt(),yt(null),gr(null),vr(null),fo(!1),ko())},[Pt,ko,o,Rt,re]),os=U(v=>{let C=$m(_t.current.textModifications,v,K);C&&(o(C),Pt(),gr(null),vr(null),fo(!1))},[K,o,Pt]),Er=J({x:window.scrollX,y:window.scrollY}),or=J(null),[nn,fn]=P(Er.current);F(()=>{if(ne)return B(),window.addEventListener("resize",B),window.visualViewport?.addEventListener("resize",B),()=>{window.removeEventListener("resize",B),window.visualViewport?.removeEventListener("resize",B)}},[B,ne]),jm({state:r,stateRef:_t,activeTextRef:Wt,selectedIdsRef:So,dispatch:o,clearSelection:ko,selectAnnotation:rr,handHoveredElement:Jr,onArchiveThread:_,openThreadId:oe,currentPathname:K,hasOpenThread:I});let{pageAnnotations:Xt,pageStyleModifications:qn,pageTextModifications:Kn,pendingBundleCount:ga,pendingTextAnnotations:is}=Sc({state:r,activeText:y,currentPathname:K,dismissedThreadIds:g,modifiedElementThreadStates:m}),{sendHintAnchorId:ji,setSendHintAnchorId:To}=nv({activeText:y,activeTextAnchorId:ao,hoveredElement:Je,hoveredTextId:St,pendingTextAnnotations:is}),{locationLabels:Co,tooltipAnnotationId:ya,revealAnnotation:Za}=tv({annotations:Xt,annotationIds:nr,badgeHoveredAnnotationId:en,hoveredTextId:St}),el=U((v,C)=>{let Z=_t.current.annotations.find(le=>le.id===v);Z&&(rr(v),C&&wr(C),nr.has(v)&&Za(Z))},[wr,nr,Za,rr]),{cycleSpotlightAnnotationIds:va,emphasizedAnnotationIds:Pi,hoverRestoredAnnotationIds:zi,inactiveEmphasisOpacity:ti,statusSpotlightAnnotationIds:ni}=Ky({annotations:Xt,isCreatingAnnotation:!!(y?.isNew&&!y.domEdit),hoveredTextId:St,badgeHoveredAnnotationId:en,highlightedAnnotationIds:V,cycleFocusedAnnotationIds:O,hoveredElement:Je}),Di=Kh(ne?N?.current:null),ba=Di.avoidTop,Ao=Di.avoidBottom,Tr=Di.avoidLeft,Hi=Di.avoidRight,ri=Ee(()=>({avoidTop:ba,avoidBottom:Ao,avoidLeft:Tr,avoidRight:Hi}),[ba,Ao,Tr,Hi]),{supersededAnnotations:Cr,stagedArtifactOrder:tl,annotationGroupMap:Yn,pageModificationNumberBySelector:xa}=Ic({state:r,pageAnnotations:Xt,pageStyleModifications:qn,pageTextModifications:Kn}),b=Ca(Je),T=!!(ye&&b?.adapter===ye.target.adapter&&b.key===ye.target.key),W=!!(Je&&Fn&&!T&&!St&&!en&&!y?.linkedSelector&&!Ge?.linkedSelector),{hiddenCollidingAnnotationIds:X,nestedCollidingAnnotationCountById:se,nestedCollidingAnnotationIdsById:ae,visibleCollisionRepresentativeByAnnotationId:fe}=Yy({activeText:y,activeTextSendHintId:ao,annotationNumberById:Yn,badgeHoveredAnnotationId:en,canvasRef:ee,focusedThreadAnnotationId:q,hoveredElement:Je,hoveredElementInfo:Fn,hoveredTextId:St,layoutReady:ne&&he!==null,showHoverElementIdentifier:W,layoutRevision:te+Oe,pageAnnotations:Xt,parentPinnedAnnotationIds:nr,pendingLinkedText:Ge,scroll:nn,supersededAnnotations:Cr,textSafeBounds:ri}),{activeTextAnnotation:pe,activeTextCollisionId:Me,activeTextModifiedRail:Le,activeTextNestedAnnotationCount:ue,activeTextNestedAnnotationIds:Ae,activeTextNestedBadgeColor:ut,elementRailColorBySelector:Ot,elementRailComments:Vr,hiddenAnnotationBadgeIds:Ar,modifiedElementSendHintSelector:wa,stagedElementComments:oi,visibleCanvasAnnotations:Mr,visibleSendHintAnchorId:Mo}=Yh({activeText:y,activeColor:r.activeColor,annotations:r.annotations,annotationNumberById:Yn,focusedThreadAnnotationId:q,hiddenCollidingAnnotationIds:X,modifiedElementThreadStates:m,nestedCollidingAnnotationCountById:se,nestedCollidingAnnotationIdsById:ae,pageAnnotations:Xt,pageStyleModifications:qn,pageTextModifications:Kn,sendHintAnchorId:ji,supersededAnnotations:Cr,visibleCollisionRepresentativeByAnnotationId:fe,activeTextSendHintId:ao,targetResolutionRevision:te+Oe}),ii=Ee(()=>{if(kr.length===0)return null;let v=new Map;for(let C of kr){let Z=r.annotations.find(ke=>ke.id===C);if(!Z)continue;let le=Z.groupId?r.annotations.filter(ke=>ke.groupId===Z.groupId):[Z];for(let ke of le)if(ke.linkedSelector&&!h?.has(ke.linkedSelector)){let qe=ke.color||r.activeColor;v.set(ke.linkedSelector,qe)}}return v.size>0?v:null},[kr,r.annotations,r.activeColor,h]),Ie=U((v=Er.current)=>{de(Mr,kr,af,v.x,v.y,Yn,ni,ri,Pi,zi,ti,nr,d)},[d,Mr,kr,de,Yn,ni,ri,Pi,zi,ti,nr]);F(()=>{ne&&Ie(Er.current)},[Ie,ne]),F(()=>{if(!ne)return;let v=()=>{let C={x:window.scrollX,y:window.scrollY};Er.current=C,Ie(C),or.current===null&&(or.current=window.requestAnimationFrame(()=>{or.current=null;let Z=Er.current;fn(le=>le.x===Z.x&&le.y===Z.y?le:Z)}))};return v(),window.addEventListener("scroll",v,{passive:!0,capture:!0}),()=>{window.removeEventListener("scroll",v,!0),or.current!==null&&(window.cancelAnimationFrame(or.current),or.current=null)}},[Ie,ne]);let{findAnnotationAtPoint:bt,findHandleAtPoint:Pn,findTextAtPoint:zn,getPoint:Mn}=Ux({annotationGroupMap:Yn,annotations:r.annotations,canvasRef:ee,handleSize:af,hiddenCollidingAnnotationIds:X,pageAnnotations:Xt,parentPinnedAnnotationIds:nr,scroll:nn,selectedAnnotationIds:kr,supersededAnnotations:Cr,textSafeBounds:ri}),{commitActiveText:mt,createInlineTextEdit:Oi,editPendingLinkedComment:Ro,handleSendPendingBundle:Dn}=v0({activeText:y,activeTextRef:Wt,canvasRef:ee,clearPageElementHover:Pt,clearSelection:ko,clearSignal:M,commentTextEditCandidateRef:Lt,cursorPosRef:Yr,dispatch:o,findTextAtPoint:zn,lastPositionedTextId:ha,onAttachImages:x,onCloseThread:D,onSend:H,pendingLinkedText:Ge,releaseActiveTextAttachments:Rt,setActiveText:re,setDragState:Ir,setHoveredTextId:Re,setPendingLinkedText:Gt,setSendHintAnchorId:To,state:r,stateRef:_t}),ir=U(()=>{let v=Kr.current;Yb(Wt.current,v)||mt()},[mt]),Rn=Fx({activeText:y,applySticker:Zl,canvasRef:ee,clearSelection:ko,commentTextEditCandidateRef:Lt,commitActiveText:mt,createInlineTextEdit:Oi,dispatch:o,domDragRef:Wr,editPendingLinkedComment:Ro,findAnnotationAtPoint:bt,findHandleAtPoint:Pn,findTextAtPoint:zn,gapDragRef:$e,gapHoveredAxis:et,gapHoveredElement:Ce,gapIsAuto:tn,getPoint:Mn,handleAnnotationActivation:el,handDragRef:ho,handHoveredElement:Jr,handHoveredSide:pn,hoveredElement:Je,hoveredElementInfo:Fn,isElementInFlight:Qo,onCanvasInteraction:Y,openThreadAndFocusReply:wr,pageAnnotations:Xt,modifiedElementThreadStates:m,pageStyleModifications:qn,parentPinnedAnnotationIds:nr,pointerTargetOverrideRef:Yt,radiusDragRef:Ci,radiusHoveredCorner:go,radiusHoveredElement:ca,selectAnnotation:rr,setDragState:Ir,setGapDragging:nt,setHandDragging:vt,setPendingLinkedText:Gt,setRadiusDragging:jn,setResizeState:Io,setStickerRejectPulse:on,setTextDragging:ua,state:r,stickerStage:Ut,textDragRef:vo,textHoveredElement:xr,textHoveredProperty:bo,toolbarRef:N});F(()=>{if(!at)return;let v=ke=>{if(ke.button===0){if(ke.target instanceof Element&&no(ke.target)){dn.current=null;return}Q?.(),dn.current={startX:ke.clientX,startY:ke.clientY,moved:!1}}},C=ke=>{(!(ke.target instanceof Element)||!no(ke.target))&&Q?.();let qe=dn.current;qe&&(dn.current=$b(qe,ke.clientX,ke.clientY))},Z=()=>{dn.current=null},le=ke=>{if(ah())return;let qe=dn.current;if(dn.current=null,!jb(qe)||ke.button!==0||ke.target instanceof Element&&no(ke.target)||Qe.current||r.activeTool!=="inspector"&&r.activeTool!=="sticker")return;let ft=r.activeTool==="inspector"?j?.hitTest({x:ke.clientX,y:ke.clientY}):null;ft&&j?.promote(ft.target);let xt=ft?.element??yi(ke.clientX,ke.clientY,{allowBodyFallback:r.activeTool==="inspector"});!xt||no(xt)||xt!==document.documentElement&&(r.activeTool==="inspector"&&Qo(xt)||r.activeTool==="sticker"&&!(xt instanceof HTMLElement)&&!(xt instanceof SVGElement)||(Yt.current={element:xt,elementInfo:ft?.elementInfo??yn(xt)},ke.preventDefault(),ke.stopPropagation(),ke.stopImmediatePropagation(),Rn(ke)))};return window.addEventListener("pointerdown",v,!0),window.addEventListener("pointermove",C,!0),window.addEventListener("pointercancel",Z,!0),window.addEventListener("click",le,!0),()=>{window.removeEventListener("pointerdown",v,!0),window.removeEventListener("pointermove",C,!0),window.removeEventListener("pointercancel",Z,!0),window.removeEventListener("click",le,!0)}},[Rn,at,Qo,r.activeTool,j,Q]),F(()=>{!r.isAnnotating&&ce.current&&ze()},[ze,r.isAnnotating]);let ai=p0({activeTool:r.activeTool,annotations:r.annotations,canvasRef:ee,clearPageElementHover:Pt,clearStickerPreview:Ft,dispatch:o,domDragRef:Wr,dragState:Xr,findTextAtPoint:zn,gapDragRef:$e,gapHoveredAxis:et,gapHoveredElement:Ce,getPoint:Mn,handCursorRef:k,handDragRef:ho,handHoveredElement:Jr,handHoveredSide:pn,handleShakePointerMove:sa,hoveredElement:Je,hoveredElementInfo:Fn,isAnnotating:r.isAnnotating,isElementInFlight:Qo,lastCanvasCursorRef:Ze,modifiersRef:Ka,radiusDragRef:Ci,radiusHoveredCorner:go,radiusHoveredElement:ca,resizeState:$i,setDomDropPreview:qo,setDragState:Ir,setGapDragging:nt,setGapHoveredAxis:st,setGapHoveredElement:De,setGapIsAuto:mo,setHandCursorPos:be,setHandDragging:vt,setHandHoveredElement:Br,setHandHoveredSide:tr,setHoveredElement:cn,setHoveredElementInfo:_n,setRadiusDragging:jn,setRadiusHoveredCorner:Yo,setRadiusHoveredElement:Ai,setResizeState:Io,setStickerCursor:xn,setStickerStep:bn,setTextDragging:ua,setTextHoveredElement:Xo,setTextHoveredProperty:Ur,steerDragRef:Ga,stickerFamily:$t,stickerStage:Ut,stickerSubproperty:Bt,subjectRegistry:j,suspendTargetDiscovery:!!pa||He,textDragRef:vo,textHoveredElement:xr,textHoveredProperty:bo,transformDragHandoffRef:Bn,transformPreviewSuppressionRef:Pe,transformPreviewTargetRef:hn}),li=f0({annotationGroupMap:Yn,canvasRef:ee,currentPathname:K,cursorPosRef:Yr,dispatch:o,domDragRef:Wr,dragState:Xr,gapDragRef:$e,gapDragging:Ue,getPoint:Mn,handDragRef:ho,handDragging:br,lastPositionedTextId:ha,radiusDragRef:Ci,radiusDragging:yo,resizeState:$i,setActiveText:re,setDomDropPreview:qo,setDragState:Ir,setGapDragging:nt,setHandDragging:vt,setRadiusDragging:jn,setResizeState:Io,setSendHintAnchorId:To,setTextDragging:ua,textDragRef:vo,textDragging:Vo}),ln=kb({enabled:r.isAnnotating&&r.activeTool==="inspector"&&!ye&&!at&&!He,onStart:()=>{mt(),ko(),Pt(),Lt.current=null},onClick:v=>{let C=j?.hitTest({x:v.clientX,y:v.clientY});C&&j?.promote(C.target),Rn(v),li(v)},onRegion:(v,C)=>{let Z=new Map;for(let ke of Cm(C)){if(Z.size>=16)break;let qe=j?.hitTest(ke),ft=qe?null:yi(ke.x,ke.y),xt=qe?.elementInfo??(ft?yn(ft):null);xt&&Z.set(xt.selector,xt)}let le=Am(v.points);ha.current=null,Yr.current=0,re({id:Math.random().toString(36).substring(2,9),point:{x:le.left,y:le.bottom+12},text:"",fontSize:12,isNew:!0,region:{...v,elements:[...Z.values()]},linkedAnchor:"bottom-left",elements:[]}),To(ao)}}),ar=ln.cancel;F(()=>{ar()},[M,ar]);let Sa=U(v=>{if(!(!zn(Mn(v))&&!bt(Mn(v))&&ln.begin(v))){if(r.isAnnotating&&r.activeTool==="inspector"&&v.button===0&&v.pointerType==="mouse"&&j&&!ye){let C=j.beginCreate({x:v.clientX,y:v.clientY});if(C){me.current={...C,start:{x:v.clientX,y:v.clientY},moved:!1,pointerId:v.pointerId,captureTarget:v.currentTarget},v.currentTarget.setPointerCapture(v.pointerId),v.preventDefault();return}}Rn(v)}},[Rn,zn,bt,Mn,ln,r.activeTool,r.isAnnotating,ye,j]),_e=U(v=>{if(ln.move(v))return;let C=me.current;if(!C||C.pointerId!==v.pointerId){ai(v);return}let Z=Math.hypot(v.clientX-C.start.x,v.clientY-C.start.y);if(!C.moved&&Z>=P0&&(C.moved=!0),!C.moved){ai(v);return}C.session.update({x:v.clientX,y:v.clientY}),Te({adapter:C.adapter.id,key:C.session.key}),ht(le=>le+1),v.preventDefault()},[ai,ln]),Mt=U(v=>{if(ln.end(v))return;let C=me.current;if(C&&C.pointerId!==v.pointerId)return;if(me.current=null,Te(null),!C){li(v);return}if(C.captureTarget.hasPointerCapture(C.pointerId)&&C.captureTarget.releasePointerCapture(C.pointerId),!C.moved){C.session.cancel();let le=j?.hitTest({x:v.clientX,y:v.clientY});le&&j?.promote(le.target),Rn(v),li(v);return}C.session.update({x:v.clientX,y:v.clientY});let Z=C.session.commit();Z&&(Ne.current=window.performance.now()+500,Fe({target:{adapter:C.adapter.id,key:Z.key},created:!0})),v.preventDefault()},[Rn,li,j,ln]),kt=U(v=>{if(!r.isAnnotating||r.activeTool!=="inspector"||!j)return!1;let C=j.resolve(v);if(!C?.adapter.renameSubject)return!1;let Z=Wt.current;return Z?.isNew&&Z.target?.adapter===C.target.adapter&&Z.target.key===C.target.key&&(Rt(Z.attachments),re(null),Gt(null)),Fe({target:C.target,created:!1}),!0},[Wt,Rt,re,r.activeTool,r.isAnnotating,j]),Rr=U(v=>{if(window.performance.now()<=Ne.current){Ne.current=0,v.preventDefault(),v.stopPropagation();return}if(Ne.current=0,!j)return;let C=j.hitTest({x:v.clientX,y:v.clientY});!C||!kt(C.target)||(v.preventDefault(),v.stopPropagation())},[kt,j]),Lo=U(v=>{let C=v.target.value;Yr.current=v.target.selectionStart;let Z=Wt.current;Z?.domEdit&&o(pd(Z.domEdit,C,Z.text===Z.domEdit.originalText)),re(le=>{if(le?.domEdit){let ke=Qc(le.domEdit.segments,le.domEdit.originalText,C);le.domEdit.segments.forEach(qe=>{qe.textNode.nodeValue=qe.originalText}),ke.forEach(({segment:qe,modifiedText:ft})=>{qe.textNode.nodeValue=ft})}return le&&{...le,text:C}})},[Wt,Yr,o,re]),si=U(v=>{v.key==="Escape"?(Wt.current?.domEdit&&(o(pd(Wt.current.domEdit,Wt.current.domEdit.originalText,!1)),Wt.current.domEdit.segments.forEach(C=>{C.textNode.nodeValue=C.originalText})),Rt(Wt.current?.attachments),re(null)):Xh(v)?Dn():v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),mt())},[mt,o,Dn,Rt,re]),$o=U(v=>{if(!r.isAnnotating)return;let C=Kr.current;Kr.current=null;let Z=zn(Mn(v));if(Z&&E&&!sl(Z,_t.current.annotations)){v.preventDefault(),v.stopPropagation(),E(Z.id);return}if(Z&&sl(Z,_t.current.annotations)){v.preventDefault(),v.stopPropagation(),Eo(Z.id);return}if(Z?.status==="resolved"){let qe=Pm(_t.current.annotations,[Z.id]);if(qe.length>0){v.preventDefault(),v.stopPropagation(),qe.forEach(ft=>_?.(ft));return}}v.preventDefault();let le=!!Wt.current,ke=Qa({x:v.clientX,y:v.clientY},C);!le&&!ke&&rn()},[rn,zn,Mn,Eo,_,E,Qa,r.isAnnotating]),jo=Ee(()=>{if(!Je)return r.activeColor;let v=null;for(let le of Xt)!le.linkedSelector||Cr.has(le)||sn(le.linkedSelector,le.elements)!==Je||(!v||le.timestamp>v.timestamp)&&(v=le);let C=v?.color??r.activeColor,Z=Fn?.selector??v?.linkedSelector;return Z?bs([Z],m??new Map,C,gn):C},[Je,Fn?.selector,m,Xt,r.activeColor,Cr]),di=()=>{if(!r.isAnnotating)return"default";if($i){let{handle:v}=$i;return v==="start"||v==="end"?"move":v==="top"||v==="bottom"?"ns-resize":v==="left"||v==="right"?"ew-resize":v==="topLeft"||v==="bottomRight"?"nwse-resize":"nesw-resize"}if(Pb(r.activeTool)){let v=Ue?.axis??et;if(v==="row")return"ns-resize";if(v==="column")return"ew-resize";if(yo||go)return"ns-resize";let C=Vo?.property??bo;if(C==="font-size")return"ew-resize";if(C==="line-height")return"ns-resize";let Z=br?.side??pn;return Z==="top"||Z==="bottom"?"ns-resize":Z==="left"||Z==="right"?"ew-resize":"default"}return r.activeTool==="inspector"?hm(jo):r.activeTool==="sticker"?Tc(jo):"crosshair"},Ia=Lb(r.isAnnotating,r.activeTool),pt={position:"fixed",top:0,left:0,width:"100dvw",height:"100dvh",zIndex:9998,pointerEvents:at||!Ia?"none":"auto",visibility:Ia?"visible":"hidden",cursor:Zn&&!Zn.nativeReady?"none":di(),touchAction:r.activeTool==="inspector"?"pan-x pan-y":"none"},mn=Ee(()=>{if(!y||y.domEdit)return;if(y.linkedSelector){let C=oi.find(Z=>Z.selector===y.linkedSelector)?.annotationNumber??xa.get(Le?.selector??y.linkedSelector);if(C!==void 0)return C}let v=Yn.get(y.id);if(v!==void 0)return v;if(y.groupId){let C=r.annotations.find(le=>le.groupId===y.groupId),Z=C?Yn.get(C.id):void 0;if(Z!==void 0)return Z}return tl.count+1},[y,Le,Yn,xa,oi,tl.count,r.annotations]),Xn=mn!==void 0?`${mn}.`:"",Kt=Ee(()=>{if(!y||!Xn||y.domEdit)return 0;let v=ee.current?.getContext("2d");return v&&(v.font=`${y.fontSize}px ${Ln}`),Mb({prefix:Xn,fontSize:y.fontSize,railGap:Le?2:void 0,context:v})},[y,Xn,Le,ee]),Gr=y?.images?.length??r.annotations.find(v=>v.id===y?.id)?.imageCount??0,Qr=y&&!y.domEdit&&!Le?av({nestedAnnotationCount:ue,imageCount:Gr,interactionEpisodeStepCount:y.interactionEpisode?.steps.length??0,reserveSendHint:!!H&&ji===ao&&!!y.text.trim()}):0,as=r.isAnnotating&&y?.linkedSelector&&!y.target&&!y.domEdit&&!Le?sn(y.linkedSelector,y.elements):null,Zr=!!(y&&Ac(y)),ci=Hb(as),ls=Zr&&ci?Ls(ci,22,2,window.innerHeight):null,ss=y?ls?ls.left+8:ci?ci.left+8:y.point.x-nn.x:0,ds=y?ci?.right??y.point.x-nn.x:0,ui=U(()=>{let v=ee.current;if(!v||!y)return{width:100,height:12*lr,isWrapped:!1};if(y.domEdit)return{width:wo?.id===y.id?wo.width:Math.max(1,y.domEdit.rect.width),height:wo?.id===y.id?wo.height:Math.max(1,y.domEdit.rect.height),isWrapped:y.domEdit.wrapsText};let C=v.getContext("2d");if(!C)return{width:100,height:y.fontSize*lr,isWrapped:!1};C.font=`${y.fontSize}px ${Ln}`;let Z=y.point.x-nn.x;if(!Le){let le=!!(y.linkedSelector||y.target||y.region),ke=fd({text:y.text,fontSize:y.fontSize,effectiveMaxWidth:384,annotationPrefixWidth:Kt,isModifiedRail:!1,fitToContent:le,context:C}).width+Kt+16,qe=Lp({anchorLeftX:ss,anchorRightX:ds,editorWidth:ke,trailingWidth:Qr,viewportWidth:window.innerWidth});return fd({text:y.text,fontSize:y.fontSize,effectiveMaxWidth:Math.max(1,qe.maxEditorWidth-16),annotationPrefixWidth:Kt,isModifiedRail:!1,fitToContent:le,context:C})}return fd({text:y.text,fontSize:y.fontSize,effectiveMaxWidth:$s(Z),annotationPrefixWidth:Kt,isModifiedRail:!!Le,context:C})},[y,ee,nn.x,Kt,Le,Qr,ss,ds,wo])(),Ni=!!y?.domEdit,Kf=y?Math.max(1,y.text.split(`
|
|
58
|
+
`).length)*y.fontSize*lr+8:0,pi=Ni?ui.height:ui.height+8,ec=ls??(ci?Ls(ci,pi,Bi,window.innerHeight):void 0),tc=Zr?Ea("bottom-left"):Ea(ec?.anchor??y?.linkedAnchor),Yf=ui.isWrapped?pi-Kf:0,nc=y?Ni?(y.domEdit.flowRect??y.domEdit.rect).top:ec?.top??y.point.y-4-nn.y-Yf:0,Xf=y?Ni?(y.domEdit.flowRect??y.domEdit.rect).left:y.point.x-8-nn.x:0,Po=Ni?ui.width:ui.width+Kt+16,fi=y&&!Ni&&!Le?Lp({anchorLeftX:ss,anchorRightX:ds,editorWidth:Po,trailingWidth:Qr,viewportWidth:window.innerWidth}).editorLeft:Xf,Fi=y?Ni?nc:zm(nc,pi,ri,fi,Po):0,_i=y?.domEdit?{image:y.domEdit.boundaryRects.map(()=>"linear-gradient(#000 0 0)").join(", "),position:y.domEdit.boundaryRects.map(v=>`${v.left-fi}px ${v.top-Fi}px`).join(", "),size:y.domEdit.boundaryRects.map(v=>`${v.width}px ${v.height}px`).join(", ")}:void 0,rc=y?y.domEdit?{position:"fixed",left:fi,top:Fi,zIndex:10002,width:Po,height:pi,minHeight:0,padding:0,margin:0,boxSizing:"border-box",appearance:"none",fontSize:y.fontSize,fontFamily:y.domEdit.fontFamily,fontWeight:y.domEdit.fontWeight,fontStyle:y.domEdit.fontStyle,color:"transparent",caretColor:r.activeColor,WebkitTextFillColor:"transparent",backgroundColor:"transparent",border:"none",borderRadius:0,outline:"none",boxShadow:"none",lineHeight:y.domEdit.lineHeight,textIndent:y.domEdit.firstLineIndent,letterSpacing:y.domEdit.letterSpacing,textTransform:y.domEdit.textTransform,textAlign:y.domEdit.textAlign,wordSpacing:y.domEdit.wordSpacing,textDecoration:y.domEdit.textDecoration,textShadow:y.domEdit.textShadow,resize:"none",overflow:"hidden",whiteSpace:y.domEdit.wrapsText?y.domEdit.whiteSpace:"pre",wordBreak:y.domEdit.wordBreak,overflowWrap:y.domEdit.overflowWrap,maskImage:_i?.image,maskPosition:_i?.position,maskSize:_i?.size,maskRepeat:"no-repeat",WebkitMaskImage:_i?.image,WebkitMaskPosition:_i?.position,WebkitMaskSize:_i?.size,WebkitMaskRepeat:"no-repeat"}:{position:"fixed",left:fi,top:Fi,zIndex:10002,width:Po,height:pi,padding:`${4+Td}px 8px ${4-Td}px`,paddingLeft:8+Kt,boxSizing:"border-box",fontSize:y.fontSize,fontFamily:Ln,color:"#ffffff",backgroundColor:r.activeColor,border:"none",borderRadius:tc,animation:y.isNew?"popmeltAnnotationFieldEnter 150ms ease-out both":void 0,outline:"none",boxShadow:"none",lineHeight:lr,resize:"none",overflow:"hidden",whiteSpace:ui.isWrapped?"pre-wrap":"pre",wordBreak:ui.isWrapped?"break-word":void 0}:{},oc=y?.target&&y.linkedSelector?sn(y.linkedSelector,y.elements):null,Vf=v=>!y||!Le?null:$(dt,{children:[f(dv,{anchor:v,insetTopLeft:Zr,width:Po,height:pi,value:y.text,fontSize:y.fontSize,prefix:Xn,inputRef:Sr,inputStyle:rc,onChange:Lo,onKeyDown:si,onPaste:Se,onBlur:ir,onContextMenu:C=>{C.preventDefault(),C.stopPropagation(),Eo(y.id)}}),f(iu,{stepCount:y.interactionEpisode?.steps.length??0,onClear:()=>Ri(y.id)})]}),{nestedBadgeOwnerSelector:Gf,hasExistingOverlay:Qf,hoveredLinkedAnnotationId:ic,hasSelectedHighlightForElement:Zf,ownedInFlightSelectorColors:ac,ownedFocusedSelectorColors:lc,selectorElementInfo:sc,claimElementOverlay:Lr}=Db({activeText:y,pendingLinkedText:Ge,activeTextSendHintId:ao,activeTool:r.activeTool,isAnnotating:r.isAnnotating,annotations:r.annotations,pageAnnotations:Xt,pageStyleModifications:qn,pageTextModifications:Kn,supersededAnnotations:Cr,nestedBadgeHover:yr,isSendBundleHovered:Un,badgeHoveredAnnotationId:en,hoveredTextId:St,badgeHoveredSelector:un,focusedThreadAnnotationId:q,inFlightSelectorColors:h,focusedSelectorColors:ii,hoveredElement:Je}),cs=jo,eh=y?.domEdit?dl(r.activeColor,.28):"#000000",th=y?.domEdit?"transparent":"#ffffff",nl=y?.linkedSelector&&!y.domEdit?y:Ge,rl=nl?.linkedSelector?sn(nl.linkedSelector,nl.elements):null,us=rl??Je,dc=rl?"selected":"hover",cc=rl?nl?.target??Ca(rl):b,ps=cc?.adapter,fs=cc?.key;F(()=>(A?.(r.isAnnotating&&us?{element:us,selection:dc,subject:ps&&fs?{adapter:ps,key:fs}:void 0}:null),()=>A?.(null)),[A,r.isAnnotating,us,dc,ps,fs]);let uc=v=>{tt.current=null,j?.remove(v),cn(null),_n(null),Fe(C=>C?.target.adapter===v.adapter&&C.target.key===v.key?null:C)};if(He){let v=we.current,C=v?.draft?r.activeColor:r.annotations.find(Z=>Z.id===v?.id)?.color??r.activeColor;return wt?f(tb,{cursor:wt,stepCount:Jt,accentColor:C,toolbarElement:N?.current,threadElement:z}):null}return $(dt,{children:[(ln.preview||y?.region)&&f("svg",{"data-popmelt-lasso":"","aria-hidden":"true",style:{position:"fixed",inset:0,width:"100%",height:"100%",pointerEvents:"none",zIndex:9999},children:f("polygon",{points:(ln.preview??y.region.points.map(v=>({x:v.x-nn.x,y:v.y-nn.y}))).map(v=>`${v.x},${v.y}`).join(" "),fill:r.activeColor,fillOpacity:.07,fillRule:"evenodd",stroke:r.activeColor,strokeWidth:1,strokeDasharray:pu})}),f("canvas",{ref:Ke,id:"devtools-canvas",style:pt,onPointerDown:v=>{Q?.(),Sa(v)},onPointerMove:v=>{Q?.(),!(!ln.active()&&!me.current&&b&&ef(v.currentTarget.ownerDocument,v.clientX,v.clientY))&&_e(v)},onPointerUp:Mt,onPointerCancel:v=>{if(ln.active()){ln.cancel();return}if(me.current){je();return}li(v)},onLostPointerCapture:v=>{ln.active()&&ln.cancel(),me.current?.pointerId===v.pointerId&&je()},onDoubleClick:Rr,onPointerLeave:v=>{if(me.current||ln.active()||j0(v.relatedTarget)||of(v.relatedTarget))return;Mt(v),Ft(),Pe.current=null,Bn.current=null;let C=()=>{cn(null),_n(null)};if(Ca(Je)){let{clientX:Z,clientY:le}=v;window.setTimeout(()=>{of(document.elementFromPoint(Z,le))||tt.current!==null||C()},100);return}C()},onContextMenu:v=>{if(b&&ef(v.currentTarget.ownerDocument,v.clientX,v.clientY)){v.preventDefault(),v.stopPropagation(),uc(b);return}$o(v)}}),Ve&&j&&(()=>{let v=j.resolve(Ve);return v?f($l,{element:v.element,activeFacet:"translate",accentColor:r.activeColor,showHandles:!1,showRotateHandle:!1,refreshKey:Ye}):null})(),ye&&j&&f(bb,{accentColor:r.activeColor,created:ye.created,registry:j,target:ye.target,onCommit:v=>{cn(v.element),_n(v.elementInfo),ht(C=>C+1)},onClose:()=>Fe(null),onCancelCreated:()=>{j.remove(ye.target),Fe(null)}},`${ye.target.adapter}:${ye.target.key}`),Zn&&f(pv,{color:jo,cursorRef:Ze,tool:Zn.tool,onHandoff:()=>Or(v=>v?.id===Zn.id?{...v,nativeReady:!0}:v),onDone:()=>Or(null)},Zn.id),r.isAnnotating&&y&&$(dt,{children:[oc&&y.subjectAnchor&&f(uv,{element:oc,annotationRect:{left:fi,top:Fi,width:Po,height:pi},subjectAnchor:y.subjectAnchor,color:r.activeColor,subjectRegistry:j}),f(sv,{value:y.text,fontSize:y.fontSize,prefix:Xn,inputRef:Sr,inputStyle:rc,selectionBackground:eh,selectionColor:th,annotationBorderRadius:tc,activeColor:r.activeColor,boundaryRects:y.domEdit?.boundaryRects,viewportClip:y.domEdit&&Iu(y.domEdit.targetElement.ownerDocument)?ku(new DOMRect(0,0,window.innerWidth,window.innerHeight),y.domEdit.targetElement.ownerDocument):void 0,wrapsDomText:y.domEdit?.wrapsText,showEditor:!Le,rawLeft:fi,top:Fi,baselineOffset:Td,onChange:Lo,onKeyDown:si,onPaste:Se,onBlur:ir}),!Le&&!y.domEdit&&f(lv,{rawLeft:fi,width:Po,top:Fi,scroll:nn,collisionId:Me,nestedAnnotationCount:ue,nestedAnnotationIds:Ae,nestedBadgeColor:ut,imageCount:Gr,color:r.activeColor,interactionEpisodeStepCount:y.interactionEpisode?.steps.length??0,showSendHint:ji===ao&&!!y.text.trim(),bundleCount:ga,onHoverNestedAnnotations:qr,onHoverSendHint:xo,onClearInteractionEpisode:()=>Ri(y.id),onSend:H?Dn:void 0}),f(Vh,{point:y.point,scroll:nn,attachments:y.attachments??[],showAttachments:!y.domEdit,onRemoveAttachment:We})]}),r.isAnnotating&&r.activeTool!=="hand"&&(qn.length>0||Kn.length>0||Vr.length>0||(m?.size??0)>0||W)&&f(Gh,{styleModifications:qn,textModifications:Kn,stagedComments:Vr,accentColor:r.activeColor,annotationNumberBySelector:xa,inFlightSelectors:p,inFlightAnnotationIds:a,activeAnnotationIds:d,inFlightSelectorJobIds:u,waitingApprovalJobIds:l,inFlightSelectorColors:h,toolbarRef:N,onHoverSelector:rs,sendHintSelector:wa,pendingBundleCount:ga,onHoverSendBundle:xo,onSend:H?Dn:void 0,onSelectSticker:Sn,onDeleteSticker:Zo,threadStates:m,onViewThread:w,hoveredElement:Je,hoveredElementInfo:Fn,showHoverIdentifier:W,onEditComment:Ro,onDeleteComment:Eo,onDeletePeerComment:E?v=>{let C=_t.current.annotations.find(Z=>Z.id===v);C&&sl(C,_t.current.annotations)?Eo(v):E(v)}:void 0,onDiscardTextChanges:os,onArchiveThread:_,onClearInteractionEpisode:Ri,onEditSubject:kt,onDeleteSubject:uc,onHoverSubjectLabel:v=>{tt.current=v},refreshKey:Fr,activeCommentEntry:Le?{element:Le.element,width:Po,imageCount:Gr,trailingWidth:Mc(Gr)+Zc(y?.interactionEpisode?.steps.length??0),render:Vf}:void 0}),r.activeTool==="hand"&&r.isAnnotating&&(qn.length>0||Kn.length>0)&&f(rb,{styleModifications:qn.filter(v=>{let C=gn(v.selector);return!!C&&Lr(C,"pending-change")}),textModifications:Kn.filter(v=>{let C=gn(v.selector);return!!C&&Lr(C,"pending-change")}),accentColor:r.activeColor}),r.isAnnotating&&!y?.domEdit&&(()=>{let v=new Set;return Kn.flatMap(C=>{if(C.captured||v.has(C.selector))return[];let Z=gn(C.selector);return Z?Lr(Z,"pending-change")?(v.add(C.selector),[f(ro,{element:Z,isSelected:!1,color:r.activeColor,hideTooltip:!0},`pending-text-change-${C.selector}`)]):[]:[]})})(),r.isAnnotating&&f(Dm,{annotations:Xt,displayAnnotations:Mr,supersededAnnotations:Cr,inFlightIds:a,orientationLabels:s,activeIds:d,queuePositions:c,scrollX:nn.x,scrollY:nn.y,annotationGroupMap:Yn,onViewThread:w,onSelectAnnotation:rr,onDeleteDraftAnnotation:Eo,onClearInteractionEpisode:Ri,onHoverAnnotation:fa,canvasRef:ee,toolbarRef:N,activeBundleAnnotationIds:Pi,inactiveBundleOpacity:ti,animateBundleOpacity:!ni&&!va,hoverRestoredAnnotationIds:zi,nestedAnnotationCountById:se,nestedAnnotationIdsById:ae,onHoverNestedAnnotations:qr,onHoverSendBundle:xo,onSend:H?Dn:void 0,sendHintAnchorId:Mo===ao?null:Mo,pendingBundleCount:ga,parentPinnedAnnotationIds:nr,parentPinnedLocationLabels:Co,parentPinnedTooltipAnnotationId:ya,onActivateAnnotation:el,hiddenAnnotationIds:Ar}),r.isAnnotating&&f(Hm,{annotations:Mr,activeIds:d,scrollX:nn.x,scrollY:nn.y,spotlightIds:ni,emphasizedIds:Pi,hoverRestoredIds:zi,inactiveOpacity:ti}),r.isAnnotating&&ac&&f(eu,{inFlightSelectorColors:ac,selectorElementInfo:sc,subjectRegistry:j}),r.isAnnotating&&lc&&f(eu,{inFlightSelectorColors:lc,selectorElementInfo:sc,animated:!1,subjectRegistry:j}),f(qv,{active:r.activeTool==="hand"&&r.isAnnotating,accentColor:r.activeColor,domDropPreview:da,cursorViewport:ie,gapElement:Ue?$e.current.element:Ce,gapDragging:Ue,gapHoveredAxis:et,gapIsAuto:tn,gapRefreshKey:Ko,swipeHint:Ql,radiusElement:yo?Ci.current.element:ca,radiusDragging:yo,radiusHoveredCorner:go,textElement:Vo?vo.current.element:xr,textDragging:Vo,textHoveredProperty:bo,paddingElement:br?ho.current.element:Jr,paddingDragging:br,paddingHoveredSide:pn}),r.isAnnotating&&e&&!y&&!Ge&&!ye&&f(By,{hasExistingOverlay:Qf,entry:e,color:r.activeColor,subjectRegistry:j}),(r.activeTool==="inspector"||r.activeTool==="sticker")&&r.isAnnotating&&f(dt,{children:Je&&(()=>{let v=r.activeTool==="sticker"&&Ut==="value"&&($t==="padding"||$t==="margin")&&Tt.current?.element===Je,C=Cp(r.activeTool==="sticker",$t,Ut,Bt);if(Zf(Je)||!Lr(Je,"inspector-hover"))return null;let Z=y?.linkedSelector?sn(y.linkedSelector,y.elements):null,le=Ge?.linkedSelector?sn(Ge.linkedSelector,Ge.elements):null,ke=(Z?Qs(Z,Je,y?.elements?.[0]?.context):!1)||(le?Qs(le,Je,Ge?.elements?.[0]?.context):!1)||Xt.some(ft=>{if(!ft.linkedSelector||Cr.has(ft))return!1;let xt=sn(ft.linkedSelector,ft.elements);return Qs(xt,Je,ft.elements?.[0]?.context)}),qe=!!St||!!en;return $(dt,{children:[!v&&f(ro,{element:Je,isSelected:!1,elementInfo:Fn,color:cs,hideOutline:!b,hideFill:!b,refreshKey:r.activeTool==="sticker"?Fr:void 0,hideTooltip:T||W||ke||qe}),!C&&!b&&f($l,{element:Je,activeFacet:"translate",accentColor:cs,showHandles:!1,outlineStyle:"dashed",refreshKey:r.activeTool==="sticker"?Fr:void 0})]})})()}),f(fb,{active:r.activeTool==="sticker"&&r.isAnnotating,accentColor:cs,family:$t,stage:Ut,subproperty:Bt,hoveredElement:Je,previewElement:Tt.current?.element??null,transformPreviewElement:hn.current?.element??null,previewRevision:Fr,cursorViewport:Hr,drag:lt,onGapPointerDown:es,onRadiusPointerDown:Ya,onSpacingPointerDown:Xa,onTransformPointerDown:Va}),r.activeTool==="sticker"&&r.isAnnotating&&Hr&&f(Qh,{cursor:Hr,family:$t,step:vn,subproperty:Bt,stage:Ut,accentColor:r.activeColor,applyPulse:Zt,contextLabelPulse:Tn,depthSnapPulse:Dt,rejectPulse:er,stepUnavailable:Ei,query:qt?{tokens:qt.segments.flatMap((v,C)=>{let Z=qt.history[C]?.scope??gd,le=Fa(Z,v);return le?[ix(le)]:[]}),...ax(qt.query,yd(qt.scope,qt.query))}:null,toolbarElement:N?.current,threadElement:z,annotationRailHovered:un!==null||en!==null||yr!==null||Un}),!yr&&!Un&&(y?.linkedSelector||Ge?.linkedSelector)&&(()=>{let v=y?.linkedSelector||Ge?.linkedSelector;if(!v)return null;let C=sn(v,y?.elements??Ge?.elements);return!C||!Lr(C,"direct-manipulation")?null:f(ro,{element:C,isSelected:!0,color:pe?.color??r.activeColor,hideTooltip:!0})})(),q&&(()=>{if(Un)return null;let v=r.annotations.find(le=>le.id===q);if(!v?.linkedSelector||Gf===v.linkedSelector)return null;let C=sn(v.linkedSelector,v.elements);if(!C||!Lr(C,"thread-focus"))return null;let Z=!!(a&&a.has(v.id));return f(ro,{element:C,isSelected:!Z,color:v.color,onActivate:v.threadId?()=>wr(v.threadId):void 0,hideTooltip:!0})})(),ic&&(()=>{let v=r.annotations.find(Z=>Z.id===ic);if(!v?.linkedSelector)return null;let C=sn(v.linkedSelector,v.elements);return!C||!Lr(C,"annotation-hover")?null:f(ro,{element:C,isSelected:!1,color:v.color,onActivate:v.threadId?()=>wr(v.threadId):void 0,hideTooltip:!0})})(),yr&&!Un&&(()=>{let v=new Set;return yr.annotationIds.flatMap(C=>{let Z=r.annotations.find(ke=>ke.id===C);if(!Z?.linkedSelector||v.has(Z.linkedSelector))return[];let le=sn(Z.linkedSelector,Z.elements);return le?Lr(le,"nested-preview")?(v.add(Z.linkedSelector),[f(ro,{element:le,isSelected:!1,color:Z.color,hideTooltip:!0},`nested-annotation-${C}`)]):[]:[]})})(),Un&&(()=>{let v=[],C=new Set,Z=(le,ke,qe,ft)=>{if(!ke||C.has(ke))return;let xt=sn(ke,qe);xt&&Lr(xt,"bundle-preview")&&(C.add(ke),v.push({id:le,element:xt,color:ft}))};for(let le of Xt)(le.status??"pending")==="pending"&&Z(le.id,le.linkedSelector,le.elements,le.color);y&&!y.domEdit&&y.text.trim()&&Z(ao,y.linkedSelector,y.elements,r.activeColor);for(let le of qn)le.captured||Z(`style-${le.selector}`,le.selector,[le.element],r.activeColor);for(let le of Kn)le.captured||Z(`text-${le.selector}`,le.selector,[le.element],r.activeColor);return v.map(le=>f(ro,{element:le.element,isSelected:!1,color:le.color,hideTooltip:!0},`send-bundle-${le.id}`))})(),un&&(()=>{let v=gn(un);if(!v||!Lr(v,"badge-hover"))return null;let C=bs([un],m??new Map,Ot.get(un)??r.activeColor,gn);return f(dt,{children:f(ro,{element:v,isSelected:!1,color:C,fillOpacity:.1,hideTooltip:!0,subjectRegistry:j})})})()]})}function D0(e,t){if(!t||t.size===0)return e;let n=!1,r=e.map(o=>{if(!o.threadId)return o;let i=t.get(o.threadId);return!i||i===o.color?o:(n=!0,{...o,color:i})});return n?r:e}function Nl(e,t,n){return t&&n?.get(t)||e}var Cd="popmelt-status-notices",lf=50,sf=2,H0=new Set(["Model","Reviewed","Has a question","Needs decision","Needs review","Applied changes","Replied","Done"]);function df(e){return e.status!=="done"||e.doneLabel&&H0.has(e.doneLabel)?e:{...e,doneLabel:"Replied"}}function Fl(e){return e?`${Cd}:${e}`:Cd}function cf(e,t,n=!0){return t===null?!1:t===void 0?!0:e.threadId?t.has(e.threadId):n&&e.global===!0}function uf(e){if(typeof window>"u")return[];try{let t=JSON.parse(localStorage.getItem(Fl(e))??localStorage.getItem(Cd)??"[]");return(Array.isArray(t)?t:t?.version===sf&&Array.isArray(t.entries)?t.entries:[]).filter(n=>{if(!n||typeof n!="object")return!1;let r=n;return typeof r.jobId=="string"&&typeof r.color=="string"&&(r.status==="done"||r.status==="error")}).map(df).slice(-lf)}catch{return[]}}function Ad(e){try{let t=JSON.parse(localStorage.getItem(Fl(e))||"{}");return new Set(Array.isArray(t.acknowledgedJobIds)?t.acknowledgedJobIds.filter(n=>typeof n=="string"):[])}catch{return new Set}}function O0(e,t,n){if(!(typeof window>"u"))try{let r=e.filter(Wo).map(df).slice(-lf),o=JSON.stringify({version:sf,entries:r,acknowledgedJobIds:Array.from(n).slice(-500)}),i=Fl(t);localStorage.getItem(i)!==o&&localStorage.setItem(i,o)}catch{}}function Wo(e){return e.status==="done"||e.status==="error"}function Md(e,t){return!!(t&&e.status==="done"&&e.doneLabel==="Has a question"&&e.threadId&&t.has(e.threadId))}function N0(e,t,n,r,o){return!e&&(t||n)&&(r>0||o===!1)}function F0(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}var _0=['[data-devtools="thread-panel"]:not([aria-hidden="true"])','[data-devtools="imprint-panel"]','[data-popmelt-active-annotation-surface="true"]'].join(", "),pf=500,W0=80,ff=120;function _l(e){return e==="project_model"}var Rd=2,Wa=24,J0=0,Ld={display:"flex",alignItems:"center",gap:3,padding:`${Rd}px 0`,backgroundColor:"transparent",border:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,height:Wa,boxSizing:"border-box",whiteSpace:"nowrap",animation:"popmeltJobStatusEnter 180ms ease-out both",transition:"transform 200ms ease, opacity 200ms ease",willChange:"transform, opacity"};function B0(e,t=!1){if(e.find(c=>c.type==="job_started")?.data.kind==="project_model")return"Projecting model";let n=e.filter(c=>c.type==="orientation"),r=n[n.length-1]?.data.orientation?.snapshot?.focus?.trim();if(r)return t||r.length<=40?r:`${r.slice(0,37).trimEnd()}\u2026`;let o=e.filter(c=>c.type==="tool_use");if(o.length===0)return"Starting\u2026";let i=o[o.length-1],a=String(i.data.tool||""),s=i.data.file?String(i.data.file):null,l=s?s.split("/").pop()??s:null,d=i.data.content?String(i.data.content):null;switch(a){case"Read":return l?`Reading ${l}`:"Reading file";case"Edit":return l?`Editing ${l}`:"Editing file";case"Write":return l?`Writing ${l}`:"Writing file";case"Bash":{if(!d)return"Running command";let c=d.split(`
|
|
59
|
+
`)[0].trim();return t||c.length<=40?c:c.slice(0,37)+"\u2026"}case"Glob":return"Searching files";case"Grep":return"Searching code";default:return a?`Using ${a}`:"Working\u2026"}}function U0(e,t=!1){if(!t)return"Failed";let n=pg(e);return`${n.label} \u2014 ${n.message}`}function q0(e,t=3){let n=e.trim().replace(/\s+/g," ");if(!n)return 0;let r=n.split(" "),o=Math.max(...r.map(l=>l.length)),i=l=>{let d=1,c=0;for(let p of r){let u=c===0?p.length:c+1+p.length;u<=l?c=u:(d+=1,c=p.length)}return d},a=o,s=n.length;for(;a<s;){let l=Math.floor((a+s)/2);i(l)<=Math.max(1,t)?s=l:a=l+1}return a}function $d(e,t){if(e.find(i=>i.type==="job_started"&&i.data.jobId===t)?.data.kind==="project_model")return"Model";let n=[...e].reverse().find(i=>i.type==="done"&&i.data.jobId===t)?.data.result,r=e.some(i=>i.type==="question"&&i.data.jobId===t);if(n?.attention==="response_requested")return"Has a question";if(n?.attention==="decision_required")return"Needs decision";if(n?.attention==="review_required")return"Needs review";if(n?.outcomes?.some(i=>i.kind==="changes_applied"))return"Applied changes";if(r)return"Has a question";if(n?.attention==="response_available")return"Replied";let o=new Set(["Edit","Write"]);return e.some(i=>i.type==="tool_use"&&i.data.jobId===t&&o.has(String(i.data.tool||"")))?"Applied changes":"Replied"}function hf(e,t,n=[]){let r=new Map;for(let s of t){if(s.type!=="done"&&s.type!=="error")continue;let l=typeof s.data.jobId=="string"?s.data.jobId:null;l&&r.set(l,s)}if(r.size===0&&n.length===0)return e;let o=new Set(n),i=!1,a=e.map(s=>{let l=r.get(s.jobId);if(!l)return s.status==="queued"&&o.has(s.jobId)?(i=!0,{...s,status:"working"}):s;let d=l.type==="error",c=d?"error":"done",p=d?void 0:$d(t,s.jobId),u=d?String(l.data.message||""):void 0,h=d?!!l.data.cancelled:void 0,m=typeof l.data.threadId=="string"?l.data.threadId:void 0;return s.status===c&&s.doneLabel===p&&s.errorMessage===u&&s.cancelled===h&&s.threadId===(s.threadId||m)?s:(i=!0,{...s,status:c,doneLabel:p,errorMessage:u,cancelled:h,threadId:s.threadId||m})});return i?a:e}function K0(e,t){return t?[...e].reverse():e}function Y0({color:e}){let[t,n]=P(0);return F(()=>{let r=setInterval(()=>{n(o=>(o+1)%2)},250);return()=>clearInterval(r)},[]),f("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?$(dt,{children:[f("circle",{cx:"7",cy:"7",r:"2"}),f("circle",{cx:"17",cy:"7",r:"2"}),f("circle",{cx:"7",cy:"17",r:"2"}),f("circle",{cx:"17",cy:"17",r:"2"})]}):$(dt,{children:[f("circle",{cx:"12",cy:"6",r:"2"}),f("circle",{cx:"6",cy:"12",r:"2"}),f("circle",{cx:"18",cy:"12",r:"2"}),f("circle",{cx:"12",cy:"18",r:"2"})]})})}function X0({color:e}){return f("span",{style:{color:e,fontSize:12,lineHeight:1,width:10,display:"inline-block"},children:"\u2713"})}function V0({onCancel:e}){let t=J(null);return F(()=>{let n=t.current;if(!n)return;let r=a=>{a.stopPropagation(),e()},o=()=>{n.style.opacity="0.5"},i=()=>{n.style.opacity="0.7"};return n.addEventListener("click",r),n.addEventListener("mouseenter",o),n.addEventListener("mouseleave",i),()=>{n.removeEventListener("click",r),n.removeEventListener("mouseenter",o),n.removeEventListener("mouseleave",i)}},[e]),f("button",{ref:t,style:{background:"none",border:"none",cursor:"pointer",color:"#ffffff",opacity:.7,fontSize:14,padding:"0 2px",lineHeight:1},title:"Cancel",children:"\xD7"})}function G0({onDismiss:e,onHoverChange:t}){let n=J(null),[r,o]=P(!1);return F(()=>{let i=n.current;if(!i)return;let a=d=>{d.stopPropagation(),e()},s=()=>{o(!0),t?.(!0)},l=()=>{o(!1),t?.(!1)};return i.addEventListener("click",a),i.addEventListener("mouseenter",s),i.addEventListener("mouseleave",l),()=>{i.removeEventListener("click",a),i.removeEventListener("mouseenter",s),i.removeEventListener("mouseleave",l)}},[e,t]),f("button",{ref:n,style:{background:"none",border:"none",cursor:"pointer",color:"#ffffff",opacity:r?1:.3,display:"flex",alignItems:"center",justifyContent:"center",width:16,height:16,padding:0,lineHeight:1,transition:"opacity 120ms ease-out"},title:"Hide","aria-label":"Hide",children:f(Gg,{size:12,strokeWidth:2.25})})}function Q0({bridge:e,inFlightJobs:t,threadColors:n,isVisible:r,isHidden:o=!1,onHover:i,isInteractionSuppressed:a=!1,clearSignal:s,onClickJob:l,onCancel:d,onHoverJob:c,isConnected:p,dismissedThreadIds:u,acknowledgedThread:h,recoveredAcknowledgedThreadIds:m,recoveredAcknowledgedJobIds:g,recoveredSettledQuestionThreadIds:x,pendingQuestionThreadIds:S,snapPosition:L="bottom-right",currentPathname:H,noticeScope:w,ownedThreadIds:D,allowThreadlessNotices:_=!0,viewedThreadId:E}){let V=J(new Set),[O,Y]=P(()=>{let y=Ad(w),re=uf(w).filter(Se=>!y.has(Se.jobId));return V.current=new Set(re.map(Se=>Se.jobId)),re}),[q,oe]=P(!1),[I,G]=P(null),[N,z]=P(null),[M,j]=P(!1),[R,A]=P(!1),[Q,ne]=P("waiting"),ee=a||M,de=o||ee,B=J(de),he=J(!1),ge=J(null),te=J(null),ve=J(null),[Oe]=P(()=>Ad(w)),xe=J(Oe),Xe=J(new Set);F(()=>{ee&&(oe(!1),G(null),i(!1),c?.(null))},[ee,i,c]),F(()=>{o&&(oe(!1),G(null),i(!1),c?.(null))},[o,i,c]),F(()=>{D!==null&&O0(O.filter(y=>cf(y,D,_)&&!xe.current.has(y.jobId)),w,xe.current)},[O,w,D,_]),F(()=>{if(!E)return;let y=O.filter(re=>re.threadId===E&&Wo(re));y.length!==0&&(y.forEach(re=>xe.current.add(re.jobId)),Y(re=>re.filter(Se=>!xe.current.has(Se.jobId))))},[O,E]),F(()=>{Y(y=>D0(y,n))},[n]),F(()=>{let y=re=>{if(re.key!==Fl(w))return;Ad(w).forEach(We=>xe.current.add(We));let Se=uf(w).filter(We=>!xe.current.has(We.jobId));Y(We=>[...We.filter(Rt=>!Wo(Rt)),...Se])};return window.addEventListener("storage",y),()=>window.removeEventListener("storage",y)},[w]);let[K,Ke]=P(()=>typeof window<"u"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});F(()=>{let y=()=>Ke({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",y),()=>window.removeEventListener("resize",y)},[]);let me=rm(L,K.w,K.h);F(()=>{s>0&&Y(y=>(y.forEach(re=>xe.current.add(re.jobId)),[]))},[s]),F(()=>{!u||u.size===0||Y(y=>{let re=y.filter(Se=>!Se.threadId||!u.has(Se.threadId)||!Wo(Se));return re.length===y.length?y:re})},[u]),F(()=>{h&&(Xe.current.add(h.threadId),Y(y=>{let re=y.filter(Se=>Se.threadId===h.threadId&&Wo(Se));return re.forEach(Se=>xe.current.add(Se.jobId)),re.length===0?y:y.filter(Se=>!xe.current.has(Se.jobId))}))},[h]),F(()=>{!m||m.size===0||(m.forEach(y=>Xe.current.add(y)),Y(y=>{let re=y.filter(Se=>Se.threadId&&m.has(Se.threadId)&&Wo(Se));return re.forEach(Se=>xe.current.add(Se.jobId)),re.length===0?y:y.filter(Se=>!xe.current.has(Se.jobId))}))},[m]),F(()=>{!g||g.size===0||(g.forEach(y=>xe.current.add(y)),Y(y=>{let re=y.filter(Se=>!g.has(Se.jobId));return re.length===y.length?y:re}))},[g]),F(()=>{!x||x.size===0||Y(y=>{let re=y.filter(Se=>!Md(Se,x));return re.length===y.length?y:re})},[x]),F(()=>{!S||S.size===0||Y(y=>{let re=!1,Se=y.map(We=>We.status!=="done"||!We.threadId||!S.has(We.threadId)||We.doneLabel==="Has a question"?We:(re=!0,{...We,doneLabel:"Has a question"}));return re?Se:y})},[S]),F(()=>{Y(y=>{let re=new Set(y.map(ye=>ye.jobId)),Se=!1,We=y.map(ye=>{let Fe=t[ye.jobId];if(Fe&&(!ye.threadId||ye.color==="#888"||!ye.kind||!ye.routePathnames&&Fe.routePathnames||ye.global==null&&Fe.global!=null))return Se=!0,{...ye,annotationIds:ye.annotationIds??Fe.annotationIds,threadId:ye.threadId||Fe.threadId||e.activeJobThreads[ye.jobId],color:Nl(ye.color==="#888"?Fe.color:ye.color,ye.threadId||Fe.threadId,n),kind:ye.kind??Fe.kind,routePathnames:ye.routePathnames??Fe.routePathnames,global:ye.global??Fe.global};let Ye=e.activeJobThreads[ye.jobId];return!ye.threadId&&Ye?(Se=!0,{...ye,threadId:Ye,color:Nl(ye.color,Ye,n)}):ye});for(let[ye,Fe]of Object.entries(t)){if(_l(Fe.kind))continue;let Ye=e.events.some(tt=>tt.data.jobId===ye&&tt.type!=="job_started"),ht=!!(Fe.threadId&&Xe.current.has(Fe.threadId)&&!Ye);!re.has(ye)&&!xe.current.has(ye)&&!ht&&(We.push({jobId:ye,annotationIds:Fe.annotationIds,color:Nl(Fe.color,Fe.threadId,n),status:"queued",kind:Fe.kind,threadId:Fe.threadId,routePathnames:Fe.routePathnames,global:Fe.global}),Se=!0)}let Rt=new Set(Object.keys(t)),St=new Set(e.activeJobIds),Re=We.filter(ye=>_l(ye.kind)?!1:ye.status!=="queued"?!0:Rt.has(ye.jobId)||St.has(ye.jobId));Re.length!==We.length&&(Se=!0);let Ge=new Set(Re.map(ye=>ye.jobId));for(let ye of e.activeJobIds)if(!Ge.has(ye)&&!xe.current.has(ye)){let Fe=e.events.find(Je=>Je.type==="job_started"&&Je.data.jobId===ye),Ye=Fe?.data.kind;if(_l(Ye))continue;let ht=Fe?.data?.threadId??e.activeJobThreads[ye],tt=e.events.some(Je=>Je.data.jobId===ye&&Je.type!=="job_started");if(ht&&Xe.current.has(ht)&&!tt)continue;let Ze=typeof Fe?.data.color=="string"?Fe.data.color:Ye==="synthesize"||Ye==="project_model"?"#000000":"#888",Lt=Nl(Ze,ht,n);Re.push({jobId:ye,annotationIds:Array.isArray(Fe?.data.annotationIds)?Fe.data.annotationIds.filter(Je=>typeof Je=="string"):void 0,color:Lt,status:"working",kind:Ye,threadId:ht,routePathnames:void 0,global:Fe?.data.global===!0||Ye==="synthesize"||Ye==="project_model"}),Se=!0}let Gt=hf(Re.filter(ye=>!xe.current.has(ye.jobId)),e.events,e.activeJobIds).filter(ye=>!Md(ye,x));return Se||Gt!==Re?Gt:y})},[t,e.activeJobIds,e.activeJobThreads,e.events,x,n]),F(()=>{if(e.activeJobIds.length===0)return;let y=new Set(e.activeJobIds);Y(re=>re.map(Se=>y.has(Se.jobId)&&Se.status!=="done"&&Se.status!=="error"?{...Se,status:"working"}:Se))},[e.activeJobIds]),F(()=>{Y(y=>{let re=hf(y.filter(We=>!xe.current.has(We.jobId)),e.events).filter(We=>!Md(We,x));if(!u||u.size===0)return re;let Se=re.filter(We=>!We.threadId||!u.has(We.threadId)||!Wo(We));return Se.length===re.length?re:Se})},[e.events,u,x]);let Ne=U(y=>y.global||!H||!y.routePathnames||y.routePathnames.length===0?!0:y.routePathnames.includes(H),[H]),Ve=Ee(()=>O.filter(y=>!_l(y.kind)&&Ne(y)&&cf(y,D,_)&&(!E||y.threadId!==E)&&!(y.threadId&&u?.has(y.threadId))&&!xe.current.has(y.jobId)),[O,Ne,D,_,E,u]),Te=Ve.some(Wo),je=N0(o,r,Te,Ve.length,p),ce=Ve.map(y=>`${y.jobId}:${y.status}:${y.color}:${y.threadId??""}`).join("|");Ct(()=>{let y=B.current;if(B.current=de,ge.current&&(clearTimeout(ge.current),ge.current=null),te.current&&(clearTimeout(te.current),te.current=null),ve.current&&(clearTimeout(ve.current),ve.current=null),!he.current){if(de||!je){A(!1),ne("waiting");return}return Ve.forEach(re=>V.current.add(re.jobId)),A(!0),ne("waiting"),ge.current=setTimeout(()=>{ne("fading"),ge.current=null,te.current=setTimeout(()=>{he.current=!0,ne("complete"),te.current=null,ve.current=setTimeout(()=>{A(!1),ve.current=null},pf)},ff)},W0),()=>{ge.current&&(clearTimeout(ge.current),ge.current=null),te.current&&(clearTimeout(te.current),te.current=null),ve.current&&(clearTimeout(ve.current),ve.current=null)}}if(de||!je){A(!1);return}if(y)return A(!0),ve.current=setTimeout(()=>{A(!1),ve.current=null},pf),()=>{ve.current&&(clearTimeout(ve.current),ve.current=null)}},[ce,de,je,Ve]);let at=J(null);Ct(()=>{if(!je){j(!1);return}let y=at.current;if(!y)return;let re=null,Se=new Set,We=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>Ge()),Rt=()=>{let Ye=[document],ht=y.getRootNode();return ht!==document&&"querySelectorAll"in ht&&Ye.unshift(ht),Ye},St=()=>{let Ye=new Set;for(let ht of Rt())ht.querySelectorAll(_0).forEach(tt=>Ye.add(tt));return Array.from(Ye)},Re=()=>{re=null;let Ye=y.getBoundingClientRect(),ht=St();for(let Ze of ht)We&&!Se.has(Ze)&&(Se.add(Ze),We.observe(Ze));let tt=ht.some(Ze=>{let Lt=window.getComputedStyle(Ze);return Lt.display==="none"||Lt.visibility==="hidden"||Lt.opacity==="0"?!1:F0(Ye,Ze.getBoundingClientRect())});j(Ze=>Ze===tt?Ze:tt)};function Ge(){re===null&&(re=window.requestAnimationFrame(Re))}We?.observe(y);let Gt=y.getRootNode(),ye=typeof MutationObserver>"u"?null:new MutationObserver(Ge);ye&&Gt instanceof Node&&ye.observe(Gt,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["aria-hidden","style"]});let Fe=typeof MutationObserver>"u"||!document.body?null:new MutationObserver(Ge);return Fe?.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-popmelt-active-annotation-surface"]}),window.addEventListener("resize",Ge),window.addEventListener("scroll",Ge,!0),window.addEventListener("pointermove",Ge,{passive:!0}),Re(),()=>{re!==null&&window.cancelAnimationFrame(re),We?.disconnect(),ye?.disconnect(),Fe?.disconnect(),window.removeEventListener("resize",Ge),window.removeEventListener("scroll",Ge,!0),window.removeEventListener("pointermove",Ge)}},[je,L,Ve.length]),F(()=>{if(!je)return;let y=at.current;if(!y)return;let re=()=>{oe(!0),i(!0)},Se=()=>{oe(!1),G(null),i(!1),c?.(null)};return y.addEventListener("mouseenter",re),y.addEventListener("mouseleave",Se),()=>{y.removeEventListener("mouseenter",re),y.removeEventListener("mouseleave",Se)}},[je,i,c]);let ot=J(new Map),Qe=U((y,re)=>{re?ot.current.set(y,re):ot.current.delete(y)},[]);if(F(()=>{if(!je)return;let y=[];for(let re of Ve){let Se=ot.current.get(re.jobId);if(!Se)continue;if(l){let Ge=re.jobId,Gt=re.threadId,ye=re.annotationIds,Fe=()=>l(Ge,Gt,ye);Se.addEventListener("click",Fe),y.push(()=>Se.removeEventListener("click",Fe))}let We=re.jobId,Rt=re.annotationIds,St=()=>{G(We),c?.(We,Rt)},Re=()=>{G(Ge=>Ge===We?null:Ge),c?.(null)};Se.addEventListener("mouseenter",St),Se.addEventListener("mouseleave",Re),y.push(()=>{Se.removeEventListener("mouseenter",St),Se.removeEventListener("mouseleave",Re)})}return()=>y.forEach(re=>re())},[je,Ve,l,c]),!je)return null;let we={working:3,queued:2,error:1,done:0},He=[],zt=new Map;for(let y of Ve){if(!y.threadId){He.push(y);continue}let re=zt.get(y.threadId);(!re||we[y.status]>we[re.status]||we[y.status]===we[re.status])&&zt.set(y.threadId,y)}for(let y of zt.values())He.push(y);let Et=He.filter(y=>y.status==="queued"),Jt=new Map;Et.forEach((y,re)=>{Jt.set(y.jobId,`(${re+1}/${Et.length})`)});let At=!q&&!R&&He.length>1,wt=om(L),Be=im(L),gt=K0(He,wt),Nn=Nu(e.events),dn=new Map(He.map((y,re)=>[y.jobId,re])),Yt=!he.current&&Q==="waiting",ze=!he.current&&Q==="fading",rn=ee||Yt;return $("div",{ref:at,style:{...me,zIndex:10001,opacity:rn?0:1,visibility:rn?"hidden":"visible",pointerEvents:rn?"none":"auto",transition:ze?`opacity ${ff}ms ease-out`:"none"},"aria-hidden":rn||void 0,"data-devtools":!0,children:[f("style",{children:`
|
|
60
|
+
@keyframes popmeltJobStatusEnter {
|
|
61
|
+
from { opacity: 0; transform: translateX(12px); }
|
|
62
|
+
to { opacity: 1; transform: translateX(0); }
|
|
63
|
+
}
|
|
64
|
+
@media (prefers-reduced-motion: reduce) {
|
|
65
|
+
@keyframes popmeltJobStatusEnter {
|
|
66
|
+
from { opacity: 1; transform: none; }
|
|
67
|
+
to { opacity: 1; transform: none; }
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
`}),gt.map((y,re)=>{let Se=re===gt.length-1,We=dn.get(y.jobId)??re,Rt=He.length-1-We,St=I===y.jobId,Re=Math.max(160,Math.min(360,K.w-32)),Ge=y.status==="working"&&Nn.has(y.jobId),Gt=Ze=>Ge?"Approval needed":y.status==="working"?B0(e.events.filter(Lt=>Lt.data.jobId===y.jobId),Ze):y.status==="queued"?`Queued ${Jt.get(y.jobId)??""}`:y.status==="done"?y.doneLabel||"Done":y.cancelled?"Cancelled":U0(y.errorMessage||"",Ze),ye=Gt(!1),Fe=Gt(!0),Ye=St?Fe:ye,ht=q0(Ye,3),tt=St&&(Fe!==ye||ht>24);return f("div",{"data-popmelt-status-job":y.jobId,style:{position:"relative",zIndex:We+1,marginBottom:At?Se?0:-18:Se?0:J0,transform:At?`scale(${Math.max(.94,1-Rt*.02)})`:"scale(1)",opacity:1,transformOrigin:`${wt?"top":"bottom"} ${Be?"right":"left"}`,transition:R?"none":"margin-bottom 250ms ease, transform 250ms ease, opacity 250ms ease"},children:f("div",{ref:Ze=>Qe(y.jobId,Ze),style:{...Ld,animation:!he.current||V.current.has(y.jobId)?"none":Ld.animation,position:"relative",overflow:"visible",cursor:l?"pointer":void 0,height:tt?"auto":Wa,minHeight:Wa,alignItems:tt?"flex-start":"center"},"aria-label":Ye,children:$("div",{style:{display:"flex",alignItems:tt?"flex-start":"center",gap:3,height:tt?"auto":Wa-Rd*2,minHeight:Wa-Rd*2,maxWidth:tt?Re:void 0,boxSizing:"border-box",padding:tt?"3px 5px 3px 8px":"0 5px 0 8px",margin:0,backgroundColor:y.color,color:"#ffffff",borderRadius:tu},children:[$("span",{style:{display:"flex",alignItems:tt?"flex-start":"center",gap:3,minWidth:0,opacity:N===y.jobId?.3:1,transition:"opacity 120ms ease-out"},children:[y.status==="working"&&(Ge?f(Lu,{size:12,"aria-label":"Approval needed"}):f(Y0,{color:"#ffffff"})),y.status==="queued"&&f(Us,{size:12,strokeWidth:2.25,color:"#ffffff",style:{opacity:.6}}),y.status==="done"&&(y.doneLabel==="Has a question"?f(Xg,{size:12,strokeWidth:2.25,style:{marginRight:3}}):y.doneLabel==="Replied"?f(Mu,{size:12,strokeWidth:2.25}):f(X0,{color:"#ffffff"})),y.status==="error"&&f(Vg,{size:12,strokeWidth:2.25}),f("span",{style:{opacity:y.status==="queued"?.6:1,display:tt?"-webkit-box":"block",WebkitBoxOrient:tt?"vertical":void 0,WebkitLineClamp:tt?3:void 0,whiteSpace:tt?"normal":"nowrap",textWrap:tt?"balance":void 0,lineHeight:"14px",width:tt?`min(${ht+.5}ch, ${Re-48}px)`:void 0,maxWidth:tt?Re-48:160,overflow:"hidden",textOverflow:"ellipsis",transition:"opacity 120ms ease-out"},children:Ye})]}),y.status==="working"&&d&&f(V0,{onCancel:()=>d(y.jobId)}),(y.status==="done"||y.status==="error")&&f(G0,{onHoverChange:Ze=>z(Ze?y.jobId:null),onDismiss:()=>{z(null),O.filter(Ze=>y.threadId?Ze.threadId===y.threadId:Ze.jobId===y.jobId).forEach(Ze=>xe.current.add(Ze.jobId)),Y(Ze=>Ze.filter(Lt=>y.threadId?Lt.threadId!==y.threadId:Lt.jobId!==y.jobId))}})]})})},y.jobId)}),p===!1&&O.length>0&&f("div",{style:Ld,children:$("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:0,backgroundColor:"#f59e0b",color:"#ffffff",borderRadius:tu},children:[f("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ffffff",opacity:.6}}),f("span",{children:"Reconnecting\u2026"})]})})]})}var Z0=`
|
|
71
|
+
[data-popmelt-top-layer-host] {
|
|
72
|
+
-webkit-user-select: none;
|
|
73
|
+
user-select: none;
|
|
74
|
+
--popmelt-selection-background: #626262;
|
|
75
|
+
--popmelt-selection-color: #ffffff;
|
|
76
|
+
}
|
|
77
|
+
[data-popmelt-top-layer-host] * {
|
|
78
|
+
-webkit-user-select: none;
|
|
79
|
+
user-select: none;
|
|
80
|
+
}
|
|
81
|
+
[data-popmelt-top-layer-host] [data-popmelt-theme="light"] {
|
|
82
|
+
--popmelt-selection-background: #a3a3a3;
|
|
83
|
+
--popmelt-selection-color: #171717;
|
|
84
|
+
}
|
|
85
|
+
[data-popmelt-top-layer-host] ::selection {
|
|
86
|
+
background: var(--popmelt-selection-background);
|
|
87
|
+
color: var(--popmelt-selection-color);
|
|
88
|
+
}
|
|
89
|
+
[data-popmelt-top-layer-host] :is(input, textarea, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]),
|
|
90
|
+
[data-popmelt-top-layer-host] :is([contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]) * {
|
|
91
|
+
-webkit-user-select: text;
|
|
92
|
+
user-select: text;
|
|
93
|
+
}
|
|
94
|
+
`;function ew({children:e}){let[t,n]=P(null);return Ct(()=>{let r=document.createElement("div");return r.setAttribute("data-popmelt-top-layer-host",""),Object.assign(r.style,{position:"fixed",inset:"0",width:"100dvw",height:"100dvh",overflow:"visible",pointerEvents:"none",zIndex:String(2147483647)}),document.documentElement.appendChild(r),n(r),()=>r.remove()},[]),t?ju($(dt,{children:[f("style",{children:Z0}),e]}),t):null}var tw=`
|
|
95
|
+
${mg}
|
|
96
|
+
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
97
|
+
:host {
|
|
98
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
99
|
+
font-size: 12px;
|
|
100
|
+
color: #1f2937;
|
|
101
|
+
line-height: 1.5;
|
|
102
|
+
-webkit-font-smoothing: antialiased;
|
|
103
|
+
-webkit-user-select: none;
|
|
104
|
+
user-select: none;
|
|
105
|
+
--popmelt-selection-background: #626262;
|
|
106
|
+
--popmelt-selection-color: #ffffff;
|
|
107
|
+
}
|
|
108
|
+
:host * {
|
|
109
|
+
-webkit-user-select: none;
|
|
110
|
+
user-select: none;
|
|
111
|
+
}
|
|
112
|
+
:host [data-popmelt-theme="light"] {
|
|
113
|
+
--popmelt-selection-background: #a3a3a3;
|
|
114
|
+
--popmelt-selection-color: #171717;
|
|
115
|
+
scrollbar-color: rgba(0, 0, 0, 0.06) transparent;
|
|
116
|
+
}
|
|
117
|
+
:host [data-popmelt-theme="dark"],
|
|
118
|
+
:host [data-popmelt-panel] {
|
|
119
|
+
scrollbar-color: auto;
|
|
120
|
+
}
|
|
121
|
+
:host ::selection {
|
|
122
|
+
background: var(--popmelt-selection-background);
|
|
123
|
+
color: var(--popmelt-selection-color);
|
|
124
|
+
}
|
|
125
|
+
:host :is(input, textarea, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]),
|
|
126
|
+
:host :is([contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]) * {
|
|
127
|
+
-webkit-user-select: text;
|
|
128
|
+
user-select: text;
|
|
129
|
+
}
|
|
130
|
+
:host *:not([data-popmelt-panel]):not([data-popmelt-panel] *):not([data-popmelt-font="sans"]):not([data-popmelt-font="sans"] *) {
|
|
131
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
132
|
+
font-size: 12px;
|
|
133
|
+
color: inherit;
|
|
134
|
+
line-height: 1.5;
|
|
135
|
+
-webkit-font-smoothing: antialiased;
|
|
136
|
+
}
|
|
137
|
+
:host [data-devtools="thread-panel"]:not([data-popmelt-panel]) * {
|
|
138
|
+
font-family: inherit;
|
|
139
|
+
font-size: inherit;
|
|
140
|
+
line-height: inherit;
|
|
141
|
+
}
|
|
142
|
+
[data-popmelt-panel] {
|
|
143
|
+
font: 16px / 1.5 system-ui, -apple-system, sans-serif;
|
|
144
|
+
color: initial;
|
|
145
|
+
-webkit-font-smoothing: auto;
|
|
146
|
+
}
|
|
147
|
+
`;function nw({children:e}){return F(()=>{hg(document)},[]),$(dt,{children:[f("style",{children:tw}),e]})}function rw(e){return e.tagName==="STYLE"||e.tagName==="LINK"&&e.rel==="stylesheet"}function ow(e){let t=new Map,n=e.firstChild;function r(a){if(t.has(a)||a.hasAttribute("data-pm-mirror"))return;let s=a.cloneNode(!0);s.setAttribute("data-pm-mirror",""),e.insertBefore(s,n),t.set(a,s)}function o(a){let s=t.get(a);s&&(s.remove(),t.delete(a))}for(let a of document.querySelectorAll('link[rel="stylesheet"], style'))a.getRootNode()===document&&r(a);try{document.adoptedStyleSheets.length>0&&(e.adoptedStyleSheets=[...document.adoptedStyleSheets,...e.adoptedStyleSheets])}catch{}let i=new MutationObserver(a=>{for(let s of a)if(s.type==="childList"){for(let l of s.addedNodes)l instanceof Element&&rw(l)&&r(l);for(let l of s.removedNodes)l instanceof Element&&o(l)}});return i.observe(document.head,{childList:!0}),document.body&&i.observe(document.body,{childList:!0}),()=>{i.disconnect();for(let a of t.values())a.remove();t.clear()}}function iw({children:e,zIndex:t=1e4}){let n=J(null),[r,o]=P(null),[i,a]=P(null);return Ct(()=>{let s=n.current;if(!s||s.shadowRoot)return;let l=s.attachShadow({mode:"open"}),d=document.createElement("div");d.setAttribute("data-popmelt-root",""),d.setAttribute("data-popmelt-canvas-block",""),l.appendChild(d),o(l),a(d)},[]),F(()=>{if(r)return ow(r)},[r]),$(dt,{children:[f("div",{ref:n,"data-popmelt-shadow-host":!0,style:{position:"absolute",width:0,height:0,overflow:"visible",pointerEvents:"auto",zIndex:t}}),i&&ju(e,i)]})}function lo({src:e,alt:t="",...n}){let r=typeof e=="string"&&$g(e),[o,i]=P(null);return F(()=>{if(!r||typeof e!="string")return;let a=new AbortController,s;return Vt(e,{signal:a.signal,cache:"no-store"}).then(async l=>{if(!l.ok)return;let d=await l.blob();a.signal.aborted||(s=URL.createObjectURL(d),i({src:e,objectUrl:s}))}).catch(()=>{}),()=>{a.abort(),s&&URL.revokeObjectURL(s)}},[e,r]),f("img",{...n,alt:t,src:r?o?.src===e?o.objectUrl:void 0:e})}var mf={background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:10,padding:16},jd={background:"transparent",border:"1px solid var(--popmelt-thread-border)",borderRadius:16,color:"var(--popmelt-thread-secondary)",cursor:"pointer",fontFamily:"inherit",fontSize:11,fontWeight:650,padding:"6px 9px",textAlign:"left"};function aw({approval:e,accentColor:t,connected:n,decide:r}){let[o,i]=P(!1),[a,s]=P(!1),[l,d]=P(""),c=e.status==="pending",p=async u=>{if(!(a||!n)){s(!0),d("");try{await r(u)}catch(h){d(h instanceof Error?h.message:"Could not send decision.")}finally{s(!1)}}};return c?$("div",{"data-popmelt-approval":e.status,style:mf,children:[$("button",{type:"button","aria-expanded":o,onClick:()=>i(!o),style:{background:"none",border:0,padding:0,display:"flex",alignItems:"center",gap:8,color:"var(--popmelt-thread-primary)",font:"inherit",fontSize:14,fontWeight:650,cursor:"pointer",textAlign:"left"},children:[f(Lu,{size:16,color:t,"aria-hidden":"true"}),f("span",{style:{flex:1},children:"Permission needed"}),f($a,{size:14,"aria-hidden":"true",style:{transform:o?"rotate(180deg)":"none"}})]}),$("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35},children:[e.summary,e.phase==="parked"&&f("div",{role:"status",children:"Parked \xB7 other tasks can continue. Approve to run next."})]}),f("div",{title:e.cwd,style:{fontSize:11,color:"var(--popmelt-thread-muted-strong)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.cwd}),o&&$("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",paddingLeft:12,color:"var(--popmelt-thread-secondary)",fontSize:12},children:[$("div",{children:["One-time permission for this"," ",e.kind==="command"?"command":"file change","."]}),f("pre",{style:{fontSize:11,whiteSpace:"pre-wrap",overflowWrap:"anywhere",maxHeight:200,overflow:"auto",marginBottom:0},children:e.details})]}),$("div",{style:{display:"flex",gap:6},children:[f("button",{type:"button","data-approval-decision":"allow",disabled:a||!n,style:jd,onClick:()=>{p("allow")},children:"Allow once"}),f("button",{type:"button","data-approval-decision":"deny",disabled:a||!n,style:jd,onClick:()=>{p("deny")},children:"Deny"})]}),!n&&f("div",{role:"status",style:{fontSize:12},children:"Reconnecting\u2026"}),l&&f("div",{role:"alert",style:{fontSize:12},children:l})]}):f(gf,{approval:e})}function gf({approval:e}){let{status:t,phase:n,details:r,expiryReason:o}=e,i=t==="denied";return $("div",{"data-popmelt-approval":t,title:r,style:{display:"flex",alignItems:"flex-start",gap:6,color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:[f(t==="allowed"||i?Ug:Us,{size:12,style:{flexShrink:0,marginTop:"calc(.5lh - 6px)",transform:i?"translateY(1px) rotate(180deg)":void 0}}),$("span",{style:{overflowWrap:"anywhere"},children:[t==="allowed"?n==="queued"?"Allowed once (queued)":"Allowed once":i?"Denied":o==="no_response"?"No response received":"Request expired",": ",f("em",{children:r})]})]})}function lw({bridgeUrl:e,threadId:t,visible:n,active:r,onPendingChange:o}){let[i,a]=P([]),[s,l]=P(!1),d=i.some(c=>c.threadId===t&&c.status==="pending");return F(()=>(o(d),()=>o(!1)),[o,d]),F(()=>{if(a([]),l(!1),!n)return;let c=new AbortController,p,u=async()=>{try{let h=await Vt(`${e}/approvals?threadId=${encodeURIComponent(t)}`,{signal:c.signal});if(!h.ok)throw new Error("Approval fetch failed");let m=await h.json();c.signal.aborted||(a(Array.isArray(m.approvals)?m.approvals:[]),l(!0))}catch{c.signal.aborted||l(!1)}!c.signal.aborted&&r&&(p=setTimeout(()=>{u()},1500))};return u(),()=>{c.abort(),clearTimeout(p)}},[e,t,n,r]),{approvals:i,connected:s,decide:async(c,p)=>{let u=await Vt(`${e}/approvals`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:c.id,threadId:t,jobId:c.jobId,decision:p})}),h=await u.json();if(!u.ok)throw new Error(h.error||"Could not send decision.");a(Array.isArray(h.approvals)?h.approvals:[])}}}var Pd="ui-monospace, SFMono-Regular, Menlo, monospace",sw=0;function dw({size:e=11}){let t=++sw,n=`pm-vs-m${t}`,r=`pm-vs-f0-${t}`,o=`pm-vs-f1-${t}`,i=`pm-vs-g${t}`;return $("svg",{width:e,height:e,viewBox:"0 0 100 100",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{display:"inline",verticalAlign:"middle",marginLeft:3,flexShrink:0},children:[f("mask",{id:n,style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100",height:"100",children:f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M70.9119 99.3171C72.4869 99.9307 74.2828 99.8914 75.8725 99.1264L96.4608 89.2197C98.6242 88.1787 100 85.9892 100 83.5872V16.4133C100 14.0113 98.6243 11.8218 96.4609 10.7808L75.8725 0.873756C73.7862 -0.130129 71.3446 0.11576 69.5135 1.44695C69.252 1.63711 69.0028 1.84943 68.769 2.08341L29.3551 38.0415L12.1872 25.0096C10.589 23.7965 8.35363 23.8959 6.86933 25.2461L1.36303 30.2549C-0.452552 31.9064 -0.454633 34.7627 1.35853 36.417L16.2471 50.0001L1.35853 63.5832C-0.454633 65.2374 -0.452552 68.0938 1.36303 69.7453L6.86933 74.7541C8.35363 76.1043 10.589 76.2037 12.1872 74.9905L29.3551 61.9587L68.769 97.9167C69.3925 98.5406 70.1246 99.0104 70.9119 99.3171ZM75.0152 27.2989L45.1091 50.0001L75.0152 72.7012V27.2989Z",fill:"white"})}),$("g",{mask:`url(#${n})`,children:[f("path",{d:"M96.4614 10.7962L75.8569 0.875542C73.4719 -0.272773 70.6217 0.211611 68.75 2.08333L1.29858 63.5832C-0.515693 65.2373 -0.513607 68.0937 1.30308 69.7452L6.81272 74.754C8.29793 76.1042 10.5347 76.2036 12.1338 74.9905L93.3609 13.3699C96.086 11.3026 100 13.2462 100 16.6667V16.4275C100 14.0265 98.6246 11.8378 96.4614 10.7962Z",fill:"#0065A9"}),f("g",{filter:`url(#${r})`,children:f("path",{d:"M96.4614 89.2038L75.8569 99.1245C73.4719 100.273 70.6217 99.7884 68.75 97.9167L1.29858 36.4169C-0.515693 34.7627 -0.513607 31.9063 1.30308 30.2548L6.81272 25.246C8.29793 23.8958 10.5347 23.7964 12.1338 25.0095L93.3609 86.6301C96.086 88.6974 100 86.7538 100 83.3334V83.5726C100 85.9735 98.6246 88.1622 96.4614 89.2038Z",fill:"#007ACC"})}),f("g",{filter:`url(#${o})`,children:f("path",{d:"M75.8578 99.1263C73.4721 100.274 70.6219 99.7885 68.75 97.9166C71.0564 100.223 75 98.5895 75 95.3278V4.67213C75 1.41039 71.0564 -0.223106 68.75 2.08329C70.6219 0.211402 73.4721 -0.273666 75.8578 0.873633L96.4587 10.7807C98.6234 11.8217 100 14.0112 100 16.4132V83.5871C100 85.9891 98.6234 88.1786 96.4586 89.2196L75.8578 99.1263Z",fill:"#1F9CF0"})}),f("g",{style:{mixBlendMode:"overlay"},opacity:"0.25",children:f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M70.8511 99.3171C72.4261 99.9306 74.2221 99.8913 75.8117 99.1264L96.4 89.2197C98.5634 88.1787 99.9392 85.9892 99.9392 83.5871V16.4133C99.9392 14.0112 98.5635 11.8217 96.4001 10.7807L75.8117 0.873695C73.7255 -0.13019 71.2838 0.115699 69.4527 1.44688C69.1912 1.63705 68.942 1.84937 68.7082 2.08335L29.2943 38.0414L12.1264 25.0096C10.5283 23.7964 8.29285 23.8959 6.80855 25.246L1.30225 30.2548C-0.513334 31.9064 -0.515415 34.7627 1.29775 36.4169L16.1863 50L1.29775 63.5832C-0.515415 65.2374 -0.513334 68.0937 1.30225 69.7452L6.80855 74.754C8.29285 76.1042 10.5283 76.2036 12.1264 74.9905L29.2943 61.9586L68.7082 97.9167C69.3317 98.5405 70.0638 99.0104 70.8511 99.3171ZM74.9544 27.2989L45.0483 50L74.9544 72.7012V27.2989Z",fill:`url(#${i})`})})]}),$("defs",{children:[$("filter",{id:r,x:"-8.39411",y:"15.8291",width:"116.727",height:"92.2456",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[f("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),f("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"}),f("feOffset",{}),f("feGaussianBlur",{stdDeviation:"4.16667"}),f("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),f("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),f("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),$("filter",{id:o,x:"60.4167",y:"-8.07558",width:"47.9167",height:"116.151",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[f("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),f("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"}),f("feOffset",{}),f("feGaussianBlur",{stdDeviation:"4.16667"}),f("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),f("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),f("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),$("linearGradient",{id:i,x1:"49.9392",y1:"0.257812",x2:"49.9392",y2:"99.7423",gradientUnits:"userSpaceOnUse",children:[f("stop",{stopColor:"white"}),f("stop",{offset:"1",stopColor:"white",stopOpacity:"0"})]})]})]})}var cw=/^#[0-9a-fA-F]{3,8}$/,uw=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,pw=new Set(["black","white","red","blue","green","yellow","orange","purple","pink","gray","grey","cyan","magenta","brown","navy","teal","maroon","olive","silver","aqua","fuchsia","lime"]);function fw(e){let t=e.trim();return cw.test(t)||uw.test(t)||pw.has(t.toLowerCase())}function zd(e,t){return f("span",{style:{display:"inline-block",width:10,height:10,backgroundColor:e,border:"1px solid rgba(0,0,0,0.15)",borderRadius:2,verticalAlign:"middle",marginRight:3}},t)}function Si(e){let t=e.split(/(?<![^\s([{])(@(?:codex|claude))(?=$|[\s.,!?:;)\]}])/gi);return t.length===1?e:t.map((n,r)=>r%2?f("strong",{"data-popmelt-tool-mention":!0,children:n},r):n)}function Ja(e){let t=[],n=/(`[^`]+`)|(\*\*\*(.+?)\*\*\*)|(\*\*(.+?)\*\*)|(\*(.+?)\*)|(_([^_]+?)_)|(\[([^\]]+)\]\(([^)]+)\))|(#[0-9a-fA-F]{3,8})(?![0-9a-fA-F])|((?:rgba?|hsla?|oklch)\([^)]+\))/g,r=0,o;for(;(o=n.exec(e))!==null;){if(o.index>r&&t.push(Si(e.slice(r,o.index))),o[1]){let i=o[1].slice(1,-1);fw(i)&&t.push(zd(i,`sw-${o.index}`)),t.push(f("code",{style:{fontFamily:Pd,fontSize:"0.9em",backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",borderRadius:2},children:i},o.index))}else if(o[3]!==void 0)t.push(f("strong",{children:f("em",{children:o[3]})},o.index));else if(o[5]!==void 0)t.push(f("strong",{children:o[5]},o.index));else if(o[7]!==void 0)t.push(f("em",{children:o[7]},o.index));else if(o[9]!==void 0)t.push(f("em",{children:o[9]},o.index));else if(o[11]!==void 0&&o[12]!==void 0){let i=o[12],a=!/^https?:\/\/|^mailto:/i.test(i),s=a?`vscode://file/${i}`:i;a?t.push($("a",{href:s,target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"underline",whiteSpace:"nowrap",backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",borderRadius:2,fontFamily:Pd,fontSize:"0.9em"},children:[o[11],f(dw,{})]},o.index)):t.push(f("a",{href:s,target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"underline"},children:o[11]},o.index))}else o[13]!==void 0?(t.push(zd(o[13],`sw-${o.index}`)),t.push(o[13])):o[14]!==void 0&&(t.push(zd(o[14],`sw-${o.index}`)),t.push(o[14]));r=o.index+o[0].length}return r<e.length&&t.push(Si(e.slice(r))),t}function cr(e){let t=e.split(`
|
|
148
|
+
`),n=[],r=0;for(;r<t.length;){let o=t[r];if(o.trimStart().startsWith("```")){let s=[];for(r++;r<t.length&&!t[r].trimStart().startsWith("```");)s.push(t[r]),r++;r++,n.push(f("pre",{style:{fontFamily:Pd,fontSize:"0.9em",lineHeight:1.4,backgroundColor:"rgba(0,0,0,0.04)",padding:"6px 8px",margin:"4px 0",overflowX:"auto",whiteSpace:"pre"},children:s.join(`
|
|
149
|
+
`)},n.length));continue}if(/^(-{3,}|\*{3,}|_{3,})\s*$/.test(o)){n.push(f("hr",{style:{border:"none",borderTop:"1px solid rgba(0,0,0,0.1)",margin:"6px 0"}},n.length)),r++;continue}let i=o.match(/^(#{1,4})\s+(.+)/);if(i){let s=i[1].length,l={1:16,2:14,3:13,4:12};n.push(f("div",{style:{fontWeight:700,fontSize:l[s]??12,margin:"8px 0 2px"},children:Ja(i[2])},n.length)),r++;continue}if(o.trimStart().startsWith("|")&&o.trimEnd().endsWith("|")){let s=[];for(;r<t.length&&t[r].trimStart().startsWith("|")&&t[r].trimEnd().endsWith("|");)s.push(t[r]),r++;let l=g=>/^\|[\s\-:|]+\|$/.test(g),d=s.filter(g=>!l(g)),c=g=>g.split("|").slice(1,-1).map(x=>x.trim()),p=g=>/^\*\*.+\*\*$/.test(g)||/^__.+__$/.test(g),u=d.map(c),h=u.length>1&&u.slice(1).every(g=>g[0]&&p(g[0])),m=u.length>0&&u[0].every(g=>p(g));n.push(f("div",{style:{overflowX:"auto",margin:"4px 0",paddingBottom:4},children:f("table",{style:{borderCollapse:"separate",borderSpacing:0,fontSize:"0.95em",width:"max-content",minWidth:"100%"},children:f("tbody",{children:d.map((g,x)=>f("tr",{children:c(g).map((S,L)=>f(x===0?"th":"td",{style:{border:"1px solid rgba(0,0,0,0.1)",padding:"3px 6px",textAlign:"left",fontWeight:x===0?600:400,minWidth:60,whiteSpace:"nowrap",...L===0&&h||x===0&&m?{position:"sticky",...L===0&&h?{left:0}:{},...x===0&&m?{top:0}:{},background:"#fff",zIndex:L===0&&h&&x===0&&m?2:1}:{}},children:Ja(S)},L))},x))})})},n.length));continue}if(o.match(/^(\s*)([-*])\s+(.+)/)){let s=[];for(;r<t.length;){let l=t[r].match(/^\s*[-*]\s+(.+)/);if(l)s.push(l[1]),r++;else if(s.length>0&&t[r].match(/^\s+\S/)&&!t[r].match(/^\s*\d+\.\s/)&&!t[r].match(/^\s*[-*]\s+/))s[s.length-1]+=" "+t[r].trim(),r++;else break}n.push(f("ul",{style:{margin:0,paddingLeft:20,listStyleType:"disc",display:"flex",flexDirection:"column",gap:8,fontSize:"inherit",lineHeight:"inherit"},children:s.map((l,d)=>f("li",{children:Ja(l)},d))},n.length));continue}let a=o.match(/^(\s*)(\d+)\.\s+(.+)/);if(a){let s=a[1].length,l=parseInt(a[2],10)||1,d=[],c=null;for(;r<t.length;){let p=t[r],u=p.match(/^(\s*)(\d+)\.\s+(.+)/);if(u&&u[1].length===s)c=[u[3]],d.push(c),r++;else if(c&&p.trim()==="")r++;else if(d.length>0&&t[r].match(/^\s+\S/)&&!t[r].match(/^\s*\d+\.\s/)&&!t[r].match(/^\s*[-*]\s+/))c.push(t[r].trim()),r++;else if(c&&/^(Eval|Checks|Sources|Rationale|Prompt|Assertions?|Reason|Why|Expected|Notes?):/i.test(p.trim()))c.push(p.trim()),r++;else if(c&&c.length>1&&p.trim()&&!p.match(/^(#{1,4})\s+/)&&!p.trimStart().startsWith("|")&&!p.match(/^\s*[-*]\s+/)&&!p.match(/^\s*\d+\.\s+/)&&!/^(\*\*)?[A-Z][A-Za-z /&-]{2,40}(\*\*)?$/.test(p.trim()))c.push(p.trim()),r++;else break}n.push(f("ol",{start:l,style:{margin:0,paddingLeft:20,listStyleType:"decimal",display:"flex",flexDirection:"column",gap:8,fontSize:"inherit",lineHeight:"inherit"},children:d.map((p,u)=>f("li",{children:f("div",{style:{display:"flex",flexDirection:"column",gap:6},children:p.map((h,m)=>f("div",{children:Ja(h)},m))})},u))},n.length));continue}if(o.trim()===""){r++;continue}n.push(f("div",{style:{fontSize:"inherit",lineHeight:"inherit"},children:Ja(o)},n.length)),r++}return f("div",{style:{display:"flex",flexDirection:"column",fontSize:"inherit",gap:8,lineHeight:"inherit"},children:n})}var yf="<orientation>",hw="</orientation>",mw="<\\/orientation>",vf=[hw,mw];function gw(e,t){let n=t;for(;n<e.length&&/\s/.test(e[n]);)n++;if(n>=e.length)return{status:"incomplete",start:n};if(e[n]!=="{")return{status:"invalid",start:n};let r=0,o=!1,i=!1;for(let a=n;a<e.length;a++){let s=e[a];if(o){i?i=!1:s==="\\"?i=!0:s==='"'&&(o=!1);continue}if(s==='"')o=!0;else if(s==="{")r++;else if(s==="}"){if(r--,r===0)return{status:"complete",start:n,end:a+1};if(r<0)return{status:"invalid",start:n}}}return{status:"incomplete",start:n}}function Dd(e,t){if(!t)return;let n=e[e.length-1];n?.kind==="text"?n.text+=t:e.push({kind:"text",text:t})}function bf(e,t){let n=null;for(let r of vf){let o=e.indexOf(r,t);o>=0&&(!n||o<n.index)&&(n={index:o,tag:r})}return n}function yw(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(yf,n),o=bf(e,n);if(o&&(r<0||o.index<r)){Dd(t,e.slice(n,o.index)),n=o.index+o.tag.length;continue}if(r<0){Dd(t,e.slice(n));break}Dd(t,e.slice(n,r));let i=r+yf.length,a=gw(e,i);if(a.status!=="complete"){let d=bf(e,i);if(d){n=d.index+d.tag.length;continue}n=i;continue}t.push({kind:"orientation",json:e.slice(a.start,a.end)}),n=a.end;let s=n;for(;s<e.length&&/\s/.test(e[s]);)s++;let l=vf.find(d=>e.startsWith(d,s));l&&(n=s+l.length)}return t}function vw(e){return yw(e).map(t=>t.kind==="text"?t.text:`
|
|
150
|
+
|
|
151
|
+
`).join("").replace(/\n{3,}/g,`
|
|
152
|
+
|
|
153
|
+
`).trim()}function bw(e){return e.replace(/<resolution>[\s\S]*?(?:<\/resolution>|$)/g,"")}function xw(e){return e.replace(/\b([A-Za-z]{2,}[.!?])(?=[A-Z][a-z])/g,`$1
|
|
154
|
+
|
|
155
|
+
`)}function Hd(e){return xw(bw(vw(e)).replace(/<question>[\s\S]*?<\/question>/g,"").replace(/<plan>[\s\S]*?<\/plan>/g,"").replace(/<review>[\s\S]*?<\/review>/g,"").replace(/<novel>[\s\S]*?<\/novel>/g,"").replace(/<eval_proposals>[\s\S]*?<\/eval_proposals>/g,"").replace(/<eval_run_result>[\s\S]*?<\/eval_run_result>/g,"").replace(/<evals>[\s\S]*?<\/evals>/g,"").replace(/<memory-review>[\s\S]*?<\/memory-review>/g,"").replace(/<memory-review-card>[\s\S]*?<\/memory-review-card>/g,"").replace(/<memory-[\s\S]*$/g,"").replace(/<imprint>[\s\S]*?<\/imprint>/g,"").replace(/<imprint>[\s\S]*$/g,"").trim())}function xf(e){return e.replace(/\s+/g," ").trim()}function ww(e,t){let n=xf(Hd(t)),r=xf(e.filter(o=>o.kind==="text"&&typeof o.text=="string").map(o=>Hd(o.text)).join(" "));return n===r}function Sw(e){return e.kind==="tool_group"?!0:e.kind!=="text"||!("text"in e)?!1:typeof e.text=="string"&&e.text.trim().length===0}function wf(e){let t=new Set,n=null;for(let r=0;r<e.length;r++){let o=e[r];if(o.kind==="orientation"){n=r;continue}Sw(o)||n!==null&&(t.add(n),n=null)}return n!==null&&t.add(n),e.filter((r,o)=>r.kind!=="orientation"||t.has(o))}var Iw="popmelt-thread-composer-draft",Wl={text:"",selectionStart:0,selectionEnd:0,selectionDirection:"none"};function Sf(){if(!(typeof window>"u"))return window.localStorage}function If(e){return`${Iw}:${e}`}function kw(e,t=Sf()){if(!t)return Wl;try{let n=t.getItem(If(e));if(!n)return Wl;if(!n.startsWith("{"))return{text:n,selectionStart:n.length,selectionEnd:n.length,selectionDirection:"none"};let r=JSON.parse(n);if(typeof r.text!="string")return Wl;let o=Math.max(0,Math.min(r.text.length,Number(r.selectionStart)||0)),i=Math.max(o,Math.min(r.text.length,Number(r.selectionEnd)||0)),a=r.selectionDirection==="forward"||r.selectionDirection==="backward"?r.selectionDirection:"none";return{text:r.text,selectionStart:o,selectionEnd:i,selectionDirection:a}}catch{return Wl}}function Od(e,t,n=Sf(),r={selectionStart:t.length,selectionEnd:t.length,selectionDirection:"none"}){if(n)try{let o=If(e);t.length>0?n.setItem(o,JSON.stringify({text:t,selectionStart:r.selectionStart,selectionEnd:r.selectionEnd,selectionDirection:r.selectionDirection})):n.removeItem(o)}catch{}}function Ew(e,t,n){return n?.activePreview?n.annotationNumber:e??t}function Tw(e,t){return e?.trim()?e.trim():zy(t.find(n=>n.role==="human"))}function Cw(e,t){if(!t)return e;let n=e.findIndex(r=>r.role==="human"&&r.execution==="none"&&r.jobId===`suggestion-${t}`);return n<0?e:e.slice(n+1).some(r=>r.role==="human"&&r.execution!=="none"&&!r.replyToQuestion&&!!(r.screenshotUrl||Object.values(r.screenshotUrls??{}).some(Boolean))&&!!(r.requestText?.trim()||r.requestItems?.length||r.feedbackSummary?.trim()))?e.filter((r,o)=>o!==n):e}var Nd=280,Jl=e=>`${e.jobId}:${e.role}:${e.timestamp}`;function Aw(e,t,n,r){let o=`${n}:${t??""}`,i=Ee(()=>Cw(e,t),[e,t]),a=e.find(u=>u.role==="human"&&u.execution==="none"&&u.jobId===`suggestion-${t}`),s=i.length<e.length,l=Ee(()=>{if(!a||s)return i;let u=e.indexOf(a);return e.filter((h,m)=>m<=u||h.role==="assistant"||h.execution==="none"||!!h.replyToQuestion)},[e,a,s,i]),[d,c]=P({scope:o,phase:"idle",seenKeys:[]});if(d.scope!==o)c({scope:o,phase:"idle",seenKeys:[]});else if(d.phase==="idle"){if(s)c({...d,phase:d.seedKey?"preparing":"done"});else if(a){let u=l.map(Jl);u.join("|")!==d.seenKeys.join("|")&&c({...d,seenKeys:u,seedKey:Jl(a)})}}Ct(()=>{if(d.phase!=="preparing")return;let u=Array.from(r.current?.querySelectorAll('[data-suggestion-handoff="incoming"] img')??[]),h=new Set(u.filter(S=>!S.getAttribute("src")||!S.complete)),m=()=>c(S=>({...S,phase:window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?"done":"animating"})),g=S=>{h.delete(S.target),h.size||m()};h.forEach(S=>{S.addEventListener("load",g),S.addEventListener("error",g)});let x=window.setTimeout(m,1500);return h.size||m(),()=>{window.clearTimeout(x),u.forEach(S=>{S.removeEventListener("load",g),S.removeEventListener("error",g)})}},[r,d.phase,o]),Ct(()=>{if(d.phase!=="animating")return;let u=window.setTimeout(()=>c(h=>({...h,phase:"done"})),Nd);return()=>window.clearTimeout(u)},[d.phase,o]);let p=d.phase==="preparing"||d.phase==="animating";return{messages:p?e:l,replacementReady:s,phase:d.phase,motion:u=>{if(!p)return;let h=Jl(u);if(h===d.seedKey)return"outgoing";if(!d.seenKeys.includes(h))return"incoming"}}}function Mw(e){return e==="Bash"?"terminal":e==="Edit"||e==="Write"?"pencil":e==="ImageGen"?"image":"tool"}function Rw(e){let t=new Map;for(let n of e){let r=Mw(n.tool),o=t.get(r)??{kind:r,count:0,groups:[]};o.count+=n.items.length,o.groups.push(n),t.set(r,o)}return[...t.values()]}function Lw(e,t,n){return e&&t!==n}function $w(e){let t=new Set;for(let n of e){if(n.type!=="image_generation")continue;let r=n.data.itemId;typeof r=="string"&&(n.data.phase==="started"&&t.add(r),n.data.phase==="completed"&&t.delete(r))}return t.size>0}var kn=Os,jw=350,Pw=200,zw=120,Jo=14,Dw=Ra(()=>import("./QueuedReplies-ZYUDSTS2.mjs").then(e=>({default:e.QueuedReplies}))),Hw=Ra(()=>import("./SuppliedContext-NURVPZ4L.mjs")),Ow=Ra(()=>import("./ThreadErrorCard-WZ2UBVWE.mjs")),kf=360,Nw=0,Fw=!1,_w=8,Ww="devtools-thread-panel-position",Jw=kf+2*Nw;function Bo(){let e=window.visualViewport;return{width:e?.width??window.innerWidth,height:e?.height??window.innerHeight}}function Ba(e=Bo().width){let t=hi(e);return Math.max(t,e-Lc(e)-t)}function Fd(e="right"){let{width:t}=Bo(),n=hi(t);return{top:n,left:e==="left"?n:Ba(t)}}function Ef(e,t,n){let{width:r,height:o}=Bo(),i=hi(r),a=n?.getBoundingClientRect(),s=0,l=o-i-s;return a&&t+Jw>a.left&&(l=a.top-_w-s),Math.max(200,l-Math.max(0,e))}var Bw={width:kf,backgroundColor:"var(--popmelt-thread-surface)",backgroundClip:"padding-box",borderWidth:1,borderStyle:"solid",borderColor:"var(--popmelt-thread-border)",boxSizing:"border-box",display:"flex",flexDirection:"column",overflow:"visible",padding:4,borderRadius:"16px 16px 20px 20px",backdropFilter:"blur(59.5px)",fontFamily:kn,fontSize:14,color:"var(--popmelt-thread-primary)",pointerEvents:"auto"},Tf="ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",Uw={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"6px 12px",margin:0,fontWeight:600,fontSize:12,fontFamily:Tf,lineHeight:1.2,overflow:"hidden",position:"absolute",top:4,left:4,right:4,borderRadius:10,zIndex:2},qw={flex:1,overflowY:"auto",padding:"32px 12px 112px",display:"flex",flexDirection:"column",gap:32,scrollbarGutter:"stable"},Kw={background:"var(--popmelt-thread-raised)",border:"1px solid var(--popmelt-thread-border)",borderRadius:16,display:"flex",flexDirection:"column",overflow:"hidden"},aa={color:"var(--popmelt-thread-primary)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,wordBreak:"break-word"},_d=16,Cf="Cancelled by user",Yw={...aa,background:"var(--popmelt-thread-control)",borderRadius:_d,boxSizing:"border-box",color:"var(--popmelt-thread-muted-strong)",maxWidth:"100%",padding:12,width:"fit-content"};function Xw({name:e,text:t,style:n,queued:r}){let o=J(null);Ct(()=>{let a=o.current;if(!a||r)return;let s=()=>{a.style.width="fit-content";let p=a.ownerDocument.createRange();p.selectNodeContents(a);let u=a.getBoundingClientRect(),h=p.getBoundingClientRect();if(!h.width||!u.width)return;let m=getComputedStyle(a),g=parseFloat(m.width)/u.width,x=Math.ceil((h.right-u.left)*g+parseFloat(m.paddingRight));x<parseFloat(m.width)&&(a.style.width=x+"px")};s();let l=a.closest('[data-devtools="thread-panel-messages"]');if(!l)return;let d=-1,c=new ResizeObserver(([p])=>{p&&p.contentRect.width!==d&&(d=p.contentRect.width,s())});return c.observe(l),()=>c.disconnect()},[t,r]);let i=e.toLowerCase();return $("div",{role:"group","aria-label":`Note from ${e}, assistant`,style:{display:"flex",alignItems:"flex-end",gap:6,minWidth:0},children:[f("span",{title:e,"aria-hidden":"true",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,flexShrink:0,borderRadius:"50%",background:"var(--popmelt-thread-control)",color:"var(--popmelt-thread-secondary)",fontSize:12},children:i==="codex"||i==="claude"?f(gs,{provider:i,size:14}):e.slice(0,1).toUpperCase()}),f("div",{ref:o,title:r?t:void 0,style:{...n,minWidth:0,fontFamily:Tf,fontSize:r?12:13},children:!r&&t.includes(`
|
|
156
|
+
`)?cr(t):Si(t)})]})}function Ua(e){return Hd(e)}function Vw({memoryReview:e}){let[t,n]=P(!1),r=(e.acceptedTruth?.decisions.length??0)+e.packets.length;return $("div",{children:[$("button",{type:"button","aria-expanded":t,onClick:()=>n(o=>!o),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"inline-flex",fontFamily:kn,fontSize:12,gap:4,padding:0,textAlign:"left"},children:[$("span",{children:["Decision history (",r,")"]}),f(Bs,{"aria-hidden":"true",size:12,strokeWidth:1.5,style:{transform:t?"rotate(90deg)":"none",transition:"transform 120ms ease"}})]}),t&&$("div",{style:{borderLeft:"2px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-secondary)",display:"flex",flexDirection:"column",fontSize:12,gap:10,lineHeight:1.45,marginTop:8,padding:"2px 0 2px 12px"},children:[e.acceptedTruth?.decisions.map(o=>$("div",{children:[f("div",{children:o.claim}),$("div",{style:{color:o.effectiveState==="conflicted"?"#b45309":"var(--popmelt-thread-muted)",fontSize:11,marginTop:2},children:[o.kind," \xB7 ",o.effectiveState," \xB7"," ",o.implementation," \xB7 ",o.verification,o.freshness.length?` \xB7 review: ${o.freshness.join(", ")}`:""]})]},o.id)),e.acceptedTruth?.conflicts.map(o=>$("div",{style:{color:"#92400e"},children:["Conflict: ",o.unresolvedQuestion]},o.id)),e.packets.map(o=>$("div",{children:[f("div",{children:o.claim}),$("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11,marginTop:2},children:[o.presentation==="surface_before_action"?"Confirm before applying":"Advisory",o.evidenceCount>0?` \xB7 ${o.evidenceCount} evidence reference${o.evidenceCount===1?"":"s"}`:""]})]},o.packetId)),(e.truncated||e.acceptedTruth?.truncated)&&f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11},children:"More relevant history is available."})]})]})}function Bl(e){let t=new Date(e),n=new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",hour12:!0}).formatToParts(t),r=n.find(u=>u.type==="hour")?.value??"",o=String(Number.parseInt(r,10)||0),i=n.find(u=>u.type==="minute")?.value??"00",a=(n.find(u=>u.type==="dayPeriod")?.value??"").toUpperCase(),s=`${o}:${i}${a}`,l=`${o}:${i}${a?` ${a}`:""}`,d=new Date;if(t.getFullYear()===d.getFullYear()&&t.getMonth()===d.getMonth()&&t.getDate()===d.getDate())return s;let c=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()),p=Date.UTC(d.getFullYear(),d.getMonth(),d.getDate());return Math.floor((p-c)/864e5)>=7?`${new Intl.DateTimeFormat(void 0,{month:"numeric",day:"numeric",year:"2-digit"}).format(t)}, ${l}`:`${new Intl.DateTimeFormat(void 0,{weekday:"long"}).format(t)}, ${s}`}var Gw=250;function Qw({color:e}){let[t,n]=P(0);return F(()=>{let r=setInterval(()=>n(o=>(o+1)%2),Gw);return()=>clearInterval(r)},[]),$("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[f("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0,opacity:.6},children:t===1?$(dt,{children:[f("circle",{cx:"7",cy:"7",r:"2"}),f("circle",{cx:"17",cy:"7",r:"2"}),f("circle",{cx:"7",cy:"17",r:"2"}),f("circle",{cx:"17",cy:"17",r:"2"})]}):$(dt,{children:[f("circle",{cx:"12",cy:"6",r:"2"}),f("circle",{cx:"6",cy:"12",r:"2"}),f("circle",{cx:"18",cy:"12",r:"2"}),f("circle",{cx:"12",cy:"18",r:"2"})]})}),f("span",{style:{fontSize:14,color:"var(--popmelt-thread-muted-strong)"},children:"Thinking"})]})}var Af=32,Wd=80,Zw=_d/2,eS={width:Af,height:Af,objectFit:"cover",cursor:"pointer",border:"1px solid var(--popmelt-thread-hairline)"},Ii={...eS,borderRadius:Zw,height:Wd,width:Wd};function tS(e){let t=/^`(\/[^`]*)`$/gm,n=[...e.matchAll(t)];if(n.length===0)return null;let r=[];for(let o=0;o<n.length;o++){let i=n[o],a=i[1],s=i.index+i[0].length,l=o+1<n.length?n[o+1].index:e.length,d=e.slice(s,l).trim();r.push({route:a,text:d})}return r}function nS(e,t){let n=[];if(e.replyImageUrls)for(let r of e.replyImageUrls){let o=r.startsWith("blob:")||r.startsWith("http")?r:`${t}${r}`;n.push({url:o,label:"pasted image"})}return n}function so(e,t){return/^(?:blob:|data:|https?:\/\/)/.test(t)?t:`${e}${t}`}function rS(e,t){let n=[];if(e.imageUrls)for(let[,r]of Object.entries(e.imageUrls))for(let o of r)n.push({url:so(t,o),label:"pasted image"});return n}function oS({src:e,onClose:t}){return F(()=>{let n=r=>{r.key==="Escape"&&(r.stopPropagation(),t())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t]),f("div",{onClick:t,style:{position:"fixed",inset:0,zIndex:1e5,backgroundColor:"rgba(0,0,0,0.8)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"zoom-out"},children:f(lo,{src:e,alt:"Attached image preview",onClick:n=>n.stopPropagation(),style:{maxWidth:"90vw",maxHeight:"90vh",objectFit:"contain",cursor:"default",boxShadow:"0 4px 24px rgba(0,0,0,0.4)"}})})}function Mf({src:e,onLightbox:t}){return f("button",{type:"button","aria-label":"Open generated image",onClick:()=>t(e),style:{background:"transparent",border:0,cursor:"zoom-in",display:"block",maxWidth:"100%",padding:0},children:f(lo,{src:e,alt:"Generated image preview",style:{borderRadius:8,display:"block",maxHeight:240,maxWidth:"100%",objectFit:"contain"}})})}function iS(e){let t=String(e.data.tool||""),n=e.data.file?String(e.data.file):null,r=n?n.split("/").pop()??n:null,o=e.data.content?String(e.data.content):null;switch(t){case"Read":return r?`Reading ${r}`:"Reading file";case"Edit":return r?`Editing ${r}`:"Editing file";case"Write":return r?`Writing ${r}`:"Writing file";case"Bash":return o?aS(o):"Running command";case"Glob":return"Searching files";case"Grep":return"Searching code";case"WebFetch":return"Fetching page";case"WebSearch":return"Searching web";case"ImageGen":return"Generating image";default:return o??(t?`Using ${t}`:null)}}function aS(e){let t=e.split(`
|
|
157
|
+
`)[0].trim();return t.length<=60?t:t.slice(0,57)+"\u2026"}var lS={focus_set:"Focused",focus_shifted:"Focus shifted",evidence_updated:"Evidence updated",hypothesis_changed:"Working approach changed",assumption_abandoned:"Assumption dropped",uncertainty_identified:"Uncertainty identified",next_observation_selected:"Checking next"};function Rf({orientation:e}){let t=e.snapshot.update??e.snapshot.seeking??e.snapshot.nextObservation;return $("div",{style:{borderLeft:"2px solid var(--popmelt-thread-hairline)",color:"var(--popmelt-thread-secondary)",display:"flex",flexDirection:"column",fontSize:12,gap:2,lineHeight:1.35,paddingLeft:10},children:[$("span",{children:[f("span",{style:{color:"var(--popmelt-thread-primary)",fontWeight:550},children:lS[e.transition]})," \xB7 ",e.snapshot.focus]}),t&&t!==e.snapshot.focus&&f("span",{style:{opacity:.72},children:t})]})}function sS(e){let t=[];for(let n of e){if(n.type==="approval"){let r=n.data.approval,o=t.find(i=>i.kind==="approval"&&i.approval.id===r.id);o?.kind==="approval"?o.approval=r:t.push({kind:"approval",approval:r});continue}if(n.type==="image_ready"){let r=String(n.data.url||"");r.startsWith("/files/")&&t.push({kind:"generated_image",url:r});continue}if(n.type==="tool_use"){let r=iS(n),o=String(n.data.tool||""),i=n.data.file?String(n.data.file):null,a=n.data.content?String(n.data.content):null,s=i??a??void 0;if(r){let l=t[t.length-1];l&&l.kind==="tool_group"&&l.tool===o?l.items.push({label:r,detail:s,...i?{filePath:i}:{}}):t.push({kind:"tool_group",tool:o,items:[{label:r,detail:s,...i?{filePath:i}:{}}]})}if(a&&i){let l=i.includes(".")?`.${i.split(".").pop().toLowerCase()}`:"",d=i.includes(".claude/plans/");t.push({kind:"file_content",file:i,content:a,ext:l,isPlan:d})}}else if(n.type==="delta"){let r=String(n.data.text||"");if(!r)continue;let o=t[t.length-1];o&&o.kind==="text"?o.text+=r:t.push({kind:"text",text:r})}else if(n.type==="thinking"){let r=String(n.data.text||"");if(!r)continue;let o=t[t.length-1];o&&o.kind==="thinking"?o.text+=r:t.push({kind:"thinking",text:r})}else if(n.type==="status"){let r=String(n.data.text||"").trim();if(!r)continue;let o=t.findIndex(i=>i.kind==="status");o>=0&&t.splice(o,1),t.push({kind:"status",text:r})}else if(n.type==="orientation"){let r=n.data.orientation;r?.snapshot?.focus&&t.push({kind:"orientation",orientation:r})}}return t}function dS({file:e,content:t,ext:n,isPlan:r,onAccept:o}){let[i,a]=P(r),s=e.split("/").pop()??e;return $("div",{style:{margin:"4px 0 4px 12px",border:"1px solid var(--popmelt-thread-hairline)",backgroundColor:"var(--popmelt-thread-raised)",fontSize:11},children:[$("div",{onClick:()=>a(l=>!l),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",cursor:"pointer",userSelect:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",color:"var(--popmelt-thread-primary)"},children:[f("span",{style:{fontSize:9,color:"var(--popmelt-thread-muted)"},children:i?"\u25BC":"\u25B6"}),f("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:s}),r&&f("span",{style:{fontSize:9,color:"#6366f1",fontFamily:"inherit"},children:"plan"})]}),i&&$(dt,{children:[f("div",{style:{maxHeight:300,overflowY:"auto",padding:"6px 10px",borderTop:"1px solid var(--popmelt-thread-soft-hairline)",lineHeight:1.5,wordBreak:"break-word"},children:n===".md"?cr(t):f("pre",{style:{margin:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"pre-wrap"},children:t})}),r&&o&&f("div",{style:{padding:"4px 8px",borderTop:"1px solid var(--popmelt-thread-soft-hairline)",display:"flex",justifyContent:"flex-end"},children:f("button",{onClick:l=>{l.stopPropagation(),o()},style:{background:"#111",color:"#fff",border:"none",padding:"4px 12px",fontSize:11,cursor:"pointer",fontFamily:"inherit"},children:"Accept"})})]})]})}function cS(e){return/\b(?:bash|command|terminal)\b/i.test(e)?"Bash":/\b(?:edit|edited|editing)\b/i.test(e)?"Edit":/\b(?:write|wrote|writing)\b/i.test(e)?"Write":/\b(?:read|reading)\b/i.test(e)?"Read":/\b(?:grep|search(?:ed|ing)?)\b/i.test(e)?"Grep":"Tool"}function Lf(e){let t=new Map;for(let n of e){let r=t.get(n.tool);r?r.items.push(...n.items):t.set(n.tool,{...n,items:[...n.items]})}return[...t.values()]}function Ul(e){let t=e.filePath??e.detail;return t&&(t.startsWith("/")||/^[A-Za-z]:[\\/]/.test(t))?t:void 0}function uS(e,t){return(e==="Read"||e==="Edit"||e==="Write")&&t.some(n=>Ul(n))?t.filter(n=>Ul(n)).filter((n,r,o)=>o.findIndex(i=>Ul(i)===Ul(n))===r):t}function $f(e){return Rw(e.map(t=>({...t,items:uS(t.tool,t.items)})))}function jf(e,t){if(!t||typeof window>"u")return;let n=e.closest('[data-devtools="thread-panel"]');if(!n)return;let r=n.getBoundingClientRect(),o=e.getBoundingClientRect(),i=n.querySelector("[data-popmelt-thread-header]"),a=t.querySelector("[data-popmelt-tool-receipt-scroll]");if(t.style.left=`${r.left+8-o.left}px`,t.style.width=`${Math.max(0,r.width-16)}px`,i){let s=i.getBoundingClientRect(),l=Math.max(0,Math.floor(o.top-s.bottom-16));t.style.setProperty("--popmelt-tool-receipt-max-height",`${l}px`)}else t.style.removeProperty("--popmelt-tool-receipt-max-height");t.dataset.ready="true",requestAnimationFrame(()=>{a&&Jd(a)})}function Jd(e){let t=e.closest("[data-popmelt-tool-receipt-tooltip]");if(!t)return;let n=e.scrollTop>1,r=e.scrollTop+e.clientHeight<e.scrollHeight-1;t.toggleAttribute("data-overflow-top",n),t.toggleAttribute("data-overflow-bottom",r)}function Bd({icon:e,label:t,inspectLabel:n=`Inspect ${t.toLowerCase()}`,accentColor:r,buttonRef:o,badge:i,children:a}){let s=J(null),l=Au();return F(()=>{let d=s.current;if(!d)return;let c=requestAnimationFrame(()=>{let p=d.querySelector("[data-popmelt-tool-receipt-scroll]");p&&Jd(p)});return()=>cancelAnimationFrame(c)},[a]),$("span",{"data-popmelt-tool-receipt-trigger":!0,onMouseEnter:({currentTarget:d,relatedTarget:c})=>{let p=s.current;jf(d,p);let u=c?.closest?.("[data-popmelt-tool-receipt-trigger]");if(!p||u?.parentElement!==d.parentElement)return;let h=u?.querySelector("[data-popmelt-tool-receipt-tooltip]");if(h&&Number(getComputedStyle(h).opacity)>0)for(let m of[h,p])for(let g of m.getAnimations())g.finish()},onFocusCapture:d=>jf(d.currentTarget,s.current),style:{display:"inline-flex",flexShrink:0,position:"relative"},children:[$("button",{ref:o,type:"button","aria-label":n,"aria-describedby":l,style:{alignItems:"center",background:"transparent",border:0,color:r??"var(--popmelt-thread-muted)",cursor:"pointer",display:"inline-flex",flexShrink:0,height:18,justifyContent:"center",padding:0,position:"relative",transition:"color 100ms ease",width:18},children:[f(e,{"aria-hidden":"true",color:"currentColor","data-popmelt-tool-receipt-icon":!0,size:14,strokeWidth:1.5}),i]}),$("span",{ref:s,id:l,role:"tooltip","data-popmelt-tool-receipt-tooltip":!0,style:{background:"var(--popmelt-thread-raised)",borderRadius:16,bottom:"100%",boxSizing:"border-box",color:"var(--popmelt-thread-primary)",left:0,overflow:"hidden",pointerEvents:"auto",position:"absolute",width:0,zIndex:20},children:[$("span",{"data-popmelt-tool-receipt-scroll":!0,onScroll:d=>Jd(d.currentTarget),style:{display:"flex",flexDirection:"column",gap:8,maxHeight:"var(--popmelt-tool-receipt-max-height, 190px)",overflowY:"auto",padding:"14px 15px"},children:[$("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:6,lineHeight:1.3,opacity:.65},children:[f(e,{"aria-hidden":"true",color:r??"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),f("span",{children:t})]}),a]}),f("span",{"data-popmelt-tool-receipt-scrim":"top","aria-hidden":"true"}),f("span",{"data-popmelt-tool-receipt-scrim":"bottom","aria-hidden":"true"})]})]})}function Pf({receipt:e,animateCount:t=!1}){let n=e.kind==="terminal"?Fg:e.kind==="pencil"?_g:e.kind==="image"?Wg:Jg,r=e.kind==="terminal"?"Terminal used":e.kind==="pencil"?"Files changed":e.kind==="image"?"Images generated":e.groups.length===1?`${e.groups[0].tool} used`:"Tools used",o=e.groups.map(l=>`${l.tool} (${l.items.length})`).join(", "),i=J(null),a=J(null),s=J(0);return F(()=>{let l=s.current;if(l===e.count)return;s.current=e.count;let d=i.current,c=a.current;if(!d)return;let p=typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;d.getAnimations().forEach(u=>u.cancel()),c?.getAnimations().forEach(u=>u.cancel()),!(p||!Lw(t,l,e.count))&&(d.animate([{color:"var(--popmelt-thread-muted)"},{color:"var(--popmelt-thread-primary)",offset:.18},{color:"var(--popmelt-thread-primary)",offset:.52},{color:"var(--popmelt-thread-muted)"}],{duration:720,easing:"ease-out"}),c&&c.animate([{opacity:0,transform:"translate(-50%, 4px) scale(0.72)"},{opacity:1,transform:"translate(-50%, 0) scale(1.08)",offset:.14},{opacity:1,transform:"translate(-50%, 0) scale(1)",offset:.24},{opacity:1,transform:"translate(-50%, 0) scale(1)",offset:.72},{opacity:0,transform:"translate(-50%, -7px) scale(0.94)"}],{duration:1050,easing:"ease-out",fill:"both"}))},[t,e.count]),f(Bd,{icon:n,label:r,inspectLabel:`Inspect tool activity: ${o}`,buttonRef:i,badge:e.count>1&&$("span",{ref:a,"data-popmelt-tool-count":!0,style:{alignItems:"center",background:"var(--popmelt-thread-action)",borderRadius:9,color:"var(--popmelt-thread-on-action)",display:"flex",fontFamily:kn,fontSize:12,fontWeight:500,height:18,justifyContent:"center",letterSpacing:"-0.1px",minWidth:18,padding:"0 5px",pointerEvents:"none",position:"absolute",bottom:"calc(100% + 3px)",left:"50%",opacity:0,transform:"translate(-50%, -7px) scale(0.94)"},children:[e.count,"x"]}),children:e.groups.map(l=>$("span",{style:{display:"flex",flexDirection:"column",gap:7,padding:"6px 0"},children:[$("span",{style:{fontSize:11,fontWeight:500,lineHeight:1.3,opacity:.65},children:[l.tool," (",l.items.length,")"]}),l.items.map((d,c)=>f("span",{style:{fontSize:14,fontWeight:400,lineHeight:1.3,whiteSpace:"normal"},children:d.label},`${d.label}-${c}`))]},l.tool))})}function pS({patterns:e}){return f(Bd,{icon:hl,label:`Model details (${e.length})`,inspectLabel:"Inspect model details",children:e.map((t,n)=>$("span",{style:{display:"flex",flexDirection:"column",gap:4,fontSize:14,lineHeight:1.3},children:[f("strong",{style:{fontWeight:500},children:t.element}),f("span",{children:t.decision}),t.reason&&f("span",{style:{fontSize:12,opacity:.72},children:t.reason})]},`${t.category}:${t.element}:${n}`))})}function zf(e){let t=new Map;for(let n of e)t.has(n.id)||t.set(n.id,n);return[...t.values()]}function fS(e){let t=zf(e.flatMap(n=>n.type!=="imprint_used"?[]:n.data.usage?.explanations??[]));return t.length>0?{updated:!1,explanations:t}:void 0}function hS(e,t){let n=new Map(t.flatMap(l=>l.imprintContext?[[l.jobId,l.imprintContext]]:[])),r=[],o,i,a=!1;for(let l of e){let d=l.imprintSummary;if(d){a=!0,o=d.title,i=d.detail;for(let u of d.changes)r.push({id:u.explanationId,statement:u.statement,state:u.state})}let c=n.get(l.jobId),p=new Set([...l.imprintUsedExplanationIds??[],...l.imprintAppliedExplanationIds??[],...l.imprintRecognition?[l.imprintRecognition.explanationId]:[]]);for(let u of p){let h=c?.explanations.find(m=>m.id===u);h?r.push(h):l.imprintRecognition?.explanationId===u&&r.push({id:u,kind:"pattern",statement:l.imprintRecognition.statement,state:"grounded",scope:{kind:"project",values:[]}})}}let s=zf(r);if(!(!a&&s.length===0))return{updated:a,title:o,detail:i,explanations:s}}function mS(e){return e==="testing"||e==="emerging"?"Emerging":e.charAt(0).toUpperCase()+e.slice(1)}function Df(e){return e?e.charAt(0).toUpperCase()+e.slice(1):void 0}function Hf({receipt:e,accentColor:t}){let n=e.updated?"Imprint updated":"Imprint used";return $(Bd,{icon:Do,label:n,accentColor:e.updated?t:void 0,children:[e.title&&f("span",{style:{fontSize:14,fontWeight:500,lineHeight:1.3},children:e.title}),e.detail&&f("span",{style:{fontSize:12,fontWeight:400,lineHeight:1.45,opacity:.72},children:e.detail}),e.explanations.map(r=>$("span",{style:{display:"flex",flexDirection:"column",gap:7,padding:"6px 0"},children:[$("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:4,lineHeight:1.3,opacity:.65},children:[f("span",{children:mS(r.state)}),Df(r.kind)&&f("span",{style:{opacity:.72},children:Df(r.kind)})]}),f("span",{style:{fontSize:14,fontWeight:400,lineHeight:1.3,whiteSpace:"normal"},children:r.statement}),r.scope?.values.length?f("span",{style:{fontSize:11,fontWeight:400,lineHeight:1.3,opacity:.5},children:r.scope.values.join(" \xB7 ")}):null]},r.id))]})}function gS({summary:e,accentColor:t,busy:n,onAction:r}){let o=!!e.resolvedAction,[i,a]=P(!!(e.grounding&&!o)),s={...jd,cursor:n?"default":"pointer",fontFamily:kn};return $("div",{style:mf,children:[$("button",{type:"button","aria-expanded":i,onClick:()=>a(l=>!l),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"flex",fontFamily:kn,fontSize:14,fontWeight:650,gap:8,padding:0,textAlign:"left",width:"100%"},children:[f(Do,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),$("span",{style:{flex:1},children:["Imprint ",e.kind,": ",e.title]}),f($a,{"aria-hidden":"true",size:14,strokeWidth:1.5,style:{transform:i?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),i&&$(dt,{children:[$("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35,padding:"4px 12px"},children:[e.detail,e.additionalObservationCount?$("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11,marginTop:4},children:["Updated with ",e.additionalObservationCount," additional"," ",e.additionalObservationCount===1?"observation":"observations","."]}):null]}),e.changes.map(l=>$("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,lineHeight:1.35},children:[f("div",{children:l.statement}),$("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:10,marginTop:2},children:[l.action," \xB7 ",l.state]})]},`${l.explanationId}:${l.action}`)),e.grounding&&!o&&f("div",{style:{color:"var(--popmelt-thread-primary)",fontSize:13,lineHeight:1.35,marginTop:2},children:e.grounding.question}),o?$("div",{style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:11,gap:6},children:[f(vi,{"aria-hidden":"true",color:t,size:12,strokeWidth:2}),e.resolvedAction==="no"?"Correction requested":`Feedback applied: ${e.resolvedAction==="yes"?"Yes":"This time"}`]}):e.grounding?$("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[f("button",{disabled:n,onClick:()=>r("yes"),style:s,children:"Yes"}),f("button",{disabled:n,onClick:()=>r("this_time"),style:s,children:"This time"}),f("button",{disabled:n,onClick:()=>r("no"),style:s,children:"No"})]}):null]})]})}function yS({receipt:e,accentColor:t}){let[n,r]=P(!0);return $("div",{style:{background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:10,padding:16},children:[$("button",{type:"button","aria-expanded":n,onClick:()=>r(o=>!o),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"flex",fontFamily:kn,fontSize:14,fontWeight:650,gap:8,padding:0,textAlign:"left",width:"100%"},children:[f(Do,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),$("span",{style:{flex:1},children:["Existing Imprint reapplied: ",e.title]}),f($a,{"aria-hidden":"true",size:14,strokeWidth:1.5,style:{transform:n?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),n&&$(dt,{children:[f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35,padding:"4px 12px"},children:e.detail}),$("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,lineHeight:1.35},children:[f("div",{children:e.statement}),f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:10,marginTop:2},children:"recognized \xB7 grounded"})]}),$("div",{style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:11,gap:6},children:[f(vi,{"aria-hidden":"true",color:t,size:12,strokeWidth:2}),"Shared understanding unchanged"]})]})]})}function vS({card:e,accentColor:t,busy:n,resolved:r,superseded:o,onAction:i}){let[a,s]=P(!1),[l,d]=P(e.claim),[c,p]=P(!1),[u,h]=P(!1),[m,g]=P(!1),[x,S]=P(null),L=J(null);F(()=>{s(!1),d(e.claim),p(!1),h(!1),g(!1),S(null)},[e.claim,e.proposalId]),F(()=>{if(!a)return;let V=L.current;V&&(V.focus(),V.select(),V.style.height="auto",V.style.height=`${V.scrollHeight}px`)},[a]);let H=U(()=>{let V=l.trim();d(V||e.claim),s(!1),p(!1)},[e.claim,l]),w=U(()=>{d(e.claim),s(!1),p(!1)},[e.claim]),D=l.trim()!==e.claim.trim(),_=r||o,E=e.title;return r?$("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[$("button",{type:"button","aria-expanded":m,onClick:()=>g(V=>!V),style:{alignItems:"center",alignSelf:"flex-start",background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"inline-flex",fontFamily:kn,fontSize:14,fontWeight:400,gap:6,letterSpacing:"0.14px",lineHeight:1.35,padding:0,textAlign:"left"},children:[f(Do,{"aria-hidden":"true",color:t,size:14,strokeWidth:1.5}),$("span",{style:{alignItems:"center",display:"inline-flex",gap:2},children:[f("span",{children:E}),f($a,{"aria-hidden":"true",size:12,strokeWidth:1.5,style:{transform:m?"rotate(180deg)":"rotate(0deg)",transition:"transform 120ms ease"}})]})]}),m&&$(dt,{children:[f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,marginLeft:7,padding:"6px 16px 8px"},children:l}),f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,marginLeft:7,padding:"6px 16px 8px"},children:e.rationale}),e.scope?$("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35},children:["Scope: ",e.scope]}):null]})]}):$("div",{style:{border:"1px solid var(--popmelt-thread-border)",background:"var(--popmelt-thread-soft)",borderRadius:24,padding:16,display:"flex",flexDirection:"column",gap:12},children:[$("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:14,fontWeight:600,gap:8,letterSpacing:"0.14px",lineHeight:1.3},children:[f(Do,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),f("span",{children:E})]}),a&&!_?f("textarea",{ref:L,value:l,disabled:n,onChange:V=>{d(V.target.value),V.currentTarget.style.height="auto",V.currentTarget.style.height=`${V.currentTarget.scrollHeight}px`},onBlur:H,onKeyDown:V=>{V.key==="Enter"&&!V.shiftKey?(V.preventDefault(),H()):V.key==="Escape"&&(V.preventDefault(),V.stopPropagation(),w())},rows:1,style:{resize:"none",overflow:"hidden",outline:"none",boxSizing:"border-box",border:0,borderLeft:"1px solid var(--popmelt-thread-border)",background:"var(--popmelt-thread-soft-hairline)",color:"var(--popmelt-thread-muted-strong)",cursor:"text",fontFamily:kn,fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"0 7px",padding:"6px 16px 8px",width:"calc(100% - 14px)"}}):f("button",{type:"button",disabled:_||n,onClick:()=>s(!0),onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),onFocus:()=>p(!0),onBlur:()=>p(!1),style:{border:0,borderLeft:"1px solid var(--popmelt-thread-border)",background:c&&!_?"var(--popmelt-thread-soft-hairline)":"transparent",color:"var(--popmelt-thread-muted-strong)",cursor:_?"default":"text",fontFamily:kn,fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"0 7px",padding:"6px 16px 8px",textAlign:"left",width:"calc(100% - 14px)"},children:l}),$("div",{style:{color:"var(--popmelt-thread-primary)",fontSize:14},children:[$("button",{type:"button","aria-expanded":u,onClick:()=>h(V=>!V),style:{alignItems:"center",border:0,background:"transparent",color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"inline-flex",gap:2,fontFamily:kn,fontSize:14,fontWeight:400,letterSpacing:"0.14px",lineHeight:1.3,margin:0,opacity:u?1:.35,padding:0},children:[f("span",{children:"Why?"}),u?f($a,{"aria-hidden":"true",size:10,strokeWidth:2.5}):f(Bs,{"aria-hidden":"true",size:10,strokeWidth:2.5})]}),u?$(dt,{children:[f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"8px 7px 0",padding:"6px 16px 8px"},children:e.rationale}),e.scope?$("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35,marginTop:8},children:["Scope: ",e.scope]}):null]}):null]}),o?f("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,fontWeight:700},children:"Refined in a later review card"}):$("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)",gap:6,alignItems:"stretch"},children:[$("button",{type:"button",disabled:n,onClick:()=>i("reject"),onMouseEnter:()=>{n||S("reject")},onMouseLeave:()=>S(null),style:{...Yd,alignItems:"center",background:"var(--popmelt-thread-control)",border:0,borderRadius:16,color:"var(--popmelt-thread-primary)",display:"flex",justifyContent:"space-between",padding:"8px 12px",width:"100%",fontSize:12,transition:"background-color 120ms ease"},children:[f("span",{children:"Reject"}),f(ml,{"aria-hidden":"true",color:"#dd4141",size:12,strokeWidth:2.5})]}),$("button",{type:"button",disabled:n||!l.trim(),onClick:()=>i(D?"edit_and_accept":"accept",D?l.trim():void 0),onMouseEnter:()=>{!n&&l.trim()&&S("accept")},onMouseLeave:()=>S(null),style:{...Kd,alignItems:"center",background:x==="accept"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderColor:x==="accept"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderRadius:24,color:"var(--popmelt-thread-on-action)",display:"flex",justifyContent:"space-between",padding:"8px 12px",width:"100%",fontSize:12,opacity:n||!l.trim()?.45:1,transition:"background-color 120ms ease, border-color 120ms ease"},children:[f("span",{children:D?"Adopt edited":"Adopt"}),f(vi,{"aria-hidden":"true",color:"#61c920",size:12,strokeWidth:3})]})]})]})}function bS({stepCount:e}){return $("div",{"data-thread-interaction-episode-receipt":!0,style:{...aa,alignItems:"center",alignSelf:"flex-end",color:"var(--popmelt-thread-muted-strong)",display:"inline-flex",gap:6,paddingBlock:4},children:[f(Bg,{"aria-hidden":!0,color:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),$("span",{children:[e," recorded ",e===1?"action":"actions"," sent"]})]})}function xS({frames:e,onLightbox:t}){return e.length===0?null:f("div",{"data-thread-interaction-episode-visuals":!0,style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:e.map(n=>$("button",{type:"button","aria-label":`View ${n.label.toLowerCase()}`,title:n.label,onClick:()=>t(n.url),style:{background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",font:"inherit",padding:0,textAlign:"right"},children:[f(lo,{src:n.url,alt:"",style:{...Ii,display:"block"}}),f("span",{style:{display:"block",fontSize:10,marginTop:2,maxWidth:Wd,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:n.label})]},n.id))})}function Of({label:e,timestamp:t}){return $("div",{"data-run-timing":!0,"data-has-clock":t!==void 0||void 0,children:[f("span",{"data-worked-for-label":!0,children:e}),t!==void 0&&f("span",{"data-worked-for-time":!0,children:Bl(t)})]})}function Ud(e){return!e.error&&e.role==="assistant"&&e.cancelled||e.error===Cf}function Nf(e,t){return!!(e?.role==="human"&&e.jobId&&t?.jobId===e.jobId&&Ud(t))}var Ff=Dg(function({projectRoot:e,msg:t,index:n,bridgeUrl:r,accentColor:o,onLightbox:i,hideSender:a=!1,hideTimestamp:s=!1,hideModelSenderUntilHover:l=!1,compactSpacing:d=!1,followedByCancellation:c=!1,queuedPreview:p=!1,workedFor:u,activityTimestamp:h,memoryReviewBusy:m=!1,memoryReviewResolved:g=!1,memoryReviewSuperseded:x=!1,foldedActivityMessages:S=[],underMessageActivity:L,onMemoryReviewAction:H,onImprintAction:w}){let D=t.replyToQuestion&&t.authorPeer?.kind==="assistant"?t.authorPeer:void 0,_=t.role==="human",E=Pr(il),[V,O]=P(!1),Y=p?12:_d,q={...Yw,borderRadius:Y,...p?{padding:"2px 10px",fontSize:12,lineHeight:"24px",letterSpacing:"0.12px",width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{},[D?"borderBottomLeftRadius":"borderBottomRightRadius"]:Y/2},oe=_?t.replyToQuestion?nS(t,r):t.requestItems?.length?[]:rS(t,r):[];if(Ud(t))return f("div",{"data-msg":!0,style:d?{marginTop:-16}:void 0,children:f(Of,{label:u?`You stopped after ${u}`:"You stopped",timestamp:t.timestamp})});if(t.error)return f("div",{"data-msg":!0,style:{padding:0},children:f(La,{fallback:"Loading recovery\u2026",children:f(Ow,{message:t,bridgeUrl:r,canSignIn:!!E?.canManageThreads})})},`${t.jobId}-${n}`);let I=t.requestText||t.feedbackSummary||"(annotation)",G=t.requestText?_y(t.requestText):I,N=!!(_&&!t.replyToQuestion&&t.requestText&&t.requestText.trim()!==G.trim()),z=_?t.replyToQuestion||(V?I:G):Ua(t.responseText||""),M=(me,Ne=q)=>$("div",{style:Ne,children:[me.includes(`
|
|
158
|
+
`)?cr(me):Si(me),N&&f("button",{type:"button","aria-expanded":V,onClick:()=>O(Ve=>!Ve),style:{background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"block",fontFamily:"inherit",fontSize:12,fontWeight:600,marginTop:8,opacity:.72,padding:0,textAlign:"left"},children:V?"Show less":"Read more"})]}),j=_?void 0:t.question,R=!_&&t.segments&&t.segments.length>0,A=R?wf(t.segments):[],Q=!!(!_&&R&&z&&!ww(t.segments,t.responseText??"")),ne=[...S,t],ee=_?[]:ne.flatMap(me=>(me.segments??[]).filter(Ne=>Ne.kind==="tool_group")),de=_?[]:ne.flatMap(me=>me.segments?.length?[]:(me.toolsUsed??[]).map(Ne=>({kind:"tool_group",tool:cS(Ne),items:[{label:Ne}]}))),B=Lf([...ee,...de]),he=$f(B),ge=!!(ne.some(me=>me.memoryReceipt?.status==="committed")||L?.decisionRecorded),te=L?.imprintReceipt,ve=ne.flatMap(me=>me.modelDetails??[]),Oe=!!L?.modelUpdated,xe=he.length>0||ge||ve.length>0||Oe||!!te,Xe=_&&!!(t.memoryReview?.packets.length||t.memoryReview?.acceptedTruth?.decisions.length),K=!_&&!!(t.memoryReceipt&&t.memoryReceipt.status!=="committed"),Ke=!_&&(!a||!s);return!z&&!j&&!R&&!Xe&&!t.memoryReviewCard&&!t.imprintSummary&&!K&&!xe?null:$("div",{"data-msg":!0,"data-queued-preview":p||void 0,style:{alignSelf:D?"flex-start":_?"flex-end":"stretch",display:"flex",flexDirection:"column",gap:16,marginTop:d?-24:0,padding:0,position:"relative",maxWidth:_?280:void 0,width:_?"fit-content":"auto",...p?{width:"100%",minWidth:0,maxWidth:"100%"}:{}},children:[Ke&&$("div",{"data-under-message-rail":l?"hover":"latest",style:{alignItems:"center",alignSelf:"stretch",display:"flex",gap:4,order:2,...l?{left:0,paddingTop:7,position:"absolute",right:0,top:"100%",zIndex:1}:{},width:"100%"},children:[f(Of,{label:`Worked for ${u??"a moment"}`,timestamp:s?void 0:h??t.timestamp}),f("div",{style:{alignItems:"center",display:"flex",marginLeft:"auto",flexShrink:0,minHeight:14},children:$("div",{"data-message-activity":!0,style:{alignItems:"center",color:"var(--popmelt-thread-muted)",display:"flex",gap:6},children:[he.map(me=>f(Pf,{receipt:me},me.kind)),ge&&f(Do,{"aria-label":"Decision recorded",color:o,size:14,strokeWidth:1.5}),ve.length>0?f(pS,{patterns:ve}):Oe?f(hl,{"aria-label":"Model updated",color:"var(--popmelt-thread-muted)",size:14,strokeWidth:1.5}):null,te&&f(Hf,{receipt:te,accentColor:o})]})})]}),_&&!s&&f("span",{"data-message-timestamp":!0,"data-cancelled-request-time":c?D?"incoming":"outgoing":void 0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,position:"absolute",...D?{left:28}:{right:0},top:c?"calc(100% + 16px)":"calc(100% + 8px)"},children:Bl(t.timestamp)}),oe.length>0&&f("div",{style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:oe.map((me,Ne)=>f(lo,{src:me.url,alt:me.label||"Attached image",title:me.label,style:Ii,onClick:()=>i(me.url)},Ne))}),_&&!t.replyToQuestion&&(()=>{if(t.requestItems?.length){let Ve=new Set(t.requestItems.flatMap(ce=>ce.pathname?[ce.pathname]:[])).size>1,Te=new Set,je=t.screenshotUrl?so(r,t.screenshotUrl):null;return $("div",{"data-thread-request-cluster":!0,style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:4,width:"100%"},children:[je&&!t.screenshotUrls?f(lo,{src:je,alt:"Thread screenshot",title:"screenshot",style:{...Ii,flexShrink:0},onClick:()=>i(je)}):null,t.requestItems.map((ce,at)=>{let ot=ce.pathname,Qe=ot&&!Te.has(ot)?t.screenshotUrls?.[ot]:void 0;ot&&Te.add(ot);let we=Qe?so(r,Qe):null,He=ce.kind==="annotation"&&ce.annotationId?t.imageUrls?.[ce.annotationId]??[]:[],zt=ce.kind==="annotation"?t.annotationSnapshot?.annotations.find(Be=>Be.id===ce.annotationId)?.interactionEpisode:void 0,Et=Dy(zt,He).map(Be=>({...Be,url:so(r,Be.url)})),Jt=new Set(Et.map(Be=>Be.imageIndex)),At=He.flatMap((Be,gt)=>Jt.has(gt)?[]:[so(r,Be)]),wt=ce.kind==="annotation"?ce.interactionEpisodeStepCount??zt?.steps.length??0:0;return $(Hg,{children:[we?f(lo,{src:we,alt:`Screenshot for ${ot}`,title:ot,style:{...Ii,flexShrink:0},onClick:()=>i(we)}):null,At.length>0?f("div",{style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:At.map((Be,gt)=>f(lo,{src:Be,alt:"Attached image",title:"pasted image",style:Ii,onClick:()=>i(Be)},gt))}):null,f(xS,{frames:Et,onLightbox:i}),wt>0?f(bS,{stepCount:wt}):null,$("div",{style:{...q,minWidth:0},children:[Ve&&ot?f("code",{style:{backgroundColor:"var(--popmelt-thread-soft-hairline)",display:"inline-block",fontSize:10,marginBottom:4,padding:"1px 4px"},children:ot}):null,ce.kind==="annotation"?ce.text.includes(`
|
|
159
|
+
`)?cr(ce.text):Si(ce.text):$(dt,{children:[$("div",{style:{fontWeight:600},children:[ce.elementLabel," ",$("span",{style:{opacity:.64},children:["(",ce.changes.length," ",ce.changes.length===1?"change":"changes",")"]})]}),f("div",{style:{marginTop:6},children:ce.changes.map((Be,gt)=>f("div",{style:{marginTop:gt===0?0:3},children:Be},gt))})]})]})]},`${ce.kind}-${at}`)})]})}let me=z?tS(z):null;if(me&&t.screenshotUrls)return f("div",{style:{display:"flex",flexDirection:"column",gap:4},children:me.map((Ve,Te)=>{let je=t.screenshotUrls?.[Ve.route],ce=je?so(r,je):null;return $("div",{style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[ce?f(lo,{src:ce,alt:`Screenshot for ${Ve.route}`,title:Ve.route,style:{...Ii,flexShrink:0},onClick:()=>i(ce)}):null,$("div",{style:{...q,minWidth:0},children:[f("code",{style:{fontSize:10,backgroundColor:"var(--popmelt-thread-soft-hairline)",padding:"1px 4px"},children:Ve.route}),Ve.text&&f("div",{style:{marginTop:2},children:cr(Ve.text)})]})]},Te)})});let Ne=t.screenshotUrl?so(r,t.screenshotUrl):null;return Ne&&z?$("div",{style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[f(lo,{src:Ne,alt:"Thread screenshot",title:"screenshot",style:{...Ii,flexShrink:0},onClick:()=>i(Ne)}),M(z,{...q,minWidth:0})]}):z?M(z):null})(),_&&t.replyToQuestion&&z&&(D?f(Xw,{name:D.name,queued:p,text:z,style:q}):f("div",{style:q,title:p?z:void 0,children:!p&&z.includes(`
|
|
160
|
+
`)?cr(z):Si(z)})),_&&!p&&t.meta&&f(La,{fallback:null,children:f(Hw,{meta:t.meta,projectRoot:e})}),t.chatDelivery&&$("span",{style:{alignSelf:"flex-end",display:"inline-flex",alignItems:"center",gap:4,color:"var(--popmelt-thread-muted)",fontSize:12},children:[f(Mu,{size:12,"aria-hidden":"true"}),t.chatDelivery==="claude-inbox"?"Sent to Claude":"Sent to Codex"]}),Xe&&f(Vw,{memoryReview:t.memoryReview}),!_&&R&&A.map((me,Ne)=>{if(me.kind==="approval")return f(gf,{approval:me.approval},me.approval.id);if(me.kind==="tool_group")return null;if(me.kind==="generated_image")return f(Mf,{src:so(r,me.url),onLightbox:i},Ne);if(me.kind==="orientation")return f(Rf,{orientation:me.orientation},Ne);if(Q)return null;let Ve=Ua(me.text);return Ve?f("div",{style:aa,children:cr(Ve)},Ne):null}),!_&&!R&&z&&f("div",{style:aa,children:cr(z)}),!_&&Q&&z&&f("div",{style:aa,children:cr(z)}),!_&&t.memoryReviewCard&&H&&f(vS,{card:t.memoryReviewCard,accentColor:o,busy:m,resolved:g,superseded:x,onAction:(me,Ne)=>H(t.memoryReviewCard,me,Ne)}),!_&&t.imprintSummary&&w&&f(gS,{summary:t.imprintSummary,accentColor:o,busy:m,onAction:me=>w(t.imprintSummary,me)}),!_&&t.imprintRecognition&&f(yS,{receipt:t.imprintRecognition,accentColor:o}),K&&t.memoryReceipt&&$("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[t.memoryReceipt.status==="committed"?f(Do,{"aria-hidden":"true",color:o,size:12,strokeWidth:1.5}):f(ml,{"aria-hidden":"true",color:o,size:12,strokeWidth:1.5}),f("span",{style:{opacity:.5},children:t.memoryReceipt.status==="committed"?"Decision recorded":"Decision not recorded"})]}),j&&f("div",{style:aa,children:cr(j)})]},`${t.jobId}-${n}`)});function _f(e,t){return!t||e.role!=="human"||t.role!=="human"||e.authorPeer?.id!==t.authorPeer?.id||!e.replyToQuestion||!t.replyToQuestion?!1:e.jobId===t.jobId||e.timestamp-t.timestamp<6e4}function wS(e,t){let n=e.jobId&&t.find(r=>r.jobId===e.jobId&&r.role==="human"&&!r.queued&&r.execution!=="none");return n&&e.timestamp>n.timestamp?qd(e,n):void 0}function qd(e,t){if(!t||e.timestamp<=t.timestamp)return"a moment";let n=ay((e.segments??[]).flatMap(l=>l.kind==="approval"?[l.approval]:[]),t.timestamp,e.timestamp),r=Math.max(1,Math.round((e.timestamp-t.timestamp-n)/1e3));if(r<60)return`${r}s`;let o=Math.floor(r/60),i=r%60;if(o<60)return`${o}m${i?` ${i}s`:""}`;let a=Math.floor(o/60),s=o%60;return[`${a}h`,s?`${s}m`:"",i?`${i}s`:""].filter(Boolean).join(" ")}function SS(e,t){if(e.role!=="assistant"||e.cancelled||e.error)return!1;let n=Ua(e.responseText??"").trim(),r=(e.segments??[]).some(i=>i.kind==="approval"?!0:i.kind==="tool_group"?!1:i.kind==="generated_image"||i.kind==="orientation"?!0:Ua(i.text).trim().length>0),o=!!(n||e.question||e.memoryReviewCard||e.imprintSummary||r);return!!(e.memoryReceipt?.status==="committed"||e.toolsUsed?.length||e.segments?.some(i=>i.kind==="tool_group")||t)&&!o}function Wf(e,t){return t.status==="applied"?t.applicationMode==="automatic"&&t.presentationJobId?e.jobId===t.presentationJobId:e.jobId===`apply-${t.id}`:t.status==="dismissed"?e.jobId===`dismiss-${t.id}`:t.presentationJobId?e.jobId===t.presentationJobId:t.runId&&e.jobId===t.runId?!0:!t.runId&&e.role==="assistant"&&!!e.responseText?.includes("Model suggestion ready")}function Dr(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function ql(e){if(e===void 0)return"undefined";try{return JSON.stringify(e)}catch{return String(e)}}function Kl(e,t){return ql(e)===ql(t)}function la(e){if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`${e.length} item${e.length===1?"":"s"}`;if(Dr(e)){let t=Object.keys(e);return typeof e.value=="string"||typeof e.value=="number"?String(e.value):`{ ${t.slice(0,4).join(", ")}${t.length>4?", ...":""} }`}return String(e)}function IS(e,t){let n=e;for(let r of t){if(!n||typeof n!="object")return;n=n[String(r)]}return n}function Jf(e,t,n,r){if(!Dr(e)){Kl(e,t)||r.push({id:`token:${n.join(".")}`,group:"tokens",label:n.join("."),detail:la(e),path:n,value:e,currentValue:t});return}if("value"in e){Kl(e,t)||r.push({id:`token:${n.join(".")}`,group:"tokens",label:n.join("."),detail:la(e),path:n,value:e,currentValue:t});return}for(let o of Object.keys(e))Jf(e[o],Dr(t)?t[o]:void 0,[...n,o],r)}function kS(e,t){if(t.changes?.length)return t.changes.map(l=>{let d=l.path[0],c=d==="rules"||d==="components"||d==="tokens"?d:"model";return{id:l.id,group:c,label:l.label??l.path.map(String).join("."),detail:l.rationale,path:l.path,value:l.value,decisionIds:l.decisionIds,currentValue:IS(e,l.path)}});let n=t.proposedModel;if(!n)return[];let r=[],o=Array.isArray(e?.rules)?e.rules:[],i=Array.isArray(n.rules)?n.rules:[];for(let l=0;l<i.length;l++){let d=i[l];if(!Dr(d))continue;let c=typeof d.id=="string"?d.id:`rule-${l}`,p=o.find(u=>Dr(u)&&(typeof u.id=="string"&&u.id===c||ql(u)===ql(d)));Kl(p,d)||r.push({id:`rule:${c}`,group:"rules",label:typeof d.scope=="string"?d.scope:"rule",detail:typeof d.text=="string"?d.text:la(d),path:["rules"],value:d,currentValue:p,ruleValue:d})}let a=Dr(n.components)?n.components:{},s=Dr(e?.components)?e.components:{};for(let l of Object.keys(a)){let d=a[l],c=s[l];Kl(d,c)||r.push({id:`component:${l}`,group:"components",label:l,detail:la(d),path:["components",l],value:d,currentValue:c})}return Dr(n.tokens)&&Jf(n.tokens,e?.tokens,["tokens"],r),r}function ES(e,t,n){let r=t.filter(a=>n.has(a.id)),o=r.filter(a=>a.group==="rules"&&a.ruleValue),i=r.filter(a=>!a.ruleValue).map(a=>({path:a.path,value:a.value,decisionIds:a.decisionIds}));if(o.length>0){let a=Array.isArray(e?.rules)?[...e.rules]:[];for(let s of o){let l=s.ruleValue,d=Dr(l)&&typeof l.id=="string"?l.id:null,c=d?a.findIndex(p=>Dr(p)&&p.id===d):-1;c>=0?a[c]=l:a.push(l)}i.push({path:["rules"],value:a,decisionIds:[...new Set(o.flatMap(s=>s.decisionIds??[]))]})}return i}function TS(e){return(e.selectedChanges??[]).flatMap((t,n)=>{if(!t.label&&!t.detail)return[];let r=t.group==="rules"||t.group==="components"||t.group==="tokens"||t.group==="model"?t.group:"model";return[{id:`selected:${e.id}:${n}`,group:r,label:t.label??r,detail:t.detail??la(t.value),path:t.path??[],value:t.value,currentValue:t.currentValue}]})}function CS({proposal:e,timestamp:t,bridgeUrl:n,accentColor:r,busy:o,onApplySelected:i,onDismiss:a,onReviewUnderlying:s,hideModelSenderUntilHover:l=!1}){let d=e.authorityStatus==="accepted",c=e.status==="pending"&&d,[p,u]=P(null),[h,m]=P(()=>new Set),[g,x]=P(null),S=Ee(()=>{let q=TS(e);return!c&&q.length>0?q:kS(p,e)},[p,c,e]),L=Ee(()=>ES(p,S,h),[S,p,h]),H=Ee(()=>S.filter(q=>h.has(q.id)),[S,h]),w=Ee(()=>{let q={rules:[],components:[],tokens:[],model:[]};for(let oe of S)q[oe.group].push(oe);return q},[S]),D=S.map(q=>q.id).join("|");F(()=>{let q=!1;return Vt(`${n}/model`).then(oe=>oe.ok?oe.json():null).then(oe=>{q||u(oe?.model&&typeof oe.model=="object"?oe.model:null)}).catch(()=>{q||u(null)}),()=>{q=!0}},[n,e.id]),F(()=>{m(c&&D?new Set(D.split("|")):new Set)},[D,c,e.id]);let _=U(q=>{m(oe=>{let I=new Set(oe);return I.has(q)?I.delete(q):I.add(q),I})},[]),E=U(()=>{m(new Set(S.map(q=>q.id)))},[S]),V=U(()=>{m(new Set)},[]),O=`${S.length} ${S.length===1?"change":"changes"}`,Y=S.length===1?`1 ${S[0]?.group==="rules"?"rule":S[0]?.group==="components"?"component":S[0]?.group==="tokens"?"token":"change"}`:O;return e.status==="applied"?$("div",{"data-msg":!0,style:{display:"flex",flexDirection:"column",gap:16,position:"relative"},children:[$("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[$("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[f(Do,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),f("span",{style:{opacity:.5},children:"Decision recorded"})]}),$("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[f(hl,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),f("span",{style:{opacity:.5},children:"Model updated"})]})]}),$("div",{style:{alignItems:"center",display:"flex",gap:4,marginTop:l?0:16,...l?{left:0,position:"absolute",right:0,top:"calc(100% + 7px)",zIndex:1}:{}},children:[$("span",{"data-model-sender":"sender",style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:12,fontWeight:500,gap:4},children:[f(gs,{provider:e.provider,size:12,style:{color:"var(--popmelt-thread-muted-strong)"}}),f("span",{children:Bc(e.model,e.provider)})]}),f("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,marginLeft:"auto"},children:Bl(t)})]})]}):$("div",{"data-msg":!0,style:{display:"flex",flexDirection:"column",gap:16,position:"relative"},children:[$("div",{style:{background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,padding:16,display:"flex",flexDirection:"column",gap:12},children:[e.status==="dismissed"?$("div",{style:{alignItems:"center",display:"flex",gap:6,opacity:.45},children:[f(ml,{"aria-hidden":"true",size:16,strokeWidth:2.5}),f("span",{style:{fontSize:14,fontWeight:600},children:"Model suggestion dismissed"})]}):$("div",{style:{alignItems:"center",display:"flex",gap:8},children:[f(hl,{"aria-hidden":"true",color:r,size:16,strokeWidth:2}),f("span",{style:{fontSize:14,fontWeight:600},children:"Model suggestion"})]}),e.status==="pending"&&d&&S.length>0&&$("div",{style:{alignItems:"center",display:"flex",fontSize:14,lineHeight:1.35,marginTop:4},children:[f("span",{style:{fontWeight:600},children:Y}),$("div",{style:{display:"flex",gap:12,marginLeft:"auto"},children:[f("button",{type:"button",disabled:o,onClick:E,style:{background:"transparent",border:0,cursor:"pointer",fontFamily:kn,fontSize:12,fontWeight:600,color:"var(--popmelt-thread-muted-strong)",padding:0},children:"Select all"}),f("button",{type:"button",disabled:o,onClick:V,style:{background:"transparent",border:0,cursor:"pointer",fontFamily:kn,fontSize:12,fontWeight:600,color:"var(--popmelt-thread-muted-strong)",padding:0},children:"Clear"})]})]}),e.status==="pending"&&f(dt,{children:S.length>0?f("div",{style:{display:"flex",flexDirection:"column",gap:8,marginTop:4},children:["rules","components","tokens","model"].flatMap(q=>w[q]).map(q=>{let oe=h.has(q.id);return $("label",{style:{alignItems:"start",color:c&&!oe?"var(--popmelt-thread-secondary)":"var(--popmelt-thread-primary)",columnGap:8,cursor:c?"pointer":"default",display:"grid",fontSize:14,gridTemplateColumns:c?"14px minmax(0, 1fr)":"minmax(0, 1fr)",lineHeight:1.35,padding:"0 0 8px 12px"},children:[c&&f("input",{type:"checkbox",checked:oe,disabled:o,onChange:()=>_(q.id),style:{WebkitAppearance:"none",appearance:"none",margin:"1px 0 0",width:14,height:14,backgroundColor:oe?r:"transparent",border:`1px solid ${oe?r:"rgba(0,0,0,0.34)"}`,boxSizing:"border-box",cursor:o?"default":"pointer"}}),$("span",{style:{minWidth:0},children:[f("span",{style:{fontWeight:700},children:q.label}),$("span",{children:[" \u2014 ",q.detail]}),q.currentValue!==void 0&&$("span",{style:{display:"block",marginTop:2,opacity:.5},children:["was ",la(q.currentValue)]})]})]},q.id)})}):f("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,lineHeight:1.4},children:"No concrete model diff could be derived from this proposal."})}),!d&&e.status==="pending"&&f("div",{style:{color:"#92400e",background:"rgba(180,83,9,0.06)",border:"1px solid rgba(180,83,9,0.2)",padding:8,fontSize:12,lineHeight:1.4},children:f("strong",{children:"A competing product decision is pending"})}),e.status==="pending"&&d&&$("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[$("button",{type:"button",disabled:o,onClick:a,onMouseEnter:()=>{o||x("reject")},onMouseLeave:()=>x(null),style:{...Yd,alignItems:"center",background:"var(--popmelt-thread-control)",border:0,color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,justifyContent:"space-between",padding:"8px 12px",transition:"background-color 120ms ease"},children:[f("span",{children:"Reject"}),f(ml,{"aria-hidden":"true",color:"#dd4141",size:12,strokeWidth:2.5})]}),$("button",{type:"button",disabled:o||L.length===0,onClick:()=>i(e,L,H),onMouseEnter:()=>{!o&&L.length>0&&x("confirm")},onMouseLeave:()=>x(null),style:{...Kd,alignItems:"center",display:"flex",fontSize:12,background:g==="confirm"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderColor:g==="confirm"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",color:"var(--popmelt-thread-on-action)",justifyContent:"space-between",padding:"8px 12px",opacity:o||L.length===0?.45:1,cursor:o||L.length===0?"not-allowed":"pointer",transition:"background-color 120ms ease, border-color 120ms ease"},children:[f("span",{children:"Confirm"}),f(vi,{"aria-hidden":"true",color:"#61c920",size:12,strokeWidth:3})]})]}),e.status==="pending"&&!d&&$("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[f("button",{type:"button",disabled:o,onClick:a,style:Yd,children:"Dismiss"}),f("button",{type:"button",disabled:o||!e.underlyingProposalId,onClick:s,style:{...Kd,opacity:e.underlyingProposalId?1:.45},children:"Review decision"})]})]}),$("div",{style:{alignItems:"center",display:"flex",gap:4,marginTop:l?0:16,...l?{left:0,position:"absolute",right:0,top:"calc(100% + 7px)",zIndex:1}:{}},children:[$("span",{"data-model-sender":"sender",style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:12,fontWeight:500,gap:4},children:[f(gs,{provider:e.provider,size:12,style:{color:"var(--popmelt-thread-muted-strong)"}}),f("span",{children:Bc(e.model,e.provider)})]}),f("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,marginLeft:"auto"},children:Bl(t)})]})]})}var Kd={border:"1px solid var(--popmelt-thread-action)",borderRadius:24,background:"var(--popmelt-thread-action)",color:"var(--popmelt-thread-on-action)",cursor:"pointer",fontFamily:kn,fontSize:12,fontWeight:700,padding:"6px 8px"},Yd={border:"1px solid var(--popmelt-thread-border)",borderRadius:16,background:"transparent",color:"var(--popmelt-thread-secondary)",cursor:"pointer",fontFamily:kn,fontSize:12,fontWeight:700,padding:"6px 8px"};function AS({projectRoot:e,onAttentionChange:t,threadId:n,bridgeUrl:r,accentColor:o,initialMessages:i=[],completedJobId:a,refreshKey:s,isStreaming:l,isQueued:d,queuePosition:c,activeJobId:p,streamingEvents:u,onClose:h,onReply:m,onContribute:g,onApproveSuggestion:x,onCancel:S,canManage:L=!0,readOnlyReason:H,lastError:w,onMouseEnter:D,temporarilyHidden:_=!1,instantVisibilityHandoff:E=!1,backdropCursor:V,toolbarRef:O,surfaceRef:Y,currentModel:q,currentProvider:oe,availableProviders:I=[],models:G=[],modelIndex:N=0,agentSettings:z,onProviderChange:M,onModelChange:j,onAgentSettingsChange:R,onModelMenuOpen:A,annotationNumber:Q,annotationText:ne,onPreviousThread:ee,onNextThread:de,preferredSide:B="right",modal:he=!0}){let[ge,,te]=Ns(),ve=Fs[ge],Oe={"--popmelt-thread-surface":ve.surface,"--popmelt-thread-raised":ve.raisedSurface,"--popmelt-thread-soft":ve.softSurface,"--popmelt-thread-control":ve.control,"--popmelt-thread-primary":ve.threadPrimary,"--popmelt-thread-secondary":ve.secondary,"--popmelt-thread-muted":ve.muted,"--popmelt-thread-muted-strong":ve.mutedStrong,"--popmelt-thread-border":ve.border,"--popmelt-thread-hairline":ve.hairline,"--popmelt-thread-soft-hairline":ve.softHairline,"--popmelt-thread-action":ve.actionSurface,"--popmelt-thread-on-action":ve.actionForeground,"--popmelt-thread-action-hover":ve.actionHover},[xe,Xe]=P(()=>i),[K,Ke]=P([]),[me,Ne]=P(),Ve=Pr(il),Te=(me&&Ve?.peerColors?.[me.authorId])??o,je=Ve?.onThreadViewed;F(()=>{me!==void 0&&!_&&je?.(n)},[je,me,_,n]);let[ce,at]=P(!1),[ot,Qe]=P(""),we=me?.state==="pending",He=me===void 0?void 0:we?g:me&&me.state!=="sent"?void 0:m,[zt,Et]=P([]);F(()=>(t?.(!_&&zt.length?{threadId:n,targets:zt}:null),()=>t?.(null)),[t,_,n,zt]);let Jt=Ee(()=>Tw(ne,xe),[ne,xe]),[At,wt]=P([]),[Be,gt]=P(!1),[Nn,dn]=P(!1),Yt=lw({bridgeUrl:r,threadId:n,visible:!_,active:!!l,onPendingChange:dn}),[ze,rn]=P(i.length===0),y=J(null);y.current||(y.current=kw(n));let[re,Se]=P(()=>y.current.text),[We,Rt]=P([]),[St,Re]=P(!1),[Ge,Gt]=P(!1),ye=J(null),Fe=J(null),Ye=J(null),ht=J(null),tt=J(!1),Ze=J(!1),Lt=J(!1),Je=J(!1),cn=J({selectionStart:y.current.selectionStart,selectionEnd:y.current.selectionEnd,selectionDirection:y.current.selectionDirection}),[Fn,_n]=P(!0),[co,ur]=P(null),$t=U(k=>ur(k),[]),Qt=J(null),vn=J(!0),bn=J(null),Bt=J(0),Wn=J(null),Ut=U((k,ie)=>{let be=k&&ie.trim();Qt.current&&(Qt.current.style.opacity=be?"0.65":"1")},[]),En=J(null),Hr=J(null),xn=J(null),Zn=U(k=>{xn.current=k,Y?.(k)},[Y]),Or=J(null),$n=J(l),Zt=J(p),ki=J(null);F(()=>{Od(n,re,void 0,cn.current)},[re,n]),Ct(()=>{let k=Hr.current,ie=y.current;!k||!ie||ie.text.length===0||k.setSelectionRange(ie.selectionStart,ie.selectionEnd,ie.selectionDirection)},[]);let Tn=U(()=>{ye.current&&(clearTimeout(ye.current),ye.current=null)},[]),jt=U(()=>{Fe.current&&(clearTimeout(Fe.current),Fe.current=null)},[]),Dt=U(()=>{Ye.current&&(clearTimeout(Ye.current),Ye.current=null),ht.current!==null&&(cancelAnimationFrame(ht.current),ht.current=null)},[]),Nr=U(()=>{A?.(),Dt(),Gt(!0),ht.current=requestAnimationFrame(()=>{ht.current=null,Re(!0)})},[Dt,A]),er=U(()=>{Dt(),Re(!1),Ye.current=setTimeout(()=>{Ye.current=null,Gt(!1)},zw)},[Dt]),on=U(()=>{Tn(),jt(),tt.current=!1,Ze.current=!1,Lt.current=!1,er()},[jt,Tn,er]),Ei=U(()=>{jt(),Tn(),ye.current=setTimeout(()=>{ye.current=null,tt.current&&Nr()},jw)},[jt,Tn,Nr]),pr=U(()=>{Tn(),jt(),!Lt.current&&(Fe.current=setTimeout(()=>{Fe.current=null,!tt.current&&!Ze.current&&!Lt.current&&er()},Pw))},[jt,Tn,er]),Fr=U(k=>{Lt.current=k,k?jt():!tt.current&&!Ze.current&&pr()},[jt,pr]);F(()=>()=>{Tn(),jt(),Dt()},[jt,Dt,Tn]);let Ht=J(Fd(B)),qt=J({x:0,y:0}),Jn=J(!1),uo=J({x:0,y:0,offsetX:0,offsetY:0}),fr=J(B==="right"),[,po]=P(0),Tt=`${Ww}:${B}`;F(()=>{try{let k=localStorage.getItem(Tt);if(k){let ie=JSON.parse(k);if(typeof ie.top=="number"&&typeof ie.left=="number"){let{width:be,height:$e}=Bo(),Ce=hi(be),De=Ba(be),et={top:Math.max(Ce,Math.min(ie.top,$e-Ce-200)),left:Math.max(Ce,Math.min(ie.left,De))};fr.current=et.left>=De-2,Ht.current=et,po(st=>st+1)}}}catch{}},[Tt]),F(()=>{let k=()=>{if(fr.current)Ht.current=Fd(B);else{let ie=Ht.current,{width:be,height:$e}=Bo(),Ce=hi(be),De=Ba(be);Ht.current={top:Math.max(Ce,Math.min(ie.top,$e-Ce-200)),left:Math.max(Ce,Math.min(ie.left,De))}}po(ie=>ie+1)};return window.addEventListener("resize",k,{passive:!0}),window.visualViewport?.addEventListener("resize",k,{passive:!0}),()=>{window.removeEventListener("resize",k),window.visualViewport?.removeEventListener("resize",k)}},[B]),F(()=>{let k=Or.current;if(!k)return;let ie=De=>{Rc(Bo().width)||De.button!==0||De.target.closest("button")||(De.preventDefault(),De.stopPropagation(),Jn.current=!0,uo.current={x:De.clientX,y:De.clientY,offsetX:qt.current.x,offsetY:qt.current.y})},be=De=>{if(!Jn.current)return;let et=uo.current,st=et.offsetX+(De.clientX-et.x),Ue=et.offsetY+(De.clientY-et.y),{width:nt}=Bo(),tn=hi(nt),mo=Math.max(tn,Math.min(Ba(nt),Ht.current.left+st)),Ko=Math.max(tn,Ht.current.top+Ue);qt.current={x:mo-Ht.current.left,y:Ko-Ht.current.top};let An=xn.current;An&&(An.style.top=`${Ko}px`,An.style.left=`${mo}px`,An.style.height=`${Ef(Ko,mo,O?.current)}px`)},$e=()=>{if(!Jn.current)return;let De=Ht.current.top+qt.current.y,et=Ht.current.left+qt.current.x;Ht.current={top:De,left:et},qt.current={x:0,y:0};let st=Ba();fr.current=et>=st-2;try{localStorage.setItem(Tt,JSON.stringify({top:De,left:et}))}catch{}Jn.current=!1},Ce=()=>{Ht.current=Fd(B),qt.current={x:0,y:0},fr.current=B==="right";try{localStorage.removeItem(Tt)}catch{}po(De=>De+1)};return k.addEventListener("mousedown",ie),window.addEventListener("mousemove",be),window.addEventListener("mouseup",$e),k.addEventListener("dblclick",Ce),()=>{k.removeEventListener("mousedown",ie),window.removeEventListener("mousemove",be),window.removeEventListener("mouseup",$e),k.removeEventListener("dblclick",Ce)}},[Tt,B,O]);let It=U(async k=>{try{let ie=await Vt(`${r}/thread/${n}`);if(!ie.ok)throw new Error(`Thread fetch failed: ${ie.status}`);let be=await ie.json(),$e=be.messages??[];Ke(be.chatLinks??[]),Ne(be.suggestion??null);let Ce=Zh(be,location.pathname);Et(Ue=>JSON.stringify(Ue)===JSON.stringify(Ce)?Ue:Ce);let De=k?.settleJobId,et=em($e,De);(et||k?.applyUnsettled)&&Xe(Ue=>$e.length===0&&Ue.length>0?Ue:$e);let st=Array.isArray(be.modelProposals)?be.modelProposals:be.modelProposal?[be.modelProposal]:[];return(et||k?.applyUnsettled)&&wt(st),rn(!1),{messages:$e,settled:et}}catch{return rn(!1),null}},[r,n]),Ti=U(async(k,ie)=>{if(!Be){gt(!0);try{let be=await Vt(`${r}/projection/proposals/${encodeURIComponent(k.id)}/${ie}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:oe,model:q,...z})});if(be.ok){let $e=await be.json();$e.proposal&&wt(Ce=>Ce.map(De=>De.id===$e.proposal.id?$e.proposal:De)),await It()}}finally{gt(!1)}}},[z,r,q,oe,It,Be]);F(()=>{s&&It({applyUnsettled:!0})},[s,It]);let hn=U(async(k,ie,be)=>{if(!Be){gt(!0);try{(await Vt(`${r}/memory/conversation-action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,proposalId:k.proposalId,action:ie,claim:be,provider:oe,model:q,...z})})).ok&&await It()}finally{gt(!1)}}},[z,r,q,oe,It,Be,n]),Pe=U(async(k,ie)=>{if(!Be){gt(!0);try{(await Vt(`${r}/imprint/action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,transactionId:k.transactionId,action:ie})})).ok&&await It()}finally{gt(!1)}}},[r,It,Be,n]),Bn=U(async(k,ie,be)=>{if(!(Be||ie.length===0)){gt(!0);try{let $e=await Vt(`${r}/projection/proposals/${encodeURIComponent(k.id)}/apply-selected`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({changes:ie,changeSummaries:be.map(Ce=>({group:Ce.group,label:Ce.label,detail:Ce.detail,path:Ce.path,value:Ce.value,currentValue:Ce.currentValue})),provider:oe,model:q,...z})});if($e.ok){let Ce=await $e.json();Ce.proposal&&wt(De=>De.map(et=>et.id===Ce.proposal.id?Ce.proposal:et)),await It()}}finally{gt(!1)}}},[z,r,q,oe,It,Be]);F(()=>{let k=!1;Bt.current=0,rn(i.length===0),bn.current&&(clearTimeout(bn.current),bn.current=null);let ie=async()=>{let be=await It({applyUnsettled:!0});k||be===null||be.messages.length!==0||Bt.current>=5||(Bt.current+=1,bn.current=setTimeout(ie,200*Bt.current))};return ie(),()=>{k=!0,bn.current&&(clearTimeout(bn.current),bn.current=null)}},[It,i.length]);let wn=U(k=>{if(!k||ki.current===k)return;ki.current=k,Wn.current&&clearTimeout(Wn.current);let ie=0,be=async()=>{(await It({settleJobId:k,applyUnsettled:ie>=5}))?.settled||ie>=5||(ie+=1,Wn.current=setTimeout(be,80*ie))};be()},[It]);F(()=>{wn(a)},[a,wn]),F(()=>{$n.current&&!l&&wn(Zt.current),$n.current=l,p&&(Zt.current=p)},[p,l,wn]),F(()=>()=>{Wn.current&&clearTimeout(Wn.current)},[]);let Nt=Ee(()=>u?sS(u):[],[u]),hr=Ee(()=>wf(Nt),[Nt]),Ft=Ee(()=>Lf(Nt.filter(k=>k.kind==="tool_group")),[Nt]),sa=Ee(()=>$f(Ft),[Ft]),an=Ee(()=>$w(u??[]),[u]),mr=Ee(()=>u?fS(u):void 0,[u]),_r=Ee(()=>xe.filter(k=>k.role==="human"&&k.replyToQuestion&&k.queued&&k.jobId!==p),[p,xe]),Cn=Aw(xe,me?.submissionId,n,Qt),en=!Cn.replacementReady||!!(ot&&me?.state==="pending"),yt=Ee(()=>Cn.messages.filter(k=>!(k.role==="human"&&k.replyToQuestion&&k.queued&&k.jobId!==p)),[p,Cn.messages]),un=Ee(()=>{let k=new Set,ie=new Map,be=new Map,$e=new Map,Ce=[];if(yt.forEach((De,et)=>{let st=At.some(Ue=>Ue.status==="applied"&&Wf(De,Ue));if(SS(De,st)){Ce.push(et);return}De.role!=="assistant"||Ce.length===0||(ie.set(et,Ce.map(Ue=>yt[Ue])),Ce.forEach(Ue=>k.add(Ue)),Ce=[])}),Ce.length>0){let De=Ce[0]-1;if(yt[De]?.role==="assistant"&&!k.has(De)){let et=ie.get(De)??[];ie.set(De,[...et,...Ce.map(Ue=>yt[Ue])]),Ce.forEach(Ue=>k.add(Ue));let st=Ce[Ce.length-1];be.set(De,qd(yt[st],yt[st-1])),$e.set(De,yt[st].timestamp)}else if(Ce.length>1){let et=Ce[Ce.length-1],st=Ce.slice(0,-1);ie.set(et,st.map(Ue=>yt[Ue])),st.forEach(Ue=>k.add(Ue))}}return{hiddenIndices:k,messagesByTargetIndex:ie,timestampByTargetIndex:$e,workedForByTargetIndex:be}},[At,yt]),gr=Ee(()=>{let k=new Map;for(let ie of xe)ie.memoryReviewCard&&k.set(ie.memoryReviewCard.proposalId,`${ie.jobId}:${ie.timestamp}`);return k},[xe]),yr=Ee(()=>{let k=[];return yt.forEach((ie,be)=>{if(un.hiddenIndices.has(be))return;let $e=_f(ie,yt[be-1]);ie.role==="assistant"&&!$e&&k.push(`message:${ie.jobId}:${be}`)}),l?"streaming":k[k.length-1]??null},[un,l,yt]);F(()=>{let k=Qt.current;if(!k)return;let ie=()=>{let be=k.scrollHeight-k.scrollTop-k.clientHeight;_n(be<40),vn.current=be<2};return k.addEventListener("scroll",ie,{passive:!0}),()=>{k.removeEventListener("scroll",ie)}},[]),F(()=>{vn.current&&Qt.current&&(Qt.current.scrollTop=Qt.current.scrollHeight)},[xe,Nt.length,l,Nn,Cn.phase]),F(()=>{if(!Ge)return;let k=ie=>{ie.composedPath().some(be=>be instanceof HTMLElement&&be.dataset.modelPicker!==void 0)||on()};return document.addEventListener("pointerdown",k,!0),()=>document.removeEventListener("pointerdown",k,!0)},[on,Ge]),F(()=>{let k=ie=>{if(ie.key==="Escape"){if(ie.stopPropagation(),Ge){on();return}h()}};return document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)},[on,Ge,h]);let vr=U((k,ie,be)=>{let $e=k.trim();if(!$e||!He)return!1;let Ce=`_pending_reply_${Date.now()}`,De=/^@(Codex|Claude)(?:\s+|$)([\s\S]*)$/i.exec($e),et=!!l&&!De,st=ie?ie.map(Ue=>URL.createObjectURL(Ue)):void 0;return Xe(Ue=>[...Ue,{role:"human",timestamp:Date.now(),jobId:Ce,replyToQuestion:$e,...we?{execution:"none"}:{},...et?{queued:!0}:{},...st?{replyImageUrls:st}:{}}]),Promise.resolve().then(async()=>{if(!De)return He(n,$e,ie,be);let{sendCanvasChatNote:Ue}=await import("./canvas-chat-note-NHYL3T6J.mjs");return Ue(r,n,K,De,L,!!ie?.length)}).then(async Ue=>{Ue?.jobId&&(Xe(nt=>nt.map(tn=>tn.jobId===Ce?{...tn,jobId:Ue.jobId}:tn)),await It({applyUnsettled:!0}))}).catch(Ue=>{Xe(nt=>nt.map(tn=>tn.jobId===Ce?{...tn,queued:!1,errorKind:"send_rejected",error:Ue instanceof Error?Ue.message:"Reply was not sent. Check your connection and permissions before retrying."}:tn)),Se(nt=>nt||$e),ie&&Rt(nt=>nt.length?nt:ie)}),!0},[l,n,He,It,we,r,L,K]),Un=U(()=>{let k=We.length>0?We:void 0;vr(re,k)&&(Se(""),Rt([]))},[re,We,vr]),fo=U(k=>{let ie=k.clipboardData.items,be=[];for(let $e=0;$e<ie.length;$e++){let Ce=ie[$e];if(Ce.type.startsWith("image/")){let De=Ce.getAsFile();De&&be.push(De)}}if(be.length>0){if(k.preventDefault(),we){Qe("Suggestion discussion supports text for now; images were not attached.");return}Rt($e=>[...$e,...be])}},[we]),ho=U(k=>{k.key==="Enter"&&(k.metaKey||k.ctrlKey)&&(k.preventDefault(),Un())},[Un]);Ct(()=>{let k=Hr.current;k&&(k.style.height="auto",k.style.height=`${Math.max(34,Math.min(k.scrollHeight,120))}px`,En.current&&(En.current.scrollTop=k.scrollTop))},[re]);let Wr=Ht.current.top+qt.current.y,Jr=Ht.current.left+qt.current.x,Br=Bo(),pn=Rc(Br.width),tr=hi(Br.width),da=Lc(Br.width),qo=Ef(Wr,Jr,O?.current),br=xe.some(k=>k.memoryReviewCard&&!xe.some(ie=>ie.memoryReceipt?.proposalId===k.memoryReviewCard.proposalId)),vt=we?"Add to suggestion (text only)":l?"Add steering context":br?"Ask for rule changes":"Ask for changes";return $(dt,{children:[he&&f("div",{"data-devtools":"thread-panel-backdrop",onPointerDown:k=>{k.target===k.currentTarget&&h()},style:{position:"fixed",inset:0,zIndex:9998,opacity:_?0:1,pointerEvents:_?"none":"auto",cursor:V,transition:_&&!E?`opacity ${ws}ms ease`:"none"}}),$("div",{ref:Zn,style:{...Bw,...Oe,width:da,height:pn?"auto":qo,position:"fixed",top:pn?`max(${tr}px, env(safe-area-inset-top))`:Wr,bottom:pn?`max(${tr}px, env(safe-area-inset-bottom))`:void 0,left:pn?`max(${tr}px, env(safe-area-inset-left))`:Jr,right:pn?`max(${tr}px, env(safe-area-inset-right))`:void 0,zIndex:10004,opacity:_?0:1,pointerEvents:_?"none":"auto",transition:_&&!E?`opacity ${ws}ms ease`:"none"},"data-devtools":"thread-panel","data-popmelt-thread-id":n,"data-popmelt-font":"sans","data-popmelt-theme":ge,"data-popmelt-theme-preference":te,"aria-hidden":_||void 0,onMouseEnter:D,children:[Fw,$("div",{style:{background:"var(--popmelt-thread-surface)",borderRadius:"12px 12px 16px 16px",display:"flex",flexDirection:"column",overflow:"hidden",flex:1,minHeight:0},children:[$("div",{ref:Or,"data-popmelt-thread-header":!0,style:{...Uw,backgroundColor:Te,color:"#ffffff",cursor:"grab",overflow:pn?"visible":"hidden",paddingRight:pn?32:6,userSelect:"none",WebkitUserSelect:"none"},children:[$("span",{style:{display:"flex",alignItems:"center",gap:3,minWidth:0,flex:1},children:[(Q||!me)&&f("span",{style:{flexShrink:0},children:Q?`${Q}.`:"Conversation"}),Jt&&f("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:Jt})]}),ee&&de&&$("span",{style:{display:"flex",flexShrink:0,gap:0,marginLeft:8},children:[f("button",{type:"button","aria-label":"Previous thread","data-popmelt-thread-nav":!0,onClick:ee,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",height:Jo,minHeight:0,minWidth:0,boxSizing:"border-box",justifyContent:"center",margin:0,padding:0,position:"relative",width:Jo},children:f(qg,{"aria-hidden":"true",height:Jo,strokeWidth:2,width:Jo})}),f("button",{type:"button","aria-label":"Next thread","data-popmelt-thread-nav":!0,onClick:de,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",height:Jo,minHeight:0,minWidth:0,boxSizing:"border-box",justifyContent:"center",margin:0,padding:0,position:"relative",width:Jo},children:f(Bs,{"aria-hidden":"true",height:Jo,strokeWidth:2,width:Jo})})]}),pn&&f("button",{type:"button","aria-label":"Close thread",onClick:h,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",flexShrink:0,height:40,justifyContent:"center",margin:0,padding:0,position:"absolute",right:-4,top:"50%",transform:"translateY(-50%)",width:40},children:f(qs,{"aria-hidden":"true",size:14,strokeWidth:2})})]}),f("style",{dangerouslySetInnerHTML:{__html:`
|
|
161
|
+
[data-devtools="thread-panel"] ::selection {
|
|
162
|
+
background: color-mix(in srgb, ${Te} 15%, transparent);
|
|
163
|
+
color: inherit;
|
|
164
|
+
}
|
|
165
|
+
[data-popmelt-thread-nav] { opacity: 0.5; transition: opacity 120ms ease; }
|
|
166
|
+
[data-popmelt-thread-nav]:hover, [data-popmelt-thread-nav]:focus-visible { opacity: 1; }
|
|
167
|
+
[data-popmelt-approve-suggestion]:not(:disabled):hover {
|
|
168
|
+
--popmelt-approval-background: var(--popmelt-thread-action-hover);
|
|
169
|
+
}
|
|
170
|
+
[data-popmelt-approve-suggestion]:focus-visible {
|
|
171
|
+
outline: 2px solid var(--popmelt-thread-primary);
|
|
172
|
+
outline-offset: 3px;
|
|
173
|
+
}
|
|
174
|
+
[data-popmelt-thread-nav]::before { content: ''; position: absolute; inset: -4px; }
|
|
175
|
+
[data-popmelt-thread-content] { isolation: isolate; }
|
|
176
|
+
[data-popmelt-thread-content]::after {
|
|
177
|
+
background: color-mix(in srgb, var(--popmelt-thread-surface) 50%, transparent);
|
|
178
|
+
content: '';
|
|
179
|
+
inset: 0;
|
|
180
|
+
opacity: 0;
|
|
181
|
+
pointer-events: none;
|
|
182
|
+
position: absolute;
|
|
183
|
+
transition: opacity 100ms ease;
|
|
184
|
+
transition-delay: 0ms;
|
|
185
|
+
z-index: 10;
|
|
186
|
+
}
|
|
187
|
+
[data-popmelt-thread-content]:has([data-popmelt-tool-receipt-trigger]:hover)::after,
|
|
188
|
+
[data-popmelt-thread-content]:has([data-popmelt-tool-receipt-trigger]:focus-within)::after {
|
|
189
|
+
opacity: 1;
|
|
190
|
+
transition-delay: 180ms;
|
|
191
|
+
}
|
|
192
|
+
[data-popmelt-thread-content] [data-popmelt-tool-receipt-tooltip] { z-index: 20; }
|
|
193
|
+
[data-popmelt-tool-mention] {
|
|
194
|
+
font-weight: 600;
|
|
195
|
+
color: var(--popmelt-thread-primary);
|
|
196
|
+
background: color-mix(in srgb, var(--popmelt-thread-primary) 15%, transparent);
|
|
197
|
+
border-radius: 3px;
|
|
198
|
+
}
|
|
199
|
+
[data-popmelt-reply], [data-popmelt-mention-mirror] {
|
|
200
|
+
display: block; width: 100%; min-width: 0; margin: 0; padding: 12px 12px 0; border: 0;
|
|
201
|
+
box-sizing: border-box; font-family: ${kn}; font-size: 14px; font-weight: 400;
|
|
202
|
+
line-height: 1.3; letter-spacing: normal; white-space: pre-wrap; overflow-wrap: break-word;
|
|
203
|
+
word-break: break-word; scrollbar-gutter: stable;
|
|
204
|
+
}
|
|
205
|
+
[data-popmelt-mention-mirror] {
|
|
206
|
+
position: absolute; inset: 0; overflow: hidden; pointer-events: none; user-select: none; color: transparent;
|
|
207
|
+
}
|
|
208
|
+
/* Thicken the glyphs without changing advances, so the native caret and
|
|
209
|
+
selection align with the highlighted words even on wrapped lines. */
|
|
210
|
+
[data-popmelt-mention-mirror] [data-popmelt-tool-mention] { font-weight: inherit; -webkit-text-stroke: .4px currentColor; }
|
|
211
|
+
[data-popmelt-reply]::placeholder { color: var(--popmelt-thread-muted); opacity: 1; }
|
|
212
|
+
[data-message-timestamp] { opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
|
|
213
|
+
[data-message-activity] { opacity: 1; transition: opacity 120ms ease; }
|
|
214
|
+
[data-run-timing] {
|
|
215
|
+
display: grid; align-items: baseline; justify-items: start; min-width: 0;
|
|
216
|
+
color: var(--popmelt-thread-muted); font-size: 14px; line-height: 20px;
|
|
217
|
+
}
|
|
218
|
+
[data-run-timing] > span { grid-area: 1 / 1; transition: opacity 120ms ease; }
|
|
219
|
+
[data-worked-for-time] { opacity: 0; pointer-events: none; }
|
|
220
|
+
[data-msg]:hover [data-run-timing][data-has-clock] [data-worked-for-label] { opacity: 0; }
|
|
221
|
+
[data-msg]:hover [data-worked-for-time] { opacity: 1; }
|
|
222
|
+
[data-cancelled-request-time] { line-height: 20px; }
|
|
223
|
+
[data-cancelled-request-time="incoming"] { position: static !important; align-self: flex-start; }
|
|
224
|
+
[data-under-message-rail="hover"] { opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
|
|
225
|
+
[data-model-sender] { display: none !important; }
|
|
226
|
+
[data-msg]:is(:hover, :focus-within) [data-under-message-rail="hover"] { opacity: 1; pointer-events: auto; }
|
|
227
|
+
[data-msg]:hover [data-message-timestamp] { opacity: 1; }
|
|
228
|
+
@media (hover: hover) {
|
|
229
|
+
[data-msg]:hover + [data-popmelt-suggestion-actions] [data-popmelt-approve-suggestion]:not(:focus-visible) {
|
|
230
|
+
opacity: 0 !important;
|
|
231
|
+
pointer-events: none;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
[data-popmelt-tool-receipt-tooltip] {
|
|
235
|
+
opacity: 0;
|
|
236
|
+
transform: translateY(3px) scale(0.98);
|
|
237
|
+
transform-origin: bottom center;
|
|
238
|
+
transition: opacity 100ms ease, transform 100ms ease, visibility 0s linear 100ms;
|
|
239
|
+
visibility: hidden;
|
|
240
|
+
}
|
|
241
|
+
[data-popmelt-tool-receipt-scroll] {
|
|
242
|
+
overflow-x: hidden !important;
|
|
243
|
+
}
|
|
244
|
+
[data-popmelt-tool-receipt-scroll],
|
|
245
|
+
[data-popmelt-tool-receipt-scroll] * {
|
|
246
|
+
box-sizing: border-box;
|
|
247
|
+
max-width: 100%;
|
|
248
|
+
min-width: 0;
|
|
249
|
+
overflow-wrap: anywhere;
|
|
250
|
+
white-space: normal;
|
|
251
|
+
word-break: break-word;
|
|
252
|
+
}
|
|
253
|
+
/* Bridge the 6px gap between adjacent receipt icons, without extending the row. */
|
|
254
|
+
[data-popmelt-tool-receipt-trigger] + [data-popmelt-tool-receipt-trigger]::before {
|
|
255
|
+
content: '';
|
|
256
|
+
position: absolute;
|
|
257
|
+
inset-block: 0;
|
|
258
|
+
inset-inline-end: 100%;
|
|
259
|
+
width: 6px;
|
|
260
|
+
}
|
|
261
|
+
[data-popmelt-tool-receipt-trigger]:hover > button {
|
|
262
|
+
color: var(--popmelt-thread-primary) !important;
|
|
263
|
+
}
|
|
264
|
+
[data-popmelt-tool-receipt-scrim] {
|
|
265
|
+
left: 0;
|
|
266
|
+
opacity: 0;
|
|
267
|
+
pointer-events: none;
|
|
268
|
+
position: absolute;
|
|
269
|
+
right: 0;
|
|
270
|
+
transition: opacity 100ms ease;
|
|
271
|
+
z-index: 1;
|
|
272
|
+
}
|
|
273
|
+
[data-popmelt-tool-receipt-scrim="top"] {
|
|
274
|
+
background: linear-gradient(to bottom, var(--popmelt-thread-raised) 10%, transparent);
|
|
275
|
+
height: 24px;
|
|
276
|
+
top: 0;
|
|
277
|
+
}
|
|
278
|
+
[data-popmelt-tool-receipt-scrim="bottom"] {
|
|
279
|
+
background: linear-gradient(to top, var(--popmelt-thread-raised) 10%, transparent);
|
|
280
|
+
bottom: 0;
|
|
281
|
+
height: 24px;
|
|
282
|
+
}
|
|
283
|
+
[data-popmelt-tool-receipt-tooltip][data-overflow-top] [data-popmelt-tool-receipt-scrim="top"],
|
|
284
|
+
[data-popmelt-tool-receipt-tooltip][data-overflow-bottom] [data-popmelt-tool-receipt-scrim="bottom"] {
|
|
285
|
+
opacity: 1;
|
|
286
|
+
}
|
|
287
|
+
[data-popmelt-tool-receipt-trigger]:hover [data-popmelt-tool-receipt-tooltip][data-ready="true"],
|
|
288
|
+
:not(:has(> [data-popmelt-tool-receipt-trigger]:hover)) > [data-popmelt-tool-receipt-trigger]:focus-within [data-popmelt-tool-receipt-tooltip][data-ready="true"] {
|
|
289
|
+
opacity: 1;
|
|
290
|
+
transform: translateY(0) scale(1);
|
|
291
|
+
transition-delay: 180ms;
|
|
292
|
+
visibility: visible;
|
|
293
|
+
}
|
|
294
|
+
@media (prefers-reduced-motion: reduce) {
|
|
295
|
+
[data-popmelt-tool-receipt-tooltip] { transition: none; }
|
|
296
|
+
[data-popmelt-thread-content]::after { transition: none; }
|
|
297
|
+
}
|
|
298
|
+
[data-suggestion-message] { display: contents; }
|
|
299
|
+
[data-suggestion-handoff] > div {
|
|
300
|
+
display: flex;
|
|
301
|
+
flex-direction: column;
|
|
302
|
+
gap: 32px;
|
|
303
|
+
}
|
|
304
|
+
[data-suggestion-phase="preparing"] [data-suggestion-handoff="incoming"] {
|
|
305
|
+
display: block;
|
|
306
|
+
position: absolute;
|
|
307
|
+
visibility: hidden;
|
|
308
|
+
pointer-events: none;
|
|
309
|
+
}
|
|
310
|
+
[data-suggestion-phase="animating"] [data-suggestion-handoff="outgoing"] {
|
|
311
|
+
display: block;
|
|
312
|
+
position: relative;
|
|
313
|
+
height: 0;
|
|
314
|
+
flex-shrink: 0;
|
|
315
|
+
margin-bottom: -32px;
|
|
316
|
+
pointer-events: none;
|
|
317
|
+
}
|
|
318
|
+
[data-suggestion-phase="animating"] [data-suggestion-handoff="outgoing"] > div {
|
|
319
|
+
position: absolute;
|
|
320
|
+
width: 100%;
|
|
321
|
+
animation: popmelt-suggestion-out ${Nd}ms ease-out both;
|
|
322
|
+
}
|
|
323
|
+
[data-suggestion-phase="animating"] [data-suggestion-handoff="incoming"] > div {
|
|
324
|
+
animation: popmelt-suggestion-in ${Nd}ms cubic-bezier(.2,.7,.2,1) both;
|
|
325
|
+
}
|
|
326
|
+
@keyframes popmelt-suggestion-out {
|
|
327
|
+
to { opacity: 0; transform: translateY(-16px); }
|
|
328
|
+
}
|
|
329
|
+
@keyframes popmelt-suggestion-in {
|
|
330
|
+
from { opacity: 0; transform: translateY(16px); }
|
|
331
|
+
to { opacity: 1; transform: translateY(0); }
|
|
332
|
+
}
|
|
333
|
+
@media (prefers-reduced-motion: reduce) {
|
|
334
|
+
[data-suggestion-handoff] > div { animation: none !important; }
|
|
335
|
+
}
|
|
336
|
+
@media (hover: none), (pointer: coarse) {
|
|
337
|
+
[data-message-timestamp], [data-under-message-rail="hover"] { opacity: 1; pointer-events: auto; }
|
|
338
|
+
[data-cancelled-request-time="outgoing"] { position: static !important; align-self: flex-end; }
|
|
339
|
+
[data-popmelt-thread-header] { cursor: default !important; }
|
|
340
|
+
[data-popmelt-reply-action] { width: 40px !important; height: 40px !important; margin: -10px; }
|
|
341
|
+
}
|
|
342
|
+
`}}),$("div",{"data-popmelt-thread-content":!0,style:{display:"flex",flex:1,flexDirection:"column",minHeight:0,position:"relative"},children:[$("div",{ref:Qt,style:{...qw,...He?{paddingBottom:12}:{},transition:"opacity 150ms ease"},"data-devtools":"thread-panel-messages","data-suggestion-phase":Cn.phase,children:[ze&&f("div",{style:{padding:16,color:"var(--popmelt-thread-muted)",textAlign:"center"},children:"Loading..."}),!ze&&yt.length===0&&_r.length===0&&!l&&f("div",{style:{padding:16,color:"var(--popmelt-thread-muted)",textAlign:"center"},children:"No messages yet."}),yt.map((k,ie)=>{if(un.hiddenIndices.has(ie))return null;let be=un.messagesByTargetIndex.get(ie)??[],$e=[...be,k],Ce=yt[ie-1],De=_f(k,Ce),et=ze?[]:At.filter(nt=>$e.some(tn=>Wf(tn,nt))),st=et.filter(nt=>nt.status==="applied"),Ue={decisionRecorded:st.some(nt=>nt.decisionIds.length>0),modelUpdated:st.length>0,imprintReceipt:hS($e,yt)};return f("div",{"data-suggestion-message":!0,"data-suggestion-handoff":Cn.motion(k),"aria-hidden":Cn.motion(k)==="outgoing"&&Cn.phase==="animating"?!0:void 0,children:$("div",{style:Cn.motion(k)?void 0:{display:"contents"},children:[f(Ff,{projectRoot:e,msg:k,index:ie,bridgeUrl:r,accentColor:Te,onLightbox:$t,hideSender:De,hideTimestamp:De,hideModelSenderUntilHover:yr!==`message:${k.jobId}:${ie}`,compactSpacing:De||Nf(Ce,k),followedByCancellation:Nf(k,yt[ie+1]),workedFor:Ud(k)?wS(k,xe):un.workedForByTargetIndex.get(ie)??qd(k,yt[ie-1]),activityTimestamp:un.timestampByTargetIndex.get(ie),memoryReviewBusy:Be,memoryReviewResolved:!!(k.memoryReviewCard&&xe.some(nt=>nt.memoryReceipt?.proposalId===k.memoryReviewCard.proposalId&&nt.memoryReceipt.status==="committed")),memoryReviewSuperseded:!!(k.memoryReviewCard&&gr.get(k.memoryReviewCard.proposalId)!==`${k.jobId}:${k.timestamp}`),foldedActivityMessages:be,underMessageActivity:Ue,onMemoryReviewAction:L?hn:void 0,onImprintAction:L?Pe:void 0}),ie===0&&me&&me.state!=="sent"&&(ot||en&&x&&(we||me.state==="approving"))&&$("div",{"data-popmelt-suggestion-actions":!0,style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:8,marginTop:-24,fontSize:13,color:"var(--popmelt-thread-secondary)"},children:[(we||me.state==="approving")&&en&&x&&$("button",{"data-popmelt-approve-suggestion":!0,type:"button",disabled:ce||!we,style:{...fg(ge),padding:Hs.padding,gap:Hs.gap,background:"var(--popmelt-approval-background, var(--popmelt-thread-action))",color:"var(--popmelt-thread-on-action)",opacity:ce||!we?.5:1,transition:"background-color 120ms ease, opacity 120ms ease",cursor:ce||!we?"default":"pointer"},onClick:async()=>{if(!(ce||!we)){at(!0),Qe("");try{await x(me.submissionId,me.revision)}catch(nt){Qe(nt instanceof Error?nt.message:"Approval failed. Review the updated suggestion and try again.")}finally{await It({applyUnsettled:!0}),at(!1)}}},children:[f(Ru,{size:Hs.iconSize,strokeWidth:1.5,"aria-hidden":"true"}),ce||!we?"Sending\u2026":"Approve and send"]}),ot&&f("div",{role:"alert",children:ot})]}),et.filter(nt=>nt.status!=="applied").map(nt=>f("fieldset",{disabled:!L,style:{border:0,padding:0,margin:0,minWidth:0},children:f(CS,{proposal:nt,timestamp:k.timestamp,bridgeUrl:r,accentColor:Te,busy:Be,onApplySelected:Bn,onDismiss:()=>Ti(nt,"dismiss"),onReviewUnderlying:()=>{nt.underlyingProposalId&&vr("> Kicked off decision review",void 0,{memoryReviewProposalId:nt.underlyingProposalId})},hideModelSenderUntilHover:yr!==`proposal:${nt.id}`})},nt.id))]})},Jl(k))}),l&&$("div",{style:{padding:0,display:"flex",flexDirection:"column",gap:8},children:[(!d||Yt.approvals.some(k=>k.jobId===p&&k.phase))&&f(dt,{children:hr.map((k,ie)=>{if(k.kind==="approval"){let $e=Yt.approvals.find(De=>De.id===k.approval.id),Ce=k.approval.status==="pending"&&$e?.status!=="pending"?$e??k.approval:k.approval;return f(aw,{approval:Ce,accentColor:Te,connected:L&&Yt.connected,decide:De=>Yt.decide(Ce,De)},Ce.id)}if(k.kind==="tool_group")return null;if(k.kind==="generated_image")return f(Mf,{src:so(r,k.url),onLightbox:$t},ie);if(k.kind==="file_content")return f(dS,{file:k.file,content:k.content,ext:k.ext,isPlan:k.isPlan,onAccept:k.isPlan&&He?()=>He(n,"Looks good, please proceed with implementation."):void 0},ie);if(k.kind==="thinking")return f("div",{style:{fontSize:12,color:"var(--popmelt-thread-muted)",fontStyle:"italic",lineHeight:1.4,whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:80,overflowY:"auto"},children:k.text},ie);if(k.kind==="status")return f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontStyle:"italic",lineHeight:1.4,wordBreak:"break-word"},children:k.text},ie);if(k.kind==="orientation")return f(Rf,{orientation:k.orientation},ie);let be=Ua(k.text);return be?f("div",{style:{fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,wordBreak:"break-word"},children:cr(be)},ie):null})}),$("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",minHeight:24},children:[f("div",{style:{alignItems:"center",display:"flex",gap:6},children:d?$(dt,{children:[f(Us,{size:12,strokeWidth:2.25,color:Te,style:{verticalAlign:"middle",flexShrink:0,opacity:.5}}),f("span",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontStyle:"italic"},children:Yt.approvals.some(k=>k.jobId===p&&k.phase==="parked")?"Parked \xB7 waiting for permission":Yt.approvals.some(k=>k.jobId===p&&k.phase==="queued")?"Queued next":`Queued${c?` ${c}`:""}`})]}):$(dt,{children:[Nn?f("span",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:"Waiting for permission"}):an?f("span",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:"Generating images\u2026"}):f(Qw,{color:"var(--popmelt-thread-muted-strong)"}),sa.map(k=>f(Pf,{receipt:k,animateCount:!0},k.kind)),mr&&f(Hf,{receipt:mr,accentColor:Te})]})}),S&&f("button",{onClick:S,style:{background:"none",border:"1px solid var(--popmelt-thread-hairline)",borderRadius:16,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",fontFamily:"inherit",fontSize:12,padding:"4px 10px"},children:"Cancel"})]})]}),!l&&w&&w!==Cf&&$("div",{style:{padding:"8px 16px",backgroundColor:"rgba(239, 68, 68, 0.06)",fontSize:12,color:"#dc2626",lineHeight:1.4},children:[f("span",{style:{fontWeight:600},children:"Error: "}),w]})]}),_r.length>0&&f("div",{"data-queued-replies-area":!0,style:{flexShrink:0,maxHeight:"40%",overflowY:"auto",padding:"0 12px 12px"},children:f(La,{fallback:null,children:f(Dw,{messages:_r,renderMessage:k=>f(Ff,{msg:k,index:xe.indexOf(k),bridgeUrl:r,accentColor:Te,onLightbox:$t,hideSender:!0,hideTimestamp:!0,queuedPreview:!0}),onChange:L?async(k,ie)=>{let be=await Vt(`${r}/reply/queued`,{method:ie===null?"DELETE":"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:n,jobId:k.jobId,submissionId:k.lifecycle?.submissionIds[0],expectedReply:k.replyToQuestion,reply:ie})});if(!be.ok){let $e=await be.json().catch(()=>({}));throw new Error($e.error??"Could not update queued message.")}await It({applyUnsettled:!0})}:void 0})})}),!He&&H&&$("div",{role:"status",style:{alignItems:"center",color:"var(--popmelt-thread-muted)",display:"flex",fontSize:12,gap:4,justifyContent:"center",letterSpacing:"0.12px",lineHeight:1.35,padding:"16px 12px",whiteSpace:"nowrap"},children:[f(Kg,{"aria-hidden":"true",size:12,strokeWidth:1.5}),f("span",{children:H})]}),He&&$("div",{"data-popmelt-thread-composer":!0,style:{flexShrink:0,position:"relative",zIndex:1},children:[Ge&&f(tm,{visible:St,provider:oe,availableProviders:I,models:G,modelIndex:N,agentSettings:z,onProviderChange:M,onModelChange:j,onAgentSettingsChange:R,onMouseEnter:()=>{Ze.current=!0,jt()},onMouseLeave:()=>{Ze.current=!1,pr()},onScrubChange:Fr}),!Fn&&xe.length>0&&f("button",{type:"button","data-scroll-to-bottom":!0,"aria-label":"Scroll to latest message",title:"Scroll to latest message",onClick:()=>{Qt.current&&Qt.current.scrollTo({top:Qt.current.scrollHeight,behavior:"smooth"})},style:{alignItems:"center",background:"var(--popmelt-thread-surface)",border:"1px solid var(--popmelt-thread-border)",borderRadius:999,bottom:"calc(100% + 8px)",color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"flex",height:30,justifyContent:"center",left:"50%",padding:0,position:"absolute",transform:"translateX(-50%)",width:30,zIndex:2},children:f(Yg,{"aria-hidden":"true",size:16,strokeWidth:1.75})}),We.length>0&&f("div",{style:{position:"absolute",bottom:"100%",display:"flex",gap:4,padding:"6px 5px 5px",flexWrap:"wrap"},children:We.map((k,ie)=>$("span",{onClick:()=>Rt(be=>be.filter(($e,Ce)=>Ce!==ie)),onMouseEnter:be=>{let $e=be.currentTarget.querySelector("[data-chip-x]");$e&&($e.style.color="#fff")},onMouseLeave:be=>{let $e=be.currentTarget.querySelector("[data-chip-x]");$e&&($e.style.color="rgba(255,255,255,0.4)")},style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:10,color:"#fff",backgroundColor:Te,backdropFilter:"blur(4px)",borderRadius:8,padding:"2px 6px 2px 6px",cursor:"pointer"},children:["image ",ie+1,f("span",{"data-chip-x":!0,style:{fontSize:12,lineHeight:1,color:"rgba(255,255,255,0.4)"},children:"\xD7"})]},ie))}),$("div",{style:Kw,children:[$("div",{style:{position:"relative"},children:[re.includes("@")&&$("div",{"aria-hidden":"true","data-popmelt-mention-mirror":!0,ref:En,children:[Si(re),"\u200B"]}),f("textarea",{ref:Hr,onScroll:k=>{En.current&&(En.current.scrollTop=k.currentTarget.scrollTop)},"data-popmelt-reply":!0,autoFocus:!pn,rows:1,value:re,onChange:k=>{cn.current={selectionStart:k.target.selectionStart,selectionEnd:k.target.selectionEnd,selectionDirection:k.target.selectionDirection},Od(n,k.target.value,void 0,cn.current),Se(k.target.value),Ut(Je.current,k.target.value)},onSelect:k=>{cn.current={selectionStart:k.currentTarget.selectionStart,selectionEnd:k.currentTarget.selectionEnd,selectionDirection:k.currentTarget.selectionDirection},Od(n,k.currentTarget.value,void 0,cn.current)},onFocus:()=>{Je.current=!0,Ut(!0,re)},onBlur:()=>{Je.current=!1,Ut(!1,re)},onKeyDown:ho,onPaste:fo,placeholder:vt,style:{position:"relative",height:34,minHeight:34,backgroundColor:"transparent",color:"var(--popmelt-thread-primary)",outline:"none",overflowX:"hidden",overflowY:"auto",resize:"none"}})]}),$("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",padding:"10px 12px"},children:[f(nm,{provider:oe,open:St,onClick:()=>{Tn(),jt(),St?on():Nr()},onMouseEnter:()=>{tt.current=!0,St?jt():Ei()},onMouseLeave:()=>{tt.current=!1,pr()}}),f("button",{type:"button","data-popmelt-reply-action":!0,onClick:Un,disabled:!re.trim(),"aria-label":"Send reply",style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,background:"none",border:"none",cursor:re.trim()?"pointer":"default",color:"var(--popmelt-thread-primary)",opacity:re.trim()?1:.12,flexShrink:0},children:f("span",{style:{alignItems:"center",display:"flex",height:16,justifyContent:"center",width:16},children:f(Ru,{"aria-hidden":"true",fill:"currentColor",size:re.trim()?16:14,strokeWidth:1.5,style:{transform:"rotate(-45deg)",transition:"width 120ms ease, height 120ms ease"}})})})]})]})]})]})]})]}),co&&f(oS,{src:co,onClose:()=>ur(null)})]})}function Uo(e,t){let n=new Set(e.annotationIds);if(n.size===0&&e.threadId)for(let r of t)r.threadId===e.threadId&&n.add(r.id);return[...n]}function MS(e,t){switch(t.type){case"restore_thread":return e.openThreadId||e.imprintStashedThreadId||e.toolbarSuspendedThreadId?e:{openThreadId:t.toolbarExpanded&&!t.imprintActive?t.threadId:null,imprintStashedThreadId:t.imprintActive?t.threadId:null,toolbarSuspendedThreadId:!t.toolbarExpanded&&!t.imprintActive?t.threadId:null};case"enter_imprint":return t.preserveOpenThread||!e.openThreadId?e:{openThreadId:null,imprintStashedThreadId:e.openThreadId,toolbarSuspendedThreadId:null};case"leave_imprint":return e.openThreadId?e.imprintStashedThreadId?{...e,imprintStashedThreadId:null}:e:e.imprintStashedThreadId?{openThreadId:e.imprintStashedThreadId,imprintStashedThreadId:null,toolbarSuspendedThreadId:null}:e;case"open_thread":return{openThreadId:t.threadId,imprintStashedThreadId:null,toolbarSuspendedThreadId:null};case"collapse_toolbar":return e.openThreadId?{...e,openThreadId:null,toolbarSuspendedThreadId:e.openThreadId}:e;case"expand_toolbar":return e.toolbarSuspendedThreadId?{...e,openThreadId:e.toolbarSuspendedThreadId,toolbarSuspendedThreadId:null}:e;case"close_thread":return{openThreadId:null,imprintStashedThreadId:null,toolbarSuspendedThreadId:null}}}function RS(e,t,n){return e!==t&&t!==null&&n!==null}function LS(e){let t=e.toolbarSources.has("project-panel")&&e.chromeHoverSurface==="toolbar"&&e.chromeHoverPhase==="visible",n=e.chromeHoverSurface!=="job-stack"&&(e.toolbarSources.has("tool-menu")||e.toolbarSources.has("popmelt-guide")||e.toolbarSources.has("peer-details")||e.toolbarSources.has("guidance-panel")||t),r=e.toolbarSources.has("tool-menu")||e.toolbarSources.has("popmelt-guide")||e.toolbarSources.has("peer-details"),o=e.chromeHoverSurface==="toolbar"&&e.chromeHoverPhase==="visible",i=e.activeTool==="model";return{threadTemporarilyHidden:!e.toolbarExpanded||n||!!e.peerPlanePeeking,toolbarPaneVisible:n,projectPanelTemporarilyHidden:!!e.peerPlanePeeking||r||e.chromeHoverSurface==="job-stack",statusInteractionSuppressed:!!e.peerPlanePeeking||r||o||i}}function $S(e,t,n=[]){let r=new Set,o=[];for(let i of e){let a=i.threadId;!a||t.has(a)||r.has(a)||(r.add(a),o.push(a))}for(let i of n){let a=i.threadId;t.has(a)||r.has(a)||(r.add(a),o.push(a))}return o}function jS(e,t,n){if(e.length<2)return;let r=e.indexOf(t);if(!(r<0))return e[(r+n+e.length)%e.length]}function Bf(e,t){return t?e.ownerParticipantId?e.ownerParticipantId===t.participantId:t.isHost===!0:!0}function PS(e,t,n,r){let o=J(e),i=J(void 0);F(()=>{o.current!==e&&(o.current=e,n()),t&&(t.id!==i.current?.id||t.request!==i.current?.request)&&(i.current=t,r(t.id)),t||(i.current=void 0)},[e,t,n,r])}var zS=[],Yl="devtools-provider",Xl="devtools-model",Xd="devtools-model-id",Uf="devtools-agent-settings",Vd="devtools-open-thread-id",Vl="popmelt-dismissed-thread-ids",Gd="#000000",DS=20,HS=[],OS=[];function Qd(e){let t=e.dispose?.();t&&Promise.resolve(t).catch(()=>{})}function NS(e){let t=J(new Map),[n,r]=P([]);return F(()=>{let o=t.current,i=new Map,a=[];for(let l of e){if(i.has(l.id))continue;let d=o.get(l.id);if(d?.configurationKey===l.configurationKey){i.set(l.id,d),a.push(l);continue}d&&Qd(d.runtime),i.set(l.id,{configurationKey:l.configurationKey,runtime:l.activate()}),a.push(l)}for(let[l,d]of o)i.has(l)||Qd(d.runtime);t.current=i;let s=a.map(l=>i.get(l.id)?.runtime).filter(l=>!!l);r(l=>l.length===s.length&&l.every((d,c)=>d===s[c])?l:s)},[e]),F(()=>()=>{for(let o of t.current.values())Qd(o.runtime);t.current.clear()},[]),n}function FS(e,t=96){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,t-1)}...`:n}function _S(e){let t=e.annotations.map(a=>a.instruction?.trim()?a.instruction.trim():a.imageCount?`${a.imageCount} image${a.imageCount===1?"":"s"}`:`${a.type} annotation`),n=e.styleModifications.flatMap(a=>a.changes.map(s=>`${a.element?.reactComponent||a.element?.tagName||a.selector}: ${s.property} ${s.original||"unset"} -> ${s.modified||"unset"}${s.token?` [${s.token}]`:""}`)),r=(e.textModifications??[]).map(a=>`${a.element?.reactComponent||a.element?.tagName||a.selector}: text ${a.original||"empty"} -> ${a.modified||"empty"}`),o=(e.spacingTokenChanges??[]).map(a=>`${a.tokenName}: ${a.originalPx}px -> ${a.newPx}px`),i=[...n,...r,...o,...t].map(a=>FS(a)).filter(Boolean);return i.length===0?"Annotation":i.length<=3?i.join("; "):`${i.slice(0,3).join("; ")}; +${i.length-3} more`}function Gl(e){if(typeof window>"u"||!e)return new Set;try{let t=JSON.parse(localStorage.getItem(Ji(Vl,e))||"[]");return new Set(Array.isArray(t)?t.filter(n=>typeof n=="string"):[])}catch{return new Set}}function qf(e,t){if(!(typeof window>"u"||!t))try{let n=Gl(t);for(let r of e)n.add(r);localStorage.setItem(Ji(Vl,t),JSON.stringify(Array.from(n).slice(-200)))}catch{}}function WS(e){let t=In(e);return t.bottom<0||t.top>window.innerHeight||t.right<0||t.left>window.innerWidth}function JS(e){for(let t of e){let n=gn(t);if(n){WS(n)&&n.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"});return}}}async function Zd(e,t){t?await t(e):(window.history.pushState(window.history.state,"",e),window.dispatchEvent(new PopStateEvent("popstate",{state:window.history.state}))),await new Promise(n=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{setTimeout(n,600)}))})}function BS(e,t,n,r,o){if(t==="copilot"||t==="omp"||e==="copilot"||e==="omp")return 0;let i=Cc(e,r),a=Cc(t,o);if(a.length===0)return 0;let s=i.findIndex(d=>d.index===n),l=s>=0?s:a.length-1;return a[Math.min(l,a.length-1)].index}function US({children:e,enabled:t=process.env.NODE_ENV==="development",multiplayer:n=!1,...r}){let o=Pr(il),[i,a]=P([]),s=U(p=>(a(u=>u.includes(p)?u:[...u,p]),()=>a(u=>u.filter(h=>h!==p))),[]),l=Ee(()=>({isEnabled:t,registerSubjectAdapter:s}),[t,s]),d=Ee(()=>[...r.subjectAdapters??[],...i],[r.subjectAdapters,i]),c=f(qS,{...r,multiplayer:n,enabled:!0,registeredSubjectAdapters:i});return $(Lg.Provider,{value:l,children:[e,t&&(o?n?c:null:f(My,{multiplayer:n,projectId:r.projectId,adapters:d,children:c}))]})}function qS({enabled:e=!0,multiplayer:t=!1,registeredSubjectAdapters:n,bridgeUrl:r=typeof window<"u"?window.__POPMELT_BRIDGE_URL__??"http://localhost:1111":"http://localhost:1111",projectId:o,navigate:i,subjectAdapters:a=HS,extensions:s=OS,imageAnnotation:l=!0,videoAnnotation:d=!0,getCommentMeta:c}){let p=typeof window<"u"?o??window.__POPMELT_PROJECT_ID__??null:null,[u,h]=P(p),[m,g]=P(!!p),x=u,S=J(null),L=J(!1),[H,w,D]=Mm(S,L),_=Pr(gc),E=Pr(il),[V,O]=P(()=>new Set),[Y,q]=P(0),oe=J(0);F(()=>{if(!Y)return;let b=window.setTimeout(()=>q(0),220);return()=>window.clearTimeout(b)},[Y]);let I=Ee(()=>E?.participantId?lh(yc(H,E.pendingSubmissions??[],E.participantId,V),E.annotationColor):H,[H,E?.pendingSubmissions,E?.participantId,E?.annotationColor,V]);F(()=>{if(!V.size)return;let b=yc(H,E?.pendingSubmissions??[],E?.participantId??""),T=new Set([...V].filter(W=>{let X=b.annotations.find(se=>se.id===W);return X&&["pending","sending"].includes(X.status??"pending")}));T.size!==V.size&&O(T)},[H,E?.pendingSubmissions,E?.participantId,V]);let G=!E||E.canReadThreads,N=!E||E.canReply,z=!E||E.canManageThreads,M=NS(s),j=Ee(()=>{for(let b=M.length-1;b>=0;b-=1){let T=M[b]?.imageRecognition;if(T)return T}},[M]),R=Ee(()=>M.flatMap(b=>b.subjectAdapters??[]),[M]),A=Ee(()=>{for(let b=M.length-1;b>=0;b-=1){let T=M[b]?.videoTracking;if(T)return T}},[M]),Q=Ee(()=>{for(let b=M.length-1;b>=0;b-=1){let T=M[b]?.videoSegmentation;if(T)return T}},[M]),ne=Ee(()=>!j||l===!1?l:{...typeof l=="object"?l:{},recognition:j},[j,l]),ee=Ee(()=>[...R,...a,...n],[R,n,a]),de=Ly({enabled:e,active:I.isAnnotating||I.annotations.some(b=>b.target?.adapter==="see:image"),configuration:ne,adapters:ee}),B=Ee(()=>!A&&!Q||d===!1?d:{...typeof d=="object"?d:{},...A?{tracking:A}:{},...Q?{segmentation:Q}:{}},[Q,A,d]),he=$y({enabled:e,configuration:B,adapters:de}),ge=(!e||ne===!1||ee.some(b=>b.surfaceKind==="image"||b.id==="see:image")||de.some(b=>b.surfaceKind==="image"||b.id==="see:image"))&&(!e||B===!1||de.some(b=>b.surfaceKind==="video"||b.id==="see:video")||he.some(b=>b.surfaceKind==="video"||b.id==="see:video")),te=Ee(()=>new eg(he),[he]),[ve,Oe]=P(!1),xe=J(te);xe.current=te,F(()=>{let b=!1;return Oe(!1),ge?(te.whenReady().then(()=>{b||Oe(!0)}),()=>{b=!0}):()=>{}},[ge,te]),F(()=>()=>te.destroy(),[te]);let Xe=E?.bindSubjects;F(()=>Xe?.(te),[Xe,te]);let K=iy(r,e&&!!x,x),Ke=K.dismissQuestion,me=K.clearEvents;F(()=>{p&&(typeof window<"u"&&(window.__POPMELT_PROJECT_ID__=p,yu()),h(p),g(!0))},[p]);let Ne=J(null),Ve=J(null),[Te,je]=P(null),ce=ty()??r,{onCanvasFocusChange:at,onCanvasActivity:ot,inspectingElement:Qe,inspectingElements:we}=sy(e&&K.isConnected&&I.isAnnotating,ce,{getCommentMeta:c,registry:te,state:I,screenshotOptions:{nativeCapture:b=>vu(ce,b),captureSurfaces:()=>te.captureSurfaces()}}),He=U(b=>vu(ce,b),[ce]),zt=U(async()=>{let b=Math.min(1,1200/Math.max(1,window.innerWidth));return oh(()=>He({url:window.location.href,clip:{x:window.scrollX,y:window.scrollY,width:window.innerWidth,height:window.innerHeight},scale:b}),async()=>{let[T]=await Wi(document.body,Ne.current,[],{dpr:b,viewportOnly:!0,captureSurfaces:()=>te.captureSurfaces()});return T??null})},[He,te]),Et=J(new Map),Jt=J(new Set),At=J(!1);F(()=>{if(!ce)return;let b=new Set(I.annotations.flatMap(se=>se.attachments?.map(ae=>ae.id)??[])),T=Jt.current,W=[...b].filter(se=>!T.has(se)),X=[...T].filter(se=>!b.has(se));Jt.current=b,W.length>0&&bu(ce,W).catch(()=>{}),X.length>0&&Promise.all(X.map(se=>_s(ce,se).catch(()=>{})))},[ce,I.annotations]);let wt=J(new Map),Be=J(new Map),[,gt]=P(0),[Nn,dn]=P(null),Yt=J(!1),ze=ys(),rn=U((b,T,W,X,se)=>{let ae=[],fe=ue=>{let Ae=URL.createObjectURL(ue);return ae.push(Ae),Ae},pe,Me;X instanceof Map?(Me=Object.fromEntries(Array.from(X,([ue,Ae])=>[ue,fe(Ae)])),pe=Object.values(Me)[0]):pe=fe(X);let Le=se&&se.size>0?Object.fromEntries(Array.from(se,([ue,Ae])=>[ue,Ae.map(fe)])):void 0;for(Be.current.get(b)?.objectUrls.forEach(ue=>URL.revokeObjectURL(ue)),Be.current.delete(b),Be.current.set(b,{objectUrls:ae,message:{role:"human",timestamp:Date.now(),jobId:T,feedbackSummary:_S(W),requestText:Fy(W),requestItems:Ny(W),...W.meta?{meta:W.meta}:{},...pe?{screenshotUrl:pe}:{},...Me?{screenshotUrls:Me}:{},...Le?{imageUrls:Le}:{}}});Be.current.size>DS;){let ue=Be.current.keys().next().value;if(!ue)break;Be.current.get(ue)?.objectUrls.forEach(Ae=>URL.revokeObjectURL(Ae)),Be.current.delete(ue)}gt(ue=>ue+1)},[]);F(()=>()=>{for(let b of Be.current.values())b.objectUrls.forEach(T=>URL.revokeObjectURL(T));Be.current.clear()},[]);let y=E?.modelSelectionLocked??!1,re=E?.inheritedModelSelection,[Se,We]=P(()=>typeof window>"u"?"codex":localStorage.getItem(Yl)||"codex"),[Rt,St]=P(()=>{if(typeof window>"u")return 0;let b=localStorage.getItem(Xl);return b&&parseInt(b,10)||0}),Re=y?re?.provider??"codex":Se,[Ge,Gt]=P(()=>{if(typeof window>"u")return{};try{return JSON.parse(localStorage.getItem(Uf)||"{}")}catch{return{}}}),[ye,Fe]=P([]),[Ye,ht]=P({}),[tt,Ze]=P(0),[Lt,Je]=P(!1),cn=Ee(()=>sh(Ye.codex??[]),[Ye.codex]),{index:Fn,select:_n}=Ou(cn,Lt,!y&&Re==="codex","codex"),[co,ur]=P({}),[$t,Qt]=P(null),[vn,bn]=P(null),[Bt,Wn]=P(null),[Ut,En]=P("idle"),[Hr,xn]=P(null),Zn=J(null),Or=U(b=>{let T=Object.entries(b.providers).filter(([,ae])=>ae.available).map(([ae])=>ae);T.length>0&&Fe(T);let W={},X={};for(let[ae,fe]of Object.entries(b.providers))fe.models?.length&&(W[ae]=fe.models),fe.mcp&&(X[ae]=fe.mcp);let se=Zn.current;if(se&&se.provider!=="codex"){let ae=W[se.provider]?.findIndex(fe=>fe.id===se.id);ae!==void 0&&ae>=0&&St(ae)}ht(W),ur(X),Je(!0)},[]),$n=U(async b=>{if(!K.isConnected)return;let T=await yg(ce,b);T&&Or(T)},[Or,K.isConnected,ce]);F(()=>{$n(Re)},[Re,K.capabilitiesVersion,tt,$n]),F(()=>{if(!K.isConnected){Qt(null),bn(null),Wn(null);return}let b=!1;return Aa(ce).then(T=>{b||(Qt(T?.version??null),bn(T?.projectRoot??null),Wn(T?.execution??null))}),()=>{b=!0}},[K.isConnected,K.capabilitiesVersion,tt,ce]),F(()=>{if(Ut==="idle"||Ut==="restarting")return;let b=window.setTimeout(()=>{En("idle"),xn(null)},Ut==="ok"?4e3:8e3);return()=>window.clearTimeout(b)},[Ut]),F(()=>{if(!y&&ye.length>0&&!ye.includes(Re)){let b=ye[0];We(b),localStorage.setItem(Yl,b)}},[ye,Re,y]);let Zt=Ee(()=>y?[{id:re?.model??"",label:re?.label??"Waiting for host",source:"static"}]:Re==="codex"?cn:Re==="claude"?dh(Ye.claude??vs):Ye[Re]?.length?Ye[Re]:Re==="copilot"?[...vc]:Re==="omp"?[...bc]:[...vs],[y,re?.model,re?.label,Ye,cn,Re]),{index:ki,select:Tn}=Ou(Zt,Lt,!y&&Re==="claude","claude",Hh),jt=y?0:Re==="codex"?Fn:Re==="claude"?ki:Rt,Dt=Zt[jt]??Zt[0],Nr=E?.setHostModelSelection;F(()=>{if(!Nr||!Lt||!K.isConnected||!ye.includes(Re))return;let b=!1,T,W=()=>{b||Nr({provider:Re,model:Dt.id,label:Dt.label}).catch(()=>{b||(T=setTimeout(W,2e3))})};return T=setTimeout(W,0),()=>{b=!0,clearTimeout(T)}},[Nr,Lt,K.isConnected,ye,Re,Dt.id,Dt.label]),Zn.current={provider:Re,id:Dt.id};let er=`${Re}:${Dt.id||"default"}`,on=Ee(()=>Ge[er]??{},[Ge,er]);F(()=>{if(!e||x||m)return;let b=!1;return fetch("/popmelt/status").then(T=>T.ok?T.json():null).then(T=>{if(b)return;let W=typeof window<"u"&&T?.devOrigin===window.location.origin,X=T?.projectId&&(W||T.projectIdVerified===!0)?T.projectId:null;X&&typeof window<"u"&&(window.__POPMELT_PROJECT_ID__=X,yu()),h(X),g(!0)}).catch(()=>{b||g(!0)}),()=>{b=!0}},[e,x,m]),F(()=>{if(y||Re==="codex"||Re==="claude")return;let b=localStorage.getItem(`${Xd}:${Re}`),T=b!==null?Zt.findIndex(X=>X.id===b):Re==="omp"?Zt.findIndex(X=>X.isDefault):-1,W=T>=0?T:jt<Zt.length?-1:0;W<0||W===jt||(St(W),localStorage.setItem(Xl,String(W)))},[jt,Zt,Re,y]);let Ei=U(b=>{if(y)return;if(b==="codex"||b==="claude"){We(b),localStorage.setItem(Yl,b);return}let T=Re,W=b==="copilot"?[...vc]:b==="omp"?[...bc]:[...vs],X=Ye[b]&&Ye[b].length>0?Ye[b]:W;We(b),localStorage.setItem(Yl,b);let se=BS(T,b,jt,Zt,X);St(se),localStorage.setItem(Xl,String(se));let ae=X[se];ae&&localStorage.setItem(`${Xd}:${b}`,ae.id)},[jt,Zt,Re,Ye,y]),pr=U(b=>{if(y)return;St(b),localStorage.setItem(Xl,String(b));let T=Zt[b];T&&(Re==="codex"&&_n(T.id),Re==="claude"&&Tn(T.id),localStorage.setItem(`${Xd}:${Re}`,T.id))},[Zt,Re,y,_n,Tn]),Fr=U(b=>{Gt(T=>{let W={...T,[er]:b};return localStorage.setItem(Uf,JSON.stringify(W)),W})},[er]),[Ht,qt]=P(()=>ch()),[Jn,uo]=P(null),fr=Ee(()=>Jn?new Set(Jn.annotationIds):null,[Jn]),po=U(()=>uo(null),[]),Tt=U(b=>{qt(b),uh(b)},[]),It=U(b=>Zd(b,i),[i]),[Ti,hn]=P(()=>({openThreadId:null,imprintStashedThreadId:null,toolbarSuspendedThreadId:null})),{openThreadId:Pe,imprintStashedThreadId:Bn,toolbarSuspendedThreadId:wn}=Ti,Nt=J(0),hr=J({toolbarExpanded:I.isAnnotating,imprintActive:I.activeTool==="model"});hr.current={toolbarExpanded:I.isAnnotating,imprintActive:I.activeTool==="model"};let[Ft,sa]=P(0),an=U(b=>{(b.type==="open_thread"||b.type==="close_thread")&&(Nt.current+=1),hn(T=>MS(T,b))},[]),[mr,_r]=P(null),Cn=J(null),[en,yt]=P(new Set),[un,gr]=P(null),[yr,vr]=P(null),[Un,fo]=P(new Set),[ho,Wr]=P(new Set),[Jr,Br]=P(new Set),[pn,tr]=P({}),da=Ee(()=>new Set(Object.keys(pn)),[pn]),[qo,br]=P(null);F(()=>{gr(null),x&&(yt(Gl(x)),gr(x),localStorage.removeItem(Vl))},[x]),F(()=>{if(E||!x||!K.isConnected)return;let b=!1;_r(null);let T=Nt.current,W=Ji(Vd,x),X=localStorage.getItem(W);if(localStorage.removeItem(Vd),!X){_r(x);return}return Vt(`${ce}/thread/${encodeURIComponent(X)}`).then(se=>{b||T!==Nt.current||(se.ok?an({type:"restore_thread",threadId:X,...hr.current}):localStorage.removeItem(W))}).catch(()=>{}).finally(()=>{b||_r(x)}),()=>{b=!0}},[an,K.isConnected,x,ce,E]),F(()=>{if(E||!x||mr!==x)return;let b=Ji(Vd,x),T=Pe??Bn??wn;T?localStorage.setItem(b,T):localStorage.removeItem(b)},[x,Bn,Pe,mr,wn,E]);let vt=E?`popmelt-in-flight-jobs:${x}:participant:${E.participantId}`:"popmelt-in-flight-jobs",[k,ie]=P(()=>{try{let b=localStorage.getItem(vt);return b?JSON.parse(b):{}}catch{return{}}}),[be,$e]=P(new Map);F(()=>{try{Object.keys(k).length>0?localStorage.setItem(vt,JSON.stringify(k)):localStorage.removeItem(vt)}catch{}},[k,vt]),F(()=>{let b=T=>{if(T.key===vt)try{let W=T.newValue?JSON.parse(T.newValue):{};ie(W)}catch{}};return window.addEventListener("storage",b),()=>window.removeEventListener("storage",b)},[vt]);let Ce=J(new Map),De=J(new Map),et=J(new Map),st=U((b,T,W)=>{let X=De.current.get(b)??[],se=et.current.get(b);$e(ae=>ph(ae,b,T,W,X,se))},[]);F(()=>{for(let[b,T]of Object.entries(k)){let W=Uo(T,I.annotations);W.length>0&&Ce.current.set(b,W);let X=new Set(T.styleSelectors);for(let se of W){let ae=I.annotations.find(fe=>fe.id===se);if(ae&&(ae.linkedSelector&&X.add(ae.linkedSelector),ae.groupId))for(let fe of I.annotations)fe.groupId===ae.groupId&&fe.linkedSelector&&X.add(fe.linkedSelector)}X.size>0&&De.current.set(b,Array.from(X)),T.threadId&&et.current.set(b,T.threadId)}},[k,I.annotations]);let Ue=J("");F(()=>{if(I.annotations.length===0)return;let b=Object.keys(k).sort().join(",");if(b===Ue.current)return;Ue.current=b;let T=new Set;for(let X of Object.values(k))for(let se of Uo(X,I.annotations))T.add(se);let W=I.annotations.flatMap(X=>{if(T.has(X.id)||X.threadId)return[];let se=X.status??"pending";return se==="in_flight"?[X.id]:se==="pending"&&X.captured?[X.id]:[]});W.length>0&&w({type:"SET_ANNOTATION_STATUS",payload:{ids:W,status:"dismissed"}})},[I.annotations,k,w]);let nt=Ee(()=>{let b=new Set;for(let T of Object.values(k))for(let W of Uo(T,I.annotations))b.add(W);return b},[k,I.annotations]),tn=Ee(()=>Nu(K.events),[K.events]),mo=Ee(()=>{let b=new Map,T={focus_set:"Investigating",focus_shifted:"Refocusing",evidence_updated:"Checking",hypothesis_changed:"Reframing",assumption_abandoned:"Reconsidering",uncertainty_identified:"Clarifying",next_observation_selected:"Checking"};for(let W of K.events){if(W.type!=="orientation")continue;let X=String(W.data.jobId??""),se=W.data.orientation,ae=se?.transition?T[se.transition]:void 0;if(!X||!ae)continue;let fe=k[X],pe=fe?Uo(fe,I.annotations):Ce.current.get(X)??[];for(let Me of pe)b.set(Me,ae)}for(let W of tn)if(k[W])for(let X of Uo(k[W],I.annotations))b.set(X,"Approval needed");return b},[K.events,k,I.annotations,tn]),Ko=Ee(()=>{let b=new Set(K.activeJobIds),T=new Set;for(let[W,X]of Object.entries(k))if(b.has(W))for(let se of Uo(X,I.annotations))T.add(se);return T},[k,K.activeJobIds,I.annotations]),An=Ee(()=>fh(K.events,K.lastCompletedJobId),[K.events,K.lastCompletedJobId]),Ql=Ee(()=>{let b=new Set(xc(Object.keys(k),K.activeJobIds,An)),T=Object.entries(k).filter(([se])=>b.has(se)),W=T.length,X=new Map;return T.forEach(([,se],ae)=>{let fe=`(${ae+1}/${W})`;for(let pe of Uo(se,I.annotations))X.set(pe,fe)}),X},[k,K.activeJobIds,An,I.annotations]),qa=Ee(()=>{let b=new Set(K.activeJobIds),T=new Set(K.activeJobIds.flatMap(X=>{let se=K.activeJobThreads[X]??k[X]?.threadId;return se?[se]:[]})),W=hh(be,T);for(let[X,se]of Object.entries(k))if(b.has(X)&&!(!se.global&&se.routePathnames?.length&&!se.routePathnames.includes(ze)))for(let ae of se.styleSelectors)W.add(ae);return W},[k,K.activeJobIds,K.activeJobThreads,be,ze]),Ci=Ee(()=>{let b=new Map;for(let[T,W]of Object.entries(k))if(W.threadId&&!(!W.global&&W.routePathnames?.length&&!W.routePathnames.includes(ze)))for(let X of W.styleSelectors)b.set(X,T);return b},[k,ze]),ca=Ee(()=>{let b=new Set(K.activeJobIds),T=new Map;for(let[W,X]of Object.entries(k))if(b.has(W)&&!(!X.global&&X.routePathnames?.length&&!X.routePathnames.includes(ze))){for(let se of X.styleSelectors)T.set(se,X.color);for(let se of Uo(X,I.annotations)){let ae=I.annotations.find(fe=>fe.id===se);if(ae&&(ae.linkedSelector&&T.set(ae.linkedSelector,X.color),ae.groupId))for(let fe of I.annotations)fe.groupId===ae.groupId&&fe.linkedSelector&&T.set(fe.linkedSelector,X.color)}}return T},[k,K.activeJobIds,I.annotations,ze]),Ai=J(I.annotations);Ai.current=I.annotations;let go=J(I.styleModifications);go.current=I.styleModifications;let Yo=J(k);Yo.current=k,F(()=>{let b=null,T=0,W=()=>{let ae=window.location.pathname;mu(go.current.filter(fe=>!fe.pathname||fe.pathname===ae))},X=()=>{if(Object.keys(Yo.current).length>0)return;let ae=Ai.current,fe=go.current,pe=[],Me=[];for(let Le of ae){if(!Le.linkedSelector||!Le.linkedSelector.startsWith("[data-pm=")||Le.pathname||Le.captured||Le.status&&Le.status!=="pending")continue;let ue=gn(Le.linkedSelector);!ue&&Le.elements?.[0]?.selector&&(ue=gn(Le.elements[0].selector)),ue||pe.push(Le.linkedSelector)}for(let Le of fe)Le.pathname&&Le.pathname!==window.location.pathname||rg(Le)||Me.push(Le.selector);(pe.length>0||Me.length>0)&&w({type:"CLEANUP_ORPHANED",payload:{linkedSelectors:pe,styleSelectors:Me}})},se=Fu(ae=>{ae.some(fe=>fe.addedNodes.length>0)&&(window.cancelAnimationFrame(T),T=window.requestAnimationFrame(W)),ae.some(fe=>fe.removedNodes.length>0)&&(b&&clearTimeout(b),b=setTimeout(X,3e3))});return()=>{se.disconnect(),window.cancelAnimationFrame(T),b&&clearTimeout(b)}},[w]);let yo=J(typeof window<"u"?window.location.pathname:"/");F(()=>{let b=X=>{if(Yt.current)return;let se=window.location.pathname;if(X===se)return;let ae=Ai.current.filter(pe=>pe.pathname===X&&(pe.status??"pending")==="pending");if(console.log(`[Popmelt] Navigation from ${X} \u2192 ${se}, ${ae.length} pending annotations on departing page`),ae.length===0)return;let fe=Ne.current;if(!fe){console.warn("[Popmelt] No canvas ref for capture-on-leave");return}if(Wi(document.body,fe,ae,{dpr:1,captureSurfaces:()=>xe.current.captureSurfaces()}).then(pe=>ms(pe)).then(pe=>{pe?(wt.current.set(X,pe),console.log(`[Popmelt] Cached screenshot for ${X} (${(pe.size/1024).toFixed(0)}KB)`)):console.warn(`[Popmelt] Capture-on-leave produced no blob for ${X}`)}).catch(pe=>{console.warn("[Popmelt] Capture-on-leave failed:",pe)}),wt.current.size>20){let pe=[...wt.current.entries()];wt.current=new Map(pe.slice(-10))}},T=X=>{let se=X.detail?.prevPath;se&&(b(se),yo.current=window.location.pathname)},W=()=>{let X=yo.current;b(X),yo.current=window.location.pathname};return window.addEventListener("popmelt:locationchange",T),window.addEventListener("popstate",W),()=>{window.removeEventListener("popmelt:locationchange",T),window.removeEventListener("popstate",W)}},[]),F(()=>{K.lastCompletedJobId&&K.lastCompletedJobId in k&&ie(b=>{let{[K.lastCompletedJobId]:T,...W}=b;return W})},[K.lastCompletedJobId,k]);let jn=J(new Set),vo=J(!1);F(()=>{if(!K.isConnected){vo.current=!1;return}if(vo.current)return;vo.current=!0;let b={...Yo.current};Aa(ce).then(async T=>{if(!T)return;let W=T.activeJobs??[],X=T.recentJobs??[],se=[...W,...T.queuedJobs??[]],ae=new Set(se.map(pe=>pe.id)),fe=new Set;for(let pe of Object.values(b))if(pe.annotationIds)for(let Me of pe.annotationIds)fe.add(Me);for(let pe of I.annotations){let Me=pe.status??"pending";(Me==="sending"||Me==="in_flight"||pe.captured&&pe.threadId&&(pe.replyCount??0)===0)&&fe.add(pe.id)}ie(pe=>{let Me={...pe},Le=Date.now();for(let Ae of Object.keys(Me)){if(Ae.startsWith("_pending_")){let ut=parseInt(Ae.replace(/^_pending_(?:reply_)?/,""),10);!isNaN(ut)&&Le-ut>3e4&&delete Me[Ae];continue}Ae in b&&!ae.has(Ae)&&(T.queuedJobs!==void 0||X.some(ut=>ut.id===Ae))&&delete Me[Ae]}for(let Ae of se)if(!Me[Ae.id]&&(Ae.annotationIds?.length||Ae.threadId)){let ut=Ae.kind,Ot=Array.from(new Set((Ae.annotationIds??[]).map(Vr=>I.annotations.find(Ar=>Ar.id===Vr)?.pathname||ze).filter(Boolean)));Me[Ae.id]={annotationIds:Ae.annotationIds??[],styleSelectors:[],color:ut==="project_model"&&Ae.standalone===!0?Gd:Ae.color??"#888",threadId:Ae.threadId,kind:ut,routePathnames:Ot.length>0?Ot:void 0,global:ut==="synthesize"||ut==="project_model"&&Ae.standalone===!0}}let ue=new Set;for(let Ae of X)if(Ae.annotationIds)for(let ut of Ae.annotationIds)ue.add(ut);for(let Ae of Object.keys(Me)){if(!Ae.startsWith("_pending_"))continue;let ut=Me[Ae];ut&&ut.annotationIds.some(Ot=>ue.has(Ot))&&delete Me[Ae]}return Me});for(let pe of X)if(pe.annotationIds?.length&&pe.annotationIds.some(Me=>fe.has(Me))&&!jn.current.has(pe.id)){if(pe.status==="error"){jn.current.add(pe.id),w({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:pe.annotationIds,threadId:pe.threadId}});continue}if(pe.status==="done")try{let Me=await xu(ce,pe.id),Le=Me?.events.find(Ae=>Ae.type==="done"),ue=Me?.events.find(Ae=>Ae.type==="question");jn.current.add(pe.id),ue&&typeof ue.question=="string"?w({type:"SET_ANNOTATION_QUESTION",payload:{ids:pe.annotationIds,question:ue.question,threadId:ue.threadId??pe.threadId??""}}):Le&&Array.isArray(Le.resolutions)&&Le.resolutions.length>0?w({type:"APPLY_RESOLUTIONS",payload:{resolutions:Le.resolutions,threadId:Le.threadId??void 0,jobId:pe.id}}):w({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:pe.annotationIds,threadId:Le?.threadId??pe.threadId,jobId:pe.id}})}catch{jn.current.add(pe.id);let Me=K.pendingQuestions.find(Le=>Le.jobId===pe.id);w(Me?{type:"SET_ANNOTATION_QUESTION",payload:{ids:pe.annotationIds,question:Me.question,threadId:Me.threadId}}:{type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:pe.annotationIds,threadId:pe.threadId,jobId:pe.id}})}}})},[K.isConnected,K.pendingQuestions,ce,w,I.annotations,ze]),F(()=>{let b=K.events.filter(T=>T.type==="done");for(let T of b){let W=T.data.jobId;if(jn.current.has(W))continue;if($d(K.events,W)==="Has a question"){st(W,"waiting_input","Question");let se=K.pendingQuestions.find(Le=>Le.jobId===W),ae=[...K.events].reverse().find(Le=>Le.type==="question"&&Le.data.jobId===W),fe=Array.isArray(T.data.annotationIds)?T.data.annotationIds:Array.isArray(ae?.data.annotationIds)?ae.data.annotationIds:k[W]?.annotationIds??Ce.current.get(W)??[],pe=se?.question??(typeof ae?.data.question=="string"?ae.data.question:void 0),Me=se?.threadId??(typeof ae?.data.threadId=="string"?ae.data.threadId:void 0)??(typeof T.data.threadId=="string"?T.data.threadId:void 0);pe&&Me&&fe.length>0&&(jn.current.add(W),w({type:"SET_ANNOTATION_QUESTION",payload:{ids:fe,question:pe,threadId:Me}}));continue}jn.current.add(W),st(W,"resolved",$d(K.events,W));let X=De.current.get(W)??k[W]?.styleSelectors??[];if(X.length>0&&w({type:"SETTLE_CAPTURED_STYLES",payload:{selectors:X}}),Array.isArray(T.data.resolutions)&&T.data.resolutions.length>0)w({type:"APPLY_RESOLUTIONS",payload:{resolutions:T.data.resolutions,threadId:T.data.threadId,jobId:W}});else{let se=Array.isArray(T.data.annotationIds)?T.data.annotationIds:k[W]?.annotationIds??Ce.current.get(W)??[];se.length>0&&w({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:se,threadId:T.data.threadId,jobId:W}})}}},[K.events,K.pendingQuestions,w,k,st]),F(()=>{let b=K.events.filter(T=>T.type==="error");for(let T of b){let W=T.data.jobId;if(jn.current.has(W))continue;jn.current.add(W),st(W,"failed","Failed");let X=Array.isArray(T.data.annotationIds)?T.data.annotationIds:k[W]?.annotationIds??Ce.current.get(W)??[];X.length!==0&&w({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:X,threadId:T.data.threadId}})}},[K.events,w,k,st]);let xr=J("__uninitialized__"),Xo=E?.participantId,bo=E?.isHost,Ur=`${x??"pending"}:participant:${Xo??"standalone"}`,[Vo,ua]=P(null);F(()=>{if(!K.isConnected){xr.current="__uninitialized__";return}if(!ve||un!==x)return;let b=new Set(I.annotations.flatMap(fe=>fe.threadId?[fe.threadId]:[])),T=new Set([...Object.values(K.activeJobThreads),...Object.entries(k).filter(([fe])=>K.activeJobIds.includes(fe)).flatMap(([,fe])=>fe.threadId?[fe.threadId]:[])]),W=I.annotations.filter(fe=>{if(!fe.threadId||(fe.replyCount??0)>0||T.has(fe.threadId))return!1;let pe=fe.status??"pending";return pe!=="sending"&&pe!=="waiting_input"&&pe!=="needs_review"}),X=[`plane:${Ur}:${bo===!0}`,...W.map(fe=>`${fe.id}:${fe.threadId}`),...Array.from(b).map(fe=>`represented:${fe}`),...Array.from(T).map(fe=>`active:${fe}`)].sort().join("|");if(X===xr.current)return;xr.current=X;let se=!1,ae=!1;return Vt(`${ce}/threads/recent?limit=200`).then(fe=>fe.ok?fe.json():[]).then(async fe=>{if(se)return;let pe=Xo?{participantId:Xo,isHost:bo}:null,Me=fe.filter(Ie=>Bf(Ie,pe));ua({scope:Ur,threadIds:new Set(Me.map(Ie=>Ie.id))});let Le=new Set(fe.filter(Ie=>!Bf(Ie,pe)).map(Ie=>Ie.id)),ue=mh(Me,ze,Ie=>{let bt=te.resolve(Ie);return bt?[bt.selector]:null}),Ae=new Set([...K.activeJobIds,...Object.keys(k)]);fo(gh(Me,T)),Wr(yh(Me)),Br(vh(Me));let ut=Object.fromEntries(Me.flatMap(Ie=>Ie.pendingQuestion?[[Ie.id,Ie.pendingQuestion]]:[]));tr(ut);let Ot=new Set(Object.keys(ut)),Vr=new Set(Me.filter(Ie=>!Ie.pendingQuestion&&(Ie.hasReply??(Ie.messageCount>1&&!Ie.hasError))).map(Ie=>Ie.id)),Ar=new Set(Me.filter(Ie=>Ie.hasError&&!Ie.hasReply).map(Ie=>Ie.id));for(let Ie of I.annotations){let bt=Me.find(Pn=>Pn.id===Ie.threadId)?.color;bt&&bt!==Ie.color&&w({type:"UPDATE_ANNOTATION_COLOR",payload:{id:Ie.id,color:bt}})}for(let Ie of I.annotations){if(!Ie.threadId)continue;let bt=ut[Ie.threadId];bt&&(Ie.status==="waiting_input"&&Ie.question===bt||w({type:"SET_ANNOTATION_QUESTION",payload:{ids:[Ie.id],question:bt,threadId:Ie.threadId}}))}for(let Ie of I.annotations)!Ie.threadId||!Ar.has(Ie.threadId)||Ie.status!=="failed"&&w({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:[Ie.id],threadId:Ie.threadId}});for(let Ie of W)!Ie.threadId||Ot.has(Ie.threadId)||!Vr.has(Ie.threadId)||w({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:[Ie.id],threadId:Ie.threadId,jobId:`thread-recovery:${Ie.threadId}`}});let wa=Date.now()-7200*1e3,oi=Gl(x),Mr=Me.filter(Ie=>(Ie.hasReply??(Ie.messageCount>1&&!Ie.hasError))&&Ie.updatedAt>=wa&&!b.has(Ie.id)&&!oi.has(Ie.id)),Mo=await Promise.all(Mr.map(async Ie=>{let bt=await Vt(`${ce}/decision/${encodeURIComponent(Ie.id)}`);if(!bt.ok)return[];let Pn=(await bt.json()).decision;if(!Pn?.annotations?.length)return[];let zn="/";try{zn=new URL(Pn.url).pathname}catch{}if(zn!==ze)return[];let Mn=Pn.color??bh("oklch(0.628 0.258 29)",I.annotations,ze);return Pn.annotations.flatMap(mt=>{if(!mt.instruction)return[];let Oi=mt.target?te.resolve(mt.target)??(mt.elements?.[0]?te.restore(mt.target,mt.elements[0]):null):null,Ro=Oi?.selector??mt.linkedSelector;if(!Ro)return[];let Dn=Oi?.element??gn(Ro)??(mt.elements?.[0]?.selector?gn(mt.elements[0].selector):null);if(!Dn)return[];let ir=In(Dn),Rn=Pn.resolutions?.find(ai=>ai.annotationId===mt.id);return[{id:mt.id,type:"text",points:[{x:ir.left+window.scrollX,y:ir.top+window.scrollY}],color:Mn,strokeWidth:2,text:mt.instruction,fontSize:12,timestamp:Pn.createdAt,captured:!0,status:Rn?.status??"resolved",resolutionSummary:Rn?.summary,replyCount:1,replyJobIds:[`thread-recovery:${Ie.id}`],threadId:Ie.id,pathname:mt.pathname??zn,elements:mt.elements,linkedSelector:Ro,...mt.target?{target:mt.target}:{},linkedAnchor:ir.top>=26?"top-left":"bottom-left"}]})}));if(se)return;let ii=Mo.flat();ii.length>0&&w({type:"MERGE_ANNOTATIONS",payload:{annotations:ii}}),$e(Ie=>xh(ue,new Map([...Ie].filter(([,bt])=>!Le.has(bt.threadId))),Ae)),w({type:"SETTLE_CAPTURED_STYLES",payload:{selectors:[...ue.values()].filter(Ie=>Ie.status==="resolved").flatMap(Ie=>Ie.selectors??[])}}),ae=!0}).catch(()=>{se||(xr.current="__uninitialized__")}),()=>{se=!0,!ae&&xr.current===X&&(xr.current="__uninitialized__")}},[K.activeJobIds,K.activeJobThreads,K.isConnected,ze,w,x,un,k,ce,I.annotations,te,ve,Xo,bo,Ur]);let Ka=J(new Set);F(()=>{let b=K.events.filter(T=>T.type==="error"&&T.data.cancelled);for(let T of b){let W=T.data.jobId;if(!W||Ka.current.has(W))continue;Ka.current.add(W);let X=k[W];X&&X.annotationIds.length>0&&w({type:"SET_ANNOTATION_STATUS",payload:{ids:X.annotationIds,status:"dismissed"}})}},[K.events,k,w]);let Go=J(0);F(()=>{let b=K.incrementalResolutions;if(b.length<=Go.current)return;let T=b.slice(Go.current);Go.current=b.length,w({type:"APPLY_RESOLUTIONS",payload:{resolutions:T}})},[K.incrementalResolutions,w]),F(()=>{K.incrementalResolutions.length===0&&(Go.current=0)},[K.incrementalResolutions.length]);let Qo=U(async()=>{let b=Ne.current;if(!b)return!1;let T=await Wi(document.body,b,I.annotations,{nativeCapture:He,captureSurfaces:()=>te.captureSurfaces()});if(T.length===0)return!1;let W=await ih(T,I.annotations,I.styleModifications,I.textModifications,I.domModifications);return W&&w({type:"MARK_CAPTURED",payload:{textModifications:I.textModifications.filter(X=>!X.pathname||X.pathname===ze)}}),W},[I.annotations,I.styleModifications,I.textModifications,I.domModifications,ze,w,He,te]),Zl=U((b,T)=>{let W=Et.current.get(b)||[];Et.current.set(b,[...W,...T])},[]),es=U((b,T)=>{let W=new Set(T),X=(Et.current.get(b)??[]).filter((se,ae)=>!W.has(ae));X.length>0?Et.current.set(b,X):Et.current.delete(b)},[]),Ya=U(async()=>{if(E&&!E.canSend)return!1;let b=E?.captureVersion(),T=Ne.current;if(!T)return!1;Re==="omp"&&$n("omp");let W=I.annotations.filter(ue=>(ue.status??"pending")==="pending"),X=I.styleModifications.filter(ue=>!ue.captured&&!ue.awaitingReview&&(!ue.pathname||ue.pathname===ze)),se=I.textModifications.filter(ue=>!ue.captured&&(!ue.pathname||ue.pathname===ze)),ae=I.domModifications.filter(ue=>!ue.captured&&(!ue.pathname||ue.pathname===ze)),fe=I.spacingTokenChanges.filter(ue=>!ue.captured);if(W.length===0&&X.length===0&&se.length===0&&ae.length===0&&fe.length===0)return!1;let pe=W.map(ue=>ue.id),Me=!!E?.requiresApproval,Le=!1;return Me&&O(ue=>new Set([...ue,...pe])),wh(Me?[]:pe,w,async()=>{let ue=new Map;for(let _e of W){let Mt=_e.pathname||ze;ue.has(Mt)||ue.set(Mt,[]),ue.get(Mt).push(_e)}let Ae=new Map,ut=new Map;await Xu(xe.current,ue.get(ze)??[],ze,ut);let Ot=[...ue.keys()].filter(_e=>_e!==ze);if(Ot.length>0){let _e=ze,Mt={x:window.scrollX,y:window.scrollY};Yt.current=!0;for(let kt of Ot)try{let Rr=wt.current.get(kt),Lo=ue.get(kt)||[];if(Rr&&!Lo.some(jo=>jo.target)){Ae.set(kt,Rr),console.log(`[Popmelt] Reusing cached departing-page screenshot for ${kt}`);continue}if(console.log(`[Popmelt] Navigating to ${kt} for screenshot capture`),await Zd(kt,i),window.location.pathname!==kt){console.warn(`[Popmelt] Navigation to ${kt} did not take effect (at ${window.location.pathname})`);continue}await Xu(xe.current,Lo,kt,ut);let si=await Wi(document.body,T,Lo,{dpr:1,nativeCapture:He,captureSurfaces:()=>te.captureSurfaces()}),$o=await ms(si);$o&&(Ae.set(kt,$o),console.log(`[Popmelt] Captured ${kt} (${($o.size/1024).toFixed(0)}KB)`))}catch(Rr){console.warn(`[Popmelt] Failed to capture ${kt}:`,Rr)}await Zd(_e,i),window.scrollTo(Mt.x,Mt.y),Yt.current=!1}let Vr=W.filter(_e=>(_e.pathname||ze)===ze),Ar=await Wi(document.body,T,Vr.length>0?I.annotations:[],{dpr:1,nativeCapture:He,captureSurfaces:()=>te.captureSurfaces()});if(Ar.length>0){let _e=await ms(Ar);_e&&Ae.set(ze,_e)}if(Ae.size===0)return!1;let wa=wc({annotations:I.annotations,styleModifications:I.styleModifications,textModifications:I.textModifications}),oi=_e=>{let Mt=wa.modificationNumberByKey.get(Dh(_e));return Mt===void 0?_e:{..._e,annotationNumber:Mt}},Mr=X.map(oi),Mo=se.map(oi),ii;if(c)try{ii=fc(await c({kind:"annotation",timestamp:Date.now(),url:window.location.href,pathname:ze,annotations:W}))}catch(_e){return console.error("[Popmelt] Unable to capture comment metadata:",_e),!1}let Ie=hc(W,Mr,void 0,fe.length>0?fe:void 0,Mo,ae,ii),bt=jy(Ie,W,Et.current);Py(Ie,bt,ut,ze);let Pn=JSON.stringify(Ie),zn=ue.size>1;console.log(`[Popmelt] Submit: ${ue.size} page(s), ${Ae.size} screenshot(s), pages: [${[...ue.keys()].join(", ")}], cached: [${[...wt.current.keys()].join(", ")}]`);let Mn=zn?Ae:Ae.get(ze)??Ae,mt=[...X.map(_e=>_e.selector),...se.map(_e=>_e.selector),...ae.map(_e=>_e.selector)],Oi=Array.from(new Set([...W.map(_e=>_e.pathname||ze),...X.map(_e=>_e.pathname||ze),...se.map(_e=>_e.pathname||ze),...ae.map(_e=>_e.pathname||ze)])),Ro=Sh(W,I.activeColor),Dn=[...mt,...W.flatMap(_e=>_e.linkedSelector?[_e.linkedSelector]:[])],ir=Ih(Dn,I.annotations.filter(_e=>(_e.pathname||ze)===ze),gn),Rn=bs(Dn,be,ir?.color??Ro,gn),ai=ir?.threadId??kh(Dn,be),li=ir?.targetBindingId??Eh(Dn,be),ln=mc(Rn),ar=`_pending_${Date.now()}`,Sa={annotationIds:pe,styleSelectors:mt,color:Rn,threadId:void 0,routePathnames:Oi};if(!Me){try{let _e=JSON.parse(localStorage.getItem(vt)||"{}");_e[ar]=Sa,localStorage.setItem(vt,JSON.stringify(_e))}catch{}ie(_e=>({..._e,[ar]:Sa}))}try{let _e=E?await E.send({screenshots:Mn,feedbackJson:Pn,color:ln,provider:Re,model:Dt.id,pastedImages:bt.size>0?bt:void 0,sourceId:Ys(),agentSettings:on},b):await wu(Mn,Pn,ce,ln,Re,Dt.id,bt.size>0?bt:void 0,Ys(),on,ai,ir?.selectorAliases,li);if("pendingApproval"in _e){Le=!0,_e.threadId&&w({type:"SET_ANNOTATION_THREAD",payload:{ids:W.map(pt=>pt.id),threadId:_e.threadId}});try{let pt=JSON.parse(localStorage.getItem(vt)||"{}");delete pt[ar],localStorage.setItem(vt,JSON.stringify(pt))}catch{}return ie(pt=>{let{[ar]:mn,...Xn}=pt;return Xn}),!1}let{jobId:Mt,threadId:kt,color:Rr,continuedThread:Lo,continuationEligible:si,targetBindings:$o=[]}=_e,jo=pt=>$o.find(mn=>pt.target?mn.anchor.type==="opaque"&&mn.anchor.adapter===pt.target.adapter&&mn.anchor.key===pt.target.key:!pt.linkedSelector||mn.anchor.type!=="dom"?!1:[mn.anchor.runtimeSelector,mn.anchor.structuralSelector,...mn.anchor.legacySelectors??[]].includes(pt.linkedSelector))?.id;kt&&rn(kt,Mt,Ie,Mn,bt.size>0?bt:void 0);for(let pt of bt.keys())Et.current.delete(pt);for(let pt of ue.keys())wt.current.delete(pt);let di=Rr??Rn,Ia={...Sa,color:di,threadId:kt};try{let pt=JSON.parse(localStorage.getItem(vt)||"{}");delete pt[ar],pt[Mt]=Ia,localStorage.setItem(vt,JSON.stringify(pt))}catch{}if(ie(pt=>{let{[ar]:mn,...Xn}=pt;return{...Xn,[Mt]:Ia}}),kt&&mt.length>0&&$e(pt=>{let mn=new Map(pt),Xn=new Set;for(let Kt of $o){if(Kt.anchor.type!=="dom")continue;let Gr=[Kt.anchor.runtimeSelector,Kt.anchor.structuralSelector,...Kt.anchor.legacySelectors??[]].filter(Zr=>!!Zr),Qr=mt.find(Zr=>Gr.includes(Zr));if(!Qr)continue;Xn.add(Qr);let as=[...Mr,...Mo].find(Zr=>Zr.selector===Qr);mn.set(Kt.id,{jobId:Mt,threadId:kt,status:"in_flight",color:di,continuationEligible:Kt.continuationEligible??si,targetBindingId:Kt.id,selectors:Gr,targetFingerprint:Kt.anchor.targetFingerprint,annotationNumber:as?.annotationNumber})}for(let Kt of mt){if(Xn.has(Kt))continue;let Gr=[...Mr,...Mo].find(Qr=>Qr.selector===Kt);mn.set(`job:${Mt}:${Kt}`,{jobId:Mt,threadId:kt,status:"in_flight",color:di,continuationEligible:si,selectors:[Kt],annotationNumber:Gr?.annotationNumber})}return mn}),w({type:"MARK_CAPTURED",payload:{annotationIds:pe,textModifications:se}}),kt&&pe.length>0){for(let pt of pe)w({type:"UPDATE_ANNOTATION_COLOR",payload:{id:pt,color:di}});for(let pt of W)w({type:"SET_ANNOTATION_THREAD",payload:{ids:[pt.id],threadId:kt,targetBindingId:jo(pt)}})}return Lo||w({type:"SET_COLOR",payload:Th({color:di,threadId:kt??`job:${Mt}`,annotationIds:pe,annotations:I.annotations,pathname:ze})}),!0}catch(_e){try{let Mt=JSON.parse(localStorage.getItem(vt)||"{}");delete Mt[ar],localStorage.setItem(vt,JSON.stringify(Mt))}catch{}return ie(Mt=>{let{[ar]:kt,...Rr}=Mt;return Rr}),console.error("[Pare] Failed to send to bridge:",_e),!1}}).then(ue=>(Me&&!Le&&!ue&&(O(Ae=>{let ut=new Set(Ae);for(let Ot of pe)ut.delete(Ot);return ut}),q(++oe.current)),ue))},[I.annotations,I.styleModifications,I.textModifications,I.domModifications,I.spacingTokenChanges,I.activeColor,w,ce,Re,Dt.id,on,ze,i,rn,He,be,$n,te,c,E,vt]),Xa=U(()=>Ch(At,Ya,!1),[Ya]),Va=Ey(e&&t&&K.isConnected&&!E,ce,x,I,{provider:Re,model:Dt.id,agentSettings:on}),lt=E?.view?{...Va,...E.view,toolbar:_}:Va;L.current=lt.activePreview;let{onFocus:Ga,onActivity:Pt,onThread:ts}=dy(E?.reportAttention,E?.viewedParticipantId??E?.participantId??"",I.activeColor,!!(E?.canReadThreads&&I.isAnnotating&&!lt.isPeeking)),ns=U(b=>{at(b),Ga(b)},[at,Ga]),pa=U(()=>{ot(),Pt()},[ot,Pt]),fa=U(async(b,T,W,X)=>{if(E&&!E.canReply)throw new Error("Edit permission is required to send thread messages.");Re==="omp"&&$n("omp"),vr(ue=>({threadId:b,sequence:(ue?.sequence??0)+1})),tr(ue=>{if(!(b in ue))return ue;let Ae={...ue};return delete Ae[b],Ae});let se=Object.values(Yo.current).find(ue=>ue.threadId===b)?.color??I.annotations.find(ue=>ue.threadId===b)?.color??I.activeColor,ae=I.annotations.filter(ue=>ue.threadId===b&&(ue.status==="waiting_input"||ue.status==="resolved"||ue.status==="needs_review")),fe=ae.map(ue=>ue.id),pe;if(c)try{pe=fc(await c({kind:"reply",timestamp:Date.now(),url:window.location.href,pathname:ze,threadId:b,reply:T,annotations:ae}))}catch(ue){console.error("[Popmelt] Unable to capture reply metadata:",ue);return}let Me=`_pending_reply_${Date.now()}`,Le={annotationIds:fe,styleSelectors:[],color:se,threadId:b};try{let ue=JSON.parse(localStorage.getItem(vt)||"{}");ue[Me]=Le,localStorage.setItem(vt,JSON.stringify(ue))}catch{}ie(ue=>({...ue,[Me]:Le}));try{let ue=mc(se),{jobId:Ae}=await vg(b,T,ce,ue,Re,Dt.id,W,Ys(),on,{...X,...pe?{meta:pe}:{}}),ut={...Le};try{let Ot=JSON.parse(localStorage.getItem(vt)||"{}");delete Ot[Me],Ot[Ae]=ut,localStorage.setItem(vt,JSON.stringify(Ot))}catch{}return ie(Ot=>{let{[Me]:Vr,...Ar}=Ot;return{...Ar,[Ae]:ut}}),$e(Ot=>Ah(Ot,b,Ae)),ae.length>0&&w({type:"SET_ANNOTATION_STATUS",payload:{ids:fe,status:"in_flight"}}),Ke(b),{jobId:Ae}}catch(ue){try{let Ae=JSON.parse(localStorage.getItem(vt)||"{}");delete Ae[Me],localStorage.setItem(vt,JSON.stringify(Ae))}catch{}throw ie(Ae=>{let{[Me]:ut,...Ot}=Ae;return Ot}),console.error("[Pare] Failed to send reply:",ue),ue}},[I.activeColor,I.annotations,ce,Ke,w,Re,Dt.id,on,$n,c,ze,E,vt]);F(()=>{for(let b of K.pendingQuestions){st(b.jobId,"waiting_input","Question");let T=b.annotationIds&&b.annotationIds.length>0?b.annotationIds:k[b.jobId]?.annotationIds??Ce.current.get(b.jobId);if((!T||T.length===0)&&b.threadId&&(T=I.annotations.filter(W=>W.threadId===b.threadId).map(W=>W.id)),T&&T.length>0){let W=new Set(T),X=I.annotations.filter(se=>W.has(se.id));if(X.length===0||X.every(se=>se.status==="waiting_input"&&se.question===b.question&&se.threadId===b.threadId))continue;w({type:"SET_ANNOTATION_QUESTION",payload:{ids:T,question:b.question,threadId:b.threadId}})}}},[K.pendingQuestions,w,k,I.annotations,st]);let rs=Ee(()=>{if(K.activeJobId&&K.activeJobId in k)return k[K.activeJobId].color;let b=Object.values(k);return b.length>0?b[b.length-1].color:void 0},[K.activeJobId,k]),qr=U((b,T=!1)=>{sa(W=>W+1),!T&&I.activeTool==="model"&&w({type:"SET_TOOL",payload:"inspector"}),an({type:"open_thread",threadId:b})},[an,w,I.activeTool]),xo=U(b=>{G&&qr(b)},[qr,G]),Sn=U(()=>{an({type:"close_thread"})},[an]),Zo=E?.deletePeerThread,wr=E?.deletedPeerThreadIds,_t=Ee(()=>new Set([...en,...wr??[]]),[en,wr]);F(()=>{Pe&&wr?.includes(Pe)&&Sn()},[Pe,wr,Sn]),F(()=>{if(!Zo||!I.isAnnotating||!Pe)return;let b=T=>{!["Delete","Backspace"].includes(T.key)||T.metaKey||T.ctrlKey||T.altKey||Lm(T)||(T.preventDefault(),T.stopImmediatePropagation(),Zo(Pe).then(Sn).catch(()=>{}))};return window.addEventListener("keydown",b,!0),()=>window.removeEventListener("keydown",b,!0)},[Zo,Pe,I.isAnnotating,Sn]);let nr=E?.requestedThread;PS(lt.selectedId,nr,Sn,xo);let Wt=U(async b=>(await Vt(`${ce}/thread/${encodeURIComponent(b)}`)).status,[ce]),Kr=U(b=>{an({type:"restore_thread",threadId:b,...hr.current})},[an]);Ty(E?.navigation,lt.selectedId,K.isConnected&&G,Pe??Bn??wn,Nt,Wt,Kr);let[Yr,wo]=P(0),Sr=Ry(`${x}:${Yr}`,async b=>{if(!(await Sg(b,ce)).archived)throw new Error("Thread not found")},b=>wg(b,ce),D);S.current=Sr.tryUndo;let ha=U(b=>{if(E&&!E.isHost){Zo?.(b).catch(()=>{});return}if(Object.values(k).some(ae=>ae.threadId===b))return;Pe===b&&Sn();let T=new Set(I.annotations.filter(ae=>ae.threadId===b).flatMap(ae=>ae.groupId?[ae.groupId]:[])),W=I.annotations.filter(ae=>ae.threadId===b||ae.groupId&&T.has(ae.groupId)).map(ae=>ae.id),X=I.annotations.filter(ae=>W.includes(ae.id)),se=Array.from(be.entries()).filter(([,ae])=>ae.threadId===b);W.length>0&&w({type:"SET_ANNOTATION_STATUS",payload:{ids:W,status:"dismissed"}}),$e(ae=>new Map(Array.from(ae.entries()).filter(([,fe])=>fe.threadId!==b))),yt(ae=>new Set(ae).add(b)),qf([b],x),Sr.dismiss(b,()=>{for(let ae of X)w({type:"SET_ANNOTATION_STATUS",payload:{ids:[ae.id],status:ae.status??"resolved"}});if($e(ae=>{let fe=new Map(ae);for(let[pe,Me]of se)fe.has(pe)||fe.set(pe,Me);return fe}),yt(ae=>{let fe=new Set(ae);return fe.delete(b),fe}),x)try{let ae=Gl(x);ae.delete(b),localStorage.setItem(Ji(Vl,x),JSON.stringify([...ae]))}catch{}})},[Sn,w,x,I.annotations,Sr,k,be,Pe,E,Zo]),Mi=U((b,T,W)=>{let X=k[b],se=De.current.get(b),ae=X?.annotationIds??W??[];if(X||ae.length>0){let pe=new Set(X?.styleSelectors??[]);for(let Me of ae){let Le=I.annotations.find(ue=>ue.id===Me);if(Le&&(Le.linkedSelector&&pe.add(Le.linkedSelector),Le.groupId))for(let ue of I.annotations)ue.groupId===Le.groupId&&ue.linkedSelector&&pe.add(ue.linkedSelector)}pe.size>0&&(se=Array.from(pe))}se?.length&&JS(se);let fe=X?.threadId||T||et.current.get(b);if(fe){let pe=X?.kind==="project_model"&&(X.annotationIds?.length??0)===0;Cn.current=pe?Gd:X?.color??null,qr(fe,X?.kind==="synthesize")}},[k,qr,I.annotations]),Qa=U((b,T)=>{if(!b){br(null);return}let W=T??Ce.current.get(b);W&&W.length>0?br(new Set(W)):br(null)},[]),ei=U(async b=>{try{let T=b?`${ce}/cancel?jobId=${b}`:`${ce}/cancel`;await Vt(T,{method:"POST"})}catch{}},[ce]),Ri=U(async()=>{En("restarting"),xn("Restarting bridge");let b=await bg(ce,xs,2e4);if(b.ok){await ny(b.bridgeUrl??r,x),Qt(b.status.version??xs),En("ok"),xn(b.status.version?`Bridge restarted on ${b.status.version}`:"Bridge restarted"),Ze(T=>T+1);return}Qt(b.status?.version??$t),En("error"),xn(b.error)},[$t,r,x,ce]),ma=Ee(()=>{if(!Pe)return null;for(let b of Object.values(k))if(b.threadId===Pe&&b.kind){if(b.kind==="project_model"&&b.annotationIds.length>0)continue;return b.kind}return null},[Pe,k]),So=ma==="project_model",Li=ma==="synthesize",{surface:Xr,phase:$i,show:Ir,leave:Io,dismiss:kr}=Mh({openDelayMs:0,exitDurationMs:ws}),rr=J(new Set),[ko,Eo]=P(()=>new Set),os=U((b,T)=>{T?rr.current.add(b):rr.current.delete(b),Eo(new Set(rr.current)),rr.current.size>0?Ir("toolbar"):Io("toolbar")},[Io,Ir]),Er=LS({toolbarExpanded:I.isAnnotating,toolbarSources:ko,chromeHoverSurface:Xr,chromeHoverPhase:$i,activeTool:I.activeTool,peerPlanePeeking:lt.isPeeking}),or=Er.threadTemporarilyHidden,nn=J(Pe);F(()=>{Xr&&RS(nn.current,Pe,Xr)&&kr(Xr),nn.current=Pe},[Xr,kr,Pe]),F(()=>{an(I.activeTool==="model"?{type:"enter_imprint",preserveOpenThread:Li}:{type:"leave_imprint"})},[an,I.activeTool,Pe,Li]),F(()=>{an({type:I.isAnnotating?"expand_toolbar":"collapse_toolbar"})},[an,I.isAnnotating]);let fn=Ee(()=>Rh(Pe,k,K.activeJobIds,K.activeJobThreads,An),[Pe,k,K.activeJobIds,K.activeJobThreads,An]),Xt=Pe?I.annotations.find(b=>b.threadId===Pe):void 0,qn=Pe?Array.from(be.values()).find(b=>b.threadId===Pe&&b.color)?.color:void 0,Kn=Pe?Be.current.get(Pe):void 0,ga=Ee(()=>{if(!Pe)return null;let b=[...K.events].reverse().find(T=>(T.type==="done"||T.type==="error")&&T.data.threadId===Pe);return typeof b?.data.jobId=="string"?b.data.jobId:null},[K.events,Pe]),is=Ee(()=>fn?K.events.filter(b=>b.data.jobId===fn):zS,[fn,K.events]),ji=Ee(()=>So?Gd:qn??Xt?.color??Cn.current??I.activeColor,[So,Xt?.color,qn,I.activeColor]),To=!!(x&&un===x),Co=Ee(()=>$S(I.annotations,en,To?be.values():[]),[en,To,be,I.annotations]),ya=Ee(()=>Lh(be,en,Co,To),[en,To,be,Co]),Za=Ee(()=>{let b=new Map;for(let T of I.annotations)T.threadId&&T.color&&b.set(T.threadId,T.color);for(let T of be.values())T.threadId&&T.color&&b.set(T.threadId,T.color);return b},[be,I.annotations]),el=[...ya.values()].find(b=>b.threadId===Pe)?.annotationNumber,va=Sc({state:I,activeText:null,currentPathname:ze,dismissedThreadIds:en,modifiedElementThreadStates:ya}),Pi=Ic({state:I,pageAnnotations:va.pageAnnotations,pageStyleModifications:va.pageStyleModifications,pageTextModifications:va.pageTextModifications}),zi=Ew(Xt?Pi.annotationGroupMap.get(Xt.id):void 0,el,{activePreview:!!lt.activePreview,annotationNumber:Pe?lt.threadAnnotationNumbers?.get(Pe):void 0}),ti=U(b=>{if(!Pe)return;let T=jS(Co,Pe,b);T&&qr(T)},[Co,Pe,qr]),ni=Pe!==null&&Co.length>1&&Co.includes(Pe),[Di,ba]=P(!1),Ao=J(!1),Tr=J(null),Hi=U(b=>{b?(Tr.current&&(clearTimeout(Tr.current),Tr.current=null),ba(!0)):Tr.current=setTimeout(()=>{ba(!1),Tr.current=null},150)},[]),ri=U(b=>{Hi(b),b?Ir("job-stack"):rr.current.size>0?Ir("toolbar"):Io("job-stack")},[Hi,Io,Ir]);F(()=>{if(E)return;let b=K.workspaceGeneration;if(!x||b===void 0||!Number.isInteger(b)||b<0)return;let T=kc(localStorage,x);if(T!==null&&b<T)return;let W=$h(T,b);if(localStorage.setItem(Ec(x),String(b)),!W)return;if(Ao.current){Ao.current=!1;return}hu(I.styleModifications),tg(I.textModifications),ng(I.domModifications),document.querySelectorAll("[data-pm]").forEach(se=>se.removeAttribute("data-pm")),w({type:"CLEAR"}),w({type:"CLEAR_ALL_STYLES"});let X=jh(x);for(let se of[X.annotations,X.styleMods,X.textMods,X.domMods,X.spacingChanges])localStorage.removeItem(se);Ss(localStorage),Et.current.clear(),wt.current.clear(),ie({}),$e(new Map),vr(null),fo(new Set),Wr(new Set),Br(new Set),tr({}),yt(new Set),wo(se=>se+1),me(),Sn()},[K.workspaceGeneration,me,Sn,w,x,E,I.domModifications,I.styleModifications,I.textModifications]);let Cr=U(()=>{Ss(localStorage),Et.current.clear(),wt.current.clear();let b=Array.from(new Set(I.annotations.flatMap(T=>T.threadId?[T.threadId]:[])));qf(b,x),yt(T=>{let W=new Set(T);for(let X of b)W.add(X);return W}),Ao.current=!0,xg(ce).then(({workspaceGeneration:T})=>{if(x){let W=kc(localStorage,x);(W===null||T>W)&&localStorage.setItem(Ec(x),String(T))}Ao.current=!1}).catch(T=>{Ao.current=!1,console.warn("[Popmelt] Failed to clear bridge workspace:",T)}),wo(T=>T+1),me(),Sn(),ei()},[me,Sn,x,ei,ce,I.annotations]);F(()=>()=>{Tr.current&&clearTimeout(Tr.current)},[]);let[tl,Yn]=P(!1);if(F(()=>{Yn(!0)},[]),!e||!tl)return null;let xa=f(gc.Provider,{value:t?lt.toolbar??_:null,children:$(ew,{children:[f(Ph.Provider,{value:G?xo:void 0,children:lt.overlay}),I.isAnnotating&&K.isConnected&&!lt.isPeeking&&!lt.activePreview&&f(Vc,{element:Qe,elements:we,registry:te}),f(Ki.Provider,{value:!lt.activePreview&&!lt.isPeeking,children:f("div",{"data-devtools":"host-canvas",style:{display:lt.isPeeking||lt.activePreview?"none":"contents"},children:f(z0,{historyPreview:Nn,onFocusTargetChange:ns,onFocusActivity:pa,bridgeUrl:ce,steeringContextStorageKey:x?gx(x):void 0,state:lt.activePreview?{...I,isAnnotating:!1,annotations:[],styleModifications:[],textModifications:[],domModifications:[]}:I,dispatch:w,onScreenshot:Qo,inFlightAnnotationIds:nt,inFlightOrientationLabels:mo,waitingApprovalJobIds:tn,activeAnnotationIds:Ko,queuePositionMap:Ql,inFlightStyleSelectors:qa,inFlightStyleSelectorJobIds:Ci,inFlightSelectorColors:ca,modifiedElementThreadStates:ya,dismissedThreadIds:en,onAttachImages:Zl,onRemoveImages:es,onCaptureInteractionFrame:zt,onSend:K.isConnected&&(!E||E.canSend)?Xa:void 0,onReply:K.isConnected&&(!E||E.canReply)?fa:void 0,onViewThread:K.isConnected&&G?xo:void 0,onCloseThread:Sn,onArchiveThread:ha,onDeleteSubmittedAnnotation:E&&!E.isHost&&E.deletePeerAnnotations?b=>{E.deletePeerAnnotations(E.participantId,[b]).catch(()=>{})}:void 0,highlightedAnnotationIds:qo,cycleFocusedAnnotationIds:fr,onCanvasInteraction:po,focusedThreadAnnotationId:Xt?.id,openThreadId:Pe,hasOpenThread:Pe!==null,externalCanvasRef:Ne,toolbarRef:Ve,threadPanelElement:or?null:Te,clearSignal:Yr,subjectRegistry:te,subjectRegistryReady:ve},`annotation-canvas:${x??"pending"}`)})}),f(iw,{zIndex:Pe!==null&&!or?10004:10003,children:$(nw,{children:[f(zh,{onPreviewHistoryThread:dn,threadOpenRequest:Ft,projectId:x,state:I,hasExternalSendableItems:!!(lt.activePreview&<.approve),readOnlyPreview:lt.activePreview,dispatch:b=>{(!lt.activePreview||b.type==="SET_ANNOTATING")&&w(b)},onScreenshot:Qo,onSendToClaude:lt.activePreview?lt.approve:K.isConnected&&(!E||E.canSend)?Xa:void 0,hasActiveJobs:Object.keys(k).length>0||K.activeJobIds.length>0,activeJobColor:rs,onCrosshairHover:Hi,onClear:Cr,provider:Re,onProviderChange:!y&&K.isConnected&&ye.length>1?Ei:void 0,availableProviders:ye,modelIndex:jt,modelCount:Zt.length,modelLabel:Dt.label,models:Zt,agentSettings:on,onModelChange:!y&&K.isConnected?pr:void 0,onModelMenuOpen:()=>{$n(Re)},onAgentSettingsChange:K.isConnected?Fr:void 0,onViewThread:K.isConnected&&G?xo:void 0,onNavigate:It,annotationCycleFocus:Jn,onAnnotationCycleFocusChange:uo,isThreadPanelOpen:Pe!==null&&!or&&!Li,hasOpenThreadPanel:Pe!==null&&!Li,projectPanelTemporarilyHidden:Er.projectPanelTemporarilyHidden,onToolbarHoverChange:os,activeChromeHoverSurface:Xr,mcpStatus:co,bridgeUrl:ce,isBridgeConnected:K.isConnected,packageVersion:xs,bridgeVersion:$t,projectRoot:vn,projectRootAccess:Bt?.projectRoot,codexSandboxMode:Bt?.codex.sandboxMode,bridgeRestartState:Ut,bridgeRestartMessage:Hr,onBridgeRestart:Ri,toolbarRef:Ve,snapPosition:Ht,onSnapPositionChange:Tt},`annotation-toolbar:${x??"pending"}`),G&&I.isAnnotating&&Pe&&f(AS,{projectRoot:E&&!E.isHost?null:vn,onAttentionChange:ts,threadId:Pe,bridgeUrl:ce,accentColor:ji,initialMessages:Kn?[Kn.message]:void 0,completedJobId:ga,refreshKey:`${E?.pendingSubmissions?.find(b=>b.threadId===Pe)?.revision??""}:${K.events.findLast(b=>b.type==="thread_changed"&&b.data.threadId===Pe)?.data.jobId??""}`,isStreaming:fn!==null,isQueued:fn!==null&&!K.activeJobIds.includes(fn)&&!An.has(fn),queuePosition:fn&&!K.activeJobIds.includes(fn)&&!An.has(fn)?(()=>{let b=xc(Object.keys(k),K.activeJobIds,An),T=b.indexOf(fn);return T>=0?`(${T+1}/${b.length})`:void 0})():void 0,activeJobId:fn,streamingEvents:is,onClose:Sn,onReply:N?fa:void 0,onContribute:E?.contribute,onApproveSuggestion:E?.approveSuggestion,canManage:z,readOnlyReason:N?void 0:"Edit permissions required to comment in threads",onCancel:z&&fn?()=>ei(fn):void 0,lastError:K.lastErrorByJob?.[fn??""]??(K.lastCompletedJobId&&et.current.get(K.lastCompletedJobId)===Pe?K.lastErrorByJob?.[K.lastCompletedJobId]:void 0),temporarilyHidden:or,instantVisibilityHandoff:Er.toolbarPaneVisible,backdropCursor:I.isAnnotating&&I.activeTool==="sticker"?Tc(ji):void 0,toolbarRef:Ve,surfaceRef:je,currentModel:Dt.id,currentProvider:Re,availableProviders:ye,models:Zt,modelIndex:jt,agentSettings:on,onProviderChange:!y&&K.isConnected?Ei:void 0,onModelChange:!y&&K.isConnected?pr:void 0,onAgentSettingsChange:K.isConnected?Fr:void 0,onModelMenuOpen:()=>{$n(Re)},annotationNumber:zi,annotationText:Xt?.text,onPreviousThread:ni?()=>ti(-1):void 0,onNextThread:ni?()=>ti(1):void 0,preferredSide:So?"left":"right",modal:!So},`${Pe}:${So?"workflow":"default"}`),G&&f(Q0,{noticeScope:Ur,ownedThreadIds:Vo?.scope===Ur?Vo.threadIds:null,allowThreadlessNotices:!E||E.isHost,viewedThreadId:Pe,bridge:K,bridgeUrl:ce,inFlightJobs:k,threadColors:Za,isVisible:Di||K.lastResponseText!==null||K.activeJobIds.length>0,isHidden:!I.isAnnotating||lt.isPeeking||lt.activePreview,onHover:ri,isInteractionSuppressed:Er.statusInteractionSuppressed,clearSignal:Yr,onReply:N?fa:void 0,onClickJob:Mi,onCancel:z?ei:void 0,onHoverJob:Qa,isConnected:K.isConnected,dismissedThreadIds:_t,acknowledgedThread:yr,recoveredAcknowledgedThreadIds:Un,recoveredAcknowledgedJobIds:ho,recoveredSettledQuestionThreadIds:Jr,pendingQuestionThreadIds:da,snapPosition:Ht,currentPathname:ze},Ur)]})})]})});return f(Rm.Provider,{value:Y,children:xa})}export{ey as a,US as b};
|