diff --git "a/assets/ArtifactWorkspace-DIs18Bwk.js" "b/assets/ArtifactWorkspace-DIs18Bwk.js" new file mode 100644--- /dev/null +++ "b/assets/ArtifactWorkspace-DIs18Bwk.js" @@ -0,0 +1,158 @@ +var YN=Object.defineProperty;var YA=n=>{throw TypeError(n)};var JN=(n,e,t)=>e in n?YN(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var re=(n,e,t)=>JN(n,typeof e!="symbol"?e+"":e,t),B0=(n,e,t)=>e.has(n)||YA("Cannot "+t);var f=(n,e,t)=>(B0(n,e,"read from private field"),t?t.call(n):e.get(n)),R=(n,e,t)=>e.has(n)?YA("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),C=(n,e,t,s)=>(B0(n,e,"write to private field"),s?s.call(n,t):e.set(n,t),t),T=(n,e,t)=>(B0(n,e,"access private method"),t);var ps=(n,e,t,s)=>({set _(i){C(n,e,i,t)},get _(){return f(n,e,s)}});import{e as Da,r as G,j as S,B as ee,V as O_,F as rn,_ as em,W as Wy,L as JA,X as N_,Y as QN,h as EC,C as eL}from"./index-CHO6BifZ.js";import{u as CC,P as $C,b as TC,M as tL,R as nL,W as sL,d as L_,A as iL,l as rL,J as oL,K as aL,L as lL,N as PC,O as cL}from"./chatLaunch-BJx_xGnn.js";/* empty css */import{H as Gy,a as Ky,b as Zy}from"./hover-card-ZLvvmDBQ.js";import{u as ya}from"./useQuery-CI2W4USA.js";import{f as hL,p as uL,T as dL}from"./github-MuSd6ciS.js";import{G as Xy}from"./github-Dw4LNjUW.js";import{r as fL,a as pL,P as D_,c as mL}from"./PaperPreviewLink-CV0skFLE.js";import{M as gL,d as yL}from"./index-uM0VIG30.js";import{r as vL}from"./index-CbdWqs74.js";import{c as QA}from"./chat-DDv_-5EB.js";import{C as bL}from"./copy-ggRqgqgA.js";import{F as wL}from"./file-text-CLi6pWHd.js";import{u as tm}from"./useMutation-CIjRFyTx.js";import{E as RC}from"./external-link-C6gbp4u6.js";/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ek=Da("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const F_=Da("FileCode2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _L=Da("FilePlus2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M3 15h6",key:"4e2qda"}],["path",{d:"M6 12v6",key:"1u72j0"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const SL=Da("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const MC=Da("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const AL=Da("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const kL=Da("ThumbsDown",[["path",{d:"M17 14V2",key:"8ymqnk"}],["path",{d:"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z",key:"m61m77"}]]);/** + * @license lucide-react v0.462.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const xL=Da("ThumbsUp",[["path",{d:"M7 10v12",key:"1qc93n"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}]]);function Yy({selection:n,editable:e=!1,onRemove:t}){const s=G.useId(),i=G.useRef(null),[r,o]=G.useState(!1),[a,l]=G.useState(!1),c=`Selection · Page ${n.page}`;return G.useEffect(()=>{const h=i.current;!h||r||l(h.scrollHeight>h.clientHeight+1)},[r,n.text]),S.jsxs("div",{className:`chat-paper-selection${e?" is-editable":""}`,children:[S.jsxs("div",{className:"chat-paper-selection-header",children:[S.jsx("span",{className:"chat-paper-selection-label",children:c}),S.jsxs("div",{className:"chat-paper-selection-actions",children:[(a||r)&&S.jsx("button",{type:"button",className:"chat-paper-selection-toggle","aria-expanded":r,"aria-controls":s,onClick:()=>o(h=>!h),children:r?"Collapse":"Expand"}),e&&t&&S.jsx("button",{type:"button",className:"chat-paper-selection-remove","aria-label":"Remove selected paper passage",onClick:t,children:"Remove"})]})]}),S.jsx("blockquote",{id:s,ref:i,className:`chat-paper-selection-quote${r?" is-expanded":""}`,children:n.text})]})}const EL=rL(),Ate=({onSend:n,busy:e,placeholder:t,autoFocus:s,draft:i,onDraftChange:r,onStop:o,models:a=[],selectedModel:l,onModelChange:c,disabled:h=!1,describedBy:u,paperMentionsEnabled:d=!1,paperSelectionEnabled:p=!0,webSearchAvailable:m=!1,webSearchEnabled:g=!1,onWebSearchChange:v,reasoningEffort:y="low",onReasoningEffortChange:w,paperArtifactsEnabled:_=!1})=>{const[k,A]=G.useState(EL),$=i??k,E=G.useRef(null),[O,F]=G.useState(0),B=X=>{i||A(X),r==null||r(X)},L=CC({draft:$,onChange:B,enabled:d,textareaRef:E});G.useEffect(()=>{const X=E.current;X&&(X.style.height="auto",X.style.height=`${Math.min(X.scrollHeight,200)}px`)},[$.text]),G.useEffect(()=>{var X;s&&((X=E.current)==null||X.focus())},[s]);const z=()=>{const X=$.text.length-$.text.trimStart().length,J=$.text.trim(),se=!!$.paperSelection&&!p;if(!J||e||h||se)return;const de=X+J.length,H={text:J,paperMentions:$.paperMentions.filter(P=>P.start>=X&&P.end<=de).map(P=>({...P,start:P.start-X,end:P.end-X})),...$.paperSelection?{paperSelection:$.paperSelection}:{}};n(H)},K=!!$.paperSelection&&!p,D=!!$.text.trim()&&!K,Q=_&&$.text==="/";return S.jsxs("div",{className:"chat-composer ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true",children:[$.paperSelection&&S.jsx(Yy,{selection:$.paperSelection,editable:!0,onRemove:()=>{var X;B({text:$.text,paperMentions:$.paperMentions}),(X=E.current)==null||X.focus()}}),K&&S.jsx("div",{className:"chat-paper-selection-disabled",role:"status",children:"Paper selection is currently disabled. Remove the selected passage or wait for the feature to recover."}),S.jsxs("div",{className:"chat-composer-textarea-wrap",children:[S.jsx($C,{text:$.text,mentions:$.paperMentions,scrollTop:O}),S.jsx("textarea",{className:"ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true",ref:E,rows:1,value:$.text,placeholder:t||($.paperSelection?"Ask about this selection…":"Ask anything about research…"),onChange:X=>L.updateText(X.target.value,X.target.selectionStart),onSelect:X=>L.refresh(X.currentTarget.selectionStart),onClick:X=>L.refresh(X.currentTarget.selectionStart),onScroll:X=>F(X.currentTarget.scrollTop),onBlur:X=>{var J,se;(se=(J=X.relatedTarget)==null?void 0:J.closest)!=null&&se.call(J,".chat-paper-picker, .chat-slash-command")||window.setTimeout(L.close,0)},onKeyDown:X=>{L.keyDown(X)||X.key==="Enter"&&!X.shiftKey&&!X.nativeEvent.isComposing&&(X.preventDefault(),z())},role:"combobox","aria-expanded":L.open||Q,"aria-controls":L.open?L.pickerId:Q?"chat-write-paper-command":void 0,"aria-activedescendant":L.open&&L.results.length?`${L.optionIdPrefix}-${L.activeIndex}`:Q?"chat-write-paper-command":void 0,"aria-autocomplete":"list","aria-describedby":[u,L.message?"chat-paper-mention-message":null].filter(Boolean).join(" ")||void 0}),S.jsx(TC,{open:L.open,query:L.query,results:L.results,activeIndex:L.activeIndex,loading:L.loading,error:L.error,onSelect:L.select,id:L.pickerId,optionIdPrefix:L.optionIdPrefix}),Q&&S.jsxs("button",{type:"button",id:"chat-write-paper-command",className:"chat-slash-command",role:"option",onMouseDown:X=>{var J;X.preventDefault(),B({...$,text:"/write-paper "}),(J=E.current)==null||J.focus()},children:[S.jsx("code",{children:"/write-paper"}),S.jsx("span",{children:"Draft a paper from this research chat"})]})]}),L.message&&S.jsx("div",{id:"chat-paper-mention-message",className:"chat-paper-mention-message",role:"alert",children:L.message}),S.jsxs("div",{className:"chat-composer-row",children:[S.jsxs("div",{className:"chat-composer-tools",children:[a.length>0&&l&&c&&S.jsx(tL,{models:a,selectedModel:l,onModelChange:c,disabled:e}),w&&S.jsx(nL,{value:y,onChange:w,disabled:e}),m&&v&&S.jsx(sL,{enabled:g,onChange:v,disabled:e}),S.jsx("span",{className:"chat-composer-hint",children:"Enter to send · Shift+Enter for newline"})]}),S.jsx("button",{type:"button",className:`chat-send${e||D?" chat-send-on":""}`,onClick:e?o:z,disabled:h||(e?!o:!D),"aria-label":e?"Stop generating":"Send message",children:e?o?S.jsx("span",{"aria-hidden":"true",children:"■"}):S.jsx(L_,{light:!0}):S.jsx(iL,{})})]})]})};function CL(){const[n,e]=G.useState(!1);return G.useEffect(()=>{const t=window.setTimeout(()=>e(!0),15e3);return()=>window.clearTimeout(t)},[]),S.jsxs("div",{className:"chat-waiting chat-compaction-status",role:"status","aria-live":"polite",children:[S.jsx("span",{className:"chat-thinking",children:"Summarizing earlier context…"}),n&&S.jsx("span",{className:"chat-compaction-explanation",children:"This conversation is long. Preserving its details may take up to a minute."})]})}const q0=new Map,IC=n=>{if(!n)return Promise.resolve();const e=q0.get(n);if(e)return e;const t=new Promise(s=>{const i=new Image;i.onload=()=>{s()},i.onerror=()=>{q0.delete(n),s()},i.src=n});return q0.set(n,t),t},$L=new Set(["huggingface.co","www.huggingface.co"]),TL=new Set(["api","blog","chat","collections","docs","enterprise","join","login","models","new","organizations","papers","posts","pricing","search","settings","spaces","tasks"]);function PL(n){let e;try{e=new URL(n)}catch{return null}if(e.protocol!=="https:"||!$L.has(e.hostname))return null;const t=e.pathname.split("/").filter(Boolean),s=t[0]==="datasets"?"dataset":"model",i=s==="dataset"?t.slice(1):t;if(i.length!==2||s==="model"&&TL.has(i[0])||i.some(c=>!c||c==="."||c===".."))return null;const r=i.join("/"),o=i.map(encodeURIComponent).join("/"),a=s==="dataset"?`datasets/${o}`:o,l=s==="dataset"?"datasets":"models";return{type:s,repoId:r,url:`https://huggingface.co/${a}`,thumbnailUrl:`https://cdn-thumbnails.huggingface.co/social-thumbnails/${l}/${o}.png`}}const RL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,ML=({repo:n})=>{const[e,t]=ee.useState(!1);return S.jsxs("div",{className:"hf-preview-card",children:[e?S.jsx("div",{className:"hf-preview-fallback","aria-hidden":"true",children:"🤗"}):S.jsx("img",{className:"hf-preview-image","data-testid":"hf-preview-image",src:n.thumbnailUrl,alt:"",loading:"eager",decoding:"async",onError:()=>t(!0)}),S.jsxs("div",{className:"hf-preview-meta",children:[S.jsxs("span",{className:"hf-preview-kind",children:["Hugging Face ",n.type]}),S.jsx("strong",{children:n.repoId}),S.jsx("span",{children:"huggingface.co"})]})]})},IL=({repo:n,children:e})=>{const[t,s]=ee.useState(!1),i=ee.useRef(null),r=ee.useCallback(()=>{IC(n.thumbnailUrl)},[n.thumbnailUrl]);return ee.useEffect(()=>{const o=i.current;if(!o||typeof IntersectionObserver>"u")return;const a=new IntersectionObserver(([l])=>{l.isIntersecting&&(r(),a.disconnect())},{rootMargin:"200px"});return a.observe(o),()=>a.disconnect()},[r]),S.jsxs(Gy,{open:t,onOpenChange:o=>{(!o||!RL())&&s(o)},openDelay:150,closeDelay:100,children:[S.jsx(Ky,{asChild:!0,children:S.jsx("a",{ref:i,className:"chat-paper-link chat-hf-link",href:n.url,target:"_blank",rel:"noopener noreferrer",onPointerEnter:r,onFocus:r,children:e})}),S.jsx(Zy,{className:"hf-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(ML,{repo:n})})]})},OL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,NL=({repo:n,preview:e,unavailable:t})=>{const[s,i]=ee.useState(!1),r=!!(e!=null&&e.avatarUrl)&&!s;return S.jsxs("div",{className:"github-preview-card",children:[r?S.jsx("img",{className:"github-preview-image","data-testid":"github-preview-image",src:e==null?void 0:e.avatarUrl,alt:"",loading:"eager",decoding:"async",onError:()=>i(!0)}):S.jsx("div",{className:"github-preview-fallback","aria-hidden":"true",children:S.jsx(Xy,{})}),S.jsxs("div",{className:"github-preview-meta",children:[S.jsx("span",{className:"github-preview-kind",children:"GitHub repository"}),S.jsx("strong",{children:n.repoId}),(e==null?void 0:e.description)&&S.jsx("span",{className:"github-preview-description",children:e.description}),e?S.jsxs("span",{className:"github-preview-stats",children:[e.language&&S.jsxs(S.Fragment,{children:[e.language," · "]}),"★ ",e.stars.toLocaleString()," · ⑂ ",e.forks.toLocaleString(),e.archived&&S.jsx(S.Fragment,{children:" · Archived"})]}):S.jsx("span",{children:t?"Preview unavailable":"Loading preview…"})]})]})},LL=({repo:n,children:e})=>{var c;const[t,s]=ee.useState(!1),[i,r]=ee.useState(!1),o=ee.useRef(null),a=ee.useCallback(()=>r(!0),[]),l=ya({queryKey:["github-repository-preview",n.repoId.toLowerCase()],queryFn:({signal:h})=>hL(n,h),enabled:t||i,staleTime:30*60*1e3,gcTime:60*60*1e3,retry:!1});return ee.useEffect(()=>{const h=o.current;if(!h||typeof IntersectionObserver>"u")return;const u=new IntersectionObserver(([d])=>{d.isIntersecting&&(a(),u.disconnect())},{rootMargin:"200px"});return u.observe(h),()=>u.disconnect()},[a]),ee.useEffect(()=>{var h;(h=l.data)!=null&&h.avatarUrl&&IC(l.data.avatarUrl)},[(c=l.data)==null?void 0:c.avatarUrl]),S.jsxs(Gy,{open:t,onOpenChange:h=>{(!h||!OL())&&s(h)},openDelay:150,closeDelay:100,children:[S.jsx(Ky,{asChild:!0,children:S.jsxs("a",{ref:o,className:"chat-github-link",href:n.url,target:"_blank",rel:"noopener noreferrer",onPointerEnter:a,onFocus:a,children:[S.jsx(Xy,{"aria-hidden":"true"}),e]})}),S.jsx(Zy,{className:"github-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(NL,{repo:n,preview:l.data,unavailable:l.isError})})]})},DL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches;function FL(n){try{return new URL(n).hostname.replace(/^www\./,"")}catch{return"Web source"}}const jL=({citation:n})=>{const[e,t]=ee.useState(!1),[s,i]=ee.useState(!1),r=n.thumbnail_url,o=n.favicon_url;return S.jsxs("div",{className:"web-preview-card",children:[r&&!e&&S.jsx("img",{className:"web-preview-image","data-testid":"web-preview-image",src:r,alt:"",loading:"eager",decoding:"async",referrerPolicy:"no-referrer",onError:()=>t(!0)}),S.jsxs("div",{className:"web-preview-meta",children:[S.jsxs("div",{className:"web-preview-source",children:[o&&!s&&S.jsx("img",{src:o,alt:"",loading:"eager",decoding:"async",referrerPolicy:"no-referrer",onError:()=>i(!0)}),S.jsx("span",{children:FL(n.url??"")}),n.published&&S.jsxs(S.Fragment,{children:[S.jsx("span",{"aria-hidden":"true",children:"·"}),S.jsx("time",{children:n.published.slice(0,10)})]})]}),S.jsx("strong",{children:n.title}),n.excerpt&&S.jsx("p",{children:n.excerpt.replace(/\s+/g," ").trim()})]})]})},zL=({citation:n,children:e})=>{const[t,s]=ee.useState(!1),i=n.url??"";return S.jsxs(Gy,{open:t,onOpenChange:r=>{(!r||!DL())&&s(r)},openDelay:150,closeDelay:100,children:[S.jsx(Ky,{asChild:!0,children:S.jsx("a",{href:i,className:"chat-web-citation",target:"_blank",rel:"noopener noreferrer",children:e})}),S.jsx(Zy,{className:"web-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(jL,{citation:n})})]})},HL=()=>typeof window.matchMedia=="function"&&window.matchMedia("(hover: none), (pointer: coarse)").matches,BL=n=>n==="semantic_scholar"?"Semantic Scholar":"External paper",qL=({citation:n})=>{var e,t;return S.jsxs("div",{className:"external-paper-preview-card",children:[S.jsxs("div",{className:"external-paper-preview-source",children:[S.jsx("span",{children:BL(n.provider)}),n.published&&S.jsxs(S.Fragment,{children:[S.jsx("span",{"aria-hidden":"true",children:"·"}),S.jsx("time",{children:n.published.slice(0,10)})]})]}),S.jsx("strong",{children:n.title}),(((e=n.authors)==null?void 0:e.length)??0)>0&&S.jsx("p",{className:"external-paper-preview-authors",children:(t=n.authors)==null?void 0:t.join(", ")}),n.excerpt&&S.jsx("p",{children:n.excerpt.replace(/\s+/g," ").trim()}),n.citation_count!==null&&n.citation_count!==void 0&&S.jsxs("span",{className:"external-paper-preview-citations",children:[n.citation_count.toLocaleString()," citations"]})]})},UL=({citation:n,children:e})=>{const[t,s]=ee.useState(!1);return S.jsxs(Gy,{open:t,onOpenChange:i=>{(!i||!HL())&&s(i)},openDelay:150,closeDelay:100,children:[S.jsx(Ky,{asChild:!0,children:S.jsx("a",{href:n.url??"",className:"chat-external-paper-citation",target:"_blank",rel:"noopener noreferrer",children:e})}),S.jsx(Zy,{className:"external-paper-preview-pop",side:"bottom",align:"start",collisionPadding:12,children:S.jsx(qL,{citation:n})})]})};function VL(n){const e=[];let t=0,s=null;for(const i of n.match(/.*(?:\n|$)/g)??[]){if(!i)continue;const r=i.endsWith(` +`)?i.slice(0,-1):i;if(s){const l=r.match(/^ {0,3}(`+|~+)[ \t]*$/);l&&l[1][0]===s.marker&&l[1].length>=s.length&&(e.push({start:s.start,end:t+i.length}),s=null),t+=i.length;continue}const o=r.match(/^ {0,3}(`{3,}|~{3,})/);if(o){s={marker:o[1][0],length:o[1].length,start:t},t+=i.length;continue}let a=0;for(;ae>=t.start&&e=0&&n[s]==="\\";s-=1)t+=1;return t%2===0}function sk(n,e,t,s){const i=[];let r=0;for(;rs.name),published:e.metadata.published,conference:e.metadata.conference,citationCount:e.metadata.citation_count,tasks:e.metadata.tasks};if(t)return{routeId:n,title:t.title,arxivId:t.arxiv_id??null,source:t.arxiv_id?"arxiv":"external",sourceUrl:t.source_url,thumbnailUrl:t.thumbnail_url??null,authors:t.authors??[],published:t.published??null,conference:t.conference??null,citationCount:t.citation_count??null,tasks:[]}}const OC=({routeId:n,paper:e,citation:t,className:s="chat-paper-link",children:i})=>S.jsx(D_,{routeId:n,initialData:GL(n,e,t),className:s,target:"_blank",children:i});function KL(n){const e=n.lastIndexOf("[");if(e===-1)return n;const t=n.slice(e);return/^\[[^\]]*(\]\(?[^)\s]*)?$/.test(t)?n.slice(0,e):n}const ZL=n=>n.startsWith("paper:")?n:yL(n);function XL(n){try{const e=new URL(n);return e.protocol==="https:"&&(e.hostname==="github.com"||e.hostname==="www.github.com")}catch{return!1}}const Fv=({text:n,streaming:e,papers:t,citations:s,webCitations:i})=>{const r=WL(e?KL(n):n);return S.jsx(gL,{remarkPlugins:[vL,pL],rehypePlugins:[fL],urlTransform:ZL,components:{a:({href:o,children:a})=>{if(o!=null&&o.startsWith("paper:")){const h=o.slice(6);return!t[h]&&!(s!=null&&s[h])?S.jsx("span",{className:"chat-invalid-citation",children:a}):S.jsx(OC,{routeId:h,paper:t[h],citation:s==null?void 0:s[h],children:a})}const l=o?PL(o):null;if(l)return S.jsx(IL,{repo:l,children:a});const c=o?uL(o):null;return c?S.jsx(LL,{repo:c,children:a}):o&&XL(o)?S.jsxs("a",{href:o,className:"chat-github-link",target:"_blank",rel:"noopener noreferrer",children:[S.jsx(Xy,{"aria-hidden":"true"}),a]}):o!=null&&o.startsWith("https://")&&(i!=null&&i[o])?i[o].source_type==="paper"?S.jsx(UL,{citation:i[o],children:a}):S.jsx(zL,{citation:i[o],children:a}):o!=null&&o.startsWith("https://")?S.jsx("a",{href:o,className:"chat-external-link",target:"_blank",rel:"noopener noreferrer",children:a}):S.jsx("span",{children:a})}},children:r})},YL=Object.freeze({status:"aborted"});function Y(n,e,t){function s(a,l){var c;Object.defineProperty(a,"_zod",{value:a._zod??{},enumerable:!1}),(c=a._zod).traits??(c.traits=new Set),a._zod.traits.add(n),e(a,l);for(const h in o.prototype)h in a||Object.defineProperty(a,h,{value:o.prototype[h].bind(a)});a._zod.constr=o,a._zod.def=l}const i=(t==null?void 0:t.Parent)??Object;class r extends i{}Object.defineProperty(r,"name",{value:n});function o(a){var l;const c=t!=null&&t.Parent?new r:this;s(c,a),(l=c._zod).deferred??(l.deferred=[]);for(const h of c._zod.deferred)h();return c}return Object.defineProperty(o,"init",{value:s}),Object.defineProperty(o,Symbol.hasInstance,{value:a=>{var l,c;return t!=null&&t.Parent&&a instanceof t.Parent?!0:(c=(l=a==null?void 0:a._zod)==null?void 0:l.traits)==null?void 0:c.has(n)}}),Object.defineProperty(o,"name",{value:n}),o}class Kd extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const NC={};function Ca(n){return NC}function JL(n){const e=Object.values(n).filter(s=>typeof s=="number");return Object.entries(n).filter(([s,i])=>e.indexOf(+s)===-1).map(([s,i])=>i)}function QL(n,e){return typeof e=="bigint"?e.toString():e}function j_(n){return{get value(){{const e=n();return Object.defineProperty(this,"value",{value:e}),e}}}}function z_(n){return n==null}function H_(n){const e=n.startsWith("^")?1:0,t=n.endsWith("$")?n.length-1:n.length;return n.slice(e,t)}function eD(n,e){const t=(n.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,i=t>s?t:s,r=Number.parseInt(n.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return r%o/10**i}function Tt(n,e,t){Object.defineProperty(n,e,{get(){{const s=t();return n[e]=s,s}},set(s){Object.defineProperty(n,e,{value:s})},configurable:!0})}function Jy(n,e,t){Object.defineProperty(n,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}function Vu(n){return JSON.stringify(n)}const LC=Error.captureStackTrace?Error.captureStackTrace:(...n)=>{};function Dg(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}const tD=j_(()=>{var n;if(typeof navigator<"u"&&((n=navigator==null?void 0:navigator.userAgent)!=null&&n.includes("Cloudflare")))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Fg(n){if(Dg(n)===!1)return!1;const e=n.constructor;if(e===void 0)return!0;const t=e.prototype;return!(Dg(t)===!1||Object.prototype.hasOwnProperty.call(t,"isPrototypeOf")===!1)}const nD=new Set(["string","number","symbol"]);function Cp(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Tc(n,e,t){const s=new n._zod.constr(e??n._zod.def);return(!e||t!=null&&t.parent)&&(s._zod.parent=n),s}function ye(n){const e=n;if(!e)return{};if(typeof e=="string")return{error:()=>e};if((e==null?void 0:e.message)!==void 0){if((e==null?void 0:e.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function sD(n){return Object.keys(n).filter(e=>n[e]._zod.optin==="optional"&&n[e]._zod.optout==="optional")}const iD={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function rD(n,e){const t={},s=n._zod.def;for(const i in e){if(!(i in s.shape))throw new Error(`Unrecognized key: "${i}"`);e[i]&&(t[i]=s.shape[i])}return Tc(n,{...n._zod.def,shape:t,checks:[]})}function oD(n,e){const t={...n._zod.def.shape},s=n._zod.def;for(const i in e){if(!(i in s.shape))throw new Error(`Unrecognized key: "${i}"`);e[i]&&delete t[i]}return Tc(n,{...n._zod.def,shape:t,checks:[]})}function aD(n,e){if(!Fg(e))throw new Error("Invalid input to extend: expected a plain object");const t={...n._zod.def,get shape(){const s={...n._zod.def.shape,...e};return Jy(this,"shape",s),s},checks:[]};return Tc(n,t)}function lD(n,e){return Tc(n,{...n._zod.def,get shape(){const t={...n._zod.def.shape,...e._zod.def.shape};return Jy(this,"shape",t),t},catchall:e._zod.def.catchall,checks:[]})}function cD(n,e,t){const s=e._zod.def.shape,i={...s};if(t)for(const r in t){if(!(r in s))throw new Error(`Unrecognized key: "${r}"`);t[r]&&(i[r]=n?new n({type:"optional",innerType:s[r]}):s[r])}else for(const r in s)i[r]=n?new n({type:"optional",innerType:s[r]}):s[r];return Tc(e,{...e._zod.def,shape:i,checks:[]})}function hD(n,e,t){const s=e._zod.def.shape,i={...s};if(t)for(const r in t){if(!(r in i))throw new Error(`Unrecognized key: "${r}"`);t[r]&&(i[r]=new n({type:"nonoptional",innerType:s[r]}))}else for(const r in s)i[r]=new n({type:"nonoptional",innerType:s[r]});return Tc(e,{...e._zod.def,shape:i,checks:[]})}function $d(n,e=0){var t;for(let s=e;s{var s;return(s=t).path??(s.path=[]),t.path.unshift(n),t})}function nm(n){return typeof n=="string"?n:n==null?void 0:n.message}function $a(n,e,t){var i,r,o,a,l,c;const s={...n,path:n.path??[]};if(!n.message){const h=nm((o=(r=(i=n.inst)==null?void 0:i._zod.def)==null?void 0:r.error)==null?void 0:o.call(r,n))??nm((a=e==null?void 0:e.error)==null?void 0:a.call(e,n))??nm((l=t.customError)==null?void 0:l.call(t,n))??nm((c=t.localeError)==null?void 0:c.call(t,n))??"Invalid input";s.message=h}return delete s.inst,delete s.continue,e!=null&&e.reportInput||delete s.input,s}function B_(n){return Array.isArray(n)?"array":typeof n=="string"?"string":"unknown"}function Zd(...n){const[e,t,s]=n;return typeof e=="string"?{message:e,code:"custom",input:t,inst:s}:{...e}}const DC=(n,e)=>{n.name="$ZodError",Object.defineProperty(n,"_zod",{value:n._zod,enumerable:!1}),Object.defineProperty(n,"issues",{value:e,enumerable:!1}),Object.defineProperty(n,"message",{get(){return JSON.stringify(e,QL,2)},enumerable:!0}),Object.defineProperty(n,"toString",{value:()=>n.message,enumerable:!1})},FC=Y("$ZodError",DC),jC=Y("$ZodError",DC,{Parent:Error});function uD(n,e=t=>t.message){const t={},s=[];for(const i of n.issues)i.path.length>0?(t[i.path[0]]=t[i.path[0]]||[],t[i.path[0]].push(e(i))):s.push(e(i));return{formErrors:s,fieldErrors:t}}function dD(n,e){const t=e||function(r){return r.message},s={_errors:[]},i=r=>{for(const o of r.issues)if(o.code==="invalid_union"&&o.errors.length)o.errors.map(a=>i({issues:a}));else if(o.code==="invalid_key")i({issues:o.issues});else if(o.code==="invalid_element")i({issues:o.issues});else if(o.path.length===0)s._errors.push(t(o));else{let a=s,l=0;for(;l(e,t,s,i)=>{const r=s?Object.assign(s,{async:!1}):{async:!1},o=e._zod.run({value:t,issues:[]},r);if(o instanceof Promise)throw new Kd;if(o.issues.length){const a=new((i==null?void 0:i.Err)??n)(o.issues.map(l=>$a(l,r,Ca())));throw LC(a,i==null?void 0:i.callee),a}return o.value},pD=n=>async(e,t,s,i)=>{const r=s?Object.assign(s,{async:!0}):{async:!0};let o=e._zod.run({value:t,issues:[]},r);if(o instanceof Promise&&(o=await o),o.issues.length){const a=new((i==null?void 0:i.Err)??n)(o.issues.map(l=>$a(l,r,Ca())));throw LC(a,i==null?void 0:i.callee),a}return o.value},zC=n=>(e,t,s)=>{const i=s?{...s,async:!1}:{async:!1},r=e._zod.run({value:t,issues:[]},i);if(r instanceof Promise)throw new Kd;return r.issues.length?{success:!1,error:new(n??FC)(r.issues.map(o=>$a(o,i,Ca())))}:{success:!0,data:r.value}},HC=zC(jC),BC=n=>async(e,t,s)=>{const i=s?Object.assign(s,{async:!0}):{async:!0};let r=e._zod.run({value:t,issues:[]},i);return r instanceof Promise&&(r=await r),r.issues.length?{success:!1,error:new n(r.issues.map(o=>$a(o,i,Ca())))}:{success:!0,data:r.value}},mD=BC(jC),gD=/^[cC][^\s-]{8,}$/,yD=/^[0-9a-z]+$/,vD=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,bD=/^[0-9a-vA-V]{20}$/,wD=/^[A-Za-z0-9]{27}$/,_D=/^[a-zA-Z0-9_-]{21}$/,SD=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,AD=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ik=n=>n?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${n}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,kD=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,xD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function ED(){return new RegExp(xD,"u")}const CD=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,$D=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,TD=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,PD=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,RD=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,qC=/^[A-Za-z0-9_-]*$/,MD=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,ID=/^\+(?:[0-9]){6,14}[0-9]$/,UC="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",OD=new RegExp(`^${UC}$`);function VC(n){const e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof n.precision=="number"?n.precision===-1?`${e}`:n.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${n.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function ND(n){return new RegExp(`^${VC(n)}$`)}function LD(n){const e=VC({precision:n.precision}),t=["Z"];n.local&&t.push(""),n.offset&&t.push("([+-]\\d{2}:\\d{2})");const s=`${e}(?:${t.join("|")})`;return new RegExp(`^${UC}T(?:${s})$`)}const DD=n=>{const e=n?`[\\s\\S]{${(n==null?void 0:n.minimum)??0},${(n==null?void 0:n.maximum)??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},FD=/^\d+$/,jD=/^-?\d+(?:\.\d+)?/i,zD=/true|false/i,HD=/null/i,BD=/undefined/i,qD=/^[^A-Z]*$/,UD=/^[^a-z]*$/,zs=Y("$ZodCheck",(n,e)=>{var t;n._zod??(n._zod={}),n._zod.def=e,(t=n._zod).onattach??(t.onattach=[])}),WC={number:"number",bigint:"bigint",object:"date"},GC=Y("$ZodCheckLessThan",(n,e)=>{zs.init(n,e);const t=WC[typeof e.value];n._zod.onattach.push(s=>{const i=s._zod.bag,r=(e.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value{(e.inclusive?s.value<=e.value:s.value{zs.init(n,e);const t=WC[typeof e.value];n._zod.onattach.push(s=>{const i=s._zod.bag,r=(e.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>r&&(e.inclusive?i.minimum=e.value:i.exclusiveMinimum=e.value)}),n._zod.check=s=>{(e.inclusive?s.value>=e.value:s.value>e.value)||s.issues.push({origin:t,code:"too_small",minimum:e.value,input:s.value,inclusive:e.inclusive,inst:n,continue:!e.abort})}}),VD=Y("$ZodCheckMultipleOf",(n,e)=>{zs.init(n,e),n._zod.onattach.push(t=>{var s;(s=t._zod.bag).multipleOf??(s.multipleOf=e.value)}),n._zod.check=t=>{if(typeof t.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof t.value=="bigint"?t.value%e.value===BigInt(0):eD(t.value,e.value)===0)||t.issues.push({origin:typeof t.value,code:"not_multiple_of",divisor:e.value,input:t.value,inst:n,continue:!e.abort})}}),WD=Y("$ZodCheckNumberFormat",(n,e)=>{var o;zs.init(n,e),e.format=e.format||"float64";const t=(o=e.format)==null?void 0:o.includes("int"),s=t?"int":"number",[i,r]=iD[e.format];n._zod.onattach.push(a=>{const l=a._zod.bag;l.format=e.format,l.minimum=i,l.maximum=r,t&&(l.pattern=FD)}),n._zod.check=a=>{const l=a.value;if(t){if(!Number.isInteger(l)){a.issues.push({expected:s,format:e.format,code:"invalid_type",input:l,inst:n});return}if(!Number.isSafeInteger(l)){l>0?a.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:s,continue:!e.abort}):a.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:s,continue:!e.abort});return}}lr&&a.issues.push({origin:"number",input:l,code:"too_big",maximum:r,inst:n})}}),GD=Y("$ZodCheckMaxLength",(n,e)=>{var t;zs.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!z_(i)&&i.length!==void 0}),n._zod.onattach.push(s=>{const i=s._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum{const i=s.value;if(i.length<=e.maximum)return;const o=B_(i);s.issues.push({origin:o,code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:n,continue:!e.abort})}}),KD=Y("$ZodCheckMinLength",(n,e)=>{var t;zs.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!z_(i)&&i.length!==void 0}),n._zod.onattach.push(s=>{const i=s._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>i&&(s._zod.bag.minimum=e.minimum)}),n._zod.check=s=>{const i=s.value;if(i.length>=e.minimum)return;const o=B_(i);s.issues.push({origin:o,code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:n,continue:!e.abort})}}),ZD=Y("$ZodCheckLengthEquals",(n,e)=>{var t;zs.init(n,e),(t=n._zod.def).when??(t.when=s=>{const i=s.value;return!z_(i)&&i.length!==void 0}),n._zod.onattach.push(s=>{const i=s._zod.bag;i.minimum=e.length,i.maximum=e.length,i.length=e.length}),n._zod.check=s=>{const i=s.value,r=i.length;if(r===e.length)return;const o=B_(i),a=r>e.length;s.issues.push({origin:o,...a?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:s.value,inst:n,continue:!e.abort})}}),Qy=Y("$ZodCheckStringFormat",(n,e)=>{var t,s;zs.init(n,e),n._zod.onattach.push(i=>{const r=i._zod.bag;r.format=e.format,e.pattern&&(r.patterns??(r.patterns=new Set),r.patterns.add(e.pattern))}),e.pattern?(t=n._zod).check??(t.check=i=>{e.pattern.lastIndex=0,!e.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:e.format,input:i.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:n,continue:!e.abort})}):(s=n._zod).check??(s.check=()=>{})}),XD=Y("$ZodCheckRegex",(n,e)=>{Qy.init(n,e),n._zod.check=t=>{e.pattern.lastIndex=0,!e.pattern.test(t.value)&&t.issues.push({origin:"string",code:"invalid_format",format:"regex",input:t.value,pattern:e.pattern.toString(),inst:n,continue:!e.abort})}}),YD=Y("$ZodCheckLowerCase",(n,e)=>{e.pattern??(e.pattern=qD),Qy.init(n,e)}),JD=Y("$ZodCheckUpperCase",(n,e)=>{e.pattern??(e.pattern=UD),Qy.init(n,e)}),QD=Y("$ZodCheckIncludes",(n,e)=>{zs.init(n,e);const t=Cp(e.includes),s=new RegExp(typeof e.position=="number"?`^.{${e.position}}${t}`:t);e.pattern=s,n._zod.onattach.push(i=>{const r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(s)}),n._zod.check=i=>{i.value.includes(e.includes,e.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:i.value,inst:n,continue:!e.abort})}}),e2=Y("$ZodCheckStartsWith",(n,e)=>{zs.init(n,e);const t=new RegExp(`^${Cp(e.prefix)}.*`);e.pattern??(e.pattern=t),n._zod.onattach.push(s=>{const i=s._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(t)}),n._zod.check=s=>{s.value.startsWith(e.prefix)||s.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:s.value,inst:n,continue:!e.abort})}}),t2=Y("$ZodCheckEndsWith",(n,e)=>{zs.init(n,e);const t=new RegExp(`.*${Cp(e.suffix)}$`);e.pattern??(e.pattern=t),n._zod.onattach.push(s=>{const i=s._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(t)}),n._zod.check=s=>{s.value.endsWith(e.suffix)||s.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:s.value,inst:n,continue:!e.abort})}}),n2=Y("$ZodCheckOverwrite",(n,e)=>{zs.init(n,e),n._zod.check=t=>{t.value=e.tx(t.value)}});class s2{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}const s=e.split(` +`).filter(o=>o),i=Math.min(...s.map(o=>o.length-o.trimStart().length)),r=s.map(o=>o.slice(i)).map(o=>" ".repeat(this.indent*2)+o);for(const o of r)this.content.push(o)}compile(){const e=Function,t=this==null?void 0:this.args,i=[...((this==null?void 0:this.content)??[""]).map(r=>` ${r}`)];return new e(...t,i.join(` +`))}}const i2={major:4,minor:0,patch:0},_t=Y("$ZodType",(n,e)=>{var i;var t;n??(n={}),n._zod.def=e,n._zod.bag=n._zod.bag||{},n._zod.version=i2;const s=[...n._zod.def.checks??[]];n._zod.traits.has("$ZodCheck")&&s.unshift(n);for(const r of s)for(const o of r._zod.onattach)o(n);if(s.length===0)(t=n._zod).deferred??(t.deferred=[]),(i=n._zod.deferred)==null||i.push(()=>{n._zod.run=n._zod.parse});else{const r=(o,a,l)=>{let c=$d(o),h;for(const u of a){if(u._zod.def.when){if(!u._zod.def.when(o))continue}else if(c)continue;const d=o.issues.length,p=u._zod.check(o);if(p instanceof Promise&&(l==null?void 0:l.async)===!1)throw new Kd;if(h||p instanceof Promise)h=(h??Promise.resolve()).then(async()=>{await p,o.issues.length!==d&&(c||(c=$d(o,d)))});else{if(o.issues.length===d)continue;c||(c=$d(o,d))}}return h?h.then(()=>o):o};n._zod.run=(o,a)=>{const l=n._zod.parse(o,a);if(l instanceof Promise){if(a.async===!1)throw new Kd;return l.then(c=>r(c,s,a))}return r(l,s,a)}}n["~standard"]={validate:r=>{var o;try{const a=HC(n,r);return a.success?{value:a.data}:{issues:(o=a.error)==null?void 0:o.issues}}catch{return mD(n,r).then(l=>{var c;return l.success?{value:l.data}:{issues:(c=l.error)==null?void 0:c.issues}})}},vendor:"zod",version:1}}),q_=Y("$ZodString",(n,e)=>{var t;_t.init(n,e),n._zod.pattern=[...((t=n==null?void 0:n._zod.bag)==null?void 0:t.patterns)??[]].pop()??DD(n._zod.bag),n._zod.parse=(s,i)=>{if(e.coerce)try{s.value=String(s.value)}catch{}return typeof s.value=="string"||s.issues.push({expected:"string",code:"invalid_type",input:s.value,inst:n}),s}}),Nt=Y("$ZodStringFormat",(n,e)=>{Qy.init(n,e),q_.init(n,e)}),r2=Y("$ZodGUID",(n,e)=>{e.pattern??(e.pattern=AD),Nt.init(n,e)}),o2=Y("$ZodUUID",(n,e)=>{if(e.version){const s={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(s===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=ik(s))}else e.pattern??(e.pattern=ik());Nt.init(n,e)}),a2=Y("$ZodEmail",(n,e)=>{e.pattern??(e.pattern=kD),Nt.init(n,e)}),l2=Y("$ZodURL",(n,e)=>{Nt.init(n,e),n._zod.check=t=>{try{const s=t.value,i=new URL(s),r=i.href;e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(i.hostname)||t.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:MD.source,input:t.value,inst:n,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||t.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:t.value,inst:n,continue:!e.abort})),!s.endsWith("/")&&r.endsWith("/")?t.value=r.slice(0,-1):t.value=r;return}catch{t.issues.push({code:"invalid_format",format:"url",input:t.value,inst:n,continue:!e.abort})}}}),c2=Y("$ZodEmoji",(n,e)=>{e.pattern??(e.pattern=ED()),Nt.init(n,e)}),h2=Y("$ZodNanoID",(n,e)=>{e.pattern??(e.pattern=_D),Nt.init(n,e)}),u2=Y("$ZodCUID",(n,e)=>{e.pattern??(e.pattern=gD),Nt.init(n,e)}),d2=Y("$ZodCUID2",(n,e)=>{e.pattern??(e.pattern=yD),Nt.init(n,e)}),f2=Y("$ZodULID",(n,e)=>{e.pattern??(e.pattern=vD),Nt.init(n,e)}),p2=Y("$ZodXID",(n,e)=>{e.pattern??(e.pattern=bD),Nt.init(n,e)}),m2=Y("$ZodKSUID",(n,e)=>{e.pattern??(e.pattern=wD),Nt.init(n,e)}),g2=Y("$ZodISODateTime",(n,e)=>{e.pattern??(e.pattern=LD(e)),Nt.init(n,e)}),y2=Y("$ZodISODate",(n,e)=>{e.pattern??(e.pattern=OD),Nt.init(n,e)}),v2=Y("$ZodISOTime",(n,e)=>{e.pattern??(e.pattern=ND(e)),Nt.init(n,e)}),b2=Y("$ZodISODuration",(n,e)=>{e.pattern??(e.pattern=SD),Nt.init(n,e)}),w2=Y("$ZodIPv4",(n,e)=>{e.pattern??(e.pattern=CD),Nt.init(n,e),n._zod.onattach.push(t=>{const s=t._zod.bag;s.format="ipv4"})}),_2=Y("$ZodIPv6",(n,e)=>{e.pattern??(e.pattern=$D),Nt.init(n,e),n._zod.onattach.push(t=>{const s=t._zod.bag;s.format="ipv6"}),n._zod.check=t=>{try{new URL(`http://[${t.value}]`)}catch{t.issues.push({code:"invalid_format",format:"ipv6",input:t.value,inst:n,continue:!e.abort})}}}),S2=Y("$ZodCIDRv4",(n,e)=>{e.pattern??(e.pattern=TD),Nt.init(n,e)}),A2=Y("$ZodCIDRv6",(n,e)=>{e.pattern??(e.pattern=PD),Nt.init(n,e),n._zod.check=t=>{const[s,i]=t.value.split("/");try{if(!i)throw new Error;const r=Number(i);if(`${r}`!==i)throw new Error;if(r<0||r>128)throw new Error;new URL(`http://[${s}]`)}catch{t.issues.push({code:"invalid_format",format:"cidrv6",input:t.value,inst:n,continue:!e.abort})}}});function ZC(n){if(n==="")return!0;if(n.length%4!==0)return!1;try{return atob(n),!0}catch{return!1}}const k2=Y("$ZodBase64",(n,e)=>{e.pattern??(e.pattern=RD),Nt.init(n,e),n._zod.onattach.push(t=>{t._zod.bag.contentEncoding="base64"}),n._zod.check=t=>{ZC(t.value)||t.issues.push({code:"invalid_format",format:"base64",input:t.value,inst:n,continue:!e.abort})}});function x2(n){if(!qC.test(n))return!1;const e=n.replace(/[-_]/g,s=>s==="-"?"+":"/"),t=e.padEnd(Math.ceil(e.length/4)*4,"=");return ZC(t)}const E2=Y("$ZodBase64URL",(n,e)=>{e.pattern??(e.pattern=qC),Nt.init(n,e),n._zod.onattach.push(t=>{t._zod.bag.contentEncoding="base64url"}),n._zod.check=t=>{x2(t.value)||t.issues.push({code:"invalid_format",format:"base64url",input:t.value,inst:n,continue:!e.abort})}}),C2=Y("$ZodE164",(n,e)=>{e.pattern??(e.pattern=ID),Nt.init(n,e)});function $2(n,e=null){try{const t=n.split(".");if(t.length!==3)return!1;const[s]=t;if(!s)return!1;const i=JSON.parse(atob(s));return!("typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||e&&(!("alg"in i)||i.alg!==e))}catch{return!1}}const T2=Y("$ZodJWT",(n,e)=>{Nt.init(n,e),n._zod.check=t=>{$2(t.value,e.alg)||t.issues.push({code:"invalid_format",format:"jwt",input:t.value,inst:n,continue:!e.abort})}}),XC=Y("$ZodNumber",(n,e)=>{_t.init(n,e),n._zod.pattern=n._zod.bag.pattern??jD,n._zod.parse=(t,s)=>{if(e.coerce)try{t.value=Number(t.value)}catch{}const i=t.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return t;const r=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return t.issues.push({expected:"number",code:"invalid_type",input:i,inst:n,...r?{received:r}:{}}),t}}),P2=Y("$ZodNumber",(n,e)=>{WD.init(n,e),XC.init(n,e)}),R2=Y("$ZodBoolean",(n,e)=>{_t.init(n,e),n._zod.pattern=zD,n._zod.parse=(t,s)=>{if(e.coerce)try{t.value=!!t.value}catch{}const i=t.value;return typeof i=="boolean"||t.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:n}),t}}),M2=Y("$ZodUndefined",(n,e)=>{_t.init(n,e),n._zod.pattern=BD,n._zod.values=new Set([void 0]),n._zod.optin="optional",n._zod.optout="optional",n._zod.parse=(t,s)=>{const i=t.value;return typeof i>"u"||t.issues.push({expected:"undefined",code:"invalid_type",input:i,inst:n}),t}}),I2=Y("$ZodNull",(n,e)=>{_t.init(n,e),n._zod.pattern=HD,n._zod.values=new Set([null]),n._zod.parse=(t,s)=>{const i=t.value;return i===null||t.issues.push({expected:"null",code:"invalid_type",input:i,inst:n}),t}}),O2=Y("$ZodAny",(n,e)=>{_t.init(n,e),n._zod.parse=t=>t}),N2=Y("$ZodUnknown",(n,e)=>{_t.init(n,e),n._zod.parse=t=>t}),L2=Y("$ZodNever",(n,e)=>{_t.init(n,e),n._zod.parse=(t,s)=>(t.issues.push({expected:"never",code:"invalid_type",input:t.value,inst:n}),t)});function rk(n,e,t){n.issues.length&&e.issues.push(...ul(t,n.issues)),e.value[t]=n.value}const D2=Y("$ZodArray",(n,e)=>{_t.init(n,e),n._zod.parse=(t,s)=>{const i=t.value;if(!Array.isArray(i))return t.issues.push({expected:"array",code:"invalid_type",input:i,inst:n}),t;t.value=Array(i.length);const r=[];for(let o=0;ork(c,t,o))):rk(l,t,o)}return r.length?Promise.all(r).then(()=>t):t}});function sm(n,e,t){n.issues.length&&e.issues.push(...ul(t,n.issues)),e.value[t]=n.value}function ok(n,e,t,s){n.issues.length?s[t]===void 0?t in s?e.value[t]=void 0:e.value[t]=n.value:e.issues.push(...ul(t,n.issues)):n.value===void 0?t in s&&(e.value[t]=void 0):e.value[t]=n.value}const F2=Y("$ZodObject",(n,e)=>{_t.init(n,e);const t=j_(()=>{const u=Object.keys(e.shape);for(const p of u)if(!(e.shape[p]instanceof _t))throw new Error(`Invalid element at key "${p}": expected a Zod schema`);const d=sD(e.shape);return{shape:e.shape,keys:u,keySet:new Set(u),numKeys:u.length,optionalKeys:new Set(d)}});Tt(n._zod,"propValues",()=>{const u=e.shape,d={};for(const p in u){const m=u[p]._zod;if(m.values){d[p]??(d[p]=new Set);for(const g of m.values)d[p].add(g)}}return d});const s=u=>{const d=new s2(["shape","payload","ctx"]),p=t.value,m=w=>{const _=Vu(w);return`shape[${_}]._zod.run({ value: input[${_}], issues: [] }, ctx)`};d.write("const input = payload.value;");const g=Object.create(null);let v=0;for(const w of p.keys)g[w]=`key_${v++}`;d.write("const newResult = {}");for(const w of p.keys)if(p.optionalKeys.has(w)){const _=g[w];d.write(`const ${_} = ${m(w)};`);const k=Vu(w);d.write(` + if (${_}.issues.length) { + if (input[${k}] === undefined) { + if (${k} in input) { + newResult[${k}] = undefined; + } + } else { + payload.issues = payload.issues.concat( + ${_}.issues.map((iss) => ({ + ...iss, + path: iss.path ? [${k}, ...iss.path] : [${k}], + })) + ); + } + } else if (${_}.value === undefined) { + if (${k} in input) newResult[${k}] = undefined; + } else { + newResult[${k}] = ${_}.value; + } + `)}else{const _=g[w];d.write(`const ${_} = ${m(w)};`),d.write(` + if (${_}.issues.length) payload.issues = payload.issues.concat(${_}.issues.map(iss => ({ + ...iss, + path: iss.path ? [${Vu(w)}, ...iss.path] : [${Vu(w)}] + })));`),d.write(`newResult[${Vu(w)}] = ${_}.value`)}d.write("payload.value = newResult;"),d.write("return payload;");const y=d.compile();return(w,_)=>y(u,w,_)};let i;const r=Dg,o=!NC.jitless,l=o&&tD.value,c=e.catchall;let h;n._zod.parse=(u,d)=>{h??(h=t.value);const p=u.value;if(!r(p))return u.issues.push({expected:"object",code:"invalid_type",input:p,inst:n}),u;const m=[];if(o&&l&&(d==null?void 0:d.async)===!1&&d.jitless!==!0)i||(i=s(e.shape)),u=i(u,d);else{u.value={};const _=h.shape;for(const k of h.keys){const A=_[k],$=A._zod.run({value:p[k],issues:[]},d),E=A._zod.optin==="optional"&&A._zod.optout==="optional";$ instanceof Promise?m.push($.then(O=>E?ok(O,u,k,p):sm(O,u,k))):E?ok($,u,k,p):sm($,u,k)}}if(!c)return m.length?Promise.all(m).then(()=>u):u;const g=[],v=h.keySet,y=c._zod,w=y.def.type;for(const _ of Object.keys(p)){if(v.has(_))continue;if(w==="never"){g.push(_);continue}const k=y.run({value:p[_],issues:[]},d);k instanceof Promise?m.push(k.then(A=>sm(A,u,_))):sm(k,u,_)}return g.length&&u.issues.push({code:"unrecognized_keys",keys:g,input:p,inst:n}),m.length?Promise.all(m).then(()=>u):u}});function ak(n,e,t,s){for(const i of n)if(i.issues.length===0)return e.value=i.value,e;return e.issues.push({code:"invalid_union",input:e.value,inst:t,errors:n.map(i=>i.issues.map(r=>$a(r,s,Ca())))}),e}const YC=Y("$ZodUnion",(n,e)=>{_t.init(n,e),Tt(n._zod,"optin",()=>e.options.some(t=>t._zod.optin==="optional")?"optional":void 0),Tt(n._zod,"optout",()=>e.options.some(t=>t._zod.optout==="optional")?"optional":void 0),Tt(n._zod,"values",()=>{if(e.options.every(t=>t._zod.values))return new Set(e.options.flatMap(t=>Array.from(t._zod.values)))}),Tt(n._zod,"pattern",()=>{if(e.options.every(t=>t._zod.pattern)){const t=e.options.map(s=>s._zod.pattern);return new RegExp(`^(${t.map(s=>H_(s.source)).join("|")})$`)}}),n._zod.parse=(t,s)=>{let i=!1;const r=[];for(const o of e.options){const a=o._zod.run({value:t.value,issues:[]},s);if(a instanceof Promise)r.push(a),i=!0;else{if(a.issues.length===0)return a;r.push(a)}}return i?Promise.all(r).then(o=>ak(o,t,n,s)):ak(r,t,n,s)}}),j2=Y("$ZodDiscriminatedUnion",(n,e)=>{YC.init(n,e);const t=n._zod.parse;Tt(n._zod,"propValues",()=>{const i={};for(const r of e.options){const o=r._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(r)}"`);for(const[a,l]of Object.entries(o)){i[a]||(i[a]=new Set);for(const c of l)i[a].add(c)}}return i});const s=j_(()=>{const i=e.options,r=new Map;for(const o of i){const a=o._zod.propValues[e.discriminator];if(!a||a.size===0)throw new Error(`Invalid discriminated union option at index "${e.options.indexOf(o)}"`);for(const l of a){if(r.has(l))throw new Error(`Duplicate discriminator value "${String(l)}"`);r.set(l,o)}}return r});n._zod.parse=(i,r)=>{const o=i.value;if(!Dg(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:n}),i;const a=s.value.get(o==null?void 0:o[e.discriminator]);return a?a._zod.run(i,r):e.unionFallback?t(i,r):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:o,path:[e.discriminator],inst:n}),i)}}),z2=Y("$ZodIntersection",(n,e)=>{_t.init(n,e),n._zod.parse=(t,s)=>{const i=t.value,r=e.left._zod.run({value:i,issues:[]},s),o=e.right._zod.run({value:i,issues:[]},s);return r instanceof Promise||o instanceof Promise?Promise.all([r,o]).then(([l,c])=>lk(t,l,c)):lk(t,r,o)}});function jv(n,e){if(n===e)return{valid:!0,data:n};if(n instanceof Date&&e instanceof Date&&+n==+e)return{valid:!0,data:n};if(Fg(n)&&Fg(e)){const t=Object.keys(e),s=Object.keys(n).filter(r=>t.indexOf(r)!==-1),i={...n,...e};for(const r of s){const o=jv(n[r],e[r]);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};i[r]=o.data}return{valid:!0,data:i}}if(Array.isArray(n)&&Array.isArray(e)){if(n.length!==e.length)return{valid:!1,mergeErrorPath:[]};const t=[];for(let s=0;s{_t.init(n,e),n._zod.parse=(t,s)=>{const i=t.value;if(!Fg(i))return t.issues.push({expected:"record",code:"invalid_type",input:i,inst:n}),t;const r=[];if(e.keyType._zod.values){const o=e.keyType._zod.values;t.value={};for(const l of o)if(typeof l=="string"||typeof l=="number"||typeof l=="symbol"){const c=e.valueType._zod.run({value:i[l],issues:[]},s);c instanceof Promise?r.push(c.then(h=>{h.issues.length&&t.issues.push(...ul(l,h.issues)),t.value[l]=h.value})):(c.issues.length&&t.issues.push(...ul(l,c.issues)),t.value[l]=c.value)}let a;for(const l in i)o.has(l)||(a=a??[],a.push(l));a&&a.length>0&&t.issues.push({code:"unrecognized_keys",input:i,inst:n,keys:a})}else{t.value={};for(const o of Reflect.ownKeys(i)){if(o==="__proto__")continue;const a=e.keyType._zod.run({value:o,issues:[]},s);if(a instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(a.issues.length){t.issues.push({origin:"record",code:"invalid_key",issues:a.issues.map(c=>$a(c,s,Ca())),input:o,path:[o],inst:n}),t.value[a.value]=a.value;continue}const l=e.valueType._zod.run({value:i[o],issues:[]},s);l instanceof Promise?r.push(l.then(c=>{c.issues.length&&t.issues.push(...ul(o,c.issues)),t.value[a.value]=c.value})):(l.issues.length&&t.issues.push(...ul(o,l.issues)),t.value[a.value]=l.value)}}return r.length?Promise.all(r).then(()=>t):t}}),B2=Y("$ZodEnum",(n,e)=>{_t.init(n,e);const t=JL(e.entries);n._zod.values=new Set(t),n._zod.pattern=new RegExp(`^(${t.filter(s=>nD.has(typeof s)).map(s=>typeof s=="string"?Cp(s):s.toString()).join("|")})$`),n._zod.parse=(s,i)=>{const r=s.value;return n._zod.values.has(r)||s.issues.push({code:"invalid_value",values:t,input:r,inst:n}),s}}),q2=Y("$ZodLiteral",(n,e)=>{_t.init(n,e),n._zod.values=new Set(e.values),n._zod.pattern=new RegExp(`^(${e.values.map(t=>typeof t=="string"?Cp(t):t?t.toString():String(t)).join("|")})$`),n._zod.parse=(t,s)=>{const i=t.value;return n._zod.values.has(i)||t.issues.push({code:"invalid_value",values:e.values,input:i,inst:n}),t}}),U2=Y("$ZodTransform",(n,e)=>{_t.init(n,e),n._zod.parse=(t,s)=>{const i=e.transform(t.value,t);if(s.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(t.value=o,t));if(i instanceof Promise)throw new Kd;return t.value=i,t}}),V2=Y("$ZodOptional",(n,e)=>{_t.init(n,e),n._zod.optin="optional",n._zod.optout="optional",Tt(n._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,void 0]):void 0),Tt(n._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${H_(t.source)})?$`):void 0}),n._zod.parse=(t,s)=>e.innerType._zod.optin==="optional"?e.innerType._zod.run(t,s):t.value===void 0?t:e.innerType._zod.run(t,s)}),W2=Y("$ZodNullable",(n,e)=>{_t.init(n,e),Tt(n._zod,"optin",()=>e.innerType._zod.optin),Tt(n._zod,"optout",()=>e.innerType._zod.optout),Tt(n._zod,"pattern",()=>{const t=e.innerType._zod.pattern;return t?new RegExp(`^(${H_(t.source)}|null)$`):void 0}),Tt(n._zod,"values",()=>e.innerType._zod.values?new Set([...e.innerType._zod.values,null]):void 0),n._zod.parse=(t,s)=>t.value===null?t:e.innerType._zod.run(t,s)}),G2=Y("$ZodDefault",(n,e)=>{_t.init(n,e),n._zod.optin="optional",Tt(n._zod,"values",()=>e.innerType._zod.values),n._zod.parse=(t,s)=>{if(t.value===void 0)return t.value=e.defaultValue,t;const i=e.innerType._zod.run(t,s);return i instanceof Promise?i.then(r=>ck(r,e)):ck(i,e)}});function ck(n,e){return n.value===void 0&&(n.value=e.defaultValue),n}const K2=Y("$ZodPrefault",(n,e)=>{_t.init(n,e),n._zod.optin="optional",Tt(n._zod,"values",()=>e.innerType._zod.values),n._zod.parse=(t,s)=>(t.value===void 0&&(t.value=e.defaultValue),e.innerType._zod.run(t,s))}),Z2=Y("$ZodNonOptional",(n,e)=>{_t.init(n,e),Tt(n._zod,"values",()=>{const t=e.innerType._zod.values;return t?new Set([...t].filter(s=>s!==void 0)):void 0}),n._zod.parse=(t,s)=>{const i=e.innerType._zod.run(t,s);return i instanceof Promise?i.then(r=>hk(r,n)):hk(i,n)}});function hk(n,e){return!n.issues.length&&n.value===void 0&&n.issues.push({code:"invalid_type",expected:"nonoptional",input:n.value,inst:e}),n}const X2=Y("$ZodCatch",(n,e)=>{_t.init(n,e),n._zod.optin="optional",Tt(n._zod,"optout",()=>e.innerType._zod.optout),Tt(n._zod,"values",()=>e.innerType._zod.values),n._zod.parse=(t,s)=>{const i=e.innerType._zod.run(t,s);return i instanceof Promise?i.then(r=>(t.value=r.value,r.issues.length&&(t.value=e.catchValue({...t,error:{issues:r.issues.map(o=>$a(o,s,Ca()))},input:t.value}),t.issues=[]),t)):(t.value=i.value,i.issues.length&&(t.value=e.catchValue({...t,error:{issues:i.issues.map(r=>$a(r,s,Ca()))},input:t.value}),t.issues=[]),t)}}),Y2=Y("$ZodPipe",(n,e)=>{_t.init(n,e),Tt(n._zod,"values",()=>e.in._zod.values),Tt(n._zod,"optin",()=>e.in._zod.optin),Tt(n._zod,"optout",()=>e.out._zod.optout),n._zod.parse=(t,s)=>{const i=e.in._zod.run(t,s);return i instanceof Promise?i.then(r=>uk(r,e,s)):uk(i,e,s)}});function uk(n,e,t){return $d(n)?n:e.out._zod.run({value:n.value,issues:n.issues},t)}const J2=Y("$ZodReadonly",(n,e)=>{_t.init(n,e),Tt(n._zod,"propValues",()=>e.innerType._zod.propValues),Tt(n._zod,"values",()=>e.innerType._zod.values),Tt(n._zod,"optin",()=>e.innerType._zod.optin),Tt(n._zod,"optout",()=>e.innerType._zod.optout),n._zod.parse=(t,s)=>{const i=e.innerType._zod.run(t,s);return i instanceof Promise?i.then(dk):dk(i)}});function dk(n){return n.value=Object.freeze(n.value),n}const Q2=Y("$ZodCustom",(n,e)=>{zs.init(n,e),_t.init(n,e),n._zod.parse=(t,s)=>t,n._zod.check=t=>{const s=t.value,i=e.fn(s);if(i instanceof Promise)return i.then(r=>fk(r,t,s,n));fk(i,t,s,n)}});function fk(n,e,t,s){if(!n){const i={code:"custom",input:t,inst:s,path:[...s._zod.def.path??[]],continue:!s._zod.def.abort};s._zod.def.params&&(i.params=s._zod.def.params),e.issues.push(Zd(i))}}class eF{constructor(){this._map=new Map,this._idmap=new Map}add(e,...t){const s=t[0];if(this._map.set(e,s),s&&typeof s=="object"&&"id"in s){if(this._idmap.has(s.id))throw new Error(`ID ${s.id} already exists in the registry`);this._idmap.set(s.id,e)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(e){const t=this._map.get(e);return t&&typeof t=="object"&&"id"in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){const t=e._zod.parent;if(t){const s={...this.get(t)??{}};return delete s.id,{...s,...this._map.get(e)}}return this._map.get(e)}has(e){return this._map.has(e)}}function tF(){return new eF}const im=tF();function nF(n,e){return new n({type:"string",...ye(e)})}function sF(n,e){return new n({type:"string",format:"email",check:"string_format",abort:!1,...ye(e)})}function pk(n,e){return new n({type:"string",format:"guid",check:"string_format",abort:!1,...ye(e)})}function iF(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,...ye(e)})}function rF(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...ye(e)})}function oF(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...ye(e)})}function aF(n,e){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...ye(e)})}function JC(n,e){return new n({type:"string",format:"url",check:"string_format",abort:!1,...ye(e)})}function lF(n,e){return new n({type:"string",format:"emoji",check:"string_format",abort:!1,...ye(e)})}function cF(n,e){return new n({type:"string",format:"nanoid",check:"string_format",abort:!1,...ye(e)})}function hF(n,e){return new n({type:"string",format:"cuid",check:"string_format",abort:!1,...ye(e)})}function uF(n,e){return new n({type:"string",format:"cuid2",check:"string_format",abort:!1,...ye(e)})}function dF(n,e){return new n({type:"string",format:"ulid",check:"string_format",abort:!1,...ye(e)})}function fF(n,e){return new n({type:"string",format:"xid",check:"string_format",abort:!1,...ye(e)})}function pF(n,e){return new n({type:"string",format:"ksuid",check:"string_format",abort:!1,...ye(e)})}function mF(n,e){return new n({type:"string",format:"ipv4",check:"string_format",abort:!1,...ye(e)})}function gF(n,e){return new n({type:"string",format:"ipv6",check:"string_format",abort:!1,...ye(e)})}function yF(n,e){return new n({type:"string",format:"cidrv4",check:"string_format",abort:!1,...ye(e)})}function vF(n,e){return new n({type:"string",format:"cidrv6",check:"string_format",abort:!1,...ye(e)})}function bF(n,e){return new n({type:"string",format:"base64",check:"string_format",abort:!1,...ye(e)})}function wF(n,e){return new n({type:"string",format:"base64url",check:"string_format",abort:!1,...ye(e)})}function _F(n,e){return new n({type:"string",format:"e164",check:"string_format",abort:!1,...ye(e)})}function SF(n,e){return new n({type:"string",format:"jwt",check:"string_format",abort:!1,...ye(e)})}function AF(n,e){return new n({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...ye(e)})}function kF(n,e){return new n({type:"string",format:"date",check:"string_format",...ye(e)})}function xF(n,e){return new n({type:"string",format:"time",check:"string_format",precision:null,...ye(e)})}function EF(n,e){return new n({type:"string",format:"duration",check:"string_format",...ye(e)})}function CF(n,e){return new n({type:"number",checks:[],...ye(e)})}function $F(n,e){return new n({type:"number",coerce:!0,checks:[],...ye(e)})}function TF(n,e){return new n({type:"number",check:"number_format",abort:!1,format:"safeint",...ye(e)})}function PF(n,e){return new n({type:"boolean",...ye(e)})}function RF(n,e){return new n({type:"undefined",...ye(e)})}function MF(n,e){return new n({type:"null",...ye(e)})}function IF(n){return new n({type:"any"})}function OF(n){return new n({type:"unknown"})}function NF(n,e){return new n({type:"never",...ye(e)})}function mk(n,e){return new GC({check:"less_than",...ye(e),value:n,inclusive:!1})}function U0(n,e){return new GC({check:"less_than",...ye(e),value:n,inclusive:!0})}function gk(n,e){return new KC({check:"greater_than",...ye(e),value:n,inclusive:!1})}function V0(n,e){return new KC({check:"greater_than",...ye(e),value:n,inclusive:!0})}function yk(n,e){return new VD({check:"multiple_of",...ye(e),value:n})}function QC(n,e){return new GD({check:"max_length",...ye(e),maximum:n})}function jg(n,e){return new KD({check:"min_length",...ye(e),minimum:n})}function e$(n,e){return new ZD({check:"length_equals",...ye(e),length:n})}function LF(n,e){return new XD({check:"string_format",format:"regex",...ye(e),pattern:n})}function DF(n){return new YD({check:"string_format",format:"lowercase",...ye(n)})}function FF(n){return new JD({check:"string_format",format:"uppercase",...ye(n)})}function jF(n,e){return new QD({check:"string_format",format:"includes",...ye(e),includes:n})}function zF(n,e){return new e2({check:"string_format",format:"starts_with",...ye(e),prefix:n})}function HF(n,e){return new t2({check:"string_format",format:"ends_with",...ye(e),suffix:n})}function $p(n){return new n2({check:"overwrite",tx:n})}function BF(n){return $p(e=>e.normalize(n))}function qF(){return $p(n=>n.trim())}function UF(){return $p(n=>n.toLowerCase())}function VF(){return $p(n=>n.toUpperCase())}function WF(n,e,t){return new n({type:"array",element:e,...ye(t)})}function GF(n,e,t){const s=ye(t);return s.abort??(s.abort=!0),new n({type:"custom",check:"custom",fn:e,...s})}function KF(n,e,t){return new n({type:"custom",check:"custom",fn:e,...ye(t)})}const ZF=Y("ZodISODateTime",(n,e)=>{g2.init(n,e),Ht.init(n,e)});function t$(n){return AF(ZF,n)}const XF=Y("ZodISODate",(n,e)=>{y2.init(n,e),Ht.init(n,e)});function YF(n){return kF(XF,n)}const JF=Y("ZodISOTime",(n,e)=>{v2.init(n,e),Ht.init(n,e)});function QF(n){return xF(JF,n)}const ej=Y("ZodISODuration",(n,e)=>{b2.init(n,e),Ht.init(n,e)});function tj(n){return EF(ej,n)}const nj=(n,e)=>{FC.init(n,e),n.name="ZodError",Object.defineProperties(n,{format:{value:t=>dD(n,t)},flatten:{value:t=>uD(n,t)},addIssue:{value:t=>n.issues.push(t)},addIssues:{value:t=>n.issues.push(...t)},isEmpty:{get(){return n.issues.length===0}}})},e0=Y("ZodError",nj,{Parent:Error}),sj=fD(e0),ij=pD(e0),rj=zC(e0),oj=BC(e0),Pt=Y("ZodType",(n,e)=>(_t.init(n,e),n.def=e,Object.defineProperty(n,"_def",{value:e}),n.check=(...t)=>n.clone({...e,checks:[...e.checks??[],...t.map(s=>typeof s=="function"?{_zod:{check:s,def:{check:"custom"},onattach:[]}}:s)]}),n.clone=(t,s)=>Tc(n,t,s),n.brand=()=>n,n.register=(t,s)=>(t.add(n,s),n),n.parse=(t,s)=>sj(n,t,s,{callee:n.parse}),n.safeParse=(t,s)=>rj(n,t,s),n.parseAsync=async(t,s)=>ij(n,t,s,{callee:n.parseAsync}),n.safeParseAsync=async(t,s)=>oj(n,t,s),n.spa=n.safeParseAsync,n.refine=(t,s)=>n.check(Jj(t,s)),n.superRefine=t=>n.check(Qj(t)),n.overwrite=t=>n.check($p(t)),n.optional=()=>zt(n),n.nullable=()=>wk(n),n.nullish=()=>zt(wk(n)),n.nonoptional=t=>Uj(n,t),n.array=()=>ie(n),n.or=t=>Xe([n,t]),n.and=t=>W_(n,t),n.transform=t=>qv(n,a$(t)),n.default=t=>Hj(n,t),n.prefault=t=>qj(n,t),n.catch=t=>Wj(n,t),n.pipe=t=>qv(n,t),n.readonly=()=>Zj(n),n.describe=t=>{const s=n.clone();return im.add(s,{description:t}),s},Object.defineProperty(n,"description",{get(){var t;return(t=im.get(n))==null?void 0:t.description},configurable:!0}),n.meta=(...t)=>{if(t.length===0)return im.get(n);const s=n.clone();return im.add(s,t[0]),s},n.isOptional=()=>n.safeParse(void 0).success,n.isNullable=()=>n.safeParse(null).success,n)),n$=Y("_ZodString",(n,e)=>{q_.init(n,e),Pt.init(n,e);const t=n._zod.bag;n.format=t.format??null,n.minLength=t.minimum??null,n.maxLength=t.maximum??null,n.regex=(...s)=>n.check(LF(...s)),n.includes=(...s)=>n.check(jF(...s)),n.startsWith=(...s)=>n.check(zF(...s)),n.endsWith=(...s)=>n.check(HF(...s)),n.min=(...s)=>n.check(jg(...s)),n.max=(...s)=>n.check(QC(...s)),n.length=(...s)=>n.check(e$(...s)),n.nonempty=(...s)=>n.check(jg(1,...s)),n.lowercase=s=>n.check(DF(s)),n.uppercase=s=>n.check(FF(s)),n.trim=()=>n.check(qF()),n.normalize=(...s)=>n.check(BF(...s)),n.toLowerCase=()=>n.check(UF()),n.toUpperCase=()=>n.check(VF())}),aj=Y("ZodString",(n,e)=>{q_.init(n,e),n$.init(n,e),n.email=t=>n.check(sF(lj,t)),n.url=t=>n.check(JC(s$,t)),n.jwt=t=>n.check(SF(kj,t)),n.emoji=t=>n.check(lF(hj,t)),n.guid=t=>n.check(pk(vk,t)),n.uuid=t=>n.check(iF(rm,t)),n.uuidv4=t=>n.check(rF(rm,t)),n.uuidv6=t=>n.check(oF(rm,t)),n.uuidv7=t=>n.check(aF(rm,t)),n.nanoid=t=>n.check(cF(uj,t)),n.guid=t=>n.check(pk(vk,t)),n.cuid=t=>n.check(hF(dj,t)),n.cuid2=t=>n.check(uF(fj,t)),n.ulid=t=>n.check(dF(pj,t)),n.base64=t=>n.check(bF(_j,t)),n.base64url=t=>n.check(wF(Sj,t)),n.xid=t=>n.check(fF(mj,t)),n.ksuid=t=>n.check(pF(gj,t)),n.ipv4=t=>n.check(mF(yj,t)),n.ipv6=t=>n.check(gF(vj,t)),n.cidrv4=t=>n.check(yF(bj,t)),n.cidrv6=t=>n.check(vF(wj,t)),n.e164=t=>n.check(_F(Aj,t)),n.datetime=t=>n.check(t$(t)),n.date=t=>n.check(YF(t)),n.time=t=>n.check(QF(t)),n.duration=t=>n.check(tj(t))});function j(n){return nF(aj,n)}const Ht=Y("ZodStringFormat",(n,e)=>{Nt.init(n,e),n$.init(n,e)}),lj=Y("ZodEmail",(n,e)=>{a2.init(n,e),Ht.init(n,e)}),vk=Y("ZodGUID",(n,e)=>{r2.init(n,e),Ht.init(n,e)}),rm=Y("ZodUUID",(n,e)=>{o2.init(n,e),Ht.init(n,e)}),s$=Y("ZodURL",(n,e)=>{l2.init(n,e),Ht.init(n,e)});function cj(n){return JC(s$,n)}const hj=Y("ZodEmoji",(n,e)=>{c2.init(n,e),Ht.init(n,e)}),uj=Y("ZodNanoID",(n,e)=>{h2.init(n,e),Ht.init(n,e)}),dj=Y("ZodCUID",(n,e)=>{u2.init(n,e),Ht.init(n,e)}),fj=Y("ZodCUID2",(n,e)=>{d2.init(n,e),Ht.init(n,e)}),pj=Y("ZodULID",(n,e)=>{f2.init(n,e),Ht.init(n,e)}),mj=Y("ZodXID",(n,e)=>{p2.init(n,e),Ht.init(n,e)}),gj=Y("ZodKSUID",(n,e)=>{m2.init(n,e),Ht.init(n,e)}),yj=Y("ZodIPv4",(n,e)=>{w2.init(n,e),Ht.init(n,e)}),vj=Y("ZodIPv6",(n,e)=>{_2.init(n,e),Ht.init(n,e)}),bj=Y("ZodCIDRv4",(n,e)=>{S2.init(n,e),Ht.init(n,e)}),wj=Y("ZodCIDRv6",(n,e)=>{A2.init(n,e),Ht.init(n,e)}),_j=Y("ZodBase64",(n,e)=>{k2.init(n,e),Ht.init(n,e)}),Sj=Y("ZodBase64URL",(n,e)=>{E2.init(n,e),Ht.init(n,e)}),Aj=Y("ZodE164",(n,e)=>{C2.init(n,e),Ht.init(n,e)}),kj=Y("ZodJWT",(n,e)=>{T2.init(n,e),Ht.init(n,e)}),U_=Y("ZodNumber",(n,e)=>{XC.init(n,e),Pt.init(n,e),n.gt=(s,i)=>n.check(gk(s,i)),n.gte=(s,i)=>n.check(V0(s,i)),n.min=(s,i)=>n.check(V0(s,i)),n.lt=(s,i)=>n.check(mk(s,i)),n.lte=(s,i)=>n.check(U0(s,i)),n.max=(s,i)=>n.check(U0(s,i)),n.int=s=>n.check(bk(s)),n.safe=s=>n.check(bk(s)),n.positive=s=>n.check(gk(0,s)),n.nonnegative=s=>n.check(V0(0,s)),n.negative=s=>n.check(mk(0,s)),n.nonpositive=s=>n.check(U0(0,s)),n.multipleOf=(s,i)=>n.check(yk(s,i)),n.step=(s,i)=>n.check(yk(s,i)),n.finite=()=>n;const t=n._zod.bag;n.minValue=Math.max(t.minimum??Number.NEGATIVE_INFINITY,t.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,n.maxValue=Math.min(t.maximum??Number.POSITIVE_INFINITY,t.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,n.isInt=(t.format??"").includes("int")||Number.isSafeInteger(t.multipleOf??.5),n.isFinite=!0,n.format=t.format??null});function Fe(n){return CF(U_,n)}const xj=Y("ZodNumberFormat",(n,e)=>{P2.init(n,e),U_.init(n,e)});function bk(n){return TF(xj,n)}const Ej=Y("ZodBoolean",(n,e)=>{R2.init(n,e),Pt.init(n,e)});function Je(n){return PF(Ej,n)}const Cj=Y("ZodUndefined",(n,e)=>{M2.init(n,e),Pt.init(n,e)});function zv(n){return RF(Cj,n)}const $j=Y("ZodNull",(n,e)=>{I2.init(n,e),Pt.init(n,e)});function Tj(n){return MF($j,n)}const Pj=Y("ZodAny",(n,e)=>{O2.init(n,e),Pt.init(n,e)});function V_(){return IF(Pj)}const Rj=Y("ZodUnknown",(n,e)=>{N2.init(n,e),Pt.init(n,e)});function wt(){return OF(Rj)}const Mj=Y("ZodNever",(n,e)=>{L2.init(n,e),Pt.init(n,e)});function Hv(n){return NF(Mj,n)}const Ij=Y("ZodArray",(n,e)=>{D2.init(n,e),Pt.init(n,e),n.element=e.element,n.min=(t,s)=>n.check(jg(t,s)),n.nonempty=t=>n.check(jg(1,t)),n.max=(t,s)=>n.check(QC(t,s)),n.length=(t,s)=>n.check(e$(t,s)),n.unwrap=()=>n.element});function ie(n,e){return WF(Ij,n,e)}const i$=Y("ZodObject",(n,e)=>{F2.init(n,e),Pt.init(n,e),Tt(n,"shape",()=>e.shape),n.keyof=()=>si(Object.keys(n._zod.def.shape)),n.catchall=t=>n.clone({...n._zod.def,catchall:t}),n.passthrough=()=>n.clone({...n._zod.def,catchall:wt()}),n.loose=()=>n.clone({...n._zod.def,catchall:wt()}),n.strict=()=>n.clone({...n._zod.def,catchall:Hv()}),n.strip=()=>n.clone({...n._zod.def,catchall:void 0}),n.extend=t=>aD(n,t),n.merge=t=>lD(n,t),n.pick=t=>rD(n,t),n.omit=t=>oD(n,t),n.partial=(...t)=>cD(l$,n,t[0]),n.required=(...t)=>hD(c$,n,t[0])});function W(n,e){const t={type:"object",get shape(){return Jy(this,"shape",{...n}),this.shape},...ye(e)};return new i$(t)}function Wn(n,e){return new i$({type:"object",get shape(){return Jy(this,"shape",{...n}),this.shape},catchall:wt(),...ye(e)})}const r$=Y("ZodUnion",(n,e)=>{YC.init(n,e),Pt.init(n,e),n.options=e.options});function Xe(n,e){return new r$({type:"union",options:n,...ye(e)})}const Oj=Y("ZodDiscriminatedUnion",(n,e)=>{r$.init(n,e),j2.init(n,e)});function o$(n,e,t){return new Oj({type:"union",options:e,discriminator:n,...ye(t)})}const Nj=Y("ZodIntersection",(n,e)=>{z2.init(n,e),Pt.init(n,e)});function W_(n,e){return new Nj({type:"intersection",left:n,right:e})}const Lj=Y("ZodRecord",(n,e)=>{H2.init(n,e),Pt.init(n,e),n.keyType=e.keyType,n.valueType=e.valueType});function Qe(n,e,t){return new Lj({type:"record",keyType:n,valueType:e,...ye(t)})}const Bv=Y("ZodEnum",(n,e)=>{B2.init(n,e),Pt.init(n,e),n.enum=e.entries,n.options=Object.values(e.entries);const t=new Set(Object.keys(e.entries));n.extract=(s,i)=>{const r={};for(const o of s)if(t.has(o))r[o]=e.entries[o];else throw new Error(`Key ${o} not found in enum`);return new Bv({...e,checks:[],...ye(i),entries:r})},n.exclude=(s,i)=>{const r={...e.entries};for(const o of s)if(t.has(o))delete r[o];else throw new Error(`Key ${o} not found in enum`);return new Bv({...e,checks:[],...ye(i),entries:r})}});function si(n,e){const t=Array.isArray(n)?Object.fromEntries(n.map(s=>[s,s])):n;return new Bv({type:"enum",entries:t,...ye(e)})}const Dj=Y("ZodLiteral",(n,e)=>{q2.init(n,e),Pt.init(n,e),n.values=new Set(e.values),Object.defineProperty(n,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function U(n,e){return new Dj({type:"literal",values:Array.isArray(n)?n:[n],...ye(e)})}const Fj=Y("ZodTransform",(n,e)=>{U2.init(n,e),Pt.init(n,e),n._zod.parse=(t,s)=>{t.addIssue=r=>{if(typeof r=="string")t.issues.push(Zd(r,t.value,e));else{const o=r;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=t.value),o.inst??(o.inst=n),o.continue??(o.continue=!0),t.issues.push(Zd(o))}};const i=e.transform(t.value,t);return i instanceof Promise?i.then(r=>(t.value=r,t)):(t.value=i,t)}});function a$(n){return new Fj({type:"transform",transform:n})}const l$=Y("ZodOptional",(n,e)=>{V2.init(n,e),Pt.init(n,e),n.unwrap=()=>n._zod.def.innerType});function zt(n){return new l$({type:"optional",innerType:n})}const jj=Y("ZodNullable",(n,e)=>{W2.init(n,e),Pt.init(n,e),n.unwrap=()=>n._zod.def.innerType});function wk(n){return new jj({type:"nullable",innerType:n})}const zj=Y("ZodDefault",(n,e)=>{G2.init(n,e),Pt.init(n,e),n.unwrap=()=>n._zod.def.innerType,n.removeDefault=n.unwrap});function Hj(n,e){return new zj({type:"default",innerType:n,get defaultValue(){return typeof e=="function"?e():e}})}const Bj=Y("ZodPrefault",(n,e)=>{K2.init(n,e),Pt.init(n,e),n.unwrap=()=>n._zod.def.innerType});function qj(n,e){return new Bj({type:"prefault",innerType:n,get defaultValue(){return typeof e=="function"?e():e}})}const c$=Y("ZodNonOptional",(n,e)=>{Z2.init(n,e),Pt.init(n,e),n.unwrap=()=>n._zod.def.innerType});function Uj(n,e){return new c$({type:"nonoptional",innerType:n,...ye(e)})}const Vj=Y("ZodCatch",(n,e)=>{X2.init(n,e),Pt.init(n,e),n.unwrap=()=>n._zod.def.innerType,n.removeCatch=n.unwrap});function Wj(n,e){return new Vj({type:"catch",innerType:n,catchValue:typeof e=="function"?e:()=>e})}const Gj=Y("ZodPipe",(n,e)=>{Y2.init(n,e),Pt.init(n,e),n.in=e.in,n.out=e.out});function qv(n,e){return new Gj({type:"pipe",in:n,out:e})}const Kj=Y("ZodReadonly",(n,e)=>{J2.init(n,e),Pt.init(n,e)});function Zj(n){return new Kj({type:"readonly",innerType:n})}const h$=Y("ZodCustom",(n,e)=>{Q2.init(n,e),Pt.init(n,e)});function Xj(n){const e=new zs({check:"custom"});return e._zod.check=n,e}function Yj(n,e){return GF(h$,n??(()=>!0),e)}function Jj(n,e={}){return KF(h$,n,e)}function Qj(n){const e=Xj(t=>(t.addIssue=s=>{if(typeof s=="string")t.issues.push(Zd(s,t.value,e._zod.def));else{const i=s;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=t.value),i.inst??(i.inst=e),i.continue??(i.continue=!e._zod.def.abort),t.issues.push(Zd(i))}},n(t.value,t)));return e}function u$(n,e){return qv(a$(n),e)}const ez={custom:"custom"};function tz(n){return $F(U_,n)}const t0="2025-11-25",nz=[t0,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],Xa="io.modelcontextprotocol/related-task",n0="2.0",vn=Yj(n=>n!==null&&(typeof n=="object"||typeof n=="function")),d$=Xe([j(),Fe().int()]),f$=j();Wn({ttl:Fe().optional(),pollInterval:Fe().optional()});const sz=W({ttl:Fe().optional()}),iz=W({taskId:j()}),G_=Wn({progressToken:d$.optional(),[Xa]:iz.optional()}),ii=W({_meta:G_.optional()}),Tp=ii.extend({task:sz.optional()}),rz=n=>Tp.safeParse(n).success,Zn=W({method:j(),params:ii.loose().optional()}),_i=W({_meta:G_.optional()}),Si=W({method:j(),params:_i.loose().optional()}),Xn=Wn({_meta:G_.optional()}),Pp=Xe([j(),Fe().int()]),p$=W({jsonrpc:U(n0),id:Pp,...Zn.shape}).strict(),Uv=n=>p$.safeParse(n).success,m$=W({jsonrpc:U(n0),...Si.shape}).strict(),oz=n=>m$.safeParse(n).success,K_=W({jsonrpc:U(n0),id:Pp,result:Xn}).strict(),rd=n=>K_.safeParse(n).success;var Re;(function(n){n[n.ConnectionClosed=-32e3]="ConnectionClosed",n[n.RequestTimeout=-32001]="RequestTimeout",n[n.ParseError=-32700]="ParseError",n[n.InvalidRequest=-32600]="InvalidRequest",n[n.MethodNotFound=-32601]="MethodNotFound",n[n.InvalidParams=-32602]="InvalidParams",n[n.InternalError=-32603]="InternalError",n[n.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(Re||(Re={}));const Z_=W({jsonrpc:U(n0),id:Pp.optional(),error:W({code:Fe().int(),message:j(),data:wt().optional()})}).strict(),az=n=>Z_.safeParse(n).success,qm=Xe([p$,m$,K_,Z_]);Xe([K_,Z_]);const eh=Xn.strict(),lz=_i.extend({requestId:Pp.optional(),reason:j().optional()}),X_=Si.extend({method:U("notifications/cancelled"),params:lz}),cz=W({src:j(),mimeType:j().optional(),sizes:ie(j()).optional(),theme:si(["light","dark"]).optional()}),Rp=W({icons:ie(cz).optional()}),yu=W({name:j(),title:j().optional()}),s0=yu.extend({...yu.shape,...Rp.shape,version:j(),websiteUrl:j().optional(),description:j().optional()}),hz=W_(W({applyDefaults:Je().optional()}),Qe(j(),wt())),uz=u$(n=>n&&typeof n=="object"&&!Array.isArray(n)&&Object.keys(n).length===0?{form:{}}:n,W_(W({form:hz.optional(),url:vn.optional()}),Qe(j(),wt()).optional())),dz=Wn({list:vn.optional(),cancel:vn.optional(),requests:Wn({sampling:Wn({createMessage:vn.optional()}).optional(),elicitation:Wn({create:vn.optional()}).optional()}).optional()}),fz=Wn({list:vn.optional(),cancel:vn.optional(),requests:Wn({tools:Wn({call:vn.optional()}).optional()}).optional()}),pz=W({experimental:Qe(j(),vn).optional(),sampling:W({context:vn.optional(),tools:vn.optional()}).optional(),elicitation:uz.optional(),roots:W({listChanged:Je().optional()}).optional(),tasks:dz.optional(),extensions:Qe(j(),vn).optional()}),mz=ii.extend({protocolVersion:j(),capabilities:pz,clientInfo:s0}),gz=Zn.extend({method:U("initialize"),params:mz}),yz=W({experimental:Qe(j(),vn).optional(),logging:vn.optional(),completions:vn.optional(),prompts:W({listChanged:Je().optional()}).optional(),resources:W({subscribe:Je().optional(),listChanged:Je().optional()}).optional(),tools:W({listChanged:Je().optional()}).optional(),tasks:fz.optional(),extensions:Qe(j(),vn).optional()}),g$=Xn.extend({protocolVersion:j(),capabilities:yz,serverInfo:s0,instructions:j().optional()}),y$=Si.extend({method:U("notifications/initialized"),params:_i.optional()}),vz=n=>y$.safeParse(n).success,i0=Zn.extend({method:U("ping"),params:ii.optional()}),bz=W({progress:Fe(),total:zt(Fe()),message:zt(j())}),wz=W({..._i.shape,...bz.shape,progressToken:d$}),Y_=Si.extend({method:U("notifications/progress"),params:wz}),_z=ii.extend({cursor:f$.optional()}),Mp=Zn.extend({params:_z.optional()}),Ip=Xn.extend({nextCursor:f$.optional()}),Sz=si(["working","input_required","completed","failed","cancelled"]),Op=W({taskId:j(),status:Sz,ttl:Xe([Fe(),Tj()]),createdAt:j(),lastUpdatedAt:j(),pollInterval:zt(Fe()),statusMessage:zt(j())}),Xd=Xn.extend({task:Op}),Az=_i.merge(Op),zg=Si.extend({method:U("notifications/tasks/status"),params:Az}),J_=Zn.extend({method:U("tasks/get"),params:ii.extend({taskId:j()})}),Q_=Xn.merge(Op),eS=Zn.extend({method:U("tasks/result"),params:ii.extend({taskId:j()})});Xn.loose();const tS=Mp.extend({method:U("tasks/list")}),nS=Ip.extend({tasks:ie(Op)}),sS=Zn.extend({method:U("tasks/cancel"),params:ii.extend({taskId:j()})}),kz=Xn.merge(Op),v$=W({uri:j(),mimeType:zt(j()),_meta:Qe(j(),wt()).optional()}),b$=v$.extend({text:j()}),iS=j().refine(n=>{try{return atob(n),!0}catch{return!1}},{message:"Invalid Base64 string"}),w$=v$.extend({blob:iS}),Np=si(["user","assistant"]),Ou=W({audience:ie(Np).optional(),priority:Fe().min(0).max(1).optional(),lastModified:t$({offset:!0}).optional()}),_$=W({...yu.shape,...Rp.shape,uri:j(),description:zt(j()),mimeType:zt(j()),size:zt(Fe()),annotations:Ou.optional(),_meta:zt(Wn({}))}),xz=W({...yu.shape,...Rp.shape,uriTemplate:j(),description:zt(j()),mimeType:zt(j()),annotations:Ou.optional(),_meta:zt(Wn({}))}),S$=Mp.extend({method:U("resources/list")}),rS=Ip.extend({resources:ie(_$)}),A$=Mp.extend({method:U("resources/templates/list")}),oS=Ip.extend({resourceTemplates:ie(xz)}),aS=ii.extend({uri:j()}),Ez=aS,k$=Zn.extend({method:U("resources/read"),params:Ez}),lS=Xn.extend({contents:ie(Xe([b$,w$]))}),cS=Si.extend({method:U("notifications/resources/list_changed"),params:_i.optional()}),Cz=aS,$z=Zn.extend({method:U("resources/subscribe"),params:Cz}),Tz=aS,Pz=Zn.extend({method:U("resources/unsubscribe"),params:Tz}),Rz=_i.extend({uri:j()}),Mz=Si.extend({method:U("notifications/resources/updated"),params:Rz}),Iz=W({name:j(),description:zt(j()),required:zt(Je())}),Oz=W({...yu.shape,...Rp.shape,description:zt(j()),arguments:zt(ie(Iz)),_meta:zt(Wn({}))}),x$=Mp.extend({method:U("prompts/list")}),hS=Ip.extend({prompts:ie(Oz)}),Nz=ii.extend({name:j(),arguments:Qe(j(),j()).optional()}),Lz=Zn.extend({method:U("prompts/get"),params:Nz}),uS=W({type:U("text"),text:j(),annotations:Ou.optional(),_meta:Qe(j(),wt()).optional()}),dS=W({type:U("image"),data:iS,mimeType:j(),annotations:Ou.optional(),_meta:Qe(j(),wt()).optional()}),fS=W({type:U("audio"),data:iS,mimeType:j(),annotations:Ou.optional(),_meta:Qe(j(),wt()).optional()}),Dz=W({type:U("tool_use"),name:j(),id:j(),input:Qe(j(),wt()),_meta:Qe(j(),wt()).optional()}),E$=W({type:U("resource"),resource:Xe([b$,w$]),annotations:Ou.optional(),_meta:Qe(j(),wt()).optional()}),C$=_$.extend({type:U("resource_link")}),Lp=Xe([uS,dS,fS,C$,E$]),Fz=W({role:Np,content:Lp}),$$=Xn.extend({description:j().optional(),messages:ie(Fz)}),pS=Si.extend({method:U("notifications/prompts/list_changed"),params:_i.optional()}),jz=W({title:j().optional(),readOnlyHint:Je().optional(),destructiveHint:Je().optional(),idempotentHint:Je().optional(),openWorldHint:Je().optional()}),zz=W({taskSupport:si(["required","optional","forbidden"]).optional()}),mS=W({...yu.shape,...Rp.shape,description:j().optional(),inputSchema:W({type:U("object"),properties:Qe(j(),vn).optional(),required:ie(j()).optional()}).catchall(wt()),outputSchema:W({type:U("object"),properties:Qe(j(),vn).optional(),required:ie(j()).optional()}).catchall(wt()).optional(),annotations:jz.optional(),execution:zz.optional(),_meta:Qe(j(),wt()).optional()}),Hz=Mp.extend({method:U("tools/list")}),gS=Ip.extend({tools:ie(mS)}),uc=Xn.extend({content:ie(Lp).default([]),structuredContent:Qe(j(),wt()).optional(),isError:Je().optional()});uc.or(Xn.extend({toolResult:wt()}));const Bz=Tp.extend({name:j(),arguments:Qe(j(),wt()).optional()}),T$=Zn.extend({method:U("tools/call"),params:Bz}),yS=Si.extend({method:U("notifications/tools/list_changed"),params:_i.optional()}),qz=W({autoRefresh:Je().default(!0),debounceMs:Fe().int().nonnegative().default(300)}),P$=si(["debug","info","notice","warning","error","critical","alert","emergency"]),Uz=ii.extend({level:P$}),Vz=Zn.extend({method:U("logging/setLevel"),params:Uz}),Wz=_i.extend({level:P$,logger:j().optional(),data:wt()}),R$=Si.extend({method:U("notifications/message"),params:Wz}),Gz=W({name:j().optional()}),Kz=W({hints:ie(Gz).optional(),costPriority:Fe().min(0).max(1).optional(),speedPriority:Fe().min(0).max(1).optional(),intelligencePriority:Fe().min(0).max(1).optional()}),Zz=W({mode:si(["auto","required","none"]).optional()}),Xz=W({type:U("tool_result"),toolUseId:j().describe("The unique identifier for the corresponding tool call."),content:ie(Lp).default([]),structuredContent:W({}).loose().optional(),isError:Je().optional(),_meta:Qe(j(),wt()).optional()}),Yz=o$("type",[uS,dS,fS]),Hg=o$("type",[uS,dS,fS,Dz,Xz]),Jz=W({role:Np,content:Xe([Hg,ie(Hg)]),_meta:Qe(j(),wt()).optional()}),Qz=Tp.extend({messages:ie(Jz),modelPreferences:Kz.optional(),systemPrompt:j().optional(),includeContext:si(["none","thisServer","allServers"]).optional(),temperature:Fe().optional(),maxTokens:Fe().int(),stopSequences:ie(j()).optional(),metadata:vn.optional(),tools:ie(mS).optional(),toolChoice:Zz.optional()}),vS=Zn.extend({method:U("sampling/createMessage"),params:Qz}),M$=Xn.extend({model:j(),stopReason:zt(si(["endTurn","stopSequence","maxTokens"]).or(j())),role:Np,content:Yz}),I$=Xn.extend({model:j(),stopReason:zt(si(["endTurn","stopSequence","maxTokens","toolUse"]).or(j())),role:Np,content:Xe([Hg,ie(Hg)])}),eH=W({type:U("boolean"),title:j().optional(),description:j().optional(),default:Je().optional()}),tH=W({type:U("string"),title:j().optional(),description:j().optional(),minLength:Fe().optional(),maxLength:Fe().optional(),format:si(["email","uri","date","date-time"]).optional(),default:j().optional()}),nH=W({type:si(["number","integer"]),title:j().optional(),description:j().optional(),minimum:Fe().optional(),maximum:Fe().optional(),default:Fe().optional()}),sH=W({type:U("string"),title:j().optional(),description:j().optional(),enum:ie(j()),default:j().optional()}),iH=W({type:U("string"),title:j().optional(),description:j().optional(),oneOf:ie(W({const:j(),title:j()})),default:j().optional()}),rH=W({type:U("string"),title:j().optional(),description:j().optional(),enum:ie(j()),enumNames:ie(j()).optional(),default:j().optional()}),oH=Xe([sH,iH]),aH=W({type:U("array"),title:j().optional(),description:j().optional(),minItems:Fe().optional(),maxItems:Fe().optional(),items:W({type:U("string"),enum:ie(j())}),default:ie(j()).optional()}),lH=W({type:U("array"),title:j().optional(),description:j().optional(),minItems:Fe().optional(),maxItems:Fe().optional(),items:W({anyOf:ie(W({const:j(),title:j()}))}),default:ie(j()).optional()}),cH=Xe([aH,lH]),hH=Xe([rH,oH,cH]),uH=Xe([hH,eH,tH,nH]),dH=Tp.extend({mode:U("form").optional(),message:j(),requestedSchema:W({type:U("object"),properties:Qe(j(),uH),required:ie(j()).optional()})}),fH=Tp.extend({mode:U("url"),message:j(),elicitationId:j(),url:j().url()}),pH=Xe([dH,fH]),O$=Zn.extend({method:U("elicitation/create"),params:pH}),mH=_i.extend({elicitationId:j()}),gH=Si.extend({method:U("notifications/elicitation/complete"),params:mH}),N$=Xn.extend({action:si(["accept","decline","cancel"]),content:u$(n=>n===null?void 0:n,Qe(j(),Xe([j(),Fe(),Je(),ie(j())])).optional())}),yH=W({type:U("ref/resource"),uri:j()}),vH=W({type:U("ref/prompt"),name:j()}),bH=ii.extend({ref:Xe([vH,yH]),argument:W({name:j(),value:j()}),context:W({arguments:Qe(j(),j()).optional()}).optional()}),wH=Zn.extend({method:U("completion/complete"),params:bH}),L$=Xn.extend({completion:Wn({values:ie(j()).max(100),total:zt(Fe().int()),hasMore:zt(Je())})}),_H=W({uri:j().startsWith("file://"),name:j().optional(),_meta:Qe(j(),wt()).optional()}),SH=Zn.extend({method:U("roots/list"),params:ii.optional()}),AH=Xn.extend({roots:ie(_H)}),kH=Si.extend({method:U("notifications/roots/list_changed"),params:_i.optional()});Xe([i0,gz,wH,Vz,Lz,x$,S$,A$,k$,$z,Pz,T$,Hz,J_,eS,tS,sS]);Xe([X_,Y_,y$,kH,zg]);Xe([eh,M$,I$,N$,AH,Q_,nS,Xd]);Xe([i0,vS,O$,SH,J_,eS,tS,sS]);Xe([X_,Y_,R$,Mz,cS,yS,pS,zg,gH]);Xe([eh,g$,L$,$$,hS,rS,oS,lS,uc,gS,Q_,nS,Xd]);class xe extends Error{constructor(e,t,s){super(`MCP error ${e}: ${t}`),this.code=e,this.data=s,this.name="McpError"}static fromError(e,t,s){if(e===Re.UrlElicitationRequired&&s){const i=s;if(i.elicitations)return new xH(i.elicitations,t)}return new xe(e,t,s)}}class xH extends xe{constructor(e,t=`URL elicitation${e.length>1?"s":""} required`){super(Re.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){var e;return((e=this.data)==null?void 0:e.elicitations)??[]}}function bS(n){return!!n._zod}function Fo(n,e){return bS(n)?HC(n,e):n.safeParse(e)}function D$(n){var t,s;if(!n)return;let e;if(bS(n)?e=(s=(t=n._zod)==null?void 0:t.def)==null?void 0:s.shape:e=n.shape,!!e){if(typeof e=="function")try{return e()}catch{return}return e}}function F$(n){var i;if(bS(n)){const o=(i=n._zod)==null?void 0:i.def;if(o){if(o.value!==void 0)return o.value;if(Array.isArray(o.values)&&o.values.length>0)return o.values[0]}}const t=n._def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}const s=n.value;if(s!==void 0)return s}function qa(n){return n==="completed"||n==="failed"||n==="cancelled"}new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function _k(n){const e=D$(n),t=e==null?void 0:e.method;if(!t)throw new Error("Schema is missing a method literal");const s=F$(t);if(typeof s!="string")throw new Error("Schema method literal must be a string");return s}function Sk(n,e){const t=Fo(n,e);if(!t.success)throw t.error;return t.data}const EH=6e4;class j${constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(X_,t=>{this._oncancel(t)}),this.setNotificationHandler(Y_,t=>{this._onprogress(t)}),this.setRequestHandler(i0,t=>({})),this._taskStore=e==null?void 0:e.taskStore,this._taskMessageQueue=e==null?void 0:e.taskMessageQueue,this._taskStore&&(this.setRequestHandler(J_,async(t,s)=>{const i=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!i)throw new xe(Re.InvalidParams,"Failed to retrieve task: Task not found");return{...i}}),this.setRequestHandler(eS,async(t,s)=>{const i=async()=>{var a;const r=t.params.taskId;if(this._taskMessageQueue){let l;for(;l=await this._taskMessageQueue.dequeue(r,s.sessionId);){if(l.type==="response"||l.type==="error"){const c=l.message,h=c.id,u=this._requestResolvers.get(h);if(u)if(this._requestResolvers.delete(h),l.type==="response")u(c);else{const d=c,p=new xe(d.error.code,d.error.message,d.error.data);u(p)}else{const d=l.type==="response"?"Response":"Error";this._onerror(new Error(`${d} handler missing for request ${h}`))}continue}await((a=this._transport)==null?void 0:a.send(l.message,{relatedRequestId:s.requestId}))}}const o=await this._taskStore.getTask(r,s.sessionId);if(!o)throw new xe(Re.InvalidParams,`Task not found: ${r}`);if(!qa(o.status))return await this._waitForTaskUpdate(r,s.signal),await i();if(qa(o.status)){const l=await this._taskStore.getTaskResult(r,s.sessionId);return this._clearTaskQueue(r),{...l,_meta:{...l._meta,[Xa]:{taskId:r}}}}return await i()};return await i()}),this.setRequestHandler(tS,async(t,s)=>{var i;try{const{tasks:r,nextCursor:o}=await this._taskStore.listTasks((i=t.params)==null?void 0:i.cursor,s.sessionId);return{tasks:r,nextCursor:o,_meta:{}}}catch(r){throw new xe(Re.InvalidParams,`Failed to list tasks: ${r instanceof Error?r.message:String(r)}`)}}),this.setRequestHandler(sS,async(t,s)=>{try{const i=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!i)throw new xe(Re.InvalidParams,`Task not found: ${t.params.taskId}`);if(qa(i.status))throw new xe(Re.InvalidParams,`Cannot cancel task in terminal status: ${i.status}`);await this._taskStore.updateTaskStatus(t.params.taskId,"cancelled","Client cancelled task execution.",s.sessionId),this._clearTaskQueue(t.params.taskId);const r=await this._taskStore.getTask(t.params.taskId,s.sessionId);if(!r)throw new xe(Re.InvalidParams,`Task not found after cancellation: ${t.params.taskId}`);return{_meta:{},...r}}catch(i){throw i instanceof xe?i:new xe(Re.InvalidRequest,`Failed to cancel task: ${i instanceof Error?i.message:String(i)}`)}}))}async _oncancel(e){if(!e.params.requestId)return;const t=this._requestHandlerAbortControllers.get(e.params.requestId);t==null||t.abort(e.params.reason)}_setupTimeout(e,t,s,i,r=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(i,t),startTime:Date.now(),timeout:t,maxTotalTimeout:s,resetTimeoutOnProgress:r,onTimeout:i})}_resetTimeout(e){const t=this._timeoutInfo.get(e);if(!t)return!1;const s=Date.now()-t.startTime;if(t.maxTotalTimeout&&s>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),xe.fromError(Re.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:s});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){const t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){var r,o,a;if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;const t=(r=this.transport)==null?void 0:r.onclose;this._transport.onclose=()=>{t==null||t(),this._onclose()};const s=(o=this.transport)==null?void 0:o.onerror;this._transport.onerror=l=>{s==null||s(l),this._onerror(l)};const i=(a=this._transport)==null?void 0:a.onmessage;this._transport.onmessage=(l,c)=>{i==null||i(l,c),rd(l)||az(l)?this._onresponse(l):Uv(l)?this._onrequest(l,c):oz(l)?this._onnotification(l):this._onerror(new Error(`Unknown message type: ${JSON.stringify(l)}`))},await this._transport.start()}_onclose(){var s;const e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(const i of this._timeoutInfo.values())clearTimeout(i.timeoutId);this._timeoutInfo.clear();for(const i of this._requestHandlerAbortControllers.values())i.abort();this._requestHandlerAbortControllers.clear();const t=xe.fromError(Re.ConnectionClosed,"Connection closed");this._transport=void 0,(s=this.onclose)==null||s.call(this);for(const i of e.values())i(t)}_onerror(e){var t;(t=this.onerror)==null||t.call(this,e)}_onnotification(e){const t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;t!==void 0&&Promise.resolve().then(()=>t(e)).catch(s=>this._onerror(new Error(`Uncaught error in notification handler: ${s}`)))}_onrequest(e,t){var h,u,d,p;const s=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,i=this._transport,r=(d=(u=(h=e.params)==null?void 0:h._meta)==null?void 0:u[Xa])==null?void 0:d.taskId;if(s===void 0){const m={jsonrpc:"2.0",id:e.id,error:{code:Re.MethodNotFound,message:"Method not found"}};r&&this._taskMessageQueue?this._enqueueTaskMessage(r,{type:"error",message:m,timestamp:Date.now()},i==null?void 0:i.sessionId).catch(g=>this._onerror(new Error(`Failed to enqueue error response: ${g}`))):i==null||i.send(m).catch(g=>this._onerror(new Error(`Failed to send an error response: ${g}`)));return}const o=new AbortController;this._requestHandlerAbortControllers.set(e.id,o);const a=rz(e.params)?e.params.task:void 0,l=this._taskStore?this.requestTaskStore(e,i==null?void 0:i.sessionId):void 0,c={signal:o.signal,sessionId:i==null?void 0:i.sessionId,_meta:(p=e.params)==null?void 0:p._meta,sendNotification:async m=>{if(o.signal.aborted)return;const g={relatedRequestId:e.id};r&&(g.relatedTask={taskId:r}),await this.notification(m,g)},sendRequest:async(m,g,v)=>{var _;if(o.signal.aborted)throw new xe(Re.ConnectionClosed,"Request was cancelled");const y={...v,relatedRequestId:e.id};r&&!y.relatedTask&&(y.relatedTask={taskId:r});const w=((_=y.relatedTask)==null?void 0:_.taskId)??r;return w&&l&&await l.updateTaskStatus(w,"input_required"),await this.request(m,g,y)},authInfo:t==null?void 0:t.authInfo,requestId:e.id,requestInfo:t==null?void 0:t.requestInfo,taskId:r,taskStore:l,taskRequestedTtl:a==null?void 0:a.ttl,closeSSEStream:t==null?void 0:t.closeSSEStream,closeStandaloneSSEStream:t==null?void 0:t.closeStandaloneSSEStream};Promise.resolve().then(()=>{a&&this.assertTaskHandlerCapability(e.method)}).then(()=>s(e,c)).then(async m=>{if(o.signal.aborted)return;const g={result:m,jsonrpc:"2.0",id:e.id};r&&this._taskMessageQueue?await this._enqueueTaskMessage(r,{type:"response",message:g,timestamp:Date.now()},i==null?void 0:i.sessionId):await(i==null?void 0:i.send(g))},async m=>{if(o.signal.aborted)return;const g={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(m.code)?m.code:Re.InternalError,message:m.message??"Internal error",...m.data!==void 0&&{data:m.data}}};r&&this._taskMessageQueue?await this._enqueueTaskMessage(r,{type:"error",message:g,timestamp:Date.now()},i==null?void 0:i.sessionId):await(i==null?void 0:i.send(g))}).catch(m=>this._onerror(new Error(`Failed to send response: ${m}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===o&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){const{progressToken:t,...s}=e.params,i=Number(t),r=this._progressHandlers.get(i);if(!r){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}const o=this._responseHandlers.get(i),a=this._timeoutInfo.get(i);if(a&&o&&a.resetTimeoutOnProgress)try{this._resetTimeout(i)}catch(l){this._responseHandlers.delete(i),this._progressHandlers.delete(i),this._cleanupTimeout(i),o(l);return}r(s)}_onresponse(e){const t=Number(e.id),s=this._requestResolvers.get(t);if(s){if(this._requestResolvers.delete(t),rd(e))s(e);else{const o=new xe(e.error.code,e.error.message,e.error.data);s(o)}return}const i=this._responseHandlers.get(t);if(i===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let r=!1;if(rd(e)&&e.result&&typeof e.result=="object"){const o=e.result;if(o.task&&typeof o.task=="object"){const a=o.task;typeof a.taskId=="string"&&(r=!0,this._taskProgressTokens.set(a.taskId,t))}}if(r||this._progressHandlers.delete(t),rd(e))i(e);else{const o=xe.fromError(e.error.code,e.error.message,e.error.data);i(o)}}get transport(){return this._transport}async close(){var e;await((e=this._transport)==null?void 0:e.close())}async*requestStream(e,t,s){var o,a;const{task:i}=s??{};if(!i){try{yield{type:"result",result:await this.request(e,t,s)}}catch(l){yield{type:"error",error:l instanceof xe?l:new xe(Re.InternalError,String(l))}}return}let r;try{const l=await this.request(e,Xd,s);if(l.task)r=l.task.taskId,yield{type:"taskCreated",task:l.task};else throw new xe(Re.InternalError,"Task creation did not return a task");for(;;){const c=await this.getTask({taskId:r},s);if(yield{type:"taskStatus",task:c},qa(c.status)){c.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId:r},t,s)}:c.status==="failed"?yield{type:"error",error:new xe(Re.InternalError,`Task ${r} failed`)}:c.status==="cancelled"&&(yield{type:"error",error:new xe(Re.InternalError,`Task ${r} was cancelled`)});return}if(c.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:r},t,s)};return}const h=c.pollInterval??((o=this._options)==null?void 0:o.defaultTaskPollInterval)??1e3;await new Promise(u=>setTimeout(u,h)),(a=s==null?void 0:s.signal)==null||a.throwIfAborted()}}catch(l){yield{type:"error",error:l instanceof xe?l:new xe(Re.InternalError,String(l))}}}request(e,t,s){const{relatedRequestId:i,resumptionToken:r,onresumptiontoken:o,task:a,relatedTask:l}=s??{};return new Promise((c,h)=>{var w,_,k,A,$;const u=E=>{h(E)};if(!this._transport){u(new Error("Not connected"));return}if(((w=this._options)==null?void 0:w.enforceStrictCapabilities)===!0)try{this.assertCapabilityForMethod(e.method),a&&this.assertTaskCapability(e.method)}catch(E){u(E);return}(_=s==null?void 0:s.signal)==null||_.throwIfAborted();const d=this._requestMessageId++,p={...e,jsonrpc:"2.0",id:d};s!=null&&s.onprogress&&(this._progressHandlers.set(d,s.onprogress),p.params={...e.params,_meta:{...((k=e.params)==null?void 0:k._meta)||{},progressToken:d}}),a&&(p.params={...p.params,task:a}),l&&(p.params={...p.params,_meta:{...((A=p.params)==null?void 0:A._meta)||{},[Xa]:l}});const m=E=>{var F;this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),(F=this._transport)==null||F.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:d,reason:String(E)}},{relatedRequestId:i,resumptionToken:r,onresumptiontoken:o}).catch(B=>this._onerror(new Error(`Failed to send cancellation: ${B}`)));const O=E instanceof xe?E:new xe(Re.RequestTimeout,String(E));h(O)};this._responseHandlers.set(d,E=>{var O;if(!((O=s==null?void 0:s.signal)!=null&&O.aborted)){if(E instanceof Error)return h(E);try{const F=Fo(t,E.result);F.success?c(F.data):h(F.error)}catch(F){h(F)}}}),($=s==null?void 0:s.signal)==null||$.addEventListener("abort",()=>{var E;m((E=s==null?void 0:s.signal)==null?void 0:E.reason)});const g=(s==null?void 0:s.timeout)??EH,v=()=>m(xe.fromError(Re.RequestTimeout,"Request timed out",{timeout:g}));this._setupTimeout(d,g,s==null?void 0:s.maxTotalTimeout,v,(s==null?void 0:s.resetTimeoutOnProgress)??!1);const y=l==null?void 0:l.taskId;if(y){const E=O=>{const F=this._responseHandlers.get(d);F?F(O):this._onerror(new Error(`Response handler missing for side-channeled request ${d}`))};this._requestResolvers.set(d,E),this._enqueueTaskMessage(y,{type:"request",message:p,timestamp:Date.now()}).catch(O=>{this._cleanupTimeout(d),h(O)})}else this._transport.send(p,{relatedRequestId:i,resumptionToken:r,onresumptiontoken:o}).catch(E=>{this._cleanupTimeout(d),h(E)})})}async getTask(e,t){return this.request({method:"tasks/get",params:e},Q_,t)}async getTaskResult(e,t,s){return this.request({method:"tasks/result",params:e},t,s)}async listTasks(e,t){return this.request({method:"tasks/list",params:e},nS,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},kz,t)}async notification(e,t){var a,l,c,h;if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(e.method);const s=(a=t==null?void 0:t.relatedTask)==null?void 0:a.taskId;if(s){const u={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...((l=e.params)==null?void 0:l._meta)||{},[Xa]:t.relatedTask}}};await this._enqueueTaskMessage(s,{type:"notification",message:u,timestamp:Date.now()});return}if((((c=this._options)==null?void 0:c.debouncedNotificationMethods)??[]).includes(e.method)&&!e.params&&!(t!=null&&t.relatedRequestId)&&!(t!=null&&t.relatedTask)){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{var d,p;if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let u={...e,jsonrpc:"2.0"};t!=null&&t.relatedTask&&(u={...u,params:{...u.params,_meta:{...((d=u.params)==null?void 0:d._meta)||{},[Xa]:t.relatedTask}}}),(p=this._transport)==null||p.send(u,t).catch(m=>this._onerror(m))});return}let o={...e,jsonrpc:"2.0"};t!=null&&t.relatedTask&&(o={...o,params:{...o.params,_meta:{...((h=o.params)==null?void 0:h._meta)||{},[Xa]:t.relatedTask}}}),await this._transport.send(o,t)}setRequestHandler(e,t){const s=_k(e);this.assertRequestHandlerCapability(s),this._requestHandlers.set(s,(i,r)=>{const o=Sk(e,i);return Promise.resolve(t(o,r))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){const s=_k(e);this._notificationHandlers.set(s,i=>{const r=Sk(e,i);return Promise.resolve(t(r))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){const t=this._taskProgressTokens.get(e);t!==void 0&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,s){var r;if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");const i=(r=this._options)==null?void 0:r.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,s,i)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){const s=await this._taskMessageQueue.dequeueAll(e,t);for(const i of s)if(i.type==="request"&&Uv(i.message)){const r=i.message.id,o=this._requestResolvers.get(r);o?(o(new xe(Re.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(r)):this._onerror(new Error(`Resolver missing for request ${r} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){var i,r;let s=((i=this._options)==null?void 0:i.defaultTaskPollInterval)??1e3;try{const o=await((r=this._taskStore)==null?void 0:r.getTask(e));o!=null&&o.pollInterval&&(s=o.pollInterval)}catch{}return new Promise((o,a)=>{if(t.aborted){a(new xe(Re.InvalidRequest,"Request cancelled"));return}const l=setTimeout(o,s);t.addEventListener("abort",()=>{clearTimeout(l),a(new xe(Re.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,t){const s=this._taskStore;if(!s)throw new Error("No task store configured");return{createTask:async i=>{if(!e)throw new Error("No request provided");return await s.createTask(i,e.id,{method:e.method,params:e.params},t)},getTask:async i=>{const r=await s.getTask(i,t);if(!r)throw new xe(Re.InvalidParams,"Failed to retrieve task: Task not found");return r},storeTaskResult:async(i,r,o)=>{await s.storeTaskResult(i,r,o,t);const a=await s.getTask(i,t);if(a){const l=zg.parse({method:"notifications/tasks/status",params:a});await this.notification(l),qa(a.status)&&this._cleanupTaskProgressHandler(i)}},getTaskResult:i=>s.getTaskResult(i,t),updateTaskStatus:async(i,r,o)=>{const a=await s.getTask(i,t);if(!a)throw new xe(Re.InvalidParams,`Task "${i}" not found - it may have been cleaned up`);if(qa(a.status))throw new xe(Re.InvalidParams,`Cannot update task "${i}" from terminal status "${a.status}" to "${r}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await s.updateTaskStatus(i,r,o,t);const l=await s.getTask(i,t);if(l){const c=zg.parse({method:"notifications/tasks/status",params:l});await this.notification(c),qa(l.status)&&this._cleanupTaskProgressHandler(i)}},listTasks:i=>s.listTasks(i,t)}}}function Ak(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function CH(n,e){const t={...n};for(const s in e){const i=s,r=e[i];if(r===void 0)continue;const o=t[i];Ak(o)&&Ak(r)?t[i]={...o,...r}:t[i]=r}return t}(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});class $H extends j${constructor(){super(...arguments);re(this,"_registeredMethods",new Set);re(this,"_eventSlots",new Map);re(this,"setRequestHandler",(t,s)=>{this._assertMethodNotRegistered(t,"setRequestHandler"),super.setRequestHandler(t,s)});re(this,"setNotificationHandler",(t,s)=>{this._assertMethodNotRegistered(t,"setNotificationHandler"),super.setNotificationHandler(t,s)});re(this,"replaceRequestHandler",(t,s)=>{let i=t.shape.method.value;this._registeredMethods.add(i),super.setRequestHandler(t,s)})}onEventDispatch(t,s){}_ensureEventSlot(t){let s=this._eventSlots.get(t);if(!s){let i=this.eventSchemas[t];if(!i)throw Error(`Unknown event: ${String(t)}`);s={listeners:[]},this._eventSlots.set(t,s);let r=i.shape.method.value;this._registeredMethods.add(r);let o=s;super.setNotificationHandler(i,a=>{var c;let l=a.params;this.onEventDispatch(t,l),(c=o.onHandler)==null||c.call(o,l);for(let h of[...o.listeners])h(l)})}return s}setEventHandler(t,s){let i=this._ensureEventSlot(t);i.onHandler&&s&&console.warn(`[MCP Apps] on${String(t)} handler replaced. Use addEventListener("${String(t)}", …) to add multiple listeners without replacing.`),i.onHandler=s}getEventHandler(t){var s;return(s=this._eventSlots.get(t))==null?void 0:s.onHandler}addEventListener(t,s){this._ensureEventSlot(t).listeners.push(s)}removeEventListener(t,s){let i=this._eventSlots.get(t);if(!i)return;let r=i.listeners.indexOf(s);r!==-1&&i.listeners.splice(r,1)}warnIfRequestHandlerReplaced(t,s,i){s&&i&&console.warn(`[MCP Apps] ${t} handler replaced. Previous handler will no longer be called.`)}_assertMethodNotRegistered(t,s){let i=t.shape.method.value;if(this._registeredMethods.has(i))throw Error(`Handler for "${i}" already registered (via ${s}). Use addEventListener() to attach multiple listeners, or the on* setter for replace semantics.`);this._registeredMethods.add(i)}}var z$="2026-01-26",TH="ui/notifications/tool-input-partial",PH=Xe([U("light"),U("dark")]).describe("Color theme preference for the host environment."),Yd=Xe([U("inline"),U("fullscreen"),U("pip")]).describe("Display mode for UI presentation."),RH=Xe([U("--color-background-primary"),U("--color-background-secondary"),U("--color-background-tertiary"),U("--color-background-inverse"),U("--color-background-ghost"),U("--color-background-info"),U("--color-background-danger"),U("--color-background-success"),U("--color-background-warning"),U("--color-background-disabled"),U("--color-text-primary"),U("--color-text-secondary"),U("--color-text-tertiary"),U("--color-text-inverse"),U("--color-text-ghost"),U("--color-text-info"),U("--color-text-danger"),U("--color-text-success"),U("--color-text-warning"),U("--color-text-disabled"),U("--color-border-primary"),U("--color-border-secondary"),U("--color-border-tertiary"),U("--color-border-inverse"),U("--color-border-ghost"),U("--color-border-info"),U("--color-border-danger"),U("--color-border-success"),U("--color-border-warning"),U("--color-border-disabled"),U("--color-ring-primary"),U("--color-ring-secondary"),U("--color-ring-inverse"),U("--color-ring-info"),U("--color-ring-danger"),U("--color-ring-success"),U("--color-ring-warning"),U("--font-sans"),U("--font-mono"),U("--font-weight-normal"),U("--font-weight-medium"),U("--font-weight-semibold"),U("--font-weight-bold"),U("--font-text-xs-size"),U("--font-text-sm-size"),U("--font-text-md-size"),U("--font-text-lg-size"),U("--font-heading-xs-size"),U("--font-heading-sm-size"),U("--font-heading-md-size"),U("--font-heading-lg-size"),U("--font-heading-xl-size"),U("--font-heading-2xl-size"),U("--font-heading-3xl-size"),U("--font-text-xs-line-height"),U("--font-text-sm-line-height"),U("--font-text-md-line-height"),U("--font-text-lg-line-height"),U("--font-heading-xs-line-height"),U("--font-heading-sm-line-height"),U("--font-heading-md-line-height"),U("--font-heading-lg-line-height"),U("--font-heading-xl-line-height"),U("--font-heading-2xl-line-height"),U("--font-heading-3xl-line-height"),U("--border-radius-xs"),U("--border-radius-sm"),U("--border-radius-md"),U("--border-radius-lg"),U("--border-radius-xl"),U("--border-radius-full"),U("--border-width-regular"),U("--shadow-hairline"),U("--shadow-sm"),U("--shadow-md"),U("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),MH=Qe(RH.describe(`Style variables for theming MCP apps. + +Individual style keys are optional - hosts may provide any subset of these values. +Values are strings containing CSS values (colors, sizes, font stacks, etc.). + +Note: This type uses \`Record\` rather than \`Partial>\` +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),Xe([j(),zv()]).describe(`Style variables for theming MCP apps. + +Individual style keys are optional - hosts may provide any subset of these values. +Values are strings containing CSS values (colors, sizes, font stacks, etc.). + +Note: This type uses \`Record\` rather than \`Partial>\` +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`)).describe(`Style variables for theming MCP apps. + +Individual style keys are optional - hosts may provide any subset of these values. +Values are strings containing CSS values (colors, sizes, font stacks, etc.). + +Note: This type uses \`Record\` rather than \`Partial>\` +for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),IH=W({method:U("ui/open-link"),params:W({url:j().describe("URL to open in the host's browser")})});W({isError:Je().optional().describe("True if the host failed to open the URL (e.g., due to security policy).")}).passthrough();W({isError:Je().optional().describe("True if the download failed (e.g., user cancelled or host denied).")}).passthrough();W({isError:Je().optional().describe("True if the host rejected or failed to deliver the message.")}).passthrough();var OH=W({method:U("ui/notifications/sandbox-proxy-ready"),params:W({})}),wS=W({connectDomains:ie(j()).optional().describe(`Origins for network requests (fetch/XHR/WebSocket). + +- Maps to CSP \`connect-src\` directive +- Empty or omitted → no network connections (secure default)`),resourceDomains:ie(j()).optional().describe("Origins for static resources (images, scripts, stylesheets, fonts, media).\n\n- Maps to CSP `img-src`, `script-src`, `style-src`, `font-src`, `media-src` directives\n- Wildcard subdomains supported: `https://*.example.com`\n- Empty or omitted → no network resources (secure default)"),frameDomains:ie(j()).optional().describe("Origins for nested iframes.\n\n- Maps to CSP `frame-src` directive\n- Empty or omitted → no nested iframes allowed (`frame-src 'none'`)"),baseUriDomains:ie(j()).optional().describe("Allowed base URIs for the document.\n\n- Maps to CSP `base-uri` directive\n- Empty or omitted → only same origin allowed (`base-uri 'self'`)")}),_S=W({camera:W({}).optional().describe("Request camera access.\n\nMaps to Permission Policy `camera` feature."),microphone:W({}).optional().describe("Request microphone access.\n\nMaps to Permission Policy `microphone` feature."),geolocation:W({}).optional().describe("Request geolocation access.\n\nMaps to Permission Policy `geolocation` feature."),clipboardWrite:W({}).optional().describe("Request clipboard write access.\n\nMaps to Permission Policy `clipboard-write` feature.")}),NH=W({method:U("ui/notifications/size-changed"),params:W({width:Fe().optional().describe("New width in pixels."),height:Fe().optional().describe("New height in pixels.")})});W({method:U("ui/notifications/tool-input"),params:W({arguments:Qe(j(),wt().describe("Complete tool call arguments as key-value pairs.")).optional().describe("Complete tool call arguments as key-value pairs.")})});W({method:U("ui/notifications/tool-input-partial"),params:W({arguments:Qe(j(),wt().describe("Partial tool call arguments (incomplete, may change).")).optional().describe("Partial tool call arguments (incomplete, may change).")})});W({method:U("ui/notifications/tool-cancelled"),params:W({reason:j().optional().describe('Optional reason for the cancellation (e.g., "user action", "timeout").')})});var LH=W({fonts:j().optional()}),DH=W({variables:MH.optional().describe("CSS variables for theming the app."),css:LH.optional().describe("CSS blocks that apps can inject.")});W({method:U("ui/resource-teardown"),params:W({})});var FH=Qe(j(),wt()),kk=W({text:W({}).optional().describe("Host supports text content blocks."),image:W({}).optional().describe("Host supports image content blocks."),audio:W({}).optional().describe("Host supports audio content blocks."),resource:W({}).optional().describe("Host supports resource content blocks."),resourceLink:W({}).optional().describe("Host supports resource link content blocks."),structuredContent:W({}).optional().describe("Host supports structured content.")}),jH=W({method:U("ui/notifications/request-teardown"),params:W({}).optional()}),zH=W({experimental:Qe(j(),Qe(j(),V_()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),openLinks:W({}).optional().describe("Host supports opening external URLs."),downloadFile:W({}).optional().describe("Host supports file downloads via ui/download-file."),serverTools:W({listChanged:Je().optional().describe("Host supports tools/list_changed notifications.")}).optional().describe("Host can proxy tool calls to the MCP server."),serverResources:W({listChanged:Je().optional().describe("Host supports resources/list_changed notifications.")}).optional().describe("Host can proxy resource reads to the MCP server."),logging:W({}).optional().describe("Host accepts log messages."),sandbox:W({permissions:_S.optional().describe("Permissions granted by the host (camera, microphone, geolocation)."),csp:wS.optional().describe("CSP domains approved by the host.")}).optional().describe("Sandbox configuration applied by the host."),updateModelContext:kk.optional().describe("Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns."),message:kk.optional().describe("Host supports receiving content messages (ui/message) from the view."),sampling:W({tools:W({}).optional().describe("Host supports tool use via `tools` and `toolChoice` parameters.")}).optional().describe("Host supports LLM sampling (sampling/createMessage) from the view.\nMirrors the MCP `ClientCapabilities.sampling` shape so hosts can pass it through.")}),HH=W({experimental:Qe(j(),Qe(j(),V_()).describe("Experimental features keyed by identifier.")).optional().describe("Experimental features keyed by identifier."),tools:W({listChanged:Je().optional().describe("App supports tools/list_changed notifications.")}).optional().describe("App exposes MCP-style tools that the host can call."),availableDisplayModes:ie(Yd).optional().describe("Display modes the app supports.")}),BH=W({method:U("ui/notifications/initialized"),params:W({}).optional()});W({csp:wS.optional().describe("Content Security Policy configuration for UI resources."),permissions:_S.optional().describe("Sandbox permissions requested by the UI resource."),domain:j().optional().describe(`Dedicated origin for view sandbox. + +Useful when views need stable, dedicated origins for OAuth callbacks, CORS policies, or API key allowlists. + +**Host-dependent:** The format and validation rules for this field are determined by each host. Servers MUST consult host-specific documentation for the expected domain format. Common patterns include: +- Hash-based subdomains (e.g., \`{hash}.claudemcpcontent.com\`) +- URL-derived subdomains (e.g., \`www-example-com.oaiusercontent.com\`) + +If omitted, host uses default sandbox origin (typically per-conversation).`),prefersBorder:Je().optional().describe(`Visual boundary preference - true if view prefers a visible border. + +Boolean requesting whether a visible border and background is provided by the host. Specifying an explicit value for this is recommended because hosts' defaults may vary. + +- \`true\`: request visible border + background +- \`false\`: request no visible border + background +- omitted: host decides border`)});var xk=W({method:U("ui/request-display-mode"),params:W({mode:Yd.describe("The display mode being requested.")})});W({mode:Yd.describe("The display mode that was actually set. May differ from requested if not supported.")}).passthrough();var qH=Xe([U("model"),U("app")]).describe("Tool visibility scope - who can access the tool.");W({resourceUri:j().optional(),visibility:ie(qH).optional().describe(`Who can access this tool. Default: ["model", "app"] +- "model": Tool visible to and callable by the agent +- "app": Tool callable by the app from this server only`),csp:Hv().optional(),permissions:Hv().optional()});W({mimeTypes:ie(j()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')});var UH=W({method:U("ui/download-file"),params:W({contents:ie(Xe([E$,C$])).describe("Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.")})}),VH=W({method:U("ui/message"),params:W({role:U("user").describe('Message role, currently only "user" is supported.'),content:ie(Lp).describe("Message content blocks (text, image, etc.).")})});W({method:U("ui/notifications/sandbox-resource-ready"),params:W({html:j().describe("HTML content to load into the inner iframe."),sandbox:j().optional().describe("Optional override for the inner iframe's sandbox attribute."),csp:wS.optional().describe("CSP configuration from resource metadata."),permissions:_S.optional().describe("Sandbox permissions from resource metadata.")})});W({method:U("ui/notifications/tool-result"),params:uc.describe("Standard MCP tool execution result.")});var H$=W({toolInfo:W({id:Pp.optional().describe("JSON-RPC id of the tools/call request."),tool:mS.describe("Tool definition including name, inputSchema, etc.")}).optional().describe("Metadata of the tool call that instantiated this App."),theme:PH.optional().describe("Current color theme preference."),styles:DH.optional().describe("Style configuration for theming the app."),displayMode:Yd.optional().describe("How the UI is currently displayed."),availableDisplayModes:ie(Yd).optional().describe("Display modes the host supports."),containerDimensions:Xe([W({height:Fe().describe("Fixed container height in pixels.")}),W({maxHeight:Xe([Fe(),zv()]).optional().describe("Maximum container height in pixels.")})]).and(Xe([W({width:Fe().describe("Fixed container width in pixels.")}),W({maxWidth:Xe([Fe(),zv()]).optional().describe("Maximum container width in pixels.")})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other +container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:j().optional().describe("User's language and region preference in BCP 47 format."),timeZone:j().optional().describe("User's timezone in IANA format."),userAgent:j().optional().describe("Host application identifier."),platform:Xe([U("web"),U("desktop"),U("mobile")]).optional().describe("Platform type for responsive design decisions."),deviceCapabilities:W({touch:Je().optional().describe("Whether the device supports touch input."),hover:Je().optional().describe("Whether the device supports hover interactions.")}).optional().describe("Device input capabilities."),safeAreaInsets:W({top:Fe().describe("Top safe area inset in pixels."),right:Fe().describe("Right safe area inset in pixels."),bottom:Fe().describe("Bottom safe area inset in pixels."),left:Fe().describe("Left safe area inset in pixels.")}).optional().describe("Mobile safe area boundaries in pixels.")}).passthrough();W({method:U("ui/notifications/host-context-changed"),params:H$.describe("Partial context update containing only changed fields.")});var WH=W({method:U("ui/update-model-context"),params:W({content:ie(Lp).optional().describe("Context content blocks (text, image, etc.)."),structuredContent:Qe(j(),wt().describe("Structured content for machine-readable context data.")).optional().describe("Structured content for machine-readable context data.")})}),GH=W({method:U("ui/initialize"),params:W({appInfo:s0.describe("App identification (name and version)."),appCapabilities:HH.describe("Features and capabilities this app provides."),protocolVersion:j().describe("Protocol version this app supports.")})});W({protocolVersion:j().describe('Negotiated protocol version string (e.g., "2025-11-21").'),hostInfo:s0.describe("Host application identification and version."),hostCapabilities:zH.describe("Features and capabilities provided by the host."),hostContext:H$.describe("Rich context about the host environment.")}).passthrough();class KH{constructor(e=window.parent,t){re(this,"eventTarget");re(this,"eventSource");re(this,"messageListener");re(this,"onclose");re(this,"onerror");re(this,"onmessage");re(this,"sessionId");re(this,"setProtocolVersion");this.eventTarget=e,this.eventSource=t,this.messageListener=s=>{var r,o,a;if(t&&s.source!==this.eventSource){console.debug("Ignoring message from unknown source",s);return}let i=qm.safeParse(s.data);i.success?(console.debug("Parsed message",i.data),(r=this.onmessage)==null||r.call(this,i.data)):((o=s.data)==null?void 0:o.jsonrpc)!=="2.0"?console.debug("Ignoring non-JSON-RPC message",i.error.message,s):(console.error("Failed to parse message",i.error.message,s),(a=this.onerror)==null||a.call(this,Error("Invalid JSON-RPC message received: "+i.error.message)))}}async start(){window.addEventListener("message",this.messageListener)}async send(e,t){e.method!==TH&&console.debug("Sending message",e),this.eventTarget.postMessage(e,"*")}async close(){var e;window.removeEventListener("message",this.messageListener),(e=this.onclose)==null||e.call(this)}}var ZH=[z$];class XH extends $H{constructor(t,s,i,r){super(r);re(this,"_client");re(this,"_hostInfo");re(this,"_capabilities");re(this,"_appCapabilities");re(this,"_hostContext",{});re(this,"_appInfo");re(this,"_initializedReceived",!1);re(this,"_baseReplaceRequestHandler",this.replaceRequestHandler);re(this,"replaceRequestHandler",(t,s)=>{this._baseReplaceRequestHandler(t,(i,r)=>(this._initializedReceived||console.warn(`[ext-apps] AppBridge received '${i.method}' before ui/notifications/initialized. The View is calling host methods before completing the handshake; it should await app.connect() first.`),s(i,r)))});re(this,"eventSchemas",{sizechange:NH,sandboxready:OH,initialized:BH,requestteardown:jH,loggingmessage:R$});re(this,"onping");re(this,"_onmessage");re(this,"_onopenlink");re(this,"_ondownloadfile");re(this,"_onrequestdisplaymode");re(this,"_onupdatemodelcontext");re(this,"_oncalltool");re(this,"_onlistresources");re(this,"_onlistresourcetemplates");re(this,"_onreadresource");re(this,"_onlistprompts");re(this,"sendResourceTeardown",this.teardownResource);this._client=t,this._hostInfo=s,this._capabilities=i,this.addEventListener("initialized",()=>{this._initializedReceived=!0}),this._hostContext=(r==null?void 0:r.hostContext)||{},this.setRequestHandler(GH,o=>this._oninitialize(o)),this.setRequestHandler(i0,(o,a)=>{var l;return(l=this.onping)==null||l.call(this,o.params,a),{}}),this.replaceRequestHandler(xk,o=>({mode:this._hostContext.displayMode??"inline"}))}getAppCapabilities(){return this._appCapabilities}getAppVersion(){return this._appInfo}get onsizechange(){return this.getEventHandler("sizechange")}set onsizechange(t){this.setEventHandler("sizechange",t)}get onsandboxready(){return this.getEventHandler("sandboxready")}set onsandboxready(t){this.setEventHandler("sandboxready",t)}get oninitialized(){return this.getEventHandler("initialized")}set oninitialized(t){this.setEventHandler("initialized",t)}get onmessage(){return this._onmessage}set onmessage(t){this.warnIfRequestHandlerReplaced("onmessage",this._onmessage,t),this._onmessage=t,this.replaceRequestHandler(VH,async(s,i)=>{if(!this._onmessage)throw Error("No onmessage handler set");return this._onmessage(s.params,i)})}get onopenlink(){return this._onopenlink}set onopenlink(t){this.warnIfRequestHandlerReplaced("onopenlink",this._onopenlink,t),this._onopenlink=t,this.replaceRequestHandler(IH,async(s,i)=>{if(!this._onopenlink)throw Error("No onopenlink handler set");return this._onopenlink(s.params,i)})}get ondownloadfile(){return this._ondownloadfile}set ondownloadfile(t){this.warnIfRequestHandlerReplaced("ondownloadfile",this._ondownloadfile,t),this._ondownloadfile=t,this.replaceRequestHandler(UH,async(s,i)=>{if(!this._ondownloadfile)throw Error("No ondownloadfile handler set");return this._ondownloadfile(s.params,i)})}get onrequestteardown(){return this.getEventHandler("requestteardown")}set onrequestteardown(t){this.setEventHandler("requestteardown",t)}get onrequestdisplaymode(){return this._onrequestdisplaymode}set onrequestdisplaymode(t){this.warnIfRequestHandlerReplaced("onrequestdisplaymode",this._onrequestdisplaymode,t),this._onrequestdisplaymode=t,this.replaceRequestHandler(xk,async(s,i)=>{if(!this._onrequestdisplaymode)throw Error("No onrequestdisplaymode handler set");return this._onrequestdisplaymode(s.params,i)})}get onloggingmessage(){return this.getEventHandler("loggingmessage")}set onloggingmessage(t){this.setEventHandler("loggingmessage",t)}get onupdatemodelcontext(){return this._onupdatemodelcontext}set onupdatemodelcontext(t){this.warnIfRequestHandlerReplaced("onupdatemodelcontext",this._onupdatemodelcontext,t),this._onupdatemodelcontext=t,this.replaceRequestHandler(WH,async(s,i)=>{if(!this._onupdatemodelcontext)throw Error("No onupdatemodelcontext handler set");return this._onupdatemodelcontext(s.params,i)})}get oncalltool(){return this._oncalltool}set oncalltool(t){this.warnIfRequestHandlerReplaced("oncalltool",this._oncalltool,t),this._oncalltool=t,this.replaceRequestHandler(T$,async(s,i)=>{if(!this._oncalltool)throw Error("No oncalltool handler set");return this._oncalltool(s.params,i)})}set oncreatesamplingmessage(t){this.setRequestHandler(vS,async(s,i)=>t(s.params,i))}sendToolListChanged(t={}){return this.notification({method:"notifications/tools/list_changed",params:t})}get onlistresources(){return this._onlistresources}set onlistresources(t){this.warnIfRequestHandlerReplaced("onlistresources",this._onlistresources,t),this._onlistresources=t,this.replaceRequestHandler(S$,async(s,i)=>{if(!this._onlistresources)throw Error("No onlistresources handler set");return this._onlistresources(s.params,i)})}get onlistresourcetemplates(){return this._onlistresourcetemplates}set onlistresourcetemplates(t){this.warnIfRequestHandlerReplaced("onlistresourcetemplates",this._onlistresourcetemplates,t),this._onlistresourcetemplates=t,this.replaceRequestHandler(A$,async(s,i)=>{if(!this._onlistresourcetemplates)throw Error("No onlistresourcetemplates handler set");return this._onlistresourcetemplates(s.params,i)})}get onreadresource(){return this._onreadresource}set onreadresource(t){this.warnIfRequestHandlerReplaced("onreadresource",this._onreadresource,t),this._onreadresource=t,this.replaceRequestHandler(k$,async(s,i)=>{if(!this._onreadresource)throw Error("No onreadresource handler set");return this._onreadresource(s.params,i)})}sendResourceListChanged(t={}){return this.notification({method:"notifications/resources/list_changed",params:t})}get onlistprompts(){return this._onlistprompts}set onlistprompts(t){this.warnIfRequestHandlerReplaced("onlistprompts",this._onlistprompts,t),this._onlistprompts=t,this.replaceRequestHandler(x$,async(s,i)=>{if(!this._onlistprompts)throw Error("No onlistprompts handler set");return this._onlistprompts(s.params,i)})}sendPromptListChanged(t={}){return this.notification({method:"notifications/prompts/list_changed",params:t})}assertCapabilityForMethod(t){}assertRequestHandlerCapability(t){}assertNotificationCapability(t){}assertTaskCapability(t){throw Error("Tasks are not supported in MCP Apps")}assertTaskHandlerCapability(t){throw Error("Task handlers are not supported in MCP Apps")}getCapabilities(){return this._capabilities}async _oninitialize(t){let s=t.params.protocolVersion;return this._appInfo!==void 0&&console.warn("[ext-apps] AppBridge received a second ui/initialize. The View may be double-mounting (e.g. React StrictMode in dev) without closing the previous App instance. Responding normally; the latest appInfo/appCapabilities replace the previous values."),this._appCapabilities=t.params.appCapabilities,this._appInfo=t.params.appInfo,{protocolVersion:ZH.includes(s)?s:z$,hostCapabilities:this.getCapabilities(),hostInfo:this._hostInfo,hostContext:this._hostContext}}setHostContext(t){let s={},i=!1;for(let r of Object.keys(t)){let o=this._hostContext[r],a=t[r];YH(o,a)||(s[r]=a,i=!0)}i&&(this._hostContext=t,this.sendHostContextChange(s))}sendHostContextChange(t){return this.notification({method:"ui/notifications/host-context-changed",params:t})}sendToolInput(t){return this.notification({method:"ui/notifications/tool-input",params:t})}sendToolInputPartial(t){return this.notification({method:"ui/notifications/tool-input-partial",params:t})}sendToolResult(t){return this.notification({method:"ui/notifications/tool-result",params:t})}sendToolCancelled(t){return this.notification({method:"ui/notifications/tool-cancelled",params:t})}sendSandboxResourceReady(t){return this.notification({method:"ui/notifications/sandbox-resource-ready",params:t})}teardownResource(t,s){return this.request({method:"ui/resource-teardown",params:t},FH,s)}callTool(t,s){return this.request({method:"tools/call",params:t},uc,s)}listTools(t,s){return this.request({method:"tools/list",params:t},gS,s)}async connect(t){if(this.transport)throw Error("AppBridge is already connected. Call close() before connecting again.");if(this._initializedReceived=!1,this._client){let s=this._client.getServerCapabilities();if(!s)throw Error("Client server capabilities not available");s.tools&&(this.oncalltool=async(i,r)=>this._client.request({method:"tools/call",params:i},uc,{signal:r.signal}),s.tools.listChanged&&this._client.setNotificationHandler(yS,i=>this.sendToolListChanged(i.params))),s.resources&&(this.onlistresources=async(i,r)=>this._client.request({method:"resources/list",params:i},rS,{signal:r.signal}),this.onlistresourcetemplates=async(i,r)=>this._client.request({method:"resources/templates/list",params:i},oS,{signal:r.signal}),this.onreadresource=async(i,r)=>this._client.request({method:"resources/read",params:i},lS,{signal:r.signal}),s.resources.listChanged&&this._client.setNotificationHandler(cS,i=>this.sendResourceListChanged(i.params))),s.prompts&&(this.onlistprompts=async(i,r)=>this._client.request({method:"prompts/list",params:i},hS,{signal:r.signal}),s.prompts.listChanged&&this._client.setNotificationHandler(pS,i=>this.sendPromptListChanged(i.params)))}return super.connect(t)}}function YH(n,e){return JSON.stringify(n)===JSON.stringify(e)}const JH={x:0,y:0,width:1024,height:768},Vv=28,QH=12,eB=.9;function va(n){return typeof n=="number"&&Number.isFinite(n)?n:void 0}function B$(n){if(!(!n||typeof n!="object"||Array.isArray(n)))return n}function Wv(n){if(Array.isArray(n))return n.map(Wv);const e=B$(n);return e?Object.fromEntries(Object.entries(e).map(([t,s])=>[t,(t==="text"||t==="originalText")&&typeof s=="string"?s.replace(/\\r\\n|\\n|\\r/gu,` +`):Wv(s)])):n}function tB(n){return n.type==="text"&&typeof(n.text??n.originalText)=="string"}function q$(n){const e=String(n.text??n.originalText??""),t=va(n.fontSize)??20,s=e.length*t*eB,i=va(n.width);return Math.max(i&&i>0?i:0,s)}function nB(n){for(const e of n){if(e.type!=="cameraUpdate")continue;const t=va(e.width),s=va(e.height);if(!(!t||t<=0||!s||s<=0))return{x:va(e.x)??0,y:va(e.y)??0,width:t,height:s}}return JH}function sB(n,e){const t=va(n.x);if(t===void 0)return!1;const s=q$(n),i=e.x+Vv,r=e.x+e.width-Vv;return tr+1}function iB(n,e){const t={...n},s=va(t.fontSize)??20;let i=q$(t);const r=Math.max(1,e.width-Vv*2);if(i>r){const o=r/i;t.fontSize=Math.max(QH,s*o),typeof t.height=="number"&&(t.height*=Number(t.fontSize)/s),i=Math.min(r,i*(Number(t.fontSize)/s))}return t.width=i,t.autoResize=!1,t.textAlign="left",t.x=e.x+(e.width-i)/2,t}function rB(n){const t=Wv(n).map(B$);if(t.some(r=>r===void 0))return n;const s=t,i=nB(s);return s.map(r=>!tB(r)||!sB(r,i)?r:iB(r,i))}var Gv={exports:{}},U$={},Xi={},vu={},Dp={},We={},Jd={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.regexpCode=n.getEsmExportName=n.getProperty=n.safeStringify=n.stringify=n.strConcat=n.addCodeArg=n.str=n._=n.nil=n._Code=n.Name=n.IDENTIFIER=n._CodeOrName=void 0;class e{}n._CodeOrName=e,n.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class t extends e{constructor(w){if(super(),!n.IDENTIFIER.test(w))throw new Error("CodeGen: name must be a valid identifier");this.str=w}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}n.Name=t;class s extends e{constructor(w){super(),this._items=typeof w=="string"?[w]:w}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const w=this._items[0];return w===""||w==='""'}get str(){var w;return(w=this._str)!==null&&w!==void 0?w:this._str=this._items.reduce((_,k)=>`${_}${k}`,"")}get names(){var w;return(w=this._names)!==null&&w!==void 0?w:this._names=this._items.reduce((_,k)=>(k instanceof t&&(_[k.str]=(_[k.str]||0)+1),_),{})}}n._Code=s,n.nil=new s("");function i(y,...w){const _=[y[0]];let k=0;for(;k{if(u.scopePath===void 0)throw new Error(`CodeGen: name "${u}" has no value`);return(0,e._)`${c}${u.scopePath}`})}scopeCode(c=this._values,h,u){return this._reduceValues(c,d=>{if(d.value===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return d.value.code},h,u)}_reduceValues(c,h,u={},d){let p=e.nil;for(const m in c){const g=c[m];if(!g)continue;const v=u[m]=u[m]||new Map;g.forEach(y=>{if(v.has(y))return;v.set(y,s.Started);let w=h(y);if(w){const _=this.opts.es5?n.varKinds.var:n.varKinds.const;p=(0,e._)`${p}${_} ${y} = ${w};${this.opts._n}`}else if(w=d==null?void 0:d(y))p=(0,e._)`${p}${w}${this.opts._n}`;else throw new t(y);v.set(y,s.Completed)})}return p}}n.ValueScope=a})(Kv);(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.or=n.and=n.not=n.CodeGen=n.operators=n.varKinds=n.ValueScopeName=n.ValueScope=n.Scope=n.Name=n.regexpCode=n.stringify=n.getProperty=n.nil=n.strConcat=n.str=n._=void 0;const e=Jd,t=Kv;var s=Jd;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(n,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(n,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(n,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return s.Name}});var i=Kv;Object.defineProperty(n,"Scope",{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(n,"ValueScope",{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(n,"ValueScopeName",{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(n,"varKinds",{enumerable:!0,get:function(){return i.varKinds}}),n.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class r{optimizeNodes(){return this}optimizeNames(b,x){return this}}class o extends r{constructor(b,x,I){super(),this.varKind=b,this.name=x,this.rhs=I}render({es5:b,_n:x}){const I=b?t.varKinds.var:this.varKind,V=this.rhs===void 0?"":` = ${this.rhs}`;return`${I} ${this.name}${V};`+x}optimizeNames(b,x){if(b[this.name.str])return this.rhs&&(this.rhs=D(this.rhs,b,x)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class a extends r{constructor(b,x,I){super(),this.lhs=b,this.rhs=x,this.sideEffects=I}render({_n:b}){return`${this.lhs} = ${this.rhs};`+b}optimizeNames(b,x){if(!(this.lhs instanceof e.Name&&!b[this.lhs.str]&&!this.sideEffects))return this.rhs=D(this.rhs,b,x),this}get names(){const b=this.lhs instanceof e.Name?{}:{...this.lhs.names};return K(b,this.rhs)}}class l extends a{constructor(b,x,I,V){super(b,I,V),this.op=x}render({_n:b}){return`${this.lhs} ${this.op}= ${this.rhs};`+b}}class c extends r{constructor(b){super(),this.label=b,this.names={}}render({_n:b}){return`${this.label}:`+b}}class h extends r{constructor(b){super(),this.label=b,this.names={}}render({_n:b}){return`break${this.label?` ${this.label}`:""};`+b}}class u extends r{constructor(b){super(),this.error=b}render({_n:b}){return`throw ${this.error};`+b}get names(){return this.error.names}}class d extends r{constructor(b){super(),this.code=b}render({_n:b}){return`${this.code};`+b}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(b,x){return this.code=D(this.code,b,x),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class p extends r{constructor(b=[]){super(),this.nodes=b}render(b){return this.nodes.reduce((x,I)=>x+I.render(b),"")}optimizeNodes(){const{nodes:b}=this;let x=b.length;for(;x--;){const I=b[x].optimizeNodes();Array.isArray(I)?b.splice(x,1,...I):I?b[x]=I:b.splice(x,1)}return b.length>0?this:void 0}optimizeNames(b,x){const{nodes:I}=this;let V=I.length;for(;V--;){const Z=I[V];Z.optimizeNames(b,x)||(Q(b,Z.names),I.splice(V,1))}return I.length>0?this:void 0}get names(){return this.nodes.reduce((b,x)=>z(b,x.names),{})}}class m extends p{render(b){return"{"+b._n+super.render(b)+"}"+b._n}}class g extends p{}class v extends m{}v.kind="else";class y extends m{constructor(b,x){super(x),this.condition=b}render(b){let x=`if(${this.condition})`+super.render(b);return this.else&&(x+="else "+this.else.render(b)),x}optimizeNodes(){super.optimizeNodes();const b=this.condition;if(b===!0)return this.nodes;let x=this.else;if(x){const I=x.optimizeNodes();x=this.else=Array.isArray(I)?new v(I):I}if(x)return b===!1?x instanceof y?x:x.nodes:this.nodes.length?this:new y(X(b),x instanceof y?[x]:x.nodes);if(!(b===!1||!this.nodes.length))return this}optimizeNames(b,x){var I;if(this.else=(I=this.else)===null||I===void 0?void 0:I.optimizeNames(b,x),!!(super.optimizeNames(b,x)||this.else))return this.condition=D(this.condition,b,x),this}get names(){const b=super.names;return K(b,this.condition),this.else&&z(b,this.else.names),b}}y.kind="if";class w extends m{}w.kind="for";class _ extends w{constructor(b){super(),this.iteration=b}render(b){return`for(${this.iteration})`+super.render(b)}optimizeNames(b,x){if(super.optimizeNames(b,x))return this.iteration=D(this.iteration,b,x),this}get names(){return z(super.names,this.iteration.names)}}class k extends w{constructor(b,x,I,V){super(),this.varKind=b,this.name=x,this.from=I,this.to=V}render(b){const x=b.es5?t.varKinds.var:this.varKind,{name:I,from:V,to:Z}=this;return`for(${x} ${I}=${V}; ${I}<${Z}; ${I}++)`+super.render(b)}get names(){const b=K(super.names,this.from);return K(b,this.to)}}class A extends w{constructor(b,x,I,V){super(),this.loop=b,this.varKind=x,this.name=I,this.iterable=V}render(b){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(b)}optimizeNames(b,x){if(super.optimizeNames(b,x))return this.iterable=D(this.iterable,b,x),this}get names(){return z(super.names,this.iterable.names)}}class $ extends m{constructor(b,x,I){super(),this.name=b,this.args=x,this.async=I}render(b){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(b)}}$.kind="func";class E extends p{render(b){return"return "+super.render(b)}}E.kind="return";class O extends m{render(b){let x="try"+super.render(b);return this.catch&&(x+=this.catch.render(b)),this.finally&&(x+=this.finally.render(b)),x}optimizeNodes(){var b,x;return super.optimizeNodes(),(b=this.catch)===null||b===void 0||b.optimizeNodes(),(x=this.finally)===null||x===void 0||x.optimizeNodes(),this}optimizeNames(b,x){var I,V;return super.optimizeNames(b,x),(I=this.catch)===null||I===void 0||I.optimizeNames(b,x),(V=this.finally)===null||V===void 0||V.optimizeNames(b,x),this}get names(){const b=super.names;return this.catch&&z(b,this.catch.names),this.finally&&z(b,this.finally.names),b}}class F extends m{constructor(b){super(),this.error=b}render(b){return`catch(${this.error})`+super.render(b)}}F.kind="catch";class B extends m{render(b){return"finally"+super.render(b)}}B.kind="finally";class L{constructor(b,x={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...x,_n:x.lines?` +`:""},this._extScope=b,this._scope=new t.Scope({parent:b}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(b){return this._scope.name(b)}scopeName(b){return this._extScope.name(b)}scopeValue(b,x){const I=this._extScope.value(b,x);return(this._values[I.prefix]||(this._values[I.prefix]=new Set)).add(I),I}getScopeValue(b,x){return this._extScope.getValue(b,x)}scopeRefs(b){return this._extScope.scopeRefs(b,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(b,x,I,V){const Z=this._scope.toName(x);return I!==void 0&&V&&(this._constants[Z.str]=I),this._leafNode(new o(b,Z,I)),Z}const(b,x,I){return this._def(t.varKinds.const,b,x,I)}let(b,x,I){return this._def(t.varKinds.let,b,x,I)}var(b,x,I){return this._def(t.varKinds.var,b,x,I)}assign(b,x,I){return this._leafNode(new a(b,x,I))}add(b,x){return this._leafNode(new l(b,n.operators.ADD,x))}code(b){return typeof b=="function"?b():b!==e.nil&&this._leafNode(new d(b)),this}object(...b){const x=["{"];for(const[I,V]of b)x.length>1&&x.push(","),x.push(I),(I!==V||this.opts.es5)&&(x.push(":"),(0,e.addCodeArg)(x,V));return x.push("}"),new e._Code(x)}if(b,x,I){if(this._blockNode(new y(b)),x&&I)this.code(x).else().code(I).endIf();else if(x)this.code(x).endIf();else if(I)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(b){return this._elseNode(new y(b))}else(){return this._elseNode(new v)}endIf(){return this._endBlockNode(y,v)}_for(b,x){return this._blockNode(b),x&&this.code(x).endFor(),this}for(b,x){return this._for(new _(b),x)}forRange(b,x,I,V,Z=this.opts.es5?t.varKinds.var:t.varKinds.let){const ae=this._scope.toName(b);return this._for(new k(Z,ae,x,I),()=>V(ae))}forOf(b,x,I,V=t.varKinds.const){const Z=this._scope.toName(b);if(this.opts.es5){const ae=x instanceof e.Name?x:this.var("_arr",x);return this.forRange("_i",0,(0,e._)`${ae}.length`,ne=>{this.var(Z,(0,e._)`${ae}[${ne}]`),I(Z)})}return this._for(new A("of",V,Z,x),()=>I(Z))}forIn(b,x,I,V=this.opts.es5?t.varKinds.var:t.varKinds.const){if(this.opts.ownProperties)return this.forOf(b,(0,e._)`Object.keys(${x})`,I);const Z=this._scope.toName(b);return this._for(new A("in",V,Z,x),()=>I(Z))}endFor(){return this._endBlockNode(w)}label(b){return this._leafNode(new c(b))}break(b){return this._leafNode(new h(b))}return(b){const x=new E;if(this._blockNode(x),this.code(b),x.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(E)}try(b,x,I){if(!x&&!I)throw new Error('CodeGen: "try" without "catch" and "finally"');const V=new O;if(this._blockNode(V),this.code(b),x){const Z=this.name("e");this._currNode=V.catch=new F(Z),x(Z)}return I&&(this._currNode=V.finally=new B,this.code(I)),this._endBlockNode(F,B)}throw(b){return this._leafNode(new u(b))}block(b,x){return this._blockStarts.push(this._nodes.length),b&&this.code(b).endBlock(x),this}endBlock(b){const x=this._blockStarts.pop();if(x===void 0)throw new Error("CodeGen: not in self-balancing block");const I=this._nodes.length-x;if(I<0||b!==void 0&&I!==b)throw new Error(`CodeGen: wrong number of nodes: ${I} vs ${b} expected`);return this._nodes.length=x,this}func(b,x=e.nil,I,V){return this._blockNode(new $(b,x,I)),V&&this.code(V).endFunc(),this}endFunc(){return this._endBlockNode($)}optimize(b=1){for(;b-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(b){return this._currNode.nodes.push(b),this}_blockNode(b){this._currNode.nodes.push(b),this._nodes.push(b)}_endBlockNode(b,x){const I=this._currNode;if(I instanceof b||x&&I instanceof x)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${x?`${b.kind}/${x.kind}`:b.kind}"`)}_elseNode(b){const x=this._currNode;if(!(x instanceof y))throw new Error('CodeGen: "else" without "if"');return this._currNode=x.else=b,this}get _root(){return this._nodes[0]}get _currNode(){const b=this._nodes;return b[b.length-1]}set _currNode(b){const x=this._nodes;x[x.length-1]=b}}n.CodeGen=L;function z(M,b){for(const x in b)M[x]=(M[x]||0)+(b[x]||0);return M}function K(M,b){return b instanceof e._CodeOrName?z(M,b.names):M}function D(M,b,x){if(M instanceof e.Name)return I(M);if(!V(M))return M;return new e._Code(M._items.reduce((Z,ae)=>(ae instanceof e.Name&&(ae=I(ae)),ae instanceof e._Code?Z.push(...ae._items):Z.push(ae),Z),[]));function I(Z){const ae=x[Z.str];return ae===void 0||b[Z.str]!==1?Z:(delete b[Z.str],ae)}function V(Z){return Z instanceof e._Code&&Z._items.some(ae=>ae instanceof e.Name&&b[ae.str]===1&&x[ae.str]!==void 0)}}function Q(M,b){for(const x in b)M[x]=(M[x]||0)-(b[x]||0)}function X(M){return typeof M=="boolean"||typeof M=="number"||M===null?!M:(0,e._)`!${N(M)}`}n.not=X;const J=P(n.operators.AND);function se(...M){return M.reduce(J)}n.and=se;const de=P(n.operators.OR);function H(...M){return M.reduce(de)}n.or=H;function P(M){return(b,x)=>b===e.nil?x:x===e.nil?b:(0,e._)`${N(b)} ${M} ${N(x)}`}function N(M){return M instanceof e.Name?M:(0,e._)`(${M})`}})(We);var fe={};Object.defineProperty(fe,"__esModule",{value:!0});fe.checkStrictMode=fe.getErrorPath=fe.Type=fe.useFunc=fe.setEvaluated=fe.evaluatedPropsToName=fe.mergeEvaluated=fe.eachItem=fe.unescapeJsonPointer=fe.escapeJsonPointer=fe.escapeFragment=fe.unescapeFragment=fe.schemaRefOrVal=fe.schemaHasRulesButRef=fe.schemaHasRules=fe.checkUnknownRules=fe.alwaysValidSchema=fe.toHash=void 0;const gt=We,oB=Jd;function aB(n){const e={};for(const t of n)e[t]=!0;return e}fe.toHash=aB;function lB(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(V$(n,e),!W$(e,n.self.RULES.all))}fe.alwaysValidSchema=lB;function V$(n,e=n.schema){const{opts:t,self:s}=n;if(!t.strictSchema||typeof e=="boolean")return;const i=s.RULES.keywords;for(const r in e)i[r]||Z$(n,`unknown keyword: "${r}"`)}fe.checkUnknownRules=V$;function W$(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(e[t])return!0;return!1}fe.schemaHasRules=W$;function cB(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(t!=="$ref"&&e.all[t])return!0;return!1}fe.schemaHasRulesButRef=cB;function hB({topSchemaRef:n,schemaPath:e},t,s,i){if(!i){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,gt._)`${t}`}return(0,gt._)`${n}${e}${(0,gt.getProperty)(s)}`}fe.schemaRefOrVal=hB;function uB(n){return G$(decodeURIComponent(n))}fe.unescapeFragment=uB;function dB(n){return encodeURIComponent(SS(n))}fe.escapeFragment=dB;function SS(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}fe.escapeJsonPointer=SS;function G$(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}fe.unescapeJsonPointer=G$;function fB(n,e){if(Array.isArray(n))for(const t of n)e(t);else e(n)}fe.eachItem=fB;function Ek({mergeNames:n,mergeToName:e,mergeValues:t,resultToName:s}){return(i,r,o,a)=>{const l=o===void 0?r:o instanceof gt.Name?(r instanceof gt.Name?n(i,r,o):e(i,r,o),o):r instanceof gt.Name?(e(i,o,r),r):t(r,o);return a===gt.Name&&!(l instanceof gt.Name)?s(i,l):l}}fe.mergeEvaluated={props:Ek({mergeNames:(n,e,t)=>n.if((0,gt._)`${t} !== true && ${e} !== undefined`,()=>{n.if((0,gt._)`${e} === true`,()=>n.assign(t,!0),()=>n.assign(t,(0,gt._)`${t} || {}`).code((0,gt._)`Object.assign(${t}, ${e})`))}),mergeToName:(n,e,t)=>n.if((0,gt._)`${t} !== true`,()=>{e===!0?n.assign(t,!0):(n.assign(t,(0,gt._)`${t} || {}`),AS(n,t,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:K$}),items:Ek({mergeNames:(n,e,t)=>n.if((0,gt._)`${t} !== true && ${e} !== undefined`,()=>n.assign(t,(0,gt._)`${e} === true ? true : ${t} > ${e} ? ${t} : ${e}`)),mergeToName:(n,e,t)=>n.if((0,gt._)`${t} !== true`,()=>n.assign(t,e===!0?!0:(0,gt._)`${t} > ${e} ? ${t} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function K$(n,e){if(e===!0)return n.var("props",!0);const t=n.var("props",(0,gt._)`{}`);return e!==void 0&&AS(n,t,e),t}fe.evaluatedPropsToName=K$;function AS(n,e,t){Object.keys(t).forEach(s=>n.assign((0,gt._)`${e}${(0,gt.getProperty)(s)}`,!0))}fe.setEvaluated=AS;const Ck={};function pB(n,e){return n.scopeValue("func",{ref:e,code:Ck[e.code]||(Ck[e.code]=new oB._Code(e.code))})}fe.useFunc=pB;var Zv;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(Zv||(fe.Type=Zv={}));function mB(n,e,t){if(n instanceof gt.Name){const s=e===Zv.Num;return t?s?(0,gt._)`"[" + ${n} + "]"`:(0,gt._)`"['" + ${n} + "']"`:s?(0,gt._)`"/" + ${n}`:(0,gt._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,gt.getProperty)(n).toString():"/"+SS(n)}fe.getErrorPath=mB;function Z$(n,e,t=n.opts.strictSchema){if(t){if(e=`strict mode: ${e}`,t===!0)throw new Error(e);n.self.logger.warn(e)}}fe.checkStrictMode=Z$;var Dr={};Object.defineProperty(Dr,"__esModule",{value:!0});const Qn=We,gB={data:new Qn.Name("data"),valCxt:new Qn.Name("valCxt"),instancePath:new Qn.Name("instancePath"),parentData:new Qn.Name("parentData"),parentDataProperty:new Qn.Name("parentDataProperty"),rootData:new Qn.Name("rootData"),dynamicAnchors:new Qn.Name("dynamicAnchors"),vErrors:new Qn.Name("vErrors"),errors:new Qn.Name("errors"),this:new Qn.Name("this"),self:new Qn.Name("self"),scope:new Qn.Name("scope"),json:new Qn.Name("json"),jsonPos:new Qn.Name("jsonPos"),jsonLen:new Qn.Name("jsonLen"),jsonPart:new Qn.Name("jsonPart")};Dr.default=gB;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.extendErrors=n.resetErrorsCount=n.reportExtraError=n.reportError=n.keyword$DataError=n.keywordError=void 0;const e=We,t=fe,s=Dr;n.keywordError={message:({keyword:v})=>(0,e.str)`must pass "${v}" keyword validation`},n.keyword$DataError={message:({keyword:v,schemaType:y})=>y?(0,e.str)`"${v}" keyword must be ${y} ($data)`:(0,e.str)`"${v}" keyword is invalid ($data)`};function i(v,y=n.keywordError,w,_){const{it:k}=v,{gen:A,compositeRule:$,allErrors:E}=k,O=u(v,y,w);_??($||E)?l(A,O):c(k,(0,e._)`[${O}]`)}n.reportError=i;function r(v,y=n.keywordError,w){const{it:_}=v,{gen:k,compositeRule:A,allErrors:$}=_,E=u(v,y,w);l(k,E),A||$||c(_,s.default.vErrors)}n.reportExtraError=r;function o(v,y){v.assign(s.default.errors,y),v.if((0,e._)`${s.default.vErrors} !== null`,()=>v.if(y,()=>v.assign((0,e._)`${s.default.vErrors}.length`,y),()=>v.assign(s.default.vErrors,null)))}n.resetErrorsCount=o;function a({gen:v,keyword:y,schemaValue:w,data:_,errsCount:k,it:A}){if(k===void 0)throw new Error("ajv implementation error");const $=v.name("err");v.forRange("i",k,s.default.errors,E=>{v.const($,(0,e._)`${s.default.vErrors}[${E}]`),v.if((0,e._)`${$}.instancePath === undefined`,()=>v.assign((0,e._)`${$}.instancePath`,(0,e.strConcat)(s.default.instancePath,A.errorPath))),v.assign((0,e._)`${$}.schemaPath`,(0,e.str)`${A.errSchemaPath}/${y}`),A.opts.verbose&&(v.assign((0,e._)`${$}.schema`,w),v.assign((0,e._)`${$}.data`,_))})}n.extendErrors=a;function l(v,y){const w=v.const("err",y);v.if((0,e._)`${s.default.vErrors} === null`,()=>v.assign(s.default.vErrors,(0,e._)`[${w}]`),(0,e._)`${s.default.vErrors}.push(${w})`),v.code((0,e._)`${s.default.errors}++`)}function c(v,y){const{gen:w,validateName:_,schemaEnv:k}=v;k.$async?w.throw((0,e._)`new ${v.ValidationError}(${y})`):(w.assign((0,e._)`${_}.errors`,y),w.return(!1))}const h={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function u(v,y,w){const{createErrors:_}=v.it;return _===!1?(0,e._)`{}`:d(v,y,w)}function d(v,y,w={}){const{gen:_,it:k}=v,A=[p(k,w),m(v,w)];return g(v,y,A),_.object(...A)}function p({errorPath:v},{instancePath:y}){const w=y?(0,e.str)`${v}${(0,t.getErrorPath)(y,t.Type.Str)}`:v;return[s.default.instancePath,(0,e.strConcat)(s.default.instancePath,w)]}function m({keyword:v,it:{errSchemaPath:y}},{schemaPath:w,parentSchema:_}){let k=_?y:(0,e.str)`${y}/${v}`;return w&&(k=(0,e.str)`${k}${(0,t.getErrorPath)(w,t.Type.Str)}`),[h.schemaPath,k]}function g(v,{params:y,message:w},_){const{keyword:k,data:A,schemaValue:$,it:E}=v,{opts:O,propertyName:F,topSchemaRef:B,schemaPath:L}=E;_.push([h.keyword,k],[h.params,typeof y=="function"?y(v):y||(0,e._)`{}`]),O.messages&&_.push([h.message,typeof w=="function"?w(v):w]),O.verbose&&_.push([h.schema,$],[h.parentSchema,(0,e._)`${B}${L}`],[s.default.data,A]),F&&_.push([h.propertyName,F])}})(Dp);Object.defineProperty(vu,"__esModule",{value:!0});vu.boolOrEmptySchema=vu.topBoolOrEmptySchema=void 0;const yB=Dp,vB=We,bB=Dr,wB={message:"boolean schema is false"};function _B(n){const{gen:e,schema:t,validateName:s}=n;t===!1?X$(n,!1):typeof t=="object"&&t.$async===!0?e.return(bB.default.data):(e.assign((0,vB._)`${s}.errors`,null),e.return(!0))}vu.topBoolOrEmptySchema=_B;function SB(n,e){const{gen:t,schema:s}=n;s===!1?(t.var(e,!1),X$(n)):t.var(e,!0)}vu.boolOrEmptySchema=SB;function X$(n,e){const{gen:t,data:s}=n,i={gen:t,keyword:"false schema",data:s,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:n};(0,yB.reportError)(i,wB,void 0,e)}var pn={},dc={};Object.defineProperty(dc,"__esModule",{value:!0});dc.getRules=dc.isJSONType=void 0;const AB=["string","number","integer","boolean","null","object","array"],kB=new Set(AB);function xB(n){return typeof n=="string"&&kB.has(n)}dc.isJSONType=xB;function EB(){const n={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...n,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},n.number,n.string,n.array,n.object],post:{rules:[]},all:{},keywords:{}}}dc.getRules=EB;var wo={};Object.defineProperty(wo,"__esModule",{value:!0});wo.shouldUseRule=wo.shouldUseGroup=wo.schemaHasRulesForType=void 0;function CB({schema:n,self:e},t){const s=e.RULES.types[t];return s&&s!==!0&&Y$(n,s)}wo.schemaHasRulesForType=CB;function Y$(n,e){return e.rules.some(t=>J$(n,t))}wo.shouldUseGroup=Y$;function J$(n,e){var t;return n[e.keyword]!==void 0||((t=e.definition.implements)===null||t===void 0?void 0:t.some(s=>n[s]!==void 0))}wo.shouldUseRule=J$;Object.defineProperty(pn,"__esModule",{value:!0});pn.reportTypeError=pn.checkDataTypes=pn.checkDataType=pn.coerceAndCheckDataType=pn.getJSONTypes=pn.getSchemaTypes=pn.DataType=void 0;const $B=dc,TB=wo,PB=Dp,Ne=We,Q$=fe;var oh;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(oh||(pn.DataType=oh={}));function RB(n){const e=eT(n.type);if(e.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&e.push("null")}return e}pn.getSchemaTypes=RB;function eT(n){const e=Array.isArray(n)?n:n?[n]:[];if(e.every($B.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}pn.getJSONTypes=eT;function MB(n,e){const{gen:t,data:s,opts:i}=n,r=IB(e,i.coerceTypes),o=e.length>0&&!(r.length===0&&e.length===1&&(0,TB.schemaHasRulesForType)(n,e[0]));if(o){const a=kS(e,s,i.strictNumbers,oh.Wrong);t.if(a,()=>{r.length?OB(n,e,r):xS(n)})}return o}pn.coerceAndCheckDataType=MB;const tT=new Set(["string","number","integer","boolean","null"]);function IB(n,e){return e?n.filter(t=>tT.has(t)||e==="array"&&t==="array"):[]}function OB(n,e,t){const{gen:s,data:i,opts:r}=n,o=s.let("dataType",(0,Ne._)`typeof ${i}`),a=s.let("coerced",(0,Ne._)`undefined`);r.coerceTypes==="array"&&s.if((0,Ne._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>s.assign(i,(0,Ne._)`${i}[0]`).assign(o,(0,Ne._)`typeof ${i}`).if(kS(e,i,r.strictNumbers),()=>s.assign(a,i))),s.if((0,Ne._)`${a} !== undefined`);for(const c of t)(tT.has(c)||c==="array"&&r.coerceTypes==="array")&&l(c);s.else(),xS(n),s.endIf(),s.if((0,Ne._)`${a} !== undefined`,()=>{s.assign(i,a),NB(n,a)});function l(c){switch(c){case"string":s.elseIf((0,Ne._)`${o} == "number" || ${o} == "boolean"`).assign(a,(0,Ne._)`"" + ${i}`).elseIf((0,Ne._)`${i} === null`).assign(a,(0,Ne._)`""`);return;case"number":s.elseIf((0,Ne._)`${o} == "boolean" || ${i} === null + || (${o} == "string" && ${i} && ${i} == +${i})`).assign(a,(0,Ne._)`+${i}`);return;case"integer":s.elseIf((0,Ne._)`${o} === "boolean" || ${i} === null + || (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(a,(0,Ne._)`+${i}`);return;case"boolean":s.elseIf((0,Ne._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(a,!1).elseIf((0,Ne._)`${i} === "true" || ${i} === 1`).assign(a,!0);return;case"null":s.elseIf((0,Ne._)`${i} === "" || ${i} === 0 || ${i} === false`),s.assign(a,null);return;case"array":s.elseIf((0,Ne._)`${o} === "string" || ${o} === "number" + || ${o} === "boolean" || ${i} === null`).assign(a,(0,Ne._)`[${i}]`)}}}function NB({gen:n,parentData:e,parentDataProperty:t},s){n.if((0,Ne._)`${e} !== undefined`,()=>n.assign((0,Ne._)`${e}[${t}]`,s))}function Xv(n,e,t,s=oh.Correct){const i=s===oh.Correct?Ne.operators.EQ:Ne.operators.NEQ;let r;switch(n){case"null":return(0,Ne._)`${e} ${i} null`;case"array":r=(0,Ne._)`Array.isArray(${e})`;break;case"object":r=(0,Ne._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":r=o((0,Ne._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":r=o();break;default:return(0,Ne._)`typeof ${e} ${i} ${n}`}return s===oh.Correct?r:(0,Ne.not)(r);function o(a=Ne.nil){return(0,Ne.and)((0,Ne._)`typeof ${e} == "number"`,a,t?(0,Ne._)`isFinite(${e})`:Ne.nil)}}pn.checkDataType=Xv;function kS(n,e,t,s){if(n.length===1)return Xv(n[0],e,t,s);let i;const r=(0,Q$.toHash)(n);if(r.array&&r.object){const o=(0,Ne._)`typeof ${e} != "object"`;i=r.null?o:(0,Ne._)`!${e} || ${o}`,delete r.null,delete r.array,delete r.object}else i=Ne.nil;r.number&&delete r.integer;for(const o in r)i=(0,Ne.and)(i,Xv(o,e,t,s));return i}pn.checkDataTypes=kS;const LB={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,Ne._)`{type: ${n}}`:(0,Ne._)`{type: ${e}}`};function xS(n){const e=DB(n);(0,PB.reportError)(e,LB)}pn.reportTypeError=xS;function DB(n){const{gen:e,data:t,schema:s}=n,i=(0,Q$.schemaRefOrVal)(n,s,"type");return{gen:e,keyword:"type",data:t,schema:s.type,schemaCode:i,schemaValue:i,parentSchema:s,params:{},it:n}}var r0={};Object.defineProperty(r0,"__esModule",{value:!0});r0.assignDefaults=void 0;const Nc=We,FB=fe;function jB(n,e){const{properties:t,items:s}=n.schema;if(e==="object"&&t)for(const i in t)$k(n,i,t[i].default);else e==="array"&&Array.isArray(s)&&s.forEach((i,r)=>$k(n,r,i.default))}r0.assignDefaults=jB;function $k(n,e,t){const{gen:s,compositeRule:i,data:r,opts:o}=n;if(t===void 0)return;const a=(0,Nc._)`${r}${(0,Nc.getProperty)(e)}`;if(i){(0,FB.checkStrictMode)(n,`default is ignored for: ${a}`);return}let l=(0,Nc._)`${a} === undefined`;o.useDefaults==="empty"&&(l=(0,Nc._)`${l} || ${a} === null || ${a} === ""`),s.if(l,(0,Nc._)`${a} = ${(0,Nc.stringify)(t)}`)}var Tr={},Ue={};Object.defineProperty(Ue,"__esModule",{value:!0});Ue.validateUnion=Ue.validateArray=Ue.usePattern=Ue.callValidateCode=Ue.schemaProperties=Ue.allSchemaProperties=Ue.noPropertyInData=Ue.propertyInData=Ue.isOwnProperty=Ue.hasPropFunc=Ue.reportMissingProp=Ue.checkMissingProp=Ue.checkReportMissingProp=void 0;const Et=We,ES=fe,Mo=Dr,zB=fe;function HB(n,e){const{gen:t,data:s,it:i}=n;t.if($S(t,s,e,i.opts.ownProperties),()=>{n.setParams({missingProperty:(0,Et._)`${e}`},!0),n.error()})}Ue.checkReportMissingProp=HB;function BB({gen:n,data:e,it:{opts:t}},s,i){return(0,Et.or)(...s.map(r=>(0,Et.and)($S(n,e,r,t.ownProperties),(0,Et._)`${i} = ${r}`)))}Ue.checkMissingProp=BB;function qB(n,e){n.setParams({missingProperty:e},!0),n.error()}Ue.reportMissingProp=qB;function nT(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Et._)`Object.prototype.hasOwnProperty`})}Ue.hasPropFunc=nT;function CS(n,e,t){return(0,Et._)`${nT(n)}.call(${e}, ${t})`}Ue.isOwnProperty=CS;function UB(n,e,t,s){const i=(0,Et._)`${e}${(0,Et.getProperty)(t)} !== undefined`;return s?(0,Et._)`${i} && ${CS(n,e,t)}`:i}Ue.propertyInData=UB;function $S(n,e,t,s){const i=(0,Et._)`${e}${(0,Et.getProperty)(t)} === undefined`;return s?(0,Et.or)(i,(0,Et.not)(CS(n,e,t))):i}Ue.noPropertyInData=$S;function sT(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}Ue.allSchemaProperties=sT;function VB(n,e){return sT(e).filter(t=>!(0,ES.alwaysValidSchema)(n,e[t]))}Ue.schemaProperties=VB;function WB({schemaCode:n,data:e,it:{gen:t,topSchemaRef:s,schemaPath:i,errorPath:r},it:o},a,l,c){const h=c?(0,Et._)`${n}, ${e}, ${s}${i}`:e,u=[[Mo.default.instancePath,(0,Et.strConcat)(Mo.default.instancePath,r)],[Mo.default.parentData,o.parentData],[Mo.default.parentDataProperty,o.parentDataProperty],[Mo.default.rootData,Mo.default.rootData]];o.opts.dynamicRef&&u.push([Mo.default.dynamicAnchors,Mo.default.dynamicAnchors]);const d=(0,Et._)`${h}, ${t.object(...u)}`;return l!==Et.nil?(0,Et._)`${a}.call(${l}, ${d})`:(0,Et._)`${a}(${d})`}Ue.callValidateCode=WB;const GB=(0,Et._)`new RegExp`;function KB({gen:n,it:{opts:e}},t){const s=e.unicodeRegExp?"u":"",{regExp:i}=e.code,r=i(t,s);return n.scopeValue("pattern",{key:r.toString(),ref:r,code:(0,Et._)`${i.code==="new RegExp"?GB:(0,zB.useFunc)(n,i)}(${t}, ${s})`})}Ue.usePattern=KB;function ZB(n){const{gen:e,data:t,keyword:s,it:i}=n,r=e.name("valid");if(i.allErrors){const a=e.let("valid",!0);return o(()=>e.assign(a,!1)),a}return e.var(r,!0),o(()=>e.break()),r;function o(a){const l=e.const("len",(0,Et._)`${t}.length`);e.forRange("i",0,l,c=>{n.subschema({keyword:s,dataProp:c,dataPropType:ES.Type.Num},r),e.if((0,Et.not)(r),a)})}}Ue.validateArray=ZB;function XB(n){const{gen:e,schema:t,keyword:s,it:i}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(t.some(l=>(0,ES.alwaysValidSchema)(i,l))&&!i.opts.unevaluated)return;const o=e.let("valid",!1),a=e.name("_valid");e.block(()=>t.forEach((l,c)=>{const h=n.subschema({keyword:s,schemaProp:c,compositeRule:!0},a);e.assign(o,(0,Et._)`${o} || ${a}`),n.mergeValidEvaluated(h,a)||e.if((0,Et.not)(o))})),n.result(o,()=>n.reset(),()=>n.error(!0))}Ue.validateUnion=XB;Object.defineProperty(Tr,"__esModule",{value:!0});Tr.validateKeywordUsage=Tr.validSchemaType=Tr.funcKeywordCode=Tr.macroKeywordCode=void 0;const ys=We,nl=Dr,YB=Ue,JB=Dp;function QB(n,e){const{gen:t,keyword:s,schema:i,parentSchema:r,it:o}=n,a=e.macro.call(o.self,i,r,o),l=iT(t,s,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);const c=t.name("valid");n.subschema({schema:a,schemaPath:ys.nil,errSchemaPath:`${o.errSchemaPath}/${s}`,topSchemaRef:l,compositeRule:!0},c),n.pass(c,()=>n.error(!0))}Tr.macroKeywordCode=QB;function eq(n,e){var t;const{gen:s,keyword:i,schema:r,parentSchema:o,$data:a,it:l}=n;nq(l,e);const c=!a&&e.compile?e.compile.call(l.self,r,o,l):e.validate,h=iT(s,i,c),u=s.let("valid");n.block$data(u,d),n.ok((t=e.valid)!==null&&t!==void 0?t:u);function d(){if(e.errors===!1)g(),e.modifying&&Tk(n),v(()=>n.error());else{const y=e.async?p():m();e.modifying&&Tk(n),v(()=>tq(n,y))}}function p(){const y=s.let("ruleErrs",null);return s.try(()=>g((0,ys._)`await `),w=>s.assign(u,!1).if((0,ys._)`${w} instanceof ${l.ValidationError}`,()=>s.assign(y,(0,ys._)`${w}.errors`),()=>s.throw(w))),y}function m(){const y=(0,ys._)`${h}.errors`;return s.assign(y,null),g(ys.nil),y}function g(y=e.async?(0,ys._)`await `:ys.nil){const w=l.opts.passContext?nl.default.this:nl.default.self,_=!("compile"in e&&!a||e.schema===!1);s.assign(u,(0,ys._)`${y}${(0,YB.callValidateCode)(n,h,w,_)}`,e.modifying)}function v(y){var w;s.if((0,ys.not)((w=e.valid)!==null&&w!==void 0?w:u),y)}}Tr.funcKeywordCode=eq;function Tk(n){const{gen:e,data:t,it:s}=n;e.if(s.parentData,()=>e.assign(t,(0,ys._)`${s.parentData}[${s.parentDataProperty}]`))}function tq(n,e){const{gen:t}=n;t.if((0,ys._)`Array.isArray(${e})`,()=>{t.assign(nl.default.vErrors,(0,ys._)`${nl.default.vErrors} === null ? ${e} : ${nl.default.vErrors}.concat(${e})`).assign(nl.default.errors,(0,ys._)`${nl.default.vErrors}.length`),(0,JB.extendErrors)(n)},()=>n.error())}function nq({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function iT(n,e,t){if(t===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof t=="function"?{ref:t}:{ref:t,code:(0,ys.stringify)(t)})}function sq(n,e,t=!1){return!e.length||e.some(s=>s==="array"?Array.isArray(n):s==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==s||t&&typeof n>"u")}Tr.validSchemaType=sq;function iq({schema:n,opts:e,self:t,errSchemaPath:s},i,r){if(Array.isArray(i.keyword)?!i.keyword.includes(r):i.keyword!==r)throw new Error("ajv implementation error");const o=i.dependencies;if(o!=null&&o.some(a=>!Object.prototype.hasOwnProperty.call(n,a)))throw new Error(`parent schema must have dependencies of ${r}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(n[r])){const l=`keyword "${r}" value is invalid at path "${s}": `+t.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")t.logger.error(l);else throw new Error(l)}}Tr.validateKeywordUsage=iq;var ka={};Object.defineProperty(ka,"__esModule",{value:!0});ka.extendSubschemaMode=ka.extendSubschemaData=ka.getSubschema=void 0;const xr=We,rT=fe;function rq(n,{keyword:e,schemaProp:t,schema:s,schemaPath:i,errSchemaPath:r,topSchemaRef:o}){if(e!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){const a=n.schema[e];return t===void 0?{schema:a,schemaPath:(0,xr._)`${n.schemaPath}${(0,xr.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:a[t],schemaPath:(0,xr._)`${n.schemaPath}${(0,xr.getProperty)(e)}${(0,xr.getProperty)(t)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,rT.escapeFragment)(t)}`}}if(s!==void 0){if(i===void 0||r===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:i,topSchemaRef:o,errSchemaPath:r}}throw new Error('either "keyword" or "schema" must be passed')}ka.getSubschema=rq;function oq(n,e,{dataProp:t,dataPropType:s,data:i,dataTypes:r,propertyName:o}){if(i!==void 0&&t!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=e;if(t!==void 0){const{errorPath:c,dataPathArr:h,opts:u}=e,d=a.let("data",(0,xr._)`${e.data}${(0,xr.getProperty)(t)}`,!0);l(d),n.errorPath=(0,xr.str)`${c}${(0,rT.getErrorPath)(t,s,u.jsPropertySyntax)}`,n.parentDataProperty=(0,xr._)`${t}`,n.dataPathArr=[...h,n.parentDataProperty]}if(i!==void 0){const c=i instanceof xr.Name?i:a.let("data",i,!0);l(c),o!==void 0&&(n.propertyName=o)}r&&(n.dataTypes=r);function l(c){n.data=c,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,c]}}ka.extendSubschemaData=oq;function aq(n,{jtdDiscriminator:e,jtdMetadata:t,compositeRule:s,createErrors:i,allErrors:r}){s!==void 0&&(n.compositeRule=s),i!==void 0&&(n.createErrors=i),r!==void 0&&(n.allErrors=r),n.jtdDiscriminator=e,n.jtdMetadata=t}ka.extendSubschemaMode=aq;var qn={},o0=function n(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var s,i,r;if(Array.isArray(e)){if(s=e.length,s!=t.length)return!1;for(i=s;i--!==0;)if(!n(e[i],t[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(r=Object.keys(e),s=r.length,s!==Object.keys(t).length)return!1;for(i=s;i--!==0;)if(!Object.prototype.hasOwnProperty.call(t,r[i]))return!1;for(i=s;i--!==0;){var o=r[i];if(!n(e[o],t[o]))return!1}return!0}return e!==e&&t!==t},oT={exports:{}},ba=oT.exports=function(n,e,t){typeof e=="function"&&(t=e,e={}),t=e.cb||t;var s=typeof t=="function"?t:t.pre||function(){},i=t.post||function(){};Um(e,s,i,n,"",n)};ba.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ba.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ba.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ba.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Um(n,e,t,s,i,r,o,a,l,c){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,i,r,o,a,l,c);for(var h in s){var u=s[h];if(Array.isArray(u)){if(h in ba.arrayKeywords)for(var d=0;de+=aT(s)),e===1/0))return 1/0}return e}function lT(n,e="",t){t!==!1&&(e=ah(e));const s=n.parse(e);return cT(n,s)}qn.getFullPath=lT;function cT(n,e){return n.serialize(e).split("#")[0]+"#"}qn._getFullPath=cT;const gq=/#\/?$/;function ah(n){return n?n.replace(gq,""):""}qn.normalizeId=ah;function yq(n,e,t){return t=ah(t),n.resolve(e,t)}qn.resolveUrl=yq;const vq=/^[a-z_][-a-z0-9._]*$/i;function bq(n,e){if(typeof n=="boolean")return{};const{schemaId:t,uriResolver:s}=this.opts,i=ah(n[t]||e),r={"":i},o=lT(s,i,!1),a={},l=new Set;return dq(n,{allKeys:!0},(u,d,p,m)=>{if(m===void 0)return;const g=o+d;let v=r[m];typeof u[t]=="string"&&(v=y.call(this,u[t])),w.call(this,u.$anchor),w.call(this,u.$dynamicAnchor),r[d]=v;function y(_){const k=this.opts.uriResolver.resolve;if(_=ah(v?k(v,_):_),l.has(_))throw h(_);l.add(_);let A=this.refs[_];return typeof A=="string"&&(A=this.refs[A]),typeof A=="object"?c(u,A.schema,_):_!==ah(g)&&(_[0]==="#"?(c(u,a[_],_),a[_]=u):this.refs[_]=g),_}function w(_){if(typeof _=="string"){if(!vq.test(_))throw new Error(`invalid anchor "${_}"`);y.call(this,`#${_}`)}}}),a;function c(u,d,p){if(d!==void 0&&!uq(u,d))throw h(p)}function h(u){return new Error(`reference "${u}" resolves to more than one schema`)}}qn.getSchemaRefs=bq;Object.defineProperty(Xi,"__esModule",{value:!0});Xi.getData=Xi.KeywordCxt=Xi.validateFunctionCode=void 0;const hT=vu,Pk=pn,TS=wo,Bg=pn,wq=r0,Td=Tr,W0=ka,be=We,$e=Dr,_q=qn,_o=fe,Wu=Dp;function Sq(n){if(fT(n)&&(pT(n),dT(n))){xq(n);return}uT(n,()=>(0,hT.topBoolOrEmptySchema)(n))}Xi.validateFunctionCode=Sq;function uT({gen:n,validateName:e,schema:t,schemaEnv:s,opts:i},r){i.code.es5?n.func(e,(0,be._)`${$e.default.data}, ${$e.default.valCxt}`,s.$async,()=>{n.code((0,be._)`"use strict"; ${Rk(t,i)}`),kq(n,i),n.code(r)}):n.func(e,(0,be._)`${$e.default.data}, ${Aq(i)}`,s.$async,()=>n.code(Rk(t,i)).code(r))}function Aq(n){return(0,be._)`{${$e.default.instancePath}="", ${$e.default.parentData}, ${$e.default.parentDataProperty}, ${$e.default.rootData}=${$e.default.data}${n.dynamicRef?(0,be._)`, ${$e.default.dynamicAnchors}={}`:be.nil}}={}`}function kq(n,e){n.if($e.default.valCxt,()=>{n.var($e.default.instancePath,(0,be._)`${$e.default.valCxt}.${$e.default.instancePath}`),n.var($e.default.parentData,(0,be._)`${$e.default.valCxt}.${$e.default.parentData}`),n.var($e.default.parentDataProperty,(0,be._)`${$e.default.valCxt}.${$e.default.parentDataProperty}`),n.var($e.default.rootData,(0,be._)`${$e.default.valCxt}.${$e.default.rootData}`),e.dynamicRef&&n.var($e.default.dynamicAnchors,(0,be._)`${$e.default.valCxt}.${$e.default.dynamicAnchors}`)},()=>{n.var($e.default.instancePath,(0,be._)`""`),n.var($e.default.parentData,(0,be._)`undefined`),n.var($e.default.parentDataProperty,(0,be._)`undefined`),n.var($e.default.rootData,$e.default.data),e.dynamicRef&&n.var($e.default.dynamicAnchors,(0,be._)`{}`)})}function xq(n){const{schema:e,opts:t,gen:s}=n;uT(n,()=>{t.$comment&&e.$comment&&gT(n),Pq(n),s.let($e.default.vErrors,null),s.let($e.default.errors,0),t.unevaluated&&Eq(n),mT(n),Iq(n)})}function Eq(n){const{gen:e,validateName:t}=n;n.evaluated=e.const("evaluated",(0,be._)`${t}.evaluated`),e.if((0,be._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,be._)`${n.evaluated}.props`,(0,be._)`undefined`)),e.if((0,be._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,be._)`${n.evaluated}.items`,(0,be._)`undefined`))}function Rk(n,e){const t=typeof n=="object"&&n[e.schemaId];return t&&(e.code.source||e.code.process)?(0,be._)`/*# sourceURL=${t} */`:be.nil}function Cq(n,e){if(fT(n)&&(pT(n),dT(n))){$q(n,e);return}(0,hT.boolOrEmptySchema)(n,e)}function dT({schema:n,self:e}){if(typeof n=="boolean")return!n;for(const t in n)if(e.RULES.all[t])return!0;return!1}function fT(n){return typeof n.schema!="boolean"}function $q(n,e){const{schema:t,gen:s,opts:i}=n;i.$comment&&t.$comment&&gT(n),Rq(n),Mq(n);const r=s.const("_errs",$e.default.errors);mT(n,r),s.var(e,(0,be._)`${r} === ${$e.default.errors}`)}function pT(n){(0,_o.checkUnknownRules)(n),Tq(n)}function mT(n,e){if(n.opts.jtd)return Mk(n,[],!1,e);const t=(0,Pk.getSchemaTypes)(n.schema),s=(0,Pk.coerceAndCheckDataType)(n,t);Mk(n,t,!s,e)}function Tq(n){const{schema:e,errSchemaPath:t,opts:s,self:i}=n;e.$ref&&s.ignoreKeywordsWithRef&&(0,_o.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${t}"`)}function Pq(n){const{schema:e,opts:t}=n;e.default!==void 0&&t.useDefaults&&t.strictSchema&&(0,_o.checkStrictMode)(n,"default is ignored in the schema root")}function Rq(n){const e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,_q.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function Mq(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function gT({gen:n,schemaEnv:e,schema:t,errSchemaPath:s,opts:i}){const r=t.$comment;if(i.$comment===!0)n.code((0,be._)`${$e.default.self}.logger.log(${r})`);else if(typeof i.$comment=="function"){const o=(0,be.str)`${s}/$comment`,a=n.scopeValue("root",{ref:e.root});n.code((0,be._)`${$e.default.self}.opts.$comment(${r}, ${o}, ${a}.schema)`)}}function Iq(n){const{gen:e,schemaEnv:t,validateName:s,ValidationError:i,opts:r}=n;t.$async?e.if((0,be._)`${$e.default.errors} === 0`,()=>e.return($e.default.data),()=>e.throw((0,be._)`new ${i}(${$e.default.vErrors})`)):(e.assign((0,be._)`${s}.errors`,$e.default.vErrors),r.unevaluated&&Oq(n),e.return((0,be._)`${$e.default.errors} === 0`))}function Oq({gen:n,evaluated:e,props:t,items:s}){t instanceof be.Name&&n.assign((0,be._)`${e}.props`,t),s instanceof be.Name&&n.assign((0,be._)`${e}.items`,s)}function Mk(n,e,t,s){const{gen:i,schema:r,data:o,allErrors:a,opts:l,self:c}=n,{RULES:h}=c;if(r.$ref&&(l.ignoreKeywordsWithRef||!(0,_o.schemaHasRulesButRef)(r,h))){i.block(()=>bT(n,"$ref",h.all.$ref.definition));return}l.jtd||Nq(n,e),i.block(()=>{for(const d of h.rules)u(d);u(h.post)});function u(d){(0,TS.shouldUseGroup)(r,d)&&(d.type?(i.if((0,Bg.checkDataType)(d.type,o,l.strictNumbers)),Ik(n,d),e.length===1&&e[0]===d.type&&t&&(i.else(),(0,Bg.reportTypeError)(n)),i.endIf()):Ik(n,d),a||i.if((0,be._)`${$e.default.errors} === ${s||0}`))}}function Ik(n,e){const{gen:t,schema:s,opts:{useDefaults:i}}=n;i&&(0,wq.assignDefaults)(n,e.type),t.block(()=>{for(const r of e.rules)(0,TS.shouldUseRule)(s,r)&&bT(n,r.keyword,r.definition,e.type)})}function Nq(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(Lq(n,e),n.opts.allowUnionTypes||Dq(n,e),Fq(n,n.dataTypes))}function Lq(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(t=>{yT(n.dataTypes,t)||PS(n,`type "${t}" not allowed by context "${n.dataTypes.join(",")}"`)}),zq(n,e)}}function Dq(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&PS(n,"use allowUnionTypes to allow union type keyword")}function Fq(n,e){const t=n.self.RULES.all;for(const s in t){const i=t[s];if(typeof i=="object"&&(0,TS.shouldUseRule)(n.schema,i)){const{type:r}=i.definition;r.length&&!r.some(o=>jq(e,o))&&PS(n,`missing type "${r.join(",")}" for keyword "${s}"`)}}}function jq(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function yT(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function zq(n,e){const t=[];for(const s of n.dataTypes)yT(e,s)?t.push(s):e.includes("integer")&&s==="number"&&t.push("integer");n.dataTypes=t}function PS(n,e){const t=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${t}" (strictTypes)`,(0,_o.checkStrictMode)(n,e,n.opts.strictTypes)}let vT=class{constructor(e,t,s){if((0,Td.validateKeywordUsage)(e,t,s),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=s,this.data=e.data,this.schema=e.schema[s],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,_o.schemaRefOrVal)(e,this.schema,s,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",wT(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Td.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${s} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:t.errors!==!1)&&(this.errsCount=e.gen.const("_errs",$e.default.errors))}result(e,t,s){this.failResult((0,be.not)(e),t,s)}failResult(e,t,s){this.gen.if(e),s?s():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,be.not)(e),void 0,t)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail((0,be._)`${t} !== undefined && (${(0,be.or)(this.invalid$data(),e)})`)}error(e,t,s){if(t){this.setParams(t),this._error(e,s),this.setParams({});return}this._error(e,s)}_error(e,t){(e?Wu.reportExtraError:Wu.reportError)(this,this.def.error,t)}$dataError(){(0,Wu.reportError)(this,this.def.$dataError||Wu.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Wu.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,s=be.nil){this.gen.block(()=>{this.check$data(e,s),t()})}check$data(e=be.nil,t=be.nil){if(!this.$data)return;const{gen:s,schemaCode:i,schemaType:r,def:o}=this;s.if((0,be.or)((0,be._)`${i} === undefined`,t)),e!==be.nil&&s.assign(e,!0),(r.length||o.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),e!==be.nil&&s.assign(e,!1)),s.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:s,def:i,it:r}=this;return(0,be.or)(o(),a());function o(){if(s.length){if(!(t instanceof be.Name))throw new Error("ajv implementation error");const l=Array.isArray(s)?s:[s];return(0,be._)`${(0,Bg.checkDataTypes)(l,t,r.opts.strictNumbers,Bg.DataType.Wrong)}`}return be.nil}function a(){if(i.validateSchema){const l=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,be._)`!${l}(${t})`}return be.nil}}subschema(e,t){const s=(0,W0.getSubschema)(this.it,e);(0,W0.extendSubschemaData)(s,this.it,e),(0,W0.extendSubschemaMode)(s,e);const i={...this.it,...s,items:void 0,props:void 0};return Cq(i,t),i}mergeEvaluated(e,t){const{it:s,gen:i}=this;s.opts.unevaluated&&(s.props!==!0&&e.props!==void 0&&(s.props=_o.mergeEvaluated.props(i,e.props,s.props,t)),s.items!==!0&&e.items!==void 0&&(s.items=_o.mergeEvaluated.items(i,e.items,s.items,t)))}mergeValidEvaluated(e,t){const{it:s,gen:i}=this;if(s.opts.unevaluated&&(s.props!==!0||s.items!==!0))return i.if(t,()=>this.mergeEvaluated(e,be.Name)),!0}};Xi.KeywordCxt=vT;function bT(n,e,t,s){const i=new vT(n,t,e);"code"in t?t.code(i,s):i.$data&&t.validate?(0,Td.funcKeywordCode)(i,t):"macro"in t?(0,Td.macroKeywordCode)(i,t):(t.compile||t.validate)&&(0,Td.funcKeywordCode)(i,t)}const Hq=/^\/(?:[^~]|~0|~1)*$/,Bq=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function wT(n,{dataLevel:e,dataNames:t,dataPathArr:s}){let i,r;if(n==="")return $e.default.rootData;if(n[0]==="/"){if(!Hq.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);i=n,r=$e.default.rootData}else{const c=Bq.exec(n);if(!c)throw new Error(`Invalid JSON-pointer: ${n}`);const h=+c[1];if(i=c[2],i==="#"){if(h>=e)throw new Error(l("property/index",h));return s[e-h]}if(h>e)throw new Error(l("data",h));if(r=t[e-h],!i)return r}let o=r;const a=i.split("/");for(const c of a)c&&(r=(0,be._)`${r}${(0,be.getProperty)((0,_o.unescapeJsonPointer)(c))}`,o=(0,be._)`${o} && ${r}`);return o;function l(c,h){return`Cannot access ${c} ${h} levels up, current level is ${e}`}}Xi.getData=wT;var Fp={};Object.defineProperty(Fp,"__esModule",{value:!0});let qq=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Fp.default=qq;var Nu={};Object.defineProperty(Nu,"__esModule",{value:!0});const G0=qn;let Uq=class extends Error{constructor(e,t,s,i){super(i||`can't resolve reference ${s} from id ${t}`),this.missingRef=(0,G0.resolveUrl)(e,t,s),this.missingSchema=(0,G0.normalizeId)((0,G0.getFullPath)(e,this.missingRef))}};Nu.default=Uq;var Os={};Object.defineProperty(Os,"__esModule",{value:!0});Os.resolveSchema=Os.getCompilingSchema=Os.resolveRef=Os.compileSchema=Os.SchemaEnv=void 0;const Ei=We,Vq=Fp,Ua=Dr,Vi=qn,Ok=fe,Wq=Xi;let a0=class{constructor(e){var t;this.refs={},this.dynamicAnchors={};let s;typeof e.schema=="object"&&(s=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(t=e.baseId)!==null&&t!==void 0?t:(0,Vi.normalizeId)(s==null?void 0:s[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=s==null?void 0:s.$async,this.refs={}}};Os.SchemaEnv=a0;function RS(n){const e=_T.call(this,n);if(e)return e;const t=(0,Vi.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:s,lines:i}=this.opts.code,{ownProperties:r}=this.opts,o=new Ei.CodeGen(this.scope,{es5:s,lines:i,ownProperties:r});let a;n.$async&&(a=o.scopeValue("Error",{ref:Vq.default,code:(0,Ei._)`require("ajv/dist/runtime/validation_error").default`}));const l=o.scopeName("validate");n.validateName=l;const c={gen:o,allErrors:this.opts.allErrors,data:Ua.default.data,parentData:Ua.default.parentData,parentDataProperty:Ua.default.parentDataProperty,dataNames:[Ua.default.data],dataPathArr:[Ei.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,Ei.stringify)(n.schema)}:{ref:n.schema}),validateName:l,ValidationError:a,schema:n.schema,schemaEnv:n,rootId:t,baseId:n.baseId||t,schemaPath:Ei.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ei._)`""`,opts:this.opts,self:this};let h;try{this._compilations.add(n),(0,Wq.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const u=o.toString();h=`${o.scopeRefs(Ua.default.scope)}return ${u}`,this.opts.code.process&&(h=this.opts.code.process(h,n));const p=new Function(`${Ua.default.self}`,`${Ua.default.scope}`,h)(this,this.scope.get());if(this.scope.value(l,{ref:p}),p.errors=null,p.schema=n.schema,p.schemaEnv=n,n.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:l,validateCode:u,scopeValues:o._values}),this.opts.unevaluated){const{props:m,items:g}=c;p.evaluated={props:m instanceof Ei.Name?void 0:m,items:g instanceof Ei.Name?void 0:g,dynamicProps:m instanceof Ei.Name,dynamicItems:g instanceof Ei.Name},p.source&&(p.source.evaluated=(0,Ei.stringify)(p.evaluated))}return n.validate=p,n}catch(u){throw delete n.validate,delete n.validateName,h&&this.logger.error("Error compiling schema, function code:",h),u}finally{this._compilations.delete(n)}}Os.compileSchema=RS;function Gq(n,e,t){var s;t=(0,Vi.resolveUrl)(this.opts.uriResolver,e,t);const i=n.refs[t];if(i)return i;let r=Xq.call(this,n,t);if(r===void 0){const o=(s=n.localRefs)===null||s===void 0?void 0:s[t],{schemaId:a}=this.opts;o&&(r=new a0({schema:o,schemaId:a,root:n,baseId:e}))}if(r!==void 0)return n.refs[t]=Kq.call(this,r)}Os.resolveRef=Gq;function Kq(n){return(0,Vi.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:RS.call(this,n)}function _T(n){for(const e of this._compilations)if(Zq(e,n))return e}Os.getCompilingSchema=_T;function Zq(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function Xq(n,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||l0.call(this,n,e)}function l0(n,e){const t=this.opts.uriResolver.parse(e),s=(0,Vi._getFullPath)(this.opts.uriResolver,t);let i=(0,Vi.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&s===i)return K0.call(this,t,n);const r=(0,Vi.normalizeId)(s),o=this.refs[r]||this.schemas[r];if(typeof o=="string"){const a=l0.call(this,n,o);return typeof(a==null?void 0:a.schema)!="object"?void 0:K0.call(this,t,a)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||RS.call(this,o),r===(0,Vi.normalizeId)(e)){const{schema:a}=o,{schemaId:l}=this.opts,c=a[l];return c&&(i=(0,Vi.resolveUrl)(this.opts.uriResolver,i,c)),new a0({schema:a,schemaId:l,root:n,baseId:i})}return K0.call(this,t,o)}}Os.resolveSchema=l0;const Yq=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function K0(n,{baseId:e,schema:t,root:s}){var i;if(((i=n.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(const a of n.fragment.slice(1).split("/")){if(typeof t=="boolean")return;const l=t[(0,Ok.unescapeFragment)(a)];if(l===void 0)return;t=l;const c=typeof t=="object"&&t[this.opts.schemaId];!Yq.has(a)&&c&&(e=(0,Vi.resolveUrl)(this.opts.uriResolver,e,c))}let r;if(typeof t!="boolean"&&t.$ref&&!(0,Ok.schemaHasRulesButRef)(t,this.RULES)){const a=(0,Vi.resolveUrl)(this.opts.uriResolver,e,t.$ref);r=l0.call(this,s,a)}const{schemaId:o}=this.opts;if(r=r||new a0({schema:t,schemaId:o,root:s,baseId:e}),r.schema!==r.root.schema)return r}const Jq="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",Qq="Meta-schema for $data reference (JSON AnySchema extension proposal)",eU="object",tU=["$data"],nU={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},sU=!1,iU={$id:Jq,description:Qq,type:eU,required:tU,properties:nU,additionalProperties:sU};var MS={},c0={exports:{}};const rU=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),ST=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u),IS=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),AT=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),oU=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function kT(n){let e="",t=0,s=0;for(s=0;s=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102))return"";e+=n[s];break}for(s+=1;s=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102))return"";e+=n[s]}return e}const aU=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Nk(n){return n.length=0,!0}function lU(n,e,t){if(n.length){const s=kT(n);if(s!=="")e.push(s);else return t.error=!0,!1;n.length=0}return!0}function cU(n){let e=0;const t={error:!1,address:"",zone:""},s=[],i=[];let r=!1,o=!1,a=lU;for(let l=0;l7){t.error=!0;break}l>0&&n[l-1]===":"&&(r=!0),s.push(":");continue}else if(c==="%"){if(!a(i,s,t))break;a=Nk}else{i.push(c);continue}}return i.length&&(a===Nk?t.zone=i.join(""):o?s.push(i.join("")):s.push(kT(i))),t.address=s.join(""),t}function xT(n){if(hU(n,":")<2)return{host:n,isIPV6:!1};const e=cU(n);if(e.error)return{host:n,isIPV6:!1};{let t=e.address,s=e.address;return e.zone&&(t+="%"+e.zone,s+="%25"+e.zone),{host:t,isIPV6:!0,escapedHost:s}}}function hU(n,e){let t=0;for(let s=0;sdU[s])}function mU(n,e=!1){if(n.indexOf("%")===-1)return n;let t="";for(let s=0;s65535))return"URI port is malformed."}function Ug(n,e){const t=Object.assign({},e),s={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0};let i=!1,r=!1;t.reference==="suffix"&&(t.scheme?n=t.scheme+":"+n:n="//"+n);const o=n.match(VU);o!==null&&o[1].indexOf("\\")!==-1&&(s.error="URI authority must not contain a literal backslash.",i=!0);const a=n.match(WU);if(a!==null){const c=a[1],h=c.replace(/[\t\n\r]/g,"");h.length>=2&&(h.slice(0,2)!=="//"?(s.error=s.error||"URI authority must not contain a literal backslash.",i=!0):c.length!==h.length&&(s.error=s.error||"URI authority introducer must not contain whitespace.",i=!0))}const l=n.match(UU);if(l){s.scheme=l[1],s.userinfo=l[3],s.host=l[4],s.port=parseInt(l[5],10),s.path=l[6]||"",s.query=l[7],s.fragment=l[8],isNaN(s.port)&&(s.port=l[5]);const c=GU(s,l);if(c!==void 0&&(s.error=s.error||c,i=!0),s.host)if(FU(s.host)===!1){const d=MU(s.host);s.host=d.host.toLowerCase(),r=d.isIPV6}else r=!0;s.scheme===void 0&&s.userinfo===void 0&&s.host===void 0&&s.port===void 0&&s.query===void 0&&!s.path?s.reference="same-document":s.scheme===void 0?s.reference="relative":s.fragment===void 0?s.reference="absolute":s.reference="uri",t.reference&&t.reference!=="suffix"&&t.reference!==s.reference&&(s.error=s.error||"URI is not a "+t.reference+" reference.");const h=MT(t.scheme||s.scheme);if(!t.unicodeSupport&&(!h||!h.unicodeSupport)&&s.host&&(t.domainHost||h&&h.domainHost)&&r===!1&&jU(s.host))try{s.host=new URL("http://"+s.host).hostname}catch(u){s.error=s.error||"Host's domain name can not be converted to ASCII: "+u}if((!h||h&&!h.skipNormalize)&&(n.indexOf("%")!==-1&&(s.scheme!==void 0&&(s.scheme=unescape(s.scheme)),s.host!==void 0&&(s.host=DU(unescape(s.host),r))),s.path&&(s.path=NU(s.path)),s.fragment))try{s.fragment=encodeURI(decodeURIComponent(s.fragment))}catch{s.error=s.error||"URI malformed"}h&&h.parse&&h.parse(s,t)}else s.error=s.error||"URI can not be parsed.";return{parsed:s,malformedAuthorityOrPort:i}}function Vg(n,e){return Ug(n,e).parsed}function KU(n,e){return OT(n,e).normalized}function OT(n,e){const{parsed:t,malformedAuthorityOrPort:s}=Ug(n,e);return{normalized:s?n:fc(t,e),malformedAuthorityOrPort:s}}function Lk(n,e){if(typeof n=="string"){const{normalized:t,malformedAuthorityOrPort:s}=OT(n,e);return s?void 0:t}if(typeof n=="object")return fc(n,e)}const NS={SCHEMES:zU,normalize:HU,resolve:BU,resolveComponent:IT,equal:qU,serialize:fc,parse:Vg};c0.exports=NS;c0.exports.default=NS;c0.exports.fastUri=NS;var NT=c0.exports;Object.defineProperty(MS,"__esModule",{value:!0});const LT=NT;LT.code='require("ajv/dist/runtime/uri").default';MS.default=LT;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.CodeGen=n.Name=n.nil=n.stringify=n.str=n._=n.KeywordCxt=void 0;var e=Xi;Object.defineProperty(n,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var t=We;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return t._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return t.str}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return t.stringify}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return t.nil}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return t.Name}}),Object.defineProperty(n,"CodeGen",{enumerable:!0,get:function(){return t.CodeGen}});const s=Fp,i=Nu,r=dc,o=Os,a=We,l=qn,c=pn,h=fe,u=iU,d=MS,p=(H,P)=>new RegExp(H,P);p.code="new RegExp";const m=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),v={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},w=200;function _(H){var P,N,M,b,x,I,V,Z,ae,ne,ke,kt,Ie,Ge,lt,tt,Jt,Pn,Rn,us,Mn,ds,Yn,Jn,In;const Qt=H.strict,an=(P=H.code)===null||P===void 0?void 0:P.optimize,ln=an===!0||an===void 0?1:an||0,en=(M=(N=H.code)===null||N===void 0?void 0:N.regExp)!==null&&M!==void 0?M:p,fs=(b=H.uriResolver)!==null&&b!==void 0?b:d.default;return{strictSchema:(I=(x=H.strictSchema)!==null&&x!==void 0?x:Qt)!==null&&I!==void 0?I:!0,strictNumbers:(Z=(V=H.strictNumbers)!==null&&V!==void 0?V:Qt)!==null&&Z!==void 0?Z:!0,strictTypes:(ne=(ae=H.strictTypes)!==null&&ae!==void 0?ae:Qt)!==null&&ne!==void 0?ne:"log",strictTuples:(kt=(ke=H.strictTuples)!==null&&ke!==void 0?ke:Qt)!==null&&kt!==void 0?kt:"log",strictRequired:(Ge=(Ie=H.strictRequired)!==null&&Ie!==void 0?Ie:Qt)!==null&&Ge!==void 0?Ge:!1,code:H.code?{...H.code,optimize:ln,regExp:en}:{optimize:ln,regExp:en},loopRequired:(lt=H.loopRequired)!==null&<!==void 0?lt:w,loopEnum:(tt=H.loopEnum)!==null&&tt!==void 0?tt:w,meta:(Jt=H.meta)!==null&&Jt!==void 0?Jt:!0,messages:(Pn=H.messages)!==null&&Pn!==void 0?Pn:!0,inlineRefs:(Rn=H.inlineRefs)!==null&&Rn!==void 0?Rn:!0,schemaId:(us=H.schemaId)!==null&&us!==void 0?us:"$id",addUsedSchema:(Mn=H.addUsedSchema)!==null&&Mn!==void 0?Mn:!0,validateSchema:(ds=H.validateSchema)!==null&&ds!==void 0?ds:!0,validateFormats:(Yn=H.validateFormats)!==null&&Yn!==void 0?Yn:!0,unicodeRegExp:(Jn=H.unicodeRegExp)!==null&&Jn!==void 0?Jn:!0,int32range:(In=H.int32range)!==null&&In!==void 0?In:!0,uriResolver:fs}}class k{constructor(P={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,P=this.opts={...P,..._(P)};const{es5:N,lines:M}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:g,es5:N,lines:M}),this.logger=z(P.logger);const b=P.validateFormats;P.validateFormats=!1,this.RULES=(0,r.getRules)(),A.call(this,v,P,"NOT SUPPORTED"),A.call(this,y,P,"DEPRECATED","warn"),this._metaOpts=B.call(this),P.formats&&O.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),P.keywords&&F.call(this,P.keywords),typeof P.meta=="object"&&this.addMetaSchema(P.meta),E.call(this),P.validateFormats=b}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:P,meta:N,schemaId:M}=this.opts;let b=u;M==="id"&&(b={...u},b.id=b.$id,delete b.$id),N&&P&&this.addMetaSchema(b,b[M],!1)}defaultMeta(){const{meta:P,schemaId:N}=this.opts;return this.opts.defaultMeta=typeof P=="object"?P[N]||P:void 0}validate(P,N){let M;if(typeof P=="string"){if(M=this.getSchema(P),!M)throw new Error(`no schema with key or ref "${P}"`)}else M=this.compile(P);const b=M(N);return"$async"in M||(this.errors=M.errors),b}compile(P,N){const M=this._addSchema(P,N);return M.validate||this._compileSchemaEnv(M)}compileAsync(P,N){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:M}=this.opts;return b.call(this,P,N);async function b(ne,ke){await x.call(this,ne.$schema);const kt=this._addSchema(ne,ke);return kt.validate||I.call(this,kt)}async function x(ne){ne&&!this.getSchema(ne)&&await b.call(this,{$ref:ne},!0)}async function I(ne){try{return this._compileSchemaEnv(ne)}catch(ke){if(!(ke instanceof i.default))throw ke;return V.call(this,ke),await Z.call(this,ke.missingSchema),I.call(this,ne)}}function V({missingSchema:ne,missingRef:ke}){if(this.refs[ne])throw new Error(`AnySchema ${ne} is loaded but ${ke} cannot be resolved`)}async function Z(ne){const ke=await ae.call(this,ne);this.refs[ne]||await x.call(this,ke.$schema),this.refs[ne]||this.addSchema(ke,ne,N)}async function ae(ne){const ke=this._loading[ne];if(ke)return ke;try{return await(this._loading[ne]=M(ne))}finally{delete this._loading[ne]}}}addSchema(P,N,M,b=this.opts.validateSchema){if(Array.isArray(P)){for(const I of P)this.addSchema(I,void 0,M,b);return this}let x;if(typeof P=="object"){const{schemaId:I}=this.opts;if(x=P[I],x!==void 0&&typeof x!="string")throw new Error(`schema ${I} must be string`)}return N=(0,l.normalizeId)(N||x),this._checkUnique(N),this.schemas[N]=this._addSchema(P,M,N,b,!0),this}addMetaSchema(P,N,M=this.opts.validateSchema){return this.addSchema(P,N,!0,M),this}validateSchema(P,N){if(typeof P=="boolean")return!0;let M;if(M=P.$schema,M!==void 0&&typeof M!="string")throw new Error("$schema must be a string");if(M=M||this.opts.defaultMeta||this.defaultMeta(),!M)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const b=this.validate(M,P);if(!b&&N){const x="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(x);else throw new Error(x)}return b}getSchema(P){let N;for(;typeof(N=$.call(this,P))=="string";)P=N;if(N===void 0){const{schemaId:M}=this.opts,b=new o.SchemaEnv({schema:{},schemaId:M});if(N=o.resolveSchema.call(this,b,P),!N)return;this.refs[P]=N}return N.validate||this._compileSchemaEnv(N)}removeSchema(P){if(P instanceof RegExp)return this._removeAllSchemas(this.schemas,P),this._removeAllSchemas(this.refs,P),this;switch(typeof P){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const N=$.call(this,P);return typeof N=="object"&&this._cache.delete(N.schema),delete this.schemas[P],delete this.refs[P],this}case"object":{const N=P;this._cache.delete(N);let M=P[this.opts.schemaId];return M&&(M=(0,l.normalizeId)(M),delete this.schemas[M],delete this.refs[M]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(P){for(const N of P)this.addKeyword(N);return this}addKeyword(P,N){let M;if(typeof P=="string")M=P,typeof N=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),N.keyword=M);else if(typeof P=="object"&&N===void 0){if(N=P,M=N.keyword,Array.isArray(M)&&!M.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(D.call(this,M,N),!N)return(0,h.eachItem)(M,x=>Q.call(this,x)),this;J.call(this,N);const b={...N,type:(0,c.getJSONTypes)(N.type),schemaType:(0,c.getJSONTypes)(N.schemaType)};return(0,h.eachItem)(M,b.type.length===0?x=>Q.call(this,x,b):x=>b.type.forEach(I=>Q.call(this,x,b,I))),this}getKeyword(P){const N=this.RULES.all[P];return typeof N=="object"?N.definition:!!N}removeKeyword(P){const{RULES:N}=this;delete N.keywords[P],delete N.all[P];for(const M of N.rules){const b=M.rules.findIndex(x=>x.keyword===P);b>=0&&M.rules.splice(b,1)}return this}addFormat(P,N){return typeof N=="string"&&(N=new RegExp(N)),this.formats[P]=N,this}errorsText(P=this.errors,{separator:N=", ",dataVar:M="data"}={}){return!P||P.length===0?"No errors":P.map(b=>`${M}${b.instancePath} ${b.message}`).reduce((b,x)=>b+N+x)}$dataMetaSchema(P,N){const M=this.RULES.all;P=JSON.parse(JSON.stringify(P));for(const b of N){const x=b.split("/").slice(1);let I=P;for(const V of x)I=I[V];for(const V in M){const Z=M[V];if(typeof Z!="object")continue;const{$data:ae}=Z.definition,ne=I[V];ae&&ne&&(I[V]=de(ne))}}return P}_removeAllSchemas(P,N){for(const M in P){const b=P[M];(!N||N.test(M))&&(typeof b=="string"?delete P[M]:b&&!b.meta&&(this._cache.delete(b.schema),delete P[M]))}}_addSchema(P,N,M,b=this.opts.validateSchema,x=this.opts.addUsedSchema){let I;const{schemaId:V}=this.opts;if(typeof P=="object")I=P[V];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof P!="boolean")throw new Error("schema must be object or boolean")}let Z=this._cache.get(P);if(Z!==void 0)return Z;M=(0,l.normalizeId)(I||M);const ae=l.getSchemaRefs.call(this,P,M);return Z=new o.SchemaEnv({schema:P,schemaId:V,meta:N,baseId:M,localRefs:ae}),this._cache.set(Z.schema,Z),x&&!M.startsWith("#")&&(M&&this._checkUnique(M),this.refs[M]=Z),b&&this.validateSchema(P,!0),Z}_checkUnique(P){if(this.schemas[P]||this.refs[P])throw new Error(`schema with key or id "${P}" already exists`)}_compileSchemaEnv(P){if(P.meta?this._compileMetaSchema(P):o.compileSchema.call(this,P),!P.validate)throw new Error("ajv implementation error");return P.validate}_compileMetaSchema(P){const N=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,P)}finally{this.opts=N}}}k.ValidationError=s.default,k.MissingRefError=i.default,n.default=k;function A(H,P,N,M="error"){for(const b in H){const x=b;x in P&&this.logger[M](`${N}: option ${b}. ${H[x]}`)}}function $(H){return H=(0,l.normalizeId)(H),this.schemas[H]||this.refs[H]}function E(){const H=this.opts.schemas;if(H)if(Array.isArray(H))this.addSchema(H);else for(const P in H)this.addSchema(H[P],P)}function O(){for(const H in this.opts.formats){const P=this.opts.formats[H];P&&this.addFormat(H,P)}}function F(H){if(Array.isArray(H)){this.addVocabulary(H);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const P in H){const N=H[P];N.keyword||(N.keyword=P),this.addKeyword(N)}}function B(){const H={...this.opts};for(const P of m)delete H[P];return H}const L={log(){},warn(){},error(){}};function z(H){if(H===!1)return L;if(H===void 0)return console;if(H.log&&H.warn&&H.error)return H;throw new Error("logger must implement log, warn and error methods")}const K=/^[a-z_$][a-z0-9_$:-]*$/i;function D(H,P){const{RULES:N}=this;if((0,h.eachItem)(H,M=>{if(N.keywords[M])throw new Error(`Keyword ${M} is already defined`);if(!K.test(M))throw new Error(`Keyword ${M} has invalid name`)}),!!P&&P.$data&&!("code"in P||"validate"in P))throw new Error('$data keyword must have "code" or "validate" function')}function Q(H,P,N){var M;const b=P==null?void 0:P.post;if(N&&b)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:x}=this;let I=b?x.post:x.rules.find(({type:Z})=>Z===N);if(I||(I={type:N,rules:[]},x.rules.push(I)),x.keywords[H]=!0,!P)return;const V={keyword:H,definition:{...P,type:(0,c.getJSONTypes)(P.type),schemaType:(0,c.getJSONTypes)(P.schemaType)}};P.before?X.call(this,I,V,P.before):I.rules.push(V),x.all[H]=V,(M=P.implements)===null||M===void 0||M.forEach(Z=>this.addKeyword(Z))}function X(H,P,N){const M=H.rules.findIndex(b=>b.keyword===N);M>=0?H.rules.splice(M,0,P):(H.rules.push(P),this.logger.warn(`rule ${N} is not defined`))}function J(H){let{metaSchema:P}=H;P!==void 0&&(H.$data&&this.opts.$data&&(P=de(P)),H.validateSchema=this.compile(P,!0))}const se={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function de(H){return{anyOf:[H,se]}}})(U$);var LS={},DS={},FS={};Object.defineProperty(FS,"__esModule",{value:!0});const ZU={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};FS.default=ZU;var pc={};Object.defineProperty(pc,"__esModule",{value:!0});pc.callRef=pc.getValidate=void 0;const XU=Nu,Dk=Ue,Rs=We,Lc=Dr,Fk=Os,om=fe,YU={keyword:"$ref",schemaType:"string",code(n){const{gen:e,schema:t,it:s}=n,{baseId:i,schemaEnv:r,validateName:o,opts:a,self:l}=s,{root:c}=r;if((t==="#"||t==="#/")&&i===c.baseId)return u();const h=Fk.resolveRef.call(l,c,i,t);if(h===void 0)throw new XU.default(s.opts.uriResolver,i,t);if(h instanceof Fk.SchemaEnv)return d(h);return p(h);function u(){if(r===c)return Wm(n,o,r,r.$async);const m=e.scopeValue("root",{ref:c});return Wm(n,(0,Rs._)`${m}.validate`,c,c.$async)}function d(m){const g=DT(n,m);Wm(n,g,m,m.$async)}function p(m){const g=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,Rs.stringify)(m)}:{ref:m}),v=e.name("valid"),y=n.subschema({schema:m,dataTypes:[],schemaPath:Rs.nil,topSchemaRef:g,errSchemaPath:t},v);n.mergeEvaluated(y),n.ok(v)}}};function DT(n,e){const{gen:t}=n;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,Rs._)`${t.scopeValue("wrapper",{ref:e})}.validate`}pc.getValidate=DT;function Wm(n,e,t,s){const{gen:i,it:r}=n,{allErrors:o,schemaEnv:a,opts:l}=r,c=l.passContext?Lc.default.this:Rs.nil;s?h():u();function h(){if(!a.$async)throw new Error("async schema referenced by sync schema");const m=i.let("valid");i.try(()=>{i.code((0,Rs._)`await ${(0,Dk.callValidateCode)(n,e,c)}`),p(e),o||i.assign(m,!0)},g=>{i.if((0,Rs._)`!(${g} instanceof ${r.ValidationError})`,()=>i.throw(g)),d(g),o||i.assign(m,!1)}),n.ok(m)}function u(){n.result((0,Dk.callValidateCode)(n,e,c),()=>p(e),()=>d(e))}function d(m){const g=(0,Rs._)`${m}.errors`;i.assign(Lc.default.vErrors,(0,Rs._)`${Lc.default.vErrors} === null ? ${g} : ${Lc.default.vErrors}.concat(${g})`),i.assign(Lc.default.errors,(0,Rs._)`${Lc.default.vErrors}.length`)}function p(m){var g;if(!r.opts.unevaluated)return;const v=(g=t==null?void 0:t.validate)===null||g===void 0?void 0:g.evaluated;if(r.props!==!0)if(v&&!v.dynamicProps)v.props!==void 0&&(r.props=om.mergeEvaluated.props(i,v.props,r.props));else{const y=i.var("props",(0,Rs._)`${m}.evaluated.props`);r.props=om.mergeEvaluated.props(i,y,r.props,Rs.Name)}if(r.items!==!0)if(v&&!v.dynamicItems)v.items!==void 0&&(r.items=om.mergeEvaluated.items(i,v.items,r.items));else{const y=i.var("items",(0,Rs._)`${m}.evaluated.items`);r.items=om.mergeEvaluated.items(i,y,r.items,Rs.Name)}}}pc.callRef=Wm;pc.default=YU;Object.defineProperty(DS,"__esModule",{value:!0});const JU=FS,QU=pc,eV=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",JU.default,QU.default];DS.default=eV;var jS={},zS={};Object.defineProperty(zS,"__esModule",{value:!0});const Wg=We,Io=Wg.operators,Gg={maximum:{okStr:"<=",ok:Io.LTE,fail:Io.GT},minimum:{okStr:">=",ok:Io.GTE,fail:Io.LT},exclusiveMaximum:{okStr:"<",ok:Io.LT,fail:Io.GTE},exclusiveMinimum:{okStr:">",ok:Io.GT,fail:Io.LTE}},tV={message:({keyword:n,schemaCode:e})=>(0,Wg.str)`must be ${Gg[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,Wg._)`{comparison: ${Gg[n].okStr}, limit: ${e}}`},nV={keyword:Object.keys(Gg),type:"number",schemaType:"number",$data:!0,error:tV,code(n){const{keyword:e,data:t,schemaCode:s}=n;n.fail$data((0,Wg._)`${t} ${Gg[e].fail} ${s} || isNaN(${t})`)}};zS.default=nV;var HS={};Object.defineProperty(HS,"__esModule",{value:!0});const Pd=We,sV={message:({schemaCode:n})=>(0,Pd.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Pd._)`{multipleOf: ${n}}`},iV={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:sV,code(n){const{gen:e,data:t,schemaCode:s,it:i}=n,r=i.opts.multipleOfPrecision,o=e.let("res"),a=r?(0,Pd._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${r}`:(0,Pd._)`${o} !== parseInt(${o})`;n.fail$data((0,Pd._)`(${s} === 0 || (${o} = ${t}/${s}, ${a}))`)}};HS.default=iV;var BS={},qS={};Object.defineProperty(qS,"__esModule",{value:!0});function FT(n){const e=n.length;let t=0,s=0,i;for(;s=55296&&i<=56319&&s(0,sl._)`{limit: ${n}}`},lV={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:aV,code(n){const{keyword:e,data:t,schemaCode:s,it:i}=n,r=e==="maxLength"?sl.operators.GT:sl.operators.LT,o=i.opts.unicode===!1?(0,sl._)`${t}.length`:(0,sl._)`${(0,rV.useFunc)(n.gen,oV.default)}(${t})`;n.fail$data((0,sl._)`${o} ${r} ${s}`)}};BS.default=lV;var US={};Object.defineProperty(US,"__esModule",{value:!0});const cV=Ue,hV=fe,th=We,uV={message:({schemaCode:n})=>(0,th.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,th._)`{pattern: ${n}}`},dV={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:uV,code(n){const{gen:e,data:t,$data:s,schema:i,schemaCode:r,it:o}=n,a=o.opts.unicodeRegExp?"u":"";if(s){const{regExp:l}=o.opts.code,c=l.code==="new RegExp"?(0,th._)`new RegExp`:(0,hV.useFunc)(e,l),h=e.let("valid");e.try(()=>e.assign(h,(0,th._)`${c}(${r}, ${a}).test(${t})`),()=>e.assign(h,!1)),n.fail$data((0,th._)`!${h}`)}else{const l=(0,cV.usePattern)(n,i);n.fail$data((0,th._)`!${l}.test(${t})`)}}};US.default=dV;var VS={};Object.defineProperty(VS,"__esModule",{value:!0});const Rd=We,fV={message({keyword:n,schemaCode:e}){const t=n==="maxProperties"?"more":"fewer";return(0,Rd.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:n})=>(0,Rd._)`{limit: ${n}}`},pV={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:fV,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxProperties"?Rd.operators.GT:Rd.operators.LT;n.fail$data((0,Rd._)`Object.keys(${t}).length ${i} ${s}`)}};VS.default=pV;var WS={};Object.defineProperty(WS,"__esModule",{value:!0});const Gu=Ue,Md=We,mV=fe,gV={message:({params:{missingProperty:n}})=>(0,Md.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Md._)`{missingProperty: ${n}}`},yV={keyword:"required",type:"object",schemaType:"array",$data:!0,error:gV,code(n){const{gen:e,schema:t,schemaCode:s,data:i,$data:r,it:o}=n,{opts:a}=o;if(!r&&t.length===0)return;const l=t.length>=a.loopRequired;if(o.allErrors?c():h(),a.strictRequired){const p=n.parentSchema.properties,{definedProperties:m}=n.it;for(const g of t)if((p==null?void 0:p[g])===void 0&&!m.has(g)){const v=o.schemaEnv.baseId+o.errSchemaPath,y=`required property "${g}" is not defined at "${v}" (strictRequired)`;(0,mV.checkStrictMode)(o,y,o.opts.strictRequired)}}function c(){if(l||r)n.block$data(Md.nil,u);else for(const p of t)(0,Gu.checkReportMissingProp)(n,p)}function h(){const p=e.let("missing");if(l||r){const m=e.let("valid",!0);n.block$data(m,()=>d(p,m)),n.ok(m)}else e.if((0,Gu.checkMissingProp)(n,t,p)),(0,Gu.reportMissingProp)(n,p),e.else()}function u(){e.forOf("prop",s,p=>{n.setParams({missingProperty:p}),e.if((0,Gu.noPropertyInData)(e,i,p,a.ownProperties),()=>n.error())})}function d(p,m){n.setParams({missingProperty:p}),e.forOf(p,s,()=>{e.assign(m,(0,Gu.propertyInData)(e,i,p,a.ownProperties)),e.if((0,Md.not)(m),()=>{n.error(),e.break()})},Md.nil)}}};WS.default=yV;var GS={};Object.defineProperty(GS,"__esModule",{value:!0});const Id=We,vV={message({keyword:n,schemaCode:e}){const t=n==="maxItems"?"more":"fewer";return(0,Id.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:n})=>(0,Id._)`{limit: ${n}}`},bV={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:vV,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxItems"?Id.operators.GT:Id.operators.LT;n.fail$data((0,Id._)`${t}.length ${i} ${s}`)}};GS.default=bV;var KS={},jp={};Object.defineProperty(jp,"__esModule",{value:!0});const jT=o0;jT.code='require("ajv/dist/runtime/equal").default';jp.default=jT;Object.defineProperty(KS,"__esModule",{value:!0});const Z0=pn,Nn=We,wV=fe,_V=jp,SV={message:({params:{i:n,j:e}})=>(0,Nn.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,Nn._)`{i: ${n}, j: ${e}}`},AV={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:SV,code(n){const{gen:e,data:t,$data:s,schema:i,parentSchema:r,schemaCode:o,it:a}=n;if(!s&&!i)return;const l=e.let("valid"),c=r.items?(0,Z0.getSchemaTypes)(r.items):[];n.block$data(l,h,(0,Nn._)`${o} === false`),n.ok(l);function h(){const m=e.let("i",(0,Nn._)`${t}.length`),g=e.let("j");n.setParams({i:m,j:g}),e.assign(l,!0),e.if((0,Nn._)`${m} > 1`,()=>(u()?d:p)(m,g))}function u(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function d(m,g){const v=e.name("item"),y=(0,Z0.checkDataTypes)(c,v,a.opts.strictNumbers,Z0.DataType.Wrong),w=e.const("indices",(0,Nn._)`{}`);e.for((0,Nn._)`;${m}--;`,()=>{e.let(v,(0,Nn._)`${t}[${m}]`),e.if(y,(0,Nn._)`continue`),c.length>1&&e.if((0,Nn._)`typeof ${v} == "string"`,(0,Nn._)`${v} += "_"`),e.if((0,Nn._)`typeof ${w}[${v}] == "number"`,()=>{e.assign(g,(0,Nn._)`${w}[${v}]`),n.error(),e.assign(l,!1).break()}).code((0,Nn._)`${w}[${v}] = ${m}`)})}function p(m,g){const v=(0,wV.useFunc)(e,_V.default),y=e.name("outer");e.label(y).for((0,Nn._)`;${m}--;`,()=>e.for((0,Nn._)`${g} = ${m}; ${g}--;`,()=>e.if((0,Nn._)`${v}(${t}[${m}], ${t}[${g}])`,()=>{n.error(),e.assign(l,!1).break(y)})))}}};KS.default=AV;var ZS={};Object.defineProperty(ZS,"__esModule",{value:!0});const Jv=We,kV=fe,xV=jp,EV={message:"must be equal to constant",params:({schemaCode:n})=>(0,Jv._)`{allowedValue: ${n}}`},CV={keyword:"const",$data:!0,error:EV,code(n){const{gen:e,data:t,$data:s,schemaCode:i,schema:r}=n;s||r&&typeof r=="object"?n.fail$data((0,Jv._)`!${(0,kV.useFunc)(e,xV.default)}(${t}, ${i})`):n.fail((0,Jv._)`${r} !== ${t}`)}};ZS.default=CV;var XS={};Object.defineProperty(XS,"__esModule",{value:!0});const ad=We,$V=fe,TV=jp,PV={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,ad._)`{allowedValues: ${n}}`},RV={keyword:"enum",schemaType:"array",$data:!0,error:PV,code(n){const{gen:e,data:t,$data:s,schema:i,schemaCode:r,it:o}=n;if(!s&&i.length===0)throw new Error("enum must have non-empty array");const a=i.length>=o.opts.loopEnum;let l;const c=()=>l??(l=(0,$V.useFunc)(e,TV.default));let h;if(a||s)h=e.let("valid"),n.block$data(h,u);else{if(!Array.isArray(i))throw new Error("ajv implementation error");const p=e.const("vSchema",r);h=(0,ad.or)(...i.map((m,g)=>d(p,g)))}n.pass(h);function u(){e.assign(h,!1),e.forOf("v",r,p=>e.if((0,ad._)`${c()}(${t}, ${p})`,()=>e.assign(h,!0).break()))}function d(p,m){const g=i[m];return typeof g=="object"&&g!==null?(0,ad._)`${c()}(${t}, ${p}[${m}])`:(0,ad._)`${t} === ${g}`}}};XS.default=RV;Object.defineProperty(jS,"__esModule",{value:!0});const MV=zS,IV=HS,OV=BS,NV=US,LV=VS,DV=WS,FV=GS,jV=KS,zV=ZS,HV=XS,BV=[MV.default,IV.default,OV.default,NV.default,LV.default,DV.default,FV.default,jV.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},zV.default,HV.default];jS.default=BV;var YS={},Lu={};Object.defineProperty(Lu,"__esModule",{value:!0});Lu.validateAdditionalItems=void 0;const il=We,Qv=fe,qV={message:({params:{len:n}})=>(0,il.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,il._)`{limit: ${n}}`},UV={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:qV,code(n){const{parentSchema:e,it:t}=n,{items:s}=e;if(!Array.isArray(s)){(0,Qv.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}zT(n,s)}};function zT(n,e){const{gen:t,schema:s,data:i,keyword:r,it:o}=n;o.items=!0;const a=t.const("len",(0,il._)`${i}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,il._)`${a} <= ${e.length}`);else if(typeof s=="object"&&!(0,Qv.alwaysValidSchema)(o,s)){const c=t.var("valid",(0,il._)`${a} <= ${e.length}`);t.if((0,il.not)(c),()=>l(c)),n.ok(c)}function l(c){t.forRange("i",e.length,a,h=>{n.subschema({keyword:r,dataProp:h,dataPropType:Qv.Type.Num},c),o.allErrors||t.if((0,il.not)(c),()=>t.break())})}}Lu.validateAdditionalItems=zT;Lu.default=UV;var JS={},Du={};Object.defineProperty(Du,"__esModule",{value:!0});Du.validateTuple=void 0;const jk=We,Gm=fe,VV=Ue,WV={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){const{schema:e,it:t}=n;if(Array.isArray(e))return HT(n,"additionalItems",e);t.items=!0,!(0,Gm.alwaysValidSchema)(t,e)&&n.ok((0,VV.validateArray)(n))}};function HT(n,e,t=n.schema){const{gen:s,parentSchema:i,data:r,keyword:o,it:a}=n;h(i),a.opts.unevaluated&&t.length&&a.items!==!0&&(a.items=Gm.mergeEvaluated.items(s,t.length,a.items));const l=s.name("valid"),c=s.const("len",(0,jk._)`${r}.length`);t.forEach((u,d)=>{(0,Gm.alwaysValidSchema)(a,u)||(s.if((0,jk._)`${c} > ${d}`,()=>n.subschema({keyword:o,schemaProp:d,dataProp:d},l)),n.ok(l))});function h(u){const{opts:d,errSchemaPath:p}=a,m=t.length,g=m===u.minItems&&(m===u.maxItems||u[e]===!1);if(d.strictTuples&&!g){const v=`"${o}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,Gm.checkStrictMode)(a,v,d.strictTuples)}}}Du.validateTuple=HT;Du.default=WV;Object.defineProperty(JS,"__esModule",{value:!0});const GV=Du,KV={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,GV.validateTuple)(n,"items")};JS.default=KV;var QS={};Object.defineProperty(QS,"__esModule",{value:!0});const zk=We,ZV=fe,XV=Ue,YV=Lu,JV={message:({params:{len:n}})=>(0,zk.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,zk._)`{limit: ${n}}`},QV={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:JV,code(n){const{schema:e,parentSchema:t,it:s}=n,{prefixItems:i}=t;s.items=!0,!(0,ZV.alwaysValidSchema)(s,e)&&(i?(0,YV.validateAdditionalItems)(n,i):n.ok((0,XV.validateArray)(n)))}};QS.default=QV;var e1={};Object.defineProperty(e1,"__esModule",{value:!0});const ui=We,am=fe,e3={message:({params:{min:n,max:e}})=>e===void 0?(0,ui.str)`must contain at least ${n} valid item(s)`:(0,ui.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,ui._)`{minContains: ${n}}`:(0,ui._)`{minContains: ${n}, maxContains: ${e}}`},t3={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:e3,code(n){const{gen:e,schema:t,parentSchema:s,data:i,it:r}=n;let o,a;const{minContains:l,maxContains:c}=s;r.opts.next?(o=l===void 0?1:l,a=c):o=1;const h=e.const("len",(0,ui._)`${i}.length`);if(n.setParams({min:o,max:a}),a===void 0&&o===0){(0,am.checkStrictMode)(r,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,am.checkStrictMode)(r,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,am.alwaysValidSchema)(r,t)){let g=(0,ui._)`${h} >= ${o}`;a!==void 0&&(g=(0,ui._)`${g} && ${h} <= ${a}`),n.pass(g);return}r.items=!0;const u=e.name("valid");a===void 0&&o===1?p(u,()=>e.if(u,()=>e.break())):o===0?(e.let(u,!0),a!==void 0&&e.if((0,ui._)`${i}.length > 0`,d)):(e.let(u,!1),d()),n.result(u,()=>n.reset());function d(){const g=e.name("_valid"),v=e.let("count",0);p(g,()=>e.if(g,()=>m(v)))}function p(g,v){e.forRange("i",0,h,y=>{n.subschema({keyword:"contains",dataProp:y,dataPropType:am.Type.Num,compositeRule:!0},g),v()})}function m(g){e.code((0,ui._)`${g}++`),a===void 0?e.if((0,ui._)`${g} >= ${o}`,()=>e.assign(u,!0).break()):(e.if((0,ui._)`${g} > ${a}`,()=>e.assign(u,!1).break()),o===1?e.assign(u,!0):e.if((0,ui._)`${g} >= ${o}`,()=>e.assign(u,!0)))}}};e1.default=t3;var BT={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateSchemaDeps=n.validatePropertyDeps=n.error=void 0;const e=We,t=fe,s=Ue;n.error={message:({params:{property:l,depsCount:c,deps:h}})=>{const u=c===1?"property":"properties";return(0,e.str)`must have ${u} ${h} when property ${l} is present`},params:({params:{property:l,depsCount:c,deps:h,missingProperty:u}})=>(0,e._)`{property: ${l}, + missingProperty: ${u}, + depsCount: ${c}, + deps: ${h}}`};const i={keyword:"dependencies",type:"object",schemaType:"object",error:n.error,code(l){const[c,h]=r(l);o(l,c),a(l,h)}};function r({schema:l}){const c={},h={};for(const u in l){if(u==="__proto__")continue;const d=Array.isArray(l[u])?c:h;d[u]=l[u]}return[c,h]}function o(l,c=l.schema){const{gen:h,data:u,it:d}=l;if(Object.keys(c).length===0)return;const p=h.let("missing");for(const m in c){const g=c[m];if(g.length===0)continue;const v=(0,s.propertyInData)(h,u,m,d.opts.ownProperties);l.setParams({property:m,depsCount:g.length,deps:g.join(", ")}),d.allErrors?h.if(v,()=>{for(const y of g)(0,s.checkReportMissingProp)(l,y)}):(h.if((0,e._)`${v} && (${(0,s.checkMissingProp)(l,g,p)})`),(0,s.reportMissingProp)(l,p),h.else())}}n.validatePropertyDeps=o;function a(l,c=l.schema){const{gen:h,data:u,keyword:d,it:p}=l,m=h.name("valid");for(const g in c)(0,t.alwaysValidSchema)(p,c[g])||(h.if((0,s.propertyInData)(h,u,g,p.opts.ownProperties),()=>{const v=l.subschema({keyword:d,schemaProp:g},m);l.mergeValidEvaluated(v,m)},()=>h.var(m,!0)),l.ok(m))}n.validateSchemaDeps=a,n.default=i})(BT);var t1={};Object.defineProperty(t1,"__esModule",{value:!0});const qT=We,n3=fe,s3={message:"property name must be valid",params:({params:n})=>(0,qT._)`{propertyName: ${n.propertyName}}`},i3={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:s3,code(n){const{gen:e,schema:t,data:s,it:i}=n;if((0,n3.alwaysValidSchema)(i,t))return;const r=e.name("valid");e.forIn("key",s,o=>{n.setParams({propertyName:o}),n.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},r),e.if((0,qT.not)(r),()=>{n.error(!0),i.allErrors||e.break()})}),n.ok(r)}};t1.default=i3;var h0={};Object.defineProperty(h0,"__esModule",{value:!0});const lm=Ue,$i=We,r3=Dr,cm=fe,o3={message:"must NOT have additional properties",params:({params:n})=>(0,$i._)`{additionalProperty: ${n.additionalProperty}}`},a3={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:o3,code(n){const{gen:e,schema:t,parentSchema:s,data:i,errsCount:r,it:o}=n;if(!r)throw new Error("ajv implementation error");const{allErrors:a,opts:l}=o;if(o.props=!0,l.removeAdditional!=="all"&&(0,cm.alwaysValidSchema)(o,t))return;const c=(0,lm.allSchemaProperties)(s.properties),h=(0,lm.allSchemaProperties)(s.patternProperties);u(),n.ok((0,$i._)`${r} === ${r3.default.errors}`);function u(){e.forIn("key",i,v=>{!c.length&&!h.length?m(v):e.if(d(v),()=>m(v))})}function d(v){let y;if(c.length>8){const w=(0,cm.schemaRefOrVal)(o,s.properties,"properties");y=(0,lm.isOwnProperty)(e,w,v)}else c.length?y=(0,$i.or)(...c.map(w=>(0,$i._)`${v} === ${w}`)):y=$i.nil;return h.length&&(y=(0,$i.or)(y,...h.map(w=>(0,$i._)`${(0,lm.usePattern)(n,w)}.test(${v})`))),(0,$i.not)(y)}function p(v){e.code((0,$i._)`delete ${i}[${v}]`)}function m(v){if(l.removeAdditional==="all"||l.removeAdditional&&t===!1){p(v);return}if(t===!1){n.setParams({additionalProperty:v}),n.error(),a||e.break();return}if(typeof t=="object"&&!(0,cm.alwaysValidSchema)(o,t)){const y=e.name("valid");l.removeAdditional==="failing"?(g(v,y,!1),e.if((0,$i.not)(y),()=>{n.reset(),p(v)})):(g(v,y),a||e.if((0,$i.not)(y),()=>e.break()))}}function g(v,y,w){const _={keyword:"additionalProperties",dataProp:v,dataPropType:cm.Type.Str};w===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(_,y)}}};h0.default=a3;var n1={};Object.defineProperty(n1,"__esModule",{value:!0});const l3=Xi,Hk=Ue,X0=fe,Bk=h0,c3={keyword:"properties",type:"object",schemaType:"object",code(n){const{gen:e,schema:t,parentSchema:s,data:i,it:r}=n;r.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&Bk.default.code(new l3.KeywordCxt(r,Bk.default,"additionalProperties"));const o=(0,Hk.allSchemaProperties)(t);for(const u of o)r.definedProperties.add(u);r.opts.unevaluated&&o.length&&r.props!==!0&&(r.props=X0.mergeEvaluated.props(e,(0,X0.toHash)(o),r.props));const a=o.filter(u=>!(0,X0.alwaysValidSchema)(r,t[u]));if(a.length===0)return;const l=e.name("valid");for(const u of a)c(u)?h(u):(e.if((0,Hk.propertyInData)(e,i,u,r.opts.ownProperties)),h(u),r.allErrors||e.else().var(l,!0),e.endIf()),n.it.definedProperties.add(u),n.ok(l);function c(u){return r.opts.useDefaults&&!r.compositeRule&&t[u].default!==void 0}function h(u){n.subschema({keyword:"properties",schemaProp:u,dataProp:u},l)}}};n1.default=c3;var s1={};Object.defineProperty(s1,"__esModule",{value:!0});const qk=Ue,hm=We,Uk=fe,Vk=fe,h3={keyword:"patternProperties",type:"object",schemaType:"object",code(n){const{gen:e,schema:t,data:s,parentSchema:i,it:r}=n,{opts:o}=r,a=(0,qk.allSchemaProperties)(t),l=a.filter(g=>(0,Uk.alwaysValidSchema)(r,t[g]));if(a.length===0||l.length===a.length&&(!r.opts.unevaluated||r.props===!0))return;const c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,h=e.name("valid");r.props!==!0&&!(r.props instanceof hm.Name)&&(r.props=(0,Vk.evaluatedPropsToName)(e,r.props));const{props:u}=r;d();function d(){for(const g of a)c&&p(g),r.allErrors?m(g):(e.var(h,!0),m(g),e.if(h))}function p(g){for(const v in c)new RegExp(g).test(v)&&(0,Uk.checkStrictMode)(r,`property ${v} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){e.forIn("key",s,v=>{e.if((0,hm._)`${(0,qk.usePattern)(n,g)}.test(${v})`,()=>{const y=l.includes(g);y||n.subschema({keyword:"patternProperties",schemaProp:g,dataProp:v,dataPropType:Vk.Type.Str},h),r.opts.unevaluated&&u!==!0?e.assign((0,hm._)`${u}[${v}]`,!0):!y&&!r.allErrors&&e.if((0,hm.not)(h),()=>e.break())})})}}};s1.default=h3;var i1={};Object.defineProperty(i1,"__esModule",{value:!0});const u3=fe,d3={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){const{gen:e,schema:t,it:s}=n;if((0,u3.alwaysValidSchema)(s,t)){n.fail();return}const i=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),n.failResult(i,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};i1.default=d3;var r1={};Object.defineProperty(r1,"__esModule",{value:!0});const f3=Ue,p3={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:f3.validateUnion,error:{message:"must match a schema in anyOf"}};r1.default=p3;var o1={};Object.defineProperty(o1,"__esModule",{value:!0});const Km=We,m3=fe,g3={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Km._)`{passingSchemas: ${n.passing}}`},y3={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:g3,code(n){const{gen:e,schema:t,parentSchema:s,it:i}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(i.opts.discriminator&&s.discriminator)return;const r=t,o=e.let("valid",!1),a=e.let("passing",null),l=e.name("_valid");n.setParams({passing:a}),e.block(c),n.result(o,()=>n.reset(),()=>n.error(!0));function c(){r.forEach((h,u)=>{let d;(0,m3.alwaysValidSchema)(i,h)?e.var(l,!0):d=n.subschema({keyword:"oneOf",schemaProp:u,compositeRule:!0},l),u>0&&e.if((0,Km._)`${l} && ${o}`).assign(o,!1).assign(a,(0,Km._)`[${a}, ${u}]`).else(),e.if(l,()=>{e.assign(o,!0),e.assign(a,u),d&&n.mergeEvaluated(d,Km.Name)})})}}};o1.default=y3;var a1={};Object.defineProperty(a1,"__esModule",{value:!0});const v3=fe,b3={keyword:"allOf",schemaType:"array",code(n){const{gen:e,schema:t,it:s}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");const i=e.name("valid");t.forEach((r,o)=>{if((0,v3.alwaysValidSchema)(s,r))return;const a=n.subschema({keyword:"allOf",schemaProp:o},i);n.ok(i),n.mergeEvaluated(a)})}};a1.default=b3;var l1={};Object.defineProperty(l1,"__esModule",{value:!0});const Kg=We,UT=fe,w3={message:({params:n})=>(0,Kg.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,Kg._)`{failingKeyword: ${n.ifClause}}`},_3={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:w3,code(n){const{gen:e,parentSchema:t,it:s}=n;t.then===void 0&&t.else===void 0&&(0,UT.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const i=Wk(s,"then"),r=Wk(s,"else");if(!i&&!r)return;const o=e.let("valid",!0),a=e.name("_valid");if(l(),n.reset(),i&&r){const h=e.let("ifClause");n.setParams({ifClause:h}),e.if(a,c("then",h),c("else",h))}else i?e.if(a,c("then")):e.if((0,Kg.not)(a),c("else"));n.pass(o,()=>n.error(!0));function l(){const h=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);n.mergeEvaluated(h)}function c(h,u){return()=>{const d=n.subschema({keyword:h},a);e.assign(o,a),n.mergeValidEvaluated(d,o),u?e.assign(u,(0,Kg._)`${h}`):n.setParams({ifClause:h})}}}};function Wk(n,e){const t=n.schema[e];return t!==void 0&&!(0,UT.alwaysValidSchema)(n,t)}l1.default=_3;var c1={};Object.defineProperty(c1,"__esModule",{value:!0});const S3=fe,A3={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:t}){e.if===void 0&&(0,S3.checkStrictMode)(t,`"${n}" without "if" is ignored`)}};c1.default=A3;Object.defineProperty(YS,"__esModule",{value:!0});const k3=Lu,x3=JS,E3=Du,C3=QS,$3=e1,T3=BT,P3=t1,R3=h0,M3=n1,I3=s1,O3=i1,N3=r1,L3=o1,D3=a1,F3=l1,j3=c1;function z3(n=!1){const e=[O3.default,N3.default,L3.default,D3.default,F3.default,j3.default,P3.default,R3.default,T3.default,M3.default,I3.default];return n?e.push(x3.default,C3.default):e.push(k3.default,E3.default),e.push($3.default),e}YS.default=z3;var h1={},u1={};Object.defineProperty(u1,"__esModule",{value:!0});const Vt=We,H3={message:({schemaCode:n})=>(0,Vt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,Vt._)`{format: ${n}}`},B3={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:H3,code(n,e){const{gen:t,data:s,$data:i,schema:r,schemaCode:o,it:a}=n,{opts:l,errSchemaPath:c,schemaEnv:h,self:u}=a;if(!l.validateFormats)return;i?d():p();function d(){const m=t.scopeValue("formats",{ref:u.formats,code:l.code.formats}),g=t.const("fDef",(0,Vt._)`${m}[${o}]`),v=t.let("fType"),y=t.let("format");t.if((0,Vt._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>t.assign(v,(0,Vt._)`${g}.type || "string"`).assign(y,(0,Vt._)`${g}.validate`),()=>t.assign(v,(0,Vt._)`"string"`).assign(y,g)),n.fail$data((0,Vt.or)(w(),_()));function w(){return l.strictSchema===!1?Vt.nil:(0,Vt._)`${o} && !${y}`}function _(){const k=h.$async?(0,Vt._)`(${g}.async ? await ${y}(${s}) : ${y}(${s}))`:(0,Vt._)`${y}(${s})`,A=(0,Vt._)`(typeof ${y} == "function" ? ${k} : ${y}.test(${s}))`;return(0,Vt._)`${y} && ${y} !== true && ${v} === ${e} && !${A}`}}function p(){const m=u.formats[r];if(!m){w();return}if(m===!0)return;const[g,v,y]=_(m);g===e&&n.pass(k());function w(){if(l.strictSchema===!1){u.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${r}" ignored in schema at path "${c}"`}}function _(A){const $=A instanceof RegExp?(0,Vt.regexpCode)(A):l.code.formats?(0,Vt._)`${l.code.formats}${(0,Vt.getProperty)(r)}`:void 0,E=t.scopeValue("formats",{key:r,ref:A,code:$});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,Vt._)`${E}.validate`]:["string",A,E]}function k(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!h.$async)throw new Error("async format in sync schema");return(0,Vt._)`await ${y}(${s})`}return typeof v=="function"?(0,Vt._)`${y}(${s})`:(0,Vt._)`${y}.test(${s})`}}}};u1.default=B3;Object.defineProperty(h1,"__esModule",{value:!0});const q3=u1,U3=[q3.default];h1.default=U3;var bu={};Object.defineProperty(bu,"__esModule",{value:!0});bu.contentVocabulary=bu.metadataVocabulary=void 0;bu.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];bu.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(LS,"__esModule",{value:!0});const V3=DS,W3=jS,G3=YS,K3=h1,Gk=bu,Z3=[V3.default,W3.default,(0,G3.default)(),K3.default,Gk.metadataVocabulary,Gk.contentVocabulary];LS.default=Z3;var d1={},u0={};Object.defineProperty(u0,"__esModule",{value:!0});u0.DiscrError=void 0;var Kk;(function(n){n.Tag="tag",n.Mapping="mapping"})(Kk||(u0.DiscrError=Kk={}));Object.defineProperty(d1,"__esModule",{value:!0});const Hc=We,eb=u0,Zk=Os,X3=Nu,Y3=fe,J3={message:({params:{discrError:n,tagName:e}})=>n===eb.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:t}})=>(0,Hc._)`{error: ${n}, tag: ${t}, tagValue: ${e}}`},Q3={keyword:"discriminator",type:"object",schemaType:"object",error:J3,code(n){const{gen:e,data:t,schema:s,parentSchema:i,it:r}=n,{oneOf:o}=i;if(!r.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=s.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");const l=e.let("valid",!1),c=e.const("tag",(0,Hc._)`${t}${(0,Hc.getProperty)(a)}`);e.if((0,Hc._)`typeof ${c} == "string"`,()=>h(),()=>n.error(!1,{discrError:eb.DiscrError.Tag,tag:c,tagName:a})),n.ok(l);function h(){const p=d();e.if(!1);for(const m in p)e.elseIf((0,Hc._)`${c} === ${m}`),e.assign(l,u(p[m]));e.else(),n.error(!1,{discrError:eb.DiscrError.Mapping,tag:c,tagName:a}),e.endIf()}function u(p){const m=e.name("valid"),g=n.subschema({keyword:"oneOf",schemaProp:p},m);return n.mergeEvaluated(g,Hc.Name),m}function d(){var p;const m={},g=y(i);let v=!0;for(let k=0;kthis.addVocabulary(m)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const m=this.opts.$data?this.$dataMetaSchema(r,o):r;this.addMetaSchema(m,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.Ajv=l,n.exports=e=l,n.exports.Ajv=l,Object.defineProperty(e,"__esModule",{value:!0}),e.default=l;var c=Xi;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var h=We;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return h._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return h.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return h.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return h.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return h.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return h.CodeGen}});var u=Fp;Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return u.default}});var d=Nu;Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(Gv,Gv.exports);var aW=Gv.exports;const lW=O_(aW);var tb={exports:{}},VT={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatNames=n.fastFormats=n.fullFormats=void 0;function e(L,z){return{validate:L,compare:z}}n.fullFormats={date:e(r,o),time:e(l(!0),c),"date-time":e(d(!0),p),"iso-time":e(l(),h),"iso-date-time":e(d(),m),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:y,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:B,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:_,int32:{type:"number",validate:$},int64:{type:"number",validate:E},float:{type:"number",validate:O},double:{type:"number",validate:O},password:!0,binary:!0},n.fastFormats={...n.fullFormats,date:e(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,c),"date-time":e(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,p),"iso-time":e(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,h),"iso-date-time":e(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,m),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},n.formatNames=Object.keys(n.fullFormats);function t(L){return L%4===0&&(L%100!==0||L%400===0)}const s=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function r(L){const z=s.exec(L);if(!z)return!1;const K=+z[1],D=+z[2],Q=+z[3];return D>=1&&D<=12&&Q>=1&&Q<=(D===2&&t(K)?29:i[D])}function o(L,z){if(L&&z)return L>z?1:L23||P>59||L&&!se)return!1;if(Q<=23&&X<=59&&J<60)return!0;const N=X-P*de,M=Q-H*de-(N<0?1:0);return(M===23||M===-1)&&(N===59||N===-1)&&J<61}}function c(L,z){if(!(L&&z))return;const K=new Date("2020-01-01T"+L).valueOf(),D=new Date("2020-01-01T"+z).valueOf();if(K&&D)return K-D}function h(L,z){if(!(L&&z))return;const K=a.exec(L),D=a.exec(z);if(K&&D)return L=K[1]+K[2]+K[3],z=D[1]+D[2]+D[3],L>z?1:L=k}function E(L){return Number.isInteger(L)}function O(){return!0}const F=/[^\\]\\Z/;function B(L){if(F.test(L))return!1;try{return new RegExp(L),!0}catch{return!1}}})(VT);var WT={},nb={exports:{}},GT={},Yi={},wu={},zp={},He={},Qd={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.regexpCode=n.getEsmExportName=n.getProperty=n.safeStringify=n.stringify=n.strConcat=n.addCodeArg=n.str=n._=n.nil=n._Code=n.Name=n.IDENTIFIER=n._CodeOrName=void 0;class e{}n._CodeOrName=e,n.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class t extends e{constructor(w){if(super(),!n.IDENTIFIER.test(w))throw new Error("CodeGen: name must be a valid identifier");this.str=w}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}n.Name=t;class s extends e{constructor(w){super(),this._items=typeof w=="string"?[w]:w}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;const w=this._items[0];return w===""||w==='""'}get str(){var w;return(w=this._str)!==null&&w!==void 0?w:this._str=this._items.reduce((_,k)=>`${_}${k}`,"")}get names(){var w;return(w=this._names)!==null&&w!==void 0?w:this._names=this._items.reduce((_,k)=>(k instanceof t&&(_[k.str]=(_[k.str]||0)+1),_),{})}}n._Code=s,n.nil=new s("");function i(y,...w){const _=[y[0]];let k=0;for(;k{if(u.scopePath===void 0)throw new Error(`CodeGen: name "${u}" has no value`);return(0,e._)`${c}${u.scopePath}`})}scopeCode(c=this._values,h,u){return this._reduceValues(c,d=>{if(d.value===void 0)throw new Error(`CodeGen: name "${d}" has no value`);return d.value.code},h,u)}_reduceValues(c,h,u={},d){let p=e.nil;for(const m in c){const g=c[m];if(!g)continue;const v=u[m]=u[m]||new Map;g.forEach(y=>{if(v.has(y))return;v.set(y,s.Started);let w=h(y);if(w){const _=this.opts.es5?n.varKinds.var:n.varKinds.const;p=(0,e._)`${p}${_} ${y} = ${w};${this.opts._n}`}else if(w=d==null?void 0:d(y))p=(0,e._)`${p}${w}${this.opts._n}`;else throw new t(y);v.set(y,s.Completed)})}return p}}n.ValueScope=a})(sb);(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.or=n.and=n.not=n.CodeGen=n.operators=n.varKinds=n.ValueScopeName=n.ValueScope=n.Scope=n.Name=n.regexpCode=n.stringify=n.getProperty=n.nil=n.strConcat=n.str=n._=void 0;const e=Qd,t=sb;var s=Qd;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return s._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return s.str}}),Object.defineProperty(n,"strConcat",{enumerable:!0,get:function(){return s.strConcat}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return s.nil}}),Object.defineProperty(n,"getProperty",{enumerable:!0,get:function(){return s.getProperty}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return s.stringify}}),Object.defineProperty(n,"regexpCode",{enumerable:!0,get:function(){return s.regexpCode}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return s.Name}});var i=sb;Object.defineProperty(n,"Scope",{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(n,"ValueScope",{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(n,"ValueScopeName",{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(n,"varKinds",{enumerable:!0,get:function(){return i.varKinds}}),n.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class r{optimizeNodes(){return this}optimizeNames(b,x){return this}}class o extends r{constructor(b,x,I){super(),this.varKind=b,this.name=x,this.rhs=I}render({es5:b,_n:x}){const I=b?t.varKinds.var:this.varKind,V=this.rhs===void 0?"":` = ${this.rhs}`;return`${I} ${this.name}${V};`+x}optimizeNames(b,x){if(b[this.name.str])return this.rhs&&(this.rhs=D(this.rhs,b,x)),this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class a extends r{constructor(b,x,I){super(),this.lhs=b,this.rhs=x,this.sideEffects=I}render({_n:b}){return`${this.lhs} = ${this.rhs};`+b}optimizeNames(b,x){if(!(this.lhs instanceof e.Name&&!b[this.lhs.str]&&!this.sideEffects))return this.rhs=D(this.rhs,b,x),this}get names(){const b=this.lhs instanceof e.Name?{}:{...this.lhs.names};return K(b,this.rhs)}}class l extends a{constructor(b,x,I,V){super(b,I,V),this.op=x}render({_n:b}){return`${this.lhs} ${this.op}= ${this.rhs};`+b}}class c extends r{constructor(b){super(),this.label=b,this.names={}}render({_n:b}){return`${this.label}:`+b}}class h extends r{constructor(b){super(),this.label=b,this.names={}}render({_n:b}){return`break${this.label?` ${this.label}`:""};`+b}}class u extends r{constructor(b){super(),this.error=b}render({_n:b}){return`throw ${this.error};`+b}get names(){return this.error.names}}class d extends r{constructor(b){super(),this.code=b}render({_n:b}){return`${this.code};`+b}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(b,x){return this.code=D(this.code,b,x),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class p extends r{constructor(b=[]){super(),this.nodes=b}render(b){return this.nodes.reduce((x,I)=>x+I.render(b),"")}optimizeNodes(){const{nodes:b}=this;let x=b.length;for(;x--;){const I=b[x].optimizeNodes();Array.isArray(I)?b.splice(x,1,...I):I?b[x]=I:b.splice(x,1)}return b.length>0?this:void 0}optimizeNames(b,x){const{nodes:I}=this;let V=I.length;for(;V--;){const Z=I[V];Z.optimizeNames(b,x)||(Q(b,Z.names),I.splice(V,1))}return I.length>0?this:void 0}get names(){return this.nodes.reduce((b,x)=>z(b,x.names),{})}}class m extends p{render(b){return"{"+b._n+super.render(b)+"}"+b._n}}class g extends p{}class v extends m{}v.kind="else";class y extends m{constructor(b,x){super(x),this.condition=b}render(b){let x=`if(${this.condition})`+super.render(b);return this.else&&(x+="else "+this.else.render(b)),x}optimizeNodes(){super.optimizeNodes();const b=this.condition;if(b===!0)return this.nodes;let x=this.else;if(x){const I=x.optimizeNodes();x=this.else=Array.isArray(I)?new v(I):I}if(x)return b===!1?x instanceof y?x:x.nodes:this.nodes.length?this:new y(X(b),x instanceof y?[x]:x.nodes);if(!(b===!1||!this.nodes.length))return this}optimizeNames(b,x){var I;if(this.else=(I=this.else)===null||I===void 0?void 0:I.optimizeNames(b,x),!!(super.optimizeNames(b,x)||this.else))return this.condition=D(this.condition,b,x),this}get names(){const b=super.names;return K(b,this.condition),this.else&&z(b,this.else.names),b}}y.kind="if";class w extends m{}w.kind="for";class _ extends w{constructor(b){super(),this.iteration=b}render(b){return`for(${this.iteration})`+super.render(b)}optimizeNames(b,x){if(super.optimizeNames(b,x))return this.iteration=D(this.iteration,b,x),this}get names(){return z(super.names,this.iteration.names)}}class k extends w{constructor(b,x,I,V){super(),this.varKind=b,this.name=x,this.from=I,this.to=V}render(b){const x=b.es5?t.varKinds.var:this.varKind,{name:I,from:V,to:Z}=this;return`for(${x} ${I}=${V}; ${I}<${Z}; ${I}++)`+super.render(b)}get names(){const b=K(super.names,this.from);return K(b,this.to)}}class A extends w{constructor(b,x,I,V){super(),this.loop=b,this.varKind=x,this.name=I,this.iterable=V}render(b){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(b)}optimizeNames(b,x){if(super.optimizeNames(b,x))return this.iterable=D(this.iterable,b,x),this}get names(){return z(super.names,this.iterable.names)}}class $ extends m{constructor(b,x,I){super(),this.name=b,this.args=x,this.async=I}render(b){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(b)}}$.kind="func";class E extends p{render(b){return"return "+super.render(b)}}E.kind="return";class O extends m{render(b){let x="try"+super.render(b);return this.catch&&(x+=this.catch.render(b)),this.finally&&(x+=this.finally.render(b)),x}optimizeNodes(){var b,x;return super.optimizeNodes(),(b=this.catch)===null||b===void 0||b.optimizeNodes(),(x=this.finally)===null||x===void 0||x.optimizeNodes(),this}optimizeNames(b,x){var I,V;return super.optimizeNames(b,x),(I=this.catch)===null||I===void 0||I.optimizeNames(b,x),(V=this.finally)===null||V===void 0||V.optimizeNames(b,x),this}get names(){const b=super.names;return this.catch&&z(b,this.catch.names),this.finally&&z(b,this.finally.names),b}}class F extends m{constructor(b){super(),this.error=b}render(b){return`catch(${this.error})`+super.render(b)}}F.kind="catch";class B extends m{render(b){return"finally"+super.render(b)}}B.kind="finally";class L{constructor(b,x={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...x,_n:x.lines?` +`:""},this._extScope=b,this._scope=new t.Scope({parent:b}),this._nodes=[new g]}toString(){return this._root.render(this.opts)}name(b){return this._scope.name(b)}scopeName(b){return this._extScope.name(b)}scopeValue(b,x){const I=this._extScope.value(b,x);return(this._values[I.prefix]||(this._values[I.prefix]=new Set)).add(I),I}getScopeValue(b,x){return this._extScope.getValue(b,x)}scopeRefs(b){return this._extScope.scopeRefs(b,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(b,x,I,V){const Z=this._scope.toName(x);return I!==void 0&&V&&(this._constants[Z.str]=I),this._leafNode(new o(b,Z,I)),Z}const(b,x,I){return this._def(t.varKinds.const,b,x,I)}let(b,x,I){return this._def(t.varKinds.let,b,x,I)}var(b,x,I){return this._def(t.varKinds.var,b,x,I)}assign(b,x,I){return this._leafNode(new a(b,x,I))}add(b,x){return this._leafNode(new l(b,n.operators.ADD,x))}code(b){return typeof b=="function"?b():b!==e.nil&&this._leafNode(new d(b)),this}object(...b){const x=["{"];for(const[I,V]of b)x.length>1&&x.push(","),x.push(I),(I!==V||this.opts.es5)&&(x.push(":"),(0,e.addCodeArg)(x,V));return x.push("}"),new e._Code(x)}if(b,x,I){if(this._blockNode(new y(b)),x&&I)this.code(x).else().code(I).endIf();else if(x)this.code(x).endIf();else if(I)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(b){return this._elseNode(new y(b))}else(){return this._elseNode(new v)}endIf(){return this._endBlockNode(y,v)}_for(b,x){return this._blockNode(b),x&&this.code(x).endFor(),this}for(b,x){return this._for(new _(b),x)}forRange(b,x,I,V,Z=this.opts.es5?t.varKinds.var:t.varKinds.let){const ae=this._scope.toName(b);return this._for(new k(Z,ae,x,I),()=>V(ae))}forOf(b,x,I,V=t.varKinds.const){const Z=this._scope.toName(b);if(this.opts.es5){const ae=x instanceof e.Name?x:this.var("_arr",x);return this.forRange("_i",0,(0,e._)`${ae}.length`,ne=>{this.var(Z,(0,e._)`${ae}[${ne}]`),I(Z)})}return this._for(new A("of",V,Z,x),()=>I(Z))}forIn(b,x,I,V=this.opts.es5?t.varKinds.var:t.varKinds.const){if(this.opts.ownProperties)return this.forOf(b,(0,e._)`Object.keys(${x})`,I);const Z=this._scope.toName(b);return this._for(new A("in",V,Z,x),()=>I(Z))}endFor(){return this._endBlockNode(w)}label(b){return this._leafNode(new c(b))}break(b){return this._leafNode(new h(b))}return(b){const x=new E;if(this._blockNode(x),this.code(b),x.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(E)}try(b,x,I){if(!x&&!I)throw new Error('CodeGen: "try" without "catch" and "finally"');const V=new O;if(this._blockNode(V),this.code(b),x){const Z=this.name("e");this._currNode=V.catch=new F(Z),x(Z)}return I&&(this._currNode=V.finally=new B,this.code(I)),this._endBlockNode(F,B)}throw(b){return this._leafNode(new u(b))}block(b,x){return this._blockStarts.push(this._nodes.length),b&&this.code(b).endBlock(x),this}endBlock(b){const x=this._blockStarts.pop();if(x===void 0)throw new Error("CodeGen: not in self-balancing block");const I=this._nodes.length-x;if(I<0||b!==void 0&&I!==b)throw new Error(`CodeGen: wrong number of nodes: ${I} vs ${b} expected`);return this._nodes.length=x,this}func(b,x=e.nil,I,V){return this._blockNode(new $(b,x,I)),V&&this.code(V).endFunc(),this}endFunc(){return this._endBlockNode($)}optimize(b=1){for(;b-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(b){return this._currNode.nodes.push(b),this}_blockNode(b){this._currNode.nodes.push(b),this._nodes.push(b)}_endBlockNode(b,x){const I=this._currNode;if(I instanceof b||x&&I instanceof x)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${x?`${b.kind}/${x.kind}`:b.kind}"`)}_elseNode(b){const x=this._currNode;if(!(x instanceof y))throw new Error('CodeGen: "else" without "if"');return this._currNode=x.else=b,this}get _root(){return this._nodes[0]}get _currNode(){const b=this._nodes;return b[b.length-1]}set _currNode(b){const x=this._nodes;x[x.length-1]=b}}n.CodeGen=L;function z(M,b){for(const x in b)M[x]=(M[x]||0)+(b[x]||0);return M}function K(M,b){return b instanceof e._CodeOrName?z(M,b.names):M}function D(M,b,x){if(M instanceof e.Name)return I(M);if(!V(M))return M;return new e._Code(M._items.reduce((Z,ae)=>(ae instanceof e.Name&&(ae=I(ae)),ae instanceof e._Code?Z.push(...ae._items):Z.push(ae),Z),[]));function I(Z){const ae=x[Z.str];return ae===void 0||b[Z.str]!==1?Z:(delete b[Z.str],ae)}function V(Z){return Z instanceof e._Code&&Z._items.some(ae=>ae instanceof e.Name&&b[ae.str]===1&&x[ae.str]!==void 0)}}function Q(M,b){for(const x in b)M[x]=(M[x]||0)-(b[x]||0)}function X(M){return typeof M=="boolean"||typeof M=="number"||M===null?!M:(0,e._)`!${N(M)}`}n.not=X;const J=P(n.operators.AND);function se(...M){return M.reduce(J)}n.and=se;const de=P(n.operators.OR);function H(...M){return M.reduce(de)}n.or=H;function P(M){return(b,x)=>b===e.nil?x:x===e.nil?b:(0,e._)`${N(b)} ${M} ${N(x)}`}function N(M){return M instanceof e.Name?M:(0,e._)`(${M})`}})(He);var pe={};Object.defineProperty(pe,"__esModule",{value:!0});pe.checkStrictMode=pe.getErrorPath=pe.Type=pe.useFunc=pe.setEvaluated=pe.evaluatedPropsToName=pe.mergeEvaluated=pe.eachItem=pe.unescapeJsonPointer=pe.escapeJsonPointer=pe.escapeFragment=pe.unescapeFragment=pe.schemaRefOrVal=pe.schemaHasRulesButRef=pe.schemaHasRules=pe.checkUnknownRules=pe.alwaysValidSchema=pe.toHash=void 0;const yt=He,cW=Qd;function hW(n){const e={};for(const t of n)e[t]=!0;return e}pe.toHash=hW;function uW(n,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(KT(n,e),!ZT(e,n.self.RULES.all))}pe.alwaysValidSchema=uW;function KT(n,e=n.schema){const{opts:t,self:s}=n;if(!t.strictSchema||typeof e=="boolean")return;const i=s.RULES.keywords;for(const r in e)i[r]||JT(n,`unknown keyword: "${r}"`)}pe.checkUnknownRules=KT;function ZT(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(e[t])return!0;return!1}pe.schemaHasRules=ZT;function dW(n,e){if(typeof n=="boolean")return!n;for(const t in n)if(t!=="$ref"&&e.all[t])return!0;return!1}pe.schemaHasRulesButRef=dW;function fW({topSchemaRef:n,schemaPath:e},t,s,i){if(!i){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,yt._)`${t}`}return(0,yt._)`${n}${e}${(0,yt.getProperty)(s)}`}pe.schemaRefOrVal=fW;function pW(n){return XT(decodeURIComponent(n))}pe.unescapeFragment=pW;function mW(n){return encodeURIComponent(f1(n))}pe.escapeFragment=mW;function f1(n){return typeof n=="number"?`${n}`:n.replace(/~/g,"~0").replace(/\//g,"~1")}pe.escapeJsonPointer=f1;function XT(n){return n.replace(/~1/g,"/").replace(/~0/g,"~")}pe.unescapeJsonPointer=XT;function gW(n,e){if(Array.isArray(n))for(const t of n)e(t);else e(n)}pe.eachItem=gW;function Xk({mergeNames:n,mergeToName:e,mergeValues:t,resultToName:s}){return(i,r,o,a)=>{const l=o===void 0?r:o instanceof yt.Name?(r instanceof yt.Name?n(i,r,o):e(i,r,o),o):r instanceof yt.Name?(e(i,o,r),r):t(r,o);return a===yt.Name&&!(l instanceof yt.Name)?s(i,l):l}}pe.mergeEvaluated={props:Xk({mergeNames:(n,e,t)=>n.if((0,yt._)`${t} !== true && ${e} !== undefined`,()=>{n.if((0,yt._)`${e} === true`,()=>n.assign(t,!0),()=>n.assign(t,(0,yt._)`${t} || {}`).code((0,yt._)`Object.assign(${t}, ${e})`))}),mergeToName:(n,e,t)=>n.if((0,yt._)`${t} !== true`,()=>{e===!0?n.assign(t,!0):(n.assign(t,(0,yt._)`${t} || {}`),p1(n,t,e))}),mergeValues:(n,e)=>n===!0?!0:{...n,...e},resultToName:YT}),items:Xk({mergeNames:(n,e,t)=>n.if((0,yt._)`${t} !== true && ${e} !== undefined`,()=>n.assign(t,(0,yt._)`${e} === true ? true : ${t} > ${e} ? ${t} : ${e}`)),mergeToName:(n,e,t)=>n.if((0,yt._)`${t} !== true`,()=>n.assign(t,e===!0?!0:(0,yt._)`${t} > ${e} ? ${t} : ${e}`)),mergeValues:(n,e)=>n===!0?!0:Math.max(n,e),resultToName:(n,e)=>n.var("items",e)})};function YT(n,e){if(e===!0)return n.var("props",!0);const t=n.var("props",(0,yt._)`{}`);return e!==void 0&&p1(n,t,e),t}pe.evaluatedPropsToName=YT;function p1(n,e,t){Object.keys(t).forEach(s=>n.assign((0,yt._)`${e}${(0,yt.getProperty)(s)}`,!0))}pe.setEvaluated=p1;const Yk={};function yW(n,e){return n.scopeValue("func",{ref:e,code:Yk[e.code]||(Yk[e.code]=new cW._Code(e.code))})}pe.useFunc=yW;var ib;(function(n){n[n.Num=0]="Num",n[n.Str=1]="Str"})(ib||(pe.Type=ib={}));function vW(n,e,t){if(n instanceof yt.Name){const s=e===ib.Num;return t?s?(0,yt._)`"[" + ${n} + "]"`:(0,yt._)`"['" + ${n} + "']"`:s?(0,yt._)`"/" + ${n}`:(0,yt._)`"/" + ${n}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,yt.getProperty)(n).toString():"/"+f1(n)}pe.getErrorPath=vW;function JT(n,e,t=n.opts.strictSchema){if(t){if(e=`strict mode: ${e}`,t===!0)throw new Error(e);n.self.logger.warn(e)}}pe.checkStrictMode=JT;var Fr={};Object.defineProperty(Fr,"__esModule",{value:!0});const es=He,bW={data:new es.Name("data"),valCxt:new es.Name("valCxt"),instancePath:new es.Name("instancePath"),parentData:new es.Name("parentData"),parentDataProperty:new es.Name("parentDataProperty"),rootData:new es.Name("rootData"),dynamicAnchors:new es.Name("dynamicAnchors"),vErrors:new es.Name("vErrors"),errors:new es.Name("errors"),this:new es.Name("this"),self:new es.Name("self"),scope:new es.Name("scope"),json:new es.Name("json"),jsonPos:new es.Name("jsonPos"),jsonLen:new es.Name("jsonLen"),jsonPart:new es.Name("jsonPart")};Fr.default=bW;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.extendErrors=n.resetErrorsCount=n.reportExtraError=n.reportError=n.keyword$DataError=n.keywordError=void 0;const e=He,t=pe,s=Fr;n.keywordError={message:({keyword:v})=>(0,e.str)`must pass "${v}" keyword validation`},n.keyword$DataError={message:({keyword:v,schemaType:y})=>y?(0,e.str)`"${v}" keyword must be ${y} ($data)`:(0,e.str)`"${v}" keyword is invalid ($data)`};function i(v,y=n.keywordError,w,_){const{it:k}=v,{gen:A,compositeRule:$,allErrors:E}=k,O=u(v,y,w);_??($||E)?l(A,O):c(k,(0,e._)`[${O}]`)}n.reportError=i;function r(v,y=n.keywordError,w){const{it:_}=v,{gen:k,compositeRule:A,allErrors:$}=_,E=u(v,y,w);l(k,E),A||$||c(_,s.default.vErrors)}n.reportExtraError=r;function o(v,y){v.assign(s.default.errors,y),v.if((0,e._)`${s.default.vErrors} !== null`,()=>v.if(y,()=>v.assign((0,e._)`${s.default.vErrors}.length`,y),()=>v.assign(s.default.vErrors,null)))}n.resetErrorsCount=o;function a({gen:v,keyword:y,schemaValue:w,data:_,errsCount:k,it:A}){if(k===void 0)throw new Error("ajv implementation error");const $=v.name("err");v.forRange("i",k,s.default.errors,E=>{v.const($,(0,e._)`${s.default.vErrors}[${E}]`),v.if((0,e._)`${$}.instancePath === undefined`,()=>v.assign((0,e._)`${$}.instancePath`,(0,e.strConcat)(s.default.instancePath,A.errorPath))),v.assign((0,e._)`${$}.schemaPath`,(0,e.str)`${A.errSchemaPath}/${y}`),A.opts.verbose&&(v.assign((0,e._)`${$}.schema`,w),v.assign((0,e._)`${$}.data`,_))})}n.extendErrors=a;function l(v,y){const w=v.const("err",y);v.if((0,e._)`${s.default.vErrors} === null`,()=>v.assign(s.default.vErrors,(0,e._)`[${w}]`),(0,e._)`${s.default.vErrors}.push(${w})`),v.code((0,e._)`${s.default.errors}++`)}function c(v,y){const{gen:w,validateName:_,schemaEnv:k}=v;k.$async?w.throw((0,e._)`new ${v.ValidationError}(${y})`):(w.assign((0,e._)`${_}.errors`,y),w.return(!1))}const h={keyword:new e.Name("keyword"),schemaPath:new e.Name("schemaPath"),params:new e.Name("params"),propertyName:new e.Name("propertyName"),message:new e.Name("message"),schema:new e.Name("schema"),parentSchema:new e.Name("parentSchema")};function u(v,y,w){const{createErrors:_}=v.it;return _===!1?(0,e._)`{}`:d(v,y,w)}function d(v,y,w={}){const{gen:_,it:k}=v,A=[p(k,w),m(v,w)];return g(v,y,A),_.object(...A)}function p({errorPath:v},{instancePath:y}){const w=y?(0,e.str)`${v}${(0,t.getErrorPath)(y,t.Type.Str)}`:v;return[s.default.instancePath,(0,e.strConcat)(s.default.instancePath,w)]}function m({keyword:v,it:{errSchemaPath:y}},{schemaPath:w,parentSchema:_}){let k=_?y:(0,e.str)`${y}/${v}`;return w&&(k=(0,e.str)`${k}${(0,t.getErrorPath)(w,t.Type.Str)}`),[h.schemaPath,k]}function g(v,{params:y,message:w},_){const{keyword:k,data:A,schemaValue:$,it:E}=v,{opts:O,propertyName:F,topSchemaRef:B,schemaPath:L}=E;_.push([h.keyword,k],[h.params,typeof y=="function"?y(v):y||(0,e._)`{}`]),O.messages&&_.push([h.message,typeof w=="function"?w(v):w]),O.verbose&&_.push([h.schema,$],[h.parentSchema,(0,e._)`${B}${L}`],[s.default.data,A]),F&&_.push([h.propertyName,F])}})(zp);Object.defineProperty(wu,"__esModule",{value:!0});wu.boolOrEmptySchema=wu.topBoolOrEmptySchema=void 0;const wW=zp,_W=He,SW=Fr,AW={message:"boolean schema is false"};function kW(n){const{gen:e,schema:t,validateName:s}=n;t===!1?QT(n,!1):typeof t=="object"&&t.$async===!0?e.return(SW.default.data):(e.assign((0,_W._)`${s}.errors`,null),e.return(!0))}wu.topBoolOrEmptySchema=kW;function xW(n,e){const{gen:t,schema:s}=n;s===!1?(t.var(e,!1),QT(n)):t.var(e,!0)}wu.boolOrEmptySchema=xW;function QT(n,e){const{gen:t,data:s}=n,i={gen:t,keyword:"false schema",data:s,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:n};(0,wW.reportError)(i,AW,void 0,e)}var mn={},mc={};Object.defineProperty(mc,"__esModule",{value:!0});mc.getRules=mc.isJSONType=void 0;const EW=["string","number","integer","boolean","null","object","array"],CW=new Set(EW);function $W(n){return typeof n=="string"&&CW.has(n)}mc.isJSONType=$W;function TW(){const n={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...n,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},n.number,n.string,n.array,n.object],post:{rules:[]},all:{},keywords:{}}}mc.getRules=TW;var So={};Object.defineProperty(So,"__esModule",{value:!0});So.shouldUseRule=So.shouldUseGroup=So.schemaHasRulesForType=void 0;function PW({schema:n,self:e},t){const s=e.RULES.types[t];return s&&s!==!0&&eP(n,s)}So.schemaHasRulesForType=PW;function eP(n,e){return e.rules.some(t=>tP(n,t))}So.shouldUseGroup=eP;function tP(n,e){var t;return n[e.keyword]!==void 0||((t=e.definition.implements)===null||t===void 0?void 0:t.some(s=>n[s]!==void 0))}So.shouldUseRule=tP;Object.defineProperty(mn,"__esModule",{value:!0});mn.reportTypeError=mn.checkDataTypes=mn.checkDataType=mn.coerceAndCheckDataType=mn.getJSONTypes=mn.getSchemaTypes=mn.DataType=void 0;const RW=mc,MW=So,IW=zp,Le=He,nP=pe;var lh;(function(n){n[n.Correct=0]="Correct",n[n.Wrong=1]="Wrong"})(lh||(mn.DataType=lh={}));function OW(n){const e=sP(n.type);if(e.includes("null")){if(n.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!e.length&&n.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');n.nullable===!0&&e.push("null")}return e}mn.getSchemaTypes=OW;function sP(n){const e=Array.isArray(n)?n:n?[n]:[];if(e.every(RW.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}mn.getJSONTypes=sP;function NW(n,e){const{gen:t,data:s,opts:i}=n,r=LW(e,i.coerceTypes),o=e.length>0&&!(r.length===0&&e.length===1&&(0,MW.schemaHasRulesForType)(n,e[0]));if(o){const a=m1(e,s,i.strictNumbers,lh.Wrong);t.if(a,()=>{r.length?DW(n,e,r):g1(n)})}return o}mn.coerceAndCheckDataType=NW;const iP=new Set(["string","number","integer","boolean","null"]);function LW(n,e){return e?n.filter(t=>iP.has(t)||e==="array"&&t==="array"):[]}function DW(n,e,t){const{gen:s,data:i,opts:r}=n,o=s.let("dataType",(0,Le._)`typeof ${i}`),a=s.let("coerced",(0,Le._)`undefined`);r.coerceTypes==="array"&&s.if((0,Le._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>s.assign(i,(0,Le._)`${i}[0]`).assign(o,(0,Le._)`typeof ${i}`).if(m1(e,i,r.strictNumbers),()=>s.assign(a,i))),s.if((0,Le._)`${a} !== undefined`);for(const c of t)(iP.has(c)||c==="array"&&r.coerceTypes==="array")&&l(c);s.else(),g1(n),s.endIf(),s.if((0,Le._)`${a} !== undefined`,()=>{s.assign(i,a),FW(n,a)});function l(c){switch(c){case"string":s.elseIf((0,Le._)`${o} == "number" || ${o} == "boolean"`).assign(a,(0,Le._)`"" + ${i}`).elseIf((0,Le._)`${i} === null`).assign(a,(0,Le._)`""`);return;case"number":s.elseIf((0,Le._)`${o} == "boolean" || ${i} === null + || (${o} == "string" && ${i} && ${i} == +${i})`).assign(a,(0,Le._)`+${i}`);return;case"integer":s.elseIf((0,Le._)`${o} === "boolean" || ${i} === null + || (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(a,(0,Le._)`+${i}`);return;case"boolean":s.elseIf((0,Le._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(a,!1).elseIf((0,Le._)`${i} === "true" || ${i} === 1`).assign(a,!0);return;case"null":s.elseIf((0,Le._)`${i} === "" || ${i} === 0 || ${i} === false`),s.assign(a,null);return;case"array":s.elseIf((0,Le._)`${o} === "string" || ${o} === "number" + || ${o} === "boolean" || ${i} === null`).assign(a,(0,Le._)`[${i}]`)}}}function FW({gen:n,parentData:e,parentDataProperty:t},s){n.if((0,Le._)`${e} !== undefined`,()=>n.assign((0,Le._)`${e}[${t}]`,s))}function rb(n,e,t,s=lh.Correct){const i=s===lh.Correct?Le.operators.EQ:Le.operators.NEQ;let r;switch(n){case"null":return(0,Le._)`${e} ${i} null`;case"array":r=(0,Le._)`Array.isArray(${e})`;break;case"object":r=(0,Le._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":r=o((0,Le._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":r=o();break;default:return(0,Le._)`typeof ${e} ${i} ${n}`}return s===lh.Correct?r:(0,Le.not)(r);function o(a=Le.nil){return(0,Le.and)((0,Le._)`typeof ${e} == "number"`,a,t?(0,Le._)`isFinite(${e})`:Le.nil)}}mn.checkDataType=rb;function m1(n,e,t,s){if(n.length===1)return rb(n[0],e,t,s);let i;const r=(0,nP.toHash)(n);if(r.array&&r.object){const o=(0,Le._)`typeof ${e} != "object"`;i=r.null?o:(0,Le._)`!${e} || ${o}`,delete r.null,delete r.array,delete r.object}else i=Le.nil;r.number&&delete r.integer;for(const o in r)i=(0,Le.and)(i,rb(o,e,t,s));return i}mn.checkDataTypes=m1;const jW={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,Le._)`{type: ${n}}`:(0,Le._)`{type: ${e}}`};function g1(n){const e=zW(n);(0,IW.reportError)(e,jW)}mn.reportTypeError=g1;function zW(n){const{gen:e,data:t,schema:s}=n,i=(0,nP.schemaRefOrVal)(n,s,"type");return{gen:e,keyword:"type",data:t,schema:s.type,schemaCode:i,schemaValue:i,parentSchema:s,params:{},it:n}}var d0={};Object.defineProperty(d0,"__esModule",{value:!0});d0.assignDefaults=void 0;const Dc=He,HW=pe;function BW(n,e){const{properties:t,items:s}=n.schema;if(e==="object"&&t)for(const i in t)Jk(n,i,t[i].default);else e==="array"&&Array.isArray(s)&&s.forEach((i,r)=>Jk(n,r,i.default))}d0.assignDefaults=BW;function Jk(n,e,t){const{gen:s,compositeRule:i,data:r,opts:o}=n;if(t===void 0)return;const a=(0,Dc._)`${r}${(0,Dc.getProperty)(e)}`;if(i){(0,HW.checkStrictMode)(n,`default is ignored for: ${a}`);return}let l=(0,Dc._)`${a} === undefined`;o.useDefaults==="empty"&&(l=(0,Dc._)`${l} || ${a} === null || ${a} === ""`),s.if(l,(0,Dc._)`${a} = ${(0,Dc.stringify)(t)}`)}var Pr={},Ve={};Object.defineProperty(Ve,"__esModule",{value:!0});Ve.validateUnion=Ve.validateArray=Ve.usePattern=Ve.callValidateCode=Ve.schemaProperties=Ve.allSchemaProperties=Ve.noPropertyInData=Ve.propertyInData=Ve.isOwnProperty=Ve.hasPropFunc=Ve.reportMissingProp=Ve.checkMissingProp=Ve.checkReportMissingProp=void 0;const Ct=He,y1=pe,Oo=Fr,qW=pe;function UW(n,e){const{gen:t,data:s,it:i}=n;t.if(b1(t,s,e,i.opts.ownProperties),()=>{n.setParams({missingProperty:(0,Ct._)`${e}`},!0),n.error()})}Ve.checkReportMissingProp=UW;function VW({gen:n,data:e,it:{opts:t}},s,i){return(0,Ct.or)(...s.map(r=>(0,Ct.and)(b1(n,e,r,t.ownProperties),(0,Ct._)`${i} = ${r}`)))}Ve.checkMissingProp=VW;function WW(n,e){n.setParams({missingProperty:e},!0),n.error()}Ve.reportMissingProp=WW;function rP(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Ct._)`Object.prototype.hasOwnProperty`})}Ve.hasPropFunc=rP;function v1(n,e,t){return(0,Ct._)`${rP(n)}.call(${e}, ${t})`}Ve.isOwnProperty=v1;function GW(n,e,t,s){const i=(0,Ct._)`${e}${(0,Ct.getProperty)(t)} !== undefined`;return s?(0,Ct._)`${i} && ${v1(n,e,t)}`:i}Ve.propertyInData=GW;function b1(n,e,t,s){const i=(0,Ct._)`${e}${(0,Ct.getProperty)(t)} === undefined`;return s?(0,Ct.or)(i,(0,Ct.not)(v1(n,e,t))):i}Ve.noPropertyInData=b1;function oP(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}Ve.allSchemaProperties=oP;function KW(n,e){return oP(e).filter(t=>!(0,y1.alwaysValidSchema)(n,e[t]))}Ve.schemaProperties=KW;function ZW({schemaCode:n,data:e,it:{gen:t,topSchemaRef:s,schemaPath:i,errorPath:r},it:o},a,l,c){const h=c?(0,Ct._)`${n}, ${e}, ${s}${i}`:e,u=[[Oo.default.instancePath,(0,Ct.strConcat)(Oo.default.instancePath,r)],[Oo.default.parentData,o.parentData],[Oo.default.parentDataProperty,o.parentDataProperty],[Oo.default.rootData,Oo.default.rootData]];o.opts.dynamicRef&&u.push([Oo.default.dynamicAnchors,Oo.default.dynamicAnchors]);const d=(0,Ct._)`${h}, ${t.object(...u)}`;return l!==Ct.nil?(0,Ct._)`${a}.call(${l}, ${d})`:(0,Ct._)`${a}(${d})`}Ve.callValidateCode=ZW;const XW=(0,Ct._)`new RegExp`;function YW({gen:n,it:{opts:e}},t){const s=e.unicodeRegExp?"u":"",{regExp:i}=e.code,r=i(t,s);return n.scopeValue("pattern",{key:r.toString(),ref:r,code:(0,Ct._)`${i.code==="new RegExp"?XW:(0,qW.useFunc)(n,i)}(${t}, ${s})`})}Ve.usePattern=YW;function JW(n){const{gen:e,data:t,keyword:s,it:i}=n,r=e.name("valid");if(i.allErrors){const a=e.let("valid",!0);return o(()=>e.assign(a,!1)),a}return e.var(r,!0),o(()=>e.break()),r;function o(a){const l=e.const("len",(0,Ct._)`${t}.length`);e.forRange("i",0,l,c=>{n.subschema({keyword:s,dataProp:c,dataPropType:y1.Type.Num},r),e.if((0,Ct.not)(r),a)})}}Ve.validateArray=JW;function QW(n){const{gen:e,schema:t,keyword:s,it:i}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(t.some(l=>(0,y1.alwaysValidSchema)(i,l))&&!i.opts.unevaluated)return;const o=e.let("valid",!1),a=e.name("_valid");e.block(()=>t.forEach((l,c)=>{const h=n.subschema({keyword:s,schemaProp:c,compositeRule:!0},a);e.assign(o,(0,Ct._)`${o} || ${a}`),n.mergeValidEvaluated(h,a)||e.if((0,Ct.not)(o))})),n.result(o,()=>n.reset(),()=>n.error(!0))}Ve.validateUnion=QW;Object.defineProperty(Pr,"__esModule",{value:!0});Pr.validateKeywordUsage=Pr.validSchemaType=Pr.funcKeywordCode=Pr.macroKeywordCode=void 0;const vs=He,rl=Fr,e4=Ve,t4=zp;function n4(n,e){const{gen:t,keyword:s,schema:i,parentSchema:r,it:o}=n,a=e.macro.call(o.self,i,r,o),l=aP(t,s,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);const c=t.name("valid");n.subschema({schema:a,schemaPath:vs.nil,errSchemaPath:`${o.errSchemaPath}/${s}`,topSchemaRef:l,compositeRule:!0},c),n.pass(c,()=>n.error(!0))}Pr.macroKeywordCode=n4;function s4(n,e){var t;const{gen:s,keyword:i,schema:r,parentSchema:o,$data:a,it:l}=n;r4(l,e);const c=!a&&e.compile?e.compile.call(l.self,r,o,l):e.validate,h=aP(s,i,c),u=s.let("valid");n.block$data(u,d),n.ok((t=e.valid)!==null&&t!==void 0?t:u);function d(){if(e.errors===!1)g(),e.modifying&&Qk(n),v(()=>n.error());else{const y=e.async?p():m();e.modifying&&Qk(n),v(()=>i4(n,y))}}function p(){const y=s.let("ruleErrs",null);return s.try(()=>g((0,vs._)`await `),w=>s.assign(u,!1).if((0,vs._)`${w} instanceof ${l.ValidationError}`,()=>s.assign(y,(0,vs._)`${w}.errors`),()=>s.throw(w))),y}function m(){const y=(0,vs._)`${h}.errors`;return s.assign(y,null),g(vs.nil),y}function g(y=e.async?(0,vs._)`await `:vs.nil){const w=l.opts.passContext?rl.default.this:rl.default.self,_=!("compile"in e&&!a||e.schema===!1);s.assign(u,(0,vs._)`${y}${(0,e4.callValidateCode)(n,h,w,_)}`,e.modifying)}function v(y){var w;s.if((0,vs.not)((w=e.valid)!==null&&w!==void 0?w:u),y)}}Pr.funcKeywordCode=s4;function Qk(n){const{gen:e,data:t,it:s}=n;e.if(s.parentData,()=>e.assign(t,(0,vs._)`${s.parentData}[${s.parentDataProperty}]`))}function i4(n,e){const{gen:t}=n;t.if((0,vs._)`Array.isArray(${e})`,()=>{t.assign(rl.default.vErrors,(0,vs._)`${rl.default.vErrors} === null ? ${e} : ${rl.default.vErrors}.concat(${e})`).assign(rl.default.errors,(0,vs._)`${rl.default.vErrors}.length`),(0,t4.extendErrors)(n)},()=>n.error())}function r4({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function aP(n,e,t){if(t===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof t=="function"?{ref:t}:{ref:t,code:(0,vs.stringify)(t)})}function o4(n,e,t=!1){return!e.length||e.some(s=>s==="array"?Array.isArray(n):s==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==s||t&&typeof n>"u")}Pr.validSchemaType=o4;function a4({schema:n,opts:e,self:t,errSchemaPath:s},i,r){if(Array.isArray(i.keyword)?!i.keyword.includes(r):i.keyword!==r)throw new Error("ajv implementation error");const o=i.dependencies;if(o!=null&&o.some(a=>!Object.prototype.hasOwnProperty.call(n,a)))throw new Error(`parent schema must have dependencies of ${r}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(n[r])){const l=`keyword "${r}" value is invalid at path "${s}": `+t.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")t.logger.error(l);else throw new Error(l)}}Pr.validateKeywordUsage=a4;var xa={};Object.defineProperty(xa,"__esModule",{value:!0});xa.extendSubschemaMode=xa.extendSubschemaData=xa.getSubschema=void 0;const Er=He,lP=pe;function l4(n,{keyword:e,schemaProp:t,schema:s,schemaPath:i,errSchemaPath:r,topSchemaRef:o}){if(e!==void 0&&s!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){const a=n.schema[e];return t===void 0?{schema:a,schemaPath:(0,Er._)`${n.schemaPath}${(0,Er.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:a[t],schemaPath:(0,Er._)`${n.schemaPath}${(0,Er.getProperty)(e)}${(0,Er.getProperty)(t)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,lP.escapeFragment)(t)}`}}if(s!==void 0){if(i===void 0||r===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:s,schemaPath:i,topSchemaRef:o,errSchemaPath:r}}throw new Error('either "keyword" or "schema" must be passed')}xa.getSubschema=l4;function c4(n,e,{dataProp:t,dataPropType:s,data:i,dataTypes:r,propertyName:o}){if(i!==void 0&&t!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');const{gen:a}=e;if(t!==void 0){const{errorPath:c,dataPathArr:h,opts:u}=e,d=a.let("data",(0,Er._)`${e.data}${(0,Er.getProperty)(t)}`,!0);l(d),n.errorPath=(0,Er.str)`${c}${(0,lP.getErrorPath)(t,s,u.jsPropertySyntax)}`,n.parentDataProperty=(0,Er._)`${t}`,n.dataPathArr=[...h,n.parentDataProperty]}if(i!==void 0){const c=i instanceof Er.Name?i:a.let("data",i,!0);l(c),o!==void 0&&(n.propertyName=o)}r&&(n.dataTypes=r);function l(c){n.data=c,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,c]}}xa.extendSubschemaData=c4;function h4(n,{jtdDiscriminator:e,jtdMetadata:t,compositeRule:s,createErrors:i,allErrors:r}){s!==void 0&&(n.compositeRule=s),i!==void 0&&(n.createErrors=i),r!==void 0&&(n.allErrors=r),n.jtdDiscriminator=e,n.jtdMetadata=t}xa.extendSubschemaMode=h4;var Un={},cP={exports:{}},wa=cP.exports=function(n,e,t){typeof e=="function"&&(t=e,e={}),t=e.cb||t;var s=typeof t=="function"?t:t.pre||function(){},i=t.post||function(){};Zm(e,s,i,n,"",n)};wa.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};wa.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};wa.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};wa.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Zm(n,e,t,s,i,r,o,a,l,c){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,i,r,o,a,l,c);for(var h in s){var u=s[h];if(Array.isArray(u)){if(h in wa.arrayKeywords)for(var d=0;de+=hP(s)),e===1/0))return 1/0}return e}function uP(n,e="",t){t!==!1&&(e=ch(e));const s=n.parse(e);return dP(n,s)}Un.getFullPath=uP;function dP(n,e){return n.serialize(e).split("#")[0]+"#"}Un._getFullPath=dP;const b4=/#\/?$/;function ch(n){return n?n.replace(b4,""):""}Un.normalizeId=ch;function w4(n,e,t){return t=ch(t),n.resolve(e,t)}Un.resolveUrl=w4;const _4=/^[a-z_][-a-z0-9._]*$/i;function S4(n,e){if(typeof n=="boolean")return{};const{schemaId:t,uriResolver:s}=this.opts,i=ch(n[t]||e),r={"":i},o=uP(s,i,!1),a={},l=new Set;return m4(n,{allKeys:!0},(u,d,p,m)=>{if(m===void 0)return;const g=o+d;let v=r[m];typeof u[t]=="string"&&(v=y.call(this,u[t])),w.call(this,u.$anchor),w.call(this,u.$dynamicAnchor),r[d]=v;function y(_){const k=this.opts.uriResolver.resolve;if(_=ch(v?k(v,_):_),l.has(_))throw h(_);l.add(_);let A=this.refs[_];return typeof A=="string"&&(A=this.refs[A]),typeof A=="object"?c(u,A.schema,_):_!==ch(g)&&(_[0]==="#"?(c(u,a[_],_),a[_]=u):this.refs[_]=g),_}function w(_){if(typeof _=="string"){if(!_4.test(_))throw new Error(`invalid anchor "${_}"`);y.call(this,`#${_}`)}}}),a;function c(u,d,p){if(d!==void 0&&!p4(u,d))throw h(p)}function h(u){return new Error(`reference "${u}" resolves to more than one schema`)}}Un.getSchemaRefs=S4;Object.defineProperty(Yi,"__esModule",{value:!0});Yi.getData=Yi.KeywordCxt=Yi.validateFunctionCode=void 0;const fP=wu,ex=mn,w1=So,Zg=mn,A4=d0,Od=Pr,Y0=xa,we=He,Te=Fr,k4=Un,Ao=pe,Ku=zp;function x4(n){if(gP(n)&&(yP(n),mP(n))){$4(n);return}pP(n,()=>(0,fP.topBoolOrEmptySchema)(n))}Yi.validateFunctionCode=x4;function pP({gen:n,validateName:e,schema:t,schemaEnv:s,opts:i},r){i.code.es5?n.func(e,(0,we._)`${Te.default.data}, ${Te.default.valCxt}`,s.$async,()=>{n.code((0,we._)`"use strict"; ${tx(t,i)}`),C4(n,i),n.code(r)}):n.func(e,(0,we._)`${Te.default.data}, ${E4(i)}`,s.$async,()=>n.code(tx(t,i)).code(r))}function E4(n){return(0,we._)`{${Te.default.instancePath}="", ${Te.default.parentData}, ${Te.default.parentDataProperty}, ${Te.default.rootData}=${Te.default.data}${n.dynamicRef?(0,we._)`, ${Te.default.dynamicAnchors}={}`:we.nil}}={}`}function C4(n,e){n.if(Te.default.valCxt,()=>{n.var(Te.default.instancePath,(0,we._)`${Te.default.valCxt}.${Te.default.instancePath}`),n.var(Te.default.parentData,(0,we._)`${Te.default.valCxt}.${Te.default.parentData}`),n.var(Te.default.parentDataProperty,(0,we._)`${Te.default.valCxt}.${Te.default.parentDataProperty}`),n.var(Te.default.rootData,(0,we._)`${Te.default.valCxt}.${Te.default.rootData}`),e.dynamicRef&&n.var(Te.default.dynamicAnchors,(0,we._)`${Te.default.valCxt}.${Te.default.dynamicAnchors}`)},()=>{n.var(Te.default.instancePath,(0,we._)`""`),n.var(Te.default.parentData,(0,we._)`undefined`),n.var(Te.default.parentDataProperty,(0,we._)`undefined`),n.var(Te.default.rootData,Te.default.data),e.dynamicRef&&n.var(Te.default.dynamicAnchors,(0,we._)`{}`)})}function $4(n){const{schema:e,opts:t,gen:s}=n;pP(n,()=>{t.$comment&&e.$comment&&bP(n),I4(n),s.let(Te.default.vErrors,null),s.let(Te.default.errors,0),t.unevaluated&&T4(n),vP(n),L4(n)})}function T4(n){const{gen:e,validateName:t}=n;n.evaluated=e.const("evaluated",(0,we._)`${t}.evaluated`),e.if((0,we._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,we._)`${n.evaluated}.props`,(0,we._)`undefined`)),e.if((0,we._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,we._)`${n.evaluated}.items`,(0,we._)`undefined`))}function tx(n,e){const t=typeof n=="object"&&n[e.schemaId];return t&&(e.code.source||e.code.process)?(0,we._)`/*# sourceURL=${t} */`:we.nil}function P4(n,e){if(gP(n)&&(yP(n),mP(n))){R4(n,e);return}(0,fP.boolOrEmptySchema)(n,e)}function mP({schema:n,self:e}){if(typeof n=="boolean")return!n;for(const t in n)if(e.RULES.all[t])return!0;return!1}function gP(n){return typeof n.schema!="boolean"}function R4(n,e){const{schema:t,gen:s,opts:i}=n;i.$comment&&t.$comment&&bP(n),O4(n),N4(n);const r=s.const("_errs",Te.default.errors);vP(n,r),s.var(e,(0,we._)`${r} === ${Te.default.errors}`)}function yP(n){(0,Ao.checkUnknownRules)(n),M4(n)}function vP(n,e){if(n.opts.jtd)return nx(n,[],!1,e);const t=(0,ex.getSchemaTypes)(n.schema),s=(0,ex.coerceAndCheckDataType)(n,t);nx(n,t,!s,e)}function M4(n){const{schema:e,errSchemaPath:t,opts:s,self:i}=n;e.$ref&&s.ignoreKeywordsWithRef&&(0,Ao.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${t}"`)}function I4(n){const{schema:e,opts:t}=n;e.default!==void 0&&t.useDefaults&&t.strictSchema&&(0,Ao.checkStrictMode)(n,"default is ignored in the schema root")}function O4(n){const e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,k4.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function N4(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function bP({gen:n,schemaEnv:e,schema:t,errSchemaPath:s,opts:i}){const r=t.$comment;if(i.$comment===!0)n.code((0,we._)`${Te.default.self}.logger.log(${r})`);else if(typeof i.$comment=="function"){const o=(0,we.str)`${s}/$comment`,a=n.scopeValue("root",{ref:e.root});n.code((0,we._)`${Te.default.self}.opts.$comment(${r}, ${o}, ${a}.schema)`)}}function L4(n){const{gen:e,schemaEnv:t,validateName:s,ValidationError:i,opts:r}=n;t.$async?e.if((0,we._)`${Te.default.errors} === 0`,()=>e.return(Te.default.data),()=>e.throw((0,we._)`new ${i}(${Te.default.vErrors})`)):(e.assign((0,we._)`${s}.errors`,Te.default.vErrors),r.unevaluated&&D4(n),e.return((0,we._)`${Te.default.errors} === 0`))}function D4({gen:n,evaluated:e,props:t,items:s}){t instanceof we.Name&&n.assign((0,we._)`${e}.props`,t),s instanceof we.Name&&n.assign((0,we._)`${e}.items`,s)}function nx(n,e,t,s){const{gen:i,schema:r,data:o,allErrors:a,opts:l,self:c}=n,{RULES:h}=c;if(r.$ref&&(l.ignoreKeywordsWithRef||!(0,Ao.schemaHasRulesButRef)(r,h))){i.block(()=>SP(n,"$ref",h.all.$ref.definition));return}l.jtd||F4(n,e),i.block(()=>{for(const d of h.rules)u(d);u(h.post)});function u(d){(0,w1.shouldUseGroup)(r,d)&&(d.type?(i.if((0,Zg.checkDataType)(d.type,o,l.strictNumbers)),sx(n,d),e.length===1&&e[0]===d.type&&t&&(i.else(),(0,Zg.reportTypeError)(n)),i.endIf()):sx(n,d),a||i.if((0,we._)`${Te.default.errors} === ${s||0}`))}}function sx(n,e){const{gen:t,schema:s,opts:{useDefaults:i}}=n;i&&(0,A4.assignDefaults)(n,e.type),t.block(()=>{for(const r of e.rules)(0,w1.shouldUseRule)(s,r)&&SP(n,r.keyword,r.definition,e.type)})}function F4(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(j4(n,e),n.opts.allowUnionTypes||z4(n,e),H4(n,n.dataTypes))}function j4(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(t=>{wP(n.dataTypes,t)||_1(n,`type "${t}" not allowed by context "${n.dataTypes.join(",")}"`)}),q4(n,e)}}function z4(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&_1(n,"use allowUnionTypes to allow union type keyword")}function H4(n,e){const t=n.self.RULES.all;for(const s in t){const i=t[s];if(typeof i=="object"&&(0,w1.shouldUseRule)(n.schema,i)){const{type:r}=i.definition;r.length&&!r.some(o=>B4(e,o))&&_1(n,`missing type "${r.join(",")}" for keyword "${s}"`)}}}function B4(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function wP(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function q4(n,e){const t=[];for(const s of n.dataTypes)wP(e,s)?t.push(s):e.includes("integer")&&s==="number"&&t.push("integer");n.dataTypes=t}function _1(n,e){const t=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${t}" (strictTypes)`,(0,Ao.checkStrictMode)(n,e,n.opts.strictTypes)}class _P{constructor(e,t,s){if((0,Od.validateKeywordUsage)(e,t,s),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=s,this.data=e.data,this.schema=e.schema[s],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Ao.schemaRefOrVal)(e,this.schema,s,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",AP(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Od.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${s} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:t.errors!==!1)&&(this.errsCount=e.gen.const("_errs",Te.default.errors))}result(e,t,s){this.failResult((0,we.not)(e),t,s)}failResult(e,t,s){this.gen.if(e),s?s():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,we.not)(e),void 0,t)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail((0,we._)`${t} !== undefined && (${(0,we.or)(this.invalid$data(),e)})`)}error(e,t,s){if(t){this.setParams(t),this._error(e,s),this.setParams({});return}this._error(e,s)}_error(e,t){(e?Ku.reportExtraError:Ku.reportError)(this,this.def.error,t)}$dataError(){(0,Ku.reportError)(this,this.def.$dataError||Ku.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Ku.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,s=we.nil){this.gen.block(()=>{this.check$data(e,s),t()})}check$data(e=we.nil,t=we.nil){if(!this.$data)return;const{gen:s,schemaCode:i,schemaType:r,def:o}=this;s.if((0,we.or)((0,we._)`${i} === undefined`,t)),e!==we.nil&&s.assign(e,!0),(r.length||o.validateSchema)&&(s.elseIf(this.invalid$data()),this.$dataError(),e!==we.nil&&s.assign(e,!1)),s.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:s,def:i,it:r}=this;return(0,we.or)(o(),a());function o(){if(s.length){if(!(t instanceof we.Name))throw new Error("ajv implementation error");const l=Array.isArray(s)?s:[s];return(0,we._)`${(0,Zg.checkDataTypes)(l,t,r.opts.strictNumbers,Zg.DataType.Wrong)}`}return we.nil}function a(){if(i.validateSchema){const l=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,we._)`!${l}(${t})`}return we.nil}}subschema(e,t){const s=(0,Y0.getSubschema)(this.it,e);(0,Y0.extendSubschemaData)(s,this.it,e),(0,Y0.extendSubschemaMode)(s,e);const i={...this.it,...s,items:void 0,props:void 0};return P4(i,t),i}mergeEvaluated(e,t){const{it:s,gen:i}=this;s.opts.unevaluated&&(s.props!==!0&&e.props!==void 0&&(s.props=Ao.mergeEvaluated.props(i,e.props,s.props,t)),s.items!==!0&&e.items!==void 0&&(s.items=Ao.mergeEvaluated.items(i,e.items,s.items,t)))}mergeValidEvaluated(e,t){const{it:s,gen:i}=this;if(s.opts.unevaluated&&(s.props!==!0||s.items!==!0))return i.if(t,()=>this.mergeEvaluated(e,we.Name)),!0}}Yi.KeywordCxt=_P;function SP(n,e,t,s){const i=new _P(n,t,e);"code"in t?t.code(i,s):i.$data&&t.validate?(0,Od.funcKeywordCode)(i,t):"macro"in t?(0,Od.macroKeywordCode)(i,t):(t.compile||t.validate)&&(0,Od.funcKeywordCode)(i,t)}const U4=/^\/(?:[^~]|~0|~1)*$/,V4=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function AP(n,{dataLevel:e,dataNames:t,dataPathArr:s}){let i,r;if(n==="")return Te.default.rootData;if(n[0]==="/"){if(!U4.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);i=n,r=Te.default.rootData}else{const c=V4.exec(n);if(!c)throw new Error(`Invalid JSON-pointer: ${n}`);const h=+c[1];if(i=c[2],i==="#"){if(h>=e)throw new Error(l("property/index",h));return s[e-h]}if(h>e)throw new Error(l("data",h));if(r=t[e-h],!i)return r}let o=r;const a=i.split("/");for(const c of a)c&&(r=(0,we._)`${r}${(0,we.getProperty)((0,Ao.unescapeJsonPointer)(c))}`,o=(0,we._)`${o} && ${r}`);return o;function l(c,h){return`Cannot access ${c} ${h} levels up, current level is ${e}`}}Yi.getData=AP;var Hp={};Object.defineProperty(Hp,"__esModule",{value:!0});class W4 extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}}Hp.default=W4;var Fu={};Object.defineProperty(Fu,"__esModule",{value:!0});const J0=Un;class G4 extends Error{constructor(e,t,s,i){super(i||`can't resolve reference ${s} from id ${t}`),this.missingRef=(0,J0.resolveUrl)(e,t,s),this.missingSchema=(0,J0.normalizeId)((0,J0.getFullPath)(e,this.missingRef))}}Fu.default=G4;var Ns={};Object.defineProperty(Ns,"__esModule",{value:!0});Ns.resolveSchema=Ns.getCompilingSchema=Ns.resolveRef=Ns.compileSchema=Ns.SchemaEnv=void 0;const Ci=He,K4=Hp,Va=Fr,Wi=Un,ix=pe,Z4=Yi;class f0{constructor(e){var t;this.refs={},this.dynamicAnchors={};let s;typeof e.schema=="object"&&(s=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(t=e.baseId)!==null&&t!==void 0?t:(0,Wi.normalizeId)(s==null?void 0:s[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=s==null?void 0:s.$async,this.refs={}}}Ns.SchemaEnv=f0;function S1(n){const e=kP.call(this,n);if(e)return e;const t=(0,Wi.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:s,lines:i}=this.opts.code,{ownProperties:r}=this.opts,o=new Ci.CodeGen(this.scope,{es5:s,lines:i,ownProperties:r});let a;n.$async&&(a=o.scopeValue("Error",{ref:K4.default,code:(0,Ci._)`require("ajv/dist/runtime/validation_error").default`}));const l=o.scopeName("validate");n.validateName=l;const c={gen:o,allErrors:this.opts.allErrors,data:Va.default.data,parentData:Va.default.parentData,parentDataProperty:Va.default.parentDataProperty,dataNames:[Va.default.data],dataPathArr:[Ci.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,Ci.stringify)(n.schema)}:{ref:n.schema}),validateName:l,ValidationError:a,schema:n.schema,schemaEnv:n,rootId:t,baseId:n.baseId||t,schemaPath:Ci.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ci._)`""`,opts:this.opts,self:this};let h;try{this._compilations.add(n),(0,Z4.validateFunctionCode)(c),o.optimize(this.opts.code.optimize);const u=o.toString();h=`${o.scopeRefs(Va.default.scope)}return ${u}`,this.opts.code.process&&(h=this.opts.code.process(h,n));const p=new Function(`${Va.default.self}`,`${Va.default.scope}`,h)(this,this.scope.get());if(this.scope.value(l,{ref:p}),p.errors=null,p.schema=n.schema,p.schemaEnv=n,n.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:l,validateCode:u,scopeValues:o._values}),this.opts.unevaluated){const{props:m,items:g}=c;p.evaluated={props:m instanceof Ci.Name?void 0:m,items:g instanceof Ci.Name?void 0:g,dynamicProps:m instanceof Ci.Name,dynamicItems:g instanceof Ci.Name},p.source&&(p.source.evaluated=(0,Ci.stringify)(p.evaluated))}return n.validate=p,n}catch(u){throw delete n.validate,delete n.validateName,h&&this.logger.error("Error compiling schema, function code:",h),u}finally{this._compilations.delete(n)}}Ns.compileSchema=S1;function X4(n,e,t){var s;t=(0,Wi.resolveUrl)(this.opts.uriResolver,e,t);const i=n.refs[t];if(i)return i;let r=Q4.call(this,n,t);if(r===void 0){const o=(s=n.localRefs)===null||s===void 0?void 0:s[t],{schemaId:a}=this.opts;o&&(r=new f0({schema:o,schemaId:a,root:n,baseId:e}))}if(r!==void 0)return n.refs[t]=Y4.call(this,r)}Ns.resolveRef=X4;function Y4(n){return(0,Wi.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:S1.call(this,n)}function kP(n){for(const e of this._compilations)if(J4(e,n))return e}Ns.getCompilingSchema=kP;function J4(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function Q4(n,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||p0.call(this,n,e)}function p0(n,e){const t=this.opts.uriResolver.parse(e),s=(0,Wi._getFullPath)(this.opts.uriResolver,t);let i=(0,Wi.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&s===i)return Q0.call(this,t,n);const r=(0,Wi.normalizeId)(s),o=this.refs[r]||this.schemas[r];if(typeof o=="string"){const a=p0.call(this,n,o);return typeof(a==null?void 0:a.schema)!="object"?void 0:Q0.call(this,t,a)}if(typeof(o==null?void 0:o.schema)=="object"){if(o.validate||S1.call(this,o),r===(0,Wi.normalizeId)(e)){const{schema:a}=o,{schemaId:l}=this.opts,c=a[l];return c&&(i=(0,Wi.resolveUrl)(this.opts.uriResolver,i,c)),new f0({schema:a,schemaId:l,root:n,baseId:i})}return Q0.call(this,t,o)}}Ns.resolveSchema=p0;const e5=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Q0(n,{baseId:e,schema:t,root:s}){var i;if(((i=n.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(const a of n.fragment.slice(1).split("/")){if(typeof t=="boolean")return;const l=t[(0,ix.unescapeFragment)(a)];if(l===void 0)return;t=l;const c=typeof t=="object"&&t[this.opts.schemaId];!e5.has(a)&&c&&(e=(0,Wi.resolveUrl)(this.opts.uriResolver,e,c))}let r;if(typeof t!="boolean"&&t.$ref&&!(0,ix.schemaHasRulesButRef)(t,this.RULES)){const a=(0,Wi.resolveUrl)(this.opts.uriResolver,e,t.$ref);r=p0.call(this,s,a)}const{schemaId:o}=this.opts;if(r=r||new f0({schema:t,schemaId:o,root:s,baseId:e}),r.schema!==r.root.schema)return r}const t5="https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",n5="Meta-schema for $data reference (JSON AnySchema extension proposal)",s5="object",i5=["$data"],r5={$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},o5=!1,a5={$id:t5,description:n5,type:s5,required:i5,properties:r5,additionalProperties:o5};var A1={};Object.defineProperty(A1,"__esModule",{value:!0});const xP=NT;xP.code='require("ajv/dist/runtime/uri").default';A1.default=xP;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.CodeGen=n.Name=n.nil=n.stringify=n.str=n._=n.KeywordCxt=void 0;var e=Yi;Object.defineProperty(n,"KeywordCxt",{enumerable:!0,get:function(){return e.KeywordCxt}});var t=He;Object.defineProperty(n,"_",{enumerable:!0,get:function(){return t._}}),Object.defineProperty(n,"str",{enumerable:!0,get:function(){return t.str}}),Object.defineProperty(n,"stringify",{enumerable:!0,get:function(){return t.stringify}}),Object.defineProperty(n,"nil",{enumerable:!0,get:function(){return t.nil}}),Object.defineProperty(n,"Name",{enumerable:!0,get:function(){return t.Name}}),Object.defineProperty(n,"CodeGen",{enumerable:!0,get:function(){return t.CodeGen}});const s=Hp,i=Fu,r=mc,o=Ns,a=He,l=Un,c=mn,h=pe,u=a5,d=A1,p=(H,P)=>new RegExp(H,P);p.code="new RegExp";const m=["removeAdditional","useDefaults","coerceTypes"],g=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),v={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},y={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},w=200;function _(H){var P,N,M,b,x,I,V,Z,ae,ne,ke,kt,Ie,Ge,lt,tt,Jt,Pn,Rn,us,Mn,ds,Yn,Jn,In;const Qt=H.strict,an=(P=H.code)===null||P===void 0?void 0:P.optimize,ln=an===!0||an===void 0?1:an||0,en=(M=(N=H.code)===null||N===void 0?void 0:N.regExp)!==null&&M!==void 0?M:p,fs=(b=H.uriResolver)!==null&&b!==void 0?b:d.default;return{strictSchema:(I=(x=H.strictSchema)!==null&&x!==void 0?x:Qt)!==null&&I!==void 0?I:!0,strictNumbers:(Z=(V=H.strictNumbers)!==null&&V!==void 0?V:Qt)!==null&&Z!==void 0?Z:!0,strictTypes:(ne=(ae=H.strictTypes)!==null&&ae!==void 0?ae:Qt)!==null&&ne!==void 0?ne:"log",strictTuples:(kt=(ke=H.strictTuples)!==null&&ke!==void 0?ke:Qt)!==null&&kt!==void 0?kt:"log",strictRequired:(Ge=(Ie=H.strictRequired)!==null&&Ie!==void 0?Ie:Qt)!==null&&Ge!==void 0?Ge:!1,code:H.code?{...H.code,optimize:ln,regExp:en}:{optimize:ln,regExp:en},loopRequired:(lt=H.loopRequired)!==null&<!==void 0?lt:w,loopEnum:(tt=H.loopEnum)!==null&&tt!==void 0?tt:w,meta:(Jt=H.meta)!==null&&Jt!==void 0?Jt:!0,messages:(Pn=H.messages)!==null&&Pn!==void 0?Pn:!0,inlineRefs:(Rn=H.inlineRefs)!==null&&Rn!==void 0?Rn:!0,schemaId:(us=H.schemaId)!==null&&us!==void 0?us:"$id",addUsedSchema:(Mn=H.addUsedSchema)!==null&&Mn!==void 0?Mn:!0,validateSchema:(ds=H.validateSchema)!==null&&ds!==void 0?ds:!0,validateFormats:(Yn=H.validateFormats)!==null&&Yn!==void 0?Yn:!0,unicodeRegExp:(Jn=H.unicodeRegExp)!==null&&Jn!==void 0?Jn:!0,int32range:(In=H.int32range)!==null&&In!==void 0?In:!0,uriResolver:fs}}class k{constructor(P={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,P=this.opts={...P,..._(P)};const{es5:N,lines:M}=this.opts.code;this.scope=new a.ValueScope({scope:{},prefixes:g,es5:N,lines:M}),this.logger=z(P.logger);const b=P.validateFormats;P.validateFormats=!1,this.RULES=(0,r.getRules)(),A.call(this,v,P,"NOT SUPPORTED"),A.call(this,y,P,"DEPRECATED","warn"),this._metaOpts=B.call(this),P.formats&&O.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),P.keywords&&F.call(this,P.keywords),typeof P.meta=="object"&&this.addMetaSchema(P.meta),E.call(this),P.validateFormats=b}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:P,meta:N,schemaId:M}=this.opts;let b=u;M==="id"&&(b={...u},b.id=b.$id,delete b.$id),N&&P&&this.addMetaSchema(b,b[M],!1)}defaultMeta(){const{meta:P,schemaId:N}=this.opts;return this.opts.defaultMeta=typeof P=="object"?P[N]||P:void 0}validate(P,N){let M;if(typeof P=="string"){if(M=this.getSchema(P),!M)throw new Error(`no schema with key or ref "${P}"`)}else M=this.compile(P);const b=M(N);return"$async"in M||(this.errors=M.errors),b}compile(P,N){const M=this._addSchema(P,N);return M.validate||this._compileSchemaEnv(M)}compileAsync(P,N){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");const{loadSchema:M}=this.opts;return b.call(this,P,N);async function b(ne,ke){await x.call(this,ne.$schema);const kt=this._addSchema(ne,ke);return kt.validate||I.call(this,kt)}async function x(ne){ne&&!this.getSchema(ne)&&await b.call(this,{$ref:ne},!0)}async function I(ne){try{return this._compileSchemaEnv(ne)}catch(ke){if(!(ke instanceof i.default))throw ke;return V.call(this,ke),await Z.call(this,ke.missingSchema),I.call(this,ne)}}function V({missingSchema:ne,missingRef:ke}){if(this.refs[ne])throw new Error(`AnySchema ${ne} is loaded but ${ke} cannot be resolved`)}async function Z(ne){const ke=await ae.call(this,ne);this.refs[ne]||await x.call(this,ke.$schema),this.refs[ne]||this.addSchema(ke,ne,N)}async function ae(ne){const ke=this._loading[ne];if(ke)return ke;try{return await(this._loading[ne]=M(ne))}finally{delete this._loading[ne]}}}addSchema(P,N,M,b=this.opts.validateSchema){if(Array.isArray(P)){for(const I of P)this.addSchema(I,void 0,M,b);return this}let x;if(typeof P=="object"){const{schemaId:I}=this.opts;if(x=P[I],x!==void 0&&typeof x!="string")throw new Error(`schema ${I} must be string`)}return N=(0,l.normalizeId)(N||x),this._checkUnique(N),this.schemas[N]=this._addSchema(P,M,N,b,!0),this}addMetaSchema(P,N,M=this.opts.validateSchema){return this.addSchema(P,N,!0,M),this}validateSchema(P,N){if(typeof P=="boolean")return!0;let M;if(M=P.$schema,M!==void 0&&typeof M!="string")throw new Error("$schema must be a string");if(M=M||this.opts.defaultMeta||this.defaultMeta(),!M)return this.logger.warn("meta-schema not available"),this.errors=null,!0;const b=this.validate(M,P);if(!b&&N){const x="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(x);else throw new Error(x)}return b}getSchema(P){let N;for(;typeof(N=$.call(this,P))=="string";)P=N;if(N===void 0){const{schemaId:M}=this.opts,b=new o.SchemaEnv({schema:{},schemaId:M});if(N=o.resolveSchema.call(this,b,P),!N)return;this.refs[P]=N}return N.validate||this._compileSchemaEnv(N)}removeSchema(P){if(P instanceof RegExp)return this._removeAllSchemas(this.schemas,P),this._removeAllSchemas(this.refs,P),this;switch(typeof P){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{const N=$.call(this,P);return typeof N=="object"&&this._cache.delete(N.schema),delete this.schemas[P],delete this.refs[P],this}case"object":{const N=P;this._cache.delete(N);let M=P[this.opts.schemaId];return M&&(M=(0,l.normalizeId)(M),delete this.schemas[M],delete this.refs[M]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(P){for(const N of P)this.addKeyword(N);return this}addKeyword(P,N){let M;if(typeof P=="string")M=P,typeof N=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),N.keyword=M);else if(typeof P=="object"&&N===void 0){if(N=P,M=N.keyword,Array.isArray(M)&&!M.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(D.call(this,M,N),!N)return(0,h.eachItem)(M,x=>Q.call(this,x)),this;J.call(this,N);const b={...N,type:(0,c.getJSONTypes)(N.type),schemaType:(0,c.getJSONTypes)(N.schemaType)};return(0,h.eachItem)(M,b.type.length===0?x=>Q.call(this,x,b):x=>b.type.forEach(I=>Q.call(this,x,b,I))),this}getKeyword(P){const N=this.RULES.all[P];return typeof N=="object"?N.definition:!!N}removeKeyword(P){const{RULES:N}=this;delete N.keywords[P],delete N.all[P];for(const M of N.rules){const b=M.rules.findIndex(x=>x.keyword===P);b>=0&&M.rules.splice(b,1)}return this}addFormat(P,N){return typeof N=="string"&&(N=new RegExp(N)),this.formats[P]=N,this}errorsText(P=this.errors,{separator:N=", ",dataVar:M="data"}={}){return!P||P.length===0?"No errors":P.map(b=>`${M}${b.instancePath} ${b.message}`).reduce((b,x)=>b+N+x)}$dataMetaSchema(P,N){const M=this.RULES.all;P=JSON.parse(JSON.stringify(P));for(const b of N){const x=b.split("/").slice(1);let I=P;for(const V of x)I=I[V];for(const V in M){const Z=M[V];if(typeof Z!="object")continue;const{$data:ae}=Z.definition,ne=I[V];ae&&ne&&(I[V]=de(ne))}}return P}_removeAllSchemas(P,N){for(const M in P){const b=P[M];(!N||N.test(M))&&(typeof b=="string"?delete P[M]:b&&!b.meta&&(this._cache.delete(b.schema),delete P[M]))}}_addSchema(P,N,M,b=this.opts.validateSchema,x=this.opts.addUsedSchema){let I;const{schemaId:V}=this.opts;if(typeof P=="object")I=P[V];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof P!="boolean")throw new Error("schema must be object or boolean")}let Z=this._cache.get(P);if(Z!==void 0)return Z;M=(0,l.normalizeId)(I||M);const ae=l.getSchemaRefs.call(this,P,M);return Z=new o.SchemaEnv({schema:P,schemaId:V,meta:N,baseId:M,localRefs:ae}),this._cache.set(Z.schema,Z),x&&!M.startsWith("#")&&(M&&this._checkUnique(M),this.refs[M]=Z),b&&this.validateSchema(P,!0),Z}_checkUnique(P){if(this.schemas[P]||this.refs[P])throw new Error(`schema with key or id "${P}" already exists`)}_compileSchemaEnv(P){if(P.meta?this._compileMetaSchema(P):o.compileSchema.call(this,P),!P.validate)throw new Error("ajv implementation error");return P.validate}_compileMetaSchema(P){const N=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,P)}finally{this.opts=N}}}k.ValidationError=s.default,k.MissingRefError=i.default,n.default=k;function A(H,P,N,M="error"){for(const b in H){const x=b;x in P&&this.logger[M](`${N}: option ${b}. ${H[x]}`)}}function $(H){return H=(0,l.normalizeId)(H),this.schemas[H]||this.refs[H]}function E(){const H=this.opts.schemas;if(H)if(Array.isArray(H))this.addSchema(H);else for(const P in H)this.addSchema(H[P],P)}function O(){for(const H in this.opts.formats){const P=this.opts.formats[H];P&&this.addFormat(H,P)}}function F(H){if(Array.isArray(H)){this.addVocabulary(H);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const P in H){const N=H[P];N.keyword||(N.keyword=P),this.addKeyword(N)}}function B(){const H={...this.opts};for(const P of m)delete H[P];return H}const L={log(){},warn(){},error(){}};function z(H){if(H===!1)return L;if(H===void 0)return console;if(H.log&&H.warn&&H.error)return H;throw new Error("logger must implement log, warn and error methods")}const K=/^[a-z_$][a-z0-9_$:-]*$/i;function D(H,P){const{RULES:N}=this;if((0,h.eachItem)(H,M=>{if(N.keywords[M])throw new Error(`Keyword ${M} is already defined`);if(!K.test(M))throw new Error(`Keyword ${M} has invalid name`)}),!!P&&P.$data&&!("code"in P||"validate"in P))throw new Error('$data keyword must have "code" or "validate" function')}function Q(H,P,N){var M;const b=P==null?void 0:P.post;if(N&&b)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:x}=this;let I=b?x.post:x.rules.find(({type:Z})=>Z===N);if(I||(I={type:N,rules:[]},x.rules.push(I)),x.keywords[H]=!0,!P)return;const V={keyword:H,definition:{...P,type:(0,c.getJSONTypes)(P.type),schemaType:(0,c.getJSONTypes)(P.schemaType)}};P.before?X.call(this,I,V,P.before):I.rules.push(V),x.all[H]=V,(M=P.implements)===null||M===void 0||M.forEach(Z=>this.addKeyword(Z))}function X(H,P,N){const M=H.rules.findIndex(b=>b.keyword===N);M>=0?H.rules.splice(M,0,P):(H.rules.push(P),this.logger.warn(`rule ${N} is not defined`))}function J(H){let{metaSchema:P}=H;P!==void 0&&(H.$data&&this.opts.$data&&(P=de(P)),H.validateSchema=this.compile(P,!0))}const se={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function de(H){return{anyOf:[H,se]}}})(GT);var k1={},x1={},E1={};Object.defineProperty(E1,"__esModule",{value:!0});const l5={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};E1.default=l5;var gc={};Object.defineProperty(gc,"__esModule",{value:!0});gc.callRef=gc.getValidate=void 0;const c5=Fu,rx=Ve,Ms=He,Fc=Fr,ox=Ns,um=pe,h5={keyword:"$ref",schemaType:"string",code(n){const{gen:e,schema:t,it:s}=n,{baseId:i,schemaEnv:r,validateName:o,opts:a,self:l}=s,{root:c}=r;if((t==="#"||t==="#/")&&i===c.baseId)return u();const h=ox.resolveRef.call(l,c,i,t);if(h===void 0)throw new c5.default(s.opts.uriResolver,i,t);if(h instanceof ox.SchemaEnv)return d(h);return p(h);function u(){if(r===c)return Xm(n,o,r,r.$async);const m=e.scopeValue("root",{ref:c});return Xm(n,(0,Ms._)`${m}.validate`,c,c.$async)}function d(m){const g=EP(n,m);Xm(n,g,m,m.$async)}function p(m){const g=e.scopeValue("schema",a.code.source===!0?{ref:m,code:(0,Ms.stringify)(m)}:{ref:m}),v=e.name("valid"),y=n.subschema({schema:m,dataTypes:[],schemaPath:Ms.nil,topSchemaRef:g,errSchemaPath:t},v);n.mergeEvaluated(y),n.ok(v)}}};function EP(n,e){const{gen:t}=n;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,Ms._)`${t.scopeValue("wrapper",{ref:e})}.validate`}gc.getValidate=EP;function Xm(n,e,t,s){const{gen:i,it:r}=n,{allErrors:o,schemaEnv:a,opts:l}=r,c=l.passContext?Fc.default.this:Ms.nil;s?h():u();function h(){if(!a.$async)throw new Error("async schema referenced by sync schema");const m=i.let("valid");i.try(()=>{i.code((0,Ms._)`await ${(0,rx.callValidateCode)(n,e,c)}`),p(e),o||i.assign(m,!0)},g=>{i.if((0,Ms._)`!(${g} instanceof ${r.ValidationError})`,()=>i.throw(g)),d(g),o||i.assign(m,!1)}),n.ok(m)}function u(){n.result((0,rx.callValidateCode)(n,e,c),()=>p(e),()=>d(e))}function d(m){const g=(0,Ms._)`${m}.errors`;i.assign(Fc.default.vErrors,(0,Ms._)`${Fc.default.vErrors} === null ? ${g} : ${Fc.default.vErrors}.concat(${g})`),i.assign(Fc.default.errors,(0,Ms._)`${Fc.default.vErrors}.length`)}function p(m){var g;if(!r.opts.unevaluated)return;const v=(g=t==null?void 0:t.validate)===null||g===void 0?void 0:g.evaluated;if(r.props!==!0)if(v&&!v.dynamicProps)v.props!==void 0&&(r.props=um.mergeEvaluated.props(i,v.props,r.props));else{const y=i.var("props",(0,Ms._)`${m}.evaluated.props`);r.props=um.mergeEvaluated.props(i,y,r.props,Ms.Name)}if(r.items!==!0)if(v&&!v.dynamicItems)v.items!==void 0&&(r.items=um.mergeEvaluated.items(i,v.items,r.items));else{const y=i.var("items",(0,Ms._)`${m}.evaluated.items`);r.items=um.mergeEvaluated.items(i,y,r.items,Ms.Name)}}}gc.callRef=Xm;gc.default=h5;Object.defineProperty(x1,"__esModule",{value:!0});const u5=E1,d5=gc,f5=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",u5.default,d5.default];x1.default=f5;var C1={},$1={};Object.defineProperty($1,"__esModule",{value:!0});const Xg=He,No=Xg.operators,Yg={maximum:{okStr:"<=",ok:No.LTE,fail:No.GT},minimum:{okStr:">=",ok:No.GTE,fail:No.LT},exclusiveMaximum:{okStr:"<",ok:No.LT,fail:No.GTE},exclusiveMinimum:{okStr:">",ok:No.GT,fail:No.LTE}},p5={message:({keyword:n,schemaCode:e})=>(0,Xg.str)`must be ${Yg[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,Xg._)`{comparison: ${Yg[n].okStr}, limit: ${e}}`},m5={keyword:Object.keys(Yg),type:"number",schemaType:"number",$data:!0,error:p5,code(n){const{keyword:e,data:t,schemaCode:s}=n;n.fail$data((0,Xg._)`${t} ${Yg[e].fail} ${s} || isNaN(${t})`)}};$1.default=m5;var T1={};Object.defineProperty(T1,"__esModule",{value:!0});const Nd=He,g5={message:({schemaCode:n})=>(0,Nd.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,Nd._)`{multipleOf: ${n}}`},y5={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:g5,code(n){const{gen:e,data:t,schemaCode:s,it:i}=n,r=i.opts.multipleOfPrecision,o=e.let("res"),a=r?(0,Nd._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${r}`:(0,Nd._)`${o} !== parseInt(${o})`;n.fail$data((0,Nd._)`(${s} === 0 || (${o} = ${t}/${s}, ${a}))`)}};T1.default=y5;var P1={},R1={};Object.defineProperty(R1,"__esModule",{value:!0});function CP(n){const e=n.length;let t=0,s=0,i;for(;s=55296&&i<=56319&&s(0,ol._)`{limit: ${n}}`},_5={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:w5,code(n){const{keyword:e,data:t,schemaCode:s,it:i}=n,r=e==="maxLength"?ol.operators.GT:ol.operators.LT,o=i.opts.unicode===!1?(0,ol._)`${t}.length`:(0,ol._)`${(0,v5.useFunc)(n.gen,b5.default)}(${t})`;n.fail$data((0,ol._)`${o} ${r} ${s}`)}};P1.default=_5;var M1={};Object.defineProperty(M1,"__esModule",{value:!0});const S5=Ve,A5=pe,nh=He,k5={message:({schemaCode:n})=>(0,nh.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,nh._)`{pattern: ${n}}`},x5={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:k5,code(n){const{gen:e,data:t,$data:s,schema:i,schemaCode:r,it:o}=n,a=o.opts.unicodeRegExp?"u":"";if(s){const{regExp:l}=o.opts.code,c=l.code==="new RegExp"?(0,nh._)`new RegExp`:(0,A5.useFunc)(e,l),h=e.let("valid");e.try(()=>e.assign(h,(0,nh._)`${c}(${r}, ${a}).test(${t})`),()=>e.assign(h,!1)),n.fail$data((0,nh._)`!${h}`)}else{const l=(0,S5.usePattern)(n,i);n.fail$data((0,nh._)`!${l}.test(${t})`)}}};M1.default=x5;var I1={};Object.defineProperty(I1,"__esModule",{value:!0});const Ld=He,E5={message({keyword:n,schemaCode:e}){const t=n==="maxProperties"?"more":"fewer";return(0,Ld.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:n})=>(0,Ld._)`{limit: ${n}}`},C5={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:E5,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxProperties"?Ld.operators.GT:Ld.operators.LT;n.fail$data((0,Ld._)`Object.keys(${t}).length ${i} ${s}`)}};I1.default=C5;var O1={};Object.defineProperty(O1,"__esModule",{value:!0});const Zu=Ve,Dd=He,$5=pe,T5={message:({params:{missingProperty:n}})=>(0,Dd.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,Dd._)`{missingProperty: ${n}}`},P5={keyword:"required",type:"object",schemaType:"array",$data:!0,error:T5,code(n){const{gen:e,schema:t,schemaCode:s,data:i,$data:r,it:o}=n,{opts:a}=o;if(!r&&t.length===0)return;const l=t.length>=a.loopRequired;if(o.allErrors?c():h(),a.strictRequired){const p=n.parentSchema.properties,{definedProperties:m}=n.it;for(const g of t)if((p==null?void 0:p[g])===void 0&&!m.has(g)){const v=o.schemaEnv.baseId+o.errSchemaPath,y=`required property "${g}" is not defined at "${v}" (strictRequired)`;(0,$5.checkStrictMode)(o,y,o.opts.strictRequired)}}function c(){if(l||r)n.block$data(Dd.nil,u);else for(const p of t)(0,Zu.checkReportMissingProp)(n,p)}function h(){const p=e.let("missing");if(l||r){const m=e.let("valid",!0);n.block$data(m,()=>d(p,m)),n.ok(m)}else e.if((0,Zu.checkMissingProp)(n,t,p)),(0,Zu.reportMissingProp)(n,p),e.else()}function u(){e.forOf("prop",s,p=>{n.setParams({missingProperty:p}),e.if((0,Zu.noPropertyInData)(e,i,p,a.ownProperties),()=>n.error())})}function d(p,m){n.setParams({missingProperty:p}),e.forOf(p,s,()=>{e.assign(m,(0,Zu.propertyInData)(e,i,p,a.ownProperties)),e.if((0,Dd.not)(m),()=>{n.error(),e.break()})},Dd.nil)}}};O1.default=P5;var N1={};Object.defineProperty(N1,"__esModule",{value:!0});const Fd=He,R5={message({keyword:n,schemaCode:e}){const t=n==="maxItems"?"more":"fewer";return(0,Fd.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:n})=>(0,Fd._)`{limit: ${n}}`},M5={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:R5,code(n){const{keyword:e,data:t,schemaCode:s}=n,i=e==="maxItems"?Fd.operators.GT:Fd.operators.LT;n.fail$data((0,Fd._)`${t}.length ${i} ${s}`)}};N1.default=M5;var L1={},Bp={};Object.defineProperty(Bp,"__esModule",{value:!0});const $P=o0;$P.code='require("ajv/dist/runtime/equal").default';Bp.default=$P;Object.defineProperty(L1,"__esModule",{value:!0});const ev=mn,Ln=He,I5=pe,O5=Bp,N5={message:({params:{i:n,j:e}})=>(0,Ln.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,Ln._)`{i: ${n}, j: ${e}}`},L5={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:N5,code(n){const{gen:e,data:t,$data:s,schema:i,parentSchema:r,schemaCode:o,it:a}=n;if(!s&&!i)return;const l=e.let("valid"),c=r.items?(0,ev.getSchemaTypes)(r.items):[];n.block$data(l,h,(0,Ln._)`${o} === false`),n.ok(l);function h(){const m=e.let("i",(0,Ln._)`${t}.length`),g=e.let("j");n.setParams({i:m,j:g}),e.assign(l,!0),e.if((0,Ln._)`${m} > 1`,()=>(u()?d:p)(m,g))}function u(){return c.length>0&&!c.some(m=>m==="object"||m==="array")}function d(m,g){const v=e.name("item"),y=(0,ev.checkDataTypes)(c,v,a.opts.strictNumbers,ev.DataType.Wrong),w=e.const("indices",(0,Ln._)`{}`);e.for((0,Ln._)`;${m}--;`,()=>{e.let(v,(0,Ln._)`${t}[${m}]`),e.if(y,(0,Ln._)`continue`),c.length>1&&e.if((0,Ln._)`typeof ${v} == "string"`,(0,Ln._)`${v} += "_"`),e.if((0,Ln._)`typeof ${w}[${v}] == "number"`,()=>{e.assign(g,(0,Ln._)`${w}[${v}]`),n.error(),e.assign(l,!1).break()}).code((0,Ln._)`${w}[${v}] = ${m}`)})}function p(m,g){const v=(0,I5.useFunc)(e,O5.default),y=e.name("outer");e.label(y).for((0,Ln._)`;${m}--;`,()=>e.for((0,Ln._)`${g} = ${m}; ${g}--;`,()=>e.if((0,Ln._)`${v}(${t}[${m}], ${t}[${g}])`,()=>{n.error(),e.assign(l,!1).break(y)})))}}};L1.default=L5;var D1={};Object.defineProperty(D1,"__esModule",{value:!0});const ab=He,D5=pe,F5=Bp,j5={message:"must be equal to constant",params:({schemaCode:n})=>(0,ab._)`{allowedValue: ${n}}`},z5={keyword:"const",$data:!0,error:j5,code(n){const{gen:e,data:t,$data:s,schemaCode:i,schema:r}=n;s||r&&typeof r=="object"?n.fail$data((0,ab._)`!${(0,D5.useFunc)(e,F5.default)}(${t}, ${i})`):n.fail((0,ab._)`${r} !== ${t}`)}};D1.default=z5;var F1={};Object.defineProperty(F1,"__esModule",{value:!0});const ld=He,H5=pe,B5=Bp,q5={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,ld._)`{allowedValues: ${n}}`},U5={keyword:"enum",schemaType:"array",$data:!0,error:q5,code(n){const{gen:e,data:t,$data:s,schema:i,schemaCode:r,it:o}=n;if(!s&&i.length===0)throw new Error("enum must have non-empty array");const a=i.length>=o.opts.loopEnum;let l;const c=()=>l??(l=(0,H5.useFunc)(e,B5.default));let h;if(a||s)h=e.let("valid"),n.block$data(h,u);else{if(!Array.isArray(i))throw new Error("ajv implementation error");const p=e.const("vSchema",r);h=(0,ld.or)(...i.map((m,g)=>d(p,g)))}n.pass(h);function u(){e.assign(h,!1),e.forOf("v",r,p=>e.if((0,ld._)`${c()}(${t}, ${p})`,()=>e.assign(h,!0).break()))}function d(p,m){const g=i[m];return typeof g=="object"&&g!==null?(0,ld._)`${c()}(${t}, ${p}[${m}])`:(0,ld._)`${t} === ${g}`}}};F1.default=U5;Object.defineProperty(C1,"__esModule",{value:!0});const V5=$1,W5=T1,G5=P1,K5=M1,Z5=I1,X5=O1,Y5=N1,J5=L1,Q5=D1,eG=F1,tG=[V5.default,W5.default,G5.default,K5.default,Z5.default,X5.default,Y5.default,J5.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Q5.default,eG.default];C1.default=tG;var j1={},ju={};Object.defineProperty(ju,"__esModule",{value:!0});ju.validateAdditionalItems=void 0;const al=He,lb=pe,nG={message:({params:{len:n}})=>(0,al.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,al._)`{limit: ${n}}`},sG={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:nG,code(n){const{parentSchema:e,it:t}=n,{items:s}=e;if(!Array.isArray(s)){(0,lb.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}TP(n,s)}};function TP(n,e){const{gen:t,schema:s,data:i,keyword:r,it:o}=n;o.items=!0;const a=t.const("len",(0,al._)`${i}.length`);if(s===!1)n.setParams({len:e.length}),n.pass((0,al._)`${a} <= ${e.length}`);else if(typeof s=="object"&&!(0,lb.alwaysValidSchema)(o,s)){const c=t.var("valid",(0,al._)`${a} <= ${e.length}`);t.if((0,al.not)(c),()=>l(c)),n.ok(c)}function l(c){t.forRange("i",e.length,a,h=>{n.subschema({keyword:r,dataProp:h,dataPropType:lb.Type.Num},c),o.allErrors||t.if((0,al.not)(c),()=>t.break())})}}ju.validateAdditionalItems=TP;ju.default=sG;var z1={},zu={};Object.defineProperty(zu,"__esModule",{value:!0});zu.validateTuple=void 0;const ax=He,Ym=pe,iG=Ve,rG={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){const{schema:e,it:t}=n;if(Array.isArray(e))return PP(n,"additionalItems",e);t.items=!0,!(0,Ym.alwaysValidSchema)(t,e)&&n.ok((0,iG.validateArray)(n))}};function PP(n,e,t=n.schema){const{gen:s,parentSchema:i,data:r,keyword:o,it:a}=n;h(i),a.opts.unevaluated&&t.length&&a.items!==!0&&(a.items=Ym.mergeEvaluated.items(s,t.length,a.items));const l=s.name("valid"),c=s.const("len",(0,ax._)`${r}.length`);t.forEach((u,d)=>{(0,Ym.alwaysValidSchema)(a,u)||(s.if((0,ax._)`${c} > ${d}`,()=>n.subschema({keyword:o,schemaProp:d,dataProp:d},l)),n.ok(l))});function h(u){const{opts:d,errSchemaPath:p}=a,m=t.length,g=m===u.minItems&&(m===u.maxItems||u[e]===!1);if(d.strictTuples&&!g){const v=`"${o}" is ${m}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,Ym.checkStrictMode)(a,v,d.strictTuples)}}}zu.validateTuple=PP;zu.default=rG;Object.defineProperty(z1,"__esModule",{value:!0});const oG=zu,aG={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,oG.validateTuple)(n,"items")};z1.default=aG;var H1={};Object.defineProperty(H1,"__esModule",{value:!0});const lx=He,lG=pe,cG=Ve,hG=ju,uG={message:({params:{len:n}})=>(0,lx.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,lx._)`{limit: ${n}}`},dG={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:uG,code(n){const{schema:e,parentSchema:t,it:s}=n,{prefixItems:i}=t;s.items=!0,!(0,lG.alwaysValidSchema)(s,e)&&(i?(0,hG.validateAdditionalItems)(n,i):n.ok((0,cG.validateArray)(n)))}};H1.default=dG;var B1={};Object.defineProperty(B1,"__esModule",{value:!0});const di=He,dm=pe,fG={message:({params:{min:n,max:e}})=>e===void 0?(0,di.str)`must contain at least ${n} valid item(s)`:(0,di.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,di._)`{minContains: ${n}}`:(0,di._)`{minContains: ${n}, maxContains: ${e}}`},pG={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:fG,code(n){const{gen:e,schema:t,parentSchema:s,data:i,it:r}=n;let o,a;const{minContains:l,maxContains:c}=s;r.opts.next?(o=l===void 0?1:l,a=c):o=1;const h=e.const("len",(0,di._)`${i}.length`);if(n.setParams({min:o,max:a}),a===void 0&&o===0){(0,dm.checkStrictMode)(r,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,dm.checkStrictMode)(r,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,dm.alwaysValidSchema)(r,t)){let g=(0,di._)`${h} >= ${o}`;a!==void 0&&(g=(0,di._)`${g} && ${h} <= ${a}`),n.pass(g);return}r.items=!0;const u=e.name("valid");a===void 0&&o===1?p(u,()=>e.if(u,()=>e.break())):o===0?(e.let(u,!0),a!==void 0&&e.if((0,di._)`${i}.length > 0`,d)):(e.let(u,!1),d()),n.result(u,()=>n.reset());function d(){const g=e.name("_valid"),v=e.let("count",0);p(g,()=>e.if(g,()=>m(v)))}function p(g,v){e.forRange("i",0,h,y=>{n.subschema({keyword:"contains",dataProp:y,dataPropType:dm.Type.Num,compositeRule:!0},g),v()})}function m(g){e.code((0,di._)`${g}++`),a===void 0?e.if((0,di._)`${g} >= ${o}`,()=>e.assign(u,!0).break()):(e.if((0,di._)`${g} > ${a}`,()=>e.assign(u,!1).break()),o===1?e.assign(u,!0):e.if((0,di._)`${g} >= ${o}`,()=>e.assign(u,!0)))}}};B1.default=pG;var RP={};(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.validateSchemaDeps=n.validatePropertyDeps=n.error=void 0;const e=He,t=pe,s=Ve;n.error={message:({params:{property:l,depsCount:c,deps:h}})=>{const u=c===1?"property":"properties";return(0,e.str)`must have ${u} ${h} when property ${l} is present`},params:({params:{property:l,depsCount:c,deps:h,missingProperty:u}})=>(0,e._)`{property: ${l}, + missingProperty: ${u}, + depsCount: ${c}, + deps: ${h}}`};const i={keyword:"dependencies",type:"object",schemaType:"object",error:n.error,code(l){const[c,h]=r(l);o(l,c),a(l,h)}};function r({schema:l}){const c={},h={};for(const u in l){if(u==="__proto__")continue;const d=Array.isArray(l[u])?c:h;d[u]=l[u]}return[c,h]}function o(l,c=l.schema){const{gen:h,data:u,it:d}=l;if(Object.keys(c).length===0)return;const p=h.let("missing");for(const m in c){const g=c[m];if(g.length===0)continue;const v=(0,s.propertyInData)(h,u,m,d.opts.ownProperties);l.setParams({property:m,depsCount:g.length,deps:g.join(", ")}),d.allErrors?h.if(v,()=>{for(const y of g)(0,s.checkReportMissingProp)(l,y)}):(h.if((0,e._)`${v} && (${(0,s.checkMissingProp)(l,g,p)})`),(0,s.reportMissingProp)(l,p),h.else())}}n.validatePropertyDeps=o;function a(l,c=l.schema){const{gen:h,data:u,keyword:d,it:p}=l,m=h.name("valid");for(const g in c)(0,t.alwaysValidSchema)(p,c[g])||(h.if((0,s.propertyInData)(h,u,g,p.opts.ownProperties),()=>{const v=l.subschema({keyword:d,schemaProp:g},m);l.mergeValidEvaluated(v,m)},()=>h.var(m,!0)),l.ok(m))}n.validateSchemaDeps=a,n.default=i})(RP);var q1={};Object.defineProperty(q1,"__esModule",{value:!0});const MP=He,mG=pe,gG={message:"property name must be valid",params:({params:n})=>(0,MP._)`{propertyName: ${n.propertyName}}`},yG={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:gG,code(n){const{gen:e,schema:t,data:s,it:i}=n;if((0,mG.alwaysValidSchema)(i,t))return;const r=e.name("valid");e.forIn("key",s,o=>{n.setParams({propertyName:o}),n.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},r),e.if((0,MP.not)(r),()=>{n.error(!0),i.allErrors||e.break()})}),n.ok(r)}};q1.default=yG;var m0={};Object.defineProperty(m0,"__esModule",{value:!0});const fm=Ve,Ti=He,vG=Fr,pm=pe,bG={message:"must NOT have additional properties",params:({params:n})=>(0,Ti._)`{additionalProperty: ${n.additionalProperty}}`},wG={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:bG,code(n){const{gen:e,schema:t,parentSchema:s,data:i,errsCount:r,it:o}=n;if(!r)throw new Error("ajv implementation error");const{allErrors:a,opts:l}=o;if(o.props=!0,l.removeAdditional!=="all"&&(0,pm.alwaysValidSchema)(o,t))return;const c=(0,fm.allSchemaProperties)(s.properties),h=(0,fm.allSchemaProperties)(s.patternProperties);u(),n.ok((0,Ti._)`${r} === ${vG.default.errors}`);function u(){e.forIn("key",i,v=>{!c.length&&!h.length?m(v):e.if(d(v),()=>m(v))})}function d(v){let y;if(c.length>8){const w=(0,pm.schemaRefOrVal)(o,s.properties,"properties");y=(0,fm.isOwnProperty)(e,w,v)}else c.length?y=(0,Ti.or)(...c.map(w=>(0,Ti._)`${v} === ${w}`)):y=Ti.nil;return h.length&&(y=(0,Ti.or)(y,...h.map(w=>(0,Ti._)`${(0,fm.usePattern)(n,w)}.test(${v})`))),(0,Ti.not)(y)}function p(v){e.code((0,Ti._)`delete ${i}[${v}]`)}function m(v){if(l.removeAdditional==="all"||l.removeAdditional&&t===!1){p(v);return}if(t===!1){n.setParams({additionalProperty:v}),n.error(),a||e.break();return}if(typeof t=="object"&&!(0,pm.alwaysValidSchema)(o,t)){const y=e.name("valid");l.removeAdditional==="failing"?(g(v,y,!1),e.if((0,Ti.not)(y),()=>{n.reset(),p(v)})):(g(v,y),a||e.if((0,Ti.not)(y),()=>e.break()))}}function g(v,y,w){const _={keyword:"additionalProperties",dataProp:v,dataPropType:pm.Type.Str};w===!1&&Object.assign(_,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(_,y)}}};m0.default=wG;var U1={};Object.defineProperty(U1,"__esModule",{value:!0});const _G=Yi,cx=Ve,tv=pe,hx=m0,SG={keyword:"properties",type:"object",schemaType:"object",code(n){const{gen:e,schema:t,parentSchema:s,data:i,it:r}=n;r.opts.removeAdditional==="all"&&s.additionalProperties===void 0&&hx.default.code(new _G.KeywordCxt(r,hx.default,"additionalProperties"));const o=(0,cx.allSchemaProperties)(t);for(const u of o)r.definedProperties.add(u);r.opts.unevaluated&&o.length&&r.props!==!0&&(r.props=tv.mergeEvaluated.props(e,(0,tv.toHash)(o),r.props));const a=o.filter(u=>!(0,tv.alwaysValidSchema)(r,t[u]));if(a.length===0)return;const l=e.name("valid");for(const u of a)c(u)?h(u):(e.if((0,cx.propertyInData)(e,i,u,r.opts.ownProperties)),h(u),r.allErrors||e.else().var(l,!0),e.endIf()),n.it.definedProperties.add(u),n.ok(l);function c(u){return r.opts.useDefaults&&!r.compositeRule&&t[u].default!==void 0}function h(u){n.subschema({keyword:"properties",schemaProp:u,dataProp:u},l)}}};U1.default=SG;var V1={};Object.defineProperty(V1,"__esModule",{value:!0});const ux=Ve,mm=He,dx=pe,fx=pe,AG={keyword:"patternProperties",type:"object",schemaType:"object",code(n){const{gen:e,schema:t,data:s,parentSchema:i,it:r}=n,{opts:o}=r,a=(0,ux.allSchemaProperties)(t),l=a.filter(g=>(0,dx.alwaysValidSchema)(r,t[g]));if(a.length===0||l.length===a.length&&(!r.opts.unevaluated||r.props===!0))return;const c=o.strictSchema&&!o.allowMatchingProperties&&i.properties,h=e.name("valid");r.props!==!0&&!(r.props instanceof mm.Name)&&(r.props=(0,fx.evaluatedPropsToName)(e,r.props));const{props:u}=r;d();function d(){for(const g of a)c&&p(g),r.allErrors?m(g):(e.var(h,!0),m(g),e.if(h))}function p(g){for(const v in c)new RegExp(g).test(v)&&(0,dx.checkStrictMode)(r,`property ${v} matches pattern ${g} (use allowMatchingProperties)`)}function m(g){e.forIn("key",s,v=>{e.if((0,mm._)`${(0,ux.usePattern)(n,g)}.test(${v})`,()=>{const y=l.includes(g);y||n.subschema({keyword:"patternProperties",schemaProp:g,dataProp:v,dataPropType:fx.Type.Str},h),r.opts.unevaluated&&u!==!0?e.assign((0,mm._)`${u}[${v}]`,!0):!y&&!r.allErrors&&e.if((0,mm.not)(h),()=>e.break())})})}}};V1.default=AG;var W1={};Object.defineProperty(W1,"__esModule",{value:!0});const kG=pe,xG={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){const{gen:e,schema:t,it:s}=n;if((0,kG.alwaysValidSchema)(s,t)){n.fail();return}const i=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),n.failResult(i,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};W1.default=xG;var G1={};Object.defineProperty(G1,"__esModule",{value:!0});const EG=Ve,CG={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:EG.validateUnion,error:{message:"must match a schema in anyOf"}};G1.default=CG;var K1={};Object.defineProperty(K1,"__esModule",{value:!0});const Jm=He,$G=pe,TG={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Jm._)`{passingSchemas: ${n.passing}}`},PG={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:TG,code(n){const{gen:e,schema:t,parentSchema:s,it:i}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(i.opts.discriminator&&s.discriminator)return;const r=t,o=e.let("valid",!1),a=e.let("passing",null),l=e.name("_valid");n.setParams({passing:a}),e.block(c),n.result(o,()=>n.reset(),()=>n.error(!0));function c(){r.forEach((h,u)=>{let d;(0,$G.alwaysValidSchema)(i,h)?e.var(l,!0):d=n.subschema({keyword:"oneOf",schemaProp:u,compositeRule:!0},l),u>0&&e.if((0,Jm._)`${l} && ${o}`).assign(o,!1).assign(a,(0,Jm._)`[${a}, ${u}]`).else(),e.if(l,()=>{e.assign(o,!0),e.assign(a,u),d&&n.mergeEvaluated(d,Jm.Name)})})}}};K1.default=PG;var Z1={};Object.defineProperty(Z1,"__esModule",{value:!0});const RG=pe,MG={keyword:"allOf",schemaType:"array",code(n){const{gen:e,schema:t,it:s}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");const i=e.name("valid");t.forEach((r,o)=>{if((0,RG.alwaysValidSchema)(s,r))return;const a=n.subschema({keyword:"allOf",schemaProp:o},i);n.ok(i),n.mergeEvaluated(a)})}};Z1.default=MG;var X1={};Object.defineProperty(X1,"__esModule",{value:!0});const Jg=He,IP=pe,IG={message:({params:n})=>(0,Jg.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,Jg._)`{failingKeyword: ${n.ifClause}}`},OG={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:IG,code(n){const{gen:e,parentSchema:t,it:s}=n;t.then===void 0&&t.else===void 0&&(0,IP.checkStrictMode)(s,'"if" without "then" and "else" is ignored');const i=px(s,"then"),r=px(s,"else");if(!i&&!r)return;const o=e.let("valid",!0),a=e.name("_valid");if(l(),n.reset(),i&&r){const h=e.let("ifClause");n.setParams({ifClause:h}),e.if(a,c("then",h),c("else",h))}else i?e.if(a,c("then")):e.if((0,Jg.not)(a),c("else"));n.pass(o,()=>n.error(!0));function l(){const h=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);n.mergeEvaluated(h)}function c(h,u){return()=>{const d=n.subschema({keyword:h},a);e.assign(o,a),n.mergeValidEvaluated(d,o),u?e.assign(u,(0,Jg._)`${h}`):n.setParams({ifClause:h})}}}};function px(n,e){const t=n.schema[e];return t!==void 0&&!(0,IP.alwaysValidSchema)(n,t)}X1.default=OG;var Y1={};Object.defineProperty(Y1,"__esModule",{value:!0});const NG=pe,LG={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:t}){e.if===void 0&&(0,NG.checkStrictMode)(t,`"${n}" without "if" is ignored`)}};Y1.default=LG;Object.defineProperty(j1,"__esModule",{value:!0});const DG=ju,FG=z1,jG=zu,zG=H1,HG=B1,BG=RP,qG=q1,UG=m0,VG=U1,WG=V1,GG=W1,KG=G1,ZG=K1,XG=Z1,YG=X1,JG=Y1;function QG(n=!1){const e=[GG.default,KG.default,ZG.default,XG.default,YG.default,JG.default,qG.default,UG.default,BG.default,VG.default,WG.default];return n?e.push(FG.default,zG.default):e.push(DG.default,jG.default),e.push(HG.default),e}j1.default=QG;var J1={},Q1={};Object.defineProperty(Q1,"__esModule",{value:!0});const Wt=He,eK={message:({schemaCode:n})=>(0,Wt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,Wt._)`{format: ${n}}`},tK={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:eK,code(n,e){const{gen:t,data:s,$data:i,schema:r,schemaCode:o,it:a}=n,{opts:l,errSchemaPath:c,schemaEnv:h,self:u}=a;if(!l.validateFormats)return;i?d():p();function d(){const m=t.scopeValue("formats",{ref:u.formats,code:l.code.formats}),g=t.const("fDef",(0,Wt._)`${m}[${o}]`),v=t.let("fType"),y=t.let("format");t.if((0,Wt._)`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>t.assign(v,(0,Wt._)`${g}.type || "string"`).assign(y,(0,Wt._)`${g}.validate`),()=>t.assign(v,(0,Wt._)`"string"`).assign(y,g)),n.fail$data((0,Wt.or)(w(),_()));function w(){return l.strictSchema===!1?Wt.nil:(0,Wt._)`${o} && !${y}`}function _(){const k=h.$async?(0,Wt._)`(${g}.async ? await ${y}(${s}) : ${y}(${s}))`:(0,Wt._)`${y}(${s})`,A=(0,Wt._)`(typeof ${y} == "function" ? ${k} : ${y}.test(${s}))`;return(0,Wt._)`${y} && ${y} !== true && ${v} === ${e} && !${A}`}}function p(){const m=u.formats[r];if(!m){w();return}if(m===!0)return;const[g,v,y]=_(m);g===e&&n.pass(k());function w(){if(l.strictSchema===!1){u.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${r}" ignored in schema at path "${c}"`}}function _(A){const $=A instanceof RegExp?(0,Wt.regexpCode)(A):l.code.formats?(0,Wt._)`${l.code.formats}${(0,Wt.getProperty)(r)}`:void 0,E=t.scopeValue("formats",{key:r,ref:A,code:$});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,Wt._)`${E}.validate`]:["string",A,E]}function k(){if(typeof m=="object"&&!(m instanceof RegExp)&&m.async){if(!h.$async)throw new Error("async format in sync schema");return(0,Wt._)`await ${y}(${s})`}return typeof v=="function"?(0,Wt._)`${y}(${s})`:(0,Wt._)`${y}.test(${s})`}}}};Q1.default=tK;Object.defineProperty(J1,"__esModule",{value:!0});const nK=Q1,sK=[nK.default];J1.default=sK;var _u={};Object.defineProperty(_u,"__esModule",{value:!0});_u.contentVocabulary=_u.metadataVocabulary=void 0;_u.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];_u.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];Object.defineProperty(k1,"__esModule",{value:!0});const iK=x1,rK=C1,oK=j1,aK=J1,mx=_u,lK=[iK.default,rK.default,(0,oK.default)(),aK.default,mx.metadataVocabulary,mx.contentVocabulary];k1.default=lK;var eA={},g0={};Object.defineProperty(g0,"__esModule",{value:!0});g0.DiscrError=void 0;var gx;(function(n){n.Tag="tag",n.Mapping="mapping"})(gx||(g0.DiscrError=gx={}));Object.defineProperty(eA,"__esModule",{value:!0});const Bc=He,cb=g0,yx=Ns,cK=Fu,hK=pe,uK={message:({params:{discrError:n,tagName:e}})=>n===cb.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:t}})=>(0,Bc._)`{error: ${n}, tag: ${t}, tagValue: ${e}}`},dK={keyword:"discriminator",type:"object",schemaType:"object",error:uK,code(n){const{gen:e,data:t,schema:s,parentSchema:i,it:r}=n,{oneOf:o}=i;if(!r.opts.discriminator)throw new Error("discriminator: requires discriminator option");const a=s.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(s.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");const l=e.let("valid",!1),c=e.const("tag",(0,Bc._)`${t}${(0,Bc.getProperty)(a)}`);e.if((0,Bc._)`typeof ${c} == "string"`,()=>h(),()=>n.error(!1,{discrError:cb.DiscrError.Tag,tag:c,tagName:a})),n.ok(l);function h(){const p=d();e.if(!1);for(const m in p)e.elseIf((0,Bc._)`${c} === ${m}`),e.assign(l,u(p[m]));e.else(),n.error(!1,{discrError:cb.DiscrError.Mapping,tag:c,tagName:a}),e.endIf()}function u(p){const m=e.name("valid"),g=n.subschema({keyword:"oneOf",schemaProp:p},m);return n.mergeEvaluated(g,Bc.Name),m}function d(){var p;const m={},g=y(i);let v=!0;for(let k=0;kthis.addVocabulary(m)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;const m=this.opts.$data?this.$dataMetaSchema(r,o):r;this.addMetaSchema(m,a,!1),this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:void 0)}}e.Ajv=l,n.exports=e=l,n.exports.Ajv=l,Object.defineProperty(e,"__esModule",{value:!0}),e.default=l;var c=Yi;Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var h=He;Object.defineProperty(e,"_",{enumerable:!0,get:function(){return h._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return h.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return h.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return h.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return h.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return h.CodeGen}});var u=Hp;Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return u.default}});var d=Fu;Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return d.default}})})(nb,nb.exports);var wK=nb.exports;(function(n){Object.defineProperty(n,"__esModule",{value:!0}),n.formatLimitDefinition=void 0;const e=wK,t=He,s=t.operators,i={formatMaximum:{okStr:"<=",ok:s.LTE,fail:s.GT},formatMinimum:{okStr:">=",ok:s.GTE,fail:s.LT},formatExclusiveMaximum:{okStr:"<",ok:s.LT,fail:s.GTE},formatExclusiveMinimum:{okStr:">",ok:s.GT,fail:s.LTE}},r={message:({keyword:a,schemaCode:l})=>(0,t.str)`should be ${i[a].okStr} ${l}`,params:({keyword:a,schemaCode:l})=>(0,t._)`{comparison: ${i[a].okStr}, limit: ${l}}`};n.formatLimitDefinition={keyword:Object.keys(i),type:"string",schemaType:"string",$data:!0,error:r,code(a){const{gen:l,data:c,schemaCode:h,keyword:u,it:d}=a,{opts:p,self:m}=d;if(!p.validateFormats)return;const g=new e.KeywordCxt(d,m.RULES.all.format.definition,"format");g.$data?v():y();function v(){const _=l.scopeValue("formats",{ref:m.formats,code:p.code.formats}),k=l.const("fmt",(0,t._)`${_}[${g.schemaCode}]`);a.fail$data((0,t.or)((0,t._)`typeof ${k} != "object"`,(0,t._)`${k} instanceof RegExp`,(0,t._)`typeof ${k}.compare != "function"`,w(k)))}function y(){const _=g.schema,k=m.formats[_];if(!k||k===!0)return;if(typeof k!="object"||k instanceof RegExp||typeof k.compare!="function")throw new Error(`"${u}": format "${_}" does not define "compare" function`);const A=l.scopeValue("formats",{key:_,ref:k,code:p.code.formats?(0,t._)`${p.code.formats}${(0,t.getProperty)(_)}`:void 0});a.fail$data(w(A))}function w(_){return(0,t._)`${_}.compare(${c}, ${h}) ${i[u].fail} 0`}},dependencies:["format"]};const o=a=>(a.addKeyword(n.formatLimitDefinition),a);n.default=o})(WT);(function(n,e){Object.defineProperty(e,"__esModule",{value:!0});const t=VT,s=WT,i=He,r=new i.Name("fullFormats"),o=new i.Name("fastFormats"),a=(c,h={keywords:!0})=>{if(Array.isArray(h))return l(c,h,t.fullFormats,r),c;const[u,d]=h.mode==="fast"?[t.fastFormats,o]:[t.fullFormats,r],p=h.formats||t.formatNames;return l(c,p,u,d),h.keywords&&(0,s.default)(c),c};a.get=(c,h="full")=>{const d=(h==="fast"?t.fastFormats:t.fullFormats)[c];if(!d)throw new Error(`Unknown format "${c}"`);return d};function l(c,h,u,d){var p,m;(p=(m=c.opts.code).formats)!==null&&p!==void 0||(m.formats=(0,i._)`require("ajv-formats/dist/formats").${d}`);for(const g of h)c.addFormat(g,u[g])}n.exports=e=a,Object.defineProperty(e,"__esModule",{value:!0}),e.default=a})(tb,tb.exports);var _K=tb.exports;const SK=O_(_K);function AK(){const n=new lW({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return SK(n),n}class kK{constructor(e){this._ajv=e??AK()}getValidator(e){const t="$id"in e&&typeof e.$id=="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return s=>t(s)?{valid:!0,data:s,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(t.errors)}}}class xK{constructor(e){this._client=e}async*callToolStream(e,t=uc,s){const i=this._client,r={...s,task:(s==null?void 0:s.task)??(i.isToolTask(e.name)?{}:void 0)},o=i.requestStream({method:"tools/call",params:e},t,r),a=i.getToolOutputValidator(e.name);for await(const l of o){if(l.type==="result"&&a){const c=l.result;if(!c.structuredContent&&!c.isError){yield{type:"error",error:new xe(Re.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(c.structuredContent)try{const h=a(c.structuredContent);if(!h.valid){yield{type:"error",error:new xe(Re.InvalidParams,`Structured content does not match the tool's output schema: ${h.errorMessage}`)};return}}catch(h){if(h instanceof xe){yield{type:"error",error:h};return}yield{type:"error",error:new xe(Re.InvalidParams,`Failed to validate structured content: ${h instanceof Error?h.message:String(h)}`)};return}}yield l}}async getTask(e,t){return this._client.getTask({taskId:e},t)}async getTaskResult(e,t,s){return this._client.getTaskResult({taskId:e},t,s)}async listTasks(e,t){return this._client.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._client.cancelTask({taskId:e},t)}requestStream(e,t,s){return this._client.requestStream(e,t,s)}}function EK(n,e,t){var s;if(!n)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"tools/call":if(!((s=n.tools)!=null&&s.call))throw new Error(`${t} does not support task creation for tools/call (required for ${e})`);break}}function CK(n,e,t){var s,i;if(!n)throw new Error(`${t} does not support task creation (required for ${e})`);switch(e){case"sampling/createMessage":if(!((s=n.sampling)!=null&&s.createMessage))throw new Error(`${t} does not support task creation for sampling/createMessage (required for ${e})`);break;case"elicitation/create":if(!((i=n.elicitation)!=null&&i.create))throw new Error(`${t} does not support task creation for elicitation/create (required for ${e})`);break}}function Qm(n,e){if(!(!n||e===null||typeof e!="object")){if(n.type==="object"&&n.properties&&typeof n.properties=="object"){const t=e,s=n.properties;for(const i of Object.keys(s)){const r=s[i];t[i]===void 0&&Object.prototype.hasOwnProperty.call(r,"default")&&(t[i]=r.default),t[i]!==void 0&&Qm(r,t[i])}}if(Array.isArray(n.anyOf))for(const t of n.anyOf)typeof t!="boolean"&&Qm(t,e);if(Array.isArray(n.oneOf))for(const t of n.oneOf)typeof t!="boolean"&&Qm(t,e)}}function $K(n){if(!n)return{supportsFormMode:!1,supportsUrlMode:!1};const e=n.form!==void 0,t=n.url!==void 0;return{supportsFormMode:e||!e&&!t,supportsUrlMode:t}}class TK extends j${constructor(e,t){super(t),this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=(t==null?void 0:t.capabilities)??{},this._jsonSchemaValidator=(t==null?void 0:t.jsonSchemaValidator)??new kK,t!=null&&t.listChanged&&(this._pendingListChangedConfig=t.listChanged)}_setupListChangedHandlers(e){var t,s,i,r,o,a;e.tools&&((s=(t=this._serverCapabilities)==null?void 0:t.tools)!=null&&s.listChanged)&&this._setupListChangedHandler("tools",yS,e.tools,async()=>(await this.listTools()).tools),e.prompts&&((r=(i=this._serverCapabilities)==null?void 0:i.prompts)!=null&&r.listChanged)&&this._setupListChangedHandler("prompts",pS,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&((a=(o=this._serverCapabilities)==null?void 0:o.resources)!=null&&a.listChanged)&&this._setupListChangedHandler("resources",cS,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||(this._experimental={tasks:new xK(this)}),this._experimental}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=CH(this._capabilities,e)}setRequestHandler(e,t){const s=D$(e),i=s==null?void 0:s.method;if(!i)throw new Error("Schema is missing a method literal");const r=F$(i);if(typeof r!="string")throw new Error("Schema method literal must be a string");const o=r;if(o==="elicitation/create"){const a=async(l,c)=>{var w,_;const h=Fo(O$,l);if(!h.success){const k=h.error instanceof Error?h.error.message:String(h.error);throw new xe(Re.InvalidParams,`Invalid elicitation request: ${k}`)}const{params:u}=h.data;u.mode=u.mode??"form";const{supportsFormMode:d,supportsUrlMode:p}=$K(this._capabilities.elicitation);if(u.mode==="form"&&!d)throw new xe(Re.InvalidParams,"Client does not support form-mode elicitation requests");if(u.mode==="url"&&!p)throw new xe(Re.InvalidParams,"Client does not support URL-mode elicitation requests");const m=await Promise.resolve(t(l,c));if(u.task){const k=Fo(Xd,m);if(!k.success){const A=k.error instanceof Error?k.error.message:String(k.error);throw new xe(Re.InvalidParams,`Invalid task creation result: ${A}`)}return k.data}const g=Fo(N$,m);if(!g.success){const k=g.error instanceof Error?g.error.message:String(g.error);throw new xe(Re.InvalidParams,`Invalid elicitation result: ${k}`)}const v=g.data,y=u.mode==="form"?u.requestedSchema:void 0;if(u.mode==="form"&&v.action==="accept"&&v.content&&y&&(_=(w=this._capabilities.elicitation)==null?void 0:w.form)!=null&&_.applyDefaults)try{Qm(y,v.content)}catch{}return v};return super.setRequestHandler(e,a)}if(o==="sampling/createMessage"){const a=async(l,c)=>{const h=Fo(vS,l);if(!h.success){const v=h.error instanceof Error?h.error.message:String(h.error);throw new xe(Re.InvalidParams,`Invalid sampling request: ${v}`)}const{params:u}=h.data,d=await Promise.resolve(t(l,c));if(u.task){const v=Fo(Xd,d);if(!v.success){const y=v.error instanceof Error?v.error.message:String(v.error);throw new xe(Re.InvalidParams,`Invalid task creation result: ${y}`)}return v.data}const m=u.tools||u.toolChoice?I$:M$,g=Fo(m,d);if(!g.success){const v=g.error instanceof Error?g.error.message:String(g.error);throw new xe(Re.InvalidParams,`Invalid sampling result: ${v}`)}return g.data};return super.setRequestHandler(e,a)}return super.setRequestHandler(e,t)}assertCapability(e,t){var s;if(!((s=this._serverCapabilities)!=null&&s[e]))throw new Error(`Server does not support ${e} (required for ${t})`)}async connect(e,t){if(await super.connect(e),e.sessionId===void 0)try{const s=await this.request({method:"initialize",params:{protocolVersion:t0,capabilities:this._capabilities,clientInfo:this._clientInfo}},g$,t);if(s===void 0)throw new Error(`Server sent invalid initialize result: ${s}`);if(!nz.includes(s.protocolVersion))throw new Error(`Server's protocol version is not supported: ${s.protocolVersion}`);this._serverCapabilities=s.capabilities,this._serverVersion=s.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(s.protocolVersion),this._instructions=s.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig&&(this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0)}catch(s){throw this.close(),s}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){var t,s,i,r,o;switch(e){case"logging/setLevel":if(!((t=this._serverCapabilities)!=null&&t.logging))throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!((s=this._serverCapabilities)!=null&&s.prompts))throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!((i=this._serverCapabilities)!=null&&i.resources))throw new Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw new Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!((r=this._serverCapabilities)!=null&&r.tools))throw new Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!((o=this._serverCapabilities)!=null&&o.completions))throw new Error(`Server does not support completions (required for ${e})`);break}}assertNotificationCapability(e){var t;switch(e){case"notifications/roots/list_changed":if(!((t=this._capabilities.roots)!=null&&t.listChanged))throw new Error(`Client does not support roots list changed notifications (required for ${e})`);break}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw new Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw new Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Client does not support tasks capability (required for ${e})`);break}}assertTaskCapability(e){var t,s;EK((s=(t=this._serverCapabilities)==null?void 0:t.tasks)==null?void 0:s.requests,e,"Server")}assertTaskHandlerCapability(e){var t;this._capabilities&&CK((t=this._capabilities.tasks)==null?void 0:t.requests,e,"Client")}async ping(e){return this.request({method:"ping"},eh,e)}async complete(e,t){return this.request({method:"completion/complete",params:e},L$,t)}async setLoggingLevel(e,t){return this.request({method:"logging/setLevel",params:{level:e}},eh,t)}async getPrompt(e,t){return this.request({method:"prompts/get",params:e},$$,t)}async listPrompts(e,t){return this.request({method:"prompts/list",params:e},hS,t)}async listResources(e,t){return this.request({method:"resources/list",params:e},rS,t)}async listResourceTemplates(e,t){return this.request({method:"resources/templates/list",params:e},oS,t)}async readResource(e,t){return this.request({method:"resources/read",params:e},lS,t)}async subscribeResource(e,t){return this.request({method:"resources/subscribe",params:e},eh,t)}async unsubscribeResource(e,t){return this.request({method:"resources/unsubscribe",params:e},eh,t)}async callTool(e,t=uc,s){if(this.isToolTaskRequired(e.name))throw new xe(Re.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);const i=await this.request({method:"tools/call",params:e},t,s),r=this.getToolOutputValidator(e.name);if(r){if(!i.structuredContent&&!i.isError)throw new xe(Re.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(i.structuredContent)try{const o=r(i.structuredContent);if(!o.valid)throw new xe(Re.InvalidParams,`Structured content does not match the tool's output schema: ${o.errorMessage}`)}catch(o){throw o instanceof xe?o:new xe(Re.InvalidParams,`Failed to validate structured content: ${o instanceof Error?o.message:String(o)}`)}}return i}isToolTask(e){var t,s,i,r;return(r=(i=(s=(t=this._serverCapabilities)==null?void 0:t.tasks)==null?void 0:s.requests)==null?void 0:i.tools)!=null&&r.call?this._cachedKnownTaskTools.has(e):!1}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){var t;this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(const s of e){if(s.outputSchema){const r=this._jsonSchemaValidator.getValidator(s.outputSchema);this._cachedToolOutputValidators.set(s.name,r)}const i=(t=s.execution)==null?void 0:t.taskSupport;(i==="required"||i==="optional")&&this._cachedKnownTaskTools.add(s.name),i==="required"&&this._cachedRequiredTaskTools.add(s.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,t){const s=await this.request({method:"tools/list",params:e},gS,t);return this.cacheToolMetadata(s.tools),s}_setupListChangedHandler(e,t,s,i){const r=qz.safeParse(s);if(!r.success)throw new Error(`Invalid ${e} listChanged options: ${r.error.message}`);if(typeof s.onChanged!="function")throw new Error(`Invalid ${e} listChanged options: onChanged must be a function`);const{autoRefresh:o,debounceMs:a}=r.data,{onChanged:l}=s,c=async()=>{if(!o){l(null,null);return}try{const u=await i();l(null,u)}catch(u){const d=u instanceof Error?u:new Error(String(u));l(d,null)}},h=()=>{if(a){const u=this._listChangedDebounceTimers.get(e);u&&clearTimeout(u);const d=setTimeout(c,a);this._listChangedDebounceTimers.set(e,d)}else c()};this.setNotificationHandler(t,h)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}var tA={};/*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */var vx=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,PK=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,OP=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,RK=/\\([\u000b\u0020-\u00ff])/g,MK=/([\\"])/g,NP=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;tA.format=IK;tA.parse=OK;function IK(n){if(!n||typeof n!="object")throw new TypeError("argument obj is required");var e=n.parameters,t=n.type;if(!t||!NP.test(t))throw new TypeError("invalid type");var s=t;if(e&&typeof e=="object")for(var i,r=Object.keys(e).sort(),o=0;o0&&!PK.test(e))throw new TypeError("invalid parameter value");return'"'+e.replace(MK,"\\$1")+'"'}function DK(n){this.parameters=Object.create(null),this.type=n}function FK(n){if(n)try{return tA.parse(n).type}catch{const e=(n.split(";",1)[0]??"").trim().toLowerCase();return e===""||n.slice(e.length).includes(",")?void 0:e}}function hb(n){return n?n instanceof Headers?Object.fromEntries(n.entries()):Array.isArray(n)?Object.fromEntries(n):{...n}:{}}function jK(n=fetch,e){return e?async(t,s)=>{const i={...e,...s,headers:s!=null&&s.headers?{...hb(e.headers),...hb(s.headers)}:e.headers};return n(t,i)}:n}let nA;nA=globalThis.crypto;async function zK(n){return(await nA).getRandomValues(new Uint8Array(n))}async function HK(n){const e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",t=Math.pow(2,8)-Math.pow(2,8)%e.length;let s="";for(;s.length128)throw`Expected a length between 43 and 128. Received ${n}.`;const e=await BK(n),t=await qK(e);return{code_verifier:e,code_challenge:t}}const Bn=cj().superRefine((n,e)=>{if(!URL.canParse(n))return e.addIssue({code:ez.custom,message:"URL must be parseable",fatal:!0}),YL}).refine(n=>{const e=new URL(n);return e.protocol!=="javascript:"&&e.protocol!=="data:"&&e.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),VK=Wn({resource:j().url(),authorization_servers:ie(Bn).optional(),jwks_uri:j().url().optional(),scopes_supported:ie(j()).optional(),bearer_methods_supported:ie(j()).optional(),resource_signing_alg_values_supported:ie(j()).optional(),resource_name:j().optional(),resource_documentation:j().optional(),resource_policy_uri:j().url().optional(),resource_tos_uri:j().url().optional(),tls_client_certificate_bound_access_tokens:Je().optional(),authorization_details_types_supported:ie(j()).optional(),dpop_signing_alg_values_supported:ie(j()).optional(),dpop_bound_access_tokens_required:Je().optional()}),LP=Wn({issuer:j(),authorization_endpoint:Bn,token_endpoint:Bn,registration_endpoint:Bn.optional(),scopes_supported:ie(j()).optional(),response_types_supported:ie(j()),response_modes_supported:ie(j()).optional(),grant_types_supported:ie(j()).optional(),token_endpoint_auth_methods_supported:ie(j()).optional(),token_endpoint_auth_signing_alg_values_supported:ie(j()).optional(),service_documentation:Bn.optional(),revocation_endpoint:Bn.optional(),revocation_endpoint_auth_methods_supported:ie(j()).optional(),revocation_endpoint_auth_signing_alg_values_supported:ie(j()).optional(),introspection_endpoint:j().optional(),introspection_endpoint_auth_methods_supported:ie(j()).optional(),introspection_endpoint_auth_signing_alg_values_supported:ie(j()).optional(),code_challenge_methods_supported:ie(j()).optional(),client_id_metadata_document_supported:Je().optional()}),WK=Wn({issuer:j(),authorization_endpoint:Bn,token_endpoint:Bn,userinfo_endpoint:Bn.optional(),jwks_uri:Bn,registration_endpoint:Bn.optional(),scopes_supported:ie(j()).optional(),response_types_supported:ie(j()),response_modes_supported:ie(j()).optional(),grant_types_supported:ie(j()).optional(),acr_values_supported:ie(j()).optional(),subject_types_supported:ie(j()),id_token_signing_alg_values_supported:ie(j()),id_token_encryption_alg_values_supported:ie(j()).optional(),id_token_encryption_enc_values_supported:ie(j()).optional(),userinfo_signing_alg_values_supported:ie(j()).optional(),userinfo_encryption_alg_values_supported:ie(j()).optional(),userinfo_encryption_enc_values_supported:ie(j()).optional(),request_object_signing_alg_values_supported:ie(j()).optional(),request_object_encryption_alg_values_supported:ie(j()).optional(),request_object_encryption_enc_values_supported:ie(j()).optional(),token_endpoint_auth_methods_supported:ie(j()).optional(),token_endpoint_auth_signing_alg_values_supported:ie(j()).optional(),display_values_supported:ie(j()).optional(),claim_types_supported:ie(j()).optional(),claims_supported:ie(j()).optional(),service_documentation:j().optional(),claims_locales_supported:ie(j()).optional(),ui_locales_supported:ie(j()).optional(),claims_parameter_supported:Je().optional(),request_parameter_supported:Je().optional(),request_uri_parameter_supported:Je().optional(),require_request_uri_registration:Je().optional(),op_policy_uri:Bn.optional(),op_tos_uri:Bn.optional(),client_id_metadata_document_supported:Je().optional()}),GK=W({...WK.shape,...LP.pick({code_challenge_methods_supported:!0}).shape}),KK=W({access_token:j(),id_token:j().optional(),token_type:j(),expires_in:tz().optional(),scope:j().optional(),refresh_token:j().optional()}).strip(),ZK=W({error:j(),error_description:j().optional(),error_uri:j().optional()}),bx=Bn.optional().or(U("").transform(()=>{})),XK=W({redirect_uris:ie(Bn),token_endpoint_auth_method:j().optional(),grant_types:ie(j()).optional(),response_types:ie(j()).optional(),client_name:j().optional(),client_uri:Bn.optional(),logo_uri:bx,scope:j().optional(),contacts:ie(j()).optional(),tos_uri:bx,policy_uri:j().optional(),jwks_uri:Bn.optional(),jwks:V_().optional(),software_id:j().optional(),software_version:j().optional(),software_statement:j().optional()}).strip(),YK=W({client_id:j(),client_secret:j().optional(),client_id_issued_at:Fe().optional(),client_secret_expires_at:Fe().optional()}).strip(),JK=XK.merge(YK);W({error:j(),error_description:j().optional()}).strip();W({token:j(),token_type_hint:j().optional()}).strip();function QK(n){const e=typeof n=="string"?new URL(n):new URL(n.href);return e.hash="",e}function e9({requestedResource:n,configuredResource:e}){const t=typeof n=="string"?new URL(n):new URL(n.href),s=typeof e=="string"?new URL(e):new URL(e.href);if(t.origin!==s.origin||t.pathname.length=400&&n.status<500&&e!=="/"}async function d9(n,e,t,s){const i=new URL(n),r=(s==null?void 0:s.protocolVersion)??t0;let o;if(s!=null&&s.metadataUrl)o=new URL(s.metadataUrl);else{const l=h9(e,i.pathname);o=new URL(l,(s==null?void 0:s.metadataServerUrl)??i),o.search=i.search}let a=await _x(o,r,t);if(!(s!=null&&s.metadataUrl)&&u9(a,i.pathname)){const l=new URL(`/.well-known/${e}`,i);a=await _x(l,r,t)}return a}function f9(n){const e=typeof n=="string"?new URL(n):n,t=e.pathname!=="/",s=[];if(!t)return s.push({url:new URL("/.well-known/oauth-authorization-server",e.origin),type:"oauth"}),s.push({url:new URL("/.well-known/openid-configuration",e.origin),type:"oidc"}),s;let i=e.pathname;return i.endsWith("/")&&(i=i.slice(0,-1)),s.push({url:new URL(`/.well-known/oauth-authorization-server${i}`,e.origin),type:"oauth"}),s.push({url:new URL(`/.well-known/openid-configuration${i}`,e.origin),type:"oidc"}),s.push({url:new URL(`${i}/.well-known/openid-configuration`,e.origin),type:"oidc"}),s}async function jP(n,{fetchFn:e=fetch,protocolVersion:t=t0}={}){var r;const s={"MCP-Protocol-Version":t,Accept:"application/json"},i=f9(n);for(const{url:o,type:a}of i){const l=await sA(o,s,e);if(l){if(!l.ok){if(await((r=l.body)==null?void 0:r.cancel()),l.status>=400&&l.status<500)continue;throw new Error(`HTTP ${l.status} trying to load ${a==="oauth"?"OAuth":"OpenID provider"} metadata from ${o}`)}return a==="oauth"?LP.parse(await l.json()):GK.parse(await l.json())}}}async function p9(n,e){let t,s;try{t=await FP(n,{resourceMetadataUrl:e==null?void 0:e.resourceMetadataUrl},e==null?void 0:e.fetchFn),t.authorization_servers&&t.authorization_servers.length>0&&(s=t.authorization_servers[0])}catch{}s||(s=String(new URL("/",n)));const i=await jP(s,{fetchFn:e==null?void 0:e.fetchFn});return{authorizationServerUrl:s,authorizationServerMetadata:i,resourceMetadata:t}}async function m9(n,{metadata:e,clientInformation:t,redirectUrl:s,scope:i,state:r,resource:o}){let a;if(e){if(a=new URL(e.authorization_endpoint),!e.response_types_supported.includes(nv))throw new Error(`Incompatible auth server: does not support response type ${nv}`);if(e.code_challenge_methods_supported&&!e.code_challenge_methods_supported.includes(sv))throw new Error(`Incompatible auth server: does not support code challenge method ${sv}`)}else a=new URL("/authorize",n);const l=await UK(),c=l.code_verifier,h=l.code_challenge;return a.searchParams.set("response_type",nv),a.searchParams.set("client_id",t.client_id),a.searchParams.set("code_challenge",h),a.searchParams.set("code_challenge_method",sv),a.searchParams.set("redirect_uri",String(s)),r&&a.searchParams.set("state",r),i&&a.searchParams.set("scope",i),i!=null&&i.includes("offline_access")&&a.searchParams.append("prompt","consent"),o&&a.searchParams.set("resource",o.href),{authorizationUrl:a,codeVerifier:c}}function g9(n,e,t){return new URLSearchParams({grant_type:"authorization_code",code:n,code_verifier:e,redirect_uri:String(t)})}async function zP(n,{metadata:e,tokenRequestParams:t,clientInformation:s,addClientAuthentication:i,resource:r,fetchFn:o}){const a=e!=null&&e.token_endpoint?new URL(e.token_endpoint):new URL("/token",n),l=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(r&&t.set("resource",r.href),i)await i(l,t,a,e);else if(s){const h=(e==null?void 0:e.token_endpoint_auth_methods_supported)??[],u=s9(s,h);i9(u,s,l,t)}const c=await(o??fetch)(a,{method:"POST",headers:l,body:t});if(!c.ok)throw await DP(c);return KK.parse(await c.json())}async function y9(n,{metadata:e,clientInformation:t,refreshToken:s,resource:i,addClientAuthentication:r,fetchFn:o}){const a=new URLSearchParams({grant_type:"refresh_token",refresh_token:s}),l=await zP(n,{metadata:e,tokenRequestParams:a,clientInformation:t,addClientAuthentication:r,resource:i,fetchFn:o});return{refresh_token:s,...l}}async function v9(n,e,{metadata:t,resource:s,authorizationCode:i,fetchFn:r}={}){const o=n.clientMetadata.scope;let a;if(n.prepareTokenRequest&&(a=await n.prepareTokenRequest(o)),!a){if(!i)throw new Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!n.redirectUrl)throw new Error("redirectUrl is required for authorization_code flow");const c=await n.codeVerifier();a=g9(i,c,n.redirectUrl)}const l=await n.clientInformation();return zP(e,{metadata:t,tokenRequestParams:a,clientInformation:l??void 0,addClientAuthentication:n.addClientAuthentication,resource:s,fetchFn:r})}async function b9(n,{metadata:e,clientMetadata:t,scope:s,fetchFn:i}){let r;if(e){if(!e.registration_endpoint)throw new Error("Incompatible auth server: does not support dynamic client registration");r=new URL(e.registration_endpoint)}else r=new URL("/register",n);const o=await(i??fetch)(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,...s!==void 0?{scope:s}:{}})});if(!o.ok)throw await DP(o);return JK.parse(await o.json())}class ov extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}const Sx=10,w9=13,Wa=32;function av(n){}function _9(n){if(typeof n=="function")throw new TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");const{onEvent:e=av,onError:t=av,onRetry:s=av,onComment:i,maxBufferSize:r}=n,o=[];let a=0,l=!0,c,h="",u=0,d,p=!1;function m(A){if(p)throw new Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l&&(l=!1,A.charCodeAt(0)===239&&A.charCodeAt(1)===187&&A.charCodeAt(2)===191&&(A=A.slice(3))),o.length===0){const O=v(A);O!==""&&(o.push(O),a=O.length),g();return}if(A.indexOf(` +`)===-1&&A.indexOf("\r")===-1){o.push(A),a+=A.length,g();return}o.push(A);const $=o.join("");o.length=0,a=0;const E=v($);E!==""&&(o.push(E),a=E.length),g()}function g(){r!==void 0&&(a+h.length<=r||(p=!0,o.length=0,a=0,c=void 0,h="",u=0,d=void 0,t(new ov(`Buffered data exceeded max buffer size of ${r} characters`,{type:"max-buffer-size-exceeded"}))))}function v(A){let $=0;if(A.indexOf("\r")===-1){let E=A.indexOf(` +`,$);for(;E!==-1;){if($===E){u>0&&e({id:c,event:d,data:h}),c=void 0,h="",u=0,d=void 0,$=E+1,E=A.indexOf(` +`,$);continue}const O=A.charCodeAt($);if(Ax(A,$,O)){const F=A.charCodeAt($+5)===Wa?$+6:$+5,B=A.slice(F,E);if(u===0&&A.charCodeAt(E+1)===Sx){e({id:c,event:d,data:B}),c=void 0,h="",d=void 0,$=E+2,E=A.indexOf(` +`,$);continue}h=u===0?B:`${h} +${B}`,u++}else kx(A,$,O)?d=A.slice(A.charCodeAt($+6)===Wa?$+7:$+6,E)||void 0:y(A,$,E);$=E+1,E=A.indexOf(` +`,$)}return A.slice($)}for(;$20?`${A.slice(0,20)}…`:A}"`,{type:"unknown-field",field:A,value:$,line:E}));break}}function _(){u>0&&e({id:c,event:d,data:h}),c=void 0,h="",u=0,d=void 0}function k(A={}){if(A.consume&&o.length>0){const $=o.join("");y($,0,$.length)}l=!0,c=void 0,h="",u=0,d=void 0,o.length=0,a=0,p=!1}return{feed:m,reset:k}}function Ax(n,e,t){return t===100&&n.charCodeAt(e+1)===97&&n.charCodeAt(e+2)===116&&n.charCodeAt(e+3)===97&&n.charCodeAt(e+4)===58}function kx(n,e,t){return t===101&&n.charCodeAt(e+1)===118&&n.charCodeAt(e+2)===101&&n.charCodeAt(e+3)===110&&n.charCodeAt(e+4)===116&&n.charCodeAt(e+5)===58}class S9 extends TransformStream{constructor({onError:e,onRetry:t,onComment:s,maxBufferSize:i}={}){let r;super({start(o){r=_9({onEvent:a=>{o.enqueue(a)},onError(a){typeof e=="function"&&e(a),(e==="terminate"||a.type==="max-buffer-size-exceeded")&&o.error(a)},onRetry:t,onComment:s,maxBufferSize:i})},transform(o){r.feed(o)}})}}const A9={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2};class zc extends Error{constructor(e,t){super(`Streamable HTTP error: ${t}`),this.code=e}}class k9{constructor(e,t){this._hasCompletedAuthFlow=!1,this._url=e,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=t==null?void 0:t.requestInit,this._authProvider=t==null?void 0:t.authProvider,this._fetch=t==null?void 0:t.fetch,this._fetchWithInit=jK(t==null?void 0:t.fetch,t==null?void 0:t.requestInit),this._sessionId=t==null?void 0:t.sessionId,this._reconnectionOptions=(t==null?void 0:t.reconnectionOptions)??A9}async _authThenStart(){var t;if(!this._authProvider)throw new jc("No auth provider");let e;try{e=await gm(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(s){throw(t=this.onerror)==null||t.call(this,s),s}if(e!=="AUTHORIZED")throw new jc;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){var s;const e={};if(this._authProvider){const i=await this._authProvider.tokens();i&&(e.Authorization=`Bearer ${i.access_token}`)}this._sessionId&&(e["mcp-session-id"]=this._sessionId),this._protocolVersion&&(e["mcp-protocol-version"]=this._protocolVersion);const t=hb((s=this._requestInit)==null?void 0:s.headers);return new Headers({...e,...t})}async _startOrAuthSse(e){var s,i,r;const{resumptionToken:t}=e;try{const o=await this._commonHeaders();o.set("Accept","text/event-stream"),t&&o.set("last-event-id",t);const a=await(this._fetch??fetch)(this._url,{method:"GET",headers:o,signal:(s=this._abortController)==null?void 0:s.signal});if(!a.ok){if(await((i=a.body)==null?void 0:i.cancel()),a.status===401&&this._authProvider)return await this._authThenStart();if(a.status===405)return;throw new zc(a.status,`Failed to open SSE stream: ${a.statusText}`)}this._handleSseStream(a.body,e,!0)}catch(o){throw(r=this.onerror)==null||r.call(this,o),o}}_getNextReconnectionDelay(e){if(this._serverRetryMs!==void 0)return this._serverRetryMs;const t=this._reconnectionOptions.initialReconnectionDelay,s=this._reconnectionOptions.reconnectionDelayGrowFactor,i=this._reconnectionOptions.maxReconnectionDelay;return Math.min(t*Math.pow(s,e),i)}_scheduleReconnection(e,t=0){var r;const s=this._reconnectionOptions.maxRetries;if(t>=s){(r=this.onerror)==null||r.call(this,new Error(`Maximum reconnection attempts (${s}) exceeded.`));return}const i=this._getNextReconnectionDelay(t);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(e).catch(o=>{var a;(a=this.onerror)==null||a.call(this,new Error(`Failed to reconnect SSE stream: ${o instanceof Error?o.message:String(o)}`)),this._scheduleReconnection(e,t+1)})},i)}_handleSseStream(e,t,s){if(!e)return;const{onresumptiontoken:i,replayMessageId:r}=t;let o,a=!1,l=!1;(async()=>{var h,u,d,p;try{const m=e.pipeThrough(new TextDecoderStream).pipeThrough(new S9({onRetry:y=>{this._serverRetryMs=y}})).getReader();for(;;){const{value:y,done:w}=await m.read();if(w)break;if(y.id&&(o=y.id,a=!0,i==null||i(y.id)),!!y.data&&(!y.event||y.event==="message"))try{const _=qm.parse(JSON.parse(y.data));rd(_)&&(l=!0,r!==void 0&&(_.id=r)),(h=this.onmessage)==null||h.call(this,_)}catch(_){(u=this.onerror)==null||u.call(this,_)}}(s||a)&&!l&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:o,onresumptiontoken:i,replayMessageId:r},0)}catch(m){if((d=this.onerror)==null||d.call(this,new Error(`SSE stream disconnected: ${m}`)),(s||a)&&!l&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:o,onresumptiontoken:i,replayMessageId:r},0)}catch(y){(p=this.onerror)==null||p.call(this,new Error(`Failed to reconnect: ${y instanceof Error?y.message:String(y)}`))}}})()}async start(){if(this._abortController)throw new Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(e){if(!this._authProvider)throw new jc("No auth provider");if(await gm(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new jc("Failed to authorize")}async close(){var e,t;this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),(e=this._abortController)==null||e.abort(),(t=this.onclose)==null||t.call(this)}async send(e,t){var s,i,r,o,a,l;try{const{resumptionToken:c,onresumptiontoken:h}=t||{};if(c){this._startOrAuthSse({resumptionToken:c,replayMessageId:Uv(e)?e.id:void 0}).catch(_=>{var k;return(k=this.onerror)==null?void 0:k.call(this,_)});return}const u=await this._commonHeaders();u.set("content-type","application/json"),u.set("accept","application/json, text/event-stream");const d={...this._requestInit,method:"POST",headers:u,body:JSON.stringify(e),signal:(s=this._abortController)==null?void 0:s.signal},p=await(this._fetch??fetch)(this._url,d),m=p.headers.get("mcp-session-id");if(m&&(this._sessionId=m),!p.ok){const _=await p.text().catch(()=>null);if(p.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new zc(401,"Server returned 401 after successful authentication");const{resourceMetadataUrl:k,scope:A}=wx(p);if(this._resourceMetadataUrl=k,this._scope=A,await gm(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new jc;return this._hasCompletedAuthFlow=!0,this.send(e)}if(p.status===403&&this._authProvider){const{resourceMetadataUrl:k,scope:A,error:$}=wx(p);if($==="insufficient_scope"){const E=p.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===E)throw new zc(403,"Server returned 403 after trying upscoping");if(A&&(this._scope=A),k&&(this._resourceMetadataUrl=k),this._lastUpscopingHeader=E??void 0,await gm(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new jc;return this.send(e)}}throw new zc(p.status,`Error POSTing to endpoint: ${_}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,p.status===202){await((i=p.body)==null?void 0:i.cancel()),vz(e)&&this._startOrAuthSse({resumptionToken:void 0}).catch(_=>{var k;return(k=this.onerror)==null?void 0:k.call(this,_)});return}const v=(Array.isArray(e)?e:[e]).filter(_=>"method"in _&&"id"in _&&_.id!==void 0).length>0,y=p.headers.get("content-type"),w=FK(y);if(v)if(w==="text/event-stream")this._handleSseStream(p.body,{onresumptiontoken:h},!1);else if(w==="application/json"){const _=await p.json(),k=Array.isArray(_)?_.map(A=>qm.parse(A)):[qm.parse(_)];for(const A of k)(r=this.onmessage)==null||r.call(this,A)}else throw await((o=p.body)==null?void 0:o.cancel()),new zc(-1,`Unexpected content type: ${y}`);else await((a=p.body)==null?void 0:a.cancel())}catch(c){throw(l=this.onerror)==null||l.call(this,c),c}}get sessionId(){return this._sessionId}async terminateSession(){var e,t,s;if(this._sessionId)try{const i=await this._commonHeaders(),r={...this._requestInit,method:"DELETE",headers:i,signal:(e=this._abortController)==null?void 0:e.signal},o=await(this._fetch??fetch)(this._url,r);if(await((t=o.body)==null?void 0:t.cancel()),!o.ok&&o.status!==405)throw new zc(o.status,`Failed to terminate session: ${o.statusText}`);this._sessionId=void 0}catch(i){throw(s=this.onerror)==null||s.call(this,i),i}}setProtocolVersion(e){this._protocolVersion=e}get protocolVersion(){return this._protocolVersion}async resumeStream(e,t){await this._startOrAuthSse({resumptionToken:e,onresumptiontoken:t==null?void 0:t.onresumptiontoken})}}const x9="https://mcp.excalidraw.com/mcp",E9="mcp.excalidraw.com",C9="/api/v1/chat/mcp-apps/excalidraw",HP="ui://excalidraw/mcp-app.html",$9=["read_me","create_view"],BP=new Set(["export_to_excalidraw","save_checkpoint","read_checkpoint"]),T9=256*1024,P9=1024*1024,R9=1024*1024,M9=240,I9=720,O9=525;function N9(n){return!Number.isFinite(n)||n<=0?O9:Math.max(M9,Math.min(I9,Math.round(n*3/4)))}const L9={excalidraw:{id:"excalidraw",endpoint:x9,hostname:E9,resourceUri:HP,modelTools:$9,appTools:BP}};function D9(n){return L9[n]}function F9(){return new URL(rn(C9),window.location.origin)}class j9{constructor(){re(this,"client",new TK({name:"pwc-chat-mcp-app-host",version:"1"}));re(this,"transport",new k9(F9(),{requestInit:{credentials:"include"}}));re(this,"connected");re(this,"bytes",0);re(this,"closed",!1)}connect(){return this.closed?Promise.reject(new Error("App host client is closed")):(this.connected||(this.connected=this.client.connect(this.transport).then(()=>{},e=>{throw this.connected=void 0,this.retire(),e})),this.connected)}async readResource(e){if(e!==HP)throw new Error("Unapproved App resource");await this.connect();const s=(await this.client.readResource({uri:e})).contents[0];if(!s||!("text"in s)||typeof s.text!="string"||s.mimeType!=="text/html;profile=mcp-app")throw new Error("Incompatible App resource");this.consume(s.text,R9);const i=await q9(s.text);return{text:s.text,digest:i}}async callTool(e,t){if(!BP.has(e))throw new Error("Unapproved App tool");const s=JSON.stringify(t);this.consume(s);try{await this.connect();const i=await this.client.callTool({name:e,arguments:t});return this.consume(JSON.stringify(i)),i}catch(i){throw this.retire(),i}}close(){this.closed=!0,this.connected=void 0,this.transport.close()}retire(){this.close(),_a===this&&(_a=void 0)}consume(e,t=T9){const s=new TextEncoder().encode(e).byteLength;if(s>t||this.bytes+s>P9)throw new Error("App request exceeds host limit");this.bytes+=s}}let _a;function z9(){return _a??(_a=new j9),_a}function H9(){_a==null||_a.close(),_a=void 0}function B9(n){H9()}async function q9(n){const e=new TextEncoder().encode(n),t=await crypto.subtle.digest("SHA-256",e);return[...new Uint8Array(t)].map(s=>s.toString(16).padStart(2,"0")).join("")}function U9(n,e){let t=!1,s=0;const i=()=>{t||!n.contentWindow||(t=!0,e())};n.addEventListener("load",i);const r=window.requestAnimationFrame(()=>{s=window.requestAnimationFrame(i)});return()=>{t=!0,n.removeEventListener("load",i),window.cancelAnimationFrame(r),window.cancelAnimationFrame(s)}}const V9=({block:n})=>{const e=ee.useRef(null),t=ee.useRef(null),s=ee.useRef(!1),i=ee.useRef(n),r=ee.useRef(!1);i.current=n;const[o,a]=ee.useState(),[l,c]=ee.useState("loading"),[h,u]=ee.useState(n.height),[d,p]=ee.useState(!1),[m,g]=ee.useState(0),v=ee.useRef(null),y=n.input.elements,w=!!n.permissions.clipboardWrite;r.current=d;const _=ee.useCallback(()=>{p(!1),document.fullscreenElement&&document.exitFullscreen()},[]),k=ee.useCallback(()=>{var E,O;if(d){_();return}p(!0),(O=(E=v.current)==null?void 0:E.requestFullscreen)==null||O.call(E).catch(()=>{})},[_,d]),A=ee.useCallback(()=>{B9(),a(void 0),c("loading"),g(E=>E+1)},[]);ee.useEffect(()=>{const E=v.current;if(!E)return;const O=()=>{r.current||u(N9(E.clientWidth))};O();const F=new ResizeObserver(O);return F.observe(E),()=>F.disconnect()},[]),ee.useEffect(()=>{if(!d)return;const E=v.current,O=B=>{B.key==="Escape"&&(document.fullscreenElement||_())},F=()=>{document.fullscreenElement||p(!1)};return window.addEventListener("keydown",O),document.addEventListener("fullscreenchange",F),()=>{window.removeEventListener("keydown",O),document.removeEventListener("fullscreenchange",F),document.fullscreenElement===E&&document.exitFullscreen()}},[_,d]),ee.useEffect(()=>{D9(n.provider);{c("unavailable");return}},[m,n.provider,n.resource_uri]),ee.useEffect(()=>{if(!o||l!=="ready")return;const E=e.current;if(!E)return;let O=null;const F=[],B=U9(E,()=>{E.contentWindow&&(O=new XH(null,{name:"Papers with Code",version:"1"},{serverTools:{},openLinks:{},logging:{},...w?{clipboard:{write:{}}}:{}},{hostContext:{theme:document.documentElement.dataset.theme==="dark"?"dark":"light",displayMode:d?"fullscreen":"inline"}}),O.oncalltool=async({name:L,arguments:z})=>{if(i.current.public_fork&&L!=="export_to_excalidraw")throw new Error("Shared diagrams cannot mutate owner state");return z9().callTool(L,z??{})},O.onopenlink=async({url:L})=>{const z=new URL(L);if(z.protocol!=="https:"||z.hostname!=="excalidraw.com")throw new Error("External navigation denied");if(!window.confirm("This export opens Excalidraw and uploads the diagram to its service. Continue?"))throw new Error("Export cancelled");return window.open(z.href,"_blank","noopener,noreferrer"),{}},O.onsizechange=()=>{},O.oninitialized=()=>{const L=O;if(!L){c("error");return}s.current=!0;try{const z=JSON.parse(y),K={arguments:{elements:Array.isArray(z)?rB(z):z}};for(const D of[0,50,200,750])F.push(window.setTimeout(()=>{t.current===L&&L.sendToolInput(K)},D));L.sendToolResult(i.current.result)}catch{c("error")}},t.current=O,O.connect(new KH(E.contentWindow??void 0,E.contentWindow)).catch(()=>c("error")))});return()=>{B(),F.forEach(L=>window.clearTimeout(L)),s.current=!1,O==null||O.teardownResource({}).catch(()=>{}),t.current===O&&(t.current=null)}},[o,l,d,y,w,m]),ee.useEffect(()=>{var E;l!=="ready"||!s.current||(E=t.current)==null||E.sendToolResult(n.result).catch(()=>{})},[n.result,l]);const $=l==="unavailable"||l==="incompatible"||l==="error";return S.jsxs("section",{ref:v,className:`chat-mcp-app${d?" chat-mcp-app-fullscreen":""}`,"aria-label":"Interactive Excalidraw diagram",children:[S.jsx("header",{children:S.jsx("button",{type:"button",onClick:k,children:d?"Exit fullscreen":"Fullscreen"})}),l==="loading"&&S.jsx("div",{className:"chat-mcp-loading",role:"status",children:"Loading interactive diagram…"}),$&&S.jsxs("div",{className:"chat-mcp-error",children:["Interactive diagram unavailable. The cited text answer is still available.",S.jsx("button",{type:"button",onClick:A,children:"Retry diagram"})]}),o&&l==="ready"&&S.jsx("iframe",{ref:e,title:"Interactive Excalidraw diagram",sandbox:"allow-scripts",allow:w?"clipboard-write":void 0,srcDoc:o,style:{height:h}},m)]})};var jd={};jd.d=(n,e)=>{for(var t in e)jd.o(e,t)&&!jd.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})};jd.o=(n,e)=>Object.prototype.hasOwnProperty.call(n,e);var Me=globalThis.pdfjsLib={};jd.d(Me,{AbortException:()=>Rc,AnnotationEditorLayer:()=>Ow,AnnotationEditorParamsType:()=>Pe,AnnotationEditorType:()=>De,AnnotationEditorUIManager:()=>vc,AnnotationLayer:()=>q6,AnnotationMode:()=>Ho,ColorPicker:()=>oy,DOMSVGFactory:()=>mA,DrawLayer:()=>Fw,FeatureTest:()=>_s,GlobalWorkerOptions:()=>vo,ImageKind:()=>eg,InvalidPDFException:()=>UP,MissingPDFException:()=>Pc,OPS:()=>Ri,OutputScale:()=>Cb,PDFDataRangeTransport:()=>zR,PDFDateString:()=>lA,PDFWorker:()=>uh,PasswordResponses:()=>Z9,PermissionFlag:()=>K9,PixelsPerInch:()=>Ta,RenderingCancelledException:()=>oA,TextLayer:()=>tw,UnexpectedResponseException:()=>w0,Util:()=>_e,VerbosityLevel:()=>y0,XfaLayer:()=>BR,build:()=>A6,createValidAbsoluteUrl:()=>Q9,fetchData:()=>S0,getDocument:()=>p6,getFilenameFromUrl:()=>l8,getPdfFilenameFromUrl:()=>c8,getXfaPageViewport:()=>h8,isDataScheme:()=>A0,isPdfFile:()=>aA,noContextMenu:()=>wi,normalizeUnicode:()=>r8,setLayerDimensions:()=>yc,shadow:()=>Ze,version:()=>S6});const cs=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),qP=[1,0,0,1,0,0],Ab=[.001,0,0,.001,0,0],W9=1e7,lv=1.35,Ys={ANY:1,DISPLAY:2,PRINT:4,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,IS_EDITING:128,OPLIST:256},Ho={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},G9="pdfjs_internal_editor_",De={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15},Pe={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,HIGHLIGHT_COLOR:31,HIGHLIGHT_DEFAULT_COLOR:32,HIGHLIGHT_THICKNESS:33,HIGHLIGHT_FREE:34,HIGHLIGHT_SHOW_ALL:35},K9={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},ts={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},eg={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},hn={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,WIDGET:20},Xu={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},y0={ERRORS:0,WARNINGS:1,INFOS:5},Ri={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93},Z9={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let v0=y0.WARNINGS;function X9(n){Number.isInteger(n)&&(v0=n)}function Y9(){return v0}function b0(n){v0>=y0.INFOS&&console.log(`Info: ${n}`)}function Be(n){v0>=y0.WARNINGS&&console.log(`Warning: ${n}`)}function $t(n){throw new Error(n)}function yn(n,e){n||$t(e)}function J9(n){switch(n==null?void 0:n.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function Q9(n,e=null,t=null){if(!n)return null;try{if(t&&typeof n=="string"){if(t.addDefaultProtocol&&n.startsWith("www.")){const i=n.match(/\./g);(i==null?void 0:i.length)>=2&&(n=`http://${n}`)}if(t.tryConvertEncoding)try{n=i8(n)}catch{}}const s=e?new URL(n,e):new URL(n);if(J9(s))return s}catch{}return null}function Ze(n,e,t,s=!1){return Object.defineProperty(n,e,{value:t,enumerable:!s,configurable:!0,writable:!1}),t}const Fa=function(){function e(t,s){this.message=t,this.name=s}return e.prototype=new Error,e.constructor=e,e}();class kb extends Fa{constructor(e,t){super(e,"PasswordException"),this.code=t}}class xb extends Fa{constructor(e,t){super(e,"UnknownErrorException"),this.details=t}}class UP extends Fa{constructor(e){super(e,"InvalidPDFException")}}class Pc extends Fa{constructor(e){super(e,"MissingPDFException")}}class w0 extends Fa{constructor(e,t){super(e,"UnexpectedResponseException"),this.status=t}}class e8 extends Fa{constructor(e){super(e,"FormatError")}}class Rc extends Fa{constructor(e){super(e,"AbortException")}}function VP(n){(typeof n!="object"||(n==null?void 0:n.length)===void 0)&&$t("Invalid argument for bytesToString");const e=n.length,t=8192;if(e>24&255,n>>16&255,n>>8&255,n&255)}function iA(n){const e=Object.create(null);for(const[t,s]of n)e[t]=s;return e}function n8(){const n=new Uint8Array(4);return n[0]=1,new Uint32Array(n.buffer,0,1)[0]===1}function s8(){try{return new Function(""),!0}catch{return!1}}class _s{static get isLittleEndian(){return Ze(this,"isLittleEndian",n8())}static get isEvalSupported(){return Ze(this,"isEvalSupported",s8())}static get isOffscreenCanvasSupported(){return Ze(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get platform(){return typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.platform)=="string"?Ze(this,"platform",{isMac:navigator.platform.includes("Mac"),isWindows:navigator.platform.includes("Win"),isFirefox:typeof(navigator==null?void 0:navigator.userAgent)=="string"&&navigator.userAgent.includes("Firefox")}):Ze(this,"platform",{isMac:!1,isWindows:!1,isFirefox:!1})}static get isCSSRoundSupported(){var e,t;return Ze(this,"isCSSRoundSupported",(t=(e=globalThis.CSS)==null?void 0:e.supports)==null?void 0:t.call(e,"width: round(1.5px, 1px)"))}}const cv=Array.from(Array(256).keys(),n=>n.toString(16).padStart(2,"0"));var Eo,tg,Eb;class _e{static makeHexColor(e,t,s){return`#${cv[e]}${cv[t]}${cv[s]}`}static scaleMinMax(e,t){let s;e[0]?(e[0]<0&&(s=t[0],t[0]=t[2],t[2]=s),t[0]*=e[0],t[2]*=e[0],e[3]<0&&(s=t[1],t[1]=t[3],t[3]=s),t[1]*=e[3],t[3]*=e[3]):(s=t[0],t[0]=t[1],t[1]=s,s=t[2],t[2]=t[3],t[3]=s,e[1]<0&&(s=t[1],t[1]=t[3],t[3]=s),t[1]*=e[1],t[3]*=e[1],e[2]<0&&(s=t[0],t[0]=t[2],t[2]=s),t[0]*=e[2],t[2]*=e[2]),t[0]+=e[4],t[1]+=e[5],t[2]+=e[4],t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static applyTransform(e,t){const s=e[0]*t[0]+e[1]*t[2]+t[4],i=e[0]*t[1]+e[1]*t[3]+t[5];return[s,i]}static applyInverseTransform(e,t){const s=t[0]*t[3]-t[1]*t[2],i=(e[0]*t[3]-e[1]*t[2]+t[2]*t[5]-t[4]*t[3])/s,r=(-e[0]*t[1]+e[1]*t[0]+t[4]*t[1]-t[5]*t[0])/s;return[i,r]}static getAxialAlignedBoundingBox(e,t){const s=this.applyTransform(e,t),i=this.applyTransform(e.slice(2,4),t),r=this.applyTransform([e[0],e[3]],t),o=this.applyTransform([e[2],e[1]],t);return[Math.min(s[0],i[0],r[0],o[0]),Math.min(s[1],i[1],r[1],o[1]),Math.max(s[0],i[0],r[0],o[0]),Math.max(s[1],i[1],r[1],o[1])]}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e){const t=[e[0],e[2],e[1],e[3]],s=e[0]*t[0]+e[1]*t[2],i=e[0]*t[1]+e[1]*t[3],r=e[2]*t[0]+e[3]*t[2],o=e[2]*t[1]+e[3]*t[3],a=(s+o)/2,l=Math.sqrt((s+o)**2-4*(s*o-r*i))/2,c=a+l||1,h=a-l||1;return[Math.sqrt(c),Math.sqrt(h)]}static normalizeRect(e){const t=e.slice(0);return e[0]>e[2]&&(t[0]=e[2],t[2]=e[0]),e[1]>e[3]&&(t[1]=e[3],t[3]=e[1]),t}static intersect(e,t){const s=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),i=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(s>i)return null;const r=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),o=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return r>o?null:[s,r,i,o]}static bezierBoundingBox(e,t,s,i,r,o,a,l,c){return c?(c[0]=Math.min(c[0],e,a),c[1]=Math.min(c[1],t,l),c[2]=Math.max(c[2],e,a),c[3]=Math.max(c[3],t,l)):c=[Math.min(e,a),Math.min(t,l),Math.max(e,a),Math.max(t,l)],T(this,Eo,Eb).call(this,e,s,r,a,t,i,o,l,3*(-e+3*(s-r)+a),6*(e-2*s+r),3*(s-e),c),T(this,Eo,Eb).call(this,e,s,r,a,t,i,o,l,3*(-t+3*(i-o)+l),6*(t-2*i+o),3*(i-t),c),c}}Eo=new WeakSet,tg=function(e,t,s,i,r,o,a,l,c,h){if(c<=0||c>=1)return;const u=1-c,d=c*c,p=d*c,m=u*(u*(u*e+3*c*t)+3*d*s)+p*i,g=u*(u*(u*r+3*c*o)+3*d*a)+p*l;h[0]=Math.min(h[0],m),h[1]=Math.min(h[1],g),h[2]=Math.max(h[2],m),h[3]=Math.max(h[3],g)},Eb=function(e,t,s,i,r,o,a,l,c,h,u,d){if(Math.abs(c)<1e-12){Math.abs(h)>=1e-12&&T(this,Eo,tg).call(this,e,t,s,i,r,o,a,l,-u/h,d);return}const p=h**2-4*u*c;if(p<0)return;const m=Math.sqrt(p),g=2*c;T(this,Eo,tg).call(this,e,t,s,i,r,o,a,l,(-h+m)/g,d),T(this,Eo,tg).call(this,e,t,s,i,r,o,a,l,(-h-m)/g,d)},R(_e,Eo);function i8(n){return decodeURIComponent(escape(n))}let hv=null,xx=null;function r8(n){return hv||(hv=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,xx=new Map([["ſt","ſt"]])),n.replaceAll(hv,(e,t,s)=>t?t.normalize("NFKC"):xx.get(s))}function o8(){if(typeof crypto<"u"&&typeof(crypto==null?void 0:crypto.randomUUID)=="function")return crypto.randomUUID();const n=new Uint8Array(32);if(typeof crypto<"u"&&typeof(crypto==null?void 0:crypto.getRandomValues)=="function")crypto.getRandomValues(n);else for(let e=0;e<32;e++)n[e]=Math.floor(Math.random()*255);return VP(n)}const rA="pdfjs_internal_id_",Br={BEZIER_CURVE_TO:0,MOVE_TO:1,LINE_TO:2,QUADRATIC_CURVE_TO:3,RESTORE:4,SAVE:5,SCALE:6,TRANSFORM:7,TRANSLATE:8};function a8(n){return Uint8Array.prototype.toBase64?n.toBase64():btoa(VP(n))}const Ur="http://www.w3.org/2000/svg",cl=class cl{};re(cl,"CSS",96),re(cl,"PDF",72),re(cl,"PDF_TO_CSS_UNITS",cl.CSS/cl.PDF);let Ta=cl;async function S0(n,e="text"){if(cd(n,document.baseURI)){const t=await fetch(n);if(!t.ok)throw new Error(t.statusText);switch(e){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"json":return t.json()}return t.text()}return new Promise((t,s)=>{const i=new XMLHttpRequest;i.open("GET",n,!0),i.responseType=e,i.onreadystatechange=()=>{if(i.readyState===XMLHttpRequest.DONE){if(i.status===200||i.status===0){switch(e){case"arraybuffer":case"blob":case"json":t(i.response);return}t(i.responseText);return}s(new Error(i.statusText))}},i.send(null)})}class qp{constructor({viewBox:e,scale:t,rotation:s,offsetX:i=0,offsetY:r=0,dontFlip:o=!1}){this.viewBox=e,this.scale=t,this.rotation=s,this.offsetX=i,this.offsetY=r;const a=(e[2]+e[0])/2,l=(e[3]+e[1])/2;let c,h,u,d;switch(s%=360,s<0&&(s+=360),s){case 180:c=-1,h=0,u=0,d=1;break;case 90:c=0,h=1,u=1,d=0;break;case 270:c=0,h=-1,u=-1,d=0;break;case 0:c=1,h=0,u=0,d=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}o&&(u=-u,d=-d);let p,m,g,v;c===0?(p=Math.abs(l-e[1])*t+i,m=Math.abs(a-e[0])*t+r,g=(e[3]-e[1])*t,v=(e[2]-e[0])*t):(p=Math.abs(a-e[0])*t+i,m=Math.abs(l-e[1])*t+r,g=(e[2]-e[0])*t,v=(e[3]-e[1])*t),this.transform=[c*t,h*t,u*t,d*t,p-c*t*a-u*t*l,m-h*t*a-d*t*l],this.width=g,this.height=v}get rawDims(){const{viewBox:e}=this;return Ze(this,"rawDims",{pageWidth:e[2]-e[0],pageHeight:e[3]-e[1],pageX:e[0],pageY:e[1]})}clone({scale:e=this.scale,rotation:t=this.rotation,offsetX:s=this.offsetX,offsetY:i=this.offsetY,dontFlip:r=!1}={}){return new qp({viewBox:this.viewBox.slice(),scale:e,rotation:t,offsetX:s,offsetY:i,dontFlip:r})}convertToViewportPoint(e,t){return _e.applyTransform([e,t],this.transform)}convertToViewportRectangle(e){const t=_e.applyTransform([e[0],e[1]],this.transform),s=_e.applyTransform([e[2],e[3]],this.transform);return[t[0],t[1],s[0],s[1]]}convertToPdfPoint(e,t){return _e.applyInverseTransform([e,t],this.transform)}}class oA extends Fa{constructor(e,t=0){super(e,"RenderingCancelledException"),this.extraDelay=t}}function A0(n){const e=n.length;let t=0;for(;t=1&&i<=12?i-1:0;let r=parseInt(t[3],10);r=r>=1&&r<=31?r:1;let o=parseInt(t[4],10);o=o>=0&&o<=23?o:0;let a=parseInt(t[5],10);a=a>=0&&a<=59?a:0;let l=parseInt(t[6],10);l=l>=0&&l<=59?l:0;const c=t[7]||"Z";let h=parseInt(t[8],10);h=h>=0&&h<=23?h:0;let u=parseInt(t[9],10)||0;return u=u>=0&&u<=59?u:0,c==="-"?(o+=h,a+=u):c==="+"&&(o-=h,a-=u),new Date(Date.UTC(s,i,r,o,a,l))}}df=new WeakMap,R(lA,df);function h8(n,{scale:e=1,rotation:t=0}){const{width:s,height:i}=n.attributes.style,r=[0,0,parseInt(s),parseInt(i)];return new qp({viewBox:r,scale:e,rotation:t})}function cA(n){if(n.startsWith("#")){const e=parseInt(n.slice(1),16);return[(e&16711680)>>16,(e&65280)>>8,e&255]}return n.startsWith("rgb(")?n.slice(4,-1).split(",").map(e=>parseInt(e)):n.startsWith("rgba(")?n.slice(5,-1).split(",").map(e=>parseInt(e)).slice(0,3):(Be(`Not a valid color format: "${n}"`),[0,0,0])}function u8(n){const e=document.createElement("span");e.style.visibility="hidden",document.body.append(e);for(const t of n.keys()){e.style.color=t;const s=window.getComputedStyle(e).color;n.set(t,cA(s))}e.remove()}function jt(n){const{a:e,b:t,c:s,d:i,e:r,f:o}=n.getTransform();return[e,t,s,i,r,o]}function qr(n){const{a:e,b:t,c:s,d:i,e:r,f:o}=n.getTransform().invertSelf();return[e,t,s,i,r,o]}function yc(n,e,t=!1,s=!0){if(e instanceof qp){const{pageWidth:i,pageHeight:r}=e.rawDims,{style:o}=n,a=_s.isCSSRoundSupported,l=`var(--scale-factor) * ${i}px`,c=`var(--scale-factor) * ${r}px`,h=a?`round(down, ${l}, var(--scale-round-x, 1px))`:`calc(${l})`,u=a?`round(down, ${c}, var(--scale-round-y, 1px))`:`calc(${c})`;!t||e.rotation%180===0?(o.width=h,o.height=u):(o.width=u,o.height=h)}s&&n.setAttribute("data-main-rotation",e.rotation)}class Cb{constructor(){const e=window.devicePixelRatio||1;this.sx=e,this.sy=e}get scaled(){return this.sx!==1||this.sy!==1}get symmetric(){return this.sx===this.sy}}var Uo,fl,Mi,pl,ff,pf,Ty,WP,As,GP,KP,ng,ZP,Tb;const Vr=class Vr{constructor(e){R(this,As);R(this,Uo,null);R(this,fl,null);R(this,Mi);R(this,pl,null);R(this,ff,null);C(this,Mi,e),f(Vr,pf)||C(Vr,pf,Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button"}))}render(){const e=C(this,Uo,document.createElement("div"));e.classList.add("editToolbar","hidden"),e.setAttribute("role","toolbar");const t=f(this,Mi)._uiManager._signal;e.addEventListener("contextmenu",wi,{signal:t}),e.addEventListener("pointerdown",T(Vr,Ty,WP),{signal:t});const s=C(this,pl,document.createElement("div"));s.className="buttons",e.append(s);const i=f(this,Mi).toolbarPosition;if(i){const{style:r}=e,o=f(this,Mi)._uiManager.direction==="ltr"?1-i[0]:i[0];r.insetInlineEnd=`${100*o}%`,r.top=`calc(${100*i[1]}% + var(--editor-toolbar-vert-offset))`}return T(this,As,ZP).call(this),e}get div(){return f(this,Uo)}hide(){var e;f(this,Uo).classList.add("hidden"),(e=f(this,fl))==null||e.hideDropdown()}show(){var e;f(this,Uo).classList.remove("hidden"),(e=f(this,ff))==null||e.shown()}async addAltText(e){const t=await e.render();T(this,As,ng).call(this,t),f(this,pl).prepend(t,f(this,As,Tb)),C(this,ff,e)}addColorPicker(e){C(this,fl,e);const t=e.renderButton();T(this,As,ng).call(this,t),f(this,pl).prepend(t,f(this,As,Tb))}remove(){var e;f(this,Uo).remove(),(e=f(this,fl))==null||e.destroy(),C(this,fl,null)}};Uo=new WeakMap,fl=new WeakMap,Mi=new WeakMap,pl=new WeakMap,ff=new WeakMap,pf=new WeakMap,Ty=new WeakSet,WP=function(e){e.stopPropagation()},As=new WeakSet,GP=function(e){f(this,Mi)._focusEventsAllowed=!1,e.preventDefault(),e.stopPropagation()},KP=function(e){f(this,Mi)._focusEventsAllowed=!0,e.preventDefault(),e.stopPropagation()},ng=function(e){const t=f(this,Mi)._uiManager._signal;e.addEventListener("focusin",T(this,As,GP).bind(this),{capture:!0,signal:t}),e.addEventListener("focusout",T(this,As,KP).bind(this),{capture:!0,signal:t}),e.addEventListener("contextmenu",wi,{signal:t})},ZP=function(){const{editorType:e,_uiManager:t}=f(this,Mi),s=document.createElement("button");s.className="delete",s.tabIndex=0,s.setAttribute("data-l10n-id",f(Vr,pf)[e]),T(this,As,ng).call(this,s),s.addEventListener("click",i=>{t.delete()},{signal:t._signal}),f(this,pl).append(s)},Tb=function(){const e=document.createElement("div");return e.className="divider",e},R(Vr,Ty),R(Vr,pf,null);let $b=Vr;var mf,ml,gl,Na,XP,YP,JP;class d8{constructor(e){R(this,Na);R(this,mf,null);R(this,ml,null);R(this,gl);C(this,gl,e)}show(e,t,s){const[i,r]=T(this,Na,YP).call(this,t,s),{style:o}=f(this,ml)||C(this,ml,T(this,Na,XP).call(this));e.append(f(this,ml)),o.insetInlineEnd=`${100*i}%`,o.top=`calc(${100*r}% + var(--editor-toolbar-vert-offset))`}hide(){f(this,ml).remove()}}mf=new WeakMap,ml=new WeakMap,gl=new WeakMap,Na=new WeakSet,XP=function(){const e=C(this,ml,document.createElement("div"));e.className="editToolbar",e.setAttribute("role","toolbar"),e.addEventListener("contextmenu",wi,{signal:f(this,gl)._signal});const t=C(this,mf,document.createElement("div"));return t.className="buttons",e.append(t),T(this,Na,JP).call(this),e},YP=function(e,t){let s=0,i=0;for(const r of e){const o=r.y+r.height;if(os){i=a,s=o;continue}t?a>i&&(i=a):a{f(this,gl).highlightSelection("floating_button")},{signal:s}),f(this,mf).append(e)};function sy(n,e,t){for(const s of t)e.addEventListener(s,n[s].bind(n))}function f8(n){return Math.round(Math.min(255,Math.max(1,255*n))).toString(16).padStart(2,"0")}var Py;class p8{constructor(){R(this,Py,0)}get id(){return`${G9}${ps(this,Py)._++}`}}Py=new WeakMap;var bh,gf,ss,wh,sg;const GA=class GA{constructor(){R(this,wh);R(this,bh,o8());R(this,gf,0);R(this,ss,null)}static get _isSVGFittingCanvas(){const e='data:image/svg+xml;charset=UTF-8,',s=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),i=new Image;i.src=e;const r=i.decode().then(()=>(s.drawImage(i,0,0,1,1,0,0,1,3),new Uint32Array(s.getImageData(0,0,1,1).data.buffer)[0]===0));return Ze(this,"_isSVGFittingCanvas",r)}async getFromFile(e){const{lastModified:t,name:s,size:i,type:r}=e;return T(this,wh,sg).call(this,`${t}_${s}_${i}_${r}`,e)}async getFromUrl(e){return T(this,wh,sg).call(this,e,e)}async getFromBlob(e,t){const s=await t;return T(this,wh,sg).call(this,e,s)}async getFromId(e){f(this,ss)||C(this,ss,new Map);const t=f(this,ss).get(e);if(!t)return null;if(t.bitmap)return t.refCounter+=1,t;if(t.file)return this.getFromFile(t.file);if(t.blobPromise){const{blobPromise:s}=t;return delete t.blobPromise,this.getFromBlob(t.id,s)}return this.getFromUrl(t.url)}getFromCanvas(e,t){f(this,ss)||C(this,ss,new Map);let s=f(this,ss).get(e);if(s!=null&&s.bitmap)return s.refCounter+=1,s;const i=new OffscreenCanvas(t.width,t.height);return i.getContext("2d").drawImage(t,0,0),s={bitmap:i.transferToImageBitmap(),id:`image_${f(this,bh)}_${ps(this,gf)._++}`,refCounter:1,isSvg:!1},f(this,ss).set(e,s),f(this,ss).set(s.id,s),s}getSvgUrl(e){const t=f(this,ss).get(e);return t!=null&&t.isSvg?t.svgUrl:null}deleteId(e){var i;f(this,ss)||C(this,ss,new Map);const t=f(this,ss).get(e);if(!t||(t.refCounter-=1,t.refCounter!==0))return;const{bitmap:s}=t;if(!t.url&&!t.file){const r=new OffscreenCanvas(s.width,s.height);r.getContext("bitmaprenderer").transferFromImageBitmap(s),t.blobPromise=r.convertToBlob()}(i=s.close)==null||i.call(s),t.bitmap=null}isValidId(e){return e.startsWith(`image_${f(this,bh)}_`)}};bh=new WeakMap,gf=new WeakMap,ss=new WeakMap,wh=new WeakSet,sg=async function(e,t){f(this,ss)||C(this,ss,new Map);let s=f(this,ss).get(e);if(s===null)return null;if(s!=null&&s.bitmap)return s.refCounter+=1,s;try{s||(s={bitmap:null,id:`image_${f(this,bh)}_${ps(this,gf)._++}`,refCounter:0,isSvg:!1});let i;if(typeof t=="string"?(s.url=t,i=await S0(t,"blob")):t instanceof File?i=s.file=t:t instanceof Blob&&(i=t),i.type==="image/svg+xml"){const r=GA._isSVGFittingCanvas,o=new FileReader,a=new Image,l=new Promise((c,h)=>{a.onload=()=>{s.bitmap=a,s.isSvg=!0,c()},o.onload=async()=>{const u=s.svgUrl=o.result;a.src=await r?`${u}#svgView(preserveAspectRatio(none))`:u},a.onerror=o.onerror=h});o.readAsDataURL(i),await l}else s.bitmap=await createImageBitmap(i);s.refCounter=1}catch(i){console.error(i),s=null}return f(this,ss).set(e,s),s&&f(this,ss).set(s.id,s),s};let Pb=GA;var Sn,Vo,yf,An;class m8{constructor(e=128){R(this,Sn,[]);R(this,Vo,!1);R(this,yf);R(this,An,-1);C(this,yf,e)}add({cmd:e,undo:t,post:s,mustExec:i,type:r=NaN,overwriteIfSameType:o=!1,keepUndo:a=!1}){if(i&&e(),f(this,Vo))return;const l={cmd:e,undo:t,post:s,type:r};if(f(this,An)===-1){f(this,Sn).length>0&&(f(this,Sn).length=0),C(this,An,0),f(this,Sn).push(l);return}if(o&&f(this,Sn)[f(this,An)].type===r){a&&(l.undo=f(this,Sn)[f(this,An)].undo),f(this,Sn)[f(this,An)]=l;return}const c=f(this,An)+1;c===f(this,yf)?f(this,Sn).splice(0,1):(C(this,An,c),cr===t[o]))return My._colorsMapping.get(s);return t}getHexCode(e){const t=this._colors.get(e);return t?_e.makeHexColor(...t):e}};re(My,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));let Rb=My;var _h,qs,un,Fn,Sh,Gr,Ah,Ii,Wo,kh,yl,ar,Oi,vl,vf,bf,xh,wf,lr,Go,Eh,Ko,cr,Iy,Zo,_f,Xo,bl,Sf,Af,kn,ht,Kr,wl,kf,xf,Yo,hr,Zr,Ef,oi,he,ig,Mb,eR,tR,rg,nR,sR,iR,Ib,rR,Ob,Nb,oR,ms,Lo,aR,lR,Lb,cR,hd,Db;const rh=class rh{constructor(e,t,s,i,r,o,a,l,c,h,u){R(this,he);R(this,_h,new AbortController);R(this,qs,null);R(this,un,new Map);R(this,Fn,new Map);R(this,Sh,null);R(this,Gr,null);R(this,Ah,null);R(this,Ii,new m8);R(this,Wo,null);R(this,kh,0);R(this,yl,new Set);R(this,ar,null);R(this,Oi,null);R(this,vl,new Set);R(this,vf,!1);R(this,bf,!1);R(this,xh,!1);R(this,wf,null);R(this,lr,null);R(this,Go,null);R(this,Eh,null);R(this,Ko,!1);R(this,cr,null);R(this,Iy,new p8);R(this,Zo,!1);R(this,_f,!1);R(this,Xo,null);R(this,bl,null);R(this,Sf,null);R(this,Af,null);R(this,kn,De.NONE);R(this,ht,new Set);R(this,Kr,null);R(this,wl,null);R(this,kf,null);R(this,xf,{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1});R(this,Yo,[0,0]);R(this,hr,null);R(this,Zr,null);R(this,Ef,null);R(this,oi,null);const d=this._signal=f(this,_h).signal;C(this,Zr,e),C(this,Ef,t),C(this,Sh,s),this._eventBus=i,i._on("editingaction",this.onEditingAction.bind(this),{signal:d}),i._on("pagechanging",this.onPageChanging.bind(this),{signal:d}),i._on("scalechanging",this.onScaleChanging.bind(this),{signal:d}),i._on("rotationchanging",this.onRotationChanging.bind(this),{signal:d}),i._on("setpreference",this.onSetPreference.bind(this),{signal:d}),i._on("switchannotationeditorparams",p=>this.updateParams(p.type,p.value),{signal:d}),T(this,he,nR).call(this),T(this,he,oR).call(this),T(this,he,Ib).call(this),C(this,Gr,r.annotationStorage),C(this,wf,r.filterFactory),C(this,wl,o),C(this,Eh,a||null),C(this,vf,l),C(this,bf,c),C(this,xh,h),C(this,Af,u||null),this.viewParameters={realScale:Ta.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1}static get _keyboardManager(){const e=rh.prototype,t=o=>f(o,Zr).contains(document.activeElement)&&document.activeElement.tagName!=="BUTTON"&&o.hasSomethingToControl(),s=(o,{target:a})=>{if(a instanceof HTMLInputElement){const{type:l}=a;return l!=="text"&&l!=="number"}return!0},i=this.TRANSLATE_SMALL,r=this.TRANSLATE_BIG;return Ze(this,"_keyboardManager",new Up([[["ctrl+a","mac+meta+a"],e.selectAll,{checker:s}],[["ctrl+z","mac+meta+z"],e.undo,{checker:s}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],e.redo,{checker:s}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],e.delete,{checker:s}],[["Enter","mac+Enter"],e.addNewEditorFromKeyboard,{checker:(o,{target:a})=>!(a instanceof HTMLButtonElement)&&f(o,Zr).contains(a)&&!o.isEnterHandled}],[[" ","mac+ "],e.addNewEditorFromKeyboard,{checker:(o,{target:a})=>!(a instanceof HTMLButtonElement)&&f(o,Zr).contains(document.activeElement)}],[["Escape","mac+Escape"],e.unselectAll],[["ArrowLeft","mac+ArrowLeft"],e.translateSelectedEditors,{args:[-i,0],checker:t}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e.translateSelectedEditors,{args:[-r,0],checker:t}],[["ArrowRight","mac+ArrowRight"],e.translateSelectedEditors,{args:[i,0],checker:t}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e.translateSelectedEditors,{args:[r,0],checker:t}],[["ArrowUp","mac+ArrowUp"],e.translateSelectedEditors,{args:[0,-i],checker:t}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e.translateSelectedEditors,{args:[0,-r],checker:t}],[["ArrowDown","mac+ArrowDown"],e.translateSelectedEditors,{args:[0,i],checker:t}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e.translateSelectedEditors,{args:[0,r],checker:t}]]))}destroy(){var e,t,s,i;(e=f(this,oi))==null||e.resolve(),C(this,oi,null),(t=f(this,_h))==null||t.abort(),C(this,_h,null),this._signal=null;for(const r of f(this,Fn).values())r.destroy();f(this,Fn).clear(),f(this,un).clear(),f(this,vl).clear(),C(this,qs,null),f(this,ht).clear(),f(this,Ii).destroy(),(s=f(this,Sh))==null||s.destroy(),(i=f(this,cr))==null||i.hide(),C(this,cr,null),f(this,lr)&&(clearTimeout(f(this,lr)),C(this,lr,null)),f(this,hr)&&(clearTimeout(f(this,hr)),C(this,hr,null))}combinedSignal(e){return AbortSignal.any([this._signal,e.signal])}get mlManager(){return f(this,Af)}get useNewAltTextFlow(){return f(this,bf)}get useNewAltTextWhenAddingImage(){return f(this,xh)}get hcmFilter(){return Ze(this,"hcmFilter",f(this,wl)?f(this,wf).addHCMFilter(f(this,wl).foreground,f(this,wl).background):"none")}get direction(){return Ze(this,"direction",getComputedStyle(f(this,Zr)).direction)}get highlightColors(){return Ze(this,"highlightColors",f(this,Eh)?new Map(f(this,Eh).split(",").map(e=>e.split("=").map(t=>t.trim()))):null)}get highlightColorNames(){return Ze(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,e=>e.reverse())):null)}setMainHighlightColorPicker(e){C(this,Sf,e)}editAltText(e,t=!1){var s;(s=f(this,Sh))==null||s.editAltText(this,e,t)}switchToMode(e,t){this._eventBus.on("annotationeditormodechanged",t,{once:!0,signal:this._signal}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:e})}setPreference(e,t){this._eventBus.dispatch("setpreference",{source:this,name:e,value:t})}onSetPreference({name:e,value:t}){switch(e){case"enableNewAltTextWhenAddingImage":C(this,xh,t);break}}onPageChanging({pageNumber:e}){C(this,kh,e-1)}focusMainContainer(){f(this,Zr).focus()}findParent(e,t){for(const s of f(this,Fn).values()){const{x:i,y:r,width:o,height:a}=s.div.getBoundingClientRect();if(e>=i&&e<=i+o&&t>=r&&t<=r+a)return s}return null}disableUserSelect(e=!1){f(this,Ef).classList.toggle("noUserSelect",e)}addShouldRescale(e){f(this,vl).add(e)}removeShouldRescale(e){f(this,vl).delete(e)}onScaleChanging({scale:e}){this.commitOrRemove(),this.viewParameters.realScale=e*Ta.PDF_TO_CSS_UNITS;for(const t of f(this,vl))t.onScaleChanging()}onRotationChanging({pagesRotation:e}){this.commitOrRemove(),this.viewParameters.rotation=e}highlightSelection(e=""){const t=document.getSelection();if(!t||t.isCollapsed)return;const{anchorNode:s,anchorOffset:i,focusNode:r,focusOffset:o}=t,a=t.toString(),c=T(this,he,ig).call(this,t).closest(".textLayer"),h=this.getSelectionBoxes(c);if(!h)return;t.empty();const u=T(this,he,Mb).call(this,c),d=f(this,kn)===De.NONE,p=()=>{u==null||u.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:e,boxes:h,anchorNode:s,anchorOffset:i,focusNode:r,focusOffset:o,text:a}),d&&this.showAllEditors("highlight",!0,!0)};if(d){this.switchToMode(De.HIGHLIGHT,p);return}p()}addToAnnotationStorage(e){!e.isEmpty()&&f(this,Gr)&&!f(this,Gr).has(e.id)&&f(this,Gr).setValue(e.id,e)}blur(){if(this.isShiftKeyDown=!1,f(this,Ko)&&(C(this,Ko,!1),T(this,he,rg).call(this,"main_toolbar")),!this.hasSelection)return;const{activeElement:e}=document;for(const t of f(this,ht))if(t.div.contains(e)){C(this,bl,[t,e]),t._focusEventsAllowed=!1;break}}focus(){if(!f(this,bl))return;const[e,t]=f(this,bl);C(this,bl,null),t.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this._signal}),t.focus()}addEditListeners(){T(this,he,Ib).call(this),T(this,he,Ob).call(this)}removeEditListeners(){T(this,he,rR).call(this),T(this,he,Nb).call(this)}dragOver(e){for(const{type:t}of e.dataTransfer.items)for(const s of f(this,Oi))if(s.isHandlingMimeForPasting(t)){e.dataTransfer.dropEffect="copy",e.preventDefault();return}}drop(e){for(const t of e.dataTransfer.items)for(const s of f(this,Oi))if(s.isHandlingMimeForPasting(t.type)){s.paste(t,this.currentLayer),e.preventDefault();return}}copy(e){var s;if(e.preventDefault(),(s=f(this,qs))==null||s.commitOrRemove(),!this.hasSelection)return;const t=[];for(const i of f(this,ht)){const r=i.serialize(!0);r&&t.push(r)}t.length!==0&&e.clipboardData.setData("application/pdfjs",JSON.stringify(t))}cut(e){this.copy(e),this.delete()}async paste(e){e.preventDefault();const{clipboardData:t}=e;for(const r of t.items)for(const o of f(this,Oi))if(o.isHandlingMimeForPasting(r.type)){o.paste(r,this.currentLayer);return}let s=t.getData("application/pdfjs");if(!s)return;try{s=JSON.parse(s)}catch(r){Be(`paste: "${r.message}".`);return}if(!Array.isArray(s))return;this.unselectAll();const i=this.currentLayer;try{const r=[];for(const l of s){const c=await i.deserialize(l);if(!c)return;r.push(c)}const o=()=>{for(const l of r)T(this,he,Lb).call(this,l);T(this,he,Db).call(this,r)},a=()=>{for(const l of r)l.remove()};this.addCommands({cmd:o,undo:a,mustExec:!0})}catch(r){Be(`paste: "${r.message}".`)}}keydown(e){!this.isShiftKeyDown&&e.key==="Shift"&&(this.isShiftKeyDown=!0),f(this,kn)!==De.NONE&&!this.isEditorHandlingKeyboard&&rh._keyboardManager.exec(this,e)}keyup(e){this.isShiftKeyDown&&e.key==="Shift"&&(this.isShiftKeyDown=!1,f(this,Ko)&&(C(this,Ko,!1),T(this,he,rg).call(this,"main_toolbar")))}onEditingAction({name:e}){switch(e){case"undo":case"redo":case"delete":case"selectAll":this[e]();break;case"highlightSelection":this.highlightSelection("context_menu");break}}setEditingState(e){e?(T(this,he,sR).call(this),T(this,he,Ob).call(this),T(this,he,ms).call(this,{isEditing:f(this,kn)!==De.NONE,isEmpty:T(this,he,hd).call(this),hasSomethingToUndo:f(this,Ii).hasSomethingToUndo(),hasSomethingToRedo:f(this,Ii).hasSomethingToRedo(),hasSelectedEditor:!1})):(T(this,he,iR).call(this),T(this,he,Nb).call(this),T(this,he,ms).call(this,{isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(e){if(!f(this,Oi)){C(this,Oi,e);for(const t of f(this,Oi))T(this,he,Lo).call(this,t.defaultPropertiesToUpdate)}}getId(){return f(this,Iy).id}get currentLayer(){return f(this,Fn).get(f(this,kh))}getLayer(e){return f(this,Fn).get(e)}get currentPageIndex(){return f(this,kh)}addLayer(e){f(this,Fn).set(e.pageIndex,e),f(this,Zo)?e.enable():e.disable()}removeLayer(e){f(this,Fn).delete(e.pageIndex)}async updateMode(e,t=null,s=!1){if(f(this,kn)!==e&&!(f(this,oi)&&(await f(this,oi).promise,!f(this,oi)))){if(C(this,oi,Promise.withResolvers()),C(this,kn,e),e===De.NONE){this.setEditingState(!1),T(this,he,lR).call(this),f(this,oi).resolve();return}this.setEditingState(!0),await T(this,he,aR).call(this),this.unselectAll();for(const i of f(this,Fn).values())i.updateMode(e);if(!t){s&&this.addNewEditorFromKeyboard(),f(this,oi).resolve();return}for(const i of f(this,un).values())i.annotationElementId===t?(this.setSelected(i),i.enterInEditMode()):i.unselect();f(this,oi).resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(e){e!==f(this,kn)&&this._eventBus.dispatch("switchannotationeditormode",{source:this,mode:e})}updateParams(e,t){var s;if(f(this,Oi)){switch(e){case Pe.CREATE:this.currentLayer.addNewEditor();return;case Pe.HIGHLIGHT_DEFAULT_COLOR:(s=f(this,Sf))==null||s.updateColor(t);break;case Pe.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(f(this,kf)||C(this,kf,new Map)).set(e,t),this.showAllEditors("highlight",t);break}for(const i of f(this,ht))i.updateParams(e,t);for(const i of f(this,Oi))i.updateDefaultParams(e,t)}}showAllEditors(e,t,s=!1){var r;for(const o of f(this,un).values())o.editorType===e&&o.show(t);(((r=f(this,kf))==null?void 0:r.get(Pe.HIGHLIGHT_SHOW_ALL))??!0)!==t&&T(this,he,Lo).call(this,[[Pe.HIGHLIGHT_SHOW_ALL,t]])}enableWaiting(e=!1){if(f(this,_f)!==e){C(this,_f,e);for(const t of f(this,Fn).values())e?t.disableClick():t.enableClick(),t.div.classList.toggle("waiting",e)}}getEditors(e){const t=[];for(const s of f(this,un).values())s.pageIndex===e&&t.push(s);return t}getEditor(e){return f(this,un).get(e)}addEditor(e){f(this,un).set(e.id,e)}removeEditor(e){var t;e.div.contains(document.activeElement)&&(f(this,lr)&&clearTimeout(f(this,lr)),C(this,lr,setTimeout(()=>{this.focusMainContainer(),C(this,lr,null)},0))),f(this,un).delete(e.id),this.unselect(e),(!e.annotationElementId||!f(this,yl).has(e.annotationElementId))&&((t=f(this,Gr))==null||t.remove(e.id))}addDeletedAnnotationElement(e){f(this,yl).add(e.annotationElementId),this.addChangedExistingAnnotation(e),e.deleted=!0}isDeletedAnnotationElement(e){return f(this,yl).has(e)}removeDeletedAnnotationElement(e){f(this,yl).delete(e.annotationElementId),this.removeChangedExistingAnnotation(e),e.deleted=!1}setActiveEditor(e){f(this,qs)!==e&&(C(this,qs,e),e&&T(this,he,Lo).call(this,e.propertiesToUpdate))}updateUI(e){f(this,he,cR)===e&&T(this,he,Lo).call(this,e.propertiesToUpdate)}toggleSelected(e){if(f(this,ht).has(e)){f(this,ht).delete(e),e.unselect(),T(this,he,ms).call(this,{hasSelectedEditor:this.hasSelection});return}f(this,ht).add(e),e.select(),T(this,he,Lo).call(this,e.propertiesToUpdate),T(this,he,ms).call(this,{hasSelectedEditor:!0})}setSelected(e){for(const t of f(this,ht))t!==e&&t.unselect();f(this,ht).clear(),f(this,ht).add(e),e.select(),T(this,he,Lo).call(this,e.propertiesToUpdate),T(this,he,ms).call(this,{hasSelectedEditor:!0})}isSelected(e){return f(this,ht).has(e)}get firstSelectedEditor(){return f(this,ht).values().next().value}unselect(e){e.unselect(),f(this,ht).delete(e),T(this,he,ms).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return f(this,ht).size!==0}get isEnterHandled(){return f(this,ht).size===1&&this.firstSelectedEditor.isEnterHandled}undo(){f(this,Ii).undo(),T(this,he,ms).call(this,{hasSomethingToUndo:f(this,Ii).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:T(this,he,hd).call(this)})}redo(){f(this,Ii).redo(),T(this,he,ms).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:f(this,Ii).hasSomethingToRedo(),isEmpty:T(this,he,hd).call(this)})}addCommands(e){f(this,Ii).add(e),T(this,he,ms).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:T(this,he,hd).call(this)})}delete(){if(this.commitOrRemove(),!this.hasSelection)return;const e=[...f(this,ht)],t=()=>{for(const i of e)i.remove()},s=()=>{for(const i of e)T(this,he,Lb).call(this,i)};this.addCommands({cmd:t,undo:s,mustExec:!0})}commitOrRemove(){var e;(e=f(this,qs))==null||e.commitOrRemove()}hasSomethingToControl(){return f(this,qs)||this.hasSelection}selectAll(){for(const e of f(this,ht))e.commit();T(this,he,Db).call(this,f(this,un).values())}unselectAll(){if(!(f(this,qs)&&(f(this,qs).commitOrRemove(),f(this,kn)!==De.NONE))&&this.hasSelection){for(const e of f(this,ht))e.unselect();f(this,ht).clear(),T(this,he,ms).call(this,{hasSelectedEditor:!1})}}translateSelectedEditors(e,t,s=!1){if(s||this.commitOrRemove(),!this.hasSelection)return;f(this,Yo)[0]+=e,f(this,Yo)[1]+=t;const[i,r]=f(this,Yo),o=[...f(this,ht)],a=1e3;f(this,hr)&&clearTimeout(f(this,hr)),C(this,hr,setTimeout(()=>{C(this,hr,null),f(this,Yo)[0]=f(this,Yo)[1]=0,this.addCommands({cmd:()=>{for(const l of o)f(this,un).has(l.id)&&l.translateInPage(i,r)},undo:()=>{for(const l of o)f(this,un).has(l.id)&&l.translateInPage(-i,-r)},mustExec:!1})},a));for(const l of o)l.translateInPage(e,t)}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),C(this,ar,new Map);for(const e of f(this,ht))f(this,ar).set(e,{savedX:e.x,savedY:e.y,savedPageIndex:e.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!f(this,ar))return!1;this.disableUserSelect(!1);const e=f(this,ar);C(this,ar,null);let t=!1;for(const[{x:i,y:r,pageIndex:o},a]of e)a.newX=i,a.newY=r,a.newPageIndex=o,t||(t=i!==a.savedX||r!==a.savedY||o!==a.savedPageIndex);if(!t)return!1;const s=(i,r,o,a)=>{if(f(this,un).has(i.id)){const l=f(this,Fn).get(a);l?i._setParentAndPosition(l,r,o):(i.pageIndex=a,i.x=r,i.y=o)}};return this.addCommands({cmd:()=>{for(const[i,{newX:r,newY:o,newPageIndex:a}]of e)s(i,r,o,a)},undo:()=>{for(const[i,{savedX:r,savedY:o,savedPageIndex:a}]of e)s(i,r,o,a)},mustExec:!0}),!0}dragSelectedEditors(e,t){if(f(this,ar))for(const s of f(this,ar).keys())s.drag(e,t)}rebuild(e){if(e.parent===null){const t=this.getLayer(e.pageIndex);t?(t.changeParent(e),t.addOrRebuild(e)):(this.addEditor(e),this.addToAnnotationStorage(e),e.rebuild())}else e.parent.addOrRebuild(e)}get isEditorHandlingKeyboard(){var e;return((e=this.getActive())==null?void 0:e.shouldGetKeyboardEvents())||f(this,ht).size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(e){return f(this,qs)===e}getActive(){return f(this,qs)}getMode(){return f(this,kn)}get imageManager(){return Ze(this,"imageManager",new Pb)}getSelectionBoxes(e){if(!e)return null;const t=document.getSelection();for(let c=0,h=t.rangeCount;c({x:(h-i)/o,y:1-(c+u-s)/r,width:d/o,height:u/r});break;case"180":a=(c,h,u,d)=>({x:1-(c+u-s)/r,y:1-(h+d-i)/o,width:u/r,height:d/o});break;case"270":a=(c,h,u,d)=>({x:1-(h+d-i)/o,y:(c-s)/r,width:d/o,height:u/r});break;default:a=(c,h,u,d)=>({x:(c-s)/r,y:(h-i)/o,width:u/r,height:d/o});break}const l=[];for(let c=0,h=t.rangeCount;c{d.type==="pointerup"&&d.button!==0||(c.abort(),l==null||l.toggleDrawing(!0),d.type==="pointerup"&&T(this,he,rg).call(this,"main_toolbar"))};window.addEventListener("pointerup",u,{signal:h}),window.addEventListener("blur",u,{signal:h})}},rg=function(e=""){f(this,kn)===De.HIGHLIGHT?this.highlightSelection(e):f(this,vf)&&T(this,he,eR).call(this)},nR=function(){document.addEventListener("selectionchange",T(this,he,tR).bind(this),{signal:this._signal})},sR=function(){if(f(this,Go))return;C(this,Go,new AbortController);const e=this.combinedSignal(f(this,Go));window.addEventListener("focus",this.focus.bind(this),{signal:e}),window.addEventListener("blur",this.blur.bind(this),{signal:e})},iR=function(){var e;(e=f(this,Go))==null||e.abort(),C(this,Go,null)},Ib=function(){if(f(this,Xo))return;C(this,Xo,new AbortController);const e=this.combinedSignal(f(this,Xo));window.addEventListener("keydown",this.keydown.bind(this),{signal:e}),window.addEventListener("keyup",this.keyup.bind(this),{signal:e})},rR=function(){var e;(e=f(this,Xo))==null||e.abort(),C(this,Xo,null)},Ob=function(){if(f(this,Wo))return;C(this,Wo,new AbortController);const e=this.combinedSignal(f(this,Wo));document.addEventListener("copy",this.copy.bind(this),{signal:e}),document.addEventListener("cut",this.cut.bind(this),{signal:e}),document.addEventListener("paste",this.paste.bind(this),{signal:e})},Nb=function(){var e;(e=f(this,Wo))==null||e.abort(),C(this,Wo,null)},oR=function(){const e=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:e}),document.addEventListener("drop",this.drop.bind(this),{signal:e})},ms=function(e){Object.entries(e).some(([s,i])=>f(this,xf)[s]!==i)&&(this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(f(this,xf),e)}),f(this,kn)===De.HIGHLIGHT&&e.hasSelectedEditor===!1&&T(this,he,Lo).call(this,[[Pe.HIGHLIGHT_FREE,!0]]))},Lo=function(e){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:e})},aR=async function(){if(!f(this,Zo)){C(this,Zo,!0);const e=[];for(const t of f(this,Fn).values())e.push(t.enable());await Promise.all(e);for(const t of f(this,un).values())t.enable()}},lR=function(){if(this.unselectAll(),f(this,Zo)){C(this,Zo,!1);for(const e of f(this,Fn).values())e.disable();for(const e of f(this,un).values())e.disable()}},Lb=function(e){const t=f(this,Fn).get(e.pageIndex);t?t.addOrRebuild(e):(this.addEditor(e),this.addToAnnotationStorage(e))},cR=function(){let e=null;for(e of f(this,ht));return e},hd=function(){if(f(this,un).size===0)return!0;if(f(this,un).size===1)for(const e of f(this,un).values())return e.isEmpty();return!1},Db=function(e){for(const t of f(this,ht))t.unselect();f(this,ht).clear();for(const t of e)t.isEmpty()||(f(this,ht).add(t),t.select());T(this,he,ms).call(this,{hasSelectedEditor:this.hasSelection})},re(rh,"TRANSLATE_SMALL",1),re(rh,"TRANSLATE_BIG",10);let vc=rh;var xn,ur,Ni,Ch,dr,Us,$h,fr,$s,Xr,_l,pr,Jo,Zi,ud,og;const gs=class gs{constructor(e){R(this,Zi);R(this,xn,null);R(this,ur,!1);R(this,Ni,null);R(this,Ch,null);R(this,dr,null);R(this,Us,null);R(this,$h,!1);R(this,fr,null);R(this,$s,null);R(this,Xr,null);R(this,_l,null);R(this,pr,!1);C(this,$s,e),C(this,pr,e._uiManager.useNewAltTextFlow),f(gs,Jo)||C(gs,Jo,Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"}))}static initialize(e){gs._l10n??(gs._l10n=e)}async render(){const e=C(this,Ni,document.createElement("button"));e.className="altText",e.tabIndex="0";const t=C(this,Ch,document.createElement("span"));e.append(t),f(this,pr)?(e.classList.add("new"),e.setAttribute("data-l10n-id",f(gs,Jo).missing),t.setAttribute("data-l10n-id",f(gs,Jo)["missing-label"])):(e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label"));const s=f(this,$s)._uiManager._signal;e.addEventListener("contextmenu",wi,{signal:s}),e.addEventListener("pointerdown",r=>r.stopPropagation(),{signal:s});const i=r=>{r.preventDefault(),f(this,$s)._uiManager.editAltText(f(this,$s)),f(this,pr)&&f(this,$s)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:f(this,Zi,ud)}})};return e.addEventListener("click",i,{capture:!0,signal:s}),e.addEventListener("keydown",r=>{r.target===e&&r.key==="Enter"&&(C(this,$h,!0),i(r))},{signal:s}),await T(this,Zi,og).call(this),e}finish(){f(this,Ni)&&(f(this,Ni).focus({focusVisible:f(this,$h)}),C(this,$h,!1))}isEmpty(){return f(this,pr)?f(this,xn)===null:!f(this,xn)&&!f(this,ur)}hasData(){return f(this,pr)?f(this,xn)!==null||!!f(this,Xr):this.isEmpty()}get guessedText(){return f(this,Xr)}async setGuessedText(e){f(this,xn)===null&&(C(this,Xr,e),C(this,_l,await gs._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:e})),T(this,Zi,og).call(this))}toggleAltTextBadge(e=!1){var t;if(!f(this,pr)||f(this,xn)){(t=f(this,fr))==null||t.remove(),C(this,fr,null);return}if(!f(this,fr)){const s=C(this,fr,document.createElement("div"));s.className="noAltTextBadge",f(this,$s).div.append(s)}f(this,fr).classList.toggle("hidden",!e)}serialize(e){let t=f(this,xn);return!e&&f(this,Xr)===t&&(t=f(this,_l)),{altText:t,decorative:f(this,ur),guessedText:f(this,Xr),textWithDisclaimer:f(this,_l)}}get data(){return{altText:f(this,xn),decorative:f(this,ur)}}set data({altText:e,decorative:t,guessedText:s,textWithDisclaimer:i,cancel:r=!1}){s&&(C(this,Xr,s),C(this,_l,i)),!(f(this,xn)===e&&f(this,ur)===t)&&(r||(C(this,xn,e),C(this,ur,t)),T(this,Zi,og).call(this))}toggle(e=!1){f(this,Ni)&&(!e&&f(this,Us)&&(clearTimeout(f(this,Us)),C(this,Us,null)),f(this,Ni).disabled=!e)}shown(){f(this,$s)._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:f(this,Zi,ud)}})}destroy(){var e,t;(e=f(this,Ni))==null||e.remove(),C(this,Ni,null),C(this,Ch,null),C(this,dr,null),(t=f(this,fr))==null||t.remove(),C(this,fr,null)}};xn=new WeakMap,ur=new WeakMap,Ni=new WeakMap,Ch=new WeakMap,dr=new WeakMap,Us=new WeakMap,$h=new WeakMap,fr=new WeakMap,$s=new WeakMap,Xr=new WeakMap,_l=new WeakMap,pr=new WeakMap,Jo=new WeakMap,Zi=new WeakSet,ud=function(){return f(this,xn)&&"added"||f(this,xn)===null&&this.guessedText&&"review"||"missing"},og=async function(){var i,r,o;const e=f(this,Ni);if(!e)return;if(f(this,pr)){if(e.classList.toggle("done",!!f(this,xn)),e.setAttribute("data-l10n-id",f(gs,Jo)[f(this,Zi,ud)]),(i=f(this,Ch))==null||i.setAttribute("data-l10n-id",f(gs,Jo)[`${f(this,Zi,ud)}-label`]),!f(this,xn)){(r=f(this,dr))==null||r.remove();return}}else{if(!f(this,xn)&&!f(this,ur)){e.classList.remove("done"),(o=f(this,dr))==null||o.remove();return}e.classList.add("done"),e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let t=f(this,dr);if(!t){C(this,dr,t=document.createElement("span")),t.className="tooltip",t.setAttribute("role","tooltip"),t.id=`alt-text-tooltip-${f(this,$s).id}`;const a=100,l=f(this,$s)._uiManager._signal;l.addEventListener("abort",()=>{clearTimeout(f(this,Us)),C(this,Us,null)},{once:!0}),e.addEventListener("mouseenter",()=>{C(this,Us,setTimeout(()=>{C(this,Us,null),f(this,dr).classList.add("show"),f(this,$s)._reportTelemetry({action:"alt_text_tooltip"})},a))},{signal:l}),e.addEventListener("mouseleave",()=>{var c;f(this,Us)&&(clearTimeout(f(this,Us)),C(this,Us,null)),(c=f(this,dr))==null||c.classList.remove("show")},{signal:l})}f(this,ur)?t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip"):(t.removeAttribute("data-l10n-id"),t.textContent=f(this,xn)),t.parentNode||e.append(t);const s=f(this,$s).getImageForAltText();s==null||s.setAttribute("aria-describedby",t.id)},R(gs,Jo,null),re(gs,"_l10n",null);let iy=gs;var Sl,Li,Dt,Th,Al,jn,kl,Qo,Cf,xl,ea,$f,El,Yr,mr,Ph,Rh,ai,Tf,Oy,ze,Fb,Pf,jb,zb,hR,uR,Hb,Bb,qb,dR,Ub,fR,pR,mR,Vb,dd;const ct=class ct{constructor(e){R(this,ze);R(this,Sl,null);R(this,Li,null);R(this,Dt,null);R(this,Th,!1);R(this,Al,!1);R(this,jn,null);R(this,kl,null);R(this,Qo,null);R(this,Cf,"");R(this,xl,!1);R(this,ea,null);R(this,$f,!1);R(this,El,!1);R(this,Yr,!1);R(this,mr,null);R(this,Ph,0);R(this,Rh,0);R(this,ai,null);re(this,"_editToolbar",null);re(this,"_initialOptions",Object.create(null));re(this,"_initialData",null);re(this,"_isVisible",!0);re(this,"_uiManager",null);re(this,"_focusEventsAllowed",!0);R(this,Tf,!1);R(this,Oy,ct._zIndex++);this.parent=e.parent,this.id=e.id,this.width=this.height=null,this.pageIndex=e.parent.pageIndex,this.name=e.name,this.div=null,this._uiManager=e.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=e.isCentered,this._structTreeParentId=null;const{rotation:t,rawDims:{pageWidth:s,pageHeight:i,pageX:r,pageY:o}}=this.parent.viewport;this.rotation=t,this.pageRotation=(360+t-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[s,i],this.pageTranslation=[r,o];const[a,l]=this.parentDimensions;this.x=e.x/a,this.y=e.y/l,this.isAttachedToDOM=!1,this.deleted=!1}static get _resizerKeyboardManager(){const e=ct.prototype._resizeWithKeyboard,t=vc.TRANSLATE_SMALL,s=vc.TRANSLATE_BIG;return Ze(this,"_resizerKeyboardManager",new Up([[["ArrowLeft","mac+ArrowLeft"],e,{args:[-t,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e,{args:[-s,0]}],[["ArrowRight","mac+ArrowRight"],e,{args:[t,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e,{args:[s,0]}],[["ArrowUp","mac+ArrowUp"],e,{args:[0,-t]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e,{args:[0,-s]}],[["ArrowDown","mac+ArrowDown"],e,{args:[0,t]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e,{args:[0,s]}],[["Escape","mac+Escape"],ct.prototype._stopResizingWithKeyboard]]))}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get _defaultLineColor(){return Ze(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(e){const t=new g8({id:e.parent.getNextId(),parent:e.parent,uiManager:e._uiManager});t.annotationElementId=e.annotationElementId,t.deleted=!0,t._uiManager.addToAnnotationStorage(t)}static initialize(e,t){if(ct._l10n??(ct._l10n=e),ct._l10nResizer||(ct._l10nResizer=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"})),ct._borderLineWidth!==-1)return;const s=getComputedStyle(document.documentElement);ct._borderLineWidth=parseFloat(s.getPropertyValue("--outline-width"))||0}static updateDefaultParams(e,t){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e){return!1}static paste(e,t){$t("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return f(this,Tf)}set _isDraggable(e){var t;C(this,Tf,e),(t=this.div)==null||t.classList.toggle("draggable",e)}get isEnterHandled(){return!0}center(){const[e,t]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*t/(e*2),this.y+=this.width*e/(t*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*t/(e*2),this.y-=this.width*e/(t*2);break;default:this.x-=this.width/2,this.y-=this.height/2;break}this.fixAndSetPosition()}addCommands(e){this._uiManager.addCommands(e)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=f(this,Oy)}setParent(e){e!==null?(this.pageIndex=e.pageIndex,this.pageDimensions=e.pageDimensions):T(this,ze,dd).call(this),this.parent=e}focusin(e){this._focusEventsAllowed&&(f(this,xl)?C(this,xl,!1):this.parent.setSelected(this))}focusout(e){var s;if(!this._focusEventsAllowed||!this.isAttachedToDOM)return;const t=e.relatedTarget;t!=null&&t.closest(`#${this.id}`)||(e.preventDefault(),(s=this.parent)!=null&&s.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(e,t,s,i){const[r,o]=this.parentDimensions;[s,i]=this.screenToPageTranslation(s,i),this.x=(e+s)/r,this.y=(t+i)/o,this.fixAndSetPosition()}translate(e,t){T(this,ze,Fb).call(this,this.parentDimensions,e,t)}translateInPage(e,t){f(this,ea)||C(this,ea,[this.x,this.y]),T(this,ze,Fb).call(this,this.pageDimensions,e,t),this.div.scrollIntoView({block:"nearest"})}drag(e,t){f(this,ea)||C(this,ea,[this.x,this.y]);const[s,i]=this.parentDimensions;if(this.x+=e/s,this.y+=t/i,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:c,y:h}=this.div.getBoundingClientRect();this.parent.findNewParent(this,c,h)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:r,y:o}=this;const[a,l]=this.getBaseTranslation();r+=a,o+=l,this.div.style.left=`${(100*r).toFixed(2)}%`,this.div.style.top=`${(100*o).toFixed(2)}%`,this.div.scrollIntoView({block:"nearest"})}get _hasBeenMoved(){return!!f(this,ea)&&(f(this,ea)[0]!==this.x||f(this,ea)[1]!==this.y)}getBaseTranslation(){const[e,t]=this.parentDimensions,{_borderLineWidth:s}=ct,i=s/e,r=s/t;switch(this.rotation){case 90:return[-i,r];case 180:return[i,r];case 270:return[i,-r];default:return[-i,-r]}}get _mustFixPosition(){return!0}fixAndSetPosition(e=this.rotation){const[t,s]=this.pageDimensions;let{x:i,y:r,width:o,height:a}=this;if(o*=t,a*=s,i*=t,r*=s,this._mustFixPosition)switch(e){case 0:i=Math.max(0,Math.min(t-o,i)),r=Math.max(0,Math.min(s-a,r));break;case 90:i=Math.max(0,Math.min(t-a,i)),r=Math.min(s,Math.max(o,r));break;case 180:i=Math.min(t,Math.max(o,i)),r=Math.min(s,Math.max(a,r));break;case 270:i=Math.min(t,Math.max(a,i)),r=Math.max(0,Math.min(s-o,r));break}this.x=i/=t,this.y=r/=s;const[l,c]=this.getBaseTranslation();i+=l,r+=c;const{style:h}=this.div;h.left=`${(100*i).toFixed(2)}%`,h.top=`${(100*r).toFixed(2)}%`,this.moveInDOM()}screenToPageTranslation(e,t){var s;return T(s=ct,Pf,jb).call(s,e,t,this.parentRotation)}pageTranslationToScreen(e,t){var s;return T(s=ct,Pf,jb).call(s,e,t,360-this.parentRotation)}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:e,pageDimensions:[t,s]}=this;return[t*e,s*e]}setDims(e,t){const[s,i]=this.parentDimensions;this.div.style.width=`${(100*e/s).toFixed(2)}%`,f(this,Al)||(this.div.style.height=`${(100*t/i).toFixed(2)}%`)}fixDims(){const{style:e}=this.div,{height:t,width:s}=e,i=s.endsWith("%"),r=!f(this,Al)&&t.endsWith("%");if(i&&r)return;const[o,a]=this.parentDimensions;i||(e.width=`${(100*parseFloat(s)/o).toFixed(2)}%`),!f(this,Al)&&!r&&(e.height=`${(100*parseFloat(t)/a).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}altTextFinish(){var e;(e=f(this,Dt))==null||e.finish()}async addEditToolbar(){return this._editToolbar||f(this,El)?this._editToolbar:(this._editToolbar=new $b(this),this.div.append(this._editToolbar.render()),f(this,Dt)&&await this._editToolbar.addAltText(f(this,Dt)),this._editToolbar)}removeEditToolbar(){var e;this._editToolbar&&(this._editToolbar.remove(),this._editToolbar=null,(e=f(this,Dt))==null||e.destroy())}addContainer(e){var s;const t=(s=this._editToolbar)==null?void 0:s.div;t?t.before(e):this.div.append(e)}getClientDimensions(){return this.div.getBoundingClientRect()}async addAltTextButton(){f(this,Dt)||(iy.initialize(ct._l10n),C(this,Dt,new iy(this)),f(this,Sl)&&(f(this,Dt).data=f(this,Sl),C(this,Sl,null)),await this.addEditToolbar())}get altTextData(){var e;return(e=f(this,Dt))==null?void 0:e.data}set altTextData(e){f(this,Dt)&&(f(this,Dt).data=e)}get guessedAltText(){var e;return(e=f(this,Dt))==null?void 0:e.guessedText}async setGuessedAltText(e){var t;await((t=f(this,Dt))==null?void 0:t.setGuessedText(e))}serializeAltText(e){var t;return(t=f(this,Dt))==null?void 0:t.serialize(e)}hasAltText(){return!!f(this,Dt)&&!f(this,Dt).isEmpty()}hasAltTextData(){var e;return((e=f(this,Dt))==null?void 0:e.hasData())??!1}render(){this.div=document.createElement("div"),this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute("id",this.id),this.div.tabIndex=f(this,Th)?-1:0,this._isVisible||this.div.classList.add("hidden"),this.setInForeground(),T(this,ze,Ub).call(this);const[e,t]=this.parentDimensions;this.parentRotation%180!==0&&(this.div.style.maxWidth=`${(100*t/e).toFixed(2)}%`,this.div.style.maxHeight=`${(100*e/t).toFixed(2)}%`);const[s,i]=this.getInitialTranslation();return this.translate(s,i),sy(this,this.div,["pointerdown"]),this.div}pointerdown(e){const{isMac:t}=_s.platform;if(e.button!==0||e.ctrlKey&&t){e.preventDefault();return}if(C(this,xl,!0),this._isDraggable){T(this,ze,dR).call(this,e);return}T(this,ze,qb).call(this,e)}get isSelected(){return this._uiManager.isSelected(this)}moveInDOM(){f(this,mr)&&clearTimeout(f(this,mr)),C(this,mr,setTimeout(()=>{var e;C(this,mr,null),(e=this.parent)==null||e.moveEditorInDOM(this)},0))}_setParentAndPosition(e,t,s){e.changeParent(this),this.x=t,this.y=s,this.fixAndSetPosition()}getRect(e,t,s=this.rotation){const i=this.parentScale,[r,o]=this.pageDimensions,[a,l]=this.pageTranslation,c=e/i,h=t/i,u=this.x*r,d=this.y*o,p=this.width*r,m=this.height*o;switch(s){case 0:return[u+c+a,o-d-h-m+l,u+c+p+a,o-d-h+l];case 90:return[u+h+a,o-d+c+l,u+h+m+a,o-d+c+p+l];case 180:return[u-c-p+a,o-d+h+l,u-c+a,o-d+h+m+l];case 270:return[u-h-m+a,o-d-c-p+l,u-h+a,o-d-c+l];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(e,t){const[s,i,r,o]=e,a=r-s,l=o-i;switch(this.rotation){case 0:return[s,t-o,a,l];case 90:return[s,t-i,l,a];case 180:return[r,t-i,a,l];case 270:return[r,t-o,l,a];default:throw new Error("Invalid rotation")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){C(this,El,!0)}disableEditMode(){C(this,El,!1)}isInEditMode(){return f(this,El)}shouldGetKeyboardEvents(){return f(this,Yr)}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){T(this,ze,Ub).call(this)}rotate(e){}serializeDeleted(){var e;return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:((e=this._initialData)==null?void 0:e.popupRef)||""}}serialize(e=!1,t=null){$t("An editor must be serializable")}static async deserialize(e,t,s){const i=new this.prototype.constructor({parent:t,id:t.getNextId(),uiManager:s});i.rotation=e.rotation,C(i,Sl,e.accessibilityData);const[r,o]=i.pageDimensions,[a,l,c,h]=i.getRectInCurrentCoords(e.rect,o);return i.x=a/r,i.y=l/o,i.width=c/r,i.height=h/o,i}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){var e;if((e=f(this,Qo))==null||e.abort(),C(this,Qo,null),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),f(this,mr)&&(clearTimeout(f(this,mr)),C(this,mr,null)),T(this,ze,dd).call(this),this.removeEditToolbar(),f(this,ai)){for(const t of f(this,ai).values())clearTimeout(t);C(this,ai,null)}this.parent=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(T(this,ze,hR).call(this),f(this,jn).classList.remove("hidden"),sy(this,this.div,["keydown"]))}get toolbarPosition(){return null}keydown(e){if(!this.isResizable||e.target!==this.div||e.key!=="Enter")return;this._uiManager.setSelected(this),C(this,kl,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const t=f(this,jn).children;if(!f(this,Li)){C(this,Li,Array.from(t));const o=T(this,ze,fR).bind(this),a=T(this,ze,pR).bind(this),l=this._uiManager._signal;for(const c of f(this,Li)){const h=c.getAttribute("data-resizer-name");c.setAttribute("role","spinbutton"),c.addEventListener("keydown",o,{signal:l}),c.addEventListener("blur",a,{signal:l}),c.addEventListener("focus",T(this,ze,mR).bind(this,h),{signal:l}),c.setAttribute("data-l10n-id",ct._l10nResizer[h])}}const s=f(this,Li)[0];let i=0;for(const o of t){if(o===s)break;i++}const r=(360-this.rotation+this.parentRotation)%360/90*(f(this,Li).length/4);if(r!==i){if(ri)for(let a=0;a{var i,r;(i=this.div)!=null&&i.classList.contains("selectedEditor")&&((r=this._editToolbar)==null||r.show())});return}(t=this._editToolbar)==null||t.show(),(s=f(this,Dt))==null||s.toggleAltTextBadge(!1)}unselect(){var e,t,s,i,r;(e=f(this,jn))==null||e.classList.add("hidden"),(t=this.div)==null||t.classList.remove("selectedEditor"),(s=this.div)!=null&&s.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),(i=this._editToolbar)==null||i.hide(),(r=f(this,Dt))==null||r.toggleAltTextBadge(!0)}updateParams(e,t){}disableEditing(){}enableEditing(){}enterInEditMode(){}getImageForAltText(){return null}get contentDiv(){return this.div}get isEditing(){return f(this,$f)}set isEditing(e){C(this,$f,e),this.parent&&(e?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}setAspectRatio(e,t){C(this,Al,!0);const s=e/t,{style:i}=this.div;i.aspectRatio=s,i.height="auto"}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(e,t=!1){if(t){f(this,ai)||C(this,ai,new Map);const{action:s}=e;let i=f(this,ai).get(s);i&&clearTimeout(i),i=setTimeout(()=>{this._reportTelemetry(e),f(this,ai).delete(s),f(this,ai).size===0&&C(this,ai,null)},ct._telemetryTimeout),f(this,ai).set(s,i);return}e.type||(e.type=this.editorType),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:e}})}show(e=this._isVisible){this.div.classList.toggle("hidden",!e),this._isVisible=e}enable(){this.div&&(this.div.tabIndex=0),C(this,Th,!1)}disable(){this.div&&(this.div.tabIndex=-1),C(this,Th,!0)}renderAnnotationElement(e){let t=e.container.querySelector(".annotationContent");if(!t)t=document.createElement("div"),t.classList.add("annotationContent",this.editorType),e.container.prepend(t);else if(t.nodeName==="CANVAS"){const s=t;t=document.createElement("div"),t.classList.add("annotationContent",this.editorType),s.before(t)}return t}resetAnnotationElement(e){const{firstChild:t}=e.container;(t==null?void 0:t.nodeName)==="DIV"&&t.classList.contains("annotationContent")&&t.remove()}};Sl=new WeakMap,Li=new WeakMap,Dt=new WeakMap,Th=new WeakMap,Al=new WeakMap,jn=new WeakMap,kl=new WeakMap,Qo=new WeakMap,Cf=new WeakMap,xl=new WeakMap,ea=new WeakMap,$f=new WeakMap,El=new WeakMap,Yr=new WeakMap,mr=new WeakMap,Ph=new WeakMap,Rh=new WeakMap,ai=new WeakMap,Tf=new WeakMap,Oy=new WeakMap,ze=new WeakSet,Fb=function([e,t],s,i){[s,i]=this.screenToPageTranslation(s,i),this.x+=s/e,this.y+=i/t,this.fixAndSetPosition()},Pf=new WeakSet,jb=function(e,t,s){switch(s){case 90:return[t,-e];case 180:return[-e,-t];case 270:return[-t,e];default:return[e,t]}},zb=function(e){switch(e){case 90:{const[t,s]=this.pageDimensions;return[0,-t/s,s/t,0]}case 180:return[-1,0,0,-1];case 270:{const[t,s]=this.pageDimensions;return[0,t/s,-s/t,0]}default:return[1,0,0,1]}},hR=function(){if(f(this,jn))return;C(this,jn,document.createElement("div")),f(this,jn).classList.add("resizers");const e=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],t=this._uiManager._signal;for(const s of e){const i=document.createElement("div");f(this,jn).append(i),i.classList.add("resizer",s),i.setAttribute("data-resizer-name",s),i.addEventListener("pointerdown",T(this,ze,uR).bind(this,s),{signal:t}),i.addEventListener("contextmenu",wi,{signal:t}),i.tabIndex=-1}this.div.prepend(f(this,jn))},uR=function(e,t){var m;t.preventDefault();const{isMac:s}=_s.platform;if(t.button!==0||t.ctrlKey&&s)return;(m=f(this,Dt))==null||m.toggle(!1);const i=this._isDraggable;this._isDraggable=!1;const r=new AbortController,o=this._uiManager.combinedSignal(r);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",T(this,ze,Bb).bind(this,e),{passive:!0,capture:!0,signal:o}),window.addEventListener("contextmenu",wi,{signal:o});const a=this.x,l=this.y,c=this.width,h=this.height,u=this.parent.div.style.cursor,d=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(t.target).cursor;const p=()=>{var g;r.abort(),this.parent.togglePointerEvents(!0),(g=f(this,Dt))==null||g.toggle(!0),this._isDraggable=i,this.parent.div.style.cursor=u,this.div.style.cursor=d,T(this,ze,Hb).call(this,a,l,c,h)};window.addEventListener("pointerup",p,{signal:o}),window.addEventListener("blur",p,{signal:o})},Hb=function(e,t,s,i){const r=this.x,o=this.y,a=this.width,l=this.height;r===e&&o===t&&a===s&&l===i||this.addCommands({cmd:()=>{this.width=a,this.height=l,this.x=r,this.y=o;const[c,h]=this.parentDimensions;this.setDims(c*a,h*l),this.fixAndSetPosition()},undo:()=>{this.width=s,this.height=i,this.x=e,this.y=t;const[c,h]=this.parentDimensions;this.setDims(c*s,h*i),this.fixAndSetPosition()},mustExec:!0})},Bb=function(e,t){const[s,i]=this.parentDimensions,r=this.x,o=this.y,a=this.width,l=this.height,c=ct.MIN_SIZE/s,h=ct.MIN_SIZE/i,u=J=>Math.round(J*1e4)/1e4,d=T(this,ze,zb).call(this,this.rotation),p=(J,se)=>[d[0]*J+d[2]*se,d[1]*J+d[3]*se],m=T(this,ze,zb).call(this,360-this.rotation),g=(J,se)=>[m[0]*J+m[2]*se,m[1]*J+m[3]*se];let v,y,w=!1,_=!1;switch(e){case"topLeft":w=!0,v=(J,se)=>[0,0],y=(J,se)=>[J,se];break;case"topMiddle":v=(J,se)=>[J/2,0],y=(J,se)=>[J/2,se];break;case"topRight":w=!0,v=(J,se)=>[J,0],y=(J,se)=>[0,se];break;case"middleRight":_=!0,v=(J,se)=>[J,se/2],y=(J,se)=>[0,se/2];break;case"bottomRight":w=!0,v=(J,se)=>[J,se],y=(J,se)=>[0,0];break;case"bottomMiddle":v=(J,se)=>[J/2,se],y=(J,se)=>[J/2,0];break;case"bottomLeft":w=!0,v=(J,se)=>[0,se],y=(J,se)=>[J,0];break;case"middleLeft":_=!0,v=(J,se)=>[0,se/2],y=(J,se)=>[J,se/2];break}const k=v(a,l),A=y(a,l);let $=p(...A);const E=u(r+$[0]),O=u(o+$[1]);let F=1,B=1,[L,z]=this.screenToPageTranslation(t.movementX,t.movementY);if([L,z]=g(L/s,z/i),w){const J=Math.hypot(a,l);F=B=Math.max(Math.min(Math.hypot(A[0]-k[0]-L,A[1]-k[1]-z)/J,1/a,1/l),c/a,h/l)}else _?F=Math.max(c,Math.min(1,Math.abs(A[0]-k[0]-L)))/a:B=Math.max(h,Math.min(1,Math.abs(A[1]-k[1]-z)))/l;const K=u(a*F),D=u(l*B);$=p(...y(K,D));const Q=E-$[0],X=O-$[1];this.width=K,this.height=D,this.x=Q,this.y=X,this.setDims(s*K,i*D),this.fixAndSetPosition()},qb=function(e){const{isMac:t}=_s.platform;e.ctrlKey&&!t||e.shiftKey||e.metaKey&&t?this.parent.toggleSelected(this):this.parent.setSelected(this)},dR=function(e){const{isSelected:t}=this;this._uiManager.setUpDragSession();const s=new AbortController,i=this._uiManager.combinedSignal(s);if(t){this.div.classList.add("moving"),C(this,Ph,e.clientX),C(this,Rh,e.clientY);const o=a=>{const{clientX:l,clientY:c}=a,[h,u]=this.screenToPageTranslation(l-f(this,Ph),c-f(this,Rh));C(this,Ph,l),C(this,Rh,c),this._uiManager.dragSelectedEditors(h,u)};window.addEventListener("pointermove",o,{passive:!0,capture:!0,signal:i})}const r=()=>{s.abort(),t&&this.div.classList.remove("moving"),C(this,xl,!1),this._uiManager.endDragSession()||T(this,ze,qb).call(this,e)};window.addEventListener("pointerup",r,{signal:i}),window.addEventListener("blur",r,{signal:i})},Ub=function(){if(f(this,Qo)||!this.div)return;C(this,Qo,new AbortController);const e=this._uiManager.combinedSignal(f(this,Qo));this.div.addEventListener("focusin",this.focusin.bind(this),{signal:e}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:e})},fR=function(e){ct._resizerKeyboardManager.exec(this,e)},pR=function(e){var t;f(this,Yr)&&((t=e.relatedTarget)==null?void 0:t.parentNode)!==f(this,jn)&&T(this,ze,dd).call(this)},mR=function(e){C(this,Cf,f(this,Yr)?e:"")},Vb=function(e){if(f(this,Li))for(const t of f(this,Li))t.tabIndex=e},dd=function(){if(C(this,Yr,!1),T(this,ze,Vb).call(this,-1),f(this,kl)){const{savedX:e,savedY:t,savedWidth:s,savedHeight:i}=f(this,kl);T(this,ze,Hb).call(this,e,t,s,i),C(this,kl,null)}},R(ct,Pf),re(ct,"_l10n",null),re(ct,"_l10nResizer",null),re(ct,"_borderLineWidth",-1),re(ct,"_colorManager",new Rb),re(ct,"_zIndex",1),re(ct,"_telemetryTimeout",1e3);let dt=ct;class g8 extends dt{constructor(e){super(e),this.annotationElementId=e.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}const $x=3285377520,ri=4294901760,nr=65535;class gR{constructor(e){this.h1=e?e&4294967295:$x,this.h2=e?e&4294967295:$x}update(e){let t,s;if(typeof e=="string"){t=new Uint8Array(e.length*2),s=0;for(let g=0,v=e.length;g>>8,t[s++]=y&255)}}else if(ArrayBuffer.isView(e))t=e.slice(),s=t.byteLength;else throw new Error("Invalid data format, must be a string or TypedArray.");const i=s>>2,r=s-i*4,o=new Uint32Array(t.buffer,0,i);let a=0,l=0,c=this.h1,h=this.h2;const u=3432918353,d=461845907,p=u&nr,m=d&nr;for(let g=0;g>>17,a=a*d&ri|a*m&nr,c^=a,c=c<<13|c>>>19,c=c*5+3864292196):(l=o[g],l=l*u&ri|l*p&nr,l=l<<15|l>>>17,l=l*d&ri|l*m&nr,h^=l,h=h<<13|h>>>19,h=h*5+3864292196);switch(a=0,r){case 3:a^=t[i*4+2]<<16;case 2:a^=t[i*4+1]<<8;case 1:a^=t[i*4],a=a*u&ri|a*p&nr,a=a<<15|a>>>17,a=a*d&ri|a*m&nr,i&1?c^=a:h^=a}this.h1=c,this.h2=h}hexdigest(){let e=this.h1,t=this.h2;return e^=t>>>1,e=e*3981806797&ri|e*36045&nr,t=t*4283543511&ri|((t<<16|e>>>16)*2950163797&ri)>>>16,e^=t>>>1,e=e*444984403&ri|e*60499&nr,t=t*3301882366&ri|((t<<16|e>>>16)*3120437893&ri)>>>16,e^=t>>>1,(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}const Wb=Object.freeze({map:null,hash:"",transfer:void 0});var Cl,$l,En,Ny,yR;class hA{constructor(){R(this,Ny);R(this,Cl,!1);R(this,$l,null);R(this,En,new Map);this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(e,t){const s=f(this,En).get(e);return s===void 0?t:Object.assign(t,s)}getRawValue(e){return f(this,En).get(e)}remove(e){if(f(this,En).delete(e),f(this,En).size===0&&this.resetModified(),typeof this.onAnnotationEditor=="function"){for(const t of f(this,En).values())if(t instanceof dt)return;this.onAnnotationEditor(null)}}setValue(e,t){const s=f(this,En).get(e);let i=!1;if(s!==void 0)for(const[r,o]of Object.entries(t))s[r]!==o&&(i=!0,s[r]=o);else i=!0,f(this,En).set(e,t);i&&T(this,Ny,yR).call(this),t instanceof dt&&typeof this.onAnnotationEditor=="function"&&this.onAnnotationEditor(t.constructor._type)}has(e){return f(this,En).has(e)}getAll(){return f(this,En).size>0?iA(f(this,En)):null}setAll(e){for(const[t,s]of Object.entries(e))this.setValue(t,s)}get size(){return f(this,En).size}resetModified(){f(this,Cl)&&(C(this,Cl,!1),typeof this.onResetModified=="function"&&this.onResetModified())}get print(){return new vR(this)}get serializable(){if(f(this,En).size===0)return Wb;const e=new Map,t=new gR,s=[],i=Object.create(null);let r=!1;for(const[o,a]of f(this,En)){const l=a instanceof dt?a.serialize(!1,i):a;l&&(e.set(o,l),t.update(`${o}:${JSON.stringify(l)}`),r||(r=!!l.bitmap))}if(r)for(const o of e.values())o.bitmap&&s.push(o.bitmap);return e.size>0?{map:e,hash:t.hexdigest(),transfer:s}:Wb}get editorStats(){let e=null;const t=new Map;for(const s of f(this,En).values()){if(!(s instanceof dt))continue;const i=s.telemetryFinalData;if(!i)continue;const{type:r}=i;t.has(r)||t.set(r,Object.getPrototypeOf(s).constructor),e||(e=Object.create(null));const o=e[r]||(e[r]=new Map);for(const[a,l]of Object.entries(i)){if(a==="type")continue;let c=o.get(a);c||(c=new Map,o.set(a,c));const h=c.get(l)??0;c.set(l,h+1)}}for(const[s,i]of t)e[s]=i.computeTelemetryFinalData(e[s]);return e}resetModifiedIds(){C(this,$l,null)}get modifiedIds(){if(f(this,$l))return f(this,$l);const e=[];for(const t of f(this,En).values())!(t instanceof dt)||!t.annotationElementId||!t.serialize()||e.push(t.annotationElementId);return C(this,$l,{ids:new Set(e),hash:e.join(",")})}}Cl=new WeakMap,$l=new WeakMap,En=new WeakMap,Ny=new WeakSet,yR=function(){f(this,Cl)||(C(this,Cl,!0),typeof this.onSetModified=="function"&&this.onSetModified())};var Rf;class vR extends hA{constructor(t){super();R(this,Rf);const{map:s,hash:i,transfer:r}=t.serializable,o=structuredClone(s,r?{transfer:r}:null);C(this,Rf,{map:o,hash:i,transfer:r})}get print(){$t("Should not call PrintAnnotationStorage.print")}get serializable(){return f(this,Rf)}get modifiedIds(){return Ze(this,"modifiedIds",{ids:new Set,hash:""})}}Rf=new WeakMap;var Mh;class y8{constructor({ownerDocument:e=globalThis.document,styleElement:t=null}){R(this,Mh,new Set);this._document=e,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(e){this.nativeFontFaces.add(e),this._document.fonts.add(e)}removeNativeFontFace(e){this.nativeFontFaces.delete(e),this._document.fonts.delete(e)}insertRule(e){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));const t=this.styleElement.sheet;t.insertRule(e,t.cssRules.length)}clear(){for(const e of this.nativeFontFaces)this._document.fonts.delete(e);this.nativeFontFaces.clear(),f(this,Mh).clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:e,_inspectFont:t}){if(!(!e||f(this,Mh).has(e.loadedName))){if(yn(!this.disableFontFace,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){const{loadedName:s,src:i,style:r}=e,o=new FontFace(s,i,r);this.addNativeFontFace(o);try{await o.load(),f(this,Mh).add(s),t==null||t(e)}catch{Be(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(o)}return}$t("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(e){if(e.attached||e.missingFile&&!e.systemFontInfo)return;if(e.attached=!0,e.systemFontInfo){await this.loadSystemFont(e);return}if(this.isFontLoadingAPISupported){const s=e.createNativeFontFace();if(s){this.addNativeFontFace(s);try{await s.loaded}catch(i){throw Be(`Failed to load font '${s.family}': '${i}'.`),e.disableFontFace=!0,i}}return}const t=e.createFontFaceRule();if(t){if(this.insertRule(t),this.isSyncFontLoadingSupported)return;await new Promise(s=>{const i=this._queueLoadingCallback(s);this._prepareFontLoadEvent(e,i)})}}get isFontLoadingAPISupported(){var t;const e=!!((t=this._document)!=null&&t.fonts);return Ze(this,"isFontLoadingAPISupported",e)}get isSyncFontLoadingSupported(){let e=!1;return(cs||typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.userAgent)=="string"&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent))&&(e=!0),Ze(this,"isSyncFontLoadingSupported",e)}_queueLoadingCallback(e){function t(){for(yn(!i.done,"completeRequest() cannot be called twice."),i.done=!0;s.length>0&&s[0].done;){const r=s.shift();setTimeout(r.callback,0)}}const{loadingRequests:s}=this,i={done:!1,complete:t,callback:e};return s.push(i),i}get _loadTestFont(){const e=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return Ze(this,"_loadTestFont",e)}_prepareFontLoadEvent(e,t){function s(k,A){return k.charCodeAt(A)<<24|k.charCodeAt(A+1)<<16|k.charCodeAt(A+2)<<8|k.charCodeAt(A+3)&255}function i(k,A,$,E){const O=k.substring(0,A),F=k.substring(A+$);return O+E+F}let r,o;const a=this._document.createElement("canvas");a.width=1,a.height=1;const l=a.getContext("2d");let c=0;function h(k,A){if(++c>30){Be("Load test font never loaded."),A();return}if(l.font="30px "+k,l.fillText(".",0,20),l.getImageData(0,0,1,1).data[3]>0){A();return}setTimeout(h.bind(null,k,A))}const u=`lt${Date.now()}${this.loadTestFontId++}`;let d=this._loadTestFont;d=i(d,976,u.length,u);const m=16,g=1482184792;let v=s(d,m);for(r=0,o=u.length-3;r{_.remove(),t.complete()})}}Mh=new WeakMap;class v8{constructor(e,{disableFontFace:t=!1,inspectFont:s=null}){this.compiledGlyphs=Object.create(null);for(const i in e)this[i]=e[i];this.disableFontFace=t===!0,this._inspectFont=s}createNativeFontFace(){var t;if(!this.data||this.disableFontFace)return null;let e;if(!this.cssFontInfo)e=new FontFace(this.loadedName,this.data,{});else{const s={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(s.style=`oblique ${this.cssFontInfo.italicAngle}deg`),e=new FontFace(this.cssFontInfo.fontFamily,this.data,s)}return(t=this._inspectFont)==null||t.call(this,this),e}createFontFaceRule(){var s;if(!this.data||this.disableFontFace)return null;const e=`url(data:${this.mimetype};base64,${a8(this.data)});`;let t;if(!this.cssFontInfo)t=`@font-face {font-family:"${this.loadedName}";src:${e}}`;else{let i=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(i+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),t=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${i}src:${e}}`}return(s=this._inspectFont)==null||s.call(this,this,e),t}getPathGenerator(e,t){if(this.compiledGlyphs[t]!==void 0)return this.compiledGlyphs[t];let s;try{s=e.get(this.loadedName+"_path_"+t)}catch(r){Be(`getPathGenerator - ignoring character: "${r}".`)}if(!Array.isArray(s)||s.length===0)return this.compiledGlyphs[t]=function(r,o){};const i=[];for(let r=0,o=s.length;rp.bezierCurveTo(a,l,c,h,u,d)),r+=6}break;case Br.MOVE_TO:{const[a,l]=s.slice(r,r+2);i.push(c=>c.moveTo(a,l)),r+=2}break;case Br.LINE_TO:{const[a,l]=s.slice(r,r+2);i.push(c=>c.lineTo(a,l)),r+=2}break;case Br.QUADRATIC_CURVE_TO:{const[a,l,c,h]=s.slice(r,r+4);i.push(u=>u.quadraticCurveTo(a,l,c,h)),r+=4}break;case Br.RESTORE:i.push(a=>a.restore());break;case Br.SAVE:i.push(a=>a.save());break;case Br.SCALE:yn(i.length===2,"Scale command is only valid at the third position.");break;case Br.TRANSFORM:{const[a,l,c,h,u,d]=s.slice(r,r+6);i.push(p=>p.transform(a,l,c,h,u,d)),r+=6}break;case Br.TRANSLATE:{const[a,l]=s.slice(r,r+2);i.push(c=>c.translate(a,l)),r+=2}break}return this.compiledGlyphs[t]=function(o,a){i[0](o),i[1](o),o.scale(a,-a);for(let l=2,c=i.length;l({cMapData:s,isCompressed:this.isCompressed})).catch(s=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${t}`)})}async _fetch(e){$t("Abstract method `_fetch` called.")}}class _R extends wR{async _fetch(e){const t=await S0(e,this.isCompressed?"arraybuffer":"text");return t instanceof ArrayBuffer?new Uint8Array(t):_0(t)}}class SR{addFilter(e){return"none"}addHCMFilter(e,t){return"none"}addAlphaFilter(e){return"none"}addLuminosityFilter(e){return"none"}addHighlightHCMFilter(e,t,s,i,r){return"none"}destroy(e=!1){}}var Tl,Pl,gr,Jr,is,Ly,Rl,me,ns,qc,Uc,ag,Vc,AR,Gb,Wc,fd,pd,Kb,md;class w8 extends SR{constructor({docId:t,ownerDocument:s=globalThis.document}){super();R(this,me);R(this,Tl);R(this,Pl);R(this,gr);R(this,Jr);R(this,is);R(this,Ly);R(this,Rl,0);C(this,Jr,t),C(this,is,s)}addFilter(t){if(!t)return"none";let s=f(this,me,ns).get(t);if(s)return s;const[i,r,o]=T(this,me,ag).call(this,t),a=t.length===1?i:`${i}${r}${o}`;if(s=f(this,me,ns).get(a),s)return f(this,me,ns).set(t,s),s;const l=`g_${f(this,Jr)}_transfer_map_${ps(this,Rl)._++}`,c=T(this,me,Vc).call(this,l);f(this,me,ns).set(t,c),f(this,me,ns).set(a,c);const h=T(this,me,Wc).call(this,l);return T(this,me,pd).call(this,i,r,o,h),c}addHCMFilter(t,s){var m;const i=`${t}-${s}`,r="base";let o=f(this,me,qc).get(r);if((o==null?void 0:o.key)===i||(o?((m=o.filter)==null||m.remove(),o.key=i,o.url="none",o.filter=null):(o={key:i,url:"none",filter:null},f(this,me,qc).set(r,o)),!t||!s))return o.url;const a=T(this,me,md).call(this,t);t=_e.makeHexColor(...a);const l=T(this,me,md).call(this,s);if(s=_e.makeHexColor(...l),f(this,me,Uc).style.color="",t==="#000000"&&s==="#ffffff"||t===s)return o.url;const c=new Array(256);for(let g=0;g<=255;g++){const v=g/255;c[g]=v<=.03928?v/12.92:((v+.055)/1.055)**2.4}const h=c.join(","),u=`g_${f(this,Jr)}_hcm_filter`,d=o.filter=T(this,me,Wc).call(this,u);T(this,me,pd).call(this,h,h,h,d),T(this,me,Gb).call(this,d);const p=(g,v)=>{const y=a[g]/255,w=l[g]/255,_=new Array(v+1);for(let k=0;k<=v;k++)_[k]=y+k/v*(w-y);return _.join(",")};return T(this,me,pd).call(this,p(0,5),p(1,5),p(2,5),d),o.url=T(this,me,Vc).call(this,u),o.url}addAlphaFilter(t){let s=f(this,me,ns).get(t);if(s)return s;const[i]=T(this,me,ag).call(this,[t]),r=`alpha_${i}`;if(s=f(this,me,ns).get(r),s)return f(this,me,ns).set(t,s),s;const o=`g_${f(this,Jr)}_alpha_map_${ps(this,Rl)._++}`,a=T(this,me,Vc).call(this,o);f(this,me,ns).set(t,a),f(this,me,ns).set(r,a);const l=T(this,me,Wc).call(this,o);return T(this,me,Kb).call(this,i,l),a}addLuminosityFilter(t){let s=f(this,me,ns).get(t||"luminosity");if(s)return s;let i,r;if(t?([i]=T(this,me,ag).call(this,[t]),r=`luminosity_${i}`):r="luminosity",s=f(this,me,ns).get(r),s)return f(this,me,ns).set(t,s),s;const o=`g_${f(this,Jr)}_luminosity_map_${ps(this,Rl)._++}`,a=T(this,me,Vc).call(this,o);f(this,me,ns).set(t,a),f(this,me,ns).set(r,a);const l=T(this,me,Wc).call(this,o);return T(this,me,AR).call(this,l),t&&T(this,me,Kb).call(this,i,l),a}addHighlightHCMFilter(t,s,i,r,o){var w;const a=`${s}-${i}-${r}-${o}`;let l=f(this,me,qc).get(t);if((l==null?void 0:l.key)===a||(l?((w=l.filter)==null||w.remove(),l.key=a,l.url="none",l.filter=null):(l={key:a,url:"none",filter:null},f(this,me,qc).set(t,l)),!s||!i))return l.url;const[c,h]=[s,i].map(T(this,me,md).bind(this));let u=Math.round(.2126*c[0]+.7152*c[1]+.0722*c[2]),d=Math.round(.2126*h[0]+.7152*h[1]+.0722*h[2]),[p,m]=[r,o].map(T(this,me,md).bind(this));d{const $=new Array(256),E=(d-u)/A,O=_/255,F=(k-_)/(255*A);let B=0;for(let L=0;L<=A;L++){const z=Math.round(u+L*E),K=O+L*F;for(let D=B;D<=z;D++)$[D]=K;B=z+1}for(let L=B;L<256;L++)$[L]=$[B-1];return $.join(",")},v=`g_${f(this,Jr)}_hcm_${t}_filter`,y=l.filter=T(this,me,Wc).call(this,v);return T(this,me,Gb).call(this,y),T(this,me,pd).call(this,g(p[0],m[0],5),g(p[1],m[1],5),g(p[2],m[2],5),y),l.url=T(this,me,Vc).call(this,v),l.url}destroy(t=!1){t&&f(this,me,qc).size!==0||(f(this,gr)&&(f(this,gr).parentNode.parentNode.remove(),C(this,gr,null)),f(this,Pl)&&(f(this,Pl).clear(),C(this,Pl,null)),C(this,Rl,0))}}Tl=new WeakMap,Pl=new WeakMap,gr=new WeakMap,Jr=new WeakMap,is=new WeakMap,Ly=new WeakMap,Rl=new WeakMap,me=new WeakSet,ns=function(){return f(this,Pl)||C(this,Pl,new Map)},qc=function(){return f(this,Ly)||C(this,Ly,new Map)},Uc=function(){if(!f(this,gr)){const t=f(this,is).createElement("div"),{style:s}=t;s.visibility="hidden",s.contain="strict",s.width=s.height=0,s.position="absolute",s.top=s.left=0,s.zIndex=-1;const i=f(this,is).createElementNS(Ur,"svg");i.setAttribute("width",0),i.setAttribute("height",0),C(this,gr,f(this,is).createElementNS(Ur,"defs")),t.append(i),i.append(f(this,gr)),f(this,is).body.append(t)}return f(this,gr)},ag=function(t){if(t.length===1){const c=t[0],h=new Array(256);for(let d=0;d<256;d++)h[d]=c[d]/255;const u=h.join(",");return[u,u,u]}const[s,i,r]=t,o=new Array(256),a=new Array(256),l=new Array(256);for(let c=0;c<256;c++)o[c]=s[c]/255,a[c]=i[c]/255,l[c]=r[c]/255;return[o.join(","),a.join(","),l.join(",")]},Vc=function(t){if(f(this,Tl)===void 0){C(this,Tl,"");const s=f(this,is).URL;s!==f(this,is).baseURI&&(A0(s)?Be('#createUrl: ignore "data:"-URL for performance reasons.'):C(this,Tl,s.split("#",1)[0]))}return`url(${f(this,Tl)}#${t})`},AR=function(t){const s=f(this,is).createElementNS(Ur,"feColorMatrix");s.setAttribute("type","matrix"),s.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),t.append(s)},Gb=function(t){const s=f(this,is).createElementNS(Ur,"feColorMatrix");s.setAttribute("type","matrix"),s.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),t.append(s)},Wc=function(t){const s=f(this,is).createElementNS(Ur,"filter");return s.setAttribute("color-interpolation-filters","sRGB"),s.setAttribute("id",t),f(this,me,Uc).append(s),s},fd=function(t,s,i){const r=f(this,is).createElementNS(Ur,s);r.setAttribute("type","discrete"),r.setAttribute("tableValues",i),t.append(r)},pd=function(t,s,i,r){const o=f(this,is).createElementNS(Ur,"feComponentTransfer");r.append(o),T(this,me,fd).call(this,o,"feFuncR",t),T(this,me,fd).call(this,o,"feFuncG",s),T(this,me,fd).call(this,o,"feFuncB",i)},Kb=function(t,s){const i=f(this,is).createElementNS(Ur,"feComponentTransfer");s.append(i),T(this,me,fd).call(this,i,"feFuncA",t)},md=function(t){return f(this,me,Uc).style.color=t,cA(getComputedStyle(f(this,me,Uc)).getPropertyValue("color"))};class kR{constructor({baseUrl:e=null}){this.baseUrl=e}async fetch({filename:e}){if(!this.baseUrl)throw new Error("Ensure that the `standardFontDataUrl` API parameter is provided.");if(!e)throw new Error("Font filename must be specified.");const t=`${this.baseUrl}${e}`;return this._fetch(t).catch(s=>{throw new Error(`Unable to load font data at: ${t}`)})}async _fetch(e){$t("Abstract method `_fetch` called.")}}class xR extends kR{async _fetch(e){const t=await S0(e,"arraybuffer");return new Uint8Array(t)}}if(cs){var Zb=Promise.withResolvers(),zd=null;(async()=>{const e=await em(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),t=await em(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),s=await em(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),i=await em(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]);let r,o;return new Map(Object.entries({fs:e,http:t,https:s,url:i,canvas:r,path2d:o}))})().then(e=>{zd=e,Zb.resolve()},e=>{Be(`loadPackages: ${e}`),zd=new Map,Zb.resolve()})}class Pa{static get promise(){return Zb.promise}static get(e){return zd==null?void 0:zd.get(e)}}async function ER(n){const t=await Pa.get("fs").promises.readFile(n);return new Uint8Array(t)}class _8 extends SR{}class S8 extends bR{_createCanvas(e,t){return Pa.get("canvas").createCanvas(e,t)}}class A8 extends wR{async _fetch(e){return ER(e)}}class k8 extends kR{async _fetch(e){return ER(e)}}const ws={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function Xb(n,e){if(!e)return;const t=e[2]-e[0],s=e[3]-e[1],i=new Path2D;i.rect(e[0],e[1],t,s),n.clip(i)}class uA{getPattern(){$t("Abstract method `getPattern` called.")}}class x8 extends uA{constructor(e){super(),this._type=e[1],this._bbox=e[2],this._colorStops=e[3],this._p0=e[4],this._p1=e[5],this._r0=e[6],this._r1=e[7],this.matrix=null}_createGradient(e){let t;this._type==="axial"?t=e.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):this._type==="radial"&&(t=e.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const s of this._colorStops)t.addColorStop(s[0],s[1]);return t}getPattern(e,t,s,i){let r;if(i===ws.STROKE||i===ws.FILL){const o=t.current.getClippedPathBoundingBox(i,jt(e))||[0,0,0,0],a=Math.ceil(o[2]-o[0])||1,l=Math.ceil(o[3]-o[1])||1,c=t.cachedCanvases.getCanvas("pattern",a,l),h=c.context;h.clearRect(0,0,h.canvas.width,h.canvas.height),h.beginPath(),h.rect(0,0,h.canvas.width,h.canvas.height),h.translate(-o[0],-o[1]),s=_e.transform(s,[1,0,0,1,o[0],o[1]]),h.transform(...t.baseTransform),this.matrix&&h.transform(...this.matrix),Xb(h,this._bbox),h.fillStyle=this._createGradient(h),h.fill(),r=e.createPattern(c.canvas,"no-repeat");const u=new DOMMatrix(s);r.setTransform(u)}else Xb(e,this._bbox),r=this._createGradient(e);return r}}function uv(n,e,t,s,i,r,o,a){const l=e.coords,c=e.colors,h=n.data,u=n.width*4;let d;l[t+1]>l[s+1]&&(d=t,t=s,s=d,d=r,r=o,o=d),l[s+1]>l[i+1]&&(d=s,s=i,i=d,d=o,o=a,a=d),l[t+1]>l[s+1]&&(d=t,t=s,s=d,d=r,r=o,o=d);const p=(l[t]+e.offsetX)*e.scaleX,m=(l[t+1]+e.offsetY)*e.scaleY,g=(l[s]+e.offsetX)*e.scaleX,v=(l[s+1]+e.offsetY)*e.scaleY,y=(l[i]+e.offsetX)*e.scaleX,w=(l[i+1]+e.offsetY)*e.scaleY;if(m>=w)return;const _=c[r],k=c[r+1],A=c[r+2],$=c[o],E=c[o+1],O=c[o+2],F=c[a],B=c[a+1],L=c[a+2],z=Math.round(m),K=Math.round(w);let D,Q,X,J,se,de,H,P;for(let N=z;N<=K;N++){if(Nw?V=1:v===w?V=0:V=(v-N)/(v-w),D=g-(g-y)*V,Q=$-($-F)*V,X=E-(E-B)*V,J=O-(O-L)*V}let M;Nw?M=1:M=(m-N)/(m-w),se=p-(p-y)*M,de=_-(_-F)*M,H=k-(k-B)*M,P=A-(A-L)*M;const b=Math.round(Math.min(D,se)),x=Math.round(Math.max(D,se));let I=u*N+b*4;for(let V=b;V<=x;V++)M=(D-V)/(D-se),M<0?M=0:M>1&&(M=1),h[I++]=Q-(Q-de)*M|0,h[I++]=X-(X-H)*M|0,h[I++]=J-(J-P)*M|0,h[I++]=255}}function E8(n,e,t){const s=e.coords,i=e.colors;let r,o;switch(e.type){case"lattice":const a=e.verticesPerRow,l=Math.floor(s.length/a)-1,c=a-1;for(r=0;r=B?k=l:$=!0,F>=L?A=c:E=!0;const z=this.getSizeAndScale(k,this.ctx.canvas.width,w),K=this.getSizeAndScale(A,this.ctx.canvas.height,_),D=e.cachedCanvases.getCanvas("pattern",z.size,K.size),Q=D.context,X=a.createCanvasGraphics(Q);if(X.groupLevel=e.groupLevel,this.setFillAndStrokeStyleToContext(X,i,o),Q.translate(-z.scale*h,-K.scale*u),X.transform(z.scale,0,0,K.scale,0,0),Q.save(),this.clipBbox(X,h,u,d,p),X.baseTransform=jt(X.ctx),X.executeOperatorList(s),X.endDrawing(),Q.restore(),$||E){const J=D.canvas;$&&(k=l),E&&(A=c);const se=this.getSizeAndScale(k,this.ctx.canvas.width,w),de=this.getSizeAndScale(A,this.ctx.canvas.height,_),H=se.size,P=de.size,N=e.cachedCanvases.getCanvas("pattern-workaround",H,P),M=N.context,b=$?Math.floor(m/l):0,x=E?Math.floor(g/c):0;for(let I=0;I<=b;I++)for(let V=0;V<=x;V++)M.drawImage(J,H*I,P*V,H,P,0,0,H,P);return{canvas:N.canvas,scaleX:se.scale,scaleY:de.scale,offsetX:h,offsetY:u}}return{canvas:D.canvas,scaleX:z.scale,scaleY:K.scale,offsetX:h,offsetY:u}}getSizeAndScale(e,t,s){const i=Math.max(Dy.MAX_PATTERN_SIZE,t);let r=Math.ceil(e*s);return r>=i?r=i:s=r/e,{scale:s,size:r}}clipBbox(e,t,s,i,r){const o=i-t,a=r-s;e.ctx.rect(t,s,o,a),e.current.updateRectMinMax(jt(e.ctx),[t,s,i,r]),e.clip(),e.endPath()}setFillAndStrokeStyleToContext(e,t,s){const i=e.ctx,r=e.current;switch(t){case Tx.COLORED:const o=this.ctx;i.fillStyle=o.fillStyle,i.strokeStyle=o.strokeStyle,r.fillColor=o.fillStyle,r.strokeColor=o.strokeStyle;break;case Tx.UNCOLORED:const a=_e.makeHexColor(s[0],s[1],s[2]);i.fillStyle=a,i.strokeStyle=a,r.fillColor=a,r.strokeColor=a;break;default:throw new e8(`Unsupported paint type: ${t}`)}}getPattern(e,t,s,i){let r=s;i!==ws.SHADING&&(r=_e.transform(r,t.baseTransform),this.matrix&&(r=_e.transform(r,this.matrix)));const o=this.createPatternCanvas(t);let a=new DOMMatrix(r);a=a.translate(o.offsetX,o.offsetY),a=a.scale(1/o.scaleX,1/o.scaleY);const l=e.createPattern(o.canvas,"repeat");return l.setTransform(a),l}};re(Dy,"MAX_PATTERN_SIZE",3e3);let Yb=Dy;function P8({src:n,srcPos:e=0,dest:t,width:s,height:i,nonBlackColor:r=4294967295,inverseDecode:o=!1}){const a=_s.isLittleEndian?4278190080:255,[l,c]=o?[r,a]:[a,r],h=s>>3,u=s&7,d=n.length;t=new Uint32Array(t.buffer);let p=0;for(let m=0;m{n.save=n.__originalSave,n.restore=n.__originalRestore,n.rotate=n.__originalRotate,n.scale=n.__originalScale,n.translate=n.__originalTranslate,n.transform=n.__originalTransform,n.setTransform=n.__originalSetTransform,n.resetTransform=n.__originalResetTransform,n.clip=n.__originalClip,n.moveTo=n.__originalMoveTo,n.lineTo=n.__originalLineTo,n.bezierCurveTo=n.__originalBezierCurveTo,n.rect=n.__originalRect,n.closePath=n.__originalClosePath,n.beginPath=n.__originalBeginPath,delete n._removeMirroring},n.save=function(){e.save(),this.__originalSave()},n.restore=function(){e.restore(),this.__originalRestore()},n.translate=function(s,i){e.translate(s,i),this.__originalTranslate(s,i)},n.scale=function(s,i){e.scale(s,i),this.__originalScale(s,i)},n.transform=function(s,i,r,o,a,l){e.transform(s,i,r,o,a,l),this.__originalTransform(s,i,r,o,a,l)},n.setTransform=function(s,i,r,o,a,l){e.setTransform(s,i,r,o,a,l),this.__originalSetTransform(s,i,r,o,a,l)},n.resetTransform=function(){e.resetTransform(),this.__originalResetTransform()},n.rotate=function(s){e.rotate(s),this.__originalRotate(s)},n.clip=function(s){e.clip(s),this.__originalClip(s)},n.moveTo=function(t,s){e.moveTo(t,s),this.__originalMoveTo(t,s)},n.lineTo=function(t,s){e.lineTo(t,s),this.__originalLineTo(t,s)},n.bezierCurveTo=function(t,s,i,r,o,a){e.bezierCurveTo(t,s,i,r,o,a),this.__originalBezierCurveTo(t,s,i,r,o,a)},n.rect=function(t,s,i,r){e.rect(t,s,i,r),this.__originalRect(t,s,i,r)},n.closePath=function(){e.closePath(),this.__originalClosePath()},n.beginPath=function(){e.beginPath(),this.__originalBeginPath()}}class I8{constructor(e){this.canvasFactory=e,this.cache=Object.create(null)}getCanvas(e,t,s){let i;return this.cache[e]!==void 0?(i=this.cache[e],this.canvasFactory.reset(i,t,s)):(i=this.canvasFactory.create(t,s),this.cache[e]=i),i}delete(e){delete this.cache[e]}clear(){for(const e in this.cache){const t=this.cache[e];this.canvasFactory.destroy(t),delete this.cache[e]}}}function ym(n,e,t,s,i,r,o,a,l,c){const[h,u,d,p,m,g]=jt(n);if(u===0&&d===0){const w=o*h+m,_=Math.round(w),k=a*p+g,A=Math.round(k),$=(o+l)*h+m,E=Math.abs(Math.round($)-_)||1,O=(a+c)*p+g,F=Math.abs(Math.round(O)-A)||1;return n.setTransform(Math.sign(h),0,0,Math.sign(p),_,A),n.drawImage(e,t,s,i,r,0,0,E,F),n.setTransform(h,u,d,p,m,g),[E,F]}if(h===0&&p===0){const w=a*d+m,_=Math.round(w),k=o*u+g,A=Math.round(k),$=(a+c)*d+m,E=Math.abs(Math.round($)-_)||1,O=(o+l)*u+g,F=Math.abs(Math.round(O)-A)||1;return n.setTransform(0,Math.sign(u),Math.sign(d),0,_,A),n.drawImage(e,t,s,i,r,0,0,F,E),n.setTransform(h,u,d,p,m,g),[F,E]}n.drawImage(e,t,s,i,r,o,a,l,c);const v=Math.hypot(h,u),y=Math.hypot(d,p);return[v*l,y*c]}function O8(n){const{width:e,height:t}=n;if(e>Ix||t>Ix)return null;const s=1e3,i=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),r=e+1;let o=new Uint8Array(r*(t+1)),a,l,c;const h=e+7&-8;let u=new Uint8Array(h*t),d=0;for(const y of n.data){let w=128;for(;w>0;)u[d++]=y&w?0:255,w>>=1}let p=0;for(d=0,u[d]!==0&&(o[0]=1,++p),l=1;l>2)+(u[d+1]?4:0)+(u[d-h+1]?8:0),i[y]&&(o[c+l]=i[y],++p),d++;if(u[d-h]!==u[d]&&(o[c+l]=u[d]?2:4,++p),p>s)return null}for(d=h*(t-1),c=a*r,u[d]!==0&&(o[c]=8,++p),l=1;ls)return null;const m=new Int32Array([0,r,-1,0,-r,0,0,0,1]),g=new Path2D;for(a=0;p&&a<=t;a++){let y=a*r;const w=y+e;for(;y>4,o[y]&=k>>2|k<<2),g.lineTo(y%r,y/r|0),o[y]||--p}while(_!==y);--a}return u=null,o=null,function(y){y.save(),y.scale(1/e,-1/t),y.translate(0,-t),y.fill(g),y.beginPath(),y.restore()}}class Ox{constructor(e,t){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=qP,this.textMatrixScale=1,this.fontMatrix=Ab,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=ts.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.transferMaps="none",this.startNewPathAndClipBox([0,0,e,t])}clone(){const e=Object.create(this);return e.clipBox=this.clipBox.slice(),e}setCurrentPoint(e,t){this.x=e,this.y=t}updatePathMinMax(e,t,s){[t,s]=_e.applyTransform([t,s],e),this.minX=Math.min(this.minX,t),this.minY=Math.min(this.minY,s),this.maxX=Math.max(this.maxX,t),this.maxY=Math.max(this.maxY,s)}updateRectMinMax(e,t){const s=_e.applyTransform(t,e),i=_e.applyTransform(t.slice(2),e),r=_e.applyTransform([t[0],t[3]],e),o=_e.applyTransform([t[2],t[1]],e);this.minX=Math.min(this.minX,s[0],i[0],r[0],o[0]),this.minY=Math.min(this.minY,s[1],i[1],r[1],o[1]),this.maxX=Math.max(this.maxX,s[0],i[0],r[0],o[0]),this.maxY=Math.max(this.maxY,s[1],i[1],r[1],o[1])}updateScalingPathMinMax(e,t){_e.scaleMinMax(e,t),this.minX=Math.min(this.minX,t[0]),this.minY=Math.min(this.minY,t[1]),this.maxX=Math.max(this.maxX,t[2]),this.maxY=Math.max(this.maxY,t[3])}updateCurvePathMinMax(e,t,s,i,r,o,a,l,c,h){const u=_e.bezierBoundingBox(t,s,i,r,o,a,l,c,h);h||this.updateRectMinMax(e,u)}getPathBoundingBox(e=ws.FILL,t=null){const s=[this.minX,this.minY,this.maxX,this.maxY];if(e===ws.STROKE){t||$t("Stroke bounding box must include transform.");const i=_e.singularValueDecompose2dScale(t),r=i[0]*this.lineWidth/2,o=i[1]*this.lineWidth/2;s[0]-=r,s[1]-=o,s[2]+=r,s[3]+=o}return s}updateClipFromPath(){const e=_e.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(e||[0,0,0,0])}isEmptyClip(){return this.minX===1/0}startNewPathAndClipBox(e){this.clipBox=e,this.minX=1/0,this.minY=1/0,this.maxX=0,this.maxY=0}getClippedPathBoundingBox(e=ws.FILL,t=null){return _e.intersect(this.clipBox,this.getPathBoundingBox(e,t))}}function Nx(n,e){if(typeof ImageData<"u"&&e instanceof ImageData){n.putImageData(e,0,0);return}const t=e.height,s=e.width,i=t%Is,r=(t-i)/Is,o=i===0?r:r+1,a=n.createImageData(s,Is);let l=0,c;const h=e.data,u=a.data;let d,p,m,g;if(e.kind===eg.GRAYSCALE_1BPP){const v=h.byteLength,y=new Uint32Array(u.buffer,0,u.byteLength>>2),w=y.length,_=s+7>>3,k=4294967295,A=_s.isLittleEndian?4278190080:255;for(d=0;d_?s:$*8-7,F=O&-8;let B=0,L=0;for(;E>=1}for(;c=r&&(m=i,g=s*m),c=0,p=g;p--;)u[c++]=h[l++],u[c++]=h[l++],u[c++]=h[l++],u[c++]=255;n.putImageData(a,0,d*Is)}else throw new Error(`bad image kind: ${e.kind}`)}function Lx(n,e){if(e.bitmap){n.drawImage(e.bitmap,0,0);return}const t=e.height,s=e.width,i=t%Is,r=(t-i)/Is,o=i===0?r:r+1,a=n.createImageData(s,Is);let l=0;const c=e.data,h=a.data;for(let u=0;uMx&&typeof s=="function",h=c?Date.now()+R8:0;let u=0;const d=this.commonObjs,p=this.objs;let m;for(;;){if(i!==void 0&&a===i.nextBreakPoint)return i.breakIt(a,s),a;if(m=o[a],m!==Ri.dependency)this[m].apply(this,r[a]);else for(const g of r[a]){const v=g.startsWith("g_")?d:p;if(!v.has(g))return v.get(g,s),a}if(a++,a===l)return a;if(c&&++u>Mx){if(Date.now()>h)return s(),a;u=0}}}endDrawing(){T(this,La,Jb).call(this),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const e of this._cachedBitmapsMap.values()){for(const t of e.values())typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement&&(t.width=t.height=0);e.clear()}this._cachedBitmapsMap.clear(),T(this,La,Qb).call(this)}_scaleImage(e,t){const s=e.width??e.displayWidth,i=e.height??e.displayHeight;let r=Math.max(Math.hypot(t[0],t[1]),1),o=Math.max(Math.hypot(t[2],t[3]),1),a=s,l=i,c="prescale1",h,u;for(;r>2&&a>1||o>2&&l>1;){let d=a,p=l;r>2&&a>1&&(d=a>=16384?Math.floor(a/2)-1||1:Math.ceil(a/2),r/=a/d),o>2&&l>1&&(p=l>=16384?Math.floor(l/2)-1||1:Math.ceil(l)/2,o/=l/p),h=this.cachedCanvases.getCanvas(c,d,p),u=h.context,u.clearRect(0,0,d,p),u.drawImage(e,0,0,a,l,0,0,d,p),e=h.canvas,a=d,l=p,c=c==="prescale1"?"prescale2":"prescale1"}return{img:e,paintWidth:a,paintHeight:l}}_createMaskCanvas(e){const t=this.ctx,{width:s,height:i}=e,r=this.current.fillColor,o=this.current.patternFill,a=jt(t);let l,c,h,u;if((e.bitmap||e.data)&&e.count>1){const O=e.bitmap||e.data.buffer;c=JSON.stringify(o?a:[a.slice(0,4),r]),l=this._cachedBitmapsMap.get(O),l||(l=new Map,this._cachedBitmapsMap.set(O,l));const F=l.get(c);if(F&&!o){const B=Math.round(Math.min(a[0],a[2])+a[4]),L=Math.round(Math.min(a[1],a[3])+a[5]);return{canvas:F,offsetX:B,offsetY:L}}h=F}h||(u=this.cachedCanvases.getCanvas("maskCanvas",s,i),Lx(u.context,e));let d=_e.transform(a,[1/s,0,0,-1/i,0,0]);d=_e.transform(d,[1,0,0,1,0,-i]);const[p,m,g,v]=_e.getAxialAlignedBoundingBox([0,0,s,i],d),y=Math.round(g-p)||1,w=Math.round(v-m)||1,_=this.cachedCanvases.getCanvas("fillCanvas",y,w),k=_.context,A=p,$=m;k.translate(-A,-$),k.transform(...d),h||(h=this._scaleImage(u.canvas,qr(k)),h=h.img,l&&o&&l.set(c,h)),k.imageSmoothingEnabled=Dx(jt(k),e.interpolate),ym(k,h,0,0,h.width,h.height,0,0,s,i),k.globalCompositeOperation="source-in";const E=_e.transform(qr(k),[1,0,0,1,-A,-$]);return k.fillStyle=o?r.getPattern(t,this,E,ws.FILL):r,k.fillRect(0,0,s,i),l&&!o&&(this.cachedCanvases.delete("fillCanvas"),l.set(c,_.canvas)),{canvas:_.canvas,offsetX:Math.round(A),offsetY:Math.round($)}}setLineWidth(e){e!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=e,this.ctx.lineWidth=e}setLineCap(e){this.ctx.lineCap=N8[e]}setLineJoin(e){this.ctx.lineJoin=L8[e]}setMiterLimit(e){this.ctx.miterLimit=e}setDash(e,t){const s=this.ctx;s.setLineDash!==void 0&&(s.setLineDash(e),s.lineDashOffset=t)}setRenderingIntent(e){}setFlatness(e){}setGState(e){for(const[t,s]of e)switch(t){case"LW":this.setLineWidth(s);break;case"LC":this.setLineCap(s);break;case"LJ":this.setLineJoin(s);break;case"ML":this.setMiterLimit(s);break;case"D":this.setDash(s[0],s[1]);break;case"RI":this.setRenderingIntent(s);break;case"FL":this.setFlatness(s);break;case"Font":this.setFont(s[0],s[1]);break;case"CA":this.current.strokeAlpha=s;break;case"ca":this.current.fillAlpha=s,this.ctx.globalAlpha=s;break;case"BM":this.ctx.globalCompositeOperation=s;break;case"SMask":this.current.activeSMask=s?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case"TR":this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(s);break}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const e=this.inSMaskMode;this.current.activeSMask&&!e?this.beginSMaskMode():!this.current.activeSMask&&e&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const e=this.ctx.canvas.width,t=this.ctx.canvas.height,s="smaskGroupAt"+this.groupLevel,i=this.cachedCanvases.getCanvas(s,e,t);this.suspendedCtx=this.ctx,this.ctx=i.context;const r=this.ctx;r.setTransform(...jt(this.suspendedCtx)),Yu(this.suspendedCtx,r),M8(r,this.suspendedCtx),this.setGState([["BM","source-over"],["ca",1],["CA",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),Yu(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(e){if(!this.current.activeSMask)return;e?(e[0]=Math.floor(e[0]),e[1]=Math.floor(e[1]),e[2]=Math.ceil(e[2]),e[3]=Math.ceil(e[3])):e=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const t=this.current.activeSMask,s=this.suspendedCtx;this.composeSMask(s,t,this.ctx,e),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(e,t,s,i){const r=i[0],o=i[1],a=i[2]-r,l=i[3]-o;a===0||l===0||(this.genericComposeSMask(t.context,s,a,l,t.subtype,t.backdrop,t.transferMap,r,o,t.offsetX,t.offsetY),e.save(),e.globalAlpha=1,e.globalCompositeOperation="source-over",e.setTransform(1,0,0,1,0,0),e.drawImage(s.canvas,0,0),e.restore())}genericComposeSMask(e,t,s,i,r,o,a,l,c,h,u){let d=e.canvas,p=l-h,m=c-u;if(o){const v=_e.makeHexColor(...o);if(p<0||m<0||p+s>d.width||m+i>d.height){const y=this.cachedCanvases.getCanvas("maskExtension",s,i),w=y.context;w.drawImage(d,-p,-m),w.globalCompositeOperation="destination-atop",w.fillStyle=v,w.fillRect(0,0,s,i),w.globalCompositeOperation="source-over",d=y.canvas,p=m=0}else{e.save(),e.globalAlpha=1,e.setTransform(1,0,0,1,0,0);const y=new Path2D;y.rect(p,m,s,i),e.clip(y),e.globalCompositeOperation="destination-atop",e.fillStyle=v,e.fillRect(p,m,s,i),e.restore()}}t.save(),t.globalAlpha=1,t.setTransform(1,0,0,1,0,0),r==="Alpha"&&a?t.filter=this.filterFactory.addAlphaFilter(a):r==="Luminosity"&&(t.filter=this.filterFactory.addLuminosityFilter(a));const g=new Path2D;g.rect(l,c,s,i),t.clip(g),t.globalCompositeOperation="destination-in",t.drawImage(d,p,m,s,i,l,c,s,i),t.restore()}save(){this.inSMaskMode?(Yu(this.ctx,this.suspendedCtx),this.suspendedCtx.save()):this.ctx.save();const e=this.current;this.stateStack.push(e),this.current=e.clone()}restore(){this.stateStack.length===0&&this.inSMaskMode&&this.endSMaskMode(),this.stateStack.length!==0&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),Yu(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null)}transform(e,t,s,i,r,o){this.ctx.transform(e,t,s,i,r,o),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(e,t,s){const i=this.ctx,r=this.current;let o=r.x,a=r.y,l,c;const h=jt(i),u=h[0]===0&&h[3]===0||h[1]===0&&h[2]===0,d=u?s.slice(0):null;for(let p=0,m=0,g=e.length;pRx&&(c=Rx),this.current.fontSizeScale=t/c,this.ctx.font=`${l} ${a} ${c}px ${o}`}setTextRenderingMode(e){this.current.textRenderingMode=e}setTextRise(e){this.current.textRise=e}moveText(e,t){this.current.x=this.current.lineX+=e,this.current.y=this.current.lineY+=t}setLeadingMoveText(e,t){this.setLeading(-t),this.moveText(e,t)}setTextMatrix(e,t,s,i,r,o){this.current.textMatrix=[e,t,s,i,r,o],this.current.textMatrixScale=Math.hypot(e,t),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}nextLine(){this.moveText(0,this.current.leading)}paintChar(e,t,s,i){const r=this.ctx,o=this.current,a=o.font,l=o.textRenderingMode,c=o.fontSize/o.fontSizeScale,h=l&ts.FILL_STROKE_MASK,u=!!(l&ts.ADD_TO_PATH_FLAG),d=o.patternFill&&!a.missingFile;let p;(a.disableFontFace||u||d)&&(p=a.getPathGenerator(this.commonObjs,e)),a.disableFontFace||d?(r.save(),r.translate(t,s),r.beginPath(),p(r,c),i&&r.setTransform(...i),(h===ts.FILL||h===ts.FILL_STROKE)&&r.fill(),(h===ts.STROKE||h===ts.FILL_STROKE)&&r.stroke(),r.restore()):((h===ts.FILL||h===ts.FILL_STROKE)&&r.fillText(e,t,s),(h===ts.STROKE||h===ts.FILL_STROKE)&&r.strokeText(e,t,s)),u&&(this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:jt(r),x:t,y:s,fontSize:c,addToPath:p})}get isFontSubpixelAAEnabled(){const{context:e}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);e.scale(1.5,1),e.fillText("I",0,10);const t=e.getImageData(0,0,10,10).data;let s=!1;for(let i=3;i0&&t[i]<255){s=!0;break}return Ze(this,"isFontSubpixelAAEnabled",s)}showText(e){const t=this.current,s=t.font;if(s.isType3Font)return this.showType3Text(e);const i=t.fontSize;if(i===0)return;const r=this.ctx,o=t.fontSizeScale,a=t.charSpacing,l=t.wordSpacing,c=t.fontDirection,h=t.textHScale*c,u=e.length,d=s.vertical,p=d?1:-1,m=s.defaultVMetrics,g=i*t.fontMatrix[0],v=t.textRenderingMode===ts.FILL&&!s.disableFontFace&&!t.patternFill;r.save(),r.transform(...t.textMatrix),r.translate(t.x,t.y+t.textRise),c>0?r.scale(h,-1):r.scale(h,1);let y;if(t.patternFill){r.save();const $=t.fillColor.getPattern(r,this,qr(r),ws.FILL);y=jt(r),r.restore(),r.fillStyle=$}let w=t.lineWidth;const _=t.textMatrixScale;if(_===0||w===0){const $=t.textRenderingMode&ts.FILL_STROKE_MASK;($===ts.STROKE||$===ts.FILL_STROKE)&&(w=this.getSinglePixelWidth())}else w/=_;if(o!==1&&(r.scale(o,o),w/=o),r.lineWidth=w,s.isInvalidPDFjsFont){const $=[];let E=0;for(const O of e)$.push(O.unicode),E+=O.width;r.fillText($.join(""),0,0),t.x+=E*g*h,r.restore(),this.compose();return}let k=0,A;for(A=0;A0){const Q=r.measureText(F).width*1e3/i*o;if(Knew KA(o,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};t=new Yb(e,s,this.ctx,r,i)}else t=this._getPattern(e[1],e[2]);return t}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments)}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(e,t,s){this.ctx.strokeStyle=this.current.strokeColor=_e.makeHexColor(e,t,s)}setStrokeTransparent(){this.ctx.strokeStyle=this.current.strokeColor="transparent"}setFillRGBColor(e,t,s){this.ctx.fillStyle=this.current.fillColor=_e.makeHexColor(e,t,s),this.current.patternFill=!1}setFillTransparent(){this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1}_getPattern(e,t=null){let s;return this.cachedPatterns.has(e)?s=this.cachedPatterns.get(e):(s=T8(this.getObject(e)),this.cachedPatterns.set(e,s)),t&&(s.matrix=t),s}shadingFill(e){if(!this.contentVisible)return;const t=this.ctx;this.save();const s=this._getPattern(e);t.fillStyle=s.getPattern(t,this,qr(t),ws.SHADING);const i=qr(t);if(i){const{width:r,height:o}=t.canvas,[a,l,c,h]=_e.getAxialAlignedBoundingBox([0,0,r,o],i);this.ctx.fillRect(a,l,c-a,h-l)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox()),this.restore()}beginInlineImage(){$t("Should not call beginInlineImage")}beginImageData(){$t("Should not call beginImageData")}paintFormXObjectBegin(e,t){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),e&&this.transform(...e),this.baseTransform=jt(this.ctx),t)){const s=t[2]-t[0],i=t[3]-t[1];this.ctx.rect(t[0],t[1],s,i),this.current.updateRectMinMax(jt(this.ctx),t),this.clip(),this.endPath()}}paintFormXObjectEnd(){this.contentVisible&&(this.restore(),this.baseTransform=this.baseTransformStack.pop())}beginGroup(e){if(!this.contentVisible)return;this.save(),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);const t=this.ctx;e.isolated||b0("TODO: Support non-isolated groups."),e.knockout&&Be("Knockout groups not supported.");const s=jt(t);if(e.matrix&&t.transform(...e.matrix),!e.bbox)throw new Error("Bounding box is required.");let i=_e.getAxialAlignedBoundingBox(e.bbox,jt(t));const r=[0,0,t.canvas.width,t.canvas.height];i=_e.intersect(i,r)||[0,0,0,0];const o=Math.floor(i[0]),a=Math.floor(i[1]),l=Math.max(Math.ceil(i[2])-o,1),c=Math.max(Math.ceil(i[3])-a,1);this.current.startNewPathAndClipBox([0,0,l,c]);let h="groupAt"+this.groupLevel;e.smask&&(h+="_smask_"+this.smaskCounter++%2);const u=this.cachedCanvases.getCanvas(h,l,c),d=u.context;d.translate(-o,-a),d.transform(...s),e.smask?this.smaskStack.push({canvas:u.canvas,context:d,offsetX:o,offsetY:a,subtype:e.smask.subtype,backdrop:e.smask.backdrop,transferMap:e.smask.transferMap||null,startTransformInverse:null}):(t.setTransform(1,0,0,1,0,0),t.translate(o,a),t.save()),Yu(t,d),this.ctx=d,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(t),this.groupLevel++}endGroup(e){if(!this.contentVisible)return;this.groupLevel--;const t=this.ctx,s=this.groupStack.pop();if(this.ctx=s,this.ctx.imageSmoothingEnabled=!1,e.smask)this.tempSMask=this.smaskStack.pop(),this.restore();else{this.ctx.restore();const i=jt(this.ctx);this.restore(),this.ctx.save(),this.ctx.setTransform(...i);const r=_e.getAxialAlignedBoundingBox([0,0,t.canvas.width,t.canvas.height],i);this.ctx.drawImage(t.canvas,0,0),this.ctx.restore(),this.compose(r)}}beginAnnotation(e,t,s,i,r){if(T(this,La,Jb).call(this),vm(this.ctx),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),t){const o=t[2]-t[0],a=t[3]-t[1];if(r&&this.annotationCanvasMap){s=s.slice(),s[4]-=t[0],s[5]-=t[1],t=t.slice(),t[0]=t[1]=0,t[2]=o,t[3]=a;const[l,c]=_e.singularValueDecompose2dScale(jt(this.ctx)),{viewportScale:h}=this,u=Math.ceil(o*this.outputScaleX*h),d=Math.ceil(a*this.outputScaleY*h);this.annotationCanvas=this.canvasFactory.create(u,d);const{canvas:p,context:m}=this.annotationCanvas;this.annotationCanvasMap.set(e,p),this.annotationCanvas.savedCtx=this.ctx,this.ctx=m,this.ctx.save(),this.ctx.setTransform(l,0,0,-c,0,a*c),vm(this.ctx)}else vm(this.ctx),this.endPath(),this.ctx.rect(t[0],t[1],o,a),this.ctx.clip(),this.ctx.beginPath()}this.current=new Ox(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...s),this.transform(...i)}endAnnotation(){this.annotationCanvas&&(this.ctx.restore(),T(this,La,Qb).call(this),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(e){if(!this.contentVisible)return;const t=e.count;e=this.getObject(e.data,e),e.count=t;const s=this.ctx,i=this.processingType3;if(i&&(i.compiled===void 0&&(i.compiled=O8(e)),i.compiled)){i.compiled(s);return}const r=this._createMaskCanvas(e),o=r.canvas;s.save(),s.setTransform(1,0,0,1,0,0),s.drawImage(o,r.offsetX,r.offsetY),s.restore(),this.compose()}paintImageMaskXObjectRepeat(e,t,s=0,i=0,r,o){if(!this.contentVisible)return;e=this.getObject(e.data,e);const a=this.ctx;a.save();const l=jt(a);a.transform(t,s,i,r,0,0);const c=this._createMaskCanvas(e);a.setTransform(1,0,0,1,c.offsetX-l[4],c.offsetY-l[5]);for(let h=0,u=o.length;hu?h/u:1,a=c>u?c/u:1}}this._cachedScaleForStroking[0]=o,this._cachedScaleForStroking[1]=a}return this._cachedScaleForStroking}rescaleAndStroke(e){const{ctx:t}=this,{lineWidth:s}=this.current,[i,r]=this.getScaleForStroking();if(t.lineWidth=s||1,i===1&&r===1){t.stroke();return}const o=t.getLineDash();if(e&&t.save(),t.scale(i,r),o.length>0){const a=Math.max(i,r);t.setLineDash(o.map(l=>l/a)),t.lineDashOffset/=a}t.stroke(),e&&t.restore()}isContentVisible(){for(let e=this.markedContentStack.length-1;e>=0;e--)if(!this.markedContentStack[e].visible)return!1;return!0}};La=new WeakSet,Jb=function(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)},Qb=function(){if(this.pageColors){const e=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(e!=="none"){const t=this.ctx.filter;this.ctx.filter=e,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=t}}};let hh=KA;for(const n in Ri)hh.prototype[n]!==void 0&&(hh.prototype[Ri[n]]=hh.prototype[n]);var If,Of;class vo{static get workerPort(){return f(this,If)}static set workerPort(e){if(!(typeof Worker<"u"&&e instanceof Worker)&&e!==null)throw new Error("Invalid `workerPort` type.");C(this,If,e)}static get workerSrc(){return f(this,Of)}static set workerSrc(e){if(typeof e!="string")throw new Error("Invalid `workerSrc` type.");C(this,Of,e)}}If=new WeakMap,Of=new WeakMap,R(vo,If,null),R(vo,Of,"");const bm={DATA:1,ERROR:2},nn={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function Hs(n){switch(n instanceof Error||typeof n=="object"&&n!==null||$t('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),n.name){case"AbortException":return new Rc(n.message);case"MissingPDFException":return new Pc(n.message);case"PasswordException":return new kb(n.message,n.code);case"UnexpectedResponseException":return new w0(n.message,n.status);case"UnknownErrorException":return new xb(n.message,n.details);default:return new xb(n.message,n.toString())}}var Ih,bi,CR,$R,TR,lg;class gd{constructor(e,t,s){R(this,bi);R(this,Ih,new AbortController);this.sourceName=e,this.targetName=t,this.comObj=s,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),s.addEventListener("message",T(this,bi,CR).bind(this),{signal:f(this,Ih).signal})}on(e,t){const s=this.actionHandler;if(s[e])throw new Error(`There is already an actionName called "${e}"`);s[e]=t}send(e,t,s){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},s)}sendWithPromise(e,t,s){const i=this.callbackId++,r=Promise.withResolvers();this.callbackCapabilities[i]=r;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:i,data:t},s)}catch(o){r.reject(o)}return r.promise}sendWithStream(e,t,s,i){const r=this.streamId++,o=this.sourceName,a=this.targetName,l=this.comObj;return new ReadableStream({start:c=>{const h=Promise.withResolvers();return this.streamControllers[r]={controller:c,startCall:h,pullCall:null,cancelCall:null,isClosed:!1},l.postMessage({sourceName:o,targetName:a,action:e,streamId:r,data:t,desiredSize:c.desiredSize},i),h.promise},pull:c=>{const h=Promise.withResolvers();return this.streamControllers[r].pullCall=h,l.postMessage({sourceName:o,targetName:a,stream:nn.PULL,streamId:r,desiredSize:c.desiredSize}),h.promise},cancel:c=>{yn(c instanceof Error,"cancel must have a valid reason");const h=Promise.withResolvers();return this.streamControllers[r].cancelCall=h,this.streamControllers[r].isClosed=!0,l.postMessage({sourceName:o,targetName:a,stream:nn.CANCEL,streamId:r,reason:Hs(c)}),h.promise}},s)}destroy(){var e;(e=f(this,Ih))==null||e.abort(),C(this,Ih,null)}}Ih=new WeakMap,bi=new WeakSet,CR=function({data:e}){if(e.targetName!==this.sourceName)return;if(e.stream){T(this,bi,TR).call(this,e);return}if(e.callback){const s=e.callbackId,i=this.callbackCapabilities[s];if(!i)throw new Error(`Cannot resolve callback ${s}`);if(delete this.callbackCapabilities[s],e.callback===bm.DATA)i.resolve(e.data);else if(e.callback===bm.ERROR)i.reject(Hs(e.reason));else throw new Error("Unexpected callback case");return}const t=this.actionHandler[e.action];if(!t)throw new Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){const s=this.sourceName,i=e.sourceName,r=this.comObj;new Promise(function(o){o(t(e.data))}).then(function(o){r.postMessage({sourceName:s,targetName:i,callback:bm.DATA,callbackId:e.callbackId,data:o})},function(o){r.postMessage({sourceName:s,targetName:i,callback:bm.ERROR,callbackId:e.callbackId,reason:Hs(o)})});return}if(e.streamId){T(this,bi,$R).call(this,e);return}t(e.data)},$R=function(e){const t=e.streamId,s=this.sourceName,i=e.sourceName,r=this.comObj,o=this,a=this.actionHandler[e.action],l={enqueue(c,h=1,u){if(this.isCancelled)return;const d=this.desiredSize;this.desiredSize-=h,d>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),r.postMessage({sourceName:s,targetName:i,stream:nn.ENQUEUE,streamId:t,chunk:c},u)},close(){this.isCancelled||(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:nn.CLOSE,streamId:t}),delete o.streamSinks[t])},error(c){yn(c instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:nn.ERROR,streamId:t,reason:Hs(c)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};l.sinkCapability.resolve(),l.ready=l.sinkCapability.promise,this.streamSinks[t]=l,new Promise(function(c){c(a(e.data,l))}).then(function(){r.postMessage({sourceName:s,targetName:i,stream:nn.START_COMPLETE,streamId:t,success:!0})},function(c){r.postMessage({sourceName:s,targetName:i,stream:nn.START_COMPLETE,streamId:t,reason:Hs(c)})})},TR=function(e){const t=e.streamId,s=this.sourceName,i=e.sourceName,r=this.comObj,o=this.streamControllers[t],a=this.streamSinks[t];switch(e.stream){case nn.START_COMPLETE:e.success?o.startCall.resolve():o.startCall.reject(Hs(e.reason));break;case nn.PULL_COMPLETE:e.success?o.pullCall.resolve():o.pullCall.reject(Hs(e.reason));break;case nn.PULL:if(!a){r.postMessage({sourceName:s,targetName:i,stream:nn.PULL_COMPLETE,streamId:t,success:!0});break}a.desiredSize<=0&&e.desiredSize>0&&a.sinkCapability.resolve(),a.desiredSize=e.desiredSize,new Promise(function(l){var c;l((c=a.onPull)==null?void 0:c.call(a))}).then(function(){r.postMessage({sourceName:s,targetName:i,stream:nn.PULL_COMPLETE,streamId:t,success:!0})},function(l){r.postMessage({sourceName:s,targetName:i,stream:nn.PULL_COMPLETE,streamId:t,reason:Hs(l)})});break;case nn.ENQUEUE:if(yn(o,"enqueue should have stream controller"),o.isClosed)break;o.controller.enqueue(e.chunk);break;case nn.CLOSE:if(yn(o,"close should have stream controller"),o.isClosed)break;o.isClosed=!0,o.controller.close(),T(this,bi,lg).call(this,o,t);break;case nn.ERROR:yn(o,"error should have stream controller"),o.controller.error(Hs(e.reason)),T(this,bi,lg).call(this,o,t);break;case nn.CANCEL_COMPLETE:e.success?o.cancelCall.resolve():o.cancelCall.reject(Hs(e.reason)),T(this,bi,lg).call(this,o,t);break;case nn.CANCEL:if(!a)break;new Promise(function(l){var c;l((c=a.onCancel)==null?void 0:c.call(a,Hs(e.reason)))}).then(function(){r.postMessage({sourceName:s,targetName:i,stream:nn.CANCEL_COMPLETE,streamId:t,success:!0})},function(l){r.postMessage({sourceName:s,targetName:i,stream:nn.CANCEL_COMPLETE,streamId:t,reason:Hs(l)})}),a.sinkCapability.reject(Hs(e.reason)),a.isCancelled=!0,delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}},lg=async function(e,t){var s,i,r;await Promise.allSettled([(s=e.startCall)==null?void 0:s.promise,(i=e.pullCall)==null?void 0:i.promise,(r=e.cancelCall)==null?void 0:r.promise]),delete this.streamControllers[t]};var Ml,Nf;class F8{constructor({parsedData:e,rawData:t}){R(this,Ml);R(this,Nf);C(this,Ml,e),C(this,Nf,t)}getRaw(){return f(this,Nf)}get(e){return f(this,Ml).get(e)??null}getAll(){return iA(f(this,Ml))}has(e){return f(this,Ml).has(e)}}Ml=new WeakMap,Nf=new WeakMap;const Gc=Symbol("INTERNAL");var Lf,Df,Ff,Oh;class j8{constructor(e,{name:t,intent:s,usage:i,rbGroups:r}){R(this,Lf,!1);R(this,Df,!1);R(this,Ff,!1);R(this,Oh,!0);C(this,Lf,!!(e&Ys.DISPLAY)),C(this,Df,!!(e&Ys.PRINT)),this.name=t,this.intent=s,this.usage=i,this.rbGroups=r}get visible(){if(f(this,Ff))return f(this,Oh);if(!f(this,Oh))return!1;const{print:e,view:t}=this.usage;return f(this,Lf)?(t==null?void 0:t.viewState)!=="OFF":f(this,Df)?(e==null?void 0:e.printState)!=="OFF":!0}_setVisible(e,t,s=!1){e!==Gc&&$t("Internal method `_setVisible` called."),C(this,Ff,s),C(this,Oh,t)}}Lf=new WeakMap,Df=new WeakMap,Ff=new WeakMap,Oh=new WeakMap;var ta,ut,Nh,Lh,jf,ew;class z8{constructor(e,t=Ys.DISPLAY){R(this,jf);R(this,ta,null);R(this,ut,new Map);R(this,Nh,null);R(this,Lh,null);if(this.renderingIntent=t,this.name=null,this.creator=null,e!==null){this.name=e.name,this.creator=e.creator,C(this,Lh,e.order);for(const s of e.groups)f(this,ut).set(s.id,new j8(t,s));if(e.baseState==="OFF")for(const s of f(this,ut).values())s._setVisible(Gc,!1);for(const s of e.on)f(this,ut).get(s)._setVisible(Gc,!0);for(const s of e.off)f(this,ut).get(s)._setVisible(Gc,!1);C(this,Nh,this.getHash())}}isVisible(e){if(f(this,ut).size===0)return!0;if(!e)return b0("Optional content group not defined."),!0;if(e.type==="OCG")return f(this,ut).has(e.id)?f(this,ut).get(e.id).visible:(Be(`Optional content group not found: ${e.id}`),!0);if(e.type==="OCMD"){if(e.expression)return T(this,jf,ew).call(this,e.expression);if(!e.policy||e.policy==="AnyOn"){for(const t of e.ids){if(!f(this,ut).has(t))return Be(`Optional content group not found: ${t}`),!0;if(f(this,ut).get(t).visible)return!0}return!1}else if(e.policy==="AllOn"){for(const t of e.ids){if(!f(this,ut).has(t))return Be(`Optional content group not found: ${t}`),!0;if(!f(this,ut).get(t).visible)return!1}return!0}else if(e.policy==="AnyOff"){for(const t of e.ids){if(!f(this,ut).has(t))return Be(`Optional content group not found: ${t}`),!0;if(!f(this,ut).get(t).visible)return!0}return!1}else if(e.policy==="AllOff"){for(const t of e.ids){if(!f(this,ut).has(t))return Be(`Optional content group not found: ${t}`),!0;if(f(this,ut).get(t).visible)return!1}return!0}return Be(`Unknown optional content policy ${e.policy}.`),!0}return Be(`Unknown group type ${e.type}.`),!0}setVisibility(e,t=!0,s=!0){var r;const i=f(this,ut).get(e);if(!i){Be(`Optional content group not found: ${e}`);return}if(s&&t&&i.rbGroups.length)for(const o of i.rbGroups)for(const a of o)a!==e&&((r=f(this,ut).get(a))==null||r._setVisible(Gc,!1,!0));i._setVisible(Gc,!!t,!0),C(this,ta,null)}setOCGState({state:e,preserveRB:t}){let s;for(const i of e){switch(i){case"ON":case"OFF":case"Toggle":s=i;continue}const r=f(this,ut).get(i);if(r)switch(s){case"ON":this.setVisibility(i,!0,t);break;case"OFF":this.setVisibility(i,!1,t);break;case"Toggle":this.setVisibility(i,!r.visible,t);break}}C(this,ta,null)}get hasInitialVisibility(){return f(this,Nh)===null||this.getHash()===f(this,Nh)}getOrder(){return f(this,ut).size?f(this,Lh)?f(this,Lh).slice():[...f(this,ut).keys()]:null}getGroups(){return f(this,ut).size>0?iA(f(this,ut)):null}getGroup(e){return f(this,ut).get(e)||null}getHash(){if(f(this,ta)!==null)return f(this,ta);const e=new gR;for(const[t,s]of f(this,ut))e.update(`${t}:${s.visible}`);return C(this,ta,e.hexdigest())}}ta=new WeakMap,ut=new WeakMap,Nh=new WeakMap,Lh=new WeakMap,jf=new WeakSet,ew=function(e){const t=e.length;if(t<2)return!0;const s=e[0];for(let i=1;i0){const l=r instanceof Uint8Array&&r.byteLength===r.buffer.byteLength?r.buffer:new Uint8Array(r).buffer;this._queuedChunks.push(l)}this._pdfDataRangeTransport=e,this._isStreamingSupported=!s,this._isRangeSupported=!t,this._contentLength=i,this._fullRequestReader=null,this._rangeReaders=[],e.addRangeListener((l,c)=>{this._onReceiveData({begin:l,chunk:c})}),e.addProgressListener((l,c)=>{this._onProgress({loaded:l,total:c})}),e.addProgressiveReadListener(l=>{this._onReceiveData({chunk:l})}),e.addProgressiveDoneListener(()=>{this._onProgressiveDone()}),e.transportReady()}_onReceiveData({begin:e,chunk:t}){const s=t instanceof Uint8Array&&t.byteLength===t.buffer.byteLength?t.buffer:new Uint8Array(t).buffer;if(e===void 0)this._fullRequestReader?this._fullRequestReader._enqueue(s):this._queuedChunks.push(s);else{const i=this._rangeReaders.some(function(r){return r._begin!==e?!1:(r._enqueue(s),!0)});yn(i,"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){var e;return((e=this._fullRequestReader)==null?void 0:e._loaded)??0}_onProgress(e){var t,s,i,r;e.total===void 0?(s=(t=this._rangeReaders[0])==null?void 0:t.onProgress)==null||s.call(t,{loaded:e.loaded}):(r=(i=this._fullRequestReader)==null?void 0:i.onProgress)==null||r.call(i,{loaded:e.loaded,total:e.total})}_onProgressiveDone(){var e;(e=this._fullRequestReader)==null||e.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(e){const t=this._rangeReaders.indexOf(e);t>=0&&this._rangeReaders.splice(t,1)}getFullReader(){yn(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const e=this._queuedChunks;return this._queuedChunks=null,new B8(this,e,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const s=new q8(this,e,t);return this._pdfDataRangeTransport.requestDataRange(e,t),this._rangeReaders.push(s),s}cancelAllRequests(e){var t;(t=this._fullRequestReader)==null||t.cancel(e);for(const s of this._rangeReaders.slice(0))s.cancel(e);this._pdfDataRangeTransport.abort()}}class B8{constructor(e,t,s=!1,i=null){this._stream=e,this._done=s||!1,this._filename=aA(i)?i:null,this._queuedChunks=t||[],this._loaded=0;for(const r of this._queuedChunks)this._loaded+=r.byteLength;this._requests=[],this._headersReady=Promise.resolve(),e._fullRequestReader=this,this.onProgress=null}_enqueue(e){this._done||(this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunks.push(e),this._loaded+=e.byteLength)}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class q8{constructor(e,t,s){this._stream=e,this._begin=t,this._end=s,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(e){if(!this._done){if(this._requests.length===0)this._queuedChunk=e;else{this._requests.shift().resolve({value:e,done:!1});for(const s of this._requests)s.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0,this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const t=this._queuedChunk;return this._queuedChunk=null,{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}function U8(n){let e=!0,t=s("filename\\*","i").exec(n);if(t){t=t[1];let h=a(t);return h=unescape(h),h=l(h),h=c(h),r(h)}if(t=o(n),t){const h=c(t);return r(h)}if(t=s("filename","i").exec(n),t){t=t[1];let h=a(t);return h=c(h),r(h)}function s(h,u){return new RegExp("(?:^|;)\\s*"+h+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',u)}function i(h,u){if(h){if(!/^[\x00-\xFF]+$/.test(u))return u;try{const d=new TextDecoder(h,{fatal:!0}),p=_0(u);u=d.decode(p),e=!1}catch{}}return u}function r(h){return e&&/[\x80-\xff]/.test(h)&&(h=i("utf-8",h),e&&(h=i("iso-8859-1",h))),h}function o(h){const u=[];let d;const p=s("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;(d=p.exec(h))!==null;){let[,g,v,y]=d;if(g=parseInt(g,10),g in u){if(g===0)break;continue}u[g]=[v,y]}const m=[];for(let g=0;g{if(!PR(r.status))throw k0(r.status,i);this._reader=r.body.getReader(),this._headersCapability.resolve();const o=r.headers,{allowRangeRequests:a,suggestedLength:l}=fA({responseHeaders:o,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=a,this._contentLength=l||this._contentLength,this._filename=pA(o),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new Rc("Streaming is disabled."))}).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var s;await this._headersCapability.promise;const{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:(this._loaded+=e.byteLength,(s=this.onProgress)==null||s.call(this,{loaded:this._loaded,total:this._contentLength}),{value:MR(e),done:!1})}cancel(e){var t;(t=this._reader)==null||t.cancel(e),this._abortController.abort()}}class W8{constructor(e,t,s){this._stream=e,this._reader=null,this._loaded=0;const i=e.source;this._withCredentials=i.withCredentials||!1,this._readCapability=Promise.withResolvers(),this._isStreamingSupported=!i.disableStream,this._abortController=new AbortController;const r=new Headers(e.headers);r.append("Range",`bytes=${t}-${s-1}`);const o=i.url;fetch(o,RR(r,this._withCredentials,this._abortController)).then(a=>{if(!PR(a.status))throw k0(a.status,o);this._readCapability.resolve(),this._reader=a.body.getReader()}).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){var s;await this._readCapability.promise;const{value:e,done:t}=await this._reader.read();return t?{value:e,done:t}:(this._loaded+=e.byteLength,(s=this.onProgress)==null||s.call(this,{loaded:this._loaded}),{value:MR(e),done:!1})}cancel(e){var t;(t=this._reader)==null||t.cancel(e),this._abortController.abort()}}const dv=200,fv=206;function G8(n){const e=n.response;return typeof e!="string"?e:_0(e).buffer}class K8{constructor({url:e,httpHeaders:t,withCredentials:s}){this.url=e,this.isHttp=/^https?:/i.test(e),this.headers=dA(this.isHttp,t),this.withCredentials=s||!1,this.currXhrId=0,this.pendingRequests=Object.create(null)}requestRange(e,t,s){const i={begin:e,end:t};for(const r in s)i[r]=s[r];return this.request(i)}requestFull(e){return this.request(e)}request(e){const t=new XMLHttpRequest,s=this.currXhrId++,i=this.pendingRequests[s]={xhr:t};t.open("GET",this.url),t.withCredentials=this.withCredentials;for(const[r,o]of this.headers)t.setRequestHeader(r,o);return this.isHttp&&"begin"in e&&"end"in e?(t.setRequestHeader("Range",`bytes=${e.begin}-${e.end-1}`),i.expectedStatus=fv):i.expectedStatus=dv,t.responseType="arraybuffer",e.onError&&(t.onerror=function(r){e.onError(t.status)}),t.onreadystatechange=this.onStateChange.bind(this,s),t.onprogress=this.onProgress.bind(this,s),i.onHeadersReceived=e.onHeadersReceived,i.onDone=e.onDone,i.onError=e.onError,i.onProgress=e.onProgress,t.send(null),s}onProgress(e,t){var i;const s=this.pendingRequests[e];s&&((i=s.onProgress)==null||i.call(s,t))}onStateChange(e,t){var l,c,h;const s=this.pendingRequests[e];if(!s)return;const i=s.xhr;if(i.readyState>=2&&s.onHeadersReceived&&(s.onHeadersReceived(),delete s.onHeadersReceived),i.readyState!==4||!(e in this.pendingRequests))return;if(delete this.pendingRequests[e],i.status===0&&this.isHttp){(l=s.onError)==null||l.call(s,i.status);return}const r=i.status||dv;if(!(r===dv&&s.expectedStatus===fv)&&r!==s.expectedStatus){(c=s.onError)==null||c.call(s,i.status);return}const a=G8(i);if(r===fv){const u=i.getResponseHeader("Content-Range"),d=/bytes (\d+)-(\d+)\/(\d+)/.exec(u);s.onDone({begin:parseInt(d[1],10),chunk:a})}else a?s.onDone({begin:0,chunk:a}):(h=s.onError)==null||h.call(s,i.status)}getRequestXhr(e){return this.pendingRequests[e].xhr}isPendingRequest(e){return e in this.pendingRequests}abortRequest(e){const t=this.pendingRequests[e].xhr;delete this.pendingRequests[e],t.abort()}}class Z8{constructor(e){this._source=e,this._manager=new K8(e),this._rangeChunkSize=e.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(e){const t=this._rangeRequestReaders.indexOf(e);t>=0&&this._rangeRequestReaders.splice(t,1)}getFullReader(){return yn(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new X8(this._manager,this._source),this._fullRequestReader}getRangeReader(e,t){const s=new Y8(this._manager,e,t);return s.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(s),s}cancelAllRequests(e){var t;(t=this._fullRequestReader)==null||t.cancel(e);for(const s of this._rangeRequestReaders.slice(0))s.cancel(e)}}class X8{constructor(e,t){this._manager=e;const s={onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=t.url,this._fullRequestId=e.requestFull(s),this._headersCapability=Promise.withResolvers(),this._disableRange=t.disableRange||!1,this._contentLength=t.length,this._rangeChunkSize=t.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!1,this._isRangeSupported=!1,this._cachedChunks=[],this._requests=[],this._done=!1,this._storedError=void 0,this._filename=null,this.onProgress=null}_onHeadersReceived(){const e=this._fullRequestId,t=this._manager.getRequestXhr(e),s=new Headers(t.getAllResponseHeaders().trim().split(/[\r\n]+/).map(o=>{const[a,...l]=o.split(": ");return[a,l.join(": ")]})),{allowRangeRequests:i,suggestedLength:r}=fA({responseHeaders:s,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});i&&(this._isRangeSupported=!0),this._contentLength=r||this._contentLength,this._filename=pA(s),this._isRangeSupported&&this._manager.abortRequest(e),this._headersCapability.resolve()}_onDone(e){if(e&&(this._requests.length>0?this._requests.shift().resolve({value:e.chunk,done:!1}):this._cachedChunks.push(e.chunk)),this._done=!0,!(this._cachedChunks.length>0)){for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(e){this._storedError=k0(e,this._url),this._headersCapability.reject(this._storedError);for(const t of this._requests)t.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(e){var t;(t=this.onProgress)==null||t.call(this,{loaded:e.loaded,total:e.lengthComputable?e.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersCapability.promise}async read(){if(this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this._headersCapability.reject(e);for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class Y8{constructor(e,t,s){this._manager=e;const i={onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=e.url,this._requestId=e.requestRange(t,s,i),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_close(){var e;(e=this.onClosed)==null||e.call(this,this)}_onDone(e){const t=e.chunk;this._requests.length>0?this._requests.shift().resolve({value:t,done:!1}):this._queuedChunk=t,this._done=!0;for(const s of this._requests)s.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(e){this._storedError=k0(e,this._url);for(const t of this._requests)t.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(e){var t;this.isStreamingSupported||(t=this.onProgress)==null||t.call(this,{loaded:e.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){const t=this._queuedChunk;return this._queuedChunk=null,{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};const e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0;for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}}const J8=/^[a-z][a-z0-9\-+.]+:/i;function Q8(n){if(J8.test(n))return new URL(n);const e=Pa.get("url");return new URL(e.pathToFileURL(n))}function IR(n,e,t){return n.protocol==="http:"?Pa.get("http").request(n,{headers:e},t):Pa.get("https").request(n,{headers:e},t)}class e6{constructor(e){this.source=e,this.url=Q8(e.url),this.isHttp=this.url.protocol==="http:"||this.url.protocol==="https:",this.isFsUrl=this.url.protocol==="file:",this.headers=dA(this.isHttp,e.httpHeaders),this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var e;return((e=this._fullRequestReader)==null?void 0:e._loaded)??0}getFullReader(){return yn(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=this.isFsUrl?new s6(this):new t6(this),this._fullRequestReader}getRangeReader(e,t){if(t<=this._progressiveDataLength)return null;const s=this.isFsUrl?new i6(this,e,t):new n6(this,e,t);return this._rangeRequestReaders.push(s),s}cancelAllRequests(e){var t;(t=this._fullRequestReader)==null||t.cancel(e);for(const s of this._rangeRequestReaders.slice(0))s.cancel(e)}}class OR{constructor(e){this._url=e.url,this._done=!1,this._storedError=null,this.onProgress=null;const t=e.source;this._contentLength=t.length,this._loaded=0,this._filename=null,this._disableRange=t.disableRange||!1,this._rangeChunkSize=t.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._readableStream=null,this._readCapability=Promise.withResolvers(),this._headersCapability=Promise.withResolvers()}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var s;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const e=this._readableStream.read();return e===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=e.length,(s=this.onProgress)==null||s.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(e).buffer,done:!1})}cancel(e){if(!this._readableStream){this._error(e);return}this._readableStream.destroy(e)}_error(e){this._storedError=e,this._readCapability.resolve()}_setReadableStream(e){this._readableStream=e,e.on("readable",()=>{this._readCapability.resolve()}),e.on("end",()=>{e.destroy(),this._done=!0,this._readCapability.resolve()}),e.on("error",t=>{this._error(t)}),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new Rc("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class NR{constructor(e){this._url=e.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=Promise.withResolvers();const t=e.source;this._isStreamingSupported=!t.disableStream}get isStreamingSupported(){return this._isStreamingSupported}async read(){var s;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const e=this._readableStream.read();return e===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=e.length,(s=this.onProgress)==null||s.call(this,{loaded:this._loaded}),{value:new Uint8Array(e).buffer,done:!1})}cancel(e){if(!this._readableStream){this._error(e);return}this._readableStream.destroy(e)}_error(e){this._storedError=e,this._readCapability.resolve()}_setReadableStream(e){this._readableStream=e,e.on("readable",()=>{this._readCapability.resolve()}),e.on("end",()=>{e.destroy(),this._done=!0,this._readCapability.resolve()}),e.on("error",t=>{this._error(t)}),this._storedError&&this._readableStream.destroy(this._storedError)}}class t6 extends OR{constructor(e){super(e);const t=Object.fromEntries(e.headers),s=i=>{if(i.statusCode===404){const l=new Pc(`Missing PDF "${this._url}".`);this._storedError=l,this._headersCapability.reject(l);return}this._headersCapability.resolve(),this._setReadableStream(i);const r=new Headers(this._readableStream.headers),{allowRangeRequests:o,suggestedLength:a}=fA({responseHeaders:r,isHttp:e.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=o,this._contentLength=a||this._contentLength,this._filename=pA(r)};this._request=IR(this._url,t,s),this._request.on("error",i=>{this._storedError=i,this._headersCapability.reject(i)}),this._request.end()}}class n6 extends NR{constructor(e,t,s){super(e);const i=Object.fromEntries(e.headers);i.Range=`bytes=${t}-${s-1}`;const r=o=>{if(o.statusCode===404){const a=new Pc(`Missing PDF "${this._url}".`);this._storedError=a;return}this._setReadableStream(o)};this._request=IR(this._url,i,r),this._request.on("error",o=>{this._storedError=o}),this._request.end()}}class s6 extends OR{constructor(e){super(e);const t=Pa.get("fs");t.promises.lstat(this._url).then(s=>{this._contentLength=s.size,this._setReadableStream(t.createReadStream(this._url)),this._headersCapability.resolve()},s=>{s.code==="ENOENT"&&(s=new Pc(`Missing PDF "${this._url}".`)),this._storedError=s,this._headersCapability.reject(s)})}}class i6 extends NR{constructor(e,t,s){super(e);const i=Pa.get("fs");this._setReadableStream(i.createReadStream(this._url,{start:t,end:s-1}))}}const r6=1e5,Es=30,o6=.8;var kC,na,Ts,zf,Hf,Il,Qr,Bf,qf,Ol,Dh,Fh,sa,jh,Uf,zh,Nl,Vf,Wf,qt,Ll,Dl,Gf,ia,Hh,To,LR,DR,nw,ti,cg,sw,FR,jR;let tw=(qt=class{constructor({textContentSource:e,container:t,viewport:s}){R(this,To);R(this,na,Promise.withResolvers());R(this,Ts,null);R(this,zf,!1);R(this,Hf,!!((kC=globalThis.FontInspector)!=null&&kC.enabled));R(this,Il,null);R(this,Qr,null);R(this,Bf,0);R(this,qf,0);R(this,Ol,null);R(this,Dh,null);R(this,Fh,0);R(this,sa,0);R(this,jh,Object.create(null));R(this,Uf,[]);R(this,zh,null);R(this,Nl,[]);R(this,Vf,new WeakMap);R(this,Wf,null);var l;if(e instanceof ReadableStream)C(this,zh,e);else if(typeof e=="object")C(this,zh,new ReadableStream({start(c){c.enqueue(e),c.close()}}));else throw new Error('No "textContentSource" parameter specified.');C(this,Ts,C(this,Dh,t)),C(this,sa,s.scale*(globalThis.devicePixelRatio||1)),C(this,Fh,s.rotation),C(this,Qr,{div:null,properties:null,ctx:null});const{pageWidth:i,pageHeight:r,pageX:o,pageY:a}=s.rawDims;C(this,Wf,[1,0,0,-1,-o,a+r]),C(this,qf,i),C(this,Bf,r),T(l=qt,ti,FR).call(l),yc(t,s),f(this,na).promise.finally(()=>{f(qt,Hh).delete(this),C(this,Qr,null),C(this,jh,null)}).catch(()=>{})}static get fontFamilyMap(){const{isWindows:e,isFirefox:t}=_s.platform;return Ze(this,"fontFamilyMap",new Map([["sans-serif",`${e&&t?"Calibri, ":""}sans-serif`],["monospace",`${e&&t?"Lucida Console, ":""}monospace`]]))}render(){const e=()=>{f(this,Ol).read().then(({value:t,done:s})=>{if(s){f(this,na).resolve();return}f(this,Il)??C(this,Il,t.lang),Object.assign(f(this,jh),t.styles),T(this,To,LR).call(this,t.items),e()},f(this,na).reject)};return C(this,Ol,f(this,zh).getReader()),f(qt,Hh).add(this),e(),f(this,na).promise}update({viewport:e,onBefore:t=null}){var r;const s=e.scale*(globalThis.devicePixelRatio||1),i=e.rotation;if(i!==f(this,Fh)&&(t==null||t(),C(this,Fh,i),yc(f(this,Dh),{rotation:i})),s!==f(this,sa)){t==null||t(),C(this,sa,s);const o={div:null,properties:null,ctx:T(r=qt,ti,cg).call(r,f(this,Il))};for(const a of f(this,Nl))o.properties=f(this,Vf).get(a),o.div=a,T(this,To,nw).call(this,o)}}cancel(){var t;const e=new Rc("TextLayer task cancelled.");(t=f(this,Ol))==null||t.cancel(e).catch(()=>{}),C(this,Ol,null),f(this,na).reject(e)}get textDivs(){return f(this,Nl)}get textContentItemsStr(){return f(this,Uf)}static cleanup(){if(!(f(this,Hh).size>0)){f(this,Ll).clear();for(const{canvas:e}of f(this,Dl).values())e.remove();f(this,Dl).clear()}}},na=new WeakMap,Ts=new WeakMap,zf=new WeakMap,Hf=new WeakMap,Il=new WeakMap,Qr=new WeakMap,Bf=new WeakMap,qf=new WeakMap,Ol=new WeakMap,Dh=new WeakMap,Fh=new WeakMap,sa=new WeakMap,jh=new WeakMap,Uf=new WeakMap,zh=new WeakMap,Nl=new WeakMap,Vf=new WeakMap,Wf=new WeakMap,Ll=new WeakMap,Dl=new WeakMap,Gf=new WeakMap,ia=new WeakMap,Hh=new WeakMap,To=new WeakSet,LR=function(e){var i,r;if(f(this,zf))return;(r=f(this,Qr)).ctx??(r.ctx=T(i=qt,ti,cg).call(i,f(this,Il)));const t=f(this,Nl),s=f(this,Uf);for(const o of e){if(t.length>r6){Be("Ignoring additional textDivs for performance reasons."),C(this,zf,!0);return}if(o.str===void 0){if(o.type==="beginMarkedContentProps"||o.type==="beginMarkedContent"){const a=f(this,Ts);C(this,Ts,document.createElement("span")),f(this,Ts).classList.add("markedContent"),o.id!==null&&f(this,Ts).setAttribute("id",`${o.id}`),a.append(f(this,Ts))}else o.type==="endMarkedContent"&&C(this,Ts,f(this,Ts).parentNode);continue}s.push(o.str),T(this,To,DR).call(this,o)}},DR=function(e){var g;const t=document.createElement("span"),s={angle:0,canvasWidth:0,hasText:e.str!=="",hasEOL:e.hasEOL,fontSize:0};f(this,Nl).push(t);const i=_e.transform(f(this,Wf),e.transform);let r=Math.atan2(i[1],i[0]);const o=f(this,jh)[e.fontName];o.vertical&&(r+=Math.PI/2);let a=f(this,Hf)&&o.fontSubstitution||o.fontFamily;a=qt.fontFamilyMap.get(a)||a;const l=Math.hypot(i[2],i[3]),c=l*T(g=qt,ti,jR).call(g,a,f(this,Il));let h,u;r===0?(h=i[4],u=i[5]-c):(h=i[4]+c*Math.sin(r),u=i[5]-c*Math.cos(r));const d="calc(var(--scale-factor)*",p=t.style;f(this,Ts)===f(this,Dh)?(p.left=`${(100*h/f(this,qf)).toFixed(2)}%`,p.top=`${(100*u/f(this,Bf)).toFixed(2)}%`):(p.left=`${d}${h.toFixed(2)}px)`,p.top=`${d}${u.toFixed(2)}px)`),p.fontSize=`${d}${(f(qt,ia)*l).toFixed(2)}px)`,p.fontFamily=a,s.fontSize=l,t.setAttribute("role","presentation"),t.textContent=e.str,t.dir=e.dir,f(this,Hf)&&(t.dataset.fontName=o.fontSubstitutionLoadedName||e.fontName),r!==0&&(s.angle=r*(180/Math.PI));let m=!1;if(e.str.length>1)m=!0;else if(e.str!==" "&&e.transform[0]!==e.transform[3]){const v=Math.abs(e.transform[0]),y=Math.abs(e.transform[3]);v!==y&&Math.max(v,y)/Math.min(v,y)>1.5&&(m=!0)}if(m&&(s.canvasWidth=o.vertical?e.height:e.width),f(this,Vf).set(t,s),f(this,Qr).div=t,f(this,Qr).properties=s,T(this,To,nw).call(this,f(this,Qr)),s.hasText&&f(this,Ts).append(t),s.hasEOL){const v=document.createElement("br");v.setAttribute("role","presentation"),f(this,Ts).append(v)}},nw=function(e){var a;const{div:t,properties:s,ctx:i}=e,{style:r}=t;let o="";if(f(qt,ia)>1&&(o=`scale(${1/f(qt,ia)})`),s.canvasWidth!==0&&s.hasText){const{fontFamily:l}=r,{canvasWidth:c,fontSize:h}=s;T(a=qt,ti,sw).call(a,i,h*f(this,sa),l);const{width:u}=i.measureText(t.textContent);u>0&&(o=`scaleX(${c*f(this,sa)/u}) ${o}`)}s.angle!==0&&(o=`rotate(${s.angle}deg) ${o}`),o.length>0&&(r.transform=o)},ti=new WeakSet,cg=function(e=null){let t=f(this,Dl).get(e||(e=""));if(!t){const s=document.createElement("canvas");s.className="hiddenCanvasElement",s.lang=e,document.body.append(s),t=s.getContext("2d",{alpha:!1,willReadFrequently:!0}),f(this,Dl).set(e,t),f(this,Gf).set(t,{size:0,family:""})}return t},sw=function(e,t,s){const i=f(this,Gf).get(e);t===i.size&&s===i.family||(e.font=`${t}px ${s}`,i.size=t,i.family=s)},FR=function(){if(f(this,ia)!==null)return;const e=document.createElement("div");e.style.opacity=0,e.style.lineHeight=1,e.style.fontSize="1px",e.style.position="absolute",e.textContent="X",document.body.append(e),C(this,ia,e.getBoundingClientRect().height),e.remove()},jR=function(e,t){const s=f(this,Ll).get(e);if(s)return s;const i=T(this,ti,cg).call(this,t);i.canvas.width=i.canvas.height=Es,T(this,ti,sw).call(this,i,Es,e);const r=i.measureText("");let o=r.fontBoundingBoxAscent,a=Math.abs(r.fontBoundingBoxDescent);if(o){const h=o/(o+a);return f(this,Ll).set(e,h),i.canvas.width=i.canvas.height=0,h}i.strokeStyle="red",i.clearRect(0,0,Es,Es),i.strokeText("g",0,0);let l=i.getImageData(0,0,Es,Es).data;a=0;for(let h=l.length-1-3;h>=0;h-=4)if(l[h]>0){a=Math.ceil(h/4/Es);break}i.clearRect(0,0,Es,Es),i.strokeText("A",0,Es),l=i.getImageData(0,0,Es,Es).data,o=0;for(let h=0,u=l.length;h0){o=Es-Math.floor(h/4/Es);break}i.canvas.width=i.canvas.height=0;const c=o?o/(o+a):o6;return f(this,Ll).set(e,c),c},R(qt,ti),R(qt,Ll,new Map),R(qt,Dl,new Map),R(qt,Gf,new WeakMap),R(qt,ia,null),R(qt,Hh,new Set),qt);class ef{static textContent(e){const t=[],s={items:t,styles:Object.create(null)};function i(r){var l;if(!r)return;let o=null;const a=r.name;if(a==="#text")o=r.value;else if(ef.shouldBuildText(a))(l=r==null?void 0:r.attributes)!=null&&l.textContent?o=r.attributes.textContent:r.value&&(o=r.value);else return;if(o!==null&&t.push({str:o}),!!r.children)for(const c of r.children)i(c)}return i(e),s}static shouldBuildText(e){return!(e==="textarea"||e==="input"||e==="option"||e==="select")}}const a6=65536,l6=100,c6=5e3,h6=cs?S8:b8,u6=cs?A8:_R,d6=cs?_8:w8,f6=cs?k8:xR;function p6(n={}){typeof n=="string"||n instanceof URL?n={url:n}:(n instanceof ArrayBuffer||ArrayBuffer.isView(n))&&(n={data:n});const e=new iw,{docId:t}=e,s=n.url?m6(n.url):null,i=n.data?g6(n.data):null,r=n.httpHeaders||null,o=n.withCredentials===!0,a=n.password??null,l=n.range instanceof zR?n.range:null,c=Number.isInteger(n.rangeChunkSize)&&n.rangeChunkSize>0?n.rangeChunkSize:a6;let h=n.worker instanceof uh?n.worker:null;const u=n.verbosity,d=typeof n.docBaseUrl=="string"&&!A0(n.docBaseUrl)?n.docBaseUrl:null,p=typeof n.cMapUrl=="string"?n.cMapUrl:null,m=n.cMapPacked!==!1,g=n.CMapReaderFactory||u6,v=typeof n.standardFontDataUrl=="string"?n.standardFontDataUrl:null,y=n.StandardFontDataFactory||f6,w=n.stopAtErrors!==!0,_=Number.isInteger(n.maxImageSize)&&n.maxImageSize>-1?n.maxImageSize:-1,k=n.isEvalSupported!==!1,A=typeof n.isOffscreenCanvasSupported=="boolean"?n.isOffscreenCanvasSupported:!cs,$=typeof n.isChrome=="boolean"?n.isChrome:!_s.platform.isFirefox&&typeof window<"u"&&!!(window!=null&&window.chrome),E=Number.isInteger(n.canvasMaxAreaInBytes)?n.canvasMaxAreaInBytes:-1,O=typeof n.disableFontFace=="boolean"?n.disableFontFace:cs,F=n.fontExtraProperties===!0,B=n.enableXfa===!0,L=n.ownerDocument||globalThis.document,z=n.disableRange===!0,K=n.disableStream===!0,D=n.disableAutoFetch===!0,Q=n.pdfBug===!0,X=n.CanvasFactory||h6,J=n.FilterFactory||d6,se=n.enableHWA===!0,de=l?l.length:n.length??NaN,H=typeof n.useSystemFonts=="boolean"?n.useSystemFonts:!cs&&!O,P=typeof n.useWorkerFetch=="boolean"?n.useWorkerFetch:g===_R&&y===xR&&p&&v&&cd(p,document.baseURI)&&cd(v,document.baseURI);n.canvasFactory&&Cx("`canvasFactory`-instance option, please use `CanvasFactory` instead."),n.filterFactory&&Cx("`filterFactory`-instance option, please use `FilterFactory` instead.");const N=null;X9(u);const M={canvasFactory:new X({ownerDocument:L,enableHWA:se}),filterFactory:new J({docId:t,ownerDocument:L}),cMapReaderFactory:P?null:new g({baseUrl:p,isCompressed:m}),standardFontDataFactory:P?null:new y({baseUrl:v})};if(!h){const I={verbosity:u,port:vo.workerPort};h=I.port?uh.fromPort(I):new uh(I),e._worker=h}const b={docId:t,apiVersion:"4.8.69",data:i,password:a,disableAutoFetch:D,rangeChunkSize:c,length:de,docBaseUrl:d,enableXfa:B,evaluatorOptions:{maxImageSize:_,disableFontFace:O,ignoreErrors:w,isEvalSupported:k,isOffscreenCanvasSupported:A,isChrome:$,canvasMaxAreaInBytes:E,fontExtraProperties:F,useSystemFonts:H,cMapUrl:P?p:null,standardFontDataUrl:P?v:null}},x={disableFontFace:O,fontExtraProperties:F,ownerDocument:L,pdfBug:Q,styleElement:N,loadingParams:{disableAutoFetch:D,enableXfa:B}};return h.promise.then(function(){if(e.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const I=h.messageHandler.sendWithPromise("GetDocRequest",b,i?[i.buffer]:null);let V;if(l)V=new H8(l,{disableRange:z,disableStream:K});else if(!i){if(!s)throw new Error("getDocument - no `url` parameter provided.");let Z;cs?Z=typeof fetch<"u"&&typeof Response<"u"&&"body"in Response.prototype&&cd(s)?jx:e6:Z=cd(s)?jx:Z8,V=new Z({url:s,length:de,httpHeaders:r,withCredentials:o,rangeChunkSize:c,disableRange:z,disableStream:K})}return I.then(Z=>{if(e.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const ae=new gd(t,Z,h.port),ne=new w6(ae,e,V,x,M);e._transport=ne,ae.send("Ready",null)})}).catch(e._capability.reject),e}function m6(n){if(n instanceof URL)return n.href;try{return new URL(n,window.location).href}catch{if(cs&&typeof n=="string")return n}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function g6(n){if(cs&&typeof Buffer<"u"&&n instanceof Buffer)throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(n instanceof Uint8Array&&n.byteLength===n.buffer.byteLength)return n;if(typeof n=="string")return _0(n);if(n instanceof ArrayBuffer||ArrayBuffer.isView(n)||typeof n=="object"&&!isNaN(n==null?void 0:n.length))return new Uint8Array(n);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}function zx(n){return typeof n=="object"&&Number.isInteger(n==null?void 0:n.num)&&n.num>=0&&Number.isInteger(n==null?void 0:n.gen)&&n.gen>=0}var Fy;const jy=class jy{constructor(){this._capability=Promise.withResolvers(),this._transport=null,this._worker=null,this.docId=`d${ps(jy,Fy)._++}`,this.destroyed=!1,this.onPassword=null,this.onProgress=null}get promise(){return this._capability.promise}async destroy(){var e,t,s;this.destroyed=!0;try{(e=this._worker)!=null&&e.port&&(this._worker._pendingDestroy=!0),await((t=this._transport)==null?void 0:t.destroy())}catch(i){throw(s=this._worker)!=null&&s.port&&delete this._worker._pendingDestroy,i}this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}};Fy=new WeakMap,R(jy,Fy,0);let iw=jy,zR=class{constructor(e,t,s=!1,i=null){this.length=e,this.initialData=t,this.progressiveDone=s,this.contentDispositionFilename=i,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._progressiveDoneListeners=[],this._readyCapability=Promise.withResolvers()}addRangeListener(e){this._rangeListeners.push(e)}addProgressListener(e){this._progressListeners.push(e)}addProgressiveReadListener(e){this._progressiveReadListeners.push(e)}addProgressiveDoneListener(e){this._progressiveDoneListeners.push(e)}onDataRange(e,t){for(const s of this._rangeListeners)s(e,t)}onDataProgress(e,t){this._readyCapability.promise.then(()=>{for(const s of this._progressListeners)s(e,t)})}onDataProgressiveRead(e){this._readyCapability.promise.then(()=>{for(const t of this._progressiveReadListeners)t(e)})}onDataProgressiveDone(){this._readyCapability.promise.then(()=>{for(const e of this._progressiveDoneListeners)e()})}transportReady(){this._readyCapability.resolve()}requestDataRange(e,t){$t("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}};class y6{constructor(e,t){this._pdfInfo=e,this._transport=t}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return Ze(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(e){return this._transport.getPage(e)}getPageIndex(e){return this._transport.getPageIndex(e)}getDestinations(){return this._transport.getDestinations()}getDestination(e){return this._transport.getDestination(e)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:e="display"}={}){const{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getOptionalContentConfig(t)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(e=!1){return this._transport.startCleanup(e||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(e){return this._transport.cachedPageNumber(e)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}var ra,eo,pi,Kc,hg;class v6{constructor(e,t,s,i=!1){R(this,pi);R(this,ra,null);R(this,eo,!1);this._pageIndex=e,this._pageInfo=t,this._transport=s,this._stats=i?new Ex:null,this._pdfBug=i,this.commonObjs=s.commonObjs,this.objs=new HR,this._maybeCleanupAfterRender=!1,this._intentStates=new Map,this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:e,rotation:t=this.rotate,offsetX:s=0,offsetY:i=0,dontFlip:r=!1}={}){return new qp({viewBox:this.view,scale:e,rotation:t,offsetX:s,offsetY:i,dontFlip:r})}getAnnotations({intent:e="display"}={}){const{renderingIntent:t}=this._transport.getRenderingIntent(e);return this._transport.getAnnotations(this._pageIndex,t)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return Ze(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){var e;return((e=this._transport._htmlForXfa)==null?void 0:e.children[this._pageIndex])||null}render({canvasContext:e,viewport:t,intent:s="display",annotationMode:i=Ho.ENABLE,transform:r=null,background:o=null,optionalContentConfigPromise:a=null,annotationCanvasMap:l=null,pageColors:c=null,printAnnotationStorage:h=null,isEditing:u=!1}){var k,A;(k=this._stats)==null||k.time("Overall");const d=this._transport.getRenderingIntent(s,i,h,u),{renderingIntent:p,cacheKey:m}=d;C(this,eo,!1),T(this,pi,hg).call(this),a||(a=this._transport.getOptionalContentConfig(p));let g=this._intentStates.get(m);g||(g=Object.create(null),this._intentStates.set(m,g)),g.streamReaderCancelTimeout&&(clearTimeout(g.streamReaderCancelTimeout),g.streamReaderCancelTimeout=null);const v=!!(p&Ys.PRINT);g.displayReadyCapability||(g.displayReadyCapability=Promise.withResolvers(),g.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(A=this._stats)==null||A.time("Page Request"),this._pumpOperatorList(d));const y=$=>{var E;g.renderTasks.delete(w),(this._maybeCleanupAfterRender||v)&&C(this,eo,!0),T(this,pi,Kc).call(this,!v),$?(w.capability.reject($),this._abortOperatorList({intentState:g,reason:$ instanceof Error?$:new Error($)})):w.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),(E=globalThis.Stats)!=null&&E.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},w=new ow({callback:y,params:{canvasContext:e,viewport:t,transform:r,background:o},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:l,operatorList:g.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!v,pdfBug:this._pdfBug,pageColors:c});(g.renderTasks||(g.renderTasks=new Set)).add(w);const _=w.task;return Promise.all([g.displayReadyCapability.promise,a]).then(([$,E])=>{var O;if(this.destroyed){y();return}if((O=this._stats)==null||O.time("Rendering"),!(E.renderingIntent&p))throw new Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");w.initializeGraphics({transparency:$,optionalContentConfig:E}),w.operatorListChanged()}).catch(y),_}getOperatorList({intent:e="display",annotationMode:t=Ho.ENABLE,printAnnotationStorage:s=null,isEditing:i=!1}={}){var c;function r(){a.operatorList.lastChunk&&(a.opListReadCapability.resolve(a.operatorList),a.renderTasks.delete(l))}const o=this._transport.getRenderingIntent(e,t,s,i,!0);let a=this._intentStates.get(o.cacheKey);a||(a=Object.create(null),this._intentStates.set(o.cacheKey,a));let l;return a.opListReadCapability||(l=Object.create(null),l.operatorListChanged=r,a.opListReadCapability=Promise.withResolvers(),(a.renderTasks||(a.renderTasks=new Set)).add(l),a.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(c=this._stats)==null||c.time("Page Request"),this._pumpOperatorList(o)),a.opListReadCapability.promise}streamTextContent({includeMarkedContent:e=!1,disableNormalization:t=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:e===!0,disableNormalization:t===!0},{highWaterMark:100,size(i){return i.items.length}})}getTextContent(e={}){if(this._transport._htmlForXfa)return this.getXfa().then(s=>ef.textContent(s));const t=this.streamTextContent(e);return new Promise(function(s,i){function r(){o.read().then(function({value:l,done:c}){if(c){s(a);return}a.lang??(a.lang=l.lang),Object.assign(a.styles,l.styles),a.items.push(...l.items),r()},i)}const o=t.getReader(),a={items:[],styles:Object.create(null),lang:null};r()})}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const e=[];for(const t of this._intentStates.values())if(this._abortOperatorList({intentState:t,reason:new Error("Page was destroyed."),force:!0}),!t.opListReadCapability)for(const s of t.renderTasks)e.push(s.completed),s.cancel();return this.objs.clear(),C(this,eo,!1),T(this,pi,hg).call(this),Promise.all(e)}cleanup(e=!1){C(this,eo,!0);const t=T(this,pi,Kc).call(this,!1);return e&&t&&this._stats&&(this._stats=new Ex),t}_startRenderPage(e,t){var i,r;const s=this._intentStates.get(t);s&&((i=this._stats)==null||i.timeEnd("Page Request"),(r=s.displayReadyCapability)==null||r.resolve(e))}_renderPageChunk(e,t){for(let s=0,i=e.length;s{l.read().then(({value:u,done:d})=>{if(d){c.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(u,c),h())},u=>{if(c.streamReader=null,!this._transport.destroyed){if(c.operatorList){c.operatorList.lastChunk=!0;for(const d of c.renderTasks)d.operatorListChanged();T(this,pi,Kc).call(this,!0)}if(c.displayReadyCapability)c.displayReadyCapability.reject(u);else if(c.opListReadCapability)c.opListReadCapability.reject(u);else throw u}})};h()}_abortOperatorList({intentState:e,reason:t,force:s=!1}){if(e.streamReader){if(e.streamReaderCancelTimeout&&(clearTimeout(e.streamReaderCancelTimeout),e.streamReaderCancelTimeout=null),!s){if(e.renderTasks.size>0)return;if(t instanceof oA){let i=l6;t.extraDelay>0&&t.extraDelay<1e3&&(i+=t.extraDelay),e.streamReaderCancelTimeout=setTimeout(()=>{e.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:e,reason:t,force:!0})},i);return}}if(e.streamReader.cancel(new Rc(t.message)).catch(()=>{}),e.streamReader=null,!this._transport.destroyed){for(const[i,r]of this._intentStates)if(r===e){this._intentStates.delete(i);break}this.cleanup()}}}get stats(){return this._stats}}ra=new WeakMap,eo=new WeakMap,pi=new WeakSet,Kc=function(e=!1){if(T(this,pi,hg).call(this),!f(this,eo)||this.destroyed)return!1;if(e)return C(this,ra,setTimeout(()=>{C(this,ra,null),T(this,pi,Kc).call(this,!1)},c6)),!1;for(const{renderTasks:t,operatorList:s}of this._intentStates.values())if(t.size>0||!s.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),C(this,eo,!1),!0},hg=function(){f(this,ra)&&(clearTimeout(f(this,ra)),C(this,ra,null))};var to,zy;class b6{constructor(){R(this,to,new Map);R(this,zy,Promise.resolve())}postMessage(e,t){const s={data:structuredClone(e,t?{transfer:t}:null)};f(this,zy).then(()=>{for(const[i]of f(this,to))i.call(this,s)})}addEventListener(e,t,s=null){let i=null;if((s==null?void 0:s.signal)instanceof AbortSignal){const{signal:r}=s;if(r.aborted){Be("LoopbackPort - cannot use an `aborted` signal.");return}const o=()=>this.removeEventListener(e,t);i=()=>r.removeEventListener("abort",o),r.addEventListener("abort",o)}f(this,to).set(t,i)}removeEventListener(e,t){const s=f(this,to).get(t);s==null||s(),f(this,to).delete(t)}terminate(){for(const[,e]of f(this,to))e==null||e();f(this,to).clear()}}to=new WeakMap,zy=new WeakMap;var Hy,Fl,jl,Bh,ug,qh,dg;const Mt=class Mt{constructor({name:e=null,port:t=null,verbosity:s=Y9()}={}){R(this,Bh);var i;if(this.name=e,this.destroyed=!1,this.verbosity=s,this._readyCapability=Promise.withResolvers(),this._port=null,this._webWorker=null,this._messageHandler=null,t){if((i=f(Mt,jl))!=null&&i.has(t))throw new Error("Cannot use more than one PDFWorker per port.");(f(Mt,jl)||C(Mt,jl,new WeakMap)).set(t,this),this._initializeFromPort(t);return}this._initialize()}get promise(){return cs?Promise.all([Pa.promise,this._readyCapability.promise]):this._readyCapability.promise}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(e){this._port=e,this._messageHandler=new gd("main","worker",e),this._messageHandler.on("ready",function(){}),T(this,Bh,ug).call(this)}_initialize(){if(f(Mt,Fl)||f(Mt,qh,dg)){this._setupFakeWorker();return}let{workerSrc:e}=Mt;try{Mt._isSameOrigin(window.location.href,e)||(e=Mt._createCDNWrapper(new URL(e,window.location).href));const t=new Worker(e,{type:"module"}),s=new gd("main","worker",t),i=()=>{r.abort(),s.destroy(),t.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},r=new AbortController;t.addEventListener("error",()=>{this._webWorker||i()},{signal:r.signal}),s.on("test",a=>{if(r.abort(),this.destroyed||!a){i();return}this._messageHandler=s,this._port=t,this._webWorker=t,T(this,Bh,ug).call(this)}),s.on("ready",a=>{if(r.abort(),this.destroyed){i();return}try{o()}catch{this._setupFakeWorker()}});const o=()=>{const a=new Uint8Array;s.send("test",a,[a.buffer])};o();return}catch{b0("The worker has been disabled.")}this._setupFakeWorker()}_setupFakeWorker(){f(Mt,Fl)||(Be("Setting up fake worker."),C(Mt,Fl,!0)),Mt._setupFakeWorkerGlobal.then(e=>{if(this.destroyed){this._readyCapability.reject(new Error("Worker was destroyed"));return}const t=new b6;this._port=t;const s=`fake${ps(Mt,Hy)._++}`,i=new gd(s+"_worker",s,t);e.setup(i,t),this._messageHandler=new gd(s,s+"_worker",t),T(this,Bh,ug).call(this)}).catch(e=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${e.message}".`))})}destroy(){var e;this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),(e=f(Mt,jl))==null||e.delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(e){var s;if(!(e!=null&&e.port))throw new Error("PDFWorker.fromPort - invalid method signature.");const t=(s=f(this,jl))==null?void 0:s.get(e.port);if(t){if(t._pendingDestroy)throw new Error("PDFWorker.fromPort - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return t}return new Mt(e)}static get workerSrc(){if(vo.workerSrc)return vo.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _setupFakeWorkerGlobal(){return Ze(this,"_setupFakeWorkerGlobal",(async()=>f(this,qh,dg)?f(this,qh,dg):(await import(this.workerSrc)).WorkerMessageHandler)())}};Hy=new WeakMap,Fl=new WeakMap,jl=new WeakMap,Bh=new WeakSet,ug=function(){this._readyCapability.resolve(),this._messageHandler.send("configure",{verbosity:this.verbosity})},qh=new WeakSet,dg=function(){var e;try{return((e=globalThis.pdfjsWorker)==null?void 0:e.WorkerMessageHandler)||null}catch{return null}},R(Mt,qh),R(Mt,Hy,0),R(Mt,Fl,!1),R(Mt,jl),cs&&(C(Mt,Fl,!0),vo.workerSrc||(vo.workerSrc="./pdf.worker.mjs")),Mt._isSameOrigin=(e,t)=>{let s;try{if(s=new URL(e),!s.origin||s.origin==="null")return!1}catch{return!1}const i=new URL(t,s);return s.origin===i.origin},Mt._createCDNWrapper=e=>{const t=`await import("${e}");`;return URL.createObjectURL(new Blob([t],{type:"text/javascript"}))};let uh=Mt;var no,yr,Uh,Vh,vr,zl,yd;class w6{constructor(e,t,s,i,r){R(this,zl);R(this,no,new Map);R(this,yr,new Map);R(this,Uh,new Map);R(this,Vh,new Map);R(this,vr,null);this.messageHandler=e,this.loadingTask=t,this.commonObjs=new HR,this.fontLoader=new y8({ownerDocument:i.ownerDocument,styleElement:i.styleElement}),this.loadingParams=i.loadingParams,this._params=i,this.canvasFactory=r.canvasFactory,this.filterFactory=r.filterFactory,this.cMapReaderFactory=r.cMapReaderFactory,this.standardFontDataFactory=r.standardFontDataFactory,this.destroyed=!1,this.destroyCapability=null,this._networkStream=s,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=Promise.withResolvers(),this.setupMessageHandler()}get annotationStorage(){return Ze(this,"annotationStorage",new hA)}getRenderingIntent(e,t=Ho.ENABLE,s=null,i=!1,r=!1){let o=Ys.DISPLAY,a=Wb;switch(e){case"any":o=Ys.ANY;break;case"display":break;case"print":o=Ys.PRINT;break;default:Be(`getRenderingIntent - invalid intent: ${e}`)}const l=o&Ys.PRINT&&s instanceof vR?s:this.annotationStorage;switch(t){case Ho.DISABLE:o+=Ys.ANNOTATIONS_DISABLE;break;case Ho.ENABLE:break;case Ho.ENABLE_FORMS:o+=Ys.ANNOTATIONS_FORMS;break;case Ho.ENABLE_STORAGE:o+=Ys.ANNOTATIONS_STORAGE,a=l.serializable;break;default:Be(`getRenderingIntent - invalid annotationMode: ${t}`)}i&&(o+=Ys.IS_EDITING),r&&(o+=Ys.OPLIST);const{ids:c,hash:h}=l.modifiedIds,u=[o,a.hash,h];return{renderingIntent:o,cacheKey:u.join("_"),annotationStorageSerializable:a,modifiedIds:c}}destroy(){var s;if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),(s=f(this,vr))==null||s.reject(new Error("Worker was destroyed during onPassword callback"));const e=[];for(const i of f(this,yr).values())e.push(i._destroy());f(this,yr).clear(),f(this,Uh).clear(),f(this,Vh).clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const t=this.messageHandler.sendWithPromise("Terminate",null);return e.push(t),Promise.all(e).then(()=>{var i;this.commonObjs.clear(),this.fontLoader.clear(),f(this,no).clear(),this.filterFactory.destroy(),tw.cleanup(),(i=this._networkStream)==null||i.cancelAllRequests(new Rc("Worker was terminated.")),this.messageHandler&&(this.messageHandler.destroy(),this.messageHandler=null),this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:e,loadingTask:t}=this;e.on("GetReader",(s,i)=>{yn(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=r=>{this._lastProgress={loaded:r.loaded,total:r.total}},i.onPull=()=>{this._fullReader.read().then(function({value:r,done:o}){if(o){i.close();return}yn(r instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(r),1,[r])}).catch(r=>{i.error(r)})},i.onCancel=r=>{this._fullReader.cancel(r),i.ready.catch(o=>{if(!this.destroyed)throw o})}}),e.on("ReaderHeadersReady",async s=>{var a;await this._fullReader.headersReady;const{isStreamingSupported:i,isRangeSupported:r,contentLength:o}=this._fullReader;return(!i||!r)&&(this._lastProgress&&((a=t.onProgress)==null||a.call(t,this._lastProgress)),this._fullReader.onProgress=l=>{var c;(c=t.onProgress)==null||c.call(t,{loaded:l.loaded,total:l.total})}),{isStreamingSupported:i,isRangeSupported:r,contentLength:o}}),e.on("GetRangeReader",(s,i)=>{yn(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const r=this._networkStream.getRangeReader(s.begin,s.end);if(!r){i.close();return}i.onPull=()=>{r.read().then(function({value:o,done:a}){if(a){i.close();return}yn(o instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(o),1,[o])}).catch(o=>{i.error(o)})},i.onCancel=o=>{r.cancel(o),i.ready.catch(a=>{if(!this.destroyed)throw a})}}),e.on("GetDoc",({pdfInfo:s})=>{this._numPages=s.numPages,this._htmlForXfa=s.htmlForXfa,delete s.htmlForXfa,t._capability.resolve(new y6(s,this))}),e.on("DocException",function(s){let i;switch(s.name){case"PasswordException":i=new kb(s.message,s.code);break;case"InvalidPDFException":i=new UP(s.message);break;case"MissingPDFException":i=new Pc(s.message);break;case"UnexpectedResponseException":i=new w0(s.message,s.status);break;case"UnknownErrorException":i=new xb(s.message,s.details);break;default:$t("DocException - expected a valid Error.")}t._capability.reject(i)}),e.on("PasswordRequest",s=>{if(C(this,vr,Promise.withResolvers()),t.onPassword){const i=r=>{r instanceof Error?f(this,vr).reject(r):f(this,vr).resolve({password:r})};try{t.onPassword(i,s.code)}catch(r){f(this,vr).reject(r)}}else f(this,vr).reject(new kb(s.message,s.code));return f(this,vr).promise}),e.on("DataLoaded",s=>{var i;(i=t.onProgress)==null||i.call(t,{loaded:s.length,total:s.length}),this.downloadInfoCapability.resolve(s)}),e.on("StartRenderPage",s=>{if(this.destroyed)return;f(this,yr).get(s.pageIndex)._startRenderPage(s.transparency,s.cacheKey)}),e.on("commonobj",([s,i,r])=>{var o;if(this.destroyed||this.commonObjs.has(s))return null;switch(i){case"Font":const{disableFontFace:a,fontExtraProperties:l,pdfBug:c}=this._params;if("error"in r){const p=r.error;Be(`Error during font loading: ${p}`),this.commonObjs.resolve(s,p);break}const h=c&&((o=globalThis.FontInspector)!=null&&o.enabled)?(p,m)=>globalThis.FontInspector.fontAdded(p,m):null,u=new v8(r,{disableFontFace:a,inspectFont:h});this.fontLoader.bind(u).catch(()=>e.sendWithPromise("FontFallback",{id:s})).finally(()=>{!l&&u.data&&(u.data=null),this.commonObjs.resolve(s,u)});break;case"CopyLocalImage":const{imageRef:d}=r;yn(d,"The imageRef must be defined.");for(const p of f(this,yr).values())for(const[,m]of p.objs)if((m==null?void 0:m.ref)===d)return m.dataLen?(this.commonObjs.resolve(s,structuredClone(m)),m.dataLen):null;break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(s,r);break;default:throw new Error(`Got unknown common object type ${i}`)}return null}),e.on("obj",([s,i,r,o])=>{var l;if(this.destroyed)return;const a=f(this,yr).get(i);if(!a.objs.has(s)){if(a._intentStates.size===0){(l=o==null?void 0:o.bitmap)==null||l.close();return}switch(r){case"Image":a.objs.resolve(s,o),(o==null?void 0:o.dataLen)>W9&&(a._maybeCleanupAfterRender=!0);break;case"Pattern":a.objs.resolve(s,o);break;default:throw new Error(`Got unknown object type ${r}`)}}}),e.on("DocProgress",s=>{var i;this.destroyed||(i=t.onProgress)==null||i.call(t,{loaded:s.loaded,total:s.total})}),e.on("FetchBuiltInCMap",async s=>{if(this.destroyed)throw new Error("Worker was destroyed.");if(!this.cMapReaderFactory)throw new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.");return this.cMapReaderFactory.fetch(s)}),e.on("FetchStandardFontData",async s=>{if(this.destroyed)throw new Error("Worker was destroyed.");if(!this.standardFontDataFactory)throw new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.");return this.standardFontDataFactory.fetch(s)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var s;this.annotationStorage.size<=0&&Be("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");const{map:e,transfer:t}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:e,filename:((s=this._fullReader)==null?void 0:s.filename)??null},t).finally(()=>{this.annotationStorage.resetModified()})}getPage(e){if(!Number.isInteger(e)||e<=0||e>this._numPages)return Promise.reject(new Error("Invalid page request."));const t=e-1,s=f(this,Uh).get(t);if(s)return s;const i=this.messageHandler.sendWithPromise("GetPage",{pageIndex:t}).then(r=>{if(this.destroyed)throw new Error("Transport destroyed");r.refStr&&f(this,Vh).set(r.refStr,e);const o=new v6(t,r,this,this._params.pdfBug);return f(this,yr).set(t,o),o});return f(this,Uh).set(t,i),i}getPageIndex(e){return zx(e)?this.messageHandler.sendWithPromise("GetPageIndex",{num:e.num,gen:e.gen}):Promise.reject(new Error("Invalid pageIndex request."))}getAnnotations(e,t){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:e,intent:t})}getFieldObjects(){return T(this,zl,yd).call(this,"GetFieldObjects")}hasJSActions(){return T(this,zl,yd).call(this,"HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(e){return typeof e!="string"?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:e})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getDocJSActions(){return T(this,zl,yd).call(this,"GetDocJSActions")}getPageJSActions(e){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:e})}getStructTree(e){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:e})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(e){return T(this,zl,yd).call(this,"GetOptionalContentConfig").then(t=>new z8(t,e))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const e="GetMetadata",t=f(this,no).get(e);if(t)return t;const s=this.messageHandler.sendWithPromise(e,null).then(i=>{var r,o;return{info:i[0],metadata:i[1]?new F8(i[1]):null,contentDispositionFilename:((r=this._fullReader)==null?void 0:r.filename)??null,contentLength:((o=this._fullReader)==null?void 0:o.contentLength)??null}});return f(this,no).set(e,s),s}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(e=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const t of f(this,yr).values())if(!t.cleanup())throw new Error(`startCleanup: Page ${t.pageNumber} is currently rendering.`);this.commonObjs.clear(),e||this.fontLoader.clear(),f(this,no).clear(),this.filterFactory.destroy(!0),tw.cleanup()}}cachedPageNumber(e){if(!zx(e))return null;const t=e.gen===0?`${e.num}R`:`${e.num}R${e.gen}`;return f(this,Vh).get(t)??null}}no=new WeakMap,yr=new WeakMap,Uh=new WeakMap,Vh=new WeakMap,vr=new WeakMap,zl=new WeakSet,yd=function(e,t=null){const s=f(this,no).get(e);if(s)return s;const i=this.messageHandler.sendWithPromise(e,t);return f(this,no).set(e,i),i};const wm=Symbol("INITIAL_DATA");var Di,Kf,rw;class HR{constructor(){R(this,Kf);R(this,Di,Object.create(null))}get(e,t=null){if(t){const i=T(this,Kf,rw).call(this,e);return i.promise.then(()=>t(i.data)),null}const s=f(this,Di)[e];if(!s||s.data===wm)throw new Error(`Requesting object that isn't resolved yet ${e}.`);return s.data}has(e){const t=f(this,Di)[e];return!!t&&t.data!==wm}resolve(e,t=null){const s=T(this,Kf,rw).call(this,e);s.data=t,s.resolve()}clear(){var e;for(const t in f(this,Di)){const{data:s}=f(this,Di)[t];(e=s==null?void 0:s.bitmap)==null||e.close()}C(this,Di,Object.create(null))}*[Symbol.iterator](){for(const e in f(this,Di)){const{data:t}=f(this,Di)[e];t!==wm&&(yield[e,t])}}}Di=new WeakMap,Kf=new WeakSet,rw=function(e){var t;return(t=f(this,Di))[e]||(t[e]={...Promise.withResolvers(),data:wm})};var oa;class _6{constructor(e){R(this,oa,null);C(this,oa,e),this.onContinue=null}get promise(){return f(this,oa).capability.promise}cancel(e=0){f(this,oa).cancel(null,e)}get separateAnnots(){const{separateAnnots:e}=f(this,oa).operatorList;if(!e)return!1;const{annotationCanvasMap:t}=f(this,oa);return e.form||e.canvas&&(t==null?void 0:t.size)>0}}oa=new WeakMap;var aa,Hl;const hl=class hl{constructor({callback:e,params:t,objs:s,commonObjs:i,annotationCanvasMap:r,operatorList:o,pageIndex:a,canvasFactory:l,filterFactory:c,useRequestAnimationFrame:h=!1,pdfBug:u=!1,pageColors:d=null}){R(this,aa,null);this.callback=e,this.params=t,this.objs=s,this.commonObjs=i,this.annotationCanvasMap=r,this.operatorListIdx=null,this.operatorList=o,this._pageIndex=a,this.canvasFactory=l,this.filterFactory=c,this._pdfBug=u,this.pageColors=d,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=h===!0&&typeof window<"u",this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new _6(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=t.canvasContext.canvas}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:e=!1,optionalContentConfig:t}){var a,l;if(this.cancelled)return;if(this._canvas){if(f(hl,Hl).has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");f(hl,Hl).add(this._canvas)}this._pdfBug&&((a=globalThis.StepperManager)!=null&&a.enabled)&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{canvasContext:s,viewport:i,transform:r,background:o}=this.params;this.gfx=new hh(s,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:t},this.annotationCanvasMap,this.pageColors),this.gfx.beginDrawing({transform:r,viewport:i,transparency:e,background:o}),this.operatorListIdx=0,this.graphicsReady=!0,(l=this.graphicsReadyCallback)==null||l.call(this)}cancel(e=null,t=0){var s;this.running=!1,this.cancelled=!0,(s=this.gfx)==null||s.endDrawing(),f(this,aa)&&(window.cancelAnimationFrame(f(this,aa)),C(this,aa,null)),f(hl,Hl).delete(this._canvas),this.callback(e||new oA(`Rendering cancelled, page ${this._pageIndex+1}`,t))}operatorListChanged(){var e;if(!this.graphicsReady){this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound);return}(e=this.stepper)==null||e.updateOperatorList(this.operatorList),!this.running&&this._continue()}_continue(){this.running=!0,!this.cancelled&&(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?C(this,aa,window.requestAnimationFrame(()=>{C(this,aa,null),this._nextBound().catch(this._cancelBound)})):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),f(hl,Hl).delete(this._canvas),this.callback())))}};aa=new WeakMap,Hl=new WeakMap,R(hl,Hl,new WeakSet);let ow=hl;const S6="4.8.69",A6="3634dab10";function Hx(n){return Math.floor(Math.max(0,Math.min(1,n))*255).toString(16).padStart(2,"0")}function Ju(n){return Math.max(0,Math.min(255,255*n))}class Bx{static CMYK_G([e,t,s,i]){return["G",1-Math.min(1,.3*e+.59*s+.11*t+i)]}static G_CMYK([e]){return["CMYK",0,0,0,1-e]}static G_RGB([e]){return["RGB",e,e,e]}static G_rgb([e]){return e=Ju(e),[e,e,e]}static G_HTML([e]){const t=Hx(e);return`#${t}${t}${t}`}static RGB_G([e,t,s]){return["G",.3*e+.59*t+.11*s]}static RGB_rgb(e){return e.map(Ju)}static RGB_HTML(e){return`#${e.map(Hx).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([e,t,s,i]){return["RGB",1-Math.min(1,e+i),1-Math.min(1,s+i),1-Math.min(1,t+i)]}static CMYK_rgb([e,t,s,i]){return[Ju(1-Math.min(1,e+i)),Ju(1-Math.min(1,s+i)),Ju(1-Math.min(1,t+i))]}static CMYK_HTML(e){const t=this.CMYK_RGB(e).slice(1);return this.RGB_HTML(t)}static RGB_CMYK([e,t,s]){const i=1-e,r=1-t,o=1-s,a=Math.min(i,r,o);return["CMYK",i,r,o,a]}}class k6{create(e,t,s=!1){if(e<=0||t<=0)throw new Error("Invalid SVG dimensions");const i=this._createSVG("svg:svg");return i.setAttribute("version","1.1"),s||(i.setAttribute("width",`${e}px`),i.setAttribute("height",`${t}px`)),i.setAttribute("preserveAspectRatio","none"),i.setAttribute("viewBox",`0 0 ${e} ${t}`),i}createElement(e){if(typeof e!="string")throw new Error("Invalid SVG element type");return this._createSVG(e)}_createSVG(e){$t("Abstract method `_createSVG` called.")}}class mA extends k6{_createSVG(e){return document.createElementNS(Ur,e)}}class BR{static setupStorage(e,t,s,i,r){const o=i.getValue(t,{value:null});switch(s.name){case"textarea":if(o.value!==null&&(e.textContent=o.value),r==="print")break;e.addEventListener("input",a=>{i.setValue(t,{value:a.target.value})});break;case"input":if(s.attributes.type==="radio"||s.attributes.type==="checkbox"){if(o.value===s.attributes.xfaOn?e.setAttribute("checked",!0):o.value===s.attributes.xfaOff&&e.removeAttribute("checked"),r==="print")break;e.addEventListener("change",a=>{i.setValue(t,{value:a.target.checked?a.target.getAttribute("xfaOn"):a.target.getAttribute("xfaOff")})})}else{if(o.value!==null&&e.setAttribute("value",o.value),r==="print")break;e.addEventListener("input",a=>{i.setValue(t,{value:a.target.value})})}break;case"select":if(o.value!==null){e.setAttribute("value",o.value);for(const a of s.children)a.attributes.value===o.value?a.attributes.selected=!0:a.attributes.hasOwnProperty("selected")&&delete a.attributes.selected}e.addEventListener("input",a=>{const l=a.target.options,c=l.selectedIndex===-1?"":l[l.selectedIndex].value;i.setValue(t,{value:c})});break}}static setAttributes({html:e,element:t,storage:s=null,intent:i,linkService:r}){const{attributes:o}=t,a=e instanceof HTMLAnchorElement;o.type==="radio"&&(o.name=`${o.name}-${i}`);for(const[l,c]of Object.entries(o))if(c!=null)switch(l){case"class":c.length&&e.setAttribute(l,c.join(" "));break;case"dataId":break;case"id":e.setAttribute("data-element-id",c);break;case"style":Object.assign(e.style,c);break;case"textContent":e.textContent=c;break;default:(!a||l!=="href"&&l!=="newWindow")&&e.setAttribute(l,c)}a&&r.addLinkAttributes(e,o.href,o.newWindow),s&&o.dataId&&this.setupStorage(e,o.dataId,t,s)}static render(e){var u,d;const t=e.annotationStorage,s=e.linkService,i=e.xfaHtml,r=e.intent||"display",o=document.createElement(i.name);i.attributes&&this.setAttributes({html:o,element:i,intent:r,linkService:s});const a=r!=="richText",l=e.div;if(l.append(o),e.viewport){const p=`matrix(${e.viewport.transform.join(",")})`;l.style.transform=p}a&&l.setAttribute("class","xfaLayer xfaFont");const c=[];if(i.children.length===0){if(i.value){const p=document.createTextNode(i.value);o.append(p),a&&ef.shouldBuildText(i.name)&&c.push(p)}return{textDivs:c}}const h=[[i,-1,o]];for(;h.length>0;){const[p,m,g]=h.at(-1);if(m+1===p.children.length){h.pop();continue}const v=p.children[++h.at(-1)[1]];if(v===null)continue;const{name:y}=v;if(y==="#text"){const _=document.createTextNode(v.value);c.push(_),g.append(_);continue}const w=(u=v==null?void 0:v.attributes)!=null&&u.xmlns?document.createElementNS(v.attributes.xmlns,y):document.createElement(y);if(g.append(w),v.attributes&&this.setAttributes({html:w,element:v,storage:t,intent:r,linkService:s}),((d=v.children)==null?void 0:d.length)>0)h.push([v,-1,w]);else if(v.value){const _=document.createTextNode(v.value);a&&ef.shouldBuildText(y)&&c.push(_),w.append(_)}}for(const p of l.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))p.setAttribute("readOnly",!0);return{textDivs:c}}static update(e){const t=`matrix(${e.viewport.transform.join(",")})`;e.div.style.transform=t,e.div.hidden=!1}}const Vp=1e3,x6=9,bc=new WeakSet;function ko(n){return{width:n[2]-n[0],height:n[3]-n[1]}}class E6{static create(e){switch(e.data.annotationType){case hn.LINK:return new qR(e);case hn.TEXT:return new C6(e);case hn.WIDGET:switch(e.data.fieldType){case"Tx":return new $6(e);case"Btn":return e.data.radioButton?new WR(e):e.data.checkBox?new P6(e):new R6(e);case"Ch":return new M6(e);case"Sig":return new T6(e)}return new Mc(e);case hn.POPUP:return new lw(e);case hn.FREETEXT:return new YR(e);case hn.LINE:return new O6(e);case hn.SQUARE:return new N6(e);case hn.CIRCLE:return new L6(e);case hn.POLYLINE:return new JR(e);case hn.CARET:return new F6(e);case hn.INK:return new gA(e);case hn.POLYGON:return new D6(e);case hn.HIGHLIGHT:return new QR(e);case hn.UNDERLINE:return new j6(e);case hn.SQUIGGLY:return new z6(e);case hn.STRIKEOUT:return new H6(e);case hn.STAMP:return new eM(e);case hn.FILEATTACHMENT:return new B6(e);default:return new Yt(e)}}}var Bl,Wh,Gh,Zf,aw;const ZA=class ZA{constructor(e,{isRenderable:t=!1,ignoreBorder:s=!1,createQuadrilaterals:i=!1}={}){R(this,Zf);R(this,Bl,null);R(this,Wh,!1);R(this,Gh,null);this.isRenderable=t,this.data=e.data,this.layer=e.layer,this.linkService=e.linkService,this.downloadManager=e.downloadManager,this.imageResourcesPath=e.imageResourcesPath,this.renderForms=e.renderForms,this.svgFactory=e.svgFactory,this.annotationStorage=e.annotationStorage,this.enableScripting=e.enableScripting,this.hasJSActions=e.hasJSActions,this._fieldObjects=e.fieldObjects,this.parent=e.parent,t&&(this.container=this._createContainer(s)),i&&this._createQuadrilaterals()}static _hasPopupData({titleObj:e,contentsObj:t,richText:s}){return!!(e!=null&&e.str||t!=null&&t.str||s!=null&&s.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return ZA._hasPopupData(this.data)}updateEdited(e){var s;if(!this.container)return;f(this,Bl)||C(this,Bl,{rect:this.data.rect.slice(0)});const{rect:t}=e;t&&T(this,Zf,aw).call(this,t),(s=f(this,Gh))==null||s.popup.updateEdited(e)}resetEdited(){var e;f(this,Bl)&&(T(this,Zf,aw).call(this,f(this,Bl).rect),(e=f(this,Gh))==null||e.popup.resetEdited(),C(this,Bl,null))}_createContainer(e){const{data:t,parent:{page:s,viewport:i}}=this,r=document.createElement("section");r.setAttribute("data-annotation-id",t.id),this instanceof Mc||(r.tabIndex=Vp);const{style:o}=r;if(o.zIndex=this.parent.zIndex++,t.alternativeText&&(r.title=t.alternativeText),t.noRotate&&r.classList.add("norotate"),!t.rect||this instanceof lw){const{rotation:g}=t;return!t.hasOwnCanvas&&g!==0&&this.setRotation(g,r),r}const{width:a,height:l}=ko(t.rect);if(!e&&t.borderStyle.width>0){o.borderWidth=`${t.borderStyle.width}px`;const g=t.borderStyle.horizontalCornerRadius,v=t.borderStyle.verticalCornerRadius;if(g>0||v>0){const w=`calc(${g}px * var(--scale-factor)) / calc(${v}px * var(--scale-factor))`;o.borderRadius=w}else if(this instanceof WR){const w=`calc(${a}px * var(--scale-factor)) / calc(${l}px * var(--scale-factor))`;o.borderRadius=w}switch(t.borderStyle.style){case Xu.SOLID:o.borderStyle="solid";break;case Xu.DASHED:o.borderStyle="dashed";break;case Xu.BEVELED:Be("Unimplemented border style: beveled");break;case Xu.INSET:Be("Unimplemented border style: inset");break;case Xu.UNDERLINE:o.borderBottomStyle="solid";break}const y=t.borderColor||null;y?(C(this,Wh,!0),o.borderColor=_e.makeHexColor(y[0]|0,y[1]|0,y[2]|0)):o.borderWidth=0}const c=_e.normalizeRect([t.rect[0],s.view[3]-t.rect[1]+s.view[1],t.rect[2],s.view[3]-t.rect[3]+s.view[1]]),{pageWidth:h,pageHeight:u,pageX:d,pageY:p}=i.rawDims;o.left=`${100*(c[0]-d)/h}%`,o.top=`${100*(c[1]-p)/u}%`;const{rotation:m}=t;return t.hasOwnCanvas||m===0?(o.width=`${100*a/h}%`,o.height=`${100*l/u}%`):this.setRotation(m,r),r}setRotation(e,t=this.container){if(!this.data.rect)return;const{pageWidth:s,pageHeight:i}=this.parent.viewport.rawDims,{width:r,height:o}=ko(this.data.rect);let a,l;e%180===0?(a=100*r/s,l=100*o/i):(a=100*o/s,l=100*r/i),t.style.width=`${a}%`,t.style.height=`${l}%`,t.setAttribute("data-main-rotation",(360-e)%360)}get _commonActions(){const e=(t,s,i)=>{const r=i.detail[t],o=r[0],a=r.slice(1);i.target.style[s]=Bx[`${o}_HTML`](a),this.annotationStorage.setValue(this.data.id,{[s]:Bx[`${o}_rgb`](a)})};return Ze(this,"_commonActions",{display:t=>{const{display:s}=t.detail,i=s%2===1;this.container.style.visibility=i?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:i,noPrint:s===1||s===2})},print:t=>{this.annotationStorage.setValue(this.data.id,{noPrint:!t.detail.print})},hidden:t=>{const{hidden:s}=t.detail;this.container.style.visibility=s?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:s,noView:s})},focus:t=>{setTimeout(()=>t.target.focus({preventScroll:!1}),0)},userName:t=>{t.target.title=t.detail.userName},readonly:t=>{t.target.disabled=t.detail.readonly},required:t=>{this._setRequired(t.target,t.detail.required)},bgColor:t=>{e("bgColor","backgroundColor",t)},fillColor:t=>{e("fillColor","backgroundColor",t)},fgColor:t=>{e("fgColor","color",t)},textColor:t=>{e("textColor","color",t)},borderColor:t=>{e("borderColor","borderColor",t)},strokeColor:t=>{e("strokeColor","borderColor",t)},rotation:t=>{const s=t.detail.rotation;this.setRotation(s),this.annotationStorage.setValue(this.data.id,{rotation:s})}})}_dispatchEventFromSandbox(e,t){const s=this._commonActions;for(const i of Object.keys(t.detail)){const r=e[i]||s[i];r==null||r(t)}}_setDefaultPropertiesFromJS(e){if(!this.enableScripting)return;const t=this.annotationStorage.getRawValue(this.data.id);if(!t)return;const s=this._commonActions;for(const[i,r]of Object.entries(t)){const o=s[i];if(o){const a={detail:{[i]:r},target:e};o(a),delete t[i]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:e}=this.data;if(!e)return;const[t,s,i,r]=this.data.rect.map(g=>Math.fround(g));if(e.length===8){const[g,v,y,w]=e.subarray(2,6);if(i===g&&r===v&&t===y&&s===w)return}const{style:o}=this.container;let a;if(f(this,Wh)){const{borderColor:g,borderWidth:v}=o;o.borderWidth=0,a=["url('data:image/svg+xml;utf8,",'',``],this.container.classList.add("hasBorder")}const l=i-t,c=r-s,{svgFactory:h}=this,u=h.createElement("svg");u.classList.add("quadrilateralsContainer"),u.setAttribute("width",0),u.setAttribute("height",0);const d=h.createElement("defs");u.append(d);const p=h.createElement("clipPath"),m=`clippath_${this.data.id}`;p.setAttribute("id",m),p.setAttribute("clipPathUnits","objectBoundingBox"),d.append(p);for(let g=2,v=e.length;g`)}f(this,Wh)&&(a.push("')"),o.backgroundImage=a.join("")),this.container.append(u),this.container.style.clipPath=`url(#${m})`}_createPopup(){const{data:e}=this,t=C(this,Gh,new lw({data:{color:e.color,titleObj:e.titleObj,modificationDate:e.modificationDate,contentsObj:e.contentsObj,richText:e.richText,parentRect:e.rect,borderStyle:0,id:`popup_${e.id}`,rotation:e.rotation},parent:this.parent,elements:[this]}));this.parent.div.append(t.render())}render(){$t("Abstract method `AnnotationElement.render` called")}_getElementsByName(e,t=null){const s=[];if(this._fieldObjects){const i=this._fieldObjects[e];if(i)for(const{page:r,id:o,exportValues:a}of i){if(r===-1||o===t)continue;const l=typeof a=="string"?a:null,c=document.querySelector(`[data-element-id="${o}"]`);if(c&&!bc.has(c)){Be(`_getElementsByName - element not allowed: ${o}`);continue}s.push({id:o,exportValue:l,domElement:c})}return s}for(const i of document.getElementsByName(e)){const{exportValue:r}=i,o=i.getAttribute("data-element-id");o!==t&&bc.has(i)&&s.push({id:o,exportValue:r,domElement:i})}return s}show(){var e;this.container&&(this.container.hidden=!1),(e=this.popup)==null||e.maybeShow()}hide(){var e;this.container&&(this.container.hidden=!0),(e=this.popup)==null||e.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const e=this.getElementsToTriggerPopup();if(Array.isArray(e))for(const t of e)t.classList.add("highlightArea");else e.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;const{annotationEditorType:e,data:{id:t}}=this;this.container.addEventListener("dblclick",()=>{var s;(s=this.linkService.eventBus)==null||s.dispatch("switchannotationeditormode",{source:this,mode:e,editId:t})})}};Bl=new WeakMap,Wh=new WeakMap,Gh=new WeakMap,Zf=new WeakSet,aw=function(e){const{container:{style:t},data:{rect:s,rotation:i},parent:{viewport:{rawDims:{pageWidth:r,pageHeight:o,pageX:a,pageY:l}}}}=this;s==null||s.splice(0,4,...e);const{width:c,height:h}=ko(e);t.left=`${100*(e[0]-a)/r}%`,t.top=`${100*(o-e[3]+l)/o}%`,i===0?(t.width=`${100*c/r}%`,t.height=`${100*h/o}%`):this.setRotation(i)};let Yt=ZA;var Qs,Ya,UR,VR;class qR extends Yt{constructor(t,s=null){super(t,{isRenderable:!0,ignoreBorder:!!(s!=null&&s.ignoreBorder),createQuadrilaterals:!0});R(this,Qs);this.isTooltipOnly=t.data.isTooltipOnly}render(){const{data:t,linkService:s}=this,i=document.createElement("a");i.setAttribute("data-element-id",t.id);let r=!1;return t.url?(s.addLinkAttributes(i,t.url,t.newWindow),r=!0):t.action?(this._bindNamedAction(i,t.action),r=!0):t.attachment?(T(this,Qs,UR).call(this,i,t.attachment,t.attachmentDest),r=!0):t.setOCGState?(T(this,Qs,VR).call(this,i,t.setOCGState),r=!0):t.dest?(this._bindLink(i,t.dest),r=!0):(t.actions&&(t.actions.Action||t.actions["Mouse Up"]||t.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(i,t),r=!0),t.resetForm?(this._bindResetFormAction(i,t.resetForm),r=!0):this.isTooltipOnly&&!r&&(this._bindLink(i,""),r=!0)),this.container.classList.add("linkAnnotation"),r&&this.container.append(i),this.container}_bindLink(t,s){t.href=this.linkService.getDestinationHash(s),t.onclick=()=>(s&&this.linkService.goToDestination(s),!1),(s||s==="")&&T(this,Qs,Ya).call(this)}_bindNamedAction(t,s){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeNamedAction(s),!1),T(this,Qs,Ya).call(this)}_bindJSAction(t,s){t.href=this.linkService.getAnchorUrl("");const i=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const r of Object.keys(s.actions)){const o=i.get(r);o&&(t[o]=()=>{var a;return(a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:s.id,name:r}}),!1})}t.onclick||(t.onclick=()=>!1),T(this,Qs,Ya).call(this)}_bindResetFormAction(t,s){const i=t.onclick;if(i||(t.href=this.linkService.getAnchorUrl("")),T(this,Qs,Ya).call(this),!this._fieldObjects){Be('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),i||(t.onclick=()=>!1);return}t.onclick=()=>{var u;i==null||i();const{fields:r,refs:o,include:a}=s,l=[];if(r.length!==0||o.length!==0){const d=new Set(o);for(const p of r){const m=this._fieldObjects[p]||[];for(const{id:g}of m)d.add(g)}for(const p of Object.values(this._fieldObjects))for(const m of p)d.has(m.id)===a&&l.push(m)}else for(const d of Object.values(this._fieldObjects))l.push(...d);const c=this.annotationStorage,h=[];for(const d of l){const{id:p}=d;switch(h.push(p),d.type){case"text":{const g=d.defaultValue||"";c.setValue(p,{value:g});break}case"checkbox":case"radiobutton":{const g=d.defaultValue===d.exportValues;c.setValue(p,{value:g});break}case"combobox":case"listbox":{const g=d.defaultValue||"";c.setValue(p,{value:g});break}default:continue}const m=document.querySelector(`[data-element-id="${p}"]`);if(m){if(!bc.has(m)){Be(`_bindResetFormAction - element not allowed: ${p}`);continue}}else continue;m.dispatchEvent(new Event("resetform"))}return this.enableScripting&&((u=this.linkService.eventBus)==null||u.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:h,name:"ResetForm"}})),!1}}}Qs=new WeakSet,Ya=function(){this.container.setAttribute("data-internal-link","")},UR=function(t,s,i=null){t.href=this.linkService.getAnchorUrl(""),s.description&&(t.title=s.description),t.onclick=()=>{var r;return(r=this.downloadManager)==null||r.openOrDownloadData(s.content,s.filename,i),!1},T(this,Qs,Ya).call(this)},VR=function(t,s){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeSetOCGState(s),!1),T(this,Qs,Ya).call(this)};class C6 extends Yt{constructor(e){super(e,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const e=document.createElement("img");return e.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",e.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),e.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(e),this.container}}class Mc extends Yt{render(){return this.container}showElementAndHideCanvas(e){var t;this.data.hasOwnCanvas&&(((t=e.previousSibling)==null?void 0:t.nodeName)==="CANVAS"&&(e.previousSibling.hidden=!0),e.hidden=!1)}_getKeyModifier(e){return _s.platform.isMac?e.metaKey:e.ctrlKey}_setEventListener(e,t,s,i,r){s.includes("mouse")?e.addEventListener(s,o=>{var a;(a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:r(o),shift:o.shiftKey,modifier:this._getKeyModifier(o)}})}):e.addEventListener(s,o=>{var a;if(s==="blur"){if(!t.focused||!o.relatedTarget)return;t.focused=!1}else if(s==="focus"){if(t.focused)return;t.focused=!0}r&&((a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:r(o)}}))})}_setEventListeners(e,t,s,i){var r,o,a;for(const[l,c]of s)(c==="Action"||(r=this.data.actions)!=null&&r[c])&&((c==="Focus"||c==="Blur")&&(t||(t={focused:!1})),this._setEventListener(e,t,l,c,i),c==="Focus"&&!((o=this.data.actions)!=null&&o.Blur)?this._setEventListener(e,t,"blur","Blur",null):c==="Blur"&&!((a=this.data.actions)!=null&&a.Focus)&&this._setEventListener(e,t,"focus","Focus",null))}_setBackgroundColor(e){const t=this.data.backgroundColor||null;e.style.backgroundColor=t===null?"transparent":_e.makeHexColor(t[0],t[1],t[2])}_setTextStyle(e){const t=["left","center","right"],{fontColor:s}=this.data.defaultAppearanceData,i=this.data.defaultAppearanceData.fontSize||x6,r=e.style;let o;const a=2,l=c=>Math.round(10*c)/10;if(this.data.multiLine){const c=Math.abs(this.data.rect[3]-this.data.rect[1]-a),h=Math.round(c/(lv*i))||1,u=c/h;o=Math.min(i,l(u/lv))}else{const c=Math.abs(this.data.rect[3]-this.data.rect[1]-a);o=Math.min(i,l(c/lv))}r.fontSize=`calc(${o}px * var(--scale-factor))`,r.color=_e.makeHexColor(s[0],s[1],s[2]),this.data.textAlignment!==null&&(r.textAlign=t[this.data.textAlignment])}_setRequired(e,t){t?e.setAttribute("required",!0):e.removeAttribute("required"),e.setAttribute("aria-required",t)}}class $6 extends Mc{constructor(e){const t=e.renderForms||e.data.hasOwnCanvas||!e.data.hasAppearance&&!!e.data.fieldValue;super(e,{isRenderable:t})}setPropertyOnSiblings(e,t,s,i){const r=this.annotationStorage;for(const o of this._getElementsByName(e.name,e.id))o.domElement&&(o.domElement[t]=s),r.setValue(o.id,{[i]:s})}render(){var i,r;const e=this.annotationStorage,t=this.data.id;this.container.classList.add("textWidgetAnnotation");let s=null;if(this.renderForms){const o=e.getValue(t,{value:this.data.fieldValue});let a=o.value||"";const l=e.getValue(t,{charLimit:this.data.maxLen}).charLimit;l&&a.length>l&&(a=a.slice(0,l));let c=o.formattedValue||((i=this.data.textContent)==null?void 0:i.join(` +`))||null;c&&this.data.comb&&(c=c.replaceAll(/\s+/g,""));const h={userValue:a,formattedValue:c,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(s=document.createElement("textarea"),s.textContent=c??a,this.data.doNotScroll&&(s.style.overflowY="hidden")):(s=document.createElement("input"),s.type="text",s.setAttribute("value",c??a),this.data.doNotScroll&&(s.style.overflowX="hidden")),this.data.hasOwnCanvas&&(s.hidden=!0),bc.add(s),s.setAttribute("data-element-id",t),s.disabled=this.data.readOnly,s.name=this.data.fieldName,s.tabIndex=Vp,this._setRequired(s,this.data.required),l&&(s.maxLength=l),s.addEventListener("input",d=>{e.setValue(t,{value:d.target.value}),this.setPropertyOnSiblings(s,"value",d.target.value,"value"),h.formattedValue=null}),s.addEventListener("resetform",d=>{const p=this.data.defaultFieldValue??"";s.value=h.userValue=p,h.formattedValue=null});let u=d=>{const{formattedValue:p}=h;p!=null&&(d.target.value=p),d.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){s.addEventListener("focus",p=>{var g;if(h.focused)return;const{target:m}=p;h.userValue&&(m.value=h.userValue),h.lastCommittedValue=m.value,h.commitKey=1,(g=this.data.actions)!=null&&g.Focus||(h.focused=!0)}),s.addEventListener("updatefromsandbox",p=>{this.showElementAndHideCanvas(p.target);const m={value(g){h.userValue=g.detail.value??"",e.setValue(t,{value:h.userValue.toString()}),g.target.value=h.userValue},formattedValue(g){const{formattedValue:v}=g.detail;h.formattedValue=v,v!=null&&g.target!==document.activeElement&&(g.target.value=v),e.setValue(t,{formattedValue:v})},selRange(g){g.target.setSelectionRange(...g.detail.selRange)},charLimit:g=>{var _;const{charLimit:v}=g.detail,{target:y}=g;if(v===0){y.removeAttribute("maxLength");return}y.setAttribute("maxLength",v);let w=h.userValue;!w||w.length<=v||(w=w.slice(0,v),y.value=h.userValue=w,e.setValue(t,{value:w}),(_=this.linkService.eventBus)==null||_.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:w,willCommit:!0,commitKey:1,selStart:y.selectionStart,selEnd:y.selectionEnd}}))}};this._dispatchEventFromSandbox(m,p)}),s.addEventListener("keydown",p=>{var v;h.commitKey=1;let m=-1;if(p.key==="Escape"?m=0:p.key==="Enter"&&!this.data.multiLine?m=2:p.key==="Tab"&&(h.commitKey=3),m===-1)return;const{value:g}=p.target;h.lastCommittedValue!==g&&(h.lastCommittedValue=g,h.userValue=g,(v=this.linkService.eventBus)==null||v.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:g,willCommit:!0,commitKey:m,selStart:p.target.selectionStart,selEnd:p.target.selectionEnd}}))});const d=u;u=null,s.addEventListener("blur",p=>{var g,v;if(!h.focused||!p.relatedTarget)return;(g=this.data.actions)!=null&&g.Blur||(h.focused=!1);const{value:m}=p.target;h.userValue=m,h.lastCommittedValue!==m&&((v=this.linkService.eventBus)==null||v.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:m,willCommit:!0,commitKey:h.commitKey,selStart:p.target.selectionStart,selEnd:p.target.selectionEnd}})),d(p)}),(r=this.data.actions)!=null&&r.Keystroke&&s.addEventListener("beforeinput",p=>{var A;h.lastCommittedValue=null;const{data:m,target:g}=p,{value:v,selectionStart:y,selectionEnd:w}=g;let _=y,k=w;switch(p.inputType){case"deleteWordBackward":{const $=v.substring(0,y).match(/\w*[^\w]*$/);$&&(_-=$[0].length);break}case"deleteWordForward":{const $=v.substring(y).match(/^[^\w]*\w*/);$&&(k+=$[0].length);break}case"deleteContentBackward":y===w&&(_-=1);break;case"deleteContentForward":y===w&&(k+=1);break}p.preventDefault(),(A=this.linkService.eventBus)==null||A.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:v,change:m||"",willCommit:!1,selStart:_,selEnd:k}})}),this._setEventListeners(s,h,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],p=>p.target.value)}if(u&&s.addEventListener("blur",u),this.data.comb){const p=(this.data.rect[2]-this.data.rect[0])/l;s.classList.add("comb"),s.style.letterSpacing=`calc(${p}px * var(--scale-factor) - 1ch)`}}else s=document.createElement("div"),s.textContent=this.data.fieldValue,s.style.verticalAlign="middle",s.style.display="table-cell",this.data.hasOwnCanvas&&(s.hidden=!0);return this._setTextStyle(s),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class T6 extends Mc{constructor(e){super(e,{isRenderable:!!e.data.hasOwnCanvas})}}class P6 extends Mc{constructor(e){super(e,{isRenderable:e.renderForms})}render(){const e=this.annotationStorage,t=this.data,s=t.id;let i=e.getValue(s,{value:t.exportValue===t.fieldValue}).value;typeof i=="string"&&(i=i!=="Off",e.setValue(s,{value:i})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const r=document.createElement("input");return bc.add(r),r.setAttribute("data-element-id",s),r.disabled=t.readOnly,this._setRequired(r,this.data.required),r.type="checkbox",r.name=t.fieldName,i&&r.setAttribute("checked",!0),r.setAttribute("exportValue",t.exportValue),r.tabIndex=Vp,r.addEventListener("change",o=>{const{name:a,checked:l}=o.target;for(const c of this._getElementsByName(a,s)){const h=l&&c.exportValue===t.exportValue;c.domElement&&(c.domElement.checked=h),e.setValue(c.id,{value:h})}e.setValue(s,{value:l})}),r.addEventListener("resetform",o=>{const a=t.defaultFieldValue||"Off";o.target.checked=a===t.exportValue}),this.enableScripting&&this.hasJSActions&&(r.addEventListener("updatefromsandbox",o=>{const a={value(l){l.target.checked=l.detail.value!=="Off",e.setValue(s,{value:l.target.checked})}};this._dispatchEventFromSandbox(a,o)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],o=>o.target.checked)),this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class WR extends Mc{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const e=this.annotationStorage,t=this.data,s=t.id;let i=e.getValue(s,{value:t.fieldValue===t.buttonValue}).value;if(typeof i=="string"&&(i=i!==t.buttonValue,e.setValue(s,{value:i})),i)for(const o of this._getElementsByName(t.fieldName,s))e.setValue(o.id,{value:!1});const r=document.createElement("input");if(bc.add(r),r.setAttribute("data-element-id",s),r.disabled=t.readOnly,this._setRequired(r,this.data.required),r.type="radio",r.name=t.fieldName,i&&r.setAttribute("checked",!0),r.tabIndex=Vp,r.addEventListener("change",o=>{const{name:a,checked:l}=o.target;for(const c of this._getElementsByName(a,s))e.setValue(c.id,{value:!1});e.setValue(s,{value:l})}),r.addEventListener("resetform",o=>{const a=t.defaultFieldValue;o.target.checked=a!=null&&a===t.buttonValue}),this.enableScripting&&this.hasJSActions){const o=t.buttonValue;r.addEventListener("updatefromsandbox",a=>{const l={value:c=>{const h=o===c.detail.value;for(const u of this._getElementsByName(c.target.name)){const d=h&&u.id===s;u.domElement&&(u.domElement.checked=d),e.setValue(u.id,{value:d})}}};this._dispatchEventFromSandbox(l,a)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.checked)}return this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class R6 extends qR{constructor(e){super(e,{ignoreBorder:e.data.hasAppearance})}render(){const e=super.render();e.classList.add("buttonWidgetAnnotation","pushButton");const t=e.lastChild;return this.enableScripting&&this.hasJSActions&&t&&(this._setDefaultPropertiesFromJS(t),t.addEventListener("updatefromsandbox",s=>{this._dispatchEventFromSandbox({},s)})),e}}class M6 extends Mc{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const e=this.annotationStorage,t=this.data.id,s=e.getValue(t,{value:this.data.fieldValue}),i=document.createElement("select");bc.add(i),i.setAttribute("data-element-id",t),i.disabled=this.data.readOnly,this._setRequired(i,this.data.required),i.name=this.data.fieldName,i.tabIndex=Vp;let r=this.data.combo&&this.data.options.length>0;this.data.combo||(i.size=this.data.options.length,this.data.multiSelect&&(i.multiple=!0)),i.addEventListener("resetform",h=>{const u=this.data.defaultFieldValue;for(const d of i.options)d.selected=d.value===u});for(const h of this.data.options){const u=document.createElement("option");u.textContent=h.displayValue,u.value=h.exportValue,s.value.includes(h.exportValue)&&(u.setAttribute("selected",!0),r=!1),i.append(u)}let o=null;if(r){const h=document.createElement("option");h.value=" ",h.setAttribute("hidden",!0),h.setAttribute("selected",!0),i.prepend(h),o=()=>{h.remove(),i.removeEventListener("input",o),o=null},i.addEventListener("input",o)}const a=h=>{const u=h?"value":"textContent",{options:d,multiple:p}=i;return p?Array.prototype.filter.call(d,m=>m.selected).map(m=>m[u]):d.selectedIndex===-1?null:d[d.selectedIndex][u]};let l=a(!1);const c=h=>{const u=h.target.options;return Array.prototype.map.call(u,d=>({displayValue:d.textContent,exportValue:d.value}))};return this.enableScripting&&this.hasJSActions?(i.addEventListener("updatefromsandbox",h=>{const u={value(d){o==null||o();const p=d.detail.value,m=new Set(Array.isArray(p)?p:[p]);for(const g of i.options)g.selected=m.has(g.value);e.setValue(t,{value:a(!0)}),l=a(!1)},multipleSelection(d){i.multiple=!0},remove(d){const p=i.options,m=d.detail.remove;p[m].selected=!1,i.remove(m),p.length>0&&Array.prototype.findIndex.call(p,v=>v.selected)===-1&&(p[0].selected=!0),e.setValue(t,{value:a(!0),items:c(d)}),l=a(!1)},clear(d){for(;i.length!==0;)i.remove(0);e.setValue(t,{value:null,items:[]}),l=a(!1)},insert(d){const{index:p,displayValue:m,exportValue:g}=d.detail.insert,v=i.children[p],y=document.createElement("option");y.textContent=m,y.value=g,v?v.before(y):i.append(y),e.setValue(t,{value:a(!0),items:c(d)}),l=a(!1)},items(d){const{items:p}=d.detail;for(;i.length!==0;)i.remove(0);for(const m of p){const{displayValue:g,exportValue:v}=m,y=document.createElement("option");y.textContent=g,y.value=v,i.append(y)}i.options.length>0&&(i.options[0].selected=!0),e.setValue(t,{value:a(!0),items:c(d)}),l=a(!1)},indices(d){const p=new Set(d.detail.indices);for(const m of d.target.options)m.selected=p.has(m.index);e.setValue(t,{value:a(!0)}),l=a(!1)},editable(d){d.target.disabled=!d.detail.editable}};this._dispatchEventFromSandbox(u,h)}),i.addEventListener("input",h=>{var p;const u=a(!0),d=a(!1);e.setValue(t,{value:u}),h.preventDefault(),(p=this.linkService.eventBus)==null||p.dispatch("dispatcheventinsandbox",{source:this,detail:{id:t,name:"Keystroke",value:l,change:d,changeEx:u,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(i,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],h=>h.target.value)):i.addEventListener("input",function(h){e.setValue(t,{value:a(!0)})}),this.data.combo&&this._setTextStyle(i),this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class lw extends Yt{constructor(e){const{data:t,elements:s}=e;super(e,{isRenderable:Yt._hasPopupData(t)}),this.elements=s,this.popup=null}render(){this.container.classList.add("popupAnnotation");const e=this.popup=new I6({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open}),t=[];for(const s of this.elements)s.popup=e,s.container.ariaHasPopup="dialog",t.push(s.data.id),s.addHighlightArea();return this.container.setAttribute("aria-controls",t.map(s=>`${rA}${s}`).join(",")),this.container}}var Kh,By,qy,Zh,ql,Bt,so,Xh,Xf,Yf,Yh,io,Fi,ro,Jf,oo,Qf,Ul,Vl,pt,fg,cw,GR,KR,ZR,XR,pg,mg,hw;class I6{constructor({container:e,color:t,elements:s,titleObj:i,modificationDate:r,contentsObj:o,richText:a,parent:l,rect:c,parentRect:h,open:u}){R(this,pt);R(this,Kh,T(this,pt,ZR).bind(this));R(this,By,T(this,pt,hw).bind(this));R(this,qy,T(this,pt,mg).bind(this));R(this,Zh,T(this,pt,pg).bind(this));R(this,ql,null);R(this,Bt,null);R(this,so,null);R(this,Xh,null);R(this,Xf,null);R(this,Yf,null);R(this,Yh,null);R(this,io,!1);R(this,Fi,null);R(this,ro,null);R(this,Jf,null);R(this,oo,null);R(this,Qf,null);R(this,Ul,null);R(this,Vl,!1);var d;C(this,Bt,e),C(this,Qf,i),C(this,so,o),C(this,oo,a),C(this,Yf,l),C(this,ql,t),C(this,Jf,c),C(this,Yh,h),C(this,Xf,s),C(this,Xh,lA.toDateObject(r)),this.trigger=s.flatMap(p=>p.getElementsToTriggerPopup());for(const p of this.trigger)p.addEventListener("click",f(this,Zh)),p.addEventListener("mouseenter",f(this,qy)),p.addEventListener("mouseleave",f(this,By)),p.classList.add("popupTriggerArea");for(const p of s)(d=p.container)==null||d.addEventListener("keydown",f(this,Kh));f(this,Bt).hidden=!0,u&&T(this,pt,pg).call(this)}render(){if(f(this,Fi))return;const e=C(this,Fi,document.createElement("div"));if(e.className="popup",f(this,ql)){const r=e.style.outlineColor=_e.makeHexColor(...f(this,ql));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?e.style.backgroundColor=`color-mix(in srgb, ${r} 30%, white)`:e.style.backgroundColor=_e.makeHexColor(...f(this,ql).map(a=>Math.floor(.7*(255-a)+a)))}const t=document.createElement("span");t.className="header";const s=document.createElement("h1");if(t.append(s),{dir:s.dir,str:s.textContent}=f(this,Qf),e.append(t),f(this,Xh)){const r=document.createElement("span");r.classList.add("popupDate"),r.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),r.setAttribute("data-l10n-args",JSON.stringify({dateObj:f(this,Xh).valueOf()})),t.append(r)}const i=f(this,pt,fg);if(i)BR.render({xfaHtml:i,intent:"richText",div:e}),e.lastChild.classList.add("richText","popupContent");else{const r=this._formatContents(f(this,so));e.append(r)}f(this,Bt).append(e)}_formatContents({str:e,dir:t}){const s=document.createElement("p");s.classList.add("popupContent"),s.dir=t;const i=e.split(/(?:\r\n?|\n)/);for(let r=0,o=i.length;r{o.key==="Enter"&&(r?o.metaKey:o.ctrlKey)&&T(this,op,uw).call(this)}),!s.popupRef&&this.hasPopupData?this._createPopup():i.classList.add("popupTriggerArea"),t.append(i),t}getElementsToTriggerPopup(){return f(this,rp)}addHighlightArea(){this.container.classList.add("highlightArea")}}rp=new WeakMap,op=new WeakSet,uw=function(){var t;(t=this.downloadManager)==null||t.openOrDownloadData(this.content,this.filename)};var ap,Wl,Gl,lp,Cc,tM,dw,xC;let q6=(xC=class{constructor({div:e,accessibilityManager:t,annotationCanvasMap:s,annotationEditorUIManager:i,page:r,viewport:o,structTreeLayer:a}){R(this,Cc);R(this,ap,null);R(this,Wl,null);R(this,Gl,new Map);R(this,lp,null);this.div=e,C(this,ap,t),C(this,Wl,s),C(this,lp,a||null),this.page=r,this.viewport=o,this.zIndex=0,this._annotationEditorUIManager=i}hasEditableAnnotations(){return f(this,Gl).size>0}async render(e){var o;const{annotations:t}=e,s=this.div;yc(s,this.viewport);const i=new Map,r={data:null,layer:s,linkService:e.linkService,downloadManager:e.downloadManager,imageResourcesPath:e.imageResourcesPath||"",renderForms:e.renderForms!==!1,svgFactory:new mA,annotationStorage:e.annotationStorage||new hA,enableScripting:e.enableScripting===!0,hasJSActions:e.hasJSActions,fieldObjects:e.fieldObjects,parent:this,elements:null};for(const a of t){if(a.noHTML)continue;const l=a.annotationType===hn.POPUP;if(l){const u=i.get(a.id);if(!u)continue;r.elements=u}else{const{width:u,height:d}=ko(a.rect);if(u<=0||d<=0)continue}r.data=a;const c=E6.create(r);if(!c.isRenderable)continue;if(!l&&a.popupRef){const u=i.get(a.popupRef);u?u.push(c):i.set(a.popupRef,[c])}const h=c.render();a.hidden&&(h.style.visibility="hidden"),await T(this,Cc,tM).call(this,h,a.id),c._isEditable&&(f(this,Gl).set(c.data.id,c),(o=this._annotationEditorUIManager)==null||o.renderAnnotationElement(c))}T(this,Cc,dw).call(this)}update({viewport:e}){const t=this.div;this.viewport=e,yc(t,{rotation:e.rotation}),T(this,Cc,dw).call(this),t.hidden=!1}getEditableAnnotations(){return Array.from(f(this,Gl).values())}getEditableAnnotation(e){return f(this,Gl).get(e)}},ap=new WeakMap,Wl=new WeakMap,Gl=new WeakMap,lp=new WeakMap,Cc=new WeakSet,tM=async function(e,t){var o,a;const s=e.firstChild||e,i=s.id=`${rA}${t}`,r=await((o=f(this,lp))==null?void 0:o.getAriaAttributes(i));if(r)for(const[l,c]of r)s.setAttribute(l,c);this.div.append(e),(a=f(this,ap))==null||a.moveElementInDOM(this.div,e,s,!1)},dw=function(){if(!f(this,Wl))return;const e=this.div;for(const[t,s]of f(this,Wl)){const i=e.querySelector(`[data-annotation-id="${t}"]`);if(!i)continue;s.className="annotationContent";const{firstChild:r}=i;r?r.nodeName==="CANVAS"?r.replaceWith(s):r.classList.contains("annotationContent")?r.after(s):r.before(s):i.append(s)}f(this,Wl).clear()},xC);const _m=/\r\n?|\n/g;var ji,Vs,cp,Kl,Ws,on,nM,sM,iM,gg,Co,yg,vg,rM,pw,oM;const St=class St extends dt{constructor(t){super({...t,name:"freeTextEditor"});R(this,on);R(this,ji);R(this,Vs,"");R(this,cp,`${this.id}-editor`);R(this,Kl,null);R(this,Ws);C(this,ji,t.color||St._defaultColor||dt._defaultLineColor),C(this,Ws,t.fontSize||St._defaultFontSize)}static get _keyboardManager(){const t=St.prototype,s=o=>o.isEmpty(),i=vc.TRANSLATE_SMALL,r=vc.TRANSLATE_BIG;return Ze(this,"_keyboardManager",new Up([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],t.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],t.commitOrRemove],[["ArrowLeft","mac+ArrowLeft"],t._translateEmpty,{args:[-i,0],checker:s}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t._translateEmpty,{args:[-r,0],checker:s}],[["ArrowRight","mac+ArrowRight"],t._translateEmpty,{args:[i,0],checker:s}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t._translateEmpty,{args:[r,0],checker:s}],[["ArrowUp","mac+ArrowUp"],t._translateEmpty,{args:[0,-i],checker:s}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t._translateEmpty,{args:[0,-r],checker:s}],[["ArrowDown","mac+ArrowDown"],t._translateEmpty,{args:[0,i],checker:s}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t._translateEmpty,{args:[0,r],checker:s}]]))}static initialize(t,s){dt.initialize(t,s);const i=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(i.getPropertyValue("--freetext-padding"))}static updateDefaultParams(t,s){switch(t){case Pe.FREETEXT_SIZE:St._defaultFontSize=s;break;case Pe.FREETEXT_COLOR:St._defaultColor=s;break}}updateParams(t,s){switch(t){case Pe.FREETEXT_SIZE:T(this,on,nM).call(this,s);break;case Pe.FREETEXT_COLOR:T(this,on,sM).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Pe.FREETEXT_SIZE,St._defaultFontSize],[Pe.FREETEXT_COLOR,St._defaultColor||dt._defaultLineColor]]}get propertiesToUpdate(){return[[Pe.FREETEXT_SIZE,f(this,Ws)],[Pe.FREETEXT_COLOR,f(this,ji)]]}_translateEmpty(t,s){this._uiManager.translateSelectedEditors(t,s,!0)}getInitialTranslation(){const t=this.parentScale;return[-St._internalPadding*t,-(St._internalPadding+f(this,Ws))*t]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){if(this.isInEditMode())return;this.parent.setEditingState(!1),this.parent.updateToolbar(De.FREETEXT),super.enableEditMode(),this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),C(this,Kl,new AbortController);const t=this._uiManager.combinedSignal(f(this,Kl));this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:t}),this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:t}),this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:t}),this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:t}),this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:t})}disableEditMode(){var t;this.isInEditMode()&&(this.parent.setEditingState(!0),super.disableEditMode(),this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",f(this,cp)),this._isDraggable=!0,(t=f(this,Kl))==null||t.abort(),C(this,Kl,null),this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"))}focusin(t){this._focusEventsAllowed&&(super.focusin(t),t.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(){var t;this.width||(this.enableEditMode(),this.editorDiv.focus(),(t=this._initialOptions)!=null&&t.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||this.editorDiv.innerText.trim()===""}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing")),super.remove()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();const t=f(this,Vs),s=C(this,Vs,T(this,on,iM).call(this).trimEnd());if(t===s)return;const i=r=>{if(C(this,Vs,r),!r){this.remove();return}T(this,on,vg).call(this),this._uiManager.rebuild(this),T(this,on,gg).call(this)};this.addCommands({cmd:()=>{i(s)},undo:()=>{i(t)},mustExec:!1}),T(this,on,gg).call(this)}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}dblclick(t){this.enterInEditMode()}keydown(t){t.target===this.div&&t.key==="Enter"&&(this.enterInEditMode(),t.preventDefault())}editorDivKeydown(t){St._keyboardManager.exec(this,t)}editorDivFocus(t){this.isEditing=!0}editorDivBlur(t){this.isEditing=!1}editorDivInput(t){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}render(){if(this.div)return this.div;let t,s;this.width&&(t=this.x,s=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",f(this,cp)),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2"),this.editorDiv.setAttribute("data-l10n-attrs","default-content"),this.enableEditing(),this.editorDiv.contentEditable=!0;const{style:i}=this.editorDiv;if(i.fontSize=`calc(${f(this,Ws)}px * var(--scale-factor))`,i.color=f(this,ji),this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),sy(this,this.div,["dblclick","keydown"]),this.width){const[r,o]=this.parentDimensions;if(this.annotationElementId){const{position:a}=this._initialData;let[l,c]=this.getInitialTranslation();[l,c]=this.pageTranslationToScreen(l,c);const[h,u]=this.pageDimensions,[d,p]=this.pageTranslation;let m,g;switch(this.rotation){case 0:m=t+(a[0]-d)/h,g=s+this.height-(a[1]-p)/u;break;case 90:m=t+(a[0]-d)/h,g=s-(a[1]-p)/u,[l,c]=[c,-l];break;case 180:m=t-this.width+(a[0]-d)/h,g=s-(a[1]-p)/u,[l,c]=[-l,-c];break;case 270:m=t+(a[0]-d-this.height*u)/h,g=s+(a[1]-p-this.width*h)/u,[l,c]=[-c,l];break}this.setAt(m*r,g*o,l,c)}else this.setAt(t*r,s*o,this.width*r,this.height*o);T(this,on,vg).call(this),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}editorDivPaste(t){var m,g,v;const s=t.clipboardData||window.clipboardData,{types:i}=s;if(i.length===1&&i[0]==="text/plain")return;t.preventDefault();const r=T(m=St,Co,pw).call(m,s.getData("text")||"").replaceAll(_m,` +`);if(!r)return;const o=window.getSelection();if(!o.rangeCount)return;this.editorDiv.normalize(),o.deleteFromDocument();const a=o.getRangeAt(0);if(!r.includes(` +`)){a.insertNode(document.createTextNode(r)),this.editorDiv.normalize(),o.collapseToStart();return}const{startContainer:l,startOffset:c}=a,h=[],u=[];if(l.nodeType===Node.TEXT_NODE){const y=l.parentElement;if(u.push(l.nodeValue.slice(c).replaceAll(_m,"")),y!==this.editorDiv){let w=h;for(const _ of this.editorDiv.childNodes){if(_===y){w=u;continue}w.push(T(g=St,Co,yg).call(g,_))}}h.push(l.nodeValue.slice(0,c).replaceAll(_m,""))}else if(l===this.editorDiv){let y=h,w=0;for(const _ of this.editorDiv.childNodes)w++===c&&(y=u),y.push(T(v=St,Co,yg).call(v,_))}C(this,Vs,`${h.join(` +`)}${r}${u.join(` +`)}`),T(this,on,vg).call(this);const d=new Range;let p=h.reduce((y,w)=>y+w.length,0);for(const{firstChild:y}of this.editorDiv.childNodes)if(y.nodeType===Node.TEXT_NODE){const w=y.nodeValue.length;if(p<=w){d.setStart(y,p),d.setEnd(y,p);break}p-=w}o.removeAllRanges(),o.addRange(d)}get contentDiv(){return this.editorDiv}static async deserialize(t,s,i){var a;let r=null;if(t instanceof YR){const{data:{defaultAppearanceData:{fontSize:l,fontColor:c},rect:h,rotation:u,id:d,popupRef:p},textContent:m,textPosition:g,parent:{page:{pageNumber:v}}}=t;if(!m||m.length===0)return null;r=t={annotationType:De.FREETEXT,color:Array.from(c),fontSize:l,value:m.join(` +`),position:g,pageIndex:v-1,rect:h.slice(0),rotation:u,id:d,deleted:!1,popupRef:p}}const o=await super.deserialize(t,s,i);return C(o,Ws,t.fontSize),C(o,ji,_e.makeHexColor(...t.color)),C(o,Vs,T(a=St,Co,pw).call(a,t.value)),o.annotationElementId=t.id||null,o._initialData=r,o}serialize(t=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const s=St._internalPadding*this.parentScale,i=this.getRect(s,s),r=dt._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:f(this,ji)),o={annotationType:De.FREETEXT,color:r,fontSize:f(this,Ws),value:T(this,on,rM).call(this),pageIndex:this.pageIndex,rect:i,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return t?o:this.annotationElementId&&!T(this,on,oM).call(this,o)?null:(o.id=this.annotationElementId,o)}renderAnnotationElement(t){const s=super.renderAnnotationElement(t);if(this.deleted)return s;const{style:i}=s;i.fontSize=`calc(${f(this,Ws)}px * var(--scale-factor))`,i.color=f(this,ji),s.replaceChildren();for(const o of f(this,Vs).split(` +`)){const a=document.createElement("div");a.append(o?document.createTextNode(o):document.createElement("br")),s.append(a)}const r=St._internalPadding*this.parentScale;return t.updateEdited({rect:this.getRect(r,r),popupContent:f(this,Vs)}),s}resetAnnotationElement(t){super.resetAnnotationElement(t),t.resetEdited()}};ji=new WeakMap,Vs=new WeakMap,cp=new WeakMap,Kl=new WeakMap,Ws=new WeakMap,on=new WeakSet,nM=function(t){const s=r=>{this.editorDiv.style.fontSize=`calc(${r}px * var(--scale-factor))`,this.translate(0,-(r-f(this,Ws))*this.parentScale),C(this,Ws,r),T(this,on,gg).call(this)},i=f(this,Ws);this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})},sM=function(t){const s=r=>{C(this,ji,this.editorDiv.style.color=r)},i=f(this,ji);this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})},iM=function(){var i;const t=[];this.editorDiv.normalize();let s=null;for(const r of this.editorDiv.childNodes)(s==null?void 0:s.nodeType)===Node.TEXT_NODE&&r.nodeName==="BR"||(t.push(T(i=St,Co,yg).call(i,r)),s=r);return t.join(` +`)},gg=function(){const[t,s]=this.parentDimensions;let i;if(this.isAttachedToDOM)i=this.div.getBoundingClientRect();else{const{currentLayer:r,div:o}=this,a=o.style.display,l=o.classList.contains("hidden");o.classList.remove("hidden"),o.style.display="hidden",r.div.append(this.div),i=o.getBoundingClientRect(),o.remove(),o.style.display=a,o.classList.toggle("hidden",l)}this.rotation%180===this.parentRotation%180?(this.width=i.width/t,this.height=i.height/s):(this.width=i.height/t,this.height=i.width/s),this.fixAndSetPosition()},Co=new WeakSet,yg=function(t){return(t.nodeType===Node.TEXT_NODE?t.nodeValue:t.innerText).replaceAll(_m,"")},vg=function(){if(this.editorDiv.replaceChildren(),!!f(this,Vs))for(const t of f(this,Vs).split(` +`)){const s=document.createElement("div");s.append(t?document.createTextNode(t):document.createElement("br")),this.editorDiv.append(s)}},rM=function(){return f(this,Vs).replaceAll(" "," ")},pw=function(t){return t.replaceAll(" "," ")},oM=function(t){const{value:s,fontSize:i,color:r,pageIndex:o}=this._initialData;return this._hasBeenMoved||t.value!==s||t.fontSize!==i||t.color.some((a,l)=>a!==r[l])||t.pageIndex!==o},R(St,Co),re(St,"_freeTextDefaultContent",""),re(St,"_internalPadding",0),re(St,"_defaultColor",null),re(St,"_defaultFontSize",10),re(St,"_type","freetext"),re(St,"_editorType",De.FREETEXT);let fw=St;class aM{toSVGPath(){$t("Abstract method `toSVGPath` must be implemented.")}get box(){$t("Abstract getter `box` must be implemented.")}serialize(e,t){$t("Abstract method `serialize` must be implemented.")}get classNamesForDrawing(){$t("Abstract getter `classNamesForDrawing` must be implemented.")}get classNamesForOutlining(){$t("Abstract getter `classNamesForOutlining` must be implemented.")}get mustRemoveSelfIntersections(){return!1}}var Gs,zi,Jh,Qh,br,qe,Zl,Xl,hp,up,eu,tu,la,dp,Uy,Vy,wn,vd,lM,cM,hM,uM,dM,fM;const Wr=class Wr{constructor({x:e,y:t},s,i,r,o,a=0){R(this,wn);R(this,Gs);R(this,zi,[]);R(this,Jh);R(this,Qh);R(this,br,[]);R(this,qe,new Float64Array(18));R(this,Zl);R(this,Xl);R(this,hp);R(this,up);R(this,eu);R(this,tu);R(this,la,[]);C(this,Gs,s),C(this,tu,r*i),C(this,Qh,o),f(this,qe).set([NaN,NaN,NaN,NaN,e,t],6),C(this,Jh,a),C(this,up,f(Wr,dp)*i),C(this,hp,f(Wr,Vy)*i),C(this,eu,i),f(this,la).push(e,t)}isEmpty(){return isNaN(f(this,qe)[8])}add({x:e,y:t}){var F;C(this,Zl,e),C(this,Xl,t);const[s,i,r,o]=f(this,Gs);let[a,l,c,h]=f(this,qe).subarray(8,12);const u=e-c,d=t-h,p=Math.hypot(u,d);if(p=6;i-=6)isNaN(t[i])?s.push(`L${t[i+4]} ${t[i+5]}`):s.push(`C${t[i]} ${t[i+1]} ${t[i+2]} ${t[i+3]} ${t[i+4]} ${t[i+5]}`);return T(this,wn,cM).call(this,s),s.join(" ")}newFreeDrawOutline(e,t,s,i,r,o){return new pM(e,t,s,i,r,o)}getOutlines(){var u;const e=f(this,br),t=f(this,zi),s=f(this,qe),[i,r,o,a]=f(this,Gs),l=new Float64Array((((u=f(this,la))==null?void 0:u.length)??0)+2);for(let d=0,p=l.length-2;d=6;d-=6)for(let p=0;p<6;p+=2){if(isNaN(t[d+p])){c[h]=c[h+1]=NaN,h+=2;continue}c[h]=t[d+p],c[h+1]=t[d+p+1],h+=2}return T(this,wn,dM).call(this,c,h),this.newFreeDrawOutline(c,l,f(this,Gs),f(this,eu),f(this,Jh),f(this,Qh))}};Gs=new WeakMap,zi=new WeakMap,Jh=new WeakMap,Qh=new WeakMap,br=new WeakMap,qe=new WeakMap,Zl=new WeakMap,Xl=new WeakMap,hp=new WeakMap,up=new WeakMap,eu=new WeakMap,tu=new WeakMap,la=new WeakMap,dp=new WeakMap,Uy=new WeakMap,Vy=new WeakMap,wn=new WeakSet,vd=function(){const e=f(this,qe).subarray(4,6),t=f(this,qe).subarray(16,18),[s,i,r,o]=f(this,Gs);return[(f(this,Zl)+(e[0]-t[0])/2-s)/r,(f(this,Xl)+(e[1]-t[1])/2-i)/o,(f(this,Zl)+(t[0]-e[0])/2-s)/r,(f(this,Xl)+(t[1]-e[1])/2-i)/o]},lM=function(){const[e,t,s,i]=f(this,Gs),[r,o,a,l]=T(this,wn,vd).call(this);return`M${(f(this,qe)[2]-e)/s} ${(f(this,qe)[3]-t)/i} L${(f(this,qe)[4]-e)/s} ${(f(this,qe)[5]-t)/i} L${r} ${o} L${a} ${l} L${(f(this,qe)[16]-e)/s} ${(f(this,qe)[17]-t)/i} L${(f(this,qe)[14]-e)/s} ${(f(this,qe)[15]-t)/i} Z`},cM=function(e){const t=f(this,zi);e.push(`L${t[4]} ${t[5]} Z`)},hM=function(e){const[t,s,i,r]=f(this,Gs),o=f(this,qe).subarray(4,6),a=f(this,qe).subarray(16,18),[l,c,h,u]=T(this,wn,vd).call(this);e.push(`L${(o[0]-t)/i} ${(o[1]-s)/r} L${l} ${c} L${h} ${u} L${(a[0]-t)/i} ${(a[1]-s)/r}`)},uM=function(e){const t=f(this,qe),[s,i,r,o]=f(this,Gs),[a,l,c,h]=T(this,wn,vd).call(this),u=new Float64Array(36);return u.set([NaN,NaN,NaN,NaN,(t[2]-s)/r,(t[3]-i)/o,NaN,NaN,NaN,NaN,(t[4]-s)/r,(t[5]-i)/o,NaN,NaN,NaN,NaN,a,l,NaN,NaN,NaN,NaN,c,h,NaN,NaN,NaN,NaN,(t[16]-s)/r,(t[17]-i)/o,NaN,NaN,NaN,NaN,(t[14]-s)/r,(t[15]-i)/o],0),this.newFreeDrawOutline(u,e,f(this,Gs),f(this,eu),f(this,Jh),f(this,Qh))},dM=function(e,t){const s=f(this,zi);return e.set([NaN,NaN,NaN,NaN,s[4],s[5]],t),t+=6},fM=function(e,t){const s=f(this,qe).subarray(4,6),i=f(this,qe).subarray(16,18),[r,o,a,l]=f(this,Gs),[c,h,u,d]=T(this,wn,vd).call(this);return e.set([NaN,NaN,NaN,NaN,(s[0]-r)/a,(s[1]-o)/l,NaN,NaN,NaN,NaN,c,h,NaN,NaN,NaN,NaN,u,d,NaN,NaN,NaN,NaN,(i[0]-r)/a,(i[1]-o)/l],t),t+=24},R(Wr,dp,8),R(Wr,Uy,2),R(Wr,Vy,f(Wr,dp)+f(Wr,Uy));let ry=Wr;var nu,Yl,ao,fp,Ks,pp,Gt,Fs,bd,wd,mM;class pM extends aM{constructor(t,s,i,r,o,a){super();R(this,Fs);R(this,nu);R(this,Yl,null);R(this,ao);R(this,fp);R(this,Ks);R(this,pp);R(this,Gt);C(this,Gt,t),C(this,Ks,s),C(this,nu,i),C(this,pp,r),C(this,ao,o),C(this,fp,a),T(this,Fs,mM).call(this,a);const{x:l,y:c,width:h,height:u}=f(this,Yl);for(let d=0,p=t.length;dt[0]-s[0]||t[1]-s[1]||t[2]-s[2]);const e=[];for(const t of f(this,ca))t[3]?(e.push(...T(this,ks,mw).call(this,t)),T(this,ks,yM).call(this,t)):(T(this,ks,vM).call(this,t),e.push(...T(this,ks,mw).call(this,t)));return T(this,ks,gM).call(this,e)}}mp=new WeakMap,ca=new WeakMap,Hi=new WeakMap,ks=new WeakSet,gM=function(e){const t=[],s=new Set;for(const o of e){const[a,l,c]=o;t.push([a,l,o],[a,c,o])}t.sort((o,a)=>o[1]-a[1]||o[0]-a[0]);for(let o=0,a=t.length;o0;){const o=s.values().next().value;let[a,l,c,h,u]=o;s.delete(o);let d=a,p=l;for(r=[a,c],i.push(r);;){let m;if(s.has(h))m=h;else if(s.has(u))m=u;else break;s.delete(m),[a,l,c,h,u]=m,d!==a&&(r.push(d,p,a,p===l?l:c),d=a),p=p===l?c:l}r.push(d,p)}return new U6(i,f(this,mp))},bg=function(e){const t=f(this,Hi);let s=0,i=t.length-1;for(;s<=i;){const r=s+i>>1,o=t[r][0];if(o===e)return r;o=0;i--){const[r,o]=f(this,Hi)[i];if(r!==e)break;if(r===e&&o===t){f(this,Hi).splice(i,1);return}}},mw=function(e){const[t,s,i]=e,r=[[t,s,i]],o=T(this,ks,bg).call(this,i);for(let a=0;a=l){if(p>c)r[h][1]=c;else{if(u===1)return[];r.splice(h,1),h--,u--}continue}r[h][2]=l,p>c&&r.push([t,c,p])}}}return r};var gp,su;class U6 extends aM{constructor(t,s){super();R(this,gp);R(this,su);C(this,su,t),C(this,gp,s)}toSVGPath(){const t=[];for(const s of f(this,su)){let[i,r]=s;t.push(`M${i} ${r}`);for(let o=2;o-1?(C(this,Ps,!0),T(this,Oe,wg).call(this,t),T(this,Oe,Qa).call(this)):f(this,lo)&&(C(this,au,t.anchorNode),C(this,_p,t.anchorOffset),C(this,Sp,t.focusNode),C(this,Ap,t.focusOffset),T(this,Oe,ww).call(this),T(this,Oe,Qa).call(this),this.rotate(this.rotation))}static get _keyboardManager(){const t=rt.prototype;return Ze(this,"_keyboardManager",new Up([[["ArrowLeft","mac+ArrowLeft"],t._moveCaret,{args:[0]}],[["ArrowRight","mac+ArrowRight"],t._moveCaret,{args:[1]}],[["ArrowUp","mac+ArrowUp"],t._moveCaret,{args:[2]}],[["ArrowDown","mac+ArrowDown"],t._moveCaret,{args:[3]}]]))}get telemetryInitialData(){return{action:"added",type:f(this,Ps)?"free_highlight":"highlight",color:this._uiManager.highlightColorNames.get(this.color),thickness:f(this,ci),methodOfCreation:f(this,kp)}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.highlightColorNames.get(this.color)}}static computeTelemetryFinalData(t){return{numberOfColors:t.get("color").size}}static initialize(t,s){var i;dt.initialize(t,s),rt._defaultColor||(rt._defaultColor=((i=s.highlightColors)==null?void 0:i.values().next().value)||"#fff066")}static updateDefaultParams(t,s){switch(t){case Pe.HIGHLIGHT_DEFAULT_COLOR:rt._defaultColor=s;break;case Pe.HIGHLIGHT_THICKNESS:rt._defaultThickness=s;break}}translateInPage(t,s){}get toolbarPosition(){return f(this,cu)}updateParams(t,s){switch(t){case Pe.HIGHLIGHT_COLOR:T(this,Oe,wM).call(this,s);break;case Pe.HIGHLIGHT_THICKNESS:T(this,Oe,_M).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Pe.HIGHLIGHT_DEFAULT_COLOR,rt._defaultColor],[Pe.HIGHLIGHT_THICKNESS,rt._defaultThickness]]}get propertiesToUpdate(){return[[Pe.HIGHLIGHT_COLOR,this.color||rt._defaultColor],[Pe.HIGHLIGHT_THICKNESS,f(this,ci)||rt._defaultThickness],[Pe.HIGHLIGHT_FREE,f(this,Ps)]]}async addEditToolbar(){const t=await super.addEditToolbar();return t?(this._uiManager.highlightColors&&(C(this,lu,new oy({editor:this})),t.addColorPicker(f(this,lu))),t):null}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(T(this,Oe,_d).call(this))}getBaseTranslation(){return[0,0]}getRect(t,s){return super.getRect(t,s,T(this,Oe,_d).call(this))}onceAdded(){this.annotationElementId||this.parent.addUndoableEditor(this),this.div.focus()}remove(){T(this,Oe,_w).call(this),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(T(this,Oe,Qa).call(this),this.isAttachedToDOM||this.parent.add(this)))}setParent(t){var i;let s=!1;this.parent&&!t?T(this,Oe,_w).call(this):t&&(T(this,Oe,Qa).call(this,t),s=!this.parent&&((i=this.div)==null?void 0:i.classList.contains("selectedEditor"))),super.setParent(t),this.show(this._isVisible),s&&this.select()}rotate(t){var r,o,a;const{drawLayer:s}=this.parent;let i;f(this,Ps)?(t=(t-this.rotation+360)%360,i=T(r=rt,mi,Zc).call(r,f(this,Ui).box,t)):i=T(o=rt,mi,Zc).call(o,this,t),s.rotate(f(this,rs),t),s.rotate(f(this,fn),t),s.updateBox(f(this,rs),i),s.updateBox(f(this,fn),T(a=rt,mi,Zc).call(a,f(this,li).box,t))}render(){if(this.div)return this.div;const t=super.render();f(this,hu)&&(t.setAttribute("aria-label",f(this,hu)),t.setAttribute("role","mark")),f(this,Ps)?t.classList.add("free"):this.div.addEventListener("keydown",T(this,Oe,AM).bind(this),{signal:this._uiManager._signal});const s=C(this,ec,document.createElement("div"));t.append(s),s.setAttribute("aria-hidden","true"),s.className="internal",s.style.clipPath=f(this,Ql);const[i,r]=this.parentDimensions;return this.setDims(this.width*i,this.height*r),sy(this,f(this,ec),["pointerover","pointerleave"]),this.enableEditing(),t}pointerover(){this.isSelected||this.parent.drawLayer.addClass(f(this,fn),"hovered")}pointerleave(){this.isSelected||this.parent.drawLayer.removeClass(f(this,fn),"hovered")}_moveCaret(t){switch(this.parent.unselect(this),t){case 0:case 2:T(this,Oe,_g).call(this,!0);break;case 1:case 3:T(this,Oe,_g).call(this,!1);break}}select(){var t,s;super.select(),f(this,fn)&&((t=this.parent)==null||t.drawLayer.removeClass(f(this,fn),"hovered"),(s=this.parent)==null||s.drawLayer.addClass(f(this,fn),"selected"))}unselect(){var t;super.unselect(),f(this,fn)&&((t=this.parent)==null||t.drawLayer.removeClass(f(this,fn),"selected"),f(this,Ps)||T(this,Oe,_g).call(this,!1))}get _mustFixPosition(){return!f(this,Ps)}show(t=this._isVisible){super.show(t),this.parent&&(this.parent.drawLayer.show(f(this,rs),t),this.parent.drawLayer.show(f(this,fn),t))}static startHighlighting(t,s,{target:i,x:r,y:o}){const{x:a,y:l,width:c,height:h}=i.getBoundingClientRect(),u=new AbortController,d=t.combinedSignal(u),p=g=>{g.preventDefault(),g.stopPropagation()},m=g=>{u.abort(),T(this,mi,CM).call(this,t,g)};window.addEventListener("blur",m,{signal:d}),window.addEventListener("pointerup",m,{signal:d}),window.addEventListener("pointerdown",p,{capture:!0,passive:!1,signal:d}),window.addEventListener("contextmenu",wi,{signal:d}),i.addEventListener("pointermove",T(this,mi,EM).bind(this,t),{signal:d}),this._freeHighlight=new gw({x:r,y:o},[a,l,c,h],t.scale,this._defaultThickness/2,s,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=t.drawLayer.draw(this._freeHighlight,this._defaultColor,this._defaultOpacity,!0)}static async deserialize(t,s,i){var g,v,y,w;let r=null;if(t instanceof QR){const{data:{quadPoints:_,rect:k,rotation:A,id:$,color:E,opacity:O,popupRef:F},parent:{page:{pageNumber:B}}}=t;r=t={annotationType:De.HIGHLIGHT,color:Array.from(E),opacity:O,quadPoints:_,boxes:null,pageIndex:B-1,rect:k.slice(0),rotation:A,id:$,deleted:!1,popupRef:F}}else if(t instanceof gA){const{data:{inkLists:_,rect:k,rotation:A,id:$,color:E,borderStyle:{rawWidth:O},popupRef:F},parent:{page:{pageNumber:B}}}=t;r=t={annotationType:De.HIGHLIGHT,color:Array.from(E),thickness:O,inkLists:_,boxes:null,pageIndex:B-1,rect:k.slice(0),rotation:A,id:$,deleted:!1,popupRef:F}}const{color:o,quadPoints:a,inkLists:l,opacity:c}=t,h=await super.deserialize(t,s,i);h.color=_e.makeHexColor(...o),C(h,co,c||1),l&&C(h,ci,t.thickness),h.annotationElementId=t.id||null,h._initialData=r;const[u,d]=h.pageDimensions,[p,m]=h.pageTranslation;if(a){const _=C(h,lo,[]);for(let k=0;k=0)C(this,rs,s),C(this,Ql,i),this.parent.drawLayer.finalizeLine(s,t),C(this,fn,this.parent.drawLayer.drawOutline(f(this,li)));else if(this.parent){const p=this.parent.viewport.rotation;this.parent.drawLayer.updateLine(f(this,rs),t),this.parent.drawLayer.updateBox(f(this,rs),T(u=rt,mi,Zc).call(u,f(this,Ui).box,(p-this.rotation+360)%360)),this.parent.drawLayer.updateLine(f(this,fn),f(this,li)),this.parent.drawLayer.updateBox(f(this,fn),T(d=rt,mi,Zc).call(d,f(this,li).box,p))}const{x:o,y:a,width:l,height:c}=t.box;switch(this.rotation){case 0:this.x=o,this.y=a,this.width=l,this.height=c;break;case 90:{const[p,m]=this.parentDimensions;this.x=a,this.y=1-o,this.width=l*m/p,this.height=c*p/m;break}case 180:this.x=1-o,this.y=1-a,this.width=l,this.height=c;break;case 270:{const[p,m]=this.parentDimensions;this.x=1-a,this.y=o,this.width=l*m/p,this.height=c*p/m;break}}const{lastPoint:h}=f(this,li).box;C(this,cu,[(h[0]-o)/l,(h[1]-a)/c])},wM=function(t){const s=(o,a)=>{var l,c,h;this.color=o,(l=this.parent)==null||l.drawLayer.changeColor(f(this,rs),o),(c=f(this,lu))==null||c.updateColor(o),C(this,co,a),(h=this.parent)==null||h.drawLayer.changeOpacity(f(this,rs),a)},i=this.color,r=f(this,co);this.addCommands({cmd:s.bind(this,t,rt._defaultOpacity),undo:s.bind(this,i,r),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.highlightColorNames.get(t)},!0)},_M=function(t){const s=f(this,ci),i=r=>{C(this,ci,r),T(this,Oe,SM).call(this,r)};this.addCommands({cmd:i.bind(this,t),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:t},!0)},SM=function(t){if(!f(this,Ps))return;T(this,Oe,wg).call(this,{highlightOutlines:f(this,Ui).getNewOutline(t/2)}),this.fixAndSetPosition();const[s,i]=this.parentDimensions;this.setDims(this.width*s,this.height*i)},_w=function(){f(this,rs)===null||!this.parent||(this.parent.drawLayer.remove(f(this,rs)),C(this,rs,null),this.parent.drawLayer.remove(f(this,fn)),C(this,fn,null))},Qa=function(t=this.parent){f(this,rs)===null&&({id:ps(this,rs)._,clipPathId:ps(this,Ql)._}=t.drawLayer.draw(f(this,Ui),this.color,f(this,co)),C(this,fn,t.drawLayer.drawOutline(f(this,li))),f(this,ec)&&(f(this,ec).style.clipPath=f(this,Ql)))},mi=new WeakSet,Zc=function({x:t,y:s,width:i,height:r},o){switch(o){case 90:return{x:1-s-r,y:t,width:r,height:i};case 180:return{x:1-t-i,y:1-s-r,width:i,height:r};case 270:return{x:s,y:1-t-i,width:r,height:i}}return{x:t,y:s,width:i,height:r}},AM=function(t){rt._keyboardManager.exec(this,t)},_g=function(t){if(!f(this,au))return;const s=window.getSelection();t?s.setPosition(f(this,au),f(this,_p)):s.setPosition(f(this,Sp),f(this,Ap))},_d=function(){return f(this,Ps)?this.rotation:0},kM=function(){if(f(this,Ps))return null;const[t,s]=this.pageDimensions,[i,r]=this.pageTranslation,o=f(this,lo),a=new Float32Array(o.length*8);let l=0;for(const{x:c,y:h,width:u,height:d}of o){const p=c*t+i,m=(1-h-d)*s+r;a[l]=a[l+4]=p,a[l+1]=a[l+3]=m,a[l+2]=a[l+6]=p+u*t,a[l+5]=a[l+7]=m+d*s,l+=8}return a},xM=function(t){return f(this,Ui).serialize(t,T(this,Oe,_d).call(this))},EM=function(t,s){this._freeHighlight.add(s)&&t.drawLayer.updatePath(this._freeHighlightId,this._freeHighlight)},CM=function(t,s){this._freeHighlight.isEmpty()?t.drawLayer.remove(this._freeHighlightId):t.createAndAddNewEditor(s,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=""},$M=function(t){const{color:s}=this._initialData;return t.color.some((i,r)=>i!==s[r])},R(rt,mi),re(rt,"_defaultColor",null),re(rt,"_defaultOpacity",1),re(rt,"_defaultThickness",12),re(rt,"_type","highlight"),re(rt,"_editorType",De.HIGHLIGHT),re(rt,"_freeHighlightId",-1),re(rt,"_freeHighlight",null),re(rt,"_freeHighlightClipId","");let ay=rt;var tc,nc,wr,ho,hi,sc,ic,rc,uo,uu,oc,ac,ua,le,TM,PM,RM,MM,Aw,IM,kw,OM,NM,LM,DM,FM,el,xw,Ew,Cw,Sg,Ag,Xc,$w,kg,Po,jM,Tw,zM,HM,Pw,xg,Sd;const Lt=class Lt extends dt{constructor(t){super({...t,name:"inkEditor"});R(this,le);R(this,tc,0);R(this,nc,0);R(this,wr,null);R(this,ho,new Path2D);R(this,hi,!1);R(this,sc,null);R(this,ic,!1);R(this,rc,!1);R(this,uo,null);R(this,uu,null);R(this,oc,0);R(this,ac,0);R(this,ua,null);this.color=t.color||null,this.thickness=t.thickness||null,this.opacity=t.opacity||null,this.paths=[],this.bezierPath2D=[],this.allRawPaths=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0,this._willKeepAspectRatio=!0}static initialize(t,s){dt.initialize(t,s)}static updateDefaultParams(t,s){switch(t){case Pe.INK_THICKNESS:Lt._defaultThickness=s;break;case Pe.INK_COLOR:Lt._defaultColor=s;break;case Pe.INK_OPACITY:Lt._defaultOpacity=s/100;break}}updateParams(t,s){switch(t){case Pe.INK_THICKNESS:T(this,le,TM).call(this,s);break;case Pe.INK_COLOR:T(this,le,PM).call(this,s);break;case Pe.INK_OPACITY:T(this,le,RM).call(this,s);break}}static get defaultPropertiesToUpdate(){return[[Pe.INK_THICKNESS,Lt._defaultThickness],[Pe.INK_COLOR,Lt._defaultColor||dt._defaultLineColor],[Pe.INK_OPACITY,Math.round(Lt._defaultOpacity*100)]]}get propertiesToUpdate(){return[[Pe.INK_THICKNESS,this.thickness||Lt._defaultThickness],[Pe.INK_COLOR,this.color||Lt._defaultColor||dt._defaultLineColor],[Pe.INK_OPACITY,Math.round(100*(this.opacity??Lt._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(T(this,le,Sg).call(this),T(this,le,Ag).call(this)),this.isAttachedToDOM||(this.parent.add(this),T(this,le,Xc).call(this)),T(this,le,Sd).call(this)))}remove(){var t;this.canvas!==null&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,f(this,wr)&&(clearTimeout(f(this,wr)),C(this,wr,null)),(t=f(this,uo))==null||t.disconnect(),C(this,uo,null),super.remove())}setParent(t){!this.parent&&t?this._uiManager.removeShouldRescale(this):this.parent&&t===null&&this._uiManager.addShouldRescale(this),super.setParent(t)}onScaleChanging(){const[t,s]=this.parentDimensions,i=this.width*t,r=this.height*s;this.setDimensions(i,r)}enableEditMode(){f(this,hi)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,T(this,le,xw).call(this))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),T(this,le,Ew).call(this))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0}commit(){f(this,hi)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),C(this,hi,!0),this.div.classList.add("disabled"),T(this,le,Sd).call(this,!0),this.select(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(t){this._focusEventsAllowed&&(super.focusin(t),this.enableEditMode())}canvasPointerdown(t){t.button!==0||!this.isInEditMode()||f(this,hi)||(this.setInForeground(),t.preventDefault(),this.div.contains(document.activeElement)||this.div.focus({preventScroll:!0}),T(this,le,IM).call(this,t.offsetX,t.offsetY))}canvasPointermove(t){t.preventDefault(),T(this,le,kw).call(this,t.offsetX,t.offsetY)}canvasPointerup(t){t.preventDefault(),T(this,le,Cw).call(this,t)}canvasPointerleave(t){T(this,le,Cw).call(this,t)}get isResizable(){return!this.isEmpty()&&f(this,hi)}render(){if(this.div)return this.div;let t,s;this.width&&(t=this.x,s=this.y),super.render(),this.div.setAttribute("data-l10n-id","pdfjs-ink");const[i,r,o,a]=T(this,le,MM).call(this);if(this.setAt(i,r,0,0),this.setDims(o,a),T(this,le,Sg).call(this),this.width){const[l,c]=this.parentDimensions;this.setAspectRatio(this.width*l,this.height*c),this.setAt(t*l,s*c,this.width*l,this.height*c),C(this,rc,!0),T(this,le,Xc).call(this),this.setDims(this.width*l,this.height*c),T(this,le,el).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return T(this,le,Ag).call(this),this.div}setDimensions(t,s){const i=Math.round(t),r=Math.round(s);if(f(this,oc)===i&&f(this,ac)===r)return;C(this,oc,i),C(this,ac,r),this.canvas.style.visibility="hidden";const[o,a]=this.parentDimensions;this.width=t/o,this.height=s/a,this.fixAndSetPosition(),f(this,hi)&&T(this,le,$w).call(this,t,s),T(this,le,Xc).call(this),T(this,le,el).call(this),this.canvas.style.visibility="visible",this.fixDims()}static async deserialize(t,s,i){var v,y,w;if(t instanceof gA)return null;const r=await super.deserialize(t,s,i);r.thickness=t.thickness,r.color=_e.makeHexColor(...t.color),r.opacity=t.opacity;const[o,a]=r.pageDimensions,l=r.width*o,c=r.height*a,h=r.parentScale,u=t.thickness/2;C(r,hi,!0),C(r,oc,Math.round(l)),C(r,ac,Math.round(c));const{paths:d,rect:p,rotation:m}=t;for(let{bezier:_}of d){_=T(v=Lt,Po,zM).call(v,_,p,m);const k=[];r.paths.push(k);let A=h*(_[0]-u),$=h*(_[1]-u);for(let O=2,F=_.length;O{this.thickness=r,T(this,le,Sd).call(this)},i=this.thickness;this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},PM=function(t){const s=r=>{this.color=r,T(this,le,el).call(this)},i=this.color;this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},RM=function(t){const s=r=>{this.opacity=r,T(this,le,el).call(this)};t/=100;const i=this.opacity;this.addCommands({cmd:s.bind(this,t),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Pe.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},MM=function(){const{parentRotation:t,parentDimensions:[s,i]}=this;switch(t){case 90:return[0,i,i,s];case 180:return[s,i,s,i];case 270:return[s,0,i,s];default:return[0,0,s,i]}},Aw=function(){const{ctx:t,color:s,opacity:i,thickness:r,parentScale:o,scaleFactor:a}=this;t.lineWidth=r*o/a,t.lineCap="round",t.lineJoin="round",t.miterLimit=10,t.strokeStyle=`${s}${f8(i)}`},IM=function(t,s){this.canvas.addEventListener("contextmenu",wi,{signal:this._uiManager._signal}),T(this,le,Ew).call(this),C(this,sc,new AbortController);const i=this._uiManager.combinedSignal(f(this,sc));this.canvas.addEventListener("pointerleave",this.canvasPointerleave.bind(this),{signal:i}),this.canvas.addEventListener("pointermove",this.canvasPointermove.bind(this),{signal:i}),this.canvas.addEventListener("pointerup",this.canvasPointerup.bind(this),{signal:i}),this.isEditing=!0,f(this,rc)||(C(this,rc,!0),T(this,le,Xc).call(this),this.thickness||(this.thickness=Lt._defaultThickness),this.color||(this.color=Lt._defaultColor||dt._defaultLineColor),this.opacity??(this.opacity=Lt._defaultOpacity)),this.currentPath.push([t,s]),C(this,ic,!1),T(this,le,Aw).call(this),C(this,ua,()=>{T(this,le,LM).call(this),f(this,ua)&&window.requestAnimationFrame(f(this,ua))}),window.requestAnimationFrame(f(this,ua))},kw=function(t,s){const[i,r]=this.currentPath.at(-1);if(this.currentPath.length>1&&t===i&&s===r)return;const o=this.currentPath;let a=f(this,ho);if(o.push([t,s]),C(this,ic,!0),o.length<=2){a.moveTo(...o[0]),a.lineTo(t,s);return}o.length===3&&(C(this,ho,a=new Path2D),a.moveTo(...o[0])),T(this,le,DM).call(this,a,...o.at(-3),...o.at(-2),t,s)},OM=function(){if(this.currentPath.length===0)return;const t=this.currentPath.at(-1);f(this,ho).lineTo(...t)},NM=function(t,s){C(this,ua,null),t=Math.min(Math.max(t,0),this.canvas.width),s=Math.min(Math.max(s,0),this.canvas.height),T(this,le,kw).call(this,t,s),T(this,le,OM).call(this);let i;if(this.currentPath.length!==1)i=T(this,le,FM).call(this);else{const c=[t,s];i=[[c,c.slice(),c.slice(),c]]}const r=f(this,ho),o=this.currentPath;this.currentPath=[],C(this,ho,new Path2D);const a=()=>{this.allRawPaths.push(o),this.paths.push(i),this.bezierPath2D.push(r),this._uiManager.rebuild(this)},l=()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),this.paths.length===0?this.remove():(this.canvas||(T(this,le,Sg).call(this),T(this,le,Ag).call(this)),T(this,le,Sd).call(this))};this.addCommands({cmd:a,undo:l,mustExec:!0})},LM=function(){if(!f(this,ic))return;C(this,ic,!1);const t=Math.ceil(this.thickness*this.parentScale),s=this.currentPath.slice(-3),i=s.map(a=>a[0]),r=s.map(a=>a[1]);Math.min(...i)-t,Math.max(...i)+t,Math.min(...r)-t,Math.max(...r)+t;const{ctx:o}=this;o.save(),o.clearRect(0,0,this.canvas.width,this.canvas.height);for(const a of this.bezierPath2D)o.stroke(a);o.stroke(f(this,ho)),o.restore()},DM=function(t,s,i,r,o,a,l){const c=(s+r)/2,h=(i+o)/2,u=(r+a)/2,d=(o+l)/2;t.bezierCurveTo(c+2*(r-c)/3,h+2*(o-h)/3,u+2*(r-u)/3,d+2*(o-d)/3,u,d)},FM=function(){const t=this.currentPath;if(t.length<=2)return[[t[0],t[0],t.at(-1),t.at(-1)]];const s=[];let i,[r,o]=t[0];for(i=1;i{C(this,wr,null),this.canvas.removeEventListener("contextmenu",wi)},10)),T(this,le,NM).call(this,t.offsetX,t.offsetY),this.addToAnnotationStorage(),this.setInBackground()},Sg=function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",this.canvas.setAttribute("data-l10n-id","pdfjs-ink-canvas"),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")},Ag=function(){C(this,uo,new ResizeObserver(t=>{const s=t[0].contentRect;s.width&&s.height&&this.setDimensions(s.width,s.height)})),f(this,uo).observe(this.div),this._uiManager._signal.addEventListener("abort",()=>{var t;(t=f(this,uo))==null||t.disconnect(),C(this,uo,null)},{once:!0})},Xc=function(){if(!f(this,rc))return;const[t,s]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*t),this.canvas.height=Math.ceil(this.height*s),T(this,le,kg).call(this)},$w=function(t,s){const i=T(this,le,xg).call(this),r=(t-i)/f(this,nc),o=(s-i)/f(this,tc);this.scaleFactor=Math.min(r,o)},kg=function(){const t=T(this,le,xg).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+t,this.translationY*this.scaleFactor+t)},Po=new WeakSet,jM=function(t){const s=new Path2D;for(let i=0,r=t.length;i`image/${s}`))}static get supportedTypesStr(){return Ze(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(t){return this.supportedTypes.includes(t)}static paste(t,s){s.pasteEditor(De.STAMP,{bitmapFile:t.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1),super.altTextFinish()}get telemetryFinalData(){var t;return{type:"stamp",hasAltText:!!((t=this.altTextData)!=null&&t.altText)}}static computeTelemetryFinalData(t){const s=t.get("hasAltText");return{hasAltText:s.get(!0)??0,hasNoAltText:s.get(!1)??0}}async mlGuessAltText(t=null,s=!0){if(this.hasAltTextData())return null;const{mlManager:i}=this._uiManager;if(!i)throw new Error("No ML.");if(!await i.isEnabledFor("altText"))throw new Error("ML isn't enabled for alt text.");const{data:r,width:o,height:a}=t||this.copyCanvas(null,null,!0).imageData,l=await i.guess({name:"altText",request:{data:r,width:o,height:a,channels:r.length/(o*a)}});if(!l)throw new Error("No response from the AI service.");if(l.error)throw new Error("Error from the AI service.");if(l.cancel)return null;if(!l.output)throw new Error("No valid response from the AI service.");const c=l.output;return await this.setGuessedAltText(c),s&&!this.hasAltTextData()&&(this.altTextData={alt:c,decorative:!1}),c}remove(){var t,s;f(this,zn)&&(C(this,Ft,null),this._uiManager.imageManager.deleteId(f(this,zn)),(t=f(this,_r))==null||t.remove(),C(this,_r,null),(s=f(this,po))==null||s.disconnect(),C(this,po,null),f(this,Sr)&&(clearTimeout(f(this,Sr)),C(this,Sr,null))),super.remove()}rebuild(){if(!this.parent){f(this,zn)&&T(this,Ke,Eg).call(this);return}super.rebuild(),this.div!==null&&(f(this,zn)&&f(this,_r)===null&&T(this,Ke,Eg).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(f(this,da)||f(this,Ft)||f(this,fo)||f(this,fa)||f(this,zn))}get isResizable(){return!0}render(){if(this.div)return this.div;let t,s;if(this.width&&(t=this.x,s=this.y),super.render(),this.div.hidden=!0,this.div.setAttribute("role","figure"),this.addAltTextButton(),f(this,Ft)?T(this,Ke,Mw).call(this):T(this,Ke,Eg).call(this),this.width&&!this.annotationElementId){const[i,r]=this.parentDimensions;this.setAt(t*i,s*r,this.width*i,this.height*r)}return this.div}copyCanvas(t,s,i=!1){var p;t||(t=224);const{width:r,height:o}=f(this,Ft),a=new Cb;let l=f(this,Ft),c=r,h=o,u=null;if(s){if(r>s||o>s){const O=Math.min(s/r,s/o);c=Math.floor(r*O),h=Math.floor(o*O)}u=document.createElement("canvas");const m=u.width=Math.ceil(c*a.sx),g=u.height=Math.ceil(h*a.sy);f(this,Zs)||(l=T(this,Ke,Cg).call(this,m,g));const v=u.getContext("2d");v.filter=this._uiManager.hcmFilter;let y="white",w="#cfcfd8";this._uiManager.hcmFilter!=="none"?w="black":(p=window.matchMedia)!=null&&p.call(window,"(prefers-color-scheme: dark)").matches&&(y="#8f8f9d",w="#42414d");const _=15,k=_*a.sx,A=_*a.sy,$=new OffscreenCanvas(k*2,A*2),E=$.getContext("2d");E.fillStyle=y,E.fillRect(0,0,k*2,A*2),E.fillStyle=w,E.fillRect(0,0,k,A),E.fillRect(k,A,k,A),v.fillStyle=v.createPattern($,"repeat"),v.fillRect(0,0,m,g),v.drawImage(l,0,0,l.width,l.height,0,0,m,g)}let d=null;if(i){let m,g;if(a.symmetric&&l.widtht||o>t){const w=Math.min(t/r,t/o);m=Math.floor(r*w),g=Math.floor(o*w),f(this,Zs)||(l=T(this,Ke,Cg).call(this,m,g))}const y=new OffscreenCanvas(m,g).getContext("2d",{willReadFrequently:!0});y.drawImage(l,0,0,l.width,l.height,0,0,m,g),d={width:m,height:g,data:y.getImageData(0,0,m,g).data}}return{canvas:u,width:c,height:h,imageData:d}}getImageForAltText(){return f(this,_r)}static async deserialize(t,s,i){var g;let r=null;if(t instanceof eM){const{data:{rect:v,rotation:y,id:w,structParent:_,popupRef:k},container:A,parent:{page:{pageNumber:$}}}=t,E=A.querySelector("canvas"),O=i.imageManager.getFromCanvas(A.id,E);E.remove();const F=((g=await s._structTree.getAriaAttributes(`${rA}${w}`))==null?void 0:g.get("aria-label"))||"";r=t={annotationType:De.STAMP,bitmapId:O.id,bitmap:O.bitmap,pageIndex:$-1,rect:v.slice(0),rotation:y,id:w,deleted:!1,accessibilityData:{decorative:!1,altText:F},isSvg:!1,structParent:_,popupRef:k}}const o=await super.deserialize(t,s,i),{rect:a,bitmap:l,bitmapUrl:c,bitmapId:h,isSvg:u,accessibilityData:d}=t;h&&i.imageManager.isValidId(h)?(C(o,zn,h),l&&C(o,Ft,l)):C(o,fo,c),C(o,Zs,u);const[p,m]=o.pageDimensions;return o.width=(a[2]-a[0])/p,o.height=(a[3]-a[1])/m,o.annotationElementId=t.id||null,d&&(o.altTextData=d),o._initialData=r,C(o,fu,!!r),o}serialize(t=!1,s=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();const i={annotationType:De.STAMP,bitmapId:f(this,zn),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:f(this,Zs),structTreeParentId:this._structTreeParentId};if(t)return i.bitmapUrl=T(this,Ke,$g).call(this,!0),i.accessibilityData=this.serializeAltText(!0),i;const{decorative:r,altText:o}=this.serializeAltText(!1);if(!r&&o&&(i.accessibilityData={type:"Figure",alt:o}),this.annotationElementId){const l=T(this,Ke,UM).call(this,i);if(l.isSame)return null;l.isSameAltText?delete i.accessibilityData:i.accessibilityData.structParent=this._initialData.structParent??-1}if(i.id=this.annotationElementId,s===null)return i;s.stamps||(s.stamps=new Map);const a=f(this,Zs)?(i.rect[2]-i.rect[0])*(i.rect[3]-i.rect[1]):null;if(!s.stamps.has(f(this,zn)))s.stamps.set(f(this,zn),{area:a,serialized:i}),i.bitmap=T(this,Ke,$g).call(this,!1);else if(f(this,Zs)){const l=s.stamps.get(f(this,zn));a>l.area&&(l.area=a,l.serialized.bitmap.close(),l.serialized.bitmap=T(this,Ke,$g).call(this,!1))}return i}renderAnnotationElement(t){return t.updateEdited({rect:this.getRect(0,0)}),null}};Ft=new WeakMap,zn=new WeakMap,da=new WeakMap,fo=new WeakMap,fa=new WeakMap,du=new WeakMap,_r=new WeakMap,po=new WeakMap,Sr=new WeakMap,Zs=new WeakMap,fu=new WeakMap,Ke=new WeakSet,Ad=function(t,s=!1){if(!t){this.remove();return}C(this,Ft,t.bitmap),s||(C(this,zn,t.id),C(this,Zs,t.isSvg)),t.file&&C(this,du,t.file.name),T(this,Ke,Mw).call(this)},kd=function(){if(C(this,da,null),this._uiManager.enableWaiting(!1),!!f(this,_r)){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&f(this,Ft)){this._editToolbar.hide(),this._uiManager.editAltText(this,!0);return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&f(this,Ft)){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}},Eg=function(){if(f(this,zn)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(f(this,zn)).then(i=>T(this,Ke,Ad).call(this,i,!0)).finally(()=>T(this,Ke,kd).call(this));return}if(f(this,fo)){const i=f(this,fo);C(this,fo,null),this._uiManager.enableWaiting(!0),C(this,da,this._uiManager.imageManager.getFromUrl(i).then(r=>T(this,Ke,Ad).call(this,r)).finally(()=>T(this,Ke,kd).call(this)));return}if(f(this,fa)){const i=f(this,fa);C(this,fa,null),this._uiManager.enableWaiting(!0),C(this,da,this._uiManager.imageManager.getFromFile(i).then(r=>T(this,Ke,Ad).call(this,r)).finally(()=>T(this,Ke,kd).call(this)));return}const t=document.createElement("input");t.type="file",t.accept=Gd.supportedTypesStr;const s=this._uiManager._signal;C(this,da,new Promise(i=>{t.addEventListener("change",async()=>{if(!t.files||t.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const r=await this._uiManager.imageManager.getFromFile(t.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),T(this,Ke,Ad).call(this,r)}i()},{signal:s}),t.addEventListener("cancel",()=>{this.remove(),i()},{signal:s})}).finally(()=>T(this,Ke,kd).call(this))),t.click()},Mw=function(){const{div:t}=this;let{width:s,height:i}=f(this,Ft);const[r,o]=this.pageDimensions,a=.75;if(this.width)s=this.width*r,i=this.height*o;else if(s>a*r||i>a*o){const u=Math.min(a*r/s,a*o/i);s*=u,i*=u}const[l,c]=this.parentDimensions;this.setDims(s*l/r,i*c/o),this._uiManager.enableWaiting(!1);const h=C(this,_r,document.createElement("canvas"));h.setAttribute("role","img"),this.addContainer(h),(!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)&&(t.hidden=!1),T(this,Ke,Iw).call(this,s,i),T(this,Ke,qM).call(this),f(this,fu)||(this.parent.addUndoableEditor(this),C(this,fu,!0)),this._reportTelemetry({action:"inserted_image"}),f(this,du)&&h.setAttribute("aria-label",f(this,du))},BM=function(t,s){var a;const[i,r]=this.parentDimensions;this.width=t/i,this.height=s/r,(a=this._initialOptions)!=null&&a.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,f(this,Sr)!==null&&clearTimeout(f(this,Sr)),C(this,Sr,setTimeout(()=>{C(this,Sr,null),T(this,Ke,Iw).call(this,t,s)},200))},Cg=function(t,s){const{width:i,height:r}=f(this,Ft);let o=i,a=r,l=f(this,Ft);for(;o>2*t||a>2*s;){const c=o,h=a;o>2*t&&(o=o>=16384?Math.floor(o/2)-1:Math.ceil(o/2)),a>2*s&&(a=a>=16384?Math.floor(a/2)-1:Math.ceil(a/2));const u=new OffscreenCanvas(o,a);u.getContext("2d").drawImage(l,0,0,c,h,0,0,o,a),l=u.transferToImageBitmap()}return l},Iw=function(t,s){const i=new Cb,r=Math.ceil(t*i.sx),o=Math.ceil(s*i.sy),a=f(this,_r);if(!a||a.width===r&&a.height===o)return;a.width=r,a.height=o;const l=f(this,Zs)?f(this,Ft):T(this,Ke,Cg).call(this,r,o),c=a.getContext("2d");c.filter=this._uiManager.hcmFilter,c.drawImage(l,0,0,l.width,l.height,0,0,r,o)},$g=function(t){if(t){if(f(this,Zs)){const r=this._uiManager.imageManager.getSvgUrl(f(this,zn));if(r)return r}const s=document.createElement("canvas");return{width:s.width,height:s.height}=f(this,Ft),s.getContext("2d").drawImage(f(this,Ft),0,0),s.toDataURL()}if(f(this,Zs)){const[s,i]=this.pageDimensions,r=Math.round(this.width*s*Ta.PDF_TO_CSS_UNITS),o=Math.round(this.height*i*Ta.PDF_TO_CSS_UNITS),a=new OffscreenCanvas(r,o);return a.getContext("2d").drawImage(f(this,Ft),0,0,f(this,Ft).width,f(this,Ft).height,0,0,r,o),a.transferToImageBitmap()}return structuredClone(f(this,Ft))},qM=function(){this._uiManager._signal&&(C(this,po,new ResizeObserver(t=>{const s=t[0].contentRect;s.width&&s.height&&T(this,Ke,BM).call(this,s.width,s.height)})),f(this,po).observe(this.div),this._uiManager._signal.addEventListener("abort",()=>{var t;(t=f(this,po))==null||t.disconnect(),C(this,po,null)},{once:!0}))},UM=function(t){var c;const{rect:s,pageIndex:i,accessibilityData:{altText:r}}=this._initialData,o=t.rect.every((h,u)=>Math.abs(h-s[u])<1),a=t.pageIndex===i,l=(((c=t.accessibilityData)==null?void 0:c.alt)||"")===r;return{isSame:o&&a&&l,isSameAltText:l}},re(Gd,"_type","stamp"),re(Gd,"_editorType",De.STAMP);let Rw=Gd;var lc,pu,Ar,pa,mo,Xs,ma,mu,gu,os,go,Ae,ga,Kn,VM,Nw,Lw,Dw,Tg;const Pi=class Pi{constructor({uiManager:e,pageIndex:t,div:s,structTreeLayer:i,accessibilityManager:r,annotationLayer:o,drawLayer:a,textLayer:l,viewport:c,l10n:h}){R(this,Kn);R(this,lc);R(this,pu,!1);R(this,Ar,null);R(this,pa,null);R(this,mo,null);R(this,Xs,new Map);R(this,ma,!1);R(this,mu,!1);R(this,gu,!1);R(this,os,null);R(this,go,null);R(this,Ae);const u=[...f(Pi,ga).values()];if(!Pi._initialized){Pi._initialized=!0;for(const d of u)d.initialize(h,e)}e.registerEditorTypes(u),C(this,Ae,e),this.pageIndex=t,this.div=s,C(this,lc,r),C(this,Ar,o),this.viewport=c,C(this,os,l),this.drawLayer=a,this._structTree=i,f(this,Ae).addLayer(this)}get isEmpty(){return f(this,Xs).size===0}get isInvisible(){return this.isEmpty&&f(this,Ae).getMode()===De.NONE}updateToolbar(e){f(this,Ae).updateToolbar(e)}updateMode(e=f(this,Ae).getMode()){switch(T(this,Kn,Tg).call(this),e){case De.NONE:this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case De.INK:this.addInkEditorIfNeeded(!1),this.disableTextSelection(),this.togglePointerEvents(!0),this.disableClick();break;case De.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);const{classList:t}=this.div;for(const s of f(Pi,ga).values())t.toggle(`${s._type}Editing`,e===s._editorType);this.div.hidden=!1}hasTextLayer(e){var t;return e===((t=f(this,os))==null?void 0:t.div)}addInkEditorIfNeeded(e){if(f(this,Ae).getMode()!==De.INK)return;if(!e){for(const s of f(this,Xs).values())if(s.isEmpty()){s.setInBackground();return}}this.createAndAddNewEditor({offsetX:0,offsetY:0},!1).setInBackground()}setEditingState(e){f(this,Ae).setEditingState(e)}addCommands(e){f(this,Ae).addCommands(e)}toggleDrawing(e=!1){this.div.classList.toggle("drawing",!e)}togglePointerEvents(e=!1){this.div.classList.toggle("disabled",!e)}toggleAnnotationLayerPointerEvents(e=!1){var t;(t=f(this,Ar))==null||t.div.classList.toggle("disabled",!e)}async enable(){this.div.tabIndex=0,this.togglePointerEvents(!0);const e=new Set;for(const s of f(this,Xs).values())s.enableEditing(),s.show(!0),s.annotationElementId&&(f(this,Ae).removeChangedExistingAnnotation(s),e.add(s.annotationElementId));if(!f(this,Ar))return;const t=f(this,Ar).getEditableAnnotations();for(const s of t){if(s.hide(),f(this,Ae).isDeletedAnnotationElement(s.data.id)||e.has(s.data.id))continue;const i=await this.deserialize(s);i&&(this.addOrRebuild(i),i.enableEditing())}}disable(){var i;C(this,gu,!0),this.div.tabIndex=-1,this.togglePointerEvents(!1);const e=new Map,t=new Map;for(const r of f(this,Xs).values())if(r.disableEditing(),!!r.annotationElementId){if(r.serialize()!==null){e.set(r.annotationElementId,r);continue}else t.set(r.annotationElementId,r);(i=this.getEditableAnnotation(r.annotationElementId))==null||i.show(),r.remove()}if(f(this,Ar)){const r=f(this,Ar).getEditableAnnotations();for(const o of r){const{id:a}=o.data;if(f(this,Ae).isDeletedAnnotationElement(a))continue;let l=t.get(a);if(l){l.resetAnnotationElement(o),l.show(!1),o.show();continue}l=e.get(a),l&&(f(this,Ae).addChangedExistingAnnotation(l),l.renderAnnotationElement(o)&&l.show(!1)),o.show()}}T(this,Kn,Tg).call(this),this.isEmpty&&(this.div.hidden=!0);const{classList:s}=this.div;for(const r of f(Pi,ga).values())s.remove(`${r._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),C(this,gu,!1)}getEditableAnnotation(e){var t;return((t=f(this,Ar))==null?void 0:t.getEditableAnnotation(e))||null}setActiveEditor(e){f(this,Ae).getActive()!==e&&f(this,Ae).setActiveEditor(e)}enableTextSelection(){var e;if(this.div.tabIndex=-1,(e=f(this,os))!=null&&e.div&&!f(this,go)){C(this,go,new AbortController);const t=f(this,Ae).combinedSignal(f(this,go));f(this,os).div.addEventListener("pointerdown",T(this,Kn,VM).bind(this),{signal:t}),f(this,os).div.classList.add("highlighting")}}disableTextSelection(){var e;this.div.tabIndex=0,(e=f(this,os))!=null&&e.div&&f(this,go)&&(f(this,go).abort(),C(this,go,null),f(this,os).div.classList.remove("highlighting"))}enableClick(){if(f(this,pa))return;C(this,pa,new AbortController);const e=f(this,Ae).combinedSignal(f(this,pa));this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:e}),this.div.addEventListener("pointerup",this.pointerup.bind(this),{signal:e})}disableClick(){var e;(e=f(this,pa))==null||e.abort(),C(this,pa,null)}attach(e){f(this,Xs).set(e.id,e);const{annotationElementId:t}=e;t&&f(this,Ae).isDeletedAnnotationElement(t)&&f(this,Ae).removeDeletedAnnotationElement(e)}detach(e){var t;f(this,Xs).delete(e.id),(t=f(this,lc))==null||t.removePointerInTextLayer(e.contentDiv),!f(this,gu)&&e.annotationElementId&&f(this,Ae).addDeletedAnnotationElement(e)}remove(e){this.detach(e),f(this,Ae).removeEditor(e),e.div.remove(),e.isAttachedToDOM=!1,f(this,mu)||this.addInkEditorIfNeeded(!1)}changeParent(e){var t;e.parent!==this&&(e.parent&&e.annotationElementId&&(f(this,Ae).addDeletedAnnotationElement(e.annotationElementId),dt.deleteAnnotationElement(e),e.annotationElementId=null),this.attach(e),(t=e.parent)==null||t.detach(e),e.setParent(this),e.div&&e.isAttachedToDOM&&(e.div.remove(),this.div.append(e.div)))}add(e){if(!(e.parent===this&&e.isAttachedToDOM)){if(this.changeParent(e),f(this,Ae).addEditor(e),this.attach(e),!e.isAttachedToDOM){const t=e.render();this.div.append(t),e.isAttachedToDOM=!0}e.fixAndSetPosition(),e.onceAdded(),f(this,Ae).addToAnnotationStorage(e),e._reportTelemetry(e.telemetryInitialData)}}moveEditorInDOM(e){var s;if(!e.isAttachedToDOM)return;const{activeElement:t}=document;e.div.contains(t)&&!f(this,mo)&&(e._focusEventsAllowed=!1,C(this,mo,setTimeout(()=>{C(this,mo,null),e.div.contains(document.activeElement)?e._focusEventsAllowed=!0:(e.div.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:f(this,Ae)._signal}),t.focus())},0))),e._structTreeParentId=(s=f(this,lc))==null?void 0:s.moveElementInDOM(this.div,e.div,e.contentDiv,!0)}addOrRebuild(e){e.needsToBeRebuilt()?(e.parent||(e.parent=this),e.rebuild(),e.show()):this.add(e)}addUndoableEditor(e){const t=()=>e._uiManager.rebuild(e),s=()=>{e.remove()};this.addCommands({cmd:t,undo:s,mustExec:!1})}getNextId(){return f(this,Ae).getId()}combinedSignal(e){return f(this,Ae).combinedSignal(e)}canCreateNewEmptyEditor(){var e;return(e=f(this,Kn,Nw))==null?void 0:e.canCreateNewEmptyEditor()}pasteEditor(e,t){f(this,Ae).updateToolbar(e),f(this,Ae).updateMode(e);const{offsetX:s,offsetY:i}=T(this,Kn,Dw).call(this),r=this.getNextId(),o=T(this,Kn,Lw).call(this,{parent:this,id:r,x:s,y:i,uiManager:f(this,Ae),isCentered:!0,...t});o&&this.add(o)}async deserialize(e){var t;return await((t=f(Pi,ga).get(e.annotationType??e.annotationEditorType))==null?void 0:t.deserialize(e,this,f(this,Ae)))||null}createAndAddNewEditor(e,t,s={}){const i=this.getNextId(),r=T(this,Kn,Lw).call(this,{parent:this,id:i,x:e.offsetX,y:e.offsetY,uiManager:f(this,Ae),isCentered:t,...s});return r&&this.add(r),r}addNewEditor(){this.createAndAddNewEditor(T(this,Kn,Dw).call(this),!0)}setSelected(e){f(this,Ae).setSelected(e)}toggleSelected(e){f(this,Ae).toggleSelected(e)}unselect(e){f(this,Ae).unselect(e)}pointerup(e){const{isMac:t}=_s.platform;if(!(e.button!==0||e.ctrlKey&&t)&&e.target===this.div&&f(this,ma)){if(C(this,ma,!1),!f(this,pu)){C(this,pu,!0);return}if(f(this,Ae).getMode()===De.STAMP){f(this,Ae).unselectAll();return}this.createAndAddNewEditor(e,!1)}}pointerdown(e){if(f(this,Ae).getMode()===De.HIGHLIGHT&&this.enableTextSelection(),f(this,ma)){C(this,ma,!1);return}const{isMac:t}=_s.platform;if(e.button!==0||e.ctrlKey&&t||e.target!==this.div)return;C(this,ma,!0);const s=f(this,Ae).getActive();C(this,pu,!s||s.isEmpty())}findNewParent(e,t,s){const i=f(this,Ae).findParent(t,s);return i===null||i===this?!1:(i.changeParent(e),!0)}destroy(){var e,t;((e=f(this,Ae).getActive())==null?void 0:e.parent)===this&&(f(this,Ae).commitOrRemove(),f(this,Ae).setActiveEditor(null)),f(this,mo)&&(clearTimeout(f(this,mo)),C(this,mo,null));for(const s of f(this,Xs).values())(t=f(this,lc))==null||t.removePointerInTextLayer(s.contentDiv),s.setParent(null),s.isAttachedToDOM=!1,s.div.remove();this.div=null,f(this,Xs).clear(),f(this,Ae).removeLayer(this)}render({viewport:e}){this.viewport=e,yc(this.div,e);for(const t of f(this,Ae).getEditors(this.pageIndex))this.add(t),t.rebuild();this.updateMode()}update({viewport:e}){f(this,Ae).commitOrRemove(),T(this,Kn,Tg).call(this);const t=this.viewport.rotation,s=e.rotation;if(this.viewport=e,yc(this.div,{rotation:s}),t!==s)for(const i of f(this,Xs).values())i.rotate(s);this.addInkEditorIfNeeded(!1)}get pageDimensions(){const{pageWidth:e,pageHeight:t}=this.viewport.rawDims;return[e,t]}get scale(){return f(this,Ae).viewParameters.realScale}};lc=new WeakMap,pu=new WeakMap,Ar=new WeakMap,pa=new WeakMap,mo=new WeakMap,Xs=new WeakMap,ma=new WeakMap,mu=new WeakMap,gu=new WeakMap,os=new WeakMap,go=new WeakMap,Ae=new WeakMap,ga=new WeakMap,Kn=new WeakSet,VM=function(e){f(this,Ae).unselectAll();const{target:t}=e;if(t===f(this,os).div||(t.getAttribute("role")==="img"||t.classList.contains("endOfContent"))&&f(this,os).div.contains(t)){const{isMac:s}=_s.platform;if(e.button!==0||e.ctrlKey&&s)return;f(this,Ae).showAllEditors("highlight",!0,!0),f(this,os).div.classList.add("free"),this.toggleDrawing(),ay.startHighlighting(this,f(this,Ae).direction==="ltr",{target:f(this,os).div,x:e.x,y:e.y}),f(this,os).div.addEventListener("pointerup",()=>{f(this,os).div.classList.remove("free"),this.toggleDrawing(!0)},{once:!0,signal:f(this,Ae)._signal}),e.preventDefault()}},Nw=function(){return f(Pi,ga).get(f(this,Ae).getMode())},Lw=function(e){const t=f(this,Kn,Nw);return t?new t.prototype.constructor(e):null},Dw=function(){const{x:e,y:t,width:s,height:i}=this.div.getBoundingClientRect(),r=Math.max(0,e),o=Math.max(0,t),a=Math.min(window.innerWidth,e+s),l=Math.min(window.innerHeight,t+i),c=(r+a)/2-e,h=(o+l)/2-t,[u,d]=this.viewport.rotation%180===0?[c,h]:[h,c];return{offsetX:u,offsetY:d}},Tg=function(){C(this,mu,!0);for(const e of f(this,Xs).values())e.isEmpty()&&e.remove();C(this,mu,!1)},re(Pi,"_initialized",!1),R(Pi,ga,new Map([fw,Sw,Rw,ay].map(e=>[e._editorType,e])));let Ow=Pi;var kr,xp,sn,yo,Ep,jw,$c,zw,WM;const Dn=class Dn{constructor({pageIndex:e}){R(this,$c);R(this,kr,null);R(this,xp,0);R(this,sn,new Map);R(this,yo,new Map);this.pageIndex=e}setParent(e){if(!f(this,kr)){C(this,kr,e);return}if(f(this,kr)!==e){if(f(this,sn).size>0)for(const t of f(this,sn).values())t.remove(),e.append(t);C(this,kr,e)}}static get _svgFactory(){return Ze(this,"_svgFactory",new mA)}draw(e,t,s,i=!1){const r=ps(this,xp)._++,o=T(this,$c,zw).call(this,e.box);o.classList.add(...e.classNamesForDrawing);const a=Dn._svgFactory.createElement("defs");o.append(a);const l=Dn._svgFactory.createElement("path");a.append(l);const c=`path_p${this.pageIndex}_${r}`;l.setAttribute("id",c),l.setAttribute("d",e.toSVGPath()),i&&f(this,yo).set(r,l);const h=T(this,$c,WM).call(this,a,c),u=Dn._svgFactory.createElement("use");return o.append(u),o.setAttribute("fill",t),o.setAttribute("fill-opacity",s),u.setAttribute("href",`#${c}`),f(this,sn).set(r,o),{id:r,clipPathId:`url(#${h})`}}drawOutline(e){const t=ps(this,xp)._++,s=T(this,$c,zw).call(this,e.box);s.classList.add(...e.classNamesForOutlining);const i=Dn._svgFactory.createElement("defs");s.append(i);const r=Dn._svgFactory.createElement("path");i.append(r);const o=`path_p${this.pageIndex}_${t}`;r.setAttribute("id",o),r.setAttribute("d",e.toSVGPath()),r.setAttribute("vector-effect","non-scaling-stroke");let a;if(e.mustRemoveSelfIntersections){const h=Dn._svgFactory.createElement("mask");i.append(h),a=`mask_p${this.pageIndex}_${t}`,h.setAttribute("id",a),h.setAttribute("maskUnits","objectBoundingBox");const u=Dn._svgFactory.createElement("rect");h.append(u),u.setAttribute("width","1"),u.setAttribute("height","1"),u.setAttribute("fill","white");const d=Dn._svgFactory.createElement("use");h.append(d),d.setAttribute("href",`#${o}`),d.setAttribute("stroke","none"),d.setAttribute("fill","black"),d.setAttribute("fill-rule","nonzero"),d.classList.add("mask")}const l=Dn._svgFactory.createElement("use");s.append(l),l.setAttribute("href",`#${o}`),a&&l.setAttribute("mask",`url(#${a})`);const c=l.cloneNode();return s.append(c),l.classList.add("mainOutline"),c.classList.add("secondaryOutline"),f(this,sn).set(t,s),t}finalizeLine(e,t){const s=f(this,yo).get(e);f(this,yo).delete(e),this.updateBox(e,t.box),s.setAttribute("d",t.toSVGPath())}updateLine(e,t){f(this,sn).get(e).firstChild.firstChild.setAttribute("d",t.toSVGPath())}updatePath(e,t){f(this,yo).get(e).setAttribute("d",t.toSVGPath())}updateBox(e,t){var s;T(s=Dn,Ep,jw).call(s,f(this,sn).get(e),t)}show(e,t){f(this,sn).get(e).classList.toggle("hidden",!t)}rotate(e,t){f(this,sn).get(e).setAttribute("data-main-rotation",t)}changeColor(e,t){f(this,sn).get(e).setAttribute("fill",t)}changeOpacity(e,t){f(this,sn).get(e).setAttribute("fill-opacity",t)}addClass(e,t){f(this,sn).get(e).classList.add(t)}removeClass(e,t){f(this,sn).get(e).classList.remove(t)}getSVGRoot(e){return f(this,sn).get(e)}remove(e){f(this,yo).delete(e),f(this,kr)!==null&&(f(this,sn).get(e).remove(),f(this,sn).delete(e))}destroy(){C(this,kr,null);for(const e of f(this,sn).values())e.remove();f(this,sn).clear(),f(this,yo).clear()}};kr=new WeakMap,xp=new WeakMap,sn=new WeakMap,yo=new WeakMap,Ep=new WeakSet,jw=function(e,{x:t=0,y:s=0,width:i=1,height:r=1}={}){const{style:o}=e;o.top=`${100*s}%`,o.left=`${100*t}%`,o.width=`${100*i}%`,o.height=`${100*r}%`},$c=new WeakSet,zw=function(e){var s;const t=Dn._svgFactory.create(1,1,!0);return f(this,kr).append(t),t.setAttribute("aria-hidden",!0),T(s=Dn,Ep,jw).call(s,t,e),t},WM=function(e,t){const s=Dn._svgFactory.createElement("clipPath");e.append(s);const i=`clip_${t}`;s.setAttribute("id",i),s.setAttribute("clipPathUnits","objectBoundingBox");const r=Dn._svgFactory.createElement("use");return s.append(r),r.setAttribute("href",`#${t}`),r.classList.add("clip"),i},R(Dn,Ep);let Fw=Dn;Me.AbortException;Me.AnnotationEditorLayer;Me.AnnotationEditorParamsType;Me.AnnotationEditorType;Me.AnnotationEditorUIManager;var GM=Me.AnnotationLayer,KM=Me.AnnotationMode;Me.ColorPicker;Me.DOMSVGFactory;Me.DrawLayer;Me.FeatureTest;var x0=Me.GlobalWorkerOptions;Me.ImageKind;Me.InvalidPDFException;Me.MissingPDFException;Me.OPS;Me.OutputScale;var W6=Me.PDFDataRangeTransport;Me.PDFDateString;Me.PDFWorker;Me.PasswordResponses;Me.PermissionFlag;Me.PixelsPerInch;Me.RenderingCancelledException;var ZM=Me.TextLayer;Me.UnexpectedResponseException;Me.Util;Me.VerbosityLevel;Me.XfaLayer;Me.build;Me.createValidAbsoluteUrl;Me.fetchData;var XM=Me.getDocument;Me.getFilenameFromUrl;Me.getPdfFilenameFromUrl;Me.getXfaPageViewport;Me.isDataScheme;Me.isPdfFile;Me.noContextMenu;Me.normalizeUnicode;Me.setLayerDimensions;Me.shadow;var Hw=Me.version;const G6=Object.freeze(Object.defineProperty({__proto__:null,AnnotationLayer:GM,AnnotationMode:KM,GlobalWorkerOptions:x0,PDFDataRangeTransport:W6,TextLayer:ZM,getDocument:XM,version:Hw},Symbol.toStringTag,{value:"Module"}));var _n=function(n,e,t){if(t||arguments.length===2)for(var s=0,i=e.length,r;s{mt(this.pdfDocument),mt(e),typeof e=="string"?this.pdfDocument.getDestination(e).then(t):Array.isArray(e)?t(e):e.then(t)}).then(t=>{mt(Array.isArray(t));const s=t[0];new Promise(i=>{mt(this.pdfDocument),s instanceof Object?this.pdfDocument.getPageIndex(s).then(r=>{i(r)}).catch(()=>{mt(!1)}):typeof s=="number"?i(s):mt(!1)}).then(i=>{const r=i+1;mt(this.pdfViewer),mt(r>=1&&r<=this.pagesCount),this.pdfViewer.scrollPageIntoView({dest:t,pageIndex:i,pageNumber:r})})})}navigateTo(e){this.goToDestination(e)}goToPage(e){const t=e-1;mt(this.pdfViewer),mt(e>=1&&e<=this.pagesCount),this.pdfViewer.scrollPageIntoView({pageIndex:t,pageNumber:e})}addLinkAttributes(e,t,s){e.href=t,e.rel=this.externalLinkRel||gZ,e.target=s?"_blank":this.externalLinkTarget||""}getDestinationHash(){return"#"}getAnchorUrl(){return"#"}setHash(){}executeNamedAction(){}cachePageRef(){}isPageVisible(){return!0}isPageCached(){return!0}executeSetOCGState(){}}const Wx={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},E0=typeof window<"u",QM=E0&&window.location.protocol==="file:";function vZ(n){return typeof n<"u"}function Ga(n){return vZ(n)&&n!==null}function bZ(n){return typeof n=="string"}function wZ(n){return n instanceof ArrayBuffer}function _Z(n){return mt(E0),n instanceof Blob}function Bw(n){return bZ(n)&&/^data:/.test(n)}function Gx(n){mt(Bw(n));const[e="",t=""]=n.split(",");return e.split(";").indexOf("base64")!==-1?atob(t):unescape(t)}function SZ(){return E0&&window.devicePixelRatio||1}const eI="On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.";function Kx(){ls(!QM,`Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${eI}`)}function AZ(){ls(!QM,`Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${eI}`)}function wc(n){n!=null&&n.cancel&&n.cancel()}function qw(n,e){return Object.defineProperty(n,"width",{get(){return this.view[2]*e},configurable:!0}),Object.defineProperty(n,"height",{get(){return this.view[3]*e},configurable:!0}),Object.defineProperty(n,"originalWidth",{get(){return this.view[2]},configurable:!0}),Object.defineProperty(n,"originalHeight",{get(){return this.view[3]},configurable:!0}),n}function kZ(n){return n.name==="RenderingCancelledException"}function xZ(n){return new Promise((e,t)=>{const s=new FileReader;s.onload=()=>{if(!s.result)return t(new Error("Error while reading a file."));e(s.result)},s.onerror=i=>{if(!i.target)return t(new Error("Error while reading a file."));const{error:r}=i.target;if(!r)return t(new Error("Error while reading a file."));switch(r.code){case r.NOT_FOUND_ERR:return t(new Error("Error while reading a file: File not found."));case r.SECURITY_ERR:return t(new Error("Error while reading a file: Security error."));case r.ABORT_ERR:return t(new Error("Error while reading a file: Aborted."));default:return t(new Error("Error while reading a file."))}},s.readAsArrayBuffer(n)})}function EZ(n,e){switch(e.type){case"RESOLVE":return{value:e.value,error:void 0};case"REJECT":return{value:!1,error:e.error};case"RESET":return{value:void 0,error:void 0};default:return n}}function Au(){return G.useReducer(EZ,{value:void 0,error:void 0})}var CZ=function(n,e,t,s){function i(r){return r instanceof t?r:new t(function(o){o(r)})}return new(t||(t=Promise))(function(r,o){function a(h){try{c(s.next(h))}catch(u){o(u)}}function l(h){try{c(s.throw(h))}catch(u){o(u)}}function c(h){h.done?r(h.value):i(h.value).then(a,l)}c((s=s.apply(n,e||[])).next())})},Zx=function(n,e){var t={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(n);i{switch(e){case Wx.NEED_PASSWORD:{const t=prompt("Enter the password to open this PDF file.");n(t);break}case Wx.INCORRECT_PASSWORD:{const t=prompt("Invalid password. Please try again.");n(t);break}}};function Xx(n){return typeof n=="object"&&n!==null&&("data"in n||"range"in n||"url"in n)}const PZ=G.forwardRef(function(e,t){var{children:s,className:i,error:r="Failed to load PDF file.",externalLinkRel:o,externalLinkTarget:a,file:l,inputRef:c,imageResourcesPath:h,loading:u="Loading PDF…",noData:d="No PDF file specified.",onItemClick:p,onLoadError:m,onLoadProgress:g,onLoadSuccess:v,onPassword:y=TZ,onSourceError:w,onSourceSuccess:_,options:k,renderMode:A,rotate:$}=e,E=Zx(e,["children","className","error","externalLinkRel","externalLinkTarget","file","inputRef","imageResourcesPath","loading","noData","onItemClick","onLoadError","onLoadProgress","onLoadSuccess","onPassword","onSourceError","onSourceSuccess","options","renderMode","rotate"]);const[O,F]=Au(),{value:B,error:L}=O,[z,K]=Au(),{value:D,error:Q}=z,X=G.useRef(new yZ),J=G.useRef([]),se=G.useRef(void 0),de=G.useRef(void 0);l&&l!==se.current&&Xx(l)&&(ls(!dh(l,se.current),`File prop passed to changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "file" prop.`),se.current=l),k&&k!==de.current&&(ls(!dh(k,de.current),`Options prop passed to changed, but it's equal to previous one. This might result in unnecessary reloads. Consider memoizing the value passed to "options" prop.`),de.current=k);const H=G.useRef({scrollPageIntoView:Ie=>{const{dest:Ge,pageNumber:lt,pageIndex:tt=lt-1}=Ie;if(p){p({dest:Ge,pageIndex:tt,pageNumber:lt});return}const Jt=J.current[tt];if(Jt){Jt.scrollIntoView();return}ls(!1,`An internal link leading to page ${lt} was clicked, but neither was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to and handle navigating by yourself or ensure that all pages are rendered within .`)}});G.useImperativeHandle(t,()=>({linkService:X,pages:J,viewer:H}),[]);function P(){_&&_()}function N(){L&&(ls(!1,L.toString()),w&&w(L))}function M(){F({type:"RESET"})}G.useEffect(M,[l,F]);const b=G.useCallback(()=>CZ(this,void 0,void 0,function*(){if(!l)return null;if(typeof l=="string")return Bw(l)?{data:Gx(l)}:(Kx(),{url:l});if(l instanceof $Z)return{range:l};if(wZ(l))return{data:l};if(E0&&_Z(l))return{data:yield xZ(l)};if(mt(typeof l=="object"),mt(Xx(l)),"url"in l&&typeof l.url=="string"){if(Bw(l.url)){const{url:Ie}=l,Ge=Zx(l,["url"]),lt=Gx(Ie);return Object.assign({data:lt},Ge)}Kx()}return l}),[l]);G.useEffect(()=>{const Ie=Wp(b());return Ie.promise.then(Ge=>{F({type:"RESOLVE",value:Ge})}).catch(Ge=>{F({type:"REJECT",error:Ge})}),()=>{wc(Ie)}},[b,F]),G.useEffect(()=>{if(!(typeof B>"u")){if(B===!1){N();return}P()}},[B]);function x(){D&&(v&&v(D),J.current=new Array(D.numPages),X.current.setDocument(D))}function I(){Q&&(ls(!1,Q.toString()),m&&m(Q))}G.useEffect(function(){K({type:"RESET"})},[K,B]),G.useEffect(function(){if(!B)return;const Ge=k?Object.assign(Object.assign({},B),k):B,lt=XM(Ge);g&&(lt.onProgress=g),y&&(lt.onPassword=y);const tt=lt,Jt=tt.promise.then(Pn=>{K({type:"RESOLVE",value:Pn})}).catch(Pn=>{tt.destroyed||K({type:"REJECT",error:Pn})});return()=>{Jt.finally(()=>tt.destroy())}},[k,K,B]),G.useEffect(()=>{if(!(typeof D>"u")){if(D===!1){I();return}x()}},[D]),G.useEffect(function(){X.current.setViewer(H.current),X.current.setExternalLinkRel(o),X.current.setExternalLinkTarget(a)},[o,a]);const V=G.useCallback((Ie,Ge)=>{J.current[Ie]=Ge},[]),Z=G.useCallback(Ie=>{delete J.current[Ie]},[]),ae=G.useMemo(()=>({imageResourcesPath:h,linkService:X.current,onItemClick:p,pdf:D,registerPage:V,renderMode:A,rotate:$,unregisterPage:Z}),[h,p,D,V,A,$,Z]),ne=G.useMemo(()=>YM(E,()=>D),[E,D]);function ke(){return S.jsx(JM.Provider,{value:ae,children:s})}function kt(){return l?D==null?S.jsx(fh,{type:"loading",children:typeof u=="function"?u():u}):D===!1?S.jsx(fh,{type:"error",children:typeof r=="function"?r():r}):ke():S.jsx(fh,{type:"no-data",children:typeof d=="function"?d():d})}return S.jsx("div",Object.assign({className:Wy("react-pdf__Document",i),ref:c,style:{"--scale-factor":"1"}},ne,{children:kt()}))});function tI(){return G.useContext(JM)}function nI(){for(var n=[],e=0;eOZ(e),[e]),s=G.useMemo(()=>!C0(e)||rI(e)?null:e.children.map((i,r)=>S.jsx(aI,{node:i},r)),[e]);return S.jsx("span",Object.assign({className:n},t,{children:s}))}function $0(){return G.useContext(sI)}function NZ(){const n=$0();mt(n);const{onGetStructTreeError:e,onGetStructTreeSuccess:t}=n,[s,i]=Au(),{value:r,error:o}=s,{customTextRenderer:a,page:l}=n;function c(){r&&t&&t(r)}function h(){o&&(ls(!1,o.toString()),e&&e(o))}return G.useEffect(function(){i({type:"RESET"})},[i,l]),G.useEffect(function(){if(a||!l)return;const d=Wp(l.getStructTree()),p=d;return d.promise.then(m=>{i({type:"RESOLVE",value:m})}).catch(m=>{i({type:"REJECT",error:m})}),()=>wc(p)},[a,l,i]),G.useEffect(()=>{if(r!==void 0){if(r===!1){h();return}c()}},[r]),r?S.jsx(aI,{className:"react-pdf__Page__structTree structTree",node:r}):null}const Yx=KM;function LZ(n){const e=$0();mt(e);const t=Object.assign(Object.assign({},e),n),{_className:s,canvasBackground:i,devicePixelRatio:r=SZ(),onRenderError:o,onRenderSuccess:a,page:l,renderForms:c,renderTextLayer:h,rotate:u,scale:d}=t,{canvasRef:p}=n;mt(l);const m=G.useRef(null);function g(){l&&a&&a(qw(l,d))}function v(k){kZ(k)||(ls(!1,k.toString()),o&&o(k))}const y=G.useMemo(()=>l.getViewport({scale:d*r,rotation:u}),[r,l,u,d]),w=G.useMemo(()=>l.getViewport({scale:d,rotation:u}),[l,u,d]);G.useEffect(function(){if(!l)return;l.cleanup();const{current:A}=m;if(!A)return;A.width=y.width,A.height=y.height,A.style.width=`${Math.floor(w.width)}px`,A.style.height=`${Math.floor(w.height)}px`,A.style.visibility="hidden";const $={annotationMode:c?Yx.ENABLE_FORMS:Yx.ENABLE,canvasContext:A.getContext("2d",{alpha:!1}),viewport:y};i&&($.background=i);const E=l.render($),O=E;return E.promise.then(()=>{A.style.visibility="",g()}).catch(v),()=>wc(O)},[i,l,c,y,w]);const _=G.useCallback(()=>{const{current:k}=m;k&&(k.width=0,k.height=0)},[]);return G.useEffect(()=>_,[_]),S.jsx("canvas",{className:`${s}__canvas`,dir:"ltr",ref:nI(p,m),style:{display:"block",userSelect:"none"},children:h?S.jsx(NZ,{}):null})}function DZ(n){return"str"in n}function FZ(){const n=$0();mt(n);const{customTextRenderer:e,onGetTextError:t,onGetTextSuccess:s,onRenderTextLayerError:i,onRenderTextLayerSuccess:r,page:o,pageIndex:a,pageNumber:l,rotate:c,scale:h}=n;mt(o);const[u,d]=Au(),{value:p,error:m}=u,g=G.useRef(null);ls(Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-text-layer"),10)===1,"TextLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-text-layer");function v(){p&&s&&s(p)}function y(){m&&(ls(!1,m.toString()),t&&t(m))}G.useEffect(function(){d({type:"RESET"})},[o,d]),G.useEffect(function(){if(!o)return;const O=Wp(o.getTextContent()),F=O;return O.promise.then(B=>{d({type:"RESOLVE",value:B})}).catch(B=>{d({type:"REJECT",error:B})}),()=>wc(F)},[o,d]),G.useEffect(()=>{if(p!==void 0){if(p===!1){y();return}v()}},[p]);const w=G.useCallback(()=>{r&&r()},[r]),_=G.useCallback(E=>{ls(!1,E.toString()),i&&i(E)},[i]);function k(){const E=g.current;E&&E.classList.add("selecting")}function A(){const E=g.current;E&&E.classList.remove("selecting")}const $=G.useMemo(()=>o.getViewport({scale:h,rotation:c}),[o,c,h]);return G.useLayoutEffect(function(){if(!o||!p)return;const{current:O}=g;if(!O)return;O.innerHTML="";const F=o.streamTextContent({includeMarkedContent:!0}),B={container:O,textContentSource:F,viewport:$},L=new ZM(B),z=L;return L.render().then(()=>{const K=document.createElement("div");K.className="endOfContent",O.append(K);const D=O.querySelectorAll('[role="presentation"]');if(e){let Q=0;p.items.forEach((X,J)=>{if(!DZ(X))return;const se=D[Q];if(!se)return;const de=e(Object.assign({pageIndex:a,pageNumber:l,itemIndex:J},X));se.innerHTML=de,Q+=X.str&&X.hasEOL?2:1})}w()}).catch(_),()=>wc(z)},[e,_,w,o,a,l,p,$]),S.jsx("div",{className:Wy("react-pdf__Page__textContent","textLayer"),onMouseUp:A,onMouseDown:k,ref:g})}function jZ(){const n=tI(),e=$0();mt(e);const t=Object.assign(Object.assign({},n),e),{imageResourcesPath:s,linkService:i,onGetAnnotationsError:r,onGetAnnotationsSuccess:o,onRenderAnnotationLayerError:a,onRenderAnnotationLayerSuccess:l,page:c,pdf:h,renderForms:u,rotate:d,scale:p=1}=t;mt(h),mt(c),mt(i);const[m,g]=Au(),{value:v,error:y}=m,w=G.useRef(null);ls(Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-annotation-layer"),10)===1,"AnnotationLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-annotations");function _(){v&&o&&o(v)}function k(){y&&(ls(!1,y.toString()),r&&r(y))}G.useEffect(function(){g({type:"RESET"})},[g,c]),G.useEffect(function(){if(!c)return;const F=Wp(c.getAnnotations()),B=F;return F.promise.then(L=>{g({type:"RESOLVE",value:L})}).catch(L=>{g({type:"REJECT",error:L})}),()=>{wc(B)}},[g,c]),G.useEffect(()=>{if(v!==void 0){if(v===!1){k();return}_()}},[v]);function A(){l&&l()}function $(O){ls(!1,`${O}`),a&&a(O)}const E=G.useMemo(()=>c.getViewport({scale:p,rotation:d}),[c,d,p]);return G.useEffect(function(){if(!h||!c||!i||!v)return;const{current:F}=w;if(!F)return;const B=E.clone({dontFlip:!0}),L={accessibilityManager:null,annotationCanvasMap:null,annotationEditorUIManager:null,div:F,l10n:null,page:c,structTreeLayer:null,viewport:B},z={annotations:v,annotationStorage:h.annotationStorage,div:F,imageResourcesPath:s,linkService:i,page:c,renderForms:u,viewport:B};F.innerHTML="";try{new GM(L).render(z),A()}catch(K){$(K)}return()=>{}},[v,s,i,c,h,u,E]),S.jsx("div",{className:Wy("react-pdf__Page__annotations","annotationLayer"),ref:w})}var zZ=function(n,e){var t={};for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&e.indexOf(s)<0&&(t[s]=n[s]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(n);i{if(!ne)return null;let an=1;const ln=b??Jx;if(I||p){const en=ne.getViewport({scale:1,rotation:lt});I?an=I/en.width:p&&(an=p/en.height)}return ln*an},[p,ne,lt,b,I]);G.useEffect(function(){return()=>{Ga(Ie)&&i&&x&&x(Ie)}},[i,J,Ie,x]);function Jt(){if(O){if(!ne||!tt)return;O(qw(ne,tt))}if(i&&se){if(!Ga(Ie)||!kt.current)return;se(Ie,kt.current)}}function Pn(){ke&&(ls(!1,ke.toString()),E&&E(ke))}G.useEffect(function(){ae({type:"RESET"})},[ae,J,Ie]),G.useEffect(function(){if(!J||!Ge)return;const ln=Wp(J.getPage(Ge)),en=ln;return ln.promise.then(fs=>{ae({type:"RESOLVE",value:fs})}).catch(fs=>{ae({type:"REJECT",error:fs})}),()=>wc(en)},[ae,J,Ge]),G.useEffect(()=>{if(ne!==void 0){if(ne===!1){Pn();return}Jt()}},[ne,tt]);const Rn=G.useMemo(()=>ne&&Ga(Ie)&&Ge&&Ga(lt)&&Ga(tt)?{_className:s,canvasBackground:r,customTextRenderer:h,devicePixelRatio:u,onGetAnnotationsError:y,onGetAnnotationsSuccess:w,onGetStructTreeError:_,onGetStructTreeSuccess:k,onGetTextError:A,onGetTextSuccess:$,onRenderAnnotationLayerError:F,onRenderAnnotationLayerSuccess:B,onRenderError:L,onRenderSuccess:z,onRenderTextLayerError:K,onRenderTextLayerSuccess:D,page:ne,pageIndex:Ie,pageNumber:Ge,renderForms:H,renderTextLayer:N,rotate:lt,scale:tt}:null,[s,r,h,u,y,w,_,k,A,$,F,B,L,z,K,D,ne,Ie,Ge,H,N,lt,tt]),us=G.useMemo(()=>YM(V,()=>ne&&(tt?qw(ne,tt):void 0)),[V,ne,tt]),Mn=`${Ie}@${tt}/${lt}`;function ds(){switch(P){case"custom":return mt(c),S.jsx(c,{},`${Mn}_custom`);case"none":return null;case"canvas":default:return S.jsx(LZ,{canvasRef:o},`${Mn}_canvas`)}}function Yn(){return N?S.jsx(FZ,{},`${Mn}_text`):null}function Jn(){return de?S.jsx(jZ,{},`${Mn}_annotations`):null}function In(){return S.jsxs(sI.Provider,{value:Rn,children:[ds(),Yn(),Jn(),a]})}function Qt(){return Ge?J===null||ne===void 0||ne===null?S.jsx(fh,{type:"loading",children:typeof g=="function"?g():g}):J===!1||ne===!1?S.jsx(fh,{type:"error",children:typeof d=="function"?d():d}):In():S.jsx(fh,{type:"no-data",children:typeof v=="function"?v():v})}return S.jsx("div",Object.assign({className:Wy(s,l),"data-page-number":Ge,ref:nI(m,kt),style:{"--scale-factor":`${tt}`,backgroundColor:r||"white",position:"relative",minWidth:"min-content",minHeight:"min-content"}},us,{children:Qt()}))}AZ();x0.workerSrc="pdf.worker.mjs";const BZ="/assets/pdf.worker.min-GB3t0DcA.js";x0.workerSrc=BZ;function qZ(){if(!x0.workerSrc)throw new Error("The bundled PDF worker is not configured.");if(Hw!=="4.8.69")throw new Error(`PDF runtime version mismatch (${Hw}).`)}const UZ=280,VZ=new Set(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","A"]);function WZ({enabled:n,pagesRoot:e,routeId:t,paperVersion:s,numPages:i,resetKey:r,onSelect:o,onError:a}){const l=G.useRef(!1),c=G.useRef(!1),h=G.useRef(""),u=G.useRef(0),d=G.useRef(0),p=G.useRef(""),m=G.useRef(o),g=G.useRef(a);m.current=o,g.current=a,G.useEffect(()=>{l.current=!1,c.current=!1,h.current="",p.current="",window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0},[t,s,r]),G.useEffect(()=>{if(!n){l.current=!1,c.current=!1,window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0;return}const v=()=>{var F,B;const E=oL({selection:window.getSelection(),pagesRoot:e.current,routeId:t,paperVersion:s,numPages:i});if(!E.ok){E.error&&((F=g.current)==null||F.call(g,E.error));return}const O=aL(E.selection);O!==h.current&&(h.current=O,(B=m.current)==null||B.call(m,E.selection))},y=()=>{window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=requestAnimationFrame(()=>{d.current=0,v()})},w=E=>{const O=e.current;!O||!E.isPrimary||E.pointerType==="mouse"&&E.button!==0||!(E.target instanceof Node)||!O.contains(E.target)||(l.current=!0,c.current=!1,h.current="",window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0)},_=E=>{!l.current||!E.isPrimary||(l.current=!1,y())},k=E=>{!l.current||!E.isPrimary||(l.current=!1,c.current=!0,p.current="",window.clearTimeout(u.current),cancelAnimationFrame(d.current),d.current=0)},A=E=>{var L,z;const O=e.current;if(!O||l.current||!(E.target instanceof Node&&!!((z=(L=E.target instanceof Element?E.target:E.target.parentElement)==null?void 0:L.closest)!=null&&z.call(L,".textLayer")&&O.contains(E.target))))return;const B=(E.key==="a"||E.key==="A")&&(E.metaKey||E.ctrlKey);(E.shiftKey||VZ.has(E.key)||B)&&(c.current=!1,h.current="",y())},$=()=>{if(l.current||c.current)return;const E=window.getSelection(),O=E&&E.rangeCount===1?`${E.toString()}\0${E.anchorNode?1:0}\0${E.focusNode?1:0}`:"";p.current=O,window.clearTimeout(u.current),u.current=window.setTimeout(()=>{p.current===O&&v()},UZ)};return document.addEventListener("pointerdown",w,!0),document.addEventListener("pointerup",_,!0),document.addEventListener("pointercancel",k,!0),document.addEventListener("keyup",A,!0),document.addEventListener("selectionchange",$),()=>{document.removeEventListener("pointerdown",w,!0),document.removeEventListener("pointerup",_,!0),document.removeEventListener("pointercancel",k,!0),document.removeEventListener("keyup",A,!0),document.removeEventListener("selectionchange",$),window.clearTimeout(u.current),cancelAnimationFrame(d.current)}},[n,i,e,s,t])}const GZ=.25,KZ=4,Qx=[.25,.33,.5,.67,.75,.9,1,1.1,1.25,1.5,1.75,2,2.5,3,4];function Uw(n){return Math.max(GZ,Math.min(KZ,n))}function Sm(n,e){const t=e>0?Qx:[...Qx].reverse();return t.find(s=>(s-n)*e>.005)??t[t.length-1]}function ZZ({paperTitle:n,paperHref:e,resources:t,page:s,pages:i,zoomPercent:r,searchOpen:o,searchQuery:a,searchMatch:l,searchCount:c,searching:h,onPage:u,onZoom:d,onZoomIn:p,onZoomOut:m,onToggleSearch:g,onCloseSearch:v,onSearchQuery:y,onSearch:w}){const _=G.useRef(null);G.useLayoutEffect(()=>{const $=_.current,E=document.querySelector(".app-header .brand-mark");if(!$||!E)return;const O=()=>{const B=E.getBoundingClientRect().left-$.getBoundingClientRect().left;$.style.setProperty("--reader-title-inset",`${Math.max(10,B)}px`)};O();const F=new ResizeObserver(O);return F.observe($),F.observe(E),()=>F.disconnect()},[]);const k=$=>{$.preventDefault();const E=Number(new FormData($.currentTarget).get("page"));Number.isInteger(E)&&u(E)},A=$=>{$.preventDefault();const E=$.currentTarget.elements.namedItem("zoom"),O=Number.parseFloat(E.value),F=Number.isFinite(O)&&O>0?Uw(O/100):r/100;E.value=`${Math.round(F*100)}%`,d(F)};return S.jsxs("div",{ref:_,className:"pdf-toolbar","aria-label":"PDF controls",children:[S.jsxs("div",{className:"pdf-toolbar-paper",children:[S.jsx(JA,{className:"pdf-toolbar-back",to:e,"aria-label":"Back",children:"← Back"}),S.jsx(JA,{className:"pdf-toolbar-title",to:e,title:n,"aria-label":`${n} — open paper page`,children:n}),(t==null?void 0:t.repository)&&S.jsxs("a",{className:"pdf-toolbar-resource",href:t.repository.href,target:"_blank",rel:"noopener noreferrer",title:"Official GitHub repository","aria-label":"Open official GitHub repository",children:[S.jsx(Xy,{size:15,strokeWidth:1.8,"aria-hidden":"true"}),S.jsxs("span",{"aria-label":`${t.repository.stars} GitHub stars`,children:["★ ",t.repository.stars.toLocaleString()]})]}),(t==null?void 0:t.projectPage)&&S.jsxs("a",{className:"pdf-toolbar-resource",href:t.projectPage.href,target:"_blank",rel:"noopener noreferrer",title:t.projectPage.href,"aria-label":`Open project page at ${t.projectPage.label}`,children:[S.jsx(RC,{size:14,strokeWidth:1.8,"aria-hidden":"true"}),S.jsx("span",{children:t.projectPage.label})]}),(t==null?void 0:t.huggingFace)&&S.jsxs("a",{className:"pdf-toolbar-resource",href:t.huggingFace.href,target:"_blank",rel:"noopener noreferrer","aria-label":`Open ${t.huggingFace.count} Hugging Face ${t.huggingFace.count===1?"artifact":"artifacts"}`,children:[S.jsx("span",{"aria-hidden":"true",children:"🤗"}),S.jsxs("span",{children:[t.huggingFace.count," HF ",t.huggingFace.count===1?"artifact":"artifacts"]})]})]}),S.jsxs("div",{className:"pdf-toolbar-controls",children:[S.jsxs("div",{className:"pdf-toolbar-group",children:[S.jsx("button",{type:"button",onClick:()=>u(s-1),disabled:s<=1,"aria-label":"Previous page",children:"←"}),S.jsxs("form",{onSubmit:k,className:"pdf-page-form",children:[S.jsx("label",{className:"sr-only",htmlFor:"pdf-current-page",children:"Current page"}),S.jsx("input",{id:"pdf-current-page",name:"page",type:"number",min:1,max:i||1,defaultValue:s,"aria-label":`Page ${s} of ${i||"unknown"}`},s),S.jsxs("span",{"aria-hidden":"true",children:["/ ",i||"—"]})]}),S.jsx("button",{type:"button",onClick:()=>u(s+1),disabled:!i||s>=i,"aria-label":"Next page",children:"→"})]}),S.jsxs("div",{className:"pdf-toolbar-group",children:[S.jsx("button",{type:"button",onClick:m,"aria-label":"Zoom out",children:"−"}),S.jsx("form",{onSubmit:A,className:"pdf-zoom-form",children:S.jsx("input",{className:"pdf-zoom-value",name:"zoom",inputMode:"decimal",defaultValue:`${r}%`,onFocus:$=>$.currentTarget.select(),onBlur:$=>{var E;return(E=$.currentTarget.form)==null?void 0:E.requestSubmit()},"aria-label":`Zoom ${r}%`},r)}),S.jsx("button",{type:"button",onClick:p,"aria-label":"Zoom in",children:"+"}),S.jsx("button",{type:"button",onClick:g,"aria-expanded":o,"aria-controls":"pdf-search-controls",children:"Search"})]})]}),o&&S.jsxs("div",{id:"pdf-search-controls",className:"pdf-search-controls",children:[S.jsx("label",{className:"sr-only",htmlFor:"pdf-search-input",children:"Search document"}),S.jsx("input",{id:"pdf-search-input",autoFocus:!0,value:a,onChange:$=>y($.target.value),placeholder:"Search document"}),S.jsx("span",{role:"status",children:h?"Searching…":a?`${c?l+1:0} of ${c}`:""}),S.jsx("button",{type:"button",onClick:()=>w(-1),disabled:!c,"aria-label":"Previous match",children:"↑"}),S.jsx("button",{type:"button",onClick:()=>w(1),disabled:!c,"aria-label":"Next match",children:"↓"}),S.jsx("button",{type:"button",onClick:v,"aria-label":"Close search",title:"Close search",children:S.jsx(N_,{size:16,"aria-hidden":"true"})})]})]})}function eE(n){let e;try{e=new URL(n)}catch{return null}if(!["http:","https:"].includes(e.protocol)||!/^(www\.)?arxiv\.org$/i.test(e.hostname))return null;const t=e.pathname.match(/^\/(?:abs|pdf|html)\/(\d{4}\.\d{4,5}|[a-z-]+(?:\.[A-Z]{2})?\/\d{7})(?:v\d+)?(?:\.pdf)?\/?$/i);return(t==null?void 0:t[1])??null}const XZ=8,YZ=300;function JZ(n){const e=n.replace(/^\s*\[[^\]]{1,6}\]\s*/,"").split(/[.?!](?=\s|$|[A-Z])/).map(o=>o.replace(/\s+/g," ").trim()).filter(Boolean),t=o=>o.length<=YZ&&o.split(" ").length>=3&&/[a-z]/i.test(o)&&!/https?:\/\//i.test(o)&&!/^arxiv preprint/i.test(o),s=(o,a)=>a.length-o.length,i=e.filter(t).sort(s),r=e.slice(0,-1).map((o,a)=>`${o}. ${e[a+1]}`).filter(t).sort(s);return[...new Set([...i,...r])].slice(0,XZ)}function QZ(n,e){let t;const s=new Map,i=new Map,r=new Map;let o;const a=()=>t??(t=(async()=>{var d;const h=await n.getDestinations(),u=[];for(const[p,m]of Object.entries(h)){if(!/^cite[.:]/i.test(p)||((d=m[1])==null?void 0:d.name)!=="XYZ"||typeof m[2]!="number"||typeof m[3]!="number")continue;const g=typeof m[0]=="number"?m[0]+1:await n.getPageIndex(m[0])+1;u.push({name:p,page:g,x:m[2],y:m[3]})}return u})()),l=h=>{let u=r.get(h);return u||(u=(async()=>{const d=await a(),p=d.find(E=>E.name===h);if(!p)return null;const m=d.filter(E=>E.page===p.page),g=m.filter(E=>Math.abs(E.x-p.x)<24),v=Math.max(0,...g.filter(E=>E.yE.y)),y=Math.min(1/0,...m.filter(E=>E.x>p.x+24).map(E=>E.x-4));let w=s.get(p.page);w||(w=n.getPage(p.page).then(E=>E.getAnnotations()),s.set(p.page,w));const _=new Set,k=(E,O)=>E>=p.x-4&&Ev;for(const E of await w){if(!E.url||!E.rect)continue;const O=eE(E.url);if(!O)continue;const[F,B,L,z]=E.rect;k((F+L)/2,(B+z)/2)&&_.add(O)}let A=i.get(p.page);A||(A=n.getPage(p.page).then(E=>E.getTextContent()),i.set(p.page,A));const $=(await A).items.filter(E=>"str"in E&&k(E.transform[4],E.transform[5])).map(E=>"str"in E?E.str+(E.hasEOL?" ":""):"").join("");for(const E of $.replace(/\s/g,"").matchAll(/(?:arxiv:|arxiv\.org\/(?:abs|pdf|html)\/)(\d{4}\.\d{4,5}|[a-z-]+(?:\.[A-Z]{2})?\/\d{7})(?:v\d+)?/gi))_.add(E[1]);return{arxivId:_.size===1?[..._][0]:null,titles:JZ($)}})(),r.set(h,u)),u},c=()=>o??(o=(async()=>{const h=new Map;if(!e)return h;try{const u=await a(),d=[];for(const p of u){const m=await l(p.name);m&&(m.arxivId||m.titles.length)&&d.push({key:p.name,arxiv_id:m.arxivId,titles:m.titles})}return d.length?await e(d):h}catch{return h}})());return e&&c(),async h=>{if(h.url)return eE(h.url);if(typeof h.dest!="string"||!/^cite[.:]/i.test(h.dest))return null;const u=await l(h.dest);return u?u.arxivId??(await c()).get(h.dest)??null:null}}function eX({anchor:n,routeId:e,internal:t}){G.useEffect(()=>{const i=n.style.display;return n.style.display="none",()=>{n.style.display=i}},[n]);const s=n.parentElement;return s?QN.createPortal(S.jsx(D_,{routeId:e,to:n.href,target:t?void 0:"_blank",className:"pdf-paper-preview-link",title:/^\d+$/.test(e)?"Preview paper":`Preview arXiv:${e}`,ariaLabel:`${t?"Citation":"arXiv paper"} ${e}`,onClick:t?i=>{i.preventDefault(),n.click()}:void 0,previewFooter:()=>S.jsxs("div",{className:"pdf-paper-preview-actions",children:[S.jsx("a",{href:`/paper/${encodeURIComponent(e)}`,target:"_blank",rel:"noopener noreferrer",children:"Open paper ↗"}),t&&S.jsx("button",{type:"button",onClick:()=>n.click(),children:"Jump to reference"})]}),children:null}),s):null}function tX(n,e,t,s){const i=G.useRef([]),r=G.useRef(0),[o,a]=G.useState([]);G.useEffect(()=>()=>{r.current+=1},[]);const l=G.useCallback(h=>{i.current=h},[]),c=G.useCallback(()=>{var d;const h=++r.current;if(a([]),!t)return;const u=new Map(Array.from(((d=n.current)==null?void 0:d.querySelectorAll("[data-annotation-id] a:not(.pdf-paper-preview-link)"))??[]).map(p=>{var m;return[(m=p.parentElement)==null?void 0:m.dataset.annotationId,p]}));Promise.all(i.current.map(async p=>{const m=u.get(p.id);if(!m)return null;const g=await t(p).catch(()=>null);return g?{anchor:m,routeId:g,internal:!p.url}:null})).then(p=>{if(r.current!==h)return;const m=p.filter(g=>g!==null&&g.anchor.isConnected);m.length&&(s==null||s([...new Set(m.map(g=>g.routeId))])),a(m)})},[s,n,t]);return G.useEffect(()=>{const h=n.current;if(!h||!e||!t)return;let u=requestAnimationFrame(c);const d=new MutationObserver(p=>{p.some(m=>[...m.addedNodes].some(g=>g instanceof Element&&g.matches(".linkAnnotation")))&&(cancelAnimationFrame(u),u=requestAnimationFrame(c))});return d.observe(h,{childList:!0,subtree:!0}),()=>{d.disconnect(),cancelAnimationFrame(u),r.current+=1}},[c,n,t,e]),{paperLinks:o,onAnnotations:l}}function nX({entries:n,activeIndex:e,onSelect:t}){const s=G.useId(),[i,r]=G.useState(!1);return G.useEffect(()=>{if(!i)return;const o=a=>{a.key==="Escape"&&(a.preventDefault(),r(!1))};return window.addEventListener("keydown",o,{capture:!0}),()=>window.removeEventListener("keydown",o,{capture:!0})},[i]),n.length?S.jsxs("nav",{className:`pdf-outline${i?" is-pinned":""}`,"aria-label":"Paper sections",children:[S.jsx("button",{type:"button",className:"pdf-outline-rail","aria-label":"Table of contents","aria-expanded":i,"aria-controls":s,onClick:()=>r(o=>!o),children:n.map(o=>S.jsx("span",{className:`pdf-outline-tick level-${o.level}${o.index===e?" is-active":""}`},o.index))}),S.jsx("div",{id:s,className:"pdf-outline-panel",children:S.jsx("ol",{children:n.map(o=>S.jsx("li",{className:`level-${o.level}`,children:S.jsx("a",{href:`#pdf-section-${o.index}`,"aria-current":o.index===e?"location":void 0,onClick:a=>{a.preventDefault(),a.currentTarget.blur(),r(!1),t(o)},children:o.title})},o.index))})})]}):null}const sX=/^#pdf-section-(\d+)$/,iX=2;function rX(n){const e=sX.exec(n);return e?Number(e[1]):void 0}function oX(n,e){let t=-1;return n.forEach((s,i)=>{s<=e&&(t=i)}),t}async function aX(n,e){return typeof e=="string"?n.getDestination(e):Array.isArray(e)?e:null}async function lX(n,e){const[t,s,,i]=e;let r;if(typeof t=="number")r=t;else if(t&&typeof t=="object"&&"num"in t)r=await n.getPageIndex(t);else return null;if(!Number.isInteger(r)||r<0||r>=n.numPages)return null;const o=r+1;if((s==null?void 0:s.name)!=="XYZ"||typeof i!="number")return{page:o,offset:0};const a=(await n.getPage(o)).view,[,l,,c]=a,h=c-l;return h>0?{page:o,offset:Math.min(1,Math.max(0,(c-i)/h))}:{page:o,offset:0}}async function cX(n){const e=await n.getOutline(),t=[],s=async(i,r)=>{var o;for(const a of i){const l=a.title.replace(/\s+/g," ").trim(),c=await aX(n,a.dest).catch(()=>null),h=c?await lX(n,c).catch(()=>null):null;l&&h&&t.push({index:t.length,title:l,level:r,...h}),r+1"']/g,e=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[e]??e)}function mX(n,e,t){const s=e.trim().toLocaleLowerCase();if(!s)return Qu(n);const i=n.toLocaleLowerCase(),r=`pdf-search-highlight${t?" is-active":""}`;let o=0,a=i.indexOf(s);if(a<0)return Qu(n);let l="";for(;a>=0;)l+=Qu(n.slice(o,a)),l+=`${Qu(n.slice(a,a+s.length))}`,o=a+s.length,a=i.indexOf(s,o);return l+Qu(n.slice(o))}function gX({page:n,width:e,aspect:t,searchQuery:s,activeSearchPage:i,resolveCitation:r,warmPreviews:o}){const a=G.useRef(null),[l,c]=G.useState(n<=2),{paperLinks:h,onAnnotations:u}=tX(a,l,r,o),[d,p]=G.useState(e);!l&&d!==e&&p(e);const m=d===e?[e]:[d,e];return G.useEffect(()=>{const g=a.current;if(!g)return;const v=new IntersectionObserver(([y])=>c(y.isIntersecting),{rootMargin:"120% 0px"});return v.observe(g),()=>v.disconnect()},[]),S.jsxs("div",{ref:a,className:"pdf-page","data-page":n,style:{minHeight:Math.round(e*t)},children:[l&&m.map(g=>{const v=g===d,y=v?void 0:()=>p(g);return S.jsx("div",{className:v?"pdf-page-layer":"pdf-page-layer is-pending",style:v&&g!==e?{"--pdf-layer-scale":e/g}:void 0,"aria-hidden":v?void 0:!0,children:S.jsx(HZ,{pageNumber:n,width:g,devicePixelRatio:fX(g,t),renderTextLayer:v,renderAnnotationLayer:v,onGetAnnotationsSuccess:u,onRenderSuccess:y,onRenderError:y,loading:null,customTextRenderer:s?({str:w})=>mX(w,s,n===i):void 0})},g)}),l&&h.map(g=>{var v;return S.jsx(eX,{...g},(v=g.anchor.parentElement)==null?void 0:v.dataset.annotationId)})]})}function yX({downloadUrl:n,page:e,pages:t,zoomPercent:s,onPage:i,onZoomIn:r,onZoomOut:o,onFitWidth:a}){const l=c=>{c.preventDefault();const h=Number(new FormData(c.currentTarget).get("page"));Number.isInteger(h)&&i(h)};return S.jsxs("div",{className:"paper-pdf-toolbar","aria-label":"Paper preview controls",children:[S.jsxs("div",{className:"paper-pdf-toolbar-group",children:[S.jsx("button",{type:"button",onClick:()=>i(e-1),disabled:e<=1,"aria-label":"Previous page",children:"Previous"}),S.jsxs("form",{onSubmit:l,children:[S.jsx("label",{className:"sr-only",htmlFor:"paper-pdf-current-page",children:"Current page"}),S.jsx("input",{id:"paper-pdf-current-page",name:"page",type:"number",min:1,max:t||1,defaultValue:e,"aria-label":`Page ${e} of ${t||"unknown"}`},e)]}),S.jsxs("span",{role:"status","aria-live":"polite",children:["Page ",e," of ",t||"—"]}),S.jsx("button",{type:"button",onClick:()=>i(e+1),disabled:!t||e>=t,"aria-label":"Next page",children:"Next"})]}),S.jsxs("div",{className:"paper-pdf-toolbar-group",children:[S.jsx("button",{type:"button",onClick:o,"aria-label":"Zoom out",children:"−"}),S.jsxs("output",{"aria-live":"polite",children:[s,"%"]}),S.jsx("button",{type:"button",onClick:r,"aria-label":"Zoom in",children:"+"}),S.jsx("button",{type:"button",onClick:a,children:"Fit to width"}),S.jsx("a",{href:n,download:!0,children:"Download PDF"})]})]})}function vX({url:n,downloadUrl:e=n,paperKey:t,paperTitle:s,paperHref:i,resources:r,initialPage:o=1,resizeActive:a=!1,selectionEnabled:l=!1,paperVersion:c="",onPaperSelection:h,onPaperSelectionError:u,onPageChange:d,onClose:p,loadErrorMessage:m,chrome:g="reader"}){const v=G.useRef(null),y=G.useRef(null),w=G.useRef(null),_=G.useRef(null),[k,A]=G.useState(),$=EC(),E=G.useMemo(()=>mL($),[$]),O=G.useRef(()=>{}),F=G.useRef(0),B=G.useRef(!1),L=G.useRef(),z=G.useRef(0),K=G.useRef(),D=G.useRef(0),Q=G.useRef(0),X=G.useRef(1),J=G.useRef(1),se=G.useRef(1),de=G.useRef(!1),[H,P]=G.useState(0),[N,M]=G.useState(0),[b,x]=G.useState(tE),[I,V]=G.useState([]),[Z,ae]=G.useState(-1),[ne,ke]=G.useState(),kt=G.useRef(()=>{}),[Ie,Ge]=G.useState(o),[lt,tt]=G.useState(),[Jt,Pn]=G.useState(700),[Rn,us]=G.useState(1),[Mn,ds]=G.useState(""),[Yn,Jn]=G.useState(!1),[In,Qt]=G.useState(""),[an,ln]=G.useState(!1),[en,fs]=G.useState([]),[Ic,Ha]=G.useState(0),q=Math.max(120,Math.round(Jt*Rn)),ge=G.useMemo(()=>g==="canvas"?{withCredentials:!0}:{disableStream:!0,disableAutoFetch:!0},[g]);WZ({enabled:l&&!!c,pagesRoot:w,routeId:t,paperVersion:c,numPages:N||void 0,resetKey:`${t}-${H}`,onSelect:h,onError:u}),G.useEffect(()=>{qZ()},[]),G.useEffect(()=>{var oe;cancelAnimationFrame(D.current),window.clearTimeout(Q.current),D.current=0,Q.current=0,z.current=0,M(0),x(tE),V([]),ae(-1),ke(void 0),A(void 0),Ge(o),tt(void 0),us(1),X.current=1,J.current=1,se.current=1,de.current=!1,(oe=w.current)==null||oe.style.setProperty("--pdf-live-scale","1"),ds(""),Qt(""),fs([])},[o,t,H]),G.useEffect(()=>{const oe=y.current;if(!oe)return;const Ce=()=>{var tn;const cn=Math.max(240,oe.clientWidth-10);a&&(de.current=!0);const xt=a||de.current;se.current=xt?cn/Jt:1,(tn=w.current)==null||tn.style.setProperty("--pdf-live-scale",String(se.current)),xt||Pn(cn)};Ce();const nt=new ResizeObserver(Ce);return nt.observe(oe),()=>nt.disconnect()},[Jt,a]),G.useLayoutEffect(()=>{var Ce;X.current=Rn,(Ce=w.current)==null||Ce.style.setProperty("--pdf-live-scale",String(de.current?se.current:1));const oe=y.current;oe&&L.current&&nE(oe,L.current),L.current=void 0,B.current&&(oe&&(oe.scrollLeft=Math.max(0,(oe.scrollWidth-oe.clientWidth)/2)),B.current=!1)},[q,a,Rn]);const Ee=G.useCallback(oe=>{window.clearTimeout(Q.current);const Ce=Uw(oe(J.current));J.current=Ce,B.current=Ce!==X.current,B.current&&y.current&&(L.current=pv(y.current)),us(Ce)},[]);G.useEffect(()=>{const oe=y.current;if(!oe)return;const Ce=nt=>{nt.ctrlKey&&(nt.preventDefault(),z.current+=nt.deltaY,K.current=nt.clientY,!D.current&&(D.current=requestAnimationFrame(()=>{var On;const cn=z.current;z.current=0,D.current=0;const xt=Uw(J.current*Math.exp(-cn*.002));J.current=xt;const tn=pv(oe,K.current);(On=w.current)==null||On.style.setProperty("--pdf-live-scale",String(se.current*xt/X.current)),tn&&nE(oe,tn),window.clearTimeout(Q.current),Q.current=window.setTimeout(()=>{B.current=xt!==X.current,B.current&&(L.current=pv(oe,K.current)),us(J.current)},180)})))};return oe.addEventListener("wheel",Ce,{passive:!1}),()=>{oe.removeEventListener("wheel",Ce),cancelAnimationFrame(D.current),window.clearTimeout(Q.current),D.current=0,Q.current=0,z.current=0}},[]);const it=G.useCallback(oe=>{const Ce=Math.max(1,Math.min(N||1,oe));Ge(Ce),d==null||d(Ce)},[d,N]),Rt=G.useCallback(()=>{F.current+=1,Jn(!1),Qt(""),fs([]),Ha(0),ln(!1)},[]);G.useEffect(()=>{const oe=y.current;if(!oe||!N)return;let Ce=0,nt=0;const cn=(On=!1)=>{window.clearTimeout(nt),cancelAnimationFrame(Ce),Ce=requestAnimationFrame(()=>{const xi=oe.getBoundingClientRect().top,Ro=xi+oe.clientHeight/2;let zr=Ie,Ba=Number.POSITIVE_INFINITY;const Uu=new Map;oe.querySelectorAll("[data-page]").forEach(Oc=>{const Hr=Oc.getBoundingClientRect();Uu.set(Number(Oc.dataset.page),Hr);const XA=Ro>=Hr.top&&Ro<=Hr.bottom?0:Math.min(Math.abs(Ro-Hr.top),Math.abs(Ro-Hr.bottom));XA{const Hr=Uu.get(Oc.page);return Hr?Hr.top+Hr.height*Oc.offset:Number.POSITIVE_INFINITY});ae(oX(XN,xi+uX))})},xt=()=>{cancelAnimationFrame(Ce),window.clearTimeout(nt),nt=window.setTimeout(()=>cn(!0),150)},tn=()=>cn(!0);return oe.addEventListener("scroll",xt,{passive:!0}),oe.addEventListener("scrollend",tn),cn(),()=>{oe.removeEventListener("scroll",xt),oe.removeEventListener("scrollend",tn),window.clearTimeout(nt),cancelAnimationFrame(Ce)}},[I,Ie,q,N,it]),G.useEffect(()=>{const oe=Ce=>{Ce.defaultPrevented||((Ce.ctrlKey||Ce.metaKey)&&Ce.key.toLowerCase()==="f"?(Ce.preventDefault(),Jn(!0)):Ce.key==="Escape"&&Yn?(Ce.preventDefault(),Rt()):Ce.key==="Escape"&&!Ce.repeat&&p&&(Ce.preventDefault(),p()))};return window.addEventListener("keydown",oe),()=>window.removeEventListener("keydown",oe)},[Rt,p,Yn]),G.useEffect(()=>{const oe=_.current,Ce=In.trim().toLocaleLowerCase(),nt=++F.current;if(!oe||!Ce){fs([]),Ha(0),ln(!1);return}ln(!0);const cn=window.setTimeout(()=>void(async()=>{const xt=[];for(let tn=1;tn<=oe.numPages;tn+=1){if(F.current!==nt)return;const Ro=(await(await oe.getPage(tn)).getTextContent()).items.map(Ba=>"str"in Ba?Ba.str:"").join(" ").toLocaleLowerCase();let zr=0;for(;(zr=Ro.indexOf(Ce,zr))>=0;)xt.push(tn),zr+=Math.max(1,Ce.length)}F.current===nt&&(fs(xt),Ha(0),ln(!1),xt[0]&&ki(xt[0]))})().catch(()=>{F.current===nt&&ln(!1)}),180);return()=>window.clearTimeout(cn)},[In,N]);const ki=oe=>{var cn,xt;const Ce=Math.max(1,Math.min(N||1,oe)),nt=window.matchMedia("(prefers-reduced-motion: reduce)").matches?"instant":"smooth";tt(nt==="smooth"?Ce:void 0),(xt=(cn=y.current)==null?void 0:cn.querySelector(`[data-page="${Ce}"]`))==null||xt.scrollIntoView({block:"start",behavior:nt}),nt==="instant"&&it(Ce)},tr=(oe,Ce)=>{const nt=y.current,cn=nt==null?void 0:nt.querySelector(`[data-page="${oe.page}"]`);if(!nt||!cn)return;const xt=Ce??(window.matchMedia("(prefers-reduced-motion: reduce)").matches?"instant":"smooth"),tn=cn.getBoundingClientRect(),On=tn.top-nt.getBoundingClientRect().top+nt.scrollTop+tn.height*oe.offset;tt(xt==="smooth"?oe.page:void 0),ke(xt==="smooth"?oe.index:void 0),nt.scrollTo({top:Math.max(0,On-hX),behavior:xt}),xt==="instant"&&it(oe.page),g==="reader"&&window.history.replaceState(window.history.state,"",`#pdf-section-${oe.index}`)};G.useLayoutEffect(()=>{O.current=ki,kt.current=tr});const KN=oe=>{if(!en.length)return;const Ce=(Ic+oe+en.length)%en.length;Ha(Ce),ki(en[Ce])},ZN=G.useMemo(()=>Array.from({length:N},(oe,Ce)=>Ce+1),[N]);return S.jsxs("div",{ref:v,className:"pdf-viewer",children:[g==="canvas"?S.jsx(yX,{downloadUrl:e,page:lt??Ie,pages:N,zoomPercent:Math.round(Rn*100),onPage:ki,onZoomIn:()=>Ee(oe=>Sm(oe,1)),onZoomOut:()=>Ee(oe=>Sm(oe,-1)),onFitWidth:()=>Ee(()=>1)}):S.jsx(ZZ,{paperTitle:s,paperHref:i,resources:r,page:lt??Ie,pages:N,zoomPercent:Math.round(Rn*100),searchOpen:Yn,searchQuery:In,searchMatch:Ic,searchCount:en.length,searching:an,onPage:ki,onZoom:oe=>Ee(()=>oe),onZoomIn:()=>Ee(oe=>Sm(oe,1)),onZoomOut:()=>Ee(oe=>Sm(oe,-1)),onToggleSearch:()=>Yn?Rt():Jn(!0),onCloseSearch:Rt,onSearchQuery:Qt,onSearch:KN}),S.jsxs("div",{className:"pdf-scroll-frame",children:[S.jsx("div",{ref:y,className:"pdf-scroll",role:"region","aria-label":g==="canvas"?`${s} PDF preview`:"Paper PDF",children:Mn?S.jsxs("div",{className:"pdf-error",role:"alert",children:[S.jsx("p",{children:Mn}),S.jsxs("div",{children:[S.jsx("button",{type:"button",onClick:()=>P(oe=>oe+1),children:"Retry"})," ",S.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:"Open PDF"})]})]}):S.jsx(PZ,{file:n,options:ge,loading:S.jsx("div",{className:"pdf-loading",role:"status",children:g==="canvas"?"Loading paper preview…":"Loading paper…"}),onLoadSuccess:oe=>{_.current=oe,g==="reader"&&A(()=>QZ(oe,E.lookup)),M(oe.numPages),ds("");const Ce=oe.getPage(1).then(On=>{const[xi,Ro,zr,Ba]=On.view,Uu=(Ba-Ro)/(zr-xi);_.current===oe&&Uu>0&&x(Uu)},()=>{}),nt=Math.max(1,Math.min(oe.numPages,o)),cn=()=>{var On,xi;nt<=1||((xi=(On=y.current)==null?void 0:On.querySelector(`[data-page="${nt}"]`))==null||xi.scrollIntoView({block:"start"}),Ge(nt),d==null||d(nt))},xt=On=>void Ce.then(()=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{_.current===oe&&On()}))}),tn=g==="reader"?rX(window.location.hash):void 0;tn===void 0&&xt(cn),cX(oe).catch(()=>[]).then(On=>{if(_.current!==oe||(V(On),tn===void 0))return;const xi=On[tn];xt(()=>xi?kt.current(xi,"instant"):cn())})},onLoadError:oe=>ds(m||pX(oe)),externalLinkTarget:"_blank",onItemClick:({pageNumber:oe})=>O.current(oe),children:S.jsx("div",{ref:w,className:"pdf-pages",style:{"--pdf-live-scale":se.current},children:ZN.map(oe=>S.jsx(gX,{page:oe,width:q,aspect:b,searchQuery:In.trim(),activeSearchPage:en[Ic],resolveCitation:k,warmPreviews:E.warm},oe))})},`${t}-${H}`)}),S.jsx(nX,{entries:I,activeIndex:ne??Z,onSelect:tr})]})]})}let Vw=[],lI=[];(()=>{let n="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,1n,9,16,o,,x,1i,3,,i,,7,a,2,t,3,1k,,,7,2,2,2,3,9,,a,2,q,,2,3,1k,,,5,4,2,2,3,3,,u,2,3,,b,3,1k,,,8,,3,,3,k,2,m,6,,3,1k,,,7,2,2,2,3,7,3,a,2,u,,1n,5,3,3,,4,9,,14,5,1j,,,7,,3,,4,7,2,b,2,t,3,1k,,,7,,3,,4,7,2,b,2,f,,c,4,1j,2,,7,,3,,4,9,,a,2,t,3,1y,,4,6,,,,8,i,2,1p,,,8,c,8,2q,,,a,b,7,21,2,r,,,,,,4,2,1d,k,,2,5,b,,10,9,,2u,b,,6,n,4,4,3,g,4,d,,,3,6,,f,,jj,3,qa,4,s,3,t,2,u,2,1s,w,9,,19,3,,,39,2,y,,3a,c,4,c,63,5,1l,a,,,,,2,o,2,,1c,1a,2,c,k,5,1b,h,12,9,c,3,u,d,1k,e,1c,k,48,3,,l,4,,6,,2,3,5i,1s,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,n,5,4,,2b,2,1e,i,q,i,d,,12,8,p,d,18,4,1b,e,10,,1v,e,c,,8,2,1a,,1f,,,3,2,2,5,2,,,15,5,5,2,6k,8,,2,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,1t,5,8t,2,25,6,1y,b,1d,4,3e,3,1h,f,15,,2,2,a,4,19,b,7,,1p,3,10,e,g,2,18,,c,3,1c,e,8,4,,2,2k,c,6,,2,,4d,c,l,4,1j,2,,7,2,2,2,3,9,,a,2,2,7,3,5,1v,9,,,2,,,4,,5,,,e,2,2a,i,n,,29,k,6j,7,2,9,r,2,2a,h,2y,d,2t,3,2,a,74,f,6t,6,,2,2,4,,,,2,3x,7,2,7,3,,s,a,14,7,,4,8,,9,b,1a,g,5i,8,5j,8,,8,2a,m,,e,3e,6,3,,,2,,7,,,1u,5,,2,,5,9n,4,9,2,,,1c,7,3,5,n,,44l,,6,f,8ug,i,1xc,5,1n,7,t4,,,1j,7,4,29,,b,2,f57,2,3mp,1a,2,n,f2,5,3,6,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,2s,,4g,7,af,,1p,4,e4,4,72,2,6r,,2,,7,2,5,,d6,7,31,7,240,5".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e>1;if(n=lI[s])e=s+1;else return!0;if(e==t)return!1}}function sE(n){return n>=127462&&n<=127487}const iE=8205;function wX(n,e,t=!0,s=!0){return(t?cI:_X)(n,e,s)}function cI(n,e,t){if(e==n.length)return e;e&&hI(n.charCodeAt(e))&&uI(n.charCodeAt(e-1))&&e--;let s=mv(n,e);for(e+=rE(s);e=0&&sE(mv(n,o));)r++,o-=2;if(r%2==0)break;e+=2}else break}return e}function _X(n,e,t){for(;e>1;){let s=cI(n,e-2,t);if(s=56320&&n<57344}function uI(n){return n>=55296&&n<56320}function rE(n){return n<65536?1:2}let at=class dI{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,s){[e,t]=ku(this,e,t);let i=[];return this.decompose(0,e,i,2),s.length&&s.decompose(0,s.length,i,3),this.decompose(t,this.length,i,1),Cr.from(i,this.length-(t-e)+s.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=ku(this,e,t);let s=[];return this.decompose(e,t,s,0),Cr.from(s,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),s=this.length-this.scanIdentical(e,-1),i=new Hd(this),r=new Hd(e);for(let o=t,a=t;;){if(i.next(o),r.next(o),o=0,i.lineBreak!=r.lineBreak||i.done!=r.done||i.value!=r.value)return!1;if(a+=i.value.length,i.done||a>=s)return!0}}iter(e=1){return new Hd(this,e)}iterRange(e,t=this.length){return new fI(this,e,t)}iterLines(e,t){let s;if(e==null)s=this.iter();else{t==null&&(t=this.lines+1);let i=this.line(e).from;s=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new pI(s)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?dI.empty:e.length<=32?new Kt(e):Cr.from(Kt.split(e,[]))}};class Kt extends at{constructor(e,t=SX(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,s,i){for(let r=0;;r++){let o=this.text[r],a=i+o.length;if((t?s:a)>=e)return new AX(i,a,s,o);i=a+1,s++}}decompose(e,t,s,i){let r=e<=0&&t>=this.length?this:new Kt(oE(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=s.pop(),a=Pg(r.text,o.text.slice(),0,r.length);if(a.length<=32)s.push(new Kt(a,o.length+r.length));else{let l=a.length>>1;s.push(new Kt(a.slice(0,l)),new Kt(a.slice(l)))}}else s.push(r)}replace(e,t,s){if(!(s instanceof Kt))return super.replace(e,t,s);[e,t]=ku(this,e,t);let i=Pg(this.text,Pg(s.text,oE(this.text,0,e)),t),r=this.length+s.length-(t-e);return i.length<=32?new Kt(i,r):Cr.from(Kt.split(i,[]),r)}sliceString(e,t=this.length,s=` +`){[e,t]=ku(this,e,t);let i="";for(let r=0,o=0;r<=t&&oe&&o&&(i+=s),er&&(i+=a.slice(Math.max(0,e-r),t-r)),r=l+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let s=[],i=-1;for(let r of e)s.push(r),i+=r.length+1,s.length==32&&(t.push(new Kt(s,i)),s=[],i=-1);return i>-1&&t.push(new Kt(s,i)),t}}class Cr extends at{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let s of e)this.lines+=s.lines}lineInner(e,t,s,i){for(let r=0;;r++){let o=this.children[r],a=i+o.length,l=s+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,s,i);i=a+1,s=l+1}}decompose(e,t,s,i){for(let r=0,o=0;o<=t&&r=o){let c=i&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?s.push(a):a.decompose(e-o,t-o,s,c)}o=l+1}}replace(e,t,s){if([e,t]=ku(this,e,t),s.lines=r&&t<=a){let l=o.replace(e-r,t-r,s),c=this.lines-o.lines+l.lines;if(l.lines>4&&l.lines>c>>6){let h=this.children.slice();return h[i]=l,new Cr(h,this.length-(t-e)+s.length)}return super.replace(r,a,l)}r=a+1}return super.replace(e,t,s)}sliceString(e,t=this.length,s=` +`){[e,t]=ku(this,e,t);let i="";for(let r=0,o=0;re&&r&&(i+=s),eo&&(i+=a.sliceString(e-o,t-o,s)),o=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Cr))return 0;let s=0,[i,r,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=t,r+=t){if(i==o||r==a)return s;let l=this.children[i],c=e.children[r];if(l!=c)return s+l.scanIdentical(c,t);s+=l.length+1}}static from(e,t=e.reduce((s,i)=>s+i.length+1,-1)){let s=0;for(let p of e)s+=p.lines;if(s<32){let p=[];for(let m of e)m.flatten(p);return new Kt(p,t)}let i=Math.max(32,s>>5),r=i<<1,o=i>>1,a=[],l=0,c=-1,h=[];function u(p){let m;if(p.lines>r&&p instanceof Cr)for(let g of p.children)u(g);else p.lines>o&&(l>o||!l)?(d(),a.push(p)):p instanceof Kt&&l&&(m=h[h.length-1])instanceof Kt&&p.lines+m.lines<=32?(l+=p.lines,c+=p.length+1,h[h.length-1]=new Kt(m.text.concat(p.text),m.length+1+p.length)):(l+p.lines>i&&d(),l+=p.lines,c+=p.length+1,h.push(p))}function d(){l!=0&&(a.push(h.length==1?h[0]:Cr.from(h,c)),c=-1,l=h.length=0)}for(let p of e)u(p);return d(),a.length==1?a[0]:new Cr(a,t)}}at.empty=new Kt([""],0);function SX(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Pg(n,e,t=0,s=1e9){for(let i=0,r=0,o=!0;r=t&&(l>s&&(a=a.slice(0,s-i)),i0?1:(e instanceof Kt?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let s=this.nodes.length-1,i=this.nodes[s],r=this.offsets[s],o=r>>1,a=i instanceof Kt?i.text.length:i.children.length;if(o==(t>0?a:0)){if(s==0)return this.done=!0,this.value="",this;t>0&&this.offsets[s-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(t>0?0:1)){if(this.offsets[s]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(i instanceof Kt){let l=i.text[o+(t<0?-1:0)];if(this.offsets[s]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=i.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[s]+=t):(t<0&&this.offsets[s]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Kt?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class fI{constructor(e,t,s){this.value="",this.done=!1,this.cursor=new Hd(e,t>s?-1:1),this.pos=t>s?e.length:0,this.from=Math.min(t,s),this.to=Math.max(t,s)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let s=t<0?this.pos-this.from:this.to-this.pos;e>s&&(e=s),s-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=s?i:t<0?i.slice(i.length-s):i.slice(0,s),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class pI{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:s,value:i}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):s?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(at.prototype[Symbol.iterator]=function(){return this.iter()},Hd.prototype[Symbol.iterator]=fI.prototype[Symbol.iterator]=pI.prototype[Symbol.iterator]=function(){return this});class AX{constructor(e,t,s,i){this.from=e,this.to=t,this.number=s,this.text=i}get length(){return this.to-this.from}}function ku(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function $n(n,e,t=!0,s=!0){return wX(n,e,t,s)}function kX(n){return n>=56320&&n<57344}function xX(n){return n>=55296&&n<56320}function mI(n,e){let t=n.charCodeAt(e);if(!xX(t)||e+1==n.length)return t;let s=n.charCodeAt(e+1);return kX(s)?(t-55296<<10)+(s-56320)+65536:t}function EX(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function gI(n){return n<65536?1:2}const Ww=/\r\n?|\n/;var ei=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(ei||(ei={}));class Lr{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return r+(e-i);r+=a}else{if(s!=ei.Simple&&c>=e&&(s==ei.TrackDel&&ie||s==ei.TrackBefore&&ie))return null;if(c>e||c==e&&t<0&&!a)return e==i||t<0?r:r+l;r+=l}i=c}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return r}touchesRange(e,t=e){for(let s=0,i=0;s=0&&i<=t&&a>=e)return it?"cover":!0;i=a}return!1}toString(){let e="";for(let t=0;t=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Lr(e)}static create(e){return new Lr(e)}}class gn extends Lr{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Gw(this,(t,s,i,r,o)=>e=e.replace(i,i+(s-t),o),!1),e}mapDesc(e,t=!1){return Kw(this,e,t,!0)}invert(e){let t=this.sections.slice(),s=[];for(let i=0,r=0;i=0){t[i]=a,t[i+1]=o;let l=i>>1;for(;s.length0&&Sa(s,t,r.text),r.forward(h),a+=h}let c=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,s){let i=[],r=[],o=0,a=null;function l(h=!1){if(!h&&!i.length)return;od||u<0||d>t)throw new RangeError(`Invalid change range ${u} to ${d} (in doc of length ${t})`);let m=p?typeof p=="string"?at.of(p.split(s||Ww)):p:at.empty,g=m.length;if(u==d&&g==0)return;uo&&as(i,u-o,-1),as(i,d-u,g),Sa(r,i,m),o=d}}return c(e),l(!a),a}static empty(e){return new gn(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],s=[];for(let i=0;ia&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(r.length==1)t.push(r[0],0);else{for(;s.length=0&&t<=0&&t==n[i+1]?n[i]+=e:i>=0&&e==0&&n[i]==0?n[i+1]+=t:s?(n[i]+=e,n[i+1]+=t):n.push(e,t)}function Sa(n,e,t){if(t.length==0)return;let s=e.length-2>>1;if(s>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)a=n.sections[o++],l=n.sections[o++];e(i,c,r,h,u),i=c,r=h}}}function Kw(n,e,t,s=!1){let i=[],r=s?[]:null,o=new tf(n),a=new tf(e);for(let l=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let c=Math.min(o.len,a.len);as(i,c,-1),o.forward(c),a.forward(c)}else if(a.ins>=0&&(o.ins<0||l==o.i||o.off==0&&(a.len=0&&l=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let u=Math.min(h,a.len);c+=u,h-=u,a.forward(u)}else if(a.ins==0&&a.lenl||o.ins>=0&&o.len>l)&&(a||s.length>c),r.forward2(l),o.forward(l)}}}}class tf{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?at.empty:e[t]}textBit(e){let{inserted:t}=this.set,s=this.i-2>>1;return s>=t.length&&!e?at.empty:t[s].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Bo{constructor(e,t,s,i){this.from=e,this.to=t,this.flags=s,this.goalColumn=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let s,i;return this.empty?s=i=e.mapPos(this.from,t):(s=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),s==this.from&&i==this.to?this:new Bo(s,i,this.flags,this.goalColumn)}extend(e,t=e,s=0){if(e<=this.anchor&&t>=this.anchor)return te.range(e,t,void 0,void 0,s);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return te.range(this.anchor,i,void 0,void 0,s)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return te.range(e.anchor,e.head)}static create(e,t,s,i){return new Bo(e,t,s,i)}}class te{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:te.create(this.ranges.map(s=>s.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let s=0;se.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new te(e.ranges.map(t=>Bo.fromJSON(t)),e.main)}static single(e,t=e){return new te([te.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let s=0,i=0;ii.from-r.from),t=e.indexOf(s);for(let i=1;ir.head?te.range(l,a):te.range(a,l))}}return new te(e,t)}}function vI(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let yA=0;class ve{constructor(e,t,s,i,r){this.combine=e,this.compareInput=t,this.compare=s,this.isStatic=i,this.id=yA++,this.default=e([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(e={}){return new ve(e.combine||(t=>t),e.compareInput||((t,s)=>t===s),e.compare||(e.combine?(t,s)=>t===s:vA),!!e.static,e.enables)}of(e){return new Rg([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Rg(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Rg(e,this,2,t)}from(e,t){return t||(t=s=>s),this.compute([e],s=>t(s.field(e)))}}function vA(n,e){return n==e||n.length==e.length&&n.every((t,s)=>t===e[s])}class Rg{constructor(e,t,s,i){this.dependencies=e,this.facet=t,this.type=s,this.value=i,this.id=yA++}dynamicSlot(e){var t;let s=this.value,i=this.facet.compareInput,r=this.id,o=e[r]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let u of this.dependencies)u=="doc"?l=!0:u=="selection"?c=!0:((t=e[u.id])!==null&&t!==void 0?t:1)&1||h.push(e[u.id]);return{create(u){return u.values[o]=s(u),1},update(u,d){if(l&&d.docChanged||c&&(d.docChanged||d.selection)||Zw(u,h)){let p=s(u);if(a?!aE(p,u.values[o],i):!i(p,u.values[o]))return u.values[o]=p,1}return 0},reconfigure:(u,d)=>{let p,m=d.config.address[r];if(m!=null){let g=cy(d,m);if(this.dependencies.every(v=>v instanceof ve?d.facet(v)===u.facet(v):v instanceof jr?d.field(v,!1)==u.field(v,!1):!0)||(a?aE(p=s(u),g,i):i(p=s(u),g)))return u.values[o]=g,0}else p=s(u);return u.values[o]=p,1}}}get extension(){return this}}function aE(n,e,t){if(n.length!=e.length)return!1;for(let s=0;sn[l.id]),i=t.map(l=>l.type),r=s.filter(l=>!(l&1)),o=n[e.id]>>1;function a(l){let c=[];for(let h=0;hs===i),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Am).find(s=>s.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:s=>(s.values[t]=this.create(s),1),update:(s,i)=>{let r=s.values[t],o=this.updateF(r,i);return this.compareF(r,o)?0:(s.values[t]=o,1)},reconfigure:(s,i)=>{let r=s.facet(Am),o=i.facet(Am),a;return(a=r.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(s.values[t]=a.create(s),1):i.config.address[this.id]!=null?(s.values[t]=i.field(this),0):(s.values[t]=this.create(s),1)}}}init(e){return[this,Am.of({field:this,create:e})]}get extension(){return this}}const ll={lowest:4,low:3,default:2,high:1,highest:0};function ed(n){return e=>new bI(e,n)}const T0={highest:ed(ll.highest),high:ed(ll.high),default:ed(ll.default),low:ed(ll.low),lowest:ed(ll.lowest)};class bI{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}}class Gp{of(e){return new Xw(this,e)}reconfigure(e){return Gp.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Xw{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}}class ly{constructor(e,t,s,i,r,o){for(this.base=e,this.compartments=t,this.dynamicSlots=s,this.address=i,this.staticValues=r,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,s){let i=[],r=Object.create(null),o=new Map;for(let d of $X(e,t,o))d instanceof jr?i.push(d):(r[d.facet.id]||(r[d.facet.id]=[])).push(d);let a=Object.create(null),l=[],c=[];for(let d of i)a[d.id]=c.length<<1,c.push(p=>d.slot(p));let h=s==null?void 0:s.config.facets;for(let d in r){let p=r[d],m=p[0].facet,g=h&&h[d]||[];if(p.every(v=>v.type==0))if(a[m.id]=l.length<<1|1,vA(g,p))l.push(s.facet(m));else{let v=m.combine(p.map(y=>y.value));l.push(s&&m.compare(v,s.facet(m))?s.facet(m):v)}else{for(let v of p)v.type==0?(a[v.id]=l.length<<1|1,l.push(v.value)):(a[v.id]=c.length<<1,c.push(y=>v.dynamicSlot(y)));a[m.id]=c.length<<1,c.push(v=>CX(v,m,p))}}let u=c.map(d=>d(a));return new ly(e,o,u,a,l,r)}}function $X(n,e,t){let s=[[],[],[],[],[]],i=new Map;function r(o,a){let l=i.get(o);if(l!=null){if(l<=a)return;let c=s[l].indexOf(o);c>-1&&s[l].splice(c,1),o instanceof Xw&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)r(c,a);else if(o instanceof Xw){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),r(c,a)}else if(o instanceof bI)r(o.inner,o.prec);else if(o instanceof jr)s[a].push(o),o.provides&&r(o.provides,a);else if(o instanceof Rg)s[a].push(o),o.facet.extensions&&r(o.facet.extensions,ll.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(c,a)}}return r(n,ll.default),s.reduce((o,a)=>o.concat(a))}function Bd(n,e){if(e&1)return 2;let t=e>>1,s=n.status[t];if(s==4)throw new Error("Cyclic dependency between fields and/or facets");if(s&2)return s;n.status[t]=4;let i=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|i}function cy(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const wI=ve.define(),Yw=ve.define({combine:n=>n.some(e=>e),static:!0}),_I=ve.define({combine:n=>n.length?n[0]:void 0,static:!0}),SI=ve.define(),AI=ve.define(),kI=ve.define(),xI=ve.define({combine:n=>n.length?n[0]:!1});class ja{constructor(e,t){this.type=e,this.value=t}static define(){return new TX}}class TX{of(e){return new ja(this,e)}}class PX{constructor(e){this.map=e}of(e){return new bt(this,e)}}class bt{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new bt(this.type,t)}is(e){return this.type==e}static define(e={}){return new PX(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let s=[];for(let i of e){let r=i.map(t);r&&s.push(r)}return s}}bt.reconfigure=bt.define();bt.appendConfig=bt.define();class bn{constructor(e,t,s,i,r,o){this.startState=e,this.changes=t,this.selection=s,this.effects=i,this.annotations=r,this.scrollIntoView=o,this._doc=null,this._state=null,s&&vI(s,t.newLength),r.some(a=>a.type==bn.time)||(this.annotations=r.concat(bn.time.of(Date.now())))}static create(e,t,s,i,r,o){return new bn(e,t,s,i,r,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(bn.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}bn.time=ja.define();bn.userEvent=ja.define();bn.addToHistory=ja.define();bn.remote=ja.define();function RX(n,e){let t=[];for(let s=0,i=0;;){let r,o;if(s=n[s]))r=n[s++],o=n[s++];else if(i=0;i--){let r=s[i](n);r instanceof bn?n=r:Array.isArray(r)&&r.length==1&&r[0]instanceof bn?n=r[0]:n=CI(e,ph(r),!1)}return n}function IX(n){let e=n.startState,t=e.facet(kI),s=n;for(let i=t.length-1;i>=0;i--){let r=t[i](n);r&&Object.keys(r).length&&(s=EI(s,Jw(e,r,n.changes.newLength),!0))}return s==n?n:bn.create(e,n.changes,n.selection,s.effects,s.annotations,s.scrollIntoView)}const OX=[];function ph(n){return n==null?OX:Array.isArray(n)?n:[n]}var Xt=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Xt||(Xt={}));const NX=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Qw;try{Qw=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function LX(n){if(Qw)return Qw.test(n);for(let e=0;e"€"&&(t.toUpperCase()!=t.toLowerCase()||NX.test(t)))return!0}return!1}function DX(n){return e=>{if(!/\S/.test(e))return Xt.Space;if(LX(e))return Xt.Word;for(let t=0;t-1)return Xt.Word;return Xt.Other}}class ot{constructor(e,t,s,i,r,o){this.config=e,this.doc=t,this.selection=s,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=r,o&&(o._state=this);for(let a=0;ai.set(c,l)),t=null),i.set(a.value.compartment,a.value.extension)):a.is(bt.reconfigure)?(t=null,s=a.value):a.is(bt.appendConfig)&&(t=null,s=ph(s).concat(a.value));let r;t?r=e.startState.values.slice():(t=ly.resolve(s,i,this),r=new ot(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(Yw)?e.newSelection:e.newSelection.asSingle();new ot(t,e.newDoc,o,r,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:te.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,s=e(t.ranges[0]),i=this.changes(s.changes),r=[s.range],o=ph(s.effects);for(let a=1;ao.spec.fromJSON(a,l)))}}return ot.create({doc:e.doc,selection:te.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=ly.resolve(e.extensions||[],new Map),s=e.doc instanceof at?e.doc:at.of((e.doc||"").split(t.staticFacet(ot.lineSeparator)||Ww)),i=e.selection?e.selection instanceof te?e.selection:te.single(e.selection.anchor,e.selection.head):te.single(0);return vI(i,s.length),t.staticFacet(Yw)||(i=i.asSingle()),new ot(t,s,i,t.dynamicSlots.map(()=>null),(r,o)=>o.create(r),null)}get tabSize(){return this.facet(ot.tabSize)}get lineBreak(){return this.facet(ot.lineSeparator)||` +`}get readOnly(){return this.facet(xI)}phrase(e,...t){for(let s of this.facet(ot.phrases))if(Object.prototype.hasOwnProperty.call(s,e)){e=s[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(s,i)=>{if(i=="$")return"$";let r=+(i||1);return!r||r>t.length?s:t[r-1]})),e}languageDataAt(e,t,s=-1){let i=[];for(let r of this.facet(wI))for(let o of r(this,t,s))Object.prototype.hasOwnProperty.call(o,e)&&i.push(o[e]);return i}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return DX(t.length?t[0]:"")}wordAt(e){let{text:t,from:s,length:i}=this.doc.lineAt(e),r=this.charCategorizer(e),o=e-s,a=e-s;for(;o>0;){let l=$n(t,o,!1);if(r(t.slice(l,o))!=Xt.Word)break;o=l}for(;an.length?n[0]:4});ot.lineSeparator=_I;ot.readOnly=xI;ot.phrases=ve.define({compare(n,e){let t=Object.keys(n),s=Object.keys(e);return t.length==s.length&&t.every(i=>n[i]==e[i])}});ot.languageData=wI;ot.changeFilter=SI;ot.transactionFilter=AI;ot.transactionExtender=kI;Gp.reconfigure=bt.define();function Hu(n,e,t={}){let s={};for(let i of n)for(let r of Object.keys(i)){let o=i[r],a=s[r];if(a===void 0)s[r]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,r))s[r]=t[r](a,o);else throw new Error("Config merge conflict for field "+r)}for(let i in e)s[i]===void 0&&(s[i]=e[i]);return s}class _c{eq(e){return this==e}range(e,t=e){return e_.create(e,t,this)}}_c.prototype.startSide=_c.prototype.endSide=0;_c.prototype.point=!1;_c.prototype.mapMode=ei.TrackDel;function bA(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}let e_=class $I{constructor(e,t,s){this.from=e,this.to=t,this.value=s}static create(e,t,s){return new $I(e,t,s)}};function t_(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class wA{constructor(e,t,s,i){this.from=e,this.to=t,this.value=s,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,s,i=0){let r=s?this.to:this.from;for(let o=i,a=r.length;;){if(o==a)return o;let l=o+a>>1,c=r[l]-e||(s?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,s,i){for(let r=this.findIndex(t,-1e9,!0),o=this.findIndex(s,1e9,!1,r);rp||d==p&&c.startSide>0&&c.endSide<=0)continue;(p-d||c.endSide-c.startSide)<0||(o<0&&(o=d),c.point&&(a=Math.max(a,p-d)),s.push(c),i.push(d-o),r.push(p-o))}return{mapped:s.length?new wA(i,r,s,a):null,pos:o}}}class st{constructor(e,t,s,i){this.chunkPos=e,this.chunk=t,this.nextLayer=s,this.maxPoint=i}static create(e,t,s,i){return new st(e,t,s,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:s=!1,filterFrom:i=0,filterTo:r=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(s&&(t=t.slice().sort(t_)),this.isEmpty)return t.length?st.of(t):this;let a=new TI(this,null,-1).goto(0),l=0,c=[],h=new nf;for(;a.value||l=0){let u=t[l++];h.addInner(u.from,u.to,u.value)||c.push(u)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||ra.to||r=r&&e<=r+o.length&&o.between(r,e-r,t-r,s)===!1)return}this.nextLayer.between(e,t,s)}}iter(e=0){return sf.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return sf.from(e).goto(t)}static compare(e,t,s,i,r=-1){let o=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=r),a=t.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=r),l=lE(o,a,s),c=new td(o,l,r),h=new td(a,l,r);s.iterGaps((u,d,p)=>cE(c,u,h,d,p,i)),s.empty&&s.length==0&&cE(c,0,h,0,0,i)}static eq(e,t,s=0,i){i==null&&(i=999999999);let r=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(r.length!=o.length)return!1;if(!r.length)return!0;let a=lE(r,o),l=new td(r,a,0).goto(s),c=new td(o,a,0).goto(s);for(;;){if(l.to!=c.to||!n_(l.active,c.active)||l.point&&(!c.point||!bA(l.point,c.point)))return!1;if(l.to>i)return!0;l.next(),c.next()}}static spans(e,t,s,i,r=-1){let o=new td(e,null,r).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,s);if(o.point){let h=o.activeForPoint(o.to),u=o.pointFroma&&(i.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>s)return l+(o.point&&o.to>s?1:0);a=o.to,o.next()}}static of(e,t=!1){let s=new nf;for(let i of e instanceof e_?[e]:t?FX(e):e)s.add(i.from,i.to,i.value);return s.finish()}static join(e){if(!e.length)return st.empty;let t=e[e.length-1];for(let s=e.length-2;s>=0;s--)for(let i=e[s];i!=st.empty;i=i.nextLayer)t=new st(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}st.empty=new st([],[],null,-1);function FX(n){if(n.length>1)for(let e=n[0],t=1;t0)return n.slice().sort(t_);e=s}return n}st.empty.nextLayer=st.empty;class nf{finishChunk(e){this.chunks.push(new wA(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,s){this.addInner(e,t,s)||(this.nextLayer||(this.nextLayer=new nf)).add(e,t,s)}addInner(e,t,s){let i=e-this.lastTo||s.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||s.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return i<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=s,this.lastFrom=e,this.lastTo=t,this.value.push(s),s.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let s=t.value.length-1;return this.last=t.value[s],this.lastFrom=t.from[s]+e,this.lastTo=t.to[s]+e,!0}finish(){return this.finishInner(st.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=st.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function lE(n,e,t){let s=new Map;for(let r of n)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=s&&i.push(new TI(o,t,s,r));return i.length==1?i[0]:new sf(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let s of this.heap)s.goto(e,t);for(let s=this.heap.length>>1;s>=0;s--)gv(this.heap,s);return this.next(),this}forward(e,t){for(let s of this.heap)s.forward(e,t);for(let s=this.heap.length>>1;s>=0;s--)gv(this.heap,s);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),gv(this.heap,0)}}}function gv(n,e){for(let t=n[e];;){let s=(e<<1)+1;if(s>=n.length)break;let i=n[s];if(s+1=0&&(i=n[s+1],s++),t.compare(i)<0)break;n[s]=t,n[e]=i,e=s}}class td{constructor(e,t,s){this.minPoint=s,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=sf.from(e,t,s)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){km(this.active,e),km(this.activeTo,e),km(this.activeRank,e),this.minActive=hE(this.active,this.activeTo)}addActive(e){let t=0,{value:s,to:i,rank:r}=this.cursor;for(;t0;)t++;xm(this.active,t,s),xm(this.activeTo,t,i),xm(this.activeRank,t,r),e&&xm(e,t,this.cursor.from),this.minActive=hE(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let s=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),s&&km(s,i)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let r=this.cursor.value;if(!r.point)this.addActive(s),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&s[i]=0&&!(this.activeRank[s]e||this.activeTo[s]==e&&this.active[s].endSide>=this.point.endSide)&&t.push(this.active[s]);return t.reverse()}openEnd(e){let t=0;for(let s=this.activeTo.length-1;s>=0&&this.activeTo[s]>e;s--)t++;return t}}function cE(n,e,t,s,i,r){n.goto(e),t.goto(s);let o=s+i,a=s,l=s-e,c=!!r.boundChange;for(let h=!1;;){let u=n.to+l-t.to,d=u||n.endSide-t.endSide,p=d<0?n.to+l:t.to,m=Math.min(p,o);if(n.point||t.point?(n.point&&t.point&&bA(n.point,t.point)&&n_(n.activeForPoint(n.to),t.activeForPoint(t.to))||r.comparePoint(a,m,n.point,t.point),h=!1):(h&&r.boundChange(a),m>a&&!n_(n.active,t.active)&&r.compareRange(a,m,n.active,t.active),c&&mo)break;a=p,d<=0&&n.next(),d>=0&&t.next()}}function n_(n,e){if(n.length!=e.length)return!1;for(let t=0;t=e;s--)n[s+1]=n[s];n[e]=t}function hE(n,e){let t=-1,s=1e9;for(let i=0;i=e)return i;if(i==n.length)break;r+=n.charCodeAt(i)==9?t-r%t:1,i=$n(n,i)}return n.length}const s_="ͼ",uE=typeof Symbol>"u"?"__"+s_:Symbol.for(s_),i_=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),dE=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class xu{constructor(e,t){this.rules=[];let{finish:s}=t||{};function i(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function r(o,a,l,c){let h=[],u=/^@(\w+)\b/.exec(o[0]),d=u&&u[1]=="keyframes";if(u&&a==null)return l.push(o[0]+";");for(let p in a){let m=a[p];if(/&/.test(p))r(p.split(/,\s*/).map(g=>o.map(v=>g.replace(/&/,v))).reduce((g,v)=>g.concat(v)),m,l);else if(m&&typeof m=="object"){if(!u)throw new RangeError("The value of a property ("+p+") should be a primitive value.");r(i(p),m,h,d)}else m!=null&&h.push(p.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+m+";")}(h.length||d)&&l.push((s&&!u&&!c?o.map(s):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)r(i(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=dE[uE]||1;return dE[uE]=e+1,s_+e.toString(36)}static mount(e,t,s){let i=e[i_],r=s&&s.nonce;i?r&&i.setNonce(r):i=new zX(e,r),i.mount(Array.isArray(t)?t:[t],e)}}let fE=new Map;class zX{constructor(e,t){let s=e.ownerDocument||e,i=s.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let r=fE.get(s);if(r)return e[i_]=r;this.sheet=new i.CSSStyleSheet,fE.set(s,this)}else this.styleTag=s.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[i_]=this}mount(e,t){let s=this.sheet,i=0,r=0;for(let o=0;o-1&&(this.modules.splice(l,1),r--,l=-1),l==-1){if(this.modules.splice(r++,0,a),s)for(let c=0;c",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},HX=typeof navigator<"u"&&/Mac/.test(navigator.platform),BX=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Vn=0;Vn<10;Vn++)Ra[48+Vn]=Ra[96+Vn]=String(Vn);for(var Vn=1;Vn<=24;Vn++)Ra[Vn+111]="F"+Vn;for(var Vn=65;Vn<=90;Vn++)Ra[Vn]=String.fromCharCode(Vn+32),rf[Vn]=String.fromCharCode(Vn);for(var yv in Ra)rf.hasOwnProperty(yv)||(rf[yv]=Ra[yv]);function qX(n){var e=HX&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||BX&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?rf:Ra)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function Cn(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s)){var i=t[s];typeof i=="string"?n.setAttribute(s,i):i!=null&&(n[s]=i)}e++}for(;e2);var ue={mac:gE||/Mac/.test(bs.platform),windows:/Win/.test(bs.platform),linux:/Linux|X11/.test(bs.platform),ie:R0,ie_version:RI?r_.documentMode||6:a_?+a_[1]:o_?+o_[1]:0,gecko:pE,gecko_version:pE?+(/Firefox\/(\d+)/.exec(bs.userAgent)||[0,0])[1]:0,chrome:!!vv,chrome_version:vv?+vv[1]:0,ios:gE,android:/Android\b/.test(bs.userAgent),webkit:mE,webkit_version:mE?+(/\bAppleWebKit\/(\d+)/.exec(bs.userAgent)||[0,0])[1]:0,safari:l_,safari_version:l_?+(/\bVersion\/(\d+(\.\d+)?)/.exec(bs.userAgent)||[0,0])[1]:0,tabSize:r_.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function _A(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}const hy=Object.create(null);function SA(n,e,t){if(n==e)return!0;n||(n=hy),e||(e=hy);let s=Object.keys(n),i=Object.keys(e);if(s.length-0!=i.length-0)return!1;for(let r of s)if(r!=t&&(i.indexOf(r)==-1||n[r]!==e[r]))return!1;return!0}function UX(n,e){for(let t=n.attributes.length-1;t>=0;t--){let s=n.attributes[t].name;e[s]==null&&n.removeAttribute(s)}for(let t in e){let s=e[t];t=="style"?n.style.cssText=s:n.getAttribute(t)!=s&&n.setAttribute(t,s)}}function yE(n,e,t){let s=!1;if(e)for(let i in e)t&&i in t||(s=!0,i=="style"?n.style.cssText="":n.removeAttribute(i));if(t)for(let i in t)e&&e[i]==t[i]||(s=!0,i=="style"?n.style.cssText=t[i]:n.setAttribute(i,t[i]));return s}function VX(n){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new Sc(e,t,t,s,e.widget||null,!1)}static replace(e){let t=!!e.block,s,i;if(e.isBlockGap)s=-5e8,i=4e8;else{let{start:r,end:o}=MI(e,t);s=(r?t?-3e8:-1:5e8)-1,i=(o?t?2e8:1:-6e8)+1}return new Sc(e,s,i,t,e.widget||null,!0)}static line(e){return new Zp(e)}static set(e,t=!1){return st.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Ye.none=st.empty;class Kp extends Ye{constructor(e){let{start:t,end:s}=MI(e);super(t?-1:5e8,s?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?_A(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||hy}eq(e){return this==e||e instanceof Kp&&this.tagName==e.tagName&&SA(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}Kp.prototype.point=!1;class Zp extends Ye{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Zp&&this.spec.class==e.spec.class&&SA(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}Zp.prototype.mapMode=ei.TrackBefore;Zp.prototype.point=!0;class Sc extends Ye{constructor(e,t,s,i,r,o){super(t,s,r,e),this.block=i,this.isReplace=o,this.mapMode=i?t<=0?ei.TrackBefore:ei.TrackAfter:ei.TrackDel}get type(){return this.startSide!=this.endSide?Gn.WidgetRange:this.startSide<=0?Gn.WidgetBefore:Gn.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Sc&&WX(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}Sc.prototype.point=!0;function MI(n,e=!1){let{inclusiveStart:t,inclusiveEnd:s}=n;return t==null&&(t=n.inclusive),s==null&&(s=n.inclusive),{start:t??e,end:s??e}}function WX(n,e){return n==e||!!(n&&e&&n.compare(e))}function mh(n,e,t,s=0){let i=t.length-1;i>=0&&t[i]+s>=n?t[i]=Math.max(t[i],e):t.push(n,e)}class of extends _c{constructor(e,t,s){super(),this.tagName=e,this.attributes=t,this.rank=s}eq(e){return e==this||e instanceof of&&this.tagName==e.tagName&&SA(this.attributes,e.attributes)}static create(e){return new of(e.tagName,e.attributes||hy,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return st.of(e,t)}}of.prototype.startSide=of.prototype.endSide=-1;function af(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function c_(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function qd(n,e){if(!e.anchorNode)return!1;try{return c_(n,e.anchorNode)}catch{return!1}}function Mg(n){return n.nodeType==3?lf(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Ud(n,e,t,s){return t?vE(n,e,t,s,-1)||vE(n,e,t,s,1):!1}function Ma(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function uy(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function vE(n,e,t,s,i){for(;;){if(n==t&&e==s)return!0;if(e==(i<0?0:$o(n))){if(n.nodeName=="DIV")return!1;let r=n.parentNode;if(!r||r.nodeType!=1)return!1;e=Ma(n)+(i<0?0:1),n=r}else if(n.nodeType==1){if(n=n.childNodes[e+(i<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=i<0?$o(n):0}else return!1}}function $o(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function dy(n,e){let{left:t,right:s}=n;if(t==s)return n;let i=e?t:s;return{left:i,right:i,top:n.top,bottom:n.bottom}}function GX(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function II(n,e){let t=e.width/n.offsetWidth,s=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(s>.995&&s<1.005||!isFinite(s)||Math.abs(e.height-n.offsetHeight)<1)&&(s=1),{scaleX:t,scaleY:s}}function KX(n,e,t,s,i,r,o,a){let l=n.ownerDocument,c=l.defaultView||window;for(let h=n,u=!1;h&&!u;)if(h.nodeType==1){let d,p=h==l.body,m=1,g=1;if(p)d=GX(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(u=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let w=h.getBoundingClientRect();({scaleX:m,scaleY:g}=II(h,w)),d={left:w.left,right:w.left+h.clientWidth*m,top:w.top,bottom:w.top+h.clientHeight*g}}let v=0,y=0;if(i=="nearest")e.top0&&e.bottom>d.bottom+y&&(y=e.bottom-d.bottom+o)):e.bottom>d.bottom-o&&(y=e.bottom-d.bottom+o,t<0&&e.top-y0&&e.right>d.right+v&&(v=e.right-d.right+r)):e.right>d.right-r&&(v=e.right-d.right+r,t<0&&e.leftd.bottom||e.leftd.right)&&(e={left:Math.max(e.left,d.left),right:Math.min(e.right,d.right),top:Math.max(e.top,d.top),bottom:Math.min(e.bottom,d.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function OI(n,e=!0){let t=n.ownerDocument,s=null,i=null;for(let r=n.parentNode;r&&!(r==t.body||(!e||s)&&i);)if(r.nodeType==1)!i&&r.scrollHeight>r.clientHeight&&(i=r),e&&!s&&r.scrollWidth>r.clientWidth&&(s=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:s,y:i}}class ZX{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:s}=e;this.set(t,Math.min(e.anchorOffset,t?$o(t):0),s,Math.min(e.focusOffset,s?$o(s):0))}set(e,t,s,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=s,this.focusOffset=i}}function NI(n){let e=[];for(let t=n;t;t=t.nodeType==11?t.host:t.parentNode)t.nodeType==1&&e.push({node:t,left:t.scrollLeft,top:t.scrollTop});return e}function LI(n,e=!0){for(let{node:t,left:s,top:i}of n)e&&t.scrollTop!=i&&(t.scrollTop=i),t.scrollLeft!=s&&(t.scrollLeft=s)}let tl=null;ue.safari&&ue.safari_version>=26&&(tl=!1);function DI(n){if(n.setActive)return n.setActive();if(tl)return n.focus(tl);let e=NI(n);n.focus(tl==null?{get preventScroll(){return tl={preventScroll:!0},!0}}:void 0),tl||(tl=!1,LI(e))}let bE;function lf(n,e,t=e){let s=bE||(bE=document.createRange());return s.setEnd(n,t),s.setStart(n,e),s}function gh(n,e,t,s){let i={key:e,code:e,keyCode:t,which:t,cancelable:!0};s&&({altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,metaKey:i.metaKey}=s);let r=new KeyboardEvent("keydown",i);r.synthetic=!0,n.dispatchEvent(r);let o=new KeyboardEvent("keyup",i);return o.synthetic=!0,n.dispatchEvent(o),r.defaultPrevented||o.defaultPrevented}function XX(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function YX(n,e){let t=e.focusNode,s=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=s)return!1;for(s=Math.min(s,$o(t));;)if(s){if(t.nodeType!=1)return!1;let i=t.childNodes[s-1];i.contentEditable=="false"?s--:(t=i,s=$o(t))}else{if(t==n)return!0;s=Ma(t),t=t.parentNode}}function FI(n){return n instanceof Window?n.pageYOffset>Math.max(0,n.document.documentElement.scrollHeight-n.innerHeight-4):n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function jI(n,e){for(let t=n,s=e;;){if(t.nodeType==3&&s>0)return{node:t,offset:s};if(t.nodeType==1&&s>0){if(t.contentEditable=="false")return null;t=t.childNodes[s-1],s=$o(t)}else if(t.parentNode&&!uy(t))s=Ma(t),t=t.parentNode;else return null}}function zI(n,e){for(let t=n,s=e;;){if(t.nodeType==3&&s=t){if(a.level==s)return o;(r<0||(i!=0?i<0?a.fromt:e[r].level>a.level))&&(r=o)}}if(r<0)throw new RangeError("Index out of range");return r}}function qI(n,e){if(n.length!=e.length)return!1;for(let t=0;t=0;g-=3)if(sr[g+1]==-p){let v=sr[g+2],y=v&2?i:v&4?v&1?r:i:0;y&&(vt[u]=vt[sr[g]]=y),a=g;break}}else{if(sr.length==189)break;sr[a++]=u,sr[a++]=d,sr[a++]=l}else if((m=vt[u])==2||m==1){let g=m==i;l=g?0:1;for(let v=a-3;v>=0;v-=3){let y=sr[v+2];if(y&2)break;if(g)sr[v+2]|=2;else{if(y&4)break;sr[v+2]|=4}}}}}function sY(n,e,t,s){for(let i=0,r=s;i<=t.length;i++){let o=i?t[i-1].to:n,a=il;)m==v&&(m=t[--g].from,v=g?t[g-1].to:n),vt[--m]=p;l=h}else r=c,l++}}}function u_(n,e,t,s,i,r,o){let a=s%2?2:1;if(s%2==i%2)for(let l=e,c=0;ll&&o.push(new Rr(l,g.from,p));let v=g.direction==Ac!=!(p%2);d_(n,v?s+1:s,i,g.inner,g.from,g.to,o),l=g.to}m=g.to}else{if(m==t||(h?vt[m]!=a:vt[m]==a))break;m++}d?u_(n,l,m,s+1,i,d,o):le;){let h=!0,u=!1;if(!c||l>r[c-1].to){let g=vt[l-1];g!=a&&(h=!1,u=g==16)}let d=!h&&a==1?[]:null,p=h?s:s+1,m=l;e:for(;;)if(c&&m==r[c-1].to){if(u)break e;let g=r[--c];if(!h)for(let v=g.from,y=c;;){if(v==e)break e;if(y&&r[y-1].to==v)v=r[--y].from;else{if(vt[v-1]==a)break e;break}}if(d)d.push(g);else{g.tovt.length;)vt[vt.length]=256;let s=[],i=e==Ac?0:1;return d_(n,i,i,t,0,n.length,s),s}function UI(n){return[new Rr(0,n,0)]}let VI="";function rY(n,e,t,s,i){var r;let o=s.head-n.from,a=Rr.find(e,o,(r=s.bidiLevel)!==null&&r!==void 0?r:-1,s.assoc),l=e[a],c=l.side(i,t);if(o==c){let d=a+=i?1:-1;if(d<0||d>=e.length)return null;l=e[a=d],o=l.side(!i,t),c=l.side(i,t)}let h=$n(n.text,o,l.forward(i,t));(hl.to)&&(h=c),VI=n.text.slice(Math.min(o,h),Math.max(o,h));let u=a==(i?e.length-1:0)?null:e[a+(i?1:-1)];return u&&h==c&&u.level+(i?0:1)n.some(e=>e)}),QI=ve.define({combine:n=>n.some(e=>e)}),eO=ve.define();class yh{constructor(e,t,s,i,r,o=!1){this.range=e,this.y=t,this.x=s,this.yMargin=i,this.xMargin=r,this.isSnapshot=o}map(e){return e.empty?this:new yh(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new yh(te.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Em=bt.define({map:(n,e)=>n.map(e)}),tO=bt.define();function Mr(n,e,t){let s=n.facet(ZI);s.length?s[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const bo=ve.define({combine:n=>n.length?n[0]:!0});let aY=0;const sh=ve.define({combine(n){return n.filter((e,t)=>{for(let s=0;s{let l=[];return o&&l.push(I0.of(c=>{let h=c.plugin(a);return h?o(h):Ye.none})),r&&l.push(r(a)),l})}static fromClass(e,t){return ni.define((s,i)=>new e(s,i),t)}}class bv{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(s){if(Mr(t.state,s,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){Mr(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(s){Mr(e.state,s,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const nO=ve.define(),EA=ve.define(),I0=ve.define(),sO=ve.define(),CA=ve.define(),Xp=ve.define(),iO=ve.define();function wE(n,e){let t=n.state.facet(iO);if(!t.length)return t;let s=t.map(r=>r instanceof Function?r(n):r),i=[];return st.spans(s,e.from,e.to,{point(){},span(r,o,a,l){let c=r-e.from,h=o-e.from,u=i;for(let d=a.length-1;d>=0;d--,l--){let p=a[d].spec.bidiIsolate,m;if(p==null&&(p=oY(e.text,c,h)),l>0&&u.length&&(m=u[u.length-1]).to==c&&m.direction==p)m.to=h,u=m.inner;else{let g={from:c,to:h,direction:p,inner:[]};u.push(g),u=g.inner}}}}),i}const rO=ve.define();function oO(n){let e=0,t=0,s=0,i=0;for(let r of n.state.facet(rO)){let o=r(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(s=Math.max(s,o.top)),o.bottom!=null&&(i=Math.max(i,o.bottom)))}return{left:e,right:t,top:s,bottom:i}}const xd=ve.define();class gi{constructor(e,t,s,i){this.fromA=e,this.toA=t,this.fromB=s,this.toB=i}join(e){return new gi(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,s=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>s.toA)){if(i.toAi.push(new gi(r,o,a,l))),this.changedRanges=i}static create(e,t,s){return new fy(e,t,s)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const lY=[];class Ut{constructor(e,t,s=0){this.dom=e,this.length=t,this.flags=s,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return lY}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&UX(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let s=t;for(let i of this.children){if(i==e)return s;s+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,s){return null}domPosFor(e,t){let s=Ma(this.dom),i=this.length?e>0:t>0;return new Ki(this.parent.dom,s+(i?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof N0)return e;return null}static get(e){return e.cmTile}}class O0 extends Ut{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,s=null,i,r=(e==null?void 0:e.node)==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,i=s?s.nextSibling:t.firstChild,r&&i!=a.dom&&(r.written=!0),a.dom.parentNode==t)for(;i&&i!=a.dom;)i=_E(i);else t.insertBefore(a.dom,i);s=a.dom}for(i=s?s.nextSibling:t.firstChild,r&&i&&(r.written=!0);i;)i=_E(i);this.length=o}}function _E(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class N0 extends O0{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=Ut.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],s=this,i=0,r=0;;)if(i==s.children.length){if(!t.length)return;s=s.parent,s.breakAfter&&r++,i=t.pop()}else{let o=s.children[i++];if(o instanceof xo)t.push(i),s=o,i=0;else{let a=r+o.length,l=e(o,r);if(l!==void 0)return l;r=a+o.breakAfter}}}resolveBlock(e,t){let s,i=-1,r,o=-1;if(this.blockTiles((a,l)=>{let c=l+a.length;if(e>=l&&e<=c){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(s=void 0)}(le||e==l&&(t>1?a.length:a.covers(-1)))&&(!r||!a.isWidget()&&r.isWidget())&&(r=a,o=e-l)}}),!s&&!r)throw new Error("No tile at position "+e);return s&&t<0||!r?{tile:s,offset:i}:{tile:r,offset:o}}}class xo extends O0{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let s=new xo(t||document.createElement(e.tagName),e);return t||(s.flags|=4),s}}class Eu extends O0{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,s){let i=new Eu(t||document.createElement("div"),e);return(!t||!s)&&(i.flags|=4),i}get domAttrs(){return this.attrs}resolveInline(e,t,s){let i=null,r=-1,o=null,a=-1;function l(h,u){for(let d=0,p=0;d=u&&(m.isComposite()?l(m,u-p):(!o||o.isHidden&&(t>0&&!(o.flags&32)||s&&hY(o,m)))&&(g>u||m.flags&32&&t<=1)?(o=m,a=u-p):(p=-1)&&(i=m,r=u-p)),p=g}}l(this,e);let c=(t<0?i:o)||i||o;return c?{tile:c,offset:c==i?r:a}:null}coordsIn(e,t,s){let i=this.resolveInline(e,t,!0);return i?i.tile.coordsIn(Math.max(0,i.offset),t,s):cY(this)}domIn(e,t){let s=this.resolveInline(e,t);if(s){let{tile:i,offset:r}=s;if(this.dom.contains(i.dom))return i.isText()?new Ki(i.dom,Math.min(i.dom.nodeValue.length,r)):i.domPosFor(r,i.flags&16?1:i.flags&32?-1:t);let o=s.tile.parent,a=!1;for(let l of o.children){if(a)return new Ki(l.dom,0);l==s.tile&&(a=!0)}}return new Ki(this.dom,0)}}function cY(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=Mg(e);return t[t.length-1]||null}function hY(n,e){let t=n.coordsIn(0,1),s=e.coordsIn(0,1);return t&&s&&s.topi&&(e=i);let r=e,o=e,a=0;e==0&&t<0||e==i&&t>=0?ue.chrome||ue.gecko||(e?(r--,a=1):o=0)?0:l.length-1];return ue.safari&&!a&&c.width==0&&(c=Array.prototype.find.call(l,h=>h.width)||c),s==null?c:dy(c,(a?a>0:t<0)==s)}static of(e,t){let s=new dl(t||document.createTextNode(e),e);return t||(s.flags|=2),s}}class kc extends Ut{constructor(e,t,s,i){super(e,t,i),this.widget=s}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,s){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;if(s)return dy(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let r=this.dom.getClientRects(),o=null;if(!r.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?r.length-1:0;o=r[l],!(e>0?l==0:l==r.length-1||o.top0==s)}}class uY{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,s){let{tile:i,index:r,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(i.isComposite())if(o){if(!e)break;s&&s.break(),e--,o=!1}else if(r==i.children.length){if(!e&&!a.length)break;s&&s.leave(i),o=!!i.breakAfter,{tile:i,index:r}=a.pop(),r++}else{let l=i.children[r],c=l.breakAfter;(t>0?l.length<=e:l.length=0;a--){let l=t.marks[a],c=i.lastChild;if(c instanceof Ls&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(wv(l.dom)),i=c;else{if(this.cache.reused.get(l)){let u=Ut.get(l.dom);u&&u.setDOM(wv(l.dom))}let h=Ls.of(l.mark,l.dom);i.append(h),i=h}this.cache.reused.set(l,2)}let r=Ut.get(e.text);r&&this.cache.reused.set(r,2);let o=new dl(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,i.append(o)}addInlineWidget(e,t,s){let i=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);i||this.flushBuffer();let r=this.ensureMarks(t,s);!i&&!(e.flags&16)&&r.append(this.getBuffer(1)),r.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,s){this.flushBuffer(),this.ensureMarks(t,s).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var s;e||(e=aO);let i=Eu.start(e,t||((s=this.cache.find(Eu))===null||s===void 0?void 0:s.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=i)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var s;let i=this.curLine;for(let r=e.length-1;r>=0;r--){let o=e[r],a;if(t>0&&(a=i.lastChild)&&a instanceof Ls&&a.mark.eq(o))i=a,t--;else{let l=Ls.of(o,(s=this.cache.find(Ls,c=>c.mark.eq(o)))===null||s===void 0?void 0:s.dom);i.append(l),i=l,t=0}}return i}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!SE(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(ue.ios&&SE(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(_v,0,32)||new kc(_v.toDOM(),0,_v,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=e.rank*102+e.value.rank,s=new dY(e.from,e.to,e.value,t),i=this.wrappers.length;for(;i>0&&(this.wrappers[i-1].rank-s.rank||this.wrappers[i-1].to-s.to)<0;)i--;this.wrappers.splice(i,0,s)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let s of this.wrappers){let i=t.lastChild;if(s.fromo.wrapper.eq(s.wrapper)))===null||e===void 0?void 0:e.dom);t.append(r),t=r}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),s=this.cache.find(py,void 0,1);return s&&(s.flags=t),s||new py(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class pY{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:i,lineBreak:r,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=i;let a=this.textOff=Math.min(e,i.length);return r?null:i.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),s=this.text.slice(this.textOff,t);return this.textOff=t,s}}const my=[kc,Eu,dl,Ls,py,xo,N0];for(let n=0;n[]),this.index=my.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,s=this.buckets[t];s.length<6?s.push(e):s[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,s=2){let i=e.bucket,r=this.buckets[i],o=this.index[i];for(let a=0;a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let s=t&&this.getCompositionContext(t.text);for(let i=0,r=0,o=0;;){let a=oi){let c=l-i;this.preserve(c,!o,!a),i=l,r+=c}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Ls&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=r=0):o instanceof Ls&&(i.shift(),r=Math.min(r,i.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let s=null,i=this.builder,r=-1,o=st.spans(this.decorations,e,t,{point:(a,l,c,h,u,d)=>{if(c instanceof Sc){if(this.disallowBlockEffectsFor[d]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(r=h.length,u>h.length)i.continueWidget(l-a);else{let p=c.widget||(c.block?Cu.block:Cu.inline),m=yY(c),g=this.cache.findWidget(p,l-a,m)||kc.of(p,this.view,l-a,m);c.block?(c.startSide>0&&i.addLineStartIfNotCovered(s),i.addBlockWidget(g)):(i.ensureLine(s),i.addInlineWidget(g,h,u))}s=null}else s=vY(s,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let u=a;u-1&&(this.openWidget=o>r),this.openWidget||i.addLineStartIfNotCovered(s),this.openMarks=o}forward(e,t,s=1){t-e<=10?this.old.advance(t-e,s,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,s,this.reuseWalker))}getCompositionContext(e){let t=[],s=null;for(let i=e.parentNode;;i=i.parentNode){let r=Ut.get(i);if(i==this.view.contentDOM)break;r instanceof Ls?t.push(r):r!=null&&r.isLine()?s=r:r instanceof xo||(i.nodeName=="DIV"&&!s&&i!=this.view.contentDOM?s=new Eu(i,aO):s||t.push(Ls.of(new Kp({tagName:i.nodeName.toLowerCase(),attributes:VX(i)}),i)))}return{line:s,marks:t}}}function SE(n,e){let t=s=>{for(let i of s.children)if((e?i.isText():i.length)||t(i))return!0;return!1};return t(n)}function yY(n){let e=n.isReplace?(n.startSide<0?64:0)|(n.endSide>0?128:0):n.startSide>0?32:16;return n.block&&(e|=256),e}const aO={class:"cm-line"};function vY(n,e){let t=e.spec.attributes,s=e.spec.class;return!t&&!s||(n||(n={class:"cm-line"}),t&&_A(t,n),s&&(n.class+=" "+s)),n}function bY(n){let e=[];for(let t=n.parents.length;t>1;t--){let s=t==n.parents.length?n.tile:n.parents[t].tile;s instanceof Ls&&e.push(s.mark)}return e}function wv(n){let e=Ut.get(n);return e&&e.setDOM(n.cloneNode()),n}class Cu extends M0{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}Cu.inline=new Cu("span");Cu.block=new Cu("div");const _v=new class extends M0{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class AE{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Ye.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new N0(e,e.contentDOM),this.updateInner([new gi(0,0,0,e.state.doc.length)],null)}update(e){var t;let s=e.changedRanges;this.minWidth>0&&s.length&&(s.every(({fromA:h,toA:u})=>uthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let i=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?i=this.domChanged.newSel.head:!$Y(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let r=i>-1?_Y(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:u}=this.hasComposition;s=new gi(h,u,e.changes.mapPos(h,-1),e.changes.mapPos(u,1)).addToSet(s.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(ue.ie||ue.chrome)&&!r&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=kY(o,this.decorations,e.changes);l.length&&(s=gi.extendWithRanges(s,l));let c=EY(a,this.blockWrappers,e.changes);return c.length&&(s=gi.extendWithRanges(s,c)),r&&!s.some(h=>h.fromA<=r.range.fromA&&h.toA>=r.range.toA)&&(s=r.range.addToSet(s.slice())),this.tile.flags&2&&s.length==0?!1:(this.updateInner(s,r),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:s}=this.view;s.ignore(()=>{if(t||e.length){let o=this.tile,a=new gY(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&Ut.get(t.text)&&a.cache.reused.set(Ut.get(t.text),2),this.tile=a.run(e,t),p_(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let r=ue.chrome||ue.ios?{node:s.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(r),r&&(r.written||s.selectionRange.focusNode!=r.node||!this.tile.dom.contains(r.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let i=[];if(this.view.viewport.from||this.view.viewport.to-1)&&qd(s,this.view.observer.selectionRange)&&!(i&&s.contains(i));if(!(r||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,c,h;if(l.empty?h=c=this.inlineDOMNearPos(l.anchor,l.assoc||1):(h=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),c=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),ue.gecko&&l.empty&&!this.hasComposition&&wY(c)){let d=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(d,c.node.childNodes[c.offset]||null)),c=h=new Ki(d,0),a=!0}let u=this.view.observer.selectionRange;(a||!u.focusNode||(!Ud(c.node,c.offset,u.anchorNode,u.anchorOffset)||!Ud(h.node,h.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,l))&&(this.view.observer.ignore(()=>{ue.android&&ue.chrome&&s.contains(u.focusNode)&&CY(u.focusNode,s)&&(s.blur(),s.focus({preventScroll:!0}));let d=af(this.view.root);if(d)if(l.empty){if(ue.gecko){let p=SY(c.node,c.offset);if(p&&p!=3){let m=(p==1?jI:zI)(c.node,c.offset);m&&(c=new Ki(m.node,m.offset))}}d.collapse(c.node,c.offset),l.bidiLevel!=null&&d.caretBidiLevel!==void 0&&(d.caretBidiLevel=l.bidiLevel)}else if(d.extend){d.collapse(c.node,c.offset);try{d.extend(h.node,h.offset)}catch{}}else{let p=document.createRange();l.anchor>l.head&&([c,h]=[h,c]),p.setEnd(h.node,h.offset),p.setStart(c.node,c.offset),d.removeAllRanges(),d.addRange(p)}o&&this.view.root.activeElement==s&&(s.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Ki(u.anchorNode,u.anchorOffset),this.impreciseHead=h.precise?null:new Ki(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Ud(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,s=af(e.root),{anchorNode:i,anchorOffset:r}=e.observer.selectionRange;if(!s||!t.empty||!t.assoc||!s.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let l=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!l||!c||l.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);s.collapse(h.node,h.offset),s.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&s.collapse(i,r)}posFromDOM(e,t){let s=this.tile.nearest(e);if(!s)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let i=s.posAtStart;if(s.isComposite()){let r;if(e==s.dom)r=s.dom.childNodes[t];else{let o=$o(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==s.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?r=e:r=e.nextSibling}if(r==s.dom.firstChild)return i;for(;r&&!Ut.get(r);)r=r.nextSibling;if(!r)return i+s.length;for(let o=0,a=i;;o++){let l=s.children[o];if(l.dom==r)return a;a+=l.length+l.breakAfter}}else return s.isText()?e==s.dom?i+t:i+(t?s.length:0):i}domAtPos(e,t){let{tile:s,offset:i}=this.tile.resolveBlock(e,t);return s.isWidget()?s.domPosFor(i,t):s.domIn(i,t)}inlineDOMNearPos(e,t){let s,i=-1,r=!1,o,a=-1,l=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(r=!0)}else{let u=h+c.length;if(h<=e&&(s=c,i=e-h,r=u=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!s&&!o?this.domAtPos(e,t):(r&&o?s=null:l&&s&&(o=null),s&&t<0||!o?s.domIn(i,t):o.domIn(a,t))}coordsAt(e,t,s){let{tile:i,offset:r}=this.tile.resolveBlock(e,t);return i.isWidget()?i.widget instanceof Sv?null:i.coordsInWidget(r,t,!0):i.coordsIn(r,t,s)}lineAt(e,t){let{tile:s}=this.tile.resolveBlock(e,t);return s.isLine()?s:null}coordsForChar(e){let{tile:t,offset:s}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function i(r,o){if(r.isComposite())for(let a of r.children){if(a.length>=o){let l=i(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(r.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==It.LTR,c=0,h=(u,d,p)=>{for(let m=0;mi);m++){let g=u.children[m],v=d+g.length,y=g.dom.getBoundingClientRect(),{height:w}=y;if(p&&!m&&(c+=y.top-p.top),g instanceof xo)v>s&&h(g,d,y);else if(d>=s&&(c>0&&t.push(-c),t.push(w+c),c=0,o)){let _=g.dom.lastChild,k=_?Mg(_):[];if(k.length){let A=k[k.length-1],$=l?A.right-y.left:y.right-A.left;$>a&&(a=$,this.minWidth=r,this.minWidthFrom=d,this.minWidthTo=v)}}p&&m==u.children.length-1&&(c+=p.bottom-y.bottom),d=v+g.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?It.RTL:It.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,l;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=Mg(c.dom);if(h.length!=1)return;a+=h[0].width,l=h[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:l}}});if(e)return e;let t=document.createElement("div"),s,i,r;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=Mg(t.firstChild)[0];s=t.getBoundingClientRect().height,i=o&&o.width?o.width/27:7,r=o&&o.height?o.height:s,t.remove()}),{lineHeight:s,charWidth:i,textHeight:r}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let s=0,i=0;;i++){let r=i==t.viewports.length?null:t.viewports[i],o=r?r.from-1:this.view.state.doc.length;if(o>s){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(s).top)/this.view.scaleY;e.push(Ye.replace({widget:new Sv(a),block:!0,inclusive:!0,isBlockGap:!0}).range(s,o))}if(!r)break;s=r.to+1}return Ye.set(e)}updateDeco(){let e=1,t=this.view.state.facet(I0).map(r=>(this.dynamicDecorationMap[e++]=typeof r=="function")?r(this.view):r),s=!1,i=this.view.state.facet(CA).map((r,o)=>{let a=typeof r=="function";return a&&(s=!0),a?r(this.view):r});for(i.length&&(this.dynamicDecorationMap[e++]=s,t.push(st.join(i))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof r=="function"?r(this.view):r)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(eO))try{if(c(this.view,e.range,e))return!0}catch(h){Mr(this.view.state,h,"scroll handler")}let{range:t}=e,s=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),i;if(!s)return;!t.empty&&(i=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(s={left:Math.min(s.left,i.left),top:Math.min(s.top,i.top),right:Math.max(s.right,i.right),bottom:Math.max(s.bottom,i.bottom)});let r=oO(this.view),o={left:s.left-r.left,top:s.top-r.top,right:s.right+r.right,bottom:s.bottom+r.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;if(KX(this.view.scrollDOM,o,t.head1&&(s.top>window.visualViewport.offsetTop+window.visualViewport.height||s.bottoms.isWidget()||s.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){p_(this.tile)}}function p_(n,e){let t=e==null?void 0:e.get(n);if(t!=1){t==null&&n.destroy();for(let s of n.children)p_(s,e)}}function wY(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function lO(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let s=jI(t.focusNode,t.focusOffset),i=zI(t.focusNode,t.focusOffset),r=s||i;if(i&&s&&i.node!=s.node){let a=Ut.get(i.node);if(!a||a.isText()&&a.text!=i.node.nodeValue)r=i;else if(n.docView.lastCompositionAfterCursor){let l=Ut.get(s.node);!l||l.isText()&&l.text!=s.node.nodeValue||(r=i)}}if(n.docView.lastCompositionAfterCursor=r!=s,!r)return null;let o=e-r.offset;return{from:o,to:o+r.node.nodeValue.length,node:r.node}}function _Y(n,e,t){let s=lO(n,t);if(!s)return null;let{node:i,from:r,to:o}=s,a=i.nodeValue;if(/[\n\r]/.test(a)||n.state.doc.sliceString(s.from,s.to)!=a)return null;let l=e.invertedDesc;return{range:new gi(l.mapPos(r),l.mapPos(o),r,o),text:i}}function SY(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e{se.from&&(t=!0)}),t}class Sv extends M0{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function TY(n,e,t=1){let s=n.charCategorizer(e),i=n.doc.lineAt(e),r=e-i.from;if(i.length==0)return te.cursor(e);r==0?t=1:r==i.length&&(t=-1);let o=r,a=r;t<0?o=$n(i.text,r,!1):a=$n(i.text,r);let l=s(i.text.slice(o,a));for(;o>0;){let c=$n(i.text,o,!1);if(s(i.text.slice(c,o))!=l)break;o=c}for(;an.defaultLineHeight*1.5){let a=n.viewState.heightOracle.textHeight,l=Math.floor((i-t.top-(n.defaultLineHeight-a)*.5)/a);r+=l*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+jX(o,r,n.state.tabSize)}function m_(n,e,t){let s=n.lineBlockAt(e);if(Array.isArray(s.type)){let i;for(let r of s.type){if(r.from>e)break;if(!(r.toe)return r;(!i||r.type==Gn.Text&&(i.type!=r.type||(t<0?r.frome)))&&(i=r)}}return i||s}return s}function RY(n,e,t,s){let i=m_(n,e.head,e.assoc||-1),r=!s||i.type!=Gn.Text||!(n.lineWrapping||i.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(r){let o=n.dom.getBoundingClientRect(),a=n.textDirectionAt(i.from),l=n.posAtCoords({x:t==(a==It.LTR)?o.right-1:o.left+1,y:(r.top+r.bottom)/2});if(l!=null)return te.cursor(l,t?-1:1)}return te.cursor(t?i.to:i.from,t?-1:1)}function kE(n,e,t,s){let i=n.state.doc.lineAt(e.head),r=n.bidiSpans(i),o=n.textDirectionAt(i.from);for(let a=e,l=null;;){let c=rY(i,r,o,a,t),h=VI;if(!c){if(i.number==(t?n.state.doc.lines:1))return a;h=` +`,i=n.state.doc.line(i.number+(t?1:-1)),r=n.bidiSpans(i),c=n.visualLineSide(i,!t)}if(l){if(!l(h))return a}else{if(!s)return c;l=s(h)}a=c}}function MY(n,e,t){let s=n.state.charCategorizer(e),i=s(t);return r=>{let o=s(r);return i==Xt.Space&&(i=o),i==o}}function IY(n,e,t,s){let i=e.head,r=t?1:-1;if(i==(t?n.state.doc.length:0))return te.cursor(i,e.assoc);let o=e.goalColumn,a,l=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(i,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=n.documentTop;if(c)o==null&&(o=c.left-l.left),a=r<0?c.top:c.bottom;else{let m=n.viewState.lineBlockAt(i);o==null&&(o=Math.min(l.right-l.left,n.defaultCharacterWidth*(i-m.from))),a=(r<0?m.top:m.bottom)+h}let u=l.left+o,d=n.viewState.heightOracle.textHeight>>1,p=s??d;for(let m=0;;m+=d){let g=a+(p+m)*r,v=g_(n,{x:u,y:g},!1,r);if(t?g>l.bottom:ga:w{if(e>r&&ei(n)),t.from,e.head>t.from?-1:1);return s==t.from?t:te.cursor(s,sn.viewState.docHeight)return new $r(n.state.doc.length,-1);if(c=n.elementAtHeight(l),s==null)break;if(c.type==Gn.Text){if(s<0?c.ton.viewport.to)break;let d=n.docView.coordsAt(s<0?c.from:c.to,s>0?-1:1);if(d&&(s<0?d.top<=l+r:d.bottom>=l+r))break}let u=n.viewState.heightOracle.textHeight/2;l=s>0?c.bottom+u:c.top-u}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Gn.Text){let u=PY(n,i,c,o,a);return new $r(u,u==c.from?1:-1)}}if(c.type!=Gn.Text)return l<(c.top+c.bottom)/2?new $r(c.from,1):new $r(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),new OY(n,o,a,n.textDirectionAt(c.from)).scanTile(h,c.from)}class OY{constructor(e,t,s,i){this.view=e,this.x=t,this.y=s,this.baseDir=i,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||s.length&&(s[0].level!=this.baseDir||s[0].to+i.from>1;t:if(o.has(g)){for(let w=1;w=r&&(_-=m),!o.has(_)){g=_;break t}}break e}o.add(g);let v=t(g),y=0;if(v)for(let w=0;w1))if(_.bottomthis.y)(!c||c.top>_.top)&&(c=_),y=-1;else{let k=_.left>this.x?this.x-_.left:_.right(m+m+g)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(m+g+g)/3)return this.y=c.top+1,this.scan(e,t,!0)}let p=(a?this.dirAt(e[h],1):this.baseDir)==It.LTR;return{i:h,after:this.x>(d.left+d.right)/2==p}}scanText(e,t){let s=[];for(let r=0;r{let o=s[r]-t,a=s[r+1]-t;return lf(e.dom,o,a).getClientRects()});return i.after?new $r(s[i.i+1],-1):new $r(s[i.i],1)}scanTile(e,t){if(!e.length)return new $r(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let s=[t];for(let a=0,l=t;a{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:lf(l.dom,0,l.length)).getClientRects()}),r=e.children[i.i],o=s[i.i];return r.isText()?this.scanText(r,o):r.isComposite()?this.scanTile(r,o):i.after?new $r(s[i.i+1],-1):new $r(o,1)}}const Yc="￿";class NY{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(ot.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Yc}readRange(e,t){if(!e)return this;let s=e.parentNode;for(let i=e;;){this.findPointBefore(s,i);let r=this.text.length;this.readNode(i);let o=Ut.get(i),a=i.nextSibling;if(a==t){o!=null&&o.breakAfter&&!a&&s!=this.view.contentDOM&&this.lineBreak();break}let l=Ut.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:uy(i))||uy(a)&&(i.nodeName!="BR"||o!=null&&o.isWidget())&&this.text.length>r)&&!DY(a,t)&&this.lineBreak(),i=a}return this.findPointBefore(s,t),this}readTextNode(e){let t=e.nodeValue;for(let s of this.points)s.node==e&&(s.pos=this.text.length+Math.min(s.offset,t.length));for(let s=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let r=-1,o=1,a;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,s),o=this.lineSeparator.length):(a=i.exec(t))&&(r=a.index,o=a[0].length),this.append(t.slice(s,r<0?t.length:r)),r<0)break;if(this.lineBreak(),o>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=o-1);s=r+o}}readNode(e){let t=Ut.get(e),s=t&&t.overrideDOMText;if(s!=null){this.findPointInside(e,s.length);for(let i=s.iter();!i.next().done;)i.lineBreak?this.lineBreak():this.append(i.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let s of this.points)s.node==e&&e.childNodes[s.offset]==t&&(s.pos=this.text.length)}findPointInside(e,t){for(let s of this.points)(e.nodeType==3?s.node==e:e.contains(s.node))&&(s.pos=this.text.length+(LY(e,s.node,s.offset)?t:0))}}function LY(n,e,t){for(;;){if(!e||t<$o(e))return!1;if(e==n)return!0;t=Ma(e)+1,e=e.parentNode}}function DY(n,e){let t;for(;!(n==e||!n);n=n.nextSibling){let s=Ut.get(n);if(!(s!=null&&s.isWidget()))return!1;s&&(t||(t=[])).push(s)}if(t)for(let s of t){let i=s.overrideDOMText;if(i!=null&&i.length)return!1}return!0}class xE{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class FY{constructor(e,t,s,i){this.typeOver=i,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:r,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=hO(e.docView.tile,t,s,0))){let l=r||o?[]:zY(e),c=new NY(l,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=HY(l,this.bounds.from)}else{let l=e.observer.selectionRange,c=r&&r.node==l.focusNode&&r.offset==l.focusOffset||!c_(e.contentDOM,l.focusNode)?a.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!c_(e.contentDOM,l.anchorNode)?a.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),u=e.viewport;if((ue.ios||ue.chrome)&&c!=h&&Math.min(c,h)<=a.main.from&&Math.max(c,h)>=a.main.to&&(u.from>0||u.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(te.range(h,c));else if(e.lineWrapping&&h==c&&!(a.main.empty&&a.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let d=e.coordsAtPos(c,-1),p=0;d&&(p=e.inputState.lastTouchY<=d.bottom?-1:1),this.newSel=te.create([te.cursor(c,p)])}else this.newSel=te.single(h,c)}}}function hO(n,e,t,s){if(n.isComposite()){let i=-1,r=-1,o=-1,a=-1;for(let l=0,c=s,h=s;lt)return hO(u,e,t,c);if(d>=e&&i==-1&&(i=l,r=c),c>t&&u.dom.parentNode==n.dom){o=l,a=h;break}h=d,c=d+u.breakAfter}return{from:r,to:a<0?s+n.length:a,startDOM:(i?n.children[i-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:o=0?n.children[o].dom:null}}else return n.isText()?{from:s,to:s+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function uO(n,e){let t,{newSel:s}=e,{state:i}=n,r=i.selection.main,o=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:l}=e.bounds,c=r.from,h=null;(o===8||ue.android&&e.text.length=a&&r.to<=l&&(e.typeOver||u!=e.text)&&u.slice(0,r.from-a)==e.text.slice(0,r.from-a)&&u.slice(r.to-a)==e.text.slice(d=e.text.length-(u.length-(r.to-a)))?t={from:r.from,to:r.to,insert:at.of(e.text.slice(r.from-a,d).split(Yc))}:(p=dO(u,e.text,c-a,h))&&(ue.chrome&&o==13&&p.toB==p.from+2&&e.text.slice(p.from,p.toB)==Yc+Yc&&p.toB--,t={from:a+p.from,to:a+p.toA,insert:at.of(e.text.slice(p.from,p.toB).split(Yc))})}else s&&(!n.hasFocus&&i.facet(bo)||gy(s,r))&&(s=null);if(!t&&!s)return!1;if((ue.mac||ue.android)&&t&&t.from==t.to&&t.from==r.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(s&&t.insert.length==2&&(s=te.single(s.main.anchor-1,s.main.head-1)),t={from:t.from,to:t.to,insert:at.of([t.insert.toString().replace("."," ")])}):i.doc.lineAt(r.from).toDate.now()-50?t={from:r.from,to:r.to,insert:i.toText(n.inputState.insertingText)}:ue.chrome&&t&&t.from==t.to&&t.from==r.head&&t.insert.toString()==` + `&&n.lineWrapping&&(s&&(s=te.single(s.main.anchor-1,s.main.head-1)),t={from:r.from,to:r.to,insert:at.of([" "])}),t)return $A(n,t,s,o);if(s&&!gy(s,r)){let a=!1,l="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(a=!0),l=n.inputState.lastSelectionOrigin,l=="select.pointer"&&(s=cO(i.facet(Xp).map(c=>c(n)),s))),n.dispatch({selection:s,scrollIntoView:a,userEvent:l}),!0}else return!1}function $A(n,e,t,s=-1){if(ue.ios&&n.inputState.flushIOSKey(e))return!0;let i=n.state.selection.main;if(ue.android&&(e.to==i.to&&(e.from==i.from||e.from==i.from-1&&n.state.sliceDoc(e.from,i.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&gh(n.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||s==8&&e.insert.lengthi.head)&&gh(n.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&gh(n.contentDOM,"Delete",46)))return!0;let r=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=jY(n,e,t));return n.state.facet(XI).some(l=>l(n,e.from,e.to,r,a))||n.dispatch(a()),!0}function jY(n,e,t){let s,i=n.state,r=i.selection.main,o=-1;if(e.from==e.to&&e.fromr.to){let l=e.fromu(n)),c,l);e.from==h&&(o=h)}if(o>-1)s={changes:e,selection:te.cursor(e.from+e.insert.length,-1)};else if(e.from>=r.from&&e.to<=r.to&&e.to-e.from>=(r.to-r.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=r.frome.to?i.sliceDoc(e.to,r.to):"";s=i.replaceSelection(n.state.toText(l+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let l=i.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(i.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=r.to+10&&e.to>=r.to-10){let h=n.state.sliceDoc(e.from,e.to),u,d=t&&lO(n,t.main.head);if(d){let m=e.insert.length-(e.to-e.from);u={from:d.from,to:d.to-m}}else u=n.state.doc.lineAt(r.head);let p=r.to-e.to;s=i.changeByRange(m=>{if(m.from==r.from&&m.to==r.to)return{changes:l,range:c||m.map(l)};let g=m.to-p,v=g-h.length;if(n.state.sliceDoc(v,g)!=h||g>=u.from&&v<=u.to)return{range:m};let y=i.changes({from:v,to:g,insert:e.insert}),w=m.to-r.to;return{changes:y,range:c?te.range(Math.max(0,c.anchor+w),Math.max(0,c.head+w)):m.map(y)}})}else s={changes:l,selection:c&&i.selection.replaceRange(c)}}let a="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,a+=".compose",n.inputState.compositionFirstChange&&(a+=".start",n.inputState.compositionFirstChange=!1)),i.update(s,{userEvent:a,scrollIntoView:!0})}function dO(n,e,t,s){let i=Math.min(n.length,e.length),r=0;for(;r0&&a>0&&n.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(s=="end"){let l=Math.max(0,r-Math.min(o,a));t-=o+l-r}if(o=o?r-t:0;r-=l,a=r+(a-o),o=r}else if(a=a?r-t:0;r-=l,o=r+(o-a),a=r}return{from:r,toA:o,toB:a}}function zY(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:s,focusNode:i,focusOffset:r}=n.observer.selectionRange;return t&&(e.push(new xE(t,s)),(i!=t||r!=s)&&e.push(new xE(i,r))),e}function HY(n,e){if(n.length==0)return null;let t=n[0].pos,s=n.length==2?n[1].pos:t;return t>-1&&s>-1?te.single(t+e,s+e):null}function gy(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}class BY{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,ue.safari&&e.contentDOM.addEventListener("input",()=>null),ue.gecko&&i7(e.contentDOM.ownerDocument)}handleEvent(e){!YY(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let s=this.handlers[e];if(s){for(let i of s.observers)i(this.view,t);for(let i of s.handlers){if(t.defaultPrevented)break;if(i(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=UY(e),s=this.handlers,i=this.view.contentDOM;for(let r in t)if(r!="scroll"){let o=!t[r].handlers.length,a=s[r];a&&o!=!a.handlers.length&&(i.removeEventListener(r,this.handleEvent),a=null),a||i.addEventListener(r,this.handleEvent,{passive:o})}for(let r in s)r!="scroll"&&!t[r]&&i.removeEventListener(r,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&pO.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),ue.android&&ue.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(ue.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(fO.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||VY.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&ue.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&qY(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:ue.safari&&!ue.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function qY(n){return n.visualViewport?n.visualViewport.height*n.visualViewport.scale/n.document.documentElement.clientHeight<.85:!1}function EE(n,e){return(t,s)=>{try{return e.call(n,s,t)}catch(i){Mr(t.state,i)}}}function UY(n){let e=Object.create(null);function t(s){return e[s]||(e[s]={observers:[],handlers:[]})}for(let s of n){let i=s.spec,r=i&&i.plugin.domEventHandlers,o=i&&i.plugin.domEventObservers;if(r)for(let a in r){let l=r[a];l&&t(a).handlers.push(EE(s.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(EE(s.value,l))}}for(let s in Ji)t(s).handlers.push(Ji[s]);for(let s in xs)t(s).observers.push(xs[s]);return e}const fO=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],VY="dthko",pO=[16,17,18,20,91,92,224,225],Cm=6;function $m(n){return Math.max(0,n)*.7+8}function WY(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class GY{constructor(e,t,s,i){this.view=e,this.startEvent=t,this.style=s,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=OI(e.contentDOM),this.atoms=e.state.facet(Xp).map(o=>o(e));let r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ot.allowMultipleSelections)&&KY(e,t),this.dragging=XY(e,t)&&yO(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&WY(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,s=0,i=0,r=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:r,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=oO(this.view);e.clientX-l.left<=i+Cm?t=-$m(i-e.clientX):e.clientX+l.right>=o-Cm&&(t=$m(e.clientX-o)),e.clientY-l.top<=r+Cm?s=-$m(r-e.clientY):e.clientY+l.bottom>=a-Cm&&(s=$m(e.clientY-a)),this.setScrollSpeed(t,s)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,s=cO(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!s.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:s,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function KY(n,e){let t=n.state.facet(WI);return t.length?t[0](e):ue.mac?e.metaKey:e.ctrlKey}function ZY(n,e){let t=n.state.facet(GI);return t.length?t[0](e):ue.mac?!e.altKey:!e.ctrlKey}function XY(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let s=af(n.root);if(!s||s.rangeCount==0)return!0;let i=s.getRangeAt(0).getClientRects();for(let r=0;r=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function YY(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,s;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(s=Ut.get(t))&&s.isWidget()&&!s.isHidden&&s.widget.ignoreEvent(e))return!1;return!0}const Ji=Object.create(null),xs=Object.create(null),mO=ue.ie&&ue.ie_version<15||ue.ios&&ue.webkit_version<604;function JY(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),gO(n,t.value)},50)}function L0(n,e,t){for(let s of n.facet(e))t=s(t,n);return t}function gO(n,e){e=L0(n.state,kA,e);let{state:t}=n,s,i=1,r=t.toText(e),o=r.lines==t.selection.ranges.length;if(y_!=null&&t.selection.ranges.every(l=>l.empty)&&y_==r.toString()){let l=-1;s=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let u=t.toText((o?r.line(i++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:u},range:te.cursor(c.from+u.length)}})}else o?s=t.changeByRange(l=>{let c=r.line(i++);return{changes:{from:l.from,to:l.to,insert:c.text},range:te.cursor(l.from+c.length)}}):s=t.replaceSelection(r);n.dispatch(s,{userEvent:"input.paste",scrollIntoView:!0})}xs.scroll=n=>{let e=n.inputState;e.lastScrollTop=n.scrollDOM.scrollTop,e.lastScrollLeft=n.scrollDOM.scrollLeft,ue.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};xs.wheel=xs.mousewheel=n=>{n.inputState.lastWheelEvent=Date.now()};Ji.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);xs.touchstart=(n,e)=>{let t=n.inputState,s=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),s&&(t.lastTouchX=s.clientX,t.lastTouchY=s.clientY),t.setSelectionOrigin("select.pointer")};xs.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};xs.touchend=(n,e)=>{n.inputState.touchActive=!1};Ji.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let s of n.state.facet(KI))if(t=s(n,e),t)break;if(!t&&e.button==0&&(t=e7(n,e)),t){let s=!n.hasFocus;n.inputState.startMouseSelection(new GY(n,e,t,s)),s&&n.observer.ignore(()=>{DI(n.contentDOM);let r=n.root.activeElement;r&&!r.contains(n.contentDOM)&&r.blur()});let i=n.inputState.mouseSelection;if(i)return i.start(e),i.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function CE(n,e,t,s){if(s==1)return te.cursor(e,t);if(s==2)return TY(n.state,e,t);{let i=n.docView.lineAt(e,t),r=n.state.doc.lineAt(i?i.posAtEnd:e),o=i?i.posAtStart:r.from,a=i?i.posAtEnd:r.to;return aDate.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(TE+1)%3:1}function e7(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),s=yO(e),i=n.state.selection;return{update(r){r.docChanged&&(t.pos=r.changes.mapPos(t.pos),i=i.map(r.changes))},get(r,o,a){let l=n.posAndSideAtCoords({x:r.clientX,y:r.clientY},!1),c,h=CE(n,l.pos,l.assoc,s);if(t.pos!=l.pos&&!o){let u=CE(n,t.pos,t.assoc,s),d=Math.min(u.from,h.from),p=Math.max(u.to,h.to);h=d1&&(c=t7(i,l.pos))?c:a?i.addRange(h):te.create([h])}}}function t7(n,e){for(let t=0;t=e)return te.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}Ji.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let i=n.docView.tile.nearest(e.target);if(i&&i.isWidget()){let r=i.posAtStart,o=r+i.length;(r>=t.to||o<=t.from)&&(t=te.undirectionalRange(r,o))}}let{inputState:s}=n;return s.mouseSelection&&(s.mouseSelection.dragging=!0),s.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",L0(n.state,xA,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Ji.dragend=n=>(n.inputState.draggedContent=null,!1);function RE(n,e,t,s){if(t=L0(n.state,kA,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:r}=n.inputState,o=s&&r&&ZY(n,e)?{from:r.from,to:r.to}:null,a={from:i,insert:t},l=n.state.changes(o?[o,a]:a);n.focus(),n.dispatch({changes:l,selection:{anchor:l.mapPos(i,-1),head:l.mapPos(i,1)},userEvent:o?"move.drop":"input.drop"}),n.inputState.draggedContent=null}Ji.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let s=Array(t.length),i=0,r=()=>{++i==t.length&&RE(n,e,s.filter(o=>o!=null).join(n.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(s[o]=a.result),r()},a.readAsText(t[o])}return!0}else{let s=e.dataTransfer.getData("Text");if(s)return RE(n,e,s,!0),!0}return!1};Ji.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=mO?null:e.clipboardData;return t?(gO(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(JY(n),!1)};function n7(n,e){let t=n.dom.parentNode;if(!t)return;let s=t.appendChild(document.createElement("textarea"));s.style.cssText="position: fixed; left: -10000px; top: 10px",s.value=e,s.focus(),s.selectionEnd=e.length,s.selectionStart=0,setTimeout(()=>{s.remove(),n.focus()},50)}function s7(n){let e=[],t=[],s=!1;for(let i of n.selection.ranges)i.empty||(e.push(n.sliceDoc(i.from,i.to)),t.push(i));if(!e.length){let i=-1;for(let{from:r}of n.selection.ranges){let o=n.doc.lineAt(r);o.number>i&&(e.push(o.text),t.push({from:o.from,to:Math.min(n.doc.length,o.to+1)})),i=o.number}s=!0}return{text:L0(n,xA,e.join(n.lineBreak)),ranges:t,linewise:s}}let y_=null;Ji.copy=Ji.cut=(n,e)=>{if(!qd(n.contentDOM,n.observer.selectionRange))return!1;let{text:t,ranges:s,linewise:i}=s7(n.state);if(!t&&!i)return!1;y_=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:s,scrollIntoView:!0,userEvent:"delete.cut"});let r=mO?null:e.clipboardData;return r?(r.clearData(),r.setData("text/plain",t),!0):(n7(n,t),!1)};const vO=ja.define();function bO(n,e){let t=[];for(let s of n.facet(YI)){let i=s(n,e);i&&t.push(i)}return t.length?n.update({effects:t,annotations:vO.of(!0)}):null}function wO(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=bO(n.state,e);t?n.dispatch(t):n.update([])}},10)}xs.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),wO(n)};xs.blur=n=>{n.observer.clearSelectionRange(),wO(n)};xs.compositionstart=xs.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};xs.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,ue.chrome&&ue.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};xs.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Ji.beforeinput=(n,e)=>{var t,s;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let r=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(r&&o.length){let a=o[0],l=n.posAtDOM(a.startContainer,a.startOffset),c=n.posAtDOM(a.endContainer,a.endOffset);return $A(n,{from:l,to:c,insert:n.state.toText(r)},null),!0}}let i;if(ue.chrome&&ue.android&&(i=fO.find(r=>r.inputType==e.inputType))&&(n.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let r=((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>r+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return ue.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),ue.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>xs.compositionend(n,e),20),!1};const ME=new Set;function i7(n){ME.has(n)||(ME.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const IE=["pre-wrap","normal","pre-line","break-spaces"];let $u=!1;function OE(){$u=!1}class r7{constructor(e){this.lineWrapping=e,this.doc=at.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let s=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(s+=Math.max(0,Math.ceil((t-e-s*this.lineLength*.5)/this.lineLength))),this.lineHeight*s}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return IE.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let s=0;s-1,l=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=s,this.textHeight=i,this.lineLength=r,l){this.heightSamples={};for(let c=0;c0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Ig&&($u=!0),this.height=e)}replace(e,t,s){return Ss.of(s)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,s,i){let r=this,o=s.doc;for(let a=i.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:u}=i[a],d=r.lineAt(l,At.ByPosNoHeight,s.setDoc(t),0,0),p=d.to>=c?d:r.lineAt(c,At.ByPosNoHeight,s,0,0);for(u+=p.to-c,c=p.to;a>0&&d.from<=i[a-1].toA;)l=i[a-1].fromA,h=i[a-1].fromB,a--,lr*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),s+=1+a.break,i-=a.size}else if(r>i*2){let a=e[s];a.break?e.splice(s,1,a.left,null,a.right):e.splice(s,1,a.left,a.right),s+=2+a.break,r-=a.size}else break;else if(i=r&&o(this.lineAt(0,At.ByPos,s,i,r))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,s=!1,i){return i&&i.from<=t&&i.more&&this.setMeasuredHeight(i),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Js extends _O{constructor(e,t,s){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=s}mainBlock(e,t){return new Gi(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,s){let i=s[0];return s.length==1&&(i instanceof Js||i instanceof Hn&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof Hn?i=new Js(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):Ss.of(s)}updateHeight(e,t=0,s=!1,i){return i&&i.from<=t&&i.more?this.setMeasuredHeight(i):(s||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Hn extends Ss{constructor(e){super(e,0)}heightMetrics(e,t){let s=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,r=i-s+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*r);o=l/r,this.length>r+1&&(a=(this.height-l)/(this.length-r-1))}else o=this.height/r;return{firstLine:s,lastLine:i,perLine:o,perChar:a}}blockAt(e,t,s,i){let{firstLine:r,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,i);if(t.lineWrapping){let c=i+(e0){let r=s[s.length-1];r instanceof Hn?s[s.length-1]=new Hn(r.length+i):s.push(null,new Hn(i-1))}if(e>0){let r=s[0];r instanceof Hn?s[0]=new Hn(e+r.length):s.unshift(new Hn(e-1),null)}return Ss.of(s)}decomposeLeft(e,t){t.push(new Hn(e-1),null)}decomposeRight(e,t){t.push(null,new Hn(this.length-e-1))}updateHeight(e,t=0,s=!1,i){let r=t+this.length;if(i&&i.from<=t+this.length&&i.more){let o=[],a=Math.max(t,i.from),l=-1;for(i.from>t&&o.push(new Hn(i.from-t-1).updateHeight(e,t));a<=r&&i.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let u=i.heights[i.index++],d=0;u<0&&(d=-u,u=i.heights[i.index++]),l==-1?l=u:Math.abs(u-l)>=Ig&&(l=-2);let p=new Js(h,u,d);p.outdated=!1,o.push(p),a+=h+1}a<=r&&o.push(null,new Hn(r-a).updateHeight(e,a));let c=Ss.of(o);return(l<0||Math.abs(c.height-this.height)>=Ig||Math.abs(l-this.heightMetrics(e,t).perLine)>=Ig)&&($u=!0),yy(this,c)}else(s||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class l7 extends Ss{constructor(e,t,s){super(e.length+t+s.length,e.height+s.height,t|(e.outdated||s.outdated?2:0)),this.left=e,this.right=s,this.size=e.size+s.size}get break(){return this.flags&1}blockAt(e,t,s,i){let r=s+this.left.height;return ea))return c;let h=t==At.ByPosNoHeight?At.ByPosNoHeight:At.ByPos;return l?c.join(this.right.lineAt(a,h,s,o,a)):this.left.lineAt(a,h,s,i,r).join(c)}forEachLine(e,t,s,i,r,o){let a=i+this.left.height,l=r+this.left.length+this.break;if(this.break)e=l&&this.right.forEachLine(e,t,s,a,l,o);else{let c=this.lineAt(l,At.ByPos,s,i,r);e=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,s,a,l,o)}}replace(e,t,s){let i=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,s));let r=[];e>0&&this.decomposeLeft(e,r);let o=r.length;for(let a of s)r.push(a);if(e>0&&NE(r,o-1),t=s&&t.push(null)),e>s&&this.right.decomposeLeft(e-s,t)}decomposeRight(e,t){let s=this.left.length,i=s+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e2*t.size||t.size>2*e.size?Ss.of(this.break?[e,null,t]:[e,t]):(this.left=yy(this.left,e),this.right=yy(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,s=!1,i){let{left:r,right:o}=this,a=t+r.length+this.break,l=null;return i&&i.from<=t+r.length&&i.more?l=r=r.updateHeight(e,t,s,i):r.updateHeight(e,t,s),i&&i.from<=a+o.length&&i.more?l=o=o.updateHeight(e,a,s,i):o.updateHeight(e,a,s),l?this.balanced(r,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function NE(n,e){let t,s;n[e]==null&&(t=n[e-1])instanceof Hn&&(s=n[e+1])instanceof Hn&&n.splice(e-1,3,new Hn(t.length+1+s.length))}const c7=5;class TA{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let s=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof Js?i.length+=s-this.pos:(s>this.pos||!this.isCovered)&&this.nodes.push(new Js(s-this.pos,-1,0)),this.writtenTo=s,t>s&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,s){if(e=c7)&&this.addLineDeco(i,r,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new Js(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let s=new Hn(t-e);return this.oracle.doc.lineAt(e).to==t&&(s.flags|=4),s}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Js)return e;let t=new Js(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,s){let i=this.ensureLine();i.length+=s,i.collapsed+=s,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+s}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof Js)&&!this.isCovered?this.nodes.push(new Js(0,-1,0)):(this.writtenToh.clientHeight||h.scrollWidth>h.clientWidth)&&u.overflow!="visible"){let d=h.getBoundingClientRect();r=Math.max(r,d.left),o=Math.min(o,d.right),a=Math.max(a,d.top),l=Math.min(c==n.parentNode?i.innerHeight:l,d.bottom)}c=u.position=="absolute"||u.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:r-t.left,right:Math.max(r,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function f7(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left0&&e.top0}function p7(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class kv{constructor(e,t,s,i){this.from=e,this.to=t,this.size=s,this.displaySize=i}static same(e,t){if(e.length!=t.length)return!1;for(let s=0;stypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new r7(s),this.stateDeco=FE(t),this.heightMap=Ss.empty().applyChanges(this.stateDeco,at.empty,this.heightOracle.setDoc(t.doc),[new gi(0,0,0,t.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Ye.set(this.lineGaps.map(i=>i.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let s=0;s<=1;s++){let i=s?t.head:t.anchor;if(!e.some(({from:r,to:o})=>i>=r&&i<=o)){let{from:r,to:o}=this.lineBlockAt(i);e.push(new Tm(r,o))}}return this.viewports=e.sort((s,i)=>s.from-i.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?DE:new PA(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Ed(e,this.scaler))})}update(e,t=null){this.state=e.state;let s=this.stateDeco;this.stateDeco=FE(this.state);let i=e.changedRanges,r=gi.extendWithRanges(i,h7(s,this.stateDeco,e?e.changes:gn.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);OE(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),r),(this.heightMap.height!=o||$u)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=r.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headl.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,t));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(QI)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,s=window.getComputedStyle(t),i=this.heightOracle,r=s.whiteSpace;this.defaultTextDirection=s.direction=="rtl"?It.RTL:It.LTR;let o=this.heightOracle.mustRefreshForWrapping(r)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,h=0;if(a.width&&a.height){let{scaleX:A,scaleY:$}=II(t,a);(A>.005&&Math.abs(this.scaleX-A)>.005||$>.005&&Math.abs(this.scaleY-$)>.005)&&(this.scaleX=A,this.scaleY=$,c|=16,o=l=!0)}let u=(parseInt(s.paddingTop)||0)*this.scaleY,d=(parseInt(s.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=d)&&(this.paddingTop=u,this.paddingBottom=d,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let p=OI(this.view.contentDOM,!1).y;p!=this.scrollParent&&(this.scrollParent=p,this.scrollAnchorHeight=-1,this.scrollOffset=0);let m=this.getScrollOffset();this.scrollOffset!=m&&(this.scrollAnchorHeight=-1,this.scrollOffset=m),this.scrolledToBottom=FI(this.scrollParent||e.win);let g=(this.printing?p7:d7)(t,this.paddingTop),v=g.top-this.pixelViewport.top,y=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let w=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(w!=this.inView&&(this.inView=w,w&&(l=!0)),!this.inView&&!this.scrollTarget&&!f7(e.dom))return 0;let _=a.width;if((this.contentDOMWidth!=_||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let A=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(A)&&(o=!0),o||i.lineWrapping&&Math.abs(_-this.contentDOMWidth)>i.charWidth){let{lineHeight:$,charWidth:E,textHeight:O}=e.docView.measureTextSize();o=$>0&&i.refresh(r,$,E,O,Math.max(5,_/E),A),o&&(e.docView.minWidth=0,c|=16)}v>0&&y>0?h=Math.max(v,y):v<0&&y<0&&(h=Math.min(v,y)),OE();for(let $ of this.viewports){let E=$.from==this.viewport.from?A:e.docView.measureVisibleLineHeights($);this.heightMap=(o?Ss.empty().applyChanges(this.stateDeco,at.empty,this.heightOracle,[new gi(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new o7($.from,E))}$u&&(c|=2)}let k=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return k&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||k)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let s=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,r=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new Tm(i.lineAt(o-s*1e3,At.ByHeight,r,0,0).from,i.lineAt(a+(1-s)*1e3,At.ByHeight,r,0,0).to);if(t){let{head:c}=t.range;if(cl.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=i.lineAt(c,At.ByPos,r,0,0),d;t.y=="center"?d=(u.top+u.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c=a+Math.max(10,Math.min(s,250)))&&i>o-2*1e3&&r>1,o=i<<1;if(this.defaultTextDirection!=It.LTR&&!s)return[];let a=[],l=(h,u,d,p)=>{if(u-hh&&yy.from>=d.from&&y.to<=d.to&&Math.abs(y.from-h)y.fromw));if(!v){if(u_.from<=u&&_.to>=u)){let _=t.moveToLineBoundary(te.cursor(u),!1,!0).head;_>h&&(u=_)}let y=this.gapSize(d,h,u,p),w=s||y<2e6?y:2e6;v=new kv(h,u,y,w)}a.push(v)},c=h=>{if(h.length2e6)for(let $ of e)$.from>=h.from&&$.fromh.from&&l(h.from,p,h,u),mt.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let s=[];st.spans(t,this.viewport.from,this.viewport.to,{span(r,o){s.push({from:r,to:o})},point(){}},20);let i=0;if(s.length!=this.visibleRanges.length)i=12;else for(let r=0;r=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Ed(this.heightMap.lineAt(e,At.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||Ed(this.heightMap.lineAt(this.scaler.fromDOM(e),At.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return Ed(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Tm{constructor(e,t){this.from=e,this.to=t}}function g7(n,e,t){let s=[],i=n,r=0;return st.spans(t,n,e,{span(){},point(o,a){o>i&&(s.push({from:i,to:o}),r+=o-i),i=a}},20),i=1)return e[e.length-1].to;let s=Math.floor(n*t);for(let i=0;;i++){let{from:r,to:o}=e[i],a=o-r;if(s<=a)return r+s;s-=a}}function Rm(n,e){let t=0;for(let{from:s,to:i}of n.ranges){if(e<=i){t+=e-s;break}t+=i-s}return t/n.total}function y7(n,e){for(let t of n)if(e(t))return t}const DE={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};function FE(n){let e=n.facet(I0).filter(s=>typeof s!="function"),t=n.facet(CA).filter(s=>typeof s!="function");return t.length&&e.push(st.join(t)),e}class PA{constructor(e,t,s){let i=0,r=0,o=0;this.viewports=s.map(({from:a,to:l})=>{let c=t.lineAt(a,At.ByPos,e,0,0).top,h=t.lineAt(l,At.ByPos,e,0,0).bottom;return i+=h-c,{from:a,to:l,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(t.height-i);for(let a of this.viewports)a.domTop=o+(a.top-r)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),r=a.bottom}toDOM(e){for(let t=0,s=0,i=0;;t++){let r=tt.from==e.viewports[s].from&&t.to==e.viewports[s].to):!1}}function Ed(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),s=e.toDOM(n.bottom);return new Gi(n.from,n.length,t,s-t,Array.isArray(n._content)?n._content.map(i=>Ed(i,e)):n._content)}const Mm=ve.define({combine:n=>n.join(" ")}),v_=ve.define({combine:n=>n.indexOf(!0)>-1}),b_=xu.newName(),SO=xu.newName(),AO=xu.newName(),kO={"&light":"."+SO,"&dark":"."+AO};function w_(n,e,t){return new xu(e,{finish(s){return/&/.test(s)?s.replace(/&\w*/,i=>{if(i=="&")return n;if(!t||!t[i])throw new RangeError(`Unsupported selector: ${i}`);return t[i]}):n+" "+s}})}const v7=w_("."+b_,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},".cm-panels-top":{top:"0"},".cm-panels-bottom":{bottom:"0"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},kO),b7={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},xv=ue.ie&&ue.ie_version<=11;class w7{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new ZX,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let s of t)this.queue.push(s);(ue.ie&&ue.ie_version<=11||ue.ios&&e.composing)&&t.some(s=>s.type=="childList"&&s.removedNodes.length||s.type=="characterData"&&s.oldValue.length>s.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&ue.android&&e.constructor.EDIT_CONTEXT!==!1&&!(ue.chrome&&ue.chrome_version<126)&&(this.editContext=new S7(e),e.state.facet(bo)&&(e.contentDOM.editContext=this.editContext.editContext)),xv&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,s)=>t!=e[s]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:s}=this,i=this.selectionRange;if(s.state.facet(bo)?s.root.activeElement!=this.dom:!qd(this.dom,i))return;let r=i.anchorNode&&s.docView.tile.nearest(i.anchorNode);if(r&&r.isWidget()&&r.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(ue.ie&&ue.ie_version<=11||ue.android&&ue.chrome)&&!s.state.selection.main.empty&&i.focusNode&&Ud(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=af(e.root);if(!t)return!1;let s=ue.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&_7(this.view,t)||t;if(!s||this.selectionRange.eq(s))return!1;let i=qd(this.dom,s);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let r=this.delayedAndroidKey;r&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=r.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&r.force&&gh(this.dom,r.key,r.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,s=-1,i=!1;for(let r of e){let o=this.readMutation(r);o&&(o.typeOver&&(i=!0),t==-1?{from:t,to:s}=o:(t=Math.min(o.from,t),s=Math.max(o.to,s)))}return{from:t,to:s,typeOver:i}}readChange(){let{from:e,to:t,typeOver:s}=this.processRecords(),i=this.selectionChanged&&qd(this.dom,this.selectionRange);if(e<0&&!i)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let r=new FY(this.view,e,t,s);return this.view.docView.domChanged={newSel:r.newSel?r.newSel.main:null},r}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let s=this.view.state,i=uO(this.view,t);return this.view.state==s&&(t.domChanged||t.newSel&&!gy(this.view.state.selection,t.newSel.main))&&this.view.update([]),i}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let s=jE(t,e.previousSibling||e.target.previousSibling,-1),i=jE(t,e.nextSibling||e.target.nextSibling,1);return{from:s?t.posAfter(s):t.posAtStart,to:i?t.posBefore(i):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(bo)!=e.state.facet(bo)&&(e.view.contentDOM.editContext=e.state.facet(bo)?this.editContext.editContext:null))}destroy(){var e,t,s;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(s=this.resizeScroll)===null||s===void 0||s.disconnect();for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function jE(n,e,t){for(;e;){let s=Ut.get(e);if(s&&s.parent==n)return s;let i=e.parentNode;e=i!=n.dom?i:t>0?e.nextSibling:e.previousSibling}return null}function zE(n,e){let t=e.startContainer,s=e.startOffset,i=e.endContainer,r=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor,1);return Ud(o.node,o.offset,i,r)&&([t,s,i,r]=[i,r,t,s]),{anchorNode:t,anchorOffset:s,focusNode:i,focusOffset:r}}function _7(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return zE(n,i)}let t=null;function s(i){i.preventDefault(),i.stopImmediatePropagation(),t=i.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",s,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",s,!0),t?zE(n,t):null}class S7{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=s=>{let i=e.state.selection.main,{anchor:r,head:o}=i,a=this.toEditorPos(s.updateRangeStart),l=this.toEditorPos(s.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:s.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>s.text.length;a==this.from&&rthis.to&&(l=r);let h=dO(e.state.sliceDoc(a,l),s.text,(c?i.from:i.to)-a,c?"end":null);if(!h){let d=te.single(this.toEditorPos(s.selectionStart),this.toEditorPos(s.selectionEnd));gy(d,i)||e.dispatch({selection:d,userEvent:"select"});return}let u={from:h.from+a,to:h.toA+a,insert:at.of(s.text.slice(h.from,h.toB).split(` +`))};if((ue.mac||ue.android)&&u.from==o-1&&/^\. ?$/.test(s.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:a,to:l,insert:at.of([s.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let d=this.to-this.from+(u.to-u.from+u.insert.length);$A(e,u,te.single(this.toEditorPos(s.selectionStart,d),this.toEditorPos(s.selectionEnd,d)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,s.updateRangeStart-1),Math.min(t.text.length,s.updateRangeStart+1)))&&this.handlers.compositionend(s)},this.handlers.characterboundsupdate=s=>{let i=[],r=null;for(let o=this.toEditorPos(s.rangeStart),a=this.toEditorPos(s.rangeEnd);o{let i=[];for(let r of s.getTextFormats()){let o=r.underlineStyle,a=r.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(r.rangeStart),c=this.toEditorPos(r.rangeEnd);if(l{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:s}=this.composing;this.composing=null,s&&this.reset(e.state)}};for(let s in this.handlers)t.addEventListener(s,this.handlers[s]);this.measureReq={read:s=>{let i=af(s.root);i&&i.rangeCount&&this.editContext.updateSelectionBounds(i.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,s=!1,i=this.pendingContextChange;return e.changes.iterChanges((r,o,a,l,c)=>{if(s)return;let h=c.length-(o-r);if(i&&o>=i.to)if(i.from==r&&i.to==o&&i.insert.eq(c)){i=this.pendingContextChange=null,t+=h,this.to+=h;return}else i=null,this.revertPending(e.state);if(r+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(rthis.to||this.to-this.from+c.length>3e4){s=!0;return}this.editContext.updateText(this.toContextPos(r),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),i&&!s&&this.revertPending(e.state),!s}update(e){let t=this.pendingContextChange,s=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(s.from,s.to)&&e.transactions.some(i=>!i.isUserEvent("input.type")&&i.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,s=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);(this.editContext.selectionStart!=s||this.editContext.selectionEnd!=i)&&this.editContext.updateSelection(s,i)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let s=this.composing;return s&&s.drifted?s.editorBase+(e-s.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class Se{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:s}=e;this.dispatchTransactions=e.dispatchTransactions||s&&(i=>i.forEach(r=>s(r,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=e.root||XX(e.parent)||document,this.viewState=new LE(this,e.state||ot.create(e)),e.scrollTo&&e.scrollTo.is(Em)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(sh).map(i=>new bv(i));for(let i of this.plugins)i.update(this);this.observer=new w7(this),this.inputState=new BY(this),this.inputState.ensureHandlers(this.plugins),this.docView=new AE(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof bn?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,s=!1,i,r=this.state;for(let d of e){if(d.startState!=r)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");r=d.state}if(this.destroyed){this.viewState.state=r;return}let o=this.hasFocus,a=0,l=null;e.some(d=>d.annotation(vO))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=bO(r,o),l||(a=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(h=null)):this.observer.clear(),r.facet(ot.phrases)!=this.state.facet(ot.phrases))return this.setState(r);i=fy.create(this,r,e),i.flags|=a;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let d of e){if(u&&(u=u.map(d.changes)),d.scrollIntoView){let{main:p}=d.state.selection,{x:m,y:g}=this.state.facet(Se.cursorScrollMargin);u=new yh(p.empty?p:te.cursor(p.head,p.head>p.anchor?-1:1),"nearest","nearest",g,m)}for(let p of d.effects)p.is(Em)&&(u=p.value.clip(this.state))}this.viewState.update(i,u),this.bidiCache=vy.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(xd)!=this.styleModules&&this.mountStyles(),s=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(d=>d.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(Mm)!=i.state.facet(Mm)&&(this.viewState.mustMeasureContent=!0),(t||s||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!i.empty)for(let d of this.state.facet(f_))try{d(i)}catch(p){Mr(this.state,p,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!uO(this,h)&&c.force&&gh(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let s of this.plugins)s.destroy(this);this.viewState=new LE(this,e),this.plugins=e.facet(sh).map(s=>new bv(s)),this.pluginMap.clear();for(let s of this.plugins)s.update(this);this.docView.destroy(),this.docView=new AE(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(sh),s=e.state.facet(sh);if(t!=s){let i=[];for(let r of s){let o=t.indexOf(r);if(o<0)i.push(new bv(r));else{let a=this.plugins[o];a.mustUpdate=e,i.push(a)}}for(let r of this.plugins)r.mustUpdate!=e&&r.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,s=this.viewState.scrollParent,i=this.viewState.getScrollOffset(),{scrollAnchorPos:r,scrollAnchorHeight:o}=this.viewState;Math.abs(i-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(FI(s||this.win))r=-1,o=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(i);r=p.from,o=p.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let h=c.map(p=>{try{return p.read(this)}catch(m){return Mr(this.state,m),HE}}),u=fy.create(this,this.state,[]),d=!1;u.flags|=l,t?t.flags|=l:t=u,this.updateState=2,u.empty||(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),d=this.docView.update(u),d&&this.docViewUpdate());for(let p=0;p1||m<-1)&&!(ue.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(s==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){i=i+m,s?r<0?s.scrollTop=s.scrollHeight:s.scrollTop+=m:this.win.scrollBy(0,m),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(f_))a(t)}get themeClasses(){return b_+" "+(this.state.facet(v_)?AO:SO)+" "+this.state.facet(Mm)}updateAttrs(){let e=BE(this,nO,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(bo)?"true":"false",class:"cm-content",style:`${ue.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),BE(this,EA,t);let s=this.observer.ignore(()=>{let i=yE(this.contentDOM,this.contentAttrs,t),r=yE(this.dom,this.editorAttrs,e);return i||r});return this.editorAttrs=e,this.contentAttrs=t,s}showAnnouncements(e){let t=!0;for(let s of e)for(let i of s.effects)if(i.is(Se.announce)){t&&(this.announceDOM.textContent=""),t=!1;let r=this.announceDOM.appendChild(document.createElement("div"));r.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(xd);let e=this.state.facet(Se.cspNonce);xu.mount(this.root,this.styleModules.concat(v7).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;ts.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,s){return Av(this,e,kE(this,e,t,s))}moveByGroup(e,t){return Av(this,e,kE(this,e,t,s=>MY(this,e.head,s)))}visualLineSide(e,t){let s=this.bidiSpans(e),i=this.textDirectionAt(e.from),r=s[t?s.length-1:0];return te.cursor(r.side(t,i)+e.from,r.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,s=!0){return RY(this,e,t,s)}moveVertically(e,t,s){return Av(this,e,IY(this,e,t,s))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let s=g_(this,e,t);return s&&s.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),g_(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let s=this.state.doc.lineAt(e),i=this.bidiSpans(s),r=i[Rr.find(i,e-s.from,-1,t)];return this.docView.coordsAt(e,t,r.dir==It.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(JI)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>A7)return UI(e.length);let t=this.textDirectionAt(e.from),s;for(let r of this.bidiCache)if(r.from==e.from&&r.dir==t&&(r.fresh||qI(r.isolates,s=wE(this,e))))return r.order;s||(s=wE(this,e));let i=iY(e.text,t,s);return this.bidiCache.push(new vy(e.from,e.to,t,s,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||ue.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{DI(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var s,i,r,o;return Em.of(new yh(typeof e=="number"?te.cursor(e):e,(s=t.y)!==null&&s!==void 0?s:"nearest",(i=t.x)!==null&&i!==void 0?i:"nearest",(r=t.yMargin)!==null&&r!==void 0?r:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,s=this.viewState.scrollAnchorAt(e);return Em.of(new yh(te.cursor(s.from),"start","start",s.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return ni.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return ni.define(()=>({}),{eventObservers:e})}static theme(e,t){let s=xu.newName(),i=[Mm.of(s),xd.of(w_(`.${s}`,e))];return t&&t.dark&&i.push(v_.of(!0)),i}static baseTheme(e){return T0.lowest(xd.of(w_("."+b_,e,kO)))}static findFromDOM(e){var t;let s=e.querySelector(".cm-content"),i=s&&Ut.get(s)||Ut.get(e);return((t=i==null?void 0:i.root)===null||t===void 0?void 0:t.view)||null}}Se.styleModule=xd;Se.inputHandler=XI;Se.clipboardInputFilter=kA;Se.clipboardOutputFilter=xA;Se.scrollHandler=eO;Se.focusChangeEffect=YI;Se.perLineTextDirection=JI;Se.exceptionSink=ZI;Se.updateListener=f_;Se.editable=bo;Se.mouseSelectionStyle=KI;Se.dragMovesSelection=GI;Se.clickAddsSelectionRange=WI;Se.decorations=I0;Se.blockWrappers=sO;Se.outerDecorations=CA;Se.atomicRanges=Xp;Se.bidiIsolatedRanges=iO;Se.cursorScrollMargin=ve.define({combine:n=>{let e=5,t=5;for(let s of n)typeof s=="number"?e=t=s:{x:e,y:t}=s;return{x:e,y:t}}});Se.scrollMargins=rO;Se.darkTheme=v_;Se.cspNonce=ve.define({combine:n=>n.length?n[0]:""});Se.contentAttributes=EA;Se.editorAttributes=nO;Se.lineWrapping=Se.contentAttributes.of({class:"cm-lineWrapping"});Se.announce=bt.define();const A7=4096,HE={};class vy{constructor(e,t,s,i,r,o){this.from=e,this.to=t,this.dir=s,this.isolates=i,this.fresh=r,this.order=o}static update(e,t){if(t.empty&&!e.some(r=>r.fresh))return e;let s=[],i=e.length?e[e.length-1].dir:It.LTR;for(let r=Math.max(0,e.length-10);r=0;i--){let r=s[i],o=typeof r=="function"?r(n):r;o&&_A(o,t)}return t}const k7=ue.mac?"mac":ue.windows?"win":ue.linux?"linux":"key";function x7(n,e){const t=n.split(/-(?!$)/);let s=t[t.length-1];s=="Space"&&(s=" ");let i,r,o,a;for(let l=0;ls.concat(i),[]))),t}function C7(n,e,t){return CO(EO(n.state),e,n,t)}let qo=null;const $7=4e3;function T7(n,e=k7){let t=Object.create(null),s=Object.create(null),i=(o,a)=>{let l=s[o];if(l==null)s[o]=a;else if(l!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},r=(o,a,l,c,h)=>{var u,d;let p=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(y=>x7(y,e));for(let y=1;y{let k=qo={view:_,prefix:w,scope:o};return setTimeout(()=>{qo==k&&(qo=null)},$7),!0}]})}let g=m.join(" ");i(g,!1);let v=p[g]||(p[g]={preventDefault:!1,stopPropagation:!1,run:((d=(u=p._any)===null||u===void 0?void 0:u.run)===null||d===void 0?void 0:d.slice())||[]});l&&v.run.push(l),c&&(v.preventDefault=!0),h&&(v.stopPropagation=!0)};for(let o of n){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of a){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=o;for(let d in h)h[d].run.push(p=>u(p,__))}let l=o[e]||o.key;if(l)for(let c of a)r(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&r(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}let __=null;function CO(n,e,t,s){__=e;let i=qX(e),r=mI(i,0),o=gI(r)==i.length&&i!=" ",a="",l=!1,c=!1,h=!1;qo&&qo.view==t&&qo.scope==s&&(a=qo.prefix+" ",pO.indexOf(e.keyCode)<0&&(c=!0,qo=null));let u=new Set,d=v=>{if(v){for(let y of v.run)if(!u.has(y)&&(u.add(y),y(t)))return v.stopPropagation&&(h=!0),!0;v.preventDefault&&(v.stopPropagation&&(h=!0),c=!0)}return!1},p=n[s],m,g;return p&&(d(p[a+Im(i,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(ue.windows&&e.ctrlKey&&e.altKey)&&!(ue.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Ra[e.keyCode])&&m!=i?(d(p[a+Im(m,e,!0)])||e.shiftKey&&(g=rf[e.keyCode])!=i&&g!=m&&d(p[a+Im(g,e,!1)]))&&(l=!0):o&&e.shiftKey&&d(p[a+Im(i,e,!0)])&&(l=!0),!l&&d(p._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),__=null,l}class cc{constructor(e,t,s,i,r){this.className=e,this.left=t,this.top=s,this.width=i,this.height=r}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,s){if(s.empty){let i=e.coordsAtPos(s.head,s.assoc||1);if(!i)return[];let r=$O(e);return[new cc(t,i.left-r.left,i.top-r.top,null,i.bottom-i.top)]}else return P7(e,t,s)}}function $O(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==It.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function UE(n,e,t,s){let i=n.coordsAtPos(e,t*2);if(!i)return s;let r=n.dom.getBoundingClientRect(),o=(i.top+i.bottom)/2,a=n.posAtCoords({x:r.left+1,y:o}),l=n.posAtCoords({x:r.right-1,y:o});return a==null||l==null?s:{from:Math.max(s.from,Math.min(a,l)),to:Math.min(s.to,Math.max(a,l))}}function P7(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let s=Math.max(t.from,n.viewport.from),i=Math.min(t.to,n.viewport.to),r=n.textDirection==It.LTR,o=n.contentDOM,a=o.getBoundingClientRect(),l=$O(n),c=o.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),u=a.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),d=a.right-(h?parseInt(h.paddingRight):0),p=m_(n,s,1),m=m_(n,i,-1),g=p.type==Gn.Text?p:null,v=m.type==Gn.Text?m:null;if(g&&(n.lineWrapping||p.widgetLineBreaks)&&(g=UE(n,s,1,g)),v&&(n.lineWrapping||m.widgetLineBreaks)&&(v=UE(n,i,-1,v)),g&&v&&g.from==v.from&&g.to==v.to)return w(_(t.from,t.to,g));{let A=g?_(t.from,null,g):k(p,!1),$=v?_(null,t.to,v):k(m,!0),E=[];return(g||p).to<(v||m).from-(g&&v?1:0)||p.widgetLineBreaks>1&&A.bottom+n.defaultLineHeight/2<$.top?E.push(y(u,A.bottom,d,$.top)):A.bottom<$.top&&n.elementAtHeight((A.bottom+$.top)/2).type==Gn.Text&&(A.bottom=$.top=(A.bottom+$.top)/2),w(A).concat(E).concat(w($))}function y(A,$,E,O){return new cc(e,A-l.left,$-l.top,Math.max(0,E-A),O-$)}function w({top:A,bottom:$,horizontal:E}){let O=[];for(let F=0;Fz&&D.from=X)break;H>Q&&L(Math.max(de,Q),A==null&&de<=z,Math.min(H,X),$==null&&H>=K,se.dir)}if(Q=J.to+1,Q>=X)break}return B.length==0&&L(z,A==null,K,$==null,n.textDirection),{top:O,bottom:F,horizontal:B}}function k(A,$){let E=a.top+($?A.top:A.bottom);return{top:E,bottom:E,horizontal:[]}}}function R7(n,e){return n.constructor==e.constructor&&n.eq(e)}class M7{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Og)!=e.state.facet(Og)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,s=e.facet(Og);for(;t!R7(t,this.drawn[s]))){let t=this.dom.firstChild,s=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[s].constructor&&i.update(t,this.drawn[s])?(t=t.nextSibling,s++):this.dom.insertBefore(i.draw(),t);for(;t;){let i=t.nextSibling;t.remove(),t=i}this.drawn=e,ue.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Og=ve.define();function TO(n){return[ni.define(e=>new M7(e,n)),Og.of(n)]}const Tu=ve.define({combine(n){return Hu(n,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function I7(n={}){return[Tu.of(n),O7,N7,D7,QI.of(!0)]}function PO(n){return n.startState.facet(Tu)!=n.state.facet(Tu)}const O7=TO({above:!0,markers(n){let{state:e}=n,t=e.facet(Tu),s=[];for(let i of e.selection.ranges){let r=i==e.selection.main;if(i.empty||t.drawRangeCursor&&!(r&&ue.ios&&t.iosSelectionHandles)){let o=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=i.empty?i:te.cursor(i.head,i.assoc);for(let l of cc.forRange(n,o,a))s.push(l)}}return s},update(n,e){n.transactions.some(s=>s.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=PO(n);return t&&VE(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){VE(e.state,n)},class:"cm-cursorLayer"});function VE(n,e){e.style.animationDuration=n.facet(Tu).cursorBlinkRate+"ms"}const N7=TO({above:!1,markers(n){let e=[],{main:t,ranges:s}=n.state.selection;for(let i of s)if(!i.empty)for(let r of cc.forRange(n,"cm-selectionBackground",i))e.push(r);if(ue.ios&&!t.empty&&n.state.facet(Tu).iosSelectionHandles){for(let i of cc.forRange(n,"cm-selectionHandle cm-selectionHandle-start",te.cursor(t.from,1)))e.push(i);for(let i of cc.forRange(n,"cm-selectionHandle cm-selectionHandle-end",te.cursor(t.to,1)))e.push(i)}return e},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||PO(n)},class:"cm-selectionLayer"}),L7=ue.gecko&&ue.gecko_version==153?"#ffffff01":"transparent",D7=T0.highest(Se.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`${L7} !important`},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));function F7(){return z7}const j7=Ye.line({class:"cm-activeLine"}),z7=ni.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let s of n.state.selection.ranges){let i=n.lineBlockAt(s.head);i.from>e&&(t.push(j7.range(i.from)),e=i.from)}return Ye.set(t)}},{decorations:n=>n.decorations}),WE=ve.define({combine(n){let e,t;for(let s of n)e=e||s.topContainer,t=t||s.bottomContainer;return{topContainer:e,bottomContainer:t}}});function RO(n,e){let t=n.plugin(MO),s=t?t.specs.indexOf(e):-1;return s>-1?t.panels[s]:null}const MO=ni.fromClass(class{constructor(n){this.input=n.state.facet(by),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(WE);this.top=new Om(n,!0,e.topContainer),this.bottom=new Om(n,!1,e.bottomContainer),this.top.sync(this.panels.filter(t=>t.top)),this.bottom.sync(this.panels.filter(t=>!t.top));for(let t of this.panels)t.dom.classList.add("cm-panel"),t.mount&&t.mount()}update(n){let e=n.state.facet(WE);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Om(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Om(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(by);if(t!=this.input){let s=t.filter(l=>l),i=[],r=[],o=[],a=[];for(let l of s){let c=this.specs.indexOf(l),h;c<0?(h=l(n.view),a.push(h)):(h=this.panels[c],h.update&&h.update(n)),i.push(h),(h.top?r:o).push(h)}this.specs=s,this.panels=i,this.top.sync(r),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let s of this.panels)s.update&&s.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>Se.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class Om{constructor(e,t,s){this.view=e,this.top=t,this.container=s,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom";let t=this.container||this.view.dom;t.insertBefore(this.dom,this.top?t.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=GE(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=GE(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function GE(n){let e=n.nextSibling;return n.remove(),e}const by=ve.define({enables:MO});function H7(n,e){let t,s=new Promise(o=>t=o),i=o=>B7(o,e,t);n.state.field(Ev,!1)?n.dispatch({effects:IO.of(i)}):n.dispatch({effects:bt.appendConfig.of(Ev.init(()=>[i]))});let r=OO.of(i);return{close:r,result:s.then(o=>((n.win.queueMicrotask||(l=>n.win.setTimeout(l,10)))(()=>{n.state.field(Ev).indexOf(i)>-1&&n.dispatch({effects:r})}),o))}}const Ev=jr.define({create(){return[]},update(n,e){for(let t of e.effects)t.is(IO)?n=[t.value].concat(n):t.is(OO)&&(n=n.filter(s=>s!=t.value));return n},provide:n=>by.computeN([n],e=>e.field(n))}),IO=bt.define(),OO=bt.define();function B7(n,e,t){let s=e.content?e.content(n,()=>o(null)):null;if(!s){if(s=Cn("form"),e.input){let a=Cn("input",e.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),s.appendChild(Cn("label",(e.label||"")+": ",a))}else s.appendChild(document.createTextNode(e.label||""));s.appendChild(document.createTextNode(" ")),s.appendChild(Cn("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let i=s.nodeName=="FORM"?[s]:s.querySelectorAll("form");for(let a=0;a{c.keyCode==27?(c.preventDefault(),o(null)):c.keyCode==13&&(c.preventDefault(),o(l))}),l.addEventListener("submit",c=>{c.preventDefault(),o(l)})}let r=Cn("div",s,Cn("button",{onclick:()=>o(null),"aria-label":n.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(r.className=e.class),r.classList.add("cm-dialog");function o(a){r.contains(r.ownerDocument.activeElement)&&n.focus(),t(a)}return{dom:r,top:e.top,mount:()=>{if(e.focus){let a;typeof e.focus=="string"?a=s.querySelector(e.focus):a=s.querySelector("input")||s.querySelector("button"),a&&"select"in a?a.select():a&&"focus"in a&&a.focus()}}}}class xc extends _c{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}xc.prototype.elementClass="";xc.prototype.toDOM=void 0;xc.prototype.mapMode=ei.TrackBefore;xc.prototype.startSide=xc.prototype.endSide=-1;xc.prototype.point=!0;const Cv=ve.define(),q7=ve.define(),Ng=ve.define(),KE=ve.define({combine:n=>n.some(e=>e)});function U7(n){return[V7]}const V7=ni.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(Ng).map(e=>new XE(n,e)),this.fixed=!n.state.facet(KE);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,s=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(s<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(KE)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=st.iter(this.view.state.facet(Cv),this.view.viewport.from),s=[],i=this.gutters.map(r=>new W7(r,this.view.viewport,-this.view.documentPadding.top));for(let r of this.view.viewportLineBlocks)if(s.length&&(s=[]),Array.isArray(r.type)){let o=!0;for(let a of r.type)if(a.type==Gn.Text&&o){S_(t,s,a.from);for(let l of i)l.line(this.view,a,s);o=!1}else if(a.widget)for(let l of i)l.widget(this.view,a)}else if(r.type==Gn.Text){S_(t,s,r.from);for(let o of i)o.line(this.view,r,s)}else if(r.widget)for(let o of i)o.widget(this.view,r);for(let r of i)r.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(Ng),t=n.state.facet(Ng),s=n.docChanged||n.heightChanged||n.viewportChanged||!st.eq(n.startState.facet(Cv),n.state.facet(Cv),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let i of this.gutters)i.update(n)&&(s=!0);else{s=!0;let i=[];for(let r of t){let o=e.indexOf(r);o<0?i.push(new XE(this.view,r)):(this.gutters[o].update(n),i.push(this.gutters[o]))}for(let r of this.gutters)r.dom.remove(),i.indexOf(r)<0&&r.destroy();for(let r of i)r.config.side=="after"?this.getDOMAfter().appendChild(r.dom):this.dom.appendChild(r.dom);this.gutters=i}return s}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>Se.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let s=t.dom.offsetWidth*e.scaleX,i=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==It.LTR?{left:s,right:i}:{right:s,left:i}})});function ZE(n){return Array.isArray(n)?n:[n]}function S_(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class W7{constructor(e,t,s){this.gutter=e,this.height=s,this.i=0,this.cursor=st.iter(e.markers,t.from)}addElement(e,t,s){let{gutter:i}=this,r=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==i.elements.length){let a=new NO(e,o,r,s);i.elements.push(a),i.dom.appendChild(a.dom)}else i.elements[this.i].update(e,o,r,s);this.height=t.bottom,this.i++}line(e,t,s){let i=[];S_(this.cursor,i,t.from),s.length&&(i=i.concat(s));let r=this.gutter.config.lineMarker(e,t,i);r&&i.unshift(r);let o=this.gutter;i.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,i)}widget(e,t){let s=this.gutter.config.widgetMarker(e,t.widget,t),i=s?[s]:null;for(let r of e.state.facet(q7)){let o=r(e,t.widget,t);o&&(i||(i=[])).push(o)}i&&this.addElement(e,t,i)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class XE{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let s in t.domEventHandlers)this.dom.addEventListener(s,i=>{let r=i.target,o;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let l=r.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=i.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[s](e,a,i)&&i.preventDefault()});this.markers=ZE(t.markers(e)),t.initialSpacer&&(this.spacer=new NO(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=ZE(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let i=this.config.updateSpacer(this.spacer.markers[0],e);i!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i])}let s=e.view.viewport;return!st.eq(this.markers,t,s.from,s.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class NO{constructor(e,t,s,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,s,i)}update(e,t,s,i){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=s&&(this.dom.style.marginTop=(this.above=s)?s+"px":""),G7(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let s="cm-gutterElement",i=this.dom.firstChild;for(let r=0,o=0;;){let a=o,l=rr(a,l,c)||o(a,l,c):o}return s}})}});class $v extends xc{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Tv(n,e){return n.state.facet(ih).formatNumber(e,n.state)}const X7=Ng.compute([ih],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(K7)},lineMarker(e,t,s){return s.some(i=>i.toDOM)?null:new $v(Tv(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,s)=>{for(let i of e.state.facet(Z7)){let r=i(e,t,s);if(r)return r}return null},lineMarkerChange:e=>e.startState.facet(ih)!=e.state.facet(ih),initialSpacer(e){return new $v(Tv(e,YE(e.state.doc.lines)))},updateSpacer(e,t){let s=Tv(t.view,YE(t.view.state.doc.lines));return s==e.number?e:new $v(s)},domEventHandlers:n.facet(ih).domEventHandlers,side:"before"}));function Y7(n={}){return[ih.of(n),U7(),X7]}function YE(n){let e=9;for(;e{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=js.match(e)),t=>{let s=e(t);return s===void 0?null:[this,s]}}}et.closedBy=new et({deserialize:n=>n.split(" ")});et.openedBy=new et({deserialize:n=>n.split(" ")});et.group=new et({deserialize:n=>n.split(" ")});et.isolate=new et({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});et.contextHash=new et({perNode:!0});et.lookAhead=new et({perNode:!0});et.mounted=new et({perNode:!0});class Wd{constructor(e,t,s,i=!1){this.tree=e,this.overlay=t,this.parser=s,this.bracketed=i}static get(e){return e&&e.props&&e.props[et.mounted.id]}}const eJ=Object.create(null);class js{constructor(e,t,s,i=0){this.name=e,this.props=t,this.id=s,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):eJ,s=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new js(e.name||"",t,e.id,s);if(e.props){for(let r of e.props)if(Array.isArray(r)||(r=r(i)),r){if(r[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[r[0].id]=r[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(et.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let s in e)for(let i of s.split(" "))t[i]=e[s];return s=>{for(let i=s.prop(et.group),r=-1;r<(i?i.length:0);r++){let o=t[r<0?s.name:i[r]];if(o)return o}}}}js.none=new js("",Object.create(null),0,8);class RA{constructor(e){this.types=e;for(let t=0;t0;for(let l=this.cursor(o|Zt.IncludeAnonymous);;){let c=!1;if(l.from<=r&&l.to>=i&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&s&&(a||!l.type.isAnonymous)&&s(l),!l.nextSibling();){if(!l.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:OA(js.none,this.children,this.positions,0,this.children.length,0,this.length,(t,s,i)=>new Ot(this.type,t,s,i,this.propValues),e.makeTree||((t,s,i)=>new Ot(js.none,t,s,i)))}static build(e){return iJ(e)}}Ot.empty=new Ot(js.none,[],[],0);class MA{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new MA(this.buffer,this.index)}}class Ia{constructor(e,t,s){this.buffer=e,this.length=t,this.set=s}get type(){return js.none}toString(){let e=[];for(let t=0;t0));l=o[l+3]);return a}slice(e,t,s){let i=this.buffer,r=new Uint16Array(t-e),o=0;for(let a=e,l=0;a=e&&te;case 1:return t<=e&&s>e;case 2:return s>e;case 4:return!0}}function cf(n,e,t,s){for(var i;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to0?a.length:-1;e!=c;e+=t){let h=a[e],u=l[e]+o.from,d;if(!(!(r&Zt.EnterBracketed&&h instanceof Ot&&(d=Wd.get(h))&&!d.overlay&&d.bracketed&&s>=u&&s<=u+h.length)&&!LO(i,s,u,u+h.length))){if(h instanceof Ia){if(r&Zt.ExcludeBuffers)continue;let p=h.findChild(0,h.buffer.length,t,s-u,i);if(p>-1)return new Aa(new tJ(o,h,e,u),null,p)}else if(r&Zt.IncludeAnonymous||!h.type.isAnonymous||IA(h)){let p;if(!(r&Zt.IgnoreMounts)&&(p=Wd.get(h))&&!p.overlay)return new vi(p.tree,u,e,o);let m=new vi(h,u,e,o);return r&Zt.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?h.children.length-1:0,t,s,i,r)}}}if(r&Zt.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,s=0){let i;if(!(s&Zt.IgnoreOverlays)&&(i=Wd.get(this._tree))&&i.overlay){let r=e-this.from,o=s&Zt.EnterBracketed&&i.bracketed;for(let{from:a,to:l}of i.overlay)if((t>0||o?a<=r:a=r:l>r))return new vi(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,s)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function QE(n,e,t,s){let i=n.cursor(),r=[];if(!i.firstChild())return r;if(t!=null){for(let o=!1;!o;)if(o=i.type.is(t),!i.nextSibling())return r}for(;;){if(s!=null&&i.type.is(s))return r;if(i.type.is(e)&&r.push(i.node),!i.nextSibling())return s==null?r:[]}}function A_(n,e,t=e.length-1){for(let s=n;t>=0;s=s.parent){if(!s)return!1;if(!s.type.isAnonymous){if(e[t]&&e[t]!=s.name)return!1;t--}}return!0}class tJ{constructor(e,t,s,i){this.parent=e,this.buffer=t,this.index=s,this.start=i}}class Aa extends DO{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,s){super(),this.context=e,this._parent=t,this.index=s,this.type=e.buffer.set.types[e.buffer.buffer[s]]}child(e,t,s){let{buffer:i}=this.context,r=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,s);return r<0?null:new Aa(this.context,this,r)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,s=0){if(s&Zt.ExcludeBuffers)return null;let{buffer:i}=this.context,r=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return r<0?null:new Aa(this.context,this,r)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Aa(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new Aa(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:s}=this.context,i=this.index+4,r=s.buffer[this.index+3];if(r>i){let o=s.buffer[this.index+1];e.push(s.slice(i,r,o)),t.push(0)}return new Ot(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function FO(n){if(!n.length)return null;let e=0,t=n[0];for(let r=1;rt.from||o.to=e){let a=new vi(o.tree,o.overlay[0].from+r.from,-1,r);(i||(i=[s])).push(cf(a,e,t,!1))}}return i?FO(i):s}class k_{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~Zt.EnterBracketed,e instanceof vi)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let s=e._parent;s;s=s._parent)this.stack.unshift(s.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:s,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=s+i.buffer[e+1],this.to=s+i.buffer[e+2],!0}yield(e){return e?e instanceof vi?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,s){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,s,this.mode));let{buffer:i}=this.buffer,r=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,s);return r<0?!1:(this.stack.push(this.index),this.yieldBuf(r))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,s=this.mode){return this.buffer?s&Zt.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,s))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Zt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Zt.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,s=this.stack.length-1;if(e<0){let i=s<0?0:this.stack[s]+4;if(this.index!=i)return this.yieldBuf(t.findChild(i,this.index,-1,0,4))}else{let i=t.buffer[this.index+3];if(i<(s<0?t.buffer.length:t.buffer[this.stack[s]+3]))return this.yieldBuf(i)}return s<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,s,{buffer:i}=this;if(i){if(e>0){if(this.index-1)for(let r=t+e,o=e<0?-1:s._tree.children.length;r!=o;r+=e){let a=s._tree.children[r];if(this.mode&Zt.IncludeAnonymous||a instanceof Ia||!a.type.isAnonymous||IA(a))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==i){if(i==this.index)return o;t=o,s=r+1;break e}i=this.stack[--r]}for(let i=s;i=0;r--){if(r<0)return A_(this._tree,e,i);let o=s[t.buffer[this.stack[r]]];if(!o.isAnonymous){if(e[i]&&e[i]!=o.name)return!1;i--}}return!0}}function IA(n){return n.children.some(e=>e instanceof Ia||!e.type.isAnonymous||IA(e))}function iJ(n){var e;let{buffer:t,nodeSet:s,maxBufferLength:i=J7,reused:r=[],minRepeatType:o=s.types.length}=n,a=Array.isArray(t)?new MA(t,t.length):t,l=s.types,c=0,h=0;function u(A,$,E,O,F,B){let{id:L,start:z,end:K,size:D}=a,Q=h,X=c;if(D<0)if(a.next(),D==-1){let P=r[L];E.push(P),O.push(z-A);return}else if(D==-3){c=L;return}else if(D==-4){h=L;return}else throw new RangeError(`Unrecognized record size: ${D}`);let J=l[L],se,de,H=z-A;if(K-z<=i&&(de=v(a.pos-$,F))){let P=new Uint16Array(de.size-de.skip),N=a.pos-de.size,M=P.length;for(;a.pos>N;)M=y(de.start,P,M);se=new Ia(P,K-de.start,s),H=de.start-A}else{let P=a.pos-D;a.next();let N=[],M=[],b=L>=o?L:-1,x=0,I=K;for(;a.pos>P;)b>=0&&a.id==b&&a.size>=0?(a.end<=I-i&&(m(N,M,z,x,a.end,I,b,Q,X),x=N.length,I=a.end),a.next()):B>2500?d(z,P,N,M):u(z,P,N,M,b,B+1);if(b>=0&&x>0&&x-1&&x>0){let V=p(J,X);se=OA(J,N,M,0,N.length,0,K-z,V,V)}else se=g(J,N,M,K-z,Q-K,X)}E.push(se),O.push(H)}function d(A,$,E,O){let F=[],B=0,L=-1;for(;a.pos>$;){let{id:z,start:K,end:D,size:Q}=a;if(Q>4)a.next();else{if(L>-1&&K=0;D-=3)z[Q++]=F[D],z[Q++]=F[D+1]-K,z[Q++]=F[D+2]-K,z[Q++]=Q;E.push(new Ia(z,F[2]-K,s)),O.push(K-A)}}function p(A,$){return(E,O,F)=>{let B=0,L=E.length-1,z,K;if(L>=0&&(z=E[L])instanceof Ot){if(!L&&z.type==A&&z.length==F)return z;(K=z.prop(et.lookAhead))&&(B=O[L]+z.length+K)}return g(A,E,O,F,B,$)}}function m(A,$,E,O,F,B,L,z,K){let D=[],Q=[];for(;A.length>O;)D.push(A.pop()),Q.push($.pop()+E-F);A.push(g(s.types[L],D,Q,B-F,z-B,K)),$.push(F-E)}function g(A,$,E,O,F,B,L){if(B){let z=[et.contextHash,B];L=L?[z].concat(L):[z]}if(F>25){let z=[et.lookAhead,F];L=L?[z].concat(L):[z]}return new Ot(A,$,E,O,L)}function v(A,$){let E=a.fork(),O=0,F=0,B=0,L=E.end-i,z={size:0,start:0,skip:0};e:for(let K=E.pos-A;E.pos>K;){let D=E.size;if(E.id==$&&D>=0){z.size=O,z.start=F,z.skip=B,B+=4,O+=4,E.next();continue}let Q=E.pos-D;if(D<0||Q=o?4:0,J=E.start;for(E.next();E.pos>Q;){if(E.size<0)if(E.size==-3||E.size==-4)X+=4;else break e;else E.id>=o&&(X+=4);E.next()}F=J,O+=D,B+=X}return($<0||O==A)&&(z.size=O,z.start=F,z.skip=B),z.size>4?z:void 0}function y(A,$,E){let{id:O,start:F,end:B,size:L}=a;if(a.next(),L>=0&&O4){let K=a.pos-(L-4);for(;a.pos>K;)E=y(A,$,E)}$[--E]=z,$[--E]=B-A,$[--E]=F-A,$[--E]=O}else L==-3?c=O:L==-4&&(h=O);return E}let w=[],_=[];for(;a.pos>0;)u(n.start||0,n.bufferStart||0,w,_,-1,0);let k=(e=n.length)!==null&&e!==void 0?e:w.length?_[0]+w[0].length:0;return new Ot(l[n.topID],w.reverse(),_.reverse(),k)}const eC=new WeakMap;function Lg(n,e){if(!n.isAnonymous||e instanceof Ia||e.type!=n)return 1;let t=eC.get(e);if(t==null){t=1;for(let s of e.children){if(s.type!=n||!(s instanceof Ot)){t=1;break}t+=Lg(n,s)}eC.set(e,t)}return t}function OA(n,e,t,s,i,r,o,a,l){let c=0;for(let m=s;m=h)break;$+=E}if(_==k+1){if($>h){let E=m[k];p(E.children,E.positions,0,E.children.length,g[k]+w);continue}u.push(m[k])}else{let E=g[_-1]+m[_-1].length-A;u.push(OA(n,m,g,k,_,A,E,null,l))}d.push(A+w-r)}}return p(e,t,s,i,0),(a||l)(u,d,o)}class hc{constructor(e,t,s,i,r=!1,o=!1){this.from=e,this.to=t,this.tree=s,this.offset=i,this.open=(r?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],s=!1){let i=[new hc(0,e.length,e,0,!1,s)];for(let r of t)r.to>e.length&&i.push(r);return i}static applyChanges(e,t,s=128){if(!t.length)return e;let i=[],r=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a=s)for(;o&&o.from=d.from||u<=d.to||c){let p=Math.max(d.from,l)-c,m=Math.min(d.to,u)-c;d=p>=m?null:new hc(p,m,d.tree,d.offset+c,a>0,!!h)}if(d&&i.push(d),o.to>u)break;o=rnew Pv(i.from,i.to)):[new Pv(0,0)]:[new Pv(0,e.length)],this.createParse(e,t||[],s)}parse(e,t,s){let i=this.startParse(e,t,s);for(;;){let r=i.advance();if(r)return r}}}class rJ{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}new et({perNode:!0});let oJ=0;class fi{constructor(e,t,s,i){this.name=e,this.set=t,this.base=s,this.modified=i,this.id=oJ++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let s=typeof e=="string"?e:"?";if(e instanceof fi&&(t=e),t!=null&&t.base)throw new Error("Can not derive from a modified tag");let i=new fi(s,[],null,[]);if(i.set.push(i),t)for(let r of t.set)i.set.push(r);return i}static defineModifier(e){let t=new wy(e);return s=>s.modified.indexOf(t)>-1?s:wy.get(s.base||s,s.modified.concat(t).sort((i,r)=>i.id-r.id))}}let aJ=0;class wy{constructor(e){this.name=e,this.instances=[],this.id=aJ++}static get(e,t){if(!t.length)return e;let s=t[0].instances.find(a=>a.base==e&&lJ(t,a.modified));if(s)return s;let i=[],r=new fi(e.name,i,e,t);for(let a of t)a.instances.push(r);let o=cJ(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(wy.get(a,l));return r}}function lJ(n,e){return n.length==e.length&&n.every((t,s)=>t==e[s])}function cJ(n){let e=[[]];for(let t=0;ts.length-t.length)}function hJ(n){let e=Object.create(null);for(let t in n){let s=n[t];Array.isArray(s)||(s=[s]);for(let i of t.split(" "))if(i){let r=[],o=2,a=i;for(let u=0;;){if(a=="..."&&u>0&&u+3==i.length){o=1;break}let d=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!d)throw new RangeError("Invalid path: "+i);if(r.push(d[0]=="*"?"":d[0][0]=='"'?JSON.parse(d[0]):d[0]),u+=d[0].length,u==i.length)break;let p=i[u++];if(u==i.length&&p=="!"){o=0;break}if(p!="/")throw new RangeError("Invalid path: "+i);a=i.slice(u)}let l=r.length-1,c=r[l];if(!c)throw new RangeError("Invalid path: "+i);let h=new _y(s,o,l>0?r.slice(0,l):null);e[c]=h.sort(e[c])}}return uJ.add(e)}const uJ=new et({combine(n,e){let t,s,i;for(;n||e;){if(!n||e&&n.depth>=e.depth?(i=e,e=e.next):(i=n,n=n.next),t&&t.mode==i.mode&&!i.context&&!t.context)continue;let r=new _y(i.tags,i.mode,i.context);t?t.next=r:s=r,t=r}return s}});class _y{constructor(e,t,s,i){this.tags=e,this.mode=t,this.context=s,this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=i;for(let a of r)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:s}}const ce=fi.define,Lm=ce(),jo=ce(),tC=ce(jo),nC=ce(jo),zo=ce(),Dm=ce(zo),Rv=ce(zo),or=ce(),Ka=ce(or),ir=ce(),rr=ce(),x_=ce(),nd=ce(x_),Fm=ce(),je={comment:Lm,lineComment:ce(Lm),blockComment:ce(Lm),docComment:ce(Lm),name:jo,variableName:ce(jo),typeName:tC,tagName:ce(tC),propertyName:nC,attributeName:ce(nC),className:ce(jo),labelName:ce(jo),namespace:ce(jo),macroName:ce(jo),literal:zo,string:Dm,docString:ce(Dm),character:ce(Dm),attributeValue:ce(Dm),number:Rv,integer:ce(Rv),float:ce(Rv),bool:ce(zo),regexp:ce(zo),escape:ce(zo),color:ce(zo),url:ce(zo),keyword:ir,self:ce(ir),null:ce(ir),atom:ce(ir),unit:ce(ir),modifier:ce(ir),operatorKeyword:ce(ir),controlKeyword:ce(ir),definitionKeyword:ce(ir),moduleKeyword:ce(ir),operator:rr,derefOperator:ce(rr),arithmeticOperator:ce(rr),logicOperator:ce(rr),bitwiseOperator:ce(rr),compareOperator:ce(rr),updateOperator:ce(rr),definitionOperator:ce(rr),typeOperator:ce(rr),controlOperator:ce(rr),punctuation:x_,separator:ce(x_),bracket:nd,angleBracket:ce(nd),squareBracket:ce(nd),paren:ce(nd),brace:ce(nd),content:or,heading:Ka,heading1:ce(Ka),heading2:ce(Ka),heading3:ce(Ka),heading4:ce(Ka),heading5:ce(Ka),heading6:ce(Ka),contentSeparator:ce(or),list:ce(or),quote:ce(or),emphasis:ce(or),strong:ce(or),link:ce(or),monospace:ce(or),strikethrough:ce(or),inserted:ce(),deleted:ce(),changed:ce(),invalid:ce(),meta:Fm,documentMeta:ce(Fm),annotation:ce(Fm),processingInstruction:ce(Fm),definition:fi.defineModifier("definition"),constant:fi.defineModifier("constant"),function:fi.defineModifier("function"),standard:fi.defineModifier("standard"),local:fi.defineModifier("local"),special:fi.defineModifier("special")};for(let n in je){let e=je[n];e instanceof fi&&(e.name=n)}dJ([{tag:je.link,class:"tok-link"},{tag:je.heading,class:"tok-heading"},{tag:je.emphasis,class:"tok-emphasis"},{tag:je.strong,class:"tok-strong"},{tag:je.keyword,class:"tok-keyword"},{tag:je.atom,class:"tok-atom"},{tag:je.bool,class:"tok-bool"},{tag:je.url,class:"tok-url"},{tag:je.labelName,class:"tok-labelName"},{tag:je.inserted,class:"tok-inserted"},{tag:je.deleted,class:"tok-deleted"},{tag:je.literal,class:"tok-literal"},{tag:je.string,class:"tok-string"},{tag:je.number,class:"tok-number"},{tag:[je.regexp,je.escape,je.special(je.string)],class:"tok-string2"},{tag:je.variableName,class:"tok-variableName"},{tag:je.local(je.variableName),class:"tok-variableName tok-local"},{tag:je.definition(je.variableName),class:"tok-variableName tok-definition"},{tag:je.special(je.variableName),class:"tok-variableName2"},{tag:je.definition(je.propertyName),class:"tok-propertyName tok-definition"},{tag:je.typeName,class:"tok-typeName"},{tag:je.namespace,class:"tok-namespace"},{tag:je.className,class:"tok-className"},{tag:je.macroName,class:"tok-macroName"},{tag:je.propertyName,class:"tok-propertyName"},{tag:je.operator,class:"tok-operator"},{tag:je.comment,class:"tok-comment"},{tag:je.meta,class:"tok-meta"},{tag:je.invalid,class:"tok-invalid"},{tag:je.punctuation,class:"tok-punctuation"}]);var Mv;const Cd=new et;function fJ(n){return ve.define({combine:n?e=>e.concat(n):void 0})}const pJ=new et;class Ir{constructor(e,t,s=[],i=""){this.data=e,this.name=i,ot.prototype.hasOwnProperty("tree")||Object.defineProperty(ot.prototype,"tree",{get(){return Oa(this)}}),this.parser=t,this.extension=[Mu.of(this),ot.languageData.of((r,o,a)=>{let l=sC(r,o,a),c=l.type.prop(Cd);if(!c)return[];let h=r.facet(c),u=l.type.prop(pJ);if(u){let d=l.resolve(o-l.from,a);for(let p of u)if(p.test(d,r)){let m=r.facet(p.facet);return p.type=="replace"?m:m.concat(h)}}return h})].concat(s)}isActiveAt(e,t,s=-1){return sC(e,t,s).type.prop(Cd)==this.data}findRegions(e){let t=e.facet(Mu);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let s=[],i=(r,o)=>{if(r.prop(Cd)==this.data){s.push({from:o,to:o+r.length});return}let a=r.prop(et.mounted);if(a){if(a.tree.prop(Cd)==this.data){if(a.overlay)for(let l of a.overlay)s.push({from:l.from+o,to:l.to+o});else s.push({from:o,to:o+r.length});return}else if(a.overlay){let l=s.length;if(i(a.tree,a.overlay[0].from+o),s.length>l)return}}for(let l=0;l=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-s,t-s)}}let sd=null;class Pu{constructor(e,t,s=[],i,r,o,a,l){this.parser=e,this.state=t,this.fragments=s,this.tree=i,this.treeLen=r,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,s){return new Pu(e,t,[],Ot.empty,0,s,[],null)}startParse(){return this.parser.startParse(new mJ(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Ot.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var s;if(typeof e=="number"){let i=Date.now()+e;e=()=>Date.now()>i}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(hc.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=sd;sd=this;try{return e()}finally{sd=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=iC(e,t.from,t.to);return e}changes(e,t){let{fragments:s,tree:i,treeLen:r,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,u,d)=>l.push({fromA:c,toA:h,fromB:u,toB:d})),s=hc.applyChanges(s,l),i=Ot.empty,r=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),u=e.mapPos(c.to,-1);he.from&&(this.fragments=iC(this.fragments,i,r),this.skipped.splice(s--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends jO{createParse(t,s,i){let r=i[0].from,o=i[i.length-1].to;return{parsedPos:r,advance(){let l=sd;if(l){for(let c of i)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=o,new Ot(js.none,[],[],o-r)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return sd}}function iC(n,e,t){return hc.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class Ru{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),s=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,s)||t.takeTree(),new Ru(t)}static init(e){let t=Math.min(3e3,e.doc.length),s=Pu.create(e.facet(Mu).parser,e,{from:0,to:t});return s.work(20,t)||s.takeTree(),new Ru(s)}}Ir.state=jr.define({create:Ru.init,update(n,e){for(let t of e.effects)if(t.is(Ir.setState))return t.value;return e.startState.facet(Mu)!=e.state.facet(Mu)?Ru.init(e.state):n.apply(e)}});let zO=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(zO=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const Iv=typeof navigator<"u"&&(!((Mv=navigator.scheduling)===null||Mv===void 0)&&Mv.isInputPending)?()=>navigator.scheduling.isInputPending():null,gJ=ni.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Ir.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Ir.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=zO(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndi+1e3,l=r.context.work(()=>Iv&&Iv()||Date.now()>o,i+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:Ir.setState.of(new Ru(r.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Mr(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Mu=ve.define({combine(n){return n.length?n[0]:null},enables:n=>[Ir.state,gJ,Se.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]}),yJ=ve.define(),NA=ve.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function Ec(n){let e=n.facet(NA);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Sy(n,e){let t="",s=n.tabSize,i=n.facet(NA)[0];if(i==" "){for(;e>=s;)t+=" ",e-=s;i=" "}for(let r=0;r=e?vJ(n,t,e):null}class D0{constructor(e,t={}){this.state=e,this.options=t,this.unit=Ec(e)}lineAt(e,t=1){let s=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:r}=this.options;return i!=null&&i>=s.from&&i<=s.to?r&&i==e?{text:"",from:e}:(t<0?i-1&&(r+=o-this.countColumn(s,s.search(/\S|$/))),r}countColumn(e,t=e.length){return P0(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:s,from:i}=this.lineAt(e,t),r=this.options.overrideIndentation;if(r){let o=r(i);if(o>-1)return o}return this.countColumn(s,s.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const BO=new et;function vJ(n,e,t){let s=e.resolveStack(t),i=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(i!=s.node){let r=[];for(let o=i;o&&!(o.froms.node.to||o.from==s.node.from&&o.type==s.node.type);o=o.parent)r.push(o);for(let o=r.length-1;o>=0;o--)s={node:r[o],next:s}}return qO(s,n,t)}function qO(n,e,t){for(let s=n;s;s=s.next){let i=wJ(s.node);if(i)return i(LA.create(e,t,s))}return 0}function bJ(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function wJ(n){let e=n.type.prop(BO);if(e)return e;let t=n.firstChild,s;if(t&&(s=t.type.prop(et.closedBy))){let i=n.lastChild,r=i&&s.indexOf(i.name)>-1;return o=>kJ(o,!0,1,void 0,r&&!bJ(o)?i.from:void 0)}return n.parent==null?_J:null}function _J(){return 0}class LA extends D0{constructor(e,t,s){super(e.state,e.options),this.base=e,this.pos=t,this.context=s}get node(){return this.context.node}static create(e,t,s){return new LA(e,t,s)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let s=e.resolve(t.from);for(;s.parent&&s.parent.from==s.from;)s=s.parent;if(SJ(s,e))break;t=this.state.doc.lineAt(s.from)}return this.lineIndent(t.from)}continue(){return qO(this.context.next,this.base,this.pos)}}function SJ(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function AJ(n){let e=n.node,t=e.childAfter(e.from),s=e.lastChild;if(!t)return null;let i=n.options.simulateBreak,r=n.state.doc.lineAt(t.from),o=i==null||i<=r.from?r.to:Math.min(r.to,i);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==s)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(r.text.slice(t.to-r.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function kJ(n,e,t,s,i){let r=n.textAfter,o=r.match(/^\s*/)[0].length,a=s&&r.slice(o,o+s.length)==s||i==n.pos+o,l=AJ(n);return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}const xJ=Se.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),UO=1e4,VO="()[]{}",WO=ve.define({combine(n){return Hu(n,{afterCursor:!0,brackets:VO,maxScanDistance:UO,renderMatch:$J})}}),EJ=Ye.mark({class:"cm-matchingBracket"}),CJ=Ye.mark({class:"cm-nonmatchingBracket"});function $J(n){let e=[],t=n.matched?EJ:CJ;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}function rC(n){let e=[],t=n.facet(WO);for(let s of n.selection.ranges){if(!s.empty)continue;let i=Or(n,s.head,-1,t)||s.head>0&&Or(n,s.head-1,1,t)||t.afterCursor&&(Or(n,s.head,1,t)||s.headn.decorations}),PJ=[TJ,xJ];function RJ(n={}){return[WO.of(n),PJ]}const MJ=new et;function E_(n,e,t){let s=n.prop(e<0?et.openedBy:et.closedBy);if(s)return s;if(n.name.length==1){let i=t.indexOf(n.name);if(i>-1&&i%2==(e<0?1:0))return[t[i+e]]}return null}function C_(n){let e=n.type.prop(MJ);return e?e(n.node):n}function Or(n,e,t,s={}){let i=s.maxScanDistance||UO,r=s.brackets||VO,o=Oa(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=E_(l.type,t,r);if(c&&l.from0?e>=h.from&&eh.from&&e<=h.to))return IJ(n,e,t,l,h,c,r)}}return OJ(n,e,t,o,a.type,i,r)}function IJ(n,e,t,s,i,r,o){let a=s.parent,l={from:i.from,to:i.to},c=0,h=a==null?void 0:a.cursor();if(h&&(t<0?h.childBefore(s.from):h.childAfter(s.to)))do if(t<0?h.to<=s.from:h.from>=s.to){if(c==0&&r.indexOf(h.type.name)>-1&&h.from0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=n.doc.iterRange(e,t>0?n.doc.length:0),u=0;for(let d=0;!h.next().done&&d<=r;){let p=h.value;t<0&&(d+=p.length);let m=e+d*t;for(let g=t>0?0:p.length-1,v=t>0?p.length:-1;g!=v;g+=t){let y=o.indexOf(p[g]);if(!(y<0||s.resolveInner(m+g,1).type!=i))if(y%2==0==t>0)u++;else{if(u==1)return{start:c,end:{from:m+g,to:m+g+1},matched:y>>1==l>>1};u--}}t>0&&(d+=p.length)}return h.done?{start:c,matched:!1}:null}function oC(n,e,t,s=0,i=0){e==null&&(e=n.search(/[^\s\u00a0]/),e==-1&&(e=n.length));let r=i;for(let o=s;o=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPoss?o.toLowerCase():o,r=this.string.substr(this.pos,e.length);return i(r)==i(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&t!==!1&&(this.pos+=i[0].length),i)}}current(){return this.string.slice(this.start,this.pos)}}function NJ(n){return{name:n.name||"",token:n.token,blankLine:n.blankLine||(()=>{}),startState:n.startState||(()=>!0),copyState:n.copyState||LJ,indent:n.indent||(()=>null),languageData:n.languageData||{},tokenTable:n.tokenTable||jA,mergeTokens:n.mergeTokens!==!1}}function LJ(n){if(typeof n!="object")return n;let e={};for(let t in n){let s=n[t];e[t]=s instanceof Array?s.slice():s}return e}const aC=new WeakMap;class DA extends Ir{constructor(e){let t=fJ(e.languageData),s=NJ(e),i,r=new class extends jO{createParse(o,a,l){return new FJ(i,o,a,l)}};super(t,r,[],e.name),this.topNode=HJ(t,this),i=this,this.streamParser=s,this.stateAfter=new et({perNode:!0}),this.tokenTable=e.tokenTable?new YO(s.tokenTable):zJ}static define(e){return new DA(e)}getIndent(e){let t,{overrideIndentation:s}=e.options;s&&(t=aC.get(e.state),t!=null&&t1e4)return null;for(;r=s&&t+e.length<=i&&e.prop(n.stateAfter);if(r)return{state:n.streamParser.copyState(r),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],l=t+e.positions[o],c=a instanceof Ot&&l=e.length)return e;!i&&t==0&&e.type==n.topNode&&(i=!0);for(let r=e.children.length-1;r>=0;r--){let o=e.positions[r],a=e.children[r],l;if(ot&&FA(n,r.tree,0-r.offset,t,a),c;if(l&&l.pos<=s&&(c=KO(n,r.tree,t+r.offset,l.pos+r.offset,!1)))return{state:l.state,tree:c}}return{state:n.streamParser.startState(i?Ec(i):4),tree:Ot.empty}}class FJ{constructor(e,t,s,i){this.lang=e,this.input=t,this.fragments=s,this.ranges=i,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=i[i.length-1].to;let r=Pu.get(),o=i[0].from,{state:a,tree:l}=DJ(e,s,o,this.to,r==null?void 0:r.state);this.state=a,this.parsedPos=this.chunkStart=o+l.length;for(let c=0;cc.from<=r.viewport.from&&c.to>=r.viewport.from)&&(this.state=this.lang.streamParser.startState(Ec(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let e=Pu.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),s=Math.min(t,this.chunkStart+512);for(e&&(s=Math.min(s,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)t==` +`&&(t="");else{let s=t.indexOf(` +`);s>-1&&(t=t.slice(0,s))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),s=e+t.length;for(let i=this.rangeIndex;;){let r=this.ranges[i].to;if(r>=s||(t=t.slice(0,r-(s-t.length)),i++,i==this.ranges.length))break;let o=this.ranges[i].from,a=this.lineAfter(o);t+=a,s=o+a.length}return{line:t,end:s}}skipGapsTo(e,t,s){for(;;){let i=this.ranges[this.rangeIndex].to,r=e+t;if(s>0?i>r:i>=r)break;let o=this.ranges[++this.rangeIndex].from;t+=o-i}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){i=this.skipGapsTo(t,i,1),t+=i;let a=this.chunk.length;i=this.skipGapsTo(s,i,-1),s+=i,r+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&r==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=s:this.chunk.push(e,t,s,r),i}parseLine(e){let{line:t,end:s}=this.nextLine(),i=0,{streamParser:r}=this.lang,o=new GO(t,e?e.state.tabSize:4,e?Ec(e.state):2);if(o.eol())r.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=ZO(r.token,o,this.state);if(a&&(i=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,i)),o.start>1e4)break}this.parsedPos=s,this.moveRangeIndex(),this.parsedPose.start)return i}throw new Error("Stream parser failed to advance stream.")}const jA=Object.create(null),hf=[js.none],jJ=new RA(hf),lC=[],cC=Object.create(null),XO=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])XO[n]=JO(jA,e);class YO{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),XO)}resolve(e){return e?this.table[e]||(this.table[e]=JO(this.extra,e)):0}}const zJ=new YO(jA);function Ov(n,e){lC.indexOf(n)>-1||(lC.push(n),console.warn(e))}function JO(n,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=n[c]||je[c];h?typeof h=="function"?l.length?l=l.map(h):Ov(c,`Modifier ${c} used at start of tag`):l.length?Ov(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:Ov(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let s=e.replace(/ /g,"_"),i=s+" "+t.map(a=>a.id),r=cC[i];if(r)return r.id;let o=cC[i]=js.define({id:hf.length,name:s,props:[hJ({[s]:t})]});return hf.push(o),o.id}function HJ(n,e){let t=js.define({id:hf.length,name:"Document",props:[Cd.add(()=>n),BO.add(()=>s=>e.getIndent(s))],top:!0});return hf.push(t),t}It.RTL,It.LTR;const BJ=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),s=HA(n.state,t.from);return s.line?qJ(n):s.block?VJ(n):!1};function zA(n,e){return({state:t,dispatch:s})=>{if(t.readOnly)return!1;let i=n(e,t);return i?(s(t.update(i)),!0):!1}}const qJ=zA(KJ,0),UJ=zA(QO,0),VJ=zA((n,e)=>QO(n,e,GJ(e)),0);function HA(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const id=50;function WJ(n,{open:e,close:t},s,i){let r=n.sliceDoc(s-id,s),o=n.sliceDoc(i,i+id),a=/\s*$/.exec(r)[0].length,l=/^\s*/.exec(o)[0].length,c=r.length-a;if(r.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:s-a,margin:a&&1},close:{pos:i+l,margin:l&&1}};let h,u;i-s<=2*id?h=u=n.sliceDoc(s,i):(h=n.sliceDoc(s,s+id),u=n.sliceDoc(i-id,i));let d=/^\s*/.exec(h)[0].length,p=/\s*$/.exec(u)[0].length,m=u.length-p-t.length;return h.slice(d,d+e.length)==e&&u.slice(m,m+t.length)==t?{open:{pos:s+d+e.length,margin:/\s/.test(h.charAt(d+e.length))?1:0},close:{pos:i-p-t.length,margin:/\s/.test(u.charAt(m-1))?1:0}}:null}function GJ(n){let e=[];for(let t of n.selection.ranges){let s=n.doc.lineAt(t.from),i=t.to<=s.to?s:n.doc.lineAt(t.to);i.from>s.from&&i.from==t.to&&(i=t.to==s.to+1?s:n.doc.lineAt(t.to-1));let r=e.length-1;r>=0&&e[r].to>s.from?e[r].to=i.to:e.push({from:s.from+/^\s*/.exec(s.text)[0].length,to:i.to})}return e}function QO(n,e,t=e.selection.ranges){let s=t.map(r=>HA(e,r.from).block);if(!s.every(r=>r))return null;let i=t.map((r,o)=>WJ(e,s[o],r.from,r.to));if(n!=2&&!i.every(r=>r))return{changes:e.changes(t.map((r,o)=>i[o]?[]:[{from:r.from,insert:s[o].open+" "},{from:r.to,insert:" "+s[o].close}]))};if(n!=1&&i.some(r=>r)){let r=[];for(let o=0,a;oi&&(r==o||o>u.from)){i=u.from;let d=/^\s*/.exec(u.text)[0].length,p=d==u.length,m=u.text.slice(d,d+c.length)==c?d:-1;dr.comment<0&&(!r.empty||r.single))){let r=[];for(let{line:a,token:l,indent:c,empty:h,single:u}of s)(u||!h)&&r.push({from:a.from+c,insert:l+" "});let o=e.changes(r);return{changes:o,selection:e.selection.map(o,1)}}else if(n!=1&&s.some(r=>r.comment>=0)){let r=[];for(let{line:o,comment:a,token:l}of s)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,r.push({from:c,to:h})}return{changes:r}}return null}const $_=ja.define(),ZJ=ja.define(),XJ=ve.define(),eN=ve.define({combine(n){return Hu(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(s,i)=>e(s,i)||t(s,i)})}}),tN=jr.define({create(){return Nr.empty},update(n,e){let t=e.state.facet(eN),s=e.annotation($_);if(s){let l=Ds.fromTransaction(e,s.selection),c=s.side,h=c==0?n.undone:n.done;return l?h=Ay(h,h.length,t.minDepth,l):h=iN(h,e.startState.selection),new Nr(c==0?s.rest:h,c==0?h:s.rest)}let i=e.annotation(ZJ);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(bn.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let r=Ds.fromTransaction(e),o=e.annotation(bn.time),a=e.annotation(bn.userEvent);return r?n=n.addChanges(r,o,a,t,e):e.selection&&(n=n.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(i=="full"||i=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new Nr(n.done.map(Ds.fromJSON),n.undone.map(Ds.fromJSON))}});function YJ(n={}){return[tN,eN.of(n),Se.domEventHandlers({beforeinput(e,t){let s=e.inputType=="historyUndo"?nN:e.inputType=="historyRedo"?T_:null;return s?(e.preventDefault(),s(t)):!1}})]}function F0(n,e){return function({state:t,dispatch:s}){if(!e&&t.readOnly)return!1;let i=t.field(tN,!1);if(!i)return!1;let r=i.pop(n,t,e);return r?(s(r),!0):!1}}const nN=F0(0,!1),T_=F0(1,!1),JJ=F0(0,!0),QJ=F0(1,!0);class Ds{constructor(e,t,s,i,r){this.changes=e,this.effects=t,this.mapped=s,this.startSelection=i,this.selectionsAfter=r}setSelAfter(e){return new Ds(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,s;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(s=this.startSelection)===null||s===void 0?void 0:s.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new Ds(e.changes&&gn.fromJSON(e.changes),[],e.mapped&&Lr.fromJSON(e.mapped),e.startSelection&&te.fromJSON(e.startSelection),e.selectionsAfter.map(te.fromJSON))}static fromTransaction(e,t){let s=yi;for(let i of e.startState.facet(XJ)){let r=i(e);r.length&&(s=s.concat(r))}return!s.length&&e.changes.empty?null:new Ds(e.changes.invert(e.startState.doc),s,void 0,t||e.startState.selection,yi)}static selection(e){return new Ds(void 0,yi,void 0,void 0,e)}}function Ay(n,e,t,s){let i=e+1>t+20?e-t-1:0,r=n.slice(i,e);return r.push(s),r}function eQ(n,e){let t=[],s=!1;return n.iterChangedRanges((i,r)=>t.push(i,r)),e.iterChangedRanges((i,r,o,a)=>{for(let l=0;l=c&&o<=h&&(s=!0)}}),s}function tQ(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,s)=>t.empty!=e.ranges[s].empty).length===0}function sN(n,e){return n.length?e.length?n.concat(e):n:e}const yi=[],nQ=200;function iN(n,e){if(n.length){let t=n[n.length-1],s=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-nQ));return s.length&&s[s.length-1].eq(e)?n:(s.push(e),Ay(n,n.length-1,1e9,t.setSelAfter(s)))}else return[Ds.selection([e])]}function sQ(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Nv(n,e){if(!n.length)return n;let t=n.length,s=yi;for(;t;){let i=iQ(n[t-1],e,s);if(i.changes&&!i.changes.empty||i.effects.length){let r=n.slice(0,t);return r[t-1]=i,r}else e=i.mapped,t--,s=i.selectionsAfter}return s.length?[Ds.selection(s)]:yi}function iQ(n,e,t){let s=sN(n.selectionsAfter.length?n.selectionsAfter.map(a=>a.map(e)):yi,t);if(!n.changes)return Ds.selection(s);let i=n.changes.map(e),r=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(r):r;return new Ds(i,bt.mapEffects(n.effects,e),o,n.startSelection.map(r),s)}const rQ=/^(input\.type|delete)($|\.)/;class Nr{constructor(e,t,s=0,i=void 0){this.done=e,this.undone=t,this.prevTime=s,this.prevUserEvent=i}isolate(){return this.prevTime?new Nr(this.done,this.undone):this}addChanges(e,t,s,i,r){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!s||rQ.test(s))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?n.moveByChar(t,e):j0(t,e))}function hs(n){return n.textDirectionAt(n.state.selection.main.head)==It.LTR}const oN=n=>rN(n,!hs(n)),aN=n=>rN(n,hs(n));function lN(n,e){return er(n,t=>t.empty?n.moveByGroup(t,e):j0(t,e))}const aQ=n=>lN(n,!hs(n)),lQ=n=>lN(n,hs(n));function cQ(n,e,t){if(e.type.prop(t))return!0;let s=e.to-e.from;return s&&(s>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function z0(n,e,t){let s=Oa(n).resolveInner(e.head),i=t?et.closedBy:et.openedBy;for(let l=e.head;;){let c=t?s.childAfter(l):s.childBefore(l);if(!c)break;cQ(n,c,i)?s=c:l=t?c.to:c.from}let r=s.type.prop(i),o,a;return r&&(o=t?Or(n,s.from,1):Or(n,s.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?s.to:s.from,te.cursor(a,t?-1:1)}const hQ=n=>er(n,e=>z0(n.state,e,!hs(n))),uQ=n=>er(n,e=>z0(n.state,e,hs(n)));function cN(n,e){return er(n,t=>{if(!t.empty)return j0(t,e);let s=n.moveVertically(t,e);return s.head!=t.head?s:n.moveToLineBoundary(t,e)})}const hN=n=>cN(n,!1),uN=n=>cN(n,!0);function dN(n){let e=n.scrollDOM.clientHeighto.empty?n.moveVertically(o,e,t.height):j0(o,e));if(i.eq(s.selection))return!1;let r;if(t.selfScroll){let o=n.coordsAtPos(s.selection.main.head),a=n.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottomfN(n,!1),P_=n=>fN(n,!0);function za(n,e,t){let s=n.lineBlockAt(e.head),i=n.moveToLineBoundary(e,t);if(i.head==e.head&&i.head!=(t?s.to:s.from)&&(i=n.moveToLineBoundary(e,t,!1)),!t&&i.head==s.from&&s.length){let r=/^\s*/.exec(n.state.sliceDoc(s.from,Math.min(s.from+100,s.to)))[0].length;r&&e.head!=s.from+r&&(i=te.cursor(s.from+r))}return i}const dQ=n=>er(n,e=>za(n,e,!0)),fQ=n=>er(n,e=>za(n,e,!1)),pQ=n=>er(n,e=>za(n,e,!hs(n))),mQ=n=>er(n,e=>za(n,e,hs(n))),gQ=n=>er(n,e=>te.cursor(n.lineBlockAt(e.head).from,1)),yQ=n=>er(n,e=>te.cursor(n.lineBlockAt(e.head).to,-1));function vQ(n,e,t){let s=!1,i=Bu(n.selection,r=>{let o=Or(n,r.head,-1)||Or(n,r.head,1)||r.head>0&&Or(n,r.head-1,1)||r.headvQ(n,e);function Ai(n,e,t){let s=Bu(n.state.selection,i=>{i.undirectional&&i.head>=i.anchor!=e&&(i=te.range(i.head,i.anchor));let r=t(i);return te.range(i.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return s.eq(n.state.selection)?!1:(n.dispatch(Qi(n.state,s)),!0)}function pN(n,e){return Ai(n,e,t=>n.moveByChar(t,e))}const mN=n=>pN(n,!hs(n)),gN=n=>pN(n,hs(n));function yN(n,e){return Ai(n,e,t=>n.moveByGroup(t,e))}const wQ=n=>yN(n,!hs(n)),_Q=n=>yN(n,hs(n)),SQ=n=>{let e=!hs(n);return Ai(n,e,t=>z0(n.state,t,e))},AQ=n=>{let e=hs(n);return Ai(n,e,t=>z0(n.state,t,e))};function vN(n,e){return Ai(n,e,t=>n.moveVertically(t,e))}const bN=n=>vN(n,!1),wN=n=>vN(n,!0);function _N(n,e){return Ai(n,e,t=>n.moveVertically(t,e,dN(n).height))}const uC=n=>_N(n,!1),dC=n=>_N(n,!0),kQ=n=>Ai(n,!0,e=>za(n,e,!0)),xQ=n=>Ai(n,!1,e=>za(n,e,!1)),EQ=n=>{let e=!hs(n);return Ai(n,e,t=>za(n,t,e))},CQ=n=>{let e=hs(n);return Ai(n,e,t=>za(n,t,e))},$Q=n=>Ai(n,!1,e=>te.cursor(n.lineBlockAt(e.head).from)),TQ=n=>Ai(n,!0,e=>te.cursor(n.lineBlockAt(e.head).to)),fC=({state:n,dispatch:e})=>(e(Qi(n,{anchor:0})),!0),pC=({state:n,dispatch:e})=>(e(Qi(n,{anchor:n.doc.length})),!0),mC=({state:n,dispatch:e})=>(e(Qi(n,{anchor:n.selection.main.anchor,head:0})),!0),gC=({state:n,dispatch:e})=>(e(Qi(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),PQ=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),RQ=({state:n,dispatch:e})=>{let t=H0(n).map(({from:s,to:i})=>te.undirectionalRange(s,Math.min(i+1,n.doc.length)));return e(n.update({selection:te.create(t),userEvent:"select"})),!0},MQ=({state:n,dispatch:e})=>{let t=Bu(n.selection,s=>{let i=Oa(n),r=i.resolveStack(s.from,1);if(s.empty){let o=i.resolveStack(s.from,-1);o.node.from>=r.node.from&&o.node.to<=r.node.to&&(r=o)}for(let o=r;o;o=o.next){let{node:a}=o;if((a.from=s.to||a.to>s.to&&a.from<=s.from)&&o.next)return te.undirectionalRange(a.from,a.to)}return s});return t.eq(n.selection)?!1:(e(Qi(n,t)),!0)};function SN(n,e){let{state:t}=n,s=t.selection,i=t.selection.ranges.slice();for(let r of t.selection.ranges){let o=t.doc.lineAt(r.head);if(e?o.to0)for(let a=r;;){let l=n.moveVertically(a,e);if(l.heado.to){i.some(c=>c.head==l.head)||i.push(l);break}else{if(l.head==a.head)break;a=l}}}return i.length==s.ranges.length?!1:(n.dispatch(Qi(t,te.create(i,i.length-1))),!0)}const IQ=n=>SN(n,!1),OQ=n=>SN(n,!0),NQ=({state:n,dispatch:e})=>{let t=n.selection,s=null;return t.ranges.length>1?s=te.create([t.main]):t.main.empty||(s=te.create([te.cursor(t.main.head)])),s?(e(Qi(n,s)),!0):!1};function Yp(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:s}=n,i=s.changeByRange(r=>{let{from:o,to:a}=r;if(o==a){let l=e(r);lo&&(t="delete.forward",l=jm(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=jm(n,o,!1),a=jm(n,a,!0);return o==a?{range:r}:{changes:{from:o,to:a},range:te.cursor(o,oi(n)))s.between(e,e,(i,r)=>{ie&&(e=t?r:i)});return e}const AN=(n,e,t)=>Yp(n,s=>{let i=s.from,{state:r}=n,o=r.doc.lineAt(i),a,l;if(t&&!e&&i>o.from&&iAN(n,!1,!0),kN=n=>AN(n,!0,!1),xN=(n,e)=>Yp(n,t=>{let s=t.head,{state:i}=n,r=i.doc.lineAt(s),o=i.charCategorizer(s);for(let a=null;;){if(s==(e?r.to:r.from)){s==t.head&&r.number!=(e?i.doc.lines:1)&&(s+=e?1:-1);break}let l=$n(r.text,s-r.from,e)+r.from,c=r.text.slice(Math.min(s,l)-r.from,Math.max(s,l)-r.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||s!=t.head)&&(a=h),s=l}return s}),EN=n=>xN(n,!1),LQ=n=>xN(n,!0),DQ=n=>Yp(n,e=>{let t=n.lineBlockAt(e.head).to;return e.headYp(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),jQ=n=>Yp(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head{if(n.readOnly)return!1;let t=n.changeByRange(s=>({changes:{from:s.from,to:s.to,insert:at.of(["",""])},range:te.cursor(s.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},HQ=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(s=>{if(!s.empty||s.from==0||s.from==n.doc.length)return{range:s};let i=s.from,r=n.doc.lineAt(i),o=i==r.from?i-1:$n(r.text,i-r.from,!1)+r.from,a=i==r.to?i+1:$n(r.text,i-r.from,!0)+r.from;return{changes:{from:o,to:a,insert:n.doc.slice(i,a).append(n.doc.slice(o,i))},range:te.cursor(a)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function H0(n){let e=[],t=-1;for(let s of n.selection.ranges){let i=n.doc.lineAt(s.from),r=n.doc.lineAt(s.to);if(!s.empty&&s.to==r.from&&(r=n.doc.lineAt(s.to-1)),t>=i.number){let o=e[e.length-1];o.to=r.to,o.ranges.push(s)}else e.push({from:i.from,to:r.to,ranges:[s]});t=r.number+1}return e}function CN(n,e,t){if(n.readOnly)return!1;let s=[],i=[];for(let r of H0(n)){if(t?r.to==n.doc.length:r.from==0)continue;let o=n.doc.lineAt(t?r.to+1:r.from-1),a=o.length+1;if(t){s.push({from:r.to,to:o.to},{from:r.from,insert:o.text+n.lineBreak});for(let l of r.ranges)i.push(te.range(Math.min(n.doc.length,l.anchor+a),Math.min(n.doc.length,l.head+a)))}else{s.push({from:o.from,to:r.from},{from:r.to,insert:n.lineBreak+o.text});for(let l of r.ranges)i.push(te.range(l.anchor-a,l.head-a))}}return s.length?(e(n.update({changes:s,scrollIntoView:!0,selection:te.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const BQ=({state:n,dispatch:e})=>CN(n,e,!1),qQ=({state:n,dispatch:e})=>CN(n,e,!0);function $N(n,e,t){if(n.readOnly)return!1;let s=[];for(let r of H0(n))t?s.push({from:r.from,insert:n.doc.slice(r.from,r.to)+n.lineBreak}):s.push({from:r.to,insert:n.lineBreak+n.doc.slice(r.from,r.to)});let i=n.changes(s);return e(n.update({changes:i,selection:n.selection.map(i,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const UQ=({state:n,dispatch:e})=>$N(n,e,!1),VQ=({state:n,dispatch:e})=>$N(n,e,!0),WQ=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(H0(e).map(({from:i,to:r})=>(i>0?i--:r{let r;if(n.lineWrapping){let o=n.lineBlockAt(i.head),a=n.coordsAtPos(i.head,i.assoc||1);a&&(r=o.bottom+n.documentTop-a.bottom+n.defaultLineHeight/2)}return n.moveVertically(i,!0,r)}).map(t);return n.dispatch({changes:t,selection:s,scrollIntoView:!0,userEvent:"delete.line"}),!0};function GQ(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=Oa(n).resolveInner(e),s=t.childBefore(e),i=t.childAfter(e),r;return s&&i&&s.to<=e&&i.from>=e&&(r=s.type.prop(et.closedBy))&&r.indexOf(i.name)>-1&&n.doc.lineAt(s.to).from==n.doc.lineAt(i.from).from&&!/\S/.test(n.sliceDoc(s.to,i.from))?{from:s.to,to:i.from}:null}const yC=TN(!1),KQ=TN(!0);function TN(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let s=e.changeByRange(i=>{let{from:r,to:o}=i,a=e.doc.lineAt(r),l=!n&&r==o&&GQ(e,r);n&&(r=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new D0(e,{simulateBreak:r,simulateDoubleBreak:!!l}),h=HO(c,r);for(h==null&&(h=P0(/^\s*/.exec(e.doc.lineAt(r).text)[0],e.tabSize));oa.from&&r{let i=[];for(let o=s.from;o<=s.to;){let a=n.doc.lineAt(o);a.number>t&&(s.empty||s.to>a.from)&&(e(a,i,s),t=a.number),o=a.to+1}let r=n.changes(i);return{changes:i,range:te.range(r.mapPos(s.anchor,1),r.mapPos(s.head,1))}})}const ZQ=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),s=new D0(n,{overrideIndentation:r=>{let o=t[r];return o??-1}}),i=BA(n,(r,o,a)=>{let l=HO(s,r.from);if(l==null)return;/\S/.test(r.text)||(l=0);let c=/^\s*/.exec(r.text)[0],h=Sy(n,l);(c!=h||a.fromn.readOnly?!1:(e(n.update(BA(n,(t,s)=>{s.push({from:t.from,insert:n.facet(NA)})}),{userEvent:"input.indent"})),!0),RN=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(BA(n,(t,s)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let r=P0(i,n.tabSize),o=0,a=Sy(n,Math.max(0,r-Ec(n)));for(;o(n.setTabFocusMode(),!0),YQ=[{key:"Ctrl-b",run:oN,shift:mN,preventDefault:!0},{key:"Ctrl-f",run:aN,shift:gN},{key:"Ctrl-p",run:hN,shift:bN},{key:"Ctrl-n",run:uN,shift:wN},{key:"Ctrl-a",run:gQ,shift:$Q},{key:"Ctrl-e",run:yQ,shift:TQ},{key:"Ctrl-d",run:kN},{key:"Ctrl-h",run:R_},{key:"Ctrl-k",run:DQ},{key:"Ctrl-Alt-h",run:EN},{key:"Ctrl-o",run:zQ},{key:"Ctrl-t",run:HQ},{key:"Ctrl-v",run:P_}],JQ=[{key:"ArrowLeft",run:oN,shift:mN,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:aQ,shift:wQ,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:pQ,shift:EQ,preventDefault:!0},{key:"ArrowRight",run:aN,shift:gN,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:lQ,shift:_Q,preventDefault:!0},{mac:"Cmd-ArrowRight",run:mQ,shift:CQ,preventDefault:!0},{key:"ArrowUp",run:hN,shift:bN,preventDefault:!0},{mac:"Cmd-ArrowUp",run:fC,shift:mC},{mac:"Ctrl-ArrowUp",run:hC,shift:uC},{key:"ArrowDown",run:uN,shift:wN,preventDefault:!0},{mac:"Cmd-ArrowDown",run:pC,shift:gC},{mac:"Ctrl-ArrowDown",run:P_,shift:dC},{key:"PageUp",run:hC,shift:uC},{key:"PageDown",run:P_,shift:dC},{key:"Home",run:fQ,shift:xQ,preventDefault:!0},{key:"Mod-Home",run:fC,shift:mC},{key:"End",run:dQ,shift:kQ,preventDefault:!0},{key:"Mod-End",run:pC,shift:gC},{key:"Enter",run:yC,shift:yC},{key:"Mod-a",run:PQ},{key:"Backspace",run:R_,shift:R_,preventDefault:!0},{key:"Delete",run:kN,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:EN,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:LQ,preventDefault:!0},{mac:"Mod-Backspace",run:FQ,preventDefault:!0},{mac:"Mod-Delete",run:jQ,preventDefault:!0}].concat(YQ.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),QQ=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:hQ,shift:SQ},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:uQ,shift:AQ},{key:"Alt-ArrowUp",run:BQ},{key:"Shift-Alt-ArrowUp",run:UQ},{key:"Alt-ArrowDown",run:qQ},{key:"Shift-Alt-ArrowDown",run:VQ},{key:"Mod-Alt-ArrowUp",run:IQ},{key:"Mod-Alt-ArrowDown",run:OQ},{key:"Escape",run:NQ},{key:"Mod-Enter",run:KQ},{key:"Alt-l",mac:"Ctrl-l",run:RQ},{key:"Mod-i",run:MQ,preventDefault:!0},{key:"Mod-[",run:RN},{key:"Mod-]",run:PN},{key:"Mod-Alt-\\",run:ZQ},{key:"Shift-Mod-k",run:WQ},{key:"Shift-Mod-\\",run:bQ},{key:"Mod-/",run:BJ},{key:"Alt-A",mac:"Ctrl-A",run:UJ},{key:"Ctrl-m",mac:"Shift-Alt-m",run:XQ}].concat(JQ),eee={key:"Tab",run:PN,shift:RN};function MN(n){function e(u,d){u.cmdState.push(d)}function t(u){return u.cmdState.length>0?u.cmdState[u.cmdState.length-1]:null}function s(u){var d=u.cmdState.pop();d&&d.closeBracket()}function i(u){for(var d=u.cmdState,p=d.length-1;p>=0;p--){var m=d[p];if(m.name!="DEFAULT")return m}return{styleIdentifier:function(){return null}}}function r(u,d,p){return function(){this.name=u,this.bracketNo=0,this.style=d,this.styles=p,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var o={};o.importmodule=r("importmodule","tag",["string","builtin"]),o.documentclass=r("documentclass","tag",["","atom"]),o.usepackage=r("usepackage","tag",["atom"]),o.begin=r("begin","tag",["atom"]),o.end=r("end","tag",["atom"]),o.label=r("label","tag",["atom"]),o.ref=r("ref","tag",["atom"]),o.eqref=r("eqref","tag",["atom"]),o.cite=r("cite","tag",["atom"]),o.bibitem=r("bibitem","tag",["atom"]),o.Bibitem=r("Bibitem","tag",["atom"]),o.RBibitem=r("RBibitem","tag",["atom"]),o.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function a(u,d){u.f=d}function l(u,d){var p;if(u.match(/^\\[a-zA-Z@\xc0-\u1fff\u2060-\uffff]+/)){var m=u.current().slice(1);return p=o.hasOwnProperty(m)?o[m]:o.DEFAULT,p=new p,e(d,p),a(d,h),p.style}if(u.match(/^\\[$&%#{}_]/)||u.match(/^\\[,;!\/\\]/))return"tag";if(u.match("\\["))return a(d,function(v,y){return c(v,y,"\\]")}),"keyword";if(u.match("\\("))return a(d,function(v,y){return c(v,y,"\\)")}),"keyword";if(u.match("$$"))return a(d,function(v,y){return c(v,y,"$$")}),"keyword";if(u.match("$"))return a(d,function(v,y){return c(v,y,"$")}),"keyword";var g=u.next();if(g=="%")return u.skipToEnd(),"comment";if(g=="}"||g=="]"){if(p=t(d),p)p.closeBracket(g),a(d,h);else return"error";return"bracket"}else return g=="{"||g=="["?(p=o.DEFAULT,p=new p,e(d,p),"bracket"):/\d/.test(g)?(u.eatWhile(/[\w.%]/),"atom"):(u.eatWhile(/[\w\-_]/),p=i(d),p.name=="begin"&&(p.argument=u.current()),p.styleIdentifier())}function c(u,d,p){if(u.eatSpace())return null;if(p&&u.match(p))return a(d,l),"keyword";if(u.match(/^\\[a-zA-Z@]+/))return"tag";if(u.match(/^[a-zA-Z]+/))return"variableName.special";if(u.match(/^\\[$&%#{}_]/)||u.match(/^\\[,;!\/]/)||u.match(/^[\^_&]/))return"tag";if(u.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(u.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var m=u.next();return m=="{"||m=="}"||m=="["||m=="]"||m=="("||m==")"?"bracket":m=="%"?(u.skipToEnd(),"comment"):"error"}function h(u,d){var p=u.peek(),m;return p=="{"||p=="["?(m=t(d),m.openBracket(p),u.eat(p),a(d,l),"bracket"):/[ \t\r]/.test(p)?(u.eat(p),null):(a(d,l),s(d),l(u,d))}return{name:"stex",startState:function(){var u=n?function(d,p){return c(d,p)}:l;return{cmdState:[],f:u}},copyState:function(u){return{cmdState:u.cmdState.slice(),f:u.f}},token:function(u,d){return d.f(u,d)},blankLine:function(u){u.f=l,u.cmdState.length=0},languageData:{commentTokens:{line:"%"}}}}const tee=MN(!1);MN(!0);const vC=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class Iu{constructor(e,t,s=0,i=e.length,r,o){this.test=o,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(s,i),this.bufferStart=s,this.normalize=r?a=>r(vC(a)):vC,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return mI(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=EX(e),s=this.bufferStart+this.bufferPos;this.bufferPos+=gI(e);let i=this.normalize(t);if(i.length)for(let r=0,o=s,a=!0;;r++){let l=i.charCodeAt(r),c=this.match(l,o,a,this.bufferPos+this.bufferStart,r==i.length-1);if(c)return this.value=c,this;if(r==i.length-1)break;a&&rthis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let s=this.curLineStart+t.index,i=s+t[0].length;if(this.matchPos=ky(this.text,i+(s==i?1:0)),s==this.curLineStart+this.curLine.length&&this.nextLine(),(sthis.value.to)&&(!this.test||this.test(s,i,t)))return this.value={from:s,to:i,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=s||i.to<=t){let a=new vh(t,e.sliceString(t,s));return Lv.set(e,a),a}if(i.from==t&&i.to==s)return i;let{text:r,from:o}=i;return o>t&&(r=e.sliceString(t,o)+r,o=t),i.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let s=this.flat.from+t.index,i=s+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(s,i,t)))return this.value={from:s,to:i,precise:!0,match:t},this.matchPos=ky(this.text,i+(s==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=vh.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(ON.prototype[Symbol.iterator]=NN.prototype[Symbol.iterator]=function(){return this});function nee(n){try{return new RegExp(n,qA),!0}catch{return!1}}function ky(n,e){if(e>=n.length)return e;let t=n.lineAt(e),s;for(;e=56320&&s<57344;)e++;return e}const see=n=>{let{state:e}=n,t=String(e.doc.lineAt(n.state.selection.main.head).number),{close:s,result:i}=H7(n,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:t},focus:!0,submitLabel:e.phrase("go")});return i.then(r=>{let o=r&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(r.elements.line.value);if(!o){n.dispatch({effects:s});return}let a=e.doc.lineAt(e.selection.main.head),[,l,c,h,u]=o,d=h?+h.slice(1):0,p=c?+c:a.number;if(c&&u){let v=p/100;l&&(v=v*(l=="-"?-1:1)+a.number/e.doc.lines),p=Math.round(e.doc.lines*v)}else c&&l&&(p=p*(l=="-"?-1:1)+a.number);let m=e.doc.line(Math.max(1,Math.min(e.doc.lines,p))),g=te.cursor(m.from+Math.max(0,Math.min(d,m.length)));n.dispatch({effects:[s,Se.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},iee={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},ree=ve.define({combine(n){return Hu(n,iee,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function oee(n){return[uee,hee]}const aee=Ye.mark({class:"cm-selectionMatch"}),lee=Ye.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function bC(n,e,t,s){return(t==0||n(e.sliceDoc(t-1,t))!=Xt.Word)&&(s==e.doc.length||n(e.sliceDoc(s,s+1))!=Xt.Word)}function cee(n,e,t,s){return n(e.sliceDoc(t,t+1))==Xt.Word&&n(e.sliceDoc(s-1,s))==Xt.Word}const hee=ni.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.selectionSet||n.docChanged||n.viewportChanged)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=n.state.facet(ree),{state:t}=n,s=t.selection;if(s.ranges.length>1)return Ye.none;let i=s.main,r,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return Ye.none;let l=t.wordAt(i.head);if(!l)return Ye.none;o=t.charCategorizer(i.head),r=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l200)return Ye.none;if(e.wholeWords){if(r=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(bC(o,t,i.from,i.to)&&cee(o,t,i.from,i.to)))return Ye.none}else if(r=t.sliceDoc(i.from,i.to),!r)return Ye.none}let a=[];for(let l of n.visibleRanges){let c=new Iu(t.doc,r,l.from,l.to);for(;!c.next().done;){let{from:h,to:u}=c.value;if((!o||bC(o,t,h,u))&&(i.empty&&h<=i.from&&u>=i.to?a.push(lee.range(h,u)):(h>=i.to||u<=i.from)&&a.push(aee.range(h,u)),a.length>e.maxMatches))return Ye.none}}return Ye.set(a)}},{decorations:n=>n.decorations}),uee=Se.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),dee=({state:n,dispatch:e})=>{let{selection:t}=n,s=te.create(t.ranges.map(i=>n.wordAt(i.head)||te.cursor(i.head)),t.mainIndex);return s.eq(t)?!1:(e(n.update({selection:s})),!0)};function fee(n,e){let{main:t,ranges:s}=n.selection,i=n.wordAt(t.head),r=i&&i.from==t.from&&i.to==t.to;for(let o=!1,a=new Iu(n.doc,e,s[s.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new Iu(n.doc,e,0,Math.max(0,s[s.length-1].from-1)),o=!0}else{if(o&&s.some(l=>l.from==a.value.from))continue;if(r){let l=n.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const pee=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(r=>r.from===r.to))return dee({state:n,dispatch:e});let s=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(r=>n.sliceDoc(r.from,r.to)!=s))return!1;let i=fee(n,s);return i?(e(n.update({selection:n.selection.addRange(te.range(i.from,i.to),!1),effects:Se.scrollIntoView(i.to)})),!0):!1},qu=ve.define({combine(n){return Hu(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new $ee(e),scrollToMatch:e=>Se.scrollIntoView(e)})}});class LN{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||nee(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,s)=>s=="n"?` +`:s=="r"?"\r":s=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new wee(this):new yee(this)}getCursor(e,t=0,s){let i=e.doc?e:ot.create({doc:e});return s==null&&(s=i.doc.length),this.regexp?Qc(this,i,t,s):Jc(this,i,t,s)}}class DN{constructor(e){this.spec=e}}function mee(n,e,t){return(s,i,r,o)=>{if(t&&!t(s,i,r,o))return!1;let a=s>=o&&i<=o+r.length?r.slice(s-o,i-o):e.doc.sliceString(s,i);return n(a,e,s,i)}}function Jc(n,e,t,s){let i;return n.wholeWord&&(i=gee(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(i=mee(n.test,e,i)),new Iu(e.doc,n.unquoted,t,s,n.caseSensitive?void 0:r=>r.toLowerCase(),i)}function gee(n,e){return(t,s,i,r)=>((r>t||r+i.length=t)return null;i.push(s.value)}return i}highlight(e,t,s,i){let r=Jc(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(s+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)i(r.value.from,r.value.to)}}function vee(n,e,t){return(s,i,r)=>(!t||t(s,i,r))&&n(r[0],e,s,i)}function Qc(n,e,t,s){let i;return n.wholeWord&&(i=bee(e.charCategorizer(e.selection.main.head))),n.test&&(i=vee(n.test,e,i)),new ON(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:i},t,s)}function xy(n,e){return n.slice($n(n,e,!1),e)}function Ey(n,e){return n.slice(e,$n(n,e))}function bee(n){return(e,t,s)=>!s[0].length||(n(xy(s.input,s.index))!=Xt.Word||n(Ey(s.input,s.index))!=Xt.Word)&&(n(Ey(s.input,s.index+s[0].length))!=Xt.Word||n(xy(s.input,s.index+s[0].length))!=Xt.Word)}class wee extends DN{nextMatch(e,t,s){let i=Qc(this.spec,e,s,e.doc.length).next();return i.done&&(i=Qc(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,s){for(let i=1;;i++){let r=Math.max(t,s-i*1e4),o=Qc(this.spec,e,r,s),a=null;for(;!o.next().done;)a=o.value;if(a&&(r==t||a.from>r+10))return a;if(r==t)return null}}prevMatch(e,t,s){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,s,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,s)=>{if(s=="&")return e.match[0];if(s=="$")return"$";for(let i=s.length;i>0;i--){let r=+s.slice(0,i);if(r>0&&r=t)return null;i.push(s.value)}return i}highlight(e,t,s,i){let r=Qc(this.spec,e,Math.max(0,t-250),Math.min(s+250,e.doc.length));for(;!r.next().done;)i(r.value.from,r.value.to)}}const uf=bt.define(),UA=bt.define(),Ea=jr.define({create(n){return new Dv(M_(n).create(),null)},update(n,e){for(let t of e.effects)t.is(uf)?n=new Dv(t.value.create(),n.panel):t.is(UA)&&(n=new Dv(n.query,t.value?VA:null));return n},provide:n=>by.from(n,e=>e.panel)});class Dv{constructor(e,t){this.query=e,this.panel=t}}const _ee=Ye.mark({class:"cm-searchMatch"}),See=Ye.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Aee=ni.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(Ea))}update(n){let e=n.state.field(Ea);(e!=n.startState.field(Ea)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return Ye.none;let{view:t}=this,s=new nf;for(let i=0,r=t.visibleRanges,o=r.length;ir[i+1].from-2*250;)l=r[++i].to;n.highlight(t.state,a,l,(c,h)=>{let u=t.state.selection.ranges.some(d=>d.from==c&&d.to==h);s.add(c,h,u?See:_ee)})}return s.finish()}},{decorations:n=>n.decorations});function Jp(n){return e=>{let t=e.state.field(Ea,!1);return t&&t.query.spec.valid?n(e,t):zN(e)}}const Cy=Jp((n,{query:e})=>{let{to:t}=n.state.selection.main,s=e.nextMatch(n.state,t,t);if(!s)return!1;let i=te.single(s.from,s.to),r=n.state.facet(qu);return n.dispatch({selection:i,effects:[WA(n,s),r.scrollToMatch(i.main,n)],userEvent:"select.search"}),jN(n),!0}),$y=Jp((n,{query:e})=>{let{state:t}=n,{from:s}=t.selection.main,i=e.prevMatch(t,s,s);if(!i)return!1;let r=te.single(i.from,i.to),o=n.state.facet(qu);return n.dispatch({selection:r,effects:[WA(n,i),o.scrollToMatch(r.main,n)],userEvent:"select.search"}),jN(n),!0}),kee=Jp((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:te.create(t.map(s=>te.range(s.from,s.to))),userEvent:"select.search.matches"}),!0)}),xee=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:s,to:i}=t.main,r=[],o=0;for(let a=new Iu(n.doc,n.sliceDoc(s,i));!a.next().done;){if(r.length>1e3)return!1;a.value.from==s&&(o=r.length),r.push(te.range(a.value.from,a.value.to))}return e(n.update({selection:te.create(r,o),userEvent:"select.search.matches"})),!0},wC=Jp((n,{query:e})=>{let{state:t}=n,{from:s,to:i}=t.selection.main;if(t.readOnly)return!1;let r=e.nextMatch(t,s,s);if(!r)return!1;let o=r,a=[],l,c,h=[];o.precise?o.from==s&&o.to==i&&(c=t.toText(e.getReplacement(o)),a.push({from:o.from,to:o.to,insert:c}),o=e.nextMatch(t,o.from,o.to),h.push(Se.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(s).number)+"."))):o=e.nextMatch(t,o.from,o.to);let u=n.state.changes(a);return o&&(l=te.single(o.from,o.to).map(u),h.push(WA(n,o)),h.push(t.facet(qu).scrollToMatch(l.main,n))),n.dispatch({changes:u,selection:l,effects:h,userEvent:"input.replace"}),!0}),Eee=Jp((n,{query:e})=>{if(n.state.readOnly)return!1;let t=[];for(let i of e.matchAll(n.state,1e9)){let{from:r,to:o,precise:a}=i;a&&t.push({from:r,to:o,insert:e.getReplacement(i)})}if(!t.length)return!1;let s=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:Se.announce.of(s),userEvent:"input.replace.all"}),!0});function VA(n){return n.state.facet(qu).createPanel(n)}function M_(n,e){var t,s,i,r,o;let a=n.selection.main,l=a.empty||a.to>a.from+100?"":n.sliceDoc(a.from,a.to);if(e&&!l)return e;let c=n.facet(qu);return new LN({search:((t=e==null?void 0:e.literal)!==null&&t!==void 0?t:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(s=e==null?void 0:e.caseSensitive)!==null&&s!==void 0?s:c.caseSensitive,literal:(i=e==null?void 0:e.literal)!==null&&i!==void 0?i:c.literal,regexp:(r=e==null?void 0:e.regexp)!==null&&r!==void 0?r:c.regexp,wholeWord:(o=e==null?void 0:e.wholeWord)!==null&&o!==void 0?o:c.wholeWord})}function FN(n){let e=RO(n,VA);return e&&e.dom.querySelector("[main-field]")}function jN(n){let e=FN(n);e&&e==n.root.activeElement&&e.select()}const zN=n=>{let e=n.state.field(Ea,!1);if(e&&e.panel){let t=FN(n);if(t&&t!=n.root.activeElement){let s=M_(n.state,e.query.spec);s.valid&&n.dispatch({effects:uf.of(s)}),t.focus(),t.select()}}else n.dispatch({effects:[UA.of(!0),e?uf.of(M_(n.state,e.query.spec)):bt.appendConfig.of(Pee)]});return!0},HN=n=>{let e=n.state.field(Ea,!1);if(!e||!e.panel)return!1;let t=RO(n,VA);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:UA.of(!1)}),!0},Cee=[{key:"Mod-f",run:zN,scope:"editor search-panel"},{key:"F3",run:Cy,shift:$y,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Cy,shift:$y,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:HN,scope:"editor search-panel"},{key:"Mod-Shift-l",run:xee},{key:"Mod-Alt-g",run:see},{key:"Mod-d",run:pee,preventDefault:!0}];class $ee{constructor(e){this.view=e;let t=this.query=e.state.field(Ea).query.spec;this.commit=this.commit.bind(this),this.searchField=Cn("input",{value:t.search,placeholder:Bs(e,"Find"),"aria-label":Bs(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Cn("input",{value:t.replace,placeholder:Bs(e,"Replace"),"aria-label":Bs(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Cn("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Cn("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Cn("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function s(i,r,o){return Cn("button",{class:"cm-button",name:i,onclick:r,type:"button"},o)}this.dom=Cn("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,s("next",()=>Cy(e),[Bs(e,"next")]),s("prev",()=>$y(e),[Bs(e,"previous")]),s("select",()=>kee(e),[Bs(e,"all")]),Cn("label",null,[this.caseField,Bs(e,"match case")]),Cn("label",null,[this.reField,Bs(e,"regexp")]),Cn("label",null,[this.wordField,Bs(e,"by word")]),...e.state.readOnly?[]:[Cn("br"),this.replaceField,s("replace",()=>wC(e),[Bs(e,"replace")]),s("replaceAll",()=>Eee(e),[Bs(e,"replace all")])],Cn("button",{name:"close",onclick:()=>HN(e),"aria-label":Bs(e,"close"),type:"button"},["×"])])}commit(){let e=new LN({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:uf.of(e)}))}keydown(e){C7(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?$y:Cy)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),wC(this.view))}update(e){for(let t of e.transactions)for(let s of t.effects)s.is(uf)&&!s.value.eq(this.query)&&this.setQuery(s.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(qu).top}}function Bs(n,e){return n.state.phrase(e)}const zm=30,Hm=/[\s\.,:;?!]/;function WA(n,{from:e,to:t}){let s=n.state.doc.lineAt(e),i=n.state.doc.lineAt(t).to,r=Math.max(s.from,e-zm),o=Math.min(i,t+zm),a=n.state.sliceDoc(r,o);if(r!=s.from){for(let l=0;la.length-zm;l--)if(!Hm.test(a[l-1])&&Hm.test(a[l])){a=a.slice(0,l);break}}return Se.announce.of(`${n.state.phrase("current match")}. ${a} ${n.state.phrase("on line")} ${s.number}.`)}const Tee=Se.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Pee=[Ea,T0.low(Aee),Tee],Ree=({path:n,value:e,readOnly:t,onChange:s})=>{const i=ee.useRef(null),r=ee.useRef(null),o=ee.useRef(new Gp),a=ee.useRef(s);return a.current=s,ee.useEffect(()=>{if(!i.current)return;const l=ot.create({doc:e,extensions:[Y7(),I7(),F7(),YJ(),oee(),RJ(),DA.define(tee),xO.of([...QQ,...oQ,...Cee,eee]),Se.contentAttributes.of({"aria-label":`Editing ${n}`,class:"ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true"}),o.current.of(Se.editable.of(!t)),Se.updateListener.of(c=>{c.docChanged&&a.current(c.state.doc.toString())})]});return r.current=new Se({state:l,parent:i.current}),()=>{var c;return(c=r.current)==null?void 0:c.destroy()}},[n]),ee.useEffect(()=>{const l=r.current;!l||l.state.doc.toString()===e||l.dispatch({changes:{from:0,to:l.state.doc.length,insert:e}})},[e]),ee.useEffect(()=>{var l;(l=r.current)==null||l.dispatch({effects:o.current.reconfigure(Se.editable.of(!t))})},[t]),S.jsx("div",{className:"latex-source-editor ph-no-capture","data-ph-no-autocapture":"true","data-ph-no-capture":"true","data-testid":"latex-source-editor",ref:i})},Mee="pwc:artifact-navigation";function Ite(){return typeof window>"u"?!0:window.dispatchEvent(new Event(Mee,{cancelable:!0}))}const BN=()=>({open:!1,selectedKey:null,selected:null,selectedVersionId:null,tab:"preview",sourceFile:null,panelPercent:55,requestNonce:0,registry:{},autoOpened:{},manuallyClosed:{}});function Iee(n,e){if(e.type==="reset")return{...BN(),panelPercent:n.panelPercent};if(e.type==="register"){const t=n.registry[e.key];if(t&&JSON.stringify(t)===JSON.stringify(e.block))return n;const s={...n.registry,[e.key]:e.block},i=n.selectedKey===e.key?e.block:n.selected,r=(t==null?void 0:t.status)==="generating"&&e.block.status==="ready",o=e.autoOpenOnMount&&!t&&e.block.status==="ready"&&!Object.values(n.autoOpened).some(Boolean);return(r||o)&&!n.autoOpened[e.key]&&!n.manuallyClosed[e.key]?{...n,registry:s,open:!0,selectedKey:e.key,selected:e.block,selectedVersionId:e.block.version_id??null,tab:"preview",sourceFile:null,requestNonce:n.requestNonce+1,autoOpened:{...n.autoOpened,[e.key]:!0}}:{...n,registry:s,selected:i}}return e.type==="unregister"?n:e.type==="open"?{...n,open:!0,selectedKey:e.key,selected:e.block,selectedVersionId:e.block.version_id??null,tab:"preview",sourceFile:null,requestNonce:n.requestNonce+1,manuallyClosed:{...n.manuallyClosed,[e.key]:!1}}:e.type==="close"?{...n,open:!1,manuallyClosed:n.selectedKey?{...n.manuallyClosed,[n.selectedKey]:!0}:n.manuallyClosed}:e.type==="tab"?{...n,tab:e.tab}:e.type==="source"?{...n,sourceFile:e.path}:e.type==="version"?{...n,selectedVersionId:e.versionId,tab:"preview",sourceFile:null}:{...n,panelPercent:e.percent}}function I_(n){return n.publication_id||n.public_capability||n.version_id||`${n.scope}:${n.identifier}:${n.version??"pending"}`}const qN=ee.createContext(null),Ote=({children:n,workspaceKey:e,autoOpenOnMount:t=!1,onAskAiFix:s})=>{const[i,r]=ee.useReducer(Iee,void 0,BN),o=ee.useRef(null),a=ee.useRef(e);ee.useEffect(()=>{a.current!==e&&(a.current=e,o.current=null,r({type:"reset"}))},[e]);const l=ee.useCallback(()=>{r({type:"close"}),window.setTimeout(()=>{var _;(_=o.current)!=null&&_.isConnected&&o.current.focus()},0)},[]),c=ee.useCallback(_=>r({type:"register",key:I_(_),block:_,autoOpenOnMount:t}),[t]),h=ee.useCallback(_=>r({type:"unregister",key:_}),[]),u=ee.useCallback((_,k)=>{const A=document.activeElement;o.current=k??(A instanceof HTMLElement&&A!==document.body?A:null),r({type:"open",key:I_(_),block:_})},[]),d=ee.useCallback(_=>r({type:"tab",tab:_}),[]),p=ee.useCallback(_=>r({type:"source",path:_}),[]),m=ee.useCallback(_=>r({type:"version",versionId:_}),[]),g=ee.useCallback(_=>r({type:"width",percent:_}),[]),v=ee.useCallback(_=>s==null?void 0:s(_),[s]),y=ee.useCallback(()=>r({type:"reset"}),[]),w=ee.useMemo(()=>({state:i,autoOpenOnMount:t,register:c,unregister:h,open:u,close:l,setTab:d,setSourceFile:p,setVersion:m,setPanelPercent:g,askAiToFix:v,reset:y}),[v,t,l,u,c,y,g,p,d,m,i,h]);return S.jsx(qN.Provider,{value:w,children:n})};function Qp(){const n=ee.useContext(qN);if(!n)throw new Error("Poster artifacts require an ArtifactPanelProvider");return n}function Oee(n,e,t){return rn(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/source/${t.split("/").map(encodeURIComponent).join("/")}`)}function Nee(n,e,t){return rn(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/figures/${t.split("/").map(encodeURIComponent).join("/")}`)}function Lee(n){return rn(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/export/pdf`)}function _C(n,e){return rn(`/api/v1/chat/artifacts/${encodeURIComponent(n)}/versions/${encodeURIComponent(e)}/export/source.zip`)}function Bm(n){return`pwc:latex-paper-draft:${n}`}function Dee(n,e){const t=Object.keys(n).sort(),s=Object.keys(e).sort();return t.length===s.length&&t.every((i,r)=>i===s[r]&&n[i]===e[i])}function SC(n){return!n.includes("\\")&&/^(?!\/)(?!.*(?:^|\/)\.\.?\/)[^\0]{1,300}\.(?:tex|bib)$/iu.test(n)}function Fee(n){var s,i;const e=((s=n.provenance)==null?void 0:s.action)??(n.actor_type==="restore"?"restore":n.actor_type==="ai"?"ai_draft":"human_save"),t={human_save:"Human save",ai_draft:"AI draft",ai_repair:"AI repair",restore:"Restore"}[e];return(i=n.provenance)!=null&&i.model_identity?`${t} · ${n.provenance.model_identity}`:t}const jee=({block:n,forceDialog:e=!1})=>{var Jn,In,Qt,an,ln,en,fs,Ic,Ha;const t=Qp(),s=EC(),i=t.close,[r,o]=ee.useState(()=>{var q;return typeof window<"u"&&((q=window.matchMedia)==null?void 0:q.call(window,"(max-width: 760px)").matches)}),[a,l]=ee.useState({}),[c,h]=ee.useState({}),[u,d]=ee.useState(null),[p,m]=ee.useState(!1),[g,v]=ee.useState(!1),[y,w]=ee.useState(null),[_,k]=ee.useState(!1),[A,$]=ee.useState(null),E=ee.useRef(null),O=ee.useRef(null),F=ee.useRef(!1),B=e||r,L=u!==null&&!Dee(a,c);ee.useEffect(()=>{var Ee,it;const q=(Ee=window.matchMedia)==null?void 0:Ee.call(window,"(max-width: 760px)");if(!q)return;const ge=()=>o(q.matches);return ge(),(it=q.addEventListener)==null||it.call(q,"change",ge),()=>{var Rt;return(Rt=q.removeEventListener)==null?void 0:Rt.call(q,"change",ge)}},[]),ee.useEffect(()=>{var Ee,it;if(!B)return;(it=(Ee=O.current)==null?void 0:Ee.querySelector("[data-artifact-close]"))==null||it.focus(),window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),F.current=!0;const q=()=>{if(L&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser.")){window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),F.current=!0;return}F.current=!1,i()},ge=Rt=>{Rt.key==="Escape"&&(Rt.preventDefault(),!(L&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser."))&&(i(),F.current&&(F.current=!1,window.history.back())))};return window.addEventListener("popstate",q),document.addEventListener("keydown",ge),()=>{window.removeEventListener("popstate",q),document.removeEventListener("keydown",ge)}},[i,B,L]),ee.useEffect(()=>{if(!B)return;const q=ge=>{if(ge.key!=="Tab"||!O.current)return;const Ee=[...O.current.querySelectorAll('button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), [contenteditable="true"], [tabindex]:not([tabindex="-1"])')];if(!Ee.length)return;const it=Ee[0],Rt=Ee.at(-1);ge.shiftKey&&document.activeElement===it?(ge.preventDefault(),Rt.focus()):!ge.shiftKey&&document.activeElement===Rt&&(ge.preventDefault(),it.focus())};return document.addEventListener("keydown",q),()=>document.removeEventListener("keydown",q)},[B]),ee.useEffect(()=>{const q=ge=>{L&&(ge.preventDefault(),ge.returnValue="")};return window.addEventListener("beforeunload",q),()=>window.removeEventListener("beforeunload",q)},[L]),ee.useEffect(()=>{const q=ge=>{L&&!window.confirm("Leave this view? Unsaved paper edits remain in this browser.")&&ge.preventDefault()};return window.addEventListener("pwc:artifact-navigation",q),()=>window.removeEventListener("pwc:artifact-navigation",q)},[L]);const z=ya({queryKey:["chat-latex-paper",n.artifact_id],queryFn:async()=>{const q=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}`),{credentials:"include",cache:"no-store"});if(!q.ok)throw new Error("Could not load paper details");return q.json()},enabled:!!n.artifact_id,staleTime:5e3}),K=z.data,D=K==null?void 0:K.source_head,Q=K==null?void 0:K.preview_head,X=ya({queryKey:["chat-latex-paper-history",n.artifact_id,A],queryFn:async()=>{const q=new URLSearchParams({limit:"20"});A&&q.set("cursor",A);const ge=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions?${q}`),{credentials:"include",cache:"no-store"});if(!ge.ok)throw new Error("Could not load paper history");return ge.json()},enabled:_&&!!n.artifact_id,staleTime:Number.POSITIVE_INFINITY}),J=ya({queryKey:["chat-latex-paper-manifest",n.artifact_id,D==null?void 0:D.version_id],queryFn:async()=>{const q=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(D.version_id)}/manifest`),{credentials:"include",cache:"no-store"});if(!q.ok)throw new Error("Could not load paper files");return q.json()},enabled:t.state.tab==="files"&&!!(D!=null&&D.version_id),staleTime:Number.POSITIVE_INFINITY}),se=((Jn=J.data)==null?void 0:Jn.files.filter(q=>q.media_type==="text/x-tex"||q.media_type==="application/x-bibtex"))??[],de=((In=J.data)==null?void 0:In.files.filter(q=>q.media_type==="image/png"||q.media_type==="image/jpeg"||q.media_type==="application/pdf"))??[],H=ya({queryKey:["chat-latex-paper-source-files",n.artifact_id,D==null?void 0:D.version_id],queryFn:async()=>Object.fromEntries(await Promise.all(se.map(async q=>{const ge=await fetch(Oee(n.artifact_id,D.version_id,q.path),{credentials:"include",cache:"no-store"});if(!ge.ok)throw new Error("Could not load paper source");return[q.path,await ge.text()]}))),enabled:t.state.tab==="files"&&!!(D!=null&&D.version_id&&se.length),staleTime:Number.POSITIVE_INFINITY});ee.useEffect(()=>{m(!1)},[D==null?void 0:D.version_id]),ee.useEffect(()=>{var Rt;if(!(D!=null&&D.version_id)||!H.data||E.current===D.version_id)return;const q=H.data;let ge=q,Ee=!1,it=D.version_id;try{const ki=window.localStorage.getItem(Bm(n.artifact_id)),tr=ki?JSON.parse(ki):null;tr!=null&&tr.files&&typeof tr.files=="object"&&(ge=tr.files,Ee=tr.parentVersionId!==D.version_id,it=tr.parentVersionId)}catch{}E.current=D.version_id,l(ge),h(q),d(it),v(Ee),m(!0),Ee&&w("This local draft is based on an older paper version. Copy or discard it before saving the latest version."),(!t.state.sourceFile||!ge[t.state.sourceFile])&&t.setSourceFile(((Rt=J.data)==null?void 0:Rt.root_document)??null)},[n.artifact_id,(Qt=J.data)==null?void 0:Qt.root_document,t,D==null?void 0:D.version_id,H.data]),ee.useEffect(()=>{if(!u||!n.artifact_id)return;const q=Bm(n.artifact_id);if(!L){window.localStorage.removeItem(q);return}window.localStorage.setItem(q,JSON.stringify({parentVersionId:u,files:a}))},[n.artifact_id,L,u,a]);const P=tm({mutationFn:async()=>{var Ee;if(!(D!=null&&D.version_id))throw new Error("Paper source is not ready to save");const q=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/save-compile`),{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({expected_parent_version_id:D.version_id,files:Object.entries(a).map(([it,Rt])=>({path:it,content:Rt}))})}),ge=await q.json().catch(()=>null);if(!q.ok)throw new Error(((Ee=ge==null?void 0:ge.detail)==null?void 0:Ee.message)??"Could not save paper");return ge},onSuccess:q=>{var ge,Ee;s.setQueryData(["chat-latex-paper",n.artifact_id],q),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),E.current=((ge=q.source_head)==null?void 0:ge.version_id)??null,h(a),d(((Ee=q.source_head)==null?void 0:Ee.version_id)??null),window.localStorage.removeItem(Bm(n.artifact_id)),w(null),v(!1),t.setTab("preview")},onError:q=>w(q instanceof Error?q.message:"Could not save paper")}),N=tm({mutationFn:async q=>{var it;if(!(D!=null&&D.version_id))throw new Error("Paper source is not ready to restore");const ge=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/restore`),{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({source_version_id:q,expected_parent_version_id:D.version_id})}),Ee=await ge.json().catch(()=>null);if(!ge.ok)throw new Error(((it=Ee==null?void 0:Ee.detail)==null?void 0:it.message)??"Could not restore paper version");return Ee},onSuccess:q=>{s.setQueryData(["chat-latex-paper",n.artifact_id],q),s.invalidateQueries({queryKey:["chat-latex-paper-history",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),E.current=null,m(!1),$(null),w(null),t.setTab("preview")},onError:q=>w(q instanceof Error?q.message:"Could not restore paper version")}),M=tm({mutationFn:async q=>{var Rt;if(!(D!=null&&D.version_id))throw new Error("Paper source is not ready to upload a figure");if(L)throw new Error("Save or discard text edits before uploading a figure");const ge=new FormData;ge.set("expected_parent_version_id",D.version_id),ge.set("path",`figures/${q.name}`),ge.set("figure",q);const Ee=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/figures`),{method:"POST",credentials:"include",body:ge}),it=await Ee.json().catch(()=>null);if(!Ee.ok)throw new Error(((Rt=it==null?void 0:it.detail)==null?void 0:Rt.message)??"Could not upload figure");return it},onSuccess:q=>{s.setQueryData(["chat-latex-paper",n.artifact_id],q),s.invalidateQueries({queryKey:["chat-latex-paper-manifest",n.artifact_id]}),s.invalidateQueries({queryKey:["chat-latex-paper-source-files",n.artifact_id]}),w(null)},onError:q=>w(q instanceof Error?q.message:"Could not upload figure")}),x=tm({mutationFn:async()=>{const q=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/refresh-compile`),{method:"POST",credentials:"include"});if(!q.ok)throw new Error("Could not refresh paper compilation");return q.json()},onSuccess:q=>s.setQueryData(["chat-latex-paper",n.artifact_id],q)}).mutate,I=D==null?void 0:D.version_id,V=D==null?void 0:D.compile_status;ee.useEffect(()=>{if(!I||!n.artifact_id||!["queued","compiling"].includes(V??""))return;const q=window.setTimeout(()=>x(),2e3);return()=>window.clearTimeout(q)},[n.artifact_id,x,V,I]);const Z=t.state.sourceFile??((an=J.data)==null?void 0:an.root_document)??null,ae=(K==null?void 0:K.editing_enabled)===!0&&!!(D!=null&&D.version_id)&&p&&!g&&!P.isPending,ne=new Map(((ln=X.data)==null?void 0:ln.items.map(q=>[q.version_id,q.version]))??[]),ke=Q?rn(`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(Q.version_id)}/preview`):null,kt=!!(D&&Q&&D.version_id!==Q.version_id),Ie=()=>!L||window.confirm("Leave this view? Unsaved paper edits remain in this browser."),Ge=q=>q!==t.state.tab&&!Ie()?!1:(t.setTab(q),!0),lt=q=>{var Ee,it;if(!["ArrowLeft","ArrowRight","Home","End"].includes(q.key))return;q.preventDefault();const ge=q.key==="ArrowLeft"||q.key==="Home"?"preview":"files";Ge(ge)&&((it=(Ee=q.currentTarget.parentElement)==null?void 0:Ee.querySelector(`#paper-${ge}-tab`))==null||it.focus())},tt=q=>{q!==Z&&L&&!window.confirm("Switch files? Unsaved edits stay in this browser.")||t.setSourceFile(q)},Jt=()=>{const q=window.prompt("New TeX or BibTeX file name","section.tex");if(q){if(!SC(q)||a[q]){w("Choose a new safe .tex or .bib filename.");return}if(Object.keys(a).length>=100){w("A paper can contain at most 100 files.");return}l({...a,[q]:""}),w(null),t.setSourceFile(q)}},Pn=()=>{var Ee;if(!Z||Z===((Ee=J.data)==null?void 0:Ee.root_document))return;const q=window.prompt("Rename file",Z);if(!q||q===Z)return;if(!SC(q)||a[q]){w("Choose a new safe .tex or .bib filename.");return}const ge={...a,[q]:a[Z]};delete ge[Z],l(ge),t.setSourceFile(q)},Rn=()=>{var ge,Ee;if(!Z||Z===((ge=J.data)==null?void 0:ge.root_document)||!window.confirm(`Delete ${Z}?`))return;const q={...a};delete q[Z],l(q),t.setSourceFile(((Ee=J.data)==null?void 0:Ee.root_document)??null)},us=()=>{!g||!window.confirm("Discard this stale local draft?")||(window.localStorage.removeItem(Bm(n.artifact_id)),l(c),d((D==null?void 0:D.version_id)??null),v(!1),w(null))},Mn=()=>{Ie()&&(i(),B&&F.current&&(F.current=!1,window.history.back()))},ds=()=>{if(!D||D.compile_status!=="failed"||D.repair_exhausted)return;const q=(D.compile_diagnostics??[]).slice(0,20).map(ge=>`${ge.file??"project"}${ge.line?`:${ge.line}`:""}: ${ge.message}`).join(` +`);t.askAiToFix(`Repair the failed paper source version ${D.version_id}. Use pwc-paper to inspect and repair it; make no more than three attempts. Compiler diagnostics: +${q||"No compiler diagnostic was available."}`)},Yn=q=>{!q||!Ge("files")||t.setSourceFile(q)};return S.jsxs("section",{ref:O,className:`chat-artifact-panel${B?" is-dialog":" is-docked"}`,role:B?"dialog":"complementary","aria-modal":B?!0:void 0,"aria-labelledby":"latex-paper-title","data-testid":"latex-paper-panel",children:[S.jsxs("header",{children:[S.jsxs("div",{children:[S.jsx("span",{children:"Private paper"}),S.jsx("h2",{id:"latex-paper-title",children:n.title}),S.jsxs("p",{className:"chat-paper-status",role:"status","aria-live":"polite",children:[D?`Source v${D.version} · ${D.compile_status}`:"Preparing paper source",kt?" · Preview out of date":""]}),S.jsx("p",{className:"chat-paper-privacy-note",children:"This paper is private to this chat. Source, figures, and PDFs are stored privately; AI-authored text needs your review."})]}),S.jsxs("div",{className:"chat-artifact-header-actions",children:[S.jsx("button",{type:"button","aria-expanded":_,"aria-controls":"paper-version-history",onClick:()=>{$(null),k(!_)},children:"Version history"}),S.jsx("button",{type:"button","data-artifact-close":!0,"aria-label":B?"Back to conversation":"Close paper",onClick:Mn,children:S.jsx(N_,{})})]})]}),S.jsxs("nav",{"aria-label":"Paper views",role:"tablist",children:[S.jsx("button",{type:"button",id:"paper-preview-tab",role:"tab","aria-selected":t.state.tab==="preview","aria-controls":"paper-preview-panel",tabIndex:t.state.tab==="preview"?0:-1,className:t.state.tab==="preview"?"active":"",onClick:()=>Ge("preview"),onKeyDown:lt,children:"Preview"}),S.jsx("button",{type:"button",id:"paper-files-tab",role:"tab","aria-selected":t.state.tab==="files","aria-controls":"paper-files-panel",tabIndex:t.state.tab==="files"?0:-1,className:t.state.tab==="files"?"active":"",onClick:()=>Ge("files"),onKeyDown:lt,children:"Files"})]}),S.jsxs("div",{id:t.state.tab==="preview"?"paper-preview-panel":"paper-files-panel",role:"tabpanel","aria-labelledby":t.state.tab==="preview"?"paper-preview-tab":"paper-files-tab",className:"chat-artifact-panel-body",children:[t.state.tab==="preview"?z.isError?S.jsxs("div",{role:"alert",children:["Could not load paper details. ",S.jsx("button",{type:"button",onClick:()=>void z.refetch(),children:"Retry paper details"})]}):ke?S.jsx(vX,{url:ke,downloadUrl:Lee(n.artifact_id),paperKey:`${n.artifact_id}:${Q==null?void 0:Q.version_id}`,paperTitle:n.title,paperHref:"/chat",chrome:"canvas"},Q==null?void 0:Q.version_id):D?D.compile_status==="failed"?S.jsx("p",{role:"alert",children:"No compiled preview is available for this failed source version. Review the diagnostics or fix the paper in Files."}):["queued","compiling"].includes(D.compile_status)?S.jsx("p",{role:"status",children:"Preview is compiling. The stored source is available in Files."}):S.jsx("p",{role:"alert",children:"No compiled preview is available for this source version."}):S.jsx("p",{role:"status",children:"Paper source and compiled preview are not available yet."}):S.jsxs("div",{className:"chat-artifact-source-workspace",children:[S.jsxs("nav",{"aria-label":"Paper source files",children:[se.map(q=>S.jsx("button",{type:"button","aria-pressed":Z===q.path,onClick:()=>tt(q.path),children:q.path},q.path)),ae&&S.jsxs("button",{type:"button",className:"latex-file-action","aria-label":"Add TeX file",onClick:Jt,children:[S.jsx(_L,{})," Add file"]}),ae&&S.jsxs("label",{className:"latex-file-action",children:["Upload figure",S.jsx("input",{"aria-label":"Upload figure",type:"file",accept:"image/png,image/jpeg,application/pdf,.png,.jpg,.jpeg,.pdf",disabled:M.isPending,onChange:q=>{var Ee;const ge=(Ee=q.currentTarget.files)==null?void 0:Ee[0];q.currentTarget.value="",ge&&M.mutate(ge)}})]}),de.map(q=>D&&S.jsx("a",{href:Nee(n.artifact_id,D.version_id,q.path),download:!0,children:q.path},q.path))]}),S.jsxs("div",{className:"latex-editor-column",children:[Z&&a[Z]!==void 0?S.jsx(Ree,{path:Z,value:a[Z],readOnly:!ae,onChange:q=>l({...a,[Z]:q})}):S.jsx("p",{children:H.isError?"Source could not be loaded.":"Loading source…"}),ae&&Z&&Z!==((en=J.data)==null?void 0:en.root_document)&&S.jsxs("div",{className:"latex-file-buttons",children:[S.jsxs("button",{type:"button",onClick:Pn,children:[S.jsx(MC,{})," Rename"]}),S.jsxs("button",{type:"button",onClick:Rn,children:[S.jsx(dL,{})," Delete"]})]})]})]}),_&&S.jsxs("section",{id:"paper-version-history",className:"chat-artifact-history","aria-label":"Paper version history",children:[S.jsx("h3",{children:"Version history"}),X.isLoading&&S.jsx("p",{children:"Loading history…"}),X.isError&&S.jsx("p",{role:"alert",children:"Paper history could not be loaded."}),(fs=X.data)==null?void 0:fs.items.map(q=>{var ge,Ee,it,Rt;return S.jsxs("article",{children:[S.jsxs("strong",{children:["v",q.version," · ",q.compile_status]}),S.jsx("span",{children:Fee(q)}),q.created_at&&S.jsx("time",{dateTime:q.created_at,children:q.created_at}),q.parent_version_id&&S.jsxs("span",{children:["Parent ",ne.has(q.parent_version_id)?`v${ne.get(q.parent_version_id)}`:q.parent_version_id]}),(ge=q.provenance)!=null&&ge.changed_files.length?S.jsxs("span",{children:["Changed: ",q.provenance.changed_files.join(", ")]}):null,((Ee=q.provenance)==null?void 0:Ee.restored_from_version_id)&&S.jsxs("span",{children:["Restored from ",q.provenance.restored_from_version_id]}),((it=q.provenance)==null?void 0:it.change_summary)&&S.jsx("p",{children:q.provenance.change_summary}),(Rt=q.provenance)==null?void 0:Rt.reference_changes.map(ki=>S.jsx("p",{children:ki},ki)),S.jsx("a",{href:_C(n.artifact_id,q.version_id),download:!0,children:"Source ZIP"}),(K==null?void 0:K.editing_enabled)&&(D==null?void 0:D.version_id)&&q.version_id!==D.version_id&&S.jsxs("button",{type:"button",disabled:N.isPending||L,onClick:()=>N.mutate(q.version_id),children:["Restore version ",q.version]})]},q.version_id)}),((Ic=X.data)==null?void 0:Ic.next_cursor)&&S.jsx("button",{type:"button",onClick:()=>$(X.data.next_cursor??null),children:"Load older versions"})]})]}),S.jsxs("footer",{children:[S.jsxs("div",{className:"chat-artifact-metadata","aria-live":"polite",children:[kt&&S.jsx("strong",{children:"Out of date"}),(Ha=D==null?void 0:D.compile_diagnostics)==null?void 0:Ha.map((q,ge)=>S.jsxs("button",{type:"button",onClick:()=>Yn(q.file),className:"latex-compile-diagnostic",children:[q.file?`${q.file}${q.line?`:${q.line}`:""}: `:"",q.message]},`${q.file??"global"}:${q.line??""}:${ge}`)),y&&S.jsx("span",{role:"alert",children:y}),g&&S.jsx("button",{type:"button",onClick:us,children:"Discard stale local draft"})]}),S.jsxs("div",{className:"chat-artifact-actions",children:[(D==null?void 0:D.compile_status)==="failed"&&!D.repair_exhausted&&S.jsx("button",{type:"button",onClick:ds,children:"Ask AI to fix"}),(D==null?void 0:D.compile_status)==="failed"&&D.repair_exhausted&&S.jsx("span",{role:"status",children:"AI repair attempts exhausted"}),t.state.tab==="files"&&ae&&S.jsxs("button",{type:"button",disabled:!L,onClick:()=>P.mutate(),children:[S.jsx(AL,{}),P.isPending?"Saving…":"Save & Compile"]}),D&&S.jsxs("a",{href:_C(n.artifact_id,D.version_id),download:!0,children:[S.jsx(F_,{})," Source ZIP"]})]})]})]})},zee="https://github.com/Chenruishuo/posterly/tree/b9f42e5578a49a27525a68f85376bb3bb25af86f";function Hee(){if(typeof window>"u")return null;const n=window.location.pathname.match(/^\/share\/([^/]+)/u);return n?decodeURIComponent(n[1]):null}function UN(n){if(n.scope==="public"){const s=Hee();if(!s||!n.public_capability)return null;const i=`/api/v1/chat/shares/${encodeURIComponent(s)}/artifacts/${encodeURIComponent(n.public_capability)}`;return{preview:rn(`${i}/preview`),png:rn(`${i}/download/png`),pdf:rn(`${i}/download/pdf`),manifest:null,source:null,gate:null,download:null}}if(!n.artifact_id||!n.version_id)return null;const e=`/api/v1/chat/artifacts/${encodeURIComponent(n.artifact_id)}/versions/${encodeURIComponent(n.version_id)}`,t=(s,i)=>rn(`${e}/${s}/${i.split("/").map(encodeURIComponent).join("/")}`);return{preview:rn(`${e}/preview`),png:t("download","poster.png"),pdf:null,manifest:rn(`${e}/manifest`),source:s=>t("source",s),gate:s=>t("source",s),download:s=>t("download",s)}}const VN=n=>({passed:"Passed",warnings:"Passed with warnings",failed:"Draft—checks failed"})[n??"passed"];function Bee(){const[n,e]=ee.useState(()=>{var t;return typeof window<"u"&&((t=window.matchMedia)==null?void 0:t.call(window,"(max-width: 760px)").matches)});return ee.useEffect(()=>{var i,r;const t=(i=window.matchMedia)==null?void 0:i.call(window,"(max-width: 760px)");if(!t)return;const s=()=>e(t.matches);return s(),(r=t.addEventListener)==null||r.call(t,"change",s),()=>{var o;return(o=t.removeEventListener)==null?void 0:o.call(t,"change",s)}},[]),n}const qee=({forceDialog:n=!1,readerFallback:e=!1})=>{var A,$,E,O;const t=Qp(),s=t.close,{state:i}=t,r=i.selected,o=Bee(),a=n||o,l=ee.useRef(null),c=ee.useRef(!1),h=ya({queryKey:["chat-artifact-versions",r==null?void 0:r.artifact_id],queryFn:async()=>{const F=await fetch(rn(`/api/v1/chat/artifacts/${encodeURIComponent(r.artifact_id)}`),{credentials:"include",cache:"no-store"});if(!F.ok)throw new Error("Could not load poster versions");return(await F.json()).versions},enabled:i.open&&(r==null?void 0:r.scope)==="owner"&&!!r.artifact_id,staleTime:Number.POSITIVE_INFINITY}),u=(A=h.data)==null?void 0:A.find(F=>F.version_id===i.selectedVersionId),d=r&&u?{...r,version_id:u.version_id,version:u.version,gate_status:u.gate_status,total_bytes:u.total_bytes}:r,p=d?UN(d):null,g=ya({queryKey:["chat-artifact-manifest",d==null?void 0:d.version_id],queryFn:async()=>{const F=await fetch(p.manifest,{credentials:"include",cache:"no-store"});if(!F.ok)throw new Error("Could not load poster details");return F.json()},enabled:i.open&&(d==null?void 0:d.scope)==="owner"&&!!(p!=null&&p.manifest),staleTime:Number.POSITIVE_INFINITY}).data,v=i.sourceFile??(g==null?void 0:g.entrypoint)??null,y=ya({queryKey:["chat-artifact-source",d==null?void 0:d.version_id,v],queryFn:async()=>{const F=await fetch(p.source(v),{credentials:"include",cache:"no-store"});if(!F.ok)throw new Error("Source could not be loaded");return F.text()},enabled:i.open&&i.tab==="source"&&(d==null?void 0:d.scope)==="owner"&&!!(v&&(p!=null&&p.source)),staleTime:Number.POSITIVE_INFINITY});if(ee.useEffect(()=>{var B,L;if(!i.open||!a)return;(L=(B=l.current)==null?void 0:B.querySelector("[data-artifact-close]"))==null||L.focus(),window.history.pushState({...window.history.state,pwcArtifactPanel:!0},""),c.current=!0;const F=()=>{c.current=!1,s()};return window.addEventListener("popstate",F),()=>window.removeEventListener("popstate",F)},[s,a,i.open]),ee.useEffect(()=>{if(!i.open||!a)return;const F=B=>{if(B.key==="Escape"){B.preventDefault(),s(),c.current&&(c.current=!1,window.history.back());return}if(B.key!=="Tab"||!l.current)return;const L=[...l.current.querySelectorAll('button:not([disabled]), a[href], select:not([disabled]), [tabindex]:not([tabindex="-1"])')];if(!L.length)return;const z=L[0],K=L.at(-1);B.shiftKey&&document.activeElement===z?(B.preventDefault(),K.focus()):!B.shiftKey&&document.activeElement===K&&(B.preventDefault(),z.focus())};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[s,a,i.open]),!i.open||!d||!p)return null;const w=()=>{s(),a&&c.current&&(c.current=!1,window.history.back())},_=($=g==null?void 0:g.downloads[0])==null?void 0:$.path,k=d.scope==="public"?p.pdf:_&&p.download?p.download(_):null;return S.jsxs("section",{ref:l,className:`chat-artifact-panel${a?" is-dialog":" is-docked"}${e?" is-reader-fallback":""}`,role:a?"dialog":"complementary","aria-modal":a?!0:void 0,"aria-label":d.title,"data-testid":"artifact-panel",children:[S.jsxs("header",{children:[S.jsxs("div",{children:[S.jsx("span",{children:"Posterly artifact"}),S.jsx("h2",{children:d.title})]}),(((E=h.data)==null?void 0:E.length)??0)>1&&S.jsxs("label",{className:"chat-artifact-version",children:["Version",S.jsx("select",{"aria-label":"Poster version",value:d.version_id,onChange:F=>t.setVersion(F.target.value),children:[...h.data??[]].reverse().map(F=>S.jsxs("option",{value:F.version_id,children:["v",F.version]},F.version_id))})]}),S.jsx("button",{type:"button","data-artifact-close":!0,"aria-label":a?"Back to conversation":"Close poster",onClick:w,children:S.jsx(N_,{})})]}),S.jsxs("nav",{"aria-label":"Poster views",children:[S.jsx("button",{type:"button","aria-pressed":i.tab==="preview",className:i.tab==="preview"?"active":"",onClick:()=>t.setTab("preview"),children:"Preview"}),d.scope==="owner"&&S.jsx("button",{type:"button","aria-pressed":i.tab==="source",className:i.tab==="source"?"active":"",onClick:()=>t.setTab("source"),children:"Source"})]}),S.jsx("div",{className:"chat-artifact-panel-body",children:i.tab==="preview"?S.jsx("img",{src:p.preview,alt:`Full preview of ${d.title}`}):S.jsxs("div",{className:"chat-artifact-source-workspace",children:[(((O=g==null?void 0:g.source_files)==null?void 0:O.length)??0)>1&&S.jsx("nav",{"aria-label":"Poster source files",children:g.source_files.map(F=>S.jsx("button",{type:"button","aria-pressed":v===F,onClick:()=>t.setSourceFile(F),children:F},F))}),S.jsx("pre",{children:S.jsx("code",{children:y.isError?"Source could not be loaded.":y.data??"Loading source…"})})]})}),S.jsxs("footer",{children:[S.jsxs("div",{className:"chat-artifact-metadata",children:[S.jsx("strong",{children:VN(d.gate_status)}),g&&S.jsxs("span",{children:[g.canvas.width," × ",g.canvas.height," ",g.canvas.unit," · ",g.canvas.orientation," · ",g.direction]}),g==null?void 0:g.gate_summary.map(F=>S.jsx("span",{children:F},F))]}),S.jsxs("div",{className:"chat-artifact-actions",children:[S.jsxs("a",{href:p.png,download:!0,children:[S.jsx(ek,{})," PNG"]}),d.gate_status!=="failed"&&k&&S.jsxs("a",{href:k,download:!0,children:[S.jsx(ek,{})," PDF"]}),d.scope==="owner"&&g&&p.source&&S.jsxs("a",{href:p.source(g.entrypoint),download:!0,children:[S.jsx(F_,{})," HTML"]}),d.scope==="owner"&&g&&p.gate&&S.jsx("a",{href:p.gate(g.gate_report),download:!0,children:"Gate report"}),S.jsxs("a",{href:zee,target:"_blank",rel:"noreferrer",children:[S.jsx(RC,{})," Posterly source · AGPL-3.0"]})]})]})]})},AC=n=>{var t;const{state:e}=Qp();return((t=e.selected)==null?void 0:t.artifact_kind)==="latex_paper"?S.jsx(jee,{block:e.selected,...n}):S.jsx(qee,{...n})},Uee=({block:n})=>{const e=Qp(),t=e.register,s=e.unregister,i=I_(n);if(ee.useEffect(()=>{t(n)},[n,t]),ee.useEffect(()=>()=>s(i),[i,s]),n.status==="generating")return S.jsxs("div",{className:"chat-artifact-card chat-artifact-generating",role:"status",children:[S.jsx("span",{className:"chat-artifact-pulse","aria-hidden":"true"}),S.jsxs("span",{children:[S.jsx("strong",{children:n.title}),S.jsx("small",{children:"Publishing Posterly preview…"})]})]});if(n.status==="error")return S.jsxs("div",{className:"chat-artifact-card chat-artifact-error",role:"alert",children:[S.jsx(F_,{"aria-hidden":"true"}),S.jsxs("span",{children:[S.jsx("strong",{children:n.title}),S.jsx("small",{children:n.error_message??"Poster publication failed."})]})]});const r=UN(n);if(!r)return null;const o=e.state.open&&e.state.selectedKey===i;return S.jsxs("button",{type:"button",className:`chat-artifact-card${o?" is-selected":""}`,"aria-pressed":o,onClick:a=>e.open(n,a.currentTarget),children:[S.jsx("img",{src:r.preview,alt:`Preview of ${n.title}`}),S.jsxs("span",{className:"chat-artifact-card-copy",children:[S.jsxs("span",{className:"chat-artifact-kicker",children:[S.jsx(SL,{"aria-hidden":"true"})," Posterly · v",n.version]}),S.jsx("strong",{children:n.title}),S.jsx("small",{className:`chat-artifact-gate chat-artifact-gate-${n.gate_status}`,children:VN(n.gate_status)})]})]})};function Vee(n){if(!n.authors.length)return"";const e=n.authors.slice(0,3).map(t=>t.name).join(", ");return n.authors.length>3?`${e}, et al.`:e}function Wee(n){var t;if(n.conference)return n.conference;const e=(t=n.published)==null?void 0:t.slice(0,4);if(n.arxiv_id)return e?`arXiv ${e}`:"arXiv";if(n.source_url)try{return new URL(n.source_url).hostname.replace(/^www\./,"")}catch{}return e??"external"}function Gee(n,e=240){const t=n.content.trim();return t.length<=e?t:`${t.slice(0,e).trimEnd()}…`}const Kee="https://huggingface.co/pro",Zee="https://huggingface.co/docs/inference-providers/pricing",Xee="https://paperswithcode.co/chat",WN=()=>S.jsx("span",{className:"chat-caret"}),Yee=n=>{var t;if(!n.streaming)return!1;const e=(t=n.blocks)==null?void 0:t.at(-1);return e?e.kind==="reasoning"?!e.active:e.kind==="tool"?e.status!=="running":!1:!0},Jee=n=>{var p,m;const e=n.currentTarget,t=e.ownerDocument,s=(p=t.caretPositionFromPoint)==null?void 0:p.call(t,n.clientX,n.clientY),i=s?null:(m=t.caretRangeFromPoint)==null?void 0:m.call(t,n.clientX,n.clientY),r=(s==null?void 0:s.offsetNode)??(i==null?void 0:i.startContainer),o=(s==null?void 0:s.offset)??(i==null?void 0:i.startOffset);if(!(r instanceof Text)||o===void 0||!e.contains(r))return;const a=r.data,l=/[\p{L}\p{M}\p{N}_'-]/u;let c=Math.min(o,a.length),h=c;for(;c>0&&l.test(a[c-1]);)c-=1;for(;h{const t=[];let s=0;for(const i of[...e].sort((r,o)=>r.start-o.start)){const r=n.slice(i.start,i.end);i.startn.length||r!==i.title&&r!==`@${i.title}`||(t.push(n.slice(s,i.start)),t.push(S.jsxs("span",{className:"chat-inline-paper-mention",children:[S.jsx(wL,{size:13,"aria-hidden":"true"}),S.jsx(D_,{routeId:i.route_id,className:"chat-inline-paper-link",children:r.startsWith("@")?r.slice(1):r})]},i.key)),s=i.end)}return t.push(n.slice(s)),S.jsx(S.Fragment,{children:t})},ete=({block:n,papers:e,citations:t,webCitations:s,onToggle:i})=>n.active?S.jsxs("div",{className:"chat-reason-live",children:[S.jsxs("div",{className:"chat-reason-live-head",children:[S.jsx(L_,{})," ",S.jsx("span",{children:"Thinking…"})]}),S.jsxs("div",{className:"chat-reason-live-body chat-answer chat-reason-markdown",children:[S.jsx(Fv,{text:n.text,streaming:!0,papers:e,citations:t,webCitations:s}),S.jsx(WN,{})]})]}):S.jsxs("div",{className:"chat-reason-done",children:[S.jsxs("button",{type:"button",className:"chat-reason-done-head",onClick:i,"aria-expanded":n.open,children:[S.jsx(lL,{}),S.jsx("span",{children:"Thought for a few seconds"}),S.jsx(PC,{open:n.open})]}),n.open&&S.jsx("div",{className:"chat-reason-done-body chat-answer chat-reason-markdown",children:S.jsx(Fv,{text:n.text,papers:e,citations:t,webCitations:s})})]}),tte=({block:n,papers:e,onToggle:t})=>{var d,p,m,g;const s=n.status==="running",i=s&&n.argumentState==="streaming",r=n.schema_version===2||!!n.content,o=n.status==="error"||n.status==="denied",a=typeof n.args.query=="string"?n.args.query:"",l=typeof n.args.command=="string"?n.args.command:typeof n.args.file_path=="string"?n.args.file_path:a,c=n.name.startsWith("pwc_")?Object.entries(n.args).filter(([,v])=>v!=null&&v!=="").map(([v,y])=>`${v}=${typeof y=="string"?y:JSON.stringify(y)}`).join(" · "):r?l:`("${a}")`,h=((d=n.content)==null?void 0:d.map(v=>v.text).join(""))??"",u=i?"streaming arguments…":s?"running…":r?`${n.status} · ${n.took_ms??0} ms`:`${n.hits} results · ${n.took_ms} ms`;return S.jsxs("div",{className:`chat-tool${s?" chat-tool-running":""}${o?" chat-tool-failed":""}`,children:[S.jsxs("button",{type:"button",className:"chat-tool-head",onClick:t,"aria-expanded":n.open,children:[S.jsxs("span",{className:"chat-tool-head-left",children:[s?S.jsx(L_,{}):S.jsx(cL,{}),S.jsx("code",{className:"chat-tool-name",children:n.name}),S.jsx("span",{className:"chat-tool-query",title:c,children:c})]}),S.jsxs("span",{className:"chat-tool-head-right",children:[S.jsx("span",{className:"chat-tool-status",children:u}),S.jsx(PC,{open:n.open})]})]}),n.open&&S.jsxs("div",{className:"chat-tool-body",children:[S.jsxs("div",{className:"chat-tool-args",children:[S.jsxs("span",{className:"chat-tool-label",children:["arguments",n.arguments_redacted?" · redacted":""]}),S.jsx("pre",{children:n.argumentState==="streaming"&&!n.arguments_redacted&&n.argumentText||JSON.stringify(n.args,null,2)})]}),!s&&r?S.jsxs(S.Fragment,{children:[S.jsxs("div",{className:"chat-tool-output-head",children:[S.jsx("span",{className:"chat-tool-label",children:"result"}),S.jsx("button",{type:"button",className:"chat-tool-copy",onClick:()=>void navigator.clipboard.writeText(h),children:"Copy"})]}),S.jsx("pre",{className:"chat-tool-output",children:S.jsx("code",{children:h})}),((p=n.metadata)==null?void 0:p.output_truncated)&&S.jsx("div",{className:"chat-tool-truncated",children:"Output was truncated."})]}):s?null:S.jsxs(S.Fragment,{children:[S.jsxs("div",{className:"chat-tool-label chat-tool-results-label",children:["returned ",((m=n.results)==null?void 0:m.length)??0," papers"]}),S.jsx("ol",{className:"chat-tool-results",children:(g=n.results)==null?void 0:g.map(v=>S.jsxs("li",{className:"chat-hit",children:[S.jsx("div",{className:"chat-hit-top",children:S.jsx(OC,{routeId:v.route_id,paper:e[v.route_id],className:"chat-hit-title",children:v.title})}),S.jsx("div",{className:"chat-hit-meta",children:[Vee(v.metadata),Wee(v.metadata)].filter(Boolean).join(" · ")}),S.jsxs("div",{className:"chat-hit-snippet",children:[Gee(v),v.content_truncated&&S.jsx("span",{className:"chat-hit-truncated",children:" (truncated)"})]})]},v.route_id))})]})]})]})},nte=({block:n,papers:e,citations:t,webCitations:s,streaming:i})=>S.jsxs("div",{className:"chat-answer",children:[S.jsx(Fv,{text:n.text,streaming:i,papers:e,citations:t,webCitations:s}),i&&!!n.text.trim()&&S.jsx(WN,{})]}),ste=({block:n})=>S.jsx(V9,{block:n}),GN=n=>{const e=ee.useRef(null),t=ee.useCallback(()=>{const s=e.current;if(!s)return;s.style.height="auto";const i=Math.max(120,window.innerHeight*.4);s.style.height=`${Math.min(s.scrollHeight,i)}px`,s.style.overflowY=s.scrollHeight>i?"auto":"hidden"},[]);return ee.useLayoutEffect(()=>{var s,i;(s=e.current)==null||s.focus(),(i=e.current)==null||i.setSelectionRange(n.length,n.length),t()},[t,n.length]),{textareaRef:e,resize:t}},ite=({id:n,text:e,paperSelection:t,editNotice:s,onCancel:i,onResend:r,onResendDraft:o})=>{const[a,l]=ee.useState(e),[c,h]=ee.useState(t),[u,d]=ee.useState(!1),{textareaRef:p,resize:m}=GN(e);ee.useLayoutEffect(m,[m,a]);const g=!!a.trim()&&a.length<=8e3,v=()=>{if(!g||u)return;d(!0),((o==null?void 0:o({text:a,paperMentions:[],...c?{paperSelection:c}:{}}))??(r==null?void 0:r(a))??!1)||d(!1)};return S.jsx("div",{className:"chat-msg chat-msg-user chat-msg-user-editing","data-message-id":n,children:S.jsxs("div",{className:"chat-inline-editor",children:[c&&S.jsx(Yy,{selection:c,editable:!0,onRemove:()=>h(void 0)}),S.jsx("textarea",{ref:p,className:"chat-inline-editor-textarea","aria-label":"Edit message",value:a,maxLength:8e3,onChange:y=>l(y.target.value),onKeyDown:y=>{y.key==="Escape"?(y.preventDefault(),i==null||i()):y.key==="Enter"&&!y.shiftKey&&!y.nativeEvent.isComposing&&(y.preventDefault(),v())}}),s&&S.jsx("div",{className:"chat-inline-editor-notice",children:s}),S.jsxs("div",{className:"chat-inline-editor-actions",children:[S.jsx("button",{type:"button",onClick:i,children:"Cancel"}),S.jsx("button",{type:"button",className:"chat-inline-editor-send",disabled:!g||u,onClick:v,children:"Send"})]})]})})},rte=({id:n,text:e,paperMentions:t,paperSelection:s,enabled:i,editNotice:r,onCancel:o,onResend:a,onResendDraft:l})=>{const[c,h]=ee.useState({text:e,paperMentions:t,...s?{paperSelection:s}:{}}),[u,d]=ee.useState(!1),[p,m]=ee.useState(0),{textareaRef:g,resize:v}=GN(e),y=CC({draft:c,onChange:h,enabled:i,textareaRef:g});ee.useLayoutEffect(v,[v,c.text]);const w=!!c.text.trim()&&c.text.length<=8e3&&(i||c.paperMentions.length===0),_=()=>{if(!w||u)return;d(!0),((l==null?void 0:l(c))??(a==null?void 0:a(c.text))??!1)||d(!1)};return S.jsx("div",{className:"chat-msg chat-msg-user chat-msg-user-editing","data-message-id":n,children:S.jsxs("div",{className:"chat-inline-editor",children:[c.paperSelection&&S.jsx(Yy,{selection:c.paperSelection,editable:!0,onRemove:()=>h({text:c.text,paperMentions:c.paperMentions})}),S.jsxs("div",{className:"chat-inline-editor-textarea-wrap",children:[S.jsx($C,{text:c.text,mentions:c.paperMentions,scrollTop:p,variant:"editor"}),S.jsx("textarea",{ref:g,className:"chat-inline-editor-textarea","aria-label":"Edit message",value:c.text,maxLength:8e3,role:"combobox","aria-autocomplete":"list","aria-expanded":y.open,"aria-controls":y.open?y.pickerId:void 0,"aria-activedescendant":y.open&&y.results.length?`${y.optionIdPrefix}-${y.activeIndex}`:void 0,onChange:k=>y.updateText(k.target.value,k.target.selectionStart),onSelect:k=>y.refresh(k.currentTarget.selectionStart),onScroll:k=>m(k.currentTarget.scrollTop),onKeyDown:k=>{y.keyDown(k)||(k.key==="Escape"?(k.preventDefault(),o==null||o()):k.key==="Enter"&&!k.shiftKey&&!k.nativeEvent.isComposing&&(k.preventDefault(),_()))}}),S.jsx(TC,{open:y.open,query:y.query,results:y.results,activeIndex:y.activeIndex,loading:y.loading,error:y.error,onSelect:y.select,id:y.pickerId,optionIdPrefix:y.optionIdPrefix})]}),!i&&c.paperMentions.length>0&&S.jsx("div",{className:"chat-inline-editor-notice",role:"status",children:"Paper mentions are currently disabled. Remove them before sending."}),r&&S.jsx("div",{className:"chat-inline-editor-notice",children:r}),S.jsxs("div",{className:"chat-inline-editor-actions",children:[S.jsx("button",{type:"button",onClick:o,children:"Cancel"}),S.jsx("button",{type:"button",className:"chat-inline-editor-send",disabled:!w||u,onClick:_,children:"Send"})]})]})})},Nte=({id:n,text:e,paperMentions:t=[],paperSelection:s,paperMentionsEnabled:i=!1,editingAllowed:r=!1,editing:o=!1,editNotice:a,onEdit:l,onCancel:c,onResend:h,onResendDraft:u})=>{const[d,p]=ee.useState(!1),m=ee.useRef(null);ee.useEffect(()=>()=>{m.current!==null&&window.clearTimeout(m.current)},[]);const g=async()=>{var v;if((v=navigator.clipboard)!=null&&v.writeText)try{await navigator.clipboard.writeText(e),p(!0),m.current!==null&&window.clearTimeout(m.current),m.current=window.setTimeout(()=>p(!1),1500)}catch{}};return o?!i&&t.length===0?S.jsx(ite,{id:n,text:e,paperSelection:s,editNotice:a,onCancel:c,onResend:h,onResendDraft:u}):S.jsx(rte,{id:n,text:e,paperMentions:t,paperSelection:s,enabled:i,editNotice:a,onCancel:c,onResend:h,onResendDraft:u}):S.jsx("div",{className:"chat-msg chat-msg-user","data-message-id":n,children:S.jsxs("div",{className:"chat-user-message-wrap",children:[s&&S.jsx(Yy,{selection:s}),S.jsx("div",{className:"chat-bubble",onDoubleClick:Jee,children:S.jsx(Qee,{text:e,mentions:t})}),S.jsxs("div",{className:"chat-user-actions",children:[S.jsx("button",{type:"button",className:"chat-user-action","aria-label":d?"Message copied":"Copy message",title:d?"Copied":"Copy",onClick:()=>void g(),children:d?S.jsx(eL,{"aria-hidden":"true"}):S.jsx(bL,{"aria-hidden":"true"})}),r&&S.jsx("button",{type:"button",className:"chat-user-action","aria-label":"Edit message",title:"Edit",onClick:l,children:S.jsx(MC,{"aria-hidden":"true"})})]})]})})},Lte=({msg:n,papers:e,onToggleBlock:t,onRetryCompaction:s,onArchiveOldChats:i,onArchiveOldestChats:r,archivePending:o=null,hfBilling:a=null,openRouterFallbackEnabled:l=!1,feedbackEnabled:c=!1})=>{var O,F,B,L;const[h,u]=ee.useState(null),[d,p]=ee.useState(!1),[m,g]=ee.useState(!1),[v,y]=ee.useState(!1),[w,_]=ee.useState(""),k=ee.useRef(null),A=`chat-feedback-panel-${n.id}`,$=c&&!n.streaming&&!n.error&&!!((O=n.blocks)!=null&&O.some(z=>z.kind==="answer"&&z.text.trim()));ee.useEffect(()=>{var z;v&&((z=k.current)==null||z.focus())},[v]);const E=async(z,K)=>{if(!d){p(!0),g(!1);try{K===void 0?await QA.reportFeedback(n.id,z):await QA.reportFeedback(n.id,z,K),u(z),y(!1),_("")}catch{g(!0)}finally{p(!1)}}};return S.jsx("div",{className:"chat-msg chat-msg-assistant",children:S.jsxs("div",{className:"chat-msg-blocks",children:[(F=n.blocks)==null?void 0:F.map((z,K)=>{var se;const D=`${n.id}-${K}`,Q="citations"in z&&z.citations!==void 0?z.citations:n.citations??[],X=Object.fromEntries(Q.filter(de=>(de.kind==="catalog_paper"||de.kind==="paper"||!de.kind&&de.route_id)&&de.route_id).map(de=>[de.route_id,de])),J=Object.fromEntries(Q.filter(de=>(de.kind==="external_source"||de.kind==="web")&&de.url).map(de=>[de.url,de]));return z.kind==="reasoning"?S.jsx(ete,{block:z,papers:e,citations:X,webCitations:J,onToggle:()=>t(n.id,K)},D):z.kind==="tool"?S.jsx(tte,{block:z,papers:e,onToggle:()=>t(n.id,K)},D):z.kind==="app"?S.jsx(ste,{block:z},z.instance_id||D):z.kind==="artifact"?S.jsx(Uee,{block:z},z.publication_id||z.version_id||D):S.jsx(nte,{block:z,papers:e,citations:X,webCitations:J,streaming:!!(n.streaming&&K===(((se=n.blocks)==null?void 0:se.length)??0)-1)},D)}),n.streaming&&n.compacting&&S.jsx(CL,{}),!n.compacting&&Yee(n)&&S.jsx("div",{className:"chat-waiting",role:"status","aria-live":"polite",children:S.jsx("span",{className:"chat-thinking",children:(((B=n.blocks)==null?void 0:B.length)??0)===0?n.status??"Thinking…":"Thinking…"})}),n.error&&S.jsxs("div",{className:"chat-error",children:[((L=n.blocks)==null?void 0:L.some(z=>z.kind==="answer"&&z.text.trim()))&&S.jsx("strong",{children:"Incomplete—response interrupted. "}),["context_too_large","provider_error","persistence_error"].includes(n.errorCode??"")&&s&&S.jsx("button",{type:"button",onClick:s,children:"Retry"}),S.jsx("span",{children:n.errorCode==="chat_disabled_interrupted"?"Chat was disabled while this response was running. The partial response is saved. Please try again later.":n.errorCode==="chat_session_quota_exceeded"?n.error:`The assistant hit an error: ${n.error}`}),["hf_inference_billing_required","hf_inference_credential_expired"].includes(n.errorCode??"")&&S.jsx("a",{href:"/settings",children:"Re-sign in with Hugging Face"}),n.errorCode==="hf_inference_billing_exhausted"&&S.jsxs(S.Fragment,{children:[(a==null?void 0:a.account_type)==="Free"&&!a.bill_to?S.jsx("a",{href:Kee,target:"_blank",rel:"noreferrer",children:"Upgrade to Hugging Face PRO — $9/month for 20× more included credits"}):S.jsx("a",{href:(a==null?void 0:a.usage_url)??"/settings",target:a?"_blank":void 0,rel:a?"noreferrer":void 0,children:"Review Hugging Face usage and billing"}),S.jsx("a",{href:Zee,target:"_blank",rel:"noreferrer",children:"Inference Providers pricing and billing details"})]}),n.errorCode==="openrouter_monthly_budget_exhausted"&&S.jsxs(S.Fragment,{children:[l?S.jsx("span",{children:"This response started on the shared allowance. Your connected OpenRouter key will be used when you explicitly retry."}):S.jsx("a",{href:"/settings#openrouter-byok",children:"Connect your own OpenRouter key"}),S.jsx("span",{children:"Or select a Hugging Face-backed model and explicitly retry."})]}),n.errorCode==="openrouter_staging_funding_disabled"&&S.jsx("a",{href:Xee,children:"Continue on paperswithcode.co"}),n.errorCode==="openrouter_unavailable"&&S.jsxs(S.Fragment,{children:[S.jsx("a",{href:"/settings#openrouter-byok",children:"Bring your own key in Settings"}),S.jsx("a",{href:"https://github.com/huggingface/paperswithcode-feedback",target:"_blank",rel:"noreferrer",children:"File an issue"})]}),n.errorCode==="openrouter_byok_billing_error"&&S.jsx("a",{href:"https://openrouter.ai/settings/credits",target:"_blank",rel:"noreferrer",children:"Review OpenRouter billing"}),["openrouter_byok_credential_invalid","openrouter_byok_rate_limit"].includes(n.errorCode??"")&&S.jsx("a",{href:"/settings#openrouter-byok",children:"Review OpenRouter settings"}),n.errorCode==="chat_session_quota_exceeded"&&(i||r)&&S.jsxs("span",{className:"chat-error-actions",children:[i&&S.jsx("button",{type:"button",disabled:o!==null,onClick:i,children:o==="old"?"Archiving…":"Archive chats older than 30 days"}),r&&S.jsx("button",{type:"button",disabled:o!==null,onClick:r,children:o==="oldest"?"Archiving…":"Archive oldest 50 chats"})]})]}),!n.streaming&&n.finishReason&&!["success","scope_blocked"].includes(n.finishReason)&&S.jsx("div",{className:"chat-finish-note",children:["tool_limit","max_turns"].includes(n.finishReason)?"The assistant stopped at the execution limit.":`The assistant stopped early (${n.finishReason.replace(/_/g," ")}).`}),$&&S.jsxs("div",{className:"chat-feedback","aria-label":"Rate this response",children:[S.jsx("span",{className:"chat-feedback-label",children:h===null?"Was this helpful?":"Thanks for your feedback"}),S.jsx("button",{type:"button",className:`chat-feedback-action${h===!0?" chat-feedback-action-selected":""}`,"aria-label":"Helpful response","aria-pressed":h===!0,disabled:d,onClick:()=>{y(!1),E(!0)},children:S.jsx(xL,{"aria-hidden":"true"})}),S.jsx("button",{type:"button",className:`chat-feedback-action${h===!1?" chat-feedback-action-selected":""}`,"aria-label":"Unhelpful response","aria-pressed":h===!1,"aria-expanded":v,"aria-controls":A,disabled:d,onClick:()=>{g(!1),y(!0)},children:S.jsx(kL,{"aria-hidden":"true"})}),m&&S.jsx("span",{className:"chat-feedback-error",role:"status",children:"Couldn’t send feedback."})]}),$&&v&&S.jsxs("div",{className:"chat-feedback-panel",id:A,role:"group","aria-labelledby":`${A}-title`,children:[S.jsx("div",{className:"chat-feedback-panel-title",id:`${A}-title`,children:"Additional feedback"}),S.jsx("label",{className:"chat-feedback-panel-label",htmlFor:`${A}-comment`,children:"Tell us what went wrong (optional)"}),S.jsx("textarea",{ref:k,id:`${A}-comment`,className:"chat-feedback-comment",value:w,maxLength:500,rows:4,disabled:d,onChange:z=>_(z.target.value),onKeyDown:z=>{z.key==="Escape"&&(z.preventDefault(),y(!1))}}),S.jsxs("div",{className:"chat-feedback-panel-actions",children:[S.jsx("button",{type:"button",className:"chat-feedback-skip",disabled:d,onClick:()=>void E(!1),children:"Skip"}),S.jsx("button",{type:"button",className:"chat-feedback-submit",disabled:d,onClick:()=>void E(!1,w.trim()||void 0),children:d?"Submitting…":"Submit"})]})]})]})})},ote={chat:{breakpoint:760,left:360,right:360},shared:{breakpoint:760,left:360,right:360},reader:{breakpoint:1260,left:840,right:420}};function Za(n,e,t,s){if(!n)return Math.max(25,Math.min(75,e));const i=Math.max(25,s/n*100),r=Math.min(75,(n-t)/n*100);return Math.max(i,Math.min(r,e))}const Dte=({children:n,variant:e})=>{var w;const t=Qp(),s=ote[e],i=ee.useRef(null),r=ee.useRef(null),o=ee.useRef(null),a=ee.useRef(null),[l,c]=ee.useState(0),h=ee.useRef(!1),u=ee.useRef(t.state.panelPercent);ee.useLayoutEffect(()=>{const _=i.current;if(!_)return;const k=()=>c(_.clientWidth||window.innerWidth);if(k(),typeof ResizeObserver>"u")return;const A=new ResizeObserver(k);return A.observe(_),()=>A.disconnect()},[]);const d=t.state.open&&l>=s.breakpoint,p=Za(l,t.state.panelPercent,s.left,s.right),m=((w=t.state.selected)==null?void 0:w.artifact_kind)==="latex_paper"?"paper":"poster",g=_=>{var A;const k=Za(l,_,s.left,s.right);u.current=k,r.current&&(r.current.style.width=`${100-k}%`),o.current&&(o.current.style.width=`${k}%`),(A=a.current)==null||A.setAttribute("aria-valuenow",String(Math.round(k)))},v=_=>{var A;const k=(A=i.current)==null?void 0:A.getBoundingClientRect();k!=null&&k.width&&g((k.right-_)/k.width*100)},y=()=>{h.current&&(h.current=!1,t.setPanelPercent(u.current))};return S.jsxs("div",{ref:i,className:`chat-artifact-workspace chat-artifact-workspace-${e}${d?" has-docked-artifact":""}`,"data-artifact-layout":d?"split":t.state.open?"dialog":"closed",children:[S.jsx("div",{ref:r,className:"chat-artifact-workspace-content",style:d?{width:`${100-p}%`}:void 0,children:n}),d&&S.jsxs(S.Fragment,{children:[S.jsx("div",{ref:a,className:"chat-artifact-resize-handle",role:"separator","aria-label":`Resize conversation and ${m} panels`,"aria-orientation":"vertical","aria-valuemin":Math.ceil(Za(l,0,s.left,s.right)),"aria-valuemax":Math.floor(Za(l,100,s.left,s.right)),"aria-valuenow":Math.round(p),tabIndex:0,onPointerDown:_=>{h.current=!0,_.currentTarget.setPointerCapture(_.pointerId),v(_.clientX)},onPointerMove:_=>{h.current&&v(_.clientX)},onPointerUp:y,onPointerCancel:y,onLostPointerCapture:y,onDoubleClick:()=>t.setPanelPercent(55),onKeyDown:_=>{(_.key==="ArrowLeft"||_.key==="ArrowRight")&&(_.preventDefault(),t.setPanelPercent(Za(l,p+(_.key==="ArrowLeft"?2:-2),s.left,s.right))),_.key==="Home"&&t.setPanelPercent(Za(l,25,s.left,s.right)),_.key==="End"&&t.setPanelPercent(Za(l,75,s.left,s.right))}}),S.jsx("div",{ref:o,className:"chat-artifact-workspace-pane",style:{width:`${p}%`},children:S.jsx(AC,{})})]}),t.state.open&&!d&&S.jsx(AC,{forceDialog:!0,readerFallback:e==="reader"})]})};export{Ote as A,Ate as C,vX as P,Nte as U,Dte as a,Lte as b,Ite as c,I_ as d,Qp as u};