@popmelt.com/core 0.28.2 → 0.28.4
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-SYIF75DS.mjs → ParticipantRuntime-U4YOVIGA.mjs} +10 -10
- package/dist/{PopmeltTasteConnectedPane-JO4QR6ZT.mjs → PopmeltTasteConnectedPane-ODOMXUNO.mjs} +1 -1
- package/dist/bridge-entry.mjs +1 -1
- package/dist/{browser-runtime-7YSJ2DPK.mjs → browser-runtime-2L55FIH3.mjs} +1 -1
- package/dist/browser.mjs +1 -1
- package/dist/{chunk-QUNV5PNI.mjs → chunk-3DUSECUJ.mjs} +1 -1
- package/dist/{chunk-TP3COBHM.mjs → chunk-5NOCGSQL.mjs} +78 -76
- package/dist/{chunk-DZI4H523.mjs → chunk-CKD6RNCO.mjs} +1 -1
- package/dist/{chunk-MIGCFNL4.mjs → chunk-ERUGF5VG.mjs} +18 -18
- package/dist/chunk-OYJINEC5.mjs +77 -0
- package/dist/chunk-YYK7MXEK.mjs +369 -0
- package/dist/cli.mjs +108 -106
- package/dist/index.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 +15 -7
- package/dist/chunk-264MDJPC.mjs +0 -369
- package/dist/chunk-A2UXK7AS.mjs +0 -77
- /package/dist/{chunk-VKFM7ZBT.mjs → chunk-L4G2KO2P.mjs} +0 -0
package/dist/chunk-264MDJPC.mjs
DELETED
|
@@ -1,369 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import{K as Za,Sa as tc,d as Xf,c as nc,vb as us,a as Vf,zb as rc,Ab as oc,yb as ic,hb as Qf,ib as Gf,Ha as ji,ha as Zf,Fb as eh,Gb as ac,ga as th,Mb as nh,Ib as rh,Jb as oh,Kb as ih,Ya as ah,ia as lh,Ba as sh,xa as lc,_a as dh,$ as ch,aa as ps,ba as uh,ca as ph,Za as fh,Da as hh,fa as mh,mb as fs,lb as gh,kb as hs,Hb as yh,ja as vh,Ma as sc,za as dc,Ka as cc,La as bh,Ja as uc,Ia as xh,Ea as ms,L as wh,Eb as Sh,n as pc,wa as Ih,wb as fc,Pa as kh,Oa as Eh,Ra as Th,Na as Ch,Qa as Ah,Aa as Mh,B as Rh,C as Lh,j as $h,pa as Zt,sa as jh,va as Ph,Fa as zh,qa as hc,la as Pi,R as Dh,ka as Oh,P as mc,W as Hh,db as ci,Ob as Nh,Lb as _h,cb as gc,eb as yc,ob as gs,qb as Fh,Cb as Wh,Db as Jh,jb as qh,fb as Bh,gb as Yh,ya as Uh,Ca as ys,O as Kh,A as vc,D as bc,J as xc,I as wc,m as ui,E as Sc,H as zi,N as Xh,ta as vs,oa as Vh,na as bs,ma as xs,M as Qh,ea as Gh,da as Zh,Ga as em,ra as Ic,ua as kc,o as tm,U as Ec,S as Tc,T as Cc,V as nm,X as Ac,Z as Mc,_ as rm,Q as om,xb as Rc,Bb as Lc,k as Di,y as ws,p as pi,G as el,s as $c,e as im,Y as am,r as tl,f as jc,w as lm,h as $r,t as Ss,q as pa,g as Is,i as sm,x as dm,v as cm,F as ks,u as Pc,l as zc,z as um}from"./chunk-MIGCFNL4.mjs";import{c as pm,a as Dc,b as fa}from"./chunk-JQHZFDY5.mjs";import{a as Oc,b as fm}from"./chunk-EX63NVDN.mjs";import{d as hm,g as mm,m as gm,l as ym}from"./chunk-N2ZEZCHO.mjs";import{a as vm}from"./chunk-J3UIBBU2.mjs";import{b as bm,f as Oi,h as xm,g as Es,a as Hc,d as Nc,c as _c}from"./chunk-3LBOX7HQ.mjs";import{a as wm}from"./chunk-QUNV5PNI.mjs";import{sa as Ts,R as Fc,T as Kt,h as Sm,Ua as Wc,X as Jc,V as qc,W as Cs,Y as Im,Z as ha,$ as Bc,aa as Yc,fa as km,ha as Em,ga as Tm,da as Cm,ia as Am,cb as Uc,ka as Hi,La as Mm,N as Rm,H as Kc,A as io,Ka as nl,Ja as Lm,P as $m,D as Xc,O as jm,Ca as In,ra as As,za as lr,Ea as Ms,ya as ma,Ga as Pm,la as rl,Xa as Vc,xa as ao,ab as zm,bb as Qc,va as Dm,ua as Om,Ta as Rs,Ra as Ls,Wa as Gc,_ as Hm,U as Nm,J as $s,v as Zc,u as ga,r as ol,w as Ni,wa as eu,ja as tu,I as _m,K as Fm,M as Wm,f as Jm,Aa as qm,Ba as Bm,ta as Ym,Za as Um,Ya as nu,$a as Km,_a as Xm,Va as ru,z as ou,t as js,g as Vm,Da as Ps,C as Qm,E as iu,G as Gm,F as Zm,Fa as au,Ha as lu,B as eg,s as il,L as tg,y as zs,S as ng,q as su,x as rg}from"./chunk-A2UXK7AS.mjs";import{i as du,k as og,m as ig,h as cu,g as ag,a as al,e as lg,b as jr,d as sg,f as ot,c as dg}from"./chunk-MP7S5ALD.mjs";import{a as cg}from"./chunk-LVEMYZOA.mjs";import{c as ln,a as Ro,i as yn,j as _i,d as ug,e as pg,b as uu,l as fg,m as hg,k as mg}from"./chunk-XOGBFVWI.mjs";import{d as vn,o as ya,n as Fi,a as pu,i as fu,v as hu,u as mu,h as ll,k as gg,f as yg,c as Ds,m as gu,l as Os}from"./chunk-HGW2U6PD.mjs";import{lazy as yu,memo as vg,useContext as Pr,useState as $,Fragment as bg,useRef as q,useEffect as _,useCallback as B,useMemo as Se,Suspense as vu,cloneElement as xg,useSyncExternalStore as wg,useLayoutEffect as Tt,useId as Sg}from"react";import{jsx as u,jsxs as C,Fragment as it}from"react/jsx-runtime";import{Fingerprint as lo,Component as sl,Ban as dl,Terminal as bu,PenLine as xu,ImageIcon as Ig,Plug as kg,SquareMousePointer as Eg,ChevronRight as Hs,FilePenLine as Tg,ChevronDown as Wi,Check as Lo,ChevronLeft as Cg,X as cl,Send as wu,Clock as Su,Lock as Ag,ArrowDown as Mg,OctagonAlert as Iu,MessageCircleQuestionMark as Rg,Reply as Lg,TriangleAlert as $g,Command as ku,CornerDownLeft as Ns,EyeOff as jg,Trash2 as Pg}from"lucide-react";import{createPortal as Eu}from"react-dom";function zg(e){return Fc(e)?new Dg(e):new EventSource(e)}var Dg=class{constructor(e){this.readyState=0,this.onerror=null,this.controller=new AbortController,this.listeners=new Map,this.read(e)}addEventListener(e,t){let n=this.listeners.get(e)??new Set;n.add(t),this.listeners.set(e,n)}close(){this.readyState=2,this.controller.abort(),this.listeners.clear()}emit(e,t){let n=new MessageEvent(e,{data:t});for(let r of this.listeners.get(e)??[])r(n)}async read(e){try{let t=await fetch(e,ng(e,{signal:this.controller.signal}));if(!t.ok||!t.body||!t.headers.get("content-type")?.includes("text/event-stream"))throw new Error("Event stream unavailable");if(this.controller.signal.aborted)return;this.readyState=1;let n=t.body.getReader(),r=new TextDecoder,o="",i="message",a=[],l=0;try{for(;!this.controller.signal.aborted;){let s=await n.read();if(s.done)throw new Error("Event stream ended");if(o+=r.decode(s.value,{stream:!0}),o.length>2*1024*1024)throw new Error("Event frame too large");let d;for(;(d=o.indexOf(`
|
|
3
|
-
`))!==-1;){let c=o.slice(0,d).replace(/\r$/,"");if(o=o.slice(d+1),!c)a.length&&this.emit(i,a.join(`
|
|
4
|
-
`)),i="message",a=[],l=0;else if(c.startsWith("event:"))i=c.slice(6).trimStart();else if(c.startsWith("data:")&&(a.push(c.slice(5).replace(/^ /,"")),l+=c.length,l>2*1024*1024))throw new Error("Event frame too large")}}}finally{await n.cancel().catch(()=>{})}}catch{if(this.controller.signal.aborted)return;this.readyState=2,this.emit("error",""),this.onerror?.call(this,new Event("error"))}}};function Og(e,t,n){return[...e].reverse().find(o=>o.type==="done"||o.type==="error")||(t?void 0:n)}function Tu(e,t,n){let r=new Set(t.map(s=>s.id)),o=new Map(n.map(s=>[s.id,s])),i=e.flatMap(s=>{let d=o.get(s);return d?.status==="done"||d?.status==="error"?[d]:[]}),a=new Set(i.map(s=>s.id)),l=e.filter(s=>!a.has(s));for(let s of r)l.includes(s)||l.push(s);return{serverActiveIds:r,terminalJobs:i,reconciledActiveIds:l}}function Cu(e,t){return e.store===void 0&&(e.store=t),e.store}function Hg(e,t){let n=e.listeners??(e.listeners=new Set);return n.add(t),()=>n.delete(t)}function Ng(e,t,n){let r=n(Cu(e,t));e.store=r;for(let o of e.listeners??[])o();return r}var Ze=globalThis.__POPMELT_BRIDGE_CONNECTION__??(globalThis.__POPMELT_BRIDGE_CONNECTION__={}),ul=Ze.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));Ze.sourceId=ul;try{typeof localStorage<"u"&&localStorage.setItem("popmelt-source-id",ul)}catch{}function _s(){return ul}var pl={isConnected:!1,status:"disconnected",jobResponses:{},jobThinking:{},activeJobIds:[],activeJobThreads:{},currentResponse:"",currentThinking:"",events:[],activeJobId:null,lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[],capabilitiesVersion:0};Ze.store??(Ze.store={...pl}),Ze.listeners??(Ze.listeners=new Set);var zr=Ze.activeEs??null,fl=Ze.activeBridgeUrl??null,Dr=null,Xn=Ze.connectionGeneration??0,hl=new Set,Ji=new Map,$o={},Fs=new Set;function Pn(e,t){if(!e)return!1;if(Fs.has(e))return!0;if(hl.has(e)){let r=Ji.get(e);return r||(r=[],Ji.set(e,r)),r.push({type:t.type??"",data:t}),!0}let n=$o[e];return n!==void 0&&typeof t.seq=="number"&&t.seq<=n}async function Au(e,t,n,r=new Map){let o=()=>n!==(Ze.connectionGeneration??0);for(let i of t){if(o())return;hl.add(i),Ji.set(i,[])}await Promise.all(t.map(async i=>{try{let a=await Bc(e,i);if(o())return;let l=Ji.get(i)??[];if(a){ut(c=>{let f={...c.jobResponses,[i]:a.accumulated.response},p={...c.jobThinking,[i]:a.accumulated.thinking},h=[...c.events];for(let g of a.events)g.type==="done"||g.type==="error"||h.push({type:g.type,data:g,timestamp:Date.now()});return{...c,jobResponses:f,jobThinking:p,currentResponse:i===c.activeJobId?a.accumulated.response:c.currentResponse,currentThinking:i===c.activeJobId?a.accumulated.thinking:c.currentThinking,events:h}}),$o[i]=a.currentSeq;let s=[...a.events].reverse().find(c=>c.type==="job_started"||c.type==="job_parked");s?.type==="job_parked"&&qi("job_parked",s,i);let d=Og(a.events,a.jobActive,r.get(i));d&&qi(d.type,d,i);for(let c of l)typeof c.data.seq=="number"&&c.data.seq<=a.currentSeq||qi(c.type,c.data,i)}else{let s=!1;for(let c of l)qi(c.type,c.data,i),(c.type==="done"||c.type==="error")&&(s=!0);let d=r.get(i);!s&&d&&qi(d.type,d,i)}}finally{hl.delete(i),Ji.delete(i)}}))}function qi(e,t,n){if(e==="job_parked")ut(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")ut(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||"";ut(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||"";ut(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")ut(r=>({...r,events:[...r.events,{type:"status",data:t,timestamp:Date.now()}]}));else if(e==="done")delete $o[n],ut(r=>{let o=r.activeJobIds.filter(d=>d!==n),i={...r.jobResponses},a={...r.jobThinking},l=i[n];delete i[n],delete a[n];let s=n===r.activeJobId?o.length>0?o[o.length-1]:null:r.activeJobId;return{...r,activeJobIds:o,activeJobId:s,jobResponses:i,jobThinking:a,lastCompletedJobId:n,lastResponseText:t.responseText||l||r.currentResponse||null,lastThreadId:t.threadId??null,...n===r.activeJobId?{currentResponse:s&&i[s]||"",currentThinking:s&&a[s]||""}:{},events:[...r.events,{type:"done",data:t,timestamp:Date.now()}]}});else if(e==="error"){delete $o[n];let r=t.message??"";ut(o=>{let i=o.activeJobIds.filter(l=>l!==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 ut(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(s=>typeof s=="string"):void 0,l=r.pendingQuestions.some(s=>s.jobId===n);return{...r,pendingQuestions:i&&o&&!l?[...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 Vn=Ze.discoveredBridgeUrl??null,zn=Ze.discoveredBridgeProjectId??null,jo=null,Bi=null;function Mu(e,t=!1){let n=e??null;if(!(!t&&(Ze.expectedProjectId??null)===n)){zr&&(zr.close(),zr=null,Ze.activeEs=null),Dr&&(clearTimeout(Dr),Dr=null),fl=null,Ze.activeBridgeUrl=null,Vn=null,zn=null,Ze.discoveredBridgeUrl=null,Ze.discoveredBridgeProjectId=null,jo=null,Bi=null,hl.clear(),Ji.clear(),Fs.clear();for(let r of Object.keys($o))delete $o[r];Ze.expectedProjectId=n,Xn=(Ze.connectionGeneration??Xn)+1,Ze.connectionGeneration=Xn,ut(()=>({...pl}))}}function _g(){Ze.listeners?.size||Mu(null,!0)}async function Ru(e,t){if(Vn&&(t?zn===t:!zn))return Vn;if(!t&&zn&&(Vn=null,zn=null,Ze.discoveredBridgeUrl=Vn,Ze.discoveredBridgeProjectId=zn),t&&zn&&zn!==t&&(Vn=null,zn=null,Ze.discoveredBridgeUrl=Vn,Ze.discoveredBridgeProjectId=zn),jo&&Bi===(t??null))return jo;let n=Xn;return Bi=t??null,jo=Hm(e,t).then(r=>n!==Xn?null:(Vn=r?.url??null,zn=r?.projectId??t??null,Ze.discoveredBridgeUrl=Vn,Ze.discoveredBridgeProjectId=zn,jo=null,Bi=null,Vn)).catch(()=>(n!==Xn||(jo=null,Bi=null),null)),jo}function Fg(){return Vn}async function Wg(e,t){Vn=null,zn=null,Ze.discoveredBridgeUrl=null,Ze.discoveredBridgeProjectId=null,jo=null,Bi=null;let n=Xn,r=await Ru(e,t);return r&&n===Xn&&Ws(r),r}function va(){return Cu(Ze,{...pl})}function Jg(e){return Hg(Ze,e)}function ut(e){Ng(Ze,{...pl},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 qg(){return typeof window<"u"?window.__POPMELT_PROJECT_ID__??null:null}function Ws(e){if(zr&&zr.readyState!==EventSource.CLOSED&&fl===e)return;zr&&(zr.close(),zr=null,Ze.activeEs=null),Dr&&(clearTimeout(Dr),Dr=null),fl=e,Ze.activeBridgeUrl=fl,Xn=(Ze.connectionGeneration??Xn)+1;let t=Xn;Ze.connectionGeneration=Xn;let n=new URLSearchParams({sourceId:ul}),r=qg();r&&n.set("projectId",r);let o=zg(`${e}/events?${n.toString()}`);zr=o,Ze.activeEs=zr;let i=()=>t!==(Ze.connectionGeneration??0);o.addEventListener("connected",()=>{i()||ha(e).then(a=>{if(i())return;let l=[...a?.activeJobs??(a?.activeJob?[a.activeJob]:[]),...a?.queuedJobs?.filter(m=>m.parked)??[]],s=a?.recentJobs??[],d=Tu(va().activeJobIds,l,s),{serverActiveIds:c,terminalJobs:f}=d,p=f.map(m=>m.id),h=new Map;for(let m of f)h.set(m.id,m.status==="error"?{type:"error",jobId:m.id,message:m.error??"The agent run failed.",threadId:m.threadId,annotationIds:m.annotationIds}:{type:"done",jobId:m.id,success:!0,threadId:m.threadId,annotationIds:m.annotationIds});ut(m=>{let x={...m.lastErrorByJob};for(let A of f)A?.status==="error"&&A.error&&(x[A.id]=A.error);let w=Tu(m.activeJobIds,l,s).reconciledActiveIds,z={};for(let A of l)A.threadId&&(z[A.id]=A.threadId);return{...m,isConnected:!0,status:w.length>0?"streaming":p.length>0||m.status==="disconnected"?"idle":m.status,activeJobId:w.length>0?w[w.length-1]:null,activeJobIds:w,activeJobThreads:z,lastErrorByJob:x,workspaceGeneration:a?.workspaceGeneration}});let g=[...new Set([...Array.from(c),...p])];g.length>0&&Au(e,g,t,h).catch(()=>{})})}),o.addEventListener("job_parked",a=>{if(i())return;let l=JSON.parse(a.data);Pn(l.jobId,l)||qi("job_parked",l,l.jobId)}),o.addEventListener("thread_changed",a=>{if(i())return;let l=JSON.parse(a.data);ut(s=>({...s,events:[...s.events,{type:"thread_changed",data:l,timestamp:Date.now()}]}))}),o.addEventListener("job_started",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;if(Pn(s,l))return;let d=l.threadId;ut(c=>({...c,status:"streaming",activeJobId:s,activeJobIds:c.activeJobIds.includes(s)?c.activeJobIds:[...c.activeJobIds,s],activeJobThreads:d?{...c.activeJobThreads,[s]:d}:c.activeJobThreads,jobResponses:{...c.jobResponses,[s]:c.jobResponses[s]??""},jobThinking:{...c.jobThinking,[s]:c.jobThinking[s]??""},currentResponse:c.jobResponses[s]??"",currentThinking:c.jobThinking[s]??"",lastResponseText:null,lastThreadId:null,events:[...c.events,{type:"job_started",data:l,timestamp:Date.now()}]}))}),o.addEventListener("delta",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;if(Pn(s,l))return;let d=l.text||"";ut(c=>({...c,jobResponses:s?{...c.jobResponses,[s]:(c.jobResponses[s]||"")+d}:c.jobResponses,currentResponse:!s||s===c.activeJobId?c.currentResponse+d:c.currentResponse,events:[...c.events,{type:"delta",data:l,timestamp:Date.now()}]}))}),o.addEventListener("thinking",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;if(Pn(s,l))return;let d=l.text||"";ut(c=>({...c,jobThinking:s?{...c.jobThinking,[s]:(c.jobThinking[s]||"")+d}:c.jobThinking,currentThinking:!s||s===c.activeJobId?c.currentThinking+d:c.currentThinking,events:[...c.events,{type:"thinking",data:l,timestamp:Date.now()}]}))}),o.addEventListener("status",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;Pn(s,l)||ut(d=>({...d,events:[...d.events,{type:"status",data:l,timestamp:Date.now()}]}))}),o.addEventListener("orientation",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;Pn(s,l)||ut(d=>({...d,events:[...d.events,{type:"orientation",data:l,timestamp:Date.now()}]}))}),o.addEventListener("approval",a=>{if(i())return;let l=JSON.parse(a.data);Pn(l.jobId,l)||ut(s=>({...s,events:[...s.events,{type:"approval",data:l,timestamp:Date.now()}]}))}),o.addEventListener("imprint_used",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;Pn(s,l)||ut(d=>({...d,events:[...d.events,{type:"imprint_used",data:l,timestamp:Date.now()}]}))}),o.addEventListener("tool_use",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;Pn(s,l)||ut(d=>({...d,events:[...d.events,{type:"tool_use",data:l,timestamp:Date.now()}]}))});for(let a of["image_generation","image_ready"])o.addEventListener(a,l=>{if(i())return;let s=JSON.parse(l.data),d=s.jobId;Pn(d,s)||ut(c=>({...c,events:[...c.events,{type:a,data:s,timestamp:Date.now()}]}))});o.addEventListener("done",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;Pn(s,l)||(s&&delete $o[s],ut(d=>{let c=s?d.activeJobIds.filter(x=>x!==s):d.activeJobIds,f={...d.jobResponses},p={...d.jobThinking},h={...d.activeJobThreads},g=s?f[s]:void 0;s&&(delete f[s],delete p[s],delete h[s]);let m=s===d.activeJobId?c.length>0?c[c.length-1]:null:d.activeJobId;return{...d,activeJobIds:c,activeJobId:m,jobResponses:f,jobThinking:p,lastCompletedJobId:s??d.activeJobId,lastResponseText:l.responseText||g||d.currentResponse||null,lastThreadId:l.threadId??null,...s===d.activeJobId?{currentResponse:m&&f[m]||"",currentThinking:m&&p[m]||""}:{},events:[...d.events,{type:"done",data:l,timestamp:Date.now()}]}}))}),o.addEventListener("question",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;Pn(s,l)||ut(d=>({...d,pendingQuestions:[...d.pendingQuestions,{jobId:l.jobId,threadId:l.threadId,question:l.question,annotationIds:l.annotationIds,timestamp:Date.now()}],events:[...d.events,{type:"question",data:l,timestamp:Date.now()}]}))}),o.addEventListener("capabilities_changed",()=>{i()||ut(a=>({...a,capabilitiesVersion:a.capabilitiesVersion+1}))}),o.addEventListener("workspace_cleared",a=>{if(i())return;let l=JSON.parse(a.data);typeof l.workspaceGeneration!="number"||!Number.isInteger(l.workspaceGeneration)||l.workspaceGeneration<0||ut(s=>{for(let d of s.activeJobIds)Fs.add(d);return{...s,workspaceGeneration:l.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(i())return;let a=[...va().activeJobIds];if(a.length===0){ut(l=>({...l,status:l.status==="error"?"error":"idle",incrementalResolutions:[]}));return}Au(e,a,t).then(()=>{i()||ut(l=>({...l,status:l.activeJobIds.length>0?l.status:l.status==="error"?"error":"idle",incrementalResolutions:l.activeJobIds.length>0?l.incrementalResolutions:[]}))})}),o.addEventListener("error",a=>{if(!i()){if(o.readyState===EventSource.CLOSED){ut(s=>({...s,isConnected:!1,status:"disconnected"})),Dr&&(clearTimeout(Dr),Dr=null);let l=t;Dr=setTimeout(()=>{l===(Ze.connectionGeneration??0)&&ha(e).then(s=>{s&&l===(Ze.connectionGeneration??0)&&Ws(e)})},5e3)}else if(a instanceof MessageEvent){let l=JSON.parse(a.data),s=l.jobId??null;if(Pn(s??void 0,l))return;s&&delete $o[s];let d=l.message??"";ut(c=>{let f=s?c.activeJobIds.filter(h=>h!==s):c.activeJobIds,p=f.length>0?c.status:"error";return{...c,status:p,activeJobIds:f,lastCompletedJobId:s??c.activeJobId,lastErrorByJob:s&&d?{...c.lastErrorByJob,[s]:d}:c.lastErrorByJob,events:[...c.events,{type:"error",data:l,timestamp:Date.now()}]}})}}}),o.onerror=()=>{i()||o.readyState===EventSource.CLOSED&&ut(a=>({...a,isConnected:!1,status:"disconnected"}))}}function Bg(e="http://localhost:1111",t=!0,n){let r=wg(Jg,va,va);_(()=>{if(Mu(n),!t)return;let a=!1;return Ru(e,n).then(l=>{!l||a||ha(l).then(s=>{!a&&s&&(!n||s.projectId===n)&&Ws(l)})}),()=>{a=!0}},[e,t,n]);let o=B(()=>{ut(()=>({...va(),events:[],currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastResponseText:null,lastThreadId:null,lastErrorByJob:{},incrementalResolutions:[]}))},[]),i=B(a=>{ut(l=>({...l,pendingQuestions:l.pendingQuestions.filter(s=>s.threadId!==a)}))},[]);return{...r,clearEvents:o,dismissQuestion:i}}var Lu="devtools-model-id:codex";function Yg(e,t,n){let[r,o]=$(()=>typeof window>"u"?"":localStorage.getItem(Lu)??""),i=e.findIndex(s=>s.id===r),a=i>=0?i:Math.max(0,e.findIndex(s=>s.id==="")),l=B(s=>{o(s),localStorage.setItem(Lu,s)},[]);return _(()=>{n&&t&&r&&i<0&&e.some(s=>s.id)&&l("")},[n,t,r,i,e,l]),{index:a,select:l}}function Ug(e,t,n){let r=e.flatMap(({requestedAt:a,resolvedAt:l})=>Number.isFinite(a)&&Number.isFinite(l)?[[Math.max(t,a),Math.min(n,l)]]:[]).sort((a,l)=>a[0]-l[0]),o=t,i=0;for(let[a,l]of r)i+=Math.max(0,l-Math.max(o,a)),o=Math.max(o,l);return i}function $u(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 ju(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 Kg(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 l=Array.isArray(n.images)?n.images:[],s=[l.filter(d=>d.kind==="annotated-viewport"),l.filter(d=>d.kind!=="annotated-viewport"),[]];for(let d of s){let c=o({...n,images:d,visualEvidence:{status:"partial",reason:"response_size_limit",omitted:l.filter(f=>!d.includes(f)).map(f=>f.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 Xg(e,t,n){let r=q(n);r.current=n;let[o,i]=$([]),a=p=>i(p?[p]:[]),l=q(null),s=q(null),d=q(null),c=B(()=>d.current?.(),[]),f=B(p=>{l.current=p,s.current?.(p)},[]);return _(()=>{if(!e)return;let p={clientId:crypto.randomUUID(),sequence:0,page:location.origin+location.pathname,title:document.title,active:!0,windowFocused:document.hasFocus(),lastInteractionAt:0,blurredAt:0,hover:null,pinned:null,history:[]},h=null,g=new WeakMap,m=new Map,x,w=!1,z=!1,A,S,H=0,R=()=>{let O=location.origin+location.pathname;p.page!==O&&(p.page=O,p.title=document.title,p.hover=null,p.pinned=null,p.history=[],p.recent=null,p.selected=null,m.clear(),h=null,p.lastInteractionAt=0),p.sequence++,A=JSON.stringify(p),!z&&(z=!0,(async()=>{for(;A;){let j=A;A=void 0;try{await Kt(`${t}/focus`,{method:"POST",headers:{"Content-Type":"application/json"},body:j,signal:AbortSignal.timeout(3e3)})}catch{}}z=!1})())},K=(O,j)=>{g.has(O)||g.set(O,crypto.randomUUID());let P=yn(O),L=vn(O),E=getComputedStyle(O),Z={...j?{subject:j}:{},key:g.get(O),capturedAt:Date.now(),selector:P.selector,tagName:P.tagName,text:P.textContent?.slice(0,200),component:P.reactComponent,source:P.reactSource,rect:{x:L.x,y:L.y,width:L.width,height:L.height},styles:Object.fromEntries(["color","background-color","font-size","font-family","display","padding","border-radius"].map(re=>[re,E.getPropertyValue(re)]))};if(m.set(Z.key,{element:O,target:Z}),m.size>32){let re=[...m.keys()].find(ee=>ee!==p.pinned?.key);re&&m.delete(re)}return Z},G=O=>{let j=O?.element??null,P=O?.selection==="selected",L=p.selected??p.hover;j===h&&!!p.selected===P&&L?.subject?.key===O?.subject?.key||(h=j,clearTimeout(x),x=setTimeout(()=>{if(w)return;let E=j?.isConnected&&!ya(j,"input, textarea, select, [contenteditable], [data-popmelt-private], [data-popmelt-canvas-block], [data-devtools]")?K(j,O?.subject):null;p.selected=P?E:null,p.hover=P?null:E,P&&(p.recent=null),p.hover&&(p.history=[...p.history,p.hover].slice(-8)),p.windowFocused&&(p.recent=null),R()},j&&!P?120:0))};s.current=G,d.current=()=>{w||document.visibilityState!=="visible"||(p.lastInteractionAt=Date.now(),p.windowFocused=document.hasFocus(),!S&&(S=setTimeout(()=>{S=void 0,H=Date.now(),R()},Math.max(0,250-(Date.now()-H)))))},G(l.current);let N=()=>{p.windowFocused=document.hasFocus(),p.blurredAt=p.windowFocused?0:Date.now(),p.recent=p.windowFocused?null:p.hover,R()},V=()=>{p.active=document.visibilityState==="visible",p.active?G(l.current):(clearTimeout(x),p.hover=null,p.history=[],p.recent=null,p.selected=null,m.clear(),h=null,p.lastInteractionAt=0),R()};document.addEventListener("visibilitychange",V),window.addEventListener("focus",N),window.addEventListener("blur",N);let Y=setInterval(R,1e4),I=!1,X,te=new Set,D=setInterval(async()=>{if(!(w||I||document.visibilityState!=="visible")){I=!0;try{let O=await Kt(`${t}/focus/requests?clientId=${p.clientId}`,{signal:AbortSignal.timeout(3e3)});if(!O.ok)return;let j=await O.json();for(let P of j){if(te.has(P.id)||w||P.expiresAt<Date.now())continue;te.add(P.id),te.size>64&&te.delete(te.values().next().value);let L=m.get(P.targetKey),E={status:"target_unavailable"};if(P.tasteProposal){let{tasteProposalSession:Z}=await import("./taste-proposal-session-XU4N7RUV.mjs");if(w||P.expiresAt<Date.now())continue;let re=document.activeElement;for(;re?.shadowRoot?.activeElement;)re=re.shadowRoot.activeElement;E=re?.matches("input, textarea, select, [contenteditable]")&&ya(re,"[data-taste-editor]")&&P.tasteProposal.action!=="inspect"?{status:"busy",reason:"The human is editing a proposal field. Retry after editing ends."}:Z.command(P.tasteProposal)}else if(P.workspace){let{collectWorkspaceSnapshot:Z,workspaceAttentionTarget:re}=await import("./workspace-snapshot-EJQHHDQ4.mjs");if(w||P.expiresAt<Date.now())continue;E=Z(r.current.state,P.workspace);let ee=P.workspace.entryId?[P.workspace.entryId]:"entries"in E?E.entries.map(U=>U.id):[],ie=[...new Set(ee.map(U=>re(r.current.state,U,r.current.registry)).filter(U=>!!U))];i(ie);for(let U of ie)U instanceof HTMLElement&&U.hasAttribute("data-popmelt-thread-header")&&cg(U,U);if(ie.length&&(clearTimeout(X),X=setTimeout(()=>a(null),Math.max(0,P.expiresAt-Date.now())),await new Promise(U=>requestAnimationFrame(()=>setTimeout(U,0))),w))break;E.attention=P.workspace.entryId?ie.length?"shown":re(r.current.state,P.workspace.entryId,r.current.registry,!0)?"target_offscreen":"target_missing_hidden_or_ambiguous":{shown:ie.length,requested:ee.length}}else if(L?.element.isConnected&&p.page===location.origin+location.pathname&&!ya(L.element,"[data-popmelt-private], input, textarea, select, [contenteditable]"))try{let Z=P.attentionOnly?null:(await import("./focus-inspection-2FPCQIN2.mjs")).inspectFocusElement;if(w||P.expiresAt<Date.now()||!L.element.isConnected||p.page!==location.origin+location.pathname)continue;if(a(L.element),clearTimeout(X),X=setTimeout(()=>a(null),Math.max(0,P.expiresAt-Date.now())),await new Promise(re=>requestAnimationFrame(()=>setTimeout(re,0))),w)break;E=Z?await Z(L.element,L.target,P.screenshot,r.current):{status:"ok",attention:"shown"}}catch{E={status:"capture_failed"}}if(w||document.visibilityState!=="visible")break;(await Kt(`${t}/focus/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:Kg(P.id,p.clientId,E),signal:AbortSignal.timeout(3e3)})).ok||await Kt(`${t}/focus/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:P.id,clientId:p.clientId,result:{status:"response_rejected"}}),signal:AbortSignal.timeout(3e3)}),clearTimeout(X),a(null)}}catch{}finally{clearTimeout(X),w||a(null),I=!1}}},1e3);return V(),()=>{w=!0,clearTimeout(x),clearTimeout(S),clearInterval(Y),clearInterval(D),clearTimeout(X),a(null),document.removeEventListener("visibilitychange",V),window.removeEventListener("focus",N),window.removeEventListener("blur",N),s.current=null,d.current=null,m.clear(),p.hover=null,p.selected=null,p.history=[],p.active=!1,R()}},[e,t]),{onCanvasFocusChange:f,onCanvasActivity:c,inspectingElement:e?o[0]??null:null,inspectingElements:e?o:[]}}function Vg(e,t,n,r){let[o,i]=$(null),[a,l]=$(null),s=q(0),d=q(Promise.resolve(!0)),c=B(()=>{s.current=Date.now()},[]),f=B(h=>{s.current=Date.now(),i(h)},[]),p=B(h=>l(g=>JSON.stringify(g)===JSON.stringify(h)?g:h),[]);return _(()=>{if(!e||!r)return;let h=o?.element;if(h&&ya(h,"[data-private], [data-sensitive]"))return;let g=a?.targets??(h?[{selector:o?.subject?Dc(o.subject):Ro(h),...o?.subject?{subject:o.subject}:{}}]:[]);if(!g.length)return;let m={pathname:window.location.pathname,ownerId:t,color:n,targets:g,activity:"looking",...a?{threadId:a.threadId}:{}},x=!1,w=null,z=!1,A=(N,V,Y)=>{let I=d.current.then(()=>N!=="finish"&&(x||w!==V)?!1:e(N,V,Y));return d.current=I.catch(()=>!1),I},S=()=>{let N=w;w=null,N&&A("finish",N).catch(()=>{})},H=async()=>{if(x||z)return;if(!(document.visibilityState!=="hidden"&&document.hasFocus()&&m.pathname===window.location.pathname&&(a||h?.isConnected&&(o?.selection==="selected"||Date.now()-s.current<5e3)))){S();return}z=!0;let N=w?"renew":"start",V=w??crypto.randomUUID();w=V;try{!await A(N,V,m)&&w===V&&(w=null),x&&S()}catch{w===V&&(w=null)}finally{z=!1}},R=setTimeout(H,120),K=setInterval(H,1e3),G=()=>S();return window.addEventListener("blur",G),window.addEventListener("focus",H),document.addEventListener("visibilitychange",H),()=>{x=!0,clearTimeout(R),clearInterval(K),S(),window.removeEventListener("blur",G),window.removeEventListener("focus",H),document.removeEventListener("visibilitychange",H)}},[e,r,t,n,o,a]),{onFocus:f,onActivity:c,onThread:p}}var ml="data-popmelt-preview-target",Pu="script,iframe,object,embed,link,meta,base,style,template";function Qg({root:e,targets:t,revision:n,width:r,height:o,cleanClone:i}){let a=e.cloneNode(!0),l=[e,...e.querySelectorAll("*")],s=[a,...a.querySelectorAll("*")],d=new Set,c=new Map;for(let[p,h]of t){if(!p||!l.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,p)}l.forEach((p,h)=>{let g=s[h];(p.shadowRoot||p.matches("canvas,video"))&&d.add("Shadow DOM, canvas and video state are not mirrored");for(let x of[...g.attributes])(/^on/i.test(x.name)||["src","srcset","href","xlink:href","action","formaction","autofocus","contenteditable",ml].includes(x.name))&&g.removeAttribute(x.name);p instanceof HTMLInputElement&&(p.type==="password"||p.type==="file"?g.removeAttribute("value"):g.setAttribute("value",p.value),g.toggleAttribute("checked",p.checked)),p instanceof HTMLTextAreaElement&&(g.textContent=p.value),p instanceof HTMLOptionElement&&g.toggleAttribute("selected",p.selected);let m=c.get(p);m&&g.setAttribute(ml,m),i?.(p,g)});for(let p of a.querySelectorAll(Pu))p.remove();for(let p of a.querySelectorAll("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-root], popmelt-root"))p.remove();if(a.matches(Pu))throw new Error("Unsupported preview root");let f="";for(let p of e.ownerDocument.styleSheets)if(!(p.ownerNode instanceof Element&&p.ownerNode.closest("[data-devtools], [data-popmelt-top-layer-host]")))try{f+=[...p.cssRules].map(h=>h.cssText).join(`
|
|
5
|
-
`)+`
|
|
6
|
-
`}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(p=>[p.name,p.value]))}:{},css:f,width:r,height:o,warnings:[...d]}}function zu(e,t){let n=[...e.querySelectorAll(`[${ml}]`)].filter(r=>r.getAttribute(ml)===t);return n.length===1?n[0]:null}var Gg=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[s,d]of Object.entries(e.bodyAttributes??{}))o.body.setAttribute(s,d);let l=o.createElement("style");return l.textContent="*,*::before,*::after{animation:none!important;transition:none!important;caret-color:transparent!important}",o.head.append(l),o.documentElement.dataset.previewGeneration=String(r),new Promise(s=>{let d=h=>{clearTimeout(p),this.frame.removeEventListener("load",f),this.cancelPending===c&&(this.cancelPending=null),s(h)},c=()=>d(!1),f=()=>{if(r!==this.generation||this.frame.contentDocument?.documentElement.dataset.previewGeneration!==String(r))return;let h=this.frame.contentDocument;n?.(h);for(let g of t.artifacts)g.kind==="style"&&zu(h,g.targetKey)?.style.setProperty(g.property,g.value,"important");this.current={baseline:e,plane:{...t}},d(!0)},p=setTimeout(c,5e3);this.cancelPending=c,this.frame.addEventListener("load",f),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=zu(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(l=>[l,i.getPropertyValue(l)])),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 Zg(e,t){return{id:e,ownerId:t,revision:0,artifacts:[],undo:[],redo:[],attention:null}}function Js(e){return tl(e).flatMap(t=>t==="color"?[...jc]:[t])}function ey(e,t){if(e===void 0)return{families:Di.map(n=>({family:n,label:ws(n)}))};if(!Di.includes(e))throw new Error("Unknown omnidial family");if(!t)return{family:e,subproperties:Js(e)};if(!Js(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:pi(e,t)}:{},tokens:pi(e,t).map(n=>({token:el(e,n,t),value:zi(e,n,t)}))}}function ty(e,t){if(t!==void 0&&!Di.includes(t))throw new Error("Unknown omnidial family");let n=/^translate-x-(-?\d+)-y-(-?\d+)$/.exec(e);if(n&&(!t||t==="transform")){let o=pi("transform","translate"),i=o.find(l=>String(l)===n[1]),a=o.find(l=>String(l)===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]:Di)for(let i of Js(o))for(let a of pi(o,i))el(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 Du(e,t,n,r){let o=e.ownerDocument.defaultView.getComputedStyle(e),i=vc(t,r),a=zi(t,n,r),l=xc(t),s=wc(t,r,n),d=t==="border"&&!ui(t,r)&&typeof n=="number"&&n>0?Sc(r):null,c={family:t,subproperty:$c(t,r),step:n},f=[{property:i,original:o.getPropertyValue(i).trim()||"0px",modified:a,token:el(t,n,r),sticker:c}];l&&f.unshift({property:"display",original:o.getPropertyValue("display").trim()||"block",modified:l,token:l,sticker:c});for(let p of s)f.push({property:p.property,original:o.getPropertyValue(p.property).trim(),modified:p.value,token:p.token,sticker:c});if(d){let p=o.getPropertyValue(d).trim();(!p||p==="none")&&f.push({property:d,original:p||"none",modified:"solid",token:el(t,n,r),sticker:c})}return{alreadyApplied:bc(t,n,r,p=>o.getPropertyValue(p)),changes:f}}function Ou(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 ny(e,t){for(let n of t.changes)ot(e,n.property,n.modified)}var ry=new Set(["text","transform","opacity"]),oy=new Set(["padding","margin","border","radius","color"]);function iy(e){return e instanceof SVGSVGElement&&!(e.parentElement instanceof SVGElement)}function ay(e){return e!=="text-align"}function gl(e,t,n){return jr(e)?e instanceof HTMLElement?!0:t==="text"&&!ay(n)?!1:ry.has(t)||iy(e)&&oy.has(t):!1}function ba(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 ly(e,t){return Object.keys(t).filter(n=>e[n]!==void 0&&e[n]!==t[n])}function Hu(e,t){return Object.keys(e).length===Object.keys(t).length&&Object.keys(t).every(n=>e[n]===t[n])}function qs(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 sy(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 yl(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 Nu=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 Gg(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??al,i=new Set([...n?[n]:[],...ba(o)]),a=new Map;for(let c of i)a.set(c,yl(c));let l=new Map;for(let c of t.textModifications){let f=document.querySelector(c.selector);f&&l.set(f,[...l.get(f)??[],c])}let s=Qg({root:document.body,targets:a,revision:sr(),width:innerWidth,height:innerHeight,cleanClone:(c,f)=>{if(!r){dg(c,f);for(let p of l.get(c)??[]){let h=f;for(let g of p.textNodePath)h=h?.childNodes[g];h?.nodeType===Node.TEXT_NODE&&(h.nodeValue=p.original)}}}}),d=Zg(e.identity.id,e.identity.id);if(d.revision=e.revision,r||(d.artifacts=o.styleModifications.flatMap(c=>c.changes.map(f=>({kind:"style",id:c.selector+f.property,targetKey:c.selector,property:f.property,value:f.modified})))),!await this.surface.render(s,d,c=>{this.sources=Object.fromEntries([...i].map(f=>[f,sy(c.querySelector(`[data-popmelt-preview-target="${CSS.escape(f)}"]`))])),this.changed=ly(e.basis??{},this.sources)}))throw new Error("Preview superseded or unavailable");return this.surface.frame.contentWindow?.scrollTo(scrollX,scrollY),s.warnings}async execute(e,t){let{action:n}=e,r=structuredClone(e.peer);if(n.type==="prepare-send"){if(!ba(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(s=>e.observedSources[s]!==this.sources[s]))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 s={...r,state:{...structuredClone(al),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(s,t),!Hu(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:ey(n.family,n.subproperty)};let o=r.state??{...structuredClone(al),isAnnotating:!0,activeColor:r.color},i=o,a,l=s=>{i=Vm(i,s)};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"){l({type:n.type==="undo"?"UNDO":"REDO"}),await this.render({...r,state:i},t);let s=[...new Set([...ba(o),...ba(i)])].filter(d=>{let c=f=>JSON.stringify([f.annotations.filter(p=>p.linkedSelector===d),f.styleModifications.filter(p=>p.selector===d)]);return c(o)!==c(i)});r.basis=qs(r.basis??{},e.observedSources??{},this.sources,s)}else if(n.type==="attention"&&!n.selector)r.attention=null;else if(n.type==="clear"){let s=n.kind!=="style"&&o.annotations.some(c=>c.linkedSelector===n.selector),d=n.kind!=="comment"&&o.styleModifications.some(c=>c.selector===n.selector);if(!s&&!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=qs(r.basis??{},e.observedSources??{},this.sources,[n.selector])}else if("selector"in n&&n.selector){let s=yl(n.selector),d=yn(s),c=n.selector;if(n.type==="inspect"){let f=await this.render(r,t,c,n.plane==="host");a={...this.surface.inspect(c,n.properties??[]),element:d,warnings:f,view:n.plane??"own",url:sr(),changedSourceTargets:n.plane==="host"?void 0:this.changed}}else if(n.type==="style")if("token"in n){let f=ty(n.token,n.family);if(!gl(s,f.family,f.subproperty))throw new Error("This omnidial token does not support the target");await this.render(r,t,c);let p=this.surface.frame.contentDocument?.querySelector(c);if(!p)throw new Error("Could not inspect original style");let h=f.axisSteps?Ou(p,f.axisSteps.x,f.axisSteps.y):Du(p,f.family,f.step,f.subproperty);h.alreadyApplied||l({type:"MODIFY_STYLES_BATCH",payload:{selector:c,element:{...d,selector:c},changes:h.changes}}),a={token:n.token,selection:f,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 f=this.surface.inspect(c,[n.property])?.styles[n.property];if(f===void 0)throw new Error("Could not inspect original style");l({type:"MODIFY_STYLES_BATCH",payload:{selector:c,element:{...d,selector:c},changes:[{property:n.property,original:f,modified:n.value}]}})}else if(n.type==="comment"){await this.render(r,t,c);let f=s.getBoundingClientRect();l({type:"ADD_TEXT",payload:{id:`peer-note-${e.id}`,point:{x:f.x+scrollX,y:f.y+scrollY-26},text:n.text,linkedSelector:c,elements:[{...d,selector:c}]}})}r.attention=null,(n.type==="comment"||n.type==="style")&&(r.basis=qs(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 dy(e,t,n){let r=!0,o,i=new Set,a=async c=>{let f=new AbortController;i.add(f);let p=setTimeout(()=>f.abort(),1500);try{return await e(c,f.signal)}catch{return!1}finally{clearTimeout(p),i.delete(f)}},l=()=>{r=!1,clearTimeout(o);for(let c of i)c.abort()},s=()=>{l(),a("finish")},d=async()=>{if(!r)return;let c=await a("renew");r&&c&&(o=setTimeout(()=>{d()},1e3))};n.addEventListener("abort",s,{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{l(),n.removeEventListener("abort",s),await a("finish")}}function cy(e){let t=`popmelt-peer-seen:${e}`,[n,r]=$({key:"",revisions:{}});return _(()=>{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:B((o,i)=>{r(a=>{if(a.key!==t||(a.revisions[o]??0)>=i)return a;let l={key:t,revisions:{...a.revisions,[o]:i}};try{localStorage.setItem(t,JSON.stringify(l.revisions))}catch{}return l})},[t]),isUnseen:(o,i)=>n.key===t&&i>(n.revisions[o]??0)}}function uy(e,t){let n,r=l=>(l instanceof Element?l:l.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(l=>{document.hidden||!e.length||l.some(s=>{if(r(s.target)||s.type==="childList"&&[...s.addedNodes,...s.removedNodes].every(c=>r(c)))return!1;let d=s.target instanceof Element?s.target:s.target.parentElement;return d?.closest("style,head")?!0:e.some(c=>{let f=document.querySelector(c);return!f||f.contains(s.target)||d?.contains(f)})})&&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 _u(e){if(!e)return 0;let t=Uh(e.annotations);return lc({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 py(e,t,n,r,o){let[i,a]=$([]),[l,s]=$([]),d=kh(l,e&&r.isAnnotating),c=Eh(e&&r.isAnnotating),{viewedId:f,isPeeking:p}=c,[h,g]=$(),[m,x]=$(),[w,z]=$([]),A=q(null),{markSeen:S,isUnseen:H}=cy(n),R=Se(()=>new Map(i.map(U=>[U.identity.id,_u(U.state)])),[i]),{annotations:K,styleModifications:G,textModifications:N}=r,V=Se(()=>_u({annotations:K,styleModifications:G,textModifications:N}),[K,G,N]),[Y,I]=$(null),X=q(null),te=q({human:r,settings:o});te.current={human:r,settings:o};let D=q({clientId:crypto.randomUUID()}),O=q(async()=>{throw new Error("Canvas is disconnected")}),j=e?i.find(U=>U.identity.id===f):void 0,P=i.find(U=>U.identity.id===c.selectedId)?.state,L=Se(()=>Th(P),[P]);_(()=>{if(!e||!n)return;D.current.token||(D.current={clientId:crypto.randomUUID()});let U=!1,me,le=-1,oe=-1,Me=new AbortController,Te="",Ce=!1,J=new Nu,ve=new Map,$e=ge=>{U||typeof ge.presenceVersion!="number"||ge.presenceVersion<=oe||!Array.isArray(ge.presence)||(oe=ge.presenceVersion,s(ge.presence))},De=async(ge,pe={},Fe=AbortSignal.any([Me.signal,AbortSignal.timeout(5e4)]))=>{let Be=D.current.token,st=await Kt(`${t}/peers/${ge}`,{method:"POST",headers:{"Content-Type":"application/json","X-Popmelt-Project-Id":n},body:JSON.stringify({...D.current,...pe}),signal:Fe}),Ve=await st.json();if(ge!=="host"&&Be!==D.current.token)throw new Error("Canvas session changed during request");if(!st.ok||Ve.error)throw new Error(Ve.error??`Peer request failed (${st.status})`);return Ve};O.current=De;async function et(ge){if(ge.url&&ge.url!==sr())throw new Error("Canvas navigated before the operation could run");if(ge.action.type!=="send"){let Je=im(ge.action);return Je?(yl(Je.selector),dy(async(pt,kn)=>{let Xt=await De("activity",{id:ge.id,phase:pt},kn);return $e(Xt),Xt.accepted===!0},()=>J.execute(ge,te.current.human),Me.signal)):J.execute(ge,te.current.human)}if(!ge.grant)throw new Error("No host-approved Send grant");let pe=structuredClone(ge.peer);if(pe.url!==sr())throw new Error("Return to the proposal\u2019s page before sending");let Fe=pe.state;if(!Fe||!Fe.annotations.length&&!Fe.styleModifications.length)throw new Error("There are no peer changes to send");await J.render(pe,te.current.human);let Be={...J.sources};if(!ge.observedSources||Object.keys(Be).some(Je=>ge.observedSources[Je]!==Be[Je]))throw new Error("Source changed since the last preview. Take another look, then send again.");let st=J.surface.frame.contentDocument;if(!st)throw new Error("Peer preview is unavailable");let[Ve]=await Oi(st.body,null,[],{viewportOnly:!0});if(!Ve)throw new Error("Could not capture the peer preview");if(await J.render(pe,te.current.human),!Hu(Be,J.sources))throw new Error("Source changed while preparing Send. Take another look, then send again.");await De("source",{grant:ge.grant,sources:Be});let ke=Nc(Fe.annotations,Fe.styleModifications,void 0,void 0,Fe.textModifications),{provider:Ue,model:mt,agentSettings:_t}=te.current.settings,yt=await Yc(Ve,JSON.stringify(ke),t,pe.color,Ue,mt,void 0,void 0,_t,void 0,void 0,void 0,ge.grant);return pe.state={...structuredClone(al),isAnnotating:!0,activeColor:pe.color},pe.revision++,pe.basis={},delete pe.pendingRevision,pe.lastJob={jobId:yt.jobId,threadId:yt.threadId},{peer:pe,evidence:{status:"submitted",...yt}}}async function rt(){try{if(!D.current.token||Te!==sr()){let pe=await De("host",{url:sr()});if(U)return;D.current.token=String(pe.token),Te=sr()}let ge=await De("poll",{version:le,presenceVersion:oe});if(U)return;$e(ge),ge.peers&&(a(ge.peers),Ce=ge.peers.length>0,le=Number(ge.version));for(let pe of ge.requests){let Fe=ve.get(pe.id);if(!Fe){try{Fe=await et(pe)}catch(Be){Fe={error:Be instanceof Error?Be.message:String(Be)}}ve.set(pe.id,Fe),ve.size>100&&ve.delete(ve.keys().next().value)}await De("response",{id:pe.id,result:Fe})}}catch(ge){!U&&ge instanceof Error&&ge.message.includes("Host capability")&&(D.current.token=void 0,le=-1,oe=-1,U||s([]))}finally{U||(me=setTimeout(()=>{rt()},document.hidden||!Ce?2e3:600))}}return rt(),()=>{U=!0,Me.abort(),clearTimeout(me),J.dispose(),a([]),s([]),O.current=async()=>{throw new Error("Canvas is disconnected")}}},[e,t,n]),_(()=>{if(x(void 0),z([]),A.current=null,!j||!r.isAnnotating||!X.current){I(null);return}let U=new Nu;X.current.append(U.container),I(null),U.container.removeAttribute("aria-hidden"),U.container.style.cssText="position:absolute;inset:0;pointer-events:none;";let me=!1;j.url&&j.url!==sr()&&x("This draft belongs to another page. Return to it to preview.");let le=!1,oe=!1,Me=()=>{if(!me){if(le){oe=!0;return}le=!0,U.render(j,te.current.human).then(()=>{me||(x(void 0),z(U.changed),A.current={id:j.identity.id,revision:j.revision,values:{...U.sources}},I(U.surface.frame),S(j.identity.id,j.revision))}).catch(ve=>{me||(A.current=null,I(null),x(ve.message))}).finally(()=>{le=!1,oe&&(oe=!1,Me())})}},Te=!j.url||j.url===sr();Te&&Me();let Ce=Te?uy(ba(j.state),Me):()=>{},J=()=>U.surface.frame.contentWindow?.scrollTo(scrollX,scrollY);return window.addEventListener("scroll",J,{passive:!0}),()=>{me=!0,Ce(),window.removeEventListener("scroll",J),U.dispose()}},[j,r.isAnnotating,S]);let E=async U=>{try{return await U(),g(void 0),!0}catch(me){return g(me instanceof Error?me.message:String(me)),!1}},Z=e&&i.length?{peers:[{identity:{id:"host",name:"You",kind:"human",relationship:"host"},permission:"direct",color:r.activeColor,stagedCount:V},...i.map(U=>({...U,stagedCount:R.get(U.identity.id)??0,unseenActivity:H(U.identity.id,U.revision)}))],viewedPeerId:f,selectedPeerId:c.selectedId,onPeek:c.peek,onPeekEnd:c.leave,onPreview:U=>{c.select(U),g(void 0)},onPermissionChange:(U,me)=>E(()=>O.current("permission",{peerId:U,permission:me}))}:null,re=j?.pendingRevision!==void 0?()=>E(()=>{let U=A.current;if(!U||U.id!==f||U.revision!==j.revision)throw new Error("Wait for this draft\u2019s preview before sending.");return O.current("approve",{peerId:f,revision:j.pendingRevision,sources:U.values})}):void 0,ee=!!(j&&r.isAnnotating),ie=e&&(h??(ee?m:void 0));return _(()=>{if(!ee)return;let U=me=>{me.composedPath().some(le=>le instanceof Element&&le.hasAttribute("data-devtools"))||(me.metaKey||me.ctrlKey)&&me.key==="Enter"||(me.key.length===1||["Backspace","Delete","Enter"].includes(me.key))&&(me.preventDefault(),me.stopPropagation())};return window.addEventListener("keydown",U,!0),()=>window.removeEventListener("keydown",U,!0)},[ee]),{toolbar:Z,selectedId:c.selectedId,threadAnnotationNumbers:L,activePreview:ee,isPeeking:p,viewed:j,approve:re,overlay:C(it,{children:[ee&&u("div",{ref:X,"data-devtools":"peer-preview","data-peer-revision":j?.revision,"data-pending-revision":j?.pendingRevision,"data-popmelt-peer-surface":!0,style:{position:"fixed",inset:0,zIndex:1e4,background:"#111",pointerEvents:"auto"}}),d.map(({presence:U,engaged:me})=>{if(p)return null;let le=i.find(Me=>Me.identity.id===U.peerId);if(!le||U.clientId!==D.current.clientId||U.url!==sr()||ee&&le.identity.id!==f)return null;let oe=null;try{oe=ee?Y?.contentDocument?.querySelector(U.selector)??null:yl(U.selector)}catch{}return u(Uc,{element:oe,engaged:me,label:`${le.identity.name} is looking at this element`},`${le.identity.id}:${U.operationId}`)}),!p&&ee&&j&&Y?.contentDocument&&u(Ch,{peer:j,targetDocument:Y.contentDocument,onApprove:re?()=>{re()}:void 0}),ee&&j&&f===c.selectedId&&u("div",{"data-devtools":"peer-plane-border","data-plane-owner":j.identity.id,"aria-hidden":"true",style:{position:"fixed",inset:0,border:`2px solid ${j.color}`,boxSizing:"border-box",pointerEvents:"none",zIndex:10002}}),ee&&j&&f===c.selectedId&&u(Ah,{name:j.identity.name,isOwnPlane:j.identity.id==="host",color:j.color,changed:w.length>0}),ie&&u("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:Ts,fontSize:12,lineHeight:1.4,zIndex:10002},children:ie})]})}}function fy(e,t,n,r,o,i,a){let[l,s]=$(),d=q({navigation:e,selectedId:t});_(()=>{if(!e||!n||l?.navigation===e)return;let c=e.read(),f=o.current,p=!1;if(!c.threadId||c.selectedId!==t){s({navigation:e});return}return i(c.threadId).then(h=>{if(!p){if(f===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{s({navigation:e,unresolvedRevision:f});return}s({navigation:e})}}).catch(()=>{p||s({navigation:e,unresolvedRevision:f})}),()=>{p=!0}},[e,t,n,l,o,i,a]),_(()=>{let c=d.current.navigation!==e||d.current.selectedId!==t;d.current={navigation:e,selectedId:t},!(!e||l?.navigation!==e||c)&&(l.unresolvedRevision===o.current&&!r||e.rememberThread(t,r))},[e,t,r,l,o])}var hy=yu(()=>import("./ParticipantRuntime-SYIF75DS.mjs")),my=yu(()=>import("./PreviewRuntime-JAZLAGQE.mjs"));function gy({children:e,projectId:t,adapters:n,multiplayer:r=!1}){let[o,i]=$(!1);if(_(()=>{i(!0)},[]),!o)return null;let a=window.__POPMELT_PARTICIPANTS__;if(!r)return Oc()?null:a?u("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{fm(a,t)}catch(l){return u("p",{role:"alert","data-devtools":"participant-error",children:l.message})}return Oc()?a?u(vu,{fallback:null,children:u(my,{config:a,adapters:n})}):null:a?u(vu,{fallback:null,children:u(hy,{config:a,children:xg(e,{bridgeUrl:a.url,projectId:a.projectId})},a.projectId)}):e}function yy(e,t,n,r){let o=q(e);o.current=e;let[i,a]=$([]),l=q(null),[s,d]=$(null),[c,f]=$(null),p=i.filter(x=>x.scope===e),h=x=>a(w=>w.filter(z=>z.id!==x)),g=(x,w)=>{let z=Symbol(x);f(null);let A=t(x).then(()=>!0,()=>(o.current===e&&(w(),f({scope:e,message:"Could not dismiss thread. Please try again."})),h(z),!1));a(S=>[...S.filter(H=>H.scope===e),{id:z,threadId:x,rollback:w,saved:A,scope:e,undoHead:r}])},m=async()=>{let x=p.at(-1);if(!(!x||l.current===e)){l.current=e,d(e),f(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&&f({scope:e,message:"Could not restore thread. Try Undo again."})}finally{l.current===e&&(l.current=null,d(null))}}};return{dismiss:g,undo:m,tryUndo:()=>{let x=p.at(-1);return!x||x.undoHead!==r?!1:(m(),!0)},busy:s===e,count:p.length,error:c?.scope===e?c.message:null}}function vy({enabled:e,active:t,configuration:n=!0,adapters:r}){let[o,i]=$(!1),[a,l]=$(null),s=Se(()=>hm(),[]),{recognition:d,selector:c,root:f,observe:p,store:h,imageHasher:g,onError:m}=typeof n=="object"?n:{},x=r.some(S=>S.surfaceKind==="image"||S.id==="see:image"),w=e&&n!==!1&&!x,z=t||o,A=z?d:void 0;return _(()=>{e?t&&i(!0):i(!1)},[e,t]),_(()=>{if(!w)return;let S=mm({recognition:A?{cacheKey:A.cacheKey,configurationKey:A.configurationKey,detect:H=>A.detect(H),reconcile:(...H)=>A.reconcile(...H)}:void 0,hydrateOnly:!z,selector:c,root:f,observe:p,store:h??s,imageHasher:g,onError:m});return l(S),()=>{l(null),S.destroy()}},[w,A,z,c,f,p,h,s,g,m]),Se(()=>w&&a?[a,...r]:r,[w,a,r])}function by({enabled:e,configuration:t=!0,adapters:n}){let[r,o]=$(null),i=Se(()=>gm(),[]),{segmentation:a,tracking:l,selector:s,root:d,observe:c,store:f,onError:p}=typeof t=="object"?t:{},h=n.some(m=>m.surfaceKind==="video"||m.id==="see:video"),g=e&&t!==!1&&!h;return _(()=>{if(!g)return;let m=ym({tracking:l,segmentation:a,selector:s,root:d,observe:c,store:f??i,onError:p});return o(m),()=>{o(null),m.destroy()}},[g,l,a,s,d,c,f,i,p]),Se(()=>g&&r?[r,...n]:n,[g,r,n])}function Fu(e,t){return JSON.stringify([e,t.adapter,t.key])}async function Wu(e,t,n,r){for(let o of t){if(!o.target)continue;let i=Fu(n,o.target);if(!r.has(i))try{r.set(i,await e.captureFeedback(o.target))}catch{r.set(i,null)}}}function xy(e,t,n){let r=new Map;for(let o of e.annotations){let i=t.find(l=>l.id===o.id),a=(i?.groupId?t.filter(l=>l.groupId===i.groupId):t.filter(l=>l.id===o.id)).flatMap(l=>n.get(l.id)??[]);a.length&&r.set(o.id,a)}return r}function wy(e,t,n,r){for(let o of e.annotations){if(!o.target)continue;let i=n.get(Fu(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 Sy(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 Iy(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 Ju(e){let t=e.instruction?.trim();return t?e.attachments?.some(n=>n.name?.trim()===t)?null:t:null}function ky(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 Ey(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 Ty(e){let t=e.annotations.map(o=>{let i=o.interactionEpisode?.steps.length??0;return{kind:"annotation",annotationId:o.id,pathname:o.pathname,text:Ju(o)??Ey(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 l={kind:"changes",elementKey:i,elementLabel:ky(o.element,o.selector),...o.annotationNumber!==void 0?{annotationNumber:o.annotationNumber}:{},pathname:o.pathname,changes:[o.text]};n.set(i,l),t.push(l)};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 Cy(e){let t=e.annotations.flatMap(r=>{let o=Ju(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(`
|
|
7
|
-
|
|
8
|
-
`);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}\`
|
|
9
|
-
${o.map(i=>`- ${i}`).join(`
|
|
10
|
-
`)}`).join(`
|
|
11
|
-
`)}function Ay(e,t=96){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(0,t-3))}...`:n}function My(e,t,n){let r=[],o=(i,a)=>{let l=i.filter(d=>!d.includes("data-pm=")),s=mu(l,a);s.status!=="matched"||r.some(d=>d.element===s.element)||r.push({element:s.element,elementInfo:yn(s.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 Ry(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=vn(e.element);return n.width>0&&n.height>0&&n.bottom>0&&n.right>0&&n.top<window.innerHeight&&n.left<window.innerWidth}function Ly({entry:e,color:t,subjectRegistry:n,hasExistingOverlay:r}){let o=Pr(Hi),i=us(),[a,l]=$(null);return _(()=>{if(!o)return;let s=My(e,i,n),d=()=>{let p=s.filter(Ry);l(h=>h?.entry===e&&h.pathname===i&&h.targets.length===p.length&&h.targets.every((g,m)=>g===p[m])?h:{entry:e,pathname:i,targets:p})};d();let c=eu(d),f=ju(d);return()=>{c(),f.disconnect()}},[e,i,n,o]),a?.entry!==e||a.pathname!==i?null:u("div",{"data-devtools":"history-target-preview",style:{pointerEvents:"none"},children:a.targets.filter(s=>!r?.(s.element)).map((s,d)=>u(ao,{element:s.element,elementInfo:s.elementInfo,subjectRegistry:n,isSelected:!1,hideFill:!s.subject,color:t},d))})}function $y(){if(typeof window>"u")return null;try{let e=window.localStorage.getItem(ys);return e?JSON.parse(e):null}catch{return null}}function jy({bridgeUrl:e,annotations:t}){let[n,r]=$($y);_(()=>{if(!n||n.domEdit)return;let l=t.find(s=>s.id===n.id&&(s.status??(s.captured?"in_flight":"pending"))!=="pending");!l||l.text!==n.text||n.images?.length||JSON.stringify(l.attachments??[])!==JSON.stringify(n.attachments??[])||JSON.stringify(l.interactionEpisode??null)!==JSON.stringify(n.interactionEpisode??null)||r(s=>s===n?null:s)},[n,t]),_(()=>{n&&!n.domEdit?window.localStorage.setItem(ys,JSON.stringify(n)):window.localStorage.removeItem(ys)},[n]),_(()=>{let l=n?.attachments?.map(s=>s.id)??[];!e||l.length===0||qc(e,l).catch(()=>{})},[n?.attachments,e]);let o=B(l=>{!e||!l?.length||Promise.all(l.map(s=>Cs(e,s.id).catch(()=>{})))},[e]),i=B(async l=>{if(!n||n.domEdit)return;let s=Kh(l.clipboardData.getData("text/plain"));if(s){if(l.preventDefault(),!e)return;if(s.blob.size>2097152){console.warn("[Popmelt] Pasted attachment exceeds the 2 MB draft limit.");return}try{let f=n.groupId?t.find(h=>h.groupId===n.groupId&&h.type!=="text")?.id??n.id:n.id,p=await Nm(e,f,s);r(h=>h?.id===n.id?{...h,attachments:[...h.attachments??[],p]}:h)}catch(f){console.error("[Popmelt] Failed to stage pasted attachment:",f)}return}let d=l.clipboardData.items,c=[];for(let f=0;f<d.length;f+=1){let p=d[f];if(!p.type.startsWith("image/"))continue;let h=p.getAsFile();h&&c.push(h)}c.length!==0&&(l.preventDefault(),r(f=>f?{...f,images:[...f.images??[],...c]}:null))},[n,t,e]),a=B(l=>{r(s=>s&&{...s,attachments:s.attachments?.filter(d=>d.id!==l)}),e&&Cs(e,l).catch(()=>{})},[e]);return{activeText:n,setActiveText:r,handleTextPaste:i,removeActiveTextAttachment:a,releaseActiveTextAttachments:o}}function Py({annotations:e,isCreatingAnnotation:t,hoveredTextId:n,badgeHoveredAnnotationId:r,highlightedAnnotationIds:o,cycleFocusedAnnotationIds:i,hoveredElement:a}){let l=Se(()=>{let f=e.filter(m=>(m.status??"pending")==="pending");if(f.length===0&&!t)return null;let p=new Set(f.map(m=>m.id)),h=new Set(f.flatMap(m=>m.groupId?[m.groupId]:[])),g=new Set(f.flatMap(m=>m.threadId?[m.threadId]:[]));for(let m of e)(m.groupId&&h.has(m.groupId)||m.threadId&&g.has(m.threadId))&&p.add(m.id);return p},[e,t]),s=Se(()=>{let f=new Set;if(n&&f.add(n),r&&f.add(r),o?.forEach(p=>f.add(p)),a){for(let p of e)if(p.linkedSelector)try{Fi(a,p.linkedSelector)&&f.add(p.id)}catch{}}return vs(e,f)},[e,n,r,o,a]),d=Se(()=>o?vs(e,o):null,[e,o]),c=Se(()=>i?vs(e,i):null,[e,i]);return{cycleSpotlightAnnotationIds:c,emphasizedAnnotationIds:d??c??l,hoverRestoredAnnotationIds:s,inactiveEmphasisOpacity:d||c?.2:.5,statusSpotlightAnnotationIds:d}}function zy({activeText:e,activeTextSendHintId:t,annotationNumberById:n,badgeHoveredAnnotationId:r,canvasRef:o,focusedThreadAnnotationId:i,hoveredElement:a,hoveredElementInfo:l,hoveredTextId:s,showHoverElementIdentifier:d,layoutReady:c,layoutRevision:f,pageAnnotations:p,parentPinnedAnnotationIds:h,pendingLinkedText:g,scroll:m,supersededAnnotations:x,textSafeBounds:w}){let z=q(new Map);return Se(()=>{let A=new Set,S=new Map,H=new Map,R=new Map,K=()=>({hiddenCollidingAnnotationIds:A,nestedCollidingAnnotationCountById:S,nestedCollidingAnnotationIdsById:H,visibleCollisionRepresentativeByAnnotationId:R});if(!c)return K();let G=o.current?.getContext("2d");if(!G)return K();let N=(L,E,Z,re,ee)=>{G.font=`${re}px ${In}`;let ie=(Z||"Type here...").replace(/\n/g," "),U=ee!==void 0?`${ee}. ${ie}`:ie,me={x:E.x-m.x,y:E.y-m.y},le=h.has(L)?Ps:0,oe=Math.max(60,Ms(me.x)-le),Me=au(G,U,oe),Te=G.measureText(Me).width,Ce=lu(me,re,w,le+Te+16);return{left:Ce.x-8,top:Ce.y-4,right:Ce.x+le+Te+8,bottom:Ce.y+re*lr+4}},V=new Set,Y=p.flatMap(L=>{if(L.type!=="text"||!L.text||!L.points[0]||!L.linkedSelector||x.has(L))return[];let E=L.elements?.[0]?.selector,Z=z.current.get(L.id),re=Z?.selector===L.linkedSelector&&Z.fallbackSelector===E&&Z.element.isConnected,ee=re?Z.element:Zt(L.linkedSelector,L.elements);if(!ee)return[];let ie=re?Z.depth:Vh(ee);return z.current.set(L.id,{selector:L.linkedSelector,fallbackSelector:E,element:ee,depth:ie}),V.add(L.id),[{id:L.id,annotation:L,element:ee,bounds:N(L.id,L.points[0],L.text,L.fontSize||12,n.get(L.id)),depth:ie}]});for(let L of z.current.keys())V.has(L)||z.current.delete(L);if(Y.length===0)return K();let I=Y.map((L,E)=>E),X=L=>{let E=L;for(;I[E]!==E;)E=I[E];for(;I[L]!==L;){let Z=I[L];I[L]=E,L=Z}return E},te=(L,E)=>{let Z=X(L),re=X(E);Z!==re&&(I[re]=Z)};for(let L=0;L<Y.length;L+=1)for(let E=L+1;E<Y.length;E+=1){let Z=Y[L],re=Y[E];bs(Z.element,re.element)&&xs(Z.bounds,re.bounds)&&te(L,E)}let D=new Map;Y.forEach((L,E)=>{let Z=X(E),re=D.get(Z)??[];re.push(L),D.set(Z,re)});for(let L of D.values())for(let E of L){let Z=new Set,re=L.flatMap(ee=>ee.id===E.id||ee.element===E.element||!E.element.contains(ee.element)||Z.has(ee.element)?[]:(Z.add(ee.element),[ee.id]));re.length>0&&(S.set(E.id,re.length),H.set(E.id,re))}let O=e?.linkedSelector?{id:e.id,element:Zt(e.linkedSelector,e.elements),bounds:N(e.id,e.point,e.text,e.fontSize,n.get(e.id))}:g?.linkedSelector?{id:t,element:Zt(g.linkedSelector,g.elements),bounds:N(t,g.point,"",12)}:null,j=null;if(a&&d){let L=vn(a),E=22,Z=L.height>=window.innerHeight,re=Z?L.top+8:L.top>=E+Pi?L.top-E-Pi:L.bottom+Pi,ee=Z?L.left+8:L.left,ie=l?Qh(l):a.tagName.toLowerCase();G.font=`12px ${In}`;let U=Math.min(400,G.measureText(ie).width+16);j={left:ee,top:re,right:ee+U,bottom:re+E}}let P=(L,E)=>{L.forEach(Z=>{Z.id!==E&&A.add(Z.id),E&&R.set(Z.id,E)})};for(let L of D.values()){if(O?.element&&L.some(ee=>bs(O.element,ee.element)&&xs(O.bounds,ee.bounds))){let ee=new Set,ie=L.flatMap(U=>U.element===O.element||!O.element.contains(U.element)||ee.has(U.element)?[]:(ee.add(U.element),[U.id]));ie.length>0&&(S.set(O.id,ie.length),H.set(O.id,ie)),P(L,L.find(U=>U.id===O.id)?.id);continue}let E=[s,r].find(ee=>ee&&L.some(ie=>ie.id===ee)),Z=L.find(ee=>ee.id===E);if(Z){P(L,Z.id);continue}if(a){let ee=L.find(ie=>ie.element===a);if(ee){P(L,ee.id);continue}if(j&&L.some(ie=>!Gh(ie.annotation)&&!Zh(ie.annotation)&&ie.annotation.status!=="awaiting_review"&&bs(a,ie.element)&&xs(j,ie.bounds))){P(L);continue}}let re=[i].find(ee=>ee&&L.some(ie=>ie.id===ee));if(re){P(L,re);continue}if(L.length>1){let ee=L.reduce((ie,U)=>U.depth<ie.depth||U.depth===ie.depth&&(U.bounds.top<ie.bounds.top||U.bounds.top===ie.bounds.top&&U.annotation.timestamp<ie.annotation.timestamp)?U:ie);P(L,ee.id)}}return K()},[e,t,n,r,o,i,a,l,s,d,c,p,h,g,m.x,m.y,x,w,f])}function qu(e){if(!e.isConnected||!ll(e.ownerDocument))return!1;let t=fu(vn(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=gu(n)}return!0}function Dy(e){if(!e)return null;try{return Os(e)}catch{return null}}function Bu(e,t){if(e?.isConnected){let r=e;for(;r&&r!==document.documentElement;){if(qu(r))return{element:r,parentPinned:r!==e};r=gu(r)}}let n=Dy(t);return n&&qu(n)?{element:n,parentPinned:!0}:null}function Bs(e,t,n){return Bu(e,n)?.element===t}function Yu(e,t){let n=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(t):t.replace(/["\\]/g,"\\$&");return`[${e}="${n}"]`}function Oy(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=Os(Yu("data-popmelt-media-id",r));if(o)return o;let i=Os(Yu("data-popmelt-see-id",r));if(i)return i}return hu(e.linkedSelector,t)}var Hy='#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 Ny(e,t){return e.size===t.size&&[...e].every(n=>t.has(n))}function _y({annotations:e,currentPathname:t,dispatch:n,stateRef:r,styleModifications:o,subjectRegistry:i,toolbarRef:a,onTargetResolutionChange:l}){let s=Pr(Hi),[d,c]=$(()=>new Set),f=Se(()=>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]),p=Se(()=>o.filter(h=>!h.pathname||h.pathname===t).map(h=>h.selector).sort().join("|"),[t,o]);return _(()=>{if(!s)return;if(!f){c(j=>j.size===0?j:new Set);return}let h=null,g=!1,m=document.createElement("canvas").getContext("2d"),x=null,w=new Map,z=new Map,A=new Map,S=Xh(r.current.annotations.flatMap(j=>[j.linkedSelector,j.elements?.[0]?.selector].filter(P=>!!P))),H=()=>{if(x)return x;let j=r.current.annotations.filter(L=>L.linkedSelector&&(!L.pathname||L.pathname===t)),P=new Map;return x=j.flatMap(L=>{z.has(L.id)||z.set(L.id,Oy(L));let E=z.get(L.id);P.set(L.id,E);let Z=Bu(E,L.elements?.[0]?.context);return Z?[{annotation:L,spatialAnchor:Z}]:[]}),(P.size!==A.size||[...P].some(([L,E])=>A.get(L)!==E))&&(A=P,l?.()),x},R=()=>{x=null,w.clear()},K=()=>{let j=r.current.styleModifications.filter(me=>!me.pathname||me.pathname===t),P=[],L=H(),E=new Map(r.current.annotations.map(me=>[me.id,me])),Z=new Set(L.filter(({spatialAnchor:me})=>me.parentPinned).map(({annotation:me})=>me.id));c(me=>Ny(me,Z)?me:Z);let re=new Map,ee=new Map,ie=new Map;for(let{annotation:me,spatialAnchor:le}of L){let oe=ie.get(le.element)??[];oe.push(me),ie.set(le.element,oe)}let U=new Map;for(let me of ie.values()){me.sort((Te,Ce)=>Te.timestamp-Ce.timestamp);let le=0,oe,Me=0;for(let Te of me)Te.timestamp!==oe&&(oe=Te.timestamp,Me=le),U.set(Te.id,Me),le+=1}for(let{annotation:me,spatialAnchor:le}of L){let oe=le.element,Me=re.get(oe);Me||(Me=vn(oe),re.set(oe,Me));let Te=ee.get(oe);Te===void 0&&(Te=j.some(pe=>{if(pe.captured)return!1;try{return Fi(oe,pe.selector)}catch{return!1}}),ee.set(oe,Te));let Ce=U.get(me.id)??0,J=(Te?1:0)+Ce,ve=w.get(me.id);if(ve===void 0&&me.text&&m){let pe=me.fontSize||12;m.font=`${pe}px ${In}`,ve=Math.max(...me.text.split(`
|
|
12
|
-
`).map(Fe=>m.measureText(Fe).width))+(le.parentPinned?Ps:0),w.set(me.id,ve)}let $e=Me.top>=22*(1+J)+Pi?"top-left":"bottom-left",De=oe===document.body&&hc(me)?Ic(Me):kc(Me,$e,J,a?.current,ve),et=E.get(me.id),rt=et?.points[0],ge=$e!==et?.linkedAnchor;rt&&(ge||Math.abs(De.x-rt.x)>1||Math.abs(De.y-rt.y)>1)&&P.push({id:me.id,point:De,linkedAnchor:ge?$e:void 0})}P.length>0&&n({type:"UPDATE_LINKED_POSITIONS",payload:{updates:P}})},G=()=>{g||h!==null||(h=requestAnimationFrame(()=>{h=null,K()}))};K();let N=()=>{R(),G()},V=eu(K);window.addEventListener("resize",N,!0),window.addEventListener("load",N),document.addEventListener("transitionend",N,!0),document.addEventListener("animationend",N,!0),document.fonts.ready.then(N);let Y=i?.subscribeFrame(K),I=new Set,X=()=>{for(let j of gg())!(j instanceof ShadowRoot)||I.has(j)||(I.add(j),te.observe(j,D))},te=new MutationObserver(j=>{let P=j.filter(L=>{let E=L.target,Z=E instanceof Element?E:E.parentElement;return!Z||!ya(Z,Hy)});P.some(L=>L.addedNodes.length)&&X(),P.some(S.changesIdentity)&&z.clear(),P.length&&N()}),D={attributes:!0,childList:!0,characterData:!0,subtree:!0,attributeFilter:S.attributes};te.observe(document.body,D),X();let O=f.includes("@frame(")?tu(()=>{z.clear(),R(),K()}):void 0;return()=>{g=!0,O?.(),V(),window.removeEventListener("resize",N,!0),window.removeEventListener("load",N),document.removeEventListener("transitionend",N,!0),document.removeEventListener("animationend",N,!0),te.disconnect(),Y?.(),h&&cancelAnimationFrame(h)}},[s,t,n,f,p,r,i,a,l]),d}function Fy(){let e=q({shift:!1,cmd:!1});return _(()=>{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 Wy({annotations:e,annotationIds:t,badgeHoveredAnnotationId:n,hoveredTextId:r}){let o=Se(()=>{let d=new Map;for(let c of e){if(!t.has(c.id))continue;let f=ug(c.elements);f&&d.set(c.id,f)}return d},[e,t]),i=[n,r].find(d=>d&&o.has(d))??null,[a,l]=$(null);_(()=>{if(l(null),!i)return;let d=window.setTimeout(()=>{l(i)},500);return()=>window.clearTimeout(d)},[i]);let s=B(async d=>{let c=await pg(d.linkedSelector,d.elements);if(!c)return;let f=vn(c);(f.bottom<0||f.top>window.innerHeight)&&c.scrollIntoView({behavior:"smooth",block:"center"})},[]);return{locationLabels:o,tooltipAnnotationId:a,revealAnnotation:s}}function Jy({activeText:e,activeTextAnchorId:t,hoveredElement:n,hoveredTextId:r,pendingTextAnnotations:o}){let[i,a]=$(null);return _(()=>{if(e&&!e.domEdit&&e.text.trim()){a(t);return}a(l=>l&&o.some(s=>s.id===l)?l:o[0]?.id??null)},[e,t,o]),_(()=>{if(!r)return;let l=o.find(s=>s.id===r);l&&a(l.id)},[r,o]),_(()=>{if(!n)return;let l=o.find(s=>{if(!s.linkedSelector)return!1;try{return Fi(n,s.linkedSelector)}catch{return!1}});l&&a(l.id)},[n,o]),{sendHintAnchorId:i,setSendHintAnchorId:a}}function qy(e,t,n,r,o){_(()=>{let i=a=>{if(e){if(e.domEdit||e.linkedSelector)return;a.preventDefault(),a.stopPropagation();let s=a.deltaY>0?-2:2;t(d=>d?{...d,fontSize:Math.max(12,Math.min(72,d.fontSize+s))}:null);return}if(!n)return;a.preventDefault();let l=r.find(s=>s.id===n);if(l&&l.type==="text"&&!l.linkedSelector){let s=l.fontSize||12,d=a.deltaY>0?-2:2;o({type:"UPDATE_TEXT_SIZE",payload:{id:n,fontSize:s+d}})}};return window.addEventListener("wheel",i,{passive:!1}),()=>{window.removeEventListener("wheel",i)}},[n,e,r,o,t])}var By=86,Yy=36,Uy=2;function Ky({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?Yy:0)+Vc(t)+(n?By:0)+Math.max(0,o-1)*Uy}function Xy({rawLeft:e,width:t,top:n,scroll:r,collisionId:o,nestedAnnotationCount:i,nestedAnnotationIds:a,nestedBadgeColor:l,interactionEpisodeStepCount:s,imageCount:d=0,color:c="#f50",showSendHint:f,bundleCount:p,onHoverNestedAnnotations:h,onHoverSendHint:g,onClearInteractionEpisode:m,onSend:x}){return i===0&&s===0&&d===0&&!f?null:u(Um,{"data-popmelt-active-annotation-surface":"true",left:e+t+r.x+2-ru,top:n+r.y-ru,scrollX:r.x,scrollY:r.y,onContextMenu:w=>{w.preventDefault(),w.stopPropagation()},style:{pointerEvents:"auto",zIndex:10002},children:C("div",{style:{display:"flex",alignItems:"center",gap:2},children:[u(nu,{stepCount:s,onClear:m}),i>0&&o&&u(Km,{count:i,color:l,onHoverChange:w=>h(o,w?a:null)}),C("div",{style:{display:"flex",alignItems:"center",isolation:"isolate",marginLeft:d>0?4:0},children:[u(om,{imageCount:d,color:c}),f&&u(Xm,{layered:d>0,bundleCount:Math.max(1,p),onHoverChange:g,onSend:x})]})]})})}function Vy({value:e,fontSize:t,prefix:n,inputRef:r,inputStyle:o,selectionBackground:i,selectionColor:a,annotationBorderRadius:l,activeColor:s,boundaryRects:d,viewportClip:c,wrapsDomText:f,showEditor:p,rawLeft:h,top:g,baselineOffset:m,onChange:x,onKeyDown:w,onPaste:z,onBlur:A}){let S=d!==void 0;return C("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:[u("style",{children:`
|
|
13
|
-
#devtools-text-input::placeholder { color: rgba(255, 255, 255, 0.5); }
|
|
14
|
-
#devtools-text-input::selection {
|
|
15
|
-
background: ${i};
|
|
16
|
-
color: ${a};
|
|
17
|
-
}
|
|
18
|
-
@keyframes popmeltAnnotationFieldEnter {
|
|
19
|
-
from { border-radius: 8px; }
|
|
20
|
-
to { border-radius: ${l}; }
|
|
21
|
-
}
|
|
22
|
-
@media (prefers-reduced-motion: reduce) {
|
|
23
|
-
#devtools-text-input { animation: none !important; }
|
|
24
|
-
}
|
|
25
|
-
`}),d?.map((H,R)=>u("div",{"data-devtools":"text-edit-active-boundary",style:{position:"fixed",left:H.left,top:H.top,width:H.width,height:H.height,pointerEvents:"none",zIndex:10002,border:`1px solid ${s}`,backgroundColor:rl(s,.08),boxSizing:"border-box"}},`${H.left}:${H.top}:${R}`)),p&&u("textarea",{id:"devtools-text-input","data-popmelt-active-annotation-surface":S?void 0:"true",ref:r,value:e,onChange:x,onKeyDown:w,onPaste:z,onBlur:A,placeholder:"Type here...",wrap:S?f?"soft":"off":void 0,spellCheck:!1,style:{...o,pointerEvents:"auto"}}),p&&!S&&n&&u("span",{"aria-hidden":!0,"data-devtools":"annotation-number",style:{position:"fixed",left:h+8,top:g+4+m,zIndex:10002,pointerEvents:"none",color:"#ffffff",fontFamily:In,fontSize:t,lineHeight:`${t*lr}px`,whiteSpace:"pre"},children:n})]})}function Qy({anchor:e,insetTopLeft:t=!1,width:n,height:r,value:o,fontSize:i,prefix:a,inputRef:l,inputStyle:s,onChange:d,onKeyDown:c,onPaste:f,onBlur:p,onContextMenu:h}){return C("div",{"data-popmelt-active-annotation-surface":"true",onContextMenu:h,style:{position:"relative",width:n,height:r,flex:`0 0 ${n}px`},children:[u("textarea",{id:"devtools-text-input","data-popmelt-active-annotation-surface":"true",ref:l,value:o,onChange:d,onKeyDown:c,onPaste:f,onBlur:p,onClick:g=>g.stopPropagation(),placeholder:"Type here...",spellCheck:!1,style:{...s,position:"relative",left:0,top:0,zIndex:0,paddingTop:4,paddingBottom:4,borderRadius:t?ma("bottom-left"):ma(e),animation:void 0}}),a&&u("span",{"aria-hidden":!0,"data-devtools":"annotation-number",style:{position:"absolute",left:8,top:4,zIndex:1,pointerEvents:"none",color:"#ffffff",fontFamily:In,fontSize:i,fontWeight:600,lineHeight:`${i*lr}px`,whiteSpace:"pre"},children:a})]})}function Gy(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,l={x:Math.max(e.left,Math.min(o,r.x)),y:Math.max(e.top,Math.min(i,r.y))};return{annotation:l,subject:r,visible:!a&&Math.hypot(r.x-l.x,r.y-l.y)>=2}}function Zy({element:e,annotationRect:t,subjectAnchor:n,color:r,subjectRegistry:o}){let i=q(null);return _(()=>{let a=i.current;if(!a)return;let l=a.querySelector("line"),s=a.querySelector("circle");if(!l||!s)return;let d=()=>{let p=Gy(t,n,vn(e));a.style.display=p.visible?"":"none",l.setAttribute("x1",String(p.annotation.x)),l.setAttribute("y1",String(p.annotation.y)),l.setAttribute("x2",String(p.subject.x)),l.setAttribute("y2",String(p.subject.y)),s.setAttribute("cx",String(p.subject.x)),s.setAttribute("cy",String(p.subject.y))};d();let c=o?.subscribeFrame(d),f=o?null:new MutationObserver(d);return f?.observe(e,{attributes:!0,attributeFilter:["style"]}),window.addEventListener("resize",d),()=>{c?.(),f?.disconnect(),window.removeEventListener("resize",d)}},[t,e,n,o]),u("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:C("g",{ref:i,children:[u("line",{stroke:r,strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),u("circle",{"data-popmelt-subject-draft-point":"",r:"3",fill:r,stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]})})}var Uu=160;function ev({color:e,cursorRef:t,tool:n,onHandoff:r,onDone:o}){let i=q(null),a=q(r);a.current=r,Tt(()=>{let s=i.current;if(!s)return;let d=(p,h)=>{s.style.left=`${p-4}px`,s.style.top=`${h-4}px`},c=t.current;c&&d(c.x,c.y);let f=p=>d(p.clientX,p.clientY);return window.addEventListener("pointermove",f,{capture:!0}),()=>window.removeEventListener("pointermove",f,{capture:!0})},[t]),_(()=>{let s=window.setTimeout(()=>a.current(),Uu*.75);return()=>window.clearTimeout(s)},[]);let l=n==="inspector";return C("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 ${Uu}ms ease-in-out both`,filter:`drop-shadow(0 .5px .35px rgba(0,0,0,.22)) drop-shadow(0 .75px .65px ${rl(e,.42)}) drop-shadow(0 1.25px 1.1px ${rl(e,.24)})`},children:[u("svg",{width:"24",height:"24",viewBox:"-3 -3 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{overflow:"visible"},children:l?u("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"}):u("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"})}),u("style",{children:`
|
|
26
|
-
@keyframes popmeltCursorSwitchPulse {
|
|
27
|
-
0%, 100% { transform: scale(1); }
|
|
28
|
-
50% { transform: scale(1.5); }
|
|
29
|
-
0%, 75% { opacity: 1; }
|
|
30
|
-
100% { opacity: 0; }
|
|
31
|
-
}
|
|
32
|
-
`})]})}function vl(e,t){let n=({x:r,y:o})=>{let i=Ds({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 bl=28,Ku=12,tv=8,Xu=["transition","transform","translate","rotate","scale"];function fi(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 xl={a:1,b:0,c:0,d:1,e:0,f:0};function Po(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 Ys(e,t){return{...xl,e,f:t}}function Vu(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 Qu(e,t){return{a:e,b:0,c:0,d:t,e:0,f:0}}function wl(e,t){if(!e)return 0;let n=Number.parseFloat(e);return Number.isFinite(n)?e.endsWith("%")?n/100*t:n:0}function Sl(e){if(!e)return 1;let t=Number.parseFloat(e);return Number.isFinite(t)?e.endsWith("%")?t/100:t:1}function Gu(e){if(!e||e==="none")return xl;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,l,s,d]=r;return{a:o,b:i,c:a,d:l,e:s,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 xl}function Us(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 nv(e){let t=getComputedStyle(e),n=t.rotate.trim().split(/\s+/).at(-1)??"0",r=Vu(Number.parseFloat(n)||0),[o="1",i=o]=t.scale.trim().split(/\s+/),a=Qu(Sl(o),Sl(i)),l=Gu(t.transform);return{...Po(r,Po(a,l)),e:0,f:0}}function rv(e){let t=xl,n=e.parentElement;for(;n;)jr(n)&&(t=Po(nv(n),t)),n=n.parentElement;return t}function ov(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 iv(e,t){let{width:n,height:r}=ep(e,t);if(n<=0||r<=0)return t;let o=rv(e),i=Us(o,{x:n,y:0}),a=Us(o,{x:0,y:r}),l=wa(t);return ov(l,i,a)}function Yi(e,t){let[n]=e.getBoxQuads?.({box:"border"})??[];if(n)return fi(e);let r=getComputedStyle(e),{width:o,height:i}=ep(e,t);if(o<=0||i<=0)return fi(e);let[a="0",l="0"]=r.translate.trim().split(/\s+/),s=Ys(wl(a,o),wl(l,i)),d=r.rotate.trim().split(/\s+/).at(-1)??"0",c=Vu(Number.parseFloat(d)||0),[f="1",p=f]=r.scale.trim().split(/\s+/),h=Qu(Sl(f),Sl(p)),g=Gu(r.transform),[m="50%",x="50%"]=r.transformOrigin.trim().split(/\s+/),w={x:wl(m,o),y:wl(x,i)},z=Po(Ys(w.x,w.y),Po(c,Po(h,Po(g,Ys(-w.x,-w.y))))),A=Po(s,z),S={x:(t.topRight.x-t.topLeft.x)/o,y:(t.topRight.y-t.topLeft.y)/o},H={x:(t.bottomLeft.x-t.topLeft.x)/i,y:(t.bottomLeft.y-t.topLeft.y)/i},R=K=>{let G=Us(A,K);return{x:t.topLeft.x+S.x*G.x+H.x*G.y,y:t.topLeft.y+S.y*G.x+H.y*G.y}};return{topLeft:R({x:0,y:0}),topRight:R({x:o,y:0}),bottomRight:R({x:o,y:i}),bottomLeft:R({x:0,y:i})}}function xa(e){let t=Xu.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 Xu)o!=="transition"&&e.style.setProperty(o,"none","important");let[n]=e.getBoxQuads?.({box:"border"})??[],r=fi(e);return n?r:iv(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 av(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 Il(e,t,n){let[r="0",o=r]=e.trim().split(/\s+/),i=(a,l)=>{let s=Number.parseFloat(a);return Number.isFinite(s)?a.endsWith("%")?s/100*l:s:0};return{x:i(r,t),y:i(o,n)}}function Zu(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:Il(n.borderTopLeftRadius,r,o),topRight:Il(n.borderTopRightRadius,r,o),bottomRight:Il(n.borderBottomRightRadius,r,o),bottomLeft:Il(n.borderBottomLeftRadius,r,o)}}function Ks(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 ep(e,t){let n=Ks(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 kl(e,t,n){let r=Ks(t),o=Ks(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(([l,s])=>[l,{x:s.x*i,y:s.y*a}]))}function lv(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 tp(e){let t=getComputedStyle(e);return t.backgroundImage&&t.backgroundImage!=="none"?!1:lv(t.backgroundColor)>=.999}function Ui(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 np(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 rp(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 op(e,t){let n=["topLeft","topRight","bottomRight","bottomLeft"],r=rp(t),o=np(e,t),i=1-Math.SQRT1_2;return Object.fromEntries(n.map((a,l)=>{let s=e[a],d=e[n[(l+n.length-1)%n.length]],c=e[n[(l+1)%n.length]],[f,p]=r[a],h=Ui(s,d,f*o*i),g=Ui(s,c,p*o*i);return[a,{x:h.x+g.x-s.x,y:h.y+g.y-s.y}]}))}function Xs(e,t){let n=.5522847498,r=["topLeft","topRight","bottomRight","bottomLeft"],o=rp(t),i=np(e,t),a=r.map((d,c)=>{let f=e[d],p=r[(c+r.length-1)%r.length],h=r[(c+1)%r.length],g=e[p],m=e[h],[x,w]=o[d],z=x*i,A=w*i,S=Ui(f,g,z),H=Ui(f,m,A);return{entry:S,exit:H,entryControl:Ui(S,f,z*n),exitControl:Ui(H,f,A*n)}}),l=a[0],s=[`M ${l.exit.x} ${l.exit.y}`];for(let d=1;d<=a.length;d+=1){let c=a[d%a.length];s.push(`L ${c.entry.x} ${c.entry.y}`),s.push(`C ${c.entryControl.x} ${c.entryControl.y} ${c.exitControl.x} ${c.exitControl.y} ${c.exit.x} ${c.exit.y}`)}return s.push("Z"),s.join(" ")}function wa(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 Ki(e,t=bl,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,l=o.y-r.y,s=Math.max(1,Math.hypot(a,l));return{edge:i,handle:{x:i.x+l/s*t,y:i.y-a/s*t}}}function ip(e,t){let n=Ki(e);return n.handle.y>=t/2?{...n,side:"top"}:{...Ki(e,bl,"bottom"),side:"bottom"}}function El(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 sv=["top","right","bottom","left"];function dv(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 Vs(e,t,n,r={}){let o=sv.map(c=>({...Ki(e,bl,c),side:c,distance:El(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})=>dv(c,n,r.viewport)):o,a=i.length>0?i:o,l=a.reduce((c,f)=>f.distance<c.distance?f:c),s=r.currentSide?a.find(({side:c})=>c===r.currentSide):void 0,d=s&&s.distance<=l.distance+(r.hysteresis??8)?s:l;return{edge:d.edge,handle:d.handle,side:d.side}}function cv(e,t,n){let r={x:t,y:n},o=[e.topLeft,e.topRight,e.bottomRight,e.bottomLeft],i=!1,a=!1,l=.001;for(let s=0;s<o.length;s+=1){let d=o[s],c=o[(s+1)%o.length],f=(c.x-d.x)*(r.y-d.y)-(c.y-d.y)*(r.x-d.x);if(f>l&&(i=!0),f<-l&&(a=!0),i&&a)return!1}return!0}function uv(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(s=>Math.hypot(t-s.x,n-s.y)<=a)||[[e.topLeft,e.topRight],[e.topRight,e.bottomRight],[e.bottomRight,e.bottomLeft],[e.bottomLeft,e.topLeft]].some(([s,d])=>El(o,s,d)<=Ku/2))return!0;let l=Vs(e,o,r);return El(o,l.edge,l.handle)<=r/2}function pv(e,t,n,r){let o={x:t,y:n},i=Vs(e,o,r);return El(o,i.edge,i.handle)<=r*1.5}function ap(e){let t=Math.max(1,Math.hypot(e.x,e.y));return{x:e.x/t,y:e.y/t}}function fv(e,t){let n=wa(e);return ap({x:e[t].x-n.x,y:e[t].y-n.y})}function hv(e,t){let n=wa(e),{handle:r}=Ki(e,bl,t),o=ap({x:r.x-n.x,y:r.y-n.y});return{x:-o.y,y:o.x}}function mv(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 gv(e,t,n=tv){return Math.hypot(t.x-e.x,t.y-e.y)<=n}function lp(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 sp=Math.SQRT1_2;function dp(e,t){return pi(e,t).filter(n=>typeof n=="number")}function Tl(e,t,n){return dp(e,t).reduce((r,o)=>Math.abs(Number.parseFloat(zi(e,o,t))-n)<Math.abs(Number.parseFloat(zi(e,r,t))-n)?o:r)}function so(e,t){let n=dp("transform",e),r=o=>e==="translate"?Number.parseFloat(zi("transform",o,e)):o;return n.reduce((o,i)=>Math.abs(r(i)-t)<Math.abs(r(o)-t)?i:o)}function yv(e,t){if(t==="translate")return so(t,lp(e).x);if(t==="scale"){let r=Number.parseFloat(e);return so(t,Number.isFinite(r)?r*100:100)}let n=Number.parseFloat(e);return so(t,Number.isFinite(n)?n:0)}function vv(e,t){let n=window.getComputedStyle(e).getPropertyValue(t).trim();return yv(n,t)}function Qs(e,t){return t?e:e==="left"||e==="right"?"x":"y"}function Gs(e,t){return t?e:"all"}function Zs(e){let t=e==="top-left"||e==="bottom-left"?1:-1,n=e==="top-left"||e==="top-right"?1:-1;return{x:t*sp,y:n*sp}}function bv(e,t,n){return e*n.x+t*n.y}function cp(e,t){let n=Math.max(1,t);return(e%n+n)%n}function xv(e,t,n){return{cursor:{x:cp(e.cursor.x+t.x,n.width),y:cp(e.cursor.y+t.y,n.height)},deltaX:e.deltaX+t.x,deltaY:e.deltaY+t.y}}function wv(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 l=Zs(a),s=r+n[a],d=a.endsWith("left")?0:e,c=a.startsWith("top")?0:t;return{x:d+l.x*s,y:c+l.y*s}});return i.every((a,l)=>i.slice(l+1).every(s=>Math.hypot(a.x-s.x,a.y-s.y)>=o))}function Sv(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 ed=["top-left","top-right","bottom-right","bottom-left"],up=14;function pp({element:e,radius:t,accentColor:n,hoveredCorner:r,draggingCorner:o,cursorViewport:i,onHandlePointerDown:a}){let[l,s]=$(null),d=t["top-left"],c=t["top-right"],f=t["bottom-right"],p=t["bottom-left"];if(_(()=>{if(!e){s(null);return}let S=()=>{s(e.getBoundingClientRect())};return S(),window.addEventListener("scroll",S,{passive:!0}),window.addEventListener("resize",S,{passive:!0}),()=>{window.removeEventListener("scroll",S),window.removeEventListener("resize",S)}},[e]),Tt(()=>{e&&s(e.getBoundingClientRect())},[e,d,c,f,p]),!l)return null;let h=l.width,g=l.height;if(!wv(h,g,t,up,20))return null;let m=Sv(n,.2),x={"top-left":{x:0,y:0},"top-right":{x:h,y:0},"bottom-right":{x:h,y:g},"bottom-left":{x:0,y:g}},w=Object.fromEntries(ed.map(S=>{let H=Zs(S),R=up+t[S],K=x[S];return[S,{x:K.x+H.x*R,y:K.y+H.y*R}]})),z=o??r,A={position:"fixed",top:l.top,left:l.left,width:h,height:g,pointerEvents:"none",zIndex:a?9999:9996,overflow:"visible"};return C("div",{"data-devtools":"border-radius-handles","data-popmelt-steer-overlay":!0,style:A,children:[C("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${h} ${g}`,children:[u("rect",{x:"0.5",y:"0.5",width:Math.max(0,h-1),height:Math.max(0,g-1),fill:"none",stroke:m,strokeWidth:"1"}),ed.map(S=>{let H=w[S];return u("circle",{cx:H.x,cy:H.y,r:S===z?4:3,fill:n,stroke:"#ffffff",strokeWidth:2},S)}),a&&ed.map(S=>{let H=w[S],R=x[S],K=S==="top-left"||S==="bottom-right"?"nwse-resize":"nesw-resize";return C("g",{children:[u("line",{"data-radius-handle-access":S,x1:R.x,y1:R.y,x2:H.x,y2:H.y,stroke:"transparent",strokeWidth:20,strokeLinecap:"round",style:{pointerEvents:"stroke",cursor:K},onPointerDown:G=>a(S,G)}),u("circle",{cx:H.x,cy:H.y,r:20/2,fill:"transparent",style:{pointerEvents:"all",cursor:K},onPointerDown:G=>a(S,G)})]},`hit-${S}`)})]}),i&&z&&(()=>{let S=Math.round(t[z]);return u("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:S})})()]})}function fp({centerX:e,centerY:t,orientation:n,accentColor:r,...o}){let i=n==="horizontal"?10:6,a=n==="horizontal"?6:10;return u("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 td(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 hp({element:e,gap:t,accentColor:n,hoveredAxis:r,draggingAxis:o,cursorViewport:i,isAutoGap:a=!1,refreshKey:l=0,onHandlePointerDown:s}){let[d,c]=$(null),[f,p]=$([]),[h,g]=$(!1);if(_(()=>{let K=V=>{(V.key==="Meta"||V.key==="Control")&&g(!0)},G=V=>{(V.key==="Meta"||V.key==="Control")&&g(!1)},N=()=>g(!1);return window.addEventListener("keydown",K,!0),window.addEventListener("keyup",G,!0),window.addEventListener("blur",N),()=>{window.removeEventListener("keydown",K,!0),window.removeEventListener("keyup",G,!0),window.removeEventListener("blur",N)}},[]),_(()=>{if(!e){c(null),p([]);return}let K=()=>{c(e.getBoundingClientRect()),p(il(e))};return K(),window.addEventListener("scroll",K,{passive:!0}),window.addEventListener("resize",K,{passive:!0}),()=>{window.removeEventListener("scroll",K),window.removeEventListener("resize",K)}},[e]),Tt(()=>{e&&(c(e.getBoundingClientRect()),p(il(e)))},[e,t.row,t.column,l]),!d||f.length===0)return null;let m=d.width,x=d.height,w="pm-gap-stripe-pattern",z=td(n,.25),A=td(n,.1),S=td(n,.2),H={position:"fixed",top:d.top,left:d.left,width:m,height:x,pointerEvents:"none",zIndex:s?9999:9996,overflow:"visible"},R=o??r;return C("div",{"data-devtools":"gap-handles","data-popmelt-steer-overlay":!0,style:H,children:[C("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${m} ${x}`,children:[u("defs",{children:u("pattern",{id:w,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:u("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:z,strokeWidth:"1.5"})})}),u("rect",{x:"0.5",y:"0.5",width:Math.max(0,m-1),height:Math.max(0,x-1),fill:"none",stroke:S,strokeWidth:"1"}),f.map((K,G)=>{let N=K.x-d.left,V=K.y-d.top,Y=K.w,I=K.h,X=h?K.axis===R:!0;return(K.axis==="row"?t.row:t.column)===0?null:C("g",{opacity:X?1:.6,children:[u("rect",{x:N,y:V,width:Y,height:I,fill:A}),u("rect",{x:N,y:V,width:Y,height:I,fill:`url(#${w})`})]},G)}),f.map((K,G)=>{let N=K.x-d.left+K.w/2,V=K.y-d.top+K.h/2;return a?u("circle",{"data-gap-handle":K.axis,cx:N,cy:V,r:3,fill:n,stroke:"#ffffff",strokeWidth:2},`gap-handle-${G}`):u(fp,{"data-gap-handle":K.axis,centerX:N,centerY:V,orientation:K.axis==="column"?"vertical":"horizontal",accentColor:n},`gap-handle-${G}`)}),s&&f.map((K,G)=>{let N=K.x-d.left+K.w/2,V=K.y-d.top+K.h/2,Y=Math.max(K.w,20),I=Math.max(K.h,20);return u("rect",{x:N-Y/2,y:V-I/2,width:Y,height:I,fill:"transparent",style:{pointerEvents:"all",cursor:K.axis==="row"?"ns-resize":"ew-resize"},onPointerDown:X=>s(K.axis,X)},`gap-hit-${G}`)})]}),i&&R&&(()=>{let K=a?"auto":String(Math.round(R==="row"?t.row:t.column));return u("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:K})})()]})}var Iv=new Set(["CANVAS","EMBED","IFRAME","IMG","INPUT","OBJECT","VIDEO"]),kv=["top","bottom"],Ev=["left","right"];function Tv({isHtmlElement:e,tagName:t,display:n,writingMode:r}){return!e||n!=="inline"||Iv.has(t)?[]:r.startsWith("horizontal")?kv:Ev}function Cv(e,t=window.getComputedStyle(e)){return Tv({isHtmlElement:e instanceof HTMLElement,tagName:e.tagName,display:t.display,writingMode:t.writingMode})}function Xi(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 Av={top:"bottom",bottom:"top",left:"right",right:"left"},Sa="#808080";function mp({element:e,padding:t,mode:n="padding",accentColor:r,hoveredSide:o,draggingSide:i,activeSides:a,cursorViewport:l,refreshKey:s,onHandlePointerDown:d}){let[c,f]=$(null),[p,h]=$(!1);if(_(()=>{let oe=Ce=>{(Ce.key==="Alt"||Ce.key==="Control")&&h(!0)},Me=Ce=>{(Ce.key==="Alt"||Ce.key==="Control")&&h(!1)},Te=()=>h(!1);return window.addEventListener("keydown",oe,!0),window.addEventListener("keyup",Me,!0),window.addEventListener("blur",Te),()=>{window.removeEventListener("keydown",oe,!0),window.removeEventListener("keyup",Me,!0),window.removeEventListener("blur",Te)}},[]),_(()=>{if(!e){f(null);return}let oe=()=>{f(e.getBoundingClientRect())};return oe(),window.addEventListener("scroll",oe,{passive:!0}),window.addEventListener("resize",oe,{passive:!0}),()=>{window.removeEventListener("scroll",oe),window.removeEventListener("resize",oe)}},[e]),Tt(()=>{e&&f(e.getBoundingClientRect())},[e,t.top,t.right,t.bottom,t.left,s]),!c)return null;let g=c.width,m=c.height,{top:x,right:w,bottom:z,left:A}=t,S=Math.max(0,x),H=Math.max(0,w),R=Math.max(0,z),K=Math.max(0,A),G=n==="margin",N=G?g+K+H:g,V=G?m+S+R:m,Y=G?K:0,I=G?S:0,X=G?"pm-dot-pattern":"pm-stripe-pattern",te=Xi(r,.25),D=Xi(r,.1),O=Xi(r,.2),j=Xi(Sa,.55),P=Xi(Sa,.18),L=Xi(Sa,.9),E=new Set(G?[]:Cv(e)),Z=E.size>0,re="pm-neutral-stripe-pattern",ee={position:"fixed",top:c.top-(G?S:0),left:c.left-(G?K:0),width:N,height:V,pointerEvents:"none",zIndex:d?9999:9996,overflow:"visible"},ie=["top","right","bottom","left"],U={top:`0,0 ${N},0 ${N-H},${S} ${K},${S}`,right:`${N},0 ${N},${V} ${N-H},${V-R} ${N-H},${S}`,bottom:`0,${V} ${K},${V-R} ${N-H},${V-R} ${N},${V}`,left:`0,0 ${K},${S} ${K},${V-R} 0,${V}`},me={top:{x:N/2,y:S/2,orientation:"horizontal"},bottom:{x:N/2,y:V-R/2,orientation:"horizontal"},left:{x:K/2,y:V/2,orientation:"vertical"},right:{x:N-H/2,y:V/2,orientation:"vertical"}},le=new Set(a);return i?le.add(i):o&&(le.add(o),p||le.add(Av[o])),C("div",{"data-devtools":"padding-handles","data-popmelt-steer-overlay":!0,style:ee,children:[C("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${N} ${V}`,children:[C("defs",{children:[G?u("pattern",{id:X,patternUnits:"userSpaceOnUse",width:"4",height:"4",children:u("circle",{cx:"1",cy:"1",r:"0.65",fill:te})}):u("pattern",{id:X,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:u("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:te,strokeWidth:"1.5"})}),Z&&u("pattern",{id:re,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:u("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:j,strokeWidth:"1.5"})})]}),u("rect",{x:Y+.5,y:I+.5,width:Math.max(0,g-1),height:Math.max(0,m-1),fill:"none",stroke:O,strokeWidth:"1"}),ie.map(oe=>{if(t[oe]<=0)return null;let Me=le.has(oe),Te=E.has(oe);return C("g",{"data-padding-flow":Te?"paint-only":"layout",opacity:Me?1:.6,children:[u("polygon",{points:U[oe],fill:Te?P:D}),u("polygon",{points:U[oe],fill:`url(#${Te?re:X})`})]},oe)}),E.has("top")&&S>0&&u("line",{x1:K,y1:S,x2:N-H,y2:S,stroke:L,strokeWidth:"1"}),E.has("bottom")&&R>0&&u("line",{x1:K,y1:V-R,x2:N-H,y2:V-R,stroke:L,strokeWidth:"1"}),E.has("left")&&K>0&&u("line",{x1:K,y1:S,x2:K,y2:V-R,stroke:L,strokeWidth:"1"}),E.has("right")&&H>0&&u("line",{x1:N-H,y1:S,x2:N-H,y2:V-R,stroke:L,strokeWidth:"1"}),ie.map(oe=>{let Me=me[oe];return u(fp,{centerX:Me.x,centerY:Me.y,orientation:Me.orientation,accentColor:E.has(oe)?Sa:r,"data-padding-flow":E.has(oe)?"paint-only":"layout"},`handle-${oe}`)}),d&&ie.map(oe=>{let Me=me[oe],Te=20;return u("rect",{x:Me.x-Te/2,y:Me.y-Te/2,width:Te,height:Te,fill:"transparent",style:{pointerEvents:"all",cursor:"grab"},onPointerDown:Ce=>d(oe,Ce)},`hit-${oe}`)})]}),l&&(o||i)&&(()=>{let oe=i??o,Me=Math.round(t[oe]),Te=E.has(oe);return C("div",{style:{position:"fixed",left:l.x+8,top:l.y-28,background:Te?Sa: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:[Me,Te?" \xB7 paint only":""]})})()]})}var nd=["flex-start","center","flex-end"],rd=["flex-start","center","flex-end"];function Mv(e){return e==="normal"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function Rv(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 gp(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 l=a.getBoundingClientRect();l.width===0&&l.height===0||(l.top<n&&(n=l.top),l.left<r&&(r=l.left),l.bottom>o&&(o=l.bottom),l.right>i&&(i=l.right))}return n===1/0?null:new DOMRect(r,n,i-r,o-n)}function Lv({element:e,modifier:t,accentColor:n,refreshKey:r=0}){let[o,i]=$(null);if(_(()=>{if(!e){i(null);return}let m=()=>i(gp(e));return m(),window.addEventListener("scroll",m,{passive:!0}),window.addEventListener("resize",m,{passive:!0}),()=>{window.removeEventListener("scroll",m),window.removeEventListener("resize",m)}},[e]),Tt(()=>{e&&i(gp(e))},[e,r]),!o)return null;let a=o,l=window.getComputedStyle(e),s=l.display;if(s!=="flex"&&s!=="inline-flex")return null;let d=l.flexDirection,c=d==="column"||d==="column-reverse"?"vertical":"horizontal",f=c==="horizontal"?"vertical":"horizontal",p=[];if(t==="shift"){let m=Mv(l.justifyContent);if(m){let x=nd.indexOf(m);c==="horizontal"?(x>0&&p.push("left"),x<nd.length-1&&p.push("right")):(x>0&&p.push("up"),x<nd.length-1&&p.push("down"))}}else{let m=Rv(l.alignItems);if(m){let x=rd.indexOf(m);f==="horizontal"?(x>0&&p.push("left"),x<rd.length-1&&p.push("right")):(x>0&&p.push("up"),x<rd.length-1&&p.push("down"))}}if(p.length===0)return null;let h=14,g=7;return u(it,{children:p.map(m=>{let x,w;switch(m){case"right":x=a.right+h,w=a.top+a.height/2;break;case"left":x=a.left-h,w=a.top+a.height/2;break;case"down":x=a.left+a.width/2,w=a.bottom+h;break;case"up":x=a.left+a.width/2,w=a.top-h;break}let z=m==="right"?0:m==="left"?180:m==="down"?90:-90,A={position:"fixed",left:x-g,top:w-g,width:g*2,height:g*2,pointerEvents:"none",zIndex:9997};return u("div",{"data-devtools":"swipe-hint",style:A,children:u("svg",{width:g*2,height:g*2,viewBox:"-7 -7 14 14",style:{overflow:"visible"},children:C("g",{transform:`rotate(${z})`,children:[u("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round"}),u("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),u("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:n,strokeWidth:"1.5",strokeLinecap:"round"}),u("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})},m)})})}function $v(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 jv({element:e,fontSize:t,lineHeight:n,accentColor:r,hoveredProperty:o,draggingProperty:i,cursorViewport:a}){let[l,s]=$(null);if(_(()=>{if(!e){s(null);return}let w=()=>{s(zs(e))};return w(),window.addEventListener("scroll",w,{passive:!0}),window.addEventListener("resize",w,{passive:!0}),()=>{window.removeEventListener("scroll",w),window.removeEventListener("resize",w)}},[e]),Tt(()=>{e&&s(zs(e))},[e,t,n]),!l)return null;let d=l.width,c=l.height,f=$v(r,.2),p=i??o,h=8,g=2,m={position:"fixed",top:l.top,left:l.left,width:d,height:c,pointerEvents:"none",zIndex:9996,overflow:"visible"},x=w=>w==="font-size"?`${Math.round(t)}`:(t>0?n/t:1.2).toFixed(2).replace(/\.?0+$/,"");return C("div",{"data-devtools":"text-handles",style:m,children:[C("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${d} ${c}`,children:[u("rect",{x:"0.5",y:"0.5",width:Math.max(0,d-1),height:Math.max(0,c-1),fill:"none",stroke:f,strokeWidth:"1"}),(p==="font-size"||!p)&&u("rect",{x:d-g/2,y:c/2-h/2,width:g,height:h,fill:r,stroke:"#ffffff",strokeWidth:p==="font-size"?4:2,paintOrder:"stroke"}),(p==="line-height"||!p)&&u("rect",{x:d/2-h/2,y:c-g/2,width:h,height:g,fill:r,stroke:"#ffffff",strokeWidth:p==="line-height"?4:2,paintOrder:"stroke"})]}),a&&p&&(()=>{let w=p==="font-size"?"Aa":"Lh",z=x(p);return C("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:[w," ",z]})})()]})}function Pv({active:e,accentColor:t,domDropPreview:n,cursorViewport:r,gapElement:o,gapDragging:i,gapHoveredAxis:a,gapIsAuto:l,gapRefreshKey:s,swipeHint:d,radiusElement:c,radiusDragging:f,radiusHoveredCorner:p,textElement:h,textDragging:g,textHoveredProperty:m,paddingElement:x,paddingDragging:w,paddingHoveredSide:z}){if(!e)return null;let A=h&&!g?ou(h):null;return C(it,{children:[n&&u("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&&u(hp,{element:o,gap:i?{row:i.row,column:i.column}:ol(o),accentColor:t,hoveredAxis:a,draggingAxis:i?.axis??null,cursorViewport:r,isAutoGap:l,refreshKey:s}),d&&u(Lv,{element:d.target,modifier:d.modifier,accentColor:t,refreshKey:s}),!d&&c&&u(pp,{element:c,radius:f?.radius??Ni(c),accentColor:t,hoveredCorner:p,draggingCorner:f?.corner??null,cursorViewport:r}),!d&&h&&u(jv,{element:h,fontSize:g?.fontSize??A.fontSize,lineHeight:g?.lineHeight??A.lineHeight,accentColor:t,hoveredProperty:m,draggingProperty:g?.property??null,cursorViewport:r}),!d&&x&&u(mp,{element:x,padding:w?.padding??ga(x),accentColor:t,hoveredSide:z,draggingSide:w?.side??null,cursorViewport:r,refreshKey:g?g.fontSize+g.lineHeight*1e3:0})]})}var zv=4,Dv=8,Ov=7.2,Hv=45,Nv=96,_v=89;function yp(e,t){let n=e===0?"Ready":`${e} action${e===1?"":"s"}`,r=Dv*2+n.length*Ov,o=t?e===0?22:Hv:e===0?Nv:_v;return{label:n,accessibleShortcut:e===0?"Command Escape to exit":"Command Enter to complete",width:Math.ceil(r+zv+o)}}var Fv=4,Wv=8;function Jv({cursor:e,stepCount:t,accentColor:n,toolbarElement:r,threadElement:o}){let[i]=Rs(),a=Ls[i],[l,s]=$(!1);_(()=>{s(!1);let H=window.setTimeout(()=>s(!0),1e3);return()=>window.clearTimeout(H)},[t]);let d={width:window.innerWidth,height:window.innerHeight},c=yp(t,!1),f=Ec(e,d,22,c.width),p=r?Tc(f,r.getBoundingClientRect(),22,void 0,c.width):1,h=o?Cc(e,f,o.getBoundingClientRect(),22,void 0,void 0,c.width):1,g=Math.min(p,h)<1||l,m=yp(t,g),x=Ec(e,d,22,m.width),w=r?Tc(x,r.getBoundingClientRect(),22,void 0,m.width):1,z=o?Cc(e,x,o.getBoundingClientRect(),22,void 0,void 0,m.width):1,A=nm(w,z,!1),S={position:"fixed",left:x.left,top:x.top,width:m.width,height:22,display:"flex",alignItems:"center",gap:Fv,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:A,transform:`scale(${A})`,transformOrigin:`${e.x-x.left}px ${e.y-x.top}px`,visibility:A===0?"hidden":"visible",zIndex:2147483647,colorScheme:i};return C("div",{role:"status","aria-label":`${m.label}. ${m.accessibleShortcut}`,"data-devtools":"interaction-episode-hud","data-popmelt-interaction-episode-hud":!0,style:S,children:[u("span",{style:{height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",padding:`4px ${Wv}px`,borderRadius:"2px 8px 8px 8px",background:n,color:"#dddddd",fontFamily:Ym,lineHeight:1.2},children:m.label}),u("span",{"aria-hidden":"true",style:{height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",gap:g?0:6,padding:g?"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:Ts,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:g?t===0?u(cl,{size:12,strokeWidth:2}):C("span",{"data-popmelt-interaction-episode-complete-shortcut":!0,style:{display:"inline-flex",alignItems:"center",gap:2},children:[u(ku,{size:12,strokeWidth:2}),u("span",{children:"+"}),u(Ns,{size:12,strokeWidth:2})]}):C(it,{children:[C("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:[u(ku,{size:12,strokeWidth:2}),u("span",{children:"+"}),t===0?u("span",{children:"esc"}):u(Ns,{size:12,strokeWidth:2})]}),u("span",{style:{color:a.secondary},children:"to"}),t===0?u(cl,{size:12,strokeWidth:2,color:"red"}):u(Lo,{size:12,strokeWidth:2,color:"#02bd02"})]})})]})}function qv(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 Bv({styleModifications:e,textModifications:t=[],accentColor:n}){let[r,o]=$([]);if(_(()=>{let a=null,l=()=>{let c=[],f=[...e,...t],p=new Set;for(let h of f){if(p.has(h.selector))continue;let g=ln(h.selector);if(!g)continue;p.add(h.selector);let m=vn(g);if(m.width===0&&m.height===0)continue;let x=Ni(g);c.push({selector:h.selector,top:m.top,left:m.left,width:m.width,height:m.height,borderRadius:`${x["top-left"]}px ${x["top-right"]}px ${x["bottom-right"]}px ${x["bottom-left"]}px`})}o(c)},s=()=>{a&&cancelAnimationFrame(a),a=requestAnimationFrame(l)};l(),window.addEventListener("scroll",s,{passive:!0}),window.addEventListener("resize",s,{passive:!0});let d=new MutationObserver(s);return d.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",s),window.removeEventListener("resize",s),d.disconnect(),a&&cancelAnimationFrame(a)}},[e,t]),r.length===0)return null;let i=qv(n,.2);return u(it,{children:r.map(a=>{let l={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 u("div",{"data-devtools":"mod-border",style:l},a.selector)})})}var vp=["topLeft","topRight","bottomRight","bottomLeft"],Yv=[["topLeft","topRight"],["topRight","bottomRight"],["bottomRight","bottomLeft"],["bottomLeft","topLeft"]],Uv=8,od="#000000",Kv="#ffffff";function Xv(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 bp(e){let t=e.parentElement;for(;t;){let n=Xv(getComputedStyle(t).backgroundColor);if(n&&n.alpha>=.95)return(n.red*.299+n.green*.587+n.blue*.114)/255>=.55?od:Kv;t=t.parentElement}return od}function Vv(e){return vp.map(t=>`${e[t].x},${e[t].y}`).join(" ")}function Qv(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 l=Math.hypot(r.x-e.x,r.y-e.y),s={x:e.x+Math.cos(o)*l,y:e.y+Math.sin(o)*l},d=Uv/2,c={x:Math.cos(o),y:Math.sin(o)},f=a>0?1:0;return{path:`M ${s.x} ${s.y} A ${l} ${l} 0 0 ${f} ${r.x} ${r.y}`,startTick:{start:{x:s.x-c.x*d,y:s.y-c.y*d},end:{x:s.x+c.x*d,y:s.y+c.y*d}}}}function Cl({element:e,activeFacet:t,accentColor:n,showHandles:r=!0,outlineStyle:o="solid",showRotateHandle:i=!0,scrimOpacity:a=.05,cursorViewport:l,draggingKind:s,draggingCorner:d,ghostQuad:c,refreshKey:f,onHandlePointerDown:p}){let[h,g]=$(null),[m,x]=$(null),[w,z]=$(null),[A,S]=$(null),[H,R]=$(!1),[K,G]=$(od),N=q("top"),V=q(null),Y=`transform-occlusion-${Sg().replace(/:/g,"")}`;if(_(()=>{let le=()=>{if(!ll(e.ownerDocument)){g(null);return}let Ce=jr(e)?xa(e):fi(e);V.current=Ce;let J=vl(Ce,e.ownerDocument);x(J),S(kl(Zu(e,Ce),Ce,J)),R(tp(e)),G(bp(e));let ve=jr(e)?Yi(e,Ce):fi(e),$e=vl(ve,e.ownerDocument);z($e),g($e)};le(),window.addEventListener("scroll",le,{passive:!0}),window.addEventListener("resize",le,{passive:!0});let oe=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>le());oe?.observe(e);let Me="",Te=pu(e.ownerDocument)?tu(()=>{let Ce=vn(e),J=JSON.stringify([ll(e.ownerDocument),Ce.x,Ce.y,Ce.width,Ce.height]);J!==Me&&(Me=J,le())}):void 0;return()=>{Te?.(),window.removeEventListener("scroll",le),window.removeEventListener("resize",le),oe?.disconnect()}},[e]),Tt(()=>{let le=s&&V.current?V.current:jr(e)?xa(e):fi(e);V.current=le;let oe=vl(le,e.ownerDocument);x(oe),S(kl(Zu(e,le),le,oe)),R(tp(e)),G(bp(e));let Me=jr(e)?Yi(e,le):fi(e),Te=vl(Me,e.ownerDocument);z(Te),g(Te)},[s,e,f]),!h)return null;let I=l?Vs(h,l,20,{currentSide:N.current,hysteresis:8,viewport:{width:window.innerWidth,height:window.innerHeight}}):ip(h,20);s!=="rotate"&&(N.current=I.side);let X=s==="rotate"?{...Ki(h,void 0,N.current),side:N.current}:I,te={position:"fixed",inset:0,pointerEvents:"none",zIndex:p?9999:9996},D=s?.95:.72,O=!!(m&&av(m,h)),j=m&&w&&A?kl(A,m,w):A,P=j?op(h,j):h,L=c&&m&&A?kl(A,m,c):A,E=c&&L?op(c,L):c,Z=wa(h),re=c?wa(c):null,ee=c?Ki(c,void 0,X.side):null,ie=ee&&re?Qv(Z,re,ee.handle,X.handle):null,U=H&&w&&j?Xs(w,j):null,me=U?`url(#${Y})`:void 0;return u("div",{"data-devtools":r?"transform-handles":"element-boundary","data-popmelt-steer-overlay":!0,"data-transform-facet":t,style:te,children:C("svg",{width:"100%",height:"100%",style:{position:"absolute",inset:0,pointerEvents:"none"},children:[U&&u("defs",{children:C("mask",{id:Y,maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100%",height:"100%",children:[u("rect",{width:"100%",height:"100%",fill:"#ffffff"}),u("path",{"data-transform-occlusion-mask":"",d:U,fill:"#000000"})]})}),O&&m&&A&&u("path",{"data-transform-layout-plate":"",d:Xs(m,A),fill:K,fillOpacity:"0.07",stroke:"none",mask:me}),u("path",{"data-transform-effective-outline":"","data-transform-effective-scrim":"",d:j?Xs(h,j):`M ${Vv(h)} Z`,fill:n,fillOpacity:a,stroke:n,strokeWidth:"1",strokeOpacity:D,strokeDasharray:o==="dashed"?"4 2":void 0}),s==="translate"&&re&&C("g",{"data-transform-origin-trace":"translate",children:[u("line",{x1:re.x,y1:re.y,x2:Z.x,y2:Z.y,stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),u("circle",{"data-transform-origin-point":"",cx:re.x,cy:re.y,r:"3",fill:"#808080",stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]}),s==="scale"&&d&&E&&C("g",{"data-transform-origin-trace":"scale",children:[u("line",{x1:E[d].x,y1:E[d].y,x2:P[d].x,y2:P[d].y,stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),u("circle",{"data-transform-origin-point":"",cx:E[d].x,cy:E[d].y,r:"3",fill:"#808080",stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]}),s==="rotate"&&ie&&C("g",{"data-transform-origin-trace":"rotate",children:[u("path",{"data-transform-rotation-arc":"",d:ie.path,fill:"none",stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),u("line",{"data-transform-rotation-arc-start":"",x1:ie.startTick.start.x,y1:ie.startTick.start.y,x2:ie.startTick.end.x,y2:ie.startTick.end.y,stroke:"#808080",strokeWidth:"1",strokeLinecap:"round",opacity:"0.85"})]}),p&&Yv.map(([le,oe])=>u("line",{"data-transform-handle":"translate",x1:h[le].x,y1:h[le].y,x2:h[oe].x,y2:h[oe].y,stroke:"transparent",strokeWidth:Ku,style:{pointerEvents:"stroke",cursor:"move"},onPointerDown:Me=>p("translate",null,Me)},`${le}-${oe}`)),r&&C("g",{"data-transform-affordances":"",children:[vp.map(le=>C("g",{children:[u("rect",{x:P[le].x-6/2,y:P[le].y-6/2,width:6,height:6,fill:n,stroke:"#ffffff",strokeWidth:2}),p&&u("circle",{"data-transform-handle":"scale","data-transform-corner":le,cx:P[le].x,cy:P[le].y,r:20/2,fill:"transparent",style:{pointerEvents:"all",cursor:le==="topLeft"||le==="bottomRight"?"nwse-resize":"nesw-resize"},onPointerDown:oe=>p("scale",le,oe)})]},le)),i&&C(it,{children:[u("line",{x1:X.edge.x,y1:X.edge.y,x2:X.handle.x,y2:X.handle.y,stroke:n,strokeWidth:"1",opacity:D}),u("circle",{cx:X.handle.x,cy:X.handle.y,r:6/2,fill:n,stroke:"#ffffff",strokeWidth:2}),p&&u("line",{"data-transform-handle":"rotate",x1:X.edge.x,y1:X.edge.y,x2:X.handle.x,y2:X.handle.y,stroke:"transparent",strokeWidth:20,strokeLinecap:"round",style:{pointerEvents:"stroke",cursor:"grab"},onPointerDown:le=>{N.current=X.side,p("rotate",null,le,X.side)}})]})]})]})})}var Gv=["top","right","bottom","left"];function Zv(e){return e==="all"?Gv:e==="x"?["left","right"]:e==="y"?["top","bottom"]:e==="top"||e==="right"||e==="bottom"||e==="left"?[e]:[]}function eb(e){return e==="top-left"||e==="top-right"||e==="bottom-right"||e==="bottom-left"?e:null}function xp(e,t,n,r){return e&&n==="value"&&t==="transform"&&(r==="translate"||r==="scale"||r==="rotate")}function tb({active:e,accentColor:t,family:n,stage:r,subproperty:o,hoveredElement:i,previewElement:a,transformPreviewElement:l,previewRevision:s,cursorViewport:d,drag:c,onGapPointerDown:f,onRadiusPointerDown:p,onSpacingPointerDown:h,onTransformPointerDown:g}){let m=e&&r==="value",x=i instanceof HTMLElement&&a===i,w=i instanceof HTMLElement&&(js(i,"row")||js(i,"column")),z=c?.family==="transform"?c.element:i,A=xp(e,n,r,o)?o:null,S=A!==null&&jr(z)&&(a===z||l===z||c?.family==="transform");return C(it,{children:[m&&(n==="padding"||n==="margin")&&x&&u(mp,{element:i,padding:n==="margin"?Zc(i):ga(i),mode:n,accentColor:t,hoveredSide:c?.family===n?c.side??null:null,draggingSide:c?.family===n?c.side??null:null,activeSides:Zv(o),refreshKey:s,cursorViewport:c?.cursor,onHandlePointerDown:(H,R)=>h(n,H,R)}),m&&(n==="stack"||n==="grid")&&o==="gap"&&x&&u(hp,{element:i,gap:ol(i),accentColor:t,hoveredAxis:c?.gapAxis??null,draggingAxis:c?.gapAxis??null,refreshKey:s,cursorViewport:c?.cursor,isAutoGap:w,onHandlePointerDown:w?void 0:f}),m&&n==="radius"&&x&&u(pp,{element:i,radius:Ni(i),accentColor:t,hoveredCorner:eb(o),draggingCorner:c?.corner??null,cursorViewport:c?.cursor,onHandlePointerDown:p}),S&&u(Cl,{element:z,activeFacet:A,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:s,onHandlePointerDown:g})]})}var zo=8,wp=2,nb=66,rb=3;function ob(){let e=Math.random()*Math.PI*2,t=5+Math.random()*8;return{x:Math.cos(e)*t,y:Math.sin(e)*t}}function ib({onSave:e}){let[t,n]=$(!1),[r]=Rs(),o=Ls[r];return C("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:In,fontSize:12,fontWeight:600,letterSpacing:"0.24px",lineHeight:1,whiteSpace:"nowrap",cursor:"pointer",pointerEvents:"auto",userSelect:"none",touchAction:"manipulation"},children:[C("span",{className:"popmelt-subject-save-default",children:[u(Ns,{size:12,strokeWidth:2,"aria-hidden":!0}),u("span",{style:{color:o.secondary},children:"to"}),u(Lo,{size:12,strokeWidth:2,"aria-hidden":!0})]}),C("span",{className:"popmelt-subject-save-hovered",children:[u("span",{children:"Save"}),u(Lo,{size:12,strokeWidth:2,"aria-hidden":!0})]})]})}function ab(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-zo,e.bounds.left+n),l=Math.min(i-zo,e.bounds.top+r);return{left:a,top:l,width:o-a,height:i-l}}case"topRight":{let a=Math.max(e.bounds.left+zo,o+n),l=Math.min(i-zo,e.bounds.top+r);return{left:e.bounds.left,top:l,width:a-e.bounds.left,height:i-l}}case"bottomLeft":{let a=Math.min(o-zo,e.bounds.left+n),l=Math.max(e.bounds.top+zo,i+r);return{left:a,top:e.bounds.top,width:o-a,height:l-e.bounds.top}}default:{let a=Math.max(e.bounds.left+zo,o+n),l=Math.max(e.bounds.top+zo,i+r);return{left:e.bounds.left,top:e.bounds.top,width:a-e.bounds.left,height:l-e.bounds.top}}}}function lb({accentColor:e,created:t,registry:n,target:r,onCommit:o,onClose:i,onCancelCreated:a}){let l=n.resolve(r),s=q(l?.subject.label??"object"),[d,c]=$(s.current),f=l?.subject.trackingAnchors?.map(j=>({...j}))??[],p=q(f),[h,g]=$(f),[m,x]=$(0),[w,z]=$(0),A=q(null),S=q(null),H=q(null),R=q(!1),K=n.resolve(r),G=Se(()=>{let j=typeof document>"u"?null:document.createElement("canvas").getContext("2d");j&&(j.font=`${Ac}px ${In}`);let P=L=>(j?.measureText(L).width??L.length*7.2)+Math.max(0,L.length-1)*am;return{label:Math.max(8,P(d||" ")),full:P(`<${d||" "}>`)+Mc*2}},[d]);if(Tt(()=>{H.current?.focus(),H.current?.select()},[]),Tt(()=>{if(m)for(let j of S.current?.querySelectorAll("[data-popmelt-tracking-anchor]")??[]){let P=ob();j.animate?.([{transform:"translate(-50%, -50%)"},{transform:`translate(calc(-50% + ${P.x}px), calc(-50% + ${P.y}px))`},{transform:`translate(calc(-50% - ${P.x*.55}px), calc(-50% - ${P.y*.55}px))`},{transform:"translate(-50%, -50%)"}],{duration:220,easing:"ease-out"})}},[m]),_(()=>n.subscribeFrame(()=>z(j=>j+1)),[n]),_(()=>{let j=L=>{let E=A.current;E&&(n.updateBounds(r,ab(E,{x:L.clientX,y:L.clientY})),z(Z=>Z+1))},P=()=>{A.current=null,z(L=>L+1)};return window.addEventListener("pointermove",j,!0),window.addEventListener("pointerup",P,!0),window.addEventListener("pointercancel",P,!0),()=>{window.removeEventListener("pointermove",j,!0),window.removeEventListener("pointerup",P,!0),window.removeEventListener("pointercancel",P,!0)}},[n,r]),!K)return null;let N=()=>{if(R.current)return;let j=d.trim();if(!j){t&&a();return}let P=p.current,L=P.length===1?[]:P,E=K.adapter.updateSubjectTrackingAnchors?n.updateTrackingAnchors(r,L):null,Z=n.rename(r,j)??E;Z&&o(Z),i()},V=()=>{R.current=!0,t?a():i()},{bounds:Y}=K.subject,I=!!K.adapter.updateSubjectTrackingAnchors,X=Math.min(400,G.full),te=X+wp+nb,D=As({left:Y.left,right:Y.left+Y.width,top:Y.top,bottom:Y.top+Y.height,height:Y.height},22,2,window.innerHeight,te,window.innerWidth),O=D.horizontalAlignment==="right"?D.left-te:D.left;return C(it,{children:[u(Cl,{element:K.element,activeFacet:"translate",accentColor:e,showRotateHandle:!1,refreshKey:w,draggingKind:A.current?.kind??null,draggingCorner:A.current?.corner??null,onHandlePointerDown:(j,P,L)=>{j!=="rotate"&&(L.preventDefault(),L.stopPropagation(),A.current={kind:j,corner:P,start:{x:L.clientX,y:L.clientY},bounds:{...K.subject.bounds}},z(E=>E+1))}}),I&&u("div",{ref:S,"data-popmelt-tracking-anchor-surface":!0,"aria-label":"Add tracking anchor",onPointerDown:j=>{if(j.button!==0)return;j.preventDefault(),j.stopPropagation();let P=p.current;if(P.length>=rb){x(E=>E+1);return}let L=[...P,{x:Math.max(0,Math.min(1,(j.clientX-Y.left)/Y.width)),y:Math.max(0,Math.min(1,(j.clientY-Y.top)/Y.height))}];p.current=L,g(L)},style:{position:"fixed",left:Y.left,top:Y.top,width:Y.width,height:Y.height,pointerEvents:"auto",cursor:"crosshair",zIndex:9998},children:h.map((j,P)=>u("span",{"data-popmelt-tracking-anchor":!0,"data-popmelt-tracking-anchor-reject":m?"true":void 0,style:{position:"absolute",left:`${j.x*100}%`,top:`${j.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%)"}},P))}),u("style",{children:`
|
|
33
|
-
[data-popmelt-subject-label-editor]::selection {
|
|
34
|
-
background: #000000;
|
|
35
|
-
color: #ffffff;
|
|
36
|
-
}
|
|
37
|
-
.popmelt-subject-save-default {
|
|
38
|
-
display: inline-flex;
|
|
39
|
-
align-items: center;
|
|
40
|
-
gap: 4px;
|
|
41
|
-
}
|
|
42
|
-
.popmelt-subject-save-hovered {
|
|
43
|
-
display: none;
|
|
44
|
-
align-items: center;
|
|
45
|
-
gap: 4px;
|
|
46
|
-
}
|
|
47
|
-
[data-popmelt-subject-label-save][data-hovered="true"] .popmelt-subject-save-default {
|
|
48
|
-
display: none;
|
|
49
|
-
}
|
|
50
|
-
[data-popmelt-subject-label-save][data-hovered="true"] .popmelt-subject-save-hovered {
|
|
51
|
-
display: inline-flex;
|
|
52
|
-
}
|
|
53
|
-
@media (max-width: 767px) {
|
|
54
|
-
.popmelt-subject-save-default { display: none; }
|
|
55
|
-
.popmelt-subject-save-hovered { display: inline-flex; }
|
|
56
|
-
}
|
|
57
|
-
`}),C("div",{style:{position:"fixed",left:O,top:D.top,display:"flex",alignItems:"center",gap:wp,pointerEvents:"auto",zIndex:1e4},children:[C("div",{"data-popmelt-subject-label-editor":!0,style:{...rm(e),width:X,gap:0,borderRadius:ma(D.anchor)},children:[u("span",{"aria-hidden":!0,children:"<"}),u("input",{ref:H,"data-popmelt-subject-label-input":!0,value:d,"aria-label":"Object label",spellCheck:!1,onChange:j=>c(j.target.value),onBlur:N,onKeyDown:j=>{j.key==="Escape"?(j.preventDefault(),V()):j.key==="Enter"&&!j.metaKey&&!j.ctrlKey&&(j.preventDefault(),N())},style:{appearance:"none",boxSizing:"content-box",width:Math.min(G.label,400-Mc*2-16),minWidth:0,height:`${Ac*1.2}px`,margin:0,padding:0,border:0,outline:0,background:"transparent",color:"inherit",font:"inherit",letterSpacing:"inherit",lineHeight:"inherit"}}),u("span",{"aria-hidden":!0,children:">"})]}),u(ib,{onSave:N})]})]})}var Sp=2;function sb(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)>Sp||Math.abs(n.y)>Sp?{session:{...e,hasMoved:!0,startPoint:t},move:{delta:n,saveUndo:!0}}:null}function db({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,attachments:r.attachments,interactionEpisode:r.interactionEpisode},color:r.color}}function Ip(e,t,n,r,o){let i={...e},a=i.right-i.left||1,l=i.bottom-i.top||1,s=a/l,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,f=d.bottom-d.top;if(Math.abs(c/f)>s){let p=Math.abs(f)*s*Math.sign(c);t==="topLeft"||t==="bottomLeft"?d.left=d.right-p:d.right=d.left+p}else{let p=Math.abs(c)/s*Math.sign(f);t==="topLeft"||t==="topRight"?d.top=d.bottom-p:d.bottom=d.top+p}}return d}function cb({annotation:e,session:t,point:n,centerOrigin:r,lockAspect:o}){let{handle:i,originalPoints:a}=t;if(e.type==="line"){let f=a[0],p=a[a.length-1];return i==="start"?[n,p]:[f,n]}if(e.type==="freehand"){let f={left:Math.min(...a.map(w=>w.x)),right:Math.max(...a.map(w=>w.x)),top:Math.min(...a.map(w=>w.y)),bottom:Math.max(...a.map(w=>w.y))},p=f.right-f.left||1,h=f.bottom-f.top||1,g=Ip(f,i,n,r,o),m=g.right-g.left||1,x=g.bottom-g.top||1;return a.map(w=>({x:g.left+(w.x-f.left)/p*m,y:g.top+(w.y-f.top)/h*x}))}let l=a[0],s=a[a.length-1],d={left:Math.min(l.x,s.x),right:Math.max(l.x,s.x),top:Math.min(l.y,s.y),bottom:Math.max(l.y,s.y)};if(e.type==="circle"){let f=(d.left+d.right)/2,p=(d.top+d.bottom)/2,h=d.right-d.left,g=d.bottom-d.top,m={...d};switch(i){case"top":{if(m.top=n.y,r&&(m.bottom=p+(p-n.y)),o){let x=(m.bottom-m.top)*(h/g)/2;m.left=f-x,m.right=f+x}break}case"bottom":{if(m.bottom=n.y,r&&(m.top=p-(n.y-p)),o){let x=(m.bottom-m.top)*(h/g)/2;m.left=f-x,m.right=f+x}break}case"left":{if(m.left=n.x,r&&(m.right=f+(f-n.x)),o){let x=(m.right-m.left)*(g/h)/2;m.top=p-x,m.bottom=p+x}break}case"right":{if(m.right=n.x,r&&(m.left=f-(n.x-f)),o){let x=(m.right-m.left)*(g/h)/2;m.top=p-x,m.bottom=p+x}break}}return[{x:m.left,y:m.top},{x:m.right,y:m.bottom}]}let c=Ip(d,i,n,r,o);return[{x:c.left,y:c.top},{x:c.right,y:c.bottom}]}function ub(){let[e,t]=$(null),[n,r]=$(null);return{dragState:e,resizeState:n,setDragState:t,setResizeState:r}}function id(e,t,n=!0){let r=new Map(Xc(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 pb(e,t,n){return e||(t>0?`[${t} image${t>1?"s":""}]`:n[0]?.name??"")}function fb(e){if(e.domEdit){let i=e.domEdit;return e.text===i.originalText?{action:null,sendHintAnchorId:null,attachedImages:null}:{action:id(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=pb(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,...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 Vi=0,hb=2,mb=60;function kp({anchorLeftX:e,anchorRightX:t,editorWidth:n,trailingWidth:r,viewportWidth:o}){let i=Math.max(Vi,o-Vi),a=Math.max(Vi,Math.min(t,i)),l=r>0?r+hb:0,s=n+l,d=Math.max(0,e-8),c=a-s,f=Math.max(0,Vi-d)+Math.max(0,d+s-i),p=Math.max(0,Vi-c)<f?"right":"left",h=Math.max(mb,p==="right"?a-Vi-l:i-d-l),g=Math.min(n,h);return{horizontalAlignment:p,editorLeft:p==="right"?a-l-g:d,maxEditorWidth:h}}function gb({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 yb({text:e,fontSize:t,point:n,clickPoint:r,context:o}){let i=e.split(`
|
|
58
|
-
`),a=t*lr,l=Math.max(0,Math.min(i.length-1,Math.floor((r.y-n.y)/a))),s=i[l]??"",d=r.x-n.x,c=s.length;for(let p=0;p<=s.length;p+=1){let h=o.measureText(s.slice(0,p)).width;if(h<=d)continue;let g=p>0?o.measureText(s.slice(0,p-1)).width:0;c=Math.max(0,d-g<h-d?p-1:p);break}let f=c;for(let p=0;p<l;p+=1)f+=(i[p]?.length??0)+1;return f}function ad({text:e,fontSize:t,effectiveMaxWidth:n,annotationPrefixWidth:r,isModifiedRail:o,fitToContent:i=o,context:a}){let l=a.measureText("Type here...").width,s=i&&e.length>0?a.measureText(" ").width:l,d=qm(e).split(`
|
|
59
|
-
`),c=Math.max(s,...d.map(p=>a.measureText(p||" ").width)),f=Math.max(s,n-r-(o?16:0));if(c>f){let p=Bm(a,d,f);return{width:Math.min(f,Math.max(s,...p.map(h=>a.measureText(h).width))),height:Math.max(1,p.length)*t*lr,isWrapped:!0}}return{width:c,height:Math.max(1,d.length)*t*lr,isWrapped:!1}}function vb(e,t){return e&&t!=="model"}function bb(e,t,n,r=6){return e.moved?e:{...e,moved:Math.hypot(t-e.startX,n-e.startY)>r}}function xb(e){return!!(e&&!e.moved)}function wb(e){return e==="hand"}var Ep={"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 Sb(e){let t=new Map;for(let n of e){let r=t.get(n.target);(!r||Ep[n.owner]>Ep[r])&&t.set(n.target,n.owner)}return t}function Ib({activeText:e,pendingLinkedText:t,activeTextSendHintId:n,activeTool:r,isAnnotating:o,annotations:i,pageAnnotations:a,pageStyleModifications:l,pageTextModifications:s,supersededAnnotations:d,nestedBadgeHover:c,isSendBundleHovered:f,badgeHoveredAnnotationId:p,hoveredTextId:h,badgeHoveredSelector:g,focusedThreadAnnotationId:m,inFlightSelectorColors:x,focusedSelectorColors:w,hoveredElement:z}){let A=new Map;for(let E of i)E.linkedSelector&&E.elements?.[0]&&A.set(E.linkedSelector,E.elements[0]);for(let E of[...l,...s])A.set(E.selector,E.element);for(let E of[e,t])E?.linkedSelector&&E.elements?.[0]&&A.set(E.linkedSelector,E.elements[0]);let S=(E,Z)=>Zt(E,Z??(A.has(E)?[A.get(E)]:void 0)),H=E=>E?i.find(Z=>Z.id===E)?.linkedSelector??null:null,R=c?c.ownerId===n?e?.linkedSelector??null:H(c.ownerId):null,K=(E,Z)=>Z?S(Z)===E:!1,G=E=>{let Z=null;for(let re of a)!re.linkedSelector||d.has(re)||Zt(re.linkedSelector,re.elements)!==E||(!Z||re.timestamp>Z.timestamp)&&(Z=re);return Z},N=[e?.linkedSelector,t?.linkedSelector,H(m),H(c||f?null:p),H(c||f?null:h),g].filter(Boolean),V=c||f?null:p||h,Y=E=>N.some(Z=>K(E,Z)),I=[],X=(E,Z)=>{E&&I.push({target:E,owner:Z})},te=(E,Z,re)=>{E&&X(S(E,re),Z)};if(o){if(r==="hand")for(let E of l)E.captured||te(E.selector,"pending-change");for(let E of s)E.captured||te(E.selector,"pending-change");for(let E of x?.keys()??[])te(E,"in-flight");for(let E of w?.keys()??[])te(E,"selected");if(te(e?.domEdit?e.linkedSelector:null,"active-edit",e?.elements),!c&&!f&&te(e?.linkedSelector||t?.linkedSelector,"direct-manipulation",e?.elements||t?.elements),!f&&m){let E=i.find(Z=>Z.id===m);E?.linkedSelector&&R!==E.linkedSelector&&te(E.linkedSelector,"thread-focus",E.elements)}if(V){let E=i.find(Z=>Z.id===V);te(E?.linkedSelector,"annotation-hover",E?.elements)}if(c&&!f)for(let E of c.annotationIds){let Z=i.find(re=>re.id===E);te(Z?.linkedSelector,"nested-preview",Z?.elements)}if(f){for(let E of a)(E.status??"pending")==="pending"&&te(E.linkedSelector,"bundle-preview",E.elements);e&&!e.domEdit&&e.text?.trim()&&te(e.linkedSelector,"bundle-preview",e.elements);for(let E of[...l,...s])E.captured||te(E.selector,"bundle-preview",[E.element])}te(g,"badge-hover"),(r==="inspector"||r==="sticker")&&z&&!V&&!g&&X(z,"inspector-hover")}let D=Sb(I),O=(E,Z)=>D.get(E)===Z,j=(E,Z)=>{if(!E)return null;let re=new Map,ee=new Set;for(let[ie,U]of E){let me=S(ie);me&&O(me,Z)&&!ee.has(me)&&(ee.add(me),re.set(ie,U))}return re.size>0?re:null},P=new Set,L=(E,Z)=>!O(E,Z)||P.has(E)?!1:(P.add(E),!0);return{selectorElementInfo:A,hasExistingOverlay:E=>D.has(E),nestedBadgeOwnerSelector:R,hoveredLinkedAnnotationId:V,hasSelectedHighlightForElement:Y,getExistingAnnotationForElement:G,ownedInFlightSelectorColors:j(x,"in-flight"),ownedFocusedSelectorColors:j(w,"selected"),claimElementOverlay:L}}function kb(e){let[t,n]=$();return Tt(()=>{if(!e)return;let r,o=()=>{if(!e.isConnected)return;let i=vn(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 Eb=180,Tp=16,Tb=50,Cp=180;async function Cb(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 Ap(e,t){return!e.frames||t===0?e:{...e,frames:e.frames.map(n=>({...n,imageIndex:n.imageIndex+t}))}}function ld(e){let t=e?.replace(/\s+/g," ").trim();if(t)return t.slice(0,Cp)}function Ab(e){try{return Ro(e)}catch{return}}function Mp(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 Qi(e){if(!e||io(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=ld(e.getAttribute("class")),a=ld(e.getAttribute("aria-label")),l=ld(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement?void 0:e.textContent),s=Mp(e);return{selector:Ab(e),tagName:e.tagName.toLowerCase(),...i?{className:i}:{},...o?{role:o}:{},...a?{ariaLabel:a}:{},...l?{text:l}:{},...n&&!(n instanceof HTMLInputElement&&n.type==="password")?{value:n.value.slice(0,Cp)}:{},...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)},...s?{media:s}:{}}}function sd(e){let{subject:t,target:n,adapter:r}=e,{left:o,top:i,width:a,height:l}=t.bounds,s=Mp(t.sourceElement??null);return{tagName:r.id,rect:{x:Math.round(o),y:Math.round(i),width:Math.round(a),height:Math.round(l)},subject:{adapter:n.adapter,key:n.key,label:t.label,...t.context?{context:t.context}:{},...t.data?{data:{...t.data}}:{}},...s?{media:s}:{}}}function Mb(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 Rb(e,t,n){if(e==="scroll")return"Scrolled the page";let r=n??Qi(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 Lb(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function $b(e){return e.metaKey||e.ctrlKey||e.altKey?!1:["Enter"," ","Escape","Tab","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(e.key)}function jb(e){return e instanceof Element?e:e.parentElement}function Pb(e){let t=e.now??(()=>Date.now()),n=t(),r=[],o=null,i=0,a=!1,l=e.captureFrame?.().catch(()=>null)??Promise.resolve(null),s=[],d=null,c=()=>{if(window.clearTimeout(i),i=0,!o)return;let g=t(),m=o.captureResult?.()??Qi(o.targetElement),x=o.kind==="input"||o.kind==="change"||o.kind==="submit"||o.kind==="scroll"||o.kind==="play"||o.kind==="pause"||o.kind==="seek",w={id:o.id,action:{kind:o.kind,label:o.label,...o.key?{key:o.key}:{},...o.target?{target:o.target}:{}},startedAt:o.startedAt,completedAt:g,outcome:x||o.changes.length>0||Lb(o.target,m)?"changed":"no-observable-change",changes:o.changes,...m?{result:m}:{}};if(o=null,r.length<Tb&&(r.push(w),e.onStep?.(w),e.captureFrame)){let z=l,A=e.captureFrame().catch(()=>null);l=A,s.push(Promise.all([z,A]).then(([S,H])=>({step:w,before:S,after:H})))}},f=()=>{window.clearTimeout(i),i=window.setTimeout(c,Eb)},p=(g,m,x)=>{let{element:w,state:z}=m,A=o?.kind==="input"&&g==="input"&&o.targetElement===w,S=o?.kind==="click"&&(g==="input"||g==="change"||g==="play"||g==="pause"||g==="seek")&&o.targetElement===w;if(A||S){f();return}c(),o={id:`episode-step-${n}-${r.length+1}`,kind:g,label:Rb(g,w,z),...x?{key:x}:{},targetElement:w,target:z,captureResult:m.captureResult,startedAt:t(),changes:[]},e.onActionCountChange?.(r.length+1),f()},h=new MutationObserver(g=>{if(!(!o||a)){for(let m of g){if(o.changes.length>=Tp)break;let x=(w,z)=>{if(!o||o.changes.length>=Tp)return;let A=jb(z),S=Qi(A);!S||o.changes.some(H=>H.kind===w&&H.element.selector===S.selector&&H.element.tagName===S.tagName&&H.element.text===S.text)||o.changes.push({kind:w,element:S})};m.addedNodes.forEach(w=>x("added",w)),m.removedNodes.forEach(w=>x("removed",w)),(m.type==="attributes"||m.type==="characterData")&&x("updated",m.target)}f()}});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(g){if(a)return;if(g.type==="pointerdown"||g.type==="pointerup"){let A=g;if(g.type==="pointerdown"&&A.button===0){let S=e.resolveEventTarget?.(g),H=S?.element??(g.target instanceof Element&&!io(g.target)?g.target:null),R=S?.state??Qi(H);if(!R)return;d={x:A.clientX,y:A.clientY,targetElement:H,target:R,captureResult:S?.captureResult};return}if(g.type==="pointerup"){let S=d;d=null,S?.targetElement&&Math.hypot(A.clientX-S.x,A.clientY-S.y)>4&&p("drag",{element:S.targetElement,state:S.target,captureResult:S.captureResult});return}}let m=Mb(g);if(!m||g instanceof KeyboardEvent&&!$b(g))return;let x=e.resolveEventTarget?.(g),w=x?.element??(g.target instanceof Element&&!io(g.target)?g.target:null);if(!w)return;let z=x?.state??Qi(w);z&&p(m,{element:w,state:z,captureResult:x?.captureResult},g instanceof KeyboardEvent?g.key:void 0)},recordScroll(){if(!a){if(o?.kind==="scroll"){f();return}p("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 g={version:1,startedAt:n,completedAt:t(),subject:e.subjectState??Qi(e.subjectElement),steps:[...r]};if(r.length===0||s.length===0)return{episode:g,frames:[]};let m=await Promise.all(s),x=[],w=new Map,z=[],A=async S=>{if(!S)return;let H=await Cb(S),R=w.get(H);if(R)return R;let K=`episode-frame-${n}-${x.length+1}`;return w.set(H,K),z.push({id:K,imageIndex:x.length,fingerprint:H}),x.push(S),K};for(let S of m){let H=await A(S.before),R=await A(S.after);(H||R)&&(S.step.visuals={...H?{beforeFrameId:H}:{},...R?{afterFrameId:R}:{}})}return z.length>0&&(g.frames=z),{episode:g,frames:x}},cancel(){a=!0,o=null,d=null,h.disconnect(),window.clearTimeout(i)}}}function Rp(e){return!!(e&&!e.domEdit&&(e.linkedSelector||e.target))}function Lp(e){return!!(e&&e.type==="text"&&(e.status??"pending")==="pending"&&(e.linkedSelector||e.target))}function zb(e,t){return!!(t&&e?.id===t.id)}function Db(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 l=e.find(s=>s.id===a);l&&(i.push(l),l.groupId&&i.push(...e.filter(s=>s.id!==l.id&&s.groupId===l.groupId)))}return i}function Ob(e){let t=e.activationDraft??e.activeDraft;if(Rp(t))return{kind:"draft",value:t};let n=Db(e.annotations,e.selectedAnnotationIds,e.lastSelectedId).find(Lp);return n?{kind:"annotation",value:n}:Lp(e.annotationAtCursor)?{kind:"annotation",value:e.annotationAtCursor}:null}var dd={kind:"root"},Hb=2;function Nb(e){return e==="color"?"slate":tl(e)[0]}function _b(e){let t=ws(e),n=Nb(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 $p(e,t){let n=ws(e),r=um(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 Fb(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 Wb(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 Jb(e){return e.kind==="root"?Di.flatMap(t=>{let n=_b(t);return t==="color"?[n]:[n,...tl(t).filter(r=>!zc(r)).map(r=>$p(t,r))]}):e.kind==="family"?tl(e.family).filter(t=>!zc(t)).map(t=>$p(e.family,t)):e.kind==="colors"?jc.map(t=>Fb(e.family,t)):pi(e.family,e.subproperty).map(t=>Wb(e.family,e.subproperty,t))}function Ia(e){return e.toLowerCase().trim().replace(/[^a-z0-9]+/g," ")}function jp(e){return Ia(e).replace(/\s+/g,"")}function qb(e){return Ia(e).split(/\s+/).filter(Boolean).map(t=>t[0]).join("")}function Bb(e,t){let n=Ia(e);if(!n)return 0;let r=Ia(t.searchPath),o=Ia(t.label),i=jp(e),a=jp(t.searchPath),l=qb(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(l.startsWith(i))return 850;if(a.startsWith(i))return 820;let s=0;for(let c of i){if(s=a.indexOf(c,s),s===-1)return-1;s+=1}let d=t.id.startsWith("family:")?20:0;return 500-Math.max(0,a.length-i.length)+d}function ka(e,t){if(!t.trim())return null;let n=o=>Jb(o).map((i,a)=>({candidate:i,index:a,score:Bb(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(dd)}function cd(e,t){return t.trim().length<Hb?null:ka(e,t)}function Yb(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 Ub(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 hi(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 Kb(e,t,n){hi(e,["font-size","line-height"]);let r=[];if(t.fontSize!==n.fontSize&&(ot(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;ot(e,"line-height",`${i}`),r.push({property:"line-height",original:`${o}`,modified:`${i}`})}return r}var ud=["space-between","space-around","stretch","normal"];function Xb(e,t,n,r){if(!t.hasMoved){if(r)return[];hi(e,[]);let i=t.justifyContent||"normal",a=ud.indexOf(i),l=ud[(a+1)%ud.length],s=[];return l==="normal"?(ot(e,"justify-content","normal"),s.push({property:"justify-content",original:t.justifyContent,modified:"normal"})):l==="stretch"?(ot(e,"justify-content",l),ot(e,"row-gap","8px"),ot(e,"column-gap","8px"),s.push({property:"justify-content",original:t.justifyContent||"normal",modified:l}),t.row!==8&&s.push(dr("row-gap",t.row,8)),t.column!==8&&s.push(dr("column-gap",t.column,8))):(hi(e,["row-gap","column-gap"]),ot(e,"justify-content",l),s.push({property:"justify-content",original:t.justifyContent||"normal",modified:l}),t.row>0&&s.push(dr("row-gap",t.row,0)),t.column>0&&s.push(dr("column-gap",t.column,0))),s}if(!n)return[];hi(e,["row-gap","column-gap"]);let o=[];return t.isAuto?(hi(e,["justify-content"]),ot(e,"justify-content","normal"),ot(e,"row-gap",`${n.row}px`),ot(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&&(ot(e,"row-gap",`${n.row}px`),o.push(dr("row-gap",t.row,n.row))),t.column!==n.column&&(ot(e,"column-gap",`${n.column}px`),o.push(dr("column-gap",t.column,n.column))),o)}var pd={"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 Vb(e,t,n){let r=Object.values(pd);hi(e,r);let o=[];return Object.keys(pd).forEach(i=>{if(t[i]===n[i])return;let a=pd[i];ot(e,a,`${n[i]}px`),o.push(dr(a,t[i],n[i]))}),o}function Qb(e,t,n){hi(e,["padding"]);let r=[];return Object.keys(t).forEach(o=>{if(t[o]===n[o])return;let i=`padding-${o}`;ot(e,i,`${n[o]}px`),r.push(dr(i,t[o],n[o]))}),r}function Pp(){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 zp(){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 Dp(){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 Op(){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 Al(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 Gb(e,t){return!e.element||!t?null:Al(e,Kb(e.element,{fontSize:e.originalFontSize,lineHeight:e.originalLineHeight},t))}function Zb(e,t,n){return e.element?Al(e,Xb(e.element,{hasMoved:e.hasMoved,isAuto:e.isAuto,row:e.originalRow,column:e.originalColumn,justifyContent:e.originalJustifyContent},t,n)):null}function e0(e,t){return!e.element||!t?null:Al(e,Vb(e.element,e.original,t.radius))}function t0(e,t){return!e.element||!t?null:Al(e,Qb(e.element,e.original,t.padding))}var n0="popmelt-steering-context",Hp=1;function r0(e){return ji(n0,e)}function Gi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function fd(e){return typeof e=="string"&&Di.includes(e)}function o0(e){return e==="family"||e==="variant"||e==="value"}function Np(e,t){return typeof t=="string"&&$c(e,t)===t}function i0(e,t,n){return pi(e,t).includes(n)}function Ml(e){if(!Gi(e)||!fd(e.family))return null;let t=e.family;if(!Np(t,e.subproperty))return null;let n=e.subproperty;return!o0(e.stage)||!i0(t,n,e.step)?null:{family:t,subproperty:n,stage:e.stage,step:e.step}}function _p(e){if(!Gi(e)||typeof e.kind!="string")return null;if(e.kind==="root")return{kind:"root"};if(e.kind==="family"&&fd(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"&&fd(e.family)){let t=e.family;return Np(t,e.subproperty)?{kind:"values",family:t,subproperty:e.subproperty}:null}return null}function a0(e){if(!Gi(e)||typeof e.query!="string"||!Array.isArray(e.segments)||!e.segments.every(i=>typeof i=="string"))return null;let t=_p(e.scope),n=Ml(e.origin);if(!t||!n||!Array.isArray(e.history))return null;let r=[];for(let i of e.history){if(!Gi(i))return null;let a=_p(i.scope),l=Ml(i.snapshot);if(!a||!l)return null;r.push({scope:a,snapshot:l})}let o;if(e.segmentOrigin!==void 0){let i=Ml(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 l0(e){let t=Ml(e);if(!t||!Gi(e))return null;if(e.query===null)return{...t,query:null};let n=a0(e.query);return n?{...t,query:n}:null}function s0(e,t){try{let n=e.getItem(t);if(!n)return null;let r=JSON.parse(n);return!Gi(r)||r.version!==Hp?null:l0(r.context)}catch{return null}}function d0(e,t,n){try{e.setItem(t,JSON.stringify({version:Hp,context:n}))}catch{}}function c0(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 Fp=100;function Wp(e,t){return e!=="sticker"||!t}var u0=new Set(["display","border-top-style","border-right-style","border-bottom-style","border-left-style"]);function p0(e,t){return e?.element===t.element&&e.family===t.family&&e.step===t.step&&e.subproperty===t.subproperty&&e.valueOverride===t.valueOverride}function Jp(e,t,n){return t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom}function f0(e,t,n,r,o,i,a){return i&&a&&uv(i,r,o,a)||t===e?!0:t&&t!==e&&e.contains(t)?Jp(n,r,o):t&&t.contains(e)&&i&&a&&pv(i,r,o,a)?!0:Jp(n,r,o)||!!(i&&cv(i,r,o))}function hd(e,t){t.value?e.style.setProperty(t.property,t.value,t.priority):e.style.removeProperty(t.property)}function qp(e,t){return{property:t,value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}}function h0(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 Ea(e){if(e){lg(e.element);for(let t of e.declarations)hd(e.element,t)}}function m0(e,t,n){e&&(Ea(e),du(t),cu(n))}function g0(e){if(e)for(let t of e.activeDeclarations)hd(e.element,t)}function y0(e,t,n,r,o=null,i){o&&o.element!==e&&(Ea(o),o=null);let a=window.getComputedStyle(e),l=vc(t,r),s=i?a.getPropertyValue(l).trim()===i:bc(t,n,r,z=>a.getPropertyValue(z)),d=xc(t),c=wc(t,r,n),f=t==="border"&&!ui(t,r)&&typeof n=="number"&&n>0?Sc(r):null,p=[l,...d?["display"]:[],...c.map(z=>z.property),...f?[f]:[]],h=[...new Set(p)],g=new Set([...h,"transition"]),m=new Map(o?.declarations.map(z=>[z.property,z])??[]);for(let z of m.values())g.has(z.property)||hd(e,z);let x=[...g].map(z=>m.get(z)??qp(e,z)),w=h.filter(z=>!u0.has(z));sg(e,h0(h)),w.length>0&&ot(e,"transition",w.map(z=>`${z} ${Fp}ms ease-out`).join(", ")),d&&ot(e,"display",d);for(let z of c)ot(e,z.property,z.value);if(ot(e,l,i??zi(t,n,r)),f){let z=window.getComputedStyle(e).getPropertyValue(f).trim();(!z||z==="none")&&ot(e,f,"solid")}return{preview:{element:e,declarations:x,activeDeclarations:[...g].map(z=>qp(e,z))},stepUnavailable:s}}var Bp="[data-popmelt-subject-label-action]";function v0(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 Yp(e,t,n){let r=v0(e);return r?t>=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom:!0}function b0(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 x0(e,t,n,r){let o=vn(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 Up(e,t,n){for(let r of e.querySelectorAll(Bp)){let o=r.getBoundingClientRect();if(t>=o.left&&t<=o.right&&n>=o.top&&n<=o.bottom){let i=b0(e,r);if(i&&!Yp(i,t,n))continue;return r}}return null}function w0(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(`${Bp}[data-popmelt-subject-adapter][data-popmelt-subject-key]`)).find(l=>l.dataset.popmeltSubjectAdapter===o&&l.dataset.popmeltSubjectKey===i);return!a||!Yp(t,n,r)?!1:x0(t,a,n,r)}function S0(e){return!("button"in e)||e.button===0}function Rl(e){let t=$s(e);return{element:e,elementInfo:{...yn(e),selector:t},selector:t,durableSelector:Ro(e)}}function Ll(e){return{x:e.x-window.scrollX,y:e.y-window.scrollY}}function $l(e){ot(e,"transition","none")}function I0(e,t,n){let r=Rl(e),o=Ll(n),i=ga(e);return $l(e),{session:{...r,isDragging:!0,side:t,startX:o.x,startY:o.y,original:i},dragging:{side:t,padding:{...i}}}}function k0(e,t,n,r){let o=Rl(e),i=Ll(n),a=ol(e),l=window.getComputedStyle(e).justifyContent,s=0;if(r){let c=il(e).find(f=>f.axis===t);s=c?t==="column"?c.w:c.h:0}let d=r?{row:s,column:s}:a;return $l(e),{session:{...o,isDragging:!0,hasMoved:!1,axis:t,startX:i.x,startY:i.y,originalRow:d.row,originalColumn:d.column,isAuto:r,originalJustifyContent:l,visualGap:s},dragging:{axis:t,...d}}}function E0(e,t,n){let r=Rl(e),o=Ni(e);return $l(e),{session:{...r,isDragging:!0,corner:t,startY:Ll(n).y,original:o,maxRadius:Math.floor(e.getBoundingClientRect().height/2)},dragging:{corner:t,radius:{...o}}}}function T0(e,t,n){let r=Rl(e),o=Ll(n),i=ou(e);return $l(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 C0({activeText:e,applySticker:t,canvasRef:n,clearSelection:r,commentTextEditCandidateRef:o,commitActiveText:i,createInlineTextEdit:a,dispatch:l,domDragRef:s,editPendingLinkedComment:d,findAnnotationAtPoint:c,findHandleAtPoint:f,findTextAtPoint:p,gapDragRef:h,gapHoveredAxis:g,gapHoveredElement:m,gapIsAuto:x,getPoint:w,handleAnnotationActivation:z,handDragRef:A,handHoveredElement:S,handHoveredSide:H,hoveredElement:R,hoveredElementInfo:K,isElementInFlight:G,onCanvasInteraction:N,openThreadAndFocusReply:V,pageAnnotations:Y,modifiedElementThreadStates:I,pageStyleModifications:X,parentPinnedAnnotationIds:te,pointerTargetOverrideRef:D,radiusDragRef:O,radiusHoveredCorner:j,radiusHoveredElement:P,selectAnnotation:L,setDragState:E,setGapDragging:Z,setHandDragging:re,setPendingLinkedText:ee,setRadiusDragging:ie,setResizeState:U,setStickerRejectPulse:me,setTextDragging:le,state:oe,stickerStage:Me,textDragRef:Te,textHoveredElement:Ce,textHoveredProperty:J,toolbarRef:ve}){return B($e=>{if(!oe.isAnnotating||!S0($e))return;N?.();let De=D?.current??null;D&&(D.current=null);let et=De?.element??R,rt=De?.elementInfo??K,ge=w($e),pe="shiftKey"in $e&&$e.shiftKey,Fe="clientX"in $e?{x:$e.clientX,y:$e.clientY}:"touches"in $e&&$e.touches[0]?{x:$e.touches[0].clientX,y:$e.touches[0].clientY}:null;if(oe.activeTool==="sticker"){if("button"in $e&&$e.button!==0||Me!=="value")return;if(!Fe){me(Ue=>Ue+1);return}let ke=De?.element??_i(Fe.x,Fe.y);if(!(ke instanceof HTMLElement)&&!(ke instanceof SVGElement)){me(Ue=>Ue+1);return}$e.preventDefault(),$e.stopPropagation(),t(ke);return}if(oe.activeTool==="inspector"&&Fe&&(!("button"in $e)||$e.button===0)){let ke=a(Fe.x,Fe.y,ge);o.current=ke?{edit:ke,clientX:Fe.x,clientY:Fe.y,expiresAt:Date.now()+1e3}:null}else o.current=null;let Be=p(ge);if(Be?.points[0]){e&&i(),pe||r();let ke=Be.threadId||(Be.groupId?oe.annotations.find(Ue=>Ue.groupId===Be.groupId&&Ue.threadId)?.threadId:void 0);if(te.has(Be.id)){o.current=null,z(Be.id,ke);return}ke&&V(ke),E({annotation:Be,startPoint:ge,hasMoved:!1});return}if(oe.activeTool==="inspector"){if("button"in $e&&$e.button===2)return;if(et&&!G(et)){let ke=Y.filter(y=>y.type==="text"&&y.linkedSelector).filter(y=>hu(y.linkedSelector,y.elements?.[0])===et).sort((y,se)=>se.timestamp-y.timestamp)[0];if(ke?.points[0]){if((ke.status??"pending")==="pending"&&!ke.threadId)d(ke.id);else{let y=ke.threadId||(ke.groupId?oe.annotations.find(se=>se.groupId===ke.groupId&&se.threadId)?.threadId:void 0);y&&V(y)}return}let Ue=fa(et),mt=new Set;for(let[y,se]of I??[]){let be=mu(se.selectors??[y],se.targetFingerprint);be.status==="matched"&&be.element===et&&mt.add(se.threadId)}if(mt.size===1){V([...mt][0]);return}let _t=rt??yn(et),yt=Ue?Dc(Ue):Ro(et),Je=vn(et),pt=yt;if(!Ue){let y=et.getAttribute("data-pm");y||(y=Math.random().toString(36).substring(2,8),et.setAttribute("data-pm",y)),pt=uu(`[data-pm="${y}"]`,et.ownerDocument)}let kn=X.some(y=>{if(y.captured)return!1;try{return Fi(et,y.selector)}catch{return!1}}),Xt=oe.annotations.filter(y=>{if(!y.linkedSelector)return!1;try{return Fi(et,y.linkedSelector)}catch{return!1}}).length,En=(kn?1:0)+Xt,Ft=Je.top>=22*(1+En)+Pi?"top-left":"bottom-left",Ne=n.current?.getContext("2d")??document.createElement("canvas").getContext("2d"),ft;Ne&&(Ne.font=`12px ${In}`,ft=Ne.measureText("Type here...").width);let dt=et===document.body?Ic(Je):kc(Je,Ft,En,ve?.current,ft,0);ee({point:dt,subjectAnchor:Ue?{x:.5,y:.5}:void 0,linkedSelector:pt,target:Ue,linkedAnchor:Ft,elements:[{..._t,selector:yt}]})}return}if(oe.activeTool==="hand"&&S&&_m(S)&&!m&&!P&&!Ce&&!H){let ke=S,Ue=$s(ke),mt=Ro(ke),_t=yn(ke),yt="altKey"in $e&&$e.altKey;s.current={isDragging:!0,hasMoved:!1,mode:yt?"copy":"move",startX:ge.x-window.scrollX,startY:ge.y-window.scrollY,element:ke,originalParent:ke.parentElement,originalIndex:Fm(ke),selector:Ue,durableSelector:mt,elementInfo:{..._t,selector:Ue}},$e.preventDefault();return}if(oe.activeTool==="hand"&&m&&g){let ke=k0(m,g,ge,x);h.current=ke.session,Z(ke.dragging);return}if(oe.activeTool==="hand"&&Ce&&J){let ke=T0(Ce,J,ge);Te.current=ke.session,le(ke.dragging);return}if(oe.activeTool==="hand"&&P&&j){let ke=E0(P,j,ge);O.current=ke.session,ie(ke.dragging);return}if(oe.activeTool==="hand"&&S&&H){let ke=I0(S,H,ge);A.current=ke.session,re(ke.dragging);return}let st=f(ge);if(st){let ke=oe.annotations.find(Ue=>Ue.id===st.annotationId);if(ke&&ke.type!=="text"&&(ke.status??"pending")==="pending"){U({annotationId:st.annotationId,handle:st.handle,startPoint:ge,originalPoints:[...ke.points],hasMoved:!1});return}}let Ve=c(ge);if(Ve?.points[0]){e&&i(),Ve.type!=="text"?(L(Ve.id,pe),Ve.color&&(Ve.status??"pending")==="pending"&&l({type:"SET_COLOR",payload:Ve.color})):pe||r();let ke=Ve.threadId||(Ve.groupId?oe.annotations.find(Ue=>Ue.groupId===Ve.groupId&&Ue.threadId)?.threadId:void 0);ke&&(Ve.status??"pending")!=="pending"&&V(ke),E({annotation:Ve,startPoint:ge,hasMoved:!1});return}pe||r()},[e,t,n,r,o,i,a,l,s,d,c,f,p,h,g,m,x,w,z,A,S,H,R,K,G,N,V,Y,I,X,te,D,O,j,P,L,E,Z,re,ee,ie,U,me,le,oe.activeTool,oe.annotations,oe.isAnnotating,Me,Te,Ce,J,ve])}function Zi(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 l=Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*i)/a)),s=t.x+l*o,d=t.y+l*i;return Math.hypot(e.x-s,e.y-d)<=r}function A0({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],l=i.points[i.points.length-1],s=(i.strokeWidth||3)+4;if(i.type==="line"){if(Zi(e,a,l,s))return i;continue}if(i.type==="freehand"){for(let h=0;h<i.points.length-1;h+=1)if(Zi(e,i.points[h],i.points[h+1],s))return i;continue}let d=Math.min(a.x,l.x),c=Math.max(a.x,l.x),f=Math.min(a.y,l.y),p=Math.max(a.y,l.y);if(i.type==="rectangle"){if(Zi(e,{x:d,y:f},{x:c,y:f},s)||Zi(e,{x:d,y:p},{x:c,y:p},s)||Zi(e,{x:d,y:f},{x:d,y:p},s)||Zi(e,{x:c,y:f},{x:c,y:p},s))return i;continue}if(i.type==="circle"){let h=(c-d)/2,g=(p-f)/2;if(h===0||g===0)continue;let m=Math.hypot((e.x-(d+c)/2)/h,(e.y-(f+p)/2)/g);if(Math.abs(m-1)*Math.max(h,g)<=s)return i}}return null}function M0(e,t,n,r){if(t.length===0)return null;let o=r/2+4;for(let i of t){let a=n.find(g=>g.id===i);if(!a||a.points.length<2)continue;let l=a.points[0],s=a.points[a.points.length-1];if(a.type==="line"){if(Math.hypot(e.x-l.x,e.y-l.y)<=o)return{handle:"start",annotationId:i};if(Math.hypot(e.x-s.x,e.y-s.y)<=o)return{handle:"end",annotationId:i};continue}let d,c,f,p;a.type==="freehand"?(d=Math.min(...a.points.map(g=>g.x)),c=Math.max(...a.points.map(g=>g.x)),f=Math.min(...a.points.map(g=>g.y)),p=Math.max(...a.points.map(g=>g.y))):(d=Math.min(l.x,s.x),c=Math.max(l.x,s.x),f=Math.min(l.y,s.y),p=Math.max(l.y,s.y));let h=a.type==="circle"?[{handle:"top",x:(d+c)/2,y:f},{handle:"bottom",x:(d+c)/2,y:p},{handle:"left",x:d,y:(f+p)/2},{handle:"right",x:c,y:(f+p)/2}]:a.type==="rectangle"||a.type==="freehand"?[{handle:"topLeft",x:d,y:f},{handle:"topRight",x:c,y:f},{handle:"bottomLeft",x:d,y:p},{handle:"bottomRight",x:c,y:p}]:[];for(let g of h)if(Math.hypot(e.x-g.x,e.y-g.y)<=o)return{handle:g.handle,annotationId:i}}return null}function R0(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 L0({annotation:e,point:t,context:n,groupNumber:r,scroll:o,textSafeBounds:i,parentPinned:a}){let l=e.points[0];if(!l||!e.text||!n)return!1;let s=4,d=e.fontSize||12;n.font=`${d}px ${In}`;let c=e.text.replace(/\n/g," "),f=r!==void 0?`${r}. ${c}`:c,p=l.x-o.x,h=a?Ps:0,g=Math.max(60,Ms(p)-h),m=au(n,f,g),x=n.measureText(m).width,w=d*lr,z=lu({x:l.x-o.x,y:l.y-o.y},d,i,h+x+16),A={x:z.x+o.x,y:z.y+o.y};return t.x>=A.x-8-s&&t.x<=A.x+h+x+8+s&&t.y>=A.y-4-s&&t.y<=A.y+w+4+s}function $0({annotationGroupMap:e,annotations:t,canvasRef:n,handleSize:r,hiddenCollidingAnnotationIds:o,pageAnnotations:i,parentPinnedAnnotationIds:a,scroll:l,selectedAnnotationIds:s,supersededAnnotations:d,textSafeBounds:c}){let f=B(m=>R0(n.current,m,{x:window.scrollX,y:window.scrollY}),[n]),p=B(m=>A0({point:m,annotations:i,isHidden:x=>d.has(x)||o.has(x.id),textContainsPoint:(x,w)=>L0({annotation:x,point:w,context:n.current?.getContext("2d")??null,groupNumber:e.get(x.id),scroll:l,textSafeBounds:c,parentPinned:a.has(x.id)})}),[e,n,o,i,a,l,d,c]),h=B(m=>{let x=p(m);return x?.type==="text"?x:null},[p]),g=B(m=>M0(m,s,t,r),[t,r,s]);return{findAnnotationAtPoint:p,findHandleAtPoint:g,findTextAtPoint:h,getPoint:f}}function j0({annotations:e,dragState:t,resizeState:n,dispatch:r,setDragState:o,setResizeState:i}){return B(({point:a,centerOrigin:l,lockAspect:s})=>{if(n){let d=e.find(f=>f.id===n.annotationId);if(!d)return!0;let c=cb({annotation:d,session:n,point:a,centerOrigin:l,lockAspect:s});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=sb(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 P0({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,l=null;for(let s of o){let d=s.getBoundingClientRect(),c=Ni(s),f=[["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[p,h,g]of f){let m=Math.hypot(n.x-h,n.y-g);m<a&&(a=m,i=p,l=s)}}return i&&l?{element:l,corner:i}:null}function z0({element:e,point:t,maxCandidates:n=3}){let r=[];e&&su(e)&&r.push(e);let o=e?.parentElement??null;for(;o&&o!==document.body&&r.length<n;)su(o)&&r.push(o),o=o.parentElement;for(let i of r){let a=il(i).find(l=>t.x>=l.x&&t.x<=l.x+l.w&&t.y>=l.y&&t.y<=l.y+l.h);if(a)return{element:i,axis:a.axis,isAuto:js(i,a.axis)}}return null}function D0({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,l=null;for(let s of o){if(!rg(s))continue;let d=zs(s);if(!d)continue;let c=n.x>=d.left&&n.x<=d.right&&n.y>=d.top&&n.y<=d.bottom,f=[["font-size",d.right,d.top+d.height/2],["line-height",d.left+d.width/2,d.bottom]];for(let[p,h,g]of f){let m=Math.hypot(n.x-h,n.y-g);(c||m<r)&&m<a&&(a=m,i=p,l=s)}}return i&&l?{element:l,property:i}:null}function O0(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 l=e.y<r,s=e.y>o,d=e.x<i,c=e.x>a;return l&&d?n.top>=n.left?"top":"left":l&&c?n.top>=n.right?"top":"right":s&&d?n.bottom>=n.left?"bottom":"left":s&&c?n.bottom>=n.right?"bottom":"right":l?"top":s?"bottom":d?"left":c?"right":null}var md=[0,1,2,4,8,12,16,20,24,28,32],H0=[8,10,11,12,13,14,16,18,20,22,24,28,32,36,40,48,56,64,72,80,96];function jl(e){for(let t=0;t<md.length-1;t++){let n=md[t],r=md[t+1];if(e<=(n+r)/2)return n;if(e<r)return r}return Math.round(e/8)*8}function N0(e){return H0.reduce((t,n)=>Math.abs(e-n)<Math.abs(e-t)?n:t)}function _0(e,t,n){let r=e.axis;if(!r)return null;let o=!e.hasMoved;if(o){let l=Math.abs(t.x-e.startX),s=Math.abs(t.y-e.startY);if(l<=2&&s<=2)return null}let i=e.originalRow,a=e.originalColumn;if(r==="column"){let l=t.x-e.startX;a+=l,n.isolate||(i+=l)}else{let l=t.y-e.startY;i+=l,n.isolate||(a+=l)}return i=Math.max(0,i),a=Math.max(0,a),n.snap&&(i=jl(i),a=jl(a)),{axis:r,gap:{row:Math.round(i),column:Math.round(a)},started:o,convertedAuto:o&&e.isAuto}}function F0(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=jl(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 W0(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=N0(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 J0(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=jl(a)),o[i]=Math.round(a)}),{side:r,padding:o}}function q0({canvasRef:e,domDragRef:t,gapDragRef:n,gapHoveredAxis:r,gapHoveredElement:o,handCursorRef:i,handDragRef:a,handHoveredElement:l,handHoveredSide:s,modifiersRef:d,radiusDragRef:c,radiusHoveredCorner:f,radiusHoveredElement:p,setDomDropPreview:h,setGapDragging:g,setGapHoveredAxis:m,setGapHoveredElement:x,setGapIsAuto:w,setHandCursorPos:z,setHandDragging:A,setHandHoveredElement:S,setHandHoveredSide:H,setRadiusDragging:R,setRadiusHoveredCorner:K,setRadiusHoveredElement:G,setTextDragging:N,setTextHoveredElement:V,setTextHoveredProperty:Y,textDragRef:I,textHoveredElement:X,textHoveredProperty:te}){return B(({x:D,y:O})=>{i.current={x:D,y:O},z({x:D,y:O});let j=d.current.cmd,P=d.current.shift;if(t.current.isDragging){let ee=t.current,ie=ee.element;if(!ie)return;if(!ee.hasMoved){let me=Math.abs(D-ee.startX),le=Math.abs(O-ee.startY);if(me<=3&&le<=3)return;ee.hasMoved=!0}let U=tg(D,O,ie,e.current);if(!U){h(null);return}h({rect:U.reference.getBoundingClientRect(),placement:U.placement,mode:ee.mode});return}if(n.current.isDragging){let ee=n.current,ie=ee.element;if(!ie)return;let U=_0(ee,{x:D,y:O},{isolate:j,snap:P});if(!U)return;U.started&&(ee.hasMoved=!0),U.convertedAuto&&(ot(ie,"justify-content","normal"),ot(ie,"row-gap",`${ee.visualGap}px`),ot(ie,"column-gap",`${ee.visualGap}px`),w(!1)),ot(ie,"row-gap",`${U.gap.row}px`),ot(ie,"column-gap",`${U.gap.column}px`),g({axis:U.axis,...U.gap});return}if(c.current.isDragging){let ee=c.current,ie=ee.element;if(!ie)return;let U=F0(ee,{y:O},{isolate:j,snap:P});if(!U)return;ot(ie,"border-top-left-radius",`${U.radius["top-left"]}px`),ot(ie,"border-top-right-radius",`${U.radius["top-right"]}px`),ot(ie,"border-bottom-right-radius",`${U.radius["bottom-right"]}px`),ot(ie,"border-bottom-left-radius",`${U.radius["bottom-left"]}px`),R(U);return}if(I.current.isDragging){let ee=I.current,ie=ee.element;if(!ie)return;let U=W0(ee,{x:D,y:O},P);if(!U)return;ot(ie,"font-size",`${U.text.fontSize}px`);let me=U.text.fontSize>0?Math.round(U.text.lineHeight/U.text.fontSize*1e3)/1e3:1.2;ot(ie,"line-height",`${me}`),N({property:U.property,...U.text});return}if(a.current.isDragging){let ee=a.current,ie=ee.element;if(!ie)return;let U=J0(ee,{x:D,y:O},{isolate:j,snap:P});if(!U)return;ot(ie,"padding",`${U.padding.top}px ${U.padding.right}px ${U.padding.bottom}px ${U.padding.left}px`),A(U);return}let L=_i(D,O);for(;L&&L.tagName==="A";)L=L.parentElement;let E=P0({element:L,stickyElement:p,point:{x:D,y:O}});if(E){G(E.element),K(E.corner),l&&S(null),s&&H(null),o&&x(null),r&&m(null),w(!1),X&&V(null),te&&Y(null);return}p&&G(null),f&&K(null);let Z=z0({element:L,point:{x:D,y:O}});if(Z){x(Z.element),m(Z.axis),w(Z.isAuto),l&&S(null),s&&H(null),X&&V(null),te&&Y(null);return}o&&x(null),r&&m(null),w(!1);let re=D0({element:L,stickyElement:X,point:{x:D,y:O}});if(re?(V(re.element),Y(re.property)):(X&&V(null),te&&Y(null)),L!==l&&S(L),L){let ee=ga(L);H(O0({x:D,y:O},L.getBoundingClientRect(),ee))}else H(null)},[e,t,n,r,o,i,a,l,s,d,c,f,p,h,g,m,x,w,z,A,S,H,R,K,G,N,V,Y,I,X,te])}function B0({activeTool:e,isAnnotating:t,lastCanvasCursorRef:n,getPoint:r,isManipulating:o,findTextAtPoint:i,clearPageElementHover:a,handleShakePointerMove:l,handleTargetPointerMove:s,handleHandPointerMove:d,handleAnnotationPointerMove:c}){return B(f=>{let p=r(f),h={x:p.x-window.scrollX,y:p.y-window.scrollY},g="metaKey"in f&&(!("pointerType"in f)||f.pointerType==="mouse");n.current=h;let m=o();if(!l({isManipulating:m,isTouchEvent:"touches"in f||"pointerType"in f&&f.pointerType!=="mouse",viewportPoint:h})){if(!m&&i(p)){a();return}if(!s({viewportPoint:h,passThrough:g&&(f.metaKey||f.ctrlKey),stopPropagation:()=>f.stopPropagation()})){if(e==="hand"&&t){d(h);return}c({point:p,centerOrigin:g&&(f.metaKey||f.ctrlKey),lockAspect:g&&f.shiftKey})}}},[e,a,i,r,c,d,l,s,t,o,n])}function Y0({rawElement:e,point:t,dragHandoff:n,previewTarget:r,handleHitSize:o}){let i=!!(n?.element.isConnected&&(e===n.element||gv(n.releasePoint,t))),a=!!(n&&!i),l=!!(!a&&r?.element.isConnected&&f0(r.element,e,r.bounds,t.x,t.y,r.renderedQuad,o));return{candidate:i?n.element:l?r.element:e,clearDragHandoff:a,clearPreviewTarget:!!(r&&!l)}}function U0(e,t,n){return t?e!=="sticker"&&n(t)?null:t:null}function Kp({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n}){return t&&!n&&(e==="inspector"||e==="sticker")}function K0(e,t){return e?.subjectLabel!==t.subjectLabel||e?.textContent!==t.textContent||e?.context!==t.context}function X0(e,t){return!!(e&&t&&(e.adapter!==t.adapter||e.key!==t.key))}function V0(e,t,n,r=16){if(!(e instanceof HTMLImageElement||e instanceof HTMLVideoElement)||t)return!1;let o=vn(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 Q0({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n,hoveredElement:r,hoveredElementInfo:o,subjectRegistry:i,stickerFamily:a,stickerStage:l,stickerSubproperty:s,steerDragRef:d,transformDragHandoffRef:c,transformPreviewSuppressionRef:f,transformPreviewTargetRef:p,clearStickerPreview:h,isElementInFlight:g,setHoveredElement:m,setHoveredElementInfo:x,setStickerCursor:w,setStickerStep:z}){return B(({viewportPoint:A,passThrough:S,stopPropagation:H})=>{if(!Kp({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n}))return!!n;if(e==="sticker"&&(H(),w(A)),d.current)return!0;if(fg(A.x,A.y))return e==="sticker"&&h(),r&&m(null),o&&x(null),w(null),!0;let R={allowBodyFallback:e==="inspector"},K=S?hg(A.x,A.y,R):_i(A.x,A.y,R),G=e==="inspector"?i?.hitTest(A):null,N=V0(K,!!G,A),V=fa(r),Y=X0(V,G?.target),I=!G&&V?i?.resolve(V)?.subject.sourceElement:void 0,X=I&&!mg(I,A.x,A.y);if(!N&&!Y&&!X&&e==="inspector"&&w0(document,r,A.x,A.y))return!0;let te=G?.element??K,D=e==="sticker"&&l==="value"&&a==="transform"?p.current:null,O=S?{candidate:te,clearDragHandoff:!!c.current,clearPreviewTarget:!!D}:Y0({rawElement:te,point:A,dragHandoff:c.current,previewTarget:D,handleHitSize:20});O.clearDragHandoff&&(c.current=null),O.clearPreviewTarget&&(p.current=null);let j=O.candidate,P=U0(e,j,g);if(P===r)return G?.element===P&&K0(o,G.elementInfo)&&x(G.elementInfo),!0;if(e==="sticker"&&h(),e==="sticker"&&jr(P)&&a==="transform"&&(s==="translate"||s==="scale"||s==="rotate")){let L=vv(P,s);f.current={element:P,subproperty:s,step:L},z(L)}else a==="transform"&&(f.current=null);return m(P),x(G?.element===P?G.elementInfo:P?yn(P):null),!0},[e,h,r,o,t,g,m,x,w,z,d,a,l,s,i,n,c,f,p])}function G0({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 Z0(e){let t=q0(e),n=j0(e),r=Q0(e),o=q(r),i=q(e.clearPageElementHover),a=q(!1),l=Kp({activeTool:e.activeTool,isAnnotating:e.isAnnotating,suspendTargetDiscovery:e.suspendTargetDiscovery});Tt(()=>{o.current=r,i.current=e.clearPageElementHover},[r,e.clearPageElementHover]),_(()=>{if(l)return G0({onSuspend:()=>i.current(),onRestore:()=>{let c=e.lastCanvasCursorRef.current;c&&o.current({viewportPoint:c,passThrough:!1,stopPropagation:()=>{}})},suspendedRef:a})},[e.lastCanvasCursorRef,l]);let s=B(c=>a.current?!0:o.current(c),[]);_(()=>{let c=f=>{f.repeat||f.key!=="Meta"&&f.key!=="Control"||!e.lastCanvasCursorRef.current||s({viewportPoint:e.lastCanvasCursorRef.current,passThrough:!0,stopPropagation:()=>{}})};return window.addEventListener("keydown",c,!0),()=>window.removeEventListener("keydown",c,!0)},[s,e.lastCanvasCursorRef]),_(()=>{let c=f=>{let p=e.canvasRef.current;if(p&&f.composedPath().includes(p))return;let h={x:f.clientX,y:f.clientY};e.lastCanvasCursorRef.current=h,s({viewportPoint:h,passThrough:f.metaKey||f.ctrlKey,stopPropagation:()=>{}})};return window.addEventListener("mousemove",c,!0),()=>window.removeEventListener("mousemove",c,!0)},[s,e.canvasRef,e.lastCanvasCursorRef]),_(()=>{if(e.subjectRegistry)return e.subjectRegistry.subscribeFrame(()=>{let c=e.lastCanvasCursorRef.current;c&&s({viewportPoint:c,passThrough:!1,stopPropagation:()=>{}})})},[s,e.lastCanvasCursorRef,e.subjectRegistry]);let d=B(()=>!!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 B0({...e,isManipulating:d,handleAnnotationPointerMove:n,handleHandPointerMove:t,handleTargetPointerMove:s})}function ex({annotationGroupMap:e,canvasRef:t,currentPathname:n,cursorPosRef:r,dispatch:o,domDragRef:i,dragState:a,gapDragRef:l,gapDragging:s,getPoint:d,handDragRef:c,handDragging:f,lastPositionedTextId:p,radiusDragRef:h,radiusDragging:g,resizeState:m,setActiveText:x,setDomDropPreview:w,setDragState:z,setGapDragging:A,setHandDragging:S,setRadiusDragging:H,setResizeState:R,setSendHintAnchorId:K,setTextDragging:G,textDragRef:N,textDragging:V}){return B(Y=>{if(i.current.isDragging){let O=i.current,j=d(Y),P=Wm({drag:O,clientX:j.x-window.scrollX,clientY:j.y-window.scrollY,pathname:n,createId:Jm,rootElement:t.current});P&&o({type:"MODIFY_DOM_STRUCTURE",payload:P}),i.current=Kc(),w(null);return}if(N.current.isDragging){let O=Gb(N.current,V);O&&o({type:"MODIFY_STYLES_BATCH",payload:O}),N.current=Op(),G(null);return}if(l.current.isDragging){let O="button"in Y&&Y.button===2,j=Zb(l.current,s,O);j&&o({type:"MODIFY_STYLES_BATCH",payload:j}),l.current=zp(),A(null);return}if(h.current.isDragging){let O=e0(h.current,g);O&&o({type:"MODIFY_STYLES_BATCH",payload:O}),h.current=Dp(),H(null);return}if(c.current.isDragging){let O=t0(c.current,f);O&&o({type:"MODIFY_STYLES_BATCH",payload:O}),c.current=Pp(),S(null);return}if(m){R(null);return}if(!a)return;let I=e.get(a.annotation.id),X=t.current?.getContext("2d"),te=0;I!==void 0&&X&&(X.font=`${a.annotation.fontSize||12}px ${In}`,te=X.measureText(`${I}. `).width);let D=db({session:a,clickPoint:d(Y),groupLabelWidth:te});D&&(p.current=null,r.current=null,K(a.annotation.id),D.color&&o({type:"SET_COLOR",payload:D.color}),x(D.activeText)),z(null)},[e,t,n,r,o,i,a,l,s,d,c,f,p,h,g,m,x,w,z,A,S,H,R,K,G,N,V])}var tx=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 nx({activeTool:e,isAnnotating:t,clearStickerPreview:n,dispatch:r,setStickerCursor:o,startCursorSwitchPulse:i}){let a=q(new tx),l=q(null);return{handleShakePointerMove:B(({isManipulating:s,isTouchEvent:d,viewportPoint:c})=>{if(d||s||!t||e!=="inspector"&&e!=="sticker"||!a.current.push({...c,time:performance.now()}))return!1;let f=e==="sticker"?"inspector":"sticker";return l.current={from:e,to:f},i(f),f==="sticker"?o(c):n(),r({type:"SET_TOOL",payload:f}),!0},[e,n,r,t,o,i]),pendingShakeToolTransitionRef:l}}function Xp(e){return Math.random().toString(36).substring(2,e+2)}function rx(e,t,n,r={}){let{textNode:o,targetElement:i,textNodePath:a,segments:l,originalText:s,rect:d,boundaryRect:c,boundaryRects:f,flowRect:p,firstLineIndent:h,styles:g,fontSize:m,wrapsText:x}=e,w=i.getAttribute("data-pm");w||(w=r.createPmId?.()??Xp(6),i.setAttribute("data-pm",w));let z=uu(`[data-pm="${w}"]`,i.ownerDocument),A=Ds({left:0,top:0,width:1,height:1},i.ownerDocument).height,S=H=>H?.endsWith("px")?`${parseFloat(H)*A}px`:H;return{id:r.createEditId?.()??Xp(7),point:{x:d.left+n.x,y:d.top+n.y},text:s,fontSize:m*A,isNew:!0,clickPoint:t,domEdit:{selector:z,durableSelector:Ro(i),element:{...yn(i),selector:z},textNodePath:a,originalText:s,textNode:o,targetElement:i,segments:l,rect:d,boundaryRect:c,boundaryRects:f,flowRect:p,firstLineIndent:h,fontFamily:g.fontFamily,fontWeight:g.fontWeight,fontStyle:g.fontStyle,lineHeight:g.lineHeight==="normal"?`${Math.round(m*A*1.2*10)/10}px`:S(g.lineHeight),letterSpacing:S(g.letterSpacing),color:g.color,textTransform:g.textTransform,textAlign:g.textAlign,wordSpacing:S(g.wordSpacing),textDecoration:g.textDecoration,textShadow:g.textShadow,whiteSpace:g.whiteSpace,wordBreak:g.wordBreak,overflowWrap:g.overflowWrap,wrapsText:x}}}function ox(e){let t=eg(e.clientX,e.clientY,e.canvas);return t?rx(t,e.clickPoint,e.scroll):null}function ix({activeText:e,activeTextRef:t,canvasRef:n,clearPageElementHover:r,clearSelection:o,clearSignal:i,commentTextEditCandidateRef:a,cursorPosRef:l,dispatch:s,findTextAtPoint:d,lastPositionedTextId:c,onAttachImages:f,onCloseThread:p,onSend:h,pendingLinkedText:g,releaseActiveTextAttachments:m,setActiveText:x,setDragState:w,setHoveredTextId:z,setPendingLinkedText:A,setSendHintAnchorId:S,state:H,stateRef:R}){_(()=>{g&&(x({id:Math.random().toString(36).substring(2,9),point:g.point,subjectAnchor:g.subjectAnchor,text:"",fontSize:12,isNew:!0,linkedSelector:g.linkedSelector,target:g.target,linkedAnchor:g.linkedAnchor,elements:g.elements}),A(null))},[g,x,A]),_(()=>{let te=D=>{if(e)return;let O=d({x:D.clientX+window.scrollX,y:D.clientY+window.scrollY});z(O?.id??null)};return window.addEventListener("mousemove",te),()=>window.removeEventListener("mousemove",te)},[e,d,z]);let K=B(()=>{if(!e)return;if(e.domEdit){x(null);return}let te=fb(e);te.sendHintAnchorId&&S(te.sendHintAnchorId),te.action&&s(te.action),te.attachedImages&&f&&f(te.attachedImages.annotationId,te.attachedImages.images),x(null)},[e,s,f,x,S]),G=B(te=>{let D=R.current.annotations.find(j=>j.id===te);if(!D||D.type!=="text"||!D.points[0]||(D.status??"pending")!=="pending")return;let O=t.current;O&&O.id!==D.id&&K(),o(),r(),c.current=null,l.current=D.text?.length??0,S(D.id),D.color&&s({type:"SET_COLOR",payload:D.color}),x({id:D.id,point:D.points[0],text:D.text||"",fontSize:D.fontSize||12,isNew:!1,groupId:D.groupId,linkedSelector:D.linkedSelector,target:D.target,linkedAnchor:D.linkedAnchor,elements:D.elements,attachments:D.attachments,interactionEpisode:D.interactionEpisode})},[t,r,o,K,l,s,c,x,S,R]),N=q(!1),V=B(()=>{if(!h)return;let te=t.current;if(em(te?{text:te.text,originalText:te.domEdit?.originalText,hasInteractionEpisode:!!te.interactionEpisode?.steps.length}:null)){N.current=!0,K();return}h()},[t,K,h]);_(()=>{e||!N.current||(N.current=!1,h?.())},[e,h,H.annotations,H.textModifications]);let Y=q(i);_(()=>{if(i===Y.current)return;Y.current=i;let te=t.current;te?.domEdit&&te.domEdit.segments.forEach(O=>{O.textNode.nodeValue=O.originalText});let D=te?.isNew?te.attachments??[]:[];m(D),N.current=!1,x(null),A(null),S(null),w(null),l.current=null,c.current=null,ms(localStorage)},[t,i,l,c,m,x,w,A,S]);let I=B((te,D,O)=>ox({clientX:te,clientY:D,clickPoint:O,canvas:n.current,scroll:{x:window.scrollX,y:window.scrollY}}),[n]),X=B(te=>{p?.(),A(null),w(null),S(null),o(),r(),c.current=null,x(te)},[r,o,c,p,x,w,A,S]);return _(()=>{let te=j=>{if(j.button!==0)return;let P=R.current,L=a.current;if(!P.isAnnotating||P.activeTool!=="inspector"||!L)return;let E=Date.now()>L.expiresAt,Z=Math.hypot(j.clientX-L.clientX,j.clientY-L.clientY)>12,re=L.edit.domEdit;if(E||Z||!re?.textNode.isConnected||!re.targetElement.isConnected){a.current=null;return}j.preventDefault(),j.stopPropagation(),a.current=null,X(L.edit)},D=j=>{j.detail===2&&te(j)},O=j=>{te(j)};return window.addEventListener("mousedown",D,!0),window.addEventListener("dblclick",O,!0),()=>{window.removeEventListener("mousedown",D,!0),window.removeEventListener("dblclick",O,!0)}},[a,X,R]),{commitActiveText:K,createInlineTextEdit:I,editPendingLinkedComment:G,handleSendPendingBundle:V}}function ax(e,t){let n=Pr(Hi),r=e?.domEdit?.textNode;_(()=>{if(!n||!r)return;let o=null,i=()=>{t(a=>{if(!a?.domEdit)return a;let{textNode:l,targetElement:s,segments:d,rect:c,boundaryRect:f,boundaryRects:p,flowRect:h,firstLineIndent:g}=a.domEdit;if(!l.isConnected||!s.isConnected||!ll(s.ownerDocument))return null;let m=yg(s).getComputedStyle(s),x=Ds({left:0,top:0,width:1,height:1},s.ownerDocument).height,w=(parseFloat(m.fontSize)||12)*x,z=N=>N?.endsWith("px")?`${parseFloat(N)*x}px`:N,A=Qm(d,s,m),{textRect:S,boundaryRect:H,boundaryRects:R,flowRect:K,firstLineIndent:G}=A;return iu(c,S)&&iu(f,H)&&Gm(p,R)&&Zm(h,K)&&Math.abs(g-G)<.5?a:{...a,fontSize:w,point:{x:S.left+window.scrollX,y:S.top+window.scrollY},domEdit:{...a.domEdit,rect:S,boundaryRect:H,boundaryRects:R,flowRect:K,firstLineIndent:G,lineHeight:m.lineHeight==="normal"?`${w*1.2}px`:z(m.lineHeight),letterSpacing:z(m.letterSpacing),wordSpacing:z(m.wordSpacing)}}}),o=window.requestAnimationFrame(i)};return o=window.requestAnimationFrame(i),()=>{o!==null&&window.cancelAnimationFrame(o)}},[n,r,t])}function lx({activeText:e,activeTextRef:t,canvasRef:n,visible:r}){let o=Pr(Hi),i=q(null),[a,l]=$(null),s=q(null),d=q(null),c=e?.id??null;return Tt(()=>{if(!o)return;let f=i.current,p=e?.domEdit;if(!f||!e||!p){l(null);return}let h=p.flowRect??p.rect,g=Math.max(1,window.innerWidth-h.left),m=Math.min(g,Math.max(1,h.width));f.style.width=`${p.wrapsText?m:1}px`,f.style.height="1px";let x=p.wrapsText?m:Math.min(g,Math.max(m,Math.ceil(f.scrollWidth)));f.style.width=`${x}px`;let w=Math.max(h.height,Math.ceil(f.scrollHeight));f.style.height=`${w}px`,l(z=>z?.id===e.id&&Math.abs(z.width-x)<.5&&Math.abs(z.height-w)<.5?z:{id:e.id,width:x,height:w})},[e,o]),_(()=>{if(!o)return;if(!c){s.current=null,d.current=null;return}if(!r||!i.current){s.current=null;return}let f=requestAnimationFrame(()=>{let p=i.current;if(!p||(p.focus(),s.current===c))return;s.current=c;let h=t.current;if(h){if(h.domEdit){p.setSelectionRange(0,p.value.length);return}if(d.current!==null){let g=Math.min(d.current,p.value.length);p.setSelectionRange(g,g);return}if(!h.isNew&&h.clickPoint){let g=n.current?.getContext("2d");if(!g)return;g.font=`${h.fontSize}px ${In}`;let m=yb({text:h.text,fontSize:h.fontSize,point:h.point,clickPoint:h.clickPoint,context:g});p.setSelectionRange(m,m)}}});return()=>cancelAnimationFrame(f)},[c,t,n,r,o]),{cursorPosRef:d,domEditInputSize:a,inputRef:i,lastPositionedTextId:s}}var gd=["flex-start","center","flex-end"],yd=["flex-start","center","flex-end"],sx=300,Vp=20;function dx({enabled:e,dispatch:t,handCursorRef:n,setGapRefreshKey:r}){let[o,i]=$(null),a=B(()=>i(null),[]);return _(()=>{let l=null,s=!1,d=null,c=null,f=null,p=null,h=0,g=(N,V)=>{let Y=_i(N,V);for(;Y&&Y!==document.documentElement;){let I=window.getComputedStyle(Y).display;if(I==="flex"||I==="inline-flex")return Y;Y=Y.parentElement}return null},m=N=>{let V=window.getComputedStyle(N).flexDirection;return V==="column"||V==="column-reverse"?"vertical":"horizontal"},x=N=>{let V=N.getAttribute("data-pm");return V||(V=Math.random().toString(36).substring(2,8),N.setAttribute("data-pm",V)),{selector:`[data-pm="${V}"]`,durableSelector:Ro(N)}},w=()=>{s=!0,l&&clearTimeout(l),l=setTimeout(()=>{s=!1,l=null},sx)},z=(N,V,Y)=>{let I=m(N);if(V===I){let X=window.getComputedStyle(N).justifyContent,te=X==="normal"||X==="flex-start"||X==="start"?"flex-start":X==="flex-end"||X==="end"?"flex-end":X==="center"?"center":null;if(!te)return;let D=gd.indexOf(te)+Y;if(D<0||D>=gd.length)return;let O=gd[D],{selector:j,durableSelector:P}=x(N);ot(N,"justify-content",O),t({type:"MODIFY_STYLES_BATCH",payload:{selector:j,durableSelector:P,element:yn(N),changes:[{property:"justify-content",original:X,modified:O}]}})}else{let X=window.getComputedStyle(N).flexDirection,te=I==="horizontal"?"column":"row",{selector:D,durableSelector:O}=x(N);ot(N,"flex-direction",te),t({type:"MODIFY_STYLES_BATCH",payload:{selector:D,durableSelector:O,element:yn(N),changes:[{property:"flex-direction",original:X,modified:te}]}})}r(X=>X+1)},A=(N,V,Y)=>{let I=m(N)==="horizontal"?"vertical":"horizontal";if(V!==I)return;let X=window.getComputedStyle(N).alignItems,te=X==="normal"||X==="stretch"||X==="flex-start"||X==="start"?"flex-start":X==="flex-end"||X==="end"?"flex-end":X==="center"?"center":null;if(!te)return;let D=yd.indexOf(te)+Y;if(D<0||D>=yd.length)return;let O=yd[D],{selector:j,durableSelector:P}=x(N);ot(N,"align-items",O),t({type:"MODIFY_STYLES_BATCH",payload:{selector:j,durableSelector:P,element:yn(N),changes:[{property:"align-items",original:X,modified:O}]}}),r(L=>L+1)},S=(N,V,Y)=>{let I=g(V,Y);i(I?{modifier:N,target:I}:null)},H=()=>{f=null,p=null,h=0,d=null,c=null,i(null)},R=N=>{if(!e)return;let V=n.current;N.key==="Shift"&&!N.altKey?S("shift",V.x,V.y):N.key==="Alt"&&!N.shiftKey&&S("alt",V.x,V.y)},K=N=>{if(!e)return;let V=N.shiftKey&&!N.altKey,Y=N.altKey&&!N.shiftKey;if(!V&&!Y||N.buttons!==0){H();return}if(d===null&&(d=N.clientX,c=N.clientY,S(V?"shift":"alt",N.clientX,N.clientY)),s)return;f===null&&(f=N.clientX,p=N.clientY,h=0);let I=N.clientX-f,X=N.clientY-p,te=Math.abs(I)>=Math.abs(X)?I:X;if(Math.abs(te)>3){let P=te>0?1:-1;if(h!==0&&P!==h){f=N.clientX,p=N.clientY,h=0;return}h=P}if(Math.abs(I)<Vp&&Math.abs(X)<Vp)return;let D=g(d,c);if(!D)return;let O=Math.abs(I)>=Math.abs(X)?"horizontal":"vertical",j=(O==="horizontal"?I:X)>0?1:-1;f=null,p=null,h=0,V?z(D,O,j):A(D,O,j),w()},G=N=>{(N.key==="Shift"||N.key==="Alt")&&H()};return window.addEventListener("keydown",R),window.addEventListener("mousemove",K),window.addEventListener("mousedown",H),window.addEventListener("keyup",G),()=>{window.removeEventListener("keydown",R),window.removeEventListener("mousemove",K),window.removeEventListener("mousedown",H),window.removeEventListener("keyup",G),l&&clearTimeout(l)}},[t,e,n,r]),{swipeHint:o,clearSwipeHint:a}}function cx(e,t,n){let{destination:r,mode:o,scope:i}=t;if(o==="preview"&&i.kind!=="values"){let p=r.family,h=r.subproperty??Ss(p,e.subproperty);return{next:{family:p,subproperty:h,step:pa(p,e.step,h),stage:i.kind==="colors"?"variant":"family"},pulseContextLabel:!1}}let a=r.family,l=r.step!==void 0,s=ks(a),d=!l&&ui(a,r.subproperty??"all")?n.readColor(s):null,c=r.subproperty??Ss(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 f=l?null:d?d.name===c?d.step:Is:n.readStep(a,c);return{next:{family:a,subproperty:c,step:r.step??f??pa(a,e.step,c),stage:r.stage},pulseContextLabel:r.stage!=="family"}}function vd(e){if(e.kind==="colors")return"variant";if(e.kind==="values")return"value"}function ux(e){return e.stage==="variant"&&ui(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}:dd}function px(e,t,n,r=!1){if(!e)return n!==" "?{handled:!1,session:e}:r?{handled:!0,session:e}:{handled:!0,session:{query:"",segments:[],scope:ux(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),l=cd(e.scope,a);return{handled:!0,session:{...e,query:a},restore:l?void 0:e.segmentOrigin,destination:l?{mode:"preview",scope:e.scope,value:l.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=ka(e.scope,e.query);return i?.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:i.destination},stage:vd(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()?ka(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:vd(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=ka(e.scope,e.query);return i?i.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:i.destination},stage:vd(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=cd(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 fx(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=lm(e.family,i),l=a==="color"?$r.name:Ss(a,e.subproperty);return{handled:!0,next:{family:a,subproperty:l,step:a==="color"?$r.step:pa(a,e.step,l),stage:e.stage}}}return e.stage==="variant"&&ui(e.family,e.subproperty)?{handled:!0,next:{...e,subproperty:sm(e.subproperty,i),step:Is}}:{handled:!0,next:{...e,step:dm(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=cm(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:Is}};let l=n.readColor(ks(e.family));return{handled:!0,next:{...e,subproperty:l?.name??$r.name,step:l?.step??$r.step,stage:Pc(e.stage,e.family,a)}}}return{handled:!0,next:{...e,subproperty:a,step:n.readStep(e.family,a)??pa(e.family,e.step,a),stage:Pc(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(ks(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:pa(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:ui(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"&&ui(e.family,e.subproperty)?"variant":"family"}}:{handled:!1,next:e}}function hx({active:e,family:t,step:n,subproperty:r,stage:o,query:i,setFamily:a,setStep:l,setSubproperty:s,setStage:d,setQuery:c,setCursor:f,setContextLabelPulse:p,setDepthSnapPulse:h,setRejectPulse:g,lastCursorRef:m,toolbarRef:x,previewRef:w,applyStickerRef:z,readColor:A,readStep:S}){_(()=>{if(!e)return;m.current&&f(m.current);let H=R=>{let K=R.composedPath?.()[0]??R.target;if(K?.tagName==="INPUT"||K?.tagName==="TEXTAREA"||K?.isContentEditable||K&&x?.current?.contains(K)||R.metaKey||R.ctrlKey||R.altKey)return;let G={family:t,step:n,subproperty:r,stage:o},N=X=>{a(X.family),l(X.step),s(X.subproperty),d(X.stage)},V=X=>{let te=cx(G,X,{readColor:A,readStep:S});return N(te.next),te.pulseContextLabel&&p(D=>D+1),te.next},Y=px(i,G,R.key,R.repeat);if(Y.replayAsSteering&&(c(null),h(X=>X+1)),Y.handled){R.preventDefault(),R.stopPropagation(),Y.restore&&N(Y.restore);let X=Y.destination?V({mode:Y.destination.mode,scope:Y.destination.scope,destination:Y.destination.value}):void 0;if(Y.stage&&d(Y.stage),Y.command==="reject"&&g(te=>te+1),Y.command==="apply"){let te=w.current?.element,D=X?{family:X.family,step:X.step,subproperty:X.subproperty}:void 0;te&&z.current(te,D)?c(null):(c(Y.session),te||g(O=>O+1));return}c(Y.session);return}let I=fx(Y.replayAsSteering&&Y.restore?Y.restore:G,R.key,{readColor:A,readStep:S});if(I.handled&&(R.preventDefault(),I.stopPropagation&&R.stopPropagation(),a(I.next.family),l(I.next.step),s(I.next.subproperty),d(I.next.stage),I.command==="apply")){let X=w.current?.element;X?z.current(X):g(te=>te+1)}};return window.addEventListener("keydown",H,!0),()=>window.removeEventListener("keydown",H,!0)},[e,z,t,m,w,i,A,S,p,f,h,a,c,g,d,l,s,o,n,r,x])}function mx(e,t,n,r){let{deltaX:o,deltaY:i}=t;if(e.transformKind==="translate"&&e.startTranslate){let f=mv({x:o,y:i},r),p=so("translate",e.startTranslate.x+f.x),h=so("translate",e.startTranslate.y+f.y),g=Math.abs(f.x)>=Math.abs(f.y)?p:h;return{subproperty:"translate",step:g,drag:{...e,subproperty:"translate",step:g,translateSteps:{x:p,y:h},translateValue:`${Number(p)*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?bv(o,i,e.vector):e.axis==="x"?o:i,l=e.startPixels+a*(e.direction??1),s=e.transformKind==="rotate"?l:Math.max(0,l),d=e.side?Qs(e.side,n):e.corner?Gs(e.corner,n):e.subproperty,c=e.transformKind?so(e.transformKind,s):Tl(e.family,d,s);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 gx(){let[e,t]=$(null),n=q(e);n.current=e;let r=q(null),o=B(d=>{let c=d.requestPointerLock;if(typeof c=="function"){r.current=d;try{let f=c.call(d);f&&f.catch(()=>{r.current===d&&(r.current=null)})}catch{r.current=null}}},[]),i=B((d,c)=>{n.current=d,t(d),o(c)},[o]),a=B(d=>{n.current=d,t(d)},[]),l=B(()=>{n.current=null,t(null)},[]),s=B(()=>{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:l,releasePointerLock:s}}function yx(e,t){let n=q(t);n.current=t;let{dragRef:r,pointerLockElementRef:o,replaceDrag:i,clearDrag:a,releasePointerLock:l}=e;_(()=>{let s=(m,x)=>{let w=r.current;if(!w)return;let z=o.current,A=z!==null&&document.pointerLockElement===z?xv(w,{x:m.movementX,y:m.movementY},{width:window.innerWidth,height:window.innerHeight}):{cursor:{x:m.clientX,y:m.clientY},deltaX:m.clientX-w.startX,deltaY:m.clientY-w.startY},S=mx(w,A,x,m.shiftKey);n.current.onSelectionChange(S.subproperty,S.step),i(S.drag),n.current.onCursorChange(A.cursor)},d=()=>{n.current.onCancel(),a(),l()},c=(m,x)=>{let w=r.current;if(!w)return;let z=w.side?Qs(w.side,m):w.corner?Gs(w.corner,m):w.subproperty;w.hasMoved&&n.current.onCommit(w,z,x),a(),l()},f=m=>{r.current&&(m.preventDefault(),s(m,m.altKey||m.ctrlKey))},p=m=>{r.current&&(m.preventDefault(),c(m.altKey||m.ctrlKey,{x:m.clientX,y:m.clientY}))},h=m=>{m.key!=="Escape"||!r.current||(m.preventDefault(),m.stopPropagation(),d())},g=()=>{let m=o.current;m&&document.pointerLockElement!==m&&r.current&&d()};return window.addEventListener("pointermove",f,{passive:!1}),window.addEventListener("pointerup",p),window.addEventListener("pointercancel",d),window.addEventListener("keydown",h,!0),document.addEventListener("pointerlockchange",g),()=>{window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",p),window.removeEventListener("pointercancel",d),window.removeEventListener("keydown",h,!0),document.removeEventListener("pointerlockchange",g),l()}},[a,r,o,l,i])}function vx({applyStickerRef:e,clearStickerPreview:t,dispatch:n,hoveredElement:r,lastCanvasCursorRef:o,setHoveredElement:i,setHoveredElementInfo:a,setStickerApplyPulse:l,setStickerCursor:s,setStickerRejectPulse:d,setStickerStep:c,setStickerSubproperty:f,stickerFamily:p,stickerStep:h,stickerSubproperty:g,transformDragHandoffRef:m,transformPreviewSuppressionRef:x,transformPreviewTargetRef:w}){let z=gx(),{drag:A,dragRef:S,startDrag:H}=z,R=B((D,O)=>{if(io(D))return d(ee=>ee+1),!1;t();let j=O?.family??p,P=O?.step??h,L=O?.subproperty??g;if(!gl(D,j,L))return d(ee=>ee+1),!1;let E=j==="transform"&&L==="translate"&&O?.axisSteps?Ou(D,O.axisSteps.x,O.axisSteps.y):Du(D,j,P,L);if(E.alreadyApplied)return d(ee=>ee+1),!1;let Z=$s(D),re=Ro(D);return ny(D,E),n({type:"MODIFY_STYLES_BATCH",payload:{selector:Z,durableSelector:re,element:{...yn(D),selector:re},changes:E.changes}}),l(ee=>ee+1),!0},[t,n,l,d,p,h,g]);e.current=R;let K=B((D,O,j)=>{if(!(r instanceof HTMLElement))return;j.preventDefault(),j.stopPropagation(),j.currentTarget.setPointerCapture(j.pointerId),t();let P=D==="margin"?Zc(r):ga(r),L=O==="left"||O==="right"?"x":"y",E=Qs(O,j.altKey||j.ctrlKey),Z=D==="margin",re=O==="top"||O==="left"?Z?-1:1:Z?1:-1,ee=Tl(D,E,P[O]);f(E),c(ee),H({element:r,family:D,subproperty:E,startX:j.clientX,startY:j.clientY,startPixels:P[O],deltaX:0,deltaY:0,direction:re,axis:L,step:ee,hasMoved:!1,side:O,cursor:{x:j.clientX,y:j.clientY}},j.currentTarget)},[t,r,c,f,H]),G=B((D,O)=>{if(!(r instanceof HTMLElement)||p!=="stack"&&p!=="grid")return;O.preventDefault(),O.stopPropagation(),O.currentTarget.setPointerCapture(O.pointerId),t();let j=ol(r),P=D==="row"?j.row:j.column,L=Tl(p,"gap",P);f("gap"),c(L),H({element:r,family:p,subproperty:"gap",startX:O.clientX,startY:O.clientY,startPixels:P,deltaX:0,deltaY:0,direction:1,axis:D==="row"?"y":"x",step:L,hasMoved:!1,gapAxis:D,cursor:{x:O.clientX,y:O.clientY}},O.currentTarget)},[t,r,c,f,H,p]),N=B((D,O)=>{if(!(r instanceof HTMLElement))return;O.preventDefault(),O.stopPropagation(),O.currentTarget.setPointerCapture(O.pointerId),t();let j=Gs(D,O.altKey||O.ctrlKey),P=Ni(r)[D],L=Tl("radius",j,P);f(j),c(L),H({element:r,family:"radius",subproperty:j,startX:O.clientX,startY:O.clientY,startPixels:P,deltaX:0,deltaY:0,vector:Zs(D),step:L,hasMoved:!1,corner:D,cursor:{x:O.clientX,y:O.clientY}},O.currentTarget)},[t,r,c,f,H]),V=B((D,O,j,P)=>{if(!jr(r))return;j.preventDefault(),j.stopPropagation(),j.currentTarget.setPointerCapture(j.pointerId);let L=window.getComputedStyle(r).getPropertyValue(D).trim(),E=D==="translate"?lp(L):void 0,Z=D==="scale"?(Number.parseFloat(L)||1)*100:D==="translate"?E.x:Number.parseFloat(L)||0,re=so(D,Z),ee=xa(r),ie=Yi(r,ee),U=D==="scale"&&O?fv(ie,O):D==="rotate"?hv(ie,P??ip(ie,20).side):void 0,me=E?{x:so("translate",E.x),y:so("translate",E.y)}:void 0;x.current=null,m.current=null,t(),f(D),c(re),H({element:r,family:"transform",subproperty:D,startX:j.clientX,startY:j.clientY,startPixels:Z,deltaX:0,deltaY:0,direction:1,vector:U,step:re,hasMoved:!1,transformKind:D,transformCorner:O??void 0,startTranslate:E,translateSteps:me,translateValue:E?`${E.x}px ${E.y}px`:void 0,ghostQuad:ie,cursor:{x:j.clientX,y:j.clientY}},j.currentTarget)},[t,r,c,f,H,m,x]),Y=B((D,O)=>{f(D),c(O)},[c,f]),I=B(D=>{o.current=D,s(D)},[o,s]),X=B((D,O,j)=>{e.current(D.element,{family:D.family,step:D.step,subproperty:O,axisSteps:D.translateSteps}),D.family==="transform"&&(x.current={element:D.element,subproperty:D.subproperty,step:D.step},m.current={element:D.element,releasePoint:j},w.current=null,i(D.element),a(yn(D.element)))},[e,i,a,m,x,w]),te=B(()=>{t(),x.current=null,m.current=null},[t,m,x]);return yx(z,{onSelectionChange:Y,onCursorChange:I,onCommit:X,onCancel:te}),{applySticker:R,beginSteerGapDrag:G,beginSteerRadiusDrag:N,beginSteerSpacingDrag:K,beginSteerTransformDrag:V,steerDrag:A,steerDragRef:S}}function bx(e,t){_(()=>{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 xx(e){return e instanceof Element&&e.closest("[data-popmelt-steer-overlay]")!==null}function Qp(e){return e instanceof Element&&e.closest("[data-popmelt-subject-label-action]")!==null}var Gp=8,bd=-.5,Do="__active_text_send_hint__",wx=4;function Sx({historyPreview:e,bridgeUrl:t,steeringContextStorageKey:n,state:r,dispatch:o,onScreenshot:i,inFlightAnnotationIds:a,inFlightOrientationLabels:l,waitingApprovalJobIds:s,activeAnnotationIds:d,queuePositionMap:c,inFlightStyleSelectors:f,inFlightStyleSelectorJobIds:p,inFlightSelectorColors:h,modifiedElementThreadStates:g,dismissedThreadIds:m,onAttachImages:x,onRemoveImages:w,onCaptureInteractionFrame:z,onSend:A,onViewThread:S,onCloseThread:H,onArchiveThread:R,onDeleteSubmittedAnnotation:K,highlightedAnnotationIds:G,cycleFocusedAnnotationIds:N,onCanvasInteraction:V,focusedThreadAnnotationId:Y,openThreadId:I,hasOpenThread:X=!1,externalCanvasRef:te,toolbarRef:D,threadPanelElement:O,clearSignal:j=0,subjectRegistry:P,subjectRegistryReady:L=!0,onFocusTargetChange:E,onFocusActivity:Z}){let re=Pr(Hi),{canvasRef:ee,redrawAll:ie,resizeCanvas:U}=Mh(),[me,le]=$(null),[oe,Me]=$(0),[Te,Ce]=$(0),J=B(()=>Ce(v=>v+1),[]),ve=us(),$e=B(v=>{ee.current=v,te&&(te.current=v),le(T=>T===v?T:v)},[te,ee]);Tt(()=>{if(!P||!L)return;let v=!1;for(let T of r.annotations)T.target&&(v=!0,!P.resolve(T.target)&&T.elements?.[0]&&P.restore(T.target,T.elements[0]));v&&Me(T=>T+1)},[r.annotations,P,L]);let De=q(null),et=q(0),[rt,ge]=$(null),pe=B(()=>{let v=De.current;De.current=null,ge(null),v&&(v.session.cancel(),v.captureTarget.hasPointerCapture(v.pointerId)&&v.captureTarget.releasePointerCapture(v.pointerId))},[]),Fe=q(!1),[Be,st]=$(!1),Ve=q(null),ke=q(null),[Ue,mt]=$(!1),_t=q(Promise.resolve()),[yt,Je]=$(0),[pt,kn]=$(null),Xt=B(()=>{if(!z)return Promise.resolve(null);let v=_t.current.then(async()=>(await new Promise(T=>window.requestAnimationFrame(()=>T())),z()));return _t.current=v.catch(()=>null),v},[z]),En=q(r.activeTool),Ft=q(null),Ne=q(null),ft=B(()=>{Ve.current?.cancel(),Ve.current=null,ke.current=null,Fe.current=!1,Ft.current=null,Ne.current=null,st(!1),mt(!1),Je(0),kn(null)},[]),dt=B(()=>{pe(),Fe.current=!0,En.current=r.activeTool,st(!0)},[pe,r.activeTool]);_(()=>{Fe.current&&r.activeTool!==En.current&&ft()},[ft,r.activeTool]),_(()=>{(!r.isAnnotating||r.activeTool!=="inspector")&&pe()},[pe,r.activeTool,r.isAnnotating]),_(()=>()=>{let v=De.current;De.current=null,v?.session.cancel()},[]);let{activeText:y,setActiveText:se,handleTextPaste:be,removeActiveTextAttachment:Ke,releaseActiveTextAttachments:bt}=jy({bridgeUrl:t,annotations:r.annotations}),[ze,wt]=$(null),[Qe,gt]=$(null),[xe,Pe]=$(null),[at,vt]=$(0),lt=q(null),Xe=q(null),en=q(null),[qe,Dn]=$(null),[bn,qt]=$(null),tn=q(void 0);tn.current===void 0&&(tn.current=n&&typeof window<"u"?s0(window.localStorage,n):null);let cr=tn.current,[xt,On]=$(()=>cr?.family??"padding"),[nn,Qn]=$(()=>cr?.step??4),[Bt,Nr]=$(()=>cr?.subproperty??"all"),[Vt,Gn]=$(()=>cr?.stage??"family"),[po,sn]=$(null);bx(Xe,Ue?kn:r.isAnnotating&&r.activeTool==="sticker"?sn:void 0);let[Hn,an]=$(null),Ct=B(v=>{an({id:performance.now(),nativeReady:!1,tool:v})},[]),[zt,Yt]=$(0),[ur,Nn]=$(0),[_n,_r]=$(0),[gi,Wt]=$(0),[xn,Fr]=$(!1),[Fn,Tn]=$(0),[dn,pr]=$(()=>cr?.query??null);_(()=>{!n||typeof window>"u"||d0(window.localStorage,n,{family:xt,step:nn,subproperty:Bt,stage:Vt,query:dn})},[n,xt,dn,Vt,nn,Bt]);let jt=q(r.activeTool),Fo=q(!1),yi=q(()=>!1),Dt=q(null),Oe=q(null),Zn=q(r.styleModifications),Ot=q(null),cn=q(null),Cn=q(null),fr=q(null),un=B(()=>{fr.current!==null&&(cancelAnimationFrame(fr.current),fr.current=null)},[]),Ut=B(()=>{if(un(),!re)return;let v=performance.now()+Fp,T=()=>{g0(Dt.current);let ne=Ot.current;ne&&Dt.current?.element===ne.element&&(ne.renderedQuad=Yi(ne.element,ne.layoutQuad)),Tn(ce=>ce+1),performance.now()<v?fr.current=requestAnimationFrame(T):fr.current=null};fr.current=requestAnimationFrame(T)},[un,re]);_(()=>(re?Dt.current&&Ut():un(),un),[re,Ut,un]);let At=B(()=>{un();let v=Dt.current;v&&(Ea(v),Dt.current=null,Oe.current=null,Tn(T=>T+1))},[un]),{handleShakePointerMove:pn,pendingShakeToolTransitionRef:Wr}=nx({activeTool:r.activeTool,isAnnotating:r.isAnnotating,clearStickerPreview:At,dispatch:o,setStickerCursor:sn,startCursorSwitchPulse:Ct});Tt(()=>{let v=Zn.current,T=r.styleModifications;Zn.current=T,!(v===T||!Dt.current)&&(un(),m0(Dt.current,v,T),Dt.current=null,Oe.current=null,Ot.current=null,Tn(ne=>ne+1))},[r.styleModifications,un]),Tt(()=>{Wp(r.activeTool,r.isAnnotating)&&(At(),cn.current=null,Cn.current=null)},[At,r.activeTool,r.isAnnotating]);let ht=B(()=>{Gn("family"),sn(null),pr(null)},[]);Tt(()=>{let v=jt.current,T=r.activeTool,ne=Wr.current,ce=ne?.from===v&&ne.to===T;Wr.current=null,jt.current=T;let Ie=c0(v,T,ce,Fo.current);Fo.current=Ie.preservedAway,Ie.shouldReset&&ht()},[Wr,ht,r.activeTool]),Tt(()=>{r.isAnnotating||(Fo.current=!1,ht())},[ht,r.isAnnotating]);let wn=B((v,T)=>{if(At(),!qe)return null;let ne=window.getComputedStyle(qe),ce=Rh(v,T).map(Ie=>ne.getPropertyValue(Ie));return Lh(v,ce,T)},[At,qe]),Wo=B(v=>(At(),qe?$h(window.getComputedStyle(qe).getPropertyValue(v)):null),[At,qe]);hx({active:r.activeTool==="sticker"&&r.isAnnotating,family:xt,step:nn,subproperty:Bt,stage:Vt,query:dn,setFamily:On,setStep:Qn,setSubproperty:Nr,setStage:Gn,setQuery:pr,setCursor:sn,setContextLabelPulse:Nn,setDepthSnapPulse:_r,setRejectPulse:Wt,lastCursorRef:Xe,toolbarRef:D,previewRef:Dt,applyStickerRef:yi,readColor:Wo,readStep:wn});let[An,Jr]=$(null),[Mn,qr]=$(null),[hr,fo]=$(null),[Wn,Br]=$(!1),rn=q(Pp()),er=q(Kc()),[mr,vi]=$(null),[ho,mo]=$(null),[M,F]=$(null),[ye,Ae]=$(null),Ee=q({x:0,y:0}),[He,tt]=$({x:0,y:0}),nt=q(zp()),[je,Gt]=$(null),[Yr,gr]=$(null),[yr,vr]=$(null),[br,$a]=$(!1),[Ul,Kl]=$(0),{swipeHint:Xl,clearSwipeHint:bi}=dx({enabled:r.activeTool==="hand"&&r.isAnnotating,dispatch:o,handCursorRef:Ee,setGapRefreshKey:Kl}),go=q(Dp()),[yo,xi]=$(null),[Sn,wi]=$(null),[tr,vo]=$(null),bo=q(Op()),[xr,na]=$(null),[Si,ra]=$(null),[Ur,Ii]=$(null),Vl=Fy(),ja=q(h);ja.current=h;let Jo=B(v=>{let T=ja.current;if(!T||T.size===0)return!1;for(let ne of T.keys())try{if(Fi(v,ne))return!0}catch{}return!1},[]),{applySticker:Pa,beginSteerGapDrag:za,beginSteerRadiusDrag:kt,beginSteerSpacingDrag:Da,beginSteerTransformDrag:Oa,steerDrag:nr,steerDragRef:Ql}=vx({applyStickerRef:yi,clearStickerPreview:At,dispatch:o,hoveredElement:qe,lastCanvasCursorRef:Xe,setHoveredElement:Dn,setHoveredElementInfo:qt,setStickerApplyPulse:Yt,setStickerCursor:sn,setStickerRejectPulse:Wt,setStickerStep:Qn,setStickerSubproperty:Nr,stickerFamily:xt,stickerStep:nn,stickerSubproperty:Bt,transformDragHandoffRef:Cn,transformPreviewSuppressionRef:cn,transformPreviewTargetRef:Ot});_(()=>{Fr(!1);let v=nr?.family==="transform"?nr.element:qe;if(Wp(r.activeTool,r.isAnnotating)||Vt!=="value"||!gl(v,xt,Bt)||io(v)){Ot.current=null,At();return}let T={element:v,family:xt,step:nn,subproperty:Bt,valueOverride:nr?.transformKind==="translate"?nr.translateValue:void 0},ne=cn.current,ce=xt==="transform"&&ne?.element===v&&ne.subproperty===Bt&&ne.step===nn;if(ne&&!ce&&(cn.current=null),ce){if(At(),Ot.current?.element!==v){let{top:Ge,right:It,bottom:$t,left:ro}=v.getBoundingClientRect(),oo=xa(v);Ot.current={element:v,bounds:{top:Ge,right:It,bottom:$t,left:ro},layoutQuad:oo,renderedQuad:Yi(v,oo)},Tn(cs=>cs+1)}return}if(Dt.current&&p0(Oe.current,T))return;if(xt==="transform"){if(Ot.current?.element!==v){Ea(Dt.current),Dt.current=null,Oe.current=null;let{top:Ge,right:It,bottom:$t,left:ro}=v.getBoundingClientRect(),oo=xa(v);Ot.current={element:v,bounds:{top:Ge,right:It,bottom:$t,left:ro},layoutQuad:oo,renderedQuad:Yi(v,oo)}}}else Ot.current=null;let Ie=y0(v,xt,nn,Bt,Dt.current,T.valueOverride);Dt.current=Ie.preview,Oe.current=T,Fr(Ie.stepUnavailable),Tn(Ge=>Ge+1),Ut()},[At,qe,r.activeTool,r.isAnnotating,nr?.element,nr?.family,nr?.transformKind,nr?.translateValue,xt,Vt,nn,Bt,Ut]),_(()=>()=>{un(),Ea(Dt.current),Dt.current=null,Oe.current=null,Ot.current=null,cn.current=null,Cn.current=null},[un]);let Ht=B(()=>{cn.current=null,Cn.current=null,Dn(null),qt(null),vi(null),mo(null),F(null),Gt(null),gr(null),$a(!1),xi(null),wi(null),na(null),ra(null),bi()},[bi]),oa=y&&!y.domEdit?y?.id:null,Gl=xe?`${xe.target.adapter}:${xe.target.key}`:null,wr=oa??Gl;_(()=>{wr&&Ht()},[wr,Ht]);let ki=B(v=>{Jr(v),v&&Ht()},[Ht]),fn=B(v=>{qr(v),v&&Ht()},[Ht]),xo=B((v,T)=>{fo(T?.length?{ownerId:v,annotationIds:T}:null),T?.length&&Ht()},[Ht]),wo=B(v=>{Br(v),v&&Ht()},[Ht]),Zl=B((v,T)=>{At();let ne=ln(v);gl(ne,T.family,T.subproperty)&&(o({type:"SELECT_ANNOTATION",payload:{id:null}}),o({type:"SET_TOOL",payload:"sticker"}),On(T.family),Nr(T.subproperty),Qn(T.step),Gn("value"),Dn(ne),qt(yn(ne)),Xe.current&&sn(Xe.current))},[At,o]),es=B((v,T)=>{At(),Ht(),qr(null),o({type:"CLEAR_STICKER",payload:{selector:v,sticker:T}})},[Ht,At,o]),qo=B(v=>{if(!S)return;S(v);let T=0,ne=()=>{let ce=document.querySelector("[data-popmelt-shadow-host]")?.shadowRoot?.querySelector("[data-popmelt-reply]");if(ce){ce.focus(),ce.setSelectionRange(ce.value.length,ce.value.length);return}T+=1,T<6&&requestAnimationFrame(ne)};requestAnimationFrame(ne)},[S]),Nt=q(r);Nt.current=r;let Rn=_y({annotations:r.annotations,currentPathname:ve,dispatch:o,stateRef:Nt,styleModifications:r.styleModifications,subjectRegistry:P,toolbarRef:D,onTargetResolutionChange:J}),Pt=q(y);Pt.current=y;let rr=q(y);_(()=>{let v=T=>{if(rr.current=null,T.button!==2)return;let ne=Pt.current;rr.current=Rp(ne)?ne:null};return window.addEventListener("pointerdown",v,!0),()=>window.removeEventListener("pointerdown",v,!0)},[]),ax(y,se);let{cursorPosRef:Ei,domEditInputSize:Bo,inputRef:So,lastPositionedTextId:Yo}=lx({activeText:y,activeTextRef:Pt,canvasRef:ee,visible:r.isAnnotating}),Ti=B(()=>{window.requestAnimationFrame(()=>{So.current?.focus();let v=So.current?.value.length??0;So.current?.setSelectionRange(v,v)})},[So]),ia=B((v,T=rr.current)=>{let ne=Pt.current,ce=P?.hitTest(v)??null,Ie=ce?.element??_i(v.x,v.y,{allowBodyFallback:!0}),Ge=ce?.target,It=[...Nt.current.annotations].reverse().find(Kn=>Kn.type!=="text"||(Kn.status??"pending")!=="pending"?!1:Ge&&Kn.target?Kn.target.adapter===Ge.adapter&&Kn.target.key===Ge.key:!Kn.linkedSelector||!Ie?!1:!!Zt(Kn.linkedSelector,Kn.elements)?.contains(Ie)),$t=Ob({activationDraft:T,activeDraft:ne,annotations:Nt.current.annotations,selectedAnnotationIds:Nt.current.selectedAnnotationIds,lastSelectedId:Nt.current.lastSelectedId,annotationAtCursor:It});if(rr.current=null,!$t||Nt.current.activeTool!=="inspector")return!1;let ro=$t.value;Ve.current?.cancel();let oo=ro.target&&P?P.resolve(ro.target):null,cs=oo?.subject.sourceElement??(ro.linkedSelector?ln(ro.linkedSelector):null),Uf=Kn=>{if(!(Kn instanceof MouseEvent)||!P)return;let Ga=P.hitTest({x:Kn.clientX,y:Kn.clientY});if(!Ga)return;let Kf=Ga.target;return{element:Ga.subject.sourceElement??null,state:sd(Ga),captureResult:()=>{let ec=P.resolve(Kf);return ec?sd(ec):void 0}}};return ke.current={id:ro.id,draft:$t.kind==="draft"},Ve.current=Pb({subjectElement:cs,...oo?{subjectState:sd(oo)}:{},resolveEventTarget:Uf,onActionCountChange:Je,captureFrame:z?Xt:void 0}),Ht(),wt(null),Jr(null),qr(null),Je(0),kn(v),mt(!0),dt(),!0},[Ht,Xt,dt,z,P]),Io=B(async()=>{let v=Ve.current,T=ke.current;if(!v||!T||!v.hasActions())return;let{episode:ne,frames:ce}=await v.finish();if(Ve.current=null,T.draft)se(Ie=>{if(Ie?.id!==T.id)return Ie;let Ge=Ie.images?.length??0;return{...Ie,images:[...Ie.images??[],...ce],interactionEpisode:Ap(ne,Ge)}});else{let Ie=Nt.current.annotations.find(Ge=>Ge.id===T.id);if(Ie){let Ge=Ie.imageCount??0,It=Ap(ne,Ge);ce.length>0&&x?.(Ie.id,ce),o({type:"UPDATE_TEXT",payload:{id:Ie.id,text:Ie.text??"",imageCount:Ge+ce.length,interactionEpisode:It}})}}ft(),T.draft&&Ti()},[o,ft,Ti,x,se]),Kr=B(v=>{let T=Pt.current;if(T?.id===v&&(se(ce=>{if(ce?.id!==v)return ce;let Ie=new Set(ce.interactionEpisode?.frames?.map(It=>It.imageIndex)??[]),Ge={...ce};return delete Ge.interactionEpisode,Ie.size>0&&ce.images&&(Ge.images=ce.images.filter((It,$t)=>!Ie.has($t))),Ge}),T.isNew))return;let ne=Nt.current.annotations.find(ce=>ce.id===v)?.interactionEpisode?.frames?.map(ce=>ce.imageIndex)??[];ne.length>0&&w?.(v,ne),o({type:"CLEAR_INTERACTION_EPISODE",payload:{id:v}})},[o,w,se]),Xr=B(()=>{let v=ke.current?.draft;ft(),v&&Ti()},[ft,Ti]);_(()=>{let v=T=>{if(!Fe.current)return;let ne=T.metaKey||T.ctrlKey;if(T.key==="Escape"&&ne){T.preventDefault(),T.stopPropagation(),T.stopImmediatePropagation(),Ve.current?Xr():ft();return}T.key==="Enter"&&ne&&Ve.current&&(T.preventDefault(),T.stopPropagation(),T.stopImmediatePropagation(),Io())};return window.addEventListener("keydown",v,!0),()=>window.removeEventListener("keydown",v,!0)},[Xr,ft,Io]),_(()=>{if(!Ue)return;let v=ne=>Ve.current?.recordEvent(ne),T=()=>Ve.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",T,{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",T,!0)}},[Ue]);let Ha=q([]),Uo=q(i);Uo.current=i;let{dragState:Ko,resizeState:Xo,setDragState:Sr,setResizeState:aa}=ub(),Vr=r.selectedAnnotationIds;Ha.current=Vr;let Vo=B((v,T=!1)=>{o({type:"SELECT_ANNOTATION",payload:{id:v,addToSelection:T}})},[o]),Ir=B(()=>{o({type:"SELECT_ANNOTATION",payload:{id:null}})},[o]),or=B(v=>{let T=Nt.current.annotations.find(ne=>ne.id===v);!T||!nl(T,Nt.current.annotations)||(o({type:"DELETE_ANNOTATION",payload:{id:v}}),Pt.current?.id===v&&(bt(Pt.current.attachments),se(null)),Ht(),Jr(null),qr(null),fo(null),Br(!1),Ir())},[Ht,Ir,o,bt,se]),Na=B(v=>{let T=Lm(Nt.current.textModifications,v,ve);T&&(o(T),Ht(),qr(null),fo(null),Br(!1))},[ve,o,Ht]),Jt=q({x:window.scrollX,y:window.scrollY}),Ln=q(null),[hn,_a]=$(Jt.current);_(()=>{if(re)return U(),window.addEventListener("resize",U),window.visualViewport?.addEventListener("resize",U),()=>{window.removeEventListener("resize",U),window.visualViewport?.removeEventListener("resize",U)}},[U,re]),qy(y,se,ze,r.annotations,o),$m({state:r,stateRef:Nt,activeTextRef:Pt,selectedIdsRef:Ha,dispatch:o,clearSelection:Ir,selectAnnotation:Vo,handHoveredElement:mr,onArchiveThread:R,openThreadId:I,currentPathname:ve,hasOpenThread:X});let{pageAnnotations:mn,pageStyleModifications:ir,pageTextModifications:Jn,pendingBundleCount:ko,pendingTextAnnotations:Eo}=sc({state:r,activeText:y,currentPathname:ve,dismissedThreadIds:m,modifiedElementThreadStates:g}),{sendHintAnchorId:Qo,setSendHintAnchorId:Fa}=Jy({activeText:y,activeTextAnchorId:Do,hoveredElement:qe,hoveredTextId:ze,pendingTextAnnotations:Eo}),{locationLabels:ts,tooltipAnnotationId:la,revealAnnotation:Wa}=Wy({annotations:mn,annotationIds:Rn,badgeHoveredAnnotationId:An,hoveredTextId:ze}),Ja=B((v,T)=>{let ne=Nt.current.annotations.find(ce=>ce.id===v);ne&&(Vo(v),T&&qo(T),Rn.has(v)&&Wa(ne))},[qo,Rn,Wa,Vo]),{cycleSpotlightAnnotationIds:qa,emphasizedAnnotationIds:Ci,hoverRestoredAnnotationIds:sa,inactiveEmphasisOpacity:Ai,statusSpotlightAnnotationIds:Qr}=Py({annotations:mn,isCreatingAnnotation:!!(y?.isNew&&!y.domEdit),hoveredTextId:ze,badgeHoveredAnnotationId:An,highlightedAnnotationIds:G,cycleFocusedAnnotationIds:N,hoveredElement:qe}),qn=jh(re?D?.current:null),Mi=qn.avoidTop,Ba=qn.avoidBottom,Ya=qn.avoidLeft,Ua=qn.avoidRight,Go=Se(()=>({avoidTop:Mi,avoidBottom:Ba,avoidLeft:Ya,avoidRight:Ua}),[Mi,Ba,Ya,Ua]),{supersededAnnotations:kr,stagedArtifactOrder:b,annotationGroupMap:k,pageModificationNumberBySelector:W}=dc({state:r,pageAnnotations:mn,pageStyleModifications:ir,pageTextModifications:Jn}),Q=fa(qe),de=!!(xe&&Q?.adapter===xe.target.adapter&&Q.key===xe.target.key),ae=!!(qe&&bn&&!de&&!ze&&!An&&!y?.linkedSelector&&!Qe?.linkedSelector),{hiddenCollidingAnnotationIds:he,nestedCollidingAnnotationCountById:fe,nestedCollidingAnnotationIdsById:Le,visibleCollisionRepresentativeByAnnotationId:_e}=zy({activeText:y,activeTextSendHintId:Do,annotationNumberById:k,badgeHoveredAnnotationId:An,canvasRef:ee,focusedThreadAnnotationId:Y,hoveredElement:qe,hoveredElementInfo:bn,hoveredTextId:ze,layoutReady:re&&me!==null,showHoverElementIdentifier:ae,layoutRevision:oe+Te,pageAnnotations:mn,parentPinnedAnnotationIds:Rn,pendingLinkedText:Qe,scroll:hn,supersededAnnotations:kr,textSafeBounds:Go}),{activeTextAnnotation:ue,activeTextCollisionId:Re,activeTextModifiedRail:Ye,activeTextNestedAnnotationCount:Mt,activeTextNestedAnnotationIds:To,activeTextNestedBadgeColor:Er,elementRailColorBySelector:da,elementRailComments:Zo,hiddenAnnotationBadgeIds:ei,modifiedElementSendHintSelector:ti,stagedElementComments:Co,visibleCanvasAnnotations:we,visibleSendHintAnchorId:St}=Ph({activeText:y,activeColor:r.activeColor,annotations:r.annotations,annotationNumberById:k,focusedThreadAnnotationId:Y,hiddenCollidingAnnotationIds:he,modifiedElementThreadStates:g,nestedCollidingAnnotationCountById:fe,nestedCollidingAnnotationIdsById:Le,pageAnnotations:mn,pageStyleModifications:ir,pageTextModifications:Jn,sendHintAnchorId:Qo,supersededAnnotations:kr,visibleCollisionRepresentativeByAnnotationId:_e,activeTextSendHintId:Do,targetResolutionRevision:oe+Te}),$n=Se(()=>{if(Vr.length===0)return null;let v=new Map;for(let T of Vr){let ne=r.annotations.find(Ie=>Ie.id===T);if(!ne)continue;let ce=ne.groupId?r.annotations.filter(Ie=>Ie.groupId===ne.groupId):[ne];for(let Ie of ce)if(Ie.linkedSelector&&!h?.has(Ie.linkedSelector)){let Ge=Ie.color||r.activeColor;v.set(Ie.linkedSelector,Ge)}}return v.size>0?v:null},[Vr,r.annotations,r.activeColor,h]),Tr=B((v=Jt.current)=>{ie(we,Vr,Gp,v.x,v.y,k,Qr,Go,Ci,sa,Ai,Rn)},[we,Vr,ie,k,Qr,Go,Ci,sa,Ai,Rn]);_(()=>{re&&Tr(Jt.current)},[Tr,re]),_(()=>{if(!re)return;let v=()=>{let T={x:window.scrollX,y:window.scrollY};Jt.current=T,Tr(T),Ln.current===null&&(Ln.current=window.requestAnimationFrame(()=>{Ln.current=null;let ne=Jt.current;_a(ce=>ce.x===ne.x&&ce.y===ne.y?ce:ne)}))};return v(),window.addEventListener("scroll",v,{passive:!0,capture:!0}),()=>{window.removeEventListener("scroll",v,!0),Ln.current!==null&&(window.cancelAnimationFrame(Ln.current),Ln.current=null)}},[Tr,re]);let{findAnnotationAtPoint:ni,findHandleAtPoint:Rt,findTextAtPoint:Cr,getPoint:ar}=$0({annotationGroupMap:k,annotations:r.annotations,canvasRef:ee,handleSize:Gp,hiddenCollidingAnnotationIds:he,pageAnnotations:mn,parentPinnedAnnotationIds:Rn,scroll:hn,selectedAnnotationIds:Vr,supersededAnnotations:kr,textSafeBounds:Go}),{commitActiveText:jn,createInlineTextEdit:Ar,editPendingLinkedComment:Gr,handleSendPendingBundle:Zr}=ix({activeText:y,activeTextRef:Pt,canvasRef:ee,clearPageElementHover:Ht,clearSelection:Ir,clearSignal:j,commentTextEditCandidateRef:en,cursorPosRef:Ei,dispatch:o,findTextAtPoint:Cr,lastPositionedTextId:Yo,onAttachImages:x,onCloseThread:H,onSend:A,pendingLinkedText:Qe,releaseActiveTextAttachments:bt,setActiveText:se,setDragState:Sr,setHoveredTextId:wt,setPendingLinkedText:gt,setSendHintAnchorId:Fa,state:r,stateRef:Nt}),Ka=B(()=>{let v=rr.current;zb(Pt.current,v)||jn()},[jn]),eo=C0({activeText:y,applySticker:Pa,canvasRef:ee,clearSelection:Ir,commentTextEditCandidateRef:en,commitActiveText:jn,createInlineTextEdit:Ar,dispatch:o,domDragRef:er,editPendingLinkedComment:Gr,findAnnotationAtPoint:ni,findHandleAtPoint:Rt,findTextAtPoint:Cr,gapDragRef:nt,gapHoveredAxis:Yr,gapHoveredElement:je,gapIsAuto:br,getPoint:ar,handleAnnotationActivation:Ja,handDragRef:rn,handHoveredElement:mr,handHoveredSide:ho,hoveredElement:qe,hoveredElementInfo:bn,isElementInFlight:Jo,onCanvasInteraction:V,openThreadAndFocusReply:qo,pageAnnotations:mn,modifiedElementThreadStates:g,pageStyleModifications:ir,parentPinnedAnnotationIds:Rn,pointerTargetOverrideRef:Ne,radiusDragRef:go,radiusHoveredCorner:Sn,radiusHoveredElement:yo,selectAnnotation:Vo,setDragState:Sr,setGapDragging:vr,setHandDragging:Ae,setPendingLinkedText:gt,setRadiusDragging:vo,setResizeState:aa,setStickerRejectPulse:Wt,setTextDragging:Ii,state:r,stickerStage:Vt,textDragRef:bo,textHoveredElement:xr,textHoveredProperty:Si,toolbarRef:D});_(()=>{if(!Be)return;let v=Ie=>{if(Ie.button===0){if(Ie.target instanceof Element&&io(Ie.target)){Ft.current=null;return}Z?.(),Ft.current={startX:Ie.clientX,startY:Ie.clientY,moved:!1}}},T=Ie=>{(!(Ie.target instanceof Element)||!io(Ie.target))&&Z?.();let Ge=Ft.current;Ge&&(Ft.current=bb(Ge,Ie.clientX,Ie.clientY))},ne=()=>{Ft.current=null},ce=Ie=>{if(wm())return;let Ge=Ft.current;if(Ft.current=null,!xb(Ge)||Ie.button!==0||Ie.target instanceof Element&&io(Ie.target)||Ve.current||r.activeTool!=="inspector"&&r.activeTool!=="sticker")return;let It=r.activeTool==="inspector"?P?.hitTest({x:Ie.clientX,y:Ie.clientY}):null;It&&P?.promote(It.target);let $t=It?.element??_i(Ie.clientX,Ie.clientY,{allowBodyFallback:r.activeTool==="inspector"});!$t||io($t)||$t!==document.documentElement&&(r.activeTool==="inspector"&&Jo($t)||r.activeTool==="sticker"&&!($t instanceof HTMLElement)&&!($t instanceof SVGElement)||(Ne.current={element:$t,elementInfo:It?.elementInfo??yn($t)},Ie.preventDefault(),Ie.stopPropagation(),Ie.stopImmediatePropagation(),eo(Ie)))};return window.addEventListener("pointerdown",v,!0),window.addEventListener("pointermove",T,!0),window.addEventListener("pointercancel",ne,!0),window.addEventListener("click",ce,!0),()=>{window.removeEventListener("pointerdown",v,!0),window.removeEventListener("pointermove",T,!0),window.removeEventListener("pointercancel",ne,!0),window.removeEventListener("click",ce,!0)}},[eo,Be,Jo,r.activeTool,P,Z]),_(()=>{!r.isAnnotating&&Fe.current&&ft()},[ft,r.isAnnotating]);let Bn=Z0({activeTool:r.activeTool,annotations:r.annotations,canvasRef:ee,clearPageElementHover:Ht,clearStickerPreview:At,dispatch:o,domDragRef:er,dragState:Ko,findTextAtPoint:Cr,gapDragRef:nt,gapHoveredAxis:Yr,gapHoveredElement:je,getPoint:ar,handCursorRef:Ee,handDragRef:rn,handHoveredElement:mr,handHoveredSide:ho,handleShakePointerMove:pn,hoveredElement:qe,hoveredElementInfo:bn,isAnnotating:r.isAnnotating,isElementInFlight:Jo,lastCanvasCursorRef:Xe,modifiersRef:Vl,radiusDragRef:go,radiusHoveredCorner:Sn,radiusHoveredElement:yo,resizeState:Xo,setDomDropPreview:F,setDragState:Sr,setGapDragging:vr,setGapHoveredAxis:gr,setGapHoveredElement:Gt,setGapIsAuto:$a,setHandCursorPos:tt,setHandDragging:Ae,setHandHoveredElement:vi,setHandHoveredSide:mo,setHoveredElement:Dn,setHoveredElementInfo:qt,setRadiusDragging:vo,setRadiusHoveredCorner:wi,setRadiusHoveredElement:xi,setResizeState:aa,setStickerCursor:sn,setStickerStep:Qn,setTextDragging:Ii,setTextHoveredElement:na,setTextHoveredProperty:ra,steerDragRef:Ql,stickerFamily:xt,stickerStage:Vt,stickerSubproperty:Bt,subjectRegistry:P,suspendTargetDiscovery:!!wr||Ue,textDragRef:bo,textHoveredElement:xr,textHoveredProperty:Si,transformDragHandoffRef:Cn,transformPreviewSuppressionRef:cn,transformPreviewTargetRef:Ot}),Ao=ex({annotationGroupMap:k,canvasRef:ee,currentPathname:ve,cursorPosRef:Ei,dispatch:o,domDragRef:er,dragState:Ko,gapDragRef:nt,gapDragging:yr,getPoint:ar,handDragRef:rn,handDragging:ye,lastPositionedTextId:Yo,radiusDragRef:go,radiusDragging:tr,resizeState:Xo,setActiveText:se,setDomDropPreview:F,setDragState:Sr,setGapDragging:vr,setHandDragging:Ae,setRadiusDragging:vo,setResizeState:aa,setSendHintAnchorId:Fa,setTextDragging:Ii,textDragRef:bo,textDragging:Ur}),We=B(v=>{if(r.isAnnotating&&r.activeTool==="inspector"&&v.button===0&&v.pointerType==="mouse"&&P&&!xe){let T=P.beginCreate({x:v.clientX,y:v.clientY});if(T){De.current={...T,start:{x:v.clientX,y:v.clientY},moved:!1,pointerId:v.pointerId,captureTarget:v.currentTarget},v.currentTarget.setPointerCapture(v.pointerId),v.preventDefault();return}}eo(v)},[eo,r.activeTool,r.isAnnotating,xe,P]),Lt=B(v=>{let T=De.current;if(!T||T.pointerId!==v.pointerId){Bn(v);return}let ne=Math.hypot(v.clientX-T.start.x,v.clientY-T.start.y);if(!T.moved&&ne>=wx&&(T.moved=!0),!T.moved){Bn(v);return}T.session.update({x:v.clientX,y:v.clientY}),ge({adapter:T.adapter.id,key:T.session.key}),vt(ce=>ce+1),v.preventDefault()},[Bn]),Et=B(v=>{let T=De.current;if(T&&T.pointerId!==v.pointerId)return;if(De.current=null,ge(null),!T){Ao(v);return}if(T.captureTarget.hasPointerCapture(T.pointerId)&&T.captureTarget.releasePointerCapture(T.pointerId),!T.moved){T.session.cancel();let ce=P?.hitTest({x:v.clientX,y:v.clientY});ce&&P?.promote(ce.target),eo(v),Ao(v);return}T.session.update({x:v.clientX,y:v.clientY});let ne=T.session.commit();ne&&(et.current=window.performance.now()+500,Pe({target:{adapter:T.adapter.id,key:ne.key},created:!0})),v.preventDefault()},[eo,Ao,P]),Yn=B(v=>{if(!r.isAnnotating||r.activeTool!=="inspector"||!P)return!1;let T=P.resolve(v);if(!T?.adapter.renameSubject)return!1;let ne=Pt.current;return ne?.isNew&&ne.target?.adapter===T.target.adapter&&ne.target.key===T.target.key&&(bt(ne.attachments),se(null),gt(null)),Pe({target:T.target,created:!1}),!0},[Pt,bt,se,r.activeTool,r.isAnnotating,P]),ri=B(v=>{if(window.performance.now()<=et.current){et.current=0,v.preventDefault(),v.stopPropagation();return}if(et.current=0,!P)return;let T=P.hitTest({x:v.clientX,y:v.clientY});!T||!Yn(T.target)||(v.preventDefault(),v.stopPropagation())},[Yn,P]),oi=B(v=>{let T=v.target.value;Ei.current=v.target.selectionStart;let ne=Pt.current;ne?.domEdit&&o(id(ne.domEdit,T,ne.text===ne.domEdit.originalText)),se(ce=>{if(ce?.domEdit){let Ie=Xc(ce.domEdit.segments,ce.domEdit.originalText,T);ce.domEdit.segments.forEach(Ge=>{Ge.textNode.nodeValue=Ge.originalText}),Ie.forEach(({segment:Ge,modifiedText:It})=>{Ge.textNode.nodeValue=It})}return ce&&{...ce,text:T}})},[Pt,Ei,o,se]),to=B(v=>{v.key==="Escape"?(Pt.current?.domEdit&&(o(id(Pt.current.domEdit,Pt.current.domEdit.originalText,!1)),Pt.current.domEdit.segments.forEach(T=>{T.textNode.nodeValue=T.originalText})),bt(Pt.current?.attachments),se(null)):zh(v)?Zr():v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),jn())},[jn,o,Zr,bt,se]),ca=B(v=>{if(!r.isAnnotating)return;let T=rr.current;rr.current=null;let ne=Cr(ar(v));if(ne&&K&&!nl(ne,Nt.current.annotations)){v.preventDefault(),v.stopPropagation(),K(ne.id);return}if(ne&&nl(ne,Nt.current.annotations)){v.preventDefault(),v.stopPropagation(),or(ne.id);return}if(ne?.status==="resolved"){let Ge=jm(Nt.current.annotations,[ne.id]);if(Ge.length>0){v.preventDefault(),v.stopPropagation(),Ge.forEach(It=>R?.(It));return}}v.preventDefault();let ce=!!Pt.current,Ie=ia({x:v.clientX,y:v.clientY},T);!ce&&!Ie&&dt()},[dt,Cr,ar,or,R,K,ia,r.isAnnotating]),Mr=Se(()=>{if(!qe)return r.activeColor;let v=null;for(let ce of mn)!ce.linkedSelector||kr.has(ce)||Zt(ce.linkedSelector,ce.elements)!==qe||(!v||ce.timestamp>v.timestamp)&&(v=ce);let T=v?.color??r.activeColor,ne=bn?.selector??v?.linkedSelector;return ne?ps([ne],g??new Map,T,ln):T},[qe,bn?.selector,g,mn,r.activeColor,kr]),Xa=()=>{if(!r.isAnnotating)return"default";if(Xo){let{handle:v}=Xo;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(wb(r.activeTool)){let v=yr?.axis??Yr;if(v==="row")return"ns-resize";if(v==="column")return"ew-resize";if(tr||Sn)return"ns-resize";let T=Ur?.property??Si;if(T==="font-size")return"ew-resize";if(T==="line-height")return"ns-resize";let ne=ye?.side??ho;return ne==="top"||ne==="bottom"?"ns-resize":ne==="left"||ne==="right"?"ew-resize":"default"}return r.activeTool==="inspector"?tm(Mr):r.activeTool==="sticker"?pc(Mr):"crosshair"},ct=vb(r.isAnnotating,r.activeTool),gn={position:"fixed",top:0,left:0,width:"100dvw",height:"100dvh",zIndex:9998,pointerEvents:Be||!ct?"none":"auto",visibility:ct?"visible":"hidden",cursor:Hn&&!Hn.nativeReady?"none":Xa(),touchAction:r.activeTool==="inspector"?"pan-x pan-y":"none"},no=Se(()=>{if(!y||y.domEdit)return;if(y.linkedSelector){let T=Co.find(ne=>ne.selector===y.linkedSelector)?.annotationNumber??W.get(Ye?.selector??y.linkedSelector);if(T!==void 0)return T}let v=k.get(y.id);if(v!==void 0)return v;if(y.groupId){let T=r.annotations.find(ce=>ce.groupId===y.groupId),ne=T?k.get(T.id):void 0;if(ne!==void 0)return ne}return b.count+1},[y,Ye,k,W,Co,b.count,r.annotations]),Qt=no!==void 0?`${no}.`:"",Un=Se(()=>{if(!y||!Qt||y.domEdit)return 0;let v=ee.current?.getContext("2d");return v&&(v.font=`${y.fontSize}px ${In}`),gb({prefix:Qt,fontSize:y.fontSize,railGap:Ye?2:void 0,context:v})},[y,Qt,Ye,ee]),Rr=y?.images?.length??r.annotations.find(v=>v.id===y?.id)?.imageCount??0,ua=y&&!y.domEdit&&!Ye?Ky({nestedAnnotationCount:Mt,imageCount:Rr,interactionEpisodeStepCount:y.interactionEpisode?.steps.length??0,reserveSendHint:!!A&&Qo===Do&&!!y.text.trim()}):0,ii=r.isAnnotating&&y?.linkedSelector&&!y.target&&!y.domEdit&&!Ye?Zt(y.linkedSelector,y.elements):null,ns=!!(y&&hc(y)),ai=kb(ii),rs=ns&&ai?As(ai,22,2,window.innerHeight):null,os=y?rs?rs.left+8:ai?ai.left+8:y.point.x-hn.x:0,is=y?ai?.right??y.point.x-hn.x:0,li=B(()=>{let v=ee.current;if(!v||!y)return{width:100,height:12*lr,isWrapped:!1};if(y.domEdit)return{width:Bo?.id===y.id?Bo.width:Math.max(1,y.domEdit.rect.width),height:Bo?.id===y.id?Bo.height:Math.max(1,y.domEdit.rect.height),isWrapped:y.domEdit.wrapsText};let T=v.getContext("2d");if(!T)return{width:100,height:y.fontSize*lr,isWrapped:!1};T.font=`${y.fontSize}px ${In}`;let ne=y.point.x-hn.x;if(!Ye){let ce=!!(y.linkedSelector||y.target),Ie=ad({text:y.text,fontSize:y.fontSize,effectiveMaxWidth:384,annotationPrefixWidth:Un,isModifiedRail:!1,fitToContent:ce,context:T}).width+Un+16,Ge=kp({anchorLeftX:os,anchorRightX:is,editorWidth:Ie,trailingWidth:ua,viewportWidth:window.innerWidth});return ad({text:y.text,fontSize:y.fontSize,effectiveMaxWidth:Math.max(1,Ge.maxEditorWidth-16),annotationPrefixWidth:Un,isModifiedRail:!1,fitToContent:ce,context:T})}return ad({text:y.text,fontSize:y.fontSize,effectiveMaxWidth:Ms(ne),annotationPrefixWidth:Un,isModifiedRail:!!Ye,context:T})},[y,ee,hn.x,Un,Ye,ua,os,is,Bo])(),Ri=!!y?.domEdit,Hf=y?Math.max(1,y.text.split(`
|
|
60
|
-
`).length)*y.fontSize*lr+8:0,si=Ri?li.height:li.height+8,Wd=rs??(ai?As(ai,si,Pi,window.innerHeight):void 0),Jd=ns?ma("bottom-left"):ma(Wd?.anchor??y?.linkedAnchor),Nf=li.isWrapped?si-Hf:0,qd=y?Ri?(y.domEdit.flowRect??y.domEdit.rect).top:Wd?.top??y.point.y-4-hn.y-Nf:0,_f=y?Ri?(y.domEdit.flowRect??y.domEdit.rect).left:y.point.x-8-hn.x:0,Mo=Ri?li.width:li.width+Un+16,di=y&&!Ri&&!Ye?kp({anchorLeftX:os,anchorRightX:is,editorWidth:Mo,trailingWidth:ua,viewportWidth:window.innerWidth}).editorLeft:_f,Li=y?Ri?qd:Pm(qd,si,Go,di,Mo):0,$i=y?.domEdit?{image:y.domEdit.boundaryRects.map(()=>"linear-gradient(#000 0 0)").join(", "),position:y.domEdit.boundaryRects.map(v=>`${v.left-di}px ${v.top-Li}px`).join(", "),size:y.domEdit.boundaryRects.map(v=>`${v.width}px ${v.height}px`).join(", ")}:void 0,Bd=y?y.domEdit?{position:"fixed",left:di,top:Li,zIndex:10002,width:Mo,height:si,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:di,top:Li,zIndex:10002,width:Mo,height:si,padding:`${4+bd}px 8px ${4-bd}px`,paddingLeft:8+Un,boxSizing:"border-box",fontSize:y.fontSize,fontFamily:In,color:"#ffffff",backgroundColor:r.activeColor,border:"none",borderRadius:y.linkedSelector?Jd:0,animation:y.linkedSelector&&y.isNew?"popmeltAnnotationFieldEnter 150ms ease-out both":void 0,outline:"none",boxShadow:"none",lineHeight:lr,resize:"none",overflow:"hidden",whiteSpace:li.isWrapped?"pre-wrap":"pre",wordBreak:li.isWrapped?"break-word":void 0}:{},Yd=y?.target&&y.linkedSelector?Zt(y.linkedSelector,y.elements):null,Ff=v=>!y||!Ye?null:C(it,{children:[u(Qy,{anchor:v,insetTopLeft:ns,width:Mo,height:si,value:y.text,fontSize:y.fontSize,prefix:Qt,inputRef:So,inputStyle:Bd,onChange:oi,onKeyDown:to,onPaste:be,onBlur:Ka,onContextMenu:T=>{T.preventDefault(),T.stopPropagation(),or(y.id)}}),u(nu,{stepCount:y.interactionEpisode?.steps.length??0,onClear:()=>Kr(y.id)})]}),{nestedBadgeOwnerSelector:Wf,hasExistingOverlay:Jf,hoveredLinkedAnnotationId:Ud,hasSelectedHighlightForElement:qf,ownedInFlightSelectorColors:Kd,ownedFocusedSelectorColors:Xd,selectorElementInfo:Vd,claimElementOverlay:Lr}=Ib({activeText:y,pendingLinkedText:Qe,activeTextSendHintId:Do,activeTool:r.activeTool,isAnnotating:r.isAnnotating,annotations:r.annotations,pageAnnotations:mn,pageStyleModifications:ir,pageTextModifications:Jn,supersededAnnotations:kr,nestedBadgeHover:hr,isSendBundleHovered:Wn,badgeHoveredAnnotationId:An,hoveredTextId:ze,badgeHoveredSelector:Mn,focusedThreadAnnotationId:Y,inFlightSelectorColors:h,focusedSelectorColors:$n,hoveredElement:qe}),as=Mr,Bf=y?.domEdit?rl(r.activeColor,.28):"#000000",Yf=y?.domEdit?"transparent":"#ffffff",Va=y?.linkedSelector&&!y.domEdit?y:Qe,Qa=Va?.linkedSelector?Zt(Va.linkedSelector,Va.elements):null,ls=Qa??qe,Qd=Qa?"selected":"hover",Gd=Qa?Va?.target??fa(Qa):Q,ss=Gd?.adapter,ds=Gd?.key;_(()=>(E?.(r.isAnnotating&&ls?{element:ls,selection:Qd,subject:ss&&ds?{adapter:ss,key:ds}:void 0}:null),()=>E?.(null)),[E,r.isAnnotating,ls,Qd,ss,ds]);let Zd=v=>{lt.current=null,P?.remove(v),Dn(null),qt(null),Pe(T=>T?.target.adapter===v.adapter&&T.target.key===v.key?null:T)};if(Ue){let v=ke.current,T=v?.draft?r.activeColor:r.annotations.find(ne=>ne.id===v?.id)?.color??r.activeColor;return pt?u(Jv,{cursor:pt,stepCount:yt,accentColor:T,toolbarElement:D?.current,threadElement:O}):null}return C(it,{children:[u("canvas",{ref:$e,id:"devtools-canvas",style:gn,onPointerDown:v=>{Z?.(),We(v)},onPointerMove:v=>{Z?.(),!(!De.current&&Q&&Up(v.currentTarget.ownerDocument,v.clientX,v.clientY))&&Lt(v)},onPointerUp:Et,onPointerCancel:v=>{if(De.current){pe();return}Ao(v)},onLostPointerCapture:v=>{De.current?.pointerId===v.pointerId&&pe()},onDoubleClick:ri,onPointerLeave:v=>{if(De.current||xx(v.relatedTarget)||Qp(v.relatedTarget))return;Et(v),At(),cn.current=null,Cn.current=null;let T=()=>{Dn(null),qt(null)};if(fa(qe)){let{clientX:ne,clientY:ce}=v;window.setTimeout(()=>{Qp(document.elementFromPoint(ne,ce))||lt.current!==null||T()},100);return}T()},onContextMenu:v=>{if(Q&&Up(v.currentTarget.ownerDocument,v.clientX,v.clientY)){v.preventDefault(),v.stopPropagation(),Zd(Q);return}ca(v)}}),rt&&P&&(()=>{let v=P.resolve(rt);return v?u(Cl,{element:v.element,activeFacet:"translate",accentColor:r.activeColor,showHandles:!1,showRotateHandle:!1,refreshKey:at}):null})(),xe&&P&&u(lb,{accentColor:r.activeColor,created:xe.created,registry:P,target:xe.target,onCommit:v=>{Dn(v.element),qt(v.elementInfo),vt(T=>T+1)},onClose:()=>Pe(null),onCancelCreated:()=>{P.remove(xe.target),Pe(null)}},`${xe.target.adapter}:${xe.target.key}`),Hn&&u(ev,{color:Mr,cursorRef:Xe,tool:Hn.tool,onHandoff:()=>an(v=>v?.id===Hn.id?{...v,nativeReady:!0}:v),onDone:()=>an(null)},Hn.id),r.isAnnotating&&y&&C(it,{children:[Yd&&y.subjectAnchor&&u(Zy,{element:Yd,annotationRect:{left:di,top:Li,width:Mo,height:si},subjectAnchor:y.subjectAnchor,color:r.activeColor,subjectRegistry:P}),u(Vy,{value:y.text,fontSize:y.fontSize,prefix:Qt,inputRef:So,inputStyle:Bd,selectionBackground:Bf,selectionColor:Yf,annotationBorderRadius:Jd,activeColor:r.activeColor,boundaryRects:y.domEdit?.boundaryRects,viewportClip:y.domEdit&&pu(y.domEdit.targetElement.ownerDocument)?fu(new DOMRect(0,0,window.innerWidth,window.innerHeight),y.domEdit.targetElement.ownerDocument):void 0,wrapsDomText:y.domEdit?.wrapsText,showEditor:!Ye,rawLeft:di,top:Li,baselineOffset:bd,onChange:oi,onKeyDown:to,onPaste:be,onBlur:Ka}),!Ye&&!y.domEdit&&u(Xy,{rawLeft:di,width:Mo,top:Li,scroll:hn,collisionId:Re,nestedAnnotationCount:Mt,nestedAnnotationIds:To,nestedBadgeColor:Er,imageCount:Rr,color:r.activeColor,interactionEpisodeStepCount:y.interactionEpisode?.steps.length??0,showSendHint:Qo===Do&&!!y.text.trim(),bundleCount:ko,onHoverNestedAnnotations:xo,onHoverSendHint:wo,onClearInteractionEpisode:()=>Kr(y.id),onSend:A?Zr:void 0}),u(Dh,{point:y.point,scroll:hn,attachments:y.attachments??[],showAttachments:!y.domEdit,onRemoveAttachment:Ke})]}),r.isAnnotating&&r.activeTool!=="hand"&&(ir.length>0||Jn.length>0||Zo.length>0||(g?.size??0)>0||ae)&&u(Oh,{styleModifications:ir,textModifications:Jn,stagedComments:Zo,accentColor:r.activeColor,annotationNumberBySelector:W,inFlightSelectors:f,inFlightAnnotationIds:a,activeAnnotationIds:d,inFlightSelectorJobIds:p,waitingApprovalJobIds:s,inFlightSelectorColors:h,toolbarRef:D,onHoverSelector:fn,sendHintSelector:ti,pendingBundleCount:ko,onHoverSendBundle:wo,onSend:A?Zr:void 0,onSelectSticker:Zl,onDeleteSticker:es,threadStates:g,onViewThread:S,hoveredElement:qe,hoveredElementInfo:bn,showHoverIdentifier:ae,onEditComment:Gr,onDeleteComment:or,onDeletePeerComment:K?v=>{let T=Nt.current.annotations.find(ne=>ne.id===v);T&&nl(T,Nt.current.annotations)?or(v):K(v)}:void 0,onDiscardTextChanges:Na,onArchiveThread:R,onClearInteractionEpisode:Kr,onEditSubject:Yn,onDeleteSubject:Zd,onHoverSubjectLabel:v=>{lt.current=v},refreshKey:Fn,activeCommentEntry:Ye?{element:Ye.element,width:Mo,imageCount:Rr,trailingWidth:mc(Rr)+Vc(y?.interactionEpisode?.steps.length??0),render:Ff}:void 0}),r.activeTool==="hand"&&r.isAnnotating&&(ir.length>0||Jn.length>0)&&u(Bv,{styleModifications:ir.filter(v=>{let T=ln(v.selector);return!!T&&Lr(T,"pending-change")}),textModifications:Jn.filter(v=>{let T=ln(v.selector);return!!T&&Lr(T,"pending-change")}),accentColor:r.activeColor}),r.isAnnotating&&!y?.domEdit&&(()=>{let v=new Set;return Jn.flatMap(T=>{if(T.captured||v.has(T.selector))return[];let ne=ln(T.selector);return ne?Lr(ne,"pending-change")?(v.add(T.selector),[u(ao,{element:ne,isSelected:!1,color:r.activeColor,hideTooltip:!0},`pending-text-change-${T.selector}`)]):[]:[]})})(),r.isAnnotating&&u(zm,{annotations:mn,displayAnnotations:we,supersededAnnotations:kr,inFlightIds:a,orientationLabels:l,activeIds:d,queuePositions:c,scrollX:hn.x,scrollY:hn.y,annotationGroupMap:k,onViewThread:S,onSelectAnnotation:Vo,onDeleteDraftAnnotation:or,onClearInteractionEpisode:Kr,onHoverAnnotation:ki,canvasRef:ee,toolbarRef:D,activeBundleAnnotationIds:Ci,inactiveBundleOpacity:Ai,animateBundleOpacity:!Qr&&!qa,hoverRestoredAnnotationIds:sa,nestedAnnotationCountById:fe,nestedAnnotationIdsById:Le,onHoverNestedAnnotations:xo,onHoverSendBundle:wo,onSend:A?Zr:void 0,sendHintAnchorId:St===Do?null:St,pendingBundleCount:ko,parentPinnedAnnotationIds:Rn,parentPinnedLocationLabels:ts,parentPinnedTooltipAnnotationId:la,onActivateAnnotation:Ja,hiddenAnnotationIds:ei}),r.isAnnotating&&Kd&&u(Qc,{inFlightSelectorColors:Kd,selectorElementInfo:Vd,subjectRegistry:P}),r.isAnnotating&&Xd&&u(Qc,{inFlightSelectorColors:Xd,selectorElementInfo:Vd,animated:!1,subjectRegistry:P}),u(Pv,{active:r.activeTool==="hand"&&r.isAnnotating,accentColor:r.activeColor,domDropPreview:M,cursorViewport:He,gapElement:yr?nt.current.element:je,gapDragging:yr,gapHoveredAxis:Yr,gapIsAuto:br,gapRefreshKey:Ul,swipeHint:Xl,radiusElement:tr?go.current.element:yo,radiusDragging:tr,radiusHoveredCorner:Sn,textElement:Ur?bo.current.element:xr,textDragging:Ur,textHoveredProperty:Si,paddingElement:ye?rn.current.element:mr,paddingDragging:ye,paddingHoveredSide:ho}),r.isAnnotating&&e&&!y&&!Qe&&!xe&&u(Ly,{hasExistingOverlay:Jf,entry:e,color:r.activeColor,subjectRegistry:P}),(r.activeTool==="inspector"||r.activeTool==="sticker")&&r.isAnnotating&&u(it,{children:qe&&(()=>{let v=r.activeTool==="sticker"&&Vt==="value"&&(xt==="padding"||xt==="margin")&&Dt.current?.element===qe,T=xp(r.activeTool==="sticker",xt,Vt,Bt);if(qf(qe)||!Lr(qe,"inspector-hover"))return null;let ne=y?.linkedSelector?Zt(y.linkedSelector,y.elements):null,ce=Qe?.linkedSelector?Zt(Qe.linkedSelector,Qe.elements):null,Ie=(ne?Bs(ne,qe,y?.elements?.[0]?.context):!1)||(ce?Bs(ce,qe,Qe?.elements?.[0]?.context):!1)||mn.some(It=>{if(!It.linkedSelector||kr.has(It))return!1;let $t=Zt(It.linkedSelector,It.elements);return Bs($t,qe,It.elements?.[0]?.context)}),Ge=!!ze||!!An;return C(it,{children:[!v&&u(ao,{element:qe,isSelected:!1,elementInfo:bn,color:as,hideOutline:!Q,hideFill:!Q,refreshKey:r.activeTool==="sticker"?Fn:void 0,hideTooltip:de||ae||Ie||Ge}),!T&&!Q&&u(Cl,{element:qe,activeFacet:"translate",accentColor:as,showHandles:!1,outlineStyle:"dashed",refreshKey:r.activeTool==="sticker"?Fn:void 0})]})})()}),u(tb,{active:r.activeTool==="sticker"&&r.isAnnotating,accentColor:as,family:xt,stage:Vt,subproperty:Bt,hoveredElement:qe,previewElement:Dt.current?.element??null,transformPreviewElement:Ot.current?.element??null,previewRevision:Fn,cursorViewport:po,drag:nr,onGapPointerDown:za,onRadiusPointerDown:kt,onSpacingPointerDown:Da,onTransformPointerDown:Oa}),r.activeTool==="sticker"&&r.isAnnotating&&po&&u(Hh,{cursor:po,family:xt,step:nn,subproperty:Bt,stage:Vt,accentColor:r.activeColor,applyPulse:zt,contextLabelPulse:ur,depthSnapPulse:_n,rejectPulse:gi,stepUnavailable:xn,query:dn?{tokens:dn.segments.flatMap((v,T)=>{let ne=dn.history[T]?.scope??dd,ce=ka(ne,v);return ce?[Yb(ce)]:[]}),...Ub(dn.query,cd(dn.scope,dn.query))}:null,toolbarElement:D?.current,threadElement:O,annotationRailHovered:Mn!==null||An!==null||hr!==null||Wn}),!hr&&!Wn&&(y?.linkedSelector||Qe?.linkedSelector)&&(()=>{let v=y?.linkedSelector||Qe?.linkedSelector;if(!v)return null;let T=Zt(v,y?.elements??Qe?.elements);return!T||!Lr(T,"direct-manipulation")?null:u(ao,{element:T,isSelected:!0,color:ue?.color??r.activeColor,hideTooltip:!0})})(),Y&&(()=>{if(Wn)return null;let v=r.annotations.find(ce=>ce.id===Y);if(!v?.linkedSelector||Wf===v.linkedSelector)return null;let T=Zt(v.linkedSelector,v.elements);if(!T||!Lr(T,"thread-focus"))return null;let ne=!!(a&&a.has(v.id));return u(ao,{element:T,isSelected:!ne,color:v.color,onActivate:v.threadId?()=>qo(v.threadId):void 0,hideTooltip:!0})})(),Ud&&(()=>{let v=r.annotations.find(ne=>ne.id===Ud);if(!v?.linkedSelector)return null;let T=Zt(v.linkedSelector,v.elements);return!T||!Lr(T,"annotation-hover")?null:u(ao,{element:T,isSelected:!1,color:v.color,onActivate:v.threadId?()=>qo(v.threadId):void 0,hideTooltip:!0})})(),hr&&!Wn&&(()=>{let v=new Set;return hr.annotationIds.flatMap(T=>{let ne=r.annotations.find(Ie=>Ie.id===T);if(!ne?.linkedSelector||v.has(ne.linkedSelector))return[];let ce=Zt(ne.linkedSelector,ne.elements);return ce?Lr(ce,"nested-preview")?(v.add(ne.linkedSelector),[u(ao,{element:ce,isSelected:!1,color:ne.color,hideTooltip:!0},`nested-annotation-${T}`)]):[]:[]})})(),Wn&&(()=>{let v=[],T=new Set,ne=(ce,Ie,Ge,It)=>{if(!Ie||T.has(Ie))return;let $t=Zt(Ie,Ge);$t&&Lr($t,"bundle-preview")&&(T.add(Ie),v.push({id:ce,element:$t,color:It}))};for(let ce of mn)(ce.status??"pending")==="pending"&&ne(ce.id,ce.linkedSelector,ce.elements,ce.color);y&&!y.domEdit&&y.text.trim()&&ne(Do,y.linkedSelector,y.elements,r.activeColor);for(let ce of ir)ce.captured||ne(`style-${ce.selector}`,ce.selector,[ce.element],r.activeColor);for(let ce of Jn)ce.captured||ne(`text-${ce.selector}`,ce.selector,[ce.element],r.activeColor);return v.map(ce=>u(ao,{element:ce.element,isSelected:!1,color:ce.color,hideTooltip:!0},`send-bundle-${ce.id}`))})(),Mn&&(()=>{let v=ln(Mn);if(!v||!Lr(v,"badge-hover"))return null;let T=ps([Mn],g??new Map,da.get(Mn)??r.activeColor,ln);return u(it,{children:u(ao,{element:v,isSelected:!1,color:T,fillOpacity:.1,hideTooltip:!0,subjectRegistry:P})})})()]})}var Ix={capacity:{label:"At capacity",message:"The model provider is temporarily unavailable. Try again shortly."},rate_limited:{label:"Rate limited",message:"The model provider is receiving too many requests. Try again shortly."},timeout:{label:"Timed out",message:"The model took too long to respond. Try again."},connection:{label:"Connection lost",message:"The model provider disconnected before the run completed. Try again."},authentication:{label:"Sign-in required",message:"The model provider needs to be authenticated before this run can continue."},send_rejected:{label:"Not sent",message:"This reply did not reach the thread. Try again when the connection is ready."},failed:{label:"Failed",message:"The model could not complete this run. Try again, or inspect the job diagnostics if the problem continues."}};function kx(e){let t=typeof e=="string"?e:(()=>{try{return JSON.stringify(e)}catch{return String(e??"")}})();return/\b(?:http\s*)?503\b|server at capacity|\bat capacity\b|resource[_\s-]?exhausted|temporarily unavailable/i.test(t)?"capacity":/\b(?:http\s*)?429\b|rate[_\s-]?limit|too many requests/i.test(t)?"rate_limited":/timed?\s*out|timeout/i.test(t)?"timeout":/auth(?:entication|orization)? required|oauth|not authenticated|sign[ -]?in required|unauthorized|\b401\b/i.test(t)?"authentication":/transport channel closed|connection (?:closed|lost|reset)|socket hang up|network error|disconnected/i.test(t)?"connection":"failed"}function Zp(e,t){let n=t??kx(e);return{kind:n,...Ix[n]}}function Ex(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 Pl(e,t,n){return t&&n?.get(t)||e}var xd="popmelt-status-notices",ef=50,tf=2,Tx=new Set(["Model","Reviewed","Has a question","Needs decision","Needs review","Applied changes","Replied","Done"]);function nf(e){return e.status!=="done"||e.doneLabel&&Tx.has(e.doneLabel)?e:{...e,doneLabel:"Replied"}}function zl(e){return e?`${xd}:${e}`:xd}function rf(e,t,n=!0){return t===null?!1:t===void 0?!0:e.threadId?t.has(e.threadId):n&&e.global===!0}function of(e){if(typeof window>"u")return[];try{let t=JSON.parse(localStorage.getItem(zl(e))??localStorage.getItem(xd)??"[]");return(Array.isArray(t)?t:t?.version===tf&&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(nf).slice(-ef)}catch{return[]}}function wd(e){try{let t=JSON.parse(localStorage.getItem(zl(e))||"{}");return new Set(Array.isArray(t.acknowledgedJobIds)?t.acknowledgedJobIds.filter(n=>typeof n=="string"):[])}catch{return new Set}}function Cx(e,t,n){if(!(typeof window>"u"))try{let r=e.filter(Oo).map(nf).slice(-ef),o=JSON.stringify({version:tf,entries:r,acknowledgedJobIds:Array.from(n).slice(-500)}),i=zl(t);localStorage.getItem(i)!==o&&localStorage.setItem(i,o)}catch{}}function Oo(e){return e.status==="done"||e.status==="error"}function Sd(e,t){return!!(t&&e.status==="done"&&e.doneLabel==="Has a question"&&e.threadId&&t.has(e.threadId))}function Ax(e,t,n,r,o){return!e&&(t||n)&&(r>0||o===!1)}function Mx(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}var Rx=['[data-devtools="thread-panel"]:not([aria-hidden="true"])','[data-devtools="imprint-panel"]','[data-popmelt-active-annotation-surface="true"]'].join(", "),af=500,Lx=80,lf=120;function Dl(e){return e==="project_model"}var Id=2,Ta=24,$x=0,kd={display:"flex",alignItems:"center",gap:3,padding:`${Id}px 0`,backgroundColor:"transparent",border:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,height:Ta,boxSizing:"border-box",whiteSpace:"nowrap",animation:"popmeltJobStatusEnter 180ms ease-out both",transition:"transform 200ms ease, opacity 200ms ease",willChange:"transform, opacity"};function jx(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||""),l=i.data.file?String(i.data.file):null,s=l?l.split("/").pop()??l:null,d=i.data.content?String(i.data.content):null;switch(a){case"Read":return s?`Reading ${s}`:"Reading file";case"Edit":return s?`Editing ${s}`:"Editing file";case"Write":return s?`Writing ${s}`:"Writing file";case"Bash":{if(!d)return"Running command";let c=d.split(`
|
|
61
|
-
`)[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 Px(e,t=!1){if(!t)return"Failed";let n=Zp(e);return`${n.label} \u2014 ${n.message}`}function zx(e,t=3){let n=e.trim().replace(/\s+/g," ");if(!n)return 0;let r=n.split(" "),o=Math.max(...r.map(s=>s.length)),i=s=>{let d=1,c=0;for(let f of r){let p=c===0?f.length:c+1+f.length;p<=s?c=p:(d+=1,c=f.length)}return d},a=o,l=n.length;for(;a<l;){let s=Math.floor((a+l)/2);i(s)<=Math.max(1,t)?l=s:a=s+1}return a}function Ed(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 sf(e,t,n=[]){let r=new Map;for(let l of t){if(l.type!=="done"&&l.type!=="error")continue;let s=typeof l.data.jobId=="string"?l.data.jobId:null;s&&r.set(s,l)}if(r.size===0&&n.length===0)return e;let o=new Set(n),i=!1,a=e.map(l=>{let s=r.get(l.jobId);if(!s)return l.status==="queued"&&o.has(l.jobId)?(i=!0,{...l,status:"working"}):l;let d=s.type==="error",c=d?"error":"done",f=d?void 0:Ed(t,l.jobId),p=d?String(s.data.message||""):void 0,h=d?!!s.data.cancelled:void 0,g=typeof s.data.threadId=="string"?s.data.threadId:void 0;return l.status===c&&l.doneLabel===f&&l.errorMessage===p&&l.cancelled===h&&l.threadId===(l.threadId||g)?l:(i=!0,{...l,status:c,doneLabel:f,errorMessage:p,cancelled:h,threadId:l.threadId||g})});return i?a:e}function Dx(e,t){return t?[...e].reverse():e}function Ox({color:e}){let[t,n]=$(0);return _(()=>{let r=setInterval(()=>{n(o=>(o+1)%2)},250);return()=>clearInterval(r)},[]),u("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?C(it,{children:[u("circle",{cx:"7",cy:"7",r:"2"}),u("circle",{cx:"17",cy:"7",r:"2"}),u("circle",{cx:"7",cy:"17",r:"2"}),u("circle",{cx:"17",cy:"17",r:"2"})]}):C(it,{children:[u("circle",{cx:"12",cy:"6",r:"2"}),u("circle",{cx:"6",cy:"12",r:"2"}),u("circle",{cx:"18",cy:"12",r:"2"}),u("circle",{cx:"12",cy:"18",r:"2"})]})})}function Hx({color:e}){return u("span",{style:{color:e,fontSize:12,lineHeight:1,width:10,display:"inline-block"},children:"\u2713"})}function Nx({onCancel:e}){let t=q(null);return _(()=>{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]),u("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 _x({onDismiss:e,onHoverChange:t}){let n=q(null),[r,o]=$(!1);return _(()=>{let i=n.current;if(!i)return;let a=d=>{d.stopPropagation(),e()},l=()=>{o(!0),t?.(!0)},s=()=>{o(!1),t?.(!1)};return i.addEventListener("click",a),i.addEventListener("mouseenter",l),i.addEventListener("mouseleave",s),()=>{i.removeEventListener("click",a),i.removeEventListener("mouseenter",l),i.removeEventListener("mouseleave",s)}},[e,t]),u("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:u(jg,{size:12,strokeWidth:2.25})})}function Fx({bridge:e,inFlightJobs:t,threadColors:n,isVisible:r,isHidden:o=!1,onHover:i,isInteractionSuppressed:a=!1,clearSignal:l,onClickJob:s,onCancel:d,onHoverJob:c,isConnected:f,dismissedThreadIds:p,acknowledgedThread:h,recoveredAcknowledgedThreadIds:g,recoveredAcknowledgedJobIds:m,recoveredSettledQuestionThreadIds:x,pendingQuestionThreadIds:w,snapPosition:z="bottom-right",currentPathname:A,noticeScope:S,ownedThreadIds:H,allowThreadlessNotices:R=!0,viewedThreadId:K}){let G=q(new Set),[N,V]=$(()=>{let y=wd(S),se=of(S).filter(be=>!y.has(be.jobId));return G.current=new Set(se.map(be=>be.jobId)),se}),[Y,I]=$(!1),[X,te]=$(null),[D,O]=$(null),[j,P]=$(!1),[L,E]=$(!1),[Z,re]=$("waiting"),ee=a||j,ie=o||ee,U=q(ie),me=q(!1),le=q(null),oe=q(null),Me=q(null),[Te]=$(()=>wd(S)),Ce=q(Te),J=q(new Set);_(()=>{ee&&(I(!1),te(null),i(!1),c?.(null))},[ee,i,c]),_(()=>{o&&(I(!1),te(null),i(!1),c?.(null))},[o,i,c]),_(()=>{H!==null&&Cx(N.filter(y=>rf(y,H,R)&&!Ce.current.has(y.jobId)),S,Ce.current)},[N,S,H,R]),_(()=>{if(!K)return;let y=N.filter(se=>se.threadId===K&&Oo(se));y.length!==0&&(y.forEach(se=>Ce.current.add(se.jobId)),V(se=>se.filter(be=>!Ce.current.has(be.jobId))))},[N,K]),_(()=>{V(y=>Ex(y,n))},[n]),_(()=>{let y=se=>{if(se.key!==zl(S))return;wd(S).forEach(Ke=>Ce.current.add(Ke));let be=of(S).filter(Ke=>!Ce.current.has(Ke.jobId));V(Ke=>[...Ke.filter(bt=>!Oo(bt)),...be])};return window.addEventListener("storage",y),()=>window.removeEventListener("storage",y)},[S]);let[ve,$e]=$(()=>typeof window<"u"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});_(()=>{let y=()=>$e({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",y),()=>window.removeEventListener("resize",y)},[]);let De=qh(z,ve.w,ve.h);_(()=>{l>0&&V(y=>(y.forEach(se=>Ce.current.add(se.jobId)),[]))},[l]),_(()=>{!p||p.size===0||V(y=>{let se=y.filter(be=>!be.threadId||!p.has(be.threadId)||!Oo(be));return se.length===y.length?y:se})},[p]),_(()=>{h&&(J.current.add(h.threadId),V(y=>{let se=y.filter(be=>be.threadId===h.threadId&&Oo(be));return se.forEach(be=>Ce.current.add(be.jobId)),se.length===0?y:y.filter(be=>!Ce.current.has(be.jobId))}))},[h]),_(()=>{!g||g.size===0||(g.forEach(y=>J.current.add(y)),V(y=>{let se=y.filter(be=>be.threadId&&g.has(be.threadId)&&Oo(be));return se.forEach(be=>Ce.current.add(be.jobId)),se.length===0?y:y.filter(be=>!Ce.current.has(be.jobId))}))},[g]),_(()=>{!m||m.size===0||(m.forEach(y=>Ce.current.add(y)),V(y=>{let se=y.filter(be=>!m.has(be.jobId));return se.length===y.length?y:se}))},[m]),_(()=>{!x||x.size===0||V(y=>{let se=y.filter(be=>!Sd(be,x));return se.length===y.length?y:se})},[x]),_(()=>{!w||w.size===0||V(y=>{let se=!1,be=y.map(Ke=>Ke.status!=="done"||!Ke.threadId||!w.has(Ke.threadId)||Ke.doneLabel==="Has a question"?Ke:(se=!0,{...Ke,doneLabel:"Has a question"}));return se?be:y})},[w]),_(()=>{V(y=>{let se=new Set(y.map(xe=>xe.jobId)),be=!1,Ke=y.map(xe=>{let Pe=t[xe.jobId];if(Pe&&(!xe.threadId||xe.color==="#888"||!xe.kind||!xe.routePathnames&&Pe.routePathnames||xe.global==null&&Pe.global!=null))return be=!0,{...xe,annotationIds:xe.annotationIds??Pe.annotationIds,threadId:xe.threadId||Pe.threadId||e.activeJobThreads[xe.jobId],color:Pl(xe.color==="#888"?Pe.color:xe.color,xe.threadId||Pe.threadId,n),kind:xe.kind??Pe.kind,routePathnames:xe.routePathnames??Pe.routePathnames,global:xe.global??Pe.global};let at=e.activeJobThreads[xe.jobId];return!xe.threadId&&at?(be=!0,{...xe,threadId:at,color:Pl(xe.color,at,n)}):xe});for(let[xe,Pe]of Object.entries(t)){if(Dl(Pe.kind))continue;let at=e.events.some(lt=>lt.data.jobId===xe&<.type!=="job_started"),vt=!!(Pe.threadId&&J.current.has(Pe.threadId)&&!at);!se.has(xe)&&!Ce.current.has(xe)&&!vt&&(Ke.push({jobId:xe,annotationIds:Pe.annotationIds,color:Pl(Pe.color,Pe.threadId,n),status:"queued",kind:Pe.kind,threadId:Pe.threadId,routePathnames:Pe.routePathnames,global:Pe.global}),be=!0)}let bt=new Set(Object.keys(t)),ze=new Set(e.activeJobIds),wt=Ke.filter(xe=>Dl(xe.kind)?!1:xe.status!=="queued"?!0:bt.has(xe.jobId)||ze.has(xe.jobId));wt.length!==Ke.length&&(be=!0);let Qe=new Set(wt.map(xe=>xe.jobId));for(let xe of e.activeJobIds)if(!Qe.has(xe)&&!Ce.current.has(xe)){let Pe=e.events.find(qe=>qe.type==="job_started"&&qe.data.jobId===xe),at=Pe?.data.kind;if(Dl(at))continue;let vt=Pe?.data?.threadId??e.activeJobThreads[xe],lt=e.events.some(qe=>qe.data.jobId===xe&&qe.type!=="job_started");if(vt&&J.current.has(vt)&&!lt)continue;let Xe=typeof Pe?.data.color=="string"?Pe.data.color:at==="synthesize"||at==="project_model"?"#000000":"#888",en=Pl(Xe,vt,n);wt.push({jobId:xe,annotationIds:Array.isArray(Pe?.data.annotationIds)?Pe.data.annotationIds.filter(qe=>typeof qe=="string"):void 0,color:en,status:"working",kind:at,threadId:vt,routePathnames:void 0,global:Pe?.data.global===!0||at==="synthesize"||at==="project_model"}),be=!0}let gt=sf(wt.filter(xe=>!Ce.current.has(xe.jobId)),e.events,e.activeJobIds).filter(xe=>!Sd(xe,x));return be||gt!==wt?gt:y})},[t,e.activeJobIds,e.activeJobThreads,e.events,x,n]),_(()=>{if(e.activeJobIds.length===0)return;let y=new Set(e.activeJobIds);V(se=>se.map(be=>y.has(be.jobId)&&be.status!=="done"&&be.status!=="error"?{...be,status:"working"}:be))},[e.activeJobIds]),_(()=>{V(y=>{let se=sf(y.filter(Ke=>!Ce.current.has(Ke.jobId)),e.events).filter(Ke=>!Sd(Ke,x));if(!p||p.size===0)return se;let be=se.filter(Ke=>!Ke.threadId||!p.has(Ke.threadId)||!Oo(Ke));return be.length===se.length?se:be})},[e.events,p,x]);let et=B(y=>y.global||!A||!y.routePathnames||y.routePathnames.length===0?!0:y.routePathnames.includes(A),[A]),rt=Se(()=>N.filter(y=>!Dl(y.kind)&&et(y)&&rf(y,H,R)&&(!K||y.threadId!==K)&&!(y.threadId&&p?.has(y.threadId))&&!Ce.current.has(y.jobId)),[N,et,H,R,K,p]),ge=rt.some(Oo),pe=Ax(o,r,ge,rt.length,f),Fe=rt.map(y=>`${y.jobId}:${y.status}:${y.color}:${y.threadId??""}`).join("|");Tt(()=>{let y=U.current;if(U.current=ie,le.current&&(clearTimeout(le.current),le.current=null),oe.current&&(clearTimeout(oe.current),oe.current=null),Me.current&&(clearTimeout(Me.current),Me.current=null),!me.current){if(ie||!pe){E(!1),re("waiting");return}return rt.forEach(se=>G.current.add(se.jobId)),E(!0),re("waiting"),le.current=setTimeout(()=>{re("fading"),le.current=null,oe.current=setTimeout(()=>{me.current=!0,re("complete"),oe.current=null,Me.current=setTimeout(()=>{E(!1),Me.current=null},af)},lf)},Lx),()=>{le.current&&(clearTimeout(le.current),le.current=null),oe.current&&(clearTimeout(oe.current),oe.current=null),Me.current&&(clearTimeout(Me.current),Me.current=null)}}if(ie||!pe){E(!1);return}if(y)return E(!0),Me.current=setTimeout(()=>{E(!1),Me.current=null},af),()=>{Me.current&&(clearTimeout(Me.current),Me.current=null)}},[Fe,ie,pe,rt]);let Be=q(null);Tt(()=>{if(!pe){P(!1);return}let y=Be.current;if(!y)return;let se=null,be=new Set,Ke=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>Qe()),bt=()=>{let at=[document],vt=y.getRootNode();return vt!==document&&"querySelectorAll"in vt&&at.unshift(vt),at},ze=()=>{let at=new Set;for(let vt of bt())vt.querySelectorAll(Rx).forEach(lt=>at.add(lt));return Array.from(at)},wt=()=>{se=null;let at=y.getBoundingClientRect(),vt=ze();for(let Xe of vt)Ke&&!be.has(Xe)&&(be.add(Xe),Ke.observe(Xe));let lt=vt.some(Xe=>{let en=window.getComputedStyle(Xe);return en.display==="none"||en.visibility==="hidden"||en.opacity==="0"?!1:Mx(at,Xe.getBoundingClientRect())});P(Xe=>Xe===lt?Xe:lt)};function Qe(){se===null&&(se=window.requestAnimationFrame(wt))}Ke?.observe(y);let gt=y.getRootNode(),xe=typeof MutationObserver>"u"?null:new MutationObserver(Qe);xe&> instanceof Node&&xe.observe(gt,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["aria-hidden","style"]});let Pe=typeof MutationObserver>"u"||!document.body?null:new MutationObserver(Qe);return Pe?.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-popmelt-active-annotation-surface"]}),window.addEventListener("resize",Qe),window.addEventListener("scroll",Qe,!0),window.addEventListener("pointermove",Qe,{passive:!0}),wt(),()=>{se!==null&&window.cancelAnimationFrame(se),Ke?.disconnect(),xe?.disconnect(),Pe?.disconnect(),window.removeEventListener("resize",Qe),window.removeEventListener("scroll",Qe,!0),window.removeEventListener("pointermove",Qe)}},[pe,z,rt.length]),_(()=>{if(!pe)return;let y=Be.current;if(!y)return;let se=()=>{I(!0),i(!0)},be=()=>{I(!1),te(null),i(!1),c?.(null)};return y.addEventListener("mouseenter",se),y.addEventListener("mouseleave",be),()=>{y.removeEventListener("mouseenter",se),y.removeEventListener("mouseleave",be)}},[pe,i,c]);let st=q(new Map),Ve=B((y,se)=>{se?st.current.set(y,se):st.current.delete(y)},[]);if(_(()=>{if(!pe)return;let y=[];for(let se of rt){let be=st.current.get(se.jobId);if(!be)continue;if(s){let Qe=se.jobId,gt=se.threadId,xe=se.annotationIds,Pe=()=>s(Qe,gt,xe);be.addEventListener("click",Pe),y.push(()=>be.removeEventListener("click",Pe))}let Ke=se.jobId,bt=se.annotationIds,ze=()=>{te(Ke),c?.(Ke,bt)},wt=()=>{te(Qe=>Qe===Ke?null:Qe),c?.(null)};be.addEventListener("mouseenter",ze),be.addEventListener("mouseleave",wt),y.push(()=>{be.removeEventListener("mouseenter",ze),be.removeEventListener("mouseleave",wt)})}return()=>y.forEach(se=>se())},[pe,rt,s,c]),!pe)return null;let ke={working:3,queued:2,error:1,done:0},Ue=[],mt=new Map;for(let y of rt){if(!y.threadId){Ue.push(y);continue}let se=mt.get(y.threadId);(!se||ke[y.status]>ke[se.status]||ke[y.status]===ke[se.status])&&mt.set(y.threadId,y)}for(let y of mt.values())Ue.push(y);let _t=Ue.filter(y=>y.status==="queued"),yt=new Map;_t.forEach((y,se)=>{yt.set(y.jobId,`(${se+1}/${_t.length})`)});let Je=!Y&&!L&&Ue.length>1,pt=Bh(z),kn=Yh(z),Xt=Dx(Ue,pt),En=$u(e.events),Ft=new Map(Ue.map((y,se)=>[y.jobId,se])),Ne=!me.current&&Z==="waiting",ft=!me.current&&Z==="fading",dt=ee||Ne;return C("div",{ref:Be,style:{...De,zIndex:10001,opacity:dt?0:1,visibility:dt?"hidden":"visible",pointerEvents:dt?"none":"auto",transition:ft?`opacity ${lf}ms ease-out`:"none"},"aria-hidden":dt||void 0,"data-devtools":!0,children:[u("style",{children:`
|
|
62
|
-
@keyframes popmeltJobStatusEnter {
|
|
63
|
-
from { opacity: 0; transform: translateX(12px); }
|
|
64
|
-
to { opacity: 1; transform: translateX(0); }
|
|
65
|
-
}
|
|
66
|
-
@media (prefers-reduced-motion: reduce) {
|
|
67
|
-
@keyframes popmeltJobStatusEnter {
|
|
68
|
-
from { opacity: 1; transform: none; }
|
|
69
|
-
to { opacity: 1; transform: none; }
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
`}),Xt.map((y,se)=>{let be=se===Xt.length-1,Ke=Ft.get(y.jobId)??se,bt=Ue.length-1-Ke,ze=X===y.jobId,wt=Math.max(160,Math.min(360,ve.w-32)),Qe=y.status==="working"&&En.has(y.jobId),gt=Xe=>Qe?"Approval needed":y.status==="working"?jx(e.events.filter(en=>en.data.jobId===y.jobId),Xe):y.status==="queued"?`Queued ${yt.get(y.jobId)??""}`:y.status==="done"?y.doneLabel||"Done":y.cancelled?"Cancelled":Px(y.errorMessage||"",Xe),xe=gt(!1),Pe=gt(!0),at=ze?Pe:xe,vt=zx(at,3),lt=ze&&(Pe!==xe||vt>24);return u("div",{"data-popmelt-status-job":y.jobId,style:{position:"relative",zIndex:Ke+1,marginBottom:Je?be?0:-18:be?0:$x,transform:Je?`scale(${Math.max(.94,1-bt*.02)})`:"scale(1)",opacity:1,transformOrigin:`${pt?"top":"bottom"} ${kn?"right":"left"}`,transition:L?"none":"margin-bottom 250ms ease, transform 250ms ease, opacity 250ms ease"},children:u("div",{ref:Xe=>Ve(y.jobId,Xe),style:{...kd,animation:!me.current||G.current.has(y.jobId)?"none":kd.animation,position:"relative",overflow:"visible",cursor:s?"pointer":void 0,height:lt?"auto":Ta,minHeight:Ta,alignItems:lt?"flex-start":"center"},"aria-label":at,children:C("div",{style:{display:"flex",alignItems:lt?"flex-start":"center",gap:3,height:lt?"auto":Ta-Id*2,minHeight:Ta-Id*2,maxWidth:lt?wt:void 0,boxSizing:"border-box",padding:lt?"3px 5px 3px 8px":"0 5px 0 8px",margin:0,backgroundColor:y.color,color:"#ffffff",borderRadius:Gc},children:[C("span",{style:{display:"flex",alignItems:lt?"flex-start":"center",gap:3,minWidth:0,opacity:D===y.jobId?.3:1,transition:"opacity 120ms ease-out"},children:[y.status==="working"&&(Qe?u(Iu,{size:12,"aria-label":"Approval needed"}):u(Ox,{color:"#ffffff"})),y.status==="queued"&&u(Su,{size:12,strokeWidth:2.25,color:"#ffffff",style:{opacity:.6}}),y.status==="done"&&(y.doneLabel==="Has a question"?u(Rg,{size:12,strokeWidth:2.25,style:{marginRight:3}}):y.doneLabel==="Replied"?u(Lg,{size:12,strokeWidth:2.25}):u(Hx,{color:"#ffffff"})),y.status==="error"&&u($g,{size:12,strokeWidth:2.25}),u("span",{style:{opacity:y.status==="queued"?.6:1,display:lt?"-webkit-box":"block",WebkitBoxOrient:lt?"vertical":void 0,WebkitLineClamp:lt?3:void 0,whiteSpace:lt?"normal":"nowrap",textWrap:lt?"balance":void 0,lineHeight:"14px",width:lt?`min(${vt+.5}ch, ${wt-48}px)`:void 0,maxWidth:lt?wt-48:160,overflow:"hidden",textOverflow:"ellipsis",transition:"opacity 120ms ease-out"},children:at})]}),y.status==="working"&&d&&u(Nx,{onCancel:()=>d(y.jobId)}),(y.status==="done"||y.status==="error")&&u(_x,{onHoverChange:Xe=>O(Xe?y.jobId:null),onDismiss:()=>{O(null),N.filter(Xe=>y.threadId?Xe.threadId===y.threadId:Xe.jobId===y.jobId).forEach(Xe=>Ce.current.add(Xe.jobId)),V(Xe=>Xe.filter(en=>y.threadId?en.threadId!==y.threadId:en.jobId!==y.jobId))}})]})})},y.jobId)}),f===!1&&N.length>0&&u("div",{style:kd,children:C("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:0,backgroundColor:"#f59e0b",color:"#ffffff",borderRadius:Gc},children:[u("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ffffff",opacity:.6}}),u("span",{children:"Reconnecting\u2026"})]})})]})}var Wx=`
|
|
73
|
-
[data-popmelt-top-layer-host] {
|
|
74
|
-
-webkit-user-select: none;
|
|
75
|
-
user-select: none;
|
|
76
|
-
--popmelt-selection-background: #626262;
|
|
77
|
-
--popmelt-selection-color: #ffffff;
|
|
78
|
-
}
|
|
79
|
-
[data-popmelt-top-layer-host] * {
|
|
80
|
-
-webkit-user-select: none;
|
|
81
|
-
user-select: none;
|
|
82
|
-
}
|
|
83
|
-
[data-popmelt-top-layer-host] [data-popmelt-theme="light"] {
|
|
84
|
-
--popmelt-selection-background: #a3a3a3;
|
|
85
|
-
--popmelt-selection-color: #171717;
|
|
86
|
-
}
|
|
87
|
-
[data-popmelt-top-layer-host] ::selection {
|
|
88
|
-
background: var(--popmelt-selection-background);
|
|
89
|
-
color: var(--popmelt-selection-color);
|
|
90
|
-
}
|
|
91
|
-
[data-popmelt-top-layer-host] :is(input, textarea, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]),
|
|
92
|
-
[data-popmelt-top-layer-host] :is([contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]) * {
|
|
93
|
-
-webkit-user-select: text;
|
|
94
|
-
user-select: text;
|
|
95
|
-
}
|
|
96
|
-
`;function Jx({children:e}){let[t,n]=$(null);return Tt(()=>{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?Eu(C(it,{children:[u("style",{children:Wx}),e]}),t):null}var qx=`
|
|
97
|
-
${Om}
|
|
98
|
-
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
99
|
-
:host {
|
|
100
|
-
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
101
|
-
font-size: 12px;
|
|
102
|
-
color: #1f2937;
|
|
103
|
-
line-height: 1.5;
|
|
104
|
-
-webkit-font-smoothing: antialiased;
|
|
105
|
-
-webkit-user-select: none;
|
|
106
|
-
user-select: none;
|
|
107
|
-
--popmelt-selection-background: #626262;
|
|
108
|
-
--popmelt-selection-color: #ffffff;
|
|
109
|
-
}
|
|
110
|
-
/* Host stylesheets are mirrored for previews, including page-wide selection
|
|
111
|
-
colors. Keep chrome labels inert and give editable/thread text a Popmelt
|
|
112
|
-
selection treatment instead of inheriting the page's highlight. */
|
|
113
|
-
:host * {
|
|
114
|
-
-webkit-user-select: none;
|
|
115
|
-
user-select: none;
|
|
116
|
-
}
|
|
117
|
-
:host [data-popmelt-theme="light"] {
|
|
118
|
-
--popmelt-selection-background: #a3a3a3;
|
|
119
|
-
--popmelt-selection-color: #171717;
|
|
120
|
-
/* Keep the native scrollbar width, but soften its high-contrast light thumb. */
|
|
121
|
-
scrollbar-color: rgba(0, 0, 0, 0.06) transparent;
|
|
122
|
-
}
|
|
123
|
-
:host [data-popmelt-theme="dark"],
|
|
124
|
-
:host [data-popmelt-panel] {
|
|
125
|
-
scrollbar-color: auto;
|
|
126
|
-
}
|
|
127
|
-
:host ::selection {
|
|
128
|
-
background: var(--popmelt-selection-background);
|
|
129
|
-
color: var(--popmelt-selection-color);
|
|
130
|
-
}
|
|
131
|
-
:host :is(input, textarea, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]),
|
|
132
|
-
:host :is([contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]) * {
|
|
133
|
-
-webkit-user-select: text;
|
|
134
|
-
user-select: text;
|
|
135
|
-
}
|
|
136
|
-
/* Direct reset for all Popmelt chrome elements.
|
|
137
|
-
Beats broad selectors from mirrored host stylesheets (e.g. div, span, *).
|
|
138
|
-
Inline styles on individual elements still win (higher specificity).
|
|
139
|
-
color: inherit (not a fixed value) so children properly inherit inline
|
|
140
|
-
colors set by parents \u2014 e.g. thread header sets color:#fff, child spans
|
|
141
|
-
should get white, not this reset gray. */
|
|
142
|
-
:host *:not([data-popmelt-panel]):not([data-popmelt-panel] *):not([data-popmelt-font="sans"]):not([data-popmelt-font="sans"] *) {
|
|
143
|
-
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
144
|
-
font-size: 12px;
|
|
145
|
-
color: inherit;
|
|
146
|
-
line-height: 1.5;
|
|
147
|
-
-webkit-font-smoothing: antialiased;
|
|
148
|
-
}
|
|
149
|
-
/* Thread typography has its own role-based type system. Let descendants
|
|
150
|
-
inherit the nearest thread style so conversational UI can use Geist while
|
|
151
|
-
explicitly monospaced headers, code, and tool payloads remain monospaced. */
|
|
152
|
-
:host [data-devtools="thread-panel"]:not([data-popmelt-panel]) * {
|
|
153
|
-
font-family: inherit;
|
|
154
|
-
font-size: inherit;
|
|
155
|
-
line-height: inherit;
|
|
156
|
-
}
|
|
157
|
-
/* Break font inheritance for component previews \u2014 let mirrored host
|
|
158
|
-
page styles (Tailwind, globals) apply instead of Popmelt's monospace. */
|
|
159
|
-
[data-popmelt-panel] {
|
|
160
|
-
font: 16px / 1.5 system-ui, -apple-system, sans-serif;
|
|
161
|
-
color: initial;
|
|
162
|
-
-webkit-font-smoothing: auto;
|
|
163
|
-
}
|
|
164
|
-
`;function Bx({children:e}){return _(()=>{Dm(document)},[]),C(it,{children:[u("style",{children:qx}),e]})}function Yx(e){return e.tagName==="STYLE"||e.tagName==="LINK"&&e.rel==="stylesheet"}function Ux(e){let t=new Map,n=e.firstChild;function r(a){if(t.has(a)||a.hasAttribute("data-pm-mirror"))return;let l=a.cloneNode(!0);l.setAttribute("data-pm-mirror",""),e.insertBefore(l,n),t.set(a,l)}function o(a){let l=t.get(a);l&&(l.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 l of a)if(l.type==="childList"){for(let s of l.addedNodes)s instanceof Element&&Yx(s)&&r(s);for(let s of l.removedNodes)s instanceof Element&&o(s)}});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 Kx({children:e,zIndex:t=1e4}){let n=q(null),[r,o]=$(null),[i,a]=$(null);return Tt(()=>{let l=n.current;if(!l||l.shadowRoot)return;let s=l.attachShadow({mode:"open"}),d=document.createElement("div");d.setAttribute("data-popmelt-root",""),d.setAttribute("data-popmelt-canvas-block",""),s.appendChild(d),o(s),a(d)},[]),_(()=>{if(r)return Ux(r)},[r]),C(it,{children:[u("div",{ref:n,"data-popmelt-shadow-host":!0,style:{position:"absolute",width:0,height:0,overflow:"visible",pointerEvents:"auto",zIndex:t}}),i&&Eu(e,i)]})}function co({src:e,alt:t="",...n}){let r=typeof e=="string"&&Fc(e),[o,i]=$(null);return _(()=>{if(!r||typeof e!="string")return;let a=new AbortController,l;return Kt(e,{signal:a.signal,cache:"no-store"}).then(async s=>{if(!s.ok)return;let d=await s.blob();a.signal.aborted||(l=URL.createObjectURL(d),i({src:e,objectUrl:l}))}).catch(()=>{}),()=>{a.abort(),l&&URL.revokeObjectURL(l)}},[e,r]),u("img",{...n,alt:t,src:r?o?.src===e?o.objectUrl:void 0:e})}function Xx({messages:e,renderMessage:t,onChange:n}){return e.length?C("section",{"aria-label":"Queued messages",style:{display:"flex",flexDirection:"column",gap:6,flexShrink:0,borderTop:"1px solid var(--popmelt-thread-hairline)",paddingTop:8},children:[u("style",{children:`
|
|
165
|
-
[data-queued-reply-actions] {
|
|
166
|
-
width: 0;
|
|
167
|
-
margin-left: 0;
|
|
168
|
-
opacity: 0;
|
|
169
|
-
overflow: hidden;
|
|
170
|
-
pointer-events: none;
|
|
171
|
-
transition: width 100ms ease-out, margin-left 100ms ease-out, opacity 100ms ease-out;
|
|
172
|
-
}
|
|
173
|
-
[data-queued-reply]:hover [data-queued-reply-actions],
|
|
174
|
-
[data-queued-reply]:focus-within [data-queued-reply-actions],
|
|
175
|
-
[data-queued-reply][data-editing="true"] [data-queued-reply-actions] {
|
|
176
|
-
width: 52px;
|
|
177
|
-
margin-left: 5px;
|
|
178
|
-
opacity: 1;
|
|
179
|
-
pointer-events: auto;
|
|
180
|
-
}
|
|
181
|
-
[data-queued-reply-actions] button {
|
|
182
|
-
color: var(--popmelt-thread-muted);
|
|
183
|
-
transition: color 50ms ease-out;
|
|
184
|
-
}
|
|
185
|
-
[data-queued-reply-actions] button:not(:disabled):hover,
|
|
186
|
-
[data-queued-reply-actions] button:not(:disabled):focus-visible {
|
|
187
|
-
color: var(--popmelt-thread-action);
|
|
188
|
-
}
|
|
189
|
-
[data-queued-reply-actions] button:not(:disabled):active {
|
|
190
|
-
color: var(--popmelt-thread-action-hover);
|
|
191
|
-
}
|
|
192
|
-
[data-queued-reply-actions] button:disabled {
|
|
193
|
-
opacity: 0.4;
|
|
194
|
-
cursor: default;
|
|
195
|
-
}
|
|
196
|
-
@media (hover: none), (pointer: coarse) {
|
|
197
|
-
[data-queued-reply-actions] {
|
|
198
|
-
width: 52px;
|
|
199
|
-
margin-left: 5px;
|
|
200
|
-
opacity: 1;
|
|
201
|
-
pointer-events: auto;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
@media (prefers-reduced-motion: reduce) {
|
|
205
|
-
[data-queued-reply-actions],
|
|
206
|
-
[data-queued-reply-actions] button { transition: none; }
|
|
207
|
-
}
|
|
208
|
-
`}),C("div",{style:{fontSize:12,fontWeight:600,marginBottom:4,color:"var(--popmelt-thread-muted)"},children:[e.length," queued"]}),e.map(r=>u(Vx,{message:r,renderMessage:t,onChange:n},r.lifecycle?.submissionIds[0]??`${r.jobId}-${r.timestamp}`))]}):null}function Vx({message:e,renderMessage:t,onChange:n}){let[r,o]=$(!1),[i,a]=$(e.replyToQuestion??""),[l,s]=$(!1),[d,c]=$(""),f=!!(n&&e.lifecycle?.submissionIds[0])&&!l,p=async g=>{if(!(!f||!n||g==="")){s(!0),c("");try{await n(e,g),o(!1)}catch(m){c(m instanceof Error?m.message:"Could not update queued message.")}finally{s(!1)}}},h={display:"inline-flex",alignItems:"center",justifyContent:"center",background:"none",border:0,cursor:"pointer",padding:5,width:26,height:28,flexShrink:0};return C("div",{"data-queued-reply":!0,"data-editing":r,style:{display:"flex",flexDirection:"column",gap:4,width:"100%",minWidth:0,flexShrink:0},children:[C("div",{style:{display:"flex",alignItems:"center",minWidth:0},children:[u("div",{"data-queued-reply-preview":!0,style:{flex:1,minWidth:0},children:r&&n?u("textarea",{autoFocus:!0,"aria-label":"Edit queued message",value:i,disabled:l,onChange:g=>a(g.target.value),onKeyDown:g=>{g.key==="Escape"&&(g.stopPropagation(),l||o(!1)),g.key==="Enter"&&(g.metaKey||g.ctrlKey)&&!g.nativeEvent.isComposing&&(g.preventDefault(),g.stopPropagation(),p(i.trim()))},style:{width:"100%",boxSizing:"border-box",minHeight:90,resize:"vertical",font:"inherit",lineHeight:1.5,color:"inherit",background:"var(--popmelt-thread-raised)",border:"1px solid var(--popmelt-thread-hairline)",borderRadius:12,padding:12}}):t(e)}),n&&u("div",{"data-queued-reply-actions":!0,style:{display:"flex",flexShrink:0},children:r?C(it,{children:[u("button",{type:"button",title:"Save queued message","aria-label":"Save queued message",disabled:!f||!i.trim(),style:h,onClick:()=>{p(i.trim())},children:u(Lo,{size:14})}),u("button",{type:"button",title:"Cancel editing","aria-label":"Cancel editing",disabled:l,style:h,onClick:()=>o(!1),children:u(cl,{size:14})})]}):C(it,{children:[u("button",{type:"button",title:"Edit queued message","aria-label":"Edit queued message",disabled:!f,style:h,onClick:()=>{a(e.replyToQuestion??""),c(""),o(!0)},children:u(xu,{size:14})}),u("button",{type:"button",title:"Delete queued message","aria-label":"Delete queued message",disabled:!f,style:h,onClick:()=>{p(null)},children:u(Pg,{size:14})})]})})]}),d&&u("div",{role:"alert",style:{fontSize:12,color:"#dc2626"},children:d})]})}var df={background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:10,padding:16},Td={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 Qx({approval:e,accentColor:t,connected:n,decide:r}){let[o,i]=$(!1),[a,l]=$(!1),[s,d]=$(""),c=e.status==="pending",f=async p=>{if(!(a||!n)){l(!0),d("");try{await r(p)}catch(h){d(h instanceof Error?h.message:"Could not send decision.")}finally{l(!1)}}};return c?C("div",{"data-popmelt-approval":e.status,style:df,children:[C("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:[u(Iu,{size:16,color:t,"aria-hidden":"true"}),u("span",{style:{flex:1},children:c?"Permission needed":{pending:"Permission needed",allowed:"Allowed once",denied:"Denied",expired:"Request expired"}[e.status]}),u(Wi,{size:14,"aria-hidden":"true",style:{transform:o?"rotate(180deg)":"none"}})]}),c&&C("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35},children:[e.summary,e.phase==="parked"&&u("div",{role:"status",children:"Parked \xB7 other tasks can continue. Approve to run next."})]}),u("div",{title:e.cwd,style:{fontSize:11,color:"var(--popmelt-thread-muted-strong)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.cwd}),o&&C("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",paddingLeft:12,color:"var(--popmelt-thread-secondary)",fontSize:12},children:[C("div",{children:["One-time permission for this"," ",e.kind==="command"?"command":"file change","."]}),u("pre",{style:{fontSize:11,whiteSpace:"pre-wrap",overflowWrap:"anywhere",maxHeight:200,overflow:"auto",marginBottom:0},children:e.details})]}),c&&C("div",{style:{display:"flex",gap:6},children:[u("button",{type:"button","data-approval-decision":"allow",disabled:a||!n,style:Td,onClick:()=>{f("allow")},children:"Allow once"}),u("button",{type:"button","data-approval-decision":"deny",disabled:a||!n,style:Td,onClick:()=>{f("deny")},children:"Deny"})]}),c&&!n&&u("div",{role:"status",style:{fontSize:12},children:"Reconnecting\u2026"}),s&&u("div",{role:"alert",style:{fontSize:12},children:s})]}):u(cf,{approval:e})}function cf({approval:e}){let t=e.kind==="command"?bu:Tg;return C("div",{"data-popmelt-approval":e.status,title:e.details,style:{display:"flex",alignItems:"center",gap:6,color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:[u(t,{size:14,"aria-hidden":"true"}),C("span",{children:[e.status==="allowed"?e.phase==="queued"?"Allowed once \xB7 queued next":"Allowed once":e.status==="denied"?"Denied":e.expiryReason==="no_response"?"No response received":"Request expired"," ","\xB7 ",e.summary]})]})}function Gx({bridgeUrl:e,threadId:t,visible:n,active:r,onPendingChange:o}){let[i,a]=$([]),[l,s]=$(!1),d=i.some(c=>c.threadId===t&&c.status==="pending");return _(()=>(o(d),()=>o(!1)),[o,d]),_(()=>{if(a([]),s(!1),!n)return;let c=new AbortController,f,p=async()=>{try{let h=await Kt(`${e}/approvals?threadId=${encodeURIComponent(t)}`,{signal:c.signal});if(!h.ok)throw new Error("Approval fetch failed");let g=await h.json();c.signal.aborted||(a(Array.isArray(g.approvals)?g.approvals:[]),s(!0))}catch{c.signal.aborted||s(!1)}!c.signal.aborted&&r&&(f=setTimeout(()=>{p()},1500))};return p(),()=>{c.abort(),clearTimeout(f)}},[e,t,n,r]),{approvals:i,connected:l,decide:async(c,f)=>{let p=await Kt(`${e}/approvals`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:c.id,threadId:t,jobId:c.jobId,decision:f})}),h=await p.json();if(!p.ok)throw new Error(h.error||"Could not send decision.");a(Array.isArray(h.approvals)?h.approvals:[])}}}var Cd="ui-monospace, SFMono-Regular, Menlo, monospace",Zx=0;function ew({size:e=11}){let t=++Zx,n=`pm-vs-m${t}`,r=`pm-vs-f0-${t}`,o=`pm-vs-f1-${t}`,i=`pm-vs-g${t}`;return C("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:[u("mask",{id:n,style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100",height:"100",children:u("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"})}),C("g",{mask:`url(#${n})`,children:[u("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"}),u("g",{filter:`url(#${r})`,children:u("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"})}),u("g",{filter:`url(#${o})`,children:u("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"})}),u("g",{style:{mixBlendMode:"overlay"},opacity:"0.25",children:u("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})`})})]}),C("defs",{children:[C("filter",{id:r,x:"-8.39411",y:"15.8291",width:"116.727",height:"92.2456",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[u("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),u("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"}),u("feOffset",{}),u("feGaussianBlur",{stdDeviation:"4.16667"}),u("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"}),u("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),u("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),C("filter",{id:o,x:"60.4167",y:"-8.07558",width:"47.9167",height:"116.151",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[u("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),u("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"}),u("feOffset",{}),u("feGaussianBlur",{stdDeviation:"4.16667"}),u("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"}),u("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),u("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),C("linearGradient",{id:i,x1:"49.9392",y1:"0.257812",x2:"49.9392",y2:"99.7423",gradientUnits:"userSpaceOnUse",children:[u("stop",{stopColor:"white"}),u("stop",{offset:"1",stopColor:"white",stopOpacity:"0"})]})]})]})}var tw=/^#[0-9a-fA-F]{3,8}$/,nw=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,rw=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 ow(e){let t=e.trim();return tw.test(t)||nw.test(t)||rw.has(t.toLowerCase())}function Ad(e,t){return u("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 Ca(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(e.slice(r,o.index)),o[1]){let i=o[1].slice(1,-1);ow(i)&&t.push(Ad(i,`sw-${o.index}`)),t.push(u("code",{style:{fontFamily:Cd,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(u("strong",{children:u("em",{children:o[3]})},o.index));else if(o[5]!==void 0)t.push(u("strong",{children:o[5]},o.index));else if(o[7]!==void 0)t.push(u("em",{children:o[7]},o.index));else if(o[9]!==void 0)t.push(u("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),l=a?`vscode://file/${i}`:i;a?t.push(C("a",{href:l,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:Cd,fontSize:"0.9em"},children:[o[11],u(ew,{})]},o.index)):t.push(u("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"underline"},children:o[11]},o.index))}else o[13]!==void 0?(t.push(Ad(o[13],`sw-${o.index}`)),t.push(o[13])):o[14]!==void 0&&(t.push(Ad(o[14],`sw-${o.index}`)),t.push(o[14]));r=o.index+o[0].length}return r<e.length&&t.push(e.slice(r)),t}function Or(e){let t=e.split(`
|
|
209
|
-
`),n=[],r=0;for(;r<t.length;){let o=t[r];if(o.trimStart().startsWith("```")){let l=[];for(r++;r<t.length&&!t[r].trimStart().startsWith("```");)l.push(t[r]),r++;r++,n.push(u("pre",{style:{fontFamily:Cd,fontSize:"0.9em",lineHeight:1.4,backgroundColor:"rgba(0,0,0,0.04)",padding:"6px 8px",margin:"4px 0",overflowX:"auto",whiteSpace:"pre"},children:l.join(`
|
|
210
|
-
`)},n.length));continue}if(/^(-{3,}|\*{3,}|_{3,})\s*$/.test(o)){n.push(u("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 l=i[1].length,s={1:16,2:14,3:13,4:12};n.push(u("div",{style:{fontWeight:700,fontSize:s[l]??12,margin:"8px 0 2px"},children:Ca(i[2])},n.length)),r++;continue}if(o.trimStart().startsWith("|")&&o.trimEnd().endsWith("|")){let l=[];for(;r<t.length&&t[r].trimStart().startsWith("|")&&t[r].trimEnd().endsWith("|");)l.push(t[r]),r++;let s=m=>/^\|[\s\-:|]+\|$/.test(m),d=l.filter(m=>!s(m)),c=m=>m.split("|").slice(1,-1).map(x=>x.trim()),f=m=>/^\*\*.+\*\*$/.test(m)||/^__.+__$/.test(m),p=d.map(c),h=p.length>1&&p.slice(1).every(m=>m[0]&&f(m[0])),g=p.length>0&&p[0].every(m=>f(m));n.push(u("div",{style:{overflowX:"auto",margin:"4px 0",paddingBottom:4},children:u("table",{style:{borderCollapse:"separate",borderSpacing:0,fontSize:"0.95em",width:"max-content",minWidth:"100%"},children:u("tbody",{children:d.map((m,x)=>u("tr",{children:c(m).map((w,z)=>u(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",...z===0&&h||x===0&&g?{position:"sticky",...z===0&&h?{left:0}:{},...x===0&&g?{top:0}:{},background:"#fff",zIndex:z===0&&h&&x===0&&g?2:1}:{}},children:Ca(w)},z))},x))})})},n.length));continue}if(o.match(/^(\s*)([-*])\s+(.+)/)){let l=[];for(;r<t.length;){let s=t[r].match(/^\s*[-*]\s+(.+)/);if(s)l.push(s[1]),r++;else if(l.length>0&&t[r].match(/^\s+\S/)&&!t[r].match(/^\s*\d+\.\s/)&&!t[r].match(/^\s*[-*]\s+/))l[l.length-1]+=" "+t[r].trim(),r++;else break}n.push(u("ul",{style:{margin:0,paddingLeft:20,listStyleType:"disc",display:"flex",flexDirection:"column",gap:8,fontSize:"inherit",lineHeight:"inherit"},children:l.map((s,d)=>u("li",{children:Ca(s)},d))},n.length));continue}let a=o.match(/^(\s*)(\d+)\.\s+(.+)/);if(a){let l=a[1].length,s=parseInt(a[2],10)||1,d=[],c=null;for(;r<t.length;){let f=t[r],p=f.match(/^(\s*)(\d+)\.\s+(.+)/);if(p&&p[1].length===l)c=[p[3]],d.push(c),r++;else if(c&&f.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(f.trim()))c.push(f.trim()),r++;else if(c&&c.length>1&&f.trim()&&!f.match(/^(#{1,4})\s+/)&&!f.trimStart().startsWith("|")&&!f.match(/^\s*[-*]\s+/)&&!f.match(/^\s*\d+\.\s+/)&&!/^(\*\*)?[A-Z][A-Za-z /&-]{2,40}(\*\*)?$/.test(f.trim()))c.push(f.trim()),r++;else break}n.push(u("ol",{start:s,style:{margin:0,paddingLeft:20,listStyleType:"decimal",display:"flex",flexDirection:"column",gap:8,fontSize:"inherit",lineHeight:"inherit"},children:d.map((f,p)=>u("li",{children:u("div",{style:{display:"flex",flexDirection:"column",gap:6},children:f.map((h,g)=>u("div",{children:Ca(h)},g))})},p))},n.length));continue}if(o.trim()===""){r++;continue}n.push(u("div",{style:{fontSize:"inherit",lineHeight:"inherit"},children:Ca(o)},n.length)),r++}return u("div",{style:{display:"flex",flexDirection:"column",fontSize:"inherit",gap:8,lineHeight:"inherit"},children:n})}var uf="<orientation>",iw="</orientation>",aw="<\\/orientation>",pf=[iw,aw];function lw(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 l=e[a];if(o){i?i=!1:l==="\\"?i=!0:l==='"'&&(o=!1);continue}if(l==='"')o=!0;else if(l==="{")r++;else if(l==="}"){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 Md(e,t){if(!t)return;let n=e[e.length-1];n?.kind==="text"?n.text+=t:e.push({kind:"text",text:t})}function ff(e,t){let n=null;for(let r of pf){let o=e.indexOf(r,t);o>=0&&(!n||o<n.index)&&(n={index:o,tag:r})}return n}function sw(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(uf,n),o=ff(e,n);if(o&&(r<0||o.index<r)){Md(t,e.slice(n,o.index)),n=o.index+o.tag.length;continue}if(r<0){Md(t,e.slice(n));break}Md(t,e.slice(n,r));let i=r+uf.length,a=lw(e,i);if(a.status!=="complete"){let d=ff(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 l=n;for(;l<e.length&&/\s/.test(e[l]);)l++;let s=pf.find(d=>e.startsWith(d,l));s&&(n=l+s.length)}return t}function dw(e){return sw(e).map(t=>t.kind==="text"?t.text:`
|
|
211
|
-
|
|
212
|
-
`).join("").replace(/\n{3,}/g,`
|
|
213
|
-
|
|
214
|
-
`).trim()}function cw(e){return e.replace(/<resolution>[\s\S]*?(?:<\/resolution>|$)/g,"")}function uw(e){return e.replace(/\b([A-Za-z]{2,}[.!?])(?=[A-Z][a-z])/g,`$1
|
|
215
|
-
|
|
216
|
-
`)}function Rd(e){return uw(cw(dw(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 hf(e){return e.replace(/\s+/g," ").trim()}function pw(e,t){let n=hf(Rd(t)),r=hf(e.filter(o=>o.kind==="text"&&typeof o.text=="string").map(o=>Rd(o.text)).join(" "));return n===r}function fw(e){return e.kind==="tool_group"?!0:e.kind!=="text"||!("text"in e)?!1:typeof e.text=="string"&&e.text.trim().length===0}function mf(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}fw(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 hw="popmelt-thread-composer-draft",Ol={text:"",selectionStart:0,selectionEnd:0,selectionDirection:"none"};function gf(){if(!(typeof window>"u"))return window.localStorage}function yf(e){return`${hw}:${e}`}function mw(e,t=gf()){if(!t)return Ol;try{let n=t.getItem(yf(e));if(!n)return Ol;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 Ol;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 Ol}}function Ld(e,t,n=gf(),r={selectionStart:t.length,selectionEnd:t.length,selectionDirection:"none"}){if(n)try{let o=yf(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 gw(e,t,n){return n?.activePreview?n.annotationNumber:e??t}function yw(e,t){return e?.trim()?e.trim():Sy(t.find(n=>n.role==="human"))}function vw(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 $d=280,Hl=e=>`${e.jobId}:${e.role}:${e.timestamp}`;function bw(e,t,n,r){let o=`${n}:${t??""}`,i=Se(()=>vw(e,t),[e,t]),a=e.find(p=>p.role==="human"&&p.execution==="none"&&p.jobId===`suggestion-${t}`),l=i.length<e.length,s=Se(()=>{if(!a||l)return i;let p=e.indexOf(a);return e.filter((h,g)=>g<=p||h.role==="assistant"||h.execution==="none"||!!h.replyToQuestion)},[e,a,l,i]),[d,c]=$({scope:o,phase:"idle",seenKeys:[]});if(d.scope!==o)c({scope:o,phase:"idle",seenKeys:[]});else if(d.phase==="idle"){if(l)c({...d,phase:d.seedKey?"preparing":"done"});else if(a){let p=s.map(Hl);p.join("|")!==d.seenKeys.join("|")&&c({...d,seenKeys:p,seedKey:Hl(a)})}}Tt(()=>{if(d.phase!=="preparing")return;let p=Array.from(r.current?.querySelectorAll('[data-suggestion-handoff="incoming"] img')??[]),h=new Set(p.filter(w=>!w.getAttribute("src")||!w.complete)),g=()=>c(w=>({...w,phase:window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?"done":"animating"})),m=w=>{h.delete(w.target),h.size||g()};h.forEach(w=>{w.addEventListener("load",m),w.addEventListener("error",m)});let x=window.setTimeout(g,1500);return h.size||g(),()=>{window.clearTimeout(x),p.forEach(w=>{w.removeEventListener("load",m),w.removeEventListener("error",m)})}},[r,d.phase,o]),Tt(()=>{if(d.phase!=="animating")return;let p=window.setTimeout(()=>c(h=>({...h,phase:"done"})),$d);return()=>window.clearTimeout(p)},[d.phase,o]);let f=d.phase==="preparing"||d.phase==="animating";return{messages:f?e:s,replacementReady:l,phase:d.phase,motion:p=>{if(!f)return;let h=Hl(p);if(h===d.seedKey)return"outgoing";if(!d.seenKeys.includes(h))return"incoming"}}}function xw(e){return e==="Bash"?"terminal":e==="Edit"||e==="Write"?"pencil":e==="ImageGen"?"image":"tool"}function ww(e){let t=new Map;for(let n of e){let r=xw(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 Sw(e,t,n){return e&&t!==n}function Iw(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 on=Ts,kw=350,Ew=200,Tw=120,Ho=14,vf=360,Cw=0,Aw=!1,Mw=8,Rw="devtools-thread-panel-position",Lw=vf+2*Cw;function No(){let e=window.visualViewport;return{width:e?.width??window.innerWidth,height:e?.height??window.innerHeight}}function Aa(e=No().width){let t=ci(e);return Math.max(t,e-yc(e)-t)}function jd(e="right"){let{width:t}=No(),n=ci(t);return{top:n,left:e==="left"?n:Aa(t)}}function bf(e,t,n){let{width:r,height:o}=No(),i=ci(r),a=n?.getBoundingClientRect(),l=0,s=o-i-l;return a&&t+Lw>a.left&&(s=a.top-Mw-l),Math.max(200,s-Math.max(0,e))}var $w={width:vf,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:on,fontSize:14,color:"var(--popmelt-thread-primary)",pointerEvents:"auto"},jw={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"6px 12px",margin:0,fontWeight:600,fontSize:12,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",lineHeight:1.2,overflow:"hidden",position:"absolute",top:4,left:4,right:4,borderRadius:10,zIndex:2},Pw={flex:1,overflowY:"auto",padding:"32px 12px 112px",display:"flex",flexDirection:"column",gap:32,scrollbarGutter:"stable"},zw={background:"var(--popmelt-thread-raised)",border:"1px solid var(--popmelt-thread-border)",borderRadius:16,display:"flex",flexDirection:"column",overflow:"hidden"},ea={color:"var(--popmelt-thread-primary)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,wordBreak:"break-word"},xf=16,Dw={...ea,background:"var(--popmelt-thread-control)",borderRadius:xf,boxSizing:"border-box",color:"var(--popmelt-thread-muted-strong)",maxWidth:"100%",padding:12,width:"fit-content"};function Ma(e){return Rd(e)}function Ow({patterns:e}){let[t,n]=$(!1);return C("div",{style:{marginTop:2},children:[C("button",{type:"button","aria-expanded":t,onClick:()=>n(r=>!r),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-secondary)",cursor:"pointer",display:"inline-flex",fontFamily:on,fontSize:12,gap:2,lineHeight:1,padding:0,textAlign:"left"},children:[C("span",{children:["Model details \xB7 ",e.length]}),u(Wi,{"aria-hidden":"true",color:"var(--popmelt-thread-muted)",size:14,strokeWidth:1.5,style:{transform:t?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),t&&u("div",{style:{display:"flex",flexDirection:"column",gap:4,marginTop:8},children:e.map((r,o)=>C("div",{style:{background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:12,padding:16},children:[C("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[C("div",{style:{alignItems:"center",display:"flex",gap:8},children:[u(sl,{"aria-hidden":"true",color:"#e51a1a",size:16,strokeWidth:1.5,style:{flexShrink:0}}),u("strong",{style:{color:"var(--popmelt-thread-primary)",fontSize:14,fontWeight:500,letterSpacing:"0.14px",lineHeight:1.3},children:r.element})]}),u("div",{style:{padding:"0 7px"},children:u("div",{style:{alignItems:"center",borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,padding:"6px 16px 8px"},children:r.decision})})]}),u("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,letterSpacing:"0.12px",lineHeight:1.3},children:r.reason})]},`${r.category}:${r.element}:${o}`))})]})}function Hw({memoryReview:e}){let[t,n]=$(!1),r=(e.acceptedTruth?.decisions.length??0)+e.packets.length;return C("div",{children:[C("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:on,fontSize:12,gap:4,padding:0,textAlign:"left"},children:[C("span",{children:["Decision history \xB7 ",r]}),u(Hs,{"aria-hidden":"true",size:12,strokeWidth:1.5,style:{transform:t?"rotate(90deg)":"none",transition:"transform 120ms ease"}})]}),t&&C("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=>C("div",{children:[u("div",{children:o.claim}),C("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=>C("div",{style:{color:"#92400e"},children:["Conflict: ",o.unresolvedQuestion]},o.id)),e.packets.map(o=>C("div",{children:[u("div",{children:o.claim}),C("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)&&u("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11},children:"More relevant history is available."})]})]})}function Ra(e){let t=new Date(e),n=new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",hour12:!0}).formatToParts(t),r=n.find(p=>p.type==="hour")?.value??"",o=String(Number.parseInt(r,10)||0),i=n.find(p=>p.type==="minute")?.value??"00",a=(n.find(p=>p.type==="dayPeriod")?.value??"").toUpperCase(),l=`${o}:${i}${a}`,s=`${o}:${i}${a?` ${a}`:""}`,d=new Date;if(t.getFullYear()===d.getFullYear()&&t.getMonth()===d.getMonth()&&t.getDate()===d.getDate())return l;let c=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()),f=Date.UTC(d.getFullYear(),d.getMonth(),d.getDate());return Math.floor((f-c)/864e5)>=7?`${new Intl.DateTimeFormat(void 0,{month:"numeric",day:"numeric",year:"2-digit"}).format(t)}, ${s}`:`${new Intl.DateTimeFormat(void 0,{weekday:"long"}).format(t)}, ${l}`}var Nw=250;function _w({color:e}){let[t,n]=$(0);return _(()=>{let r=setInterval(()=>n(o=>(o+1)%2),Nw);return()=>clearInterval(r)},[]),C("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[u("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0,opacity:.6},children:t===1?C(it,{children:[u("circle",{cx:"7",cy:"7",r:"2"}),u("circle",{cx:"17",cy:"7",r:"2"}),u("circle",{cx:"7",cy:"17",r:"2"}),u("circle",{cx:"17",cy:"17",r:"2"})]}):C(it,{children:[u("circle",{cx:"12",cy:"6",r:"2"}),u("circle",{cx:"6",cy:"12",r:"2"}),u("circle",{cx:"18",cy:"12",r:"2"}),u("circle",{cx:"12",cy:"18",r:"2"})]})}),u("span",{style:{fontSize:14,color:"var(--popmelt-thread-muted-strong)"},children:"Thinking"})]})}var wf=32,Pd=80,Fw=xf/2,Ww={width:wf,height:wf,objectFit:"cover",cursor:"pointer",border:"1px solid var(--popmelt-thread-hairline)"},mi={...Ww,borderRadius:Fw,height:Pd,width:Pd};function Jw(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],l=i.index+i[0].length,s=o+1<n.length?n[o+1].index:e.length,d=e.slice(l,s).trim();r.push({route:a,text:d})}return r}function qw(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 uo(e,t){return/^(?:blob:|data:|https?:\/\/)/.test(t)?t:`${e}${t}`}function Bw(e,t){let n=[];if(e.imageUrls)for(let[,r]of Object.entries(e.imageUrls))for(let o of r)n.push({url:uo(t,o),label:"pasted image"});return n}function Yw({src:e,onClose:t}){return _(()=>{let n=r=>{r.key==="Escape"&&(r.stopPropagation(),t())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t]),u("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:u(co,{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 Sf({src:e,onLightbox:t}){return u("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:u(co,{src:e,alt:"Generated image preview",style:{borderRadius:8,display:"block",maxHeight:240,maxWidth:"100%",objectFit:"contain"}})})}function Uw(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?Kw(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 Kw(e){let t=e.split(`
|
|
217
|
-
`)[0].trim();return t.length<=60?t:t.slice(0,57)+"\u2026"}var Xw={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 If({orientation:e}){let t=e.snapshot.update??e.snapshot.seeking??e.snapshot.nextObservation;return C("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:[C("span",{children:[u("span",{style:{color:"var(--popmelt-thread-primary)",fontWeight:550},children:Xw[e.transition]})," \xB7 ",e.snapshot.focus]}),t&&t!==e.snapshot.focus&&u("span",{style:{opacity:.72},children:t})]})}function Vw(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=Uw(n),o=String(n.data.tool||""),i=n.data.file?String(n.data.file):null,a=n.data.content?String(n.data.content):null,l=i??a??void 0;if(r){let s=t[t.length-1];s&&s.kind==="tool_group"&&s.tool===o?s.items.push({label:r,detail:l,...i?{filePath:i}:{}}):t.push({kind:"tool_group",tool:o,items:[{label:r,detail:l,...i?{filePath:i}:{}}]})}if(a&&i){let s=i.includes(".")?`.${i.split(".").pop().toLowerCase()}`:"",d=i.includes(".claude/plans/");t.push({kind:"file_content",file:i,content:a,ext:s,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 Qw({file:e,content:t,ext:n,isPlan:r,onAccept:o}){let[i,a]=$(r),l=e.split("/").pop()??e;return C("div",{style:{margin:"4px 0 4px 12px",border:"1px solid var(--popmelt-thread-hairline)",backgroundColor:"var(--popmelt-thread-raised)",fontSize:11},children:[C("div",{onClick:()=>a(s=>!s),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:[u("span",{style:{fontSize:9,color:"var(--popmelt-thread-muted)"},children:i?"\u25BC":"\u25B6"}),u("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:l}),r&&u("span",{style:{fontSize:9,color:"#6366f1",fontFamily:"inherit"},children:"plan"})]}),i&&C(it,{children:[u("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"?Or(t):u("pre",{style:{margin:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"pre-wrap"},children:t})}),r&&o&&u("div",{style:{padding:"4px 8px",borderTop:"1px solid var(--popmelt-thread-soft-hairline)",display:"flex",justifyContent:"flex-end"},children:u("button",{onClick:s=>{s.stopPropagation(),o()},style:{background:"#111",color:"#fff",border:"none",padding:"4px 12px",fontSize:11,cursor:"pointer",fontFamily:"inherit"},children:"Accept"})})]})]})}function Gw(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 kf(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 Nl(e){let t=e.filePath??e.detail;return t&&(t.startsWith("/")||/^[A-Za-z]:[\\/]/.test(t))?t:void 0}function Zw(e,t){return(e==="Read"||e==="Edit"||e==="Write")&&t.some(n=>Nl(n))?t.filter(n=>Nl(n)).filter((n,r,o)=>o.findIndex(i=>Nl(i)===Nl(n))===r):t}function Ef(e){return ww(e.map(t=>({...t,items:Zw(t.tool,t.items)})))}function _l(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 l=i.getBoundingClientRect(),s=Math.max(0,Math.floor(o.top-l.bottom-16));t.style.setProperty("--popmelt-tool-receipt-max-height",`${s}px`)}else t.style.removeProperty("--popmelt-tool-receipt-max-height");t.dataset.ready="true",requestAnimationFrame(()=>{a&&La(a)})}function La(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 Tf({receipt:e,animateCount:t=!1}){let n=e.kind==="terminal"?bu:e.kind==="pencil"?xu:e.kind==="image"?Ig:kg,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(d=>`${d.tool} (${d.items.length})`).join(", "),i=q(null),a=q(null),l=q(null),s=q(0);return _(()=>{let d=s.current;if(d===e.count)return;s.current=e.count;let c=i.current,f=a.current;if(!c)return;let p=typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;c.getAnimations().forEach(h=>h.cancel()),f?.getAnimations().forEach(h=>h.cancel()),!(p||!Sw(t,d,e.count))&&(c.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"}),f&&f.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]),_(()=>{let d=l.current;if(!d)return;let c=requestAnimationFrame(()=>{let f=d.querySelector("[data-popmelt-tool-receipt-scroll]");f&&La(f)});return()=>cancelAnimationFrame(c)},[e]),C("span",{"data-popmelt-tool-receipt-trigger":!0,onMouseEnter:d=>_l(d.currentTarget,l.current),onFocusCapture:d=>_l(d.currentTarget,l.current),style:{display:"inline-flex",flexShrink:0,position:"relative"},children:[C("button",{ref:i,type:"button","aria-label":`Inspect tool activity: ${o}`,style:{alignItems:"center",background:"transparent",border:0,color:"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:[u(n,{"aria-hidden":"true",color:"currentColor","data-popmelt-tool-receipt-icon":!0,size:14,strokeWidth:1.5}),e.count>1&&C("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:on,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"]})]}),C("span",{ref: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:[C("span",{"data-popmelt-tool-receipt-scroll":!0,onScroll:d=>La(d.currentTarget),style:{display:"flex",flexDirection:"column",gap:8,maxHeight:"var(--popmelt-tool-receipt-max-height, 190px)",overflowY:"auto",padding:"14px 15px"},children:[C("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:6,lineHeight:1.3,opacity:.65},children:[u(n,{"aria-hidden":"true",color:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),u("span",{children:r})]}),e.groups.map(d=>C("span",{style:{display:"flex",flexDirection:"column",gap:7,padding:"6px 0"},children:[C("span",{style:{fontSize:11,fontWeight:500,lineHeight:1.3,opacity:.65},children:[d.tool," \xB7 ",d.items.length]}),d.items.map((c,f)=>u("span",{style:{fontSize:14,fontWeight:400,lineHeight:1.3,whiteSpace:"normal"},children:c.label},`${c.label}-${f}`))]},d.tool))]}),u("span",{"data-popmelt-tool-receipt-scrim":"top","aria-hidden":"true"}),u("span",{"data-popmelt-tool-receipt-scrim":"bottom","aria-hidden":"true"})]})]})}function Cf(e){let t=new Map;for(let n of e)t.has(n.id)||t.set(n.id,n);return[...t.values()]}function eS(e){let t=Cf(e.flatMap(n=>n.type!=="imprint_used"?[]:n.data.usage?.explanations??[]));return t.length>0?{updated:!1,explanations:t}:void 0}function tS(e,t){let n=new Map(t.flatMap(s=>s.imprintContext?[[s.jobId,s.imprintContext]]:[])),r=[],o,i,a=!1;for(let s of e){let d=s.imprintSummary;if(d){a=!0,o=d.title,i=d.detail;for(let p of d.changes)r.push({id:p.explanationId,statement:p.statement,state:p.state})}let c=n.get(s.jobId),f=new Set([...s.imprintUsedExplanationIds??[],...s.imprintAppliedExplanationIds??[],...s.imprintRecognition?[s.imprintRecognition.explanationId]:[]]);for(let p of f){let h=c?.explanations.find(g=>g.id===p);h?r.push(h):s.imprintRecognition?.explanationId===p&&r.push({id:p,kind:"pattern",statement:s.imprintRecognition.statement,state:"grounded",scope:{kind:"project",values:[]}})}}let l=Cf(r);if(!(!a&&l.length===0))return{updated:a,title:o,detail:i,explanations:l}}function nS(e){return e==="testing"||e==="emerging"?"Emerging":e.charAt(0).toUpperCase()+e.slice(1)}function Af(e){return e?e.charAt(0).toUpperCase()+e.slice(1):void 0}function Mf({receipt:e,accentColor:t}){let n=e.updated?"Imprint updated":"Imprint used",r=q(null);return _(()=>{let o=r.current;if(!o)return;let i=requestAnimationFrame(()=>{let a=o.querySelector("[data-popmelt-tool-receipt-scroll]");a&&La(a)});return()=>cancelAnimationFrame(i)},[e]),C("span",{"data-popmelt-tool-receipt-trigger":!0,onMouseEnter:o=>_l(o.currentTarget,r.current),onFocusCapture:o=>_l(o.currentTarget,r.current),style:{display:"inline-flex",flexShrink:0,position:"relative"},children:[u("button",{type:"button","aria-label":`Inspect ${n.toLowerCase()}`,style:{alignItems:"center",background:"transparent",border:0,color:e.updated?t:"var(--popmelt-thread-muted)",cursor:"pointer",display:"inline-flex",flexShrink:0,height:18,justifyContent:"center",padding:0,transition:"color 100ms ease",width:18},children:u(lo,{"aria-hidden":"true",color:"currentColor",size:14,strokeWidth:1.5})}),C("span",{ref:r,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:[C("span",{"data-popmelt-tool-receipt-scroll":!0,onScroll:o=>La(o.currentTarget),style:{display:"flex",flexDirection:"column",gap:8,maxHeight:"var(--popmelt-tool-receipt-max-height, 190px)",overflowY:"auto",padding:"14px 15px"},children:[C("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:6,lineHeight:1.3,opacity:.65},children:[u(lo,{"aria-hidden":"true",color:e.updated?t:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),u("span",{children:n})]}),e.title&&u("span",{style:{fontSize:14,fontWeight:500,lineHeight:1.3},children:e.title}),e.detail&&u("span",{style:{fontSize:12,fontWeight:400,lineHeight:1.45,opacity:.72},children:e.detail}),e.explanations.map(o=>C("span",{style:{display:"flex",flexDirection:"column",gap:7,padding:"6px 0"},children:[C("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:4,lineHeight:1.3,opacity:.65},children:[u("span",{children:nS(o.state)}),Af(o.kind)&&u("span",{style:{opacity:.72},children:Af(o.kind)})]}),u("span",{style:{fontSize:14,fontWeight:400,lineHeight:1.3,whiteSpace:"normal"},children:o.statement}),o.scope?.values.length?u("span",{style:{fontSize:11,fontWeight:400,lineHeight:1.3,opacity:.5},children:o.scope.values.join(" \xB7 ")}):null]},o.id))]}),u("span",{"data-popmelt-tool-receipt-scrim":"top","aria-hidden":"true"}),u("span",{"data-popmelt-tool-receipt-scrim":"bottom","aria-hidden":"true"})]})]})}function rS({summary:e,accentColor:t,busy:n,onAction:r}){let o=!!e.resolvedAction,[i,a]=$(!!(e.grounding&&!o)),l={...Td,cursor:n?"default":"pointer",fontFamily:on};return C("div",{style:df,children:[C("button",{type:"button","aria-expanded":i,onClick:()=>a(s=>!s),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"flex",fontFamily:on,fontSize:14,fontWeight:650,gap:8,padding:0,textAlign:"left",width:"100%"},children:[u(lo,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),C("span",{style:{flex:1},children:["Imprint ",e.kind,": ",e.title]}),u(Wi,{"aria-hidden":"true",size:14,strokeWidth:1.5,style:{transform:i?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),i&&C(it,{children:[C("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?C("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(s=>C("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,lineHeight:1.35},children:[u("div",{children:s.statement}),C("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:10,marginTop:2},children:[s.action," \xB7 ",s.state]})]},`${s.explanationId}:${s.action}`)),e.grounding&&!o&&u("div",{style:{color:"var(--popmelt-thread-primary)",fontSize:13,lineHeight:1.35,marginTop:2},children:e.grounding.question}),o?C("div",{style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:11,gap:6},children:[u(Lo,{"aria-hidden":"true",color:t,size:12,strokeWidth:2}),e.resolvedAction==="no"?"Correction requested":`Feedback applied: ${e.resolvedAction==="yes"?"Yes":"This time"}`]}):e.grounding?C("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[u("button",{disabled:n,onClick:()=>r("yes"),style:l,children:"Yes"}),u("button",{disabled:n,onClick:()=>r("this_time"),style:l,children:"This time"}),u("button",{disabled:n,onClick:()=>r("no"),style:l,children:"No"})]}):null]})]})}function oS({receipt:e,accentColor:t}){let[n,r]=$(!0);return C("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:[C("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:on,fontSize:14,fontWeight:650,gap:8,padding:0,textAlign:"left",width:"100%"},children:[u(lo,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),C("span",{style:{flex:1},children:["Existing Imprint reapplied: ",e.title]}),u(Wi,{"aria-hidden":"true",size:14,strokeWidth:1.5,style:{transform:n?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),n&&C(it,{children:[u("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}),C("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,lineHeight:1.35},children:[u("div",{children:e.statement}),u("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:10,marginTop:2},children:"recognized \xB7 grounded"})]}),C("div",{style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:11,gap:6},children:[u(Lo,{"aria-hidden":"true",color:t,size:12,strokeWidth:2}),"Shared understanding unchanged"]})]})]})}function iS({card:e,accentColor:t,busy:n,resolved:r,superseded:o,onAction:i}){let[a,l]=$(!1),[s,d]=$(e.claim),[c,f]=$(!1),[p,h]=$(!1),[g,m]=$(!1),[x,w]=$(null),z=q(null);_(()=>{l(!1),d(e.claim),f(!1),h(!1),m(!1),w(null)},[e.claim,e.proposalId]),_(()=>{if(!a)return;let G=z.current;G&&(G.focus(),G.select(),G.style.height="auto",G.style.height=`${G.scrollHeight}px`)},[a]);let A=B(()=>{let G=s.trim();d(G||e.claim),l(!1),f(!1)},[e.claim,s]),S=B(()=>{d(e.claim),l(!1),f(!1)},[e.claim]),H=s.trim()!==e.claim.trim(),R=r||o,K=e.title;return r?C("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[C("button",{type:"button","aria-expanded":g,onClick:()=>m(G=>!G),style:{alignItems:"center",alignSelf:"flex-start",background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"inline-flex",fontFamily:on,fontSize:14,fontWeight:400,gap:6,letterSpacing:"0.14px",lineHeight:1.35,padding:0,textAlign:"left"},children:[u(lo,{"aria-hidden":"true",color:t,size:14,strokeWidth:1.5}),C("span",{style:{alignItems:"center",display:"inline-flex",gap:2},children:[u("span",{children:K}),u(Wi,{"aria-hidden":"true",size:12,strokeWidth:1.5,style:{transform:g?"rotate(180deg)":"rotate(0deg)",transition:"transform 120ms ease"}})]})]}),g&&C(it,{children:[u("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:s}),u("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?C("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35},children:["Scope: ",e.scope]}):null]})]}):C("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:[C("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:14,fontWeight:600,gap:8,letterSpacing:"0.14px",lineHeight:1.3},children:[u(lo,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),u("span",{children:K})]}),a&&!R?u("textarea",{ref:z,value:s,disabled:n,onChange:G=>{d(G.target.value),G.currentTarget.style.height="auto",G.currentTarget.style.height=`${G.currentTarget.scrollHeight}px`},onBlur:A,onKeyDown:G=>{G.key==="Enter"&&!G.shiftKey?(G.preventDefault(),A()):G.key==="Escape"&&(G.preventDefault(),G.stopPropagation(),S())},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:on,fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"0 7px",padding:"6px 16px 8px",width:"calc(100% - 14px)"}}):u("button",{type:"button",disabled:R||n,onClick:()=>l(!0),onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),onFocus:()=>f(!0),onBlur:()=>f(!1),style:{border:0,borderLeft:"1px solid var(--popmelt-thread-border)",background:c&&!R?"var(--popmelt-thread-soft-hairline)":"transparent",color:"var(--popmelt-thread-muted-strong)",cursor:R?"default":"text",fontFamily:on,fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"0 7px",padding:"6px 16px 8px",textAlign:"left",width:"calc(100% - 14px)"},children:s}),C("div",{style:{color:"var(--popmelt-thread-primary)",fontSize:14},children:[C("button",{type:"button","aria-expanded":p,onClick:()=>h(G=>!G),style:{alignItems:"center",border:0,background:"transparent",color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"inline-flex",gap:2,fontFamily:on,fontSize:14,fontWeight:400,letterSpacing:"0.14px",lineHeight:1.3,margin:0,opacity:p?1:.35,padding:0},children:[u("span",{children:"Why?"}),p?u(Wi,{"aria-hidden":"true",size:10,strokeWidth:2.5}):u(Hs,{"aria-hidden":"true",size:10,strokeWidth:2.5})]}),p?C(it,{children:[u("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?C("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?u("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,fontWeight:700},children:"Refined in a later review card"}):C("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)",gap:6,alignItems:"stretch"},children:[C("button",{type:"button",disabled:n,onClick:()=>i("reject"),onMouseEnter:()=>{n||w("reject")},onMouseLeave:()=>w(null),style:{...Dd,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:[u("span",{children:"Reject"}),u(dl,{"aria-hidden":"true",color:"#dd4141",size:12,strokeWidth:2.5})]}),C("button",{type:"button",disabled:n||!s.trim(),onClick:()=>i(H?"edit_and_accept":"accept",H?s.trim():void 0),onMouseEnter:()=>{!n&&s.trim()&&w("accept")},onMouseLeave:()=>w(null),style:{...zd,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||!s.trim()?.45:1,transition:"background-color 120ms ease, border-color 120ms ease"},children:[u("span",{children:H?"Adopt edited":"Adopt"}),u(Lo,{"aria-hidden":"true",color:"#61c920",size:12,strokeWidth:3})]})]})]})}function aS({stepCount:e}){return C("div",{"data-thread-interaction-episode-receipt":!0,style:{...ea,alignItems:"center",alignSelf:"flex-end",color:"var(--popmelt-thread-muted-strong)",display:"inline-flex",gap:6,paddingBlock:4},children:[u(Eg,{"aria-hidden":!0,color:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),C("span",{children:[e," recorded ",e===1?"action":"actions"," sent"]})]})}function lS({frames:e,onLightbox:t}){return e.length===0?null:u("div",{"data-thread-interaction-episode-visuals":!0,style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:e.map(n=>C("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:[u(co,{src:n.url,alt:"",style:{...mi,display:"block"}}),u("span",{style:{display:"block",fontSize:10,marginTop:2,maxWidth:Pd,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:n.label})]},n.id))})}var Rf=vg(function({msg:e,index:t,bridgeUrl:n,accentColor:r,onLightbox:o,hideSender:i=!1,hideTimestamp:a=!1,hideModelSenderUntilHover:l=!1,compactSpacing:s=!1,queuedPreview:d=!1,workedFor:c="a moment",activityTimestamp:f,memoryReviewBusy:p=!1,memoryReviewResolved:h=!1,memoryReviewSuperseded:g=!1,foldedActivityMessages:m=[],underMessageActivity:x,onMemoryReviewAction:w,onImprintAction:z}){let A=e.role==="human",S=Pr(Za),H=e.authorPeer?e.authorPeer.id===S?.participantId?"You":e.authorPeer.name==="You"?"Host":e.authorPeer.name:S&&!S.canManageThreads&&!e.jobId.startsWith("_pending_reply_")?"Host":"You",[R,K]=$(!1),G={...Dw,...d?{borderRadius:12,padding:"2px 10px",fontSize:12,lineHeight:"24px",letterSpacing:"0.12px",width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{},...s?{borderBottomRightRadius:4}:{}},N=A?e.replyToQuestion?qw(e,n):e.requestItems?.length?[]:Bw(e,n):[];if(e.cancelled||e.error){let ve=e.error?Zp(e.error,e.errorKind):null;return u("div",{"data-msg":!0,style:{padding:0},children:C("div",{style:{backgroundColor:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35,padding:16},children:[u("span",{style:{color:ve?"#f59e0b":"var(--popmelt-thread-muted-strong)"},children:ve?.label??"Cancelled"}),ve?` \u2014 ${ve.message}`:""]})},`${e.jobId}-${t}`)}let V=e.requestText||e.feedbackSummary||"(annotation)",Y=e.requestText?Ay(e.requestText):V,I=!!(A&&!e.replyToQuestion&&e.requestText&&e.requestText.trim()!==Y.trim()),X=A?e.replyToQuestion||(R?V:Y):Ma(e.responseText||""),te=(ve,$e=G)=>C("div",{style:$e,children:[ve.includes(`
|
|
218
|
-
`)?Or(ve):ve,I&&u("button",{type:"button","aria-expanded":R,onClick:()=>K(De=>!De),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:R?"Show less":"Read more"})]}),D=A?void 0:e.question,O=A?[]:(e.resolutions??[]).filter(ve=>ve.status!=="resolved"),j=O.length>0,P=!A&&e.segments&&e.segments.length>0,L=P?mf(e.segments):[],E=!!(!A&&P&&X&&!pw(e.segments,e.responseText??"")),Z=[...m,e],re=A?[]:Z.flatMap(ve=>(ve.segments??[]).filter($e=>$e.kind==="tool_group")),ee=A?[]:Z.flatMap(ve=>ve.segments?.length?[]:(ve.toolsUsed??[]).map($e=>({kind:"tool_group",tool:Gw($e),items:[{label:$e}]}))),ie=kf([...re,...ee]),U=Ef(ie),me=!!(Z.some(ve=>ve.memoryReceipt?.status==="committed")||x?.decisionRecorded),le=x?.imprintReceipt,oe=!!x?.modelUpdated,Me=U.length>0||me||oe||!!le,Te=A&&!!(e.memoryReview?.packets.length||e.memoryReview?.acceptedTruth?.decisions.length),Ce=!A&&!!(e.memoryReceipt&&e.memoryReceipt.status!=="committed"),J=!A&&(!i||!a);return!X&&!D&&!j&&!P&&!Te&&!e.memoryReviewCard&&!e.imprintSummary&&!Ce&&!Me?null:C("div",{"data-msg":!0,"data-queued-preview":d||void 0,style:{alignSelf:A?"flex-end":"stretch",display:"flex",flexDirection:"column",gap:16,marginTop:s?-24:0,padding:0,position:"relative",maxWidth:A?280:void 0,width:A?"fit-content":"auto",...d?{width:"100%",minWidth:0,maxWidth:"100%"}:{}},children:[J&&u("div",{"data-under-message-rail":l?"hover":"latest",style:{alignItems:"center",alignSelf:"stretch",display:"flex",gap:4,marginTop:l?0:16,order:2,...l?{left:0,paddingTop:7,position:"absolute",right:0,top:"100%",zIndex:1}:{},width:"100%"},children:A?C(it,{children:[!a&&u("span",{"data-message-timestamp":!0,style:{fontSize:12,fontWeight:400,color:"var(--popmelt-thread-muted)"},children:Ra(e.timestamp)}),!i&&u("span",{style:{color:r,fontSize:12,fontWeight:500,marginLeft:"auto",opacity:.55},children:H})]}):C(it,{children:[u("div",{"data-worked-for-trigger":!0,style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-muted)",cursor:"default",display:"flex",fontFamily:on,fontSize:14,padding:0,textAlign:"left"},children:C("span",{style:{display:"grid"},children:[C("span",{"data-worked-for-label":!0,style:{gridArea:"1 / 1",textAlign:"left"},children:["Worked for ",c]}),!a&&u("span",{"data-worked-for-time":!0,style:{gridArea:"1 / 1",justifySelf:"start",opacity:0,textAlign:"left"},children:Ra(f??e.timestamp)})]})}),u("div",{style:{alignItems:"center",display:"flex",marginLeft:"auto",minHeight:14},children:C("div",{"data-message-activity":!0,style:{alignItems:"center",color:"var(--popmelt-thread-muted)",display:"flex",gap:6},children:[ie.length>0&&u("div",{style:{alignItems:"center",display:"flex",gap:6},children:U.map(ve=>u(Tf,{receipt:ve},ve.kind))}),me&&u(lo,{"aria-label":"Decision recorded",color:r,size:14,strokeWidth:1.5}),oe&&u(sl,{"aria-label":"Model updated",color:"var(--popmelt-thread-muted)",size:14,strokeWidth:1.5}),le&&u(Mf,{receipt:le,accentColor:r})]})})]})}),A&&!a&&u("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,position:"absolute",right:0,top:"calc(100% + 8px)"},children:Ra(e.timestamp)}),N.length>0&&u("div",{style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:N.map((ve,$e)=>u(co,{src:ve.url,alt:ve.label||"Attached image",title:ve.label,style:mi,onClick:()=>o(ve.url)},$e))}),A&&!e.replyToQuestion&&(()=>{if(e.requestItems?.length){let De=new Set(e.requestItems.flatMap(ge=>ge.pathname?[ge.pathname]:[])).size>1,et=new Set,rt=e.screenshotUrl?uo(n,e.screenshotUrl):null;return C("div",{"data-thread-request-cluster":!0,style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:4,width:"100%"},children:[rt&&!e.screenshotUrls?u(co,{src:rt,alt:"Thread screenshot",title:"screenshot",style:{...mi,flexShrink:0},onClick:()=>o(rt)}):null,e.requestItems.map((ge,pe)=>{let Fe=ge.pathname,Be=Fe&&!et.has(Fe)?e.screenshotUrls?.[Fe]:void 0;Fe&&et.add(Fe);let st=Be?uo(n,Be):null,Ve=ge.kind==="annotation"&&ge.annotationId?e.imageUrls?.[ge.annotationId]??[]:[],ke=ge.kind==="annotation"?e.annotationSnapshot?.annotations.find(Je=>Je.id===ge.annotationId)?.interactionEpisode:void 0,Ue=Iy(ke,Ve).map(Je=>({...Je,url:uo(n,Je.url)})),mt=new Set(Ue.map(Je=>Je.imageIndex)),_t=Ve.flatMap((Je,pt)=>mt.has(pt)?[]:[uo(n,Je)]),yt=ge.kind==="annotation"?ge.interactionEpisodeStepCount??ke?.steps.length??0:0;return C(bg,{children:[st?u(co,{src:st,alt:`Screenshot for ${Fe}`,title:Fe,style:{...mi,flexShrink:0},onClick:()=>o(st)}):null,_t.length>0?u("div",{style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:_t.map((Je,pt)=>u(co,{src:Je,alt:"Attached image",title:"pasted image",style:mi,onClick:()=>o(Je)},pt))}):null,u(lS,{frames:Ue,onLightbox:o}),yt>0?u(aS,{stepCount:yt}):null,C("div",{style:{...G,minWidth:0},children:[De&&Fe?u("code",{style:{backgroundColor:"var(--popmelt-thread-soft-hairline)",display:"inline-block",fontSize:10,marginBottom:4,padding:"1px 4px"},children:Fe}):null,ge.kind==="annotation"?ge.text.includes(`
|
|
219
|
-
`)?Or(ge.text):ge.text:C(it,{children:[C("div",{style:{fontWeight:600},children:[ge.elementLabel," ",C("span",{style:{opacity:.64},children:["(",ge.changes.length," ",ge.changes.length===1?"change":"changes",")"]})]}),u("div",{style:{marginTop:6},children:ge.changes.map((Je,pt)=>u("div",{style:{marginTop:pt===0?0:3},children:Je},pt))})]})]})]},`${ge.kind}-${pe}`)})]})}let ve=X?Jw(X):null;if(ve&&e.screenshotUrls)return u("div",{style:{display:"flex",flexDirection:"column",gap:4},children:ve.map((De,et)=>{let rt=e.screenshotUrls?.[De.route],ge=rt?uo(n,rt):null;return C("div",{style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[ge?u(co,{src:ge,alt:`Screenshot for ${De.route}`,title:De.route,style:{...mi,flexShrink:0},onClick:()=>o(ge)}):null,C("div",{style:{...G,minWidth:0},children:[u("code",{style:{fontSize:10,backgroundColor:"var(--popmelt-thread-soft-hairline)",padding:"1px 4px"},children:De.route}),De.text&&u("div",{style:{marginTop:2},children:Or(De.text)})]})]},et)})});let $e=e.screenshotUrl?uo(n,e.screenshotUrl):null;return $e&&X?C("div",{style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[u(co,{src:$e,alt:"Thread screenshot",title:"screenshot",style:{...mi,flexShrink:0},onClick:()=>o($e)}),te(X,{...G,minWidth:0})]}):X?te(X):null})(),A&&e.replyToQuestion&&X&&u("div",{style:G,title:d?X:void 0,children:!d&&X.includes(`
|
|
220
|
-
`)?Or(X):X}),Te&&u(Hw,{memoryReview:e.memoryReview}),!A&&P&&L.map((ve,$e)=>{if(ve.kind==="approval")return u(cf,{approval:ve.approval},ve.approval.id);if(ve.kind==="tool_group")return null;if(ve.kind==="generated_image")return u(Sf,{src:uo(n,ve.url),onLightbox:o},$e);if(ve.kind==="orientation")return u(If,{orientation:ve.orientation},$e);if(E)return null;let De=Ma(ve.text);return De?u("div",{style:ea,children:Or(De)},$e):null}),!A&&!P&&X&&u("div",{style:ea,children:Or(X)}),!A&&E&&X&&u("div",{style:ea,children:Or(X)}),!A&&e.memoryReviewCard&&w&&u(iS,{card:e.memoryReviewCard,accentColor:r,busy:p,resolved:h,superseded:g,onAction:(ve,$e)=>w(e.memoryReviewCard,ve,$e)}),!A&&e.imprintSummary&&z&&u(rS,{summary:e.imprintSummary,accentColor:r,busy:p,onAction:ve=>z(e.imprintSummary,ve)}),!A&&e.imprintRecognition&&u(oS,{receipt:e.imprintRecognition,accentColor:r}),Ce&&e.memoryReceipt&&C("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[e.memoryReceipt.status==="committed"?u(lo,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}):u(dl,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),u("span",{style:{opacity:.5},children:e.memoryReceipt.status==="committed"?"Decision recorded":"Decision not recorded"})]}),D&&u("div",{style:ea,children:Or(D)}),j&&u("div",{style:{backgroundColor:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35,marginTop:-4,padding:16},children:O.map((ve,$e)=>C("div",{children:[u("span",{style:{color:ve.status==="resolved"?"#10b981":"#f59e0b"},children:ve.status==="resolved"?"Done":"Needs review"}),ve.summary?` \u2014 ${ve.summary}`:""]},$e))}),!A&&e.modelDetails?.length?u(Ow,{patterns:e.modelDetails}):null]},`${e.jobId}-${t}`)});function Lf(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 $f(e,t){if(!t||e.timestamp<=t.timestamp)return"a moment";let n=Ug((e.segments??[]).flatMap(s=>s.kind==="approval"?[s.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),l=o%60;return[`${a}h`,l?`${l}m`:"",i?`${i}s`:""].filter(Boolean).join(" ")}function sS(e,t){if(e.role!=="assistant"||e.cancelled||e.error)return!1;let n=Ma(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:Ma(i.text).trim().length>0),o=!!(n||e.question||e.resolutions?.length||e.memoryReviewCard||e.imprintSummary||r);return!!(e.memoryReceipt?.status==="committed"||e.toolsUsed?.length||e.segments?.some(i=>i.kind==="tool_group")||t)&&!o}function jf(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 Hr(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function Fl(e){if(e===void 0)return"undefined";try{return JSON.stringify(e)}catch{return String(e)}}function Wl(e,t){return Fl(e)===Fl(t)}function ta(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(Hr(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 dS(e,t){let n=e;for(let r of t){if(!n||typeof n!="object")return;n=n[String(r)]}return n}function Pf(e,t,n,r){if(!Hr(e)){Wl(e,t)||r.push({id:`token:${n.join(".")}`,group:"tokens",label:n.join("."),detail:ta(e),path:n,value:e,currentValue:t});return}if("value"in e){Wl(e,t)||r.push({id:`token:${n.join(".")}`,group:"tokens",label:n.join("."),detail:ta(e),path:n,value:e,currentValue:t});return}for(let o of Object.keys(e))Pf(e[o],Hr(t)?t[o]:void 0,[...n,o],r)}function cS(e,t){if(t.changes?.length)return t.changes.map(s=>{let d=s.path[0],c=d==="rules"||d==="components"||d==="tokens"?d:"model";return{id:s.id,group:c,label:s.label??s.path.map(String).join("."),detail:s.rationale,path:s.path,value:s.value,decisionIds:s.decisionIds,currentValue:dS(e,s.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 s=0;s<i.length;s++){let d=i[s];if(!Hr(d))continue;let c=typeof d.id=="string"?d.id:`rule-${s}`,f=o.find(p=>Hr(p)&&(typeof p.id=="string"&&p.id===c||Fl(p)===Fl(d)));Wl(f,d)||r.push({id:`rule:${c}`,group:"rules",label:typeof d.scope=="string"?d.scope:"rule",detail:typeof d.text=="string"?d.text:ta(d),path:["rules"],value:d,currentValue:f,ruleValue:d})}let a=Hr(n.components)?n.components:{},l=Hr(e?.components)?e.components:{};for(let s of Object.keys(a)){let d=a[s],c=l[s];Wl(d,c)||r.push({id:`component:${s}`,group:"components",label:s,detail:ta(d),path:["components",s],value:d,currentValue:c})}return Hr(n.tokens)&&Pf(n.tokens,e?.tokens,["tokens"],r),r}function uS(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 l of o){let s=l.ruleValue,d=Hr(s)&&typeof s.id=="string"?s.id:null,c=d?a.findIndex(f=>Hr(f)&&f.id===d):-1;c>=0?a[c]=s:a.push(s)}i.push({path:["rules"],value:a,decisionIds:[...new Set(o.flatMap(l=>l.decisionIds??[]))]})}return i}function pS(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??ta(t.value),path:t.path??[],value:t.value,currentValue:t.currentValue}]})}function fS({proposal:e,timestamp:t,bridgeUrl:n,accentColor:r,busy:o,onApplySelected:i,onDismiss:a,onReviewUnderlying:l,hideModelSenderUntilHover:s=!1}){let d=e.authorityStatus==="accepted",c=e.status==="pending"&&d,[f,p]=$(null),[h,g]=$(()=>new Set),[m,x]=$(null),w=Se(()=>{let Y=pS(e);return!c&&Y.length>0?Y:cS(f,e)},[f,c,e]),z=Se(()=>uS(f,w,h),[w,f,h]),A=Se(()=>w.filter(Y=>h.has(Y.id)),[w,h]),S=Se(()=>{let Y={rules:[],components:[],tokens:[],model:[]};for(let I of w)Y[I.group].push(I);return Y},[w]),H=w.map(Y=>Y.id).join("|");_(()=>{let Y=!1;return Kt(`${n}/model`).then(I=>I.ok?I.json():null).then(I=>{Y||p(I?.model&&typeof I.model=="object"?I.model:null)}).catch(()=>{Y||p(null)}),()=>{Y=!0}},[n,e.id]),_(()=>{g(c&&H?new Set(H.split("|")):new Set)},[H,c,e.id]);let R=B(Y=>{g(I=>{let X=new Set(I);return X.has(Y)?X.delete(Y):X.add(Y),X})},[]),K=B(()=>{g(new Set(w.map(Y=>Y.id)))},[w]),G=B(()=>{g(new Set)},[]),N=`${w.length} ${w.length===1?"change":"changes"}`,V=w.length===1?`1 ${w[0]?.group==="rules"?"rule":w[0]?.group==="components"?"component":w[0]?.group==="tokens"?"token":"change"}`:N;return e.status==="applied"?C("div",{"data-msg":!0,style:{display:"flex",flexDirection:"column",gap:16,position:"relative"},children:[C("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[C("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[u(lo,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),u("span",{style:{opacity:.5},children:"Decision recorded"})]}),C("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[u(sl,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),u("span",{style:{opacity:.5},children:"Model updated"})]})]}),C("div",{style:{alignItems:"center",display:"flex",gap:4,marginTop:s?0:16,...s?{left:0,position:"absolute",right:0,top:"calc(100% + 7px)",zIndex:1}:{}},children:[C("span",{"data-model-sender":"sender",style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:12,fontWeight:500,gap:4},children:[u(Rc,{provider:e.provider,size:12,style:{color:"var(--popmelt-thread-muted-strong)"}}),u("span",{children:Lc(e.model,e.provider)})]}),u("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,marginLeft:"auto"},children:Ra(t)})]})]}):C("div",{"data-msg":!0,style:{display:"flex",flexDirection:"column",gap:16,position:"relative"},children:[C("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"?C("div",{style:{alignItems:"center",display:"flex",gap:6,opacity:.45},children:[u(dl,{"aria-hidden":"true",size:16,strokeWidth:2.5}),u("span",{style:{fontSize:14,fontWeight:600},children:"Model suggestion dismissed"})]}):C("div",{style:{alignItems:"center",display:"flex",gap:8},children:[u(sl,{"aria-hidden":"true",color:r,size:16,strokeWidth:2}),u("span",{style:{fontSize:14,fontWeight:600},children:"Model suggestion"})]}),e.status==="pending"&&d&&w.length>0&&C("div",{style:{alignItems:"center",display:"flex",fontSize:14,lineHeight:1.35,marginTop:4},children:[u("span",{style:{fontWeight:600},children:V}),C("div",{style:{display:"flex",gap:12,marginLeft:"auto"},children:[u("button",{type:"button",disabled:o,onClick:K,style:{background:"transparent",border:0,cursor:"pointer",fontFamily:on,fontSize:12,fontWeight:600,color:"var(--popmelt-thread-muted-strong)",padding:0},children:"Select all"}),u("button",{type:"button",disabled:o,onClick:G,style:{background:"transparent",border:0,cursor:"pointer",fontFamily:on,fontSize:12,fontWeight:600,color:"var(--popmelt-thread-muted-strong)",padding:0},children:"Clear"})]})]}),e.status==="pending"&&u(it,{children:w.length>0?u("div",{style:{display:"flex",flexDirection:"column",gap:8,marginTop:4},children:["rules","components","tokens","model"].flatMap(Y=>S[Y]).map(Y=>{let I=h.has(Y.id);return C("label",{style:{alignItems:"start",color:c&&!I?"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&&u("input",{type:"checkbox",checked:I,disabled:o,onChange:()=>R(Y.id),style:{WebkitAppearance:"none",appearance:"none",margin:"1px 0 0",width:14,height:14,backgroundColor:I?r:"transparent",border:`1px solid ${I?r:"rgba(0,0,0,0.34)"}`,boxSizing:"border-box",cursor:o?"default":"pointer"}}),C("span",{style:{minWidth:0},children:[u("span",{style:{fontWeight:700},children:Y.label}),C("span",{children:[" \u2014 ",Y.detail]}),Y.currentValue!==void 0&&C("span",{style:{display:"block",marginTop:2,opacity:.5},children:["was ",ta(Y.currentValue)]})]})]},Y.id)})}):u("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"&&u("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:u("strong",{children:"A competing product decision is pending"})}),e.status==="pending"&&d&&C("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[C("button",{type:"button",disabled:o,onClick:a,onMouseEnter:()=>{o||x("reject")},onMouseLeave:()=>x(null),style:{...Dd,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:[u("span",{children:"Reject"}),u(dl,{"aria-hidden":"true",color:"#dd4141",size:12,strokeWidth:2.5})]}),C("button",{type:"button",disabled:o||z.length===0,onClick:()=>i(e,z,A),onMouseEnter:()=>{!o&&z.length>0&&x("confirm")},onMouseLeave:()=>x(null),style:{...zd,alignItems:"center",display:"flex",fontSize:12,background:m==="confirm"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderColor:m==="confirm"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",color:"var(--popmelt-thread-on-action)",justifyContent:"space-between",padding:"8px 12px",opacity:o||z.length===0?.45:1,cursor:o||z.length===0?"not-allowed":"pointer",transition:"background-color 120ms ease, border-color 120ms ease"},children:[u("span",{children:"Confirm"}),u(Lo,{"aria-hidden":"true",color:"#61c920",size:12,strokeWidth:3})]})]}),e.status==="pending"&&!d&&C("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[u("button",{type:"button",disabled:o,onClick:a,style:Dd,children:"Dismiss"}),u("button",{type:"button",disabled:o||!e.underlyingProposalId,onClick:l,style:{...zd,opacity:e.underlyingProposalId?1:.45},children:"Review decision"})]})]}),C("div",{style:{alignItems:"center",display:"flex",gap:4,marginTop:s?0:16,...s?{left:0,position:"absolute",right:0,top:"calc(100% + 7px)",zIndex:1}:{}},children:[C("span",{"data-model-sender":"sender",style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:12,fontWeight:500,gap:4},children:[u(Rc,{provider:e.provider,size:12,style:{color:"var(--popmelt-thread-muted-strong)"}}),u("span",{children:Lc(e.model,e.provider)})]}),u("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,marginLeft:"auto"},children:Ra(t)})]})]})}var zd={border:"1px solid var(--popmelt-thread-action)",borderRadius:24,background:"var(--popmelt-thread-action)",color:"var(--popmelt-thread-on-action)",cursor:"pointer",fontFamily:on,fontSize:12,fontWeight:700,padding:"6px 8px"},Dd={border:"1px solid var(--popmelt-thread-border)",borderRadius:16,background:"transparent",color:"var(--popmelt-thread-secondary)",cursor:"pointer",fontFamily:on,fontSize:12,fontWeight:700,padding:"6px 8px"};function hS({onAttentionChange:e,threadId:t,bridgeUrl:n,accentColor:r,initialMessages:o=[],completedJobId:i,refreshKey:a,isStreaming:l,isQueued:s,queuePosition:d,activeJobId:c,streamingEvents:f,onClose:p,onReply:h,onContribute:g,onApproveSuggestion:m,onCancel:x,canManage:w=!0,readOnlyReason:z,lastError:A,onMouseEnter:S,temporarilyHidden:H=!1,instantVisibilityHandoff:R=!1,backdropCursor:K,toolbarRef:G,surfaceRef:N,currentModel:V,currentProvider:Y,availableProviders:I=[],models:X=[],modelIndex:te=0,agentSettings:D,onProviderChange:O,onModelChange:j,onAgentSettingsChange:P,onModelMenuOpen:L,annotationNumber:E,annotationText:Z,onPreviousThread:re,onNextThread:ee,preferredSide:ie="right",modal:U=!0}){let[me,,le]=Rs(),oe=Ls[me],Me={"--popmelt-thread-surface":oe.surface,"--popmelt-thread-raised":oe.raisedSurface,"--popmelt-thread-soft":oe.softSurface,"--popmelt-thread-control":oe.control,"--popmelt-thread-primary":oe.threadPrimary,"--popmelt-thread-secondary":oe.secondary,"--popmelt-thread-muted":oe.muted,"--popmelt-thread-muted-strong":oe.mutedStrong,"--popmelt-thread-border":oe.border,"--popmelt-thread-hairline":oe.hairline,"--popmelt-thread-soft-hairline":oe.softHairline,"--popmelt-thread-action":oe.actionSurface,"--popmelt-thread-on-action":oe.actionForeground,"--popmelt-thread-action-hover":oe.actionHover},[Te,Ce]=$(()=>o),[J,ve]=$(),$e=Pr(Za),De=(J&&$e?.peerColors?.[J.authorId])??r,et=$e?.onThreadViewed;_(()=>{J!==void 0&&!H&&et?.(t)},[et,J,H,t]);let[rt,ge]=$(!1),[pe,Fe]=$(""),Be=J?.state==="pending",st=J===void 0?void 0:Be?g:J&&J.state!=="sent"?void 0:h,[Ve,ke]=$([]);_(()=>(e?.(!H&&Ve.length?{threadId:t,targets:Ve}:null),()=>e?.(null)),[e,H,t,Ve]);let Ue=Se(()=>yw(Z,Te),[Z,Te]),[mt,_t]=$([]),[yt,Je]=$(!1),[pt,kn]=$(!1),Xt=Gx({bridgeUrl:n,threadId:t,visible:!H,active:!!l,onPendingChange:kn}),[En,Ft]=$(o.length===0),Ne=q(null);Ne.current||(Ne.current=mw(t));let[ft,dt]=$(()=>Ne.current.text),[y,se]=$([]),[be,Ke]=$(!1),[bt,ze]=$(!1),wt=q(null),Qe=q(null),gt=q(null),xe=q(null),Pe=q(!1),at=q(!1),vt=q(!1),lt=q(!1),Xe=q({selectionStart:Ne.current.selectionStart,selectionEnd:Ne.current.selectionEnd,selectionDirection:Ne.current.selectionDirection}),[en,qe]=$(!0),[Dn,bn]=$(null),qt=B(M=>bn(M),[]),tn=q(null),cr=q(!0),xt=q(null),On=q(0),nn=q(null),Qn=B((M,F)=>{let ye=M&&F.trim();tn.current&&(tn.current.style.opacity=ye?"0.65":"1")},[]),Bt=q(null),Nr=q(null),Vt=B(M=>{Nr.current=M,N?.(M)},[N]),Gn=q(null),po=q(l),sn=q(c),Hn=q(null);_(()=>{Ld(t,ft,void 0,Xe.current)},[ft,t]),Tt(()=>{let M=Bt.current,F=Ne.current;!M||!F||F.text.length===0||M.setSelectionRange(F.selectionStart,F.selectionEnd,F.selectionDirection)},[]);let an=B(()=>{wt.current&&(clearTimeout(wt.current),wt.current=null)},[]),Ct=B(()=>{Qe.current&&(clearTimeout(Qe.current),Qe.current=null)},[]),zt=B(()=>{gt.current&&(clearTimeout(gt.current),gt.current=null),xe.current!==null&&(cancelAnimationFrame(xe.current),xe.current=null)},[]),Yt=B(()=>{L?.(),zt(),ze(!0),xe.current=requestAnimationFrame(()=>{xe.current=null,Ke(!0)})},[zt,L]),ur=B(()=>{zt(),Ke(!1),gt.current=setTimeout(()=>{gt.current=null,ze(!1)},Tw)},[zt]),Nn=B(()=>{an(),Ct(),Pe.current=!1,at.current=!1,vt.current=!1,ur()},[Ct,an,ur]),_n=B(()=>{Ct(),an(),wt.current=setTimeout(()=>{wt.current=null,Pe.current&&Yt()},kw)},[Ct,an,Yt]),_r=B(()=>{an(),Ct(),!vt.current&&(Qe.current=setTimeout(()=>{Qe.current=null,!Pe.current&&!at.current&&!vt.current&&ur()},Ew))},[Ct,an,ur]),gi=B(M=>{vt.current=M,M?Ct():!Pe.current&&!at.current&&_r()},[Ct,_r]);_(()=>()=>{an(),Ct(),zt()},[Ct,zt,an]);let Wt=q(jd(ie)),xn=q({x:0,y:0}),Fr=q(!1),Fn=q({x:0,y:0,offsetX:0,offsetY:0}),Tn=q(ie==="right"),[,dn]=$(0),pr=`${Rw}:${ie}`;_(()=>{try{let M=localStorage.getItem(pr);if(M){let F=JSON.parse(M);if(typeof F.top=="number"&&typeof F.left=="number"){let{width:ye,height:Ae}=No(),Ee=ci(ye),He=Aa(ye),tt={top:Math.max(Ee,Math.min(F.top,Ae-Ee-200)),left:Math.max(Ee,Math.min(F.left,He))};Tn.current=tt.left>=He-2,Wt.current=tt,dn(nt=>nt+1)}}}catch{}},[pr]),_(()=>{let M=()=>{if(Tn.current)Wt.current=jd(ie);else{let F=Wt.current,{width:ye,height:Ae}=No(),Ee=ci(ye),He=Aa(ye);Wt.current={top:Math.max(Ee,Math.min(F.top,Ae-Ee-200)),left:Math.max(Ee,Math.min(F.left,He))}}dn(F=>F+1)};return window.addEventListener("resize",M,{passive:!0}),window.visualViewport?.addEventListener("resize",M,{passive:!0}),()=>{window.removeEventListener("resize",M),window.visualViewport?.removeEventListener("resize",M)}},[ie]),_(()=>{let M=Gn.current;if(!M)return;let F=He=>{gc(No().width)||He.button!==0||He.target.closest("button")||(He.preventDefault(),He.stopPropagation(),Fr.current=!0,Fn.current={x:He.clientX,y:He.clientY,offsetX:xn.current.x,offsetY:xn.current.y})},ye=He=>{if(!Fr.current)return;let tt=Fn.current,nt=tt.offsetX+(He.clientX-tt.x),je=tt.offsetY+(He.clientY-tt.y),{width:Gt}=No(),Yr=ci(Gt),gr=Math.max(Yr,Math.min(Aa(Gt),Wt.current.left+nt)),yr=Math.max(Yr,Wt.current.top+je);xn.current={x:gr-Wt.current.left,y:yr-Wt.current.top};let vr=Nr.current;vr&&(vr.style.top=`${yr}px`,vr.style.left=`${gr}px`,vr.style.height=`${bf(yr,gr,G?.current)}px`)},Ae=()=>{if(!Fr.current)return;let He=Wt.current.top+xn.current.y,tt=Wt.current.left+xn.current.x;Wt.current={top:He,left:tt},xn.current={x:0,y:0};let nt=Aa();Tn.current=tt>=nt-2;try{localStorage.setItem(pr,JSON.stringify({top:He,left:tt}))}catch{}Fr.current=!1},Ee=()=>{Wt.current=jd(ie),xn.current={x:0,y:0},Tn.current=ie==="right";try{localStorage.removeItem(pr)}catch{}dn(He=>He+1)};return M.addEventListener("mousedown",F),window.addEventListener("mousemove",ye),window.addEventListener("mouseup",Ae),M.addEventListener("dblclick",Ee),()=>{M.removeEventListener("mousedown",F),window.removeEventListener("mousemove",ye),window.removeEventListener("mouseup",Ae),M.removeEventListener("dblclick",Ee)}},[pr,ie,G]);let jt=B(async M=>{try{let F=await Kt(`${n}/thread/${t}`);if(!F.ok)throw new Error(`Thread fetch failed: ${F.status}`);let ye=await F.json(),Ae=ye.messages??[];ve(ye.suggestion??null);let Ee=Nh(ye,location.pathname);ke(je=>JSON.stringify(je)===JSON.stringify(Ee)?je:Ee);let He=M?.settleJobId,tt=_h(Ae,He);(tt||M?.applyUnsettled)&&Ce(je=>Ae.length===0&&je.length>0?je:Ae);let nt=Array.isArray(ye.modelProposals)?ye.modelProposals:ye.modelProposal?[ye.modelProposal]:[];return(tt||M?.applyUnsettled)&&_t(nt),Ft(!1),{messages:Ae,settled:tt}}catch{return Ft(!1),null}},[n,t]),Fo=B(async(M,F)=>{if(!yt){Je(!0);try{let ye=await Kt(`${n}/projection/proposals/${encodeURIComponent(M.id)}/${F}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:Y,model:V,...D})});if(ye.ok){let Ae=await ye.json();Ae.proposal&&_t(Ee=>Ee.map(He=>He.id===Ae.proposal.id?Ae.proposal:He)),await jt()}}finally{Je(!1)}}},[D,n,V,Y,jt,yt]);_(()=>{a&&jt({applyUnsettled:!0})},[a,jt]);let yi=B(async(M,F,ye)=>{if(!yt){Je(!0);try{(await Kt(`${n}/memory/conversation-action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,proposalId:M.proposalId,action:F,claim:ye,provider:Y,model:V,...D})})).ok&&await jt()}finally{Je(!1)}}},[D,n,V,Y,jt,yt,t]),Dt=B(async(M,F)=>{if(!yt){Je(!0);try{(await Kt(`${n}/imprint/action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,transactionId:M.transactionId,action:F})})).ok&&await jt()}finally{Je(!1)}}},[n,jt,yt,t]),Oe=B(async(M,F,ye)=>{if(!(yt||F.length===0)){Je(!0);try{let Ae=await Kt(`${n}/projection/proposals/${encodeURIComponent(M.id)}/apply-selected`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({changes:F,changeSummaries:ye.map(Ee=>({group:Ee.group,label:Ee.label,detail:Ee.detail,path:Ee.path,value:Ee.value,currentValue:Ee.currentValue})),provider:Y,model:V,...D})});if(Ae.ok){let Ee=await Ae.json();Ee.proposal&&_t(He=>He.map(tt=>tt.id===Ee.proposal.id?Ee.proposal:tt)),await jt()}}finally{Je(!1)}}},[D,n,V,Y,jt,yt]);_(()=>{let M=!1;On.current=0,Ft(o.length===0),xt.current&&(clearTimeout(xt.current),xt.current=null);let F=async()=>{let ye=await jt({applyUnsettled:!0});M||ye===null||ye.messages.length!==0||On.current>=5||(On.current+=1,xt.current=setTimeout(F,200*On.current))};return F(),()=>{M=!0,xt.current&&(clearTimeout(xt.current),xt.current=null)}},[jt,o.length]);let Zn=B(M=>{if(!M||Hn.current===M)return;Hn.current=M,nn.current&&clearTimeout(nn.current);let F=0,ye=async()=>{(await jt({settleJobId:M,applyUnsettled:F>=5}))?.settled||F>=5||(F+=1,nn.current=setTimeout(ye,80*F))};ye()},[jt]);_(()=>{Zn(i)},[i,Zn]),_(()=>{po.current&&!l&&Zn(sn.current),po.current=l,c&&(sn.current=c)},[c,l,Zn]),_(()=>()=>{nn.current&&clearTimeout(nn.current)},[]);let Ot=Se(()=>f?Vw(f):[],[f]),cn=Se(()=>mf(Ot),[Ot]),Cn=Se(()=>kf(Ot.filter(M=>M.kind==="tool_group")),[Ot]),fr=Se(()=>Ef(Cn),[Cn]),un=Se(()=>Iw(f??[]),[f]),Ut=Se(()=>f?eS(f):void 0,[f]),At=Se(()=>Te.filter(M=>M.role==="human"&&M.replyToQuestion&&M.queued&&M.jobId!==c),[c,Te]),pn=bw(Te,J?.submissionId,t,tn),Wr=!pn.replacementReady||!!(pe&&J?.state==="pending"),ht=Se(()=>pn.messages.filter(M=>!(M.role==="human"&&M.replyToQuestion&&M.queued&&M.jobId!==c)),[c,pn.messages]),wn=Se(()=>{let M=new Set,F=new Map,ye=new Map,Ae=new Map,Ee=[];if(ht.forEach((He,tt)=>{let nt=mt.some(je=>je.status==="applied"&&jf(He,je));if(sS(He,nt)){Ee.push(tt);return}He.role!=="assistant"||Ee.length===0||(F.set(tt,Ee.map(je=>ht[je])),Ee.forEach(je=>M.add(je)),Ee=[])}),Ee.length>0){let He=Ee[0]-1;if(ht[He]?.role==="assistant"&&!M.has(He)){let tt=F.get(He)??[];F.set(He,[...tt,...Ee.map(je=>ht[je])]),Ee.forEach(je=>M.add(je));let nt=Ee[Ee.length-1];ye.set(He,$f(ht[nt],ht[nt-1])),Ae.set(He,ht[nt].timestamp)}else if(Ee.length>1){let tt=Ee[Ee.length-1],nt=Ee.slice(0,-1);F.set(tt,nt.map(je=>ht[je])),nt.forEach(je=>M.add(je))}}return{hiddenIndices:M,messagesByTargetIndex:F,timestampByTargetIndex:Ae,workedForByTargetIndex:ye}},[mt,ht]),Wo=Se(()=>{let M=new Map;for(let F of Te)F.memoryReviewCard&&M.set(F.memoryReviewCard.proposalId,`${F.jobId}:${F.timestamp}`);return M},[Te]),An=Se(()=>{let M=[];return ht.forEach((F,ye)=>{if(wn.hiddenIndices.has(ye))return;let Ae=Lf(F,ht[ye-1]);F.role==="assistant"&&!Ae&&M.push(`message:${F.jobId}:${ye}`)}),l?"streaming":M[M.length-1]??null},[wn,l,ht]);_(()=>{let M=tn.current;if(!M)return;let F=()=>{let ye=M.scrollHeight-M.scrollTop-M.clientHeight;qe(ye<40),cr.current=ye<2};return M.addEventListener("scroll",F,{passive:!0}),()=>{M.removeEventListener("scroll",F)}},[]),_(()=>{cr.current&&tn.current&&(tn.current.scrollTop=tn.current.scrollHeight)},[Te,Ot.length,l,pt,pn.phase]),_(()=>{if(!bt)return;let M=F=>{F.composedPath().some(ye=>ye instanceof HTMLElement&&ye.dataset.modelPicker!==void 0)||Nn()};return document.addEventListener("pointerdown",M,!0),()=>document.removeEventListener("pointerdown",M,!0)},[Nn,bt]),_(()=>{let M=F=>{if(F.key==="Escape"){if(F.stopPropagation(),bt){Nn();return}p()}};return document.addEventListener("keydown",M),()=>document.removeEventListener("keydown",M)},[Nn,bt,p]);let Jr=B((M,F,ye)=>{let Ae=M.trim();if(!Ae||!st)return!1;let Ee=`_pending_reply_${Date.now()}`,He=!!l,tt=F?F.map(nt=>URL.createObjectURL(nt)):void 0;return Ce(nt=>[...nt,{role:"human",timestamp:Date.now(),jobId:Ee,replyToQuestion:Ae,...Be?{execution:"none"}:{},...He?{queued:!0}:{},...tt?{replyImageUrls:tt}:{}}]),Promise.resolve().then(()=>st(t,Ae,F,ye)).then(async nt=>{nt?.jobId&&(Ce(je=>je.map(Gt=>Gt.jobId===Ee?{...Gt,jobId:nt.jobId}:Gt)),await jt({applyUnsettled:!0}))}).catch(nt=>{Ce(je=>je.map(Gt=>Gt.jobId===Ee?{...Gt,queued:!1,errorKind:"send_rejected",error:nt instanceof Error?nt.message:"Reply was not sent. Check your connection and permissions before retrying."}:Gt)),dt(je=>je||Ae),F&&se(je=>je.length?je:F)}),!0},[l,t,st,jt,Be]),Mn=B(()=>{let M=y.length>0?y:void 0;Jr(ft,M)&&(dt(""),se([]))},[ft,y,Jr]),qr=B(M=>{let F=M.clipboardData.items,ye=[];for(let Ae=0;Ae<F.length;Ae++){let Ee=F[Ae];if(Ee.type.startsWith("image/")){let He=Ee.getAsFile();He&&ye.push(He)}}if(ye.length>0){if(M.preventDefault(),Be){Fe("Suggestion discussion supports text for now; images were not attached.");return}se(Ae=>[...Ae,...ye])}},[Be]),hr=B(M=>{M.key==="Enter"&&(M.metaKey||M.ctrlKey)&&(M.preventDefault(),Mn())},[Mn]);Tt(()=>{let M=Bt.current;M&&(M.style.height="auto",M.style.height=`${Math.max(34,Math.min(M.scrollHeight,120))}px`)},[ft]);let fo=Wt.current.top+xn.current.y,Wn=Wt.current.left+xn.current.x,Br=No(),rn=gc(Br.width),er=ci(Br.width),mr=yc(Br.width),vi=bf(fo,Wn,G?.current),ho=Te.some(M=>M.memoryReviewCard&&!Te.some(F=>F.memoryReceipt?.proposalId===M.memoryReviewCard.proposalId)),mo=Be?"Add to suggestion (text only)":l?"Add steering context":ho?"Ask for rule changes":"Ask for changes";return C(it,{children:[U&&u("div",{"data-devtools":"thread-panel-backdrop",onPointerDown:M=>{M.target===M.currentTarget&&p()},style:{position:"fixed",inset:0,zIndex:9998,opacity:H?0:1,pointerEvents:H?"none":"auto",cursor:K,transition:H&&!R?`opacity ${hs}ms ease`:"none"}}),C("div",{ref:Vt,style:{...$w,...Me,width:mr,height:rn?"auto":vi,position:"fixed",top:rn?`max(${er}px, env(safe-area-inset-top))`:fo,bottom:rn?`max(${er}px, env(safe-area-inset-bottom))`:void 0,left:rn?`max(${er}px, env(safe-area-inset-left))`:Wn,right:rn?`max(${er}px, env(safe-area-inset-right))`:void 0,zIndex:10004,opacity:H?0:1,pointerEvents:H?"none":"auto",transition:H&&!R?`opacity ${hs}ms ease`:"none"},"data-devtools":"thread-panel","data-popmelt-thread-id":t,"data-popmelt-font":"sans","data-popmelt-theme":me,"data-popmelt-theme-preference":le,"aria-hidden":H||void 0,onMouseEnter:S,children:[Aw,C("div",{style:{background:"var(--popmelt-thread-surface)",borderRadius:"12px 12px 16px 16px",display:"flex",flexDirection:"column",overflow:"hidden",flex:1,minHeight:0},children:[C("div",{ref:Gn,"data-popmelt-thread-header":!0,style:{...jw,backgroundColor:De,color:"#ffffff",cursor:"grab",overflow:rn?"visible":"hidden",paddingRight:rn?32:6,userSelect:"none",WebkitUserSelect:"none"},children:[C("span",{style:{display:"flex",alignItems:"center",gap:3,minWidth:0,flex:1},children:[(E||!J)&&u("span",{style:{flexShrink:0},children:E?`${E}.`:"Conversation"}),Ue&&u("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:Ue})]}),re&&ee&&C("span",{style:{display:"flex",flexShrink:0,gap:0,marginLeft:8},children:[u("button",{type:"button","aria-label":"Previous thread","data-popmelt-thread-nav":!0,onClick:re,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",height:Ho,minHeight:0,minWidth:0,boxSizing:"border-box",justifyContent:"center",margin:0,padding:0,position:"relative",width:Ho},children:u(Cg,{"aria-hidden":"true",height:Ho,strokeWidth:2,width:Ho})}),u("button",{type:"button","aria-label":"Next thread","data-popmelt-thread-nav":!0,onClick:ee,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",height:Ho,minHeight:0,minWidth:0,boxSizing:"border-box",justifyContent:"center",margin:0,padding:0,position:"relative",width:Ho},children:u(Hs,{"aria-hidden":"true",height:Ho,strokeWidth:2,width:Ho})})]}),rn&&u("button",{type:"button","aria-label":"Close thread",onClick:p,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:u(cl,{"aria-hidden":"true",size:14,strokeWidth:2})})]}),u("style",{dangerouslySetInnerHTML:{__html:`
|
|
221
|
-
[data-devtools="thread-panel"] ::selection {
|
|
222
|
-
background: color-mix(in srgb, ${De} 15%, transparent);
|
|
223
|
-
color: inherit;
|
|
224
|
-
}
|
|
225
|
-
[data-popmelt-thread-nav] { opacity: 0.5; transition: opacity 120ms ease; }
|
|
226
|
-
[data-popmelt-thread-nav]:hover, [data-popmelt-thread-nav]:focus-visible { opacity: 1; }
|
|
227
|
-
[data-popmelt-approve-suggestion]:not(:disabled):hover {
|
|
228
|
-
--popmelt-approval-background: var(--popmelt-thread-action-hover);
|
|
229
|
-
}
|
|
230
|
-
[data-popmelt-approve-suggestion]:focus-visible {
|
|
231
|
-
outline: 2px solid var(--popmelt-thread-primary);
|
|
232
|
-
outline-offset: 3px;
|
|
233
|
-
}
|
|
234
|
-
[data-popmelt-thread-nav]::before { content: ''; position: absolute; inset: -4px; }
|
|
235
|
-
[data-popmelt-thread-content] { isolation: isolate; }
|
|
236
|
-
[data-popmelt-thread-content]::after {
|
|
237
|
-
background: color-mix(in srgb, var(--popmelt-thread-surface) 50%, transparent);
|
|
238
|
-
content: '';
|
|
239
|
-
inset: 0;
|
|
240
|
-
opacity: 0;
|
|
241
|
-
pointer-events: none;
|
|
242
|
-
position: absolute;
|
|
243
|
-
transition: opacity 100ms ease;
|
|
244
|
-
transition-delay: 0ms;
|
|
245
|
-
z-index: 10;
|
|
246
|
-
}
|
|
247
|
-
[data-popmelt-thread-content]:has([data-popmelt-tool-receipt-trigger]:hover)::after,
|
|
248
|
-
[data-popmelt-thread-content]:has([data-popmelt-tool-receipt-trigger]:focus-within)::after {
|
|
249
|
-
opacity: 1;
|
|
250
|
-
transition-delay: 180ms;
|
|
251
|
-
}
|
|
252
|
-
[data-popmelt-thread-content] [data-popmelt-tool-receipt-tooltip] { z-index: 20; }
|
|
253
|
-
[data-popmelt-reply]::placeholder { color: var(--popmelt-thread-muted); opacity: 1; }
|
|
254
|
-
[data-message-timestamp] { opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
|
|
255
|
-
[data-message-activity] { opacity: 1; transition: opacity 120ms ease; }
|
|
256
|
-
[data-worked-for-label], [data-worked-for-time] { transition: opacity 120ms ease; }
|
|
257
|
-
[data-worked-for-time] { pointer-events: none; }
|
|
258
|
-
[data-under-message-rail="hover"] { opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
|
|
259
|
-
[data-model-sender] { display: none !important; }
|
|
260
|
-
[data-msg]:hover [data-under-message-rail="hover"] { opacity: 1; pointer-events: auto; }
|
|
261
|
-
[data-msg]:hover [data-message-timestamp] { opacity: 1; }
|
|
262
|
-
@media (hover: hover) {
|
|
263
|
-
[data-msg]:hover + [data-popmelt-suggestion-actions] [data-popmelt-approve-suggestion]:not(:focus-visible) {
|
|
264
|
-
opacity: 0 !important;
|
|
265
|
-
pointer-events: none;
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
[data-worked-for-trigger]:hover [data-worked-for-label] { opacity: 0; }
|
|
269
|
-
[data-worked-for-trigger]:hover [data-worked-for-time] { opacity: 1 !important; }
|
|
270
|
-
[data-popmelt-tool-receipt-tooltip] {
|
|
271
|
-
opacity: 0;
|
|
272
|
-
transform: translateY(3px) scale(0.98);
|
|
273
|
-
transform-origin: bottom center;
|
|
274
|
-
transition: opacity 100ms ease, transform 100ms ease, visibility 0s linear 100ms;
|
|
275
|
-
visibility: hidden;
|
|
276
|
-
}
|
|
277
|
-
[data-popmelt-tool-receipt-scroll] {
|
|
278
|
-
overflow-x: hidden !important;
|
|
279
|
-
}
|
|
280
|
-
[data-popmelt-tool-receipt-scroll],
|
|
281
|
-
[data-popmelt-tool-receipt-scroll] * {
|
|
282
|
-
box-sizing: border-box;
|
|
283
|
-
max-width: 100%;
|
|
284
|
-
min-width: 0;
|
|
285
|
-
overflow-wrap: anywhere;
|
|
286
|
-
white-space: normal;
|
|
287
|
-
word-break: break-word;
|
|
288
|
-
}
|
|
289
|
-
[data-popmelt-tool-receipt-trigger]:hover > button {
|
|
290
|
-
color: var(--popmelt-thread-primary) !important;
|
|
291
|
-
}
|
|
292
|
-
[data-popmelt-tool-receipt-scrim] {
|
|
293
|
-
left: 0;
|
|
294
|
-
opacity: 0;
|
|
295
|
-
pointer-events: none;
|
|
296
|
-
position: absolute;
|
|
297
|
-
right: 0;
|
|
298
|
-
transition: opacity 100ms ease;
|
|
299
|
-
z-index: 1;
|
|
300
|
-
}
|
|
301
|
-
[data-popmelt-tool-receipt-scrim="top"] {
|
|
302
|
-
background: linear-gradient(to bottom, var(--popmelt-thread-raised) 10%, transparent);
|
|
303
|
-
height: 24px;
|
|
304
|
-
top: 0;
|
|
305
|
-
}
|
|
306
|
-
[data-popmelt-tool-receipt-scrim="bottom"] {
|
|
307
|
-
background: linear-gradient(to top, var(--popmelt-thread-raised) 10%, transparent);
|
|
308
|
-
bottom: 0;
|
|
309
|
-
height: 24px;
|
|
310
|
-
}
|
|
311
|
-
[data-popmelt-tool-receipt-tooltip][data-overflow-top] [data-popmelt-tool-receipt-scrim="top"],
|
|
312
|
-
[data-popmelt-tool-receipt-tooltip][data-overflow-bottom] [data-popmelt-tool-receipt-scrim="bottom"] {
|
|
313
|
-
opacity: 1;
|
|
314
|
-
}
|
|
315
|
-
[data-popmelt-tool-receipt-trigger]:hover [data-popmelt-tool-receipt-tooltip][data-ready="true"],
|
|
316
|
-
[data-popmelt-tool-receipt-trigger]:focus-within [data-popmelt-tool-receipt-tooltip][data-ready="true"] {
|
|
317
|
-
opacity: 1;
|
|
318
|
-
transform: translateY(0) scale(1);
|
|
319
|
-
transition-delay: 180ms;
|
|
320
|
-
visibility: visible;
|
|
321
|
-
}
|
|
322
|
-
@media (prefers-reduced-motion: reduce) {
|
|
323
|
-
[data-popmelt-tool-receipt-tooltip] { transition: none; }
|
|
324
|
-
[data-popmelt-thread-content]::after { transition: none; }
|
|
325
|
-
}
|
|
326
|
-
[data-suggestion-message] { display: contents; }
|
|
327
|
-
[data-suggestion-handoff] > div {
|
|
328
|
-
display: flex;
|
|
329
|
-
flex-direction: column;
|
|
330
|
-
gap: 32px;
|
|
331
|
-
}
|
|
332
|
-
[data-suggestion-phase="preparing"] [data-suggestion-handoff="incoming"] {
|
|
333
|
-
display: block;
|
|
334
|
-
position: absolute;
|
|
335
|
-
visibility: hidden;
|
|
336
|
-
pointer-events: none;
|
|
337
|
-
}
|
|
338
|
-
[data-suggestion-phase="animating"] [data-suggestion-handoff="outgoing"] {
|
|
339
|
-
display: block;
|
|
340
|
-
position: relative;
|
|
341
|
-
height: 0;
|
|
342
|
-
flex-shrink: 0;
|
|
343
|
-
margin-bottom: -32px;
|
|
344
|
-
pointer-events: none;
|
|
345
|
-
}
|
|
346
|
-
[data-suggestion-phase="animating"] [data-suggestion-handoff="outgoing"] > div {
|
|
347
|
-
position: absolute;
|
|
348
|
-
width: 100%;
|
|
349
|
-
animation: popmelt-suggestion-out ${$d}ms ease-out both;
|
|
350
|
-
}
|
|
351
|
-
[data-suggestion-phase="animating"] [data-suggestion-handoff="incoming"] > div {
|
|
352
|
-
animation: popmelt-suggestion-in ${$d}ms cubic-bezier(.2,.7,.2,1) both;
|
|
353
|
-
}
|
|
354
|
-
@keyframes popmelt-suggestion-out {
|
|
355
|
-
to { opacity: 0; transform: translateY(-16px); }
|
|
356
|
-
}
|
|
357
|
-
@keyframes popmelt-suggestion-in {
|
|
358
|
-
from { opacity: 0; transform: translateY(16px); }
|
|
359
|
-
to { opacity: 1; transform: translateY(0); }
|
|
360
|
-
}
|
|
361
|
-
@media (prefers-reduced-motion: reduce) {
|
|
362
|
-
[data-suggestion-handoff] > div { animation: none !important; }
|
|
363
|
-
}
|
|
364
|
-
@media (hover: none), (pointer: coarse) {
|
|
365
|
-
[data-message-timestamp], [data-under-message-rail="hover"] { opacity: 1; pointer-events: auto; }
|
|
366
|
-
[data-popmelt-thread-header] { cursor: default !important; }
|
|
367
|
-
[data-popmelt-reply-action] { width: 40px !important; height: 40px !important; margin: -10px; }
|
|
368
|
-
}
|
|
369
|
-
`}}),C("div",{"data-popmelt-thread-content":!0,style:{display:"flex",flex:1,flexDirection:"column",minHeight:0,position:"relative"},children:[C("div",{ref:tn,style:{...Pw,...st?{paddingBottom:12}:{},transition:"opacity 150ms ease"},"data-devtools":"thread-panel-messages","data-suggestion-phase":pn.phase,children:[En&&u("div",{style:{padding:16,color:"var(--popmelt-thread-muted)",textAlign:"center"},children:"Loading..."}),!En&&ht.length===0&&At.length===0&&!l&&u("div",{style:{padding:16,color:"var(--popmelt-thread-muted)",textAlign:"center"},children:"No messages yet."}),ht.map((M,F)=>{if(wn.hiddenIndices.has(F))return null;let ye=wn.messagesByTargetIndex.get(F)??[],Ae=[...ye,M],Ee=Lf(M,ht[F-1]),He=En?[]:mt.filter(je=>Ae.some(Gt=>jf(Gt,je))),tt=He.filter(je=>je.status==="applied"),nt={decisionRecorded:tt.some(je=>je.decisionIds.length>0),modelUpdated:tt.length>0,imprintReceipt:tS(Ae,ht)};return u("div",{"data-suggestion-message":!0,"data-suggestion-handoff":pn.motion(M),"aria-hidden":pn.motion(M)==="outgoing"&&pn.phase==="animating"?!0:void 0,children:C("div",{style:pn.motion(M)?void 0:{display:"contents"},children:[u(Rf,{msg:M,index:F,bridgeUrl:n,accentColor:De,onLightbox:qt,hideSender:Ee,hideTimestamp:Ee,hideModelSenderUntilHover:An!==`message:${M.jobId}:${F}`,compactSpacing:Ee,workedFor:wn.workedForByTargetIndex.get(F)??$f(M,ht[F-1]),activityTimestamp:wn.timestampByTargetIndex.get(F),memoryReviewBusy:yt,memoryReviewResolved:!!(M.memoryReviewCard&&Te.some(je=>je.memoryReceipt?.proposalId===M.memoryReviewCard.proposalId&&je.memoryReceipt.status==="committed")),memoryReviewSuperseded:!!(M.memoryReviewCard&&Wo.get(M.memoryReviewCard.proposalId)!==`${M.jobId}:${M.timestamp}`),foldedActivityMessages:ye,underMessageActivity:nt,onMemoryReviewAction:w?yi:void 0,onImprintAction:w?Dt:void 0}),F===0&&J&&J.state!=="sent"&&(pe||Wr&&m&&(Be||J.state==="approving"))&&C("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:[(Be||J.state==="approving")&&Wr&&m&&C("button",{"data-popmelt-approve-suggestion":!0,type:"button",disabled:rt||!Be,style:{...Fh(me),padding:gs.padding,gap:gs.gap,background:"var(--popmelt-approval-background, var(--popmelt-thread-action))",color:"var(--popmelt-thread-on-action)",opacity:rt||!Be?.5:1,transition:"background-color 120ms ease, opacity 120ms ease",cursor:rt||!Be?"default":"pointer"},onClick:async()=>{if(!(rt||!Be)){ge(!0),Fe("");try{await m(J.submissionId,J.revision)}catch(je){Fe(je instanceof Error?je.message:"Approval failed. Review the updated suggestion and try again.")}finally{await jt({applyUnsettled:!0}),ge(!1)}}},children:[u(wu,{size:gs.iconSize,strokeWidth:1.5,"aria-hidden":"true"}),rt||!Be?"Sending\u2026":"Approve and send"]}),pe&&u("div",{role:"alert",children:pe})]}),He.filter(je=>je.status!=="applied").map(je=>u("fieldset",{disabled:!w,style:{border:0,padding:0,margin:0,minWidth:0},children:u(fS,{proposal:je,timestamp:M.timestamp,bridgeUrl:n,accentColor:De,busy:yt,onApplySelected:Oe,onDismiss:()=>Fo(je,"dismiss"),onReviewUnderlying:()=>{je.underlyingProposalId&&Jr("> Kicked off decision review",void 0,{memoryReviewProposalId:je.underlyingProposalId})},hideModelSenderUntilHover:An!==`proposal:${je.id}`})},je.id))]})},Hl(M))}),l&&C("div",{style:{padding:0,display:"flex",flexDirection:"column",gap:8},children:[(!s||Xt.approvals.some(M=>M.jobId===c&&M.phase))&&u(it,{children:cn.map((M,F)=>{if(M.kind==="approval"){let Ae=Xt.approvals.find(He=>He.id===M.approval.id),Ee=M.approval.status==="pending"&&Ae?.status!=="pending"?Ae??M.approval:M.approval;return u(Qx,{approval:Ee,accentColor:De,connected:w&&Xt.connected,decide:He=>Xt.decide(Ee,He)},Ee.id)}if(M.kind==="tool_group")return null;if(M.kind==="generated_image")return u(Sf,{src:uo(n,M.url),onLightbox:qt},F);if(M.kind==="file_content")return u(Qw,{file:M.file,content:M.content,ext:M.ext,isPlan:M.isPlan,onAccept:M.isPlan&&st?()=>st(t,"Looks good, please proceed with implementation."):void 0},F);if(M.kind==="thinking")return u("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:M.text},F);if(M.kind==="status")return u("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontStyle:"italic",lineHeight:1.4,wordBreak:"break-word"},children:M.text},F);if(M.kind==="orientation")return u(If,{orientation:M.orientation},F);let ye=Ma(M.text);return ye?u("div",{style:{fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,wordBreak:"break-word"},children:Or(ye)},F):null})}),C("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",minHeight:24},children:[u("div",{style:{alignItems:"center",display:"flex",gap:6},children:s?C(it,{children:[u(Su,{size:12,strokeWidth:2.25,color:De,style:{verticalAlign:"middle",flexShrink:0,opacity:.5}}),u("span",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontStyle:"italic"},children:Xt.approvals.some(M=>M.jobId===c&&M.phase==="parked")?"Parked \xB7 waiting for permission":Xt.approvals.some(M=>M.jobId===c&&M.phase==="queued")?"Queued next":`Queued${d?` ${d}`:""}`})]}):C(it,{children:[pt?u("span",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:"Waiting for permission"}):un?u("span",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:"Generating images\u2026"}):u(_w,{color:"var(--popmelt-thread-muted-strong)"}),fr.map(M=>u(Tf,{receipt:M,animateCount:!0},M.kind)),Ut&&u(Mf,{receipt:Ut,accentColor:De})]})}),x&&u("button",{onClick:x,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&&A&&C("div",{style:{padding:"8px 16px",backgroundColor:"rgba(239, 68, 68, 0.06)",fontSize:12,color:"#dc2626",lineHeight:1.4},children:[u("span",{style:{fontWeight:600},children:"Error: "}),A]})]}),At.length>0&&u("div",{"data-queued-replies-area":!0,style:{flexShrink:0,maxHeight:"40%",overflowY:"auto",padding:"0 12px 12px"},children:u(Xx,{messages:At,renderMessage:M=>u(Rf,{msg:M,index:Te.indexOf(M),bridgeUrl:n,accentColor:De,onLightbox:qt,hideSender:!0,hideTimestamp:!0,queuedPreview:!0}),onChange:w?async(M,F)=>{let ye=await Kt(`${n}/reply/queued`,{method:F===null?"DELETE":"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,jobId:M.jobId,submissionId:M.lifecycle?.submissionIds[0],expectedReply:M.replyToQuestion,reply:F})});if(!ye.ok){let Ae=await ye.json().catch(()=>({}));throw new Error(Ae.error??"Could not update queued message.")}await jt({applyUnsettled:!0})}:void 0})}),!st&&z&&C("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:[u(Ag,{"aria-hidden":"true",size:12,strokeWidth:1.5}),u("span",{children:z})]}),st&&C("div",{"data-popmelt-thread-composer":!0,style:{flexShrink:0,position:"relative",zIndex:1},children:[bt&&u(Wh,{visible:be,provider:Y,availableProviders:I,models:X,modelIndex:te,agentSettings:D,onProviderChange:O,onModelChange:j,onAgentSettingsChange:P,onMouseEnter:()=>{at.current=!0,Ct()},onMouseLeave:()=>{at.current=!1,_r()},onScrubChange:gi}),!en&&Te.length>0&&u("button",{type:"button","data-scroll-to-bottom":!0,"aria-label":"Scroll to latest message",title:"Scroll to latest message",onClick:()=>{tn.current&&tn.current.scrollTo({top:tn.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:u(Mg,{"aria-hidden":"true",size:16,strokeWidth:1.75})}),y.length>0&&u("div",{style:{position:"absolute",bottom:"100%",display:"flex",gap:4,padding:"6px 5px 5px",flexWrap:"wrap"},children:y.map((M,F)=>C("span",{onClick:()=>se(ye=>ye.filter((Ae,Ee)=>Ee!==F)),onMouseEnter:ye=>{let Ae=ye.currentTarget.querySelector("[data-chip-x]");Ae&&(Ae.style.color="#fff")},onMouseLeave:ye=>{let Ae=ye.currentTarget.querySelector("[data-chip-x]");Ae&&(Ae.style.color="rgba(255,255,255,0.4)")},style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:10,color:"#fff",backgroundColor:De,backdropFilter:"blur(4px)",borderRadius:8,padding:"2px 6px 2px 6px",cursor:"pointer"},children:["image ",F+1,u("span",{"data-chip-x":!0,style:{fontSize:12,lineHeight:1,color:"rgba(255,255,255,0.4)"},children:"\xD7"})]},F))}),C("div",{style:zw,children:[u("textarea",{ref:Bt,"data-popmelt-reply":!0,autoFocus:!rn,rows:1,value:ft,onChange:M=>{Xe.current={selectionStart:M.target.selectionStart,selectionEnd:M.target.selectionEnd,selectionDirection:M.target.selectionDirection},Ld(t,M.target.value,void 0,Xe.current),dt(M.target.value),Qn(lt.current,M.target.value)},onSelect:M=>{Xe.current={selectionStart:M.currentTarget.selectionStart,selectionEnd:M.currentTarget.selectionEnd,selectionDirection:M.currentTarget.selectionDirection},Ld(t,M.currentTarget.value,void 0,Xe.current)},onFocus:()=>{lt.current=!0,Qn(!0,ft)},onBlur:()=>{lt.current=!1,Qn(!1,ft)},onKeyDown:hr,onPaste:qr,placeholder:mo,style:{width:"100%",minWidth:0,height:34,minHeight:34,padding:"12px 12px 0",fontSize:14,fontFamily:on,backgroundColor:"transparent",color:"var(--popmelt-thread-primary)",border:"none",outline:"none",lineHeight:1.3,boxSizing:"border-box",overflowX:"hidden",overflowY:"auto",resize:"none",whiteSpace:"pre-wrap",wordBreak:"break-word"}}),C("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",padding:"10px 12px"},children:[u(Jh,{provider:Y,open:be,onClick:()=>{an(),Ct(),be?Nn():Yt()},onMouseEnter:()=>{Pe.current=!0,be?Ct():_n()},onMouseLeave:()=>{Pe.current=!1,_r()}}),u("button",{type:"button","data-popmelt-reply-action":!0,onClick:Mn,disabled:!ft.trim(),"aria-label":"Send reply",style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,background:"none",border:"none",cursor:ft.trim()?"pointer":"default",color:"var(--popmelt-thread-primary)",opacity:ft.trim()?1:.12,flexShrink:0},children:u("span",{style:{alignItems:"center",display:"flex",height:16,justifyContent:"center",width:16},children:u(wu,{"aria-hidden":"true",fill:"currentColor",size:ft.trim()?16:14,strokeWidth:1.5,style:{transform:"rotate(-45deg)",transition:"width 120ms ease, height 120ms ease"}})})})]})]})]})]})]})]}),Dn&&u(Yw,{src:Dn,onClose:()=>bn(null)})]})}function _o(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 gS(e,t,n){return e!==t&&t!==null&&n!==null}function yS(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 vS(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 bS(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 zf(e,t){return t?e.ownerParticipantId?e.ownerParticipantId===t.participantId:t.isHost===!0:!0}function xS(e,t,n,r){let o=q(e),i=q(void 0);_(()=>{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 wS=[],Jl="devtools-provider",ql="devtools-model",Od="devtools-model-id",Df="devtools-agent-settings",Hd="devtools-open-thread-id",Bl="popmelt-dismissed-thread-ids",Nd="#000000",SS=20,IS=[],kS=[];function _d(e){let t=e.dispose?.();t&&Promise.resolve(t).catch(()=>{})}function ES(e){let t=q(new Map),[n,r]=$([]);return _(()=>{let o=t.current,i=new Map,a=[];for(let s of e){if(i.has(s.id))continue;let d=o.get(s.id);if(d?.configurationKey===s.configurationKey){i.set(s.id,d),a.push(s);continue}d&&_d(d.runtime),i.set(s.id,{configurationKey:s.configurationKey,runtime:s.activate()}),a.push(s)}for(let[s,d]of o)i.has(s)||_d(d.runtime);t.current=i;let l=a.map(s=>i.get(s.id)?.runtime).filter(s=>!!s);r(s=>s.length===l.length&&s.every((d,c)=>d===l[c])?s:l)},[e]),_(()=>()=>{for(let o of t.current.values())_d(o.runtime);t.current.clear()},[]),n}function TS(e,t=96){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,t-1)}...`:n}function CS(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(l=>`${a.element?.reactComponent||a.element?.tagName||a.selector}: ${l.property} ${l.original||"unset"} -> ${l.modified||"unset"}${l.token?` [${l.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=>TS(a)).filter(Boolean);return i.length===0?"Annotation":i.length<=3?i.join("; "):`${i.slice(0,3).join("; ")}; +${i.length-3} more`}function Yl(e){if(typeof window>"u"||!e)return new Set;try{let t=JSON.parse(localStorage.getItem(ji(Bl,e))||"[]");return new Set(Array.isArray(t)?t.filter(n=>typeof n=="string"):[])}catch{return new Set}}function Of(e,t){if(!(typeof window>"u"||!t))try{let n=Yl(t);for(let r of e)n.add(r);localStorage.setItem(ji(Bl,t),JSON.stringify(Array.from(n).slice(-200)))}catch{}}function AS(e){let t=vn(e);return t.bottom<0||t.top>window.innerHeight||t.right<0||t.left>window.innerWidth}function MS(e){for(let t of e){let n=ln(t);if(n){AS(n)&&n.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"});return}}}async function Fd(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 RS(e,t,n,r,o){if(t==="copilot"||t==="omp"||e==="copilot"||e==="omp")return 0;let i=fc(e,r),a=fc(t,o);if(a.length===0)return 0;let l=i.findIndex(d=>d.index===n),s=l>=0?l:a.length-1;return a[Math.min(s,a.length-1)].index}function LS({children:e,enabled:t=process.env.NODE_ENV==="development",multiplayer:n=!1,...r}){let o=Pr(Za),[i,a]=$([]),l=B(f=>(a(p=>p.includes(f)?p:[...p,f]),()=>a(p=>p.filter(h=>h!==f))),[]),s=Se(()=>({isEnabled:t,registerSubjectAdapter:l}),[t,l]),d=Se(()=>[...r.subjectAdapters??[],...i],[r.subjectAdapters,i]),c=u($S,{...r,multiplayer:n,enabled:!0,registeredSubjectAdapters:i});return C(vm.Provider,{value:s,children:[e,t&&(o?n?c:null:u(gy,{multiplayer:n,projectId:r.projectId,adapters:d,children:c}))]})}function $S({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=IS,extensions:l=kS,imageAnnotation:s=!0,videoAnnotation:d=!0,getCommentMeta:c}){let f=typeof window<"u"?o??window.__POPMELT_PROJECT_ID__??null:null,[p,h]=$(f),[g,m]=$(!!f),x=p,w=q(null),z=q(!1),[A,S]=Sm(w,z),H=Pr(tc),R=Pr(Za),[K,G]=$(()=>new Set),[N,V]=$(0),Y=q(0);_(()=>{if(!N)return;let b=window.setTimeout(()=>V(0),220);return()=>window.clearTimeout(b)},[N]);let I=Se(()=>R?.participantId?Xf(nc(A,R.pendingSubmissions??[],R.participantId,K),R.annotationColor):A,[A,R?.pendingSubmissions,R?.participantId,R?.annotationColor,K]);_(()=>{if(!K.size)return;let b=nc(A,R?.pendingSubmissions??[],R?.participantId??""),k=new Set([...K].filter(W=>{let Q=b.annotations.find(de=>de.id===W);return Q&&["pending","sending"].includes(Q.status??"pending")}));k.size!==K.size&&G(k)},[A,R?.pendingSubmissions,R?.participantId,K]);let X=!R||R.canReadThreads,te=!R||R.canReply,D=!R||R.canManageThreads,O=ES(l),j=Se(()=>{for(let b=O.length-1;b>=0;b-=1){let k=O[b]?.imageRecognition;if(k)return k}},[O]),P=Se(()=>O.flatMap(b=>b.subjectAdapters??[]),[O]),L=Se(()=>{for(let b=O.length-1;b>=0;b-=1){let k=O[b]?.videoTracking;if(k)return k}},[O]),E=Se(()=>{for(let b=O.length-1;b>=0;b-=1){let k=O[b]?.videoSegmentation;if(k)return k}},[O]),Z=Se(()=>!j||s===!1?s:{...typeof s=="object"?s:{},recognition:j},[j,s]),re=Se(()=>[...P,...a,...n],[P,n,a]),ee=vy({enabled:e,active:I.isAnnotating||I.annotations.some(b=>b.target?.adapter==="see:image"),configuration:Z,adapters:re}),ie=Se(()=>!L&&!E||d===!1?d:{...typeof d=="object"?d:{},...L?{tracking:L}:{},...E?{segmentation:E}:{}},[E,L,d]),U=by({enabled:e,configuration:ie,adapters:ee}),me=(!e||Z===!1||re.some(b=>b.surfaceKind==="image"||b.id==="see:image")||ee.some(b=>b.surfaceKind==="image"||b.id==="see:image"))&&(!e||ie===!1||ee.some(b=>b.surfaceKind==="video"||b.id==="see:video")||U.some(b=>b.surfaceKind==="video"||b.id==="see:video")),le=Se(()=>new pm(U),[U]),[oe,Me]=$(!1),Te=q(le);Te.current=le,_(()=>{let b=!1;return Me(!1),me?(le.whenReady().then(()=>{b||Me(!0)}),()=>{b=!0}):()=>{}},[me,le]),_(()=>()=>le.destroy(),[le]);let Ce=R?.bindSubjects;_(()=>Ce?.(le),[Ce,le]);let J=Bg(r,e&&!!x,x),ve=J.dismissQuestion,$e=J.clearEvents;_(()=>{f&&(typeof window<"u"&&(window.__POPMELT_PROJECT_ID__=f,Wc()),h(f),m(!0))},[f]);let De=q(null),et=q(null),[rt,ge]=$(null),pe=Fg()??r,{onCanvasFocusChange:Fe,onCanvasActivity:Be,inspectingElement:st,inspectingElements:Ve}=Xg(e&&J.isConnected&&I.isAnnotating,pe,{getCommentMeta:c,registry:le,state:I,screenshotOptions:{nativeCapture:b=>Jc(pe,b),captureSurfaces:()=>le.captureSurfaces()}}),ke=B(b=>Jc(pe,b),[pe]),Ue=B(async()=>{let b=Math.min(1,1200/Math.max(1,window.innerWidth));return bm(()=>ke({url:window.location.href,clip:{x:window.scrollX,y:window.scrollY,width:window.innerWidth,height:window.innerHeight},scale:b}),async()=>{let[k]=await Oi(document.body,De.current,[],{dpr:b,viewportOnly:!0,captureSurfaces:()=>le.captureSurfaces()});return k??null})},[ke,le]),mt=q(new Map),_t=q(new Set),yt=q(!1);_(()=>{if(!pe)return;let b=new Set(I.annotations.flatMap(de=>de.attachments?.map(ae=>ae.id)??[])),k=_t.current,W=[...b].filter(de=>!k.has(de)),Q=[...k].filter(de=>!b.has(de));_t.current=b,W.length>0&&qc(pe,W).catch(()=>{}),Q.length>0&&Promise.all(Q.map(de=>Cs(pe,de).catch(()=>{})))},[pe,I.annotations]);let Je=q(new Map),pt=q(new Map),[,kn]=$(0),[Xt,En]=$(null),Ft=q(!1),Ne=us(),ft=B((b,k,W,Q,de)=>{let ae=[],he=ue=>{let Re=URL.createObjectURL(ue);return ae.push(Re),Re},fe,Le;Q instanceof Map?(Le=Object.fromEntries(Array.from(Q,([ue,Re])=>[ue,he(Re)])),fe=Object.values(Le)[0]):fe=he(Q);let _e=de&&de.size>0?Object.fromEntries(Array.from(de,([ue,Re])=>[ue,Re.map(he)])):void 0;for(pt.current.get(b)?.objectUrls.forEach(ue=>URL.revokeObjectURL(ue)),pt.current.delete(b),pt.current.set(b,{objectUrls:ae,message:{role:"human",timestamp:Date.now(),jobId:k,feedbackSummary:CS(W),requestText:Cy(W),requestItems:Ty(W),...W.meta?{meta:W.meta}:{},...fe?{screenshotUrl:fe}:{},...Le?{screenshotUrls:Le}:{},..._e?{imageUrls:_e}:{}}});pt.current.size>SS;){let ue=pt.current.keys().next().value;if(!ue)break;pt.current.get(ue)?.objectUrls.forEach(Re=>URL.revokeObjectURL(Re)),pt.current.delete(ue)}kn(ue=>ue+1)},[]);_(()=>()=>{for(let b of pt.current.values())b.objectUrls.forEach(k=>URL.revokeObjectURL(k));pt.current.clear()},[]);let dt=R?.modelSelectionLocked??!1,y=R?.inheritedModelSelection,[se,be]=$(()=>typeof window>"u"?"codex":localStorage.getItem(Jl)||"codex"),[Ke,bt]=$(()=>{if(typeof window>"u")return 0;let b=localStorage.getItem(ql);return b&&parseInt(b,10)||0}),ze=dt?y?.provider??"codex":se,[wt,Qe]=$(()=>{if(typeof window>"u")return{};try{return JSON.parse(localStorage.getItem(Df)||"{}")}catch{return{}}}),[gt,xe]=$([]),[Pe,at]=$({}),[vt,lt]=$(0),[Xe,en]=$(!1),qe=Se(()=>Vf(Pe.codex??[]),[Pe.codex]),{index:Dn,select:bn}=Yg(qe,Xe,!dt&&ze==="codex"),qt=dt?0:ze==="codex"?Dn:Ke,[tn,cr]=$({}),[xt,On]=$(null),[nn,Qn]=$(null),[Bt,Nr]=$(null),[Vt,Gn]=$("idle"),[po,sn]=$(null),Hn=q(null),an=B(b=>{let k=Object.entries(b.providers).filter(([,ae])=>ae.available).map(([ae])=>ae);k.length>0&&xe(k);let W={},Q={};for(let[ae,he]of Object.entries(b.providers))he.models?.length&&(W[ae]=he.models),he.mcp&&(Q[ae]=he.mcp);let de=Hn.current;if(de&&de.provider!=="codex"){let ae=W[de.provider]?.findIndex(he=>he.id===de.id);ae!==void 0&&ae>=0&&bt(ae)}at(W),cr(Q),en(!0)},[]),Ct=B(async b=>{if(!J.isConnected)return;let k=await Im(pe,b);k&&an(k)},[an,J.isConnected,pe]);_(()=>{Ct(ze)},[ze,J.capabilitiesVersion,vt,Ct]),_(()=>{if(!J.isConnected){On(null),Qn(null),Nr(null);return}let b=!1;return ha(pe).then(k=>{b||(On(k?.version??null),Qn(k?.projectRoot??null),Nr(k?.execution??null))}),()=>{b=!0}},[J.isConnected,J.capabilitiesVersion,vt,pe]),_(()=>{if(Vt==="idle"||Vt==="restarting")return;let b=window.setTimeout(()=>{Gn("idle"),sn(null)},Vt==="ok"?4e3:8e3);return()=>window.clearTimeout(b)},[Vt]),_(()=>{if(!dt&>.length>0&&!gt.includes(ze)){let b=gt[0];be(b),localStorage.setItem(Jl,b)}},[gt,ze,dt]);let zt=Se(()=>dt?[{id:y?.model??"",label:y?.label??"Waiting for host",source:"static"}]:ze==="codex"?qe:Pe[ze]?.length?Pe[ze]:ze==="copilot"?[...rc]:ze==="omp"?[...oc]:[...ic],[dt,y?.model,y?.label,Pe,qe,ze]),Yt=zt[qt]??zt[0],ur=R?.setHostModelSelection;_(()=>{if(!ur||!Xe||!J.isConnected||!gt.includes(ze))return;let b=!1,k,W=()=>{b||ur({provider:ze,model:Yt.id,label:Yt.label}).catch(()=>{b||(k=setTimeout(W,2e3))})};return k=setTimeout(W,0),()=>{b=!0,clearTimeout(k)}},[ur,Xe,J.isConnected,gt,ze,Yt.id,Yt.label]),Hn.current={provider:ze,id:Yt.id};let Nn=`${ze}:${Yt.id||"default"}`,_n=Se(()=>wt[Nn]??{},[wt,Nn]);_(()=>{if(!e||x||g)return;let b=!1;return fetch("/popmelt/status").then(k=>k.ok?k.json():null).then(k=>{if(b)return;let W=typeof window<"u"&&k?.devOrigin===window.location.origin,Q=k?.projectId&&(W||k.projectIdVerified===!0)?k.projectId:null;Q&&typeof window<"u"&&(window.__POPMELT_PROJECT_ID__=Q,Wc()),h(Q),m(!0)}).catch(()=>{b||m(!0)}),()=>{b=!0}},[e,x,g]),_(()=>{if(dt||ze==="codex")return;let b=localStorage.getItem(`${Od}:${ze}`),k=b!==null?zt.findIndex(Q=>Q.id===b):ze==="omp"?zt.findIndex(Q=>Q.isDefault):-1,W=k>=0?k:qt<zt.length?-1:0;W<0||W===qt||(bt(W),localStorage.setItem(ql,String(W)))},[qt,zt,ze,dt]);let _r=B(b=>{if(dt)return;if(b==="codex"){be(b),localStorage.setItem(Jl,b);return}let k=ze,W=b==="copilot"?[...rc]:b==="omp"?[...oc]:[...ic],Q=Pe[b]&&Pe[b].length>0?Pe[b]:W;be(b),localStorage.setItem(Jl,b);let de=RS(k,b,qt,zt,Q);bt(de),localStorage.setItem(ql,String(de));let ae=Q[de];ae&&localStorage.setItem(`${Od}:${b}`,ae.id)},[qt,zt,ze,Pe,dt]),gi=B(b=>{if(dt)return;bt(b),localStorage.setItem(ql,String(b));let k=zt[b];k&&(ze==="codex"&&bn(k.id),localStorage.setItem(`${Od}:${ze}`,k.id))},[zt,ze,dt,bn]),Wt=B(b=>{Qe(k=>{let W={...k,[Nn]:b};return localStorage.setItem(Df,JSON.stringify(W)),W})},[Nn]),[xn,Fr]=$(()=>Qf()),[Fn,Tn]=$(null),dn=Se(()=>Fn?new Set(Fn.annotationIds):null,[Fn]),pr=B(()=>Tn(null),[]),jt=B(b=>{Fr(b),Gf(b)},[]),Fo=B(b=>Fd(b,i),[i]),[yi,Dt]=$(()=>({openThreadId:null,imprintStashedThreadId:null,toolbarSuspendedThreadId:null})),{openThreadId:Oe,imprintStashedThreadId:Zn,toolbarSuspendedThreadId:Ot}=yi,cn=q(0),Cn=q({toolbarExpanded:I.isAnnotating,imprintActive:I.activeTool==="model"});Cn.current={toolbarExpanded:I.isAnnotating,imprintActive:I.activeTool==="model"};let[fr,un]=$(0),Ut=B(b=>{(b.type==="open_thread"||b.type==="close_thread")&&(cn.current+=1),Dt(k=>mS(k,b))},[]),[At,pn]=$(null),Wr=q(null),[ht,wn]=$(new Set),[Wo,An]=$(null),[Jr,Mn]=$(null),[qr,hr]=$(new Set),[fo,Wn]=$(new Set),[Br,rn]=$(new Set),[er,mr]=$({}),vi=Se(()=>new Set(Object.keys(er)),[er]),[ho,mo]=$(null);_(()=>{An(null),x&&(wn(Yl(x)),An(x),localStorage.removeItem(Bl))},[x]),_(()=>{if(R||!x||!J.isConnected)return;let b=!1;pn(null);let k=cn.current,W=ji(Hd,x),Q=localStorage.getItem(W);if(localStorage.removeItem(Hd),!Q){pn(x);return}return Kt(`${pe}/thread/${encodeURIComponent(Q)}`).then(de=>{b||k!==cn.current||(de.ok?Ut({type:"restore_thread",threadId:Q,...Cn.current}):localStorage.removeItem(W))}).catch(()=>{}).finally(()=>{b||pn(x)}),()=>{b=!0}},[Ut,J.isConnected,x,pe,R]),_(()=>{if(R||!x||At!==x)return;let b=ji(Hd,x),k=Oe??Zn??Ot;k?localStorage.setItem(b,k):localStorage.removeItem(b)},[x,Zn,Oe,At,Ot,R]);let M=R?`popmelt-in-flight-jobs:${x}:participant:${R.participantId}`:"popmelt-in-flight-jobs",[F,ye]=$(()=>{try{let b=localStorage.getItem(M);return b?JSON.parse(b):{}}catch{return{}}}),[Ae,Ee]=$(new Map);_(()=>{try{Object.keys(F).length>0?localStorage.setItem(M,JSON.stringify(F)):localStorage.removeItem(M)}catch{}},[F,M]),_(()=>{let b=k=>{if(k.key===M)try{let W=k.newValue?JSON.parse(k.newValue):{};ye(W)}catch{}};return window.addEventListener("storage",b),()=>window.removeEventListener("storage",b)},[M]);let He=q(new Map),tt=q(new Map),nt=q(new Map),je=B((b,k,W)=>{let Q=tt.current.get(b)??[],de=nt.current.get(b);Ee(ae=>Zf(ae,b,k,W,Q,de))},[]);_(()=>{for(let[b,k]of Object.entries(F)){let W=_o(k,I.annotations);W.length>0&&He.current.set(b,W);let Q=new Set(k.styleSelectors);for(let de of W){let ae=I.annotations.find(he=>he.id===de);if(ae&&(ae.linkedSelector&&Q.add(ae.linkedSelector),ae.groupId))for(let he of I.annotations)he.groupId===ae.groupId&&he.linkedSelector&&Q.add(he.linkedSelector)}Q.size>0&&tt.current.set(b,Array.from(Q)),k.threadId&&nt.current.set(b,k.threadId)}},[F,I.annotations]);let Gt=q("");_(()=>{if(I.annotations.length===0)return;let b=Object.keys(F).sort().join(",");if(b===Gt.current)return;Gt.current=b;let k=new Set;for(let Q of Object.values(F))for(let de of _o(Q,I.annotations))k.add(de);let W=I.annotations.flatMap(Q=>{if(k.has(Q.id)||Q.threadId)return[];let de=Q.status??"pending";return de==="in_flight"?[Q.id]:de==="pending"&&Q.captured?[Q.id]:[]});W.length>0&&S({type:"SET_ANNOTATION_STATUS",payload:{ids:W,status:"dismissed"}})},[I.annotations,F,S]);let Yr=Se(()=>{let b=new Set;for(let k of Object.values(F))for(let W of _o(k,I.annotations))b.add(W);return b},[F,I.annotations]),gr=Se(()=>$u(J.events),[J.events]),yr=Se(()=>{let b=new Map,k={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 J.events){if(W.type!=="orientation")continue;let Q=String(W.data.jobId??""),de=W.data.orientation,ae=de?.transition?k[de.transition]:void 0;if(!Q||!ae)continue;let he=F[Q],fe=he?_o(he,I.annotations):He.current.get(Q)??[];for(let Le of fe)b.set(Le,ae)}for(let W of gr)if(F[W])for(let Q of _o(F[W],I.annotations))b.set(Q,"Approval needed");return b},[J.events,F,I.annotations,gr]),vr=Se(()=>{let b=new Set(J.activeJobIds),k=new Set;for(let[W,Q]of Object.entries(F))if(b.has(W))for(let de of _o(Q,I.annotations))k.add(de);return k},[F,J.activeJobIds,I.annotations]),br=Se(()=>eh(J.events,J.lastCompletedJobId),[J.events,J.lastCompletedJobId]),$a=Se(()=>{let b=new Set(ac(Object.keys(F),J.activeJobIds,br)),k=Object.entries(F).filter(([de])=>b.has(de)),W=k.length,Q=new Map;return k.forEach(([,de],ae)=>{let he=`(${ae+1}/${W})`;for(let fe of _o(de,I.annotations))Q.set(fe,he)}),Q},[F,J.activeJobIds,br,I.annotations]),Ul=Se(()=>{let b=new Set(J.activeJobIds),k=new Set(J.activeJobIds.flatMap(Q=>{let de=J.activeJobThreads[Q]??F[Q]?.threadId;return de?[de]:[]})),W=th(Ae,k);for(let[Q,de]of Object.entries(F))if(b.has(Q)&&!(!de.global&&de.routePathnames?.length&&!de.routePathnames.includes(Ne)))for(let ae of de.styleSelectors)W.add(ae);return W},[F,J.activeJobIds,J.activeJobThreads,Ae,Ne]),Kl=Se(()=>{let b=new Map;for(let[k,W]of Object.entries(F))if(W.threadId&&!(!W.global&&W.routePathnames?.length&&!W.routePathnames.includes(Ne)))for(let Q of W.styleSelectors)b.set(Q,k);return b},[F,Ne]),Xl=Se(()=>{let b=new Set(J.activeJobIds),k=new Map;for(let[W,Q]of Object.entries(F))if(b.has(W)&&!(!Q.global&&Q.routePathnames?.length&&!Q.routePathnames.includes(Ne))){for(let de of Q.styleSelectors)k.set(de,Q.color);for(let de of _o(Q,I.annotations)){let ae=I.annotations.find(he=>he.id===de);if(ae&&(ae.linkedSelector&&k.set(ae.linkedSelector,Q.color),ae.groupId))for(let he of I.annotations)he.groupId===ae.groupId&&he.linkedSelector&&k.set(he.linkedSelector,Q.color)}}return k},[F,J.activeJobIds,I.annotations,Ne]),bi=q(I.annotations);bi.current=I.annotations;let go=q(I.styleModifications);go.current=I.styleModifications;let yo=q(F);yo.current=F,_(()=>{let b=null,k=0,W=()=>{let ae=window.location.pathname;cu(go.current.filter(he=>!he.pathname||he.pathname===ae))},Q=()=>{if(Object.keys(yo.current).length>0)return;let ae=bi.current,he=go.current,fe=[],Le=[];for(let _e of ae){if(!_e.linkedSelector||!_e.linkedSelector.startsWith("[data-pm=")||_e.pathname||_e.captured||_e.status&&_e.status!=="pending")continue;let ue=ln(_e.linkedSelector);!ue&&_e.elements?.[0]?.selector&&(ue=ln(_e.elements[0].selector)),ue||fe.push(_e.linkedSelector)}for(let _e of he)_e.pathname&&_e.pathname!==window.location.pathname||ag(_e)||Le.push(_e.selector);(fe.length>0||Le.length>0)&&S({type:"CLEANUP_ORPHANED",payload:{linkedSelectors:fe,styleSelectors:Le}})},de=ju(ae=>{ae.some(he=>he.addedNodes.length>0)&&(window.cancelAnimationFrame(k),k=window.requestAnimationFrame(W)),ae.some(he=>he.removedNodes.length>0)&&(b&&clearTimeout(b),b=setTimeout(Q,3e3))});return()=>{de.disconnect(),window.cancelAnimationFrame(k),b&&clearTimeout(b)}},[S]);let xi=q(typeof window<"u"?window.location.pathname:"/");_(()=>{let b=Q=>{if(Ft.current)return;let de=window.location.pathname;if(Q===de)return;let ae=bi.current.filter(fe=>fe.pathname===Q&&(fe.status??"pending")==="pending");if(console.log(`[Popmelt] Navigation from ${Q} \u2192 ${de}, ${ae.length} pending annotations on departing page`),ae.length===0)return;let he=De.current;if(!he){console.warn("[Popmelt] No canvas ref for capture-on-leave");return}if(Oi(document.body,he,ae,{dpr:1,captureSurfaces:()=>Te.current.captureSurfaces()}).then(fe=>Es(fe)).then(fe=>{fe?(Je.current.set(Q,fe),console.log(`[Popmelt] Cached screenshot for ${Q} (${(fe.size/1024).toFixed(0)}KB)`)):console.warn(`[Popmelt] Capture-on-leave produced no blob for ${Q}`)}).catch(fe=>{console.warn("[Popmelt] Capture-on-leave failed:",fe)}),Je.current.size>20){let fe=[...Je.current.entries()];Je.current=new Map(fe.slice(-10))}},k=Q=>{let de=Q.detail?.prevPath;de&&(b(de),xi.current=window.location.pathname)},W=()=>{let Q=xi.current;b(Q),xi.current=window.location.pathname};return window.addEventListener("popmelt:locationchange",k),window.addEventListener("popstate",W),()=>{window.removeEventListener("popmelt:locationchange",k),window.removeEventListener("popstate",W)}},[]),_(()=>{J.lastCompletedJobId&&J.lastCompletedJobId in F&&ye(b=>{let{[J.lastCompletedJobId]:k,...W}=b;return W})},[J.lastCompletedJobId,F]);let Sn=q(new Set),wi=q(!1);_(()=>{if(!J.isConnected){wi.current=!1;return}if(wi.current)return;wi.current=!0;let b={...yo.current};ha(pe).then(async k=>{if(!k)return;let W=k.activeJobs??[],Q=k.recentJobs??[],de=[...W,...k.queuedJobs??[]],ae=new Set(de.map(fe=>fe.id)),he=new Set;for(let fe of Object.values(b))if(fe.annotationIds)for(let Le of fe.annotationIds)he.add(Le);for(let fe of I.annotations){let Le=fe.status??"pending";(Le==="sending"||Le==="in_flight"||fe.captured&&fe.threadId&&(fe.replyCount??0)===0)&&he.add(fe.id)}ye(fe=>{let Le={...fe},_e=Date.now();for(let Re of Object.keys(Le)){if(Re.startsWith("_pending_")){let Ye=parseInt(Re.replace(/^_pending_(?:reply_)?/,""),10);!isNaN(Ye)&&_e-Ye>3e4&&delete Le[Re];continue}Re in b&&!ae.has(Re)&&(k.queuedJobs!==void 0||Q.some(Ye=>Ye.id===Re))&&delete Le[Re]}for(let Re of de)if(!Le[Re.id]&&(Re.annotationIds?.length||Re.threadId)){let Ye=Re.kind,Mt=Array.from(new Set((Re.annotationIds??[]).map(To=>I.annotations.find(Er=>Er.id===To)?.pathname||Ne).filter(Boolean)));Le[Re.id]={annotationIds:Re.annotationIds??[],styleSelectors:[],color:Ye==="project_model"&&Re.standalone===!0?Nd:Re.color??"#888",threadId:Re.threadId,kind:Ye,routePathnames:Mt.length>0?Mt:void 0,global:Ye==="synthesize"||Ye==="project_model"&&Re.standalone===!0}}let ue=new Set;for(let Re of Q)if(Re.annotationIds)for(let Ye of Re.annotationIds)ue.add(Ye);for(let Re of Object.keys(Le)){if(!Re.startsWith("_pending_"))continue;let Ye=Le[Re];Ye&&Ye.annotationIds.some(Mt=>ue.has(Mt))&&delete Le[Re]}return Le});for(let fe of Q)if(fe.annotationIds?.length&&fe.annotationIds.some(Le=>he.has(Le))&&!Sn.current.has(fe.id)){if(fe.status==="error"){Sn.current.add(fe.id),S({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:fe.annotationIds,threadId:fe.threadId}});continue}if(fe.status==="done")try{let Le=await Bc(pe,fe.id),_e=Le?.events.find(Re=>Re.type==="done"),ue=Le?.events.find(Re=>Re.type==="question");Sn.current.add(fe.id),ue&&typeof ue.question=="string"?S({type:"SET_ANNOTATION_QUESTION",payload:{ids:fe.annotationIds,question:ue.question,threadId:ue.threadId??fe.threadId??""}}):_e&&Array.isArray(_e.resolutions)&&_e.resolutions.length>0?S({type:"APPLY_RESOLUTIONS",payload:{resolutions:_e.resolutions,threadId:_e.threadId??void 0,jobId:fe.id}}):S({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:fe.annotationIds,threadId:_e?.threadId??fe.threadId,jobId:fe.id}})}catch{Sn.current.add(fe.id);let Le=J.pendingQuestions.find(_e=>_e.jobId===fe.id);S(Le?{type:"SET_ANNOTATION_QUESTION",payload:{ids:fe.annotationIds,question:Le.question,threadId:Le.threadId}}:{type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:fe.annotationIds,threadId:fe.threadId,jobId:fe.id}})}}})},[J.isConnected,J.pendingQuestions,pe,S,I.annotations,Ne]),_(()=>{let b=J.events.filter(k=>k.type==="done");for(let k of b){let W=k.data.jobId;if(Sn.current.has(W))continue;if(Ed(J.events,W)==="Has a question"){je(W,"waiting_input","Question");let de=J.pendingQuestions.find(_e=>_e.jobId===W),ae=[...J.events].reverse().find(_e=>_e.type==="question"&&_e.data.jobId===W),he=Array.isArray(k.data.annotationIds)?k.data.annotationIds:Array.isArray(ae?.data.annotationIds)?ae.data.annotationIds:F[W]?.annotationIds??He.current.get(W)??[],fe=de?.question??(typeof ae?.data.question=="string"?ae.data.question:void 0),Le=de?.threadId??(typeof ae?.data.threadId=="string"?ae.data.threadId:void 0)??(typeof k.data.threadId=="string"?k.data.threadId:void 0);fe&&Le&&he.length>0&&(Sn.current.add(W),S({type:"SET_ANNOTATION_QUESTION",payload:{ids:he,question:fe,threadId:Le}}));continue}Sn.current.add(W),je(W,"resolved",Ed(J.events,W));let Q=tt.current.get(W)??F[W]?.styleSelectors??[];if(Q.length>0&&S({type:"SETTLE_CAPTURED_STYLES",payload:{selectors:Q}}),Array.isArray(k.data.resolutions)&&k.data.resolutions.length>0)S({type:"APPLY_RESOLUTIONS",payload:{resolutions:k.data.resolutions,threadId:k.data.threadId,jobId:W}});else{let de=Array.isArray(k.data.annotationIds)?k.data.annotationIds:F[W]?.annotationIds??He.current.get(W)??[];de.length>0&&S({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:de,threadId:k.data.threadId,jobId:W}})}}},[J.events,J.pendingQuestions,S,F,je]),_(()=>{let b=J.events.filter(k=>k.type==="error");for(let k of b){let W=k.data.jobId;if(Sn.current.has(W))continue;Sn.current.add(W),je(W,"failed","Failed");let Q=Array.isArray(k.data.annotationIds)?k.data.annotationIds:F[W]?.annotationIds??He.current.get(W)??[];Q.length!==0&&S({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:Q,threadId:k.data.threadId}})}},[J.events,S,F,je]);let tr=q("__uninitialized__"),vo=R?.participantId,bo=R?.isHost,xr=`${x??"pending"}:participant:${vo??"standalone"}`,[na,Si]=$(null);_(()=>{if(!J.isConnected){tr.current="__uninitialized__";return}if(!oe||Wo!==x)return;let b=new Set(I.annotations.flatMap(he=>he.threadId?[he.threadId]:[])),k=new Set([...Object.values(J.activeJobThreads),...Object.entries(F).filter(([he])=>J.activeJobIds.includes(he)).flatMap(([,he])=>he.threadId?[he.threadId]:[])]),W=I.annotations.filter(he=>{if(!he.threadId||(he.replyCount??0)>0||k.has(he.threadId))return!1;let fe=he.status??"pending";return fe!=="sending"&&fe!=="waiting_input"&&fe!=="needs_review"}),Q=[`plane:${xr}:${bo===!0}`,...W.map(he=>`${he.id}:${he.threadId}`),...Array.from(b).map(he=>`represented:${he}`),...Array.from(k).map(he=>`active:${he}`)].sort().join("|");if(Q===tr.current)return;tr.current=Q;let de=!1,ae=!1;return Kt(`${pe}/threads/recent?limit=200`).then(he=>he.ok?he.json():[]).then(async he=>{if(de)return;let fe=vo?{participantId:vo,isHost:bo}:null,Le=he.filter(we=>zf(we,fe));Si({scope:xr,threadIds:new Set(Le.map(we=>we.id))});let _e=new Set(he.filter(we=>!zf(we,fe)).map(we=>we.id)),ue=nh(Le,Ne,we=>{let St=le.resolve(we);return St?[St.selector]:null}),Re=new Set([...J.activeJobIds,...Object.keys(F)]);hr(rh(Le,k)),Wn(oh(Le)),rn(ih(Le));let Ye=Object.fromEntries(Le.flatMap(we=>we.pendingQuestion?[[we.id,we.pendingQuestion]]:[]));mr(Ye);let Mt=new Set(Object.keys(Ye)),To=new Set(Le.filter(we=>!we.pendingQuestion&&(we.hasReply??(we.messageCount>1&&!we.hasError))).map(we=>we.id)),Er=new Set(Le.filter(we=>we.hasError&&!we.hasReply).map(we=>we.id));for(let we of I.annotations){let St=Le.find($n=>$n.id===we.threadId)?.color;St&&St!==we.color&&S({type:"UPDATE_ANNOTATION_COLOR",payload:{id:we.id,color:St}})}for(let we of I.annotations){if(!we.threadId)continue;let St=Ye[we.threadId];St&&(we.status==="waiting_input"&&we.question===St||S({type:"SET_ANNOTATION_QUESTION",payload:{ids:[we.id],question:St,threadId:we.threadId}}))}for(let we of I.annotations)!we.threadId||!Er.has(we.threadId)||we.status!=="failed"&&S({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:[we.id],threadId:we.threadId}});for(let we of W)!we.threadId||Mt.has(we.threadId)||!To.has(we.threadId)||S({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:[we.id],threadId:we.threadId,jobId:`thread-recovery:${we.threadId}`}});let da=Date.now()-7200*1e3,Zo=Yl(x),ei=Le.filter(we=>(we.hasReply??(we.messageCount>1&&!we.hasError))&&we.updatedAt>=da&&!b.has(we.id)&&!Zo.has(we.id)),ti=await Promise.all(ei.map(async we=>{let St=await Kt(`${pe}/decision/${encodeURIComponent(we.id)}`);if(!St.ok)return[];let $n=(await St.json()).decision;if(!$n?.annotations?.length)return[];let Tr="/";try{Tr=new URL($n.url).pathname}catch{}if(Tr!==Ne)return[];let ni=$n.color??ah("oklch(0.628 0.258 29)",I.annotations,Ne);return $n.annotations.flatMap(Rt=>{if(!Rt.instruction)return[];let Cr=Rt.target?le.resolve(Rt.target)??(Rt.elements?.[0]?le.restore(Rt.target,Rt.elements[0]):null):null,ar=Cr?.selector??Rt.linkedSelector;if(!ar)return[];let jn=Cr?.element??ln(ar)??(Rt.elements?.[0]?.selector?ln(Rt.elements[0].selector):null);if(!jn)return[];let Ar=vn(jn),Gr=$n.resolutions?.find(Zr=>Zr.annotationId===Rt.id);return[{id:Rt.id,type:"text",points:[{x:Ar.left+window.scrollX,y:Ar.top+window.scrollY}],color:ni,strokeWidth:2,text:Rt.instruction,fontSize:12,timestamp:$n.createdAt,captured:!0,status:Gr?.status??"resolved",resolutionSummary:Gr?.summary,replyCount:1,replyJobIds:[`thread-recovery:${we.id}`],threadId:we.id,pathname:Rt.pathname??Tr,elements:Rt.elements,linkedSelector:ar,...Rt.target?{target:Rt.target}:{},linkedAnchor:Ar.top>=26?"top-left":"bottom-left"}]})}));if(de)return;let Co=ti.flat();Co.length>0&&S({type:"MERGE_ANNOTATIONS",payload:{annotations:Co}}),Ee(we=>lh(ue,new Map([...we].filter(([,St])=>!_e.has(St.threadId))),Re)),S({type:"SETTLE_CAPTURED_STYLES",payload:{selectors:[...ue.values()].filter(we=>we.status==="resolved").flatMap(we=>we.selectors??[])}}),ae=!0}).catch(()=>{de||(tr.current="__uninitialized__")}),()=>{de=!0,!ae&&tr.current===Q&&(tr.current="__uninitialized__")}},[J.activeJobIds,J.activeJobThreads,J.isConnected,Ne,S,x,Wo,F,pe,I.annotations,le,oe,vo,bo,xr]);let ra=q(new Set);_(()=>{let b=J.events.filter(k=>k.type==="error"&&k.data.cancelled);for(let k of b){let W=k.data.jobId;if(!W||ra.current.has(W))continue;ra.current.add(W);let Q=F[W];Q&&Q.annotationIds.length>0&&S({type:"SET_ANNOTATION_STATUS",payload:{ids:Q.annotationIds,status:"dismissed"}})}},[J.events,F,S]);let Ur=q(0);_(()=>{let b=J.incrementalResolutions;if(b.length<=Ur.current)return;let k=b.slice(Ur.current);Ur.current=b.length,S({type:"APPLY_RESOLUTIONS",payload:{resolutions:k}})},[J.incrementalResolutions,S]),_(()=>{J.incrementalResolutions.length===0&&(Ur.current=0)},[J.incrementalResolutions.length]);let Ii=B(async()=>{let b=De.current;if(!b)return!1;let k=await Oi(document.body,b,I.annotations,{nativeCapture:ke,captureSurfaces:()=>le.captureSurfaces()});if(k.length===0)return!1;let W=await xm(k,I.annotations,I.styleModifications,I.textModifications,I.domModifications);return W&&S({type:"MARK_CAPTURED"}),W},[I.annotations,I.styleModifications,I.textModifications,I.domModifications,S,ke,le]),Vl=B((b,k)=>{let W=mt.current.get(b)||[];mt.current.set(b,[...W,...k])},[]),ja=B((b,k)=>{let W=new Set(k),Q=(mt.current.get(b)??[]).filter((de,ae)=>!W.has(ae));Q.length>0?mt.current.set(b,Q):mt.current.delete(b)},[]),Jo=B(async()=>{if(R&&!R.canSend)return!1;let b=R?.captureVersion(),k=De.current;if(!k)return!1;ze==="omp"&&Ct("omp");let W=I.annotations.filter(ue=>(ue.status??"pending")==="pending"),Q=I.styleModifications.filter(ue=>!ue.captured&&!ue.awaitingReview&&(!ue.pathname||ue.pathname===Ne)),de=I.textModifications.filter(ue=>!ue.captured&&(!ue.pathname||ue.pathname===Ne)),ae=I.domModifications.filter(ue=>!ue.captured&&(!ue.pathname||ue.pathname===Ne)),he=I.spacingTokenChanges.filter(ue=>!ue.captured);if(W.length===0&&Q.length===0&&de.length===0&&ae.length===0&&he.length===0)return!1;let fe=W.map(ue=>ue.id),Le=!!R?.requiresApproval,_e=!1;return Le&&G(ue=>new Set([...ue,...fe])),sh(fe,S,async()=>{let ue=new Map;for(let We of W){let Lt=We.pathname||Ne;ue.has(Lt)||ue.set(Lt,[]),ue.get(Lt).push(We)}let Re=new Map,Ye=new Map;await Wu(Te.current,ue.get(Ne)??[],Ne,Ye);let Mt=[...ue.keys()].filter(We=>We!==Ne);if(Mt.length>0){let We=Ne,Lt={x:window.scrollX,y:window.scrollY};Ft.current=!0;for(let Et of Mt)try{let Yn=Je.current.get(Et),ri=ue.get(Et)||[];if(Yn&&!ri.some(ca=>ca.target)){Re.set(Et,Yn),console.log(`[Popmelt] Reusing cached departing-page screenshot for ${Et}`);continue}if(console.log(`[Popmelt] Navigating to ${Et} for screenshot capture`),await Fd(Et,i),window.location.pathname!==Et){console.warn(`[Popmelt] Navigation to ${Et} did not take effect (at ${window.location.pathname})`);continue}await Wu(Te.current,ri,Et,Ye);let oi=await Oi(document.body,k,ri,{dpr:1,nativeCapture:ke,captureSurfaces:()=>le.captureSurfaces()}),to=await Es(oi);to&&(Re.set(Et,to),console.log(`[Popmelt] Captured ${Et} (${(to.size/1024).toFixed(0)}KB)`))}catch(Yn){console.warn(`[Popmelt] Failed to capture ${Et}:`,Yn)}await Fd(We,i),window.scrollTo(Lt.x,Lt.y),Ft.current=!1}let To=W.filter(We=>(We.pathname||Ne)===Ne),Er=await Oi(document.body,k,To.length>0?I.annotations:[],{dpr:1,nativeCapture:ke,captureSurfaces:()=>le.captureSurfaces()});if(Er.length>0){let We=await Es(Er);We&&Re.set(Ne,We)}if(Re.size===0)return!1;let da=lc({annotations:I.annotations,styleModifications:I.styleModifications,textModifications:I.textModifications}),Zo=We=>{let Lt=da.modificationNumberByKey.get(Ih(We));return Lt===void 0?We:{...We,annotationNumber:Lt}},ei=Q.map(Zo),ti=de.map(Zo),Co;if(c)try{Co=Hc(await c({kind:"annotation",timestamp:Date.now(),url:window.location.href,pathname:Ne,annotations:W}))}catch(We){return console.error("[Popmelt] Unable to capture comment metadata:",We),!1}let we=Nc(W,ei,void 0,he.length>0?he:void 0,ti,ae,Co),St=xy(we,W,mt.current);wy(we,St,Ye,Ne);let $n=JSON.stringify(we),Tr=ue.size>1;console.log(`[Popmelt] Submit: ${ue.size} page(s), ${Re.size} screenshot(s), pages: [${[...ue.keys()].join(", ")}], cached: [${[...Je.current.keys()].join(", ")}]`);let ni=Tr?Re:Re.get(Ne)??Re,Rt=[...Q.map(We=>We.selector),...de.map(We=>We.selector),...ae.map(We=>We.selector)],Cr=Array.from(new Set([...W.map(We=>We.pathname||Ne),...Q.map(We=>We.pathname||Ne),...de.map(We=>We.pathname||Ne),...ae.map(We=>We.pathname||Ne)])),ar=dh(W,I.activeColor),jn=[...Rt,...W.flatMap(We=>We.linkedSelector?[We.linkedSelector]:[])],Ar=ch(jn,I.annotations.filter(We=>(We.pathname||Ne)===Ne),ln),Gr=ps(jn,Ae,Ar?.color??ar,ln),Zr=Ar?.threadId??uh(jn,Ae),Ka=Ar?.targetBindingId??ph(jn,Ae),eo=_c(Gr),Bn=`_pending_${Date.now()}`,Ao={annotationIds:fe,styleSelectors:Rt,color:Gr,threadId:void 0,routePathnames:Cr};if(!Le){try{let We=JSON.parse(localStorage.getItem(M)||"{}");We[Bn]=Ao,localStorage.setItem(M,JSON.stringify(We))}catch{}ye(We=>({...We,[Bn]:Ao}))}try{let We=R?await R.send({screenshots:ni,feedbackJson:$n,color:eo,provider:ze,model:Yt.id,pastedImages:St.size>0?St:void 0,sourceId:_s(),agentSettings:_n},b):await Yc(ni,$n,pe,eo,ze,Yt.id,St.size>0?St:void 0,_s(),_n,Zr,Ar?.selectorAliases,Ka);if("pendingApproval"in We){_e=!0,We.threadId&&S({type:"SET_ANNOTATION_THREAD",payload:{ids:W.map(ct=>ct.id),threadId:We.threadId}});try{let ct=JSON.parse(localStorage.getItem(M)||"{}");delete ct[Bn],localStorage.setItem(M,JSON.stringify(ct))}catch{}return ye(ct=>{let{[Bn]:gn,...no}=ct;return no}),!1}let{jobId:Lt,threadId:Et,color:Yn,continuedThread:ri,continuationEligible:oi,targetBindings:to=[]}=We,ca=ct=>to.find(gn=>ct.target?gn.anchor.type==="opaque"&&gn.anchor.adapter===ct.target.adapter&&gn.anchor.key===ct.target.key:!ct.linkedSelector||gn.anchor.type!=="dom"?!1:[gn.anchor.runtimeSelector,gn.anchor.structuralSelector,...gn.anchor.legacySelectors??[]].includes(ct.linkedSelector))?.id;Et&&ft(Et,Lt,we,ni,St.size>0?St:void 0);for(let ct of St.keys())mt.current.delete(ct);for(let ct of ue.keys())Je.current.delete(ct);let Mr=Yn??Gr,Xa={...Ao,color:Mr,threadId:Et};try{let ct=JSON.parse(localStorage.getItem(M)||"{}");delete ct[Bn],ct[Lt]=Xa,localStorage.setItem(M,JSON.stringify(ct))}catch{}if(ye(ct=>{let{[Bn]:gn,...no}=ct;return{...no,[Lt]:Xa}}),Et&&Rt.length>0&&Ee(ct=>{let gn=new Map(ct),no=new Set;for(let Qt of to){if(Qt.anchor.type!=="dom")continue;let Un=[Qt.anchor.runtimeSelector,Qt.anchor.structuralSelector,...Qt.anchor.legacySelectors??[]].filter(ii=>!!ii),Rr=Rt.find(ii=>Un.includes(ii));if(!Rr)continue;no.add(Rr);let ua=[...ei,...ti].find(ii=>ii.selector===Rr);gn.set(Qt.id,{jobId:Lt,threadId:Et,status:"in_flight",color:Mr,continuationEligible:Qt.continuationEligible??oi,targetBindingId:Qt.id,selectors:Un,targetFingerprint:Qt.anchor.targetFingerprint,annotationNumber:ua?.annotationNumber})}for(let Qt of Rt){if(no.has(Qt))continue;let Un=[...ei,...ti].find(Rr=>Rr.selector===Qt);gn.set(`job:${Lt}:${Qt}`,{jobId:Lt,threadId:Et,status:"in_flight",color:Mr,continuationEligible:oi,selectors:[Qt],annotationNumber:Un?.annotationNumber})}return gn}),S({type:"MARK_CAPTURED",payload:{annotationIds:fe}}),Et&&fe.length>0){for(let ct of fe)S({type:"UPDATE_ANNOTATION_COLOR",payload:{id:ct,color:Mr}});for(let ct of W)S({type:"SET_ANNOTATION_THREAD",payload:{ids:[ct.id],threadId:Et,targetBindingId:ca(ct)}})}return ri||S({type:"SET_COLOR",payload:fh({color:Mr,threadId:Et??`job:${Lt}`,annotationIds:fe,annotations:I.annotations,pathname:Ne})}),!0}catch(We){try{let Lt=JSON.parse(localStorage.getItem(M)||"{}");delete Lt[Bn],localStorage.setItem(M,JSON.stringify(Lt))}catch{}return ye(Lt=>{let{[Bn]:Et,...Yn}=Lt;return Yn}),console.error("[Pare] Failed to send to bridge:",We),!1}}).then(ue=>(Le&&!_e&&!ue&&(G(Re=>{let Ye=new Set(Re);for(let Mt of fe)Ye.delete(Mt);return Ye}),V(++Y.current)),ue))},[I.annotations,I.styleModifications,I.textModifications,I.domModifications,I.spacingTokenChanges,I.activeColor,S,pe,ze,Yt.id,_n,Ne,i,ft,ke,Ae,Ct,le,c,R,M]),Pa=B(()=>hh(yt,Jo,!1),[Jo]),za=py(e&&t&&J.isConnected&&!R,pe,x,I,{provider:ze,model:Yt.id,agentSettings:_n}),kt=R?.view?{...za,...R.view,toolbar:H}:za;z.current=kt.activePreview;let{onFocus:Da,onActivity:Oa,onThread:nr}=Vg(R?.reportAttention,R?.viewedParticipantId??R?.participantId??"",I.activeColor,!!(R?.canReadThreads&&I.isAnnotating&&!kt.isPeeking)),Ql=B(b=>{Fe(b),Da(b)},[Fe,Da]),Ht=B(()=>{Be(),Oa()},[Be,Oa]),oa=B(async(b,k,W,Q)=>{if(R&&!R.canReply)throw new Error("Edit permission is required to send thread messages.");ze==="omp"&&Ct("omp"),Mn(ue=>({threadId:b,sequence:(ue?.sequence??0)+1})),mr(ue=>{if(!(b in ue))return ue;let Re={...ue};return delete Re[b],Re});let de=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")),he=ae.map(ue=>ue.id),fe;if(c)try{fe=Hc(await c({kind:"reply",timestamp:Date.now(),url:window.location.href,pathname:Ne,threadId:b,reply:k,annotations:ae}))}catch(ue){console.error("[Popmelt] Unable to capture reply metadata:",ue);return}let Le=`_pending_reply_${Date.now()}`,_e={annotationIds:he,styleSelectors:[],color:de,threadId:b};try{let ue=JSON.parse(localStorage.getItem(M)||"{}");ue[Le]=_e,localStorage.setItem(M,JSON.stringify(ue))}catch{}ye(ue=>({...ue,[Le]:_e}));try{let ue=_c(de),{jobId:Re}=await km(b,k,pe,ue,ze,Yt.id,W,_s(),_n,{...Q,...fe?{meta:fe}:{}}),Ye={..._e};try{let Mt=JSON.parse(localStorage.getItem(M)||"{}");delete Mt[Le],Mt[Re]=Ye,localStorage.setItem(M,JSON.stringify(Mt))}catch{}return ye(Mt=>{let{[Le]:To,...Er}=Mt;return{...Er,[Re]:Ye}}),Ee(Mt=>mh(Mt,b,Re)),ae.length>0&&S({type:"SET_ANNOTATION_STATUS",payload:{ids:he,status:"in_flight"}}),ve(b),{jobId:Re}}catch(ue){try{let Re=JSON.parse(localStorage.getItem(M)||"{}");delete Re[Le],localStorage.setItem(M,JSON.stringify(Re))}catch{}throw ye(Re=>{let{[Le]:Ye,...Mt}=Re;return Mt}),console.error("[Pare] Failed to send reply:",ue),ue}},[I.activeColor,I.annotations,pe,ve,S,ze,Yt.id,_n,Ct,c,Ne,R,M]);_(()=>{for(let b of J.pendingQuestions){je(b.jobId,"waiting_input","Question");let k=b.annotationIds&&b.annotationIds.length>0?b.annotationIds:F[b.jobId]?.annotationIds??He.current.get(b.jobId);if((!k||k.length===0)&&b.threadId&&(k=I.annotations.filter(W=>W.threadId===b.threadId).map(W=>W.id)),k&&k.length>0){let W=new Set(k),Q=I.annotations.filter(de=>W.has(de.id));if(Q.length===0||Q.every(de=>de.status==="waiting_input"&&de.question===b.question&&de.threadId===b.threadId))continue;S({type:"SET_ANNOTATION_QUESTION",payload:{ids:k,question:b.question,threadId:b.threadId}})}}},[J.pendingQuestions,S,F,I.annotations,je]);let Gl=Se(()=>{if(J.activeJobId&&J.activeJobId in F)return F[J.activeJobId].color;let b=Object.values(F);return b.length>0?b[b.length-1].color:void 0},[J.activeJobId,F]),wr=B((b,k=!1)=>{un(W=>W+1),!k&&I.activeTool==="model"&&S({type:"SET_TOOL",payload:"inspector"}),Ut({type:"open_thread",threadId:b})},[Ut,S,I.activeTool]),ki=B(b=>{X&&wr(b)},[wr,X]),fn=B(()=>{Ut({type:"close_thread"})},[Ut]),xo=R?.deletePeerThread,wo=R?.deletedPeerThreadIds,Zl=Se(()=>new Set([...ht,...wo??[]]),[ht,wo]);_(()=>{Oe&&wo?.includes(Oe)&&fn()},[Oe,wo,fn]),_(()=>{if(!xo||!I.isAnnotating||!Oe)return;let b=k=>{!["Delete","Backspace"].includes(k.key)||k.metaKey||k.ctrlKey||k.altKey||Rm(k)||(k.preventDefault(),k.stopImmediatePropagation(),xo(Oe).then(fn).catch(()=>{}))};return window.addEventListener("keydown",b,!0),()=>window.removeEventListener("keydown",b,!0)},[xo,Oe,I.isAnnotating,fn]);let es=R?.requestedThread;xS(kt.selectedId,es,fn,ki);let qo=B(async b=>(await Kt(`${pe}/thread/${encodeURIComponent(b)}`)).status,[pe]),Nt=B(b=>{Ut({type:"restore_thread",threadId:b,...Cn.current})},[Ut]);fy(R?.navigation,kt.selectedId,J.isConnected&&X,Oe??Zn??Ot,cn,qo,Nt);let[Rn,Pt]=$(0),rr=yy(`${x}:${Rn}`,async b=>{if(!(await Tm(b,pe)).archived)throw new Error("Thread not found")},b=>Em(b,pe),I.undoStack.at(-1));w.current=rr.tryUndo;let Ei=B(b=>{if(R&&!R.isHost){xo?.(b).catch(()=>{});return}if(Object.values(F).some(ae=>ae.threadId===b))return;Oe===b&&fn();let k=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&&k.has(ae.groupId)).map(ae=>ae.id),Q=I.annotations.filter(ae=>W.includes(ae.id)),de=Array.from(Ae.entries()).filter(([,ae])=>ae.threadId===b);W.length>0&&S({type:"SET_ANNOTATION_STATUS",payload:{ids:W,status:"dismissed"}}),Ee(ae=>new Map(Array.from(ae.entries()).filter(([,he])=>he.threadId!==b))),wn(ae=>new Set(ae).add(b)),Of([b],x),rr.dismiss(b,()=>{for(let ae of Q)S({type:"SET_ANNOTATION_STATUS",payload:{ids:[ae.id],status:ae.status??"resolved"}});if(Ee(ae=>{let he=new Map(ae);for(let[fe,Le]of de)he.has(fe)||he.set(fe,Le);return he}),wn(ae=>{let he=new Set(ae);return he.delete(b),he}),x)try{let ae=Yl(x);ae.delete(b),localStorage.setItem(ji(Bl,x),JSON.stringify([...ae]))}catch{}})},[fn,S,x,I.annotations,rr,F,Ae,Oe,R,xo]),Bo=B((b,k,W)=>{let Q=F[b],de=tt.current.get(b),ae=Q?.annotationIds??W??[];if(Q||ae.length>0){let fe=new Set(Q?.styleSelectors??[]);for(let Le of ae){let _e=I.annotations.find(ue=>ue.id===Le);if(_e&&(_e.linkedSelector&&fe.add(_e.linkedSelector),_e.groupId))for(let ue of I.annotations)ue.groupId===_e.groupId&&ue.linkedSelector&&fe.add(ue.linkedSelector)}fe.size>0&&(de=Array.from(fe))}de?.length&&MS(de);let he=Q?.threadId||k||nt.current.get(b);if(he){let fe=Q?.kind==="project_model"&&(Q.annotationIds?.length??0)===0;Wr.current=fe?Nd:Q?.color??null,wr(he,Q?.kind==="synthesize")}},[F,wr,I.annotations]),So=B((b,k)=>{if(!b){mo(null);return}let W=k??He.current.get(b);W&&W.length>0?mo(new Set(W)):mo(null)},[]),Yo=B(async b=>{try{let k=b?`${pe}/cancel?jobId=${b}`:`${pe}/cancel`;await Kt(k,{method:"POST"})}catch{}},[pe]),Ti=B(async()=>{Gn("restarting"),sn("Restarting bridge");let b=await Cm(pe,fs,2e4);if(b.ok){await Wg(b.bridgeUrl??r,x),On(b.status.version??fs),Gn("ok"),sn(b.status.version?`Bridge restarted on ${b.status.version}`:"Bridge restarted"),lt(k=>k+1);return}On(b.status?.version??xt),Gn("error"),sn(b.error)},[xt,r,x,pe]),ia=Se(()=>{if(!Oe)return null;for(let b of Object.values(F))if(b.threadId===Oe&&b.kind){if(b.kind==="project_model"&&b.annotationIds.length>0)continue;return b.kind}return null},[Oe,F]),Io=ia==="project_model",Kr=ia==="synthesize",{surface:Xr,phase:Ha,show:Uo,leave:Ko,dismiss:Xo}=gh({openDelayMs:0,exitDurationMs:hs}),Sr=q(new Set),[aa,Vr]=$(()=>new Set),Vo=B((b,k)=>{k?Sr.current.add(b):Sr.current.delete(b),Vr(new Set(Sr.current)),Sr.current.size>0?Uo("toolbar"):Ko("toolbar")},[Ko,Uo]),Ir=yS({toolbarExpanded:I.isAnnotating,toolbarSources:aa,chromeHoverSurface:Xr,chromeHoverPhase:Ha,activeTool:I.activeTool,peerPlanePeeking:kt.isPeeking}),or=Ir.threadTemporarilyHidden,Na=q(Oe);_(()=>{Xr&&gS(Na.current,Oe,Xr)&&Xo(Xr),Na.current=Oe},[Xr,Xo,Oe]),_(()=>{Ut(I.activeTool==="model"?{type:"enter_imprint",preserveOpenThread:Kr}:{type:"leave_imprint"})},[Ut,I.activeTool,Oe,Kr]),_(()=>{Ut({type:I.isAnnotating?"expand_toolbar":"collapse_toolbar"})},[Ut,I.isAnnotating]);let Jt=Se(()=>yh(Oe,F,J.activeJobIds,J.activeJobThreads,br),[Oe,F,J.activeJobIds,J.activeJobThreads,br]),Ln=Oe?I.annotations.find(b=>b.threadId===Oe):void 0,hn=Oe?Array.from(Ae.values()).find(b=>b.threadId===Oe&&b.color)?.color:void 0,_a=Oe?pt.current.get(Oe):void 0,mn=Se(()=>{if(!Oe)return null;let b=[...J.events].reverse().find(k=>(k.type==="done"||k.type==="error")&&k.data.threadId===Oe);return typeof b?.data.jobId=="string"?b.data.jobId:null},[J.events,Oe]),ir=Se(()=>Jt?J.events.filter(b=>b.data.jobId===Jt):wS,[Jt,J.events]),Jn=Se(()=>Io?Nd:hn??Ln?.color??Wr.current??I.activeColor,[Io,Ln?.color,hn,I.activeColor]),ko=!!(x&&Wo===x),Eo=Se(()=>vS(I.annotations,ht,ko?Ae.values():[]),[ht,ko,Ae,I.annotations]),Qo=Se(()=>vh(Ae,ht,Eo,ko),[ht,ko,Ae,Eo]),Fa=Se(()=>{let b=new Map;for(let k of I.annotations)k.threadId&&k.color&&b.set(k.threadId,k.color);for(let k of Ae.values())k.threadId&&k.color&&b.set(k.threadId,k.color);return b},[Ae,I.annotations]),ts=[...Qo.values()].find(b=>b.threadId===Oe)?.annotationNumber,la=sc({state:I,activeText:null,currentPathname:Ne,dismissedThreadIds:ht,modifiedElementThreadStates:Qo}),Wa=dc({state:I,pageAnnotations:la.pageAnnotations,pageStyleModifications:la.pageStyleModifications,pageTextModifications:la.pageTextModifications}),Ja=gw(Ln?Wa.annotationGroupMap.get(Ln.id):void 0,ts,{activePreview:!!kt.activePreview,annotationNumber:Oe?kt.threadAnnotationNumbers?.get(Oe):void 0}),qa=B(b=>{if(!Oe)return;let k=bS(Eo,Oe,b);k&&wr(k)},[Eo,Oe,wr]),Ci=Oe!==null&&Eo.length>1&&Eo.includes(Oe),[sa,Ai]=$(!1),Qr=q(!1),qn=q(null),Mi=B(b=>{b?(qn.current&&(clearTimeout(qn.current),qn.current=null),Ai(!0)):qn.current=setTimeout(()=>{Ai(!1),qn.current=null},150)},[]),Ba=B(b=>{Mi(b),b?Uo("job-stack"):Sr.current.size>0?Uo("toolbar"):Ko("job-stack")},[Mi,Ko,Uo]);_(()=>{if(R)return;let b=J.workspaceGeneration;if(!x||b===void 0||!Number.isInteger(b)||b<0)return;let k=cc(localStorage,x);if(k!==null&&b<k)return;let W=bh(k,b);if(localStorage.setItem(uc(x),String(b)),!W)return;if(Qr.current){Qr.current=!1;return}du(I.styleModifications),og(I.textModifications),ig(I.domModifications),document.querySelectorAll("[data-pm]").forEach(de=>de.removeAttribute("data-pm")),S({type:"CLEAR"}),S({type:"CLEAR_ALL_STYLES"});let Q=xh(x);for(let de of[Q.annotations,Q.styleMods,Q.textMods,Q.domMods,Q.spacingChanges])localStorage.removeItem(de);ms(localStorage),mt.current.clear(),Je.current.clear(),ye({}),Ee(new Map),Mn(null),hr(new Set),Wn(new Set),rn(new Set),mr({}),wn(new Set),Pt(de=>de+1),$e(),fn()},[J.workspaceGeneration,$e,fn,S,x,R,I.domModifications,I.styleModifications,I.textModifications]);let Ya=B(()=>{ms(localStorage),mt.current.clear(),Je.current.clear();let b=Array.from(new Set(I.annotations.flatMap(k=>k.threadId?[k.threadId]:[])));Of(b,x),wn(k=>{let W=new Set(k);for(let Q of b)W.add(Q);return W}),Qr.current=!0,Am(pe).then(({workspaceGeneration:k})=>{if(x){let W=cc(localStorage,x);(W===null||k>W)&&localStorage.setItem(uc(x),String(k))}Qr.current=!1}).catch(k=>{Qr.current=!1,console.warn("[Popmelt] Failed to clear bridge workspace:",k)}),Pt(k=>k+1),$e(),fn(),Yo()},[$e,fn,x,Yo,pe,I.annotations]);_(()=>()=>{qn.current&&clearTimeout(qn.current)},[]);let[Ua,Go]=$(!1);if(_(()=>{Go(!0)},[]),!e||!Ua)return null;let kr=u(tc.Provider,{value:t?kt.toolbar??H:null,children:C(Jx,{children:[u(wh.Provider,{value:X?ki:void 0,children:kt.overlay}),I.isAnnotating&&J.isConnected&&!kt.isPeeking&&!kt.activePreview&&u(Uc,{element:st,elements:Ve,registry:le}),u(Hi.Provider,{value:!kt.activePreview&&!kt.isPeeking,children:u("div",{"data-devtools":"host-canvas",style:{display:kt.isPeeking||kt.activePreview?"none":"contents"},children:u(Sx,{historyPreview:Xt,onFocusTargetChange:Ql,onFocusActivity:Ht,bridgeUrl:pe,steeringContextStorageKey:x?r0(x):void 0,state:kt.activePreview?{...I,isAnnotating:!1,annotations:[],styleModifications:[],textModifications:[],domModifications:[]}:I,dispatch:S,onScreenshot:Ii,inFlightAnnotationIds:Yr,inFlightOrientationLabels:yr,waitingApprovalJobIds:gr,activeAnnotationIds:vr,queuePositionMap:$a,inFlightStyleSelectors:Ul,inFlightStyleSelectorJobIds:Kl,inFlightSelectorColors:Xl,modifiedElementThreadStates:Qo,dismissedThreadIds:ht,onAttachImages:Vl,onRemoveImages:ja,onCaptureInteractionFrame:Ue,onSend:J.isConnected&&(!R||R.canSend)?Pa:void 0,onReply:J.isConnected&&(!R||R.canReply)?oa:void 0,onViewThread:J.isConnected&&X?ki:void 0,onCloseThread:fn,onArchiveThread:Ei,onDeleteSubmittedAnnotation:R&&!R.isHost&&R.deletePeerAnnotations?b=>{R.deletePeerAnnotations(R.participantId,[b]).catch(()=>{})}:void 0,highlightedAnnotationIds:ho,cycleFocusedAnnotationIds:dn,onCanvasInteraction:pr,focusedThreadAnnotationId:Ln?.id,openThreadId:Oe,hasOpenThread:Oe!==null,externalCanvasRef:De,toolbarRef:et,threadPanelElement:or?null:rt,clearSignal:Rn,subjectRegistry:le,subjectRegistryReady:oe},`annotation-canvas:${x??"pending"}`)})}),u(Kx,{zIndex:Oe!==null&&!or?10004:10003,children:C(Bx,{children:[u(Sh,{onPreviewHistoryThread:En,threadOpenRequest:fr,projectId:x,state:I,hasExternalSendableItems:!!(kt.activePreview&&kt.approve),readOnlyPreview:kt.activePreview,dispatch:b=>{(!kt.activePreview||b.type==="SET_ANNOTATING")&&S(b)},onScreenshot:Ii,onSendToClaude:kt.activePreview?kt.approve:J.isConnected&&(!R||R.canSend)?Pa:void 0,hasActiveJobs:Object.keys(F).length>0||J.activeJobIds.length>0,activeJobColor:Gl,onCrosshairHover:Mi,onClear:Ya,provider:ze,onProviderChange:!dt&&J.isConnected&>.length>1?_r:void 0,availableProviders:gt,modelIndex:qt,modelCount:zt.length,modelLabel:Yt.label,models:zt,agentSettings:_n,onModelChange:!dt&&J.isConnected?gi:void 0,onModelMenuOpen:()=>{Ct(ze)},onAgentSettingsChange:J.isConnected?Wt:void 0,onViewThread:J.isConnected&&X?ki:void 0,onNavigate:Fo,annotationCycleFocus:Fn,onAnnotationCycleFocusChange:Tn,isThreadPanelOpen:Oe!==null&&!or&&!Kr,hasOpenThreadPanel:Oe!==null&&!Kr,projectPanelTemporarilyHidden:Ir.projectPanelTemporarilyHidden,onToolbarHoverChange:Vo,activeChromeHoverSurface:Xr,mcpStatus:tn,bridgeUrl:pe,isBridgeConnected:J.isConnected,packageVersion:fs,bridgeVersion:xt,projectRoot:nn,projectRootAccess:Bt?.projectRoot,codexSandboxMode:Bt?.codex.sandboxMode,bridgeRestartState:Vt,bridgeRestartMessage:po,onBridgeRestart:Ti,toolbarRef:et,snapPosition:xn,onSnapPositionChange:jt},`annotation-toolbar:${x??"pending"}`),X&&I.isAnnotating&&Oe&&u(hS,{onAttentionChange:nr,threadId:Oe,bridgeUrl:pe,accentColor:Jn,initialMessages:_a?[_a.message]:void 0,completedJobId:mn,refreshKey:`${R?.pendingSubmissions?.find(b=>b.threadId===Oe)?.revision??""}:${J.events.findLast(b=>b.type==="thread_changed"&&b.data.threadId===Oe)?.data.jobId??""}`,isStreaming:Jt!==null,isQueued:Jt!==null&&!J.activeJobIds.includes(Jt)&&!br.has(Jt),queuePosition:Jt&&!J.activeJobIds.includes(Jt)&&!br.has(Jt)?(()=>{let b=ac(Object.keys(F),J.activeJobIds,br),k=b.indexOf(Jt);return k>=0?`(${k+1}/${b.length})`:void 0})():void 0,activeJobId:Jt,streamingEvents:ir,onClose:fn,onReply:te?oa:void 0,onContribute:R?.contribute,onApproveSuggestion:R?.approveSuggestion,canManage:D,readOnlyReason:te?void 0:"Edit permissions required to comment in threads",onCancel:D&&Jt?()=>Yo(Jt):void 0,lastError:J.lastErrorByJob?.[Jt??""]??(J.lastCompletedJobId&&nt.current.get(J.lastCompletedJobId)===Oe?J.lastErrorByJob?.[J.lastCompletedJobId]:void 0),temporarilyHidden:or,instantVisibilityHandoff:Ir.toolbarPaneVisible,backdropCursor:I.isAnnotating&&I.activeTool==="sticker"?pc(Jn):void 0,toolbarRef:et,surfaceRef:ge,currentModel:Yt.id,currentProvider:ze,availableProviders:gt,models:zt,modelIndex:qt,agentSettings:_n,onProviderChange:!dt&&J.isConnected?_r:void 0,onModelChange:!dt&&J.isConnected?gi:void 0,onAgentSettingsChange:J.isConnected?Wt:void 0,onModelMenuOpen:()=>{Ct(ze)},annotationNumber:Ja,annotationText:Ln?.text,onPreviousThread:Ci?()=>qa(-1):void 0,onNextThread:Ci?()=>qa(1):void 0,preferredSide:Io?"left":"right",modal:!Io},`${Oe}:${Io?"workflow":"default"}`),X&&u(Fx,{noticeScope:xr,ownedThreadIds:na?.scope===xr?na.threadIds:null,allowThreadlessNotices:!R||R.isHost,viewedThreadId:Oe,bridge:J,bridgeUrl:pe,inFlightJobs:F,threadColors:Fa,isVisible:sa||J.lastResponseText!==null||J.activeJobIds.length>0,isHidden:!I.isAnnotating||kt.isPeeking||kt.activePreview,onHover:Ba,isInteractionSuppressed:Ir.statusInteractionSuppressed,clearSignal:Rn,onReply:te?oa:void 0,onClickJob:Bo,onCancel:D?Yo:void 0,onHoverJob:So,isConnected:J.isConnected,dismissedThreadIds:Zl,acknowledgedThread:Jr,recoveredAcknowledgedThreadIds:qr,recoveredAcknowledgedJobIds:fo,recoveredSettledQuestionThreadIds:Br,pendingQuestionThreadIds:vi,snapPosition:xn,currentPathname:Ne},xr)]})})]})});return u(Mm.Provider,{value:N,children:kr})}export{_g as a,LS as b};
|