claudekit-cli 3.35.0-dev.12 → 3.35.0-dev.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- var f1=Object.defineProperty;var p1=(n,e,t)=>e in n?f1(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var bu=(n,e,t)=>p1(n,typeof e!="symbol"?e+"":e,t);import{r as g,a as Vp,R as m1,b as g1}from"./vendor-DNUgy55u.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=t(i);fetch(i.href,s)}})();var zp={exports:{}},Ca={};/**
1
+ var g1=Object.defineProperty;var b1=(n,e,t)=>e in n?g1(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var yu=(n,e,t)=>b1(n,typeof e!="symbol"?e+"":e,t);import{r as g,a as Hp,R as y1,b as x1}from"./vendor-DNUgy55u.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=t(i);fetch(i.href,s)}})();var _p={exports:{}},Ca={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,7 +6,7 @@ var f1=Object.defineProperty;var p1=(n,e,t)=>e in n?f1(n,e,{enumerable:!0,config
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var b1=g,y1=Symbol.for("react.element"),x1=Symbol.for("react.fragment"),v1=Object.prototype.hasOwnProperty,w1=b1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,k1={key:!0,ref:!0,__self:!0,__source:!0};function Hp(n,e,t){var r,i={},s=null,o=null;t!==void 0&&(s=""+t),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)v1.call(e,r)&&!k1.hasOwnProperty(r)&&(i[r]=e[r]);if(n&&n.defaultProps)for(r in e=n.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:y1,type:n,key:s,ref:o,props:i,_owner:w1.current}}Ca.Fragment=x1;Ca.jsx=Hp;Ca.jsxs=Hp;zp.exports=Ca;var u=zp.exports,ic={},yu=Vp;ic.createRoot=yu.createRoot,ic.hydrateRoot=yu.hydrateRoot;/**
9
+ */var v1=g,w1=Symbol.for("react.element"),k1=Symbol.for("react.fragment"),S1=Object.prototype.hasOwnProperty,C1=v1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,j1={key:!0,ref:!0,__self:!0,__source:!0};function Wp(n,e,t){var r,i={},s=null,o=null;t!==void 0&&(s=""+t),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)S1.call(e,r)&&!j1.hasOwnProperty(r)&&(i[r]=e[r]);if(n&&n.defaultProps)for(r in e=n.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:w1,type:n,key:s,ref:o,props:i,_owner:C1.current}}Ca.Fragment=k1;Ca.jsx=Wp;Ca.jsxs=Wp;_p.exports=Ca;var u=_p.exports,ic={},xu=Hp;ic.createRoot=xu.createRoot,ic.hydrateRoot=xu.hydrateRoot;/**
10
10
  * react-router v7.11.0
11
11
  *
12
12
  * Copyright (c) Remix Software Inc.
@@ -15,10 +15,10 @@ var f1=Object.defineProperty;var p1=(n,e,t)=>e in n?f1(n,e,{enumerable:!0,config
15
15
  * LICENSE.md file in the root directory of this source tree.
16
16
  *
17
17
  * @license MIT
18
- */var Wp=n=>{throw TypeError(n)},S1=(n,e,t)=>e.has(n)||Wp("Cannot "+t),Ja=(n,e,t)=>(S1(n,e,"read from private field"),t?t.call(n):e.get(n)),C1=(n,e,t)=>e.has(n)?Wp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),xu="popstate";function j1(n={}){function e(r,i){let{pathname:s,search:o,hash:a}=r.location;return Pi("",{pathname:s,search:o,hash:a},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}function t(r,i){return typeof i=="string"?i:Zt(i)}return P1(e,t,null,n)}function ue(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function Re(n,e){if(!n){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function O1(){return Math.random().toString(36).substring(2,10)}function vu(n,e){return{usr:n.state,key:n.key,idx:e}}function Pi(n,e,t=null,r){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof e=="string"?$n(e):e,state:t,key:e&&e.key||r||O1()}}function Zt({pathname:n="/",search:e="",hash:t=""}){return e&&e!=="?"&&(n+=e.charAt(0)==="?"?e:"?"+e),t&&t!=="#"&&(n+=t.charAt(0)==="#"?t:"#"+t),n}function $n(n){let e={};if(n){let t=n.indexOf("#");t>=0&&(e.hash=n.substring(t),n=n.substring(0,t));let r=n.indexOf("?");r>=0&&(e.search=n.substring(r),n=n.substring(0,r)),n&&(e.pathname=n)}return e}function P1(n,e,t,r={}){let{window:i=document.defaultView,v5Compat:s=!1}=r,o=i.history,a="POP",l=null,c=h();c==null&&(c=0,o.replaceState({...o.state,idx:c},""));function h(){return(o.state||{idx:null}).idx}function d(){a="POP";let y=h(),v=y==null?null:y-c;c=y,l&&l({action:a,location:b.location,delta:v})}function f(y,v){a="PUSH";let k=Pi(b.location,y,v);c=h()+1;let S=vu(k,c),O=b.createHref(k);try{o.pushState(S,"",O)}catch(C){if(C instanceof DOMException&&C.name==="DataCloneError")throw C;i.location.assign(O)}s&&l&&l({action:a,location:b.location,delta:1})}function p(y,v){a="REPLACE";let k=Pi(b.location,y,v);c=h();let S=vu(k,c),O=b.createHref(k);o.replaceState(S,"",O),s&&l&&l({action:a,location:b.location,delta:0})}function m(y){return _p(y)}let b={get action(){return a},get location(){return n(i,o)},listen(y){if(l)throw new Error("A history only accepts one active listener");return i.addEventListener(xu,d),l=y,()=>{i.removeEventListener(xu,d),l=null}},createHref(y){return e(i,y)},createURL:m,encodeLocation(y){let v=m(y);return{pathname:v.pathname,search:v.search,hash:v.hash}},push:f,replace:p,go(y){return o.go(y)}};return b}function _p(n,e=!1){let t="http://localhost";typeof window<"u"&&(t=window.location.origin!=="null"?window.location.origin:window.location.href),ue(t,"No window.location.(origin|href) available to create URL");let r=typeof n=="string"?n:Zt(n);return r=r.replace(/ $/,"%20"),!e&&r.startsWith("//")&&(r=t+r),new URL(r,t)}var di,wu=class{constructor(n){if(C1(this,di,new Map),n)for(let[e,t]of n)this.set(e,t)}get(n){if(Ja(this,di).has(n))return Ja(this,di).get(n);if(n.defaultValue!==void 0)return n.defaultValue;throw new Error("No value found for context")}set(n,e){Ja(this,di).set(n,e)}};di=new WeakMap;var A1=new Set(["lazy","caseSensitive","path","id","index","children"]);function M1(n){return A1.has(n)}var N1=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function D1(n){return N1.has(n)}function T1(n){return n.index===!0}function Ai(n,e,t=[],r={},i=!1){return n.map((s,o)=>{let a=[...t,String(o)],l=typeof s.id=="string"?s.id:a.join("-");if(ue(s.index!==!0||!s.children,"Cannot specify children on an index route"),ue(i||!r[l],`Found a route id collision on id "${l}". Route id's must be globally unique within Data Router usages`),T1(s)){let c={...s,id:l};return r[l]=ku(c,e(c)),c}else{let c={...s,id:l,children:void 0};return r[l]=ku(c,e(c)),s.children&&(c.children=Ai(s.children,e,a,r,i)),c}})}function ku(n,e){return Object.assign(n,{...e,...typeof e.lazy=="object"&&e.lazy!=null?{lazy:{...n.lazy,...e.lazy}}:{}})}function Sn(n,e,t="/"){return fi(n,e,t,!1)}function fi(n,e,t,r){let i=typeof e=="string"?$n(e):e,s=At(i.pathname||"/",t);if(s==null)return null;let o=Up(n);R1(o);let a=null;for(let l=0;a==null&&l<o.length;++l){let c=U1(s);a=W1(o[l],c,r)}return a}function E1(n,e){let{route:t,pathname:r,params:i}=n;return{id:t.id,pathname:r,params:i,data:e[t.id],loaderData:e[t.id],handle:t.handle}}function Up(n,e=[],t=[],r="",i=!1){let s=(o,a,l=i,c)=>{let h={relativePath:c===void 0?o.path||"":c,caseSensitive:o.caseSensitive===!0,childrenIndex:a,route:o};if(h.relativePath.startsWith("/")){if(!h.relativePath.startsWith(r)&&l)return;ue(h.relativePath.startsWith(r),`Absolute route path "${h.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),h.relativePath=h.relativePath.slice(r.length)}let d=Jt([r,h.relativePath]),f=t.concat(h);o.children&&o.children.length>0&&(ue(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Up(o.children,e,f,d,l)),!(o.path==null&&!o.index)&&e.push({path:d,score:z1(d,o.index),routesMeta:f})};return n.forEach((o,a)=>{if(o.path===""||!o.path?.includes("?"))s(o,a);else for(let l of Kp(o.path))s(o,a,!0,l)}),e}function Kp(n){let e=n.split("/");if(e.length===0)return[];let[t,...r]=e,i=t.endsWith("?"),s=t.replace(/\?$/,"");if(r.length===0)return i?[s,""]:[s];let o=Kp(r.join("/")),a=[];return a.push(...o.map(l=>l===""?s:[s,l].join("/"))),i&&a.push(...o),a.map(l=>n.startsWith("/")&&l===""?"/":l)}function R1(n){n.sort((e,t)=>e.score!==t.score?t.score-e.score:H1(e.routesMeta.map(r=>r.childrenIndex),t.routesMeta.map(r=>r.childrenIndex)))}var L1=/^:[\w-]+$/,I1=3,B1=2,$1=1,F1=10,V1=-2,Su=n=>n==="*";function z1(n,e){let t=n.split("/"),r=t.length;return t.some(Su)&&(r+=V1),e&&(r+=B1),t.filter(i=>!Su(i)).reduce((i,s)=>i+(L1.test(s)?I1:s===""?$1:F1),r)}function H1(n,e){return n.length===e.length&&n.slice(0,-1).every((r,i)=>r===e[i])?n[n.length-1]-e[e.length-1]:0}function W1(n,e,t=!1){let{routesMeta:r}=n,i={},s="/",o=[];for(let a=0;a<r.length;++a){let l=r[a],c=a===r.length-1,h=s==="/"?e:e.slice(s.length)||"/",d=Qo({path:l.relativePath,caseSensitive:l.caseSensitive,end:c},h),f=l.route;if(!d&&c&&t&&!r[r.length-1].route.index&&(d=Qo({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},h)),!d)return null;Object.assign(i,d.params),o.push({params:i,pathname:Jt([s,d.pathname]),pathnameBase:q1(Jt([s,d.pathnameBase])),route:f}),d.pathnameBase!=="/"&&(s=Jt([s,d.pathnameBase]))}return o}function Qo(n,e){typeof n=="string"&&(n={path:n,caseSensitive:!1,end:!0});let[t,r]=_1(n.path,n.caseSensitive,n.end),i=e.match(t);if(!i)return null;let s=i[0],o=s.replace(/(.)\/+$/,"$1"),a=i.slice(1);return{params:r.reduce((c,{paramName:h,isOptional:d},f)=>{if(h==="*"){let m=a[f]||"";o=s.slice(0,s.length-m.length).replace(/(.)\/+$/,"$1")}const p=a[f];return d&&!p?c[h]=void 0:c[h]=(p||"").replace(/%2F/g,"/"),c},{}),pathname:s,pathnameBase:o,pattern:n}}function _1(n,e=!1,t=!0){Re(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let r=[],i="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,a,l)=>(r.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(r.push({paramName:"*"}),i+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?i+="\\/*$":n!==""&&n!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,e?void 0:"i"),r]}function U1(n){try{return n.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return Re(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),n}}function At(n,e){if(e==="/")return n;if(!n.toLowerCase().startsWith(e.toLowerCase()))return null;let t=e.endsWith("/")?e.length-1:e.length,r=n.charAt(t);return r&&r!=="/"?null:n.slice(t)||"/"}function K1({basename:n,pathname:e}){return e==="/"?n:Jt([n,e])}var Gp=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ja=n=>Gp.test(n);function G1(n,e="/"){let{pathname:t,search:r="",hash:i=""}=typeof n=="string"?$n(n):n,s;if(t)if(ja(t))s=t;else{if(t.includes("//")){let o=t;t=t.replace(/\/\/+/g,"/"),Re(!1,`Pathnames cannot have embedded double slashes - normalizing ${o} -> ${t}`)}t.startsWith("/")?s=Cu(t.substring(1),"/"):s=Cu(t,e)}else s=e;return{pathname:s,search:Y1(r),hash:Q1(i)}}function Cu(n,e){let t=e.replace(/\/+$/,"").split("/");return n.split("/").forEach(i=>{i===".."?t.length>1&&t.pop():i!=="."&&t.push(i)}),t.length>1?t.join("/"):"/"}function Xa(n,e,t,r){return`Cannot include a '${n}' character in a manually specified \`to.${e}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function qp(n){return n.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function Oa(n){let e=qp(n);return e.map((t,r)=>r===e.length-1?t.pathname:t.pathnameBase)}function Pa(n,e,t,r=!1){let i;typeof n=="string"?i=$n(n):(i={...n},ue(!i.pathname||!i.pathname.includes("?"),Xa("?","pathname","search",i)),ue(!i.pathname||!i.pathname.includes("#"),Xa("#","pathname","hash",i)),ue(!i.search||!i.search.includes("#"),Xa("#","search","hash",i)));let s=n===""||i.pathname==="",o=s?"/":i.pathname,a;if(o==null)a=t;else{let d=e.length-1;if(!r&&o.startsWith("..")){let f=o.split("/");for(;f[0]==="..";)f.shift(),d-=1;i.pathname=f.join("/")}a=d>=0?e[d]:"/"}let l=G1(i,a),c=o&&o!=="/"&&o.endsWith("/"),h=(s||o===".")&&t.endsWith("/");return!l.pathname.endsWith("/")&&(c||h)&&(l.pathname+="/"),l}var Jt=n=>n.join("/").replace(/\/\/+/g,"/"),q1=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),Y1=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,Q1=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,Es=class{constructor(n,e,t,r=!1){this.status=n,this.statusText=e||"",this.internal=r,t instanceof Error?(this.data=t.toString(),this.error=t):this.data=t}};function Mi(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function Rs(n){return n.map(e=>e.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Yp=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Qp(n,e){let t=n;if(typeof t!="string"||!Gp.test(t))return{absoluteURL:void 0,isExternal:!1,to:t};let r=t,i=!1;if(Yp)try{let s=new URL(window.location.href),o=t.startsWith("//")?new URL(s.protocol+t):new URL(t),a=At(o.pathname,e);o.origin===s.origin&&a!=null?t=a+o.search+o.hash:i=!0}catch{Re(!1,`<Link to="${t}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:t}}var Pn=Symbol("Uninstrumented");function J1(n,e){let t={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};n.forEach(i=>i({id:e.id,index:e.index,path:e.path,instrument(s){let o=Object.keys(t);for(let a of o)s[a]&&t[a].push(s[a])}}));let r={};if(typeof e.lazy=="function"&&t.lazy.length>0){let i=br(t.lazy,e.lazy,()=>{});i&&(r.lazy=i)}if(typeof e.lazy=="object"){let i=e.lazy;["middleware","loader","action"].forEach(s=>{let o=i[s],a=t[`lazy.${s}`];if(typeof o=="function"&&a.length>0){let l=br(a,o,()=>{});l&&(r.lazy=Object.assign(r.lazy||{},{[s]:l}))}})}return["loader","action"].forEach(i=>{let s=e[i];if(typeof s=="function"&&t[i].length>0){let o=s[Pn]??s,a=br(t[i],o,(...l)=>ju(l[0]));a&&(a[Pn]=o,r[i]=a)}}),e.middleware&&e.middleware.length>0&&t.middleware.length>0&&(r.middleware=e.middleware.map(i=>{let s=i[Pn]??i,o=br(t.middleware,s,(...a)=>ju(a[0]));return o?(o[Pn]=s,o):i})),r}function X1(n,e){let t={navigate:[],fetch:[]};if(e.forEach(r=>r({instrument(i){let s=Object.keys(i);for(let o of s)i[o]&&t[o].push(i[o])}})),t.navigate.length>0){let r=n.navigate[Pn]??n.navigate,i=br(t.navigate,r,(...s)=>{let[o,a]=s;return{to:typeof o=="number"||typeof o=="string"?o:o?Zt(o):".",...Ou(n,a??{})}});i&&(i[Pn]=r,n.navigate=i)}if(t.fetch.length>0){let r=n.fetch[Pn]??n.fetch,i=br(t.fetch,r,(...s)=>{let[o,,a,l]=s;return{href:a??".",fetcherKey:o,...Ou(n,l??{})}});i&&(i[Pn]=r,n.fetch=i)}return n}function br(n,e,t){return n.length===0?null:async(...r)=>{let i=await Jp(n,t(...r),()=>e(...r),n.length-1);if(i.type==="error")throw i.value;return i.value}}async function Jp(n,e,t,r){let i=n[r],s;if(i){let o,a=async()=>(o?console.error("You cannot call instrumented handlers more than once"):o=Jp(n,e,t,r-1),s=await o,ue(s,"Expected a result"),s.type==="error"&&s.value instanceof Error?{status:"error",error:s.value}:{status:"success",error:void 0});try{await i(a,e)}catch(l){console.error("An instrumentation function threw an error:",l)}o||await a(),await o}else try{s={type:"success",value:await t()}}catch(o){s={type:"error",value:o}}return s||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function ju(n){let{request:e,context:t,params:r,unstable_pattern:i}=n;return{request:Z1(e),params:{...r},unstable_pattern:i,context:ey(t)}}function Ou(n,e){return{currentUrl:Zt(n.state.location),..."formMethod"in e?{formMethod:e.formMethod}:{},..."formEncType"in e?{formEncType:e.formEncType}:{},..."formData"in e?{formData:e.formData}:{},..."body"in e?{body:e.body}:{}}}function Z1(n){return{method:n.method,url:n.url,headers:{get:(...e)=>n.headers.get(...e)}}}function ey(n){if(ny(n)){let e={...n};return Object.freeze(e),e}else return{get:e=>n.get(e)}}var ty=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function ny(n){if(n===null||typeof n!="object")return!1;const e=Object.getPrototypeOf(n);return e===Object.prototype||e===null||Object.getOwnPropertyNames(e).sort().join("\0")===ty}var Xp=["POST","PUT","PATCH","DELETE"],ry=new Set(Xp),iy=["GET",...Xp],sy=new Set(iy),Zp=new Set([301,302,303,307,308]),oy=new Set([307,308]),Za={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ay={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ei={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},ly=n=>({hasErrorBoundary:!!n.hasErrorBoundary}),em="remix-router-transitions",tm=Symbol("ResetLoaderData");function cy(n){const e=n.window?n.window:typeof window<"u"?window:void 0,t=typeof e<"u"&&typeof e.document<"u"&&typeof e.document.createElement<"u";ue(n.routes.length>0,"You must provide a non-empty routes array to createRouter");let r=n.hydrationRouteProperties||[],i=n.mapRouteProperties||ly,s=i;if(n.unstable_instrumentations){let w=n.unstable_instrumentations;s=j=>({...i(j),...J1(w.map(A=>A.route).filter(Boolean),j)})}let o={},a=Ai(n.routes,s,void 0,o),l,c=n.basename||"/";c.startsWith("/")||(c=`/${c}`);let h=n.dataStrategy||py,d={...n.future},f=null,p=new Set,m=null,b=null,y=null,v=n.hydrationData!=null,k=Sn(a,n.history.location,c),S=!1,O=null,C;if(k==null&&!n.patchRoutesOnNavigation){let w=kt(404,{pathname:n.history.location.pathname}),{matches:j,route:A}=io(a);C=!0,k=j,O={[A.id]:w}}else if(k&&!n.hydrationData&&Zs(k,a,n.history.location.pathname).active&&(k=null),k)if(k.some(w=>w.route.lazy))C=!1;else if(!k.some(w=>ih(w.route)))C=!0;else{let w=n.hydrationData?n.hydrationData.loaderData:null,j=n.hydrationData?n.hydrationData.errors:null;if(j){let A=k.findIndex(I=>j[I.route.id]!==void 0);C=k.slice(0,A+1).every(I=>!oc(I.route,w,j))}else C=k.every(A=>!oc(A.route,w,j))}else{C=!1,k=[];let w=Zs(null,a,n.history.location.pathname);w.active&&w.matches&&(S=!0,k=w.matches)}let P,x={historyAction:n.history.action,location:n.history.location,matches:k,initialized:C,navigation:Za,restoreScrollPosition:n.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:n.hydrationData&&n.hydrationData.loaderData||{},actionData:n.hydrationData&&n.hydrationData.actionData||null,errors:n.hydrationData&&n.hydrationData.errors||O,fetchers:new Map,blockers:new Map},N="POP",D=null,L=!1,R,B=!1,G=new Map,V=null,$=!1,q=!1,he=new Set,W=new Map,Y=0,se=-1,le=new Map,oe=new Set,we=new Map,Me=new Map,Se=new Set,Je=new Map,Tt,Q=null;function Ae(){if(f=n.history.listen(({action:w,location:j,delta:A})=>{if(Tt){Tt(),Tt=void 0;return}Re(Je.size===0||A!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let I=du({currentLocation:x.location,nextLocation:j,historyAction:w});if(I&&A!=null){let F=new Promise(Z=>{Tt=Z});n.history.go(A*-1),Xs(I,{state:"blocked",location:j,proceed(){Xs(I,{state:"proceeding",proceed:void 0,reset:void 0,location:j}),F.then(()=>n.history.go(A))},reset(){let Z=new Map(x.blockers);Z.set(I,ei),E({blockers:Z})}}),D?.resolve(),D=null;return}return ft(w,j)}),t){Ty(e,G);let w=()=>Ey(e,G);e.addEventListener("pagehide",w),V=()=>e.removeEventListener("pagehide",w)}return x.initialized||ft("POP",x.location,{initialHydration:!0}),P}function ve(){f&&f(),V&&V(),p.clear(),R&&R.abort(),x.fetchers.forEach((w,j)=>qa(j)),x.blockers.forEach((w,j)=>uu(j))}function Le(w){return p.add(w),()=>p.delete(w)}function E(w,j={}){w.matches&&(w.matches=w.matches.map(F=>{let Z=o[F.route.id],J=F.route;return J.element!==Z.element||J.errorElement!==Z.errorElement||J.hydrateFallbackElement!==Z.hydrateFallbackElement?{...F,route:Z}:F})),x={...x,...w};let A=[],I=[];x.fetchers.forEach((F,Z)=>{F.state==="idle"&&(Se.has(Z)?A.push(Z):I.push(Z))}),Se.forEach(F=>{!x.fetchers.has(F)&&!W.has(F)&&A.push(F)}),[...p].forEach(F=>F(x,{deletedFetchers:A,newErrors:w.errors??null,viewTransitionOpts:j.viewTransitionOpts,flushSync:j.flushSync===!0})),A.forEach(F=>qa(F)),I.forEach(F=>x.fetchers.delete(F))}function K(w,j,{flushSync:A}={}){let I=x.actionData!=null&&x.navigation.formMethod!=null&&Ze(x.navigation.formMethod)&&x.navigation.state==="loading"&&w.state?._isRedirect!==!0,F;j.actionData?Object.keys(j.actionData).length>0?F=j.actionData:F=null:I?F=x.actionData:F=null;let Z=j.loaderData?Iu(x.loaderData,j.loaderData,j.matches||[],j.errors):x.loaderData,J=x.blockers;J.size>0&&(J=new Map(J),J.forEach((ie,te)=>J.set(te,ei)));let X=$?!1:pu(w,j.matches||x.matches),ee=L===!0||x.navigation.formMethod!=null&&Ze(x.navigation.formMethod)&&w.state?._isRedirect!==!0;l&&(a=l,l=void 0),$||N==="POP"||(N==="PUSH"?n.history.push(w,w.state):N==="REPLACE"&&n.history.replace(w,w.state));let re;if(N==="POP"){let ie=G.get(x.location.pathname);ie&&ie.has(w.pathname)?re={currentLocation:x.location,nextLocation:w}:G.has(w.pathname)&&(re={currentLocation:w,nextLocation:x.location})}else if(B){let ie=G.get(x.location.pathname);ie?ie.add(w.pathname):(ie=new Set([w.pathname]),G.set(x.location.pathname,ie)),re={currentLocation:x.location,nextLocation:w}}E({...j,actionData:F,loaderData:Z,historyAction:N,location:w,initialized:!0,navigation:Za,revalidation:"idle",restoreScrollPosition:X,preventScrollReset:ee,blockers:J},{viewTransitionOpts:re,flushSync:A===!0}),N="POP",L=!1,B=!1,$=!1,q=!1,D?.resolve(),D=null,Q?.resolve(),Q=null}async function ce(w,j){if(D?.resolve(),D=null,typeof w=="number"){D||(D=Vu());let ye=D.promise;return n.history.go(w),ye}let A=sc(x.location,x.matches,c,w,j?.fromRouteId,j?.relative),{path:I,submission:F,error:Z}=Pu(!1,A,j),J=x.location,X=Pi(x.location,I,j&&j.state);X={...X,...n.history.encodeLocation(X)};let ee=j&&j.replace!=null?j.replace:void 0,re="PUSH";ee===!0?re="REPLACE":ee===!1||F!=null&&Ze(F.formMethod)&&F.formAction===x.location.pathname+x.location.search&&(re="REPLACE");let ie=j&&"preventScrollReset"in j?j.preventScrollReset===!0:void 0,te=(j&&j.flushSync)===!0,be=du({currentLocation:J,nextLocation:X,historyAction:re});if(be){Xs(be,{state:"blocked",location:X,proceed(){Xs(be,{state:"proceeding",proceed:void 0,reset:void 0,location:X}),ce(w,j)},reset(){let ye=new Map(x.blockers);ye.set(be,ei),E({blockers:ye})}});return}await ft(re,X,{submission:F,pendingError:Z,preventScrollReset:ie,replace:j&&j.replace,enableViewTransition:j&&j.viewTransition,flushSync:te,callSiteDefaultShouldRevalidate:j&&j.unstable_defaultShouldRevalidate})}function De(){Q||(Q=Vu()),Ga(),E({revalidation:"loading"});let w=Q.promise;return x.navigation.state==="submitting"?w:x.navigation.state==="idle"?(ft(x.historyAction,x.location,{startUninterruptedRevalidation:!0}),w):(ft(N||x.historyAction,x.navigation.location,{overrideNavigation:x.navigation,enableViewTransition:B===!0}),w)}async function ft(w,j,A){R&&R.abort(),R=null,N=w,$=(A&&A.startUninterruptedRevalidation)===!0,c1(x.location,x.matches),L=(A&&A.preventScrollReset)===!0,B=(A&&A.enableViewTransition)===!0;let I=l||a,F=A&&A.overrideNavigation,Z=A?.initialHydration&&x.matches&&x.matches.length>0&&!S?x.matches:Sn(I,j,c),J=(A&&A.flushSync)===!0;if(Z&&x.initialized&&!q&&ky(x.location,j)&&!(A&&A.submission&&Ze(A.submission.formMethod))){K(j,{matches:Z},{flushSync:J});return}let X=Zs(Z,I,j.pathname);if(X.active&&X.matches&&(Z=X.matches),!Z){let{error:_e,notFoundMatches:rt,route:ke}=Ya(j.pathname);K(j,{matches:rt,loaderData:{},errors:{[ke.id]:_e}},{flushSync:J});return}R=new AbortController;let ee=pr(n.history,j,R.signal,A&&A.submission),re=n.getContext?await n.getContext():new wu,ie;if(A&&A.pendingError)ie=[Cn(Z).route.id,{type:"error",error:A.pendingError}];else if(A&&A.submission&&Ze(A.submission.formMethod)){let _e=await Ka(ee,j,A.submission,Z,re,X.active,A&&A.initialHydration===!0,{replace:A.replace,flushSync:J});if(_e.shortCircuited)return;if(_e.pendingActionResult){let[rt,ke]=_e.pendingActionResult;if(bt(ke)&&Mi(ke.error)&&ke.error.status===404){R=null,K(j,{matches:_e.matches,loaderData:{},errors:{[rt]:ke.error}});return}}Z=_e.matches||Z,ie=_e.pendingActionResult,F=el(j,A.submission),J=!1,X.active=!1,ee=pr(n.history,ee.url,ee.signal)}let{shortCircuited:te,matches:be,loaderData:ye,errors:Ke}=await Qs(ee,j,Z,re,X.active,F,A&&A.submission,A&&A.fetcherSubmission,A&&A.replace,A&&A.initialHydration===!0,J,ie,A&&A.callSiteDefaultShouldRevalidate);te||(R=null,K(j,{matches:be||Z,...Bu(ie),loaderData:ye,errors:Ke}))}async function Ka(w,j,A,I,F,Z,J,X={}){Ga();let ee=Ny(j,A);if(E({navigation:ee},{flushSync:X.flushSync===!0}),Z){let te=await eo(I,j.pathname,w.signal);if(te.type==="aborted")return{shortCircuited:!0};if(te.type==="error"){if(te.partialMatches.length===0){let{matches:ye,route:Ke}=io(a);return{matches:ye,pendingActionResult:[Ke.id,{type:"error",error:te.error}]}}let be=Cn(te.partialMatches).route.id;return{matches:te.partialMatches,pendingActionResult:[be,{type:"error",error:te.error}]}}else if(te.matches)I=te.matches;else{let{notFoundMatches:be,error:ye,route:Ke}=Ya(j.pathname);return{matches:be,pendingActionResult:[Ke.id,{type:"error",error:ye}]}}}let re,ie=Bo(I,j);if(!ie.route.action&&!ie.route.lazy)re={type:"error",error:kt(405,{method:w.method,pathname:j.pathname,routeId:ie.route.id})};else{let te=Sr(s,o,w,I,ie,J?[]:r,F),be=await Jr(w,te,F,null);if(re=be[ie.route.id],!re){for(let ye of I)if(be[ye.route.id]){re=be[ye.route.id];break}}if(w.signal.aborted)return{shortCircuited:!0}}if(Jn(re)){let te;return X&&X.replace!=null?te=X.replace:te=Eu(re.response.headers.get("Location"),new URL(w.url),c)===x.location.pathname+x.location.search,await Hn(w,re,!0,{submission:A,replace:te}),{shortCircuited:!0}}if(bt(re)){let te=Cn(I,ie.route.id);return(X&&X.replace)!==!0&&(N="PUSH"),{matches:I,pendingActionResult:[te.route.id,re,ie.route.id]}}return{matches:I,pendingActionResult:[ie.route.id,re]}}async function Qs(w,j,A,I,F,Z,J,X,ee,re,ie,te,be){let ye=Z||el(j,J),Ke=J||X||Fu(ye),_e=!$&&!re;if(F){if(_e){let Xe=Qr(te);E({navigation:ye,...Xe!==void 0?{actionData:Xe}:{}},{flushSync:ie})}let ge=await eo(A,j.pathname,w.signal);if(ge.type==="aborted")return{shortCircuited:!0};if(ge.type==="error"){if(ge.partialMatches.length===0){let{matches:ur,route:Un}=io(a);return{matches:ur,loaderData:{},errors:{[Un.id]:ge.error}}}let Xe=Cn(ge.partialMatches).route.id;return{matches:ge.partialMatches,loaderData:{},errors:{[Xe]:ge.error}}}else if(ge.matches)A=ge.matches;else{let{error:Xe,notFoundMatches:ur,route:Un}=Ya(j.pathname);return{matches:ur,loaderData:{},errors:{[Un.id]:Xe}}}}let rt=l||a,{dsMatches:ke,revalidatingFetchers:wt}=Au(w,I,s,o,n.history,x,A,Ke,j,re?[]:r,re===!0,q,he,Se,we,oe,rt,c,n.patchRoutesOnNavigation!=null,te,be);if(se=++Y,!n.dataStrategy&&!ke.some(ge=>ge.shouldLoad)&&!ke.some(ge=>ge.route.middleware&&ge.route.middleware.length>0)&&wt.length===0){let ge=cu();return K(j,{matches:A,loaderData:{},errors:te&&bt(te[1])?{[te[0]]:te[1].error}:null,...Bu(te),...ge?{fetchers:new Map(x.fetchers)}:{}},{flushSync:ie}),{shortCircuited:!0}}if(_e){let ge={};if(!F){ge.navigation=ye;let Xe=Qr(te);Xe!==void 0&&(ge.actionData=Xe)}wt.length>0&&(ge.fetchers=Js(wt)),E(ge,{flushSync:ie})}wt.forEach(ge=>{an(ge.key),ge.controller&&W.set(ge.key,ge.controller)});let Wn=()=>wt.forEach(ge=>an(ge.key));R&&R.signal.addEventListener("abort",Wn);let{loaderResults:Xr,fetcherResults:yn}=await ou(ke,wt,w,I);if(w.signal.aborted)return{shortCircuited:!0};R&&R.signal.removeEventListener("abort",Wn),wt.forEach(ge=>W.delete(ge.key));let Vt=so(Xr);if(Vt)return await Hn(w,Vt.result,!0,{replace:ee}),{shortCircuited:!0};if(Vt=so(yn),Vt)return oe.add(Vt.key),await Hn(w,Vt.result,!0,{replace:ee}),{shortCircuited:!0};let{loaderData:Qa,errors:Zr}=Lu(x,A,Xr,te,wt,yn);re&&x.errors&&(Zr={...x.errors,...Zr});let _n=cu(),to=hu(se),no=_n||to||wt.length>0;return{matches:A,loaderData:Qa,errors:Zr,...no?{fetchers:new Map(x.fetchers)}:{}}}function Qr(w){if(w&&!bt(w[1]))return{[w[0]]:w[1].data};if(x.actionData)return Object.keys(x.actionData).length===0?null:x.actionData}function Js(w){return w.forEach(j=>{let A=x.fetchers.get(j.key),I=ti(void 0,A?A.data:void 0);x.fetchers.set(j.key,I)}),new Map(x.fetchers)}async function We(w,j,A,I){an(w);let F=(I&&I.flushSync)===!0,Z=l||a,J=sc(x.location,x.matches,c,A,j,I?.relative),X=Sn(Z,J,c),ee=Zs(X,Z,J);if(ee.active&&ee.matches&&(X=ee.matches),!X){on(w,j,kt(404,{pathname:J}),{flushSync:F});return}let{path:re,submission:ie,error:te}=Pu(!0,J,I);if(te){on(w,j,te,{flushSync:F});return}let be=n.getContext?await n.getContext():new wu,ye=(I&&I.preventScrollReset)===!0;if(ie&&Ze(ie.formMethod)){await r1(w,j,re,X,be,ee.active,F,ye,ie,I&&I.unstable_defaultShouldRevalidate);return}we.set(w,{routeId:j,path:re}),await i1(w,j,re,X,be,ee.active,F,ye,ie)}async function r1(w,j,A,I,F,Z,J,X,ee,re){Ga(),we.delete(w);let ie=x.fetchers.get(w);sn(w,Dy(ee,ie),{flushSync:J});let te=new AbortController,be=pr(n.history,A,te.signal,ee);if(Z){let Te=await eo(I,new URL(be.url).pathname,be.signal,w);if(Te.type==="aborted")return;if(Te.type==="error"){on(w,j,Te.error,{flushSync:J});return}else if(Te.matches)I=Te.matches;else{on(w,j,kt(404,{pathname:A}),{flushSync:J});return}}let ye=Bo(I,A);if(!ye.route.action&&!ye.route.lazy){let Te=kt(405,{method:ee.formMethod,pathname:A,routeId:j});on(w,j,Te,{flushSync:J});return}W.set(w,te);let Ke=Y,_e=Sr(s,o,be,I,ye,r,F),rt=await Jr(be,_e,F,w),ke=rt[ye.route.id];if(!ke){for(let Te of _e)if(rt[Te.route.id]){ke=rt[Te.route.id];break}}if(be.signal.aborted){W.get(w)===te&&W.delete(w);return}if(Se.has(w)){if(Jn(ke)||bt(ke)){sn(w,ln(void 0));return}}else{if(Jn(ke))if(W.delete(w),se>Ke){sn(w,ln(void 0));return}else return oe.add(w),sn(w,ti(ee)),Hn(be,ke,!1,{fetcherSubmission:ee,preventScrollReset:X});if(bt(ke)){on(w,j,ke.error);return}}let wt=x.navigation.location||x.location,Wn=pr(n.history,wt,te.signal),Xr=l||a,yn=x.navigation.state!=="idle"?Sn(Xr,x.navigation.location,c):x.matches;ue(yn,"Didn't find any matches after fetcher action");let Vt=++Y;le.set(w,Vt);let Qa=ti(ee,ke.data);x.fetchers.set(w,Qa);let{dsMatches:Zr,revalidatingFetchers:_n}=Au(Wn,F,s,o,n.history,x,yn,ee,wt,r,!1,q,he,Se,we,oe,Xr,c,n.patchRoutesOnNavigation!=null,[ye.route.id,ke],re);_n.filter(Te=>Te.key!==w).forEach(Te=>{let ro=Te.key,gu=x.fetchers.get(ro),d1=ti(void 0,gu?gu.data:void 0);x.fetchers.set(ro,d1),an(ro),Te.controller&&W.set(ro,Te.controller)}),E({fetchers:new Map(x.fetchers)});let to=()=>_n.forEach(Te=>an(Te.key));te.signal.addEventListener("abort",to);let{loaderResults:no,fetcherResults:ge}=await ou(Zr,_n,Wn,F);if(te.signal.aborted)return;if(te.signal.removeEventListener("abort",to),le.delete(w),W.delete(w),_n.forEach(Te=>W.delete(Te.key)),x.fetchers.has(w)){let Te=ln(ke.data);x.fetchers.set(w,Te)}let Xe=so(no);if(Xe)return Hn(Wn,Xe.result,!1,{preventScrollReset:X});if(Xe=so(ge),Xe)return oe.add(Xe.key),Hn(Wn,Xe.result,!1,{preventScrollReset:X});let{loaderData:ur,errors:Un}=Lu(x,yn,no,void 0,_n,ge);hu(Vt),x.navigation.state==="loading"&&Vt>se?(ue(N,"Expected pending action"),R&&R.abort(),K(x.navigation.location,{matches:yn,loaderData:ur,errors:Un,fetchers:new Map(x.fetchers)})):(E({errors:Un,loaderData:Iu(x.loaderData,ur,yn,Un),fetchers:new Map(x.fetchers)}),q=!1)}async function i1(w,j,A,I,F,Z,J,X,ee){let re=x.fetchers.get(w);sn(w,ti(ee,re?re.data:void 0),{flushSync:J});let ie=new AbortController,te=pr(n.history,A,ie.signal);if(Z){let ke=await eo(I,new URL(te.url).pathname,te.signal,w);if(ke.type==="aborted")return;if(ke.type==="error"){on(w,j,ke.error,{flushSync:J});return}else if(ke.matches)I=ke.matches;else{on(w,j,kt(404,{pathname:A}),{flushSync:J});return}}let be=Bo(I,A);W.set(w,ie);let ye=Y,Ke=Sr(s,o,te,I,be,r,F),rt=(await Jr(te,Ke,F,w))[be.route.id];if(W.get(w)===ie&&W.delete(w),!te.signal.aborted){if(Se.has(w)){sn(w,ln(void 0));return}if(Jn(rt))if(se>ye){sn(w,ln(void 0));return}else{oe.add(w),await Hn(te,rt,!1,{preventScrollReset:X});return}if(bt(rt)){on(w,j,rt.error);return}sn(w,ln(rt.data))}}async function Hn(w,j,A,{submission:I,fetcherSubmission:F,preventScrollReset:Z,replace:J}={}){A||(D?.resolve(),D=null),j.response.headers.has("X-Remix-Revalidate")&&(q=!0);let X=j.response.headers.get("Location");ue(X,"Expected a Location header on the redirect Response"),X=Eu(X,new URL(w.url),c);let ee=Pi(x.location,X,{_isRedirect:!0});if(t){let Ke=!1;if(j.response.headers.has("X-Remix-Reload-Document"))Ke=!0;else if(ja(X)){const _e=_p(X,!0);Ke=_e.origin!==e.location.origin||At(_e.pathname,c)==null}if(Ke){J?e.location.replace(X):e.location.assign(X);return}}R=null;let re=J===!0||j.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:ie,formAction:te,formEncType:be}=x.navigation;!I&&!F&&ie&&te&&be&&(I=Fu(x.navigation));let ye=I||F;if(oy.has(j.response.status)&&ye&&Ze(ye.formMethod))await ft(re,ee,{submission:{...ye,formAction:X},preventScrollReset:Z||L,enableViewTransition:A?B:void 0});else{let Ke=el(ee,I);await ft(re,ee,{overrideNavigation:Ke,fetcherSubmission:F,preventScrollReset:Z||L,enableViewTransition:A?B:void 0})}}async function Jr(w,j,A,I){let F,Z={};try{F=await gy(h,w,j,I,A,!1)}catch(J){return j.filter(X=>X.shouldLoad).forEach(X=>{Z[X.route.id]={type:"error",error:J}}),Z}if(w.signal.aborted)return Z;if(!Ze(w.method))for(let J of j){if(F[J.route.id]?.type==="error")break;!F.hasOwnProperty(J.route.id)&&!x.loaderData.hasOwnProperty(J.route.id)&&(!x.errors||!x.errors.hasOwnProperty(J.route.id))&&J.shouldCallHandler()&&(F[J.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${J.route.id}`)})}for(let[J,X]of Object.entries(F))if(Oy(X)){let ee=X.result;Z[J]={type:"redirect",response:vy(ee,w,J,j,c)}}else Z[J]=await xy(X);return Z}async function ou(w,j,A,I){let F=Jr(A,w,I,null),Z=Promise.all(j.map(async ee=>{if(ee.matches&&ee.match&&ee.request&&ee.controller){let ie=(await Jr(ee.request,ee.matches,I,ee.key))[ee.match.route.id];return{[ee.key]:ie}}else return Promise.resolve({[ee.key]:{type:"error",error:kt(404,{pathname:ee.path})}})})),J=await F,X=(await Z).reduce((ee,re)=>Object.assign(ee,re),{});return{loaderResults:J,fetcherResults:X}}function Ga(){q=!0,we.forEach((w,j)=>{W.has(j)&&he.add(j),an(j)})}function sn(w,j,A={}){x.fetchers.set(w,j),E({fetchers:new Map(x.fetchers)},{flushSync:(A&&A.flushSync)===!0})}function on(w,j,A,I={}){let F=Cn(x.matches,j);qa(w),E({errors:{[F.route.id]:A},fetchers:new Map(x.fetchers)},{flushSync:(I&&I.flushSync)===!0})}function au(w){return Me.set(w,(Me.get(w)||0)+1),Se.has(w)&&Se.delete(w),x.fetchers.get(w)||ay}function s1(w,j){an(w,j?.reason),sn(w,ln(null))}function qa(w){let j=x.fetchers.get(w);W.has(w)&&!(j&&j.state==="loading"&&le.has(w))&&an(w),we.delete(w),le.delete(w),oe.delete(w),Se.delete(w),he.delete(w),x.fetchers.delete(w)}function o1(w){let j=(Me.get(w)||0)-1;j<=0?(Me.delete(w),Se.add(w)):Me.set(w,j),E({fetchers:new Map(x.fetchers)})}function an(w,j){let A=W.get(w);A&&(A.abort(j),W.delete(w))}function lu(w){for(let j of w){let A=au(j),I=ln(A.data);x.fetchers.set(j,I)}}function cu(){let w=[],j=!1;for(let A of oe){let I=x.fetchers.get(A);ue(I,`Expected fetcher: ${A}`),I.state==="loading"&&(oe.delete(A),w.push(A),j=!0)}return lu(w),j}function hu(w){let j=[];for(let[A,I]of le)if(I<w){let F=x.fetchers.get(A);ue(F,`Expected fetcher: ${A}`),F.state==="loading"&&(an(A),le.delete(A),j.push(A))}return lu(j),j.length>0}function a1(w,j){let A=x.blockers.get(w)||ei;return Je.get(w)!==j&&Je.set(w,j),A}function uu(w){x.blockers.delete(w),Je.delete(w)}function Xs(w,j){let A=x.blockers.get(w)||ei;ue(A.state==="unblocked"&&j.state==="blocked"||A.state==="blocked"&&j.state==="blocked"||A.state==="blocked"&&j.state==="proceeding"||A.state==="blocked"&&j.state==="unblocked"||A.state==="proceeding"&&j.state==="unblocked",`Invalid blocker state transition: ${A.state} -> ${j.state}`);let I=new Map(x.blockers);I.set(w,j),E({blockers:I})}function du({currentLocation:w,nextLocation:j,historyAction:A}){if(Je.size===0)return;Je.size>1&&Re(!1,"A router only supports one blocker at a time");let I=Array.from(Je.entries()),[F,Z]=I[I.length-1],J=x.blockers.get(F);if(!(J&&J.state==="proceeding")&&Z({currentLocation:w,nextLocation:j,historyAction:A}))return F}function Ya(w){let j=kt(404,{pathname:w}),A=l||a,{matches:I,route:F}=io(A);return{notFoundMatches:I,route:F,error:j}}function l1(w,j,A){if(m=w,y=j,b=A||null,!v&&x.navigation===Za){v=!0;let I=pu(x.location,x.matches);I!=null&&E({restoreScrollPosition:I})}return()=>{m=null,y=null,b=null}}function fu(w,j){return b&&b(w,j.map(I=>E1(I,x.loaderData)))||w.key}function c1(w,j){if(m&&y){let A=fu(w,j);m[A]=y()}}function pu(w,j){if(m){let A=fu(w,j),I=m[A];if(typeof I=="number")return I}return null}function Zs(w,j,A){if(n.patchRoutesOnNavigation)if(w){if(Object.keys(w[0].params).length>0)return{active:!0,matches:fi(j,A,c,!0)}}else return{active:!0,matches:fi(j,A,c,!0)||[]};return{active:!1,matches:null}}async function eo(w,j,A,I){if(!n.patchRoutesOnNavigation)return{type:"success",matches:w};let F=w;for(;;){let Z=l==null,J=l||a,X=o;try{await n.patchRoutesOnNavigation({signal:A,path:j,matches:F,fetcherKey:I,patch:(ie,te)=>{A.aborted||Mu(ie,te,J,X,s,!1)}})}catch(ie){return{type:"error",error:ie,partialMatches:F}}finally{Z&&!A.aborted&&(a=[...a])}if(A.aborted)return{type:"aborted"};let ee=Sn(J,j,c),re=null;if(ee){if(Object.keys(ee[0].params).length===0)return{type:"success",matches:ee};if(re=fi(J,j,c,!0),!(re&&F.length<re.length&&mu(F,re.slice(0,F.length))))return{type:"success",matches:ee}}if(re||(re=fi(J,j,c,!0)),!re||mu(F,re))return{type:"success",matches:null};F=re}}function mu(w,j){return w.length===j.length&&w.every((A,I)=>A.route.id===j[I].route.id)}function h1(w){o={},l=Ai(w,s,void 0,o)}function u1(w,j,A=!1){let I=l==null;Mu(w,j,l||a,o,s,A),I&&(a=[...a],E({}))}return P={get basename(){return c},get future(){return d},get state(){return x},get routes(){return a},get window(){return e},initialize:Ae,subscribe:Le,enableScrollRestoration:l1,navigate:ce,fetch:We,revalidate:De,createHref:w=>n.history.createHref(w),encodeLocation:w=>n.history.encodeLocation(w),getFetcher:au,resetFetcher:s1,deleteFetcher:o1,dispose:ve,getBlocker:a1,deleteBlocker:uu,patchRoutes:u1,_internalFetchControllers:W,_internalSetRoutes:h1,_internalSetStateDoNotUseOrYouWillBreakYourApp(w){E(w)}},n.unstable_instrumentations&&(P=X1(P,n.unstable_instrumentations.map(w=>w.router).filter(Boolean))),P}function hy(n){return n!=null&&("formData"in n&&n.formData!=null||"body"in n&&n.body!==void 0)}function sc(n,e,t,r,i,s){let o,a;if(i){o=[];for(let c of e)if(o.push(c),c.route.id===i){a=c;break}}else o=e,a=e[e.length-1];let l=Pa(r||".",Oa(o),At(n.pathname,t)||n.pathname,s==="path");if(r==null&&(l.search=n.search,l.hash=n.hash),(r==null||r===""||r===".")&&a){let c=oh(l.search);if(a.route.index&&!c)l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index";else if(!a.route.index&&c){let h=new URLSearchParams(l.search),d=h.getAll("index");h.delete("index"),d.filter(p=>p).forEach(p=>h.append("index",p));let f=h.toString();l.search=f?`?${f}`:""}}return t!=="/"&&(l.pathname=K1({basename:t,pathname:l.pathname})),Zt(l)}function Pu(n,e,t){if(!t||!hy(t))return{path:e};if(t.formMethod&&!My(t.formMethod))return{path:e,error:kt(405,{method:t.formMethod})};let r=()=>({path:e,error:kt(400,{type:"invalid-body"})}),s=(t.formMethod||"get").toUpperCase(),o=am(e);if(t.body!==void 0){if(t.formEncType==="text/plain"){if(!Ze(s))return r();let d=typeof t.body=="string"?t.body:t.body instanceof FormData||t.body instanceof URLSearchParams?Array.from(t.body.entries()).reduce((f,[p,m])=>`${f}${p}=${m}
19
- `,""):String(t.body);return{path:e,submission:{formMethod:s,formAction:o,formEncType:t.formEncType,formData:void 0,json:void 0,text:d}}}else if(t.formEncType==="application/json"){if(!Ze(s))return r();try{let d=typeof t.body=="string"?JSON.parse(t.body):t.body;return{path:e,submission:{formMethod:s,formAction:o,formEncType:t.formEncType,formData:void 0,json:d,text:void 0}}}catch{return r()}}}ue(typeof FormData=="function","FormData is not available in this environment");let a,l;if(t.formData)a=lc(t.formData),l=t.formData;else if(t.body instanceof FormData)a=lc(t.body),l=t.body;else if(t.body instanceof URLSearchParams)a=t.body,l=Ru(a);else if(t.body==null)a=new URLSearchParams,l=new FormData;else try{a=new URLSearchParams(t.body),l=Ru(a)}catch{return r()}let c={formMethod:s,formAction:o,formEncType:t&&t.formEncType||"application/x-www-form-urlencoded",formData:l,json:void 0,text:void 0};if(Ze(c.formMethod))return{path:e,submission:c};let h=$n(e);return n&&h.search&&oh(h.search)&&a.append("index",""),h.search=`?${a}`,{path:Zt(h),submission:c}}function Au(n,e,t,r,i,s,o,a,l,c,h,d,f,p,m,b,y,v,k,S,O){let C=S?bt(S[1])?S[1].error:S[1].data:void 0,P=i.createURL(s.location),x=i.createURL(l),N;if(h&&s.errors){let $=Object.keys(s.errors)[0];N=o.findIndex(q=>q.route.id===$)}else if(S&&bt(S[1])){let $=S[0];N=o.findIndex(q=>q.route.id===$)-1}let D=S?S[1].statusCode:void 0,L=D&&D>=400,R={currentUrl:P,currentParams:s.matches[0]?.params||{},nextUrl:x,nextParams:o[0].params,...a,actionResult:C,actionStatus:D},B=Rs(o),G=o.map(($,q)=>{let{route:he}=$,W=null;if(N!=null&&q>N?W=!1:he.lazy?W=!0:ih(he)?h?W=oc(he,s.loaderData,s.errors):uy(s.loaderData,s.matches[q],$)&&(W=!0):W=!1,W!==null)return ac(t,r,n,B,$,c,e,W);let Y=!1;typeof O=="boolean"?Y=O:L?Y=!1:(d||P.pathname+P.search===x.pathname+x.search||P.search!==x.search||dy(s.matches[q],$))&&(Y=!0);let se={...R,defaultShouldRevalidate:Y},le=yi($,se);return ac(t,r,n,B,$,c,e,le,se,O)}),V=[];return m.forEach(($,q)=>{if(h||!o.some(Me=>Me.route.id===$.routeId)||p.has(q))return;let he=s.fetchers.get(q),W=he&&he.state!=="idle"&&he.data===void 0,Y=Sn(y,$.path,v);if(!Y){if(k&&W)return;V.push({key:q,routeId:$.routeId,path:$.path,matches:null,match:null,request:null,controller:null});return}if(b.has(q))return;let se=Bo(Y,$.path),le=new AbortController,oe=pr(i,$.path,le.signal),we=null;if(f.has(q))f.delete(q),we=Sr(t,r,oe,Y,se,c,e);else if(W)d&&(we=Sr(t,r,oe,Y,se,c,e));else{let Me;typeof O=="boolean"?Me=O:L?Me=!1:Me=d;let Se={...R,defaultShouldRevalidate:Me};yi(se,Se)&&(we=Sr(t,r,oe,Y,se,c,e,Se))}we&&V.push({key:q,routeId:$.routeId,path:$.path,matches:we,match:se,request:oe,controller:le})}),{dsMatches:G,revalidatingFetchers:V}}function ih(n){return n.loader!=null||n.middleware!=null&&n.middleware.length>0}function oc(n,e,t){if(n.lazy)return!0;if(!ih(n))return!1;let r=e!=null&&n.id in e,i=t!=null&&t[n.id]!==void 0;return!r&&i?!1:typeof n.loader=="function"&&n.loader.hydrate===!0?!0:!r&&!i}function uy(n,e,t){let r=!e||t.route.id!==e.route.id,i=!n.hasOwnProperty(t.route.id);return r||i}function dy(n,e){let t=n.route.path;return n.pathname!==e.pathname||t!=null&&t.endsWith("*")&&n.params["*"]!==e.params["*"]}function yi(n,e){if(n.route.shouldRevalidate){let t=n.route.shouldRevalidate(e);if(typeof t=="boolean")return t}return e.defaultShouldRevalidate}function Mu(n,e,t,r,i,s){let o;if(n){let c=r[n];ue(c,`No route found to patch children into: routeId = ${n}`),c.children||(c.children=[]),o=c.children}else o=t;let a=[],l=[];if(e.forEach(c=>{let h=o.find(d=>nm(c,d));h?l.push({existingRoute:h,newRoute:c}):a.push(c)}),a.length>0){let c=Ai(a,i,[n||"_","patch",String(o?.length||"0")],r);o.push(...c)}if(s&&l.length>0)for(let c=0;c<l.length;c++){let{existingRoute:h,newRoute:d}=l[c],f=h,[p]=Ai([d],i,[],{},!0);Object.assign(f,{element:p.element?p.element:f.element,errorElement:p.errorElement?p.errorElement:f.errorElement,hydrateFallbackElement:p.hydrateFallbackElement?p.hydrateFallbackElement:f.hydrateFallbackElement})}}function nm(n,e){return"id"in n&&"id"in e&&n.id===e.id?!0:n.index===e.index&&n.path===e.path&&n.caseSensitive===e.caseSensitive?(!n.children||n.children.length===0)&&(!e.children||e.children.length===0)?!0:n.children.every((t,r)=>e.children?.some(i=>nm(t,i))):!1}var Nu=new WeakMap,rm=({key:n,route:e,manifest:t,mapRouteProperties:r})=>{let i=t[e.id];if(ue(i,"No route found in manifest"),!i.lazy||typeof i.lazy!="object")return;let s=i.lazy[n];if(!s)return;let o=Nu.get(i);o||(o={},Nu.set(i,o));let a=o[n];if(a)return a;let l=(async()=>{let c=M1(n),d=i[n]!==void 0&&n!=="hasErrorBoundary";if(c)Re(!c,"Route property "+n+" is not a supported lazy route property. This property will be ignored."),o[n]=Promise.resolve();else if(d)Re(!1,`Route "${i.id}" has a static property "${n}" defined. The lazy property will be ignored.`);else{let f=await s();f!=null&&(Object.assign(i,{[n]:f}),Object.assign(i,r(i)))}typeof i.lazy=="object"&&(i.lazy[n]=void 0,Object.values(i.lazy).every(f=>f===void 0)&&(i.lazy=void 0))})();return o[n]=l,l},Du=new WeakMap;function fy(n,e,t,r,i){let s=t[n.id];if(ue(s,"No route found in manifest"),!n.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof n.lazy=="function"){let h=Du.get(s);if(h)return{lazyRoutePromise:h,lazyHandlerPromise:h};let d=(async()=>{ue(typeof n.lazy=="function","No lazy route function found");let f=await n.lazy(),p={};for(let m in f){let b=f[m];if(b===void 0)continue;let y=D1(m),k=s[m]!==void 0&&m!=="hasErrorBoundary";y?Re(!y,"Route property "+m+" is not a supported property to be returned from a lazy route function. This property will be ignored."):k?Re(!k,`Route "${s.id}" has a static property "${m}" defined but its lazy function is also returning a value for this property. The lazy route property "${m}" will be ignored.`):p[m]=b}Object.assign(s,p),Object.assign(s,{...r(s),lazy:void 0})})();return Du.set(s,d),d.catch(()=>{}),{lazyRoutePromise:d,lazyHandlerPromise:d}}let o=Object.keys(n.lazy),a=[],l;for(let h of o){if(i&&i.includes(h))continue;let d=rm({key:h,route:n,manifest:t,mapRouteProperties:r});d&&(a.push(d),h===e&&(l=d))}let c=a.length>0?Promise.all(a).then(()=>{}):void 0;return c?.catch(()=>{}),l?.catch(()=>{}),{lazyRoutePromise:c,lazyHandlerPromise:l}}async function Tu(n){let e=n.matches.filter(i=>i.shouldLoad),t={};return(await Promise.all(e.map(i=>i.resolve()))).forEach((i,s)=>{t[e[s].route.id]=i}),t}async function py(n){return n.matches.some(e=>e.route.middleware)?im(n,()=>Tu(n)):Tu(n)}function im(n,e){return my(n,e,r=>{if(Ay(r))throw r;return r},Cy,t);function t(r,i,s){if(s)return Promise.resolve(Object.assign(s.value,{[i]:{type:"error",result:r}}));{let{matches:o}=n,a=Math.min(Math.max(o.findIndex(c=>c.route.id===i),0),Math.max(o.findIndex(c=>c.shouldCallHandler()),0)),l=Cn(o,o[a].route.id).route.id;return Promise.resolve({[l]:{type:"error",result:r}})}}}async function my(n,e,t,r,i){let{matches:s,request:o,params:a,context:l,unstable_pattern:c}=n,h=s.flatMap(f=>f.route.middleware?f.route.middleware.map(p=>[f.route.id,p]):[]);return await sm({request:o,params:a,context:l,unstable_pattern:c},h,e,t,r,i)}async function sm(n,e,t,r,i,s,o=0){let{request:a}=n;if(a.signal.aborted)throw a.signal.reason??new Error(`Request aborted: ${a.method} ${a.url}`);let l=e[o];if(!l)return await t();let[c,h]=l,d,f=async()=>{if(d)throw new Error("You may only call `next()` once per middleware");try{return d={value:await sm(n,e,t,r,i,s,o+1)},d.value}catch(p){return d={value:await s(p,c,d)},d.value}};try{let p=await h(n,f),m=p!=null?r(p):void 0;return i(m)?m:d?m??d.value:(d={value:await f()},d.value)}catch(p){return await s(p,c,d)}}function om(n,e,t,r,i){let s=rm({key:"middleware",route:r.route,manifest:e,mapRouteProperties:n}),o=fy(r.route,Ze(t.method)?"action":"loader",e,n,i);return{middleware:s,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function ac(n,e,t,r,i,s,o,a,l=null,c){let h=!1,d=om(n,e,t,i,s);return{...i,_lazyPromises:d,shouldLoad:a,shouldRevalidateArgs:l,shouldCallHandler(f){return h=!0,l?typeof c=="boolean"?yi(i,{...l,defaultShouldRevalidate:c}):typeof f=="boolean"?yi(i,{...l,defaultShouldRevalidate:f}):yi(i,l):a},resolve(f){let{lazy:p,loader:m,middleware:b}=i.route,y=h||a||f&&!Ze(t.method)&&(p||m),v=b&&b.length>0&&!m&&!p;return y&&(Ze(t.method)||!v)?by({request:t,unstable_pattern:r,match:i,lazyHandlerPromise:d?.handler,lazyRoutePromise:d?.route,handlerOverride:f,scopedContext:o}):Promise.resolve({type:"data",result:void 0})}}}function Sr(n,e,t,r,i,s,o,a=null){return r.map(l=>l.route.id!==i.route.id?{...l,shouldLoad:!1,shouldRevalidateArgs:a,shouldCallHandler:()=>!1,_lazyPromises:om(n,e,t,l,s),resolve:()=>Promise.resolve({type:"data",result:void 0})}:ac(n,e,t,Rs(r),l,s,o,!0,a))}async function gy(n,e,t,r,i,s){t.some(c=>c._lazyPromises?.middleware)&&await Promise.all(t.map(c=>c._lazyPromises?.middleware));let o={request:e,unstable_pattern:Rs(t),params:t[0].params,context:i,matches:t},l=await n({...o,fetcherKey:r,runClientMiddleware:c=>{let h=o;return im(h,()=>c({...h,fetcherKey:r,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(t.flatMap(c=>[c._lazyPromises?.handler,c._lazyPromises?.route]))}catch{}return l}async function by({request:n,unstable_pattern:e,match:t,lazyHandlerPromise:r,lazyRoutePromise:i,handlerOverride:s,scopedContext:o}){let a,l,c=Ze(n.method),h=c?"action":"loader",d=f=>{let p,m=new Promise((v,k)=>p=k);l=()=>p(),n.signal.addEventListener("abort",l);let b=v=>typeof f!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${h}" [routeId: ${t.route.id}]`)):f({request:n,unstable_pattern:e,params:t.params,context:o},...v!==void 0?[v]:[]),y=(async()=>{try{return{type:"data",result:await(s?s(k=>b(k)):b())}}catch(v){return{type:"error",result:v}}})();return Promise.race([y,m])};try{let f=c?t.route.action:t.route.loader;if(r||i)if(f){let p,[m]=await Promise.all([d(f).catch(b=>{p=b}),r,i]);if(p!==void 0)throw p;a=m}else{await r;let p=c?t.route.action:t.route.loader;if(p)[a]=await Promise.all([d(p),i]);else if(h==="action"){let m=new URL(n.url),b=m.pathname+m.search;throw kt(405,{method:n.method,pathname:b,routeId:t.route.id})}else return{type:"data",result:void 0}}else if(f)a=await d(f);else{let p=new URL(n.url),m=p.pathname+p.search;throw kt(404,{pathname:m})}}catch(f){return{type:"error",result:f}}finally{l&&n.signal.removeEventListener("abort",l)}return a}async function yy(n){let e=n.headers.get("Content-Type");return e&&/\bapplication\/json\b/.test(e)?n.body==null?null:n.json():n.text()}async function xy(n){let{result:e,type:t}=n;if(sh(e)){let r;try{r=await yy(e)}catch(i){return{type:"error",error:i}}return t==="error"?{type:"error",error:new Es(e.status,e.statusText,r),statusCode:e.status,headers:e.headers}:{type:"data",data:r,statusCode:e.status,headers:e.headers}}return t==="error"?$u(e)?e.data instanceof Error?{type:"error",error:e.data,statusCode:e.init?.status,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:Sy(e),statusCode:Mi(e)?e.status:void 0,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:e,statusCode:Mi(e)?e.status:void 0}:$u(e)?{type:"data",data:e.data,statusCode:e.init?.status,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"data",data:e}}function vy(n,e,t,r,i){let s=n.headers.get("Location");if(ue(s,"Redirects returned/thrown from loaders/actions must have a Location header"),!ja(s)){let o=r.slice(0,r.findIndex(a=>a.route.id===t)+1);s=sc(new URL(e.url),o,i,s),n.headers.set("Location",s)}return n}function Eu(n,e,t){if(ja(n)){let r=n,i=r.startsWith("//")?new URL(e.protocol+r):new URL(r),s=At(i.pathname,t)!=null;if(i.origin===e.origin&&s)return i.pathname+i.search+i.hash}return n}function pr(n,e,t,r){let i=n.createURL(am(e)).toString(),s={signal:t};if(r&&Ze(r.formMethod)){let{formMethod:o,formEncType:a}=r;s.method=o.toUpperCase(),a==="application/json"?(s.headers=new Headers({"Content-Type":a}),s.body=JSON.stringify(r.json)):a==="text/plain"?s.body=r.text:a==="application/x-www-form-urlencoded"&&r.formData?s.body=lc(r.formData):s.body=r.formData}return new Request(i,s)}function lc(n){let e=new URLSearchParams;for(let[t,r]of n.entries())e.append(t,typeof r=="string"?r:r.name);return e}function Ru(n){let e=new FormData;for(let[t,r]of n.entries())e.append(t,r);return e}function wy(n,e,t,r=!1,i=!1){let s={},o=null,a,l=!1,c={},h=t&&bt(t[1])?t[1].error:void 0;return n.forEach(d=>{if(!(d.route.id in e))return;let f=d.route.id,p=e[f];if(ue(!Jn(p),"Cannot handle redirect results in processLoaderData"),bt(p)){let m=p.error;if(h!==void 0&&(m=h,h=void 0),o=o||{},i)o[f]=m;else{let b=Cn(n,f);o[b.route.id]==null&&(o[b.route.id]=m)}r||(s[f]=tm),l||(l=!0,a=Mi(p.error)?p.error.status:500),p.headers&&(c[f]=p.headers)}else s[f]=p.data,p.statusCode&&p.statusCode!==200&&!l&&(a=p.statusCode),p.headers&&(c[f]=p.headers)}),h!==void 0&&t&&(o={[t[0]]:h},t[2]&&(s[t[2]]=void 0)),{loaderData:s,errors:o,statusCode:a||200,loaderHeaders:c}}function Lu(n,e,t,r,i,s){let{loaderData:o,errors:a}=wy(e,t,r);return i.filter(l=>!l.matches||l.matches.some(c=>c.shouldLoad)).forEach(l=>{let{key:c,match:h,controller:d}=l;if(d&&d.signal.aborted)return;let f=s[c];if(ue(f,"Did not find corresponding fetcher result"),bt(f)){let p=Cn(n.matches,h?.route.id);a&&a[p.route.id]||(a={...a,[p.route.id]:f.error}),n.fetchers.delete(c)}else if(Jn(f))ue(!1,"Unhandled fetcher revalidation redirect");else{let p=ln(f.data);n.fetchers.set(c,p)}}),{loaderData:o,errors:a}}function Iu(n,e,t,r){let i=Object.entries(e).filter(([,s])=>s!==tm).reduce((s,[o,a])=>(s[o]=a,s),{});for(let s of t){let o=s.route.id;if(!e.hasOwnProperty(o)&&n.hasOwnProperty(o)&&s.route.loader&&(i[o]=n[o]),r&&r.hasOwnProperty(o))break}return i}function Bu(n){return n?bt(n[1])?{actionData:{}}:{actionData:{[n[0]]:n[1].data}}:{}}function Cn(n,e){return(e?n.slice(0,n.findIndex(r=>r.route.id===e)+1):[...n]).reverse().find(r=>r.route.hasErrorBoundary===!0)||n[0]}function io(n){let e=n.length===1?n[0]:n.find(t=>t.index||!t.path||t.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:e}],route:e}}function kt(n,{pathname:e,routeId:t,method:r,type:i,message:s}={}){let o="Unknown Server Error",a="Unknown @remix-run/router error";return n===400?(o="Bad Request",r&&e&&t?a=`You made a ${r} request to "${e}" but did not provide a \`loader\` for route "${t}", so there is no way to handle the request.`:i==="invalid-body"&&(a="Unable to encode submission body")):n===403?(o="Forbidden",a=`Route "${t}" does not match URL "${e}"`):n===404?(o="Not Found",a=`No route matches URL "${e}"`):n===405&&(o="Method Not Allowed",r&&e&&t?a=`You made a ${r.toUpperCase()} request to "${e}" but did not provide an \`action\` for route "${t}", so there is no way to handle the request.`:r&&(a=`Invalid request method "${r.toUpperCase()}"`)),new Es(n||500,o,new Error(a),!0)}function so(n){let e=Object.entries(n);for(let t=e.length-1;t>=0;t--){let[r,i]=e[t];if(Jn(i))return{key:r,result:i}}}function am(n){let e=typeof n=="string"?$n(n):n;return Zt({...e,hash:""})}function ky(n,e){return n.pathname!==e.pathname||n.search!==e.search?!1:n.hash===""?e.hash!=="":n.hash===e.hash?!0:e.hash!==""}function Sy(n){return new Es(n.init?.status??500,n.init?.statusText??"Internal Server Error",n.data)}function Cy(n){return n!=null&&typeof n=="object"&&Object.entries(n).every(([e,t])=>typeof e=="string"&&jy(t))}function jy(n){return n!=null&&typeof n=="object"&&"type"in n&&"result"in n&&(n.type==="data"||n.type==="error")}function Oy(n){return sh(n.result)&&Zp.has(n.result.status)}function bt(n){return n.type==="error"}function Jn(n){return(n&&n.type)==="redirect"}function $u(n){return typeof n=="object"&&n!=null&&"type"in n&&"data"in n&&"init"in n&&n.type==="DataWithResponseInit"}function sh(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.headers=="object"&&typeof n.body<"u"}function Py(n){return Zp.has(n)}function Ay(n){return sh(n)&&Py(n.status)&&n.headers.has("Location")}function My(n){return sy.has(n.toUpperCase())}function Ze(n){return ry.has(n.toUpperCase())}function oh(n){return new URLSearchParams(n).getAll("index").some(e=>e==="")}function Bo(n,e){let t=typeof e=="string"?$n(e).search:e.search;if(n[n.length-1].route.index&&oh(t||""))return n[n.length-1];let r=qp(n);return r[r.length-1]}function Fu(n){let{formMethod:e,formAction:t,formEncType:r,text:i,formData:s,json:o}=n;if(!(!e||!t||!r)){if(i!=null)return{formMethod:e,formAction:t,formEncType:r,formData:void 0,json:void 0,text:i};if(s!=null)return{formMethod:e,formAction:t,formEncType:r,formData:s,json:void 0,text:void 0};if(o!==void 0)return{formMethod:e,formAction:t,formEncType:r,formData:void 0,json:o,text:void 0}}}function el(n,e){return e?{state:"loading",location:n,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}:{state:"loading",location:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function Ny(n,e){return{state:"submitting",location:n,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}}function ti(n,e){return n?{state:"loading",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:e}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function Dy(n,e){return{state:"submitting",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:e?e.data:void 0}}function ln(n){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:n}}function Ty(n,e){try{let t=n.sessionStorage.getItem(em);if(t){let r=JSON.parse(t);for(let[i,s]of Object.entries(r||{}))s&&Array.isArray(s)&&e.set(i,new Set(s||[]))}}catch{}}function Ey(n,e){if(e.size>0){let t={};for(let[r,i]of e)t[r]=[...i];try{n.sessionStorage.setItem(em,JSON.stringify(t))}catch(r){Re(!1,`Failed to save applied view transitions in sessionStorage (${r}).`)}}}function Vu(){let n,e,t=new Promise((r,i)=>{n=async s=>{r(s);try{await t}catch{}},e=async s=>{i(s);try{await t}catch{}}});return{promise:t,resolve:n,reject:e}}var ar=g.createContext(null);ar.displayName="DataRouter";var Ls=g.createContext(null);Ls.displayName="DataRouterState";var lm=g.createContext(!1);function Ry(){return g.useContext(lm)}var ah=g.createContext({isTransitioning:!1});ah.displayName="ViewTransition";var cm=g.createContext(new Map);cm.displayName="Fetchers";var Ly=g.createContext(null);Ly.displayName="Await";var xt=g.createContext(null);xt.displayName="Navigation";var Aa=g.createContext(null);Aa.displayName="Location";var Nt=g.createContext({outlet:null,matches:[],isDataRoute:!1});Nt.displayName="Route";var lh=g.createContext(null);lh.displayName="RouteError";var hm="REACT_ROUTER_ERROR",Iy="REDIRECT",By="ROUTE_ERROR_RESPONSE";function $y(n){if(n.startsWith(`${hm}:${Iy}:{`))try{let e=JSON.parse(n.slice(28));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.location=="string"&&typeof e.reloadDocument=="boolean"&&typeof e.replace=="boolean")return e}catch{}}function Fy(n){if(n.startsWith(`${hm}:${By}:{`))try{let e=JSON.parse(n.slice(40));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string")return new Es(e.status,e.statusText,e.data)}catch{}}function Vy(n,{relative:e}={}){ue(Fr(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:r}=g.useContext(xt),{hash:i,pathname:s,search:o}=Is(n,{relative:e}),a=s;return t!=="/"&&(a=s==="/"?t:Jt([t,s])),r.createHref({pathname:a,search:o,hash:i})}function Fr(){return g.useContext(Aa)!=null}function en(){return ue(Fr(),"useLocation() may be used only in the context of a <Router> component."),g.useContext(Aa).location}var um="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function dm(n){g.useContext(xt).static||g.useLayoutEffect(n)}function gn(){let{isDataRoute:n}=g.useContext(Nt);return n?tx():zy()}function zy(){ue(Fr(),"useNavigate() may be used only in the context of a <Router> component.");let n=g.useContext(ar),{basename:e,navigator:t}=g.useContext(xt),{matches:r}=g.useContext(Nt),{pathname:i}=en(),s=JSON.stringify(Oa(r)),o=g.useRef(!1);return dm(()=>{o.current=!0}),g.useCallback((l,c={})=>{if(Re(o.current,um),!o.current)return;if(typeof l=="number"){t.go(l);return}let h=Pa(l,JSON.parse(s),i,c.relative==="path");n==null&&e!=="/"&&(h.pathname=h.pathname==="/"?e:Jt([e,h.pathname])),(c.replace?t.replace:t.push)(h,c.state,c)},[e,t,s,i,n])}var fm=g.createContext(null);function Hy(){return g.useContext(fm)}function Wy(n){let e=g.useContext(Nt).outlet;return g.useMemo(()=>e&&g.createElement(fm.Provider,{value:n},e),[e,n])}function pm(){let{matches:n}=g.useContext(Nt),e=n[n.length-1];return e?e.params:{}}function Is(n,{relative:e}={}){let{matches:t}=g.useContext(Nt),{pathname:r}=en(),i=JSON.stringify(Oa(t));return g.useMemo(()=>Pa(n,JSON.parse(i),r,e==="path"),[n,i,r,e])}function _y(n,e,t,r,i){ue(Fr(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:s}=g.useContext(xt),{matches:o}=g.useContext(Nt),a=o[o.length-1],l=a?a.params:{},c=a?a.pathname:"/",h=a?a.pathnameBase:"/",d=a&&a.route;{let k=d&&d.path||"";gm(c,!d||k.endsWith("*")||k.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${k}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
18
+ */var Up=n=>{throw TypeError(n)},O1=(n,e,t)=>e.has(n)||Up("Cannot "+t),Ja=(n,e,t)=>(O1(n,e,"read from private field"),t?t.call(n):e.get(n)),P1=(n,e,t)=>e.has(n)?Up("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),vu="popstate";function A1(n={}){function e(r,i){let{pathname:s,search:o,hash:a}=r.location;return Ai("",{pathname:s,search:o,hash:a},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}function t(r,i){return typeof i=="string"?i:en(i)}return N1(e,t,null,n)}function ue(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function Re(n,e){if(!n){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function M1(){return Math.random().toString(36).substring(2,10)}function wu(n,e){return{usr:n.state,key:n.key,idx:e}}function Ai(n,e,t=null,r){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof e=="string"?Fn(e):e,state:t,key:e&&e.key||r||M1()}}function en({pathname:n="/",search:e="",hash:t=""}){return e&&e!=="?"&&(n+=e.charAt(0)==="?"?e:"?"+e),t&&t!=="#"&&(n+=t.charAt(0)==="#"?t:"#"+t),n}function Fn(n){let e={};if(n){let t=n.indexOf("#");t>=0&&(e.hash=n.substring(t),n=n.substring(0,t));let r=n.indexOf("?");r>=0&&(e.search=n.substring(r),n=n.substring(0,r)),n&&(e.pathname=n)}return e}function N1(n,e,t,r={}){let{window:i=document.defaultView,v5Compat:s=!1}=r,o=i.history,a="POP",l=null,c=h();c==null&&(c=0,o.replaceState({...o.state,idx:c},""));function h(){return(o.state||{idx:null}).idx}function d(){a="POP";let y=h(),v=y==null?null:y-c;c=y,l&&l({action:a,location:b.location,delta:v})}function f(y,v){a="PUSH";let k=Ai(b.location,y,v);c=h()+1;let S=wu(k,c),O=b.createHref(k);try{o.pushState(S,"",O)}catch(C){if(C instanceof DOMException&&C.name==="DataCloneError")throw C;i.location.assign(O)}s&&l&&l({action:a,location:b.location,delta:1})}function p(y,v){a="REPLACE";let k=Ai(b.location,y,v);c=h();let S=wu(k,c),O=b.createHref(k);o.replaceState(S,"",O),s&&l&&l({action:a,location:b.location,delta:0})}function m(y){return Kp(y)}let b={get action(){return a},get location(){return n(i,o)},listen(y){if(l)throw new Error("A history only accepts one active listener");return i.addEventListener(vu,d),l=y,()=>{i.removeEventListener(vu,d),l=null}},createHref(y){return e(i,y)},createURL:m,encodeLocation(y){let v=m(y);return{pathname:v.pathname,search:v.search,hash:v.hash}},push:f,replace:p,go(y){return o.go(y)}};return b}function Kp(n,e=!1){let t="http://localhost";typeof window<"u"&&(t=window.location.origin!=="null"?window.location.origin:window.location.href),ue(t,"No window.location.(origin|href) available to create URL");let r=typeof n=="string"?n:en(n);return r=r.replace(/ $/,"%20"),!e&&r.startsWith("//")&&(r=t+r),new URL(r,t)}var fi,ku=class{constructor(n){if(P1(this,fi,new Map),n)for(let[e,t]of n)this.set(e,t)}get(n){if(Ja(this,fi).has(n))return Ja(this,fi).get(n);if(n.defaultValue!==void 0)return n.defaultValue;throw new Error("No value found for context")}set(n,e){Ja(this,fi).set(n,e)}};fi=new WeakMap;var D1=new Set(["lazy","caseSensitive","path","id","index","children"]);function T1(n){return D1.has(n)}var E1=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function R1(n){return E1.has(n)}function L1(n){return n.index===!0}function Mi(n,e,t=[],r={},i=!1){return n.map((s,o)=>{let a=[...t,String(o)],l=typeof s.id=="string"?s.id:a.join("-");if(ue(s.index!==!0||!s.children,"Cannot specify children on an index route"),ue(i||!r[l],`Found a route id collision on id "${l}". Route id's must be globally unique within Data Router usages`),L1(s)){let c={...s,id:l};return r[l]=Su(c,e(c)),c}else{let c={...s,id:l,children:void 0};return r[l]=Su(c,e(c)),s.children&&(c.children=Mi(s.children,e,a,r,i)),c}})}function Su(n,e){return Object.assign(n,{...e,...typeof e.lazy=="object"&&e.lazy!=null?{lazy:{...n.lazy,...e.lazy}}:{}})}function Cn(n,e,t="/"){return pi(n,e,t,!1)}function pi(n,e,t,r){let i=typeof e=="string"?Fn(e):e,s=Mt(i.pathname||"/",t);if(s==null)return null;let o=Gp(n);B1(o);let a=null;for(let l=0;a==null&&l<o.length;++l){let c=q1(s);a=K1(o[l],c,r)}return a}function I1(n,e){let{route:t,pathname:r,params:i}=n;return{id:t.id,pathname:r,params:i,data:e[t.id],loaderData:e[t.id],handle:t.handle}}function Gp(n,e=[],t=[],r="",i=!1){let s=(o,a,l=i,c)=>{let h={relativePath:c===void 0?o.path||"":c,caseSensitive:o.caseSensitive===!0,childrenIndex:a,route:o};if(h.relativePath.startsWith("/")){if(!h.relativePath.startsWith(r)&&l)return;ue(h.relativePath.startsWith(r),`Absolute route path "${h.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),h.relativePath=h.relativePath.slice(r.length)}let d=Xt([r,h.relativePath]),f=t.concat(h);o.children&&o.children.length>0&&(ue(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Gp(o.children,e,f,d,l)),!(o.path==null&&!o.index)&&e.push({path:d,score:W1(d,o.index),routesMeta:f})};return n.forEach((o,a)=>{if(o.path===""||!o.path?.includes("?"))s(o,a);else for(let l of qp(o.path))s(o,a,!0,l)}),e}function qp(n){let e=n.split("/");if(e.length===0)return[];let[t,...r]=e,i=t.endsWith("?"),s=t.replace(/\?$/,"");if(r.length===0)return i?[s,""]:[s];let o=qp(r.join("/")),a=[];return a.push(...o.map(l=>l===""?s:[s,l].join("/"))),i&&a.push(...o),a.map(l=>n.startsWith("/")&&l===""?"/":l)}function B1(n){n.sort((e,t)=>e.score!==t.score?t.score-e.score:U1(e.routesMeta.map(r=>r.childrenIndex),t.routesMeta.map(r=>r.childrenIndex)))}var $1=/^:[\w-]+$/,F1=3,V1=2,z1=1,H1=10,_1=-2,Cu=n=>n==="*";function W1(n,e){let t=n.split("/"),r=t.length;return t.some(Cu)&&(r+=_1),e&&(r+=V1),t.filter(i=>!Cu(i)).reduce((i,s)=>i+($1.test(s)?F1:s===""?z1:H1),r)}function U1(n,e){return n.length===e.length&&n.slice(0,-1).every((r,i)=>r===e[i])?n[n.length-1]-e[e.length-1]:0}function K1(n,e,t=!1){let{routesMeta:r}=n,i={},s="/",o=[];for(let a=0;a<r.length;++a){let l=r[a],c=a===r.length-1,h=s==="/"?e:e.slice(s.length)||"/",d=Qo({path:l.relativePath,caseSensitive:l.caseSensitive,end:c},h),f=l.route;if(!d&&c&&t&&!r[r.length-1].route.index&&(d=Qo({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},h)),!d)return null;Object.assign(i,d.params),o.push({params:i,pathname:Xt([s,d.pathname]),pathnameBase:J1(Xt([s,d.pathnameBase])),route:f}),d.pathnameBase!=="/"&&(s=Xt([s,d.pathnameBase]))}return o}function Qo(n,e){typeof n=="string"&&(n={path:n,caseSensitive:!1,end:!0});let[t,r]=G1(n.path,n.caseSensitive,n.end),i=e.match(t);if(!i)return null;let s=i[0],o=s.replace(/(.)\/+$/,"$1"),a=i.slice(1);return{params:r.reduce((c,{paramName:h,isOptional:d},f)=>{if(h==="*"){let m=a[f]||"";o=s.slice(0,s.length-m.length).replace(/(.)\/+$/,"$1")}const p=a[f];return d&&!p?c[h]=void 0:c[h]=(p||"").replace(/%2F/g,"/"),c},{}),pathname:s,pathnameBase:o,pattern:n}}function G1(n,e=!1,t=!0){Re(n==="*"||!n.endsWith("*")||n.endsWith("/*"),`Route path "${n}" will be treated as if it were "${n.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${n.replace(/\*$/,"/*")}".`);let r=[],i="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,a,l)=>(r.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return n.endsWith("*")?(r.push({paramName:"*"}),i+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):t?i+="\\/*$":n!==""&&n!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,e?void 0:"i"),r]}function q1(n){try{return n.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return Re(!1,`The URL path "${n}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${e}).`),n}}function Mt(n,e){if(e==="/")return n;if(!n.toLowerCase().startsWith(e.toLowerCase()))return null;let t=e.endsWith("/")?e.length-1:e.length,r=n.charAt(t);return r&&r!=="/"?null:n.slice(t)||"/"}function Y1({basename:n,pathname:e}){return e==="/"?n:Xt([n,e])}var Yp=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ja=n=>Yp.test(n);function Q1(n,e="/"){let{pathname:t,search:r="",hash:i=""}=typeof n=="string"?Fn(n):n,s;if(t)if(ja(t))s=t;else{if(t.includes("//")){let o=t;t=t.replace(/\/\/+/g,"/"),Re(!1,`Pathnames cannot have embedded double slashes - normalizing ${o} -> ${t}`)}t.startsWith("/")?s=ju(t.substring(1),"/"):s=ju(t,e)}else s=e;return{pathname:s,search:X1(r),hash:Z1(i)}}function ju(n,e){let t=e.replace(/\/+$/,"").split("/");return n.split("/").forEach(i=>{i===".."?t.length>1&&t.pop():i!=="."&&t.push(i)}),t.length>1?t.join("/"):"/"}function Xa(n,e,t,r){return`Cannot include a '${n}' character in a manually specified \`to.${e}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${t}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Qp(n){return n.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function Oa(n){let e=Qp(n);return e.map((t,r)=>r===e.length-1?t.pathname:t.pathnameBase)}function Pa(n,e,t,r=!1){let i;typeof n=="string"?i=Fn(n):(i={...n},ue(!i.pathname||!i.pathname.includes("?"),Xa("?","pathname","search",i)),ue(!i.pathname||!i.pathname.includes("#"),Xa("#","pathname","hash",i)),ue(!i.search||!i.search.includes("#"),Xa("#","search","hash",i)));let s=n===""||i.pathname==="",o=s?"/":i.pathname,a;if(o==null)a=t;else{let d=e.length-1;if(!r&&o.startsWith("..")){let f=o.split("/");for(;f[0]==="..";)f.shift(),d-=1;i.pathname=f.join("/")}a=d>=0?e[d]:"/"}let l=Q1(i,a),c=o&&o!=="/"&&o.endsWith("/"),h=(s||o===".")&&t.endsWith("/");return!l.pathname.endsWith("/")&&(c||h)&&(l.pathname+="/"),l}var Xt=n=>n.join("/").replace(/\/\/+/g,"/"),J1=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),X1=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,Z1=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,Rs=class{constructor(n,e,t,r=!1){this.status=n,this.statusText=e||"",this.internal=r,t instanceof Error?(this.data=t.toString(),this.error=t):this.data=t}};function Ni(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function Ls(n){return n.map(e=>e.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Jp=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Xp(n,e){let t=n;if(typeof t!="string"||!Yp.test(t))return{absoluteURL:void 0,isExternal:!1,to:t};let r=t,i=!1;if(Jp)try{let s=new URL(window.location.href),o=t.startsWith("//")?new URL(s.protocol+t):new URL(t),a=Mt(o.pathname,e);o.origin===s.origin&&a!=null?t=a+o.search+o.hash:i=!0}catch{Re(!1,`<Link to="${t}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:t}}var An=Symbol("Uninstrumented");function ey(n,e){let t={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};n.forEach(i=>i({id:e.id,index:e.index,path:e.path,instrument(s){let o=Object.keys(t);for(let a of o)s[a]&&t[a].push(s[a])}}));let r={};if(typeof e.lazy=="function"&&t.lazy.length>0){let i=yr(t.lazy,e.lazy,()=>{});i&&(r.lazy=i)}if(typeof e.lazy=="object"){let i=e.lazy;["middleware","loader","action"].forEach(s=>{let o=i[s],a=t[`lazy.${s}`];if(typeof o=="function"&&a.length>0){let l=yr(a,o,()=>{});l&&(r.lazy=Object.assign(r.lazy||{},{[s]:l}))}})}return["loader","action"].forEach(i=>{let s=e[i];if(typeof s=="function"&&t[i].length>0){let o=s[An]??s,a=yr(t[i],o,(...l)=>Ou(l[0]));a&&(a[An]=o,r[i]=a)}}),e.middleware&&e.middleware.length>0&&t.middleware.length>0&&(r.middleware=e.middleware.map(i=>{let s=i[An]??i,o=yr(t.middleware,s,(...a)=>Ou(a[0]));return o?(o[An]=s,o):i})),r}function ty(n,e){let t={navigate:[],fetch:[]};if(e.forEach(r=>r({instrument(i){let s=Object.keys(i);for(let o of s)i[o]&&t[o].push(i[o])}})),t.navigate.length>0){let r=n.navigate[An]??n.navigate,i=yr(t.navigate,r,(...s)=>{let[o,a]=s;return{to:typeof o=="number"||typeof o=="string"?o:o?en(o):".",...Pu(n,a??{})}});i&&(i[An]=r,n.navigate=i)}if(t.fetch.length>0){let r=n.fetch[An]??n.fetch,i=yr(t.fetch,r,(...s)=>{let[o,,a,l]=s;return{href:a??".",fetcherKey:o,...Pu(n,l??{})}});i&&(i[An]=r,n.fetch=i)}return n}function yr(n,e,t){return n.length===0?null:async(...r)=>{let i=await Zp(n,t(...r),()=>e(...r),n.length-1);if(i.type==="error")throw i.value;return i.value}}async function Zp(n,e,t,r){let i=n[r],s;if(i){let o,a=async()=>(o?console.error("You cannot call instrumented handlers more than once"):o=Zp(n,e,t,r-1),s=await o,ue(s,"Expected a result"),s.type==="error"&&s.value instanceof Error?{status:"error",error:s.value}:{status:"success",error:void 0});try{await i(a,e)}catch(l){console.error("An instrumentation function threw an error:",l)}o||await a(),await o}else try{s={type:"success",value:await t()}}catch(o){s={type:"error",value:o}}return s||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function Ou(n){let{request:e,context:t,params:r,unstable_pattern:i}=n;return{request:ny(e),params:{...r},unstable_pattern:i,context:ry(t)}}function Pu(n,e){return{currentUrl:en(n.state.location),..."formMethod"in e?{formMethod:e.formMethod}:{},..."formEncType"in e?{formEncType:e.formEncType}:{},..."formData"in e?{formData:e.formData}:{},..."body"in e?{body:e.body}:{}}}function ny(n){return{method:n.method,url:n.url,headers:{get:(...e)=>n.headers.get(...e)}}}function ry(n){if(sy(n)){let e={...n};return Object.freeze(e),e}else return{get:e=>n.get(e)}}var iy=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function sy(n){if(n===null||typeof n!="object")return!1;const e=Object.getPrototypeOf(n);return e===Object.prototype||e===null||Object.getOwnPropertyNames(e).sort().join("\0")===iy}var em=["POST","PUT","PATCH","DELETE"],oy=new Set(em),ay=["GET",...em],ly=new Set(ay),tm=new Set([301,302,303,307,308]),cy=new Set([307,308]),Za={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},hy={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ti={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},uy=n=>({hasErrorBoundary:!!n.hasErrorBoundary}),nm="remix-router-transitions",rm=Symbol("ResetLoaderData");function dy(n){const e=n.window?n.window:typeof window<"u"?window:void 0,t=typeof e<"u"&&typeof e.document<"u"&&typeof e.document.createElement<"u";ue(n.routes.length>0,"You must provide a non-empty routes array to createRouter");let r=n.hydrationRouteProperties||[],i=n.mapRouteProperties||uy,s=i;if(n.unstable_instrumentations){let w=n.unstable_instrumentations;s=j=>({...i(j),...ey(w.map(A=>A.route).filter(Boolean),j)})}let o={},a=Mi(n.routes,s,void 0,o),l,c=n.basename||"/";c.startsWith("/")||(c=`/${c}`);let h=n.dataStrategy||by,d={...n.future},f=null,p=new Set,m=null,b=null,y=null,v=n.hydrationData!=null,k=Cn(a,n.history.location,c),S=!1,O=null,C;if(k==null&&!n.patchRoutesOnNavigation){let w=St(404,{pathname:n.history.location.pathname}),{matches:j,route:A}=so(a);C=!0,k=j,O={[A.id]:w}}else if(k&&!n.hydrationData&&eo(k,a,n.history.location.pathname).active&&(k=null),k)if(k.some(w=>w.route.lazy))C=!1;else if(!k.some(w=>sh(w.route)))C=!0;else{let w=n.hydrationData?n.hydrationData.loaderData:null,j=n.hydrationData?n.hydrationData.errors:null;if(j){let A=k.findIndex(B=>j[B.route.id]!==void 0);C=k.slice(0,A+1).every(B=>!oc(B.route,w,j))}else C=k.every(A=>!oc(A.route,w,j))}else{C=!1,k=[];let w=eo(null,a,n.history.location.pathname);w.active&&w.matches&&(S=!0,k=w.matches)}let P,x={historyAction:n.history.action,location:n.history.location,matches:k,initialized:C,navigation:Za,restoreScrollPosition:n.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:n.hydrationData&&n.hydrationData.loaderData||{},actionData:n.hydrationData&&n.hydrationData.actionData||null,errors:n.hydrationData&&n.hydrationData.errors||O,fetchers:new Map,blockers:new Map},D="POP",T=null,I=!1,M,L=!1,W=new Map,V=null,$=!1,q=!1,he=new Set,_=new Map,Y=0,se=-1,le=new Map,oe=new Set,we=new Map,Me=new Map,Se=new Set,Je=new Map,Rt,Q=null;function Ae(){if(f=n.history.listen(({action:w,location:j,delta:A})=>{if(Rt){Rt(),Rt=void 0;return}Re(Je.size===0||A!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let B=fu({currentLocation:x.location,nextLocation:j,historyAction:w});if(B&&A!=null){let F=new Promise(Z=>{Rt=Z});n.history.go(A*-1),Zs(B,{state:"blocked",location:j,proceed(){Zs(B,{state:"proceeding",proceed:void 0,reset:void 0,location:j}),F.then(()=>n.history.go(A))},reset(){let Z=new Map(x.blockers);Z.set(B,ti),R({blockers:Z})}}),T?.resolve(),T=null;return}return ft(w,j)}),t){Ly(e,W);let w=()=>Iy(e,W);e.addEventListener("pagehide",w),V=()=>e.removeEventListener("pagehide",w)}return x.initialized||ft("POP",x.location,{initialHydration:!0}),P}function ve(){f&&f(),V&&V(),p.clear(),M&&M.abort(),x.fetchers.forEach((w,j)=>qa(j)),x.blockers.forEach((w,j)=>du(j))}function Le(w){return p.add(w),()=>p.delete(w)}function R(w,j={}){w.matches&&(w.matches=w.matches.map(F=>{let Z=o[F.route.id],J=F.route;return J.element!==Z.element||J.errorElement!==Z.errorElement||J.hydrateFallbackElement!==Z.hydrateFallbackElement?{...F,route:Z}:F})),x={...x,...w};let A=[],B=[];x.fetchers.forEach((F,Z)=>{F.state==="idle"&&(Se.has(Z)?A.push(Z):B.push(Z))}),Se.forEach(F=>{!x.fetchers.has(F)&&!_.has(F)&&A.push(F)}),[...p].forEach(F=>F(x,{deletedFetchers:A,newErrors:w.errors??null,viewTransitionOpts:j.viewTransitionOpts,flushSync:j.flushSync===!0})),A.forEach(F=>qa(F)),B.forEach(F=>x.fetchers.delete(F))}function G(w,j,{flushSync:A}={}){let B=x.actionData!=null&&x.navigation.formMethod!=null&&Ze(x.navigation.formMethod)&&x.navigation.state==="loading"&&w.state?._isRedirect!==!0,F;j.actionData?Object.keys(j.actionData).length>0?F=j.actionData:F=null:B?F=x.actionData:F=null;let Z=j.loaderData?Bu(x.loaderData,j.loaderData,j.matches||[],j.errors):x.loaderData,J=x.blockers;J.size>0&&(J=new Map(J),J.forEach((ie,te)=>J.set(te,ti)));let X=$?!1:mu(w,j.matches||x.matches),ee=I===!0||x.navigation.formMethod!=null&&Ze(x.navigation.formMethod)&&w.state?._isRedirect!==!0;l&&(a=l,l=void 0),$||D==="POP"||(D==="PUSH"?n.history.push(w,w.state):D==="REPLACE"&&n.history.replace(w,w.state));let re;if(D==="POP"){let ie=W.get(x.location.pathname);ie&&ie.has(w.pathname)?re={currentLocation:x.location,nextLocation:w}:W.has(w.pathname)&&(re={currentLocation:w,nextLocation:x.location})}else if(L){let ie=W.get(x.location.pathname);ie?ie.add(w.pathname):(ie=new Set([w.pathname]),W.set(x.location.pathname,ie)),re={currentLocation:x.location,nextLocation:w}}R({...j,actionData:F,loaderData:Z,historyAction:D,location:w,initialized:!0,navigation:Za,revalidation:"idle",restoreScrollPosition:X,preventScrollReset:ee,blockers:J},{viewTransitionOpts:re,flushSync:A===!0}),D="POP",I=!1,L=!1,$=!1,q=!1,T?.resolve(),T=null,Q?.resolve(),Q=null}async function ce(w,j){if(T?.resolve(),T=null,typeof w=="number"){T||(T=zu());let ye=T.promise;return n.history.go(w),ye}let A=sc(x.location,x.matches,c,w,j?.fromRouteId,j?.relative),{path:B,submission:F,error:Z}=Au(!1,A,j),J=x.location,X=Ai(x.location,B,j&&j.state);X={...X,...n.history.encodeLocation(X)};let ee=j&&j.replace!=null?j.replace:void 0,re="PUSH";ee===!0?re="REPLACE":ee===!1||F!=null&&Ze(F.formMethod)&&F.formAction===x.location.pathname+x.location.search&&(re="REPLACE");let ie=j&&"preventScrollReset"in j?j.preventScrollReset===!0:void 0,te=(j&&j.flushSync)===!0,be=fu({currentLocation:J,nextLocation:X,historyAction:re});if(be){Zs(be,{state:"blocked",location:X,proceed(){Zs(be,{state:"proceeding",proceed:void 0,reset:void 0,location:X}),ce(w,j)},reset(){let ye=new Map(x.blockers);ye.set(be,ti),R({blockers:ye})}});return}await ft(re,X,{submission:F,pendingError:Z,preventScrollReset:ie,replace:j&&j.replace,enableViewTransition:j&&j.viewTransition,flushSync:te,callSiteDefaultShouldRevalidate:j&&j.unstable_defaultShouldRevalidate})}function De(){Q||(Q=zu()),Ga(),R({revalidation:"loading"});let w=Q.promise;return x.navigation.state==="submitting"?w:x.navigation.state==="idle"?(ft(x.historyAction,x.location,{startUninterruptedRevalidation:!0}),w):(ft(D||x.historyAction,x.navigation.location,{overrideNavigation:x.navigation,enableViewTransition:L===!0}),w)}async function ft(w,j,A){M&&M.abort(),M=null,D=w,$=(A&&A.startUninterruptedRevalidation)===!0,d1(x.location,x.matches),I=(A&&A.preventScrollReset)===!0,L=(A&&A.enableViewTransition)===!0;let B=l||a,F=A&&A.overrideNavigation,Z=A?.initialHydration&&x.matches&&x.matches.length>0&&!S?x.matches:Cn(B,j,c),J=(A&&A.flushSync)===!0;if(Z&&x.initialized&&!q&&jy(x.location,j)&&!(A&&A.submission&&Ze(A.submission.formMethod))){G(j,{matches:Z},{flushSync:J});return}let X=eo(Z,B,j.pathname);if(X.active&&X.matches&&(Z=X.matches),!Z){let{error:We,notFoundMatches:rt,route:ke}=Ya(j.pathname);G(j,{matches:rt,loaderData:{},errors:{[ke.id]:We}},{flushSync:J});return}M=new AbortController;let ee=mr(n.history,j,M.signal,A&&A.submission),re=n.getContext?await n.getContext():new ku,ie;if(A&&A.pendingError)ie=[jn(Z).route.id,{type:"error",error:A.pendingError}];else if(A&&A.submission&&Ze(A.submission.formMethod)){let We=await Ka(ee,j,A.submission,Z,re,X.active,A&&A.initialHydration===!0,{replace:A.replace,flushSync:J});if(We.shortCircuited)return;if(We.pendingActionResult){let[rt,ke]=We.pendingActionResult;if(bt(ke)&&Ni(ke.error)&&ke.error.status===404){M=null,G(j,{matches:We.matches,loaderData:{},errors:{[rt]:ke.error}});return}}Z=We.matches||Z,ie=We.pendingActionResult,F=el(j,A.submission),J=!1,X.active=!1,ee=mr(n.history,ee.url,ee.signal)}let{shortCircuited:te,matches:be,loaderData:ye,errors:Ke}=await Js(ee,j,Z,re,X.active,F,A&&A.submission,A&&A.fetcherSubmission,A&&A.replace,A&&A.initialHydration===!0,J,ie,A&&A.callSiteDefaultShouldRevalidate);te||(M=null,G(j,{matches:be||Z,...$u(ie),loaderData:ye,errors:Ke}))}async function Ka(w,j,A,B,F,Z,J,X={}){Ga();let ee=Ey(j,A);if(R({navigation:ee},{flushSync:X.flushSync===!0}),Z){let te=await to(B,j.pathname,w.signal);if(te.type==="aborted")return{shortCircuited:!0};if(te.type==="error"){if(te.partialMatches.length===0){let{matches:ye,route:Ke}=so(a);return{matches:ye,pendingActionResult:[Ke.id,{type:"error",error:te.error}]}}let be=jn(te.partialMatches).route.id;return{matches:te.partialMatches,pendingActionResult:[be,{type:"error",error:te.error}]}}else if(te.matches)B=te.matches;else{let{notFoundMatches:be,error:ye,route:Ke}=Ya(j.pathname);return{matches:be,pendingActionResult:[Ke.id,{type:"error",error:ye}]}}}let re,ie=Bo(B,j);if(!ie.route.action&&!ie.route.lazy)re={type:"error",error:St(405,{method:w.method,pathname:j.pathname,routeId:ie.route.id})};else{let te=Cr(s,o,w,B,ie,J?[]:r,F),be=await Xr(w,te,F,null);if(re=be[ie.route.id],!re){for(let ye of B)if(be[ye.route.id]){re=be[ye.route.id];break}}if(w.signal.aborted)return{shortCircuited:!0}}if(Xn(re)){let te;return X&&X.replace!=null?te=X.replace:te=Ru(re.response.headers.get("Location"),new URL(w.url),c)===x.location.pathname+x.location.search,await _n(w,re,!0,{submission:A,replace:te}),{shortCircuited:!0}}if(bt(re)){let te=jn(B,ie.route.id);return(X&&X.replace)!==!0&&(D="PUSH"),{matches:B,pendingActionResult:[te.route.id,re,ie.route.id]}}return{matches:B,pendingActionResult:[ie.route.id,re]}}async function Js(w,j,A,B,F,Z,J,X,ee,re,ie,te,be){let ye=Z||el(j,J),Ke=J||X||Vu(ye),We=!$&&!re;if(F){if(We){let Xe=Jr(te);R({navigation:ye,...Xe!==void 0?{actionData:Xe}:{}},{flushSync:ie})}let ge=await to(A,j.pathname,w.signal);if(ge.type==="aborted")return{shortCircuited:!0};if(ge.type==="error"){if(ge.partialMatches.length===0){let{matches:dr,route:Kn}=so(a);return{matches:dr,loaderData:{},errors:{[Kn.id]:ge.error}}}let Xe=jn(ge.partialMatches).route.id;return{matches:ge.partialMatches,loaderData:{},errors:{[Xe]:ge.error}}}else if(ge.matches)A=ge.matches;else{let{error:Xe,notFoundMatches:dr,route:Kn}=Ya(j.pathname);return{matches:dr,loaderData:{},errors:{[Kn.id]:Xe}}}}let rt=l||a,{dsMatches:ke,revalidatingFetchers:wt}=Mu(w,B,s,o,n.history,x,A,Ke,j,re?[]:r,re===!0,q,he,Se,we,oe,rt,c,n.patchRoutesOnNavigation!=null,te,be);if(se=++Y,!n.dataStrategy&&!ke.some(ge=>ge.shouldLoad)&&!ke.some(ge=>ge.route.middleware&&ge.route.middleware.length>0)&&wt.length===0){let ge=hu();return G(j,{matches:A,loaderData:{},errors:te&&bt(te[1])?{[te[0]]:te[1].error}:null,...$u(te),...ge?{fetchers:new Map(x.fetchers)}:{}},{flushSync:ie}),{shortCircuited:!0}}if(We){let ge={};if(!F){ge.navigation=ye;let Xe=Jr(te);Xe!==void 0&&(ge.actionData=Xe)}wt.length>0&&(ge.fetchers=Xs(wt)),R(ge,{flushSync:ie})}wt.forEach(ge=>{cn(ge.key),ge.controller&&_.set(ge.key,ge.controller)});let Wn=()=>wt.forEach(ge=>cn(ge.key));M&&M.signal.addEventListener("abort",Wn);let{loaderResults:Zr,fetcherResults:xn}=await au(ke,wt,w,B);if(w.signal.aborted)return{shortCircuited:!0};M&&M.signal.removeEventListener("abort",Wn),wt.forEach(ge=>_.delete(ge.key));let zt=oo(Zr);if(zt)return await _n(w,zt.result,!0,{replace:ee}),{shortCircuited:!0};if(zt=oo(xn),zt)return oe.add(zt.key),await _n(w,zt.result,!0,{replace:ee}),{shortCircuited:!0};let{loaderData:Qa,errors:ei}=Iu(x,A,Zr,te,wt,xn);re&&x.errors&&(ei={...x.errors,...ei});let Un=hu(),no=uu(se),ro=Un||no||wt.length>0;return{matches:A,loaderData:Qa,errors:ei,...ro?{fetchers:new Map(x.fetchers)}:{}}}function Jr(w){if(w&&!bt(w[1]))return{[w[0]]:w[1].data};if(x.actionData)return Object.keys(x.actionData).length===0?null:x.actionData}function Xs(w){return w.forEach(j=>{let A=x.fetchers.get(j.key),B=ni(void 0,A?A.data:void 0);x.fetchers.set(j.key,B)}),new Map(x.fetchers)}async function _e(w,j,A,B){cn(w);let F=(B&&B.flushSync)===!0,Z=l||a,J=sc(x.location,x.matches,c,A,j,B?.relative),X=Cn(Z,J,c),ee=eo(X,Z,J);if(ee.active&&ee.matches&&(X=ee.matches),!X){ln(w,j,St(404,{pathname:J}),{flushSync:F});return}let{path:re,submission:ie,error:te}=Au(!0,J,B);if(te){ln(w,j,te,{flushSync:F});return}let be=n.getContext?await n.getContext():new ku,ye=(B&&B.preventScrollReset)===!0;if(ie&&Ze(ie.formMethod)){await o1(w,j,re,X,be,ee.active,F,ye,ie,B&&B.unstable_defaultShouldRevalidate);return}we.set(w,{routeId:j,path:re}),await a1(w,j,re,X,be,ee.active,F,ye,ie)}async function o1(w,j,A,B,F,Z,J,X,ee,re){Ga(),we.delete(w);let ie=x.fetchers.get(w);an(w,Ry(ee,ie),{flushSync:J});let te=new AbortController,be=mr(n.history,A,te.signal,ee);if(Z){let Te=await to(B,new URL(be.url).pathname,be.signal,w);if(Te.type==="aborted")return;if(Te.type==="error"){ln(w,j,Te.error,{flushSync:J});return}else if(Te.matches)B=Te.matches;else{ln(w,j,St(404,{pathname:A}),{flushSync:J});return}}let ye=Bo(B,A);if(!ye.route.action&&!ye.route.lazy){let Te=St(405,{method:ee.formMethod,pathname:A,routeId:j});ln(w,j,Te,{flushSync:J});return}_.set(w,te);let Ke=Y,We=Cr(s,o,be,B,ye,r,F),rt=await Xr(be,We,F,w),ke=rt[ye.route.id];if(!ke){for(let Te of We)if(rt[Te.route.id]){ke=rt[Te.route.id];break}}if(be.signal.aborted){_.get(w)===te&&_.delete(w);return}if(Se.has(w)){if(Xn(ke)||bt(ke)){an(w,hn(void 0));return}}else{if(Xn(ke))if(_.delete(w),se>Ke){an(w,hn(void 0));return}else return oe.add(w),an(w,ni(ee)),_n(be,ke,!1,{fetcherSubmission:ee,preventScrollReset:X});if(bt(ke)){ln(w,j,ke.error);return}}let wt=x.navigation.location||x.location,Wn=mr(n.history,wt,te.signal),Zr=l||a,xn=x.navigation.state!=="idle"?Cn(Zr,x.navigation.location,c):x.matches;ue(xn,"Didn't find any matches after fetcher action");let zt=++Y;le.set(w,zt);let Qa=ni(ee,ke.data);x.fetchers.set(w,Qa);let{dsMatches:ei,revalidatingFetchers:Un}=Mu(Wn,F,s,o,n.history,x,xn,ee,wt,r,!1,q,he,Se,we,oe,Zr,c,n.patchRoutesOnNavigation!=null,[ye.route.id,ke],re);Un.filter(Te=>Te.key!==w).forEach(Te=>{let io=Te.key,bu=x.fetchers.get(io),m1=ni(void 0,bu?bu.data:void 0);x.fetchers.set(io,m1),cn(io),Te.controller&&_.set(io,Te.controller)}),R({fetchers:new Map(x.fetchers)});let no=()=>Un.forEach(Te=>cn(Te.key));te.signal.addEventListener("abort",no);let{loaderResults:ro,fetcherResults:ge}=await au(ei,Un,Wn,F);if(te.signal.aborted)return;if(te.signal.removeEventListener("abort",no),le.delete(w),_.delete(w),Un.forEach(Te=>_.delete(Te.key)),x.fetchers.has(w)){let Te=hn(ke.data);x.fetchers.set(w,Te)}let Xe=oo(ro);if(Xe)return _n(Wn,Xe.result,!1,{preventScrollReset:X});if(Xe=oo(ge),Xe)return oe.add(Xe.key),_n(Wn,Xe.result,!1,{preventScrollReset:X});let{loaderData:dr,errors:Kn}=Iu(x,xn,ro,void 0,Un,ge);uu(zt),x.navigation.state==="loading"&&zt>se?(ue(D,"Expected pending action"),M&&M.abort(),G(x.navigation.location,{matches:xn,loaderData:dr,errors:Kn,fetchers:new Map(x.fetchers)})):(R({errors:Kn,loaderData:Bu(x.loaderData,dr,xn,Kn),fetchers:new Map(x.fetchers)}),q=!1)}async function a1(w,j,A,B,F,Z,J,X,ee){let re=x.fetchers.get(w);an(w,ni(ee,re?re.data:void 0),{flushSync:J});let ie=new AbortController,te=mr(n.history,A,ie.signal);if(Z){let ke=await to(B,new URL(te.url).pathname,te.signal,w);if(ke.type==="aborted")return;if(ke.type==="error"){ln(w,j,ke.error,{flushSync:J});return}else if(ke.matches)B=ke.matches;else{ln(w,j,St(404,{pathname:A}),{flushSync:J});return}}let be=Bo(B,A);_.set(w,ie);let ye=Y,Ke=Cr(s,o,te,B,be,r,F),rt=(await Xr(te,Ke,F,w))[be.route.id];if(_.get(w)===ie&&_.delete(w),!te.signal.aborted){if(Se.has(w)){an(w,hn(void 0));return}if(Xn(rt))if(se>ye){an(w,hn(void 0));return}else{oe.add(w),await _n(te,rt,!1,{preventScrollReset:X});return}if(bt(rt)){ln(w,j,rt.error);return}an(w,hn(rt.data))}}async function _n(w,j,A,{submission:B,fetcherSubmission:F,preventScrollReset:Z,replace:J}={}){A||(T?.resolve(),T=null),j.response.headers.has("X-Remix-Revalidate")&&(q=!0);let X=j.response.headers.get("Location");ue(X,"Expected a Location header on the redirect Response"),X=Ru(X,new URL(w.url),c);let ee=Ai(x.location,X,{_isRedirect:!0});if(t){let Ke=!1;if(j.response.headers.has("X-Remix-Reload-Document"))Ke=!0;else if(ja(X)){const We=Kp(X,!0);Ke=We.origin!==e.location.origin||Mt(We.pathname,c)==null}if(Ke){J?e.location.replace(X):e.location.assign(X);return}}M=null;let re=J===!0||j.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:ie,formAction:te,formEncType:be}=x.navigation;!B&&!F&&ie&&te&&be&&(B=Vu(x.navigation));let ye=B||F;if(cy.has(j.response.status)&&ye&&Ze(ye.formMethod))await ft(re,ee,{submission:{...ye,formAction:X},preventScrollReset:Z||I,enableViewTransition:A?L:void 0});else{let Ke=el(ee,B);await ft(re,ee,{overrideNavigation:Ke,fetcherSubmission:F,preventScrollReset:Z||I,enableViewTransition:A?L:void 0})}}async function Xr(w,j,A,B){let F,Z={};try{F=await xy(h,w,j,B,A,!1)}catch(J){return j.filter(X=>X.shouldLoad).forEach(X=>{Z[X.route.id]={type:"error",error:J}}),Z}if(w.signal.aborted)return Z;if(!Ze(w.method))for(let J of j){if(F[J.route.id]?.type==="error")break;!F.hasOwnProperty(J.route.id)&&!x.loaderData.hasOwnProperty(J.route.id)&&(!x.errors||!x.errors.hasOwnProperty(J.route.id))&&J.shouldCallHandler()&&(F[J.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${J.route.id}`)})}for(let[J,X]of Object.entries(F))if(My(X)){let ee=X.result;Z[J]={type:"redirect",response:Sy(ee,w,J,j,c)}}else Z[J]=await ky(X);return Z}async function au(w,j,A,B){let F=Xr(A,w,B,null),Z=Promise.all(j.map(async ee=>{if(ee.matches&&ee.match&&ee.request&&ee.controller){let ie=(await Xr(ee.request,ee.matches,B,ee.key))[ee.match.route.id];return{[ee.key]:ie}}else return Promise.resolve({[ee.key]:{type:"error",error:St(404,{pathname:ee.path})}})})),J=await F,X=(await Z).reduce((ee,re)=>Object.assign(ee,re),{});return{loaderResults:J,fetcherResults:X}}function Ga(){q=!0,we.forEach((w,j)=>{_.has(j)&&he.add(j),cn(j)})}function an(w,j,A={}){x.fetchers.set(w,j),R({fetchers:new Map(x.fetchers)},{flushSync:(A&&A.flushSync)===!0})}function ln(w,j,A,B={}){let F=jn(x.matches,j);qa(w),R({errors:{[F.route.id]:A},fetchers:new Map(x.fetchers)},{flushSync:(B&&B.flushSync)===!0})}function lu(w){return Me.set(w,(Me.get(w)||0)+1),Se.has(w)&&Se.delete(w),x.fetchers.get(w)||hy}function l1(w,j){cn(w,j?.reason),an(w,hn(null))}function qa(w){let j=x.fetchers.get(w);_.has(w)&&!(j&&j.state==="loading"&&le.has(w))&&cn(w),we.delete(w),le.delete(w),oe.delete(w),Se.delete(w),he.delete(w),x.fetchers.delete(w)}function c1(w){let j=(Me.get(w)||0)-1;j<=0?(Me.delete(w),Se.add(w)):Me.set(w,j),R({fetchers:new Map(x.fetchers)})}function cn(w,j){let A=_.get(w);A&&(A.abort(j),_.delete(w))}function cu(w){for(let j of w){let A=lu(j),B=hn(A.data);x.fetchers.set(j,B)}}function hu(){let w=[],j=!1;for(let A of oe){let B=x.fetchers.get(A);ue(B,`Expected fetcher: ${A}`),B.state==="loading"&&(oe.delete(A),w.push(A),j=!0)}return cu(w),j}function uu(w){let j=[];for(let[A,B]of le)if(B<w){let F=x.fetchers.get(A);ue(F,`Expected fetcher: ${A}`),F.state==="loading"&&(cn(A),le.delete(A),j.push(A))}return cu(j),j.length>0}function h1(w,j){let A=x.blockers.get(w)||ti;return Je.get(w)!==j&&Je.set(w,j),A}function du(w){x.blockers.delete(w),Je.delete(w)}function Zs(w,j){let A=x.blockers.get(w)||ti;ue(A.state==="unblocked"&&j.state==="blocked"||A.state==="blocked"&&j.state==="blocked"||A.state==="blocked"&&j.state==="proceeding"||A.state==="blocked"&&j.state==="unblocked"||A.state==="proceeding"&&j.state==="unblocked",`Invalid blocker state transition: ${A.state} -> ${j.state}`);let B=new Map(x.blockers);B.set(w,j),R({blockers:B})}function fu({currentLocation:w,nextLocation:j,historyAction:A}){if(Je.size===0)return;Je.size>1&&Re(!1,"A router only supports one blocker at a time");let B=Array.from(Je.entries()),[F,Z]=B[B.length-1],J=x.blockers.get(F);if(!(J&&J.state==="proceeding")&&Z({currentLocation:w,nextLocation:j,historyAction:A}))return F}function Ya(w){let j=St(404,{pathname:w}),A=l||a,{matches:B,route:F}=so(A);return{notFoundMatches:B,route:F,error:j}}function u1(w,j,A){if(m=w,y=j,b=A||null,!v&&x.navigation===Za){v=!0;let B=mu(x.location,x.matches);B!=null&&R({restoreScrollPosition:B})}return()=>{m=null,y=null,b=null}}function pu(w,j){return b&&b(w,j.map(B=>I1(B,x.loaderData)))||w.key}function d1(w,j){if(m&&y){let A=pu(w,j);m[A]=y()}}function mu(w,j){if(m){let A=pu(w,j),B=m[A];if(typeof B=="number")return B}return null}function eo(w,j,A){if(n.patchRoutesOnNavigation)if(w){if(Object.keys(w[0].params).length>0)return{active:!0,matches:pi(j,A,c,!0)}}else return{active:!0,matches:pi(j,A,c,!0)||[]};return{active:!1,matches:null}}async function to(w,j,A,B){if(!n.patchRoutesOnNavigation)return{type:"success",matches:w};let F=w;for(;;){let Z=l==null,J=l||a,X=o;try{await n.patchRoutesOnNavigation({signal:A,path:j,matches:F,fetcherKey:B,patch:(ie,te)=>{A.aborted||Nu(ie,te,J,X,s,!1)}})}catch(ie){return{type:"error",error:ie,partialMatches:F}}finally{Z&&!A.aborted&&(a=[...a])}if(A.aborted)return{type:"aborted"};let ee=Cn(J,j,c),re=null;if(ee){if(Object.keys(ee[0].params).length===0)return{type:"success",matches:ee};if(re=pi(J,j,c,!0),!(re&&F.length<re.length&&gu(F,re.slice(0,F.length))))return{type:"success",matches:ee}}if(re||(re=pi(J,j,c,!0)),!re||gu(F,re))return{type:"success",matches:null};F=re}}function gu(w,j){return w.length===j.length&&w.every((A,B)=>A.route.id===j[B].route.id)}function f1(w){o={},l=Mi(w,s,void 0,o)}function p1(w,j,A=!1){let B=l==null;Nu(w,j,l||a,o,s,A),B&&(a=[...a],R({}))}return P={get basename(){return c},get future(){return d},get state(){return x},get routes(){return a},get window(){return e},initialize:Ae,subscribe:Le,enableScrollRestoration:u1,navigate:ce,fetch:_e,revalidate:De,createHref:w=>n.history.createHref(w),encodeLocation:w=>n.history.encodeLocation(w),getFetcher:lu,resetFetcher:l1,deleteFetcher:c1,dispose:ve,getBlocker:h1,deleteBlocker:du,patchRoutes:p1,_internalFetchControllers:_,_internalSetRoutes:f1,_internalSetStateDoNotUseOrYouWillBreakYourApp(w){R(w)}},n.unstable_instrumentations&&(P=ty(P,n.unstable_instrumentations.map(w=>w.router).filter(Boolean))),P}function fy(n){return n!=null&&("formData"in n&&n.formData!=null||"body"in n&&n.body!==void 0)}function sc(n,e,t,r,i,s){let o,a;if(i){o=[];for(let c of e)if(o.push(c),c.route.id===i){a=c;break}}else o=e,a=e[e.length-1];let l=Pa(r||".",Oa(o),Mt(n.pathname,t)||n.pathname,s==="path");if(r==null&&(l.search=n.search,l.hash=n.hash),(r==null||r===""||r===".")&&a){let c=ah(l.search);if(a.route.index&&!c)l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index";else if(!a.route.index&&c){let h=new URLSearchParams(l.search),d=h.getAll("index");h.delete("index"),d.filter(p=>p).forEach(p=>h.append("index",p));let f=h.toString();l.search=f?`?${f}`:""}}return t!=="/"&&(l.pathname=Y1({basename:t,pathname:l.pathname})),en(l)}function Au(n,e,t){if(!t||!fy(t))return{path:e};if(t.formMethod&&!Ty(t.formMethod))return{path:e,error:St(405,{method:t.formMethod})};let r=()=>({path:e,error:St(400,{type:"invalid-body"})}),s=(t.formMethod||"get").toUpperCase(),o=cm(e);if(t.body!==void 0){if(t.formEncType==="text/plain"){if(!Ze(s))return r();let d=typeof t.body=="string"?t.body:t.body instanceof FormData||t.body instanceof URLSearchParams?Array.from(t.body.entries()).reduce((f,[p,m])=>`${f}${p}=${m}
19
+ `,""):String(t.body);return{path:e,submission:{formMethod:s,formAction:o,formEncType:t.formEncType,formData:void 0,json:void 0,text:d}}}else if(t.formEncType==="application/json"){if(!Ze(s))return r();try{let d=typeof t.body=="string"?JSON.parse(t.body):t.body;return{path:e,submission:{formMethod:s,formAction:o,formEncType:t.formEncType,formData:void 0,json:d,text:void 0}}}catch{return r()}}}ue(typeof FormData=="function","FormData is not available in this environment");let a,l;if(t.formData)a=lc(t.formData),l=t.formData;else if(t.body instanceof FormData)a=lc(t.body),l=t.body;else if(t.body instanceof URLSearchParams)a=t.body,l=Lu(a);else if(t.body==null)a=new URLSearchParams,l=new FormData;else try{a=new URLSearchParams(t.body),l=Lu(a)}catch{return r()}let c={formMethod:s,formAction:o,formEncType:t&&t.formEncType||"application/x-www-form-urlencoded",formData:l,json:void 0,text:void 0};if(Ze(c.formMethod))return{path:e,submission:c};let h=Fn(e);return n&&h.search&&ah(h.search)&&a.append("index",""),h.search=`?${a}`,{path:en(h),submission:c}}function Mu(n,e,t,r,i,s,o,a,l,c,h,d,f,p,m,b,y,v,k,S,O){let C=S?bt(S[1])?S[1].error:S[1].data:void 0,P=i.createURL(s.location),x=i.createURL(l),D;if(h&&s.errors){let $=Object.keys(s.errors)[0];D=o.findIndex(q=>q.route.id===$)}else if(S&&bt(S[1])){let $=S[0];D=o.findIndex(q=>q.route.id===$)-1}let T=S?S[1].statusCode:void 0,I=T&&T>=400,M={currentUrl:P,currentParams:s.matches[0]?.params||{},nextUrl:x,nextParams:o[0].params,...a,actionResult:C,actionStatus:T},L=Ls(o),W=o.map(($,q)=>{let{route:he}=$,_=null;if(D!=null&&q>D?_=!1:he.lazy?_=!0:sh(he)?h?_=oc(he,s.loaderData,s.errors):py(s.loaderData,s.matches[q],$)&&(_=!0):_=!1,_!==null)return ac(t,r,n,L,$,c,e,_);let Y=!1;typeof O=="boolean"?Y=O:I?Y=!1:(d||P.pathname+P.search===x.pathname+x.search||P.search!==x.search||my(s.matches[q],$))&&(Y=!0);let se={...M,defaultShouldRevalidate:Y},le=xi($,se);return ac(t,r,n,L,$,c,e,le,se,O)}),V=[];return m.forEach(($,q)=>{if(h||!o.some(Me=>Me.route.id===$.routeId)||p.has(q))return;let he=s.fetchers.get(q),_=he&&he.state!=="idle"&&he.data===void 0,Y=Cn(y,$.path,v);if(!Y){if(k&&_)return;V.push({key:q,routeId:$.routeId,path:$.path,matches:null,match:null,request:null,controller:null});return}if(b.has(q))return;let se=Bo(Y,$.path),le=new AbortController,oe=mr(i,$.path,le.signal),we=null;if(f.has(q))f.delete(q),we=Cr(t,r,oe,Y,se,c,e);else if(_)d&&(we=Cr(t,r,oe,Y,se,c,e));else{let Me;typeof O=="boolean"?Me=O:I?Me=!1:Me=d;let Se={...M,defaultShouldRevalidate:Me};xi(se,Se)&&(we=Cr(t,r,oe,Y,se,c,e,Se))}we&&V.push({key:q,routeId:$.routeId,path:$.path,matches:we,match:se,request:oe,controller:le})}),{dsMatches:W,revalidatingFetchers:V}}function sh(n){return n.loader!=null||n.middleware!=null&&n.middleware.length>0}function oc(n,e,t){if(n.lazy)return!0;if(!sh(n))return!1;let r=e!=null&&n.id in e,i=t!=null&&t[n.id]!==void 0;return!r&&i?!1:typeof n.loader=="function"&&n.loader.hydrate===!0?!0:!r&&!i}function py(n,e,t){let r=!e||t.route.id!==e.route.id,i=!n.hasOwnProperty(t.route.id);return r||i}function my(n,e){let t=n.route.path;return n.pathname!==e.pathname||t!=null&&t.endsWith("*")&&n.params["*"]!==e.params["*"]}function xi(n,e){if(n.route.shouldRevalidate){let t=n.route.shouldRevalidate(e);if(typeof t=="boolean")return t}return e.defaultShouldRevalidate}function Nu(n,e,t,r,i,s){let o;if(n){let c=r[n];ue(c,`No route found to patch children into: routeId = ${n}`),c.children||(c.children=[]),o=c.children}else o=t;let a=[],l=[];if(e.forEach(c=>{let h=o.find(d=>im(c,d));h?l.push({existingRoute:h,newRoute:c}):a.push(c)}),a.length>0){let c=Mi(a,i,[n||"_","patch",String(o?.length||"0")],r);o.push(...c)}if(s&&l.length>0)for(let c=0;c<l.length;c++){let{existingRoute:h,newRoute:d}=l[c],f=h,[p]=Mi([d],i,[],{},!0);Object.assign(f,{element:p.element?p.element:f.element,errorElement:p.errorElement?p.errorElement:f.errorElement,hydrateFallbackElement:p.hydrateFallbackElement?p.hydrateFallbackElement:f.hydrateFallbackElement})}}function im(n,e){return"id"in n&&"id"in e&&n.id===e.id?!0:n.index===e.index&&n.path===e.path&&n.caseSensitive===e.caseSensitive?(!n.children||n.children.length===0)&&(!e.children||e.children.length===0)?!0:n.children.every((t,r)=>e.children?.some(i=>im(t,i))):!1}var Du=new WeakMap,sm=({key:n,route:e,manifest:t,mapRouteProperties:r})=>{let i=t[e.id];if(ue(i,"No route found in manifest"),!i.lazy||typeof i.lazy!="object")return;let s=i.lazy[n];if(!s)return;let o=Du.get(i);o||(o={},Du.set(i,o));let a=o[n];if(a)return a;let l=(async()=>{let c=T1(n),d=i[n]!==void 0&&n!=="hasErrorBoundary";if(c)Re(!c,"Route property "+n+" is not a supported lazy route property. This property will be ignored."),o[n]=Promise.resolve();else if(d)Re(!1,`Route "${i.id}" has a static property "${n}" defined. The lazy property will be ignored.`);else{let f=await s();f!=null&&(Object.assign(i,{[n]:f}),Object.assign(i,r(i)))}typeof i.lazy=="object"&&(i.lazy[n]=void 0,Object.values(i.lazy).every(f=>f===void 0)&&(i.lazy=void 0))})();return o[n]=l,l},Tu=new WeakMap;function gy(n,e,t,r,i){let s=t[n.id];if(ue(s,"No route found in manifest"),!n.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof n.lazy=="function"){let h=Tu.get(s);if(h)return{lazyRoutePromise:h,lazyHandlerPromise:h};let d=(async()=>{ue(typeof n.lazy=="function","No lazy route function found");let f=await n.lazy(),p={};for(let m in f){let b=f[m];if(b===void 0)continue;let y=R1(m),k=s[m]!==void 0&&m!=="hasErrorBoundary";y?Re(!y,"Route property "+m+" is not a supported property to be returned from a lazy route function. This property will be ignored."):k?Re(!k,`Route "${s.id}" has a static property "${m}" defined but its lazy function is also returning a value for this property. The lazy route property "${m}" will be ignored.`):p[m]=b}Object.assign(s,p),Object.assign(s,{...r(s),lazy:void 0})})();return Tu.set(s,d),d.catch(()=>{}),{lazyRoutePromise:d,lazyHandlerPromise:d}}let o=Object.keys(n.lazy),a=[],l;for(let h of o){if(i&&i.includes(h))continue;let d=sm({key:h,route:n,manifest:t,mapRouteProperties:r});d&&(a.push(d),h===e&&(l=d))}let c=a.length>0?Promise.all(a).then(()=>{}):void 0;return c?.catch(()=>{}),l?.catch(()=>{}),{lazyRoutePromise:c,lazyHandlerPromise:l}}async function Eu(n){let e=n.matches.filter(i=>i.shouldLoad),t={};return(await Promise.all(e.map(i=>i.resolve()))).forEach((i,s)=>{t[e[s].route.id]=i}),t}async function by(n){return n.matches.some(e=>e.route.middleware)?om(n,()=>Eu(n)):Eu(n)}function om(n,e){return yy(n,e,r=>{if(Dy(r))throw r;return r},Py,t);function t(r,i,s){if(s)return Promise.resolve(Object.assign(s.value,{[i]:{type:"error",result:r}}));{let{matches:o}=n,a=Math.min(Math.max(o.findIndex(c=>c.route.id===i),0),Math.max(o.findIndex(c=>c.shouldCallHandler()),0)),l=jn(o,o[a].route.id).route.id;return Promise.resolve({[l]:{type:"error",result:r}})}}}async function yy(n,e,t,r,i){let{matches:s,request:o,params:a,context:l,unstable_pattern:c}=n,h=s.flatMap(f=>f.route.middleware?f.route.middleware.map(p=>[f.route.id,p]):[]);return await am({request:o,params:a,context:l,unstable_pattern:c},h,e,t,r,i)}async function am(n,e,t,r,i,s,o=0){let{request:a}=n;if(a.signal.aborted)throw a.signal.reason??new Error(`Request aborted: ${a.method} ${a.url}`);let l=e[o];if(!l)return await t();let[c,h]=l,d,f=async()=>{if(d)throw new Error("You may only call `next()` once per middleware");try{return d={value:await am(n,e,t,r,i,s,o+1)},d.value}catch(p){return d={value:await s(p,c,d)},d.value}};try{let p=await h(n,f),m=p!=null?r(p):void 0;return i(m)?m:d?m??d.value:(d={value:await f()},d.value)}catch(p){return await s(p,c,d)}}function lm(n,e,t,r,i){let s=sm({key:"middleware",route:r.route,manifest:e,mapRouteProperties:n}),o=gy(r.route,Ze(t.method)?"action":"loader",e,n,i);return{middleware:s,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function ac(n,e,t,r,i,s,o,a,l=null,c){let h=!1,d=lm(n,e,t,i,s);return{...i,_lazyPromises:d,shouldLoad:a,shouldRevalidateArgs:l,shouldCallHandler(f){return h=!0,l?typeof c=="boolean"?xi(i,{...l,defaultShouldRevalidate:c}):typeof f=="boolean"?xi(i,{...l,defaultShouldRevalidate:f}):xi(i,l):a},resolve(f){let{lazy:p,loader:m,middleware:b}=i.route,y=h||a||f&&!Ze(t.method)&&(p||m),v=b&&b.length>0&&!m&&!p;return y&&(Ze(t.method)||!v)?vy({request:t,unstable_pattern:r,match:i,lazyHandlerPromise:d?.handler,lazyRoutePromise:d?.route,handlerOverride:f,scopedContext:o}):Promise.resolve({type:"data",result:void 0})}}}function Cr(n,e,t,r,i,s,o,a=null){return r.map(l=>l.route.id!==i.route.id?{...l,shouldLoad:!1,shouldRevalidateArgs:a,shouldCallHandler:()=>!1,_lazyPromises:lm(n,e,t,l,s),resolve:()=>Promise.resolve({type:"data",result:void 0})}:ac(n,e,t,Ls(r),l,s,o,!0,a))}async function xy(n,e,t,r,i,s){t.some(c=>c._lazyPromises?.middleware)&&await Promise.all(t.map(c=>c._lazyPromises?.middleware));let o={request:e,unstable_pattern:Ls(t),params:t[0].params,context:i,matches:t},l=await n({...o,fetcherKey:r,runClientMiddleware:c=>{let h=o;return om(h,()=>c({...h,fetcherKey:r,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(t.flatMap(c=>[c._lazyPromises?.handler,c._lazyPromises?.route]))}catch{}return l}async function vy({request:n,unstable_pattern:e,match:t,lazyHandlerPromise:r,lazyRoutePromise:i,handlerOverride:s,scopedContext:o}){let a,l,c=Ze(n.method),h=c?"action":"loader",d=f=>{let p,m=new Promise((v,k)=>p=k);l=()=>p(),n.signal.addEventListener("abort",l);let b=v=>typeof f!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${h}" [routeId: ${t.route.id}]`)):f({request:n,unstable_pattern:e,params:t.params,context:o},...v!==void 0?[v]:[]),y=(async()=>{try{return{type:"data",result:await(s?s(k=>b(k)):b())}}catch(v){return{type:"error",result:v}}})();return Promise.race([y,m])};try{let f=c?t.route.action:t.route.loader;if(r||i)if(f){let p,[m]=await Promise.all([d(f).catch(b=>{p=b}),r,i]);if(p!==void 0)throw p;a=m}else{await r;let p=c?t.route.action:t.route.loader;if(p)[a]=await Promise.all([d(p),i]);else if(h==="action"){let m=new URL(n.url),b=m.pathname+m.search;throw St(405,{method:n.method,pathname:b,routeId:t.route.id})}else return{type:"data",result:void 0}}else if(f)a=await d(f);else{let p=new URL(n.url),m=p.pathname+p.search;throw St(404,{pathname:m})}}catch(f){return{type:"error",result:f}}finally{l&&n.signal.removeEventListener("abort",l)}return a}async function wy(n){let e=n.headers.get("Content-Type");return e&&/\bapplication\/json\b/.test(e)?n.body==null?null:n.json():n.text()}async function ky(n){let{result:e,type:t}=n;if(oh(e)){let r;try{r=await wy(e)}catch(i){return{type:"error",error:i}}return t==="error"?{type:"error",error:new Rs(e.status,e.statusText,r),statusCode:e.status,headers:e.headers}:{type:"data",data:r,statusCode:e.status,headers:e.headers}}return t==="error"?Fu(e)?e.data instanceof Error?{type:"error",error:e.data,statusCode:e.init?.status,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:Oy(e),statusCode:Ni(e)?e.status:void 0,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:e,statusCode:Ni(e)?e.status:void 0}:Fu(e)?{type:"data",data:e.data,statusCode:e.init?.status,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"data",data:e}}function Sy(n,e,t,r,i){let s=n.headers.get("Location");if(ue(s,"Redirects returned/thrown from loaders/actions must have a Location header"),!ja(s)){let o=r.slice(0,r.findIndex(a=>a.route.id===t)+1);s=sc(new URL(e.url),o,i,s),n.headers.set("Location",s)}return n}function Ru(n,e,t){if(ja(n)){let r=n,i=r.startsWith("//")?new URL(e.protocol+r):new URL(r),s=Mt(i.pathname,t)!=null;if(i.origin===e.origin&&s)return i.pathname+i.search+i.hash}return n}function mr(n,e,t,r){let i=n.createURL(cm(e)).toString(),s={signal:t};if(r&&Ze(r.formMethod)){let{formMethod:o,formEncType:a}=r;s.method=o.toUpperCase(),a==="application/json"?(s.headers=new Headers({"Content-Type":a}),s.body=JSON.stringify(r.json)):a==="text/plain"?s.body=r.text:a==="application/x-www-form-urlencoded"&&r.formData?s.body=lc(r.formData):s.body=r.formData}return new Request(i,s)}function lc(n){let e=new URLSearchParams;for(let[t,r]of n.entries())e.append(t,typeof r=="string"?r:r.name);return e}function Lu(n){let e=new FormData;for(let[t,r]of n.entries())e.append(t,r);return e}function Cy(n,e,t,r=!1,i=!1){let s={},o=null,a,l=!1,c={},h=t&&bt(t[1])?t[1].error:void 0;return n.forEach(d=>{if(!(d.route.id in e))return;let f=d.route.id,p=e[f];if(ue(!Xn(p),"Cannot handle redirect results in processLoaderData"),bt(p)){let m=p.error;if(h!==void 0&&(m=h,h=void 0),o=o||{},i)o[f]=m;else{let b=jn(n,f);o[b.route.id]==null&&(o[b.route.id]=m)}r||(s[f]=rm),l||(l=!0,a=Ni(p.error)?p.error.status:500),p.headers&&(c[f]=p.headers)}else s[f]=p.data,p.statusCode&&p.statusCode!==200&&!l&&(a=p.statusCode),p.headers&&(c[f]=p.headers)}),h!==void 0&&t&&(o={[t[0]]:h},t[2]&&(s[t[2]]=void 0)),{loaderData:s,errors:o,statusCode:a||200,loaderHeaders:c}}function Iu(n,e,t,r,i,s){let{loaderData:o,errors:a}=Cy(e,t,r);return i.filter(l=>!l.matches||l.matches.some(c=>c.shouldLoad)).forEach(l=>{let{key:c,match:h,controller:d}=l;if(d&&d.signal.aborted)return;let f=s[c];if(ue(f,"Did not find corresponding fetcher result"),bt(f)){let p=jn(n.matches,h?.route.id);a&&a[p.route.id]||(a={...a,[p.route.id]:f.error}),n.fetchers.delete(c)}else if(Xn(f))ue(!1,"Unhandled fetcher revalidation redirect");else{let p=hn(f.data);n.fetchers.set(c,p)}}),{loaderData:o,errors:a}}function Bu(n,e,t,r){let i=Object.entries(e).filter(([,s])=>s!==rm).reduce((s,[o,a])=>(s[o]=a,s),{});for(let s of t){let o=s.route.id;if(!e.hasOwnProperty(o)&&n.hasOwnProperty(o)&&s.route.loader&&(i[o]=n[o]),r&&r.hasOwnProperty(o))break}return i}function $u(n){return n?bt(n[1])?{actionData:{}}:{actionData:{[n[0]]:n[1].data}}:{}}function jn(n,e){return(e?n.slice(0,n.findIndex(r=>r.route.id===e)+1):[...n]).reverse().find(r=>r.route.hasErrorBoundary===!0)||n[0]}function so(n){let e=n.length===1?n[0]:n.find(t=>t.index||!t.path||t.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:e}],route:e}}function St(n,{pathname:e,routeId:t,method:r,type:i,message:s}={}){let o="Unknown Server Error",a="Unknown @remix-run/router error";return n===400?(o="Bad Request",r&&e&&t?a=`You made a ${r} request to "${e}" but did not provide a \`loader\` for route "${t}", so there is no way to handle the request.`:i==="invalid-body"&&(a="Unable to encode submission body")):n===403?(o="Forbidden",a=`Route "${t}" does not match URL "${e}"`):n===404?(o="Not Found",a=`No route matches URL "${e}"`):n===405&&(o="Method Not Allowed",r&&e&&t?a=`You made a ${r.toUpperCase()} request to "${e}" but did not provide an \`action\` for route "${t}", so there is no way to handle the request.`:r&&(a=`Invalid request method "${r.toUpperCase()}"`)),new Rs(n||500,o,new Error(a),!0)}function oo(n){let e=Object.entries(n);for(let t=e.length-1;t>=0;t--){let[r,i]=e[t];if(Xn(i))return{key:r,result:i}}}function cm(n){let e=typeof n=="string"?Fn(n):n;return en({...e,hash:""})}function jy(n,e){return n.pathname!==e.pathname||n.search!==e.search?!1:n.hash===""?e.hash!=="":n.hash===e.hash?!0:e.hash!==""}function Oy(n){return new Rs(n.init?.status??500,n.init?.statusText??"Internal Server Error",n.data)}function Py(n){return n!=null&&typeof n=="object"&&Object.entries(n).every(([e,t])=>typeof e=="string"&&Ay(t))}function Ay(n){return n!=null&&typeof n=="object"&&"type"in n&&"result"in n&&(n.type==="data"||n.type==="error")}function My(n){return oh(n.result)&&tm.has(n.result.status)}function bt(n){return n.type==="error"}function Xn(n){return(n&&n.type)==="redirect"}function Fu(n){return typeof n=="object"&&n!=null&&"type"in n&&"data"in n&&"init"in n&&n.type==="DataWithResponseInit"}function oh(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.headers=="object"&&typeof n.body<"u"}function Ny(n){return tm.has(n)}function Dy(n){return oh(n)&&Ny(n.status)&&n.headers.has("Location")}function Ty(n){return ly.has(n.toUpperCase())}function Ze(n){return oy.has(n.toUpperCase())}function ah(n){return new URLSearchParams(n).getAll("index").some(e=>e==="")}function Bo(n,e){let t=typeof e=="string"?Fn(e).search:e.search;if(n[n.length-1].route.index&&ah(t||""))return n[n.length-1];let r=Qp(n);return r[r.length-1]}function Vu(n){let{formMethod:e,formAction:t,formEncType:r,text:i,formData:s,json:o}=n;if(!(!e||!t||!r)){if(i!=null)return{formMethod:e,formAction:t,formEncType:r,formData:void 0,json:void 0,text:i};if(s!=null)return{formMethod:e,formAction:t,formEncType:r,formData:s,json:void 0,text:void 0};if(o!==void 0)return{formMethod:e,formAction:t,formEncType:r,formData:void 0,json:o,text:void 0}}}function el(n,e){return e?{state:"loading",location:n,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}:{state:"loading",location:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function Ey(n,e){return{state:"submitting",location:n,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}}function ni(n,e){return n?{state:"loading",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:e}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function Ry(n,e){return{state:"submitting",formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text,data:e?e.data:void 0}}function hn(n){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:n}}function Ly(n,e){try{let t=n.sessionStorage.getItem(nm);if(t){let r=JSON.parse(t);for(let[i,s]of Object.entries(r||{}))s&&Array.isArray(s)&&e.set(i,new Set(s||[]))}}catch{}}function Iy(n,e){if(e.size>0){let t={};for(let[r,i]of e)t[r]=[...i];try{n.sessionStorage.setItem(nm,JSON.stringify(t))}catch(r){Re(!1,`Failed to save applied view transitions in sessionStorage (${r}).`)}}}function zu(){let n,e,t=new Promise((r,i)=>{n=async s=>{r(s);try{await t}catch{}},e=async s=>{i(s);try{await t}catch{}}});return{promise:t,resolve:n,reject:e}}var lr=g.createContext(null);lr.displayName="DataRouter";var Is=g.createContext(null);Is.displayName="DataRouterState";var hm=g.createContext(!1);function By(){return g.useContext(hm)}var lh=g.createContext({isTransitioning:!1});lh.displayName="ViewTransition";var um=g.createContext(new Map);um.displayName="Fetchers";var $y=g.createContext(null);$y.displayName="Await";var xt=g.createContext(null);xt.displayName="Navigation";var Aa=g.createContext(null);Aa.displayName="Location";var Dt=g.createContext({outlet:null,matches:[],isDataRoute:!1});Dt.displayName="Route";var ch=g.createContext(null);ch.displayName="RouteError";var dm="REACT_ROUTER_ERROR",Fy="REDIRECT",Vy="ROUTE_ERROR_RESPONSE";function zy(n){if(n.startsWith(`${dm}:${Fy}:{`))try{let e=JSON.parse(n.slice(28));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.location=="string"&&typeof e.reloadDocument=="boolean"&&typeof e.replace=="boolean")return e}catch{}}function Hy(n){if(n.startsWith(`${dm}:${Vy}:{`))try{let e=JSON.parse(n.slice(40));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string")return new Rs(e.status,e.statusText,e.data)}catch{}}function _y(n,{relative:e}={}){ue(Vr(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:r}=g.useContext(xt),{hash:i,pathname:s,search:o}=Bs(n,{relative:e}),a=s;return t!=="/"&&(a=s==="/"?t:Xt([t,s])),r.createHref({pathname:a,search:o,hash:i})}function Vr(){return g.useContext(Aa)!=null}function tn(){return ue(Vr(),"useLocation() may be used only in the context of a <Router> component."),g.useContext(Aa).location}var fm="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function pm(n){g.useContext(xt).static||g.useLayoutEffect(n)}function yn(){let{isDataRoute:n}=g.useContext(Dt);return n?ix():Wy()}function Wy(){ue(Vr(),"useNavigate() may be used only in the context of a <Router> component.");let n=g.useContext(lr),{basename:e,navigator:t}=g.useContext(xt),{matches:r}=g.useContext(Dt),{pathname:i}=tn(),s=JSON.stringify(Oa(r)),o=g.useRef(!1);return pm(()=>{o.current=!0}),g.useCallback((l,c={})=>{if(Re(o.current,fm),!o.current)return;if(typeof l=="number"){t.go(l);return}let h=Pa(l,JSON.parse(s),i,c.relative==="path");n==null&&e!=="/"&&(h.pathname=h.pathname==="/"?e:Xt([e,h.pathname])),(c.replace?t.replace:t.push)(h,c.state,c)},[e,t,s,i,n])}var mm=g.createContext(null);function Uy(){return g.useContext(mm)}function Ky(n){let e=g.useContext(Dt).outlet;return g.useMemo(()=>e&&g.createElement(mm.Provider,{value:n},e),[e,n])}function gm(){let{matches:n}=g.useContext(Dt),e=n[n.length-1];return e?e.params:{}}function Bs(n,{relative:e}={}){let{matches:t}=g.useContext(Dt),{pathname:r}=tn(),i=JSON.stringify(Oa(t));return g.useMemo(()=>Pa(n,JSON.parse(i),r,e==="path"),[n,i,r,e])}function Gy(n,e,t,r,i){ue(Vr(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:s}=g.useContext(xt),{matches:o}=g.useContext(Dt),a=o[o.length-1],l=a?a.params:{},c=a?a.pathname:"/",h=a?a.pathnameBase:"/",d=a&&a.route;{let k=d&&d.path||"";ym(c,!d||k.endsWith("*")||k.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${k}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
20
20
 
21
- Please change the parent <Route path="${k}"> to <Route path="${k==="/"?"*":`${k}/*`}">.`)}let f=en(),p;p=f;let m=p.pathname||"/",b=m;if(h!=="/"){let k=h.replace(/^\//,"").split("/");b="/"+m.replace(/^\//,"").split("/").slice(k.length).join("/")}let y=Sn(n,{pathname:b});return Re(d||y!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),Re(y==null||y[y.length-1].route.element!==void 0||y[y.length-1].route.Component!==void 0||y[y.length-1].route.lazy!==void 0,`Matched leaf route at location "${p.pathname}${p.search}${p.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),Yy(y&&y.map(k=>Object.assign({},k,{params:Object.assign({},l,k.params),pathname:Jt([h,s.encodeLocation?s.encodeLocation(k.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:k.pathname]),pathnameBase:k.pathnameBase==="/"?h:Jt([h,s.encodeLocation?s.encodeLocation(k.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:k.pathnameBase])})),o,t,r,i)}function Uy(){let n=ex(),e=Mi(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),t=n instanceof Error?n.stack:null,r="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:r},s={padding:"2px 4px",backgroundColor:r},o=null;return console.error("Error handled by React Router default ErrorBoundary:",n),o=g.createElement(g.Fragment,null,g.createElement("p",null,"💿 Hey developer 👋"),g.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",g.createElement("code",{style:s},"ErrorBoundary")," or"," ",g.createElement("code",{style:s},"errorElement")," prop on your route.")),g.createElement(g.Fragment,null,g.createElement("h2",null,"Unexpected Application Error!"),g.createElement("h3",{style:{fontStyle:"italic"}},e),t?g.createElement("pre",{style:i},t):null,o)}var Ky=g.createElement(Uy,null),mm=class extends g.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,e){return e.location!==n.location||e.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:e.error,location:e.location,revalidation:n.revalidation||e.revalidation}}componentDidCatch(n,e){this.props.onError?this.props.onError(n,e):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const t=Fy(n.digest);t&&(n=t)}let e=n!==void 0?g.createElement(Nt.Provider,{value:this.props.routeContext},g.createElement(lh.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?g.createElement(Gy,{error:n},e):e}};mm.contextType=lm;var tl=new WeakMap;function Gy({children:n,error:e}){let{basename:t}=g.useContext(xt);if(typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){let r=$y(e.digest);if(r){let i=tl.get(e);if(i)throw i;let s=Qp(r.location,t);if(Yp&&!tl.get(e))if(s.isExternal||r.reloadDocument)window.location.href=s.absoluteURL||s.to;else{const o=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(s.to,{replace:r.replace}));throw tl.set(e,o),o}return g.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s.absoluteURL||s.to}`})}}return n}function qy({routeContext:n,match:e,children:t}){let r=g.useContext(ar);return r&&r.static&&r.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=e.route.id),g.createElement(Nt.Provider,{value:n},t)}function Yy(n,e=[],t=null,r=null,i=null){if(n==null){if(!t)return null;if(t.errors)n=t.matches;else if(e.length===0&&!t.initialized&&t.matches.length>0)n=t.matches;else return null}let s=n,o=t?.errors;if(o!=null){let h=s.findIndex(d=>d.route.id&&o?.[d.route.id]!==void 0);ue(h>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),s=s.slice(0,Math.min(s.length,h+1))}let a=!1,l=-1;if(t)for(let h=0;h<s.length;h++){let d=s[h];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(l=h),d.route.id){let{loaderData:f,errors:p}=t,m=d.route.loader&&!f.hasOwnProperty(d.route.id)&&(!p||p[d.route.id]===void 0);if(d.route.lazy||m){a=!0,l>=0?s=s.slice(0,l+1):s=[s[0]];break}}}let c=t&&r?(h,d)=>{r(h,{location:t.location,params:t.matches?.[0]?.params??{},unstable_pattern:Rs(t.matches),errorInfo:d})}:void 0;return s.reduceRight((h,d,f)=>{let p,m=!1,b=null,y=null;t&&(p=o&&d.route.id?o[d.route.id]:void 0,b=d.route.errorElement||Ky,a&&(l<0&&f===0?(gm("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),m=!0,y=null):l===f&&(m=!0,y=d.route.hydrateFallbackElement||null)));let v=e.concat(s.slice(0,f+1)),k=()=>{let S;return p?S=b:m?S=y:d.route.Component?S=g.createElement(d.route.Component,null):d.route.element?S=d.route.element:S=h,g.createElement(qy,{match:d,routeContext:{outlet:h,matches:v,isDataRoute:t!=null},children:S})};return t&&(d.route.ErrorBoundary||d.route.errorElement||f===0)?g.createElement(mm,{location:t.location,revalidation:t.revalidation,component:b,error:p,children:k(),routeContext:{outlet:null,matches:v,isDataRoute:!0},onError:c}):k()},null)}function ch(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Qy(n){let e=g.useContext(ar);return ue(e,ch(n)),e}function Jy(n){let e=g.useContext(Ls);return ue(e,ch(n)),e}function Xy(n){let e=g.useContext(Nt);return ue(e,ch(n)),e}function hh(n){let e=Xy(n),t=e.matches[e.matches.length-1];return ue(t.route.id,`${n} can only be used on routes that contain a unique "id"`),t.route.id}function Zy(){return hh("useRouteId")}function ex(){let n=g.useContext(lh),e=Jy("useRouteError"),t=hh("useRouteError");return n!==void 0?n:e.errors?.[t]}function tx(){let{router:n}=Qy("useNavigate"),e=hh("useNavigate"),t=g.useRef(!1);return dm(()=>{t.current=!0}),g.useCallback(async(i,s={})=>{Re(t.current,um),t.current&&(typeof i=="number"?await n.navigate(i):await n.navigate(i,{fromRouteId:e,...s}))},[n,e])}var zu={};function gm(n,e,t){!e&&!zu[n]&&(zu[n]=!0,Re(!1,t))}var Hu={};function Wu(n,e){!n&&!Hu[e]&&(Hu[e]=!0,console.warn(e))}var nx="useOptimistic",_u=m1[nx],rx=()=>{};function ix(n){return _u?_u(n):[n,rx]}function sx(n){let e={hasErrorBoundary:n.hasErrorBoundary||n.ErrorBoundary!=null||n.errorElement!=null};return n.Component&&(n.element&&Re(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(e,{element:g.createElement(n.Component),Component:void 0})),n.HydrateFallback&&(n.hydrateFallbackElement&&Re(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(e,{hydrateFallbackElement:g.createElement(n.HydrateFallback),HydrateFallback:void 0})),n.ErrorBoundary&&(n.errorElement&&Re(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(e,{errorElement:g.createElement(n.ErrorBoundary),ErrorBoundary:void 0})),e}var ox=["HydrateFallback","hydrateFallbackElement"],ax=class{constructor(){this.status="pending",this.promise=new Promise((n,e)=>{this.resolve=t=>{this.status==="pending"&&(this.status="resolved",n(t))},this.reject=t=>{this.status==="pending"&&(this.status="rejected",e(t))}})}};function lx({router:n,flushSync:e,onError:t,unstable_useTransitions:r}){r=Ry()||r;let[s,o]=g.useState(n.state),[a,l]=ix(s),[c,h]=g.useState(),[d,f]=g.useState({isTransitioning:!1}),[p,m]=g.useState(),[b,y]=g.useState(),[v,k]=g.useState(),S=g.useRef(new Map),O=g.useCallback((N,{deletedFetchers:D,newErrors:L,flushSync:R,viewTransitionOpts:B})=>{L&&t&&Object.values(L).forEach(V=>t(V,{location:N.location,params:N.matches[0]?.params??{},unstable_pattern:Rs(N.matches)})),N.fetchers.forEach((V,$)=>{V.data!==void 0&&S.current.set($,V.data)}),D.forEach(V=>S.current.delete(V)),Wu(R===!1||e!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let G=n.window!=null&&n.window.document!=null&&typeof n.window.document.startViewTransition=="function";if(Wu(B==null||G,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!B||!G){e&&R?e(()=>o(N)):r===!1?o(N):g.startTransition(()=>{r===!0&&l(V=>Uu(V,N)),o(N)});return}if(e&&R){e(()=>{b&&(p?.resolve(),b.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:B.currentLocation,nextLocation:B.nextLocation})});let V=n.window.document.startViewTransition(()=>{e(()=>o(N))});V.finished.finally(()=>{e(()=>{m(void 0),y(void 0),h(void 0),f({isTransitioning:!1})})}),e(()=>y(V));return}b?(p?.resolve(),b.skipTransition(),k({state:N,currentLocation:B.currentLocation,nextLocation:B.nextLocation})):(h(N),f({isTransitioning:!0,flushSync:!1,currentLocation:B.currentLocation,nextLocation:B.nextLocation}))},[n.window,e,b,p,r,l,t]);g.useLayoutEffect(()=>n.subscribe(O),[n,O]),g.useEffect(()=>{d.isTransitioning&&!d.flushSync&&m(new ax)},[d]),g.useEffect(()=>{if(p&&c&&n.window){let N=c,D=p.promise,L=n.window.document.startViewTransition(async()=>{r===!1?o(N):g.startTransition(()=>{r===!0&&l(R=>Uu(R,N)),o(N)}),await D});L.finished.finally(()=>{m(void 0),y(void 0),h(void 0),f({isTransitioning:!1})}),y(L)}},[c,p,n.window,r,l]),g.useEffect(()=>{p&&c&&a.location.key===c.location.key&&p.resolve()},[p,b,a.location,c]),g.useEffect(()=>{!d.isTransitioning&&v&&(h(v.state),f({isTransitioning:!0,flushSync:!1,currentLocation:v.currentLocation,nextLocation:v.nextLocation}),k(void 0))},[d.isTransitioning,v]);let C=g.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:N=>n.navigate(N),push:(N,D,L)=>n.navigate(N,{state:D,preventScrollReset:L?.preventScrollReset}),replace:(N,D,L)=>n.navigate(N,{replace:!0,state:D,preventScrollReset:L?.preventScrollReset})}),[n]),P=n.basename||"/",x=g.useMemo(()=>({router:n,navigator:C,static:!1,basename:P,onError:t}),[n,C,P,t]);return g.createElement(g.Fragment,null,g.createElement(ar.Provider,{value:x},g.createElement(Ls.Provider,{value:a},g.createElement(cm.Provider,{value:S.current},g.createElement(ah.Provider,{value:d},g.createElement(dx,{basename:P,location:a.location,navigationType:a.historyAction,navigator:C,unstable_useTransitions:r},g.createElement(cx,{routes:n.routes,future:n.future,state:a,onError:t})))))),null)}function Uu(n,e){return{...n,navigation:e.navigation.state!=="idle"?e.navigation:n.navigation,revalidation:e.revalidation!=="idle"?e.revalidation:n.revalidation,actionData:e.navigation.state!=="submitting"?e.actionData:n.actionData,fetchers:e.fetchers}}var cx=g.memo(hx);function hx({routes:n,future:e,state:t,onError:r}){return _y(n,void 0,t,r,e)}function nl({to:n,replace:e,state:t,relative:r}){ue(Fr(),"<Navigate> may be used only in the context of a <Router> component.");let{static:i}=g.useContext(xt);Re(!i,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:s}=g.useContext(Nt),{pathname:o}=en(),a=gn(),l=Pa(n,Oa(s),o,r==="path"),c=JSON.stringify(l);return g.useEffect(()=>{a(JSON.parse(c),{replace:e,state:t,relative:r})},[a,c,r,e,t]),null}function ux(n){return Wy(n.context)}function dx({basename:n="/",children:e=null,location:t,navigationType:r="POP",navigator:i,static:s=!1,unstable_useTransitions:o}){ue(!Fr(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let a=n.replace(/^\/*/,"/"),l=g.useMemo(()=>({basename:a,navigator:i,static:s,unstable_useTransitions:o,future:{}}),[a,i,s,o]);typeof t=="string"&&(t=$n(t));let{pathname:c="/",search:h="",hash:d="",state:f=null,key:p="default"}=t,m=g.useMemo(()=>{let b=At(c,a);return b==null?null:{location:{pathname:b,search:h,hash:d,state:f,key:p},navigationType:r}},[a,c,h,d,f,p,r]);return Re(m!=null,`<Router basename="${a}"> is not able to match the URL "${c}${h}${d}" because it does not start with the basename, so the <Router> won't render anything.`),m==null?null:g.createElement(xt.Provider,{value:l},g.createElement(Aa.Provider,{children:e,value:m}))}var $o="get",Fo="application/x-www-form-urlencoded";function Ma(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function fx(n){return Ma(n)&&n.tagName.toLowerCase()==="button"}function px(n){return Ma(n)&&n.tagName.toLowerCase()==="form"}function mx(n){return Ma(n)&&n.tagName.toLowerCase()==="input"}function gx(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function bx(n,e){return n.button===0&&(!e||e==="_self")&&!gx(n)}var oo=null;function yx(){if(oo===null)try{new FormData(document.createElement("form"),0),oo=!1}catch{oo=!0}return oo}var xx=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function rl(n){return n!=null&&!xx.has(n)?(Re(!1,`"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Fo}"`),null):n}function vx(n,e){let t,r,i,s,o;if(px(n)){let a=n.getAttribute("action");r=a?At(a,e):null,t=n.getAttribute("method")||$o,i=rl(n.getAttribute("enctype"))||Fo,s=new FormData(n)}else if(fx(n)||mx(n)&&(n.type==="submit"||n.type==="image")){let a=n.form;if(a==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=n.getAttribute("formaction")||a.getAttribute("action");if(r=l?At(l,e):null,t=n.getAttribute("formmethod")||a.getAttribute("method")||$o,i=rl(n.getAttribute("formenctype"))||rl(a.getAttribute("enctype"))||Fo,s=new FormData(a,n),!yx()){let{name:c,type:h,value:d}=n;if(h==="image"){let f=c?`${c}.`:"";s.append(`${f}x`,"0"),s.append(`${f}y`,"0")}else c&&s.append(c,d)}}else{if(Ma(n))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=$o,r=null,i=Fo,o=n}return s&&i==="text/plain"&&(o=s,s=void 0),{action:r,method:t.toLowerCase(),encType:i,formData:s,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function uh(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function wx(n,e,t){let r=typeof n=="string"?new URL(n,typeof window>"u"?"server://singlefetch/":window.location.origin):n;return r.pathname==="/"?r.pathname=`_root.${t}`:e&&At(r.pathname,e)==="/"?r.pathname=`${e.replace(/\/$/,"")}/_root.${t}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${t}`,r}async function kx(n,e){if(n.id in e)return e[n.id];try{let t=await import(n.module);return e[n.id]=t,t}catch(t){return console.error(`Error loading route module \`${n.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Sx(n){return n==null?!1:n.href==null?n.rel==="preload"&&typeof n.imageSrcSet=="string"&&typeof n.imageSizes=="string":typeof n.rel=="string"&&typeof n.href=="string"}async function Cx(n,e,t){let r=await Promise.all(n.map(async i=>{let s=e.routes[i.route.id];if(s){let o=await kx(s,t);return o.links?o.links():[]}return[]}));return Ax(r.flat(1).filter(Sx).filter(i=>i.rel==="stylesheet"||i.rel==="preload").map(i=>i.rel==="stylesheet"?{...i,rel:"prefetch",as:"style"}:{...i,rel:"prefetch"}))}function Ku(n,e,t,r,i,s){let o=(l,c)=>t[c]?l.route.id!==t[c].route.id:!0,a=(l,c)=>t[c].pathname!==l.pathname||t[c].route.path?.endsWith("*")&&t[c].params["*"]!==l.params["*"];return s==="assets"?e.filter((l,c)=>o(l,c)||a(l,c)):s==="data"?e.filter((l,c)=>{let h=r.routes[l.route.id];if(!h||!h.hasLoader)return!1;if(o(l,c)||a(l,c))return!0;if(l.route.shouldRevalidate){let d=l.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:t[0]?.params||{},nextUrl:new URL(n,window.origin),nextParams:l.params,defaultShouldRevalidate:!0});if(typeof d=="boolean")return d}return!0}):[]}function jx(n,e,{includeHydrateFallback:t}={}){return Ox(n.map(r=>{let i=e.routes[r.route.id];if(!i)return[];let s=[i.module];return i.clientActionModule&&(s=s.concat(i.clientActionModule)),i.clientLoaderModule&&(s=s.concat(i.clientLoaderModule)),t&&i.hydrateFallbackModule&&(s=s.concat(i.hydrateFallbackModule)),i.imports&&(s=s.concat(i.imports)),s}).flat(1))}function Ox(n){return[...new Set(n)]}function Px(n){let e={},t=Object.keys(n).sort();for(let r of t)e[r]=n[r];return e}function Ax(n,e){let t=new Set;return new Set(e),n.reduce((r,i)=>{let s=JSON.stringify(Px(i));return t.has(s)||(t.add(s),r.push({key:s,link:i})),r},[])}function bm(){let n=g.useContext(ar);return uh(n,"You must render this element inside a <DataRouterContext.Provider> element"),n}function Mx(){let n=g.useContext(Ls);return uh(n,"You must render this element inside a <DataRouterStateContext.Provider> element"),n}var dh=g.createContext(void 0);dh.displayName="FrameworkContext";function ym(){let n=g.useContext(dh);return uh(n,"You must render this element inside a <HydratedRouter> element"),n}function Nx(n,e){let t=g.useContext(dh),[r,i]=g.useState(!1),[s,o]=g.useState(!1),{onFocus:a,onBlur:l,onMouseEnter:c,onMouseLeave:h,onTouchStart:d}=e,f=g.useRef(null);g.useEffect(()=>{if(n==="render"&&o(!0),n==="viewport"){let b=v=>{v.forEach(k=>{o(k.isIntersecting)})},y=new IntersectionObserver(b,{threshold:.5});return f.current&&y.observe(f.current),()=>{y.disconnect()}}},[n]),g.useEffect(()=>{if(r){let b=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(b)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return t?n!=="intent"?[s,f,{}]:[s,f,{onFocus:ni(a,p),onBlur:ni(l,m),onMouseEnter:ni(c,p),onMouseLeave:ni(h,m),onTouchStart:ni(d,p)}]:[!1,f,{}]}function ni(n,e){return t=>{n&&n(t),t.defaultPrevented||e(t)}}function Dx({page:n,...e}){let{router:t}=bm(),r=g.useMemo(()=>Sn(t.routes,n,t.basename),[t.routes,n,t.basename]);return r?g.createElement(Ex,{page:n,matches:r,...e}):null}function Tx(n){let{manifest:e,routeModules:t}=ym(),[r,i]=g.useState([]);return g.useEffect(()=>{let s=!1;return Cx(n,e,t).then(o=>{s||i(o)}),()=>{s=!0}},[n,e,t]),r}function Ex({page:n,matches:e,...t}){let r=en(),{manifest:i,routeModules:s}=ym(),{basename:o}=bm(),{loaderData:a,matches:l}=Mx(),c=g.useMemo(()=>Ku(n,e,l,i,r,"data"),[n,e,l,i,r]),h=g.useMemo(()=>Ku(n,e,l,i,r,"assets"),[n,e,l,i,r]),d=g.useMemo(()=>{if(n===r.pathname+r.search+r.hash)return[];let m=new Set,b=!1;if(e.forEach(v=>{let k=i.routes[v.route.id];!k||!k.hasLoader||(!c.some(S=>S.route.id===v.route.id)&&v.route.id in a&&s[v.route.id]?.shouldRevalidate||k.hasClientLoader?b=!0:m.add(v.route.id))}),m.size===0)return[];let y=wx(n,o,"data");return b&&m.size>0&&y.searchParams.set("_routes",e.filter(v=>m.has(v.route.id)).map(v=>v.route.id).join(",")),[y.pathname+y.search]},[o,a,r,i,c,e,n,s]),f=g.useMemo(()=>jx(h,i),[h,i]),p=Tx(h);return g.createElement(g.Fragment,null,d.map(m=>g.createElement("link",{key:m,rel:"prefetch",as:"fetch",href:m,...t})),f.map(m=>g.createElement("link",{key:m,rel:"modulepreload",href:m,...t})),p.map(({key:m,link:b})=>g.createElement("link",{key:m,nonce:t.nonce,...b})))}function Rx(...n){return e=>{n.forEach(t=>{typeof t=="function"?t(e):t!=null&&(t.current=e)})}}var Lx=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Lx&&(window.__reactRouterVersion="7.11.0")}catch{}function Ix(n,e){return cy({basename:e?.basename,getContext:e?.getContext,future:e?.future,history:j1({window:e?.window}),hydrationData:Bx(),routes:n,mapRouteProperties:sx,hydrationRouteProperties:ox,dataStrategy:e?.dataStrategy,patchRoutesOnNavigation:e?.patchRoutesOnNavigation,window:e?.window,unstable_instrumentations:e?.unstable_instrumentations}).initialize()}function Bx(){let n=window?.__staticRouterHydrationData;return n&&n.errors&&(n={...n,errors:$x(n.errors)}),n}function $x(n){if(!n)return null;let e=Object.entries(n),t={};for(let[r,i]of e)if(i&&i.__type==="RouteErrorResponse")t[r]=new Es(i.status,i.statusText,i.data,i.internal===!0);else if(i&&i.__type==="Error"){if(i.__subType){let s=window[i.__subType];if(typeof s=="function")try{let o=new s(i.message);o.stack="",t[r]=o}catch{}}if(t[r]==null){let s=new Error(i.message);s.stack="",t[r]=s}}else t[r]=i;return t}var xm=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,vm=g.forwardRef(function({onClick:e,discover:t="render",prefetch:r="none",relative:i,reloadDocument:s,replace:o,state:a,target:l,to:c,preventScrollReset:h,viewTransition:d,unstable_defaultShouldRevalidate:f,...p},m){let{basename:b,unstable_useTransitions:y}=g.useContext(xt),v=typeof c=="string"&&xm.test(c),k=Qp(c,b);c=k.to;let S=Vy(c,{relative:i}),[O,C,P]=Nx(r,p),x=Hx(c,{replace:o,state:a,target:l,preventScrollReset:h,relative:i,viewTransition:d,unstable_defaultShouldRevalidate:f,unstable_useTransitions:y});function N(L){e&&e(L),L.defaultPrevented||x(L)}let D=g.createElement("a",{...p,...P,href:k.absoluteURL||S,onClick:k.isExternal||s?e:N,ref:Rx(m,C),target:l,"data-discover":!v&&t==="render"?"true":void 0});return O&&!v?g.createElement(g.Fragment,null,D,g.createElement(Dx,{page:S})):D});vm.displayName="Link";var Fx=g.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:r="",end:i=!1,style:s,to:o,viewTransition:a,children:l,...c},h){let d=Is(o,{relative:c.relative}),f=en(),p=g.useContext(Ls),{navigator:m,basename:b}=g.useContext(xt),y=p!=null&&Gx(d)&&a===!0,v=m.encodeLocation?m.encodeLocation(d).pathname:d.pathname,k=f.pathname,S=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;t||(k=k.toLowerCase(),S=S?S.toLowerCase():null,v=v.toLowerCase()),S&&b&&(S=At(S,b)||S);const O=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let C=k===v||!i&&k.startsWith(v)&&k.charAt(O)==="/",P=S!=null&&(S===v||!i&&S.startsWith(v)&&S.charAt(v.length)==="/"),x={isActive:C,isPending:P,isTransitioning:y},N=C?e:void 0,D;typeof r=="function"?D=r(x):D=[r,C?"active":null,P?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let L=typeof s=="function"?s(x):s;return g.createElement(vm,{...c,"aria-current":N,className:D,ref:h,style:L,to:o,viewTransition:a},typeof l=="function"?l(x):l)});Fx.displayName="NavLink";var Vx=g.forwardRef(({discover:n="render",fetcherKey:e,navigate:t,reloadDocument:r,replace:i,state:s,method:o=$o,action:a,onSubmit:l,relative:c,preventScrollReset:h,viewTransition:d,unstable_defaultShouldRevalidate:f,...p},m)=>{let{unstable_useTransitions:b}=g.useContext(xt),y=Ux(),v=Kx(a,{relative:c}),k=o.toLowerCase()==="get"?"get":"post",S=typeof a=="string"&&xm.test(a),O=C=>{if(l&&l(C),C.defaultPrevented)return;C.preventDefault();let P=C.nativeEvent.submitter,x=P?.getAttribute("formmethod")||o,N=()=>y(P||C.currentTarget,{fetcherKey:e,method:x,navigate:t,replace:i,state:s,relative:c,preventScrollReset:h,viewTransition:d,unstable_defaultShouldRevalidate:f});b&&t!==!1?g.startTransition(()=>N()):N()};return g.createElement("form",{ref:m,method:k,action:v,onSubmit:r?l:O,...p,"data-discover":!S&&n==="render"?"true":void 0})});Vx.displayName="Form";function zx(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function wm(n){let e=g.useContext(ar);return ue(e,zx(n)),e}function Hx(n,{target:e,replace:t,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a,unstable_useTransitions:l}={}){let c=gn(),h=en(),d=Is(n,{relative:s});return g.useCallback(f=>{if(bx(f,e)){f.preventDefault();let p=t!==void 0?t:Zt(h)===Zt(d),m=()=>c(n,{replace:p,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a});l?g.startTransition(()=>m()):m()}},[h,c,d,t,r,e,n,i,s,o,a,l])}var Wx=0,_x=()=>`__${String(++Wx)}__`;function Ux(){let{router:n}=wm("useSubmit"),{basename:e}=g.useContext(xt),t=Zy(),r=n.fetch,i=n.navigate;return g.useCallback(async(s,o={})=>{let{action:a,method:l,encType:c,formData:h,body:d}=vx(s,e);if(o.navigate===!1){let f=o.fetcherKey||_x();await r(f,t,o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:h,body:d,formMethod:o.method||l,formEncType:o.encType||c,flushSync:o.flushSync})}else await i(o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:h,body:d,formMethod:o.method||l,formEncType:o.encType||c,replace:o.replace,state:o.state,fromRouteId:t,flushSync:o.flushSync,viewTransition:o.viewTransition})},[r,i,e,t])}function Kx(n,{relative:e}={}){let{basename:t}=g.useContext(xt),r=g.useContext(Nt);ue(r,"useFormAction must be used inside a RouteContext");let[i]=r.matches.slice(-1),s={...Is(n||".",{relative:e})},o=en();if(n==null){s.search=o.search;let a=new URLSearchParams(s.search),l=a.getAll("index");if(l.some(h=>h==="")){a.delete("index"),l.filter(d=>d).forEach(d=>a.append("index",d));let h=a.toString();s.search=h?`?${h}`:""}}return(!n||n===".")&&i.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(s.pathname=s.pathname==="/"?t:Jt([t,s.pathname])),Zt(s)}function Gx(n,{relative:e}={}){let t=g.useContext(ah);ue(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=wm("useViewTransitionState"),i=Is(n,{relative:e});if(!t.isTransitioning)return!1;let s=At(t.currentLocation.pathname,r)||t.currentLocation.pathname,o=At(t.nextLocation.pathname,r)||t.nextLocation.pathname;return Qo(i.pathname,o)!=null||Qo(i.pathname,s)!=null}function qx(n){return g.createElement(lx,{flushSync:Vp.flushSync,...n})}const Yx={en:{loading:"Loading...",error:"Error",selectProject:"Select a project to view dashboard",controlCenter:"Control Center",settings:"Settings",sync:"Sync",offline:"Offline",switchToLight:"Switch to light mode",switchToDark:"Switch to dark mode",settingsSection:"Settings",configEditor:"Config Editor",projects:"Projects",addProject:"Add Project",global:"Global",skills:"Skills",health:"Health",collapse:"Collapse",expand:"Expand",installing:"Installing...",manage:"Manage",uninstall:"Uninstall",installGlobally:"Install Globally",installGloballyDesc:"Available to all projects instead of current project only",selectAtLeastOneAgent:"Please select at least one agent",installationFailed:"Installation failed",allSkills:"All Skills",refresh:"Refresh",browseAndManageSkills:"Browse and manage skills for your agents",detected:"Detected",notDetected:"Not detected",sessions:"sessions",noSessions:"No sessions",terminal:"Terminal",terminalSub:"Open bash at path",editor:"Editor",editorSub:"Open in VS Code",launch:"Launch",launchSub:"Start Claude Code",config:"Config",configSub:"Manage project settings",recentSessions:"Recent Sessions",viewAllHistory:"View All History",showLess:"Show Less",actionFailed:"Action failed",loadingSessions:"Loading sessions...",noSessionsFound:"No sessions found",configuration:"Claude Settings",activeKit:"Active Kit",aiModel:"Model",hooks:"Hooks",active:"active",mcpServers:"MCP Servers",connected:"connected",editProjectConfig:"Edit Project Config",globalSettings:"(Global)",globalSkills:"Global Skills",loadingSkills:"Loading skills...",noDescription:"No description",browseSkillsMarketplace:"Browse Skills Marketplace",backToDashboard:"Back to Dashboard",educationalConfigEditor:"Educational Config Editor",discard:"Discard",saveChanges:"Save Changes",mergedView:"Merged View",localConfig:"Local (.ck.json)",globalConfig:"Global",syntaxValid:"Syntax Valid",configurationHelp:"Configuration Help",field:"Field",type:"Type",default:"Default",description:"Description",validValues:"Valid Values",systemEffect:"System Effect",exampleUsage:"Example Usage",knowledgeBase:"Knowledge Base",clickToSeeHelp:"Click on any configuration field to see detailed documentation and usage examples.",extractedFrom:"Extracted from ClaudeKit v2.x Specification",resetToDefault:"Reset",saving:"Saving...",saved:"Saved",confirmReset:"Reset to Default?",confirmResetMessage:"All changes will be lost and replaced with default values.",confirm:"Confirm",saveFailed:"Save failed",configTab:"Config",systemTab:"System",formTab:"Form",jsonTab:"JSON",installedKit:"Installed Kit",kitVersion:"Kit Version",installedOn:"Installed On",noKitInstalled:"No kit installed",components:"Components",agents:"Agents",commands:"Commands",workflows:"Workflows",kitSkills:"Skills",fileOwnership:"File Ownership",ownershipCk:"kit-managed",ownershipUser:"user-owned",ownershipModified:"modified",componentInventory:"Component Inventory",installedHooks:"Installed Hooks",installedMcpServers:"MCP Servers",lastChecked:"Last update check",staleIndicator:"Stale",skippedVersion:"Skipped",filesModifiedFromDefaults:"files modified from kit defaults",cliCard:"ClaudeKit CLI",checkForUpdates:"Check for Updates",checking:"Checking...",upToDate:"Up to date",updateAvailable:"Update available",updateNow:"Update Now",updating:"Updating...",updateSuccess:"Update Complete!",updateFailed:"Update Failed",closeModal:"Close",showDetails:"Show Details",hideDetails:"Hide Details",environment:"Environment",claudeConfigPath:"Claude config",nodeVersion:"Node",bunVersion:"Bun",osVersion:"OS",channelStable:"Stable",channelBeta:"Beta",betaBadge:"Beta",latestVersion:"Latest",selectVersion:"Select version",loadingVersions:"Loading versions...",prereleaseLabel:"Pre",currentVersionLabel:"Current",checkAll:"Check All",checkingAll:"Checking...",updateAll:"Update All",updatesAvailable:"{count} updates available",allUpToDate:"All up to date",systemControlTower:"System Control Tower",systemOverviewTitle:"Update & Runtime Overview",systemOverviewDesc:"Track CLI and kit health, then run upgrades from one place.",installedComponentsHeading:"Installed Components",updateReadiness:"Update Readiness",checkedComponents:"Checked",activeChannel:"Channel",readyToScan:"Ready to scan",noTrackedFiles:"No tracked files detected",kitsLabel:"Kits",componentFilterAll:"All",componentFilterUpdates:"Updates",componentFilterUpdatesCount:"Updates ({count})",componentFilterUpToDate:"Up to date",componentFilterUpToDateCount:"Up to date ({count})",componentFilterCli:"CLI",componentFilterKits:"Kits",noComponentsMatchFilter:"No components match the current filter.",runCheckAllForFilter:"Run Check All to populate this filter.",noUpdatesFound:"No updates found. Checked components are up to date.",noUpToDateYet:"No components are up to date yet.",configWorkspaceHint:"Edit configuration or manage system updates from one workspace.",addProjectTitle:"Add Project",addProjectDescription:"Add a new ClaudeKit project to the control center",projectPath:"Project Path",pathPlaceholder:"/path/to/project",alias:"Alias",aliasOptional:"(optional)",aliasPlaceholder:"my-project",aliasDescription:"Custom display name for the project",pathRequired:"Path is required",failedToAdd:"Failed to add project",cancel:"Cancel",adding:"Adding...",somethingWentWrong:"Something went wrong",reloadApp:"Reload App",serverNotRunning:"Server Not Running",startServerMessage:"The Config UI requires the backend server to be running.",runThisCommand:"Run this command",tryAgain:"Try Again",projectConfig:"Project Config",inheritedFromGlobal:"Inherited from Global",localOverride:"Local Override",viewGlobalConfig:"This field inherits from global config. View",onboardingTitle:"Welcome to ClaudeKit",onboardingSubtitle:"Choose your kit and get started in minutes",kitEngineerName:"ClaudeKit Engineer",kitEngineerTagline:"AI-powered coding with skills, hooks, and multi-agent workflows",kitMarketingName:"ClaudeKit Marketing",kitMarketingTagline:"Content automation: campaigns, social media, analytics",featureAgents:"AI Agents",featureAgentsDesc:"Specialized agents for different tasks",featureHooks:"Lifecycle Hooks",featureHooksDesc:"Customize Claude's behavior at key moments",featureSkills:"Skills Library",featureSkillsDesc:"Pre-built capabilities you can activate",featureMultiAgent:"Multi-Agent Workflows",featureMultiAgentDesc:"Coordinate multiple agents for complex tasks",featureContent:"Content Generation",featureContentDesc:"Automated content creation and optimization",featureSocial:"Social Media Tools",featureSocialDesc:"Scheduling, analytics, and engagement automation",stepChooseKit:"Choose Kit",stepConfigure:"Configure",stepInstall:"Install",back:"Back",next:"Next",install:"Install",installSuccess:"Installation Complete!",installSuccessDesc:"{kit} is ready to use",getStarted:"Get Started",goToDashboard:"Go to Dashboard",kitConfig:"Kit Config",kitConfigSubtitle:"Configure ClaudeKit Engineer settings",scopeGlobal:"Global",scopeProject:"Project",sectionGeneral:"General",sectionPaths:"Paths",sectionPrivacy:"Privacy & Trust",sectionProject:"Project Detection",sectionIntegrations:"Integrations",sectionHooks:"Hooks",sectionAdvanced:"Advanced",fieldCodingLevel:"Coding Level",fieldCodingLevelDesc:"Your coding experience level (-1=auto, 0=beginner, 1=intermediate, 2=advanced, 3=expert, 4=tech-lead, 5=god-mode)",fieldStatusline:"Statusline Mode",fieldStatuslineDesc:"How much info to show in the status line",fieldThinkingLanguage:"Thinking Language",fieldThinkingLanguageDesc:"Language for Claude's internal reasoning (null=English)",fieldResponseLanguage:"Response Language",fieldResponseLanguageDesc:"Language for Claude's responses (null=match user)",fieldDocsPath:"Docs Directory",fieldDocsPathDesc:"Path to documentation directory",fieldPlansPath:"Plans Directory",fieldPlansPathDesc:"Path to plans directory",fieldPrivacyBlock:"Privacy Block",fieldPrivacyBlockDesc:"Block access to sensitive files (.env, credentials)",fieldTrustEnabled:"Trust Mode",fieldTrustEnabledDesc:"Enable auto-approval for tool calls",fieldTrustPassphrase:"Trust Passphrase",fieldTrustPassphraseDesc:"Passphrase to enable trust mode",fieldProjectType:"Project Type",fieldProjectTypeDesc:"Override auto-detected project type",fieldPackageManager:"Package Manager",fieldPackageManagerDesc:"Override auto-detected package manager",fieldFramework:"Framework",fieldFrameworkDesc:"Override auto-detected framework",fieldGeminiModel:"Gemini Model",fieldGeminiModelDesc:"Gemini model for CLI commands",fieldResearchUseGemini:"Use Gemini for Research",fieldResearchUseGeminiDesc:"Use Gemini CLI instead of WebSearch",fieldDocsMaxLoc:"Max Lines per Doc",fieldDocsMaxLocDesc:"Maximum lines of code per documentation file",fieldPlanNamingFormat:"Plan Naming Format",fieldPlanNamingFormatDesc:"Format for plan directory names",fieldPlanDateFormat:"Plan Date Format",fieldPlanDateFormatDesc:"Date format for plan names (moment.js)",fieldPlanValidationMode:"Validation Mode",fieldPlanValidationModeDesc:"How to validate plans before implementation",fieldPlanMinQuestions:"Min Questions",fieldPlanMinQuestionsDesc:"Minimum validation questions",fieldPlanMaxQuestions:"Max Questions",fieldPlanMaxQuestionsDesc:"Maximum validation questions",fieldAssertions:"Assertions",fieldAssertionsDesc:"Code assertions and rules to enforce",fieldHookSessionInit:"Session Init",fieldHookSessionInitDesc:"Project detection and environment setup",fieldHookSubagentInit:"Subagent Init",fieldHookSubagentInitDesc:"Inject context to subagents",fieldHookDescriptiveName:"Descriptive Name",fieldHookDescriptiveNameDesc:"Enforce kebab-case descriptive file naming for scripts",fieldHookDevRulesReminder:"Dev Rules Reminder",fieldHookDevRulesReminderDesc:"Inject development rules context",fieldHookUsageContextAwareness:"Usage Context Awareness",fieldHookUsageContextAwarenessDesc:"Usage limits awareness",fieldHookContextTracking:"Context Tracking",fieldHookContextTrackingDesc:"Context window tracking (% used, token counts)",fieldHookScoutBlock:"Scout Block",fieldHookScoutBlockDesc:"Block heavy directories from exploration",fieldHookPrivacyBlock:"Privacy Block Hook",fieldHookPrivacyBlockDesc:"Block sensitive files from reading",fieldHookPostEditSimplify:"Post-Edit Simplify",fieldHookPostEditSimplifyDesc:"Simplify reminder after edits",skillsPageTitle:"Skills Management",skillsPageDesc:"Install ClaudeKit skills to your coding agents",availableSkills:"Available Skills",installedSkills:"Installed Skills",noSkillsFound:"No skills found",installSkill:"Install",uninstallSkill:"Uninstall",manageSkill:"Manage",syncRegistry:"Sync",installSkillTitle:"Install Skill",selectAgents:"Select target agents",installLocation:"Installation location",globalInstall:"Global",projectInstall:"Project",confirmInstall:"Install to selected agents",installingSkill:"Installing...",skillInstallSuccess:"Skill installed successfully",skillInstallFailed:"Installation failed",agentClaudeCode:"Claude Code",agentCursor:"Cursor",agentCodex:"Codex",agentOpencode:"OpenCode",agentGoose:"Goose",agentGeminiCli:"Gemini CLI",agentAntigravity:"Antigravity",agentGithubCopilot:"GitHub Copilot",agentAmp:"Amp",agentKilo:"Kilo",agentRoo:"Roo",agentWindsurf:"Windsurf",agentCline:"Cline",agentOpenhands:"OpenHands",installed:"Installed",notInstalled:"Not installed",allAgents:"All Agents",filterByAgent:"Filter by agent",skillsTitle:"Skills",skillsSubtitle:"Browse, install, and manage skills for your coding agents",availableCount:"Available",installedCount:"Installed",agentsCount:"Agents",searchSkills:"Search skills...",searchShortcut:"/",sortAZ:"A-Z",sortCategory:"Category",sortInstalledFirst:"Installed first",listView:"List view",gridView:"Grid view",categoryAll:"All",categoryAI:"AI",categoryUIUX:"UI/UX",categoryBackend:"Backend",categorySecurity:"Security",categoryDevOps:"DevOps",categoryDatabase:"Database",categoryDevelopment:"Development",categoryResearch:"Research",categoryGeneral:"General",categoryCore:"Core",categoryDocumentation:"Documentation",categoryTooling:"Tooling",categoryMedia:"Media",categoryFrameworks:"Frameworks",skillsCountLabel:"{count} skills",installToAll:"Install to All Detected",scopeLabel:"Installation Scope",agentInstalled:"Installed",agentNotInstalled:"Not installed",skillSource:"Source location",skillSourceBadge:"Source",detailPanelClose:"Close",versionLabel:"v{version}",installAllToAllAgents:"Install All to All Agents",bulkInstallFailed:"Bulk install failed",noAgentsDetected:"No agents detected",kitBadgeEngineer:"Engineer",kitBadgeMarketing:"Marketing",customizedBadge:"Customized",installedVersionLabel:"Installed Version",installedAtLabel:"Installed At",sourceTimestampLabel:"Source Date",kitLabel:"Kit",skillMetadata:"Skill Info",migrate:"Migrate",migrateTitle:"Migrate",migrateSubtitle:"Migrate your Claude Code stack to other providers",migrateDetectedProviders:"Detected",migrateSelectedProviders:"Selected",migrateDiscovering:"Discovering migration sources...",migrateRefresh:"Refresh Discovery",migrateRun:"Run Migration",migrateRunning:"Migrating...",migrateSourceSummary:"Source Summary",migratePresetCodex:"Codex",migratePresetAntigravity:"Antigravity",migratePresetBoth:"Codex + Antigravity",migratePresetDetected:"All Detected",migrateScope:"Scope",migrateScopeProject:"Project",migrateScopeGlobal:"Global",migrateTypes:"Portable Types",migrateTypeAgents:"Subagents",migrateTypeCommands:"Commands",migrateTypeSkills:"Skills",migrateTypeConfig:"Config",migrateTypeRules:"Rules",migrateSearchProviders:"Search providers...",migrateSelectVisible:"Select Visible",migrateClearSelection:"Clear Selection",migrateProvidersHeading:"Target Providers",migrateProvidersCountSuffix:"providers",migrateNoProvidersMatch:"No providers match current filters.",migrateSelectButton:"Select",migrateSelectedButton:"Selected",migrateSelectProviderAction:"Select Provider",migrateUnselectProvider:"Unselect Provider",migrateCapabilitiesLabel:"types",migrateCapabilitiesSection:"Capability Matrix",migrateSupported:"Supported",migrateUnsupportedShort:"Unsupported",migrateIncludedEnabled:"Enabled",migrateIncludedDisabled:"Disabled",migrateLatestTarget:"Latest Target",migrateNoResultForProvider:"No migration result for this provider yet.",migrateActionSummaryTitle:"Ready to Migrate",migrateGlobalOnlyCommandsShort:"Commands global-only",migrateNoProviders:"No providers available.",migrateUnsupported:"Will be skipped (unsupported)",migrateGlobalForced:"Codex commands are global-only. Scope will be forced to global.",migrateResults:"Migration Results",migrateInstalled:"Installed",migrateSkipped:"Skipped",migrateFailed:"Failed",migrateProvider:"Provider",migrateStatus:"Status",migratePath:"Path",migrateError:"Error",migrateStatusInstalled:"Installed",migrateStatusSkipped:"Skipped",migrateStatusFailed:"Failed",migrateNoResults:"No migration results yet.",migrateDetectFailed:"Failed to discover migration data",migrateExecuteFailed:"Migration execution failed",migrateSelectProvider:"Select at least one provider",migrateNoTypesEnabled:"Enable at least one portable type",migrateDetectedTag:"Detected",migrateNotDetectedTag:"Not detected",migrateFilterRecommended:"Recommended",migrateActionInstall:"Install",migrateActionUpdate:"Update",migrateActionSkip:"Skip",migrateActionConflict:"Conflict",migrateActionDelete:"Delete",migrateUnchanged:"unchanged",migrateConflictSectionTitle:"Conflicts",migrateConflictUseCK:"Use CK",migrateConflictKeepMine:"Keep Mine",migrateConflictSmartMerge:"Smart Merge",migrateConflictShowDiff:"Show Diff",migrateConflictHideDiff:"Hide Diff",migrateConflictResolved:"Resolved",migrateConflictManual:"Manual",migrateConflictOverwriteAll:"Overwrite All",migrateConflictKeepAll:"Keep All",migrateSummaryTitle:"Migration Complete",migrateSummaryNewMigration:"New Migration",migrateType:"Type",migrateItem:"Item",migrateReconciling:"Analyzing changes...",migrateReviewPlan:"Review Plan",migrateExecutePlan:"Execute Migration",migrateExecuting:"Executing migration...",migrateResolveConflicts:"Resolve all conflicts before executing",developmentFeature:"Development",betaFeature:"Beta",experimentalFeature:"Experimental"},vi:{loading:"Đang tải...",error:"Lỗi",selectProject:"Chọn dự án để xem bảng điều khiển",controlCenter:"Trung tâm điều khiển",settings:"Cài đặt",sync:"Đồng bộ",offline:"Ngoại tuyến",switchToLight:"Chuyển sang chế độ sáng",switchToDark:"Chuyển sang chế độ tối",settingsSection:"Cài đặt",configEditor:"Trình chỉnh sửa cấu hình",projects:"Dự án",addProject:"Thêm dự án",global:"Toàn cục",skills:"Kỹ năng",health:"Sức khỏe",collapse:"Thu gọn",expand:"Mở rộng",installing:"Đang cài đặt...",manage:"Quản lý",uninstall:"Gỡ cài đặt",installGlobally:"Cài đặt toàn cục",installGloballyDesc:"Khả dụng cho tất cả dự án thay vì chỉ dự án hiện tại",selectAtLeastOneAgent:"Vui lòng chọn ít nhất một agent",installationFailed:"Cài đặt thất bại",allSkills:"Tất cả kỹ năng",refresh:"Làm mới",browseAndManageSkills:"Duyệt và quản lý kỹ năng cho agents của bạn",detected:"Đã phát hiện",notDetected:"Chưa phát hiện",sessions:"phiên",noSessions:"Không có phiên",terminal:"Terminal",terminalSub:"Mở bash tại đường dẫn",editor:"Trình soạn thảo",editorSub:"Mở trong VS Code",launch:"Khởi chạy",launchSub:"Bắt đầu Claude Code",config:"Cấu hình",configSub:"Quản lý cài đặt dự án",recentSessions:"Phiên gần đây",viewAllHistory:"Xem tất cả lịch sử",showLess:"Thu gọn",actionFailed:"Thao tác thất bại",loadingSessions:"Đang tải phiên...",noSessionsFound:"Không tìm thấy phiên nào",configuration:"Cài đặt Claude",activeKit:"Kit hoạt động",aiModel:"Mô hình",hooks:"Hooks",active:"hoạt động",mcpServers:"Máy chủ MCP",connected:"kết nối",editProjectConfig:"Chỉnh sửa cấu hình dự án",globalSettings:"(Toàn cục)",globalSkills:"Kỹ năng toàn cục",loadingSkills:"Đang tải kỹ năng...",noDescription:"Không có mô tả",browseSkillsMarketplace:"Duyệt Skills Marketplace",backToDashboard:"Quay lại bảng điều khiển",educationalConfigEditor:"Trình chỉnh sửa cấu hình hướng dẫn",discard:"Hủy bỏ",saveChanges:"Lưu thay đổi",mergedView:"Chế độ gộp",localConfig:"Cục bộ (.ck.json)",globalConfig:"Toàn cục",syntaxValid:"Cú pháp hợp lệ",configurationHelp:"Hướng dẫn cấu hình",field:"Trường",type:"Kiểu",default:"Mặc định",description:"Mô tả",validValues:"Giá trị hợp lệ",systemEffect:"Hiệu ứng hệ thống",exampleUsage:"Ví dụ sử dụng",knowledgeBase:"Cơ sở kiến thức",clickToSeeHelp:"Nhấp vào bất kỳ trường cấu hình nào để xem tài liệu chi tiết và ví dụ sử dụng.",extractedFrom:"Trích xuất từ ClaudeKit v2.x Specification",resetToDefault:"Đặt lại",saving:"Đang lưu...",saved:"Đã lưu",confirmReset:"Đặt lại về mặc định?",confirmResetMessage:"Tất cả thay đổi sẽ bị mất và được thay thế bằng giá trị mặc định.",confirm:"Xác nhận",saveFailed:"Lưu thất bại",configTab:"Cấu hình",systemTab:"Hệ thống",formTab:"Biểu mẫu",jsonTab:"JSON",installedKit:"Kit đã cài",kitVersion:"Phiên bản Kit",installedOn:"Cài đặt vào",noKitInstalled:"Chưa cài kit",components:"Thành phần",agents:"Agents",commands:"Commands",workflows:"Workflows",kitSkills:"Skills",fileOwnership:"Quyền sở hữu tệp",ownershipCk:"do kit quản lý",ownershipUser:"do người dùng",ownershipModified:"đã chỉnh sửa",componentInventory:"Thành phần đã cài",installedHooks:"Hooks đã cài",installedMcpServers:"MCP Servers",lastChecked:"Kiểm tra cập nhật",staleIndicator:"Cũ",skippedVersion:"Đã bỏ qua",filesModifiedFromDefaults:"tệp đã sửa so với mặc định",cliCard:"ClaudeKit CLI",checkForUpdates:"Kiểm tra cập nhật",checking:"Đang kiểm tra...",upToDate:"Đã cập nhật",updateAvailable:"Có bản cập nhật",updateNow:"Cập nhật ngay",updating:"Đang cập nhật...",updateSuccess:"Cập nhật hoàn tất!",updateFailed:"Cập nhật thất bại",closeModal:"Đóng",showDetails:"Xem chi tiết",hideDetails:"Ẩn chi tiết",environment:"Môi trường",claudeConfigPath:"Cấu hình Claude",nodeVersion:"Node",bunVersion:"Bun",osVersion:"Hệ điều hành",channelStable:"Ổn định",channelBeta:"Beta",betaBadge:"Beta",latestVersion:"Mới nhất",selectVersion:"Chọn phiên bản",loadingVersions:"Đang tải...",prereleaseLabel:"Thử nghiệm",currentVersionLabel:"Hiện tại",checkAll:"Kiểm tra tất cả",checkingAll:"Đang kiểm tra...",updateAll:"Cập nhật tất cả",updatesAvailable:"{count} bản cập nhật",allUpToDate:"Tất cả đã cập nhật",systemControlTower:"Trung tâm hệ thống",systemOverviewTitle:"Tổng quan cập nhật & môi trường",systemOverviewDesc:"Theo dõi CLI và kit, rồi nâng cấp từ một nơi.",installedComponentsHeading:"Thành phần đã cài",updateReadiness:"Mức sẵn sàng cập nhật",checkedComponents:"Đã kiểm tra",activeChannel:"Kênh",readyToScan:"Sẵn sàng kiểm tra",noTrackedFiles:"Không phát hiện tệp theo dõi",kitsLabel:"Kit",componentFilterAll:"Tất cả",componentFilterUpdates:"Bản cập nhật",componentFilterUpdatesCount:"Bản cập nhật ({count})",componentFilterUpToDate:"Đã cập nhật",componentFilterUpToDateCount:"Đã cập nhật ({count})",componentFilterCli:"CLI",componentFilterKits:"Kit",noComponentsMatchFilter:"Không có thành phần phù hợp bộ lọc hiện tại.",runCheckAllForFilter:"Hãy chạy Kiểm tra tất cả để nạp dữ liệu cho bộ lọc này.",noUpdatesFound:"Không có bản cập nhật. Các thành phần đã kiểm tra đều mới nhất.",noUpToDateYet:"Chưa có thành phần nào ở trạng thái đã cập nhật.",configWorkspaceHint:"Chỉnh sửa cấu hình hoặc quản lý cập nhật hệ thống trong một màn hình.",addProjectTitle:"Thêm dự án",addProjectDescription:"Thêm dự án ClaudeKit mới vào trung tâm điều khiển",projectPath:"Đường dẫn dự án",pathPlaceholder:"/đường/dẫn/dự/án",alias:"Bí danh",aliasOptional:"(tùy chọn)",aliasPlaceholder:"dự-án-của-tôi",aliasDescription:"Tên hiển thị tùy chỉnh cho dự án",pathRequired:"Đường dẫn bắt buộc",failedToAdd:"Không thể thêm dự án",cancel:"Hủy",adding:"Đang thêm...",somethingWentWrong:"Đã xảy ra lỗi",reloadApp:"Tải lại ứng dụng",serverNotRunning:"Máy chủ không chạy",startServerMessage:"Config UI yêu cầu máy chủ backend đang chạy.",runThisCommand:"Chạy lệnh này",tryAgain:"Thử lại",projectConfig:"Cấu hình dự án",inheritedFromGlobal:"Kế thừa từ toàn cục",localOverride:"Ghi đè cục bộ",viewGlobalConfig:"Trường này kế thừa từ cấu hình toàn cục. Xem",onboardingTitle:"Chào mừng đến ClaudeKit",onboardingSubtitle:"Chọn kit của bạn và bắt đầu trong vài phút",kitEngineerName:"ClaudeKit Engineer",kitEngineerTagline:"Lập trình AI với skills, hooks và multi-agent",kitMarketingName:"ClaudeKit Marketing",kitMarketingTagline:"Tự động hóa nội dung: chiến dịch, mạng xã hội, phân tích",featureAgents:"AI Agents",featureAgentsDesc:"Các agent chuyên biệt cho từng tác vụ",featureHooks:"Lifecycle Hooks",featureHooksDesc:"Tùy chỉnh hành vi của Claude tại các thời điểm quan trọng",featureSkills:"Thư viện Skills",featureSkillsDesc:"Các khả năng có sẵn bạn có thể kích hoạt",featureMultiAgent:"Multi-Agent Workflows",featureMultiAgentDesc:"Phối hợp nhiều agent cho các tác vụ phức tạp",featureContent:"Tạo nội dung",featureContentDesc:"Tự động tạo và tối ưu nội dung",featureSocial:"Công cụ mạng xã hội",featureSocialDesc:"Lên lịch, phân tích và tự động tương tác",stepChooseKit:"Chọn Kit",stepConfigure:"Cấu hình",stepInstall:"Cài đặt",back:"Quay lại",next:"Tiếp theo",install:"Cài đặt",installSuccess:"Cài đặt hoàn tất!",installSuccessDesc:"{kit} đã sẵn sàng sử dụng",getStarted:"Bắt đầu",goToDashboard:"Đi đến Dashboard",kitConfig:"Cấu hình Kit",kitConfigSubtitle:"Cấu hình ClaudeKit Engineer",scopeGlobal:"Toàn cục",scopeProject:"Dự án",sectionGeneral:"Cài đặt chung",sectionPaths:"Đường dẫn",sectionPrivacy:"Bảo mật & Tin cậy",sectionProject:"Phát hiện dự án",sectionIntegrations:"Tích hợp",sectionHooks:"Hooks",sectionAdvanced:"Nâng cao",fieldCodingLevel:"Cấp độ lập trình",fieldCodingLevelDesc:"Cấp độ kinh nghiệm (-1=tự động, 0=mới bắt đầu, 1=trung cấp, 2=nâng cao, 3=chuyên gia, 4=tech-lead, 5=thần)",fieldStatusline:"Chế độ thanh trạng thái",fieldStatuslineDesc:"Lượng thông tin hiển thị trên thanh trạng thái",fieldThinkingLanguage:"Ngôn ngữ suy nghĩ",fieldThinkingLanguageDesc:"Ngôn ngữ cho suy luận nội bộ của Claude (null=Tiếng Anh)",fieldResponseLanguage:"Ngôn ngữ phản hồi",fieldResponseLanguageDesc:"Ngôn ngữ cho phản hồi của Claude (null=theo người dùng)",fieldDocsPath:"Thư mục tài liệu",fieldDocsPathDesc:"Đường dẫn đến thư mục tài liệu",fieldPlansPath:"Thư mục kế hoạch",fieldPlansPathDesc:"Đường dẫn đến thư mục kế hoạch",fieldPrivacyBlock:"Chặn quyền riêng tư",fieldPrivacyBlockDesc:"Chặn truy cập file nhạy cảm (.env, credentials)",fieldTrustEnabled:"Chế độ tin cậy",fieldTrustEnabledDesc:"Tự động phê duyệt các tool calls",fieldTrustPassphrase:"Mật khẩu tin cậy",fieldTrustPassphraseDesc:"Mật khẩu để bật chế độ tin cậy",fieldProjectType:"Loại dự án",fieldProjectTypeDesc:"Ghi đè loại dự án tự động phát hiện",fieldPackageManager:"Trình quản lý gói",fieldPackageManagerDesc:"Ghi đè trình quản lý gói tự động phát hiện",fieldFramework:"Framework",fieldFrameworkDesc:"Ghi đè framework tự động phát hiện",fieldGeminiModel:"Mô hình Gemini",fieldGeminiModelDesc:"Mô hình Gemini cho các lệnh CLI",fieldResearchUseGemini:"Dùng Gemini cho nghiên cứu",fieldResearchUseGeminiDesc:"Dùng Gemini CLI thay vì WebSearch",fieldDocsMaxLoc:"Số dòng tối đa/tài liệu",fieldDocsMaxLocDesc:"Số dòng code tối đa cho mỗi file tài liệu",fieldPlanNamingFormat:"Định dạng tên kế hoạch",fieldPlanNamingFormatDesc:"Định dạng cho tên thư mục kế hoạch",fieldPlanDateFormat:"Định dạng ngày kế hoạch",fieldPlanDateFormatDesc:"Định dạng ngày cho tên kế hoạch (moment.js)",fieldPlanValidationMode:"Chế độ xác thực",fieldPlanValidationModeDesc:"Cách xác thực kế hoạch trước khi triển khai",fieldPlanMinQuestions:"Số câu hỏi tối thiểu",fieldPlanMinQuestionsDesc:"Số câu hỏi xác thực tối thiểu",fieldPlanMaxQuestions:"Số câu hỏi tối đa",fieldPlanMaxQuestionsDesc:"Số câu hỏi xác thực tối đa",fieldAssertions:"Assertions",fieldAssertionsDesc:"Các assertions và quy tắc cần thực thi",fieldHookSessionInit:"Khởi tạo phiên",fieldHookSessionInitDesc:"Phát hiện dự án và thiết lập môi trường",fieldHookSubagentInit:"Khởi tạo subagent",fieldHookSubagentInitDesc:"Inject context vào subagents",fieldHookDescriptiveName:"Tên mô tả",fieldHookDescriptiveNameDesc:"Bắt buộc đặt tên file dạng kebab-case mô tả cho scripts",fieldHookDevRulesReminder:"Nhắc nhở quy tắc dev",fieldHookDevRulesReminderDesc:"Inject context quy tắc phát triển",fieldHookUsageContextAwareness:"Nhận thức ngữ cảnh sử dụng",fieldHookUsageContextAwarenessDesc:"Nhận thức giới hạn sử dụng",fieldHookContextTracking:"Theo dõi ngữ cảnh",fieldHookContextTrackingDesc:"Theo dõi cửa sổ ngữ cảnh (% đã dùng, số token)",fieldHookScoutBlock:"Chặn Scout",fieldHookScoutBlockDesc:"Chặn thư mục nặng khỏi việc khám phá",fieldHookPrivacyBlock:"Hook chặn quyền riêng tư",fieldHookPrivacyBlockDesc:"Chặn đọc file nhạy cảm",fieldHookPostEditSimplify:"Đơn giản sau chỉnh sửa",fieldHookPostEditSimplifyDesc:"Nhắc đơn giản sau khi chỉnh sửa",skillsPageTitle:"Quản lý Kỹ năng",skillsPageDesc:"Cài đặt kỹ năng ClaudeKit cho các agent lập trình",availableSkills:"Kỹ năng có sẵn",installedSkills:"Kỹ năng đã cài",noSkillsFound:"Không tìm thấy kỹ năng",installSkill:"Cài đặt",uninstallSkill:"Gỡ cài đặt",manageSkill:"Quản lý",syncRegistry:"Đồng bộ",installSkillTitle:"Cài đặt Kỹ năng",selectAgents:"Chọn agent đích",installLocation:"Vị trí cài đặt",globalInstall:"Toàn cục",projectInstall:"Dự án",confirmInstall:"Cài đặt cho các agent đã chọn",installingSkill:"Đang cài đặt...",skillInstallSuccess:"Cài đặt kỹ năng thành công",skillInstallFailed:"Cài đặt thất bại",agentClaudeCode:"Claude Code",agentCursor:"Cursor",agentCodex:"Codex",agentOpencode:"OpenCode",agentGoose:"Goose",agentGeminiCli:"Gemini CLI",agentAntigravity:"Antigravity",agentGithubCopilot:"GitHub Copilot",agentAmp:"Amp",agentKilo:"Kilo",agentRoo:"Roo",agentWindsurf:"Windsurf",agentCline:"Cline",agentOpenhands:"OpenHands",installed:"Đã cài",notInstalled:"Chưa cài",allAgents:"Tất cả Agent",filterByAgent:"Lọc theo agent",skillsTitle:"Kỹ năng",skillsSubtitle:"Duyệt, cài đặt và quản lý kỹ năng cho coding agents",availableCount:"Có sẵn",installedCount:"Đã cài",agentsCount:"Agents",searchSkills:"Tìm kiếm kỹ năng...",searchShortcut:"/",sortAZ:"A-Z",sortCategory:"Danh mục",sortInstalledFirst:"Đã cài trước",listView:"Dạng danh sách",gridView:"Dạng lưới",categoryAll:"Tất cả",categoryAI:"AI",categoryUIUX:"UI/UX",categoryBackend:"Backend",categorySecurity:"Bảo mật",categoryDevOps:"DevOps",categoryDatabase:"Cơ sở dữ liệu",categoryDevelopment:"Phát triển",categoryResearch:"Nghiên cứu",categoryGeneral:"Tổng quát",categoryCore:"Cốt lõi",categoryDocumentation:"Tài liệu",categoryTooling:"Công cụ",categoryMedia:"Phương tiện",categoryFrameworks:"Framework",skillsCountLabel:"{count} kỹ năng",installToAll:"Cài cho tất cả đã phát hiện",scopeLabel:"Phạm vi cài đặt",agentInstalled:"Đã cài",agentNotInstalled:"Chưa cài",skillSource:"Vị trí nguồn",skillSourceBadge:"Nguồn",detailPanelClose:"Đóng",versionLabel:"v{version}",installAllToAllAgents:"Cài tất cả cho tất cả Agent",bulkInstallFailed:"Cài hàng loạt thất bại",noAgentsDetected:"Không phát hiện agent nào",kitBadgeEngineer:"Engineer",kitBadgeMarketing:"Marketing",customizedBadge:"Đã tùy chỉnh",installedVersionLabel:"Phiên bản cài đặt",installedAtLabel:"Cài đặt lúc",sourceTimestampLabel:"Ngày nguồn",kitLabel:"Kit",skillMetadata:"Thông tin Skill",migrate:"Di trú",migrateTitle:"Di trú",migrateSubtitle:"Chuyển toàn bộ stack Claude Code sang provider khác",migrateDetectedProviders:"Đã phát hiện",migrateSelectedProviders:"Đã chọn",migrateDiscovering:"Đang quét nguồn di trú...",migrateRefresh:"Làm mới quét",migrateRun:"Chạy di trú",migrateRunning:"Đang di trú...",migrateSourceSummary:"Tổng quan nguồn",migratePresetCodex:"Codex",migratePresetAntigravity:"Antigravity",migratePresetBoth:"Codex + Antigravity",migratePresetDetected:"Tất cả đã phát hiện",migrateScope:"Phạm vi",migrateScopeProject:"Dự án",migrateScopeGlobal:"Toàn cục",migrateTypes:"Loại di trú",migrateTypeAgents:"Subagents",migrateTypeCommands:"Commands",migrateTypeSkills:"Skills",migrateTypeConfig:"Config",migrateTypeRules:"Rules",migrateSearchProviders:"Tìm provider...",migrateSelectVisible:"Chọn phần đang hiện",migrateClearSelection:"Bỏ chọn tất cả",migrateProvidersHeading:"Provider đích",migrateProvidersCountSuffix:"provider",migrateNoProvidersMatch:"Không có provider khớp bộ lọc hiện tại.",migrateSelectButton:"Chọn",migrateSelectedButton:"Đã chọn",migrateSelectProviderAction:"Chọn provider",migrateUnselectProvider:"Bỏ chọn provider",migrateCapabilitiesLabel:"loại",migrateCapabilitiesSection:"Ma trận khả năng",migrateSupported:"Hỗ trợ",migrateUnsupportedShort:"Không hỗ trợ",migrateIncludedEnabled:"Đang bật",migrateIncludedDisabled:"Đang tắt",migrateLatestTarget:"Đích gần nhất",migrateNoResultForProvider:"Chưa có kết quả di trú cho provider này.",migrateActionSummaryTitle:"Sẵn sàng di trú",migrateGlobalOnlyCommandsShort:"Commands chỉ global",migrateNoProviders:"Không có provider khả dụng.",migrateUnsupported:"Sẽ bỏ qua (không hỗ trợ)",migrateGlobalForced:"Lệnh Codex chỉ hỗ trợ global. Phạm vi sẽ tự chuyển global.",migrateResults:"Kết quả di trú",migrateInstalled:"Đã cài",migrateSkipped:"Đã bỏ qua",migrateFailed:"Lỗi",migrateProvider:"Provider",migrateStatus:"Trạng thái",migratePath:"Đường dẫn",migrateError:"Lỗi",migrateStatusInstalled:"Đã cài",migrateStatusSkipped:"Đã bỏ qua",migrateStatusFailed:"Lỗi",migrateNoResults:"Chưa có kết quả di trú.",migrateDetectFailed:"Không thể quét dữ liệu di trú",migrateExecuteFailed:"Chạy di trú thất bại",migrateSelectProvider:"Vui lòng chọn ít nhất một provider",migrateNoTypesEnabled:"Bật ít nhất một loại di trú",migrateDetectedTag:"Đã phát hiện",migrateNotDetectedTag:"Chưa phát hiện",migrateFilterRecommended:"Đề xuất",migrateActionInstall:"Cài",migrateActionUpdate:"Cập nhật",migrateActionSkip:"Bỏ qua",migrateActionConflict:"Xung đột",migrateActionDelete:"Xóa",migrateUnchanged:"chưa thay đổi",migrateConflictSectionTitle:"Xung đột",migrateConflictUseCK:"Dùng CK",migrateConflictKeepMine:"Giữ của tôi",migrateConflictSmartMerge:"Merge thông minh",migrateConflictShowDiff:"Hiện diff",migrateConflictHideDiff:"Ẩn diff",migrateConflictResolved:"Đã giải quyết",migrateConflictManual:"Thủ công",migrateConflictOverwriteAll:"Ghi đè tất cả",migrateConflictKeepAll:"Giữ tất cả",migrateSummaryTitle:"Di trú hoàn tất",migrateSummaryNewMigration:"Di trú mới",migrateType:"Loại",migrateItem:"Mục",migrateReconciling:"Đang phân tích thay đổi...",migrateReviewPlan:"Xem kế hoạch",migrateExecutePlan:"Thực hiện di trú",migrateExecuting:"Đang thực hiện di trú...",migrateResolveConflicts:"Giải quyết xung đột trước khi thực hiện",developmentFeature:"Đang phát triển",betaFeature:"Beta",experimentalFeature:"Thử nghiệm"}},fh=g.createContext(null),km="ck-dashboard-lang";function Qx(){const n=localStorage.getItem(km);return n==="en"||n==="vi"?n:navigator.language.startsWith("vi")?"vi":"en"}function Jx({children:n}){const[e,t]=g.useState(Qx),r=s=>{localStorage.setItem(km,s),t(s)},i=s=>Yx[e][s];return u.jsx(fh.Provider,{value:{lang:e,setLang:r,t:i},children:n})}function me(){const n=g.useContext(fh);if(!n)throw new Error("useI18n must be used within I18nProvider");return n}class Xx extends g.Component{constructor(){super(...arguments);bu(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){console.error("App error:",t,r.componentStack)}render(){if(this.state.hasError){const t=this.state.error?.name==="ServerUnavailableError";return u.jsx(fh.Consumer,{children:r=>u.jsx("div",{className:"flex h-screen items-center justify-center bg-dash-bg",children:u.jsx("div",{className:"text-center space-y-4 max-w-md px-6",children:t?u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"w-16 h-16 mx-auto rounded-full bg-orange-500/10 border border-orange-500/30 flex items-center justify-center text-3xl",children:"🔌"}),u.jsx("h1",{className:"text-2xl font-bold text-orange-500",children:r?.t("serverNotRunning")??"Server Not Running"}),u.jsx("p",{className:"text-dash-text-secondary",children:r?.t("startServerMessage")??"The Config UI requires the backend server to be running."}),u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg p-4",children:[u.jsx("p",{className:"text-xs text-dash-text-muted uppercase tracking-widest mb-2 font-bold",children:r?.t("runThisCommand")??"Run this command"}),u.jsx("code",{className:"block text-sm text-dash-accent font-mono bg-dash-bg px-3 py-2 rounded border border-dash-border",children:"ck config"})]}),u.jsx("button",{onClick:()=>window.location.reload(),className:"px-6 py-2 bg-dash-accent text-dash-bg rounded-lg font-bold hover:bg-dash-accent-hover transition-colors",children:r?.t("tryAgain")??"Try Again"})]}):u.jsxs(u.Fragment,{children:[u.jsx("h1",{className:"text-2xl font-bold text-red-500",children:r?.t("somethingWentWrong")??"Something went wrong"}),u.jsx("p",{className:"text-dash-text-muted",children:this.state.error?.message}),u.jsx("button",{onClick:()=>window.location.reload(),className:"px-4 py-2 bg-dash-accent text-white rounded-md hover:opacity-90",children:r?.t("reloadApp")??"Reload App"})]})})})})}return this.props.children}}const Ni=({direction:n="horizontal",isDragging:e=!1,onMouseDown:t})=>{const r=n==="horizontal";return u.jsx("div",{onMouseDown:t,className:`
21
+ Please change the parent <Route path="${k}"> to <Route path="${k==="/"?"*":`${k}/*`}">.`)}let f=tn(),p;p=f;let m=p.pathname||"/",b=m;if(h!=="/"){let k=h.replace(/^\//,"").split("/");b="/"+m.replace(/^\//,"").split("/").slice(k.length).join("/")}let y=Cn(n,{pathname:b});return Re(d||y!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),Re(y==null||y[y.length-1].route.element!==void 0||y[y.length-1].route.Component!==void 0||y[y.length-1].route.lazy!==void 0,`Matched leaf route at location "${p.pathname}${p.search}${p.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),Xy(y&&y.map(k=>Object.assign({},k,{params:Object.assign({},l,k.params),pathname:Xt([h,s.encodeLocation?s.encodeLocation(k.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:k.pathname]),pathnameBase:k.pathnameBase==="/"?h:Xt([h,s.encodeLocation?s.encodeLocation(k.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:k.pathnameBase])})),o,t,r,i)}function qy(){let n=rx(),e=Ni(n)?`${n.status} ${n.statusText}`:n instanceof Error?n.message:JSON.stringify(n),t=n instanceof Error?n.stack:null,r="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:r},s={padding:"2px 4px",backgroundColor:r},o=null;return console.error("Error handled by React Router default ErrorBoundary:",n),o=g.createElement(g.Fragment,null,g.createElement("p",null,"💿 Hey developer 👋"),g.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",g.createElement("code",{style:s},"ErrorBoundary")," or"," ",g.createElement("code",{style:s},"errorElement")," prop on your route.")),g.createElement(g.Fragment,null,g.createElement("h2",null,"Unexpected Application Error!"),g.createElement("h3",{style:{fontStyle:"italic"}},e),t?g.createElement("pre",{style:i},t):null,o)}var Yy=g.createElement(qy,null),bm=class extends g.Component{constructor(n){super(n),this.state={location:n.location,revalidation:n.revalidation,error:n.error}}static getDerivedStateFromError(n){return{error:n}}static getDerivedStateFromProps(n,e){return e.location!==n.location||e.revalidation!=="idle"&&n.revalidation==="idle"?{error:n.error,location:n.location,revalidation:n.revalidation}:{error:n.error!==void 0?n.error:e.error,location:e.location,revalidation:n.revalidation||e.revalidation}}componentDidCatch(n,e){this.props.onError?this.props.onError(n,e):console.error("React Router caught the following error during render",n)}render(){let n=this.state.error;if(this.context&&typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){const t=Hy(n.digest);t&&(n=t)}let e=n!==void 0?g.createElement(Dt.Provider,{value:this.props.routeContext},g.createElement(ch.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?g.createElement(Qy,{error:n},e):e}};bm.contextType=hm;var tl=new WeakMap;function Qy({children:n,error:e}){let{basename:t}=g.useContext(xt);if(typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){let r=zy(e.digest);if(r){let i=tl.get(e);if(i)throw i;let s=Xp(r.location,t);if(Jp&&!tl.get(e))if(s.isExternal||r.reloadDocument)window.location.href=s.absoluteURL||s.to;else{const o=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(s.to,{replace:r.replace}));throw tl.set(e,o),o}return g.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s.absoluteURL||s.to}`})}}return n}function Jy({routeContext:n,match:e,children:t}){let r=g.useContext(lr);return r&&r.static&&r.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=e.route.id),g.createElement(Dt.Provider,{value:n},t)}function Xy(n,e=[],t=null,r=null,i=null){if(n==null){if(!t)return null;if(t.errors)n=t.matches;else if(e.length===0&&!t.initialized&&t.matches.length>0)n=t.matches;else return null}let s=n,o=t?.errors;if(o!=null){let h=s.findIndex(d=>d.route.id&&o?.[d.route.id]!==void 0);ue(h>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(o).join(",")}`),s=s.slice(0,Math.min(s.length,h+1))}let a=!1,l=-1;if(t)for(let h=0;h<s.length;h++){let d=s[h];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(l=h),d.route.id){let{loaderData:f,errors:p}=t,m=d.route.loader&&!f.hasOwnProperty(d.route.id)&&(!p||p[d.route.id]===void 0);if(d.route.lazy||m){a=!0,l>=0?s=s.slice(0,l+1):s=[s[0]];break}}}let c=t&&r?(h,d)=>{r(h,{location:t.location,params:t.matches?.[0]?.params??{},unstable_pattern:Ls(t.matches),errorInfo:d})}:void 0;return s.reduceRight((h,d,f)=>{let p,m=!1,b=null,y=null;t&&(p=o&&d.route.id?o[d.route.id]:void 0,b=d.route.errorElement||Yy,a&&(l<0&&f===0?(ym("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),m=!0,y=null):l===f&&(m=!0,y=d.route.hydrateFallbackElement||null)));let v=e.concat(s.slice(0,f+1)),k=()=>{let S;return p?S=b:m?S=y:d.route.Component?S=g.createElement(d.route.Component,null):d.route.element?S=d.route.element:S=h,g.createElement(Jy,{match:d,routeContext:{outlet:h,matches:v,isDataRoute:t!=null},children:S})};return t&&(d.route.ErrorBoundary||d.route.errorElement||f===0)?g.createElement(bm,{location:t.location,revalidation:t.revalidation,component:b,error:p,children:k(),routeContext:{outlet:null,matches:v,isDataRoute:!0},onError:c}):k()},null)}function hh(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Zy(n){let e=g.useContext(lr);return ue(e,hh(n)),e}function ex(n){let e=g.useContext(Is);return ue(e,hh(n)),e}function tx(n){let e=g.useContext(Dt);return ue(e,hh(n)),e}function uh(n){let e=tx(n),t=e.matches[e.matches.length-1];return ue(t.route.id,`${n} can only be used on routes that contain a unique "id"`),t.route.id}function nx(){return uh("useRouteId")}function rx(){let n=g.useContext(ch),e=ex("useRouteError"),t=uh("useRouteError");return n!==void 0?n:e.errors?.[t]}function ix(){let{router:n}=Zy("useNavigate"),e=uh("useNavigate"),t=g.useRef(!1);return pm(()=>{t.current=!0}),g.useCallback(async(i,s={})=>{Re(t.current,fm),t.current&&(typeof i=="number"?await n.navigate(i):await n.navigate(i,{fromRouteId:e,...s}))},[n,e])}var Hu={};function ym(n,e,t){!e&&!Hu[n]&&(Hu[n]=!0,Re(!1,t))}var _u={};function Wu(n,e){!n&&!_u[e]&&(_u[e]=!0,console.warn(e))}var sx="useOptimistic",Uu=y1[sx],ox=()=>{};function ax(n){return Uu?Uu(n):[n,ox]}function lx(n){let e={hasErrorBoundary:n.hasErrorBoundary||n.ErrorBoundary!=null||n.errorElement!=null};return n.Component&&(n.element&&Re(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(e,{element:g.createElement(n.Component),Component:void 0})),n.HydrateFallback&&(n.hydrateFallbackElement&&Re(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(e,{hydrateFallbackElement:g.createElement(n.HydrateFallback),HydrateFallback:void 0})),n.ErrorBoundary&&(n.errorElement&&Re(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(e,{errorElement:g.createElement(n.ErrorBoundary),ErrorBoundary:void 0})),e}var cx=["HydrateFallback","hydrateFallbackElement"],hx=class{constructor(){this.status="pending",this.promise=new Promise((n,e)=>{this.resolve=t=>{this.status==="pending"&&(this.status="resolved",n(t))},this.reject=t=>{this.status==="pending"&&(this.status="rejected",e(t))}})}};function ux({router:n,flushSync:e,onError:t,unstable_useTransitions:r}){r=By()||r;let[s,o]=g.useState(n.state),[a,l]=ax(s),[c,h]=g.useState(),[d,f]=g.useState({isTransitioning:!1}),[p,m]=g.useState(),[b,y]=g.useState(),[v,k]=g.useState(),S=g.useRef(new Map),O=g.useCallback((D,{deletedFetchers:T,newErrors:I,flushSync:M,viewTransitionOpts:L})=>{I&&t&&Object.values(I).forEach(V=>t(V,{location:D.location,params:D.matches[0]?.params??{},unstable_pattern:Ls(D.matches)})),D.fetchers.forEach((V,$)=>{V.data!==void 0&&S.current.set($,V.data)}),T.forEach(V=>S.current.delete(V)),Wu(M===!1||e!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let W=n.window!=null&&n.window.document!=null&&typeof n.window.document.startViewTransition=="function";if(Wu(L==null||W,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!L||!W){e&&M?e(()=>o(D)):r===!1?o(D):g.startTransition(()=>{r===!0&&l(V=>Ku(V,D)),o(D)});return}if(e&&M){e(()=>{b&&(p?.resolve(),b.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:L.currentLocation,nextLocation:L.nextLocation})});let V=n.window.document.startViewTransition(()=>{e(()=>o(D))});V.finished.finally(()=>{e(()=>{m(void 0),y(void 0),h(void 0),f({isTransitioning:!1})})}),e(()=>y(V));return}b?(p?.resolve(),b.skipTransition(),k({state:D,currentLocation:L.currentLocation,nextLocation:L.nextLocation})):(h(D),f({isTransitioning:!0,flushSync:!1,currentLocation:L.currentLocation,nextLocation:L.nextLocation}))},[n.window,e,b,p,r,l,t]);g.useLayoutEffect(()=>n.subscribe(O),[n,O]),g.useEffect(()=>{d.isTransitioning&&!d.flushSync&&m(new hx)},[d]),g.useEffect(()=>{if(p&&c&&n.window){let D=c,T=p.promise,I=n.window.document.startViewTransition(async()=>{r===!1?o(D):g.startTransition(()=>{r===!0&&l(M=>Ku(M,D)),o(D)}),await T});I.finished.finally(()=>{m(void 0),y(void 0),h(void 0),f({isTransitioning:!1})}),y(I)}},[c,p,n.window,r,l]),g.useEffect(()=>{p&&c&&a.location.key===c.location.key&&p.resolve()},[p,b,a.location,c]),g.useEffect(()=>{!d.isTransitioning&&v&&(h(v.state),f({isTransitioning:!0,flushSync:!1,currentLocation:v.currentLocation,nextLocation:v.nextLocation}),k(void 0))},[d.isTransitioning,v]);let C=g.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:D=>n.navigate(D),push:(D,T,I)=>n.navigate(D,{state:T,preventScrollReset:I?.preventScrollReset}),replace:(D,T,I)=>n.navigate(D,{replace:!0,state:T,preventScrollReset:I?.preventScrollReset})}),[n]),P=n.basename||"/",x=g.useMemo(()=>({router:n,navigator:C,static:!1,basename:P,onError:t}),[n,C,P,t]);return g.createElement(g.Fragment,null,g.createElement(lr.Provider,{value:x},g.createElement(Is.Provider,{value:a},g.createElement(um.Provider,{value:S.current},g.createElement(lh.Provider,{value:d},g.createElement(mx,{basename:P,location:a.location,navigationType:a.historyAction,navigator:C,unstable_useTransitions:r},g.createElement(dx,{routes:n.routes,future:n.future,state:a,onError:t})))))),null)}function Ku(n,e){return{...n,navigation:e.navigation.state!=="idle"?e.navigation:n.navigation,revalidation:e.revalidation!=="idle"?e.revalidation:n.revalidation,actionData:e.navigation.state!=="submitting"?e.actionData:n.actionData,fetchers:e.fetchers}}var dx=g.memo(fx);function fx({routes:n,future:e,state:t,onError:r}){return Gy(n,void 0,t,r,e)}function nl({to:n,replace:e,state:t,relative:r}){ue(Vr(),"<Navigate> may be used only in the context of a <Router> component.");let{static:i}=g.useContext(xt);Re(!i,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:s}=g.useContext(Dt),{pathname:o}=tn(),a=yn(),l=Pa(n,Oa(s),o,r==="path"),c=JSON.stringify(l);return g.useEffect(()=>{a(JSON.parse(c),{replace:e,state:t,relative:r})},[a,c,r,e,t]),null}function px(n){return Ky(n.context)}function mx({basename:n="/",children:e=null,location:t,navigationType:r="POP",navigator:i,static:s=!1,unstable_useTransitions:o}){ue(!Vr(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let a=n.replace(/^\/*/,"/"),l=g.useMemo(()=>({basename:a,navigator:i,static:s,unstable_useTransitions:o,future:{}}),[a,i,s,o]);typeof t=="string"&&(t=Fn(t));let{pathname:c="/",search:h="",hash:d="",state:f=null,key:p="default"}=t,m=g.useMemo(()=>{let b=Mt(c,a);return b==null?null:{location:{pathname:b,search:h,hash:d,state:f,key:p},navigationType:r}},[a,c,h,d,f,p,r]);return Re(m!=null,`<Router basename="${a}"> is not able to match the URL "${c}${h}${d}" because it does not start with the basename, so the <Router> won't render anything.`),m==null?null:g.createElement(xt.Provider,{value:l},g.createElement(Aa.Provider,{children:e,value:m}))}var $o="get",Fo="application/x-www-form-urlencoded";function Ma(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function gx(n){return Ma(n)&&n.tagName.toLowerCase()==="button"}function bx(n){return Ma(n)&&n.tagName.toLowerCase()==="form"}function yx(n){return Ma(n)&&n.tagName.toLowerCase()==="input"}function xx(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function vx(n,e){return n.button===0&&(!e||e==="_self")&&!xx(n)}var ao=null;function wx(){if(ao===null)try{new FormData(document.createElement("form"),0),ao=!1}catch{ao=!0}return ao}var kx=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function rl(n){return n!=null&&!kx.has(n)?(Re(!1,`"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Fo}"`),null):n}function Sx(n,e){let t,r,i,s,o;if(bx(n)){let a=n.getAttribute("action");r=a?Mt(a,e):null,t=n.getAttribute("method")||$o,i=rl(n.getAttribute("enctype"))||Fo,s=new FormData(n)}else if(gx(n)||yx(n)&&(n.type==="submit"||n.type==="image")){let a=n.form;if(a==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=n.getAttribute("formaction")||a.getAttribute("action");if(r=l?Mt(l,e):null,t=n.getAttribute("formmethod")||a.getAttribute("method")||$o,i=rl(n.getAttribute("formenctype"))||rl(a.getAttribute("enctype"))||Fo,s=new FormData(a,n),!wx()){let{name:c,type:h,value:d}=n;if(h==="image"){let f=c?`${c}.`:"";s.append(`${f}x`,"0"),s.append(`${f}y`,"0")}else c&&s.append(c,d)}}else{if(Ma(n))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=$o,r=null,i=Fo,o=n}return s&&i==="text/plain"&&(o=s,s=void 0),{action:r,method:t.toLowerCase(),encType:i,formData:s,body:o}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function dh(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function Cx(n,e,t){let r=typeof n=="string"?new URL(n,typeof window>"u"?"server://singlefetch/":window.location.origin):n;return r.pathname==="/"?r.pathname=`_root.${t}`:e&&Mt(r.pathname,e)==="/"?r.pathname=`${e.replace(/\/$/,"")}/_root.${t}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${t}`,r}async function jx(n,e){if(n.id in e)return e[n.id];try{let t=await import(n.module);return e[n.id]=t,t}catch(t){return console.error(`Error loading route module \`${n.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Ox(n){return n==null?!1:n.href==null?n.rel==="preload"&&typeof n.imageSrcSet=="string"&&typeof n.imageSizes=="string":typeof n.rel=="string"&&typeof n.href=="string"}async function Px(n,e,t){let r=await Promise.all(n.map(async i=>{let s=e.routes[i.route.id];if(s){let o=await jx(s,t);return o.links?o.links():[]}return[]}));return Dx(r.flat(1).filter(Ox).filter(i=>i.rel==="stylesheet"||i.rel==="preload").map(i=>i.rel==="stylesheet"?{...i,rel:"prefetch",as:"style"}:{...i,rel:"prefetch"}))}function Gu(n,e,t,r,i,s){let o=(l,c)=>t[c]?l.route.id!==t[c].route.id:!0,a=(l,c)=>t[c].pathname!==l.pathname||t[c].route.path?.endsWith("*")&&t[c].params["*"]!==l.params["*"];return s==="assets"?e.filter((l,c)=>o(l,c)||a(l,c)):s==="data"?e.filter((l,c)=>{let h=r.routes[l.route.id];if(!h||!h.hasLoader)return!1;if(o(l,c)||a(l,c))return!0;if(l.route.shouldRevalidate){let d=l.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:t[0]?.params||{},nextUrl:new URL(n,window.origin),nextParams:l.params,defaultShouldRevalidate:!0});if(typeof d=="boolean")return d}return!0}):[]}function Ax(n,e,{includeHydrateFallback:t}={}){return Mx(n.map(r=>{let i=e.routes[r.route.id];if(!i)return[];let s=[i.module];return i.clientActionModule&&(s=s.concat(i.clientActionModule)),i.clientLoaderModule&&(s=s.concat(i.clientLoaderModule)),t&&i.hydrateFallbackModule&&(s=s.concat(i.hydrateFallbackModule)),i.imports&&(s=s.concat(i.imports)),s}).flat(1))}function Mx(n){return[...new Set(n)]}function Nx(n){let e={},t=Object.keys(n).sort();for(let r of t)e[r]=n[r];return e}function Dx(n,e){let t=new Set;return new Set(e),n.reduce((r,i)=>{let s=JSON.stringify(Nx(i));return t.has(s)||(t.add(s),r.push({key:s,link:i})),r},[])}function xm(){let n=g.useContext(lr);return dh(n,"You must render this element inside a <DataRouterContext.Provider> element"),n}function Tx(){let n=g.useContext(Is);return dh(n,"You must render this element inside a <DataRouterStateContext.Provider> element"),n}var fh=g.createContext(void 0);fh.displayName="FrameworkContext";function vm(){let n=g.useContext(fh);return dh(n,"You must render this element inside a <HydratedRouter> element"),n}function Ex(n,e){let t=g.useContext(fh),[r,i]=g.useState(!1),[s,o]=g.useState(!1),{onFocus:a,onBlur:l,onMouseEnter:c,onMouseLeave:h,onTouchStart:d}=e,f=g.useRef(null);g.useEffect(()=>{if(n==="render"&&o(!0),n==="viewport"){let b=v=>{v.forEach(k=>{o(k.isIntersecting)})},y=new IntersectionObserver(b,{threshold:.5});return f.current&&y.observe(f.current),()=>{y.disconnect()}}},[n]),g.useEffect(()=>{if(r){let b=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(b)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return t?n!=="intent"?[s,f,{}]:[s,f,{onFocus:ri(a,p),onBlur:ri(l,m),onMouseEnter:ri(c,p),onMouseLeave:ri(h,m),onTouchStart:ri(d,p)}]:[!1,f,{}]}function ri(n,e){return t=>{n&&n(t),t.defaultPrevented||e(t)}}function Rx({page:n,...e}){let{router:t}=xm(),r=g.useMemo(()=>Cn(t.routes,n,t.basename),[t.routes,n,t.basename]);return r?g.createElement(Ix,{page:n,matches:r,...e}):null}function Lx(n){let{manifest:e,routeModules:t}=vm(),[r,i]=g.useState([]);return g.useEffect(()=>{let s=!1;return Px(n,e,t).then(o=>{s||i(o)}),()=>{s=!0}},[n,e,t]),r}function Ix({page:n,matches:e,...t}){let r=tn(),{manifest:i,routeModules:s}=vm(),{basename:o}=xm(),{loaderData:a,matches:l}=Tx(),c=g.useMemo(()=>Gu(n,e,l,i,r,"data"),[n,e,l,i,r]),h=g.useMemo(()=>Gu(n,e,l,i,r,"assets"),[n,e,l,i,r]),d=g.useMemo(()=>{if(n===r.pathname+r.search+r.hash)return[];let m=new Set,b=!1;if(e.forEach(v=>{let k=i.routes[v.route.id];!k||!k.hasLoader||(!c.some(S=>S.route.id===v.route.id)&&v.route.id in a&&s[v.route.id]?.shouldRevalidate||k.hasClientLoader?b=!0:m.add(v.route.id))}),m.size===0)return[];let y=Cx(n,o,"data");return b&&m.size>0&&y.searchParams.set("_routes",e.filter(v=>m.has(v.route.id)).map(v=>v.route.id).join(",")),[y.pathname+y.search]},[o,a,r,i,c,e,n,s]),f=g.useMemo(()=>Ax(h,i),[h,i]),p=Lx(h);return g.createElement(g.Fragment,null,d.map(m=>g.createElement("link",{key:m,rel:"prefetch",as:"fetch",href:m,...t})),f.map(m=>g.createElement("link",{key:m,rel:"modulepreload",href:m,...t})),p.map(({key:m,link:b})=>g.createElement("link",{key:m,nonce:t.nonce,...b})))}function Bx(...n){return e=>{n.forEach(t=>{typeof t=="function"?t(e):t!=null&&(t.current=e)})}}var $x=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{$x&&(window.__reactRouterVersion="7.11.0")}catch{}function Fx(n,e){return dy({basename:e?.basename,getContext:e?.getContext,future:e?.future,history:A1({window:e?.window}),hydrationData:Vx(),routes:n,mapRouteProperties:lx,hydrationRouteProperties:cx,dataStrategy:e?.dataStrategy,patchRoutesOnNavigation:e?.patchRoutesOnNavigation,window:e?.window,unstable_instrumentations:e?.unstable_instrumentations}).initialize()}function Vx(){let n=window?.__staticRouterHydrationData;return n&&n.errors&&(n={...n,errors:zx(n.errors)}),n}function zx(n){if(!n)return null;let e=Object.entries(n),t={};for(let[r,i]of e)if(i&&i.__type==="RouteErrorResponse")t[r]=new Rs(i.status,i.statusText,i.data,i.internal===!0);else if(i&&i.__type==="Error"){if(i.__subType){let s=window[i.__subType];if(typeof s=="function")try{let o=new s(i.message);o.stack="",t[r]=o}catch{}}if(t[r]==null){let s=new Error(i.message);s.stack="",t[r]=s}}else t[r]=i;return t}var wm=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,km=g.forwardRef(function({onClick:e,discover:t="render",prefetch:r="none",relative:i,reloadDocument:s,replace:o,state:a,target:l,to:c,preventScrollReset:h,viewTransition:d,unstable_defaultShouldRevalidate:f,...p},m){let{basename:b,unstable_useTransitions:y}=g.useContext(xt),v=typeof c=="string"&&wm.test(c),k=Xp(c,b);c=k.to;let S=_y(c,{relative:i}),[O,C,P]=Ex(r,p),x=Ux(c,{replace:o,state:a,target:l,preventScrollReset:h,relative:i,viewTransition:d,unstable_defaultShouldRevalidate:f,unstable_useTransitions:y});function D(I){e&&e(I),I.defaultPrevented||x(I)}let T=g.createElement("a",{...p,...P,href:k.absoluteURL||S,onClick:k.isExternal||s?e:D,ref:Bx(m,C),target:l,"data-discover":!v&&t==="render"?"true":void 0});return O&&!v?g.createElement(g.Fragment,null,T,g.createElement(Rx,{page:S})):T});km.displayName="Link";var Hx=g.forwardRef(function({"aria-current":e="page",caseSensitive:t=!1,className:r="",end:i=!1,style:s,to:o,viewTransition:a,children:l,...c},h){let d=Bs(o,{relative:c.relative}),f=tn(),p=g.useContext(Is),{navigator:m,basename:b}=g.useContext(xt),y=p!=null&&Qx(d)&&a===!0,v=m.encodeLocation?m.encodeLocation(d).pathname:d.pathname,k=f.pathname,S=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;t||(k=k.toLowerCase(),S=S?S.toLowerCase():null,v=v.toLowerCase()),S&&b&&(S=Mt(S,b)||S);const O=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let C=k===v||!i&&k.startsWith(v)&&k.charAt(O)==="/",P=S!=null&&(S===v||!i&&S.startsWith(v)&&S.charAt(v.length)==="/"),x={isActive:C,isPending:P,isTransitioning:y},D=C?e:void 0,T;typeof r=="function"?T=r(x):T=[r,C?"active":null,P?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let I=typeof s=="function"?s(x):s;return g.createElement(km,{...c,"aria-current":D,className:T,ref:h,style:I,to:o,viewTransition:a},typeof l=="function"?l(x):l)});Hx.displayName="NavLink";var _x=g.forwardRef(({discover:n="render",fetcherKey:e,navigate:t,reloadDocument:r,replace:i,state:s,method:o=$o,action:a,onSubmit:l,relative:c,preventScrollReset:h,viewTransition:d,unstable_defaultShouldRevalidate:f,...p},m)=>{let{unstable_useTransitions:b}=g.useContext(xt),y=qx(),v=Yx(a,{relative:c}),k=o.toLowerCase()==="get"?"get":"post",S=typeof a=="string"&&wm.test(a),O=C=>{if(l&&l(C),C.defaultPrevented)return;C.preventDefault();let P=C.nativeEvent.submitter,x=P?.getAttribute("formmethod")||o,D=()=>y(P||C.currentTarget,{fetcherKey:e,method:x,navigate:t,replace:i,state:s,relative:c,preventScrollReset:h,viewTransition:d,unstable_defaultShouldRevalidate:f});b&&t!==!1?g.startTransition(()=>D()):D()};return g.createElement("form",{ref:m,method:k,action:v,onSubmit:r?l:O,...p,"data-discover":!S&&n==="render"?"true":void 0})});_x.displayName="Form";function Wx(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Sm(n){let e=g.useContext(lr);return ue(e,Wx(n)),e}function Ux(n,{target:e,replace:t,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a,unstable_useTransitions:l}={}){let c=yn(),h=tn(),d=Bs(n,{relative:s});return g.useCallback(f=>{if(vx(f,e)){f.preventDefault();let p=t!==void 0?t:en(h)===en(d),m=()=>c(n,{replace:p,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a});l?g.startTransition(()=>m()):m()}},[h,c,d,t,r,e,n,i,s,o,a,l])}var Kx=0,Gx=()=>`__${String(++Kx)}__`;function qx(){let{router:n}=Sm("useSubmit"),{basename:e}=g.useContext(xt),t=nx(),r=n.fetch,i=n.navigate;return g.useCallback(async(s,o={})=>{let{action:a,method:l,encType:c,formData:h,body:d}=Sx(s,e);if(o.navigate===!1){let f=o.fetcherKey||Gx();await r(f,t,o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:h,body:d,formMethod:o.method||l,formEncType:o.encType||c,flushSync:o.flushSync})}else await i(o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:h,body:d,formMethod:o.method||l,formEncType:o.encType||c,replace:o.replace,state:o.state,fromRouteId:t,flushSync:o.flushSync,viewTransition:o.viewTransition})},[r,i,e,t])}function Yx(n,{relative:e}={}){let{basename:t}=g.useContext(xt),r=g.useContext(Dt);ue(r,"useFormAction must be used inside a RouteContext");let[i]=r.matches.slice(-1),s={...Bs(n||".",{relative:e})},o=tn();if(n==null){s.search=o.search;let a=new URLSearchParams(s.search),l=a.getAll("index");if(l.some(h=>h==="")){a.delete("index"),l.filter(d=>d).forEach(d=>a.append("index",d));let h=a.toString();s.search=h?`?${h}`:""}}return(!n||n===".")&&i.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),t!=="/"&&(s.pathname=s.pathname==="/"?t:Xt([t,s.pathname])),en(s)}function Qx(n,{relative:e}={}){let t=g.useContext(lh);ue(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=Sm("useViewTransitionState"),i=Bs(n,{relative:e});if(!t.isTransitioning)return!1;let s=Mt(t.currentLocation.pathname,r)||t.currentLocation.pathname,o=Mt(t.nextLocation.pathname,r)||t.nextLocation.pathname;return Qo(i.pathname,o)!=null||Qo(i.pathname,s)!=null}function Jx(n){return g.createElement(ux,{flushSync:Hp.flushSync,...n})}const Xx={en:{loading:"Loading...",error:"Error",selectProject:"Select a project to view dashboard",controlCenter:"Control Center",settings:"Settings",sync:"Sync",offline:"Offline",switchToLight:"Switch to light mode",switchToDark:"Switch to dark mode",settingsSection:"Settings",configEditor:"Config Editor",projects:"Projects",addProject:"Add Project",global:"Global",skills:"Skills",health:"Health",collapse:"Collapse",expand:"Expand",installing:"Installing...",manage:"Manage",uninstall:"Uninstall",installGlobally:"Install Globally",installGloballyDesc:"Available to all projects instead of current project only",selectAtLeastOneAgent:"Please select at least one agent",installationFailed:"Installation failed",allSkills:"All Skills",refresh:"Refresh",browseAndManageSkills:"Browse and manage skills for your agents",detected:"Detected",notDetected:"Not detected",sessions:"sessions",noSessions:"No sessions",terminal:"Terminal",terminalSub:"Open bash at path",editor:"Editor",editorSub:"Open in VS Code",useGlobalFallback:"Use global fallback",openAtPath:"Open at project path",openAppOnly:"Open app only",actionOptionsLoadFailed:"Could not load editor/terminal options",launch:"Launch",launchSub:"Start Claude Code",config:"Config",configSub:"Manage project settings",recentSessions:"Recent Sessions",viewAllHistory:"View All History",showLess:"Show Less",actionFailed:"Action failed",loadingSessions:"Loading sessions...",noSessionsFound:"No sessions found",configuration:"Claude Settings",activeKit:"Active Kit",aiModel:"Model",hooks:"Hooks",active:"active",mcpServers:"MCP Servers",connected:"connected",editProjectConfig:"Edit Project Config",globalSettings:"(Global)",globalSkills:"Global Skills",loadingSkills:"Loading skills...",noDescription:"No description",browseSkillsMarketplace:"Browse Skills Marketplace",backToDashboard:"Back to Dashboard",educationalConfigEditor:"Educational Config Editor",discard:"Discard",saveChanges:"Save Changes",mergedView:"Merged View",localConfig:"Local (.ck.json)",globalConfig:"Global",syntaxValid:"Syntax Valid",configurationHelp:"Configuration Help",field:"Field",type:"Type",default:"Default",description:"Description",validValues:"Valid Values",systemEffect:"System Effect",exampleUsage:"Example Usage",knowledgeBase:"Knowledge Base",clickToSeeHelp:"Click on any configuration field to see detailed documentation and usage examples.",extractedFrom:"Extracted from ClaudeKit v2.x Specification",resetToDefault:"Reset",saving:"Saving...",saved:"Saved",confirmReset:"Reset to Default?",confirmResetMessage:"All changes will be lost and replaced with default values.",confirm:"Confirm",saveFailed:"Save failed",configTab:"Config",systemTab:"System",formTab:"Form",jsonTab:"JSON",installedKit:"Installed Kit",kitVersion:"Kit Version",installedOn:"Installed On",noKitInstalled:"No kit installed",components:"Components",agents:"Agents",commands:"Commands",workflows:"Workflows",kitSkills:"Skills",fileOwnership:"File Ownership",ownershipCk:"kit-managed",ownershipUser:"user-owned",ownershipModified:"modified",componentInventory:"Component Inventory",installedHooks:"Installed Hooks",installedMcpServers:"MCP Servers",lastChecked:"Last update check",staleIndicator:"Stale",skippedVersion:"Skipped",filesModifiedFromDefaults:"files modified from kit defaults",cliCard:"ClaudeKit CLI",checkForUpdates:"Check for Updates",checking:"Checking...",upToDate:"Up to date",updateAvailable:"Update available",updateNow:"Update Now",updating:"Updating...",updateSuccess:"Update Complete!",updateFailed:"Update Failed",closeModal:"Close",showDetails:"Show Details",hideDetails:"Hide Details",environment:"Environment",claudeConfigPath:"Claude config",nodeVersion:"Node",bunVersion:"Bun",osVersion:"OS",channelStable:"Stable",channelBeta:"Beta",betaBadge:"Beta",latestVersion:"Latest",selectVersion:"Select version",loadingVersions:"Loading versions...",prereleaseLabel:"Pre",currentVersionLabel:"Current",checkAll:"Check All",checkingAll:"Checking...",updateAll:"Update All",updatesAvailable:"{count} updates available",allUpToDate:"All up to date",systemControlTower:"System Control Tower",systemOverviewTitle:"Update & Runtime Overview",systemOverviewDesc:"Track CLI and kit health, then run upgrades from one place.",installedComponentsHeading:"Installed Components",updateReadiness:"Update Readiness",checkedComponents:"Checked",activeChannel:"Channel",readyToScan:"Ready to scan",noTrackedFiles:"No tracked files detected",kitsLabel:"Kits",componentFilterAll:"All",componentFilterUpdates:"Updates",componentFilterUpdatesCount:"Updates ({count})",componentFilterUpToDate:"Up to date",componentFilterUpToDateCount:"Up to date ({count})",componentFilterCli:"CLI",componentFilterKits:"Kits",noComponentsMatchFilter:"No components match the current filter.",runCheckAllForFilter:"Run Check All to populate this filter.",noUpdatesFound:"No updates found. Checked components are up to date.",noUpToDateYet:"No components are up to date yet.",configWorkspaceHint:"Edit configuration or manage system updates from one workspace.",addProjectTitle:"Add Project",addProjectDescription:"Add a new ClaudeKit project to the control center",projectPath:"Project Path",pathPlaceholder:"/path/to/project",alias:"Alias",aliasOptional:"(optional)",aliasPlaceholder:"my-project",aliasDescription:"Custom display name for the project",pathRequired:"Path is required",failedToAdd:"Failed to add project",cancel:"Cancel",adding:"Adding...",somethingWentWrong:"Something went wrong",reloadApp:"Reload App",serverNotRunning:"Server Not Running",startServerMessage:"The Config UI requires the backend server to be running.",runThisCommand:"Run this command",tryAgain:"Try Again",projectConfig:"Project Config",inheritedFromGlobal:"Inherited from Global",localOverride:"Local Override",viewGlobalConfig:"This field inherits from global config. View",onboardingTitle:"Welcome to ClaudeKit",onboardingSubtitle:"Choose your kit and get started in minutes",kitEngineerName:"ClaudeKit Engineer",kitEngineerTagline:"AI-powered coding with skills, hooks, and multi-agent workflows",kitMarketingName:"ClaudeKit Marketing",kitMarketingTagline:"Content automation: campaigns, social media, analytics",featureAgents:"AI Agents",featureAgentsDesc:"Specialized agents for different tasks",featureHooks:"Lifecycle Hooks",featureHooksDesc:"Customize Claude's behavior at key moments",featureSkills:"Skills Library",featureSkillsDesc:"Pre-built capabilities you can activate",featureMultiAgent:"Multi-Agent Workflows",featureMultiAgentDesc:"Coordinate multiple agents for complex tasks",featureContent:"Content Generation",featureContentDesc:"Automated content creation and optimization",featureSocial:"Social Media Tools",featureSocialDesc:"Scheduling, analytics, and engagement automation",stepChooseKit:"Choose Kit",stepConfigure:"Configure",stepInstall:"Install",back:"Back",next:"Next",install:"Install",installSuccess:"Installation Complete!",installSuccessDesc:"{kit} is ready to use",getStarted:"Get Started",goToDashboard:"Go to Dashboard",kitConfig:"Kit Config",kitConfigSubtitle:"Configure ClaudeKit Engineer settings",scopeGlobal:"Global",scopeProject:"Project",sectionGeneral:"General",sectionPaths:"Paths",sectionPrivacy:"Privacy & Trust",sectionProject:"Project Detection",sectionIntegrations:"Integrations",sectionHooks:"Hooks",sectionAdvanced:"Advanced",fieldCodingLevel:"Coding Level",fieldCodingLevelDesc:"Your coding experience level (-1=auto, 0=beginner, 1=intermediate, 2=advanced, 3=expert, 4=tech-lead, 5=god-mode)",fieldStatusline:"Statusline Mode",fieldStatuslineDesc:"How much info to show in the status line",fieldThinkingLanguage:"Thinking Language",fieldThinkingLanguageDesc:"Language for Claude's internal reasoning (null=English)",fieldResponseLanguage:"Response Language",fieldResponseLanguageDesc:"Language for Claude's responses (null=match user)",fieldDocsPath:"Docs Directory",fieldDocsPathDesc:"Path to documentation directory",fieldPlansPath:"Plans Directory",fieldPlansPathDesc:"Path to plans directory",fieldPrivacyBlock:"Privacy Block",fieldPrivacyBlockDesc:"Block access to sensitive files (.env, credentials)",fieldTrustEnabled:"Trust Mode",fieldTrustEnabledDesc:"Enable auto-approval for tool calls",fieldTrustPassphrase:"Trust Passphrase",fieldTrustPassphraseDesc:"Passphrase to enable trust mode",fieldProjectType:"Project Type",fieldProjectTypeDesc:"Override auto-detected project type",fieldPackageManager:"Package Manager",fieldPackageManagerDesc:"Override auto-detected package manager",fieldFramework:"Framework",fieldFrameworkDesc:"Override auto-detected framework",fieldGeminiModel:"Gemini Model",fieldGeminiModelDesc:"Gemini model for CLI commands",fieldResearchUseGemini:"Use Gemini for Research",fieldResearchUseGeminiDesc:"Use Gemini CLI instead of WebSearch",fieldDocsMaxLoc:"Max Lines per Doc",fieldDocsMaxLocDesc:"Maximum lines of code per documentation file",fieldPlanNamingFormat:"Plan Naming Format",fieldPlanNamingFormatDesc:"Format for plan directory names",fieldPlanDateFormat:"Plan Date Format",fieldPlanDateFormatDesc:"Date format for plan names (moment.js)",fieldPlanValidationMode:"Validation Mode",fieldPlanValidationModeDesc:"How to validate plans before implementation",fieldPlanMinQuestions:"Min Questions",fieldPlanMinQuestionsDesc:"Minimum validation questions",fieldPlanMaxQuestions:"Max Questions",fieldPlanMaxQuestionsDesc:"Maximum validation questions",fieldAssertions:"Assertions",fieldAssertionsDesc:"Code assertions and rules to enforce",fieldHookSessionInit:"Session Init",fieldHookSessionInitDesc:"Project detection and environment setup",fieldHookSubagentInit:"Subagent Init",fieldHookSubagentInitDesc:"Inject context to subagents",fieldHookDescriptiveName:"Descriptive Name",fieldHookDescriptiveNameDesc:"Enforce kebab-case descriptive file naming for scripts",fieldHookDevRulesReminder:"Dev Rules Reminder",fieldHookDevRulesReminderDesc:"Inject development rules context",fieldHookUsageContextAwareness:"Usage Context Awareness",fieldHookUsageContextAwarenessDesc:"Usage limits awareness",fieldHookContextTracking:"Context Tracking",fieldHookContextTrackingDesc:"Context window tracking (% used, token counts)",fieldHookScoutBlock:"Scout Block",fieldHookScoutBlockDesc:"Block heavy directories from exploration",fieldHookPrivacyBlock:"Privacy Block Hook",fieldHookPrivacyBlockDesc:"Block sensitive files from reading",fieldHookPostEditSimplify:"Post-Edit Simplify",fieldHookPostEditSimplifyDesc:"Simplify reminder after edits",skillsPageTitle:"Skills Management",skillsPageDesc:"Install ClaudeKit skills to your coding agents",availableSkills:"Available Skills",installedSkills:"Installed Skills",noSkillsFound:"No skills found",installSkill:"Install",uninstallSkill:"Uninstall",manageSkill:"Manage",syncRegistry:"Sync",installSkillTitle:"Install Skill",selectAgents:"Select target agents",installLocation:"Installation location",globalInstall:"Global",projectInstall:"Project",confirmInstall:"Install to selected agents",installingSkill:"Installing...",skillInstallSuccess:"Skill installed successfully",skillInstallFailed:"Installation failed",agentClaudeCode:"Claude Code",agentCursor:"Cursor",agentCodex:"Codex",agentOpencode:"OpenCode",agentGoose:"Goose",agentGeminiCli:"Gemini CLI",agentAntigravity:"Antigravity",agentGithubCopilot:"GitHub Copilot",agentAmp:"Amp",agentKilo:"Kilo",agentRoo:"Roo",agentWindsurf:"Windsurf",agentCline:"Cline",agentOpenhands:"OpenHands",installed:"Installed",notInstalled:"Not installed",allAgents:"All Agents",filterByAgent:"Filter by agent",skillsTitle:"Skills",skillsSubtitle:"Browse, install, and manage skills for your coding agents",availableCount:"Available",installedCount:"Installed",agentsCount:"Agents",searchSkills:"Search skills...",searchShortcut:"/",sortAZ:"A-Z",sortCategory:"Category",sortInstalledFirst:"Installed first",listView:"List view",gridView:"Grid view",categoryAll:"All",categoryAI:"AI",categoryUIUX:"UI/UX",categoryBackend:"Backend",categorySecurity:"Security",categoryDevOps:"DevOps",categoryDatabase:"Database",categoryDevelopment:"Development",categoryResearch:"Research",categoryGeneral:"General",categoryCore:"Core",categoryDocumentation:"Documentation",categoryTooling:"Tooling",categoryMedia:"Media",categoryFrameworks:"Frameworks",skillsCountLabel:"{count} skills",installToAll:"Install to All Detected",scopeLabel:"Installation Scope",agentInstalled:"Installed",agentNotInstalled:"Not installed",skillSource:"Source location",skillSourceBadge:"Source",detailPanelClose:"Close",versionLabel:"v{version}",installAllToAllAgents:"Install All to All Agents",bulkInstallFailed:"Bulk install failed",noAgentsDetected:"No agents detected",kitBadgeEngineer:"Engineer",kitBadgeMarketing:"Marketing",customizedBadge:"Customized",installedVersionLabel:"Installed Version",installedAtLabel:"Installed At",sourceTimestampLabel:"Source Date",kitLabel:"Kit",skillMetadata:"Skill Info",migrate:"Migrate",migrateTitle:"Migrate",migrateSubtitle:"Migrate your Claude Code stack to other providers",migrateDetectedProviders:"Detected",migrateSelectedProviders:"Selected",migrateDiscovering:"Discovering migration sources...",migrateRefresh:"Refresh Discovery",migrateRun:"Run Migration",migrateRunning:"Migrating...",migrateSourceSummary:"Source Summary",migratePresetCodex:"Codex",migratePresetAntigravity:"Antigravity",migratePresetBoth:"Codex + Antigravity",migratePresetDetected:"All Detected",migrateScope:"Scope",migrateScopeProject:"Project",migrateScopeGlobal:"Global",migrateTypes:"Portable Types",migrateTypeAgents:"Subagents",migrateTypeCommands:"Commands",migrateTypeSkills:"Skills",migrateTypeConfig:"Config",migrateTypeRules:"Rules",migrateSearchProviders:"Search providers...",migrateSelectVisible:"Select Visible",migrateClearSelection:"Clear Selection",migrateProvidersHeading:"Target Providers",migrateProvidersCountSuffix:"providers",migrateNoProvidersMatch:"No providers match current filters.",migrateSelectButton:"Select",migrateSelectedButton:"Selected",migrateSelectProviderAction:"Select Provider",migrateUnselectProvider:"Unselect Provider",migrateCapabilitiesLabel:"types",migrateCapabilitiesSection:"Capability Matrix",migrateSupported:"Supported",migrateUnsupportedShort:"Unsupported",migrateIncludedEnabled:"Enabled",migrateIncludedDisabled:"Disabled",migrateLatestTarget:"Latest Target",migrateNoResultForProvider:"No migration result for this provider yet.",migrateActionSummaryTitle:"Ready to Migrate",migrateGlobalOnlyCommandsShort:"Commands global-only",migrateNoProviders:"No providers available.",migrateUnsupported:"Will be skipped (unsupported)",migrateGlobalForced:"Codex commands are global-only. Scope will be forced to global.",migrateResults:"Migration Results",migrateInstalled:"Installed",migrateSkipped:"Skipped",migrateFailed:"Failed",migrateProvider:"Provider",migrateStatus:"Status",migratePath:"Path",migrateError:"Error",migrateStatusInstalled:"Installed",migrateStatusSkipped:"Skipped",migrateStatusFailed:"Failed",migrateNoResults:"No migration results yet.",migrateDetectFailed:"Failed to discover migration data",migrateExecuteFailed:"Migration execution failed",migrateSelectProvider:"Select at least one provider",migrateNoTypesEnabled:"Enable at least one portable type",migrateDetectedTag:"Detected",migrateNotDetectedTag:"Not detected",migrateFilterRecommended:"Recommended",migrateActionInstall:"Install",migrateActionUpdate:"Update",migrateActionSkip:"Skip",migrateActionConflict:"Conflict",migrateActionDelete:"Delete",migrateUnchanged:"unchanged",migrateConflictSectionTitle:"Conflicts",migrateConflictUseCK:"Use CK",migrateConflictKeepMine:"Keep Mine",migrateConflictSmartMerge:"Smart Merge",migrateConflictShowDiff:"Show Diff",migrateConflictHideDiff:"Hide Diff",migrateConflictResolved:"Resolved",migrateConflictManual:"Manual",migrateConflictOverwriteAll:"Overwrite All",migrateConflictKeepAll:"Keep All",migrateSummaryTitle:"Migration Complete",migrateSummaryNewMigration:"New Migration",migrateType:"Type",migrateItem:"Item",migrateReconciling:"Analyzing changes...",migrateReviewPlan:"Review Plan",migrateExecutePlan:"Execute Migration",migrateExecuting:"Executing migration...",migrateResolveConflicts:"Resolve all conflicts before executing",developmentFeature:"Development",betaFeature:"Beta",experimentalFeature:"Experimental"},vi:{loading:"Đang tải...",error:"Lỗi",selectProject:"Chọn dự án để xem bảng điều khiển",controlCenter:"Trung tâm điều khiển",settings:"Cài đặt",sync:"Đồng bộ",offline:"Ngoại tuyến",switchToLight:"Chuyển sang chế độ sáng",switchToDark:"Chuyển sang chế độ tối",settingsSection:"Cài đặt",configEditor:"Trình chỉnh sửa cấu hình",projects:"Dự án",addProject:"Thêm dự án",global:"Toàn cục",skills:"Kỹ năng",health:"Sức khỏe",collapse:"Thu gọn",expand:"Mở rộng",installing:"Đang cài đặt...",manage:"Quản lý",uninstall:"Gỡ cài đặt",installGlobally:"Cài đặt toàn cục",installGloballyDesc:"Khả dụng cho tất cả dự án thay vì chỉ dự án hiện tại",selectAtLeastOneAgent:"Vui lòng chọn ít nhất một agent",installationFailed:"Cài đặt thất bại",allSkills:"Tất cả kỹ năng",refresh:"Làm mới",browseAndManageSkills:"Duyệt và quản lý kỹ năng cho agents của bạn",detected:"Đã phát hiện",notDetected:"Chưa phát hiện",sessions:"phiên",noSessions:"Không có phiên",terminal:"Terminal",terminalSub:"Mở bash tại đường dẫn",editor:"Trình soạn thảo",editorSub:"Mở trong VS Code",useGlobalFallback:"Dùng fallback global",openAtPath:"Mở tại đường dẫn dự án",openAppOnly:"Chỉ mở ứng dụng",actionOptionsLoadFailed:"Không thể tải tùy chọn editor/terminal",launch:"Khởi chạy",launchSub:"Bắt đầu Claude Code",config:"Cấu hình",configSub:"Quản lý cài đặt dự án",recentSessions:"Phiên gần đây",viewAllHistory:"Xem tất cả lịch sử",showLess:"Thu gọn",actionFailed:"Thao tác thất bại",loadingSessions:"Đang tải phiên...",noSessionsFound:"Không tìm thấy phiên nào",configuration:"Cài đặt Claude",activeKit:"Kit hoạt động",aiModel:"Mô hình",hooks:"Hooks",active:"hoạt động",mcpServers:"Máy chủ MCP",connected:"kết nối",editProjectConfig:"Chỉnh sửa cấu hình dự án",globalSettings:"(Toàn cục)",globalSkills:"Kỹ năng toàn cục",loadingSkills:"Đang tải kỹ năng...",noDescription:"Không có mô tả",browseSkillsMarketplace:"Duyệt Skills Marketplace",backToDashboard:"Quay lại bảng điều khiển",educationalConfigEditor:"Trình chỉnh sửa cấu hình hướng dẫn",discard:"Hủy bỏ",saveChanges:"Lưu thay đổi",mergedView:"Chế độ gộp",localConfig:"Cục bộ (.ck.json)",globalConfig:"Toàn cục",syntaxValid:"Cú pháp hợp lệ",configurationHelp:"Hướng dẫn cấu hình",field:"Trường",type:"Kiểu",default:"Mặc định",description:"Mô tả",validValues:"Giá trị hợp lệ",systemEffect:"Hiệu ứng hệ thống",exampleUsage:"Ví dụ sử dụng",knowledgeBase:"Cơ sở kiến thức",clickToSeeHelp:"Nhấp vào bất kỳ trường cấu hình nào để xem tài liệu chi tiết và ví dụ sử dụng.",extractedFrom:"Trích xuất từ ClaudeKit v2.x Specification",resetToDefault:"Đặt lại",saving:"Đang lưu...",saved:"Đã lưu",confirmReset:"Đặt lại về mặc định?",confirmResetMessage:"Tất cả thay đổi sẽ bị mất và được thay thế bằng giá trị mặc định.",confirm:"Xác nhận",saveFailed:"Lưu thất bại",configTab:"Cấu hình",systemTab:"Hệ thống",formTab:"Biểu mẫu",jsonTab:"JSON",installedKit:"Kit đã cài",kitVersion:"Phiên bản Kit",installedOn:"Cài đặt vào",noKitInstalled:"Chưa cài kit",components:"Thành phần",agents:"Agents",commands:"Commands",workflows:"Workflows",kitSkills:"Skills",fileOwnership:"Quyền sở hữu tệp",ownershipCk:"do kit quản lý",ownershipUser:"do người dùng",ownershipModified:"đã chỉnh sửa",componentInventory:"Thành phần đã cài",installedHooks:"Hooks đã cài",installedMcpServers:"MCP Servers",lastChecked:"Kiểm tra cập nhật",staleIndicator:"Cũ",skippedVersion:"Đã bỏ qua",filesModifiedFromDefaults:"tệp đã sửa so với mặc định",cliCard:"ClaudeKit CLI",checkForUpdates:"Kiểm tra cập nhật",checking:"Đang kiểm tra...",upToDate:"Đã cập nhật",updateAvailable:"Có bản cập nhật",updateNow:"Cập nhật ngay",updating:"Đang cập nhật...",updateSuccess:"Cập nhật hoàn tất!",updateFailed:"Cập nhật thất bại",closeModal:"Đóng",showDetails:"Xem chi tiết",hideDetails:"Ẩn chi tiết",environment:"Môi trường",claudeConfigPath:"Cấu hình Claude",nodeVersion:"Node",bunVersion:"Bun",osVersion:"Hệ điều hành",channelStable:"Ổn định",channelBeta:"Beta",betaBadge:"Beta",latestVersion:"Mới nhất",selectVersion:"Chọn phiên bản",loadingVersions:"Đang tải...",prereleaseLabel:"Thử nghiệm",currentVersionLabel:"Hiện tại",checkAll:"Kiểm tra tất cả",checkingAll:"Đang kiểm tra...",updateAll:"Cập nhật tất cả",updatesAvailable:"{count} bản cập nhật",allUpToDate:"Tất cả đã cập nhật",systemControlTower:"Trung tâm hệ thống",systemOverviewTitle:"Tổng quan cập nhật & môi trường",systemOverviewDesc:"Theo dõi CLI và kit, rồi nâng cấp từ một nơi.",installedComponentsHeading:"Thành phần đã cài",updateReadiness:"Mức sẵn sàng cập nhật",checkedComponents:"Đã kiểm tra",activeChannel:"Kênh",readyToScan:"Sẵn sàng kiểm tra",noTrackedFiles:"Không phát hiện tệp theo dõi",kitsLabel:"Kit",componentFilterAll:"Tất cả",componentFilterUpdates:"Bản cập nhật",componentFilterUpdatesCount:"Bản cập nhật ({count})",componentFilterUpToDate:"Đã cập nhật",componentFilterUpToDateCount:"Đã cập nhật ({count})",componentFilterCli:"CLI",componentFilterKits:"Kit",noComponentsMatchFilter:"Không có thành phần phù hợp bộ lọc hiện tại.",runCheckAllForFilter:"Hãy chạy Kiểm tra tất cả để nạp dữ liệu cho bộ lọc này.",noUpdatesFound:"Không có bản cập nhật. Các thành phần đã kiểm tra đều mới nhất.",noUpToDateYet:"Chưa có thành phần nào ở trạng thái đã cập nhật.",configWorkspaceHint:"Chỉnh sửa cấu hình hoặc quản lý cập nhật hệ thống trong một màn hình.",addProjectTitle:"Thêm dự án",addProjectDescription:"Thêm dự án ClaudeKit mới vào trung tâm điều khiển",projectPath:"Đường dẫn dự án",pathPlaceholder:"/đường/dẫn/dự/án",alias:"Bí danh",aliasOptional:"(tùy chọn)",aliasPlaceholder:"dự-án-của-tôi",aliasDescription:"Tên hiển thị tùy chỉnh cho dự án",pathRequired:"Đường dẫn bắt buộc",failedToAdd:"Không thể thêm dự án",cancel:"Hủy",adding:"Đang thêm...",somethingWentWrong:"Đã xảy ra lỗi",reloadApp:"Tải lại ứng dụng",serverNotRunning:"Máy chủ không chạy",startServerMessage:"Config UI yêu cầu máy chủ backend đang chạy.",runThisCommand:"Chạy lệnh này",tryAgain:"Thử lại",projectConfig:"Cấu hình dự án",inheritedFromGlobal:"Kế thừa từ toàn cục",localOverride:"Ghi đè cục bộ",viewGlobalConfig:"Trường này kế thừa từ cấu hình toàn cục. Xem",onboardingTitle:"Chào mừng đến ClaudeKit",onboardingSubtitle:"Chọn kit của bạn và bắt đầu trong vài phút",kitEngineerName:"ClaudeKit Engineer",kitEngineerTagline:"Lập trình AI với skills, hooks và multi-agent",kitMarketingName:"ClaudeKit Marketing",kitMarketingTagline:"Tự động hóa nội dung: chiến dịch, mạng xã hội, phân tích",featureAgents:"AI Agents",featureAgentsDesc:"Các agent chuyên biệt cho từng tác vụ",featureHooks:"Lifecycle Hooks",featureHooksDesc:"Tùy chỉnh hành vi của Claude tại các thời điểm quan trọng",featureSkills:"Thư viện Skills",featureSkillsDesc:"Các khả năng có sẵn bạn có thể kích hoạt",featureMultiAgent:"Multi-Agent Workflows",featureMultiAgentDesc:"Phối hợp nhiều agent cho các tác vụ phức tạp",featureContent:"Tạo nội dung",featureContentDesc:"Tự động tạo và tối ưu nội dung",featureSocial:"Công cụ mạng xã hội",featureSocialDesc:"Lên lịch, phân tích và tự động tương tác",stepChooseKit:"Chọn Kit",stepConfigure:"Cấu hình",stepInstall:"Cài đặt",back:"Quay lại",next:"Tiếp theo",install:"Cài đặt",installSuccess:"Cài đặt hoàn tất!",installSuccessDesc:"{kit} đã sẵn sàng sử dụng",getStarted:"Bắt đầu",goToDashboard:"Đi đến Dashboard",kitConfig:"Cấu hình Kit",kitConfigSubtitle:"Cấu hình ClaudeKit Engineer",scopeGlobal:"Toàn cục",scopeProject:"Dự án",sectionGeneral:"Cài đặt chung",sectionPaths:"Đường dẫn",sectionPrivacy:"Bảo mật & Tin cậy",sectionProject:"Phát hiện dự án",sectionIntegrations:"Tích hợp",sectionHooks:"Hooks",sectionAdvanced:"Nâng cao",fieldCodingLevel:"Cấp độ lập trình",fieldCodingLevelDesc:"Cấp độ kinh nghiệm (-1=tự động, 0=mới bắt đầu, 1=trung cấp, 2=nâng cao, 3=chuyên gia, 4=tech-lead, 5=thần)",fieldStatusline:"Chế độ thanh trạng thái",fieldStatuslineDesc:"Lượng thông tin hiển thị trên thanh trạng thái",fieldThinkingLanguage:"Ngôn ngữ suy nghĩ",fieldThinkingLanguageDesc:"Ngôn ngữ cho suy luận nội bộ của Claude (null=Tiếng Anh)",fieldResponseLanguage:"Ngôn ngữ phản hồi",fieldResponseLanguageDesc:"Ngôn ngữ cho phản hồi của Claude (null=theo người dùng)",fieldDocsPath:"Thư mục tài liệu",fieldDocsPathDesc:"Đường dẫn đến thư mục tài liệu",fieldPlansPath:"Thư mục kế hoạch",fieldPlansPathDesc:"Đường dẫn đến thư mục kế hoạch",fieldPrivacyBlock:"Chặn quyền riêng tư",fieldPrivacyBlockDesc:"Chặn truy cập file nhạy cảm (.env, credentials)",fieldTrustEnabled:"Chế độ tin cậy",fieldTrustEnabledDesc:"Tự động phê duyệt các tool calls",fieldTrustPassphrase:"Mật khẩu tin cậy",fieldTrustPassphraseDesc:"Mật khẩu để bật chế độ tin cậy",fieldProjectType:"Loại dự án",fieldProjectTypeDesc:"Ghi đè loại dự án tự động phát hiện",fieldPackageManager:"Trình quản lý gói",fieldPackageManagerDesc:"Ghi đè trình quản lý gói tự động phát hiện",fieldFramework:"Framework",fieldFrameworkDesc:"Ghi đè framework tự động phát hiện",fieldGeminiModel:"Mô hình Gemini",fieldGeminiModelDesc:"Mô hình Gemini cho các lệnh CLI",fieldResearchUseGemini:"Dùng Gemini cho nghiên cứu",fieldResearchUseGeminiDesc:"Dùng Gemini CLI thay vì WebSearch",fieldDocsMaxLoc:"Số dòng tối đa/tài liệu",fieldDocsMaxLocDesc:"Số dòng code tối đa cho mỗi file tài liệu",fieldPlanNamingFormat:"Định dạng tên kế hoạch",fieldPlanNamingFormatDesc:"Định dạng cho tên thư mục kế hoạch",fieldPlanDateFormat:"Định dạng ngày kế hoạch",fieldPlanDateFormatDesc:"Định dạng ngày cho tên kế hoạch (moment.js)",fieldPlanValidationMode:"Chế độ xác thực",fieldPlanValidationModeDesc:"Cách xác thực kế hoạch trước khi triển khai",fieldPlanMinQuestions:"Số câu hỏi tối thiểu",fieldPlanMinQuestionsDesc:"Số câu hỏi xác thực tối thiểu",fieldPlanMaxQuestions:"Số câu hỏi tối đa",fieldPlanMaxQuestionsDesc:"Số câu hỏi xác thực tối đa",fieldAssertions:"Assertions",fieldAssertionsDesc:"Các assertions và quy tắc cần thực thi",fieldHookSessionInit:"Khởi tạo phiên",fieldHookSessionInitDesc:"Phát hiện dự án và thiết lập môi trường",fieldHookSubagentInit:"Khởi tạo subagent",fieldHookSubagentInitDesc:"Inject context vào subagents",fieldHookDescriptiveName:"Tên mô tả",fieldHookDescriptiveNameDesc:"Bắt buộc đặt tên file dạng kebab-case mô tả cho scripts",fieldHookDevRulesReminder:"Nhắc nhở quy tắc dev",fieldHookDevRulesReminderDesc:"Inject context quy tắc phát triển",fieldHookUsageContextAwareness:"Nhận thức ngữ cảnh sử dụng",fieldHookUsageContextAwarenessDesc:"Nhận thức giới hạn sử dụng",fieldHookContextTracking:"Theo dõi ngữ cảnh",fieldHookContextTrackingDesc:"Theo dõi cửa sổ ngữ cảnh (% đã dùng, số token)",fieldHookScoutBlock:"Chặn Scout",fieldHookScoutBlockDesc:"Chặn thư mục nặng khỏi việc khám phá",fieldHookPrivacyBlock:"Hook chặn quyền riêng tư",fieldHookPrivacyBlockDesc:"Chặn đọc file nhạy cảm",fieldHookPostEditSimplify:"Đơn giản sau chỉnh sửa",fieldHookPostEditSimplifyDesc:"Nhắc đơn giản sau khi chỉnh sửa",skillsPageTitle:"Quản lý Kỹ năng",skillsPageDesc:"Cài đặt kỹ năng ClaudeKit cho các agent lập trình",availableSkills:"Kỹ năng có sẵn",installedSkills:"Kỹ năng đã cài",noSkillsFound:"Không tìm thấy kỹ năng",installSkill:"Cài đặt",uninstallSkill:"Gỡ cài đặt",manageSkill:"Quản lý",syncRegistry:"Đồng bộ",installSkillTitle:"Cài đặt Kỹ năng",selectAgents:"Chọn agent đích",installLocation:"Vị trí cài đặt",globalInstall:"Toàn cục",projectInstall:"Dự án",confirmInstall:"Cài đặt cho các agent đã chọn",installingSkill:"Đang cài đặt...",skillInstallSuccess:"Cài đặt kỹ năng thành công",skillInstallFailed:"Cài đặt thất bại",agentClaudeCode:"Claude Code",agentCursor:"Cursor",agentCodex:"Codex",agentOpencode:"OpenCode",agentGoose:"Goose",agentGeminiCli:"Gemini CLI",agentAntigravity:"Antigravity",agentGithubCopilot:"GitHub Copilot",agentAmp:"Amp",agentKilo:"Kilo",agentRoo:"Roo",agentWindsurf:"Windsurf",agentCline:"Cline",agentOpenhands:"OpenHands",installed:"Đã cài",notInstalled:"Chưa cài",allAgents:"Tất cả Agent",filterByAgent:"Lọc theo agent",skillsTitle:"Kỹ năng",skillsSubtitle:"Duyệt, cài đặt và quản lý kỹ năng cho coding agents",availableCount:"Có sẵn",installedCount:"Đã cài",agentsCount:"Agents",searchSkills:"Tìm kiếm kỹ năng...",searchShortcut:"/",sortAZ:"A-Z",sortCategory:"Danh mục",sortInstalledFirst:"Đã cài trước",listView:"Dạng danh sách",gridView:"Dạng lưới",categoryAll:"Tất cả",categoryAI:"AI",categoryUIUX:"UI/UX",categoryBackend:"Backend",categorySecurity:"Bảo mật",categoryDevOps:"DevOps",categoryDatabase:"Cơ sở dữ liệu",categoryDevelopment:"Phát triển",categoryResearch:"Nghiên cứu",categoryGeneral:"Tổng quát",categoryCore:"Cốt lõi",categoryDocumentation:"Tài liệu",categoryTooling:"Công cụ",categoryMedia:"Phương tiện",categoryFrameworks:"Framework",skillsCountLabel:"{count} kỹ năng",installToAll:"Cài cho tất cả đã phát hiện",scopeLabel:"Phạm vi cài đặt",agentInstalled:"Đã cài",agentNotInstalled:"Chưa cài",skillSource:"Vị trí nguồn",skillSourceBadge:"Nguồn",detailPanelClose:"Đóng",versionLabel:"v{version}",installAllToAllAgents:"Cài tất cả cho tất cả Agent",bulkInstallFailed:"Cài hàng loạt thất bại",noAgentsDetected:"Không phát hiện agent nào",kitBadgeEngineer:"Engineer",kitBadgeMarketing:"Marketing",customizedBadge:"Đã tùy chỉnh",installedVersionLabel:"Phiên bản cài đặt",installedAtLabel:"Cài đặt lúc",sourceTimestampLabel:"Ngày nguồn",kitLabel:"Kit",skillMetadata:"Thông tin Skill",migrate:"Di trú",migrateTitle:"Di trú",migrateSubtitle:"Chuyển toàn bộ stack Claude Code sang provider khác",migrateDetectedProviders:"Đã phát hiện",migrateSelectedProviders:"Đã chọn",migrateDiscovering:"Đang quét nguồn di trú...",migrateRefresh:"Làm mới quét",migrateRun:"Chạy di trú",migrateRunning:"Đang di trú...",migrateSourceSummary:"Tổng quan nguồn",migratePresetCodex:"Codex",migratePresetAntigravity:"Antigravity",migratePresetBoth:"Codex + Antigravity",migratePresetDetected:"Tất cả đã phát hiện",migrateScope:"Phạm vi",migrateScopeProject:"Dự án",migrateScopeGlobal:"Toàn cục",migrateTypes:"Loại di trú",migrateTypeAgents:"Subagents",migrateTypeCommands:"Commands",migrateTypeSkills:"Skills",migrateTypeConfig:"Config",migrateTypeRules:"Rules",migrateSearchProviders:"Tìm provider...",migrateSelectVisible:"Chọn phần đang hiện",migrateClearSelection:"Bỏ chọn tất cả",migrateProvidersHeading:"Provider đích",migrateProvidersCountSuffix:"provider",migrateNoProvidersMatch:"Không có provider khớp bộ lọc hiện tại.",migrateSelectButton:"Chọn",migrateSelectedButton:"Đã chọn",migrateSelectProviderAction:"Chọn provider",migrateUnselectProvider:"Bỏ chọn provider",migrateCapabilitiesLabel:"loại",migrateCapabilitiesSection:"Ma trận khả năng",migrateSupported:"Hỗ trợ",migrateUnsupportedShort:"Không hỗ trợ",migrateIncludedEnabled:"Đang bật",migrateIncludedDisabled:"Đang tắt",migrateLatestTarget:"Đích gần nhất",migrateNoResultForProvider:"Chưa có kết quả di trú cho provider này.",migrateActionSummaryTitle:"Sẵn sàng di trú",migrateGlobalOnlyCommandsShort:"Commands chỉ global",migrateNoProviders:"Không có provider khả dụng.",migrateUnsupported:"Sẽ bỏ qua (không hỗ trợ)",migrateGlobalForced:"Lệnh Codex chỉ hỗ trợ global. Phạm vi sẽ tự chuyển global.",migrateResults:"Kết quả di trú",migrateInstalled:"Đã cài",migrateSkipped:"Đã bỏ qua",migrateFailed:"Lỗi",migrateProvider:"Provider",migrateStatus:"Trạng thái",migratePath:"Đường dẫn",migrateError:"Lỗi",migrateStatusInstalled:"Đã cài",migrateStatusSkipped:"Đã bỏ qua",migrateStatusFailed:"Lỗi",migrateNoResults:"Chưa có kết quả di trú.",migrateDetectFailed:"Không thể quét dữ liệu di trú",migrateExecuteFailed:"Chạy di trú thất bại",migrateSelectProvider:"Vui lòng chọn ít nhất một provider",migrateNoTypesEnabled:"Bật ít nhất một loại di trú",migrateDetectedTag:"Đã phát hiện",migrateNotDetectedTag:"Chưa phát hiện",migrateFilterRecommended:"Đề xuất",migrateActionInstall:"Cài",migrateActionUpdate:"Cập nhật",migrateActionSkip:"Bỏ qua",migrateActionConflict:"Xung đột",migrateActionDelete:"Xóa",migrateUnchanged:"chưa thay đổi",migrateConflictSectionTitle:"Xung đột",migrateConflictUseCK:"Dùng CK",migrateConflictKeepMine:"Giữ của tôi",migrateConflictSmartMerge:"Merge thông minh",migrateConflictShowDiff:"Hiện diff",migrateConflictHideDiff:"Ẩn diff",migrateConflictResolved:"Đã giải quyết",migrateConflictManual:"Thủ công",migrateConflictOverwriteAll:"Ghi đè tất cả",migrateConflictKeepAll:"Giữ tất cả",migrateSummaryTitle:"Di trú hoàn tất",migrateSummaryNewMigration:"Di trú mới",migrateType:"Loại",migrateItem:"Mục",migrateReconciling:"Đang phân tích thay đổi...",migrateReviewPlan:"Xem kế hoạch",migrateExecutePlan:"Thực hiện di trú",migrateExecuting:"Đang thực hiện di trú...",migrateResolveConflicts:"Giải quyết xung đột trước khi thực hiện",developmentFeature:"Đang phát triển",betaFeature:"Beta",experimentalFeature:"Thử nghiệm"}},ph=g.createContext(null),Cm="ck-dashboard-lang";function Zx(){const n=localStorage.getItem(Cm);return n==="en"||n==="vi"?n:navigator.language.startsWith("vi")?"vi":"en"}function ev({children:n}){const[e,t]=g.useState(Zx),r=s=>{localStorage.setItem(Cm,s),t(s)},i=s=>Xx[e][s];return u.jsx(ph.Provider,{value:{lang:e,setLang:r,t:i},children:n})}function me(){const n=g.useContext(ph);if(!n)throw new Error("useI18n must be used within I18nProvider");return n}class tv extends g.Component{constructor(){super(...arguments);yu(this,"state",{hasError:!1,error:null})}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){console.error("App error:",t,r.componentStack)}render(){if(this.state.hasError){const t=this.state.error?.name==="ServerUnavailableError";return u.jsx(ph.Consumer,{children:r=>u.jsx("div",{className:"flex h-screen items-center justify-center bg-dash-bg",children:u.jsx("div",{className:"text-center space-y-4 max-w-md px-6",children:t?u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"w-16 h-16 mx-auto rounded-full bg-orange-500/10 border border-orange-500/30 flex items-center justify-center text-3xl",children:"🔌"}),u.jsx("h1",{className:"text-2xl font-bold text-orange-500",children:r?.t("serverNotRunning")??"Server Not Running"}),u.jsx("p",{className:"text-dash-text-secondary",children:r?.t("startServerMessage")??"The Config UI requires the backend server to be running."}),u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg p-4",children:[u.jsx("p",{className:"text-xs text-dash-text-muted uppercase tracking-widest mb-2 font-bold",children:r?.t("runThisCommand")??"Run this command"}),u.jsx("code",{className:"block text-sm text-dash-accent font-mono bg-dash-bg px-3 py-2 rounded border border-dash-border",children:"ck config"})]}),u.jsx("button",{onClick:()=>window.location.reload(),className:"px-6 py-2 bg-dash-accent text-dash-bg rounded-lg font-bold hover:bg-dash-accent-hover transition-colors",children:r?.t("tryAgain")??"Try Again"})]}):u.jsxs(u.Fragment,{children:[u.jsx("h1",{className:"text-2xl font-bold text-red-500",children:r?.t("somethingWentWrong")??"Something went wrong"}),u.jsx("p",{className:"text-dash-text-muted",children:this.state.error?.message}),u.jsx("button",{onClick:()=>window.location.reload(),className:"px-4 py-2 bg-dash-accent text-white rounded-md hover:opacity-90",children:r?.t("reloadApp")??"Reload App"})]})})})})}return this.props.children}}const Di=({direction:n="horizontal",isDragging:e=!1,onMouseDown:t})=>{const r=n==="horizontal";return u.jsx("div",{onMouseDown:t,className:`
22
22
  group flex items-center justify-center shrink-0
23
23
  ${r?"w-2 cursor-col-resize":"h-2 cursor-row-resize"}
24
24
  ${e?"bg-dash-accent/20":"hover:bg-dash-surface-hover/50"}
@@ -27,47 +27,47 @@ Please change the parent <Route path="${k}"> to <Route path="${k==="/"?"*":`${k}
27
27
  rounded-full transition-all
28
28
  ${r?"w-0.5 h-8":"h-0.5 w-8"}
29
29
  ${e?"bg-dash-accent":"bg-dash-border group-hover:bg-dash-text-muted"}
30
- `})})};var jn=(n=>(n.HEALTHY="healthy",n.WARNING="warning",n.ERROR="error",n.LOADING="loading",n.UNKNOWN="unknown",n))(jn||{}),Ut=(n=>(n.ENGINEER="engineer",n.MARKETING="marketing",n.ARCHITECT="architect",n.RESEARCHER="researcher",n.DEVOP="devops",n))(Ut||{});const Zx=({isOpen:n,onClose:e,onAdd:t})=>{const{t:r}=me(),[i,s]=g.useState(""),[o,a]=g.useState(""),[l,c]=g.useState(!1),[h,d]=g.useState(null);g.useEffect(()=>{n||(s(""),a(""),d(null),c(!1))},[n]),g.useEffect(()=>{if(!n)return;const p=m=>{m.key==="Escape"&&e()};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[n]),g.useEffect(()=>{if(!n)return;const p=document.activeElement;return document.querySelector("#project-path")?.focus(),()=>{p?.focus()}},[n]);const f=async p=>{if(p.preventDefault(),!i.trim()){d(r("pathRequired"));return}try{c(!0),d(null);const m={path:i.trim(),...o.trim()&&{alias:o.trim()}};await t(m),e()}catch(m){d(m instanceof Error?m.message:r("failedToAdd"))}finally{c(!1)}};return n?u.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:e,children:u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg shadow-xl max-w-md w-full mx-4",onClick:p=>p.stopPropagation(),children:[u.jsxs("div",{className:"px-6 py-4 border-b border-dash-border",children:[u.jsx("h2",{className:"text-lg font-bold text-dash-text",children:r("addProjectTitle")}),u.jsx("p",{className:"text-sm text-dash-text-muted mt-1",children:r("addProjectDescription")})]}),u.jsxs("form",{onSubmit:f,className:"p-6 space-y-4",children:[u.jsxs("div",{children:[u.jsxs("label",{htmlFor:"project-path",className:"block text-sm font-medium text-dash-text mb-2",children:[r("projectPath")," ",u.jsx("span",{className:"text-red-500",children:"*"})]}),u.jsx("input",{id:"project-path",type:"text",value:i,onChange:p=>s(p.target.value),placeholder:r("pathPlaceholder"),disabled:l,className:"w-full px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-dash-text placeholder-dash-text-muted focus:outline-none focus:ring-2 focus:ring-dash-accent focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed"})]}),u.jsxs("div",{children:[u.jsxs("label",{htmlFor:"project-alias",className:"block text-sm font-medium text-dash-text mb-2",children:[r("alias")," ",r("aliasOptional")]}),u.jsx("input",{id:"project-alias",type:"text",value:o,onChange:p=>a(p.target.value),placeholder:r("aliasPlaceholder"),disabled:l,className:"w-full px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-dash-text placeholder-dash-text-muted focus:outline-none focus:ring-2 focus:ring-dash-accent focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed"}),u.jsx("p",{className:"text-xs text-dash-text-muted mt-1",children:r("aliasDescription")})]}),h&&u.jsx("div",{className:"px-3 py-2 bg-red-500/10 border border-red-500/20 rounded-md",children:u.jsx("p",{className:"text-sm text-red-500",children:h})}),u.jsxs("div",{className:"flex gap-3 pt-2",children:[u.jsx("button",{type:"button",onClick:e,disabled:l,className:"flex-1 px-4 py-2 border border-dash-border rounded-md text-dash-text-secondary hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r("cancel")}),u.jsx("button",{type:"submit",disabled:l||!i.trim(),className:"flex-1 px-4 py-2 bg-dash-accent text-white rounded-md hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r(l?"adding":"addProject")})]})]})]})}):null},ev=({vertical:n=!1})=>{const{lang:e,setLang:t}=me();return u.jsxs("div",{className:`flex ${n?"flex-col":""} items-center rounded-lg border border-dash-border overflow-hidden`,children:[u.jsx("button",{onClick:()=>t("en"),className:`px-2 py-1 text-xs font-medium transition-colors ${e==="en"?"bg-dash-accent text-dash-bg":"text-dash-text-muted hover:bg-dash-surface-hover"}`,title:"English",children:"EN"}),u.jsx("button",{onClick:()=>t("vi"),className:`px-2 py-1 text-xs font-medium transition-colors ${e==="vi"?"bg-dash-accent text-dash-bg":"text-dash-text-muted hover:bg-dash-surface-hover"}`,title:"Tiếng Việt",children:"VI"})]})},tv=({projects:n,currentProjectId:e,isCollapsed:t,width:r,isConnected:i,theme:s,onSwitchProject:o,onToggle:a,onAddProject:l,onToggleTheme:c})=>{const{t:h}=me(),d=gn(),f=en(),[p,m]=g.useState(!1),b=f.pathname==="/config/global",y=f.pathname==="/migrate"||f.pathname==="/skills",v=[...n].filter(C=>!C.path.endsWith("/.claude")&&C.path!=="~/.claude").sort((C,P)=>C.pinned&&!P.pinned?-1:!C.pinned&&P.pinned?1:C.name.localeCompare(P.name)),k=r?{width:`${r}px`}:void 0,S=r?"":t?"w-14":"w-72",O=r?r>=160:!t;return u.jsxs("aside",{style:k,className:`${S} bg-dash-surface border-r border-dash-border flex flex-col transition-all duration-300 ease-in-out z-20 h-full overflow-hidden`,children:[u.jsxs("div",{className:`flex items-center ${O?"p-6 gap-3":"p-2 justify-center"}`,children:[u.jsx("img",{src:"/images/logo-transparent-32.png",alt:"ClaudeKit",className:"w-8 h-8 shrink-0"}),O&&u.jsxs("div",{className:"overflow-hidden",children:[u.jsx("h1",{className:"text-sm font-bold truncate tracking-tight text-dash-text",children:"ClaudeKit"}),u.jsx("p",{className:"text-[10px] text-dash-text-muted font-medium uppercase tracking-wider",children:h("controlCenter")})]})]}),u.jsxs("div",{className:`${O?"px-4":"px-2"} py-2 space-y-1`,children:[O&&u.jsx("p",{className:"px-2 pb-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h("settingsSection")}),u.jsx(Gu,{icon:u.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]}),label:h("configEditor"),isCollapsed:!O,active:b,onClick:()=>d("/config/global")}),u.jsx(Gu,{icon:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z"})}),label:h("migrate"),isCollapsed:!O,active:y,onClick:()=>d("/migrate")})]}),u.jsxs("div",{className:`flex-1 overflow-y-auto overflow-x-hidden ${O?"px-4":"px-2"} py-2 space-y-1 border-t border-dash-border`,children:[O&&u.jsx("p",{className:"px-2 pb-2 pt-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h("projects")}),v.map(C=>{const P=f.pathname.endsWith("/config"),x=e===C.id&&!b&&!P&&!y;return u.jsxs("button",{onClick:()=>o(C.id),className:`w-full group relative flex items-center ${O?"gap-3 p-2.5":"justify-center p-2"} rounded-md transition-colors ${x?"bg-dash-accent-subtle text-dash-accent border border-dash-accent/10":"text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text border border-transparent"}`,children:[u.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${C.health===jn.HEALTHY?"bg-dash-accent":C.health===jn.WARNING?"bg-orange-400":"bg-red-500"} ${x?"animate-pulse":""}`}),O&&u.jsxs(u.Fragment,{children:[C.pinned&&u.jsx("span",{className:"text-xs",children:"📌"}),u.jsx("span",{className:"text-sm font-medium truncate",children:C.name})]}),!O&&u.jsxs("div",{className:"absolute left-14 px-2 py-1 bg-dash-text text-dash-bg text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none border border-dash-border z-50",children:[C.pinned&&"📌 ",C.name]})]},C.id)}),u.jsxs("button",{onClick:()=>m(!0),className:`w-full flex items-center ${O?"gap-3 p-2.5":"justify-center p-2"} rounded-md text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text-secondary transition-colors mt-4`,children:[u.jsx("div",{className:`${O?"w-5 h-5":""} flex items-center justify-center`,children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}),O&&u.jsx("span",{className:"text-sm font-medium",children:h("addProject")})]})]}),u.jsx(Zx,{isOpen:p,onClose:()=>m(!1),onAdd:l}),u.jsx("div",{className:"border-t border-dash-border",children:u.jsxs("div",{className:`py-3 flex items-center ${O?"px-3 justify-between":"justify-center flex-col gap-2"}`,children:[u.jsxs("div",{className:"flex items-center gap-2",title:h(i?"sync":"offline"),children:[u.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${i?"bg-dash-accent shadow-[0_0_8px_var(--dash-accent-glow)]":"bg-red-500"}`}),O&&u.jsx("span",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h(i?"sync":"offline")})]}),u.jsxs("div",{className:`flex items-center gap-1 ${O?"":"flex-col"}`,children:[u.jsx(ev,{vertical:!O}),u.jsx("button",{onClick:c,className:"w-8 h-8 rounded-lg flex items-center justify-center text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",title:h(s==="dark"?"switchToLight":"switchToDark"),children:s==="dark"?u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364-6.364l-.707.707M6.343 17.657l-.707.707M17.657 17.657l-.707-.707M6.343 6.343l-.707-.707M12 5a7 7 0 100 14 7 7 0 000-14z"})}):u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}),u.jsx("button",{onClick:a,className:"w-8 h-8 rounded-lg flex items-center justify-center text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",title:h(t?"expand":"collapse"),children:t?u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 5l7 7-7 7M5 5l7 7-7 7"})}):u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"})})})]})]})})]})},Gu=({icon:n,label:e,badge:t,badgeColor:r="bg-dash-accent-subtle text-dash-accent",isCollapsed:i,active:s,onClick:o,disabled:a})=>u.jsxs("button",{onClick:o,disabled:a,className:`w-full group relative flex items-center ${i?"justify-center p-2":"gap-3 p-2"} rounded-md transition-colors ${a?"opacity-50 cursor-not-allowed":s?"bg-dash-surface-hover text-dash-text":"text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:[u.jsx("div",{className:`${i?"":"w-5 h-5"} flex items-center justify-center`,children:n}),!i&&u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"text-sm font-medium flex-1 text-left",children:e}),t&&u.jsx("span",{className:`text-[10px] font-bold px-1.5 py-0.5 rounded ${r}`,children:t})]}),i&&u.jsx("div",{className:"absolute left-14 px-2 py-1 bg-dash-text text-dash-bg text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none border border-dash-border z-50",children:e})]}),Bt="/api";class il extends Error{constructor(){super("Backend server is not running. Start it with: ck config"),this.name="ServerUnavailableError"}}async function bn(){try{if(!(await fetch(`${Bt}/health`,{method:"GET"})).ok)throw new il}catch(n){throw n instanceof il?n:new il}}function ph(n){return{id:n.id,name:n.name,path:n.path,health:n.health,kitType:n.kitType||"engineer",model:n.model,activeHooks:n.activeHooks,mcpServers:n.mcpServers,skills:n.skills,pinned:n.pinned,tags:n.tags,addedAt:n.addedAt,lastOpened:n.lastOpened}}async function Sm(){await bn();const n=await fetch(`${Bt}/projects`);if(!n.ok)throw new Error("Failed to fetch projects");return(await n.json()).map(ph)}async function nv(){await bn();const n=await fetch(`${Bt}/skills`);if(!n.ok)throw new Error("Failed to fetch skills");return n.json()}async function rv(n,e){try{await bn();const t=e!==void 0?`?limit=${e}`:"",r=await fetch(`${Bt}/sessions/${encodeURIComponent(n)}${t}`);return r.ok?r.json():[]}catch{return[]}}async function iv(n,e){await bn();const t=await fetch(`${Bt}/actions/open`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:n,path:e})});if(!t.ok){const r=await t.json().catch(()=>({error:"Action failed"}));throw new Error(r.error||"Action failed")}}async function sv(n){await bn();const e=await fetch(`${Bt}/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const r=await e.text();throw new Error(r||"Failed to add project")}const t=await e.json();return ph(t)}async function ov(n){await bn();const e=await fetch(`${Bt}/projects/${encodeURIComponent(n)}`,{method:"DELETE"});if(!e.ok){const t=await e.text();throw new Error(t||"Failed to remove project")}}async function av(n,e){await bn();const t=await fetch(`${Bt}/projects/${encodeURIComponent(n)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const i=await t.text();throw new Error(i||"Failed to update project")}const r=await t.json();return ph(r)}async function lv(){const n=await fetch(`${Bt}/metadata/global`);return n.ok?n.json():(console.error("Failed to fetch global metadata"),{})}async function cv(){await bn();const n=await fetch(`${Bt}/migrate/providers`);if(!n.ok)throw new Error("Failed to fetch migration providers");return n.json()}async function qu(){await bn();const n=await fetch(`${Bt}/migrate/discovery`);if(!n.ok)throw new Error("Failed to discover migration items");return n.json()}function hv(){const[n,e]=g.useState([]),[t,r]=g.useState(!0),[i,s]=g.useState(null),o=g.useCallback(async()=>{try{r(!0),s(null);const a=await nv();e(a)}catch(a){s(a instanceof Error?a.message:"Failed to load skills")}finally{r(!1)}},[]);return g.useEffect(()=>{o()},[o]),{skills:n,loading:t,error:i,reload:o}}function uv(n){const[e,t]=g.useState([]),[r,i]=g.useState(!1),[s,o]=g.useState(null),a=g.useCallback(async()=>{if(!n){t([]);return}try{i(!0),o(null);const l=await rv(n,999);t(l)}catch(l){o(l instanceof Error?l.message:"Failed to load sessions")}finally{i(!1)}},[n]);return g.useEffect(()=>{a()},[a]),{sessions:e,loading:r,error:s,reload:a}}function dv(){const[n,e]=g.useState([]),[t,r]=g.useState(!0),[i,s]=g.useState(null),o=g.useCallback(async()=>{try{r(!0),s(null);const h=await Sm();e(h)}catch(h){s(h instanceof Error?h.message:"Failed to load projects")}finally{r(!1)}},[]),a=g.useCallback(async h=>{const d=await sv(h);return await o(),d},[o]),l=g.useCallback(async h=>{await ov(h),await o()},[o]),c=g.useCallback(async(h,d)=>{const f=await av(h,d);return await o(),f},[o]);return g.useEffect(()=>{o()},[o]),{projects:n,loading:t,error:i,reload:o,addProject:a,removeProject:l,updateProject:c}}function fv({storageKey:n,defaultSize:e,minSize:t,maxSize:r,direction:i="horizontal"}){const[s,o]=g.useState(()=>{if(typeof window>"u")return e;const f=localStorage.getItem(n);if(f){const p=Number.parseInt(f,10);if(!Number.isNaN(p)&&p>=t&&p<=r)return p}return e}),[a,l]=g.useState(!1);g.useEffect(()=>{localStorage.setItem(n,String(s))},[s,n]);const c=g.useCallback(f=>{f.preventDefault(),l(!0);const p=i==="horizontal"?f.clientX:f.clientY,m=s,b=v=>{const S=(i==="horizontal"?v.clientX:v.clientY)-p,O=Math.max(t,Math.min(r,m+S));o(O)},y=()=>{l(!1),document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",y),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",b),document.addEventListener("mouseup",y),document.body.style.cursor=i==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none"},[s,t,r,i]),h=g.useCallback(()=>{o(e)},[e]),d=g.useCallback(f=>{o(Math.max(t,Math.min(r,f)))},[t,r]);return{size:s,isDragging:a,startDrag:c,setSize:d,reset:h}}const pv=()=>{const{t:n}=me(),e=gn(),t=en(),{projectId:r}=pm(),[i,s]=g.useState(null);g.useEffect(()=>{r&&s(r)},[r]);const[o,a]=g.useState(()=>typeof window<"u"&&localStorage.getItem("claudekit-theme")||"dark"),[l]=g.useState(!0),{size:c,isDragging:h,startDrag:d,setSize:f}=fv({storageKey:"claudekit-sidebar-width",defaultSize:288,minSize:56,maxSize:400}),p=c<=56,{projects:m,loading:b,error:y,addProject:v}=dv(),k=async x=>{await v(x)};g.useEffect(()=>{const x=t.pathname.startsWith("/project/");m.length===0||r||!x||e(`/project/${m[0].id}`,{replace:!0})},[m,r,e,t.pathname]),g.useEffect(()=>{const x=window.document.documentElement;o==="dark"?(x.classList.add("dark"),x.setAttribute("data-theme","dark")):(x.classList.remove("dark"),x.setAttribute("data-theme","light")),localStorage.setItem("claudekit-theme",o)},[o]);const S=()=>a(x=>x==="light"?"dark":"light"),O=g.useMemo(()=>m.find(x=>x.id===i)||null,[m,i]),C=x=>{e(`/project/${x}`)},P=()=>{f(p?288:56)};return b?u.jsx("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text items-center justify-center",children:u.jsx("div",{className:"animate-pulse text-dash-text-muted",children:n("loading")})}):y?u.jsx("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text items-center justify-center",children:u.jsxs("div",{className:"text-red-500",children:[n("error"),": ",y]})}):u.jsxs("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text overflow-hidden font-sans transition-colors duration-300",children:[u.jsx(tv,{projects:m,currentProjectId:i,isCollapsed:p,width:c,isConnected:l,theme:o,onSwitchProject:C,onToggle:P,onAddProject:k,onToggleTheme:S}),u.jsx(Ni,{direction:"horizontal",isDragging:h,onMouseDown:d}),u.jsx("div",{className:"flex-1 flex flex-col min-w-0 h-full relative",children:u.jsx("main",{className:"flex-1 flex flex-col overflow-hidden p-4 md:p-6",children:u.jsx(ux,{context:{project:O,isConnected:l,theme:o,onToggleTheme:S}})})})]})},Cm=({title:n,filePath:e,onBack:t,onSave:r,onReset:i,saveStatus:s,syntaxError:o,showResetConfirm:a,setShowResetConfirm:l,badge:c})=>{const{t:h}=me();return u.jsxs("div",{className:"flex items-center justify-between mb-3 shrink-0",children:[u.jsxs("div",{className:"flex items-center gap-3",children:[u.jsx("button",{onClick:t,className:"px-2 py-1 rounded-lg bg-dash-surface hover:bg-dash-surface-hover border border-dash-border text-sm text-dash-text-secondary hover:text-dash-text flex items-center group transition-all font-medium shadow-sm",title:h("backToDashboard"),children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4 group-hover:-translate-x-0.5 transition-transform",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),u.jsx("h1",{className:"text-xl font-bold tracking-tight text-dash-text",children:n}),c,u.jsx("span",{className:"text-xs text-dash-text-muted mono",children:e})]}),u.jsxs("div",{className:"flex items-center gap-2 relative",children:[a?u.jsxs("div",{className:"flex items-center gap-2 bg-red-500/10 border border-red-500/30 rounded-lg px-2 py-1 animate-in fade-in duration-200",children:[u.jsx("span",{className:"text-xs text-red-500 font-medium",children:h("confirmReset")}),u.jsx("button",{onClick:i,className:"px-2 py-0.5 rounded bg-red-500 text-white text-xs font-bold hover:bg-red-600 transition-colors",children:h("confirm")}),u.jsx("button",{onClick:()=>l(!1),className:"px-2 py-0.5 rounded bg-dash-surface text-dash-text-secondary text-xs font-bold hover:bg-dash-surface-hover transition-colors border border-dash-border",children:h("cancel")})]}):u.jsx("button",{onClick:()=>l(!0),className:"px-3 py-1.5 rounded-lg bg-dash-surface text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:h("resetToDefault")}),u.jsx("button",{onClick:r,disabled:!!o||s==="saving",className:`px-3 py-1.5 rounded-lg text-xs font-bold transition-all tracking-widest uppercase ${o?"bg-dash-surface text-dash-text-muted cursor-not-allowed border border-dash-border":s==="saved"?"bg-green-500 text-white shadow-lg shadow-green-500/20":s==="error"?"bg-red-500 text-white":"bg-dash-accent text-dash-bg hover:bg-dash-accent-hover shadow-lg shadow-dash-accent/20"}`,children:h(s==="saving"?"saving":s==="saved"?"saved":s==="error"?"saveFailed":"saveChanges")})]})]})};function mv(n,e,t){const r={...n},i=e.split(".");let s=r;for(let o=0;o<i.length-1;o++){const a=i[o];!(a in s)||typeof s[a]!="object"||s[a]===null?s[a]={}:s[a]={...s[a]},s=s[a]}return s[i[i.length-1]]=t,r}function cc(n,e){const t=e.split(".");let r=n;for(const i of t){if(r==null||typeof r!="object")return;r=r[i]}return r}function gv(n,e){const t=e.split(".");let r=n;for(const i of t){if(!r.properties)return{};const s=r.properties;if(!s[i])return{};r=s[i]}return r}const bv=({value:n,onChange:e,disabled:t})=>u.jsx("input",{type:"text",value:n??"",onChange:r=>e(r.target.value||null),disabled:t,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
30
+ `})})};var On=(n=>(n.HEALTHY="healthy",n.WARNING="warning",n.ERROR="error",n.LOADING="loading",n.UNKNOWN="unknown",n))(On||{}),Kt=(n=>(n.ENGINEER="engineer",n.MARKETING="marketing",n.ARCHITECT="architect",n.RESEARCHER="researcher",n.DEVOP="devops",n))(Kt||{});const nv=({isOpen:n,onClose:e,onAdd:t})=>{const{t:r}=me(),[i,s]=g.useState(""),[o,a]=g.useState(""),[l,c]=g.useState(!1),[h,d]=g.useState(null);g.useEffect(()=>{n||(s(""),a(""),d(null),c(!1))},[n]),g.useEffect(()=>{if(!n)return;const p=m=>{m.key==="Escape"&&e()};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[n]),g.useEffect(()=>{if(!n)return;const p=document.activeElement;return document.querySelector("#project-path")?.focus(),()=>{p?.focus()}},[n]);const f=async p=>{if(p.preventDefault(),!i.trim()){d(r("pathRequired"));return}try{c(!0),d(null);const m={path:i.trim(),...o.trim()&&{alias:o.trim()}};await t(m),e()}catch(m){d(m instanceof Error?m.message:r("failedToAdd"))}finally{c(!1)}};return n?u.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:e,children:u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg shadow-xl max-w-md w-full mx-4",onClick:p=>p.stopPropagation(),children:[u.jsxs("div",{className:"px-6 py-4 border-b border-dash-border",children:[u.jsx("h2",{className:"text-lg font-bold text-dash-text",children:r("addProjectTitle")}),u.jsx("p",{className:"text-sm text-dash-text-muted mt-1",children:r("addProjectDescription")})]}),u.jsxs("form",{onSubmit:f,className:"p-6 space-y-4",children:[u.jsxs("div",{children:[u.jsxs("label",{htmlFor:"project-path",className:"block text-sm font-medium text-dash-text mb-2",children:[r("projectPath")," ",u.jsx("span",{className:"text-red-500",children:"*"})]}),u.jsx("input",{id:"project-path",type:"text",value:i,onChange:p=>s(p.target.value),placeholder:r("pathPlaceholder"),disabled:l,className:"w-full px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-dash-text placeholder-dash-text-muted focus:outline-none focus:ring-2 focus:ring-dash-accent focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed"})]}),u.jsxs("div",{children:[u.jsxs("label",{htmlFor:"project-alias",className:"block text-sm font-medium text-dash-text mb-2",children:[r("alias")," ",r("aliasOptional")]}),u.jsx("input",{id:"project-alias",type:"text",value:o,onChange:p=>a(p.target.value),placeholder:r("aliasPlaceholder"),disabled:l,className:"w-full px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-dash-text placeholder-dash-text-muted focus:outline-none focus:ring-2 focus:ring-dash-accent focus:border-transparent disabled:opacity-50 disabled:cursor-not-allowed"}),u.jsx("p",{className:"text-xs text-dash-text-muted mt-1",children:r("aliasDescription")})]}),h&&u.jsx("div",{className:"px-3 py-2 bg-red-500/10 border border-red-500/20 rounded-md",children:u.jsx("p",{className:"text-sm text-red-500",children:h})}),u.jsxs("div",{className:"flex gap-3 pt-2",children:[u.jsx("button",{type:"button",onClick:e,disabled:l,className:"flex-1 px-4 py-2 border border-dash-border rounded-md text-dash-text-secondary hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r("cancel")}),u.jsx("button",{type:"submit",disabled:l||!i.trim(),className:"flex-1 px-4 py-2 bg-dash-accent text-white rounded-md hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r(l?"adding":"addProject")})]})]})]})}):null},rv=({vertical:n=!1})=>{const{lang:e,setLang:t}=me();return u.jsxs("div",{className:`flex ${n?"flex-col":""} items-center rounded-lg border border-dash-border overflow-hidden`,children:[u.jsx("button",{onClick:()=>t("en"),className:`px-2 py-1 text-xs font-medium transition-colors ${e==="en"?"bg-dash-accent text-dash-bg":"text-dash-text-muted hover:bg-dash-surface-hover"}`,title:"English",children:"EN"}),u.jsx("button",{onClick:()=>t("vi"),className:`px-2 py-1 text-xs font-medium transition-colors ${e==="vi"?"bg-dash-accent text-dash-bg":"text-dash-text-muted hover:bg-dash-surface-hover"}`,title:"Tiếng Việt",children:"VI"})]})},iv=({projects:n,currentProjectId:e,isCollapsed:t,width:r,isConnected:i,theme:s,onSwitchProject:o,onToggle:a,onAddProject:l,onToggleTheme:c})=>{const{t:h}=me(),d=yn(),f=tn(),[p,m]=g.useState(!1),b=f.pathname==="/config/global",y=f.pathname==="/migrate"||f.pathname==="/skills",v=[...n].filter(C=>!C.path.endsWith("/.claude")&&C.path!=="~/.claude").sort((C,P)=>C.pinned&&!P.pinned?-1:!C.pinned&&P.pinned?1:C.name.localeCompare(P.name)),k=r?{width:`${r}px`}:void 0,S=r?"":t?"w-14":"w-72",O=r?r>=160:!t;return u.jsxs("aside",{style:k,className:`${S} bg-dash-surface border-r border-dash-border flex flex-col transition-all duration-300 ease-in-out z-20 h-full overflow-hidden`,children:[u.jsxs("div",{className:`flex items-center ${O?"p-6 gap-3":"p-2 justify-center"}`,children:[u.jsx("img",{src:"/images/logo-transparent-32.png",alt:"ClaudeKit",className:"w-8 h-8 shrink-0"}),O&&u.jsxs("div",{className:"overflow-hidden",children:[u.jsx("h1",{className:"text-sm font-bold truncate tracking-tight text-dash-text",children:"ClaudeKit"}),u.jsx("p",{className:"text-[10px] text-dash-text-muted font-medium uppercase tracking-wider",children:h("controlCenter")})]})]}),u.jsxs("div",{className:`${O?"px-4":"px-2"} py-2 space-y-1`,children:[O&&u.jsx("p",{className:"px-2 pb-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h("settingsSection")}),u.jsx(qu,{icon:u.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]}),label:h("configEditor"),isCollapsed:!O,active:b,onClick:()=>d("/config/global")}),u.jsx(qu,{icon:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z"})}),label:h("migrate"),isCollapsed:!O,active:y,onClick:()=>d("/migrate")})]}),u.jsxs("div",{className:`flex-1 overflow-y-auto overflow-x-hidden ${O?"px-4":"px-2"} py-2 space-y-1 border-t border-dash-border`,children:[O&&u.jsx("p",{className:"px-2 pb-2 pt-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h("projects")}),v.map(C=>{const P=f.pathname.endsWith("/config"),x=e===C.id&&!b&&!P&&!y;return u.jsxs("button",{onClick:()=>o(C.id),className:`w-full group relative flex items-center ${O?"gap-3 p-2.5":"justify-center p-2"} rounded-md transition-colors ${x?"bg-dash-accent-subtle text-dash-accent border border-dash-accent/10":"text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text border border-transparent"}`,children:[u.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${C.health===On.HEALTHY?"bg-dash-accent":C.health===On.WARNING?"bg-orange-400":"bg-red-500"} ${x?"animate-pulse":""}`}),O&&u.jsxs(u.Fragment,{children:[C.pinned&&u.jsx("span",{className:"text-xs",children:"📌"}),u.jsx("span",{className:"text-sm font-medium truncate",children:C.name})]}),!O&&u.jsxs("div",{className:"absolute left-14 px-2 py-1 bg-dash-text text-dash-bg text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none border border-dash-border z-50",children:[C.pinned&&"📌 ",C.name]})]},C.id)}),u.jsxs("button",{onClick:()=>m(!0),className:`w-full flex items-center ${O?"gap-3 p-2.5":"justify-center p-2"} rounded-md text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text-secondary transition-colors mt-4`,children:[u.jsx("div",{className:`${O?"w-5 h-5":""} flex items-center justify-center`,children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}),O&&u.jsx("span",{className:"text-sm font-medium",children:h("addProject")})]})]}),u.jsx(nv,{isOpen:p,onClose:()=>m(!1),onAdd:l}),u.jsx("div",{className:"border-t border-dash-border",children:u.jsxs("div",{className:`py-3 flex items-center ${O?"px-3 justify-between":"justify-center flex-col gap-2"}`,children:[u.jsxs("div",{className:"flex items-center gap-2",title:h(i?"sync":"offline"),children:[u.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${i?"bg-dash-accent shadow-[0_0_8px_var(--dash-accent-glow)]":"bg-red-500"}`}),O&&u.jsx("span",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h(i?"sync":"offline")})]}),u.jsxs("div",{className:`flex items-center gap-1 ${O?"":"flex-col"}`,children:[u.jsx(rv,{vertical:!O}),u.jsx("button",{onClick:c,className:"w-8 h-8 rounded-lg flex items-center justify-center text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",title:h(s==="dark"?"switchToLight":"switchToDark"),children:s==="dark"?u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364-6.364l-.707.707M6.343 17.657l-.707.707M17.657 17.657l-.707-.707M6.343 6.343l-.707-.707M12 5a7 7 0 100 14 7 7 0 000-14z"})}):u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})})}),u.jsx("button",{onClick:a,className:"w-8 h-8 rounded-lg flex items-center justify-center text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",title:h(t?"expand":"collapse"),children:t?u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 5l7 7-7 7M5 5l7 7-7 7"})}):u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"})})})]})]})})]})},qu=({icon:n,label:e,badge:t,badgeColor:r="bg-dash-accent-subtle text-dash-accent",isCollapsed:i,active:s,onClick:o,disabled:a})=>u.jsxs("button",{onClick:o,disabled:a,className:`w-full group relative flex items-center ${i?"justify-center p-2":"gap-3 p-2"} rounded-md transition-colors ${a?"opacity-50 cursor-not-allowed":s?"bg-dash-surface-hover text-dash-text":"text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:[u.jsx("div",{className:`${i?"":"w-5 h-5"} flex items-center justify-center`,children:n}),!i&&u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"text-sm font-medium flex-1 text-left",children:e}),t&&u.jsx("span",{className:`text-[10px] font-bold px-1.5 py-0.5 rounded ${r}`,children:t})]}),i&&u.jsx("div",{className:"absolute left-14 px-2 py-1 bg-dash-text text-dash-bg text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none border border-dash-border z-50",children:e})]}),Tt="/api";class il extends Error{constructor(){super("Backend server is not running. Start it with: ck config"),this.name="ServerUnavailableError"}}async function nn(){try{if(!(await fetch(`${Tt}/health`,{method:"GET"})).ok)throw new il}catch(n){throw n instanceof il?n:new il}}function mh(n){return{id:n.id,name:n.name,path:n.path,health:n.health,kitType:n.kitType||"engineer",model:n.model,activeHooks:n.activeHooks,mcpServers:n.mcpServers,skills:n.skills,pinned:n.pinned,tags:n.tags,addedAt:n.addedAt,lastOpened:n.lastOpened,preferences:n.preferences}}async function jm(){await nn();const n=await fetch(`${Tt}/projects`);if(!n.ok)throw new Error("Failed to fetch projects");return(await n.json()).map(mh)}async function sv(){await nn();const n=await fetch(`${Tt}/skills`);if(!n.ok)throw new Error("Failed to fetch skills");return n.json()}async function ov(n,e){try{await nn();const t=e!==void 0?`?limit=${e}`:"",r=await fetch(`${Tt}/sessions/${encodeURIComponent(n)}${t}`);return r.ok?r.json():[]}catch{return[]}}async function av(n,e){await nn();const t=new URLSearchParams;n&&t.set("projectId",n);const r=await fetch(`${Tt}/actions/options?${t.toString()}`,{signal:e});if(!r.ok)throw new Error("Failed to fetch action options");return r.json()}async function lv(n,e,t,r){await nn();const i=await fetch(`${Tt}/actions/open`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:n,path:e,appId:t,projectId:r})});if(!i.ok){const s=await i.json().catch(()=>({error:"Action failed"}));throw new Error(s.error||"Action failed")}}async function cv(n){await nn();const e=await fetch(`${Tt}/projects`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const r=await e.text();throw new Error(r||"Failed to add project")}const t=await e.json();return mh(t)}async function hv(n){await nn();const e=await fetch(`${Tt}/projects/${encodeURIComponent(n)}`,{method:"DELETE"});if(!e.ok){const t=await e.text();throw new Error(t||"Failed to remove project")}}async function Om(n,e){await nn();const t=await fetch(`${Tt}/projects/${encodeURIComponent(n)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const i=await t.text();throw new Error(i||"Failed to update project")}const r=await t.json();return mh(r)}async function uv(){const n=await fetch(`${Tt}/metadata/global`);return n.ok?n.json():(console.error("Failed to fetch global metadata"),{})}async function dv(){await nn();const n=await fetch(`${Tt}/migrate/providers`);if(!n.ok)throw new Error("Failed to fetch migration providers");return n.json()}async function Yu(){await nn();const n=await fetch(`${Tt}/migrate/discovery`);if(!n.ok)throw new Error("Failed to discover migration items");return n.json()}function fv(){const[n,e]=g.useState([]),[t,r]=g.useState(!0),[i,s]=g.useState(null),o=g.useCallback(async()=>{try{r(!0),s(null);const a=await sv();e(a)}catch(a){s(a instanceof Error?a.message:"Failed to load skills")}finally{r(!1)}},[]);return g.useEffect(()=>{o()},[o]),{skills:n,loading:t,error:i,reload:o}}function pv(n){const[e,t]=g.useState([]),[r,i]=g.useState(!1),[s,o]=g.useState(null),a=g.useCallback(async()=>{if(!n){t([]);return}try{i(!0),o(null);const l=await ov(n,999);t(l)}catch(l){o(l instanceof Error?l.message:"Failed to load sessions")}finally{i(!1)}},[n]);return g.useEffect(()=>{a()},[a]),{sessions:e,loading:r,error:s,reload:a}}function mv(){const[n,e]=g.useState([]),[t,r]=g.useState(!0),[i,s]=g.useState(null),o=g.useCallback(async()=>{try{r(!0),s(null);const h=await jm();e(h)}catch(h){s(h instanceof Error?h.message:"Failed to load projects")}finally{r(!1)}},[]),a=g.useCallback(async h=>{const d=await cv(h);return await o(),d},[o]),l=g.useCallback(async h=>{await hv(h),await o()},[o]),c=g.useCallback(async(h,d)=>{const f=await Om(h,d);return await o(),f},[o]);return g.useEffect(()=>{o()},[o]),{projects:n,loading:t,error:i,reload:o,addProject:a,removeProject:l,updateProject:c}}function gv({storageKey:n,defaultSize:e,minSize:t,maxSize:r,direction:i="horizontal"}){const[s,o]=g.useState(()=>{if(typeof window>"u")return e;const f=localStorage.getItem(n);if(f){const p=Number.parseInt(f,10);if(!Number.isNaN(p)&&p>=t&&p<=r)return p}return e}),[a,l]=g.useState(!1);g.useEffect(()=>{localStorage.setItem(n,String(s))},[s,n]);const c=g.useCallback(f=>{f.preventDefault(),l(!0);const p=i==="horizontal"?f.clientX:f.clientY,m=s,b=v=>{const S=(i==="horizontal"?v.clientX:v.clientY)-p,O=Math.max(t,Math.min(r,m+S));o(O)},y=()=>{l(!1),document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",y),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",b),document.addEventListener("mouseup",y),document.body.style.cursor=i==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none"},[s,t,r,i]),h=g.useCallback(()=>{o(e)},[e]),d=g.useCallback(f=>{o(Math.max(t,Math.min(r,f)))},[t,r]);return{size:s,isDragging:a,startDrag:c,setSize:d,reset:h}}const bv=()=>{const{t:n}=me(),e=yn(),t=tn(),{projectId:r}=gm(),[i,s]=g.useState(null);g.useEffect(()=>{r&&s(r)},[r]);const[o,a]=g.useState(()=>typeof window<"u"&&localStorage.getItem("claudekit-theme")||"dark"),[l]=g.useState(!0),{size:c,isDragging:h,startDrag:d,setSize:f}=gv({storageKey:"claudekit-sidebar-width",defaultSize:288,minSize:56,maxSize:400}),p=c<=56,{projects:m,loading:b,error:y,addProject:v}=mv(),k=async x=>{await v(x)};g.useEffect(()=>{const x=t.pathname.startsWith("/project/");m.length===0||r||!x||e(`/project/${m[0].id}`,{replace:!0})},[m,r,e,t.pathname]),g.useEffect(()=>{const x=window.document.documentElement;o==="dark"?(x.classList.add("dark"),x.setAttribute("data-theme","dark")):(x.classList.remove("dark"),x.setAttribute("data-theme","light")),localStorage.setItem("claudekit-theme",o)},[o]);const S=()=>a(x=>x==="light"?"dark":"light"),O=g.useMemo(()=>m.find(x=>x.id===i)||null,[m,i]),C=x=>{e(`/project/${x}`)},P=()=>{f(p?288:56)};return b?u.jsx("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text items-center justify-center",children:u.jsx("div",{className:"animate-pulse text-dash-text-muted",children:n("loading")})}):y?u.jsx("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text items-center justify-center",children:u.jsxs("div",{className:"text-red-500",children:[n("error"),": ",y]})}):u.jsxs("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text overflow-hidden font-sans transition-colors duration-300",children:[u.jsx(iv,{projects:m,currentProjectId:i,isCollapsed:p,width:c,isConnected:l,theme:o,onSwitchProject:C,onToggle:P,onAddProject:k,onToggleTheme:S}),u.jsx(Di,{direction:"horizontal",isDragging:h,onMouseDown:d}),u.jsx("div",{className:"flex-1 flex flex-col min-w-0 h-full relative",children:u.jsx("main",{className:"flex-1 flex flex-col overflow-hidden p-4 md:p-6",children:u.jsx(px,{context:{project:O,isConnected:l,theme:o,onToggleTheme:S}})})})]})},Pm=({title:n,filePath:e,onBack:t,onSave:r,onReset:i,saveStatus:s,syntaxError:o,showResetConfirm:a,setShowResetConfirm:l,badge:c})=>{const{t:h}=me();return u.jsxs("div",{className:"flex items-center justify-between mb-3 shrink-0",children:[u.jsxs("div",{className:"flex items-center gap-3",children:[u.jsx("button",{onClick:t,className:"px-2 py-1 rounded-lg bg-dash-surface hover:bg-dash-surface-hover border border-dash-border text-sm text-dash-text-secondary hover:text-dash-text flex items-center group transition-all font-medium shadow-sm",title:h("backToDashboard"),children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4 group-hover:-translate-x-0.5 transition-transform",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),u.jsx("h1",{className:"text-xl font-bold tracking-tight text-dash-text",children:n}),c,u.jsx("span",{className:"text-xs text-dash-text-muted mono",children:e})]}),u.jsxs("div",{className:"flex items-center gap-2 relative",children:[a?u.jsxs("div",{className:"flex items-center gap-2 bg-red-500/10 border border-red-500/30 rounded-lg px-2 py-1 animate-in fade-in duration-200",children:[u.jsx("span",{className:"text-xs text-red-500 font-medium",children:h("confirmReset")}),u.jsx("button",{onClick:i,className:"px-2 py-0.5 rounded bg-red-500 text-white text-xs font-bold hover:bg-red-600 transition-colors",children:h("confirm")}),u.jsx("button",{onClick:()=>l(!1),className:"px-2 py-0.5 rounded bg-dash-surface text-dash-text-secondary text-xs font-bold hover:bg-dash-surface-hover transition-colors border border-dash-border",children:h("cancel")})]}):u.jsx("button",{onClick:()=>l(!0),className:"px-3 py-1.5 rounded-lg bg-dash-surface text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:h("resetToDefault")}),u.jsx("button",{onClick:r,disabled:!!o||s==="saving",className:`px-3 py-1.5 rounded-lg text-xs font-bold transition-all tracking-widest uppercase ${o?"bg-dash-surface text-dash-text-muted cursor-not-allowed border border-dash-border":s==="saved"?"bg-green-500 text-white shadow-lg shadow-green-500/20":s==="error"?"bg-red-500 text-white":"bg-dash-accent text-dash-bg hover:bg-dash-accent-hover shadow-lg shadow-dash-accent/20"}`,children:h(s==="saving"?"saving":s==="saved"?"saved":s==="error"?"saveFailed":"saveChanges")})]})]})};function yv(n,e,t){const r={...n},i=e.split(".");let s=r;for(let o=0;o<i.length-1;o++){const a=i[o];!(a in s)||typeof s[a]!="object"||s[a]===null?s[a]={}:s[a]={...s[a]},s=s[a]}return s[i[i.length-1]]=t,r}function cc(n,e){const t=e.split(".");let r=n;for(const i of t){if(r==null||typeof r!="object")return;r=r[i]}return r}function xv(n,e){const t=e.split(".");let r=n;for(const i of t){if(!r.properties)return{};const s=r.properties;if(!s[i])return{};r=s[i]}return r}const vv=({value:n,onChange:e,disabled:t})=>u.jsx("input",{type:"text",value:n??"",onChange:r=>e(r.target.value||null),disabled:t,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
31
31
  text-dash-text placeholder-dash-text-muted
32
32
  focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
33
33
  disabled:opacity-50 disabled:cursor-not-allowed
34
- transition-colors`,placeholder:"Enter value..."}),yv=({value:n,onChange:e,schema:t,disabled:r})=>u.jsx("input",{type:"number",value:n!=null?String(n):"",onChange:i=>{const s=i.target.value;if(s==="")e(null);else{const o=t.type==="integer"?Number.parseInt(s,10):Number.parseFloat(s);Number.isNaN(o)||e(o)}},min:t.minimum,max:t.maximum,disabled:r,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
34
+ transition-colors`,placeholder:"Enter value..."}),wv=({value:n,onChange:e,schema:t,disabled:r})=>u.jsx("input",{type:"number",value:n!=null?String(n):"",onChange:i=>{const s=i.target.value;if(s==="")e(null);else{const o=t.type==="integer"?Number.parseInt(s,10):Number.parseFloat(s);Number.isNaN(o)||e(o)}},min:t.minimum,max:t.maximum,disabled:r,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
35
35
  text-dash-text placeholder-dash-text-muted
36
36
  focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
37
37
  disabled:opacity-50 disabled:cursor-not-allowed
38
- transition-colors`}),xv=({value:n,onChange:e,disabled:t})=>{const r=n===!0;return u.jsx("button",{type:"button",role:"switch","aria-checked":r,onClick:()=>e(!r),disabled:t,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors
38
+ transition-colors`}),kv=({value:n,onChange:e,disabled:t})=>{const r=n===!0;return u.jsx("button",{type:"button",role:"switch","aria-checked":r,onClick:()=>e(!r),disabled:t,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors
39
39
  focus:outline-none focus:ring-2 focus:ring-dash-accent/50
40
40
  disabled:opacity-50 disabled:cursor-not-allowed
41
41
  ${r?"bg-dash-accent":"bg-dash-border"}`,children:u.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white shadow-sm transition-transform
42
- ${r?"translate-x-6":"translate-x-1"}`})})},vv=({value:n,onChange:e,schema:t,disabled:r})=>{const i=t.enum||[];return u.jsxs("select",{value:n!=null?String(n):"",onChange:s=>{const o=s.target.value;o===""?e(null):i.includes(Number(o))?e(Number(o)):e(o)},disabled:r,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
42
+ ${r?"translate-x-6":"translate-x-1"}`})})},Sv=({value:n,onChange:e,schema:t,disabled:r})=>{const i=t.enum||[];return u.jsxs("select",{value:n!=null?String(n):"",onChange:s=>{const o=s.target.value;o===""?e(null):i.includes(Number(o))?e(Number(o)):e(o)},disabled:r,className:`w-full px-3 py-2 text-sm bg-dash-bg border border-dash-border rounded-lg
43
43
  text-dash-text
44
44
  focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
45
45
  disabled:opacity-50 disabled:cursor-not-allowed
46
- transition-colors appearance-none cursor-pointer`,children:[u.jsx("option",{value:"",children:"-- Select --"}),i.map(s=>u.jsx("option",{value:String(s),children:String(s)},String(s)))]})},wv=({value:n,onChange:e,disabled:t})=>{const r=Array.isArray(n)?n:[],[i,s]=g.useState(""),o=()=>{i.trim()&&(e([...r,i.trim()]),s(""))},a=l=>{const c=r.filter((h,d)=>d!==l);e(c.length>0?c:[])};return u.jsxs("div",{className:"space-y-2",children:[u.jsx("div",{className:"flex flex-wrap gap-1.5",children:r.map((l,c)=>u.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-1 bg-dash-bg border border-dash-border rounded text-xs text-dash-text",children:[String(l),!t&&u.jsx("button",{type:"button",onClick:()=>a(c),className:"text-dash-text-muted hover:text-red-500 transition-colors",children:u.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},c))}),!t&&u.jsxs("div",{className:"flex gap-2",children:[u.jsx("input",{type:"text",value:i,onChange:l=>s(l.target.value),onKeyDown:l=>{l.key==="Enter"&&(l.preventDefault(),o())},placeholder:"Add item...",className:`flex-1 px-2 py-1 text-xs bg-dash-bg border border-dash-border rounded
46
+ transition-colors appearance-none cursor-pointer`,children:[u.jsx("option",{value:"",children:"-- Select --"}),i.map(s=>u.jsx("option",{value:String(s),children:String(s)},String(s)))]})},Cv=({value:n,onChange:e,disabled:t})=>{const r=Array.isArray(n)?n:[],[i,s]=g.useState(""),o=()=>{i.trim()&&(e([...r,i.trim()]),s(""))},a=l=>{const c=r.filter((h,d)=>d!==l);e(c.length>0?c:[])};return u.jsxs("div",{className:"space-y-2",children:[u.jsx("div",{className:"flex flex-wrap gap-1.5",children:r.map((l,c)=>u.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-1 bg-dash-bg border border-dash-border rounded text-xs text-dash-text",children:[String(l),!t&&u.jsx("button",{type:"button",onClick:()=>a(c),className:"text-dash-text-muted hover:text-red-500 transition-colors",children:u.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},c))}),!t&&u.jsxs("div",{className:"flex gap-2",children:[u.jsx("input",{type:"text",value:i,onChange:l=>s(l.target.value),onKeyDown:l=>{l.key==="Enter"&&(l.preventDefault(),o())},placeholder:"Add item...",className:`flex-1 px-2 py-1 text-xs bg-dash-bg border border-dash-border rounded
47
47
  text-dash-text placeholder-dash-text-muted
48
- focus:outline-none focus:ring-1 focus:ring-dash-accent/50`}),u.jsx("button",{type:"button",onClick:o,className:"px-2 py-1 text-xs bg-dash-accent text-white rounded hover:bg-dash-accent-hover transition-colors",children:"+"})]})]})},kv=({value:n,onChange:e,disabled:t})=>{const[r,i]=g.useState(!1);return u.jsxs("div",{className:"relative",children:[u.jsx("input",{type:r?"text":"password",value:n??"",onChange:s=>e(s.target.value||null),disabled:t,className:`w-full px-3 py-2 pr-10 text-sm bg-dash-bg border border-dash-border rounded-lg
48
+ focus:outline-none focus:ring-1 focus:ring-dash-accent/50`}),u.jsx("button",{type:"button",onClick:o,className:"px-2 py-1 text-xs bg-dash-accent text-white rounded hover:bg-dash-accent-hover transition-colors",children:"+"})]})]})},jv=({value:n,onChange:e,disabled:t})=>{const[r,i]=g.useState(!1);return u.jsxs("div",{className:"relative",children:[u.jsx("input",{type:r?"text":"password",value:n??"",onChange:s=>e(s.target.value||null),disabled:t,className:`w-full px-3 py-2 pr-10 text-sm bg-dash-bg border border-dash-border rounded-lg
49
49
  text-dash-text placeholder-dash-text-muted
50
50
  focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
51
51
  disabled:opacity-50 disabled:cursor-not-allowed
52
- transition-colors`,placeholder:"Enter passphrase..."}),u.jsx("button",{type:"button",onClick:()=>i(!r),className:"absolute right-2 top-1/2 -translate-y-1/2 text-dash-text-muted hover:text-dash-text transition-colors",children:r?u.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21"})}):u.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})]})})]})},Sv={default:"bg-gray-500/10 text-gray-500 dark:bg-gray-400/10 dark:text-gray-400",project:"bg-orange-500/10 text-orange-600 dark:text-orange-400",global:"bg-blue-500/10 text-blue-600 dark:text-blue-400"},Cv=({source:n})=>{const{t:e}=me(),t=()=>{switch(n){case"default":return e("default");case"project":return e("scopeProject");case"global":return e("scopeGlobal")}};return u.jsx("span",{className:`text-[9px] px-1.5 py-0.5 rounded font-bold uppercase tracking-wider ${Sv[n]}`,children:t()})};function jv(n,e){if(e.includes("passphrase")||e.includes("password"))return"password";if(n.enum&&n.enum.length>0)return"enum";switch(Array.isArray(n.type)?n.type.find(r=>r!=="null")||"string":n.type||"string"){case"boolean":return"boolean";case"integer":case"number":return"number";case"array":return"array";case"object":return"object";default:return"string"}}const Ov=({fieldPath:n,label:e,description:t,schema:r,value:i,source:s,onChange:o,disabled:a})=>{const l=jv(r,n),c=()=>{const h={value:i,onChange:o,schema:r,disabled:a};switch(l){case"boolean":return u.jsx(xv,{...h});case"number":return u.jsx(yv,{...h});case"enum":return u.jsx(vv,{...h});case"array":return u.jsx(wv,{...h});case"password":return u.jsx(kv,{...h});case"object":return null;default:return u.jsx(bv,{...h})}};return l==="object"?null:u.jsx("div",{className:"py-3 border-b border-dash-border/50 last:border-b-0",children:u.jsxs("div",{className:"flex items-start justify-between gap-4",children:[u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[u.jsx("span",{className:"text-sm font-medium text-dash-text",children:e}),u.jsx(Cv,{source:s})]}),t&&u.jsx("p",{className:"text-xs text-dash-text-muted mb-2 leading-relaxed",children:t}),u.jsx("p",{className:"text-[10px] text-dash-text-muted/50 font-mono mb-2",children:n})]}),u.jsx("div",{className:l==="boolean"?"shrink-0":"w-1/2 max-w-xs",children:c()})]})})},Pv=({id:n,title:e,defaultCollapsed:t=!1,children:r})=>{const[i,s]=g.useState(t);return u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg overflow-hidden",children:[u.jsxs("button",{type:"button",onClick:()=>s(!i),className:"w-full flex items-center justify-between px-4 py-3 bg-dash-surface-hover/30 hover:bg-dash-surface-hover/50 transition-colors","aria-expanded":!i,"aria-controls":`section-${n}`,children:[u.jsx("h3",{className:"text-sm font-bold text-dash-text uppercase tracking-wider",children:e}),u.jsx("svg",{className:`w-4 h-4 text-dash-text-muted transition-transform duration-200 ${i?"":"rotate-180"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),u.jsx("div",{id:`section-${n}`,className:`transition-all duration-200 ease-in-out ${i?"max-h-0 overflow-hidden":"max-h-[2000px]"}`,children:u.jsx("div",{className:"px-4 py-2",children:r})})]})},Av=({schema:n,value:e,sources:t,sections:r,onChange:i,disabled:s})=>u.jsx("div",{className:"space-y-4",children:r.map((o,a)=>u.jsx(Pv,{id:o.id,title:o.title,defaultCollapsed:o.defaultCollapsed??a>1,children:o.fields.map(l=>{const c=gv(n,l.path),h=cc(e,l.path),d=t[l.path]||"default";return u.jsx(Ov,{fieldPath:l.path,label:l.label,description:l.description||c.description,schema:c,value:h,source:d,onChange:f=>i(l.path,f),disabled:s},l.path)})},o.id))}),jm=({width:n,isLoading:e,schema:t,config:r,sources:i,sections:s,onChange:o})=>{const{t:a}=me();return u.jsxs("div",{style:{width:`${n}%`},className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden flex flex-col shadow-sm min-w-0",children:[u.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:u.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:a("formTab")})}),u.jsx("div",{className:"flex-1 overflow-auto p-4",children:e?u.jsx("div",{className:"h-full flex items-center justify-center",children:u.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:a("loading")})}):t?u.jsx(Av,{schema:t,value:r,sources:i,sections:s,onChange:o}):null})]})},Om=1024;let Mv=0,sl=class{constructor(e,t){this.from=e,this.to=t}};class de{constructor(e={}){this.id=Mv++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{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=dt.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}}de.closedBy=new de({deserialize:n=>n.split(" ")});de.openedBy=new de({deserialize:n=>n.split(" ")});de.group=new de({deserialize:n=>n.split(" ")});de.isolate=new de({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});de.contextHash=new de({perNode:!0});de.lookAhead=new de({perNode:!0});de.mounted=new de({perNode:!0});class xi{constructor(e,t,r,i=!1){this.tree=e,this.overlay=t,this.parser=r,this.bracketed=i}static get(e){return e&&e.props&&e.props[de.mounted.id]}}const Nv=Object.create(null);class dt{constructor(e,t,r,i=0){this.name=e,this.props=t,this.id=r,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):Nv,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new dt(e.name||"",t,e.id,r);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(i)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[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(de.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let i of r.split(" "))t[i]=e[r];return r=>{for(let i=r.prop(de.group),s=-1;s<(i?i.length:0);s++){let o=t[s<0?r.name:i[s]];if(o)return o}}}}dt.none=new dt("",Object.create(null),0,8);class mh{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let i=null;for(let s of e){let o=s(r);if(o){i||(i=Object.assign({},r.props));let a=o[1],l=o[0];l.combine&&l.id in i&&(a=l.combine(i[l.id],a)),i[l.id]=a}}t.push(i?new dt(r.name,i,r.id,r.flags):r)}return new mh(t)}}const ao=new WeakMap,Yu=new WeakMap;var Ee;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays",n[n.EnterBracketed=16]="EnterBracketed"})(Ee||(Ee={}));class Be{constructor(e,t,r,i,s){if(this.type=e,this.children=t,this.positions=r,this.length=i,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,a]of s)this.props[typeof o=="number"?o:o.id]=a}}toString(){let e=xi.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let r of this.children){let i=r.toString();i&&(t&&(t+=","),t+=i)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new uc(this.topNode,e)}cursorAt(e,t=0,r=0){let i=ao.get(this)||this.topNode,s=new uc(i);return s.moveTo(e,t),ao.set(this,s._tree),s}get topNode(){return new Pt(this,0,0,null)}resolve(e,t=0){let r=Di(ao.get(this)||this.topNode,e,t,!1);return ao.set(this,r),r}resolveInner(e,t=0){let r=Di(Yu.get(this)||this.topNode,e,t,!0);return Yu.set(this,r),r}resolveStack(e,t=0){return Ev(this,e,t)}iterate(e){let{enter:t,leave:r,from:i=0,to:s=this.length}=e,o=e.mode||0,a=(o&Ee.IncludeAnonymous)>0;for(let l=this.cursor(o|Ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=i&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&r&&(a||!l.type.isAnonymous)&&r(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:yh(dt.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,i)=>new Be(this.type,t,r,i,this.propValues),e.makeTree||((t,r,i)=>new Be(dt.none,t,r,i)))}static build(e){return Rv(e)}}Be.empty=new Be(dt.none,[],[],0);class gh{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 gh(this.buffer,this.index)}}class Tn{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return dt.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],i=this.set.types[t],s=i.name;if(/\W/.test(s)&&!i.isError&&(s=JSON.stringify(s)),e+=4,r==e)return s;let o=[];for(;e<r;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,t,r,i,s){let{buffer:o}=this,a=-1;for(let l=e;l!=t&&!(Pm(s,i,o[l+1],o[l+2])&&(a=l,r>0));l=o[l+3]);return a}slice(e,t,r){let i=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a<t;){s[l++]=i[a++],s[l++]=i[a++]-r;let c=s[l++]=i[a++]-r;s[l++]=i[a++]-e,o=Math.max(o,c)}return new Tn(s,o,this.set)}}function Pm(n,e,t,r){switch(n){case-2:return t<e;case-1:return r>=e&&t<e;case 0:return t<e&&r>e;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function Di(n,e,t,r){for(var i;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let o=!r&&n instanceof Pt&&n.index<0?null:n.parent;if(!o)return n;n=o}let s=r?0:Ee.IgnoreOverlays;if(r)for(let o=n,a=o.parent;a;o=a,a=o.parent)o instanceof Pt&&o.index<0&&((i=a.enter(e,t,s))===null||i===void 0?void 0:i.from)!=o.from&&(n=a);for(;;){let o=n.enter(e,t,s);if(!o)return n;n=o}}class Am{cursor(e=0){return new uc(this,e)}getChild(e,t=null,r=null){let i=Qu(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return Qu(this,e,t,r)}resolve(e,t=0){return Di(this,e,t,!1)}resolveInner(e,t=0){return Di(this,e,t,!0)}matchContext(e){return hc(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),r=this;for(;t;){let i=t.lastChild;if(!i||i.to!=t.to)break;i.type.isError&&i.from==i.to?(r=t,t=i.prevSibling):t=i}return r}get node(){return this}get next(){return this.parent}}class Pt extends Am{constructor(e,t,r,i){super(),this._tree=e,this.from=t,this.index=r,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,i,s=0){var o;for(let a=this;;){for(let{children:l,positions:c}=a._tree,h=t>0?l.length:-1;e!=h;e+=t){let d=l[e],f=c[e]+a.from;if(!(!(s&Ee.EnterBracketed&&d instanceof Be&&((o=xi.get(d))===null||o===void 0?void 0:o.overlay)===null&&(f>=r||f+d.length<=r))&&!Pm(i,r,f,f+d.length))){if(d instanceof Tn){if(s&Ee.ExcludeBuffers)continue;let p=d.findChild(0,d.buffer.length,t,r-f,i);if(p>-1)return new An(new Dv(a,d,e,f),null,p)}else if(s&Ee.IncludeAnonymous||!d.type.isAnonymous||bh(d)){let p;if(!(s&Ee.IgnoreMounts)&&(p=xi.get(d))&&!p.overlay)return new Pt(p.tree,f,e,a);let m=new Pt(d,f,e,a);return s&Ee.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?d.children.length-1:0,t,r,i,s)}}}if(s&Ee.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+t:e=t<0?-1:a._parent._tree.children.length,a=a._parent,!a))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,r=0){let i;if(!(r&Ee.IgnoreOverlays)&&(i=xi.get(this._tree))&&i.overlay){let s=e-this.from,o=r&Ee.EnterBracketed&&i.bracketed;for(let{from:a,to:l}of i.overlay)if((t>0||o?a<=s:a<s)&&(t<0||o?l>=s:l>s))return new Pt(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}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 Qu(n,e,t,r){let i=n.cursor(),s=[];if(!i.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=i.type.is(t),!i.nextSibling())return s}for(;;){if(r!=null&&i.type.is(r))return s;if(i.type.is(e)&&s.push(i.node),!i.nextSibling())return r==null?s:[]}}function hc(n,e,t=e.length-1){for(let r=n;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}class Dv{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}}class An extends Am{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,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,r);return s<0?null:new An(this.context,this,s)}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,r=0){if(r&Ee.ExcludeBuffers)return null;let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new An(this.context,this,s)}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 An(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 An(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,i=this.index+4,s=r.buffer[this.index+3];if(s>i){let o=r.buffer[this.index+1];e.push(r.slice(i,s,o)),t.push(0)}return new Be(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Mm(n){if(!n.length)return null;let e=0,t=n[0];for(let s=1;s<n.length;s++){let o=n[s];(o.from>t.from||o.to<t.to)&&(t=o,e=s)}let r=t instanceof Pt&&t.index<0?null:t.parent,i=n.slice();return r?i[e]=r:i.splice(e,1),new Tv(i,t)}class Tv{constructor(e,t){this.heads=e,this.node=t}get next(){return Mm(this.heads)}}function Ev(n,e,t){let r=n.resolveInner(e,t),i=null;for(let s=r instanceof Pt?r:r.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(i||(i=[r])).push(o.resolve(e,t)),s=o}else{let o=xi.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let a=new Pt(o.tree,o.overlay[0].from+s.from,-1,s);(i||(i=[r])).push(Di(a,e,t,!1))}}return i?Mm(i):r}class uc{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&~Ee.EnterBracketed,e instanceof Pt)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.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:r,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=r+i.buffer[e+1],this.to=r+i.buffer[e+2],!0}yield(e){return e?e instanceof Pt?(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,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:i}=this.buffer,s=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,r);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}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,r=this.mode){return this.buffer?r&Ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ee.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,r=this.stack.length-1;if(e<0){let i=r<0?0:this.stack[r]+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<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(i)}return r<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,r,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(i.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:r}=i)}else({index:t,_parent:r}=this._tree);for(;r;{index:t,_parent:r}=r)if(t>-1)for(let s=t+e,o=e<0?-1:r._tree.children.length;s!=o;s+=e){let a=r._tree.children[s];if(this.mode&Ee.IncludeAnonymous||a instanceof Tn||!a.type.isAnonymous||bh(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<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let i=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==i){if(i==this.index)return o;t=o,r=s+1;break e}i=this.stack[--s]}for(let i=r;i<this.stack.length;i++)t=new An(this.buffer,t,this.stack[i]);return this.bufferNode=new An(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let i=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(i=!0)}for(;;){if(i&&t&&t(this),i=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,i=!0}}}matchContext(e){if(!this.buffer)return hc(this.node.parent,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let i=e.length-1,s=this.stack.length-1;i>=0;s--){if(s<0)return hc(this._tree,e,i);let o=r[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[i]&&e[i]!=o.name)return!1;i--}}return!0}}function bh(n){return n.children.some(e=>e instanceof Tn||!e.type.isAnonymous||bh(e))}function Rv(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:i=Om,reused:s=[],minRepeatType:o=r.types.length}=n,a=Array.isArray(t)?new gh(t,t.length):t,l=r.types,c=0,h=0;function d(C,P,x,N,D,L){let{id:R,start:B,end:G,size:V}=a,$=h,q=c;if(V<0)if(a.next(),V==-1){let le=s[R];x.push(le),N.push(B-C);return}else if(V==-3){c=R;return}else if(V==-4){h=R;return}else throw new RangeError(`Unrecognized record size: ${V}`);let he=l[R],W,Y,se=B-C;if(G-B<=i&&(Y=y(a.pos-P,D))){let le=new Uint16Array(Y.size-Y.skip),oe=a.pos-Y.size,we=le.length;for(;a.pos>oe;)we=v(Y.start,le,we);W=new Tn(le,G-Y.start,r),se=Y.start-C}else{let le=a.pos-V;a.next();let oe=[],we=[],Me=R>=o?R:-1,Se=0,Je=G;for(;a.pos>le;)Me>=0&&a.id==Me&&a.size>=0?(a.end<=Je-i&&(m(oe,we,B,Se,a.end,Je,Me,$,q),Se=oe.length,Je=a.end),a.next()):L>2500?f(B,le,oe,we):d(B,le,oe,we,Me,L+1);if(Me>=0&&Se>0&&Se<oe.length&&m(oe,we,B,Se,B,Je,Me,$,q),oe.reverse(),we.reverse(),Me>-1&&Se>0){let Tt=p(he,q);W=yh(he,oe,we,0,oe.length,0,G-B,Tt,Tt)}else W=b(he,oe,we,G-B,$-G,q)}x.push(W),N.push(se)}function f(C,P,x,N){let D=[],L=0,R=-1;for(;a.pos>P;){let{id:B,start:G,end:V,size:$}=a;if($>4)a.next();else{if(R>-1&&G<R)break;R<0&&(R=V-i),D.push(B,G,V),L++,a.next()}}if(L){let B=new Uint16Array(L*4),G=D[D.length-2];for(let V=D.length-3,$=0;V>=0;V-=3)B[$++]=D[V],B[$++]=D[V+1]-G,B[$++]=D[V+2]-G,B[$++]=$;x.push(new Tn(B,D[2]-G,r)),N.push(G-C)}}function p(C,P){return(x,N,D)=>{let L=0,R=x.length-1,B,G;if(R>=0&&(B=x[R])instanceof Be){if(!R&&B.type==C&&B.length==D)return B;(G=B.prop(de.lookAhead))&&(L=N[R]+B.length+G)}return b(C,x,N,D,L,P)}}function m(C,P,x,N,D,L,R,B,G){let V=[],$=[];for(;C.length>N;)V.push(C.pop()),$.push(P.pop()+x-D);C.push(b(r.types[R],V,$,L-D,B-L,G)),P.push(D-x)}function b(C,P,x,N,D,L,R){if(L){let B=[de.contextHash,L];R=R?[B].concat(R):[B]}if(D>25){let B=[de.lookAhead,D];R=R?[B].concat(R):[B]}return new Be(C,P,x,N,R)}function y(C,P){let x=a.fork(),N=0,D=0,L=0,R=x.end-i,B={size:0,start:0,skip:0};e:for(let G=x.pos-C;x.pos>G;){let V=x.size;if(x.id==P&&V>=0){B.size=N,B.start=D,B.skip=L,L+=4,N+=4,x.next();continue}let $=x.pos-V;if(V<0||$<G||x.start<R)break;let q=x.id>=o?4:0,he=x.start;for(x.next();x.pos>$;){if(x.size<0)if(x.size==-3||x.size==-4)q+=4;else break e;else x.id>=o&&(q+=4);x.next()}D=he,N+=V,L+=q}return(P<0||N==C)&&(B.size=N,B.start=D,B.skip=L),B.size>4?B:void 0}function v(C,P,x){let{id:N,start:D,end:L,size:R}=a;if(a.next(),R>=0&&N<o){let B=x;if(R>4){let G=a.pos-(R-4);for(;a.pos>G;)x=v(C,P,x)}P[--x]=B,P[--x]=L-C,P[--x]=D-C,P[--x]=N}else R==-3?c=N:R==-4&&(h=N);return x}let k=[],S=[];for(;a.pos>0;)d(n.start||0,n.bufferStart||0,k,S,-1,0);let O=(e=n.length)!==null&&e!==void 0?e:k.length?S[0]+k[0].length:0;return new Be(l[n.topID],k.reverse(),S.reverse(),O)}const Ju=new WeakMap;function Vo(n,e){if(!n.isAnonymous||e instanceof Tn||e.type!=n)return 1;let t=Ju.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof Be)){t=1;break}t+=Vo(n,r)}Ju.set(e,t)}return t}function yh(n,e,t,r,i,s,o,a,l){let c=0;for(let m=r;m<i;m++)c+=Vo(n,e[m]);let h=Math.ceil(c*1.5/8),d=[],f=[];function p(m,b,y,v,k){for(let S=y;S<v;){let O=S,C=b[S],P=Vo(n,m[S]);for(S++;S<v;S++){let x=Vo(n,m[S]);if(P+x>=h)break;P+=x}if(S==O+1){if(P>h){let x=m[O];p(x.children,x.positions,0,x.children.length,b[O]+k);continue}d.push(m[O])}else{let x=b[S-1]+m[S-1].length-C;d.push(yh(n,m,b,O,S,C,x,null,l))}f.push(C+k-s)}}return p(e,t,r,i,0),(a||l)(d,f,o)}class tr{constructor(e,t,r,i,s=!1,o=!1){this.from=e,this.to=t,this.tree=r,this.offset=i,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=!1){let i=[new tr(0,e.length,e,0,!1,r)];for(let s of t)s.to>e.length&&i.push(s);return i}static applyChanges(e,t,r=128){if(!t.length)return e;let i=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a<t.length?t[a]:null,d=h?h.fromA:1e9;if(d-l>=r)for(;o&&o.from<d;){let f=o;if(l>=f.from||d<=f.to||c){let p=Math.max(f.from,l)-c,m=Math.min(f.to,d)-c;f=p>=m?null:new tr(p,m,f.tree,f.offset+c,a>0,!!h)}if(f&&i.push(f),o.to>d)break;o=s<e.length?e[s++]:null}if(!h)break;l=h.toA,c=h.toA-h.toB}return i}}class Nm{startParse(e,t,r){return typeof e=="string"&&(e=new Lv(e)),r=r?r.length?r.map(i=>new sl(i.from,i.to)):[new sl(0,0)]:[new sl(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let i=this.startParse(e,t,r);for(;;){let s=i.advance();if(s)return s}}}class Lv{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 de({perNode:!0});var Xu={};class Jo{constructor(e,t,r,i,s,o,a,l,c,h=0,d){this.p=e,this.stack=t,this.state=r,this.reducePos=i,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=h,this.parent=d}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let i=e.parser.context;return new Jo(e,[],t,r,r,0,[],0,i?new Zu(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,i=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=s.dynamicPrecedence(i);if(a&&(this.score+=a),r==0){this.pushState(s.getGoto(this.state,i,!0),this.reducePos),i<s.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(i,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),c=l?this.stack[l-2]:this.p.ranges[0].from,h=this.reducePos-c;h>=2e3&&!(!((t=this.p.parser.nodeSet.types[i])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=c,this.p.lastBigReductionSize=h));let d=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-d;if(i<s.minRepeatTerm||e&131072){let p=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,c,p,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let p=this.stack[l-3];this.state=s.getGoto(p,i,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(i,c)}storeNode(e,t,r,i=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,a=this.buffer.length;if(a==0&&o.parent&&(a=o.bufferBase-o.parent.bufferBase,o=o.parent),a>0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(t==r)return;if(o.buffer[a-2]>=t){o.buffer[a-2]=r;return}}}if(!s||this.pos==r)this.buffer.push(e,t,r,i);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,i>4&&(i-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=r,this.buffer[o+3]=i}}shift(e,t,r,i){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=i,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,i,4);else{let s=e,{parser:o}=this.p;(i>this.pos||t<=o.maxNode)&&(this.pos=i,o.stateFlag(s,1)||(this.reducePos=i)),this.pushState(s,r),this.shiftContext(t,r),t<=o.maxNode&&this.buffer.push(t,r,i,4)}}apply(e,t,r,i){e&65536?this.reduce(e):this.shift(e,t,r,i)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(r,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),i=e.bufferBase+t;for(;e&&i==e.bufferBase;)e=e.parent;return new Jo(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Iv(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if(!(r&65536))return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let s=0,o;s<t.length;s+=2)(o=t[s+1])!=this.state&&this.p.parser.hasAction(o,e)&&i.push(t[s],o);if(this.stack.length<120)for(let s=0;i.length<8&&s<t.length;s+=2){let o=t[s+1];i.some((a,l)=>l&1&&a==o)||i.push(t[s],o)}t=i}let r=[];for(let i=0;i<t.length&&r.length<4;i+=2){let s=t[i+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(t[i],this.pos),o.reducePos=this.pos,o.score-=200,r.push(o)}return r}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let r=t>>19,i=t&65535,s=this.stack.length-r*3;if(s<0||e.getGoto(this.stack[s],i,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(i,s)=>{if(!t.includes(i))return t.push(i),e.allActions(i,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=r(o,s+1);if(a!=null)return a}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new Zu(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Zu{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class Iv{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i}}class Xo{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Xo(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}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]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Xo(this.stack,this.pos,this.index)}}function lo(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let r=0,i=0;r<n.length;){let s=0;for(;;){let o=n.charCodeAt(r++),a=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[i++]=s:t=new e(s)}return t}class zo{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const ed=new zo;class Bv{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=ed,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,i=this.rangeIndex,s=this.pos+e;for(;s<r.from;){if(!i)return null;let o=this.ranges[--i];s-=r.from-o.to,r=o}for(;t<0?s>r.to:s>=r.to;){if(i==this.ranges.length-1)return null;let o=this.ranges[++i];s+=o.from-r.to,r=o}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,i;if(t>=0&&t<this.chunk.length)r=this.pos+e,i=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(r=s,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let o=this.rangeIndex,a=this.range;for(;a.to<=r;)a=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),i=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),i}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=ed,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let i of this.ranges){if(i.from>=t)break;i.to>e&&(r+=this.input.read(Math.max(i.from,e),Math.min(i.to,t)))}return r}}class Cr{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;$v(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}Cr.prototype.contextual=Cr.prototype.fallback=Cr.prototype.extend=!1;Cr.prototype.fallback=Cr.prototype.extend=!1;function $v(n,e,t,r,i,s){let o=0,a=1<<r,{dialect:l}=t.p.parser;e:for(;a&n[o];){let c=n[o+1];for(let p=o+3;p<c;p+=2)if((n[p+1]&a)>0){let m=n[p];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||Fv(m,e.token.value,i,s))){e.acceptToken(m);break}}let h=e.next,d=0,f=n[o+2];if(e.next<0&&f>d&&n[c+f*3-3]==65535){o=n[c+f*3-1];continue e}for(;d<f;){let p=d+f>>1,m=c+p+(p<<1),b=n[m],y=n[m+1]||65536;if(h<b)f=p;else if(h>=y)d=p+1;else{o=n[m+2],e.advance();continue e}}break}}function td(n,e,t){for(let r=e,i;(i=n[r])!=65535;r++)if(i==t)return r-e;return-1}function Fv(n,e,t,r){let i=td(t,r,e);return i<0||td(t,r,n)<i}const pt=typeof process<"u"&&Xu&&/\bparse\b/.test(Xu.LOG);let ol=null;function nd(n,e,t){let r=n.cursor(Ee.IncludeAnonymous);for(r.moveTo(e);;)if(!(t<0?r.childBefore(e):r.childAfter(e)))for(;;){if((t<0?r.to<e:r.from>e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(n.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:n.length}}class Vv{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?nd(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?nd(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let r=this.trees[t],i=this.index[t];if(i==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=r.children[i],o=this.start[t]+r.positions[i];if(o>e)return this.nextStart=o,null;if(s instanceof Be){if(o==e){if(o<this.safeFrom)return null;let a=o+s.length;if(a<=this.safeTo){let l=s.prop(de.lookAhead);if(!l||a+l<this.fragment.to)return s}}this.index[t]++,o+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}}class zv{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new zo)}getActions(e){let t=0,r=null,{parser:i}=e.p,{tokenizers:s}=i,o=i.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;c<s.length;c++){if(!(1<<c&o))continue;let h=s[c],d=this.tokens[c];if(!(r&&!h.fallback)&&((h.contextual||d.start!=e.pos||d.mask!=o||d.context!=a)&&(this.updateCachedToken(d,h,e),d.mask=o,d.context=a),d.lookAhead>d.end+25&&(l=Math.max(d.lookAhead,l)),d.value!=0)){let f=t;if(d.extended>-1&&(t=this.addActions(e,d.extended,d.end,t)),t=this.addActions(e,d.value,d.end,t),!h.extend&&(r=d,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new zo,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new zo,{pos:r,p:i}=e;return t.start=r,t.end=Math.min(r+1,i.stream.end),t.value=r==i.stream.end?i.parser.eofTerm:0,t}updateCachedToken(e,t,r){let i=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(i,e),r),e.value>-1){let{parser:s}=r.p;for(let o=0;o<s.specialized.length;o++)if(s.specialized[o]==e.value){let a=s.specializers[o](this.stream.read(e.start,e.end),r);if(a>=0&&r.p.parser.dialect.allows(a>>1)){a&1?e.extended=a>>1:e.value=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(i+1)}putAction(e,t,r,i){for(let s=0;s<i;s+=3)if(this.actions[s]==e)return i;return this.actions[i++]=e,this.actions[i++]=t,this.actions[i++]=r,i}addActions(e,t,r,i){let{state:s}=e,{parser:o}=e.p,{data:a}=o;for(let l=0;l<2;l++)for(let c=o.stateSlot(s,l?2:1);;c+=3){if(a[c]==65535)if(a[c+1]==1)c=cn(a,c+2);else{i==0&&a[c+1]==2&&(i=this.putAction(cn(a,c+2),t,r,i));break}a[c]==t&&(i=this.putAction(cn(a,c+1),t,r,i))}return i}}class Hv{constructor(e,t,r,i){this.parser=e,this.input=t,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Bv(t,i),this.tokens=new zv(e,this.stream),this.topTerm=e.top[1];let{from:s}=i[0];this.stacks=[Jo.start(this,e.top[0],s)],this.fragments=r.length&&this.stream.end-s>e.bufferLength*4?new Vv(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],i,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<e.length;o++){let a=e[o];for(;;){if(this.tokens.mainToken=null,a.pos>t)r.push(a);else{if(this.advanceStack(a,r,e))continue;{i||(i=[],s=[]),i.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!r.length){let o=i&&_v(i);if(o)return pt&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw pt&&i&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&i){let o=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,s,r);if(o)return pt&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(r.length>o)for(r.sort((a,l)=>l.score-a.score);r.length>o;)r.pop();r.some(a=>a.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let o=0;o<r.length-1;o++){let a=r[o];for(let l=o+1;l<r.length;l++){let c=r[l];if(a.sameState(c)||a.buffer.length>500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)r.splice(l--,1);else{r.splice(o--,1);continue e}}}r.length>12&&(r.sort((o,a)=>a.score-o.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let o=1;o<r.length;o++)r[o].pos<this.minStackPos&&(this.minStackPos=r[o].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,r){let i=e.pos,{parser:s}=this,o=pt?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let d=this.fragments.nodeAt(i);d;){let f=this.parser.nodeSet.types[d.type.id]==d.type?s.getGoto(e.state,d.type.id):-1;if(f>-1&&d.length&&(!c||(d.prop(de.contextHash)||0)==h))return e.useNode(d,f),pt&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(d.type.id)})`),!0;if(!(d instanceof Be)||d.children.length==0||d.positions[0]>0)break;let p=d.children[0];if(p instanceof Be&&d.positions[0]==0)d=p;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),pt&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;c<l.length;){let h=l[c++],d=l[c++],f=l[c++],p=c==l.length||!r,m=p?e:e.split(),b=this.tokens.mainToken;if(m.apply(h,d,b?b.start:m.pos,f),pt&&console.log(o+this.stackID(m)+` (via ${h&65536?`reduce of ${s.getName(h&65535)}`:"shift"} for ${s.getName(d)} @ ${i}${m==e?"":", split"})`),p)return!0;m.pos>i?t.push(m):r.push(m)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return rd(e,t),!0}}runRecovery(e,t,r){let i=null,s=!1;for(let o=0;o<e.length;o++){let a=e[o],l=t[o<<1],c=t[(o<<1)+1],h=pt?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),pt&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let d=a.split(),f=h;for(let p=0;p<10&&d.forceReduce()&&(pt&&console.log(f+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,r));p++)pt&&(f=this.stackID(d)+" -> ");for(let p of a.recoverByInsert(l))pt&&console.log(h+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,r);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),pt&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),rd(a,r)):(!i||i.score<a.score)&&(i=a)}return i}stackToTree(e){return e.close(),Be.build({buffer:Xo.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(ol||(ol=new WeakMap)).get(e);return t||ol.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function rd(n,e){for(let t=0;t<e.length;t++){let r=e[t];if(r.pos==n.pos&&r.sameState(n)){e[t].score<n.score&&(e[t]=n);return}}e.push(n)}class Wv{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}class Zo extends Nm{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;a<e.repeatNodeCount;a++)t.push("");let r=Object.keys(e.topRules).map(a=>e.topRules[a][1]),i=[];for(let a=0;a<t.length;a++)i.push([]);function s(a,l,c){i[a].push([l,l.deserialize(String(c))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=de[l]);for(let c=1;c<a.length;){let h=a[c++];if(h>=0)s(h,l,a[c++]);else{let d=a[c+-h];for(let f=-h;f>0;f--)s(a[c++],l,d);c++}}}this.nodeSet=new mh(t.map((a,l)=>dt.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:i[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Om;let o=lo(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(id),this.states=lo(e.states,Uint32Array),this.data=lo(e.stateData),this.goto=lo(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new Cr(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,r){let i=new Hv(this,e,t,r);for(let s of this.wrappers)i=s(i,e,t,r);return i}getGoto(e,t,r=!1){let i=this.goto;if(t>=i[0])return-1;for(let s=i[t+1];;){let o=i[s++],a=o&1,l=i[s++];if(a&&r)return l;for(let c=s+(o>>1);s<c;s++)if(i[s]==e)return l;if(a)return-1}}hasAction(e,t){let r=this.data;for(let i=0;i<2;i++)for(let s=this.stateSlot(e,i?2:1),o;;s+=3){if((o=r[s])==65535)if(r[s+1]==1)o=r[s=cn(r,s+2)];else{if(r[s+1]==2)return cn(r,s+2);break}if(o==t||o==0)return cn(r,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,r=>r==t?!0:null)}allActions(e,t){let r=this.stateSlot(e,4),i=r?t(r):void 0;for(let s=this.stateSlot(e,1);i==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=cn(this.data,s+2);else break;i=t(cn(this.data,s+1))}return i}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=cn(this.data,r+2);else break;if(!(this.data[r+2]&1)){let i=this.data[r+1];t.some((s,o)=>o&1&&s==i)||t.push(this.data[r],i)}}return t}configure(e){let t=Object.assign(Object.create(Zo.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let i=e.tokenizers.find(s=>s.from==r);return i?i.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,i)=>{let s=e.specializers.find(a=>a.from==r.external);if(!s)return r;let o=Object.assign(Object.assign({},r),{external:s.to});return t.specializers[i]=id(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(r[o]=!0)}let i=null;for(let s=0;s<t.length;s++)if(!r[s])for(let o=this.dialects[t[s]],a;(a=this.data[o++])!=65535;)(i||(i=new Uint8Array(this.maxTerm+1)))[a]=1;return new Wv(e,r,i)}static deserialize(e){return new Zo(e)}}function cn(n,e){return n[e]|n[e+1]<<16}function _v(n){let e=null;for(let t of n){let r=t.p.stoppedAt;(t.pos==t.p.stream.end||r!=null&&t.pos>r)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function id(n){if(n.external){let e=n.extend?1:0;return(t,r)=>n.external(t,r)<<1|e}return n.get}let Uv=0;class St{constructor(e,t,r,i){this.name=e,this.set=t,this.base=r,this.modified=i,this.id=Uv++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let r=typeof e=="string"?e:"?";if(e instanceof St&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let i=new St(r,[],null,[]);if(i.set.push(i),t)for(let s of t.set)i.set.push(s);return i}static defineModifier(e){let t=new ea(e);return r=>r.modified.indexOf(t)>-1?r:ea.get(r.base||r,r.modified.concat(t).sort((i,s)=>i.id-s.id))}}let Kv=0;class ea{constructor(e){this.name=e,this.instances=[],this.id=Kv++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(a=>a.base==e&&Gv(t,a.modified));if(r)return r;let i=[],s=new St(e.name,i,e,t);for(let a of t)a.instances.push(s);let o=qv(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(ea.get(a,l));return s}}function Gv(n,e){return n.length==e.length&&n.every((t,r)=>t==e[r])}function qv(n){let e=[[]];for(let t=0;t<n.length;t++)for(let r=0,i=e.length;r<i;r++)e.push(e[r].concat(n[t]));return e.sort((t,r)=>r.length-t.length)}function Dm(n){let e=Object.create(null);for(let t in n){let r=n[t];Array.isArray(r)||(r=[r]);for(let i of t.split(" "))if(i){let s=[],o=2,a=i;for(let d=0;;){if(a=="..."&&d>0&&d+3==i.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+i);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),d+=f[0].length,d==i.length)break;let p=i[d++];if(d==i.length&&p=="!"){o=0;break}if(p!="/")throw new RangeError("Invalid path: "+i);a=i.slice(d)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+i);let h=new Ti(r,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Tm.add(e)}const Tm=new de({combine(n,e){let t,r,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 s=new Ti(i.tags,i.mode,i.context);t?t.next=s:r=s,t=s}return r}});class Ti{constructor(e,t,r,i){this.tags=e,this.mode=t,this.context=r,this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}Ti.empty=new Ti([],2,null);function Em(n,e){let t=Object.create(null);for(let s of n)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let o of s.tag)t[o.id]=s.class;let{scope:r,all:i=null}=e||{};return{style:s=>{let o=i;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:r}}function Yv(n,e){let t=null;for(let r of n){let i=r.style(e);i&&(t=t?t+" "+i:i)}return t}function Qv(n,e,t,r=0,i=n.length){let s=new Jv(r,Array.isArray(e)?e:[e],t);s.highlightRange(n.cursor(),r,i,"",s.highlighters),s.flush(i)}class Jv{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,i,s){let{type:o,from:a,to:l}=e;if(a>=r||l<=t)return;o.isTop&&(s=this.highlighters.filter(p=>!p.scope||p.scope(o)));let c=i,h=Xv(e)||Ti.empty,d=Yv(s,h.tags);if(d&&(c&&(c+=" "),c+=d,h.mode==1&&(i+=(i?" ":"")+d)),this.startSpan(Math.max(t,a),c),h.opaque)return;let f=e.tree&&e.tree.prop(de.mounted);if(f&&f.overlay){let p=e.node.enter(f.overlay[0].from+a,1),m=this.highlighters.filter(y=>!y.scope||y.scope(f.tree.type)),b=e.firstChild();for(let y=0,v=a;;y++){let k=y<f.overlay.length?f.overlay[y]:null,S=k?k.from+a:l,O=Math.max(t,v),C=Math.min(r,S);if(O<C&&b)for(;e.from<C&&(this.highlightRange(e,O,C,i,s),this.startSpan(Math.min(C,e.to),c),!(e.to>=S||!e.nextSibling())););if(!k||S>r)break;v=k.to+a,v>t&&(this.highlightRange(p.cursor(),Math.max(t,k.from+a),Math.min(r,v),"",m),this.startSpan(Math.min(r,v),c))}b&&e.parent()}else if(e.firstChild()){f&&(i="");do if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,i,s),this.startSpan(Math.min(r,e.to),c)}while(e.nextSibling());e.parent()}}}function Xv(n){let e=n.type.prop(Tm);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const z=St.define,co=z(),wn=z(),sd=z(wn),od=z(wn),kn=z(),ho=z(kn),al=z(kn),_t=z(),Kn=z(_t),zt=z(),Ht=z(),dc=z(),ri=z(dc),uo=z(),M={comment:co,lineComment:z(co),blockComment:z(co),docComment:z(co),name:wn,variableName:z(wn),typeName:sd,tagName:z(sd),propertyName:od,attributeName:z(od),className:z(wn),labelName:z(wn),namespace:z(wn),macroName:z(wn),literal:kn,string:ho,docString:z(ho),character:z(ho),attributeValue:z(ho),number:al,integer:z(al),float:z(al),bool:z(kn),regexp:z(kn),escape:z(kn),color:z(kn),url:z(kn),keyword:zt,self:z(zt),null:z(zt),atom:z(zt),unit:z(zt),modifier:z(zt),operatorKeyword:z(zt),controlKeyword:z(zt),definitionKeyword:z(zt),moduleKeyword:z(zt),operator:Ht,derefOperator:z(Ht),arithmeticOperator:z(Ht),logicOperator:z(Ht),bitwiseOperator:z(Ht),compareOperator:z(Ht),updateOperator:z(Ht),definitionOperator:z(Ht),typeOperator:z(Ht),controlOperator:z(Ht),punctuation:dc,separator:z(dc),bracket:ri,angleBracket:z(ri),squareBracket:z(ri),paren:z(ri),brace:z(ri),content:_t,heading:Kn,heading1:z(Kn),heading2:z(Kn),heading3:z(Kn),heading4:z(Kn),heading5:z(Kn),heading6:z(Kn),contentSeparator:z(_t),list:z(_t),quote:z(_t),emphasis:z(_t),strong:z(_t),link:z(_t),monospace:z(_t),strikethrough:z(_t),inserted:z(),deleted:z(),changed:z(),invalid:z(),meta:uo,documentMeta:z(uo),annotation:z(uo),processingInstruction:z(uo),definition:St.defineModifier("definition"),constant:St.defineModifier("constant"),function:St.defineModifier("function"),standard:St.defineModifier("standard"),local:St.defineModifier("local"),special:St.defineModifier("special")};for(let n in M){let e=M[n];e instanceof St&&(e.name=n)}Em([{tag:M.link,class:"tok-link"},{tag:M.heading,class:"tok-heading"},{tag:M.emphasis,class:"tok-emphasis"},{tag:M.strong,class:"tok-strong"},{tag:M.keyword,class:"tok-keyword"},{tag:M.atom,class:"tok-atom"},{tag:M.bool,class:"tok-bool"},{tag:M.url,class:"tok-url"},{tag:M.labelName,class:"tok-labelName"},{tag:M.inserted,class:"tok-inserted"},{tag:M.deleted,class:"tok-deleted"},{tag:M.literal,class:"tok-literal"},{tag:M.string,class:"tok-string"},{tag:M.number,class:"tok-number"},{tag:[M.regexp,M.escape,M.special(M.string)],class:"tok-string2"},{tag:M.variableName,class:"tok-variableName"},{tag:M.local(M.variableName),class:"tok-variableName tok-local"},{tag:M.definition(M.variableName),class:"tok-variableName tok-definition"},{tag:M.special(M.variableName),class:"tok-variableName2"},{tag:M.definition(M.propertyName),class:"tok-propertyName tok-definition"},{tag:M.typeName,class:"tok-typeName"},{tag:M.namespace,class:"tok-namespace"},{tag:M.className,class:"tok-className"},{tag:M.macroName,class:"tok-macroName"},{tag:M.propertyName,class:"tok-propertyName"},{tag:M.operator,class:"tok-operator"},{tag:M.comment,class:"tok-comment"},{tag:M.meta,class:"tok-meta"},{tag:M.invalid,class:"tok-invalid"},{tag:M.punctuation,class:"tok-punctuation"}]);const Zv=Dm({String:M.string,Number:M.number,"True False":M.bool,PropertyName:M.propertyName,Null:M.null,", :":M.separator,"[ ]":M.squareBracket,"{ }":M.brace}),e2=Zo.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[Zv],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});let fc=[],Rm=[];(()=>{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,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<n.length;e++)(e%2?Rm:fc).push(t=t+n[e])})();function t2(n){if(n<768)return!1;for(let e=0,t=fc.length;;){let r=e+t>>1;if(n<fc[r])t=r;else if(n>=Rm[r])e=r+1;else return!0;if(e==t)return!1}}function ad(n){return n>=127462&&n<=127487}const ld=8205;function n2(n,e,t=!0,r=!0){return(t?Lm:r2)(n,e,r)}function Lm(n,e,t){if(e==n.length)return e;e&&Im(n.charCodeAt(e))&&Bm(n.charCodeAt(e-1))&&e--;let r=ll(n,e);for(e+=cd(r);e<n.length;){let i=ll(n,e);if(r==ld||i==ld||t&&t2(i))e+=cd(i),r=i;else if(ad(i)){let s=0,o=e-2;for(;o>=0&&ad(ll(n,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function r2(n,e,t){for(;e>0;){let r=Lm(n,e-2,t);if(r<e)return r;e--}return 0}function ll(n,e){let t=n.charCodeAt(e);if(!Bm(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return Im(r)?(t-55296<<10)+(r-56320)+65536:t}function Im(n){return n>=56320&&n<57344}function Bm(n){return n>=55296&&n<56320}function cd(n){return n<65536?1:2}class xe{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,r){[e,t]=Dr(this,e,t);let i=[];return this.decompose(0,e,i,2),r.length&&r.decompose(0,r.length,i,3),this.decompose(t,this.length,i,1),Kt.from(i,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Dr(this,e,t);let r=[];return this.decompose(e,t,r,0),Kt.from(r,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),r=this.length-this.scanIdentical(e,-1),i=new vi(this),s=new vi(e);for(let o=t,a=t;;){if(i.next(o),s.next(o),o=0,i.lineBreak!=s.lineBreak||i.done!=s.done||i.value!=s.value)return!1;if(a+=i.value.length,i.done||a>=r)return!0}}iter(e=1){return new vi(this,e)}iterRange(e,t=this.length){return new $m(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let i=this.line(e).from;r=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Fm(r)}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]?xe.empty:e.length<=32?new Ie(e):Kt.from(Ie.split(e,[]))}}class Ie extends xe{constructor(e,t=i2(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,r,i){for(let s=0;;s++){let o=this.text[s],a=i+o.length;if((t?r:a)>=e)return new s2(i,a,r,o);i=a+1,r++}}decompose(e,t,r,i){let s=e<=0&&t>=this.length?this:new Ie(hd(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=r.pop(),a=Ho(s.text,o.text.slice(),0,s.length);if(a.length<=32)r.push(new Ie(a,o.length+s.length));else{let l=a.length>>1;r.push(new Ie(a.slice(0,l)),new Ie(a.slice(l)))}}else r.push(s)}replace(e,t,r){if(!(r instanceof Ie))return super.replace(e,t,r);[e,t]=Dr(this,e,t);let i=Ho(this.text,Ho(r.text,hd(this.text,0,e)),t),s=this.length+r.length-(t-e);return i.length<=32?new Ie(i,s):Kt.from(Ie.split(i,[]),s)}sliceString(e,t=this.length,r=`
53
- `){[e,t]=Dr(this,e,t);let i="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let a=this.text[o],l=s+a.length;s>e&&o&&(i+=r),e<l&&t>s&&(i+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],i=-1;for(let s of e)r.push(s),i+=s.length+1,r.length==32&&(t.push(new Ie(r,i)),r=[],i=-1);return i>-1&&t.push(new Ie(r,i)),t}}class Kt extends xe{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,i){for(let s=0;;s++){let o=this.children[s],a=i+o.length,l=r+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,r,i);i=a+1,r=l+1}}decompose(e,t,r,i){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let a=this.children[s],l=o+a.length;if(e<=l&&t>=o){let c=i&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?r.push(a):a.decompose(e-o,t-o,r,c)}o=l+1}}replace(e,t,r){if([e,t]=Dr(this,e,t),r.lines<this.lines)for(let i=0,s=0;i<this.children.length;i++){let o=this.children[i],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,r),c=this.lines-o.lines+l.lines;if(l.lines<c>>4&&l.lines>c>>6){let h=this.children.slice();return h[i]=l,new Kt(h,this.length-(t-e)+r.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=`
54
- `){[e,t]=Dr(this,e,t);let i="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let a=this.children[s],l=o+a.length;o>e&&s&&(i+=r),e<l&&t>o&&(i+=a.sliceString(e-o,t-o,r)),o=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Kt))return 0;let r=0,[i,s,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,s+=t){if(i==o||s==a)return r;let l=this.children[i],c=e.children[s];if(l!=c)return r+l.scanIdentical(c,t);r+=l.length+1}}static from(e,t=e.reduce((r,i)=>r+i.length+1,-1)){let r=0;for(let p of e)r+=p.lines;if(r<32){let p=[];for(let m of e)m.flatten(p);return new Ie(p,t)}let i=Math.max(32,r>>5),s=i<<1,o=i>>1,a=[],l=0,c=-1,h=[];function d(p){let m;if(p.lines>s&&p instanceof Kt)for(let b of p.children)d(b);else p.lines>o&&(l>o||!l)?(f(),a.push(p)):p instanceof Ie&&l&&(m=h[h.length-1])instanceof Ie&&p.lines+m.lines<=32?(l+=p.lines,c+=p.length+1,h[h.length-1]=new Ie(m.text.concat(p.text),m.length+1+p.length)):(l+p.lines>i&&f(),l+=p.lines,c+=p.length+1,h.push(p))}function f(){l!=0&&(a.push(h.length==1?h[0]:Kt.from(h,c)),c=-1,l=h.length=0)}for(let p of e)d(p);return f(),a.length==1?a[0]:new Kt(a,t)}}xe.empty=new Ie([""],0);function i2(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Ho(n,e,t=0,r=1e9){for(let i=0,s=0,o=!0;s<n.length&&i<=r;s++){let a=n[s],l=i+a.length;l>=t&&(l>r&&(a=a.slice(0,r-i)),i<t&&(a=a.slice(t-i)),o?(e[e.length-1]+=a,o=!1):e.push(a)),i=l+1}return e}function hd(n,e,t){return Ho(n,[""],e,t)}class vi{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Ie?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,i=this.nodes[r],s=this.offsets[r],o=s>>1,a=i instanceof Ie?i.text.length:i.children.length;if(o==(t>0?a:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=`
55
- `,this;e--}else if(i instanceof Ie){let l=i.text[o+(t<0?-1:0)];if(this.offsets[r]+=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[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ie?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 $m{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new vi(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}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 r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=r?i:t<0?i.slice(i.length-r):i.slice(0,r),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 Fm{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:i}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(xe.prototype[Symbol.iterator]=function(){return this.iter()},vi.prototype[Symbol.iterator]=$m.prototype[Symbol.iterator]=Fm.prototype[Symbol.iterator]=function(){return this});class s2{constructor(e,t,r,i){this.from=e,this.to=t,this.number=r,this.text=i}get length(){return this.to-this.from}}function Dr(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function ze(n,e,t=!0,r=!0){return n2(n,e,t,r)}function o2(n){return n>=56320&&n<57344}function a2(n){return n>=55296&&n<56320}function at(n,e){let t=n.charCodeAt(e);if(!a2(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return o2(r)?(t-55296<<10)+(r-56320)+65536:t}function xh(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Gt(n){return n<65536?1:2}const pc=/\r\n?|\n/;var st=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(st||(st={}));class Xt{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t+1];e+=r<0?this.sections[t]:r}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,r=0,i=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(r,i,s),i+=s):i+=o,r+=s}}iterChangedRanges(e,t=!1){mc(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let r=this.sections[t++],i=this.sections[t++];i<0?e.push(r,i):e.push(i,r)}return new Xt(e)}composeDesc(e){return this.empty?e:e.empty?this:Vm(this,e)}mapDesc(e,t=!1){return e.empty?this:gc(this,e,t)}mapPos(e,t=-1,r=st.Simple){let i=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],c=i+a;if(l<0){if(c>e)return s+(e-i);s+=a}else{if(r!=st.Simple&&c>=e&&(r==st.TrackDel&&i<e&&c>e||r==st.TrackBefore&&i<e||r==st.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!a)return e==i||t<0?s:s+l;s+=l}i=c}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return s}touchesRange(e,t=e){for(let r=0,i=0;r<this.sections.length&&i<=t;){let s=this.sections[r++],o=this.sections[r++],a=i+s;if(o>=0&&i<=t&&a>=e)return i<e&&a>t?"cover":!0;i=a}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let r=this.sections[t++],i=this.sections[t++];e+=(e?" ":"")+r+(i>=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 Xt(e)}static create(e){return new Xt(e)}}class Ve extends Xt{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 mc(this,(t,r,i,s,o)=>e=e.replace(i,i+(r-t),o),!1),e}mapDesc(e,t=!1){return gc(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let i=0,s=0;i<t.length;i+=2){let o=t[i],a=t[i+1];if(a>=0){t[i]=a,t[i+1]=o;let l=i>>1;for(;r.length<l;)r.push(xe.empty);r.push(o?e.slice(s,s+o):xe.empty)}s+=o}return new Ve(t,r)}compose(e){return this.empty?e:e.empty?this:Vm(this,e,!0)}map(e,t=!1){return e.empty?this:gc(this,e,t,!0)}iterChanges(e,t=!1){mc(this,e,t)}get desc(){return Xt.create(this.sections)}filter(e){let t=[],r=[],i=[],s=new Ei(this);e:for(let o=0,a=0;;){let l=o==e.length?1e9:e[o++];for(;a<l||a==l&&s.len==0;){if(s.done)break e;let h=Math.min(s.len,l-a);et(i,h,-1);let d=s.ins==-1?-1:s.off==0?s.ins:0;et(t,h,d),d>0&&Mn(r,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a<c;){if(s.done)break e;let h=Math.min(s.len,c-a);et(t,h,-1),et(i,h,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(h),a+=h}}return{changes:new Ve(t,r),filtered:Xt.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t],i=this.sections[t+1];i<0?e.push(r):i==0?e.push([r]):e.push([r].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,r){let i=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!i.length)return;o<t&&et(i,t-o,-1);let d=new Ve(i,s);a=a?a.compose(d.map(a)):d,i=[],s=[],o=0}function c(h){if(Array.isArray(h))for(let d of h)c(d);else if(h instanceof Ve){if(h.length!=t)throw new RangeError(`Mismatched change set length (got ${h.length}, expected ${t})`);l(),a=a?a.compose(h.map(a)):h}else{let{from:d,to:f=d,insert:p}=h;if(d>f||d<0||f>t)throw new RangeError(`Invalid change range ${d} to ${f} (in doc of length ${t})`);let m=p?typeof p=="string"?xe.of(p.split(r||pc)):p:xe.empty,b=m.length;if(d==f&&b==0)return;d<o&&l(),d>o&&et(i,d-o,-1),et(i,f-d,b),Mn(s,i,m),o=f}}return c(e),l(!a),a}static empty(e){return new Ve(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let i=0;i<e.length;i++){let s=e[i];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,a)=>a&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;r.length<i;)r.push(xe.empty);r[i]=xe.of(s.slice(1)),t.push(s[0],r[i].length)}}}return new Ve(t,r)}static createSet(e,t){return new Ve(e,t)}}function et(n,e,t,r=!1){if(e==0&&t<=0)return;let i=n.length-2;i>=0&&t<=0&&t==n[i+1]?n[i]+=e:i>=0&&e==0&&n[i]==0?n[i+1]+=t:r?(n[i]+=e,n[i+1]+=t):n.push(e,t)}function Mn(n,e,t){if(t.length==0)return;let r=e.length-2>>1;if(r<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<r;)n.push(xe.empty);n.push(t)}}function mc(n,e,t){let r=n.inserted;for(let i=0,s=0,o=0;o<n.sections.length;){let a=n.sections[o++],l=n.sections[o++];if(l<0)i+=a,s+=a;else{let c=i,h=s,d=xe.empty;for(;c+=a,h+=l,l&&r&&(d=d.append(r[o-2>>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)a=n.sections[o++],l=n.sections[o++];e(i,c,s,h,d),i=c,s=h}}}function gc(n,e,t,r=!1){let i=[],s=r?[]:null,o=new Ei(n),a=new Ei(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);et(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<o.len||a.len==o.len&&!t))){let c=a.len;for(et(i,a.ins,-1);c;){let h=Math.min(o.len,c);o.ins>=0&&l<o.i&&o.len<=h&&(et(i,0,o.ins),s&&Mn(s,i,o.text),l=o.i),o.forward(h),c-=h}a.next()}else if(o.ins>=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let d=Math.min(h,a.len);c+=d,h-=d,a.forward(d)}else if(a.ins==0&&a.len<h)h-=a.len,a.next();else break;et(i,c,l<o.i?o.ins:0),s&&l<o.i&&Mn(s,i,o.text),l=o.i,o.forward(o.len-h)}else{if(o.done&&a.done)return s?Ve.createSet(i,s):Xt.create(i);throw new Error("Mismatched change set lengths")}}}function Vm(n,e,t=!1){let r=[],i=t?[]:null,s=new Ei(n),o=new Ei(e);for(let a=!1;;){if(s.done&&o.done)return i?Ve.createSet(r,i):Xt.create(r);if(s.ins==0)et(r,s.len,0,a),s.next();else if(o.len==0&&!o.done)et(r,0,o.ins,a),i&&Mn(i,r,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let l=Math.min(s.len2,o.len),c=r.length;if(s.ins==-1){let h=o.ins==-1?-1:o.off?0:o.ins;et(r,l,h,a),i&&h&&Mn(i,r,o.text)}else o.ins==-1?(et(r,s.off?0:s.len,l,a),i&&Mn(i,r,s.textBit(l))):(et(r,s.off?0:s.len,o.off?0:o.ins,a),i&&!o.off&&Mn(i,r,o.text));a=(s.ins>l||o.ins>=0&&o.len>l)&&(a||r.length>c),s.forward2(l),o.forward(l)}}}}class Ei{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?xe.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?xe.empty:t[r].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 Xn{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}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 bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let r,i;return this.empty?r=i=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new Xn(r,i,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return T.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return T.range(this.anchor,r)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!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 T.range(e.anchor,e.head)}static create(e,t,r){return new Xn(e,t,r)}}class T{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:T.create(this.ranges.map(r=>r.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;r<this.ranges.length;r++)if(!this.ranges[r].eq(e.ranges[r],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new T([this.main],0)}addRange(e,t=!0){return T.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,T.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.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 T(e.ranges.map(t=>Xn.fromJSON(t)),e.main)}static single(e,t=e){return new T([T.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 r=0,i=0;i<e.length;i++){let s=e[i];if(s.empty?s.from<=r:s.from<r)return T.normalized(e.slice(),t);r=s.to}return new T(e,t)}static cursor(e,t=0,r,i){return Xn.create(e,e,(t==0?0:t<0?8:16)|(r==null?7:Math.min(6,r))|(i??16777215)<<6)}static range(e,t,r,i){let s=(r??16777215)<<6|(i==null?7:Math.min(6,i));return t<e?Xn.create(t,e,48|s):Xn.create(e,t,(t>e?8:0)|s)}static normalized(e,t=0){let r=e[t];e.sort((i,s)=>i.from-s.from),t=e.indexOf(r);for(let i=1;i<e.length;i++){let s=e[i],o=e[i-1];if(s.empty?s.from<=o.to:s.from<o.to){let a=o.from,l=Math.max(s.to,o.to);i<=t&&t--,e.splice(--i,2,s.anchor>s.head?T.range(l,a):T.range(a,l))}}return new T(e,t)}}function zm(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let vh=0;class U{constructor(e,t,r,i,s){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=i,this.id=vh++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new U(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:wh),!!e.static,e.enables)}of(e){return new Wo([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Wo(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Wo(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}}function wh(n,e){return n==e||n.length==e.length&&n.every((t,r)=>t===e[r])}class Wo{constructor(e,t,r,i){this.dependencies=e,this.facet=t,this.type=r,this.value=i,this.id=vh++}dynamicSlot(e){var t;let r=this.value,i=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let d of this.dependencies)d=="doc"?l=!0:d=="selection"?c=!0:((t=e[d.id])!==null&&t!==void 0?t:1)&1||h.push(e[d.id]);return{create(d){return d.values[o]=r(d),1},update(d,f){if(l&&f.docChanged||c&&(f.docChanged||f.selection)||bc(d,h)){let p=r(d);if(a?!ud(p,d.values[o],i):!i(p,d.values[o]))return d.values[o]=p,1}return 0},reconfigure:(d,f)=>{let p,m=f.config.address[s];if(m!=null){let b=na(f,m);if(this.dependencies.every(y=>y instanceof U?f.facet(y)===d.facet(y):y instanceof Qe?f.field(y,!1)==d.field(y,!1):!0)||(a?ud(p=r(d),b,i):i(p=r(d),b)))return d.values[o]=b,0}else p=r(d);return d.values[o]=p,1}}}}function ud(n,e,t){if(n.length!=e.length)return!1;for(let r=0;r<n.length;r++)if(!t(n[r],e[r]))return!1;return!0}function bc(n,e){let t=!1;for(let r of e)wi(n,r)&1&&(t=!0);return t}function l2(n,e,t){let r=t.map(l=>n[l.id]),i=t.map(l=>l.type),s=r.filter(l=>!(l&1)),o=n[e.id]>>1;function a(l){let c=[];for(let h=0;h<r.length;h++){let d=na(l,r[h]);if(i[h]==2)for(let f of d)c.push(f);else c.push(d)}return e.combine(c)}return{create(l){for(let c of r)wi(l,c);return l.values[o]=a(l),1},update(l,c){if(!bc(l,s))return 0;let h=a(l);return e.compare(h,l.values[o])?0:(l.values[o]=h,1)},reconfigure(l,c){let h=bc(l,r),d=c.config.facets[e.id],f=c.facet(e);if(d&&!h&&wh(t,d))return l.values[o]=f,0;let p=a(l);return e.compare(p,f)?(l.values[o]=f,0):(l.values[o]=p,1)}}}const fo=U.define({static:!0});class Qe{constructor(e,t,r,i,s){this.id=e,this.createF=t,this.updateF=r,this.compareF=i,this.spec=s,this.provides=void 0}static define(e){let t=new Qe(vh++,e.create,e.update,e.compare||((r,i)=>r===i),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(fo).find(r=>r.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:r=>(r.values[t]=this.create(r),1),update:(r,i)=>{let s=r.values[t],o=this.updateF(s,i);return this.compareF(s,o)?0:(r.values[t]=o,1)},reconfigure:(r,i)=>{let s=r.facet(fo),o=i.facet(fo),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(r.values[t]=a.create(r),1):i.config.address[this.id]!=null?(r.values[t]=i.field(this),0):(r.values[t]=this.create(r),1)}}}init(e){return[this,fo.of({field:this,create:e})]}get extension(){return this}}const Yn={lowest:4,low:3,default:2,high:1,highest:0};function ii(n){return e=>new Hm(e,n)}const lr={highest:ii(Yn.highest),high:ii(Yn.high),default:ii(Yn.default),low:ii(Yn.low),lowest:ii(Yn.lowest)};class Hm{constructor(e,t){this.inner=e,this.prec=t}}class Na{of(e){return new yc(this,e)}reconfigure(e){return Na.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class yc{constructor(e,t){this.compartment=e,this.inner=t}}class ta{constructor(e,t,r,i,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=i,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,r){let i=[],s=Object.create(null),o=new Map;for(let f of c2(e,t,o))f instanceof Qe?i.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let a=Object.create(null),l=[],c=[];for(let f of i)a[f.id]=c.length<<1,c.push(p=>f.slot(p));let h=r?.config.facets;for(let f in s){let p=s[f],m=p[0].facet,b=h&&h[f]||[];if(p.every(y=>y.type==0))if(a[m.id]=l.length<<1|1,wh(b,p))l.push(r.facet(m));else{let y=m.combine(p.map(v=>v.value));l.push(r&&m.compare(y,r.facet(m))?r.facet(m):y)}else{for(let y of p)y.type==0?(a[y.id]=l.length<<1|1,l.push(y.value)):(a[y.id]=c.length<<1,c.push(v=>y.dynamicSlot(v)));a[m.id]=c.length<<1,c.push(y=>l2(y,m,p))}}let d=c.map(f=>f(a));return new ta(e,o,d,a,l,s)}}function c2(n,e,t){let r=[[],[],[],[],[]],i=new Map;function s(o,a){let l=i.get(o);if(l!=null){if(l<=a)return;let c=r[l].indexOf(o);c>-1&&r[l].splice(c,1),o instanceof yc&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof yc){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),s(c,a)}else if(o instanceof Hm)s(o.inner,o.prec);else if(o instanceof Qe)r[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof Wo)r[a].push(o),o.facet.extensions&&s(o.facet.extensions,Yn.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(n,Yn.default),r.reduce((o,a)=>o.concat(a))}function wi(n,e){if(e&1)return 2;let t=e>>1,r=n.status[t];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;n.status[t]=4;let i=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|i}function na(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const Wm=U.define(),xc=U.define({combine:n=>n.some(e=>e),static:!0}),_m=U.define({combine:n=>n.length?n[0]:void 0,static:!0}),Um=U.define(),Km=U.define(),Gm=U.define(),qm=U.define({combine:n=>n.length?n[0]:!1});class tn{constructor(e,t){this.type=e,this.value=t}static define(){return new h2}}class h2{of(e){return new tn(this,e)}}class u2{constructor(e){this.map=e}of(e){return new ae(this,e)}}class ae{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 ae(this.type,t)}is(e){return this.type==e}static define(e={}){return new u2(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let i of e){let s=i.map(t);s&&r.push(s)}return r}}ae.reconfigure=ae.define();ae.appendConfig=ae.define();class He{constructor(e,t,r,i,s,o){this.startState=e,this.changes=t,this.selection=r,this.effects=i,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,r&&zm(r,t.newLength),s.some(a=>a.type==He.time)||(this.annotations=s.concat(He.time.of(Date.now())))}static create(e,t,r,i,s,o){return new He(e,t,r,i,s,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(He.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}He.time=tn.define();He.userEvent=tn.define();He.addToHistory=tn.define();He.remote=tn.define();function d2(n,e){let t=[];for(let r=0,i=0;;){let s,o;if(r<n.length&&(i==e.length||e[i]>=n[r]))s=n[r++],o=n[r++];else if(i<e.length)s=e[i++],o=e[i++];else return t;!t.length||t[t.length-1]<s?t.push(s,o):t[t.length-1]<o&&(t[t.length-1]=o)}}function Ym(n,e,t){var r;let i,s,o;return t?(i=e.changes,s=Ve.empty(e.changes.length),o=n.changes.compose(e.changes)):(i=e.changes.map(n.changes),s=n.changes.mapDesc(e.changes,!0),o=n.changes.compose(i)),{changes:o,selection:e.selection?e.selection.map(s):(r=n.selection)===null||r===void 0?void 0:r.map(i),effects:ae.mapEffects(n.effects,i).concat(ae.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function vc(n,e,t){let r=e.selection,i=jr(e.annotations);return e.userEvent&&(i=i.concat(He.userEvent.of(e.userEvent))),{changes:e.changes instanceof Ve?e.changes:Ve.of(e.changes||[],t,n.facet(_m)),selection:r&&(r instanceof T?r:T.single(r.anchor,r.head)),effects:jr(e.effects),annotations:i,scrollIntoView:!!e.scrollIntoView}}function Qm(n,e,t){let r=vc(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let o=!!e[s].sequential;r=Ym(r,vc(n,e[s],o?r.changes.newLength:n.doc.length),o)}let i=He.create(n,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return p2(t?f2(i):i)}function f2(n){let e=n.startState,t=!0;for(let i of e.facet(Um)){let s=i(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:d2(t,s))}if(t!==!0){let i,s;if(t===!1)s=n.changes.invertedDesc,i=Ve.empty(e.doc.length);else{let o=n.changes.filter(t);i=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}n=He.create(e,i,n.selection&&n.selection.map(s),ae.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let r=e.facet(Km);for(let i=r.length-1;i>=0;i--){let s=r[i](n);s instanceof He?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof He?n=s[0]:n=Qm(e,jr(s),!1)}return n}function p2(n){let e=n.startState,t=e.facet(Gm),r=n;for(let i=t.length-1;i>=0;i--){let s=t[i](n);s&&Object.keys(s).length&&(r=Ym(r,vc(e,s,n.changes.newLength),!0))}return r==n?n:He.create(e,n.changes,n.selection,r.effects,r.annotations,r.scrollIntoView)}const m2=[];function jr(n){return n==null?m2:Array.isArray(n)?n:[n]}var Ne=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Ne||(Ne={}));const g2=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let wc;try{wc=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function b2(n){if(wc)return wc.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>"€"&&(t.toUpperCase()!=t.toLowerCase()||g2.test(t)))return!0}return!1}function y2(n){return e=>{if(!/\S/.test(e))return Ne.Space;if(b2(e))return Ne.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return Ne.Word;return Ne.Other}}class pe{constructor(e,t,r,i,s,o){this.config=e,this.doc=t,this.selection=r,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;a<this.config.dynamicSlots.length;a++)wi(this,a<<1);this.computeSlot=null}field(e,t=!0){let r=this.config.address[e.id];if(r==null){if(t)throw new RangeError("Field is not present in this state");return}return wi(this,r),na(this,r)}update(...e){return Qm(this,e,!0)}applyTransaction(e){let t=this.config,{base:r,compartments:i}=t;for(let a of e.effects)a.is(Na.reconfigure)?(t&&(i=new Map,t.compartments.forEach((l,c)=>i.set(c,l)),t=null),i.set(a.value.compartment,a.value.extension)):a.is(ae.reconfigure)?(t=null,r=a.value):a.is(ae.appendConfig)&&(t=null,r=jr(r).concat(a.value));let s;t?s=e.startState.values.slice():(t=ta.resolve(r,i,this),s=new pe(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(xc)?e.newSelection:e.newSelection.asSingle();new pe(t,e.newDoc,o,s,(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:T.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),i=this.changes(r.changes),s=[r.range],o=jr(r.effects);for(let a=1;a<t.ranges.length;a++){let l=e(t.ranges[a]),c=this.changes(l.changes),h=c.map(i);for(let f=0;f<a;f++)s[f]=s[f].map(h);let d=i.mapDesc(c,!0);s.push(l.range.map(d)),i=i.compose(h),o=ae.mapEffects(o,h).concat(ae.mapEffects(jr(l.effects),d))}return{changes:i,selection:T.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof Ve?e:Ve.of(e,this.doc.length,this.facet(pe.lineSeparator))}toText(e){return xe.of(e.split(this.facet(pe.lineSeparator)||pc))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(wi(this,t),na(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let i=e[r];i instanceof Qe&&this.config.address[i.id]!=null&&(t[r]=i.spec.toJSON(this.field(e[r]),this))}return t}static fromJSON(e,t={},r){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let i=[];if(r){for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)){let o=r[s],a=e[s];i.push(o.init(l=>o.spec.fromJSON(a,l)))}}return pe.create({doc:e.doc,selection:T.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=ta.resolve(e.extensions||[],new Map),r=e.doc instanceof xe?e.doc:xe.of((e.doc||"").split(t.staticFacet(pe.lineSeparator)||pc)),i=e.selection?e.selection instanceof T?e.selection:T.single(e.selection.anchor,e.selection.head):T.single(0);return zm(i,r.length),t.staticFacet(xc)||(i=i.asSingle()),new pe(t,r,i,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(pe.tabSize)}get lineBreak(){return this.facet(pe.lineSeparator)||`
56
- `}get readOnly(){return this.facet(qm)}phrase(e,...t){for(let r of this.facet(pe.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(r,i)=>{if(i=="$")return"$";let s=+(i||1);return!s||s>t.length?r:t[s-1]})),e}languageDataAt(e,t,r=-1){let i=[];for(let s of this.facet(Wm))for(let o of s(this,t,r))Object.prototype.hasOwnProperty.call(o,e)&&i.push(o[e]);return i}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return y2(t.length?t[0]:"")}wordAt(e){let{text:t,from:r,length:i}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-r,a=e-r;for(;o>0;){let l=ze(t,o,!1);if(s(t.slice(l,o))!=Ne.Word)break;o=l}for(;a<i;){let l=ze(t,a);if(s(t.slice(a,l))!=Ne.Word)break;a=l}return o==a?null:T.range(o+r,a+r)}}pe.allowMultipleSelections=xc;pe.tabSize=U.define({combine:n=>n.length?n[0]:4});pe.lineSeparator=_m;pe.readOnly=qm;pe.phrases=U.define({compare(n,e){let t=Object.keys(n),r=Object.keys(e);return t.length==r.length&&t.every(i=>n[i]==e[i])}});pe.languageData=Wm;pe.changeFilter=Um;pe.transactionFilter=Km;pe.transactionExtender=Gm;Na.reconfigure=ae.define();function nn(n,e,t={}){let r={};for(let i of n)for(let s of Object.keys(i)){let o=i[s],a=r[s];if(a===void 0)r[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))r[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let i in e)r[i]===void 0&&(r[i]=e[i]);return r}class En{eq(e){return this==e}range(e,t=e){return Ri.create(e,t,this)}}En.prototype.startSide=En.prototype.endSide=0;En.prototype.point=!1;En.prototype.mapMode=st.TrackDel;function kh(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}class Ri{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new Ri(e,t,r)}}function kc(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class Sh{constructor(e,t,r,i){this.from=e,this.to=t,this.value=r,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,i=0){let s=r?this.to:this.from;for(let o=i,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(r?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,r,i){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(r,1e9,!1,s);s<o;s++)if(i(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let r=[],i=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],h=this.from[l]+e,d=this.to[l]+e,f,p;if(h==d){let m=t.mapPos(h,c.startSide,c.mapMode);if(m==null||(f=p=m,c.startSide!=c.endSide&&(p=t.mapPos(h,c.endSide),p<f)))continue}else if(f=t.mapPos(h,c.startSide),p=t.mapPos(d,c.endSide),f>p||f==p&&c.startSide>0&&c.endSide<=0)continue;(p-f||c.endSide-c.startSide)<0||(o<0&&(o=f),c.point&&(a=Math.max(a,p-f)),r.push(c),i.push(f-o),s.push(p-o))}return{mapped:r.length?new Sh(i,s,r,a):null,pos:o}}}class fe{constructor(e,t,r,i){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=i}static create(e,t,r,i){return new fe(e,t,r,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:r=!1,filterFrom:i=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(r&&(t=t.slice().sort(kc)),this.isEmpty)return t.length?fe.of(t):this;let a=new Jm(this,null,-1).goto(0),l=0,c=[],h=new fn;for(;a.value||l<t.length;)if(l<t.length&&(a.from-t[l].from||a.startSide-t[l].value.startSide)>=0){let d=t[l++];h.addInner(d.from,d.to,d.value)||c.push(d)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(a.chunkIndex)<t[l].from)&&(!o||i>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&h.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||i>a.to||s<a.from||o(a.from,a.to,a.value))&&(h.addInner(a.from,a.to,a.value)||c.push(Ri.create(a.from,a.to,a.value))),a.next());return h.finishInner(this.nextLayer.isEmpty&&!c.length?fe.empty:this.nextLayer.update({add:c,filter:o,filterFrom:i,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],r=[],i=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],c=e.touchesRange(a,a+l.length);if(c===!1)i=Math.max(i,l.maxPoint),t.push(l),r.push(e.mapPos(a));else if(c===!0){let{mapped:h,pos:d}=l.map(a,e);h&&(i=Math.max(i,h.maxPoint),t.push(h),r.push(d))}}let s=this.nextLayer.map(e);return t.length==0?s:new fe(r,t,s||fe.empty,i)}between(e,t,r){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let s=this.chunkPos[i],o=this.chunk[i];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,r)===!1)return}this.nextLayer.between(e,t,r)}}iter(e=0){return Li.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Li.from(e).goto(t)}static compare(e,t,r,i,s=-1){let o=e.filter(d=>d.maxPoint>0||!d.isEmpty&&d.maxPoint>=s),a=t.filter(d=>d.maxPoint>0||!d.isEmpty&&d.maxPoint>=s),l=dd(o,a,r),c=new si(o,l,s),h=new si(a,l,s);r.iterGaps((d,f,p)=>fd(c,d,h,f,p,i)),r.empty&&r.length==0&&fd(c,0,h,0,0,i)}static eq(e,t,r=0,i){i==null&&(i=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=dd(s,o),l=new si(s,a,0).goto(r),c=new si(o,a,0).goto(r);for(;;){if(l.to!=c.to||!Sc(l.active,c.active)||l.point&&(!c.point||!kh(l.point,c.point)))return!1;if(l.to>i)return!0;l.next(),c.next()}}static spans(e,t,r,i,s=-1){let o=new si(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,r);if(o.point){let h=o.activeForPoint(o.to),d=o.pointFrom<t?h.length+1:o.point.startSide<0?h.length:Math.min(h.length,l);i.point(a,c,o.point,h,d,o.pointRank),l=Math.min(o.openEnd(c),h.length)}else c>a&&(i.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>r)return l+(o.point&&o.to>r?1:0);a=o.to,o.next()}}static of(e,t=!1){let r=new fn;for(let i of e instanceof Ri?[e]:t?x2(e):e)r.add(i.from,i.to,i.value);return r.finish()}static join(e){if(!e.length)return fe.empty;let t=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let i=e[r];i!=fe.empty;i=i.nextLayer)t=new fe(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}fe.empty=new fe([],[],null,-1);function x2(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let r=n[t];if(kc(e,r)>0)return n.slice().sort(kc);e=r}return n}fe.empty.nextLayer=fe.empty;class fn{finishChunk(e){this.chunks.push(new Sh(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,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new fn)).add(e,t,r)}addInner(e,t,r){let i=e-this.lastTo||r.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||r.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=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.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 r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(fe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=fe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function dd(n,e,t){let r=new Map;for(let s of n)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&r.set(s.chunk[o],s.chunkPos[o]);let i=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let a=r.get(s.chunk[o]);a!=null&&(t?t.mapPos(a):a)==s.chunkPos[o]&&!t?.touchesRange(a,a+s.chunk[o].length)&&i.add(s.chunk[o])}return i}class Jm{constructor(e,t,r,i=0){this.layer=e,this.skip=t,this.minPoint=r,this.rank=i}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,r){for(;this.chunkIndex<this.layer.chunk.length;){let i=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(i)||this.layer.chunkEnd(this.chunkIndex)<e||i.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let i=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!r||this.rangeIndex<i)&&this.setRangeIndex(i)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],r=e+t.from[this.rangeIndex];if(this.from=r,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class Li{constructor(e){this.heap=e}static from(e,t=null,r=-1){let i=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=r&&i.push(new Jm(o,t,r,s));return i.length==1?i[0]:new Li(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let r=this.heap.length>>1;r>=0;r--)cl(this.heap,r);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let r=this.heap.length>>1;r>=0;r--)cl(this.heap,r);(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(),cl(this.heap,0)}}}function cl(n,e){for(let t=n[e];;){let r=(e<<1)+1;if(r>=n.length)break;let i=n[r];if(r+1<n.length&&i.compare(n[r+1])>=0&&(i=n[r+1],r++),t.compare(i)<0)break;n[r]=t,n[e]=i,e=r}}class si{constructor(e,t,r){this.minPoint=r,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=Li.from(e,t,r)}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){po(this.active,e),po(this.activeTo,e),po(this.activeRank,e),this.minActive=pd(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:i,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||i-this.activeTo[t])>0;)t++;mo(this.active,t,r),mo(this.activeTo,t,i),mo(this.activeRank,t,s),e&&mo(e,t,this.cursor.from),this.minActive=pd(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=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),r&&po(r,i)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(r),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(r){this.openStart=0;for(let i=r.length-1;i>=0&&r[i]<e;i--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let r=this.active.length-1;r>=0&&!(this.activeRank[r]<this.pointRank);r--)(this.activeTo[r]>e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}}function fd(n,e,t,r,i,s){n.goto(e),t.goto(r);let o=r+i,a=r,l=r-e,c=!!s.boundChange;for(let h=!1;;){let d=n.to+l-t.to,f=d||n.endSide-t.endSide,p=f<0?n.to+l:t.to,m=Math.min(p,o);if(n.point||t.point?(n.point&&t.point&&kh(n.point,t.point)&&Sc(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(a,m,n.point,t.point),h=!1):(h&&s.boundChange(a),m>a&&!Sc(n.active,t.active)&&s.compareRange(a,m,n.active,t.active),c&&m<o&&(d||n.openEnd(p)!=t.openEnd(p))&&(h=!0)),p>o)break;a=p,f<=0&&n.next(),f>=0&&t.next()}}function Sc(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!kh(n[t],e[t]))return!1;return!0}function po(n,e){for(let t=e,r=n.length-1;t<r;t++)n[t]=n[t+1];n.pop()}function mo(n,e,t){for(let r=n.length-1;r>=e;r--)n[r+1]=n[r];n[e]=t}function pd(n,e){let t=-1,r=1e9;for(let i=0;i<e.length;i++)(e[i]-r||n[i].endSide-n[t].endSide)<0&&(t=i,r=e[i]);return t}function Vr(n,e,t=n.length){let r=0;for(let i=0;i<t&&i<n.length;)n.charCodeAt(i)==9?(r+=e-r%e,i++):(r++,i=ze(n,i));return r}function Cc(n,e,t,r){for(let i=0,s=0;;){if(s>=e)return i;if(i==n.length)break;s+=n.charCodeAt(i)==9?t-s%t:1,i=ze(n,i)}return r===!0?-1:n.length}const jc="ͼ",md=typeof Symbol>"u"?"__"+jc:Symbol.for(jc),Oc=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),gd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Rn{constructor(e,t){this.rules=[];let{finish:r}=t||{};function i(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],d=/^@(\w+)\b/.exec(o[0]),f=d&&d[1]=="keyframes";if(d&&a==null)return l.push(o[0]+";");for(let p in a){let m=a[p];if(/&/.test(p))s(p.split(/,\s*/).map(b=>o.map(y=>b.replace(/&/,y))).reduce((b,y)=>b.concat(y)),m,l);else if(m&&typeof m=="object"){if(!d)throw new RangeError("The value of a property ("+p+") should be a primitive value.");s(i(p),m,h,f)}else m!=null&&h.push(p.replace(/_.*/,"").replace(/[A-Z]/g,b=>"-"+b.toLowerCase())+": "+m+";")}(h.length||f)&&l.push((r&&!d&&!c?o.map(r):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(i(o),e[o],this.rules)}getRules(){return this.rules.join(`
57
- `)}static newName(){let e=gd[md]||1;return gd[md]=e+1,jc+e.toString(36)}static mount(e,t,r){let i=e[Oc],s=r&&r.nonce;i?s&&i.setNonce(s):i=new v2(e,s),i.mount(Array.isArray(t)?t:[t],e)}}let bd=new Map;class v2{constructor(e,t){let r=e.ownerDocument||e,i=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let s=bd.get(r);if(s)return e[Oc]=s;this.sheet=new i.CSSStyleSheet,bd.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Oc]=this}mount(e,t){let r=this.sheet,i=0,s=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),r)for(let c=0;c<a.rules.length;c++)r.insertRule(a.rules[c],i++)}else{for(;s<l;)i+=this.modules[s++].rules.length;i+=a.rules.length,s++}}if(r)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+`
58
- `;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var Ln={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Ii={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},w2=typeof navigator<"u"&&/Mac/.test(navigator.platform),k2=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var qe=0;qe<10;qe++)Ln[48+qe]=Ln[96+qe]=String(qe);for(var qe=1;qe<=24;qe++)Ln[qe+111]="F"+qe;for(var qe=65;qe<=90;qe++)Ln[qe]=String.fromCharCode(qe+32),Ii[qe]=String.fromCharCode(qe);for(var hl in Ln)Ii.hasOwnProperty(hl)||(Ii[hl]=Ln[hl]);function S2(n){var e=w2&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||k2&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Ii:Ln)[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 Ce(){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 r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var i=t[r];typeof i=="string"?n.setAttribute(r,i):i!=null&&(n[r]=i)}e++}for(;e<arguments.length;e++)Xm(n,arguments[e]);return n}function Xm(n,e){if(typeof e=="string")n.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)n.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)Xm(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let it=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Pc=typeof document<"u"?document:{documentElement:{style:{}}};const Ac=/Edge\/(\d+)/.exec(it.userAgent),Zm=/MSIE \d/.test(it.userAgent),Mc=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(it.userAgent),Da=!!(Zm||Mc||Ac),yd=!Da&&/gecko\/(\d+)/i.test(it.userAgent),ul=!Da&&/Chrome\/(\d+)/.exec(it.userAgent),C2="webkitFontSmoothing"in Pc.documentElement.style,Nc=!Da&&/Apple Computer/.test(it.vendor),xd=Nc&&(/Mobile\/\w+/.test(it.userAgent)||it.maxTouchPoints>2);var _={mac:xd||/Mac/.test(it.platform),windows:/Win/.test(it.platform),linux:/Linux|X11/.test(it.platform),ie:Da,ie_version:Zm?Pc.documentMode||6:Mc?+Mc[1]:Ac?+Ac[1]:0,gecko:yd,gecko_version:yd?+(/Firefox\/(\d+)/.exec(it.userAgent)||[0,0])[1]:0,chrome:!!ul,chrome_version:ul?+ul[1]:0,ios:xd,android:/Android\b/.test(it.userAgent),webkit_version:C2?+(/\bAppleWebKit\/(\d+)/.exec(it.userAgent)||[0,0])[1]:0,safari:Nc,safari_version:Nc?+(/\bVersion\/(\d+(\.\d+)?)/.exec(it.userAgent)||[0,0])[1]:0,tabSize:Pc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ch(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 ra=Object.create(null);function jh(n,e,t){if(n==e)return!0;n||(n=ra),e||(e=ra);let r=Object.keys(n),i=Object.keys(e);if(r.length-0!=i.length-0)return!1;for(let s of r)if(s!=t&&(i.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function j2(n,e){for(let t=n.attributes.length-1;t>=0;t--){let r=n.attributes[t].name;e[r]==null&&n.removeAttribute(r)}for(let t in e){let r=e[t];t=="style"?n.style.cssText=r:n.getAttribute(t)!=r&&n.setAttribute(t,r)}}function vd(n,e,t){let r=!1;if(e)for(let i in e)t&&i in t||(r=!0,i=="style"?n.style.cssText="":n.removeAttribute(i));if(t)for(let i in t)e&&e[i]==t[i]||(r=!0,i=="style"?n.style.cssText=t[i]:n.setAttribute(i,t[i]));return r}function O2(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];e[r.name]=r.value}return e}class rn{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,r){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var Ye=function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n}(Ye||(Ye={}));class ne extends En{constructor(e,t,r,i){super(),this.startSide=e,this.endSide=t,this.widget=r,this.spec=i}get heightRelevant(){return!1}static mark(e){return new Bs(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return t+=r&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new rr(e,t,t,r,e.widget||null,!1)}static replace(e){let t=!!e.block,r,i;if(e.isBlockGap)r=-5e8,i=4e8;else{let{start:s,end:o}=eg(e,t);r=(s?t?-3e8:-1:5e8)-1,i=(o?t?2e8:1:-6e8)+1}return new rr(e,r,i,t,e.widget||null,!0)}static line(e){return new $s(e)}static set(e,t=!1){return fe.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}ne.none=fe.empty;class Bs extends ne{constructor(e){let{start:t,end:r}=eg(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ch(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ra}eq(e){return this==e||e instanceof Bs&&this.tagName==e.tagName&&jh(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)}}Bs.prototype.point=!1;class $s extends ne{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof $s&&this.spec.class==e.spec.class&&jh(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)}}$s.prototype.mapMode=st.TrackBefore;$s.prototype.point=!0;class rr extends ne{constructor(e,t,r,i,s,o){super(t,r,s,e),this.block=i,this.isReplace=o,this.mapMode=i?t<=0?st.TrackBefore:st.TrackAfter:st.TrackDel}get type(){return this.startSide!=this.endSide?Ye.WidgetRange:this.startSide<=0?Ye.WidgetBefore:Ye.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof rr&&P2(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)}}rr.prototype.point=!0;function eg(n,e=!1){let{inclusiveStart:t,inclusiveEnd:r}=n;return t==null&&(t=n.inclusive),r==null&&(r=n.inclusive),{start:t??e,end:r??e}}function P2(n,e){return n==e||!!(n&&e&&n.compare(e))}function Or(n,e,t,r=0){let i=t.length-1;i>=0&&t[i]+r>=n?t[i]=Math.max(t[i],e):t.push(n,e)}class Bi extends En{constructor(e,t){super(),this.tagName=e,this.attributes=t}eq(e){return e==this||e instanceof Bi&&this.tagName==e.tagName&&jh(this.attributes,e.attributes)}static create(e){return new Bi(e.tagName,e.attributes||ra)}static set(e,t=!1){return fe.of(e,t)}}Bi.prototype.startSide=Bi.prototype.endSide=-1;function $i(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Dc(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function _o(n,e){if(!e.anchorNode)return!1;try{return Dc(n,e.anchorNode)}catch{return!1}}function ki(n){return n.nodeType==3?Vi(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Si(n,e,t,r){return t?wd(n,e,t,r,-1)||wd(n,e,t,r,1):!1}function In(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function ia(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function wd(n,e,t,r,i){for(;;){if(n==t&&e==r)return!0;if(e==(i<0?0:pn(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||s.nodeType!=1)return!1;e=In(n)+(i<0?0:1),n=s}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?pn(n):0}else return!1}}function pn(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Fi(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function A2(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 tg(n,e){let t=e.width/n.offsetWidth,r=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-n.offsetHeight)<1)&&(r=1),{scaleX:t,scaleY:r}}function M2(n,e,t,r,i,s,o,a){let l=n.ownerDocument,c=l.defaultView||window;for(let h=n,d=!1;h&&!d;)if(h.nodeType==1){let f,p=h==l.body,m=1,b=1;if(p)f=A2(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(d=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let k=h.getBoundingClientRect();({scaleX:m,scaleY:b}=tg(h,k)),f={left:k.left,right:k.left+h.clientWidth*m,top:k.top,bottom:k.top+h.clientHeight*b}}let y=0,v=0;if(i=="nearest")e.top<f.top?(v=e.top-(f.top+o),t>0&&e.bottom>f.bottom+v&&(v=e.bottom-f.bottom+o)):e.bottom>f.bottom&&(v=e.bottom-f.bottom+o,t<0&&e.top-v<f.top&&(v=e.top-(f.top+o)));else{let k=e.bottom-e.top,S=f.bottom-f.top;v=(i=="center"&&k<=S?e.top+k/2-S/2:i=="start"||i=="center"&&t<0?e.top-o:e.bottom-S+o)-f.top}if(r=="nearest"?e.left<f.left?(y=e.left-(f.left+s),t>0&&e.right>f.right+y&&(y=e.right-f.right+s)):e.right>f.right&&(y=e.right-f.right+s,t<0&&e.left<f.left+y&&(y=e.left-(f.left+s))):y=(r=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:r=="start"==a?e.left-s:e.right-(f.right-f.left)+s)-f.left,y||v)if(p)c.scrollBy(y,v);else{let k=0,S=0;if(v){let O=h.scrollTop;h.scrollTop+=v/b,S=(h.scrollTop-O)*b}if(y){let O=h.scrollLeft;h.scrollLeft+=y/m,k=(h.scrollLeft-O)*m}e={left:e.left-k,top:e.top-S,right:e.right-k,bottom:e.bottom-S},k&&Math.abs(k-y)<1&&(r="nearest"),S&&Math.abs(S-v)<1&&(i="nearest")}if(p)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function N2(n){let e=n.ownerDocument,t,r;for(let i=n.parentNode;i&&!(i==e.body||t&&r);)if(i.nodeType==1)!r&&i.scrollHeight>i.clientHeight&&(r=i),!t&&i.scrollWidth>i.clientWidth&&(t=i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;return{x:t,y:r}}class D2{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:r}=e;this.set(t,Math.min(e.anchorOffset,t?pn(t):0),r,Math.min(e.focusOffset,r?pn(r):0))}set(e,t,r,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=i}}let Gn=null;_.safari&&_.safari_version>=26&&(Gn=!1);function ng(n){if(n.setActive)return n.setActive();if(Gn)return n.focus(Gn);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(Gn==null?{get preventScroll(){return Gn={preventScroll:!0},!0}}:void 0),!Gn){Gn=!1;for(let t=0;t<e.length;){let r=e[t++],i=e[t++],s=e[t++];r.scrollTop!=i&&(r.scrollTop=i),r.scrollLeft!=s&&(r.scrollLeft=s)}}}let kd;function Vi(n,e,t=e){let r=kd||(kd=document.createRange());return r.setEnd(n,t),r.setStart(n,e),r}function Pr(n,e,t,r){let i={key:e,code:e,keyCode:t,which:t,cancelable:!0};r&&({altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,metaKey:i.metaKey}=r);let s=new KeyboardEvent("keydown",i);s.synthetic=!0,n.dispatchEvent(s);let o=new KeyboardEvent("keyup",i);return o.synthetic=!0,n.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function T2(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function E2(n,e){let t=e.focusNode,r=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=r)return!1;for(r=Math.min(r,pn(t));;)if(r){if(t.nodeType!=1)return!1;let i=t.childNodes[r-1];i.contentEditable=="false"?r--:(t=i,r=pn(t))}else{if(t==n)return!0;r=In(t),t=t.parentNode}}function rg(n){return n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function ig(n,e){for(let t=n,r=e;;){if(t.nodeType==3&&r>0)return{node:t,offset:r};if(t.nodeType==1&&r>0){if(t.contentEditable=="false")return null;t=t.childNodes[r-1],r=pn(t)}else if(t.parentNode&&!ia(t))r=In(t),t=t.parentNode;else return null}}function sg(n,e){for(let t=n,r=e;;){if(t.nodeType==3&&r<t.nodeValue.length)return{node:t,offset:r};if(t.nodeType==1&&r<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[r],r=0}else if(t.parentNode&&!ia(t))r=In(t)+1,t=t.parentNode;else return null}}class Rt{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new Rt(e.parentNode,In(e),t)}static after(e,t){return new Rt(e.parentNode,In(e)+1,t)}}var Oe=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(Oe||(Oe={}));const ir=Oe.LTR,Oh=Oe.RTL;function og(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}const R2=og("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),L2=og("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Tc=Object.create(null),Wt=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);Tc[e]=t,Tc[t]=-e}function ag(n){return n<=247?R2[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?L2[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}const I2=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class dn{get dir(){return this.level%2?Oh:ir}constructor(e,t,r){this.from=e,this.to=t,this.level=r}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,r,i){let s=-1;for(let o=0;o<e.length;o++){let a=e[o];if(a.from<=t&&a.to>=t){if(a.level==r)return o;(s<0||(i!=0?i<0?a.from<t:a.to>t:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}}function lg(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++){let r=n[t],i=e[t];if(r.from!=i.from||r.to!=i.to||r.direction!=i.direction||!lg(r.inner,i.inner))return!1}return!0}const je=[];function B2(n,e,t,r,i){for(let s=0;s<=r.length;s++){let o=s?r[s-1].to:e,a=s<r.length?r[s].from:t,l=s?256:i;for(let c=o,h=l,d=l;c<a;c++){let f=ag(n.charCodeAt(c));f==512?f=h:f==8&&d==4&&(f=16),je[c]=f==4?2:f,f&7&&(d=f),h=f}for(let c=o,h=l,d=l;c<a;c++){let f=je[c];if(f==128)c<a-1&&h==je[c+1]&&h&24?f=je[c]=h:je[c]=256;else if(f==64){let p=c+1;for(;p<a&&je[p]==64;)p++;let m=c&&h==8||p<t&&je[p]==8?d==1?1:8:256;for(let b=c;b<p;b++)je[b]=m;c=p-1}else f==8&&d==1&&(je[c]=1);h=f,f&7&&(d=f)}}}function $2(n,e,t,r,i){let s=i==1?2:1;for(let o=0,a=0,l=0;o<=r.length;o++){let c=o?r[o-1].to:e,h=o<r.length?r[o].from:t;for(let d=c,f,p,m;d<h;d++)if(p=Tc[f=n.charCodeAt(d)])if(p<0){for(let b=a-3;b>=0;b-=3)if(Wt[b+1]==-p){let y=Wt[b+2],v=y&2?i:y&4?y&1?s:i:0;v&&(je[d]=je[Wt[b]]=v),a=b;break}}else{if(Wt.length==189)break;Wt[a++]=d,Wt[a++]=f,Wt[a++]=l}else if((m=je[d])==2||m==1){let b=m==i;l=b?0:1;for(let y=a-3;y>=0;y-=3){let v=Wt[y+2];if(v&2)break;if(b)Wt[y+2]|=2;else{if(v&4)break;Wt[y+2]|=4}}}}}function F2(n,e,t,r){for(let i=0,s=r;i<=t.length;i++){let o=i?t[i-1].to:n,a=i<t.length?t[i].from:e;for(let l=o;l<a;){let c=je[l];if(c==256){let h=l+1;for(;;)if(h==a){if(i==t.length)break;h=t[i++].to,a=i<t.length?t[i].from:e}else if(je[h]==256)h++;else break;let d=s==1,f=(h<e?je[h]:r)==1,p=d==f?d?1:2:r;for(let m=h,b=i,y=b?t[b-1].to:n;m>l;)m==y&&(m=t[--b].from,y=b?t[b-1].to:n),je[--m]=p;l=h}else s=c,l++}}}function Ec(n,e,t,r,i,s,o){let a=r%2?2:1;if(r%2==i%2)for(let l=e,c=0;l<t;){let h=!0,d=!1;if(c==s.length||l<s[c].from){let b=je[l];b!=a&&(h=!1,d=b==16)}let f=!h&&a==1?[]:null,p=h?r:r+1,m=l;e:for(;;)if(c<s.length&&m==s[c].from){if(d)break e;let b=s[c];if(!h)for(let y=b.to,v=c+1;;){if(y==t)break e;if(v<s.length&&s[v].from==y)y=s[v++].to;else{if(je[y]==a)break e;break}}if(c++,f)f.push(b);else{b.from>l&&o.push(new dn(l,b.from,p));let y=b.direction==ir!=!(p%2);Rc(n,y?r+1:r,i,b.inner,b.from,b.to,o),l=b.to}m=b.to}else{if(m==t||(h?je[m]!=a:je[m]==a))break;m++}f?Ec(n,l,m,r+1,i,f,o):l<m&&o.push(new dn(l,m,p)),l=m}else for(let l=t,c=s.length;l>e;){let h=!0,d=!1;if(!c||l>s[c-1].to){let b=je[l-1];b!=a&&(h=!1,d=b==16)}let f=!h&&a==1?[]:null,p=h?r:r+1,m=l;e:for(;;)if(c&&m==s[c-1].to){if(d)break e;let b=s[--c];if(!h)for(let y=b.from,v=c;;){if(y==e)break e;if(v&&s[v-1].to==y)y=s[--v].from;else{if(je[y-1]==a)break e;break}}if(f)f.push(b);else{b.to<l&&o.push(new dn(b.to,l,p));let y=b.direction==ir!=!(p%2);Rc(n,y?r+1:r,i,b.inner,b.from,b.to,o),l=b.from}m=b.from}else{if(m==e||(h?je[m-1]!=a:je[m-1]==a))break;m--}f?Ec(n,m,l,r+1,i,f,o):m<l&&o.push(new dn(m,l,p)),l=m}}function Rc(n,e,t,r,i,s,o){let a=e%2?2:1;B2(n,i,s,r,a),$2(n,i,s,r,a),F2(i,s,r,a),Ec(n,i,s,e,t,r,o)}function V2(n,e,t){if(!n)return[new dn(0,0,e==Oh?1:0)];if(e==ir&&!t.length&&!I2.test(n))return cg(n.length);if(t.length)for(;n.length>je.length;)je[je.length]=256;let r=[],i=e==ir?0:1;return Rc(n,i,i,t,0,n.length,r),r}function cg(n){return[new dn(0,n,0)]}let hg="";function z2(n,e,t,r,i){var s;let o=r.head-n.from,a=dn.find(e,o,(s=r.bidiLevel)!==null&&s!==void 0?s:-1,r.assoc),l=e[a],c=l.side(i,t);if(o==c){let f=a+=i?1:-1;if(f<0||f>=e.length)return null;l=e[a=f],o=l.side(!i,t),c=l.side(i,t)}let h=ze(n.text,o,l.forward(i,t));(h<l.from||h>l.to)&&(h=c),hg=n.text.slice(Math.min(o,h),Math.max(o,h));let d=a==(i?e.length-1:0)?null:e[a+(i?1:-1)];return d&&h==c&&d.level+(i?0:1)<l.level?T.cursor(d.side(!i,t)+n.from,d.forward(i,t)?1:-1,d.level):T.cursor(h+n.from,l.forward(i,t)?-1:1,l.level)}function H2(n,e,t){for(let r=e;r<t;r++){let i=ag(n.charCodeAt(r));if(i==1)return ir;if(i==2||i==4)return Oh}return ir}const ug=U.define(),dg=U.define(),fg=U.define(),pg=U.define(),Lc=U.define(),mg=U.define(),gg=U.define(),Ph=U.define(),Ah=U.define(),bg=U.define({combine:n=>n.some(e=>e)}),yg=U.define({combine:n=>n.some(e=>e)}),xg=U.define();class Ar{constructor(e,t="nearest",r="nearest",i=5,s=5,o=!1){this.range=e,this.y=t,this.x=r,this.yMargin=i,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new Ar(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 Ar(T.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const go=ae.define({map:(n,e)=>n.map(e)}),vg=ae.define();function ht(n,e,t){let r=n.facet(pg);r.length?r[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const hn=U.define({combine:n=>n.length?n[0]:!0});let W2=0;const yr=U.define({combine(n){return n.filter((e,t)=>{for(let r=0;r<t;r++)if(n[r].plugin==e.plugin)return!1;return!0})}});class $e{constructor(e,t,r,i,s){this.id=e,this.create=t,this.domEventHandlers=r,this.domEventObservers=i,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(yr.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(yr.of({plugin:this,arg:e}))}static define(e,t){const{eventHandlers:r,eventObservers:i,provide:s,decorations:o}=t||{};return new $e(W2++,e,r,i,a=>{let l=[];return o&&l.push(zi.of(c=>{let h=c.plugin(a);return h?o(h):ne.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return $e.define((r,i)=>new e(r,i),t)}}class dl{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(r){if(ht(t.state,r,"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){ht(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(r){ht(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const wg=U.define(),Mh=U.define(),zi=U.define(),kg=U.define(),Sg=U.define(),Fs=U.define(),Cg=U.define();function Sd(n,e){let t=n.state.facet(Cg);if(!t.length)return t;let r=t.map(s=>s instanceof Function?s(n):s),i=[];return fe.spans(r,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,d=i;for(let f=a.length-1;f>=0;f--,l--){let p=a[f].spec.bidiIsolate,m;if(p==null&&(p=H2(e.text,c,h)),l>0&&d.length&&(m=d[d.length-1]).to==c&&m.direction==p)m.to=h,d=m.inner;else{let b={from:c,to:h,direction:p,inner:[]};d.push(b),d=b.inner}}}}),i}const jg=U.define();function Nh(n){let e=0,t=0,r=0,i=0;for(let s of n.state.facet(jg)){let o=s(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(i=Math.max(i,o.bottom)))}return{left:e,right:t,top:r,bottom:i}}const pi=U.define();class Ct{constructor(e,t,r,i){this.fromA=e,this.toA=t,this.fromB=r,this.toB=i}join(e){return new Ct(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,r=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>r.toA)){if(i.toA<r.fromA)break;r=r.join(i),e.splice(t-1,1)}}return e.splice(t,0,r),e}static extendWithRanges(e,t){if(t.length==0)return e;let r=[];for(let i=0,s=0,o=0;;){let a=i<e.length?e[i].fromB:1e9,l=s<t.length?t[s]:1e9,c=Math.min(a,l);if(c==1e9)break;let h=c+o,d=c,f=h;for(;;)if(s<t.length&&t[s]<=d){let p=t[s+1];s+=2,d=Math.max(d,p);for(let m=i;m<e.length&&e[m].fromB<=d;m++)o=e[m].toA-e[m].toB;f=Math.max(f,p+o)}else if(i<e.length&&e[i].fromB<=d){let p=e[i++];d=Math.max(d,p.toB),f=Math.max(f,p.toA),o=p.toA-p.toB}else break;r.push(new Ct(h,f,c,d))}return r}}class sa{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Ve.empty(this.startState.doc.length);for(let s of r)this.changes=this.changes.compose(s.changes);let i=[];this.changes.iterChangedRanges((s,o,a,l)=>i.push(new Ct(s,o,a,l))),this.changedRanges=i}static create(e,t,r){return new sa(e,t,r)}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 _2=[];class Fe{constructor(e,t,r=0){this.dom=e,this.length=t,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return _2}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&&j2(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 r=t;for(let i of this.children){if(i==e)return r;r+=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){return null}domPosFor(e,t){let r=In(this.dom),i=this.length?e>0:t>0;return new Rt(this.parent.dom,r+(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 Ea)return e;return null}static get(e){return e.cmTile}}class Ta extends Fe{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,r=null,i,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,i=r?r.nextSibling:t.firstChild,s&&i!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;i&&i!=a.dom;)i=Cd(i);else t.insertBefore(a.dom,i);r=a.dom}for(i=r?r.nextSibling:t.firstChild,s&&i&&(s.written=!0);i;)i=Cd(i);this.length=o}}function Cd(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class Ea extends Ta{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=Fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],r=this,i=0,s=0;;)if(i==r.children.length){if(!t.length)return;r=r.parent,r.breakAfter&&s++,i=t.pop()}else{let o=r.children[i++];if(o instanceof Nn)t.push(i),r=o,i=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let r,i=-1,s,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&&(r=void 0)}(l<e||e==c&&(t<-1?a.length:a.covers(1)))&&(!r||!a.isWidget()&&r.isWidget())&&(r=a,i=e-l),(c>e||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!r&&!s)throw new Error("No tile at position "+e);return r&&t<0||!s?{tile:r,offset:i}:{tile:s,offset:o}}}class Nn extends Ta{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 r=new Nn(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class Tr extends Ta{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,r){let i=new Tr(t||document.createElement("div"),e);return(!t||!r)&&(i.flags|=4),i}get domAttrs(){return this.attrs}resolveInline(e,t,r){let i=null,s=-1,o=null,a=-1;function l(h,d){for(let f=0,p=0;f<h.children.length&&p<=d;f++){let m=h.children[f],b=p+m.length;b>=d&&(m.isComposite()?l(m,d-p):(!o||o.isHidden&&(t>0||r&&K2(o,m)))&&(b>d||m.flags&32)?(o=m,a=d-p):(p<d||m.flags&16&&!m.isHidden)&&(i=m,s=d-p)),p=b}}l(this,e);let c=(t<0?i:o)||i||o;return c?{tile:c,offset:c==i?s:a}:null}coordsIn(e,t){let r=this.resolveInline(e,t,!0);return r?r.tile.coordsIn(Math.max(0,r.offset),t):U2(this)}domIn(e,t){let r=this.resolveInline(e,t);if(r){let{tile:i,offset:s}=r;if(this.dom.contains(i.dom))return i.isText()?new Rt(i.dom,Math.min(i.dom.nodeValue.length,s)):i.domPosFor(s,i.flags&16?1:i.flags&32?-1:t);let o=r.tile.parent,a=!1;for(let l of o.children){if(a)return new Rt(l.dom,0);l==r.tile&&(a=!0)}}return new Rt(this.dom,0)}}function U2(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=ki(e);return t[t.length-1]||null}function K2(n,e){let t=n.coordsIn(0,1),r=e.coordsIn(0,1);return t&&r&&r.top<t.bottom}class ct extends Ta{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let r=new ct(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class Zn extends Fe{constructor(e,t){super(e,t.length),this.text=t}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,t){let r=this.dom.nodeValue.length;e>r&&(e=r);let i=e,s=e,o=0;e==0&&t<0||e==r&&t>=0?_.chrome||_.gecko||(e?(i--,o=1):s<r&&(s++,o=-1)):t<0?i--:s<r&&s++;let a=Vi(this.dom,i,s).getClientRects();if(!a.length)return null;let l=a[(o?o<0:t>=0)?0:a.length-1];return _.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(a,c=>c.width)||l),o?Fi(l,o<0):l||null}static of(e,t){let r=new Zn(t||document.createTextNode(e),e);return t||(r.flags|=2),r}}class Er extends Fe{constructor(e,t,r,i){super(e,t,i),this.widget=r}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,r){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;if(r)return Fi(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top<o.bottom);l+=a?-1:1);return Fi(o,!a)}}get overrideDOMText(){if(!this.length)return xe.empty;let{root:e}=this;if(!e)return xe.empty;let t=this.posAtStart;return e.view.state.doc.slice(t,t+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,t,r,i,s){return s||(s=e.toDOM(t),e.editable||(s.contentEditable="false")),new Er(s,r,e,i)}}class oa extends Fe{constructor(e){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),super(t,0,e)}get isHidden(){return!1}get overrideDOMText(){return xe.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class G2{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,r){let{tile:i,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(i.isComposite())if(o){if(!e)break;r&&r.break(),e--,o=!1}else if(s==i.children.length){if(!e&&!a.length)break;r&&r.leave(i),o=!!i.breakAfter,{tile:i,index:s}=a.pop(),s++}else{let l=i.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length<e)&&(!r||r.skip(l,0,l.length)!==!1||!l.isComposite)?(o=!!c,s++,e-=l.length):(a.push({tile:i,index:s}),i=l,s=0,r&&l.isComposite()&&r.enter(l))}else if(s==i.length)o=!!i.breakAfter,{tile:i,index:s}=a.pop(),s++;else if(e){let l=Math.min(e,i.length-s);r&&r.skip(i,s,s+l),e-=l,s+=l}else break;return this.tile=i,this.index=s,this.beforeBreak=o,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class q2{constructor(e,t,r,i){this.from=e,this.to=t,this.wrapper=r,this.rank=i}}class Y2{constructor(e,t,r){this.cache=e,this.root=t,this.blockWrappers=r,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,t,r,i){var s;this.flushBuffer();let o=this.ensureMarks(t,r),a=o.lastChild;if(a&&a.isText()&&!(a.flags&8)){this.cache.reused.set(a,2);let l=o.children[o.children.length-1]=new Zn(a.dom,a.text+e);l.parent=o}else o.append(i||Zn.of(e,(s=this.cache.find(Zn))===null||s===void 0?void 0:s.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,t){let r=this.curLine;r.dom!=t.line.dom&&(r.setDOM(this.cache.reused.has(t.line)?fl(t.line.dom):t.line.dom),this.cache.reused.set(t.line,2));let i=r;for(let a=t.marks.length-1;a>=0;a--){let l=t.marks[a],c=i.lastChild;if(c instanceof ct&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(fl(l.dom)),i=c;else{if(this.cache.reused.get(l)){let d=Fe.get(l.dom);d&&d.setDOM(fl(l.dom))}let h=ct.of(l.mark,l.dom);i.append(h),i=h}this.cache.reused.set(l,2)}let s=Fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new Zn(e.text,e.text.nodeValue);o.flags|=8,i.append(o)}addInlineWidget(e,t,r){let i=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);i||this.flushBuffer();let s=this.ensureMarks(t,r);!i&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,r){this.flushBuffer(),this.ensureMarks(t,r).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 r;e||(e=Og);let i=Tr.start(e,t||((r=this.cache.find(Tr))===null||r===void 0?void 0:r.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 r;let i=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=i.lastChild)&&a instanceof ct&&a.mark.eq(o))i=a,t--;else{let l=ct.of(o,(r=this.cache.find(ct,c=>c.mark.eq(o)))===null||r===void 0?void 0:r.dom);i.append(l),i=l,t=0}}return i}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!jd(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(_.ios&&jd(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(pl,0,32)||new Er(pl.toDOM(),0,pl,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&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let t=new q2(e.from,e.to,e.value,e.rank),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-t.rank||this.wrappers[r-1].to-t.to)<0;)r--;this.wrappers.splice(r,0,t)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let r of this.wrappers){let i=t.lastChild;if(r.from<this.pos&&i instanceof Nn&&i.wrapper.eq(r.wrapper))t=i;else{let s=Nn.of(r.wrapper,(e=this.cache.find(Nn,o=>o.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}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),r=this.cache.find(oa,void 0,1);return r&&(r.flags=t),r||new oa(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class Q2{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:s,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 s?null:i.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,t);return this.textOff=t,r}}const aa=[Er,Tr,Zn,ct,oa,Nn,Ea];for(let n=0;n<aa.length;n++)aa[n].bucket=n;class J2{constructor(e){this.view=e,this.buckets=aa.map(()=>[]),this.index=aa.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,r=this.buckets[t];r.length<6?r.push(e):r[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,r=2){let i=e.bucket,s=this.buckets[i],o=this.index[i];for(let a=s.length-1;a>=0;a--){let l=(a+o)%s.length,c=s[l];if((!t||t(c))&&!this.reused.has(c))return s.splice(l,1),l<o&&this.index[i]--,this.reused.set(c,r),c}return null}findWidget(e,t,r){let i=this.buckets[0];if(i.length)for(let s=0,o=0;;s++){if(s==i.length){if(o)return null;o=1,s=0}let a=i[s];if(!this.reused.has(a)&&(o==0?a.widget.compare(e):a.widget.constructor==e.constructor&&e.updateDOM(a.dom,this.view)))return i.splice(s,1),s<this.index[0]&&this.index[0]--,this.reused.set(a,1),a.length=t,a.flags=a.flags&-498|r,a}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,t=2){if(!this.reused.has(e))return this.reused.set(e,t),e.dom}}class X2{constructor(e,t,r,i,s){this.view=e,this.decorations=i,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new J2(e),this.text=new Q2(e.state.doc),this.builder=new Y2(this.cache,new Ea(e,e.contentDOM),fe.iter(r)),this.cache.reused.set(t,2),this.old=new G2(t),this.reuseWalker={skip:(o,a,l)=>{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let r=t&&this.getCompositionContext(t.text);for(let i=0,s=0,o=0;;){let a=o<e.length?e[o++]:null,l=a?a.fromA:this.old.root.length;if(l>i){let c=l-i;this.preserve(c,!o,!a),i=l,s+=c}if(!a)break;this.forward(a.fromA,a.toA),t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.emit(s,t.range.fromB),this.builder.addComposition(t,r),this.text.skip(t.range.toB-t.range.fromB),this.emit(t.range.toB,a.toB)):this.emit(s,a.toB),s=a.toB,i=a.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,r){let i=tw(this.old),s=this.openMarks;this.old.advance(e,r?1:-1,{skip:(o,a,l)=>{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a<o.length?Er.of(o.widget,this.view,l-a,o.flags&496,this.cache.maybeReuse(o)):this.cache.reuse(o);c.flags&256?(c.flags&=-2,this.builder.addBlockWidget(c)):(this.builder.ensureLine(null),this.builder.addInlineWidget(c,i,s),s=i.length)}else if(o.isText())this.builder.ensureLine(null),!a&&l==o.length?this.builder.addText(o.text,i,s,this.cache.reuse(o)):(this.cache.add(o),this.builder.addText(o.text.slice(a,l),i,s)),s=i.length;else if(o.isLine())o.flags&=-2,this.cache.reused.set(o,1),this.builder.addLine(o);else if(o instanceof oa)this.cache.add(o);else if(o instanceof ct)this.builder.ensureLine(null),this.builder.addMark(o,i,s),this.cache.reused.set(o,1),s=i.length;else return!1;this.openWidget=!1},enter:o=>{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof ct&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=s=0):o instanceof ct&&(i.shift(),s=Math.min(s,i.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let r=null,i=this.builder,s=0,o=fe.spans(this.decorations,e,t,{point:(a,l,c,h,d,f)=>{if(c instanceof rr){if(this.disallowBlockEffectsFor[f]){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(s=h.length,d>h.length)i.continueWidget(l-a);else{let p=c.widget||(c.block?Rr.block:Rr.inline),m=Z2(c),b=this.cache.findWidget(p,l-a,m)||Er.of(p,this.view,l-a,m);c.block?(c.startSide>0&&i.addLineStartIfNotCovered(r),i.addBlockWidget(b)):(i.ensureLine(r),i.addInlineWidget(b,h,d))}r=null}else r=ew(r,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let d=a;d<l;){let f=this.text.next(Math.min(512,l-d));f==null?(i.addLineStartIfNotCovered(r),i.addBreak(),d++):(i.ensureLine(r),i.addText(f,c,h),d+=f.length),r=null}}});i.addLineStartIfNotCovered(r),this.openWidget=o>s,this.openMarks=o}forward(e,t){t-e<=10?this.old.advance(t-e,1,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,1,this.reuseWalker))}getCompositionContext(e){let t=[],r=null;for(let i=e.parentNode;;i=i.parentNode){let s=Fe.get(i);if(i==this.view.contentDOM)break;s instanceof ct?t.push(s):s?.isLine()?r=s:i.nodeName=="DIV"&&!r&&i!=this.view.contentDOM?r=new Tr(i,Og):t.push(ct.of(new Bs({tagName:i.nodeName.toLowerCase(),attributes:O2(i)}),i))}return{line:r,marks:t}}}function jd(n,e){let t=r=>{for(let i of r.children)if((e?i.isText():i.length)||t(i))return!0;return!1};return t(n)}function Z2(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 Og={class:"cm-line"};function ew(n,e){let t=e.spec.attributes,r=e.spec.class;return!t&&!r||(n||(n={class:"cm-line"}),t&&Ch(t,n),r&&(n.class+=" "+r)),n}function tw(n){let e=[];for(let t=n.parents.length;t>1;t--){let r=t==n.parents.length?n.tile:n.parents[t].tile;r instanceof ct&&e.push(r.mark)}return e}function fl(n){let e=Fe.get(n);return e&&e.setDOM(n.cloneNode()),n}class Rr extends rn{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}}Rr.inline=new Rr("span");Rr.block=new Rr("div");const pl=new class extends rn{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class Od{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=ne.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 Ea(e,e.contentDOM),this.updateInner([new Ct(0,0,0,e.state.doc.length)],null)}update(e){var t;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:h,toA:d})=>d<this.minWidthFrom||h>this.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:!hw(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let s=i>-1?rw(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:d}=this.hasComposition;r=new Ct(h,d,e.changes.mapPos(h,-1),e.changes.mapPos(d,1)).addToSet(r.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(_.ie||_.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=ow(o,this.decorations,e.changes);l.length&&(r=Ct.extendWithRanges(r,l));let c=lw(a,this.blockWrappers,e.changes);return c.length&&(r=Ct.extendWithRanges(r,c)),s&&!r.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(r=s.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(t||e.length){let o=this.tile,a=new X2(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=a.run(e,t),Ic(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 s=_.chrome||_.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||r.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.tile.children)s.isWidget()&&s.widget instanceof ml&&i.push(s.dom);r.updateGaps(i)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let r of t.effects)r.is(vg)&&(this.editContextFormatting=r.value)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:r}=this.tile,i=this.view.root.activeElement,s=i==r,o=!s&&!(this.view.state.facet(hn)||r.tabIndex>-1)&&_o(r,this.view.observer.selectionRange)&&!(i&&r.contains(i));if(!(s||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)),_.gecko&&l.empty&&!this.hasComposition&&nw(c)){let f=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(f,c.node.childNodes[c.offset]||null)),c=h=new Rt(f,0),a=!0}let d=this.view.observer.selectionRange;(a||!d.focusNode||(!Si(c.node,c.offset,d.anchorNode,d.anchorOffset)||!Si(h.node,h.offset,d.focusNode,d.focusOffset))&&!this.suppressWidgetCursorChange(d,l))&&(this.view.observer.ignore(()=>{_.android&&_.chrome&&r.contains(d.focusNode)&&cw(d.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let f=$i(this.view.root);if(f)if(l.empty){if(_.gecko){let p=iw(c.node,c.offset);if(p&&p!=3){let m=(p==1?ig:sg)(c.node,c.offset);m&&(c=new Rt(m.node,m.offset))}}f.collapse(c.node,c.offset),l.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(c.node,c.offset);try{f.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),f.removeAllRanges(),f.addRange(p)}o&&this.view.root.activeElement==r&&(r.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Rt(d.anchorNode,d.anchorOffset),this.impreciseHead=h.precise?null:new Rt(d.focusNode,d.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Si(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,r=$i(e.root),{anchorNode:i,anchorOffset:s}=e.observer.selectionRange;if(!r||!t.empty||!t.assoc||!r.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);r.collapse(h.node,h.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let d=e.observer.selectionRange;e.docView.posFromDOM(d.anchorNode,d.anchorOffset)!=t.from&&r.collapse(i,s)}posFromDOM(e,t){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let i=r.posAtStart;if(r.isComposite()){let s;if(e==r.dom)s=r.dom.childNodes[t];else{let o=pn(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==r.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==r.dom.firstChild)return i;for(;s&&!Fe.get(s);)s=s.nextSibling;if(!s)return i+r.length;for(let o=0,a=i;;o++){let l=r.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return r.isText()?e==r.dom?i+t:i+(t?r.length:0):i}domAtPos(e,t){let{tile:r,offset:i}=this.tile.resolveBlock(e,t);return r.isWidget()?r.domPosFor(e,t):r.domIn(i,t)}inlineDOMNearPos(e,t){let r,i=-1,s=!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&&(s=!0)}else{let d=h+c.length;if(h<=e&&(r=c,i=e-h,s=d<e),d>=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!r&&!o?this.domAtPos(e,t):(s&&o?r=null:l&&r&&(o=null),r&&t<0||!o?r.domIn(i,t):o.domIn(a,t))}coordsAt(e,t){let{tile:r,offset:i}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof ml?null:r.coordsInWidget(i,t,!0):r.coordsIn(i,t)}lineAt(e,t){let{tile:r}=this.tile.resolveBlock(e,t);return r.isLine()?r:null}coordsForChar(e){let{tile:t,offset:r}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function i(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=i(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&o<s.length){let a=ze(s.text,o);if(a==o)return null;let l=Vi(s.dom,o,a).getClientRects();for(let c=0;c<l.length;c++){let h=l[c];if(c==l.length-1||h.top<h.bottom&&h.left<h.right)return h}}return null}return i(t,r)}measureVisibleLineHeights(e){let t=[],{from:r,to:i}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Oe.LTR,c=0,h=(d,f,p)=>{for(let m=0;m<d.children.length&&!(f>i);m++){let b=d.children[m],y=f+b.length,v=b.dom.getBoundingClientRect(),{height:k}=v;if(p&&!m&&(c+=v.top-p.top),b instanceof Nn)y>r&&h(b,f,v);else if(f>=r&&(c>0&&t.push(-c),t.push(k+c),c=0,o)){let S=b.dom.lastChild,O=S?ki(S):[];if(O.length){let C=O[O.length-1],P=l?C.right-v.left:v.right-C.left;P>a&&(a=P,this.minWidth=s,this.minWidthFrom=f,this.minWidthTo=y)}}p&&m==d.children.length-1&&(c+=p.bottom-v.bottom),f=y+b.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?Oe.RTL:Oe.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=ki(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"),r,i,s;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=ki(t.firstChild)[0];r=t.getBoundingClientRect().height,i=o&&o.width?o.width/27:7,s=o&&o.height?o.height:r,t.remove()}),{lineHeight:r,charWidth:i,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,i=0;;i++){let s=i==t.viewports.length?null:t.viewports[i],o=s?s.from-1:this.view.state.doc.length;if(o>r){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(ne.replace({widget:new ml(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return ne.set(e)}updateDeco(){let e=1,t=this.view.state.facet(zi).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,i=this.view.state.facet(Sg).map((s,o)=>{let a=typeof s=="function";return a&&(r=!0),a?s(this.view):s});for(i.length&&(this.dynamicDecorationMap[e++]=r,t.push(fe.join(i))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(kg).map(s=>typeof s=="function"?s(this.view):s)}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(xg))try{if(c(this.view,e.range,e))return!0}catch(h){ht(this.view.state,h,"scroll handler")}let{range:t}=e,r=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),i;if(!r)return;!t.empty&&(i=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(r={left:Math.min(r.left,i.left),top:Math.min(r.top,i.top),right:Math.max(r.right,i.right),bottom:Math.max(r.bottom,i.bottom)});let s=Nh(this.view),o={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;M2(this.view.scrollDOM,o,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,a),-a),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==Oe.LTR)}lineHasWidget(e){let t=r=>r.isWidget()||r.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){Ic(this.tile)}}function Ic(n,e){let t=e?.get(n);if(t!=1){t==null&&n.destroy();for(let r of n.children)Ic(r,e)}}function nw(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 Pg(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let r=ig(t.focusNode,t.focusOffset),i=sg(t.focusNode,t.focusOffset),s=r||i;if(i&&r&&i.node!=r.node){let a=Fe.get(i.node);if(!a||a.isText()&&a.text!=i.node.nodeValue)s=i;else if(n.docView.lastCompositionAfterCursor){let l=Fe.get(r.node);!l||l.isText()&&l.text!=r.node.nodeValue||(s=i)}}if(n.docView.lastCompositionAfterCursor=s!=r,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function rw(n,e,t){let r=Pg(n,t);if(!r)return null;let{node:i,from:s,to:o}=r,a=i.nodeValue;if(/[\n\r]/.test(a)||n.state.doc.sliceString(r.from,r.to)!=a)return null;let l=e.invertedDesc;return{range:new Ct(l.mapPos(s),l.mapPos(o),s,o),text:i}}function iw(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e<n.childNodes.length&&n.childNodes[e].contentEditable=="false"?2:0)}let sw=class{constructor(){this.changes=[]}compareRange(e,t){Or(e,t,this.changes)}comparePoint(e,t){Or(e,t,this.changes)}boundChange(e){Or(e,e,this.changes)}};function ow(n,e,t){let r=new sw;return fe.compare(n,e,t,r),r.changes}class aw{constructor(){this.changes=[]}compareRange(e,t){Or(e,t,this.changes)}comparePoint(){}boundChange(e){Or(e,e,this.changes)}}function lw(n,e,t){let r=new aw;return fe.compare(n,e,t,r),r.changes}function cw(n,e){for(let t=n;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function hw(n,e){let t=!1;return e&&n.iterChangedRanges((r,i)=>{r<e.to&&i>e.from&&(t=!0)}),t}class ml extends rn{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 uw(n,e,t=1){let r=n.charCategorizer(e),i=n.doc.lineAt(e),s=e-i.from;if(i.length==0)return T.cursor(e);s==0?t=1:s==i.length&&(t=-1);let o=s,a=s;t<0?o=ze(i.text,s,!1):a=ze(i.text,s);let l=r(i.text.slice(o,a));for(;o>0;){let c=ze(i.text,o,!1);if(r(i.text.slice(c,o))!=l)break;o=c}for(;a<i.length;){let c=ze(i.text,a);if(r(i.text.slice(a,c))!=l)break;a=c}return T.range(o+i.from,a+i.from)}function dw(n,e,t,r,i){let s=Math.round((r-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let a=n.viewState.heightOracle.textHeight,l=Math.floor((i-t.top-(n.defaultLineHeight-a)*.5)/a);s+=l*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+Cc(o,s,n.state.tabSize)}function Bc(n,e,t){let r=n.lineBlockAt(e);if(Array.isArray(r.type)){let i;for(let s of r.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!i||s.type==Ye.Text&&(i.type!=s.type||(t<0?s.from<e:s.to>e)))&&(i=s)}}return i||r}return r}function fw(n,e,t,r){let i=Bc(n,e.head,e.assoc||-1),s=!r||i.type!=Ye.Text||!(n.lineWrapping||i.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(s){let o=n.dom.getBoundingClientRect(),a=n.textDirectionAt(i.from),l=n.posAtCoords({x:t==(a==Oe.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return T.cursor(l,t?-1:1)}return T.cursor(t?i.to:i.from,t?-1:1)}function Pd(n,e,t,r){let i=n.state.doc.lineAt(e.head),s=n.bidiSpans(i),o=n.textDirectionAt(i.from);for(let a=e,l=null;;){let c=z2(i,s,o,a,t),h=hg;if(!c){if(i.number==(t?n.state.doc.lines:1))return a;h=`
59
- `,i=n.state.doc.line(i.number+(t?1:-1)),s=n.bidiSpans(i),c=n.visualLineSide(i,!t)}if(l){if(!l(h))return a}else{if(!r)return c;l=r(h)}a=c}}function pw(n,e,t){let r=n.state.charCategorizer(e),i=r(t);return s=>{let o=r(s);return i==Ne.Space&&(i=o),i==o}}function mw(n,e,t,r){let i=e.head,s=t?1:-1;if(i==(t?n.state.doc.length:0))return T.cursor(i,e.assoc);let o=e.goalColumn,a,l=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(i,e.assoc||-1),h=n.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=n.viewState.lineBlockAt(i);o==null&&(o=Math.min(l.right-l.left,n.defaultCharacterWidth*(i-p.from))),a=(s<0?p.top:p.bottom)+h}let d=l.left+o,f=r??n.viewState.heightOracle.textHeight>>1;for(let p=0;;p+=10){let m=a+(f+p)*s,b=$c(n,{x:d,y:m},!1,s);return T.cursor(b.pos,b.assoc,void 0,o)}}function Ci(n,e,t){for(;;){let r=0;for(let i of n)i.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=r||t||(e-s<o-e?-1:1);e=l<0?s:o,r=l}});if(!r)return e}}function Ag(n,e){let t=null;for(let r=0;r<e.ranges.length;r++){let i=e.ranges[r],s=null;if(i.empty){let o=Ci(n,i.from,0);o!=i.from&&(s=T.cursor(o,-1))}else{let o=Ci(n,i.from,-1),a=Ci(n,i.to,1);(o!=i.from||a!=i.to)&&(s=T.range(i.from==i.anchor?o:a,i.from==i.head?o:a))}s&&(t||(t=e.ranges.slice()),t[r]=s)}return t?T.create(t,e.mainIndex):e}function gl(n,e,t){let r=Ci(n.state.facet(Fs).map(i=>i(n)),t.from,e.head>t.from?-1:1);return r==t.from?t:T.cursor(r,r<t.from?1:-1)}class qt{constructor(e,t){this.pos=e,this.assoc=t}}function $c(n,e,t,r){let i=n.contentDOM.getBoundingClientRect(),s=i.top+n.viewState.paddingTop,{x:o,y:a}=e,l=a-s,c;for(;;){if(l<0)return new qt(0,1);if(l>n.viewState.docHeight)return new qt(n.state.doc.length,-1);if(c=n.elementAtHeight(l),r==null)break;if(c.type==Ye.Text){let f=n.docView.coordsAt(r<0?c.from:c.to,r);if(f&&(r<0?f.top<=l+s:f.bottom>=l+s))break}let d=n.viewState.heightOracle.textHeight/2;l=r>0?c.bottom+d:c.top-d}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Ye.Text){let d=dw(n,i,c,o,a);return new qt(d,d==c.from?1:-1)}}if(c.type!=Ye.Text)return l<(c.top+c.bottom)/2?new qt(c.from,1):new qt(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),Mg(n,h,c.from,o,a)}function Mg(n,e,t,r,i){let s=-1,o=null,a=1e9,l=1e9,c=i,h=i,d=(f,p)=>{for(let m=0;m<f.length;m++){let b=f[m];if(b.top==b.bottom)continue;let y=b.left>r?b.left-r:b.right<r?r-b.right:0,v=b.top>i?b.top-i:b.bottom<i?i-b.bottom:0;b.top<=h&&b.bottom>=c&&(c=Math.min(b.top,c),h=Math.max(b.bottom,h),v=0),(s<0||(v-l||y-a)<0)&&(s>=0&&l&&a<y&&o.top<=h-2&&o.bottom>=c+2?l=0:(s=p,a=y,l=v,o=b))}};if(e.isText()){for(let p=0;p<e.length;){let m=ze(e.text,p);if(d(Vi(e.dom,p,m).getClientRects(),p),!a&&!l)break;p=m}return r>(o.left+o.right)/2==(Ad(n,s+t)==Oe.LTR)?new qt(t+ze(e.text,s),-1):new qt(t+s,1)}else{if(!e.length)return new qt(t,1);for(let b=0;b<e.children.length;b++){let y=e.children[b];if(y.flags&48)continue;let v=(y.dom.nodeType==1?y.dom:Vi(y.dom,0,y.length)).getClientRects();if(d(v,b),!a&&!l)break}let f=e.children[s],p=e.posBefore(f,t);return f.isComposite()||f.isText()?Mg(n,f,p,Math.max(o.left,Math.min(o.right,r)),i):r>(o.left+o.right)/2==(Ad(n,s+t)==Oe.LTR)?new qt(p+f.length,-1):new qt(p,1)}}function Ad(n,e){let t=n.state.doc.lineAt(e);return n.bidiSpans(t)[dn.find(n.bidiSpans(t),e-t.from,-1,1)].dir}const mi="￿";class gw{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(pe.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=mi}readRange(e,t){if(!e)return this;let r=e.parentNode;for(let i=e;;){this.findPointBefore(r,i);let s=this.text.length;this.readNode(i);let o=Fe.get(i),a=i.nextSibling;if(a==t){o?.breakAfter&&!a&&r!=this.view.contentDOM&&this.lineBreak();break}let l=Fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:ia(i))||ia(a)&&(i.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!yw(a,t)&&this.lineBreak(),i=a}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,r),o=this.lineSeparator.length):(a=i.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(r,s<0?t.length:s)),s<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);r=s+o}}readNode(e){let t=Fe.get(e),r=t&&t.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let i=r.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 r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(bw(e,r.node,r.offset)?t:0))}}function bw(n,e,t){for(;;){if(!e||t<pn(e))return!1;if(e==n)return!0;t=In(e)+1,e=e.parentNode}}function yw(n,e){let t;for(;!(n==e||!n);n=n.nextSibling){let r=Fe.get(n);if(!r?.isWidget())return!1;r&&(t||(t=[])).push(r)}if(t)for(let r of t){let i=r.overrideDOMText;if(i?.length)return!1}return!0}class Md{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class xw{constructor(e,t,r,i){this.typeOver=i,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=Ng(e.docView.tile,t,r,0))){let a=s||o?[]:ww(e),l=new gw(a,e);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=kw(a,this.bounds.from)}else{let a=e.observer.selectionRange,l=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!Dc(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),c=o&&o.node==a.anchorNode&&o.offset==a.anchorOffset||!Dc(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),h=e.viewport;if((_.ios||_.chrome)&&e.state.selection.main.empty&&l!=c&&(h.from>0||h.to<e.state.doc.length)){let d=Math.min(l,c),f=Math.max(l,c),p=h.from-d,m=h.to-f;(p==0||p==1||d==0)&&(m==0||m==-1||f==e.state.doc.length)&&(l=0,c=e.state.doc.length)}e.inputState.composing>-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(T.range(c,l)):this.newSel=T.single(c,l)}}}function Ng(n,e,t,r){if(n.isComposite()){let i=-1,s=-1,o=-1,a=-1;for(let l=0,c=r,h=r;l<n.children.length;l++){let d=n.children[l],f=c+d.length;if(c<e&&f>t)return Ng(d,e,t,c);if(f>=e&&i==-1&&(i=l,s=c),c>t&&d.dom.parentNode==n.dom){o=l,a=h;break}h=f,c=f+d.breakAfter}return{from:s,to:a<0?r+n.length:a,startDOM:(i?n.children[i-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:o<n.children.length&&o>=0?n.children[o].dom:null}}else return n.isText()?{from:r,to:r+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function Dg(n,e){let t,{newSel:r}=e,i=n.state.selection.main,s=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:a}=e.bounds,l=i.from,c=null;(s===8||_.android&&e.text.length<a-o)&&(l=i.to,c="end");let h=Tg(n.state.doc.sliceString(o,a,mi),e.text,l-o,c);h&&(_.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==mi+mi&&h.toB--,t={from:o+h.from,to:o+h.toA,insert:xe.of(e.text.slice(h.from,h.toB).split(mi))})}else r&&(!n.hasFocus&&n.state.facet(hn)||r.main.eq(i))&&(r=null);if(!t&&!r)return!1;if(!t&&e.typeOver&&!i.empty&&r&&r.main.empty?t={from:i.from,to:i.to,insert:n.state.doc.slice(i.from,i.to)}:(_.mac||_.android)&&t&&t.from==t.to&&t.from==i.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(r&&t.insert.length==2&&(r=T.single(r.main.anchor-1,r.main.head-1)),t={from:t.from,to:t.to,insert:xe.of([t.insert.toString().replace("."," ")])}):t&&t.from>=i.from&&t.to<=i.to&&(t.from!=i.from||t.to!=i.to)&&i.to-i.from-(t.to-t.from)<=4?t={from:i.from,to:i.to,insert:n.state.doc.slice(i.from,t.from).append(t.insert).append(n.state.doc.slice(t.to,i.to))}:n.state.doc.lineAt(i.from).to<i.to&&n.docView.lineHasWidget(i.to)&&n.inputState.insertingTextAt>Date.now()-50?t={from:i.from,to:i.to,insert:n.state.toText(n.inputState.insertingText)}:_.chrome&&t&&t.from==t.to&&t.from==i.head&&t.insert.toString()==`
60
- `&&n.lineWrapping&&(r&&(r=T.single(r.main.anchor-1,r.main.head-1)),t={from:i.from,to:i.to,insert:xe.of([" "])}),t)return Dh(n,t,r,s);if(r&&!r.main.eq(i)){let o=!1,a="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(o=!0),a=n.inputState.lastSelectionOrigin,a=="select.pointer"&&(r=Ag(n.state.facet(Fs).map(l=>l(n)),r))),n.dispatch({selection:r,scrollIntoView:o,userEvent:a}),!0}else return!1}function Dh(n,e,t,r=-1){if(_.ios&&n.inputState.flushIOSKey(e))return!0;let i=n.state.selection.main;if(_.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&&Pr(n.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>i.head)&&Pr(n.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&Pr(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=vw(n,e,t));return n.state.facet(mg).some(l=>l(n,e.from,e.to,s,a))||n.dispatch(a()),!0}function vw(n,e,t){let r,i=n.state,s=i.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let l=e.from<s.from?-1:1,c=l<0?s.from:s.to,h=Ci(i.facet(Fs).map(d=>d(n)),c,l);e.from==h&&(o=h)}if(o>-1)r={changes:e,selection:T.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=s.from<e.from?i.sliceDoc(s.from,e.from):"",c=s.to>e.to?i.sliceDoc(e.to,s.to):"";r=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<=s.to+10&&e.to>=s.to-10){let h=n.state.sliceDoc(e.from,e.to),d,f=t&&Pg(n,t.main.head);if(f){let m=e.insert.length-(e.to-e.from);d={from:f.from,to:f.to-m}}else d=n.state.doc.lineAt(s.head);let p=s.to-e.to;r=i.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:c||m.map(l)};let b=m.to-p,y=b-h.length;if(n.state.sliceDoc(y,b)!=h||b>=d.from&&y<=d.to)return{range:m};let v=i.changes({from:y,to:b,insert:e.insert}),k=m.to-s.to;return{changes:v,range:c?T.range(Math.max(0,c.anchor+k),Math.max(0,c.head+k)):m.map(v)}})}else r={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(r,{userEvent:a,scrollIntoView:!0})}function Tg(n,e,t,r){let i=Math.min(n.length,e.length),s=0;for(;s<i&&n.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==i&&n.length==e.length)return null;let o=n.length,a=e.length;for(;o>0&&a>0&&n.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(r=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o<s&&n.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=t<=s&&t>=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function ww(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}=n.observer.selectionRange;return t&&(e.push(new Md(t,r)),(i!=t||s!=r)&&e.push(new Md(i,s))),e}function kw(n,e){if(n.length==0)return null;let t=n[0].pos,r=n.length==2?n[1].pos:t;return t>-1&&r>-1?T.single(t+e,r+e):null}class Sw{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 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,_.safari&&e.contentDOM.addEventListener("input",()=>null),_.gecko&&$w(e.contentDOM.ownerDocument)}handleEvent(e){!Dw(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 r=this.handlers[e];if(r){for(let i of r.observers)i(this.view,t);for(let i of r.handlers){if(t.defaultPrevented)break;if(i(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Cw(e),r=this.handlers,i=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=r[s];a&&o!=!a.handlers.length&&(i.removeEventListener(s,this.handleEvent),a=null),a||i.addEventListener(s,this.handleEvent,{passive:o})}for(let s in r)s!="scroll"&&!t[s]&&i.removeEventListener(s,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&&Rg.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),_.android&&_.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return _.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=Eg.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||jw.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Pr(this.view.contentDOM,t.key,t.keyCode,t instanceof KeyboardEvent?t:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:_.safari&&!_.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 Nd(n,e){return(t,r)=>{try{return e.call(n,r,t)}catch(i){ht(t.state,i)}}}function Cw(n){let e=Object.create(null);function t(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of n){let i=r.spec,s=i&&i.plugin.domEventHandlers,o=i&&i.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Nd(r.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Nd(r.value,l))}}for(let r in It)t(r).handlers.push(It[r]);for(let r in Mt)t(r).observers.push(Mt[r]);return e}const Eg=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],jw="dthko",Rg=[16,17,18,20,91,92,224,225],bo=6;function yo(n){return Math.max(0,n)*.7+8}function Ow(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class Pw{constructor(e,t,r,i){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=N2(e.contentDOM),this.atoms=e.state.facet(Fs).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(pe.allowMultipleSelections)&&Aw(e,t),this.dragging=Nw(e,t)&&Bg(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&&Ow(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,r=0,i=0,s=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:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=Nh(this.view);e.clientX-l.left<=i+bo?t=-yo(i-e.clientX):e.clientX+l.right>=o-bo&&(t=yo(e.clientX-o)),e.clientY-l.top<=s+bo?r=-yo(s-e.clientY):e.clientY+l.bottom>=a-bo&&(r=yo(e.clientY-a)),this.setScrollSpeed(t,r)}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,r=Ag(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,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 Aw(n,e){let t=n.state.facet(ug);return t.length?t[0](e):_.mac?e.metaKey:e.ctrlKey}function Mw(n,e){let t=n.state.facet(dg);return t.length?t[0](e):_.mac?!e.altKey:!e.ctrlKey}function Nw(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let r=$i(n.root);if(!r||r.rangeCount==0)return!0;let i=r.getRangeAt(0).getClientRects();for(let s=0;s<i.length;s++){let o=i[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function Dw(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,r;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(r=Fe.get(t))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const It=Object.create(null),Mt=Object.create(null),Lg=_.ie&&_.ie_version<15||_.ios&&_.webkit_version<604;function Tw(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(),Ig(n,t.value)},50)}function Ra(n,e,t){for(let r of n.facet(e))t=r(t,n);return t}function Ig(n,e){e=Ra(n.state,Ph,e);let{state:t}=n,r,i=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Fc!=null&&t.selection.ranges.every(l=>l.empty)&&Fc==s.toString()){let l=-1;r=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let d=t.toText((o?s.line(i++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:d},range:T.cursor(c.from+d.length)}})}else o?r=t.changeByRange(l=>{let c=s.line(i++);return{changes:{from:l.from,to:l.to,insert:c.text},range:T.cursor(l.from+c.length)}}):r=t.replaceSelection(s);n.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Mt.scroll=n=>{n.inputState.lastScrollTop=n.scrollDOM.scrollTop,n.inputState.lastScrollLeft=n.scrollDOM.scrollLeft};It.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Mt.touchstart=(n,e)=>{n.inputState.lastTouchTime=Date.now(),n.inputState.setSelectionOrigin("select.pointer")};Mt.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};It.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let r of n.state.facet(fg))if(t=r(n,e),t)break;if(!t&&e.button==0&&(t=Rw(n,e)),t){let r=!n.hasFocus;n.inputState.startMouseSelection(new Pw(n,e,t,r)),r&&n.observer.ignore(()=>{ng(n.contentDOM);let s=n.root.activeElement;s&&!s.contains(n.contentDOM)&&s.blur()});let i=n.inputState.mouseSelection;if(i)return i.start(e),i.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function Dd(n,e,t,r){if(r==1)return T.cursor(e,t);if(r==2)return uw(n.state,e,t);{let i=n.docView.lineAt(e,t),s=n.state.doc.lineAt(i?i.posAtEnd:e),o=i?i.posAtStart:s.from,a=i?i.posAtEnd:s.to;return a<n.state.doc.length&&a==s.to&&a++,T.range(o,a)}}const Ew=_.ie&&_.ie_version<=11;let Td=null,Ed=0,Rd=0;function Bg(n){if(!Ew)return n.detail;let e=Td,t=Rd;return Td=n,Rd=Date.now(),Ed=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(Ed+1)%3:1}function Rw(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=Bg(e),i=n.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),i=i.map(s.changes))},get(s,o,a){let l=n.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Dd(n,l.pos,l.assoc,r);if(t.pos!=l.pos&&!o){let d=Dd(n,t.pos,t.assoc,r),f=Math.min(d.from,h.from),p=Math.max(d.to,h.to);h=f<h.from?T.range(f,p):T.range(p,f)}return o?i.replaceRange(i.main.extend(h.from,h.to)):a&&r==1&&i.ranges.length>1&&(c=Lw(i,l.pos))?c:a?i.addRange(h):T.create([h])}}}function Lw(n,e){for(let t=0;t<n.ranges.length;t++){let{from:r,to:i}=n.ranges[t];if(r<=e&&i>=e)return T.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}It.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 s=i.posAtStart,o=s+i.length;(s>=t.to||o<=t.from)&&(t=T.range(s,o))}}let{inputState:r}=n;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Ra(n.state,Ah,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};It.dragend=n=>(n.inputState.draggedContent=null,!1);function Ld(n,e,t,r){if(t=Ra(n.state,Ph,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=n.inputState,o=r&&s&&Mw(n,e)?{from:s.from,to:s.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}It.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let r=Array(t.length),i=0,s=()=>{++i==t.length&&Ld(n,e,r.filter(o=>o!=null).join(n.state.lineBreak),!1)};for(let o=0;o<t.length;o++){let a=new FileReader;a.onerror=s,a.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(r[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return Ld(n,e,r,!0),!0}return!1};It.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=Lg?null:e.clipboardData;return t?(Ig(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(Tw(n),!1)};function Iw(n,e){let t=n.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),n.focus()},50)}function Bw(n){let e=[],t=[],r=!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:s}of n.selection.ranges){let o=n.doc.lineAt(s);o.number>i&&(e.push(o.text),t.push({from:o.from,to:Math.min(n.doc.length,o.to+1)})),i=o.number}r=!0}return{text:Ra(n,Ah,e.join(n.lineBreak)),ranges:t,linewise:r}}let Fc=null;It.copy=It.cut=(n,e)=>{let{text:t,ranges:r,linewise:i}=Bw(n.state);if(!t&&!i)return!1;Fc=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=Lg?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(Iw(n,t),!1)};const $g=tn.define();function Fg(n,e){let t=[];for(let r of n.facet(gg)){let i=r(n,e);i&&t.push(i)}return t.length?n.update({effects:t,annotations:$g.of(!0)}):null}function Vg(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=Fg(n.state,e);t?n.dispatch(t):n.update([])}},10)}Mt.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),Vg(n)};Mt.blur=n=>{n.observer.clearSelectionRange(),Vg(n)};Mt.compositionstart=Mt.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};Mt.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,_.chrome&&_.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Mt.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};It.beforeinput=(n,e)=>{var t,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=n.posAtDOM(a.startContainer,a.startOffset),c=n.posAtDOM(a.endContainer,a.endOffset);return Dh(n,{from:l,to:c,insert:n.state.toText(s)},null),!0}}let i;if(_.chrome&&_.android&&(i=Eg.find(s=>s.inputType==e.inputType))&&(n.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let s=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return _.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),_.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Mt.compositionend(n,e),20),!1};const Id=new Set;function $w(n){Id.has(n)||(Id.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const Bd=["pre-wrap","normal","pre-line","break-spaces"];let Lr=!1;function $d(){Lr=!1}class Fw{constructor(e){this.lineWrapping=e,this.doc=xe.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}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 Bd.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r<e.length;r++){let i=e[r];i<0?r++:this.heightSamples[Math.floor(i*10)]||(t=!0,this.heightSamples[Math.floor(i*10)]=!0)}return t}refresh(e,t,r,i,s,o){let a=Bd.indexOf(e)>-1,l=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=r,this.textHeight=i,this.lineLength=s,l){this.heightSamples={};for(let c=0;c<o.length;c++){let h=o[c];h<0?c++:this.heightSamples[Math.floor(h*10)]=!0}}return l}}class Vw{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Et{constructor(e,t,r,i,s){this.from=e,this.length=t,this.top=r,this.height=i,this._content=s}get type(){return typeof this._content=="number"?Ye.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof rr?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Et(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var Pe=function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n}(Pe||(Pe={}));const Uo=.001;class ot{constructor(e,t,r=2){this.length=e,this.height=t,this.flags=r}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Uo&&(Lr=!0),this.height=e)}replace(e,t,r){return ot.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,i){let s=this,o=r.doc;for(let a=i.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:d}=i[a],f=s.lineAt(l,Pe.ByPosNoHeight,r.setDoc(t),0,0),p=f.to>=c?f:s.lineAt(c,Pe.ByPosNoHeight,r,0,0);for(d+=p.to-c,c=p.to;a>0&&f.from<=i[a-1].toA;)l=i[a-1].fromA,h=i[a-1].fromB,a--,l<f.from&&(f=s.lineAt(l,Pe.ByPosNoHeight,r,0,0));h+=f.from-l,l=f.from;let m=Th.build(r.setDoc(o),e,h,d);s=la(s,s.replace(l,c,m))}return s.updateHeight(r,0)}static empty(){return new gt(0,0,0)}static of(e){if(e.length==1)return e[0];let t=0,r=e.length,i=0,s=0;for(;;)if(t==r)if(i>s*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),r+=1+a.break,i-=a.size}else if(s>i*2){let a=e[r];a.break?e.splice(r,1,a.left,null,a.right):e.splice(r,1,a.left,a.right),r+=2+a.break,s-=a.size}else break;else if(i<s){let a=e[t++];a&&(i+=a.size)}else{let a=e[--r];a&&(s+=a.size)}let o=0;return e[t-1]==null?(o=1,t--):e[t]==null&&(o=1,r++),new Hw(ot.of(e.slice(0,t)),o,ot.of(e.slice(r)))}}function la(n,e){return n==e?n:(n.constructor!=e.constructor&&(Lr=!0),e)}ot.prototype.size=1;const zw=ne.replace({});class zg extends ot{constructor(e,t,r){super(e,t),this.deco=r,this.spaceAbove=0}mainBlock(e,t){return new Et(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,t,r,i){return this.spaceAbove&&e<r+this.spaceAbove?new Et(i,0,r,this.spaceAbove,zw):this.mainBlock(r,i)}lineAt(e,t,r,i,s){let o=this.mainBlock(i,s);return this.spaceAbove?this.blockAt(0,r,i,s).join(o):o}forEachLine(e,t,r,i,s,o){e<=s+this.length&&t>=s&&o(this.lineAt(0,Pe.ByPos,r,i,s))}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,r=!1,i){return i&&i.from<=t&&i.more&&this.setMeasuredHeight(i),this.outdated=!1,this}toString(){return`block(${this.length})`}}class gt extends zg{constructor(e,t,r){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,t){return new Et(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,r){let i=r[0];return r.length==1&&(i instanceof gt||i instanceof Ge&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof Ge?i=new gt(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):ot.of(r)}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more?this.setMeasuredHeight(i):(r||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 Ge extends ot{constructor(e){super(e,0)}heightMetrics(e,t){let r=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,s=i-r+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:r,lastLine:i,perLine:o,perChar:a}}blockAt(e,t,r,i){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,i);if(t.lineWrapping){let c=i+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length)),h=t.doc.lineAt(c),d=a+h.length*l,f=Math.max(r,e-d/2);return new Et(h.from,h.length,f,d,0)}else{let c=Math.max(0,Math.min(o-s,Math.floor((e-r)/a))),{from:h,length:d}=t.doc.line(s+c);return new Et(h,d,r+a*c,a,0)}}lineAt(e,t,r,i,s){if(t==Pe.ByHeight)return this.blockAt(e,r,i,s);if(t==Pe.ByPosNoHeight){let{from:p,to:m}=r.doc.lineAt(e);return new Et(p,m-p,0,0,0)}let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(r,s),c=r.doc.lineAt(e),h=a+c.length*l,d=c.number-o,f=i+a*d+l*(c.from-s-d);return new Et(c.from,c.length,Math.max(i,Math.min(f,i+this.height-h)),h,0)}forEachLine(e,t,r,i,s,o){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:a,perLine:l,perChar:c}=this.heightMetrics(r,s);for(let h=e,d=i;h<=t;){let f=r.doc.lineAt(h);if(h==e){let m=f.number-a;d+=l*m+c*(e-s-m)}let p=l+c*f.length;o(new Et(f.from,f.length,d,p,0)),d+=p,h=f.to+1}}replace(e,t,r){let i=this.length-t;if(i>0){let s=r[r.length-1];s instanceof Ge?r[r.length-1]=new Ge(s.length+i):r.push(null,new Ge(i-1))}if(e>0){let s=r[0];s instanceof Ge?r[0]=new Ge(e+s.length):r.unshift(new Ge(e-1),null)}return ot.of(r)}decomposeLeft(e,t){t.push(new Ge(e-1),null)}decomposeRight(e,t){t.push(null,new Ge(this.length-e-1))}updateHeight(e,t=0,r=!1,i){let s=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 Ge(i.from-t-1).updateHeight(e,t));a<=s&&i.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let d=i.heights[i.index++],f=0;d<0&&(f=-d,d=i.heights[i.index++]),l==-1?l=d:Math.abs(d-l)>=Uo&&(l=-2);let p=new gt(h,d,f);p.outdated=!1,o.push(p),a+=h+1}a<=s&&o.push(null,new Ge(s-a).updateHeight(e,a));let c=ot.of(o);return(l<0||Math.abs(c.height-this.height)>=Uo||Math.abs(l-this.heightMetrics(e,t).perLine)>=Uo)&&(Lr=!0),la(this,c)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class Hw extends ot{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,t,r,i){let s=r+this.left.height;return e<s?this.left.blockAt(e,t,r,i):this.right.blockAt(e,t,s,i+this.left.length+this.break)}lineAt(e,t,r,i,s){let o=i+this.left.height,a=s+this.left.length+this.break,l=t==Pe.ByHeight?e<o:e<a,c=l?this.left.lineAt(e,t,r,i,s):this.right.lineAt(e,t,r,o,a);if(this.break||(l?c.to<a:c.from>a))return c;let h=t==Pe.ByPosNoHeight?Pe.ByPosNoHeight:Pe.ByPos;return l?c.join(this.right.lineAt(a,h,r,o,a)):this.left.lineAt(a,h,r,i,s).join(c)}forEachLine(e,t,r,i,s,o){let a=i+this.left.height,l=s+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,t,r,i,s,o),t>=l&&this.right.forEachLine(e,t,r,a,l,o);else{let c=this.lineAt(l,Pe.ByPos,r,i,s);e<c.from&&this.left.forEachLine(e,c.from-1,r,i,s,o),c.to>=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,r,a,l,o)}}replace(e,t,r){let i=this.left.length+this.break;if(t<i)return this.balanced(this.left.replace(e,t,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,r));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of r)s.push(a);if(e>0&&Fd(s,o-1),t<this.length){let a=s.length;this.decomposeRight(t,s),Fd(s,a)}return ot.of(s)}decomposeLeft(e,t){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(r++,e>=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,i=r+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e<r&&this.left.decomposeRight(e,t),this.break&&e<i&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?ot.of(this.break?[e,null,t]:[e,t]):(this.left=la(this.left,e),this.right=la(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,r=!1,i){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return i&&i.from<=t+s.length&&i.more?l=s=s.updateHeight(e,t,r,i):s.updateHeight(e,t,r),i&&i.from<=a+o.length&&i.more?l=o=o.updateHeight(e,a,r,i):o.updateHeight(e,a,r),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Fd(n,e){let t,r;n[e]==null&&(t=n[e-1])instanceof Ge&&(r=n[e+1])instanceof Ge&&n.splice(e-1,3,new Ge(t.length+1+r.length))}const Ww=5;class Th{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 r=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof gt?i.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new gt(r-this.pos,-1,0)),this.writtenTo=r,t>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e<t||r.heightRelevant){let i=r.widget?r.widget.estimatedHeight:0,s=r.widget?r.widget.lineBreaks:0;i<0&&(i=this.oracle.lineHeight);let o=t-e;r.block?this.addBlock(new zg(o,i,r)):(o||s||i>=Ww)&&this.addLineDeco(i,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new gt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let r=new Ge(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof gt)return e;let t=new gt(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,r){let i=this.ensureLine();i.length+=r,i.collapsed+=r,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof gt)&&!this.isCovered?this.nodes.push(new gt(0,-1,0)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let r=e;for(let i of this.nodes)i instanceof gt&&i.updateHeight(this.oracle,r),r+=i?i.length:1;return this.nodes}static build(e,t,r,i){let s=new Th(r,e);return fe.spans(t,r,i,s,0),s.finish(r)}}function _w(n,e,t){let r=new Uw;return fe.compare(n,e,t,r,0),r.changes}class Uw{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,i){(e<t||r&&r.heightRelevant||i&&i.heightRelevant)&&Or(e,t,this.changes,5)}}function Kw(n,e){let t=n.getBoundingClientRect(),r=n.ownerDocument,i=r.defaultView||window,s=Math.max(0,t.left),o=Math.min(i.innerWidth,t.right),a=Math.max(0,t.top),l=Math.min(i.innerHeight,t.bottom);for(let c=n.parentNode;c&&c!=r.body;)if(c.nodeType==1){let h=c,d=window.getComputedStyle(h);if((h.scrollHeight>h.clientHeight||h.scrollWidth>h.clientWidth)&&d.overflow!="visible"){let f=h.getBoundingClientRect();s=Math.max(s,f.left),o=Math.min(o,f.right),a=Math.max(a,f.top),l=Math.min(c==n.parentNode?i.innerHeight:l,f.bottom)}c=d.position=="absolute"||d.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function Gw(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function qw(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class bl{constructor(e,t,r,i){this.from=e,this.to=t,this.size=r,this.displaySize=i}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++){let i=e[r],s=t[r];if(i.from!=s.from||i.to!=s.to||i.size!=s.size)return!1}return!0}draw(e,t){return ne.replace({widget:new Yw(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class Yw extends rn{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class Vd{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=zd,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Oe.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(Mh).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Fw(t),this.stateDeco=e.facet(zi).filter(r=>typeof r!="function"),this.heightMap=ot.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle.setDoc(e.doc),[new Ct(0,0,0,e.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ne.set(this.lineGaps.map(r=>r.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let i=r?t.head:t.anchor;if(!e.some(({from:s,to:o})=>i>=s&&i<=o)){let{from:s,to:o}=this.lineBlockAt(i);e.push(new xo(s,o))}}return this.viewports=e.sort((r,i)=>r.from-i.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?zd:new Eh(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(gi(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(zi).filter(h=>typeof h!="function");let i=e.changedRanges,s=Ct.extendWithRanges(i,_w(r,this.stateDeco,e?e.changes:Ve.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);$d(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Lr)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<l.from||t.range.head>l.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.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(yg)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),i=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Oe.RTL:Oe.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),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:O,scaleY:C}=tg(t,a);(O>.005&&Math.abs(this.scaleX-O)>.005||C>.005&&Math.abs(this.scaleY-C)>.005)&&(this.scaleX=O,this.scaleY=C,c|=16,o=l=!0)}let d=(parseInt(r.paddingTop)||0)*this.scaleY,f=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=d||this.paddingBottom!=f)&&(this.paddingTop=d,this.paddingBottom=f,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let p=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=p&&(this.scrollAnchorHeight=-1,this.scrollTop=p),this.scrolledToBottom=rg(e.scrollDOM);let m=(this.printing?qw:Kw)(t,this.paddingTop),b=m.top-this.pixelViewport.top,y=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let v=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(v!=this.inView&&(this.inView=v,v&&(l=!0)),!this.inView&&!this.scrollTarget&&!Gw(e.dom))return 0;let k=a.width;if((this.contentDOMWidth!=k||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let O=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(O)&&(o=!0),o||i.lineWrapping&&Math.abs(k-this.contentDOMWidth)>i.charWidth){let{lineHeight:C,charWidth:P,textHeight:x}=e.docView.measureTextSize();o=C>0&&i.refresh(s,C,P,x,Math.max(5,k/P),O),o&&(e.docView.minWidth=0,c|=16)}b>0&&y>0?h=Math.max(b,y):b<0&&y<0&&(h=Math.min(b,y)),$d();for(let C of this.viewports){let P=C.from==this.viewport.from?O:e.docView.measureVisibleLineHeights(C);this.heightMap=(o?ot.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle,[new Ct(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new Vw(C.from,P))}Lr&&(c|=2)}let S=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return S&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||S)&&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 r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new xo(i.lineAt(o-r*1e3,Pe.ByHeight,s,0,0).from,i.lineAt(a+(1-r)*1e3,Pe.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(c<l.from||c>l.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),d=i.lineAt(c,Pe.ByPos,s,0,0),f;t.y=="center"?f=(d.top+d.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c<l.from?f=d.top:f=d.bottom-h,l=new xo(i.lineAt(f-1e3/2,Pe.ByHeight,s,0,0).from,i.lineAt(f+h+1e3/2,Pe.ByHeight,s,0,0).to)}}return l}mapViewport(e,t){let r=t.mapPos(e.from,-1),i=t.mapPos(e.to,1);return new xo(this.heightMap.lineAt(r,Pe.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,Pe.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},r=0){if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(e,Pe.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,Pe.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:a}=this;return(e==0||i<=o-Math.max(10,Math.min(-r,250)))&&(t==this.state.doc.length||s>=a+Math.max(10,Math.min(r,250)))&&i>o-2*1e3&&s<a+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let r=[];for(let i of e)t.touchesRange(i.from,i.to)||r.push(new bl(t.mapPos(i.from),t.mapPos(i.to),i.size,i.displaySize));return r}ensureLineGaps(e,t){let r=this.heightOracle.lineWrapping,i=r?1e4:2e3,s=i>>1,o=i<<1;if(this.defaultTextDirection!=Oe.LTR&&!r)return[];let a=[],l=(h,d,f,p)=>{if(d-h<s)return;let m=this.state.selection.main,b=[m.from];m.empty||b.push(m.to);for(let v of b)if(v>h&&v<d){l(h,v-10,f,p),l(v+10,d,f,p);return}let y=Jw(e,v=>v.from>=f.from&&v.to<=f.to&&Math.abs(v.from-h)<s&&Math.abs(v.to-d)<s&&!b.some(k=>v.from<k&&v.to>k));if(!y){if(d<f.to&&t&&r&&t.visibleRanges.some(S=>S.from<=d&&S.to>=d)){let S=t.moveToLineBoundary(T.cursor(d),!1,!0).head;S>h&&(d=S)}let v=this.gapSize(f,h,d,p),k=r||v<2e6?v:2e6;y=new bl(h,d,v,k)}a.push(y)},c=h=>{if(h.length<o||h.type!=Ye.Text)return;let d=Qw(h.from,h.to,this.stateDeco);if(d.total<o)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,p,m;if(r){let b=i/this.heightOracle.lineLength*this.heightOracle.lineHeight,y,v;if(f!=null){let k=wo(d,f),S=((this.visibleBottom-this.visibleTop)/2+b)/h.height;y=k-S,v=k+S}else y=(this.visibleTop-h.top-b)/h.height,v=(this.visibleBottom-h.top+b)/h.height;p=vo(d,y),m=vo(d,v)}else{let b=d.total*this.heightOracle.charWidth,y=i*this.heightOracle.charWidth,v=0;if(b>2e6)for(let P of e)P.from>=h.from&&P.from<h.to&&P.size!=P.displaySize&&P.from*this.heightOracle.charWidth+v<this.pixelViewport.left&&(v=P.size-P.displaySize);let k=this.pixelViewport.left+v,S=this.pixelViewport.right+v,O,C;if(f!=null){let P=wo(d,f),x=((S-k)/2+y)/b;O=P-x,C=P+x}else O=(k-y)/b,C=(S+y)/b;p=vo(d,O),m=vo(d,C)}p>h.from&&l(h.from,p,h,d),m<h.to&&l(m,h.to,h,d)};for(let h of this.viewportLines)Array.isArray(h.type)?h.type.forEach(c):c(h);return a}gapSize(e,t,r,i){let s=wo(i,r)-wo(i,t);return this.heightOracle.lineWrapping?e.height*s:i.total*this.heightOracle.charWidth*s}updateLineGaps(e){bl.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ne.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let r=[];fe.spans(t,this.viewport.from,this.viewport.to,{span(s,o){r.push({from:s,to:o})},point(){}},20);let i=0;if(r.length!=this.visibleRanges.length)i=12;else for(let s=0;s<r.length&&!(i&8);s++){let o=this.visibleRanges[s],a=r[s];(o.from!=a.from||o.to!=a.to)&&(i|=4,e&&e.mapPos(o.from,-1)==a.from&&e.mapPos(o.to,1)==a.to||(i|=8))}return this.visibleRanges=r,i}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||gi(this.heightMap.lineAt(e,Pe.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)||gi(this.heightMap.lineAt(this.scaler.fromDOM(e),Pe.ByHeight,this.heightOracle,0,0),this.scaler)}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 gi(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 xo{constructor(e,t){this.from=e,this.to=t}}function Qw(n,e,t){let r=[],i=n,s=0;return fe.spans(t,n,e,{span(){},point(o,a){o>i&&(r.push({from:i,to:o}),s+=o-i),i=a}},20),i<e&&(r.push({from:i,to:e}),s+=e-i),{total:s,ranges:r}}function vo({total:n,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let r=Math.floor(n*t);for(let i=0;;i++){let{from:s,to:o}=e[i],a=o-s;if(r<=a)return s+r;r-=a}}function wo(n,e){let t=0;for(let{from:r,to:i}of n.ranges){if(e<=i){t+=e-r;break}t+=i-r}return t/n.total}function Jw(n,e){for(let t of n)if(e(t))return t}const zd={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};class Eh{constructor(e,t,r){let i=0,s=0,o=0;this.viewports=r.map(({from:a,to:l})=>{let c=t.lineAt(a,Pe.ByPos,e,0,0).top,h=t.lineAt(l,Pe.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-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,r=0,i=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return i+(e-r)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);r=s.bottom,i=s.domBottom}}fromDOM(e){for(let t=0,r=0,i=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return r+(e-i)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);r=s.bottom,i=s.domBottom}}eq(e){return e instanceof Eh?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,r)=>t.from==e.viewports[r].from&&t.to==e.viewports[r].to):!1}}function gi(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),r=e.toDOM(n.bottom);return new Et(n.from,n.length,t,r-t,Array.isArray(n._content)?n._content.map(i=>gi(i,e)):n._content)}const ko=U.define({combine:n=>n.join(" ")}),Vc=U.define({combine:n=>n.indexOf(!0)>-1}),zc=Rn.newName(),Hg=Rn.newName(),Wg=Rn.newName(),_g={"&light":"."+Hg,"&dark":"."+Wg};function Hc(n,e,t){return new Rn(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,i=>{if(i=="&")return n;if(!t||!t[i])throw new RangeError(`Unsupported selector: ${i}`);return t[i]}):n+" "+r}})}const Xw=Hc("."+zc,{"&":{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":{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-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"},"&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,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,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"}},_g),Zw={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},yl=_.ie&&_.ie_version<=11;class ek{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new D2,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 r of t)this.queue.push(r);(_.ie&&_.ie_version<=11||_.ios&&e.composing)&&t.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&_.android&&e.constructor.EDIT_CONTEXT!==!1&&!(_.chrome&&_.chrome_version<126)&&(this.editContext=new nk(e),e.state.facet(hn)&&(e.contentDOM.editContext=this.editContext.editContext)),yl&&(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)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{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,r)=>t!=e[r]))){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:r}=this,i=this.selectionRange;if(r.state.facet(hn)?r.root.activeElement!=this.dom:!_o(this.dom,i))return;let s=i.anchorNode&&r.docView.tile.nearest(i.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(_.ie&&_.ie_version<=11||_.android&&_.chrome)&&!r.state.selection.main.empty&&i.focusNode&&Si(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=$i(e.root);if(!t)return!1;let r=_.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&tk(this.view,t)||t;if(!r||this.selectionRange.eq(r))return!1;let i=_o(this.dom,r);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&E2(this.dom,r)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(r),i&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let r=this.dom;r;)if(r.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);for(let r of this.scrollTargets=t)r.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,Zw),yl&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),yl&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var r;if(!this.delayedAndroidKey){let i=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Pr(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((r=this.delayedAndroidKey)===null||r===void 0)&&r.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{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,r=-1,i=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(i=!0),t==-1?{from:t,to:r}=o:(t=Math.min(o.from,t),r=Math.max(o.to,r)))}return{from:t,to:r,typeOver:i}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),i=this.selectionChanged&&_o(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 s=new xw(this.view,e,t,r);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}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 r=this.view.state,i=Dg(this.view,t);return this.view.state==r&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.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 r=Hd(t,e.previousSibling||e.target.previousSibling,-1),i=Hd(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):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(hn)!=e.state.facet(hn)&&(e.view.contentDOM.editContext=e.state.facet(hn)?this.editContext.editContext:null))}destroy(){var e,t,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.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 Hd(n,e,t){for(;e;){let r=Fe.get(e);if(r&&r.parent==n)return r;let i=e.parentNode;e=i!=n.dom?i:t>0?e.nextSibling:e.previousSibling}return null}function Wd(n,e){let t=e.startContainer,r=e.startOffset,i=e.endContainer,s=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor,1);return Si(o.node,o.offset,i,s)&&([t,r,i,s]=[i,s,t,r]),{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}}function tk(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return Wd(n,i)}let t=null;function r(i){i.preventDefault(),i.stopImmediatePropagation(),t=i.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",r,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",r,!0),t?Wd(n,t):null}class nk{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=r=>{let i=e.state.selection.main,{anchor:s,head:o}=i,a=this.toEditorPos(r.updateRangeStart),l=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>r.text.length;a==this.from&&s<this.from?a=s:l==this.to&&s>this.to&&(l=s);let h=Tg(e.state.sliceDoc(a,l),r.text,(c?i.from:i.to)-a,c?"end":null);if(!h){let f=T.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));f.main.eq(i)||e.dispatch({selection:f,userEvent:"select"});return}let d={from:h.from+a,to:h.toA+a,insert:xe.of(r.text.slice(h.from,h.toB).split(`
61
- `))};if((_.mac||_.android)&&d.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(d={from:a,to:l,insert:xe.of([r.text.replace("."," ")])}),this.pendingContextChange=d,!e.state.readOnly){let f=this.to-this.from+(d.to-d.from+d.insert.length);Dh(e,d,T.single(this.toEditorPos(r.selectionStart,f),this.toEditorPos(r.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),d.from<d.to&&!d.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(t.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let i=[],s=null;for(let o=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,i.push(s)}t.updateCharacterBounds(r.rangeStart,i)},this.handlers.textformatupdate=r=>{let i=[];for(let s of r.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l<c){let h=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;i.push(ne.mark({attributes:{style:h}}).range(l,c))}}}e.dispatch({effects:vg.of(ne.set(i))})},this.handlers.compositionstart=()=>{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:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)t.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let i=$i(r.root);i&&i.rangeCount&&this.editContext.updateSelectionBounds(i.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,r=!1,i=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(r)return;let h=c.length-(o-s);if(i&&o>=i.to)if(i.from==s&&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(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),i&&!r&&this.revertPending(e.state),!r}update(e){let t=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.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,r=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=i)&&this.editContext.updateSelection(r,i)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.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 H{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:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(i=>i.forEach(s=>r(s,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=e.root||T2(e.parent)||document,this.viewState=new Vd(e.state||pe.create(e)),e.scrollTo&&e.scrollTo.is(go)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(yr).map(i=>new dl(i));for(let i of this.plugins)i.update(this);this.observer=new ek(this),this.inputState=new Sw(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Od(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof He?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,r=!1,i,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(f=>f.annotation($g))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Fg(s,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(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(pe.phrases)!=this.state.facet(pe.phrases))return this.setState(s);i=sa.create(this,s,e),i.flags|=a;let d=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(d&&(d=d.map(f.changes)),f.scrollIntoView){let{main:p}=f.state.selection;d=new Ar(p.empty?p:T.cursor(p.head,p.head>p.anchor?-1:1))}for(let p of f.effects)p.is(go)&&(d=p.value.clip(this.state))}this.viewState.update(i,d),this.bidiCache=ca.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(pi)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(ko)!=i.state.facet(ko)&&(this.viewState.mustMeasureContent=!0),(t||r||d||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!i.empty)for(let f of this.state.facet(Lc))try{f(i)}catch(p){ht(this.state,p,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!Dg(this,h)&&c.force&&Pr(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 r of this.plugins)r.destroy(this);this.viewState=new Vd(e),this.plugins=e.facet(yr).map(r=>new dl(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new Od(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(yr),r=e.state.facet(yr);if(t!=r){let i=[];for(let s of r){let o=t.indexOf(s);if(o<0)i.push(new dl(s));else{let a=this.plugins[o];a.mustUpdate=e,i.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i<this.plugins.length;i++)this.plugins[i].update(this);t!=r&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(r){ht(this.state,r,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-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,r=this.scrollDOM,i=r.scrollTop*this.scaleY,{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(i-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(rg(r))s=-1,o=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(i);s=p.from,o=p.top}this.updateState=1;let l=this.viewState.measure(this);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 ht(this.state,m),_d}}),d=sa.create(this,this.state,[]),f=!1;d.flags|=l,t?t.flags|=l:t=d,this.updateState=2,d.empty||(this.updatePlugins(d),this.inputState.update(d),this.updateAttrs(),f=this.docView.update(d),f&&this.docViewUpdate());for(let p=0;p<c.length;p++)if(h[p]!=_d)try{let m=c[p];m.write&&m.write(h[p],this)}catch(m){ht(this.state,m)}if(f&&this.docView.updateSelection(!0),!d.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let m=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-o;if(m>1||m<-1){i=i+m,r.scrollTop=i/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(Lc))a(t)}get themeClasses(){return zc+" "+(this.state.facet(Vc)?Wg:Hg)+" "+this.state.facet(ko)}updateAttrs(){let e=Ud(this,wg,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(hn)?"true":"false",class:"cm-content",style:`${_.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Ud(this,Mh,t);let r=this.observer.ignore(()=>{let i=vd(this.contentDOM,this.contentAttrs,t),s=vd(this.dom,this.editorAttrs,e);return i||s});return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let i of r.effects)if(i.is(H.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(pi);let e=this.state.facet(H.cspNonce);Rn.mount(this.root,this.styleModules.concat(Xw).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;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(r=>r.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,r){return gl(this,e,Pd(this,e,t,r))}moveByGroup(e,t){return gl(this,e,Pd(this,e,t,r=>pw(this,e.head,r)))}visualLineSide(e,t){let r=this.bidiSpans(e),i=this.textDirectionAt(e.from),s=r[t?r.length-1:0];return T.cursor(s.side(t,i)+e.from,s.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,r=!0){return fw(this,e,t,r)}moveVertically(e,t,r){return gl(this,e,mw(this,e,t,r))}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 r=$c(this,e,t);return r&&r.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),$c(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.docView.coordsAt(e,t);if(!r||r.left==r.right)return r;let i=this.state.doc.lineAt(e),s=this.bidiSpans(i),o=s[dn.find(s,e-i.from,-1,t)];return Fi(r,o.dir==Oe.LTR==t>0)}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(bg)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>rk)return cg(e.length);let t=this.textDirectionAt(e.from),r;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||lg(s.isolates,r=Sd(this,e))))return s.order;r||(r=Sd(this,e));let i=V2(e.text,t,r);return this.bidiCache.push(new ca(e.from,e.to,t,r,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||_.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{ng(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={}){return go.of(new Ar(typeof e=="number"?T.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return go.of(new Ar(T.cursor(r.from),"start","start",r.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 $e.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return $e.define(()=>({}),{eventObservers:e})}static theme(e,t){let r=Rn.newName(),i=[ko.of(r),pi.of(Hc(`.${r}`,e))];return t&&t.dark&&i.push(Vc.of(!0)),i}static baseTheme(e){return lr.lowest(pi.of(Hc("."+zc,e,_g)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),i=r&&Fe.get(r)||Fe.get(e);return((t=i?.root)===null||t===void 0?void 0:t.view)||null}}H.styleModule=pi;H.inputHandler=mg;H.clipboardInputFilter=Ph;H.clipboardOutputFilter=Ah;H.scrollHandler=xg;H.focusChangeEffect=gg;H.perLineTextDirection=bg;H.exceptionSink=pg;H.updateListener=Lc;H.editable=hn;H.mouseSelectionStyle=fg;H.dragMovesSelection=dg;H.clickAddsSelectionRange=ug;H.decorations=zi;H.blockWrappers=kg;H.outerDecorations=Sg;H.atomicRanges=Fs;H.bidiIsolatedRanges=Cg;H.scrollMargins=jg;H.darkTheme=Vc;H.cspNonce=U.define({combine:n=>n.length?n[0]:""});H.contentAttributes=Mh;H.editorAttributes=wg;H.lineWrapping=H.contentAttributes.of({class:"cm-lineWrapping"});H.announce=ae.define();const rk=4096,_d={};class ca{constructor(e,t,r,i,s,o){this.from=e,this.to=t,this.dir=r,this.isolates=i,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let r=[],i=e.length?e[e.length-1].dir:Oe.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==i&&!t.touchesRange(o.from,o.to)&&r.push(new ca(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return r}}function Ud(n,e,t){for(let r=n.state.facet(e),i=r.length-1;i>=0;i--){let s=r[i],o=typeof s=="function"?s(n):s;o&&Ch(o,t)}return t}const ik=_.mac?"mac":_.windows?"win":_.linux?"linux":"key";function sk(n,e){const t=n.split(/-(?!$)/);let r=t[t.length-1];r=="Space"&&(r=" ");let i,s,o,a;for(let l=0;l<t.length-1;++l){const c=t[l];if(/^(cmd|meta|m)$/i.test(c))a=!0;else if(/^a(lt)?$/i.test(c))i=!0;else if(/^(c|ctrl|control)$/i.test(c))s=!0;else if(/^s(hift)?$/i.test(c))o=!0;else if(/^mod$/i.test(c))e=="mac"?a=!0:s=!0;else throw new Error("Unrecognized modifier name: "+c)}return i&&(r="Alt-"+r),s&&(r="Ctrl-"+r),a&&(r="Meta-"+r),o&&(r="Shift-"+r),r}function So(n,e,t){return e.altKey&&(n="Alt-"+n),e.ctrlKey&&(n="Ctrl-"+n),e.metaKey&&(n="Meta-"+n),t!==!1&&e.shiftKey&&(n="Shift-"+n),n}const ok=lr.default(H.domEventHandlers({keydown(n,e){return Kg(Ug(e.state),n,e,"editor")}})),La=U.define({enables:ok}),Kd=new WeakMap;function Ug(n){let e=n.facet(La),t=Kd.get(e);return t||Kd.set(e,t=ck(e.reduce((r,i)=>r.concat(i),[]))),t}function ak(n,e,t){return Kg(Ug(n.state),e,n,t)}let On=null;const lk=4e3;function ck(n,e=ik){let t=Object.create(null),r=Object.create(null),i=(o,a)=>{let l=r[o];if(l==null)r[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")},s=(o,a,l,c,h)=>{var d,f;let p=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(v=>sk(v,e));for(let v=1;v<m.length;v++){let k=m.slice(0,v).join(" ");i(k,!0),p[k]||(p[k]={preventDefault:!0,stopPropagation:!1,run:[S=>{let O=On={view:S,prefix:k,scope:o};return setTimeout(()=>{On==O&&(On=null)},lk),!0}]})}let b=m.join(" ");i(b,!1);let y=p[b]||(p[b]={preventDefault:!1,stopPropagation:!1,run:((f=(d=p._any)===null||d===void 0?void 0:d.run)===null||f===void 0?void 0:f.slice())||[]});l&&y.run.push(l),c&&(y.preventDefault=!0),h&&(y.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:d}=o;for(let f in h)h[f].run.push(p=>d(p,Wc))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}let Wc=null;function Kg(n,e,t,r){Wc=e;let i=S2(e),s=at(i,0),o=Gt(s)==i.length&&i!=" ",a="",l=!1,c=!1,h=!1;On&&On.view==t&&On.scope==r&&(a=On.prefix+" ",Rg.indexOf(e.keyCode)<0&&(c=!0,On=null));let d=new Set,f=y=>{if(y){for(let v of y.run)if(!d.has(v)&&(d.add(v),v(t)))return y.stopPropagation&&(h=!0),!0;y.preventDefault&&(y.stopPropagation&&(h=!0),c=!0)}return!1},p=n[r],m,b;return p&&(f(p[a+So(i,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(_.windows&&e.ctrlKey&&e.altKey)&&!(_.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Ln[e.keyCode])&&m!=i?(f(p[a+So(m,e,!0)])||e.shiftKey&&(b=Ii[e.keyCode])!=i&&b!=m&&f(p[a+So(b,e,!1)]))&&(l=!0):o&&e.shiftKey&&f(p[a+So(i,e,!0)])&&(l=!0),!l&&f(p._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Wc=null,l}class Vs{constructor(e,t,r,i,s){this.className=e,this.left=t,this.top=r,this.width=i,this.height=s}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,r){if(r.empty){let i=e.coordsAtPos(r.head,r.assoc||1);if(!i)return[];let s=Gg(e);return[new Vs(t,i.left-s.left,i.top-s.top,null,i.bottom-i.top)]}else return hk(e,t,r)}}function Gg(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==Oe.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function Gd(n,e,t,r){let i=n.coordsAtPos(e,t*2);if(!i)return r;let s=n.dom.getBoundingClientRect(),o=(i.top+i.bottom)/2,a=n.posAtCoords({x:s.left+1,y:o}),l=n.posAtCoords({x:s.right-1,y:o});return a==null||l==null?r:{from:Math.max(r.from,Math.min(a,l)),to:Math.min(r.to,Math.max(a,l))}}function hk(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let r=Math.max(t.from,n.viewport.from),i=Math.min(t.to,n.viewport.to),s=n.textDirection==Oe.LTR,o=n.contentDOM,a=o.getBoundingClientRect(),l=Gg(n),c=o.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),d=a.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=a.right-(h?parseInt(h.paddingRight):0),p=Bc(n,r,1),m=Bc(n,i,-1),b=p.type==Ye.Text?p:null,y=m.type==Ye.Text?m:null;if(b&&(n.lineWrapping||p.widgetLineBreaks)&&(b=Gd(n,r,1,b)),y&&(n.lineWrapping||m.widgetLineBreaks)&&(y=Gd(n,i,-1,y)),b&&y&&b.from==y.from&&b.to==y.to)return k(S(t.from,t.to,b));{let C=b?S(t.from,null,b):O(p,!1),P=y?S(null,t.to,y):O(m,!0),x=[];return(b||p).to<(y||m).from-(b&&y?1:0)||p.widgetLineBreaks>1&&C.bottom+n.defaultLineHeight/2<P.top?x.push(v(d,C.bottom,f,P.top)):C.bottom<P.top&&n.elementAtHeight((C.bottom+P.top)/2).type==Ye.Text&&(C.bottom=P.top=(C.bottom+P.top)/2),k(C).concat(x).concat(k(P))}function v(C,P,x,N){return new Vs(e,C-l.left,P-l.top,x-C,N-P)}function k({top:C,bottom:P,horizontal:x}){let N=[];for(let D=0;D<x.length;D+=2)N.push(v(x[D],C,x[D+1],P));return N}function S(C,P,x){let N=1e9,D=-1e9,L=[];function R(V,$,q,he,W){let Y=n.coordsAtPos(V,V==x.to?-2:2),se=n.coordsAtPos(q,q==x.from?2:-2);!Y||!se||(N=Math.min(Y.top,se.top,N),D=Math.max(Y.bottom,se.bottom,D),W==Oe.LTR?L.push(s&&$?d:Y.left,s&&he?f:se.right):L.push(!s&&he?d:se.left,!s&&$?f:Y.right))}let B=C??x.from,G=P??x.to;for(let V of n.visibleRanges)if(V.to>B&&V.from<G)for(let $=Math.max(V.from,B),q=Math.min(V.to,G);;){let he=n.state.doc.lineAt($);for(let W of n.bidiSpans(he)){let Y=W.from+he.from,se=W.to+he.from;if(Y>=q)break;se>$&&R(Math.max(Y,$),C==null&&Y<=B,Math.min(se,q),P==null&&se>=G,W.dir)}if($=he.to+1,$>=q)break}return L.length==0&&R(B,C==null,G,P==null,n.textDirection),{top:N,bottom:D,horizontal:L}}function O(C,P){let x=a.top+(P?C.top:C.bottom);return{top:x,bottom:x,horizontal:[]}}}function uk(n,e){return n.constructor==e.constructor&&n.eq(e)}class dk{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(Ko)!=e.state.facet(Ko)&&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,r=e.facet(Ko);for(;t<r.length&&r[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,r)=>!uk(t,this.drawn[r]))){let t=this.dom.firstChild,r=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[r].constructor&&i.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(i.draw(),t);for(;t;){let i=t.nextSibling;t.remove(),t=i}this.drawn=e,_.safari&&_.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Ko=U.define();function qg(n){return[$e.define(e=>new dk(e,n)),Ko.of(n)]}const Hi=U.define({combine(n){return nn(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function fk(n={}){return[Hi.of(n),pk,mk,gk,yg.of(!0)]}function Yg(n){return n.startState.facet(Hi)!=n.state.facet(Hi)}const pk=qg({above:!0,markers(n){let{state:e}=n,t=e.facet(Hi),r=[];for(let i of e.selection.ranges){let s=i==e.selection.main;if(i.empty||t.drawRangeCursor){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=i.empty?i:T.cursor(i.head,i.head>i.anchor?-1:1);for(let l of Vs.forRange(n,o,a))r.push(l)}}return r},update(n,e){n.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Yg(n);return t&&qd(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){qd(e.state,n)},class:"cm-cursorLayer"});function qd(n,e){e.style.animationDuration=n.facet(Hi).cursorBlinkRate+"ms"}const mk=qg({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:Vs.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||Yg(n)},class:"cm-selectionLayer"}),gk=lr.highest(H.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),Qg=ae.define({map(n,e){return n==null?null:e.mapPos(n)}}),bi=Qe.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,r)=>r.is(Qg)?r.value:t,n)}}),bk=$e.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(bi);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(bi)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(bi),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let r=n.scrollDOM.getBoundingClientRect();return{left:t.left-r.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-r.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(bi)!=n&&this.view.dispatch({effects:Qg.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function yk(){return[bi,bk]}function Yd(n,e,t,r,i){e.lastIndex=0;for(let s=n.iterRange(t,r),o=t,a;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;a=e.exec(s.value);)i(o+a.index,a)}function xk(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let r=[];for(let{from:i,to:s}of t)i=Math.max(n.state.doc.lineAt(i).from,i-e),s=Math.min(n.state.doc.lineAt(s).to,s+e),r.length&&r[r.length-1].to>=i?r[r.length-1].to=s:r.push({from:i,to:s});return r}class vk{constructor(e){const{regexp:t,decoration:r,decorate:i,boundary:s,maxLength:o=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,i)this.addMatch=(a,l,c,h)=>i(h,c,c+a[0].length,a,l);else if(typeof r=="function")this.addMatch=(a,l,c,h)=>{let d=r(a,l,c);d&&h(c,c+a[0].length,d)};else if(r)this.addMatch=(a,l,c,h)=>h(c,c+a[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=o}createDeco(e){let t=new fn,r=t.add.bind(t);for(let{from:i,to:s}of xk(e,this.maxLength))Yd(e.state.doc,this.regexp,i,s,(o,a)=>this.addMatch(a,e,o,r));return t.finish()}updateDeco(e,t){let r=1e9,i=-1;return e.docChanged&&e.changes.iterChanges((s,o,a,l)=>{l>=e.view.viewport.from&&a<=e.view.viewport.to&&(r=Math.min(a,r),i=Math.max(l,i))}),e.viewportMoved||i-r>1e3?this.createDeco(e.view):i>-1?this.updateRange(e.view,t.map(e.changes),r,i):t}updateRange(e,t,r,i){for(let s of e.visibleRanges){let o=Math.max(s.from,r),a=Math.min(s.to,i);if(a>=o){let l=e.state.doc.lineAt(o),c=l.to<a?e.state.doc.lineAt(a):l,h=Math.max(s.from,l.from),d=Math.min(s.to,c.to);if(this.boundary){for(;o>l.from;o--)if(this.boundary.test(l.text[o-1-l.from])){h=o;break}for(;a<c.to;a++)if(this.boundary.test(c.text[a-c.from])){d=a;break}}let f=[],p,m=(b,y,v)=>f.push(v.range(b,y));if(l==c)for(this.regexp.lastIndex=h-l.from;(p=this.regexp.exec(l.text))&&p.index<d-l.from;)this.addMatch(p,e,p.index+l.from,m);else Yd(e.state.doc,this.regexp,h,d,(b,y)=>this.addMatch(y,e,b,m));t=t.update({filterFrom:h,filterTo:d,filter:(b,y)=>b<h||y>d,add:f})}}return t}}const _c=/x/.unicode!=null?"gu":"g",wk=new RegExp(`[\0-\b
62
- --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,_c),kk={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let xl=null;function Sk(){var n;if(xl==null&&typeof document<"u"&&document.body){let e=document.body.style;xl=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return xl||!1}const Go=U.define({combine(n){let e=nn(n,{render:null,specialChars:wk,addSpecialChars:null});return(e.replaceTabs=!Sk())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,_c)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,_c)),e}});function Ck(n={}){return[Go.of(n),jk()]}let Qd=null;function jk(){return Qd||(Qd=$e.fromClass(class{constructor(n){this.view=n,this.decorations=ne.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(Go)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new vk({regexp:n.specialChars,decoration:(e,t,r)=>{let{doc:i}=t.state,s=at(e[0],0);if(s==9){let o=i.lineAt(r),a=t.state.tabSize,l=Vr(o.text,a,r-o.from);return ne.replace({widget:new Mk((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=ne.replace({widget:new Ak(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(Go);n.startState.facet(Go)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const Ok="•";function Pk(n){return n>=32?Ok:n==10?"␤":String.fromCharCode(9216+n)}class Ak extends rn{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Pk(this.code),r=e.state.phrase("Control character")+" "+(kk[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,r,t);if(i)return i;let s=document.createElement("span");return s.textContent=t,s.title=r,s.setAttribute("aria-label",r),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class Mk extends rn{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function Nk(){return Tk}const Dk=ne.line({class:"cm-activeLine"}),Tk=$e.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 r of n.state.selection.ranges){let i=n.lineBlockAt(r.head);i.from>e&&(t.push(Dk.range(i.from)),e=i.from)}return ne.set(t)}},{decorations:n=>n.decorations});class Ek extends rn{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?ki(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),i=Fi(t[0],r.direction!="rtl"),s=parseInt(r.lineHeight);return i.bottom-i.top>s*1.5?{left:i.left,right:i.right,top:i.top,bottom:i.top+s}:i}ignoreEvent(){return!1}}function Rk(n){let e=$e.fromClass(class{constructor(t){this.view=t,this.placeholder=n?ne.set([ne.widget({widget:new Ek(n),side:1}).range(0)]):ne.none}get decorations(){return this.view.state.doc.length?ne.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,H.contentAttributes.of({"aria-placeholder":n})]:e}const Uc=2e3;function Lk(n,e,t){let r=Math.min(e.line,t.line),i=Math.max(e.line,t.line),s=[];if(e.off>Uc||t.off>Uc||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=r;l<=i;l++){let c=n.doc.line(l);c.length<=a&&s.push(T.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=r;l<=i;l++){let c=n.doc.line(l),h=Cc(c.text,o,n.tabSize,!0);if(h<0)s.push(T.cursor(c.to));else{let d=Cc(c.text,a,n.tabSize);s.push(T.range(c.from+h,c.from+d))}}}return s}function Ik(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function Jd(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),r=n.state.doc.lineAt(t),i=t-r.from,s=i>Uc?-1:i==r.length?Ik(n,e.clientX):Vr(r.text,n.state.tabSize,t-r.from);return{line:r.number,col:s,off:i}}function Bk(n,e){let t=Jd(n,e),r=n.state.selection;return t?{update(i){if(i.docChanged){let s=i.changes.mapPos(i.startState.doc.line(t.line).from),o=i.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},r=r.map(i.changes)}},get(i,s,o){let a=Jd(n,i);if(!a)return r;let l=Lk(n.state,t,a);return l.length?o?T.create(l.concat(r.ranges)):T.create(l):r}}:null}function $k(n){let e=t=>t.altKey&&t.button==0;return H.mouseSelectionStyle.of((t,r)=>e(r)?Bk(t,r):null)}const Fk={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},Vk={style:"cursor: crosshair"};function zk(n={}){let[e,t]=Fk[n.key||"Alt"],r=$e.fromClass(class{constructor(i){this.view=i,this.isDown=!1}set(i){this.isDown!=i&&(this.isDown=i,this.view.update([]))}},{eventObservers:{keydown(i){this.set(i.keyCode==e||t(i))},keyup(i){(i.keyCode==e||!t(i))&&this.set(!1)},mousemove(i){this.set(t(i))}}});return[r,H.contentAttributes.of(i=>{var s;return!((s=i.plugin(r))===null||s===void 0)&&s.isDown?Vk:null})]}const Co="-10000px";class Jg{constructor(e,t,r,i){this.facet=t,this.createTooltipView=r,this.removeTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter(o=>o);let s=null;this.tooltipViews=this.tooltips.map(o=>s=r(o,s))}update(e,t){var r;let i=e.state.facet(this.facet),s=i.filter(l=>l);if(i===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let o=[],a=t?[]:null;for(let l=0;l<s.length;l++){let c=s[l],h=-1;if(c){for(let d=0;d<this.tooltips.length;d++){let f=this.tooltips[d];f&&f.create==c.create&&(h=d)}if(h<0)o[l]=this.createTooltipView(c,l?o[l-1]:null),a&&(a[l]=!!c.above);else{let d=o[l]=this.tooltipViews[h];a&&(a[l]=t[h]),d.update&&d.update(e)}}}for(let l of this.tooltipViews)o.indexOf(l)<0&&(this.removeTooltipView(l),(r=l.destroy)===null||r===void 0||r.call(l));return t&&(a.forEach((l,c)=>t[c]=l),t.length=a.length),this.input=i,this.tooltips=s,this.tooltipViews=o,!0}}function Hk(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const vl=U.define({combine:n=>{var e,t,r;return{position:_.ios?"absolute":((e=n.find(i=>i.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(i=>i.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((r=n.find(i=>i.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||Hk}}}),Xd=new WeakMap,Rh=$e.fromClass(class{constructor(n){this.view=n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(vl);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new Jg(n,Lh,(t,r)=>this.createTooltip(t,r),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n,this.above);e&&this.observeIntersection();let t=e||n.geometryChanged,r=n.state.facet(vl);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let i of this.manager.tooltipViews)i.dom.style.position=this.position;t=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let i of this.manager.tooltipViews)this.container.appendChild(i.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n,e){let t=n.create(this.view),r=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),n.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let i=document.createElement("div");i.className="cm-tooltip-arrow",t.dom.appendChild(i)}return t.dom.style.position=this.position,t.dom.style.top=Co,t.dom.style.left="0px",this.container.insertBefore(t.dom,r),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var n,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(n=r.destroy)===null||n===void 0||n.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(_.safari){let o=s.getBoundingClientRect();t=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}else t=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(n=s.width/this.parent.offsetWidth,e=s.height/this.parent.offsetHeight)}else({scaleX:n,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),i=Nh(this.view);return{visible:{left:r.left+i.left,top:r.top+i.top,right:r.right-i.right,bottom:r.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,o)=>{let a=this.manager.tooltipViews[o];return a.getCoords?a.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(vl).tooltipSpace(this.view),scaleX:n,scaleY:e,makeAbsolute:t}}writeMeasure(n){var e;if(n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:t,space:r,scaleX:i,scaleY:s}=n,o=[];for(let a=0;a<this.manager.tooltips.length;a++){let l=this.manager.tooltips[a],c=this.manager.tooltipViews[a],{dom:h}=c,d=n.pos[a],f=n.size[a];if(!d||l.clip!==!1&&(d.bottom<=Math.max(t.top,r.top)||d.top>=Math.min(t.bottom,r.bottom)||d.right<Math.max(t.left,r.left)-.1||d.left>Math.min(t.right,r.right)+.1)){h.style.top=Co;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,b=f.right-f.left,y=(e=Xd.get(c))!==null&&e!==void 0?e:f.bottom-f.top,v=c.offset||_k,k=this.view.textDirection==Oe.LTR,S=f.width>r.right-r.left?k?r.left:r.right-f.width:k?Math.max(r.left,Math.min(d.left-(p?14:0)+v.x,r.right-b)):Math.min(Math.max(r.left,d.left-b+(p?14:0)-v.x),r.right-b),O=this.above[a];!l.strictSide&&(O?d.top-y-m-v.y<r.top:d.bottom+y+m+v.y>r.bottom)&&O==r.bottom-d.bottom>d.top-r.top&&(O=this.above[a]=!O);let C=(O?d.top-r.top:r.bottom-d.bottom)-m;if(C<y&&c.resize!==!1){if(C<this.view.defaultLineHeight){h.style.top=Co;continue}Xd.set(c,y),h.style.height=(y=C)/s+"px"}else h.style.height&&(h.style.height="");let P=O?d.top-y-m-v.y:d.bottom+m+v.y,x=S+b;if(c.overlap!==!0)for(let N of o)N.left<x&&N.right>S&&N.top<P+y&&N.bottom>P&&(P=O?N.top-y-2-m:N.bottom+m+2);if(this.position=="absolute"?(h.style.top=(P-n.parent.top)/s+"px",Zd(h,(S-n.parent.left)/i)):(h.style.top=P/s+"px",Zd(h,S/i)),p){let N=d.left+(k?v.x:-v.x)-(S+14-7);p.style.left=N/i+"px"}c.overlap!==!0&&o.push({left:S,top:P,right:x,bottom:P+y}),h.classList.toggle("cm-tooltip-above",O),h.classList.toggle("cm-tooltip-below",!O),c.positioned&&c.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=Co}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Zd(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const Wk=H.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),_k={x:0,y:0},Lh=U.define({enables:[Rh,Wk]}),ha=U.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class Ia{static create(e){return new Ia(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Jg(e,ha,(t,r)=>this.createHostedView(t,r),t=>t.dom.remove())}createHostedView(e,t){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let r of this.manager.tooltipViews){let i=r[e];if(i!==void 0){if(t===void 0)t=i;else if(t!==i)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const Uk=Lh.compute([ha],n=>{let e=n.facet(ha);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var r;return(r=t.end)!==null&&r!==void 0?r:t.pos})),create:Ia.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class Kk{constructor(e,t,r,i,s){this.view=e,this.source=t,this.field=r,this.setHover=i,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,r=e.docView.tile.nearest(t.target);if(!r)return;let i,s=1;if(r.isWidget())i=r.posAtStart;else{if(i=e.posAtCoords(t),i==null)return;let a=e.coordsAtPos(i);if(!a||t.y<a.top||t.y>a.bottom||t.x<a.left-e.defaultCharacterWidth||t.x>a.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(i)).find(h=>h.from<=i&&h.to>=i),c=l&&l.dir==Oe.RTL?-1:1;s=t.x<a.left?-c:c}let o=this.source(e,i,s);if(o?.then){let a=this.pending={pos:i};o.then(l=>{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>ht(e.state,l,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(Rh),t=e?e.manager.tooltips.findIndex(r=>r.create==Ia.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:i,tooltip:s}=this;if(i.length&&s&&!Gk(s.dom,e)||this.pending){let{pos:o}=i[0]||this.pending,a=(r=(t=i[0])===null||t===void 0?void 0:t.end)!==null&&r!==void 0?r:o;(o==a?this.view.posAtCoords(this.lastMove)!=o:!qk(this.view,o,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=r=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const jo=4;function Gk(n,e){let{left:t,right:r,top:i,bottom:s}=n.getBoundingClientRect(),o;if(o=n.querySelector(".cm-tooltip-arrow")){let a=o.getBoundingClientRect();i=Math.min(a.top,i),s=Math.max(a.bottom,s)}return e.clientX>=t-jo&&e.clientX<=r+jo&&e.clientY>=i-jo&&e.clientY<=s+jo}function qk(n,e,t,r,i,s){let o=n.scrollDOM.getBoundingClientRect(),a=n.documentTop+n.documentPadding.top+n.contentHeight;if(o.left>r||o.right<r||o.top>i||Math.min(o.bottom,a)<i)return!1;let l=n.posAtCoords({x:r,y:i},!1);return l>=e&&l<=t}function Yk(n,e={}){let t=ae.define(),r=Qe.define({create(){return[]},update(i,s){if(i.length&&(e.hideOnChange&&(s.docChanged||s.selection)?i=[]:e.hideOn&&(i=i.filter(o=>!e.hideOn(s,o))),s.docChanged)){let o=[];for(let a of i){let l=s.changes.mapPos(a.pos,-1,st.TrackDel);if(l!=null){let c=Object.assign(Object.create(null),a);c.pos=l,c.end!=null&&(c.end=s.changes.mapPos(c.end)),o.push(c)}}i=o}for(let o of s.effects)o.is(t)&&(i=o.value),o.is(Qk)&&(i=[]);return i},provide:i=>ha.from(i)});return{active:r,extension:[r,$e.define(i=>new Kk(i,n,r,t,e.hoverTime||300)),Uk]}}function Xg(n,e){let t=n.plugin(Rh);if(!t)return null;let r=t.manager.tooltips.indexOf(e);return r<0?null:t.manager.tooltipViews[r]}const Qk=ae.define(),ef=U.define({combine(n){let e,t;for(let r of n)e=e||r.topContainer,t=t||r.bottomContainer;return{topContainer:e,bottomContainer:t}}});function Wi(n,e){let t=n.plugin(Zg),r=t?t.specs.indexOf(e):-1;return r>-1?t.panels[r]:null}const Zg=$e.fromClass(class{constructor(n){this.input=n.state.facet(_i),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(ef);this.top=new Oo(n,!0,e.topContainer),this.bottom=new Oo(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(ef);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Oo(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Oo(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(_i);if(t!=this.input){let r=t.filter(l=>l),i=[],s=[],o=[],a=[];for(let l of r){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?s:o).push(h)}this.specs=r,this.panels=i,this.top.sync(s),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>H.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class Oo{constructor(e,t,r){this.view=e,this.top=t,this.container=r,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",this.dom.style[this.top?"top":"bottom"]="0";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=tf(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=tf(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 tf(n){let e=n.nextSibling;return n.remove(),e}const _i=U.define({enables:Zg});class mn extends En{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}mn.prototype.elementClass="";mn.prototype.toDOM=void 0;mn.prototype.mapMode=st.TrackBefore;mn.prototype.startSide=mn.prototype.endSide=-1;mn.prototype.point=!0;const qo=U.define(),Jk=U.define(),Xk={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>fe.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},ji=U.define();function Zk(n){return[e0(),ji.of({...Xk,...n})]}const nf=U.define({combine:n=>n.some(e=>e)});function e0(n){return[eS]}const eS=$e.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(ji).map(e=>new sf(n,e)),this.fixed=!n.state.facet(nf);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,r=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(r<(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(nf)!=!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=fe.iter(this.view.state.facet(qo),this.view.viewport.from),r=[],i=this.gutters.map(s=>new tS(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(s.type)){let o=!0;for(let a of s.type)if(a.type==Ye.Text&&o){Kc(t,r,a.from);for(let l of i)l.line(this.view,a,r);o=!1}else if(a.widget)for(let l of i)l.widget(this.view,a)}else if(s.type==Ye.Text){Kc(t,r,s.from);for(let o of i)o.line(this.view,s,r)}else if(s.widget)for(let o of i)o.widget(this.view,s);for(let s of i)s.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(ji),t=n.state.facet(ji),r=n.docChanged||n.heightChanged||n.viewportChanged||!fe.eq(n.startState.facet(qo),n.state.facet(qo),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let i of this.gutters)i.update(n)&&(r=!0);else{r=!0;let i=[];for(let s of t){let o=e.indexOf(s);o<0?i.push(new sf(this.view,s)):(this.gutters[o].update(n),i.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),i.indexOf(s)<0&&s.destroy();for(let s of i)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=i}return r}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>H.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let r=t.dom.offsetWidth*e.scaleX,i=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Oe.LTR?{left:r,right:i}:{right:r,left:i}})});function rf(n){return Array.isArray(n)?n:[n]}function Kc(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class tS{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=fe.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:i}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==i.elements.length){let a=new t0(e,o,s,r);i.elements.push(a),i.dom.appendChild(a.dom)}else i.elements[this.i].update(e,o,s,r);this.height=t.bottom,this.i++}line(e,t,r){let i=[];Kc(this.cursor,i,t.from),r.length&&(i=i.concat(r));let s=this.gutter.config.lineMarker(e,t,i);s&&i.unshift(s);let o=this.gutter;i.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,i)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t),i=r?[r]:null;for(let s of e.state.facet(Jk)){let o=s(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 sf{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 r in t.domEventHandlers)this.dom.addEventListener(r,i=>{let s=i.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=i.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[r](e,a,i)&&i.preventDefault()});this.markers=rf(t.markers(e)),t.initialSpacer&&(this.spacer=new t0(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=rf(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 r=e.view.viewport;return!fe.eq(this.markers,t,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class t0{constructor(e,t,r,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,i)}update(e,t,r,i){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),nS(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let r="cm-gutterElement",i=this.dom.firstChild;for(let s=0,o=0;;){let a=o,l=s<t.length?t[s++]:null,c=!1;if(l){let h=l.elementClass;h&&(r+=" "+h);for(let d=o;d<this.markers.length;d++)if(this.markers[d].compare(l)){a=d,c=!0;break}}else a=this.markers.length;for(;o<a;){let h=this.markers[o++];if(h.toDOM){h.destroy(i);let d=i.nextSibling;i.remove(),i=d}}if(!l)break;l.toDOM&&(c?i=i.nextSibling:this.dom.insertBefore(l.toDOM(e),i)),c&&o++}this.dom.className=r,this.markers=t}destroy(){this.setMarkers(null,[])}}function nS(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(!n[t].compare(e[t]))return!1;return!0}const rS=U.define(),iS=U.define(),xr=U.define({combine(n){return nn(n,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let r=Object.assign({},e);for(let i in t){let s=r[i],o=t[i];r[i]=s?(a,l,c)=>s(a,l,c)||o(a,l,c):o}return r}})}});class wl extends mn{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function kl(n,e){return n.state.facet(xr).formatNumber(e,n.state)}const sS=ji.compute([xr],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(rS)},lineMarker(e,t,r){return r.some(i=>i.toDOM)?null:new wl(kl(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,r)=>{for(let i of e.state.facet(iS)){let s=i(e,t,r);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(xr)!=e.state.facet(xr),initialSpacer(e){return new wl(kl(e,of(e.state.doc.lines)))},updateSpacer(e,t){let r=kl(t.view,of(t.view.state.doc.lines));return r==e.number?e:new wl(r)},domEventHandlers:n.facet(xr).domEventHandlers,side:"before"}));function oS(n={}){return[xr.of(n),e0(),sS]}function of(n){let e=9;for(;e<n;)e=e*10+9;return e}const aS=new class extends mn{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},lS=qo.compute(["selection"],n=>{let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.head).from;i>t&&(t=i,e.push(aS.range(i)))}return fe.of(e)});function cS(){return lS}var Sl;const vr=new de;function hS(n){return U.define({combine:n?e=>e.concat(n):void 0})}const uS=new de;class Lt{constructor(e,t,r=[],i=""){this.data=e,this.name=i,pe.prototype.hasOwnProperty("tree")||Object.defineProperty(pe.prototype,"tree",{get(){return tt(this)}}),this.parser=t,this.extension=[Bn.of(this),pe.languageData.of((s,o,a)=>{let l=af(s,o,a),c=l.type.prop(vr);if(!c)return[];let h=s.facet(c),d=l.type.prop(uS);if(d){let f=l.resolve(o-l.from,a);for(let p of d)if(p.test(f,s)){let m=s.facet(p.facet);return p.type=="replace"?m:m.concat(h)}}return h})].concat(r)}isActiveAt(e,t,r=-1){return af(e,t,r).type.prop(vr)==this.data}findRegions(e){let t=e.facet(Bn);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],i=(s,o)=>{if(s.prop(vr)==this.data){r.push({from:o,to:o+s.length});return}let a=s.prop(de.mounted);if(a){if(a.tree.prop(vr)==this.data){if(a.overlay)for(let l of a.overlay)r.push({from:l.from+o,to:l.to+o});else r.push({from:o,to:o+s.length});return}else if(a.overlay){let l=r.length;if(i(a.tree,a.overlay[0].from+o),r.length>l)return}}for(let l=0;l<s.children.length;l++){let c=s.children[l];c instanceof Be&&i(c,s.positions[l]+o)}};return i(tt(e),0),r}get allowsNesting(){return!0}}Lt.setState=ae.define();function af(n,e,t){let r=n.facet(Bn),i=tt(n).topNode;if(!r||r.allowsNesting)for(let s=i;s;s=s.enter(e,t,Ee.ExcludeBuffers|Ee.EnterBracketed))s.type.isTop&&(i=s);return i}class ua extends Lt{constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=hS(e.languageData);return new ua(t,e.parser.configure({props:[vr.add(r=>r.isTop?t:void 0)]}),e.name)}configure(e,t){return new ua(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function tt(n){let e=n.field(Lt.state,!1);return e?e.tree:Be.empty}class dS{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let r=this.cursorPos-this.string.length;return e<r||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}}let oi=null;class da{constructor(e,t,r=[],i,s,o,a,l){this.parser=e,this.state=t,this.fragments=r,this.tree=i,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new da(e,t,[],Be.empty,0,r,[],null)}startParse(){return this.parser.startParse(new dS(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Be.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;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.state.doc.length&&this.parse.stopAt(t);;){let i=this.parse.advance();if(i)if(this.fragments=this.withoutTempSkipped(tr.addTree(i,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=i,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=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(tr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=oi;oi=this;try{return e()}finally{oi=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=lf(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:i,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,d,f)=>l.push({fromA:c,toA:h,fromB:d,toB:f})),r=tr.applyChanges(r,l),i=Be.empty,s=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),d=e.mapPos(c.to,-1);h<d&&a.push({from:h,to:d})}}}return new da(this.parser,t,r,i,s,o,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:i,to:s}=this.skipped[r];i<e.to&&s>e.from&&(this.fragments=lf(this.fragments,i,s),this.skipped.splice(r--,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 Nm{createParse(t,r,i){let s=i[0].from,o=i[i.length-1].to;return{parsedPos:s,advance(){let l=oi;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 Be(dt.none,[],[],o-s)},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 oi}}function lf(n,e,t){return tr.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class Ir{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),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new Ir(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=da.create(e.facet(Bn).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new Ir(r)}}Lt.state=Qe.define({create:Ir.init,update(n,e){for(let t of e.effects)if(t.is(Lt.setState))return t.value;return e.startState.facet(Bn)!=e.state.facet(Bn)?Ir.init(e.state):n.apply(e)}});let n0=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(n0=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const Cl=typeof navigator<"u"&&(!((Sl=navigator.scheduling)===null||Sl===void 0)&&Sl.isInputPending)?()=>navigator.scheduling.isInputPending():null,fS=$e.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(Lt.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(Lt.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=n0(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:i}}=this.view,s=r.field(Lt.state);if(s.tree==s.context.tree&&s.context.isDone(i+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!Cl?Math.max(25,e.timeRemaining()-5):1e9),a=s.context.treeLen<i&&r.doc.length>i+1e3,l=s.context.work(()=>Cl&&Cl()||Date.now()>o,i+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Lt.setState.of(new Ir(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>ht(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()}}}),Bn=U.define({combine(n){return n.length?n[0]:null},enables:n=>[Lt.state,fS,H.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class pS{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const mS=U.define(),Ba=U.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 fa(n){let e=n.facet(Ba);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Ui(n,e){let t="",r=n.tabSize,i=n.facet(Ba)[0];if(i==" "){for(;e>=r;)t+=" ",e-=r;i=" "}for(let s=0;s<e;s++)t+=i;return t}function Ih(n,e){n instanceof pe&&(n=new $a(n));for(let r of n.state.facet(mS)){let i=r(n,e);if(i!==void 0)return i}let t=tt(n.state);return t.length>=e?gS(n,t,e):null}class $a{constructor(e,t={}){this.state=e,this.options=t,this.unit=fa(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:s}=this.options;return i!=null&&i>=r.from&&i<=r.to?s&&i==e?{text:"",from:e}:(t<0?i<e:i<=e)?{text:r.text.slice(i-r.from),from:i}:{text:r.text.slice(0,i-r.from),from:r.from}:r}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:i}=this.lineAt(e,t);return r.slice(e-i,Math.min(r.length,e+100-i))}column(e,t=1){let{text:r,from:i}=this.lineAt(e,t),s=this.countColumn(r,e-i),o=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return o>-1&&(s+=o-this.countColumn(r,r.search(/\S|$/))),s}countColumn(e,t=e.length){return Vr(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:i}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(i);if(o>-1)return o}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const r0=new de;function gS(n,e,t){let r=e.resolveStack(t),i=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(i!=r.node){let s=[];for(let o=i;o&&!(o.from<r.node.from||o.to>r.node.to||o.from==r.node.from&&o.type==r.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)r={node:s[o],next:r}}return i0(r,n,t)}function i0(n,e,t){for(let r=n;r;r=r.next){let i=yS(r.node);if(i)return i(Bh.create(e,t,r))}return 0}function bS(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function yS(n){let e=n.type.prop(r0);if(e)return e;let t=n.firstChild,r;if(t&&(r=t.type.prop(de.closedBy))){let i=n.lastChild,s=i&&r.indexOf(i.name)>-1;return o=>kS(o,!0,1,void 0,s&&!bS(o)?i.from:void 0)}return n.parent==null?xS:null}function xS(){return 0}class Bh extends $a{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.context=r}get node(){return this.context.node}static create(e,t,r){return new Bh(e,t,r)}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 r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(vS(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return i0(this.context.next,this.base,this.pos)}}function vS(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function wS(n){let e=n.node,t=e.childAfter(e.from),r=e.lastChild;if(!t)return null;let i=n.options.simulateBreak,s=n.state.doc.lineAt(t.from),o=i==null||i<=s.from?s.to:Math.min(s.to,i);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==r)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function kS(n,e,t,r,i){let s=n.textAfter,o=s.match(/^\s*/)[0].length,a=r&&s.slice(o,o+r.length)==r||i==n.pos+o,l=wS(n);return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}function cf({except:n,units:e=1}={}){return t=>{let r=n&&n.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}const SS=200;function CS(){return pe.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:r}=n.newSelection.main,i=t.lineAt(r);if(r>i.from+SS)return n;let s=t.sliceString(i.from,r);if(!e.some(c=>c.test(s)))return n;let{state:o}=n,a=-1,l=[];for(let{head:c}of o.selection.ranges){let h=o.doc.lineAt(c);if(h.from==a)continue;a=h.from;let d=Ih(o,h.from);if(d==null)continue;let f=/^\s*/.exec(h.text)[0],p=Ui(o,d);f!=p&&l.push({from:h.from,to:h.from+f.length,insert:p})}return l.length?[n,{changes:l,sequential:!0}]:n})}const jS=U.define(),s0=new de;function OS(n){let e=n.firstChild,t=n.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?n.to:t.from}:null}function PS(n,e,t){let r=tt(n);if(r.length<t)return null;let i=r.resolveStack(t,1),s=null;for(let o=i;o;o=o.next){let a=o.node;if(a.to<=t||a.from>t)continue;if(s&&a.from<e)break;let l=a.type.prop(s0);if(l&&(a.to<r.length-50||r.length==n.doc.length||!AS(a))){let c=l(a,n);c&&c.from<=t&&c.from>=e&&c.to>t&&(s=c)}}return s}function AS(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function pa(n,e,t){for(let r of n.facet(jS)){let i=r(n,e,t);if(i)return i}return PS(n,e,t)}function o0(n,e){let t=e.mapPos(n.from,1),r=e.mapPos(n.to,-1);return t>=r?void 0:{from:t,to:r}}const Fa=ae.define({map:o0}),zs=ae.define({map:o0});function a0(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(r=>r.from<=t&&r.to>=t)||e.push(n.lineBlockAt(t));return e}const sr=Qe.define({create(){return ne.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,r)=>n=hf(n,t,r)),n=n.map(e.changes);for(let t of e.effects)if(t.is(Fa)&&!MS(n,t.value.from,t.value.to)){let{preparePlaceholder:r}=e.state.facet(h0),i=r?ne.replace({widget:new IS(r(e.state,t.value))}):uf;n=n.update({add:[i.range(t.value.from,t.value.to)]})}else t.is(zs)&&(n=n.update({filter:(r,i)=>t.value.from!=r||t.value.to!=i,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(n=hf(n,e.selection.main.head)),n},provide:n=>H.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(r,i)=>{t.push(r,i)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<n.length;){let r=n[t++],i=n[t++];if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid JSON for fold state");e.push(uf.range(r,i))}return ne.set(e,!0)}});function hf(n,e,t=e){let r=!1;return n.between(e,t,(i,s)=>{i<t&&s>e&&(r=!0)}),r?n.update({filterFrom:e,filterTo:t,filter:(i,s)=>i>=t||s<=e}):n}function ma(n,e,t){var r;let i=null;return(r=n.field(sr,!1))===null||r===void 0||r.between(e,t,(s,o)=>{(!i||i.from>s)&&(i={from:s,to:o})}),i}function MS(n,e,t){let r=!1;return n.between(e,e,(i,s)=>{i==e&&s==t&&(r=!0)}),r}function l0(n,e){return n.field(sr,!1)?e:e.concat(ae.appendConfig.of(u0()))}const NS=n=>{for(let e of a0(n)){let t=pa(n.state,e.from,e.to);if(t)return n.dispatch({effects:l0(n.state,[Fa.of(t),c0(n,t)])}),!0}return!1},DS=n=>{if(!n.state.field(sr,!1))return!1;let e=[];for(let t of a0(n)){let r=ma(n.state,t.from,t.to);r&&e.push(zs.of(r),c0(n,r,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function c0(n,e,t=!0){let r=n.state.doc.lineAt(e.from).number,i=n.state.doc.lineAt(e.to).number;return H.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${r} ${n.state.phrase("to")} ${i}.`)}const TS=n=>{let{state:e}=n,t=[];for(let r=0;r<e.doc.length;){let i=n.lineBlockAt(r),s=pa(e,i.from,i.to);s&&t.push(Fa.of(s)),r=(s?n.lineBlockAt(s.to):i).to+1}return t.length&&n.dispatch({effects:l0(n.state,t)}),!!t.length},ES=n=>{let e=n.state.field(sr,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(r,i)=>{t.push(zs.of({from:r,to:i}))}),n.dispatch({effects:t}),!0},RS=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:NS},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:DS},{key:"Ctrl-Alt-[",run:TS},{key:"Ctrl-Alt-]",run:ES}],LS={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},h0=U.define({combine(n){return nn(n,LS)}});function u0(n){return[sr,FS]}function d0(n,e){let{state:t}=n,r=t.facet(h0),i=o=>{let a=n.lineBlockAt(n.posAtDOM(o.target)),l=ma(n.state,a.from,a.to);l&&n.dispatch({effects:zs.of(l)}),o.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(n,i,e);let s=document.createElement("span");return s.textContent=r.placeholderText,s.setAttribute("aria-label",t.phrase("folded code")),s.title=t.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=i,s}const uf=ne.replace({widget:new class extends rn{toDOM(n){return d0(n,null)}}});class IS extends rn{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return d0(e,this.value)}}const BS={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class jl extends mn{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function $S(n={}){let e={...BS,...n},t=new jl(e,!0),r=new jl(e,!1),i=$e.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet(Bn)!=o.state.facet(Bn)||o.startState.field(sr,!1)!=o.state.field(sr,!1)||tt(o.startState)!=tt(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new fn;for(let l of o.viewportLineBlocks){let c=ma(o.state,l.from,l.to)?r:pa(o.state,l.from,l.to)?t:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:s}=e;return[i,Zk({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(i))===null||a===void 0?void 0:a.markers)||fe.empty},initialSpacer(){return new jl(e,!1)},domEventHandlers:{...s,click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let c=ma(o.state,a.from,a.to);if(c)return o.dispatch({effects:zs.of(c)}),!0;let h=pa(o.state,a.from,a.to);return h?(o.dispatch({effects:Fa.of(h)}),!0):!1}}}),u0()]}const FS=H.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class zr{constructor(e,t){this.specs=e;let r;function i(a){let l=Rn.newName();return(r||(r=Object.create(null)))["."+l]=a,l}const s=typeof t.all=="string"?t.all:t.all?i(t.all):void 0,o=t.scope;this.scope=o instanceof Lt?a=>a.prop(vr)==o.data:o?a=>a==o:void 0,this.style=Em(e.map(a=>({tag:a.tag,class:a.class||i(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=r?new Rn(r):null,this.themeType=t.themeType}static define(e,t){return new zr(e,t||{})}}const Gc=U.define(),f0=U.define({combine(n){return n.length?[n[0]]:null}});function Ol(n){let e=n.facet(Gc);return e.length?e:n.facet(f0)}function $h(n,e){let t=[zS],r;return n instanceof zr&&(n.module&&t.push(H.styleModule.of(n.module)),r=n.themeType),e?.fallback?t.push(f0.of(n)):r?t.push(Gc.computeN([H.darkTheme],i=>i.facet(H.darkTheme)==(r=="dark")?[n]:[])):t.push(Gc.of(n)),t}class VS{constructor(e){this.markCache=Object.create(null),this.tree=tt(e.state),this.decorations=this.buildDeco(e,Ol(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=tt(e.state),r=Ol(e.state),i=r!=Ol(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length<s.to&&!i&&t.type==this.tree.type&&o>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||i)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return ne.none;let r=new fn;for(let{from:i,to:s}of e.visibleRanges)Qv(this.tree,t,(o,a,l)=>{r.add(o,a,this.markCache[l]||(this.markCache[l]=ne.mark({class:l})))},i,s);return r.finish()}}const zS=lr.high($e.fromClass(VS,{decorations:n=>n.decorations})),HS=zr.define([{tag:M.meta,color:"#404740"},{tag:M.link,textDecoration:"underline"},{tag:M.heading,textDecoration:"underline",fontWeight:"bold"},{tag:M.emphasis,fontStyle:"italic"},{tag:M.strong,fontWeight:"bold"},{tag:M.strikethrough,textDecoration:"line-through"},{tag:M.keyword,color:"#708"},{tag:[M.atom,M.bool,M.url,M.contentSeparator,M.labelName],color:"#219"},{tag:[M.literal,M.inserted],color:"#164"},{tag:[M.string,M.deleted],color:"#a11"},{tag:[M.regexp,M.escape,M.special(M.string)],color:"#e40"},{tag:M.definition(M.variableName),color:"#00f"},{tag:M.local(M.variableName),color:"#30a"},{tag:[M.typeName,M.namespace],color:"#085"},{tag:M.className,color:"#167"},{tag:[M.special(M.variableName),M.macroName],color:"#256"},{tag:M.definition(M.propertyName),color:"#00c"},{tag:M.comment,color:"#940"},{tag:M.invalid,color:"#f00"}]),WS=H.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),p0=1e4,m0="()[]{}",g0=U.define({combine(n){return nn(n,{afterCursor:!0,brackets:m0,maxScanDistance:p0,renderMatch:KS})}}),_S=ne.mark({class:"cm-matchingBracket"}),US=ne.mark({class:"cm-nonmatchingBracket"});function KS(n){let e=[],t=n.matched?_S:US;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}const GS=Qe.define({create(){return ne.none},update(n,e){if(!e.docChanged&&!e.selection)return n;let t=[],r=e.state.facet(g0);for(let i of e.state.selection.ranges){if(!i.empty)continue;let s=Yt(e.state,i.head,-1,r)||i.head>0&&Yt(e.state,i.head-1,1,r)||r.afterCursor&&(Yt(e.state,i.head,1,r)||i.head<e.state.doc.length&&Yt(e.state,i.head+1,-1,r));s&&(t=t.concat(r.renderMatch(s,e.state)))}return ne.set(t,!0)},provide:n=>H.decorations.from(n)}),qS=[GS,WS];function YS(n={}){return[g0.of(n),qS]}const QS=new de;function qc(n,e,t){let r=n.prop(e<0?de.openedBy:de.closedBy);if(r)return r;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 Yc(n){let e=n.type.prop(QS);return e?e(n.node):n}function Yt(n,e,t,r={}){let i=r.maxScanDistance||p0,s=r.brackets||m0,o=tt(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=qc(l.type,t,s);if(c&&l.from<l.to){let h=Yc(l);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return JS(n,e,t,l,h,c,s)}}return XS(n,e,t,o,a.type,i,s)}function JS(n,e,t,r,i,s,o){let a=r.parent,l={from:i.from,to:i.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(r.from):h.childAfter(r.to)))do if(t<0?h.to<=r.from:h.from>=r.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from<h.to){let d=Yc(h);return{start:l,end:d?{from:d.from,to:d.to}:void 0,matched:!0}}else if(qc(h.type,t,o))c++;else if(qc(h.type,-t,o)){if(c==0){let d=Yc(h);return{start:l,end:d&&d.from<d.to?{from:d.from,to:d.to}:void 0,matched:!1}}c--}}while(t<0?h.prevSibling():h.nextSibling());return{start:l,matched:!1}}function XS(n,e,t,r,i,s,o){let a=t<0?n.sliceDoc(e-1,e):n.sliceDoc(e,e+1),l=o.indexOf(a);if(l<0||l%2==0!=t>0)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),d=0;for(let f=0;!h.next().done&&f<=s;){let p=h.value;t<0&&(f+=p.length);let m=e+f*t;for(let b=t>0?0:p.length-1,y=t>0?p.length:-1;b!=y;b+=t){let v=o.indexOf(p[b]);if(!(v<0||r.resolveInner(m+b,1).type!=i))if(v%2==0==t>0)d++;else{if(d==1)return{start:c,end:{from:m+b,to:m+b+1},matched:v>>1==l>>1};d--}}t>0&&(f+=p.length)}return h.done?{start:c,matched:!1}:null}const ZS=Object.create(null),df=[dt.none],ff=[],pf=Object.create(null),e3=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"]])e3[n]=t3(ZS,e);function Pl(n,e){ff.indexOf(n)>-1||(ff.push(n),console.warn(e))}function t3(n,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=n[c]||M[c];h?typeof h=="function"?l.length?l=l.map(h):Pl(c,`Modifier ${c} used at start of tag`):l.length?Pl(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:Pl(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let r=e.replace(/ /g,"_"),i=r+" "+t.map(a=>a.id),s=pf[i];if(s)return s.id;let o=pf[i]=dt.define({id:df.length,name:r,props:[Dm({[r]:t})]});return df.push(o),o.id}Oe.RTL,Oe.LTR;const n3=ua.define({name:"json",parser:e2.configure({props:[r0.add({Object:cf({except:/^\s*\}/}),Array:cf({except:/^\s*\]/})}),s0.add({"Object Array":OS})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function r3(){return new pS(n3)}function Qc(){return Qc=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},Qc.apply(null,arguments)}function i3(n,e){if(n==null)return{};var t={};for(var r in n)if({}.hasOwnProperty.call(n,r)){if(e.indexOf(r)!==-1)continue;t[r]=n[r]}return t}const s3=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),r=Vh(n.state,t.from);return r.line?o3(n):r.block?l3(n):!1};function Fh(n,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let i=n(e,t);return i?(r(t.update(i)),!0):!1}}const o3=Fh(u3,0),a3=Fh(b0,0),l3=Fh((n,e)=>b0(n,e,h3(e)),0);function Vh(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const ai=50;function c3(n,{open:e,close:t},r,i){let s=n.sliceDoc(r-ai,r),o=n.sliceDoc(i,i+ai),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:r-a,margin:a&&1},close:{pos:i+l,margin:l&&1}};let h,d;i-r<=2*ai?h=d=n.sliceDoc(r,i):(h=n.sliceDoc(r,r+ai),d=n.sliceDoc(i-ai,i));let f=/^\s*/.exec(h)[0].length,p=/\s*$/.exec(d)[0].length,m=d.length-p-t.length;return h.slice(f,f+e.length)==e&&d.slice(m,m+t.length)==t?{open:{pos:r+f+e.length,margin:/\s/.test(h.charAt(f+e.length))?1:0},close:{pos:i-p-t.length,margin:/\s/.test(d.charAt(m-1))?1:0}}:null}function h3(n){let e=[];for(let t of n.selection.ranges){let r=n.doc.lineAt(t.from),i=t.to<=r.to?r:n.doc.lineAt(t.to);i.from>r.from&&i.from==t.to&&(i=t.to==r.to+1?r:n.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=i.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return e}function b0(n,e,t=e.selection.ranges){let r=t.map(s=>Vh(e,s.from).block);if(!r.every(s=>s))return null;let i=t.map((s,o)=>c3(e,r[o],s.from,s.to));if(n!=2&&!i.every(s=>s))return{changes:e.changes(t.map((s,o)=>i[o]?[]:[{from:s.from,insert:r[o].open+" "},{from:s.to,insert:" "+r[o].close}]))};if(n!=1&&i.some(s=>s)){let s=[];for(let o=0,a;o<i.length;o++)if(a=i[o]){let l=r[o],{open:c,close:h}=a;s.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:h.pos-h.margin,to:h.pos+l.close.length})}return{changes:s}}return null}function u3(n,e,t=e.selection.ranges){let r=[],i=-1;for(let{from:s,to:o}of t){let a=r.length,l=1e9,c=Vh(e,s).line;if(c){for(let h=s;h<=o;){let d=e.doc.lineAt(h);if(d.from>i&&(s==o||o>d.from)){i=d.from;let f=/^\s*/.exec(d.text)[0].length,p=f==d.length,m=d.text.slice(f,f+c.length)==c?f:-1;f<d.text.length&&f<l&&(l=f),r.push({line:d,comment:m,token:c,indent:f,empty:p,single:!1})}h=d.to+1}if(l<1e9)for(let h=a;h<r.length;h++)r[h].indent<r[h].line.text.length&&(r[h].indent=l);r.length==a+1&&(r[a].single=!0)}}if(n!=2&&r.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:d}of r)(d||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(n!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of r)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}const Jc=tn.define(),d3=tn.define(),f3=U.define(),y0=U.define({combine(n){return nn(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,i)=>e(r,i)||t(r,i)})}}),x0=Qe.define({create(){return Qt.empty},update(n,e){let t=e.state.facet(y0),r=e.annotation(Jc);if(r){let l=ut.fromTransaction(e,r.selection),c=r.side,h=c==0?n.undone:n.done;return l?h=ga(h,h.length,t.minDepth,l):h=k0(h,e.startState.selection),new Qt(c==0?r.rest:h,c==0?h:r.rest)}let i=e.annotation(d3);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(He.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let s=ut.fromTransaction(e),o=e.annotation(He.time),a=e.annotation(He.userEvent);return s?n=n.addChanges(s,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 Qt(n.done.map(ut.fromJSON),n.undone.map(ut.fromJSON))}});function p3(n={}){return[x0,y0.of(n),H.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?v0:e.inputType=="historyRedo"?Xc:null;return r?(e.preventDefault(),r(t)):!1}})]}function Va(n,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let i=t.field(x0,!1);if(!i)return!1;let s=i.pop(n,t,e);return s?(r(s),!0):!1}}const v0=Va(0,!1),Xc=Va(1,!1),m3=Va(0,!0),g3=Va(1,!0);class ut{constructor(e,t,r,i,s){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=i,this.selectionsAfter=s}setSelAfter(e){return new ut(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;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:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new ut(e.changes&&Ve.fromJSON(e.changes),[],e.mapped&&Xt.fromJSON(e.mapped),e.startSelection&&T.fromJSON(e.startSelection),e.selectionsAfter.map(T.fromJSON))}static fromTransaction(e,t){let r=jt;for(let i of e.startState.facet(f3)){let s=i(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new ut(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,jt)}static selection(e){return new ut(void 0,jt,void 0,void 0,e)}}function ga(n,e,t,r){let i=e+1>t+20?e-t-1:0,s=n.slice(i,e);return s.push(r),s}function b3(n,e){let t=[],r=!1;return n.iterChangedRanges((i,s)=>t.push(i,s)),e.iterChangedRanges((i,s,o,a)=>{for(let l=0;l<t.length;){let c=t[l++],h=t[l++];a>=c&&o<=h&&(r=!0)}}),r}function y3(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function w0(n,e){return n.length?e.length?n.concat(e):n:e}const jt=[],x3=200;function k0(n,e){if(n.length){let t=n[n.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-x3));return r.length&&r[r.length-1].eq(e)?n:(r.push(e),ga(n,n.length-1,1e9,t.setSelAfter(r)))}else return[ut.selection([e])]}function v3(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 Al(n,e){if(!n.length)return n;let t=n.length,r=jt;for(;t;){let i=w3(n[t-1],e,r);if(i.changes&&!i.changes.empty||i.effects.length){let s=n.slice(0,t);return s[t-1]=i,s}else e=i.mapped,t--,r=i.selectionsAfter}return r.length?[ut.selection(r)]:jt}function w3(n,e,t){let r=w0(n.selectionsAfter.length?n.selectionsAfter.map(a=>a.map(e)):jt,t);if(!n.changes)return ut.selection(r);let i=n.changes.map(e),s=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(s):s;return new ut(i,ae.mapEffects(n.effects,e),o,n.startSelection.map(s),r)}const k3=/^(input\.type|delete)($|\.)/;class Qt{constructor(e,t,r=0,i=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=i}isolate(){return this.prevTime?new Qt(this.done,this.undone):this}addChanges(e,t,r,i,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||k3.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime<i.newGroupDelay&&i.joinToEvent(s,b3(a.changes,e.changes))||r=="input.type.compose")?o=ga(o,o.length-1,i.minDepth,new ut(e.changes.compose(a.changes),w0(ae.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,jt)):o=ga(o,o.length,i.minDepth,e),new Qt(o,jt,t,r)}addSelection(e,t,r,i){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:jt;return s.length>0&&t-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&y3(s[s.length-1],e)?this:new Qt(k0(this.done,e),this.undone,t,r)}addMapping(e){return new Qt(Al(this.done,e),Al(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,r){let i=e==0?this.done:this.undone;if(i.length==0)return null;let s=i[i.length-1],o=s.selectionsAfter[0]||t.selection;if(r&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:Jc.of({side:e,rest:v3(i),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let a=i.length==1?jt:i.slice(0,i.length-1);return s.mapped&&(a=Al(a,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Jc.of({side:e,rest:a,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Qt.empty=new Qt(jt,jt);const S3=[{key:"Mod-z",run:v0,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Xc,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Xc,preventDefault:!0},{key:"Mod-u",run:m3,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:g3,preventDefault:!0}];function Hr(n,e){return T.create(n.ranges.map(e),n.mainIndex)}function $t(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Ft({state:n,dispatch:e},t){let r=Hr(n.selection,t);return r.eq(n.selection,!0)?!1:(e($t(n,r)),!0)}function za(n,e){return T.cursor(e?n.to:n.from)}function S0(n,e){return Ft(n,t=>t.empty?n.moveByChar(t,e):za(t,e))}function nt(n){return n.textDirectionAt(n.state.selection.main.head)==Oe.LTR}const C0=n=>S0(n,!nt(n)),j0=n=>S0(n,nt(n));function O0(n,e){return Ft(n,t=>t.empty?n.moveByGroup(t,e):za(t,e))}const C3=n=>O0(n,!nt(n)),j3=n=>O0(n,nt(n));function O3(n,e,t){if(e.type.prop(t))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function Ha(n,e,t){let r=tt(n).resolveInner(e.head),i=t?de.closedBy:de.openedBy;for(let l=e.head;;){let c=t?r.childAfter(l):r.childBefore(l);if(!c)break;O3(n,c,i)?r=c:l=t?c.to:c.from}let s=r.type.prop(i),o,a;return s&&(o=t?Yt(n,r.from,1):Yt(n,r.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?r.to:r.from,T.cursor(a,t?-1:1)}const P3=n=>Ft(n,e=>Ha(n.state,e,!nt(n))),A3=n=>Ft(n,e=>Ha(n.state,e,nt(n)));function P0(n,e){return Ft(n,t=>{if(!t.empty)return za(t,e);let r=n.moveVertically(t,e);return r.head!=t.head?r:n.moveToLineBoundary(t,e)})}const A0=n=>P0(n,!1),M0=n=>P0(n,!0);function N0(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,r=0,i;if(e){for(let s of n.state.facet(H.scrollMargins)){let o=s(n);o?.top&&(t=Math.max(o?.top,t)),o?.bottom&&(r=Math.max(o?.bottom,r))}i=n.scrollDOM.clientHeight-t-r}else i=(n.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:r,selfScroll:e,height:Math.max(n.defaultLineHeight,i-5)}}function D0(n,e){let t=N0(n),{state:r}=n,i=Hr(r.selection,o=>o.empty?n.moveVertically(o,e,t.height):za(o,e));if(i.eq(r.selection))return!1;let s;if(t.selfScroll){let o=n.coordsAtPos(r.selection.main.head),a=n.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottom<c&&(s=H.scrollIntoView(i.main.head,{y:"start",yMargin:o.top-l}))}return n.dispatch($t(r,i),{effects:s}),!0}const mf=n=>D0(n,!1),Zc=n=>D0(n,!0);function Fn(n,e,t){let r=n.lineBlockAt(e.head),i=n.moveToLineBoundary(e,t);if(i.head==e.head&&i.head!=(t?r.to:r.from)&&(i=n.moveToLineBoundary(e,t,!1)),!t&&i.head==r.from&&r.length){let s=/^\s*/.exec(n.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;s&&e.head!=r.from+s&&(i=T.cursor(r.from+s))}return i}const M3=n=>Ft(n,e=>Fn(n,e,!0)),N3=n=>Ft(n,e=>Fn(n,e,!1)),D3=n=>Ft(n,e=>Fn(n,e,!nt(n))),T3=n=>Ft(n,e=>Fn(n,e,nt(n))),E3=n=>Ft(n,e=>T.cursor(n.lineBlockAt(e.head).from,1)),R3=n=>Ft(n,e=>T.cursor(n.lineBlockAt(e.head).to,-1));function L3(n,e,t){let r=!1,i=Hr(n.selection,s=>{let o=Yt(n,s.head,-1)||Yt(n,s.head,1)||s.head>0&&Yt(n,s.head-1,1)||s.head<n.doc.length&&Yt(n,s.head+1,-1);if(!o||!o.end)return s;r=!0;let a=o.start.from==s.head?o.end.to:o.end.from;return T.cursor(a)});return r?(e($t(n,i)),!0):!1}const I3=({state:n,dispatch:e})=>L3(n,e);function Dt(n,e){let t=Hr(n.state.selection,r=>{let i=e(r);return T.range(r.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch($t(n.state,t)),!0)}function T0(n,e){return Dt(n,t=>n.moveByChar(t,e))}const E0=n=>T0(n,!nt(n)),R0=n=>T0(n,nt(n));function L0(n,e){return Dt(n,t=>n.moveByGroup(t,e))}const B3=n=>L0(n,!nt(n)),$3=n=>L0(n,nt(n)),F3=n=>Dt(n,e=>Ha(n.state,e,!nt(n))),V3=n=>Dt(n,e=>Ha(n.state,e,nt(n)));function I0(n,e){return Dt(n,t=>n.moveVertically(t,e))}const B0=n=>I0(n,!1),$0=n=>I0(n,!0);function F0(n,e){return Dt(n,t=>n.moveVertically(t,e,N0(n).height))}const gf=n=>F0(n,!1),bf=n=>F0(n,!0),z3=n=>Dt(n,e=>Fn(n,e,!0)),H3=n=>Dt(n,e=>Fn(n,e,!1)),W3=n=>Dt(n,e=>Fn(n,e,!nt(n))),_3=n=>Dt(n,e=>Fn(n,e,nt(n))),U3=n=>Dt(n,e=>T.cursor(n.lineBlockAt(e.head).from)),K3=n=>Dt(n,e=>T.cursor(n.lineBlockAt(e.head).to)),yf=({state:n,dispatch:e})=>(e($t(n,{anchor:0})),!0),xf=({state:n,dispatch:e})=>(e($t(n,{anchor:n.doc.length})),!0),vf=({state:n,dispatch:e})=>(e($t(n,{anchor:n.selection.main.anchor,head:0})),!0),wf=({state:n,dispatch:e})=>(e($t(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),G3=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),q3=({state:n,dispatch:e})=>{let t=Wa(n).map(({from:r,to:i})=>T.range(r,Math.min(i+1,n.doc.length)));return e(n.update({selection:T.create(t),userEvent:"select"})),!0},Y3=({state:n,dispatch:e})=>{let t=Hr(n.selection,r=>{let i=tt(n),s=i.resolveStack(r.from,1);if(r.empty){let o=i.resolveStack(r.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&o.next)return T.range(a.to,a.from)}return r});return t.eq(n.selection)?!1:(e($t(n,t)),!0)};function V0(n,e){let{state:t}=n,r=t.selection,i=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to<n.state.doc.length:o.from>0)for(let a=s;;){let l=n.moveVertically(a,e);if(l.head<o.from||l.head>o.to){i.some(c=>c.head==l.head)||i.push(l);break}else{if(l.head==a.head)break;a=l}}}return i.length==r.ranges.length?!1:(n.dispatch($t(t,T.create(i,i.length-1))),!0)}const Q3=n=>V0(n,!1),J3=n=>V0(n,!0),X3=({state:n,dispatch:e})=>{let t=n.selection,r=null;return t.ranges.length>1?r=T.create([t.main]):t.main.empty||(r=T.create([T.cursor(t.main.head)])),r?(e($t(n,r)),!0):!1};function Hs(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:r}=n,i=r.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);l<o?(t="delete.backward",l=Po(n,l,!1)):l>o&&(t="delete.forward",l=Po(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Po(n,o,!1),a=Po(n,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:T.cursor(o,o<s.head?-1:1)}});return i.changes.empty?!1:(n.dispatch(r.update(i,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?H.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function Po(n,e,t){if(n instanceof H)for(let r of n.state.facet(H.atomicRanges).map(i=>i(n)))r.between(e,e,(i,s)=>{i<e&&s>e&&(e=t?s:i)});return e}const z0=(n,e,t)=>Hs(n,r=>{let i=r.from,{state:s}=n,o=s.doc.lineAt(i),a,l;if(t&&!e&&i>o.from&&i<o.from+200&&!/[^ \t]/.test(a=o.text.slice(0,i-o.from))){if(a[a.length-1]==" ")return i-1;let c=Vr(a,s.tabSize),h=c%fa(s)||fa(s);for(let d=0;d<h&&a[a.length-1-d]==" ";d++)i--;l=i}else l=ze(o.text,i-o.from,e,e)+o.from,l==i&&o.number!=(e?s.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(l-o.from,i-o.from))&&(l=ze(o.text,l-o.from,!1,!1)+o.from);return l}),eh=n=>z0(n,!1,!0),H0=n=>z0(n,!0,!1),W0=(n,e)=>Hs(n,t=>{let r=t.head,{state:i}=n,s=i.doc.lineAt(r),o=i.charCategorizer(r);for(let a=null;;){if(r==(e?s.to:s.from)){r==t.head&&s.number!=(e?i.doc.lines:1)&&(r+=e?1:-1);break}let l=ze(s.text,r-s.from,e)+s.from,c=s.text.slice(Math.min(r,l)-s.from,Math.max(r,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||r!=t.head)&&(a=h),r=l}return r}),_0=n=>W0(n,!1),Z3=n=>W0(n,!0),e4=n=>Hs(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),t4=n=>Hs(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),n4=n=>Hs(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),r4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:xe.of(["",""])},range:T.cursor(r.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},i4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>{if(!r.empty||r.from==0||r.from==n.doc.length)return{range:r};let i=r.from,s=n.doc.lineAt(i),o=i==s.from?i-1:ze(s.text,i-s.from,!1)+s.from,a=i==s.to?i+1:ze(s.text,i-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:n.doc.slice(i,a).append(n.doc.slice(o,i))},range:T.cursor(a)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Wa(n){let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.from),s=n.doc.lineAt(r.to);if(!r.empty&&r.to==s.from&&(s=n.doc.lineAt(r.to-1)),t>=i.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(r)}else e.push({from:i.from,to:s.to,ranges:[r]});t=s.number+1}return e}function U0(n,e,t){if(n.readOnly)return!1;let r=[],i=[];for(let s of Wa(n)){if(t?s.to==n.doc.length:s.from==0)continue;let o=n.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){r.push({from:s.to,to:o.to},{from:s.from,insert:o.text+n.lineBreak});for(let l of s.ranges)i.push(T.range(Math.min(n.doc.length,l.anchor+a),Math.min(n.doc.length,l.head+a)))}else{r.push({from:o.from,to:s.from},{from:s.to,insert:n.lineBreak+o.text});for(let l of s.ranges)i.push(T.range(l.anchor-a,l.head-a))}}return r.length?(e(n.update({changes:r,scrollIntoView:!0,selection:T.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const s4=({state:n,dispatch:e})=>U0(n,e,!1),o4=({state:n,dispatch:e})=>U0(n,e,!0);function K0(n,e,t){if(n.readOnly)return!1;let r=[];for(let s of Wa(n))t?r.push({from:s.from,insert:n.doc.slice(s.from,s.to)+n.lineBreak}):r.push({from:s.to,insert:n.lineBreak+n.doc.slice(s.from,s.to)});let i=n.changes(r);return e(n.update({changes:i,selection:n.selection.map(i,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const a4=({state:n,dispatch:e})=>K0(n,e,!1),l4=({state:n,dispatch:e})=>K0(n,e,!0),c4=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(Wa(e).map(({from:i,to:s})=>(i>0?i--:s<e.doc.length&&s++,{from:i,to:s}))),r=Hr(e.selection,i=>{let s;if(n.lineWrapping){let o=n.lineBlockAt(i.head),a=n.coordsAtPos(i.head,i.assoc||1);a&&(s=o.bottom+n.documentTop-a.bottom+n.defaultLineHeight/2)}return n.moveVertically(i,!0,s)}).map(t);return n.dispatch({changes:t,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function h4(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=tt(n).resolveInner(e),r=t.childBefore(e),i=t.childAfter(e),s;return r&&i&&r.to<=e&&i.from>=e&&(s=r.type.prop(de.closedBy))&&s.indexOf(i.name)>-1&&n.doc.lineAt(r.to).from==n.doc.lineAt(i.from).from&&!/\S/.test(n.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}const kf=G0(!1),u4=G0(!0);function G0(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange(i=>{let{from:s,to:o}=i,a=e.doc.lineAt(s),l=!n&&s==o&&h4(e,s);n&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new $a(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=Ih(c,s);for(h==null&&(h=Vr(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<a.to&&/\s/.test(a.text[o-a.from]);)o++;l?{from:s,to:o}=l:s>a.from&&s<a.from+100&&!/\S/.test(a.text.slice(0,s))&&(s=a.from);let d=["",Ui(e,h)];return l&&d.push(Ui(e,c.lineIndent(a.from,-1))),{changes:{from:s,to:o,insert:xe.of(d)},range:T.cursor(s+1+d[1].length)}});return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function zh(n,e){let t=-1;return n.changeByRange(r=>{let i=[];for(let o=r.from;o<=r.to;){let a=n.doc.lineAt(o);a.number>t&&(r.empty||r.to>a.from)&&(e(a,i,r),t=a.number),o=a.to+1}let s=n.changes(i);return{changes:i,range:T.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}const d4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),r=new $a(n,{overrideIndentation:s=>{let o=t[s];return o??-1}}),i=zh(n,(s,o,a)=>{let l=Ih(r,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=Ui(n,l);(c!=h||a.from<s.from+c.length)&&(t[s.from]=l,o.push({from:s.from,to:s.from+c.length,insert:h}))});return i.changes.empty||e(n.update(i,{userEvent:"indent"})),!0},q0=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(zh(n,(t,r)=>{r.push({from:t.from,insert:n.facet(Ba)})}),{userEvent:"input.indent"})),!0),Y0=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(zh(n,(t,r)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let s=Vr(i,n.tabSize),o=0,a=Ui(n,Math.max(0,s-fa(n)));for(;o<i.length&&o<a.length&&i.charCodeAt(o)==a.charCodeAt(o);)o++;r.push({from:t.from+o,to:t.from+i.length,insert:a.slice(o)})}),{userEvent:"delete.dedent"})),!0),f4=n=>(n.setTabFocusMode(),!0),p4=[{key:"Ctrl-b",run:C0,shift:E0,preventDefault:!0},{key:"Ctrl-f",run:j0,shift:R0},{key:"Ctrl-p",run:A0,shift:B0},{key:"Ctrl-n",run:M0,shift:$0},{key:"Ctrl-a",run:E3,shift:U3},{key:"Ctrl-e",run:R3,shift:K3},{key:"Ctrl-d",run:H0},{key:"Ctrl-h",run:eh},{key:"Ctrl-k",run:e4},{key:"Ctrl-Alt-h",run:_0},{key:"Ctrl-o",run:r4},{key:"Ctrl-t",run:i4},{key:"Ctrl-v",run:Zc}],m4=[{key:"ArrowLeft",run:C0,shift:E0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:C3,shift:B3,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:D3,shift:W3,preventDefault:!0},{key:"ArrowRight",run:j0,shift:R0,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:j3,shift:$3,preventDefault:!0},{mac:"Cmd-ArrowRight",run:T3,shift:_3,preventDefault:!0},{key:"ArrowUp",run:A0,shift:B0,preventDefault:!0},{mac:"Cmd-ArrowUp",run:yf,shift:vf},{mac:"Ctrl-ArrowUp",run:mf,shift:gf},{key:"ArrowDown",run:M0,shift:$0,preventDefault:!0},{mac:"Cmd-ArrowDown",run:xf,shift:wf},{mac:"Ctrl-ArrowDown",run:Zc,shift:bf},{key:"PageUp",run:mf,shift:gf},{key:"PageDown",run:Zc,shift:bf},{key:"Home",run:N3,shift:H3,preventDefault:!0},{key:"Mod-Home",run:yf,shift:vf},{key:"End",run:M3,shift:z3,preventDefault:!0},{key:"Mod-End",run:xf,shift:wf},{key:"Enter",run:kf,shift:kf},{key:"Mod-a",run:G3},{key:"Backspace",run:eh,shift:eh,preventDefault:!0},{key:"Delete",run:H0,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:_0,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:Z3,preventDefault:!0},{mac:"Mod-Backspace",run:t4,preventDefault:!0},{mac:"Mod-Delete",run:n4,preventDefault:!0}].concat(p4.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),g4=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:P3,shift:F3},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:A3,shift:V3},{key:"Alt-ArrowUp",run:s4},{key:"Shift-Alt-ArrowUp",run:a4},{key:"Alt-ArrowDown",run:o4},{key:"Shift-Alt-ArrowDown",run:l4},{key:"Mod-Alt-ArrowUp",run:Q3},{key:"Mod-Alt-ArrowDown",run:J3},{key:"Escape",run:X3},{key:"Mod-Enter",run:u4},{key:"Alt-l",mac:"Ctrl-l",run:q3},{key:"Mod-i",run:Y3,preventDefault:!0},{key:"Mod-[",run:Y0},{key:"Mod-]",run:q0},{key:"Mod-Alt-\\",run:d4},{key:"Shift-Mod-k",run:c4},{key:"Shift-Mod-\\",run:I3},{key:"Mod-/",run:s3},{key:"Alt-A",run:a3},{key:"Ctrl-m",mac:"Shift-Alt-m",run:f4}].concat(m4),b4={key:"Tab",run:q0,shift:Y0},Sf=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class Br{constructor(e,t,r=0,i=e.length,s,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,i),this.bufferStart=r,this.normalize=s?a=>s(Sf(a)):Sf,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 at(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=xh(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Gt(e);let i=this.normalize(t);if(i.length)for(let s=0,o=r;;s++){let a=i.charCodeAt(s),l=this.match(a,o,this.bufferPos+this.bufferStart);if(s==i.length-1){if(l)return this.value=l,this;break}o==r&&s<t.length&&t.charCodeAt(s)==a&&o++}}}match(e,t,r){let i=null;for(let s=0;s<this.matches.length;s+=2){let o=this.matches[s],a=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?i={from:this.matches[s+1],to:r}:(this.matches[s]++,a=!0)),a||(this.matches.splice(s,2),s-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?i={from:t,to:r}:this.matches.push(1,t)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}typeof Symbol<"u"&&(Br.prototype[Symbol.iterator]=function(){return this});const Q0={from:-1,to:-1,match:/.*/.exec("")},Hh="gm"+(/x/.unicode==null?"":"u");class J0{constructor(e,t,r,i=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=Q0,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new X0(e,t,r,i,s);this.re=new RegExp(t,Hh+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let o=e.lineAt(i);this.curLineStart=o.from,this.matchPos=ba(e,i),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.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 r=this.curLineStart+t.index,i=r+t[0].length;if(this.matchPos=ba(this.text,i+(r==i?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<i||r>this.value.to)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const Ml=new WeakMap;class Mr{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let i=Ml.get(e);if(!i||i.from>=r||i.to<=t){let a=new Mr(t,e.sliceString(t,r));return Ml.set(e,a),a}if(i.from==t&&i.to==r)return i;let{text:s,from:o}=i;return o>t&&(s=e.sliceString(t,o)+s,o=t),i.to<r&&(s+=e.sliceString(i.to,r)),Ml.set(e,new Mr(o,s)),new Mr(t,s.slice(t-o,r-o))}}class X0{constructor(e,t,r,i,s){this.text=e,this.to=s,this.done=!1,this.value=Q0,this.matchPos=ba(e,i),this.re=new RegExp(t,Hh+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=Mr.get(e,i,this.chunkEnd(i+5e3))}chunkEnd(e){return e>=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 r=this.flat.from+t.index,i=r+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,match:t},this.matchPos=ba(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Mr.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(J0.prototype[Symbol.iterator]=X0.prototype[Symbol.iterator]=function(){return this});function y4(n){try{return new RegExp(n,Hh),!0}catch{return!1}}function ba(n,e){if(e>=n.length)return e;let t=n.lineAt(e),r;for(;e<t.to&&(r=t.text.charCodeAt(e-t.from))>=56320&&r<57344;)e++;return e}function th(n){let e=String(n.state.doc.lineAt(n.state.selection.main.head).number),t=Ce("input",{class:"cm-textfield",name:"line",value:e}),r=Ce("form",{class:"cm-gotoLine",onkeydown:s=>{s.keyCode==27?(s.preventDefault(),n.dispatch({effects:Oi.of(!1)}),n.focus()):s.keyCode==13&&(s.preventDefault(),i())},onsubmit:s=>{s.preventDefault(),i()}},Ce("label",n.state.phrase("Go to line"),": ",t)," ",Ce("button",{class:"cm-button",type:"submit"},n.state.phrase("go")),Ce("button",{name:"close",onclick:()=>{n.dispatch({effects:Oi.of(!1)}),n.focus()},"aria-label":n.state.phrase("close"),type:"button"},["×"]));function i(){let s=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!s)return;let{state:o}=n,a=o.doc.lineAt(o.selection.main.head),[,l,c,h,d]=s,f=h?+h.slice(1):0,p=c?+c:a.number;if(c&&d){let y=p/100;l&&(y=y*(l=="-"?-1:1)+a.number/o.doc.lines),p=Math.round(o.doc.lines*y)}else c&&l&&(p=p*(l=="-"?-1:1)+a.number);let m=o.doc.line(Math.max(1,Math.min(o.doc.lines,p))),b=T.cursor(m.from+Math.max(0,Math.min(f,m.length)));n.dispatch({effects:[Oi.of(!1),H.scrollIntoView(b.from,{y:"center"})],selection:b}),n.focus()}return{dom:r}}const Oi=ae.define(),Cf=Qe.define({create(){return!0},update(n,e){for(let t of e.effects)t.is(Oi)&&(n=t.value);return n},provide:n=>_i.from(n,e=>e?th:null)}),x4=n=>{let e=Wi(n,th);if(!e){let t=[Oi.of(!0)];n.state.field(Cf,!1)==null&&t.push(ae.appendConfig.of([Cf,v4])),n.dispatch({effects:t}),e=Wi(n,th)}return e&&e.dom.querySelector("input").select(),!0},v4=H.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),w4={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},k4=U.define({combine(n){return nn(n,w4,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function S4(n){return[A4,P4]}const C4=ne.mark({class:"cm-selectionMatch"}),j4=ne.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function jf(n,e,t,r){return(t==0||n(e.sliceDoc(t-1,t))!=Ne.Word)&&(r==e.doc.length||n(e.sliceDoc(r,r+1))!=Ne.Word)}function O4(n,e,t,r){return n(e.sliceDoc(t,t+1))==Ne.Word&&n(e.sliceDoc(r-1,r))==Ne.Word}const P4=$e.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(k4),{state:t}=n,r=t.selection;if(r.ranges.length>1)return ne.none;let i=r.main,s,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return ne.none;let l=t.wordAt(i.head);if(!l)return ne.none;o=t.charCategorizer(i.head),s=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l<e.minSelectionLength||l>200)return ne.none;if(e.wholeWords){if(s=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(jf(o,t,i.from,i.to)&&O4(o,t,i.from,i.to)))return ne.none}else if(s=t.sliceDoc(i.from,i.to),!s)return ne.none}let a=[];for(let l of n.visibleRanges){let c=new Br(t.doc,s,l.from,l.to);for(;!c.next().done;){let{from:h,to:d}=c.value;if((!o||jf(o,t,h,d))&&(i.empty&&h<=i.from&&d>=i.to?a.push(j4.range(h,d)):(h>=i.to||d<=i.from)&&a.push(C4.range(h,d)),a.length>e.maxMatches))return ne.none}}return ne.set(a)}},{decorations:n=>n.decorations}),A4=H.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),M4=({state:n,dispatch:e})=>{let{selection:t}=n,r=T.create(t.ranges.map(i=>n.wordAt(i.head)||T.cursor(i.head)),t.mainIndex);return r.eq(t)?!1:(e(n.update({selection:r})),!0)};function N4(n,e){let{main:t,ranges:r}=n.selection,i=n.wordAt(t.head),s=i&&i.from==t.from&&i.to==t.to;for(let o=!1,a=new Br(n.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new Br(n.doc,e,0,Math.max(0,r[r.length-1].from-1)),o=!0}else{if(o&&r.some(l=>l.from==a.value.from))continue;if(s){let l=n.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const D4=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(s=>s.from===s.to))return M4({state:n,dispatch:e});let r=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(s=>n.sliceDoc(s.from,s.to)!=r))return!1;let i=N4(n,r);return i?(e(n.update({selection:n.selection.addRange(T.range(i.from,i.to),!1),effects:H.scrollIntoView(i.to)})),!0):!1},Wr=U.define({combine(n){return nn(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new W4(e),scrollToMatch:e=>H.scrollIntoView(e)})}});class Z0{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||y4(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,r)=>r=="n"?`
63
- `:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new L4(this):new E4(this)}getCursor(e,t=0,r){let i=e.doc?e:pe.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?gr(this,i,t,r):mr(this,i,t,r)}}class eb{constructor(e){this.spec=e}}function mr(n,e,t,r){return new Br(e.doc,n.unquoted,t,r,n.caseSensitive?void 0:i=>i.toLowerCase(),n.wholeWord?T4(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function T4(n,e){return(t,r,i,s)=>((s>t||s+i.length<r)&&(s=Math.max(0,t-2),i=n.sliceString(s,Math.min(n.length,r+2))),(e(ya(i,t-s))!=Ne.Word||e(xa(i,t-s))!=Ne.Word)&&(e(xa(i,r-s))!=Ne.Word||e(ya(i,r-s))!=Ne.Word))}class E4 extends eb{constructor(e){super(e)}nextMatch(e,t,r){let i=mr(this.spec,e,r,e.doc.length).nextOverlapping();if(i.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);i=mr(this.spec,e,0,s).nextOverlapping()}return i.done||i.value.from==t&&i.value.to==r?null:i.value}prevMatchInRange(e,t,r){for(let i=r;;){let s=Math.max(t,i-1e4-this.spec.unquoted.length),o=mr(this.spec,e,s,i),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==t)return null;i-=1e4}}prevMatch(e,t,r){let i=this.prevMatchInRange(e,0,t);return i||(i=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),i&&(i.from!=t||i.to!=r)?i:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=mr(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let s=mr(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}}function gr(n,e,t,r){return new J0(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?R4(e.charCategorizer(e.selection.main.head)):void 0},t,r)}function ya(n,e){return n.slice(ze(n,e,!1),e)}function xa(n,e){return n.slice(e,ze(n,e))}function R4(n){return(e,t,r)=>!r[0].length||(n(ya(r.input,r.index))!=Ne.Word||n(xa(r.input,r.index))!=Ne.Word)&&(n(xa(r.input,r.index+r[0].length))!=Ne.Word||n(ya(r.input,r.index+r[0].length))!=Ne.Word)}class L4 extends eb{nextMatch(e,t,r){let i=gr(this.spec,e,r,e.doc.length).next();return i.done&&(i=gr(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,r){for(let i=1;;i++){let s=Math.max(t,r-i*1e4),o=gr(this.spec,e,s,r),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let i=r.length;i>0;i--){let s=+r.slice(0,i);if(s>0&&s<e.match.length)return e.match[s]+r.slice(i)}return t})}matchAll(e,t){let r=gr(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let s=gr(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}}const Ki=ae.define(),Wh=ae.define(),Dn=Qe.define({create(n){return new Nl(nh(n).create(),null)},update(n,e){for(let t of e.effects)t.is(Ki)?n=new Nl(t.value.create(),n.panel):t.is(Wh)&&(n=new Nl(n.query,t.value?_h:null));return n},provide:n=>_i.from(n,e=>e.panel)});class Nl{constructor(e,t){this.query=e,this.panel=t}}const I4=ne.mark({class:"cm-searchMatch"}),B4=ne.mark({class:"cm-searchMatch cm-searchMatch-selected"}),$4=$e.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(Dn))}update(n){let e=n.state.field(Dn);(e!=n.startState.field(Dn)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return ne.none;let{view:t}=this,r=new fn;for(let i=0,s=t.visibleRanges,o=s.length;i<o;i++){let{from:a,to:l}=s[i];for(;i<o-1&&l>s[i+1].from-2*250;)l=s[++i].to;n.highlight(t.state,a,l,(c,h)=>{let d=t.state.selection.ranges.some(f=>f.from==c&&f.to==h);r.add(c,h,d?B4:I4)})}return r.finish()}},{decorations:n=>n.decorations});function Ws(n){return e=>{let t=e.state.field(Dn,!1);return t&&t.query.spec.valid?n(e,t):rb(e)}}const va=Ws((n,{query:e})=>{let{to:t}=n.state.selection.main,r=e.nextMatch(n.state,t,t);if(!r)return!1;let i=T.single(r.from,r.to),s=n.state.facet(Wr);return n.dispatch({selection:i,effects:[Uh(n,r),s.scrollToMatch(i.main,n)],userEvent:"select.search"}),nb(n),!0}),wa=Ws((n,{query:e})=>{let{state:t}=n,{from:r}=t.selection.main,i=e.prevMatch(t,r,r);if(!i)return!1;let s=T.single(i.from,i.to),o=n.state.facet(Wr);return n.dispatch({selection:s,effects:[Uh(n,i),o.scrollToMatch(s.main,n)],userEvent:"select.search"}),nb(n),!0}),F4=Ws((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:T.create(t.map(r=>T.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),V4=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:r,to:i}=t.main,s=[],o=0;for(let a=new Br(n.doc,n.sliceDoc(r,i));!a.next().done;){if(s.length>1e3)return!1;a.value.from==r&&(o=s.length),s.push(T.range(a.value.from,a.value.to))}return e(n.update({selection:T.create(s,o),userEvent:"select.search.matches"})),!0},Of=Ws((n,{query:e})=>{let{state:t}=n,{from:r,to:i}=t.selection.main;if(t.readOnly)return!1;let s=e.nextMatch(t,r,r);if(!s)return!1;let o=s,a=[],l,c,h=[];o.from==r&&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(H.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(r).number)+".")));let d=n.state.changes(a);return o&&(l=T.single(o.from,o.to).map(d),h.push(Uh(n,o)),h.push(t.facet(Wr).scrollToMatch(l.main,n))),n.dispatch({changes:d,selection:l,effects:h,userEvent:"input.replace"}),!0}),z4=Ws((n,{query:e})=>{if(n.state.readOnly)return!1;let t=e.matchAll(n.state,1e9).map(i=>{let{from:s,to:o}=i;return{from:s,to:o,insert:e.getReplacement(i)}});if(!t.length)return!1;let r=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:H.announce.of(r),userEvent:"input.replace.all"}),!0});function _h(n){return n.state.facet(Wr).createPanel(n)}function nh(n,e){var t,r,i,s,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(Wr);return new Z0({search:((t=e?.literal)!==null&&t!==void 0?t:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:c.caseSensitive,literal:(i=e?.literal)!==null&&i!==void 0?i:c.literal,regexp:(s=e?.regexp)!==null&&s!==void 0?s:c.regexp,wholeWord:(o=e?.wholeWord)!==null&&o!==void 0?o:c.wholeWord})}function tb(n){let e=Wi(n,_h);return e&&e.dom.querySelector("[main-field]")}function nb(n){let e=tb(n);e&&e==n.root.activeElement&&e.select()}const rb=n=>{let e=n.state.field(Dn,!1);if(e&&e.panel){let t=tb(n);if(t&&t!=n.root.activeElement){let r=nh(n.state,e.query.spec);r.valid&&n.dispatch({effects:Ki.of(r)}),t.focus(),t.select()}}else n.dispatch({effects:[Wh.of(!0),e?Ki.of(nh(n.state,e.query.spec)):ae.appendConfig.of(U4)]});return!0},ib=n=>{let e=n.state.field(Dn,!1);if(!e||!e.panel)return!1;let t=Wi(n,_h);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:Wh.of(!1)}),!0},H4=[{key:"Mod-f",run:rb,scope:"editor search-panel"},{key:"F3",run:va,shift:wa,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:va,shift:wa,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:ib,scope:"editor search-panel"},{key:"Mod-Shift-l",run:V4},{key:"Mod-Alt-g",run:x4},{key:"Mod-d",run:D4,preventDefault:!0}];class W4{constructor(e){this.view=e;let t=this.query=e.state.field(Dn).query.spec;this.commit=this.commit.bind(this),this.searchField=Ce("input",{value:t.search,placeholder:mt(e,"Find"),"aria-label":mt(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Ce("input",{value:t.replace,placeholder:mt(e,"Replace"),"aria-label":mt(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Ce("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Ce("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Ce("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function r(i,s,o){return Ce("button",{class:"cm-button",name:i,onclick:s,type:"button"},o)}this.dom=Ce("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,r("next",()=>va(e),[mt(e,"next")]),r("prev",()=>wa(e),[mt(e,"previous")]),r("select",()=>F4(e),[mt(e,"all")]),Ce("label",null,[this.caseField,mt(e,"match case")]),Ce("label",null,[this.reField,mt(e,"regexp")]),Ce("label",null,[this.wordField,mt(e,"by word")]),...e.state.readOnly?[]:[Ce("br"),this.replaceField,r("replace",()=>Of(e),[mt(e,"replace")]),r("replaceAll",()=>z4(e),[mt(e,"replace all")])],Ce("button",{name:"close",onclick:()=>ib(e),"aria-label":mt(e,"close"),type:"button"},["×"])])}commit(){let e=new Z0({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:Ki.of(e)}))}keydown(e){ak(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?wa:va)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),Of(this.view))}update(e){for(let t of e.transactions)for(let r of t.effects)r.is(Ki)&&!r.value.eq(this.query)&&this.setQuery(r.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(Wr).top}}function mt(n,e){return n.state.phrase(e)}const Ao=30,Mo=/[\s\.,:;?!]/;function Uh(n,{from:e,to:t}){let r=n.state.doc.lineAt(e),i=n.state.doc.lineAt(t).to,s=Math.max(r.from,e-Ao),o=Math.min(i,t+Ao),a=n.state.sliceDoc(s,o);if(s!=r.from){for(let l=0;l<Ao;l++)if(!Mo.test(a[l+1])&&Mo.test(a[l])){a=a.slice(l);break}}if(o!=i){for(let l=a.length-1;l>a.length-Ao;l--)if(!Mo.test(a[l-1])&&Mo.test(a[l])){a=a.slice(0,l);break}}return H.announce.of(`${n.state.phrase("current match")}. ${a} ${n.state.phrase("on line")} ${r.number}.`)}const _4=H.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"}}),U4=[Dn,lr.low($4),_4];class sb{constructor(e,t,r,i){this.state=e,this.pos=t,this.explicit=r,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=tt(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),i=t.text.slice(r-t.from,this.pos-t.from),s=i.search(ob(e,!1));return s<0?null:{from:r+s,to:this.pos,text:i.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function Pf(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function K4(n){let e=Object.create(null),t=Object.create(null);for(let{label:i}of n){e[i[0]]=!0;for(let s=1;s<i.length;s++)t[i[s]]=!0}let r=Pf(e)+Pf(t)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function G4(n){let e=n.map(i=>typeof i=="string"?{label:i}:i),[t,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:K4(e);return i=>{let s=i.matchBefore(r);return s||i.explicit?{from:s?s.from:i.pos,options:e,validFor:t}:null}}class Af{constructor(e,t,r,i){this.completion=e,this.source=t,this.match=r,this.score=i}}function nr(n){return n.selection.main.from}function ob(n,e){var t;let{source:r}=n,i=e&&r[0]!="^",s=r[r.length-1]!="$";return!i&&!s?n:new RegExp(`${i?"^":""}(?:${r})${s?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const ab=tn.define();function q4(n,e,t,r){let{main:i}=n.selection,s=t-i.from,o=r-i.from;return{...n.changeByRange(a=>{if(a!=i&&t!=r&&n.sliceDoc(a.from+s,a.from+o)!=n.sliceDoc(t,r))return{range:a};let l=n.toText(e);return{changes:{from:a.from+s,to:r==i.from?a.to:a.from+o,insert:l},range:T.cursor(a.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const Mf=new WeakMap;function Y4(n){if(!Array.isArray(n))return n;let e=Mf.get(n);return e||Mf.set(n,e=G4(n)),e}const ka=ae.define(),Gi=ae.define();class Q4{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let r=at(e,t),i=Gt(r);this.chars.push(r);let s=e.slice(t,t+i),o=s.toUpperCase();this.folded.push(at(o==s?s.toLowerCase():o,0)),t+=i}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:r,any:i,precise:s,byWord:o}=this;if(t.length==1){let k=at(e,0),S=Gt(k),O=S==e.length?0:-100;if(k!=t[0])if(k==r[0])O+=-200;else return null;return this.ret(O,[0,S])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=t.length,c=0;if(a<0){for(let k=0,S=Math.min(e.length,200);k<S&&c<l;){let O=at(e,k);(O==t[c]||O==r[c])&&(i[c++]=k),k+=Gt(O)}if(c<l)return null}let h=0,d=0,f=!1,p=0,m=-1,b=-1,y=/[a-z]/.test(e),v=!0;for(let k=0,S=Math.min(e.length,200),O=0;k<S&&d<l;){let C=at(e,k);a<0&&(h<l&&C==t[h]&&(s[h++]=k),p<l&&(C==t[p]||C==r[p]?(p==0&&(m=k),b=k+1,p++):p=0));let P,x=C<255?C>=48&&C<=57||C>=97&&C<=122?2:C>=65&&C<=90?1:0:(P=xh(C))!=P.toLowerCase()?1:P!=P.toUpperCase()?2:0;(!k||x==1&&y||O==0&&x!=0)&&(t[d]==C||r[d]==C&&(f=!0)?o[d++]=k:o.length&&(v=!1)),O=x,k+=Gt(C)}return d==l&&o[0]==0&&v?this.result(-100+(f?-200:0),o,e):p==l&&m==0?this.ret(-200-e.length+(b==e.length?0:-100),[0,b]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==l?this.ret(-900-e.length,[m,b]):d==l?this.result(-100+(f?-200:0)+-700+(v?0:-1100),o,e):t.length==2?null:this.result((i[0]?-700:0)+-200+-1100,i,e)}result(e,t,r){let i=[],s=0;for(let o of t){let a=o+(this.astral?Gt(at(r,o)):1);s&&i[s-1]==o?i[s-1]=a:(i[s++]=o,i[s++]=a)}return this.ret(e-r.length,i)}}class J4{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),r=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,t.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}}const Ue=U.define({combine(n){return nn(n,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:X4,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>r=>Nf(e(r),t(r)),optionClass:(e,t)=>r=>Nf(e(r),t(r)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function Nf(n,e){return n?e?n+" "+e:n:e}function X4(n,e,t,r,i,s){let o=n.textDirection==Oe.RTL,a=o,l=!1,c="top",h,d,f=e.left-i.left,p=i.right-e.right,m=r.right-r.left,b=r.bottom-r.top;if(a&&f<Math.min(m,p)?a=!1:!a&&p<Math.min(m,f)&&(a=!0),m<=(a?f:p))h=Math.max(i.top,Math.min(t.top,i.bottom-b))-e.top,d=Math.min(400,a?f:p);else{l=!0,d=Math.min(400,(o?e.right:i.right-e.left)-30);let k=i.bottom-e.bottom;k>=b||k>e.top?h=t.bottom-e.top:(c="bottom",h=e.bottom-t.top)}let y=(e.bottom-e.top)/s.offsetHeight,v=(e.right-e.left)/s.offsetWidth;return{style:`${c}: ${h/y}px; max-width: ${d/v}px`,class:"cm-completionInfo-"+(l?o?"left-narrow":"right-narrow":a?"left":"right")}}function Z4(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),t.type&&r.classList.add(...t.type.split(/\s+/g).map(i=>"cm-completionIcon-"+i)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(t,r,i,s){let o=document.createElement("span");o.className="cm-completionLabel";let a=t.displayLabel||t.label,l=0;for(let c=0;c<s.length;){let h=s[c++],d=s[c++];h>l&&o.appendChild(document.createTextNode(a.slice(l,h)));let f=o.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(h,d))),f.className="cm-completionMatchedText",l=d}return l<a.length&&o.appendChild(document.createTextNode(a.slice(l))),o},position:50},{render(t){if(!t.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=t.detail,r},position:80}),e.sort((t,r)=>t.position-r.position).map(t=>t.render)}function Dl(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let i=Math.floor(e/t);return{from:i*t,to:(i+1)*t}}let r=Math.floor((n-e)/t);return{from:n-(r+1)*t,to:n-r*t}}class e5{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:s,selected:o}=i.open,a=e.state.facet(Ue);this.optionContent=Z4(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Dl(s.length,o,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:c}=e.state.field(t).open;for(let h=l.target,d;h&&h!=this.dom;h=h.parentNode)if(h.nodeName=="LI"&&(d=/-(\d+)$/.exec(h.id))&&+d[1]<c.length){this.applyCompletion(e,c[+d[1]]),l.preventDefault();return}}),this.dom.addEventListener("focusout",l=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(Ue).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Gi.of(null)})}),this.showOptions(s,i.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let r=e.state.field(this.stateField),i=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=i){let{options:s,selected:o,disabled:a}=r.open;(!i.open||i.open.options!=s)&&(this.range=Dl(s.length,o,e.state.facet(Ue).maxRenderedOptions),this.showOptions(s,r.id)),this.updateSel(),a!=((t=i.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of t.split(" "))r&&this.dom.classList.add(r);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=Dl(t.options.length,t.selected,this.view.state.facet(Ue).maxRenderedOptions),this.showOptions(t.options,e.id));let r=this.updateSelectedOption(t.selected);if(r){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:s}=i;if(!s)return;let o=typeof s=="string"?document.createTextNode(s):s(i);if(!o)return;"then"in o?o.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,i)}).catch(a=>ht(this.view.state,a,"completion info")):(this.addInfoPane(o,i),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:i,destroy:s}=e;r.appendChild(i),this.infoDestroy=s||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,i=this.range.from;r;r=r.nextSibling,i++)r.nodeName!="LI"||!r.id?i--:i==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return t&&n5(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),i=e.getBoundingClientRect(),s=this.space;if(!s){let o=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return i.top>Math.min(s.bottom,t.bottom)-10||i.bottom<Math.max(s.top,t.top)+10?null:this.view.state.facet(Ue).positionInfo(this.view,t,i,r,s,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,r){const i=document.createElement("ul");i.id=t,i.setAttribute("role","listbox"),i.setAttribute("aria-expanded","true"),i.setAttribute("aria-label",this.view.state.phrase("Completions")),i.addEventListener("mousedown",o=>{o.target==i&&o.preventDefault()});let s=null;for(let o=r.from;o<r.to;o++){let{completion:a,match:l}=e[o],{section:c}=a;if(c){let f=typeof c=="string"?c:c.name;if(f!=s&&(o>r.from||r.from==0))if(s=f,typeof c!="string"&&c.header)i.appendChild(c.header(c));else{let p=i.appendChild(document.createElement("completion-section"));p.textContent=f}}const h=i.appendChild(document.createElement("li"));h.id=t+"-"+o,h.setAttribute("role","option");let d=this.optionClass(a);d&&(h.className=d);for(let f of this.optionContent){let p=f(a,this.view.state,this.view,l);p&&h.appendChild(p)}}return r.from&&i.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&i.classList.add("cm-completionListIncompleteBottom"),i}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function t5(n,e){return t=>new e5(t,n,e)}function n5(n,e){let t=n.getBoundingClientRect(),r=e.getBoundingClientRect(),i=t.height/n.offsetHeight;r.top<t.top?n.scrollTop-=(t.top-r.top)/i:r.bottom>t.bottom&&(n.scrollTop+=(r.bottom-t.bottom)/i)}function Df(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function r5(n,e){let t=[],r=null,i=null,s=h=>{t.push(h);let{section:d}=h.completion;if(d){r||(r=[]);let f=typeof d=="string"?d:d.name;r.some(p=>p.name==f)||r.push(typeof d=="string"?{name:f}:d)}},o=e.facet(Ue);for(let h of n)if(h.hasResult()){let d=h.result.getMatch;if(h.result.filter===!1)for(let f of h.result.options)s(new Af(f,h.source,d?d(f):[],1e9-t.length));else{let f=e.sliceDoc(h.from,h.to),p,m=o.filterStrict?new J4(f):new Q4(f);for(let b of h.result.options)if(p=m.match(b.label)){let y=b.displayLabel?d?d(b,p.matched):[]:p.matched,v=p.score+(b.boost||0);if(s(new Af(b,h.source,y,v)),typeof b.section=="object"&&b.section.rank==="dynamic"){let{name:k}=b.section;i||(i=Object.create(null)),i[k]=Math.max(v,i[k]||-1e9)}}}}if(r){let h=Object.create(null),d=0,f=(p,m)=>(p.rank==="dynamic"&&m.rank==="dynamic"?i[m.name]-i[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof m.rank=="number"?m.rank:1e9)||(p.name<m.name?-1:1);for(let p of r.sort(f))d-=1e5,h[p.name]=d;for(let p of t){let{section:m}=p.completion;m&&(p.score+=h[typeof m=="string"?m:m.name])}}let a=[],l=null,c=o.compareCompletions;for(let h of t.sort((d,f)=>f.score-d.score||c(d.completion,f.completion))){let d=h.completion;!l||l.label!=d.label||l.detail!=d.detail||l.type!=null&&d.type!=null&&l.type!=d.type||l.apply!=d.apply||l.boost!=d.boost?a.push(h):Df(h.completion)>Df(l)&&(a[a.length-1]=h),l=h.completion}return a}class wr{constructor(e,t,r,i,s,o){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=i,this.selected=s,this.disabled=o}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new wr(this.options,Tf(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,i,s,o){if(i&&!o&&e.some(c=>c.isPending))return i.setDisabled();let a=r5(e,t);if(!a.length)return i&&e.some(c=>c.isPending)?i.setDisabled():null;let l=t.facet(Ue).selectOnOpen?0:-1;if(i&&i.selected!=l&&i.selected!=-1){let c=i.options[i.selected].completion;for(let h=0;h<a.length;h++)if(a[h].completion==c){l=h;break}}return new wr(a,Tf(r,l),{pos:e.reduce((c,h)=>h.hasResult()?Math.min(c,h.from):c,1e8),create:c5,above:s.aboveCursor},i?i.timestamp:Date.now(),l,!1)}map(e){return new wr(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new wr(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Sa{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new Sa(a5,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,r=t.facet(Ue),s=(r.override||t.languageDataAt("autocomplete",nr(t)).map(Y4)).map(l=>(this.active.find(h=>h.source==l)||new Ot(l,this.active.some(h=>h.state!=0)?1:0)).update(e,r));s.length==this.active.length&&s.every((l,c)=>l==this.active[c])&&(s=this.active);let o=this.open,a=e.effects.some(l=>l.is(Kh));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!i5(s,this.active)||a?o=wr.build(s,t,this.id,o,r,a):o&&o.disabled&&!s.some(l=>l.isPending)&&(o=null),!o&&s.every(l=>!l.isPending)&&s.some(l=>l.hasResult())&&(s=s.map(l=>l.hasResult()?new Ot(l.source,0):l));for(let l of e.effects)l.is(cb)&&(o=o&&o.setSelected(l.value,this.id));return s==this.active&&o==this.open?this:new Sa(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?s5:o5}}function i5(n,e){if(n==e)return!0;for(let t=0,r=0;;){for(;t<n.length&&!n[t].hasResult();)t++;for(;r<e.length&&!e[r].hasResult();)r++;let i=t==n.length,s=r==e.length;if(i||s)return i==s;if(n[t++].result!=e[r++].result)return!1}}const s5={"aria-autocomplete":"list"},o5={};function Tf(n,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":n};return e>-1&&(t["aria-activedescendant"]=n+"-"+e),t}const a5=[];function lb(n,e){if(n.isUserEvent("input.complete")){let r=n.annotation(ab);if(r&&e.activateOnCompletion(r))return 12}let t=n.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:n.isUserEvent("delete.backward")?2:n.selection?8:n.docChanged?16:0}class Ot{constructor(e,t,r=!1){this.source=e,this.state=t,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let r=lb(e,t),i=this;(r&8||r&16&&this.touches(e))&&(i=new Ot(i.source,0)),r&4&&i.state==0&&(i=new Ot(this.source,1)),i=i.updateFor(e,r);for(let s of e.effects)if(s.is(ka))i=new Ot(i.source,1,s.value);else if(s.is(Gi))i=new Ot(i.source,0);else if(s.is(Kh))for(let o of s.value)o.source==i.source&&(i=o);return i}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(nr(e.state))}}class Nr extends Ot{constructor(e,t,r,i,s,o){super(e,3,t),this.limit=r,this.result=i,this.from=s,this.to=o}hasResult(){return!0}updateFor(e,t){var r;if(!(t&3))return this.map(e.changes);let i=this.result;i.map&&!e.changes.empty&&(i=i.map(i,e.changes));let s=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),a=nr(e.state);if(a>o||!i||t&2&&(nr(e.startState)==this.from||a<this.limit))return new Ot(this.source,t&4?1:0);let l=e.changes.mapPos(this.limit);return l5(i.validFor,e.state,s,o)?new Nr(this.source,this.explicit,l,i,s,o):i.update&&(i=i.update(i,s,o,new sb(e.state,a,!1)))?new Nr(this.source,this.explicit,l,i,i.from,(r=i.to)!==null&&r!==void 0?r:nr(e.state)):new Ot(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new Nr(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new Ot(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function l5(n,e,t,r){if(!n)return!1;let i=e.sliceDoc(t,r);return typeof n=="function"?n(i,t,r,e):ob(n,!0).test(i)}const Kh=ae.define({map(n,e){return n.map(t=>t.map(e))}}),cb=ae.define(),lt=Qe.define({create(){return Sa.start()},update(n,e){return n.update(e)},provide:n=>[Lh.from(n,e=>e.tooltip),H.contentAttributes.from(n,e=>e.attrs)]});function Gh(n,e){const t=e.completion.apply||e.completion.label;let r=n.state.field(lt).active.find(i=>i.source==e.source);return r instanceof Nr?(typeof t=="string"?n.dispatch({...q4(n.state,t,r.from,r.to),annotations:ab.of(e.completion)}):t(n,e.completion,r.from,r.to),!0):!1}const c5=t5(lt,Gh);function No(n,e="option"){return t=>{let r=t.state.field(lt,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<t.state.facet(Ue).interactionDelay)return!1;let i=1,s;e=="page"&&(s=Xg(t,r.open.tooltip))&&(i=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:o}=r.open.options,a=r.open.selected>-1?r.open.selected+i*(n?1:-1):n?0:o-1;return a<0?a=e=="page"?0:o-1:a>=o&&(a=e=="page"?o-1:0),t.dispatch({effects:cb.of(a)}),!0}}const h5=n=>{let e=n.state.field(lt,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<n.state.facet(Ue).interactionDelay?!1:Gh(n,e.open.options[e.open.selected])},Tl=n=>n.state.field(lt,!1)?(n.dispatch({effects:ka.of(!0)}),!0):!1,u5=n=>{let e=n.state.field(lt,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:Gi.of(null)}),!0)};class d5{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const f5=50,p5=1e3,m5=$e.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of n.state.field(lt).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(lt),t=n.state.facet(Ue);if(!n.selectionSet&&!n.docChanged&&n.startState.field(lt)==e)return;let r=n.transactions.some(s=>{let o=lb(s,t);return o&8||(s.selection||s.docChanged)&&!(o&3)});for(let s=0;s<this.running.length;s++){let o=this.running[s];if(r||o.context.abortOnDocChange&&n.docChanged||o.updates.length+n.transactions.length>f5&&Date.now()-o.time>p5){for(let a of o.context.abortListeners)try{a()}catch(l){ht(this.view.state,l)}o.context.abortListeners=null,this.running.splice(s--,1)}else o.updates.push(...n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),n.transactions.some(s=>s.effects.some(o=>o.is(ka)))&&(this.pendingStart=!0);let i=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(o=>o.active.source==s.source))?setTimeout(()=>this.startUpdate(),i):-1,this.composing!=0)for(let s of n.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:n}=this.view,e=n.field(lt);for(let t of e.active)t.isPending&&!this.running.some(r=>r.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Ue).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=nr(e),r=new sb(e,t,n.explicit,this.view),i=new d5(n,r);this.running.push(i),Promise.resolve(n.source(r)).then(s=>{i.context.aborted||(i.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:Gi.of(null)}),ht(this.view.state,s)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Ue).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(Ue),r=this.view.state.field(lt);for(let i=0;i<this.running.length;i++){let s=this.running[i];if(s.done===void 0)continue;if(this.running.splice(i--,1),s.done){let a=nr(s.updates.length?s.updates[0].startState:this.view.state),l=Math.min(a,s.done.from+(s.active.explicit?0:1)),c=new Nr(s.active.source,s.active.explicit,l,s.done,s.done.from,(n=s.done.to)!==null&&n!==void 0?n:a);for(let h of s.updates)c=c.update(h,t);if(c.hasResult()){e.push(c);continue}}let o=r.active.find(a=>a.source==s.active.source);if(o&&o.isPending)if(s.done==null){let a=new Ot(s.active.source,0);for(let l of s.updates)a=a.update(l,t);a.isPending||e.push(a)}else this.startQuery(o)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:Kh.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(lt,!1);if(e&&e.tooltip&&this.view.state.facet(Ue).closeOnBlur){let t=e.open&&Xg(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Gi.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:ka.of(!1)}),20),this.composing=0}}}),g5=typeof navigator=="object"&&/Win/.test(navigator.platform),b5=lr.highest(H.domEventHandlers({keydown(n,e){let t=e.state.field(lt,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(g5&&n.altKey)||n.metaKey)return!1;let r=t.open.options[t.open.selected],i=t.active.find(o=>o.source==r.source),s=r.completion.commitCharacters||i.result.commitCharacters;return s&&s.indexOf(n.key)>-1&&Gh(e,r),!1}})),y5=H.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),qi={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},er=ae.define({map(n,e){let t=e.mapPos(n,-1,st.TrackAfter);return t??void 0}}),qh=new class extends En{};qh.startSide=1;qh.endSide=-1;const hb=Qe.define({create(){return fe.empty},update(n,e){if(n=n.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);n=n.update({filter:r=>r>=t.from&&r<=t.to})}for(let t of e.effects)t.is(er)&&(n=n.update({add:[qh.range(t.value,t.value+1)]}));return n}});function x5(){return[w5,hb]}const El="()[]{}<>«»»«[]{}";function ub(n){for(let e=0;e<El.length;e+=2)if(El.charCodeAt(e)==n)return El.charAt(e+1);return xh(n<128?n:n+1)}function db(n,e){return n.languageDataAt("closeBrackets",e)[0]||qi}const v5=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),w5=H.inputHandler.of((n,e,t,r)=>{if((v5?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let i=n.state.selection.main;if(r.length>2||r.length==2&&Gt(at(r,0))==1||e!=i.from||t!=i.to)return!1;let s=C5(n.state,r);return s?(n.dispatch(s),!0):!1}),k5=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let r=db(n,n.selection.main.head).brackets||qi.brackets,i=null,s=n.changeByRange(o=>{if(o.empty){let a=j5(n.doc,o.head);for(let l of r)if(l==a&&_a(n.doc,o.head)==ub(at(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:T.cursor(o.head-l.length)}}return{range:i=o}});return i||e(n.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},S5=[{key:"Backspace",run:k5}];function C5(n,e){let t=db(n,n.selection.main.head),r=t.brackets||qi.brackets;for(let i of r){let s=ub(at(i,0));if(e==i)return s==i?A5(n,i,r.indexOf(i+i+i)>-1,t):O5(n,i,s,t.before||qi.before);if(e==s&&fb(n,n.selection.main.from))return P5(n,i,s)}return null}function fb(n,e){let t=!1;return n.field(hb).between(0,n.doc.length,r=>{r==e&&(t=!0)}),t}function _a(n,e){let t=n.sliceString(e,e+2);return t.slice(0,Gt(at(t,0)))}function j5(n,e){let t=n.sliceString(e-2,e);return Gt(at(t,0))==t.length?t:t.slice(1)}function O5(n,e,t,r){let i=null,s=n.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:er.of(o.to+e.length),range:T.range(o.anchor+e.length,o.head+e.length)};let a=_a(n.doc,o.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:er.of(o.head+e.length),range:T.cursor(o.head+e.length)}:{range:i=o}});return i?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function P5(n,e,t){let r=null,i=n.changeByRange(s=>s.empty&&_a(n.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:T.cursor(s.head+t.length)}:r={range:s});return r?null:n.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function A5(n,e,t,r){let i=r.stringPrefixes||qi.stringPrefixes,s=null,o=n.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:er.of(a.to+e.length),range:T.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=_a(n.doc,l),h;if(c==e){if(Ef(n,l))return{changes:{insert:e+e,from:l},effects:er.of(l+e.length),range:T.cursor(l+e.length)};if(fb(n,l)){let f=t&&n.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:T.cursor(l+f.length)}}}else{if(t&&n.sliceDoc(l-2*e.length,l)==e+e&&(h=Rf(n,l-2*e.length,i))>-1&&Ef(n,h))return{changes:{insert:e+e+e+e,from:l},effects:er.of(l+e.length),range:T.cursor(l+e.length)};if(n.charCategorizer(l)(c)!=Ne.Word&&Rf(n,l,i)>-1&&!M5(n,l,e,i))return{changes:{insert:e+e,from:l},effects:er.of(l+e.length),range:T.cursor(l+e.length)}}return{range:s=a}});return s?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function Ef(n,e){let t=tt(n).resolveInner(e+1);return t.parent&&t.from==e}function M5(n,e,t,r){let i=tt(n).resolveInner(e,-1),s=r.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=n.sliceDoc(i.from,Math.min(i.to,i.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&r.indexOf(a.slice(0,l))>-1){let h=i.firstChild;for(;h&&h.from==i.from&&h.to-h.from>t.length+l;){if(n.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=i.to==e&&i.parent;if(!c)break;i=c}return!1}function Rf(n,e,t){let r=n.charCategorizer(e);if(r(n.sliceDoc(e-1,e))!=Ne.Word)return e;for(let i of t){let s=e-i.length;if(n.sliceDoc(s,e)==i&&r(n.sliceDoc(s-1,s))!=Ne.Word)return s}return-1}function N5(n={}){return[b5,lt,Ue.of(n),m5,D5,y5]}const pb=[{key:"Ctrl-Space",run:Tl},{mac:"Alt-`",run:Tl},{mac:"Alt-i",run:Tl},{key:"Escape",run:u5},{key:"ArrowDown",run:No(!0)},{key:"ArrowUp",run:No(!1)},{key:"PageDown",run:No(!0,"page")},{key:"PageUp",run:No(!1,"page")},{key:"Enter",run:h5}],D5=lr.highest(La.computeN([Ue],n=>n.facet(Ue).defaultKeymap?[pb]:[]));class Lf{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class Qn{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let i=r.facet(Yi).markerFilter;i&&(e=i(e,r));let s=e.slice().sort((p,m)=>p.from-m.from||p.to-m.to),o=new fn,a=[],l=0,c=r.doc.iter(),h=0,d=r.doc.length;for(let p=0;;){let m=p==s.length?null:s[p];if(!m&&!a.length)break;let b,y;if(a.length)b=l,y=a.reduce((S,O)=>Math.min(S,O.to),m&&m.from>b?m.from:1e8);else{if(b=m.from,b>d)break;y=m.to,a.push(m),p++}for(;p<s.length;){let S=s[p];if(S.from==b&&(S.to>S.from||S.to==b))a.push(S),p++,y=Math.min(S.to,y);else{y=Math.min(S.from,y);break}}y=Math.min(y,d);let v=!1;if(a.some(S=>S.from==b&&(S.to==y||y==d))&&(v=b==y,!v&&y-b<10)){let S=b-(h+c.value.length);S>0&&(c.next(S),h=b);for(let O=b;;){if(O>=y){v=!0;break}if(!c.lineBreak&&h+c.value.length>O)break;O=h+c.value.length,h+=c.value.length,c.next()}}let k=_5(a);if(v)o.add(b,b,ne.widget({widget:new V5(k),diagnostics:a.slice()}));else{let S=a.reduce((O,C)=>C.markClass?O+" "+C.markClass:O,"");o.add(b,y,ne.mark({class:"cm-lintRange cm-lintRange-"+k+S,diagnostics:a.slice(),inclusiveEnd:a.some(O=>O.to>y)}))}if(l=y,l==d)break;for(let S=0;S<a.length;S++)a[S].to<=l&&a.splice(S--,1)}let f=o.finish();return new Qn(f,t,$r(f))}}function $r(n,e=null,t=0){let r=null;return n.between(t,1e9,(i,s,{spec:o})=>{if(!(e&&o.diagnostics.indexOf(e)<0))if(!r)r=new Lf(i,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Lf(r.from,s,r.diagnostic)}}),r}function T5(n,e){let t=e.pos,r=e.end||t,i=n.state.facet(Yi).hideOn(n,t,r);if(i!=null)return i;let s=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(o=>o.is(mb))||n.changes.touchesRange(s.from,Math.max(s.to,r)))}function E5(n,e){return n.field(yt,!1)?e:e.concat(ae.appendConfig.of(U5))}const mb=ae.define(),Yh=ae.define(),gb=ae.define(),yt=Qe.define({create(){return new Qn(ne.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),r=null,i=n.panel;if(n.selected){let s=e.changes.mapPos(n.selected.from,1);r=$r(t,n.selected.diagnostic,s)||$r(t,null,s)}!t.size&&i&&e.state.facet(Yi).autoPanel&&(i=null),n=new Qn(t,i,r)}for(let t of e.effects)if(t.is(mb)){let r=e.state.facet(Yi).autoPanel?t.value.length?Qi.open:null:n.panel;n=Qn.init(t.value,r,e.state)}else t.is(Yh)?n=new Qn(n.diagnostics,t.value?Qi.open:null,n.selected):t.is(gb)&&(n=new Qn(n.diagnostics,n.panel,t.value));return n},provide:n=>[_i.from(n,e=>e.panel),H.decorations.from(n,e=>e.diagnostics)]}),R5=ne.mark({class:"cm-lintRange cm-lintRange-active"});function L5(n,e,t){let{diagnostics:r}=n.state.field(yt),i,s=-1,o=-1;r.between(e-(t<0?1:0),e+(t>0?1:0),(l,c,{spec:h})=>{if(e>=l&&e<=c&&(l==c||(e>l||t>0)&&(e<c||t<0)))return i=h.diagnostics,s=l,o=c,!1});let a=n.state.facet(Yi).tooltipFilter;return i&&a&&(i=a(i,n.state)),i?{pos:s,end:o,above:n.state.doc.lineAt(s).to<o,create(){return{dom:I5(n,i)}}}:null}function I5(n,e){return Ce("ul",{class:"cm-tooltip-lint"},e.map(t=>yb(n,t,!1)))}const B5=n=>{let e=n.state.field(yt,!1);(!e||!e.panel)&&n.dispatch({effects:E5(n.state,[Yh.of(!0)])});let t=Wi(n,Qi.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},If=n=>{let e=n.state.field(yt,!1);return!e||!e.panel?!1:(n.dispatch({effects:Yh.of(!1)}),!0)},$5=n=>{let e=n.state.field(yt,!1);if(!e)return!1;let t=n.state.selection.main,r=e.diagnostics.iter(t.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==t.from&&r.to==t.to)?!1:(n.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},F5=[{key:"Mod-Shift-m",run:B5,preventDefault:!0},{key:"F8",run:$5}],Yi=U.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...nn(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Bf,tooltipFilter:Bf,needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t,hideOn:(e,t)=>e?t?(r,i,s)=>e(r,i,s)||t(r,i,s):e:t,autoPanel:(e,t)=>e||t})}}});function Bf(n,e){return n?e?(t,r)=>e(n(t,r),r):n:e}function bb(n){let e=[];if(n)e:for(let{name:t}of n){for(let r=0;r<t.length;r++){let i=t[r];if(/[a-zA-Z]/.test(i)&&!e.some(s=>s.toLowerCase()==i.toLowerCase())){e.push(i);continue e}}e.push("")}return e}function yb(n,e,t){var r;let i=t?bb(e.actions):[];return Ce("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Ce("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((s,o)=>{let a=!1,l=p=>{if(p.preventDefault(),a)return;a=!0;let m=$r(n.state.field(yt).diagnostics,e);m&&s.apply(n,m.from,m.to)},{name:c}=s,h=i[o]?c.indexOf(i[o]):-1,d=h<0?c:[c.slice(0,h),Ce("u",c.slice(h,h+1)),c.slice(h+1)],f=s.markClass?" "+s.markClass:"";return Ce("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${c}${h<0?"":` (access key "${i[o]})"`}.`},d)}),e.source&&Ce("div",{class:"cm-diagnosticSource"},e.source))}class V5 extends rn{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return Ce("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class $f{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=yb(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Qi{constructor(e){this.view=e,this.items=[];let t=i=>{if(i.keyCode==27)If(this.view),this.view.focus();else if(i.keyCode==38||i.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(i.keyCode==40||i.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(i.keyCode==36)this.moveSelection(0);else if(i.keyCode==35)this.moveSelection(this.items.length-1);else if(i.keyCode==13)this.view.focus();else if(i.keyCode>=65&&i.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],o=bb(s.actions);for(let a=0;a<o.length;a++)if(o[a].toUpperCase().charCodeAt(0)==i.keyCode){let l=$r(this.view.state.field(yt).diagnostics,s);l&&s.actions[a].apply(e,l.from,l.to)}}else return;i.preventDefault()},r=i=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(i.target)&&this.moveSelection(s)};this.list=Ce("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:r}),this.dom=Ce("div",{class:"cm-panel-lint"},this.list,Ce("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>If(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(yt).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(yt),r=0,i=!1,s=null,o=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:c})=>{for(let h of c.diagnostics){if(o.has(h))continue;o.add(h);let d=-1,f;for(let p=r;p<this.items.length;p++)if(this.items[p].diagnostic==h){d=p;break}d<0?(f=new $f(this.view,h),this.items.splice(r,0,f),i=!0):(f=this.items[d],d>r&&(this.items.splice(r,d-r),i=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),s=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)i=!0,this.items.pop();this.items.length==0&&(this.items.push(new $f(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),i=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let c=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/c:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let e=this.list.firstChild;function t(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(yt),r=$r(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:gb.of(r)})}static open(e){return new Qi(e)}}function z5(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(n)}</svg>')`}function Do(n){return z5(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${n}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const H5=H.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Do("#d11")},".cm-lintRange-warning":{backgroundImage:Do("orange")},".cm-lintRange-info":{backgroundImage:Do("#999")},".cm-lintRange-hint":{backgroundImage:Do("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function W5(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function _5(n){let e="hint",t=1;for(let r of n){let i=W5(r.severity);i>t&&(t=i,e=r.severity)}return e}const U5=[yt,H.decorations.compute([yt],n=>{let{selected:e,panel:t}=n.field(yt);return!e||!t||e.from==e.to?ne.none:ne.set([R5.range(e.from,e.to)])}),Yk(L5,{hideOn:T5}),H5];var Ff=function(e){e===void 0&&(e={});var{crosshairCursor:t=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(S5)),e.defaultKeymap!==!1&&(r=r.concat(g4)),e.searchKeymap!==!1&&(r=r.concat(H4)),e.historyKeymap!==!1&&(r=r.concat(S3)),e.foldKeymap!==!1&&(r=r.concat(RS)),e.completionKeymap!==!1&&(r=r.concat(pb)),e.lintKeymap!==!1&&(r=r.concat(F5));var i=[];return e.lineNumbers!==!1&&i.push(oS()),e.highlightActiveLineGutter!==!1&&i.push(cS()),e.highlightSpecialChars!==!1&&i.push(Ck()),e.history!==!1&&i.push(p3()),e.foldGutter!==!1&&i.push($S()),e.drawSelection!==!1&&i.push(fk()),e.dropCursor!==!1&&i.push(yk()),e.allowMultipleSelections!==!1&&i.push(pe.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&i.push(CS()),e.syntaxHighlighting!==!1&&i.push($h(HS,{fallback:!0})),e.bracketMatching!==!1&&i.push(YS()),e.closeBrackets!==!1&&i.push(x5()),e.autocompletion!==!1&&i.push(N5()),e.rectangularSelection!==!1&&i.push($k()),t!==!1&&i.push(zk()),e.highlightActiveLine!==!1&&i.push(Nk()),e.highlightSelectionMatches!==!1&&i.push(S4()),e.tabSize&&typeof e.tabSize=="number"&&i.push(Ba.of(" ".repeat(e.tabSize))),i.concat([La.of(r.flat())]).filter(Boolean)};const K5="#e5c07b",Vf="#e06c75",G5="#56b6c2",q5="#ffffff",Yo="#abb2bf",rh="#7d8799",Y5="#61afef",Q5="#98c379",zf="#d19a66",J5="#c678dd",X5="#21252b",Hf="#2c313a",Wf="#282c34",Rl="#353a42",Z5="#3E4451",_f="#528bff",eC=H.theme({"&":{color:Yo,backgroundColor:Wf},".cm-content":{caretColor:_f},".cm-cursor, .cm-dropCursor":{borderLeftColor:_f},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Z5},".cm-panels":{backgroundColor:X5,color:Yo},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:Wf,color:rh,border:"none"},".cm-activeLineGutter":{backgroundColor:Hf},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Rl},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Rl,borderBottomColor:Rl},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Hf,color:Yo}}},{dark:!0}),tC=zr.define([{tag:M.keyword,color:J5},{tag:[M.name,M.deleted,M.character,M.propertyName,M.macroName],color:Vf},{tag:[M.function(M.variableName),M.labelName],color:Y5},{tag:[M.color,M.constant(M.name),M.standard(M.name)],color:zf},{tag:[M.definition(M.name),M.separator],color:Yo},{tag:[M.typeName,M.className,M.number,M.changed,M.annotation,M.modifier,M.self,M.namespace],color:K5},{tag:[M.operator,M.operatorKeyword,M.url,M.escape,M.regexp,M.link,M.special(M.string)],color:G5},{tag:[M.meta,M.comment],color:rh},{tag:M.strong,fontWeight:"bold"},{tag:M.emphasis,fontStyle:"italic"},{tag:M.strikethrough,textDecoration:"line-through"},{tag:M.link,color:rh,textDecoration:"underline"},{tag:M.heading,fontWeight:"bold",color:Vf},{tag:[M.atom,M.bool,M.special(M.variableName)],color:zf},{tag:[M.processingInstruction,M.string,M.inserted],color:Q5},{tag:M.invalid,color:q5}]),nC=[eC,$h(tC)];var rC=H.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),iC=function(e){e===void 0&&(e={});var{indentWithTab:t=!0,editable:r=!0,readOnly:i=!1,theme:s="light",placeholder:o="",basicSetup:a=!0}=e,l=[];switch(t&&l.unshift(La.of([b4])),a&&(typeof a=="boolean"?l.unshift(Ff()):l.unshift(Ff(a))),o&&l.unshift(Rk(o)),s){case"light":l.push(rC);break;case"dark":l.push(nC);break;case"none":break;default:l.push(s);break}return r===!1&&l.push(H.editable.of(!1)),i&&l.push(pe.readOnly.of(!0)),[...l]},sC=n=>({line:n.state.doc.lineAt(n.state.selection.main.from),lineCount:n.state.doc.lines,lineBreak:n.state.lineBreak,length:n.state.doc.length,readOnly:n.state.readOnly,tabSize:n.state.tabSize,selection:n.state.selection,selectionAsSingle:n.state.selection.asSingle().main,ranges:n.state.selection.ranges,selectionCode:n.state.sliceDoc(n.state.selection.main.from,n.state.selection.main.to),selections:n.state.selection.ranges.map(e=>n.state.sliceDoc(e.from,e.to)),selectedText:n.state.selection.ranges.some(e=>!e.empty)});class oC{constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(t=>{try{t()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class Uf{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var Ll=null,aC=()=>typeof window>"u"?new Uf:(Ll||(Ll=new Uf),Ll),Kf=tn.define(),lC=200,cC=[];function hC(n){var{value:e,selection:t,onChange:r,onStatistics:i,onCreateEditor:s,onUpdate:o,extensions:a=cC,autoFocus:l,theme:c="light",height:h=null,minHeight:d=null,maxHeight:f=null,width:p=null,minWidth:m=null,maxWidth:b=null,placeholder:y="",editable:v=!0,readOnly:k=!1,indentWithTab:S=!0,basicSetup:O=!0,root:C,initialState:P}=n,[x,N]=g.useState(),[D,L]=g.useState(),[R,B]=g.useState(),G=g.useState(()=>({current:null}))[0],V=g.useState(()=>({current:null}))[0],$=H.theme({"&":{height:h,minHeight:d,maxHeight:f,width:p,minWidth:m,maxWidth:b},"& .cm-scroller":{height:"100% !important"}}),q=H.updateListener.of(Y=>{if(Y.docChanged&&typeof r=="function"&&!Y.transactions.some(oe=>oe.annotation(Kf))){G.current?G.current.reset():(G.current=new oC(()=>{if(V.current){var oe=V.current;V.current=null,oe()}G.current=null},lC),aC().add(G.current));var se=Y.state.doc,le=se.toString();r(le,Y)}i&&i(sC(Y))}),he=iC({theme:c,editable:v,readOnly:k,placeholder:y,indentWithTab:S,basicSetup:O}),W=[q,$,...he];return o&&typeof o=="function"&&W.push(H.updateListener.of(o)),W=W.concat(a),g.useLayoutEffect(()=>{if(x&&!R){var Y={doc:e,selection:t,extensions:W},se=P?pe.fromJSON(P.json,Y,P.fields):pe.create(Y);if(B(se),!D){var le=new H({state:se,parent:x,root:C});L(le),s&&s(le,se)}}return()=>{D&&(B(void 0),L(void 0))}},[x,R]),g.useEffect(()=>{n.container&&N(n.container)},[n.container]),g.useEffect(()=>()=>{D&&(D.destroy(),L(void 0)),G.current&&(G.current.cancel(),G.current=null)},[D]),g.useEffect(()=>{l&&D&&D.focus()},[l,D]),g.useEffect(()=>{D&&D.dispatch({effects:ae.reconfigure.of(W)})},[c,a,h,d,f,p,m,b,y,v,k,S,O,r,o]),g.useEffect(()=>{if(e!==void 0){var Y=D?D.state.doc.toString():"";if(D&&e!==Y){var se=G.current&&!G.current.isDone,le=()=>{D&&e!==D.state.doc.toString()&&D.dispatch({changes:{from:0,to:D.state.doc.toString().length,insert:e||""},annotations:[Kf.of(!0)]})};se?V.current=le:le()}}},[e,D]),{state:R,setState:B,view:D,setView:L,container:x,setContainer:N}}var uC=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],xb=g.forwardRef((n,e)=>{var{className:t,value:r="",selection:i,extensions:s=[],onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:c,autoFocus:h,theme:d="light",height:f,minHeight:p,maxHeight:m,width:b,minWidth:y,maxWidth:v,basicSetup:k,placeholder:S,indentWithTab:O,editable:C,readOnly:P,root:x,initialState:N}=n,D=i3(n,uC),L=g.useRef(null),{state:R,view:B,container:G,setContainer:V}=hC({root:x,value:r,autoFocus:h,theme:d,height:f,minHeight:p,maxHeight:m,width:b,minWidth:y,maxWidth:v,basicSetup:k,placeholder:S,indentWithTab:O,editable:C,readOnly:P,selection:i,onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:c,extensions:s,initialState:N});g.useImperativeHandle(e,()=>({editor:L.current,state:R,view:B}),[L,G,R,B]);var $=g.useCallback(he=>{L.current=he,V(he)},[V]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var q=typeof d=="string"?"cm-theme-"+d:"cm-theme";return u.jsx("div",Qc({ref:$,className:""+q+(t?" "+t:"")},D))});xb.displayName="CodeMirror";const dC=()=>{const n=H.theme({"&":{backgroundColor:"var(--dash-surface)",color:"var(--dash-text)",height:"100%"},".cm-content":{caretColor:"var(--dash-accent)",fontFamily:"'JetBrains Mono', Menlo, monospace",padding:"1rem"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--dash-accent)"},"& ::selection":{backgroundColor:"var(--dash-accent-selection) !important",color:"inherit !important"},".cm-gutters":{backgroundColor:"var(--dash-surface)",color:"var(--dash-text-muted)",border:"none",borderRight:"1px solid var(--dash-border)",paddingRight:"0.5rem"},".cm-lineNumbers .cm-gutterElement":{padding:"0 0.5rem 0 1rem",minWidth:"3rem"},".cm-activeLineGutter":{backgroundColor:"var(--dash-accent-subtle)",color:"var(--dash-accent)",fontWeight:"600"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--dash-accent) 8%, transparent)"},".cm-matchingBracket":{backgroundColor:"var(--dash-accent-subtle)",outline:"1px solid var(--dash-accent)"},".cm-scroller":{overflow:"auto",minHeight:"100%"}}),e=zr.define([{tag:M.propertyName,color:"var(--dash-accent)"},{tag:M.string,color:"color-mix(in srgb, var(--dash-accent) 70%, var(--dash-text))"},{tag:M.number,color:"var(--dash-accent-hover)"},{tag:M.bool,color:"var(--dash-accent-hover)"},{tag:M.null,color:"var(--dash-text-muted)"},{tag:M.punctuation,color:"var(--dash-text-secondary)"},{tag:M.brace,color:"var(--dash-text-secondary)"},{tag:M.bracket,color:"var(--dash-text-secondary)"}]);return[n,$h(e)]},fC=({value:n,onChange:e,onCursorLineChange:t,height:r="100%",readOnly:i=!1})=>{const s=g.useMemo(()=>[r3(),H.lineWrapping,...dC()],[]),o=g.useMemo(()=>{if(t)return a=>{const l=a.state.selection.main.head,c=a.view.state.doc.lineAt(l).number-1;t(c)}},[t]);return u.jsx("div",{className:"h-full [&_.cm-editor]:h-full [&_.cm-editor]:outline-none [&_.cm-focused]:outline-none",children:u.jsx(xb,{value:n,height:r,extensions:s,onChange:e,onUpdate:o,theme:"none",readOnly:i,basicSetup:{lineNumbers:!0,highlightActiveLineGutter:!0,highlightActiveLine:!0,foldGutter:!1,dropCursor:!0,drawSelection:!1,allowMultipleSelections:!1,indentOnInput:!0,bracketMatching:!0,closeBrackets:!0,autocompletion:!1,rectangularSelection:!1,crosshairCursor:!1,highlightSelectionMatches:!0}})})},vb=({width:n,isLoading:e,jsonText:t,cursorLine:r,syntaxError:i,onChange:s,onCursorLineChange:o})=>{const{t:a}=me();return u.jsxs("div",{style:{width:`${n}%`},className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden flex flex-col shadow-sm min-w-0",children:[u.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:u.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:a("jsonTab")})}),u.jsx("div",{className:"flex-1 min-h-0 overflow-auto",children:e?u.jsx("div",{className:"h-full flex items-center justify-center",children:u.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:a("loading")})}):u.jsx(fC,{value:t,onChange:s,onCursorLineChange:o})}),u.jsxs("div",{className:"px-4 py-2 bg-dash-surface-hover/30 border-t border-dash-border text-[10px] text-dash-text-muted flex justify-between uppercase tracking-widest font-bold",children:[u.jsxs("div",{className:"flex gap-4",children:[u.jsx("span",{children:"UTF-8"}),u.jsx("span",{children:"JSON"}),u.jsxs("span",{children:["L:",r+1]})]}),u.jsx("div",{className:"flex items-center gap-2",children:i?u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-red-500"}),u.jsx("span",{className:"text-red-500 normal-case",children:i})]}):u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-dash-accent"}),a("syntaxValid")]})})]})]})},Gf=({label:n,value:e})=>u.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 bg-dash-bg border border-dash-border rounded-md",children:[u.jsxs("span",{className:"text-[9px] font-bold text-dash-text-muted uppercase",children:[n,":"]}),u.jsx("span",{className:"text-[10px] mono font-bold text-dash-text-secondary",children:e})]}),wb=({width:n,fieldDoc:e,activeFieldPath:t,extraContent:r,overrideBadge:i})=>{const{t:s,lang:o}=me();return u.jsxs("div",{style:{width:`${n}%`},className:"bg-dash-surface border border-dash-border rounded-xl flex flex-col shadow-sm overflow-hidden min-w-0",children:[u.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:u.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:s("configurationHelp")})}),u.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e?u.jsxs("div",{className:"space-y-5 animate-in fade-in duration-500",children:[u.jsxs("header",{children:[u.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[u.jsx("span",{className:"text-[10px] bg-dash-accent-subtle text-dash-accent px-1.5 py-0.5 rounded font-mono uppercase font-bold",children:s("field")}),u.jsx("h2",{className:"text-base font-bold text-dash-text mono break-all",children:e.path}),i]}),u.jsxs("div",{className:"flex flex-wrap gap-2 mt-2",children:[u.jsx(Gf,{label:s("type"),value:e.type}),u.jsx(Gf,{label:s("default"),value:e.default})]})]}),u.jsxs("section",{children:[u.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("description")}),u.jsx("p",{className:"text-sm text-dash-text-secondary leading-relaxed italic",children:o==="vi"?e.descriptionVi:e.description})]}),e.validValues&&u.jsxs("section",{children:[u.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("validValues")}),u.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.validValues.map(a=>u.jsx("span",{className:"px-2 py-0.5 bg-dash-bg border border-dash-border rounded text-[11px] mono text-dash-text",children:a},a))})]}),e.effect&&u.jsxs("section",{className:"bg-dash-accent-subtle/30 p-3 rounded-lg border border-dash-accent/10",children:[u.jsx("h4",{className:"text-[10px] font-bold text-dash-accent uppercase tracking-widest mb-1",children:s("systemEffect")}),u.jsx("p",{className:"text-[12px] text-dash-text-secondary leading-normal",children:o==="vi"&&e.effectVi?e.effectVi:e.effect})]}),e.example&&u.jsxs("section",{children:[u.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("exampleUsage")}),u.jsx("div",{className:"bg-dash-bg p-3 rounded-lg border border-dash-border overflow-hidden",children:u.jsx("pre",{className:"text-[11px] mono text-dash-text-secondary whitespace-pre overflow-x-auto",children:e.example})})]}),r]}):u.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-center opacity-40 space-y-4",children:[u.jsx("div",{className:"w-10 h-10 rounded-full bg-dash-bg border border-dash-border flex items-center justify-center text-lg",children:"?"}),u.jsxs("div",{className:"max-w-[180px]",children:[u.jsx("p",{className:"text-sm font-bold text-dash-text mb-1 italic",children:s("knowledgeBase")}),u.jsx("p",{className:"text-xs text-dash-text-secondary",children:s("clickToSeeHelp")})]})]})}),e&&u.jsx("div",{className:"p-3 bg-dash-surface-hover/20 border-t border-dash-border shrink-0",children:u.jsxs("p",{className:"text-[10px] text-dash-text-muted font-medium flex items-center gap-1.5 italic",children:[u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),s("extractedFrom")]})})]})},pC=({variant:n="development"})=>{const{t:e}=me(),t={development:e("developmentFeature"),beta:e("betaFeature"),experimental:e("experimentalFeature")};return u.jsx("span",{className:"text-[9px] bg-orange-500/10 text-orange-500 px-2 py-0.5 rounded-full font-bold border border-orange-500/30 uppercase tracking-wider",children:t[n]})},mC=({components:n,isChecking:e,isUpdating:t,onCheckAll:r,onUpdateAll:i,className:s})=>{const{t:o}=me(),a=n.filter(h=>h.status==="update-available").length,l=n.length>0&&n.every(h=>h.status==="up-to-date"||h.status==="idle"),c=n.filter(h=>h.status==="up-to-date").length;return u.jsxs("div",{className:`flex flex-wrap items-center gap-2 ${s??""}`,children:[u.jsxs("div",{className:"inline-flex items-center gap-2 rounded-lg border border-dash-border bg-dash-surface px-3 py-2 text-xs",children:[u.jsx("output",{className:"inline-flex items-center gap-2","aria-live":"polite","aria-atomic":"true",children:e?u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),u.jsx("span",{className:"text-dash-text-secondary",children:o("checkingAll")})]}):a>0?u.jsx("span",{className:"text-amber-500 font-semibold",children:o("updatesAvailable").replace("{count}",a.toString())}):l?u.jsx("span",{className:"text-emerald-500 font-semibold",children:o("allUpToDate")}):u.jsx("span",{className:"text-dash-text-secondary font-medium",children:o("readyToScan")})}),c>0&&u.jsx("span",{className:"mono text-dash-text-muted border-l border-dash-border pl-2",children:c})]}),u.jsx("button",{type:"button",onClick:r,disabled:e||t,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:o("checkAll")}),a>0&&u.jsx("button",{type:"button",onClick:i,disabled:t,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold bg-dash-accent text-dash-bg hover:bg-dash-accent-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:o("updateAll")})]})},gC=({value:n,onChange:e,disabled:t=!1})=>{const{t:r}=me();return u.jsxs("fieldset",{className:"inline-flex items-center rounded-xl border border-dash-border bg-dash-surface p-1 gap-1",role:"radiogroup","aria-label":"Update channel",children:[u.jsxs("label",{className:`dash-focus-ring px-3.5 py-2 text-xs font-semibold rounded-lg transition-colors cursor-pointer ${n==="stable"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover"} ${t?"opacity-50 cursor-not-allowed":""}`,children:[u.jsx("input",{type:"radio",name:"channel",value:"stable",checked:n==="stable",onChange:()=>e("stable"),disabled:t,className:"sr-only"}),r("channelStable")]}),u.jsxs("label",{className:`dash-focus-ring px-3.5 py-2 text-xs font-semibold rounded-lg transition-colors cursor-pointer ${n==="beta"?"bg-amber-500/15 text-amber-500":"text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover"} ${t?"opacity-50 cursor-not-allowed":""}`,children:[u.jsx("input",{type:"radio",name:"channel",value:"beta",checked:n==="beta",onChange:()=>e("beta"),disabled:t,className:"sr-only"}),r("channelBeta")]})]})},bC={idle:{color:"bg-dash-text-muted",pulse:!1},checking:{color:"bg-dash-text-muted",pulse:!0},"up-to-date":{color:"bg-emerald-500",pulse:!1},"update-available":{color:"bg-amber-500",pulse:!1}},kb=({status:n,ariaLabel:e,size:t="sm"})=>{const r=bC[n],i=t==="sm"?"w-2 h-2":"w-2.5 h-2.5";return u.jsx("span",{className:`
52
+ transition-colors`,placeholder:"Enter passphrase..."}),u.jsx("button",{type:"button",onClick:()=>i(!r),className:"absolute right-2 top-1/2 -translate-y-1/2 text-dash-text-muted hover:text-dash-text transition-colors",children:r?u.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21"})}):u.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})]})})]})},Ov={default:"bg-gray-500/10 text-gray-500 dark:bg-gray-400/10 dark:text-gray-400",project:"bg-orange-500/10 text-orange-600 dark:text-orange-400",global:"bg-blue-500/10 text-blue-600 dark:text-blue-400"},Pv=({source:n})=>{const{t:e}=me(),t=()=>{switch(n){case"default":return e("default");case"project":return e("scopeProject");case"global":return e("scopeGlobal")}};return u.jsx("span",{className:`text-[9px] px-1.5 py-0.5 rounded font-bold uppercase tracking-wider ${Ov[n]}`,children:t()})};function Av(n,e){if(e.includes("passphrase")||e.includes("password"))return"password";if(n.enum&&n.enum.length>0)return"enum";switch(Array.isArray(n.type)?n.type.find(r=>r!=="null")||"string":n.type||"string"){case"boolean":return"boolean";case"integer":case"number":return"number";case"array":return"array";case"object":return"object";default:return"string"}}const Mv=({fieldPath:n,label:e,description:t,schema:r,value:i,source:s,onChange:o,disabled:a})=>{const l=Av(r,n),c=()=>{const h={value:i,onChange:o,schema:r,disabled:a};switch(l){case"boolean":return u.jsx(kv,{...h});case"number":return u.jsx(wv,{...h});case"enum":return u.jsx(Sv,{...h});case"array":return u.jsx(Cv,{...h});case"password":return u.jsx(jv,{...h});case"object":return null;default:return u.jsx(vv,{...h})}};return l==="object"?null:u.jsx("div",{className:"py-3 border-b border-dash-border/50 last:border-b-0",children:u.jsxs("div",{className:"flex items-start justify-between gap-4",children:[u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[u.jsx("span",{className:"text-sm font-medium text-dash-text",children:e}),u.jsx(Pv,{source:s})]}),t&&u.jsx("p",{className:"text-xs text-dash-text-muted mb-2 leading-relaxed",children:t}),u.jsx("p",{className:"text-[10px] text-dash-text-muted/50 font-mono mb-2",children:n})]}),u.jsx("div",{className:l==="boolean"?"shrink-0":"w-1/2 max-w-xs",children:c()})]})})},Nv=({id:n,title:e,defaultCollapsed:t=!1,children:r})=>{const[i,s]=g.useState(t);return u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg overflow-hidden",children:[u.jsxs("button",{type:"button",onClick:()=>s(!i),className:"w-full flex items-center justify-between px-4 py-3 bg-dash-surface-hover/30 hover:bg-dash-surface-hover/50 transition-colors","aria-expanded":!i,"aria-controls":`section-${n}`,children:[u.jsx("h3",{className:"text-sm font-bold text-dash-text uppercase tracking-wider",children:e}),u.jsx("svg",{className:`w-4 h-4 text-dash-text-muted transition-transform duration-200 ${i?"":"rotate-180"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),u.jsx("div",{id:`section-${n}`,className:`transition-all duration-200 ease-in-out ${i?"max-h-0 overflow-hidden":"max-h-[2000px]"}`,children:u.jsx("div",{className:"px-4 py-2",children:r})})]})},Dv=({schema:n,value:e,sources:t,sections:r,onChange:i,disabled:s})=>u.jsx("div",{className:"space-y-4",children:r.map((o,a)=>u.jsx(Nv,{id:o.id,title:o.title,defaultCollapsed:o.defaultCollapsed??a>1,children:o.fields.map(l=>{const c=xv(n,l.path),h=cc(e,l.path),d=t[l.path]||"default";return u.jsx(Mv,{fieldPath:l.path,label:l.label,description:l.description||c.description,schema:c,value:h,source:d,onChange:f=>i(l.path,f),disabled:s},l.path)})},o.id))}),Am=({width:n,isLoading:e,schema:t,config:r,sources:i,sections:s,onChange:o})=>{const{t:a}=me();return u.jsxs("div",{style:{width:`${n}%`},className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden flex flex-col shadow-sm min-w-0",children:[u.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:u.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:a("formTab")})}),u.jsx("div",{className:"flex-1 overflow-auto p-4",children:e?u.jsx("div",{className:"h-full flex items-center justify-center",children:u.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:a("loading")})}):t?u.jsx(Dv,{schema:t,value:r,sources:i,sections:s,onChange:o}):null})]})},Mm=1024;let Tv=0,sl=class{constructor(e,t){this.from=e,this.to=t}};class de{constructor(e={}){this.id=Tv++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{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=dt.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}}de.closedBy=new de({deserialize:n=>n.split(" ")});de.openedBy=new de({deserialize:n=>n.split(" ")});de.group=new de({deserialize:n=>n.split(" ")});de.isolate=new de({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});de.contextHash=new de({perNode:!0});de.lookAhead=new de({perNode:!0});de.mounted=new de({perNode:!0});class vi{constructor(e,t,r,i=!1){this.tree=e,this.overlay=t,this.parser=r,this.bracketed=i}static get(e){return e&&e.props&&e.props[de.mounted.id]}}const Ev=Object.create(null);class dt{constructor(e,t,r,i=0){this.name=e,this.props=t,this.id=r,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):Ev,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new dt(e.name||"",t,e.id,r);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(i)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[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(de.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let i of r.split(" "))t[i]=e[r];return r=>{for(let i=r.prop(de.group),s=-1;s<(i?i.length:0);s++){let o=t[s<0?r.name:i[s]];if(o)return o}}}}dt.none=new dt("",Object.create(null),0,8);class gh{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let r of this.types){let i=null;for(let s of e){let o=s(r);if(o){i||(i=Object.assign({},r.props));let a=o[1],l=o[0];l.combine&&l.id in i&&(a=l.combine(i[l.id],a)),i[l.id]=a}}t.push(i?new dt(r.name,i,r.id,r.flags):r)}return new gh(t)}}const lo=new WeakMap,Qu=new WeakMap;var Ee;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays",n[n.EnterBracketed=16]="EnterBracketed"})(Ee||(Ee={}));class Be{constructor(e,t,r,i,s){if(this.type=e,this.children=t,this.positions=r,this.length=i,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,a]of s)this.props[typeof o=="number"?o:o.id]=a}}toString(){let e=vi.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let r of this.children){let i=r.toString();i&&(t&&(t+=","),t+=i)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new uc(this.topNode,e)}cursorAt(e,t=0,r=0){let i=lo.get(this)||this.topNode,s=new uc(i);return s.moveTo(e,t),lo.set(this,s._tree),s}get topNode(){return new At(this,0,0,null)}resolve(e,t=0){let r=Ti(lo.get(this)||this.topNode,e,t,!1);return lo.set(this,r),r}resolveInner(e,t=0){let r=Ti(Qu.get(this)||this.topNode,e,t,!0);return Qu.set(this,r),r}resolveStack(e,t=0){return Iv(this,e,t)}iterate(e){let{enter:t,leave:r,from:i=0,to:s=this.length}=e,o=e.mode||0,a=(o&Ee.IncludeAnonymous)>0;for(let l=this.cursor(o|Ee.IncludeAnonymous);;){let c=!1;if(l.from<=s&&l.to>=i&&(!a&&l.type.isAnonymous||t(l)!==!1)){if(l.firstChild())continue;c=!0}for(;c&&r&&(a||!l.type.isAnonymous)&&r(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:xh(dt.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,i)=>new Be(this.type,t,r,i,this.propValues),e.makeTree||((t,r,i)=>new Be(dt.none,t,r,i)))}static build(e){return Bv(e)}}Be.empty=new Be(dt.none,[],[],0);class bh{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 bh(this.buffer,this.index)}}class En{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return dt.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],r=this.buffer[e+3],i=this.set.types[t],s=i.name;if(/\W/.test(s)&&!i.isError&&(s=JSON.stringify(s)),e+=4,r==e)return s;let o=[];for(;e<r;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,t,r,i,s){let{buffer:o}=this,a=-1;for(let l=e;l!=t&&!(Nm(s,i,o[l+1],o[l+2])&&(a=l,r>0));l=o[l+3]);return a}slice(e,t,r){let i=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,l=0;a<t;){s[l++]=i[a++],s[l++]=i[a++]-r;let c=s[l++]=i[a++]-r;s[l++]=i[a++]-e,o=Math.max(o,c)}return new En(s,o,this.set)}}function Nm(n,e,t,r){switch(n){case-2:return t<e;case-1:return r>=e&&t<e;case 0:return t<e&&r>e;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function Ti(n,e,t,r){for(var i;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let o=!r&&n instanceof At&&n.index<0?null:n.parent;if(!o)return n;n=o}let s=r?0:Ee.IgnoreOverlays;if(r)for(let o=n,a=o.parent;a;o=a,a=o.parent)o instanceof At&&o.index<0&&((i=a.enter(e,t,s))===null||i===void 0?void 0:i.from)!=o.from&&(n=a);for(;;){let o=n.enter(e,t,s);if(!o)return n;n=o}}class Dm{cursor(e=0){return new uc(this,e)}getChild(e,t=null,r=null){let i=Ju(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return Ju(this,e,t,r)}resolve(e,t=0){return Ti(this,e,t,!1)}resolveInner(e,t=0){return Ti(this,e,t,!0)}matchContext(e){return hc(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),r=this;for(;t;){let i=t.lastChild;if(!i||i.to!=t.to)break;i.type.isError&&i.from==i.to?(r=t,t=i.prevSibling):t=i}return r}get node(){return this}get next(){return this.parent}}class At extends Dm{constructor(e,t,r,i){super(),this._tree=e,this.from=t,this.index=r,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,r,i,s=0){var o;for(let a=this;;){for(let{children:l,positions:c}=a._tree,h=t>0?l.length:-1;e!=h;e+=t){let d=l[e],f=c[e]+a.from;if(!(!(s&Ee.EnterBracketed&&d instanceof Be&&((o=vi.get(d))===null||o===void 0?void 0:o.overlay)===null&&(f>=r||f+d.length<=r))&&!Nm(i,r,f,f+d.length))){if(d instanceof En){if(s&Ee.ExcludeBuffers)continue;let p=d.findChild(0,d.buffer.length,t,r-f,i);if(p>-1)return new Mn(new Rv(a,d,e,f),null,p)}else if(s&Ee.IncludeAnonymous||!d.type.isAnonymous||yh(d)){let p;if(!(s&Ee.IgnoreMounts)&&(p=vi.get(d))&&!p.overlay)return new At(p.tree,f,e,a);let m=new At(d,f,e,a);return s&Ee.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?d.children.length-1:0,t,r,i,s)}}}if(s&Ee.IncludeAnonymous||!a.type.isAnonymous||(a.index>=0?e=a.index+t:e=t<0?-1:a._parent._tree.children.length,a=a._parent,!a))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,r=0){let i;if(!(r&Ee.IgnoreOverlays)&&(i=vi.get(this._tree))&&i.overlay){let s=e-this.from,o=r&Ee.EnterBracketed&&i.bracketed;for(let{from:a,to:l}of i.overlay)if((t>0||o?a<=s:a<s)&&(t<0||o?l>=s:l>s))return new At(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}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 Ju(n,e,t,r){let i=n.cursor(),s=[];if(!i.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=i.type.is(t),!i.nextSibling())return s}for(;;){if(r!=null&&i.type.is(r))return s;if(i.type.is(e)&&s.push(i.node),!i.nextSibling())return r==null?s:[]}}function hc(n,e,t=e.length-1){for(let r=n;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}class Rv{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}}class Mn extends Dm{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,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,r);return s<0?null:new Mn(this.context,this,s)}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,r=0){if(r&Ee.ExcludeBuffers)return null;let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new Mn(this.context,this,s)}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 Mn(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 Mn(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,i=this.index+4,s=r.buffer[this.index+3];if(s>i){let o=r.buffer[this.index+1];e.push(r.slice(i,s,o)),t.push(0)}return new Be(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Tm(n){if(!n.length)return null;let e=0,t=n[0];for(let s=1;s<n.length;s++){let o=n[s];(o.from>t.from||o.to<t.to)&&(t=o,e=s)}let r=t instanceof At&&t.index<0?null:t.parent,i=n.slice();return r?i[e]=r:i.splice(e,1),new Lv(i,t)}class Lv{constructor(e,t){this.heads=e,this.node=t}get next(){return Tm(this.heads)}}function Iv(n,e,t){let r=n.resolveInner(e,t),i=null;for(let s=r instanceof At?r:r.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(i||(i=[r])).push(o.resolve(e,t)),s=o}else{let o=vi.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let a=new At(o.tree,o.overlay[0].from+s.from,-1,s);(i||(i=[r])).push(Ti(a,e,t,!1))}}return i?Tm(i):r}class uc{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&~Ee.EnterBracketed,e instanceof At)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.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:r,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=r+i.buffer[e+1],this.to=r+i.buffer[e+2],!0}yield(e){return e?e instanceof At?(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,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:i}=this.buffer,s=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,r);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}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,r=this.mode){return this.buffer?r&Ee.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ee.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ee.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,r=this.stack.length-1;if(e<0){let i=r<0?0:this.stack[r]+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<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(i)}return r<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,r,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(i.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:r}=i)}else({index:t,_parent:r}=this._tree);for(;r;{index:t,_parent:r}=r)if(t>-1)for(let s=t+e,o=e<0?-1:r._tree.children.length;s!=o;s+=e){let a=r._tree.children[s];if(this.mode&Ee.IncludeAnonymous||a instanceof En||!a.type.isAnonymous||yh(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<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,r=0;if(e&&e.context==this.buffer)e:for(let i=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==i){if(i==this.index)return o;t=o,r=s+1;break e}i=this.stack[--s]}for(let i=r;i<this.stack.length;i++)t=new Mn(this.buffer,t,this.stack[i]);return this.bufferNode=new Mn(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let r=0;;){let i=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){r++;continue}this.type.isAnonymous||(i=!0)}for(;;){if(i&&t&&t(this),i=this.type.isAnonymous,!r)return;if(this.nextSibling())break;this.parent(),r--,i=!0}}}matchContext(e){if(!this.buffer)return hc(this.node.parent,e);let{buffer:t}=this.buffer,{types:r}=t.set;for(let i=e.length-1,s=this.stack.length-1;i>=0;s--){if(s<0)return hc(this._tree,e,i);let o=r[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[i]&&e[i]!=o.name)return!1;i--}}return!0}}function yh(n){return n.children.some(e=>e instanceof En||!e.type.isAnonymous||yh(e))}function Bv(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:i=Mm,reused:s=[],minRepeatType:o=r.types.length}=n,a=Array.isArray(t)?new bh(t,t.length):t,l=r.types,c=0,h=0;function d(C,P,x,D,T,I){let{id:M,start:L,end:W,size:V}=a,$=h,q=c;if(V<0)if(a.next(),V==-1){let le=s[M];x.push(le),D.push(L-C);return}else if(V==-3){c=M;return}else if(V==-4){h=M;return}else throw new RangeError(`Unrecognized record size: ${V}`);let he=l[M],_,Y,se=L-C;if(W-L<=i&&(Y=y(a.pos-P,T))){let le=new Uint16Array(Y.size-Y.skip),oe=a.pos-Y.size,we=le.length;for(;a.pos>oe;)we=v(Y.start,le,we);_=new En(le,W-Y.start,r),se=Y.start-C}else{let le=a.pos-V;a.next();let oe=[],we=[],Me=M>=o?M:-1,Se=0,Je=W;for(;a.pos>le;)Me>=0&&a.id==Me&&a.size>=0?(a.end<=Je-i&&(m(oe,we,L,Se,a.end,Je,Me,$,q),Se=oe.length,Je=a.end),a.next()):I>2500?f(L,le,oe,we):d(L,le,oe,we,Me,I+1);if(Me>=0&&Se>0&&Se<oe.length&&m(oe,we,L,Se,L,Je,Me,$,q),oe.reverse(),we.reverse(),Me>-1&&Se>0){let Rt=p(he,q);_=xh(he,oe,we,0,oe.length,0,W-L,Rt,Rt)}else _=b(he,oe,we,W-L,$-W,q)}x.push(_),D.push(se)}function f(C,P,x,D){let T=[],I=0,M=-1;for(;a.pos>P;){let{id:L,start:W,end:V,size:$}=a;if($>4)a.next();else{if(M>-1&&W<M)break;M<0&&(M=V-i),T.push(L,W,V),I++,a.next()}}if(I){let L=new Uint16Array(I*4),W=T[T.length-2];for(let V=T.length-3,$=0;V>=0;V-=3)L[$++]=T[V],L[$++]=T[V+1]-W,L[$++]=T[V+2]-W,L[$++]=$;x.push(new En(L,T[2]-W,r)),D.push(W-C)}}function p(C,P){return(x,D,T)=>{let I=0,M=x.length-1,L,W;if(M>=0&&(L=x[M])instanceof Be){if(!M&&L.type==C&&L.length==T)return L;(W=L.prop(de.lookAhead))&&(I=D[M]+L.length+W)}return b(C,x,D,T,I,P)}}function m(C,P,x,D,T,I,M,L,W){let V=[],$=[];for(;C.length>D;)V.push(C.pop()),$.push(P.pop()+x-T);C.push(b(r.types[M],V,$,I-T,L-I,W)),P.push(T-x)}function b(C,P,x,D,T,I,M){if(I){let L=[de.contextHash,I];M=M?[L].concat(M):[L]}if(T>25){let L=[de.lookAhead,T];M=M?[L].concat(M):[L]}return new Be(C,P,x,D,M)}function y(C,P){let x=a.fork(),D=0,T=0,I=0,M=x.end-i,L={size:0,start:0,skip:0};e:for(let W=x.pos-C;x.pos>W;){let V=x.size;if(x.id==P&&V>=0){L.size=D,L.start=T,L.skip=I,I+=4,D+=4,x.next();continue}let $=x.pos-V;if(V<0||$<W||x.start<M)break;let q=x.id>=o?4:0,he=x.start;for(x.next();x.pos>$;){if(x.size<0)if(x.size==-3||x.size==-4)q+=4;else break e;else x.id>=o&&(q+=4);x.next()}T=he,D+=V,I+=q}return(P<0||D==C)&&(L.size=D,L.start=T,L.skip=I),L.size>4?L:void 0}function v(C,P,x){let{id:D,start:T,end:I,size:M}=a;if(a.next(),M>=0&&D<o){let L=x;if(M>4){let W=a.pos-(M-4);for(;a.pos>W;)x=v(C,P,x)}P[--x]=L,P[--x]=I-C,P[--x]=T-C,P[--x]=D}else M==-3?c=D:M==-4&&(h=D);return x}let k=[],S=[];for(;a.pos>0;)d(n.start||0,n.bufferStart||0,k,S,-1,0);let O=(e=n.length)!==null&&e!==void 0?e:k.length?S[0]+k[0].length:0;return new Be(l[n.topID],k.reverse(),S.reverse(),O)}const Xu=new WeakMap;function Vo(n,e){if(!n.isAnonymous||e instanceof En||e.type!=n)return 1;let t=Xu.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof Be)){t=1;break}t+=Vo(n,r)}Xu.set(e,t)}return t}function xh(n,e,t,r,i,s,o,a,l){let c=0;for(let m=r;m<i;m++)c+=Vo(n,e[m]);let h=Math.ceil(c*1.5/8),d=[],f=[];function p(m,b,y,v,k){for(let S=y;S<v;){let O=S,C=b[S],P=Vo(n,m[S]);for(S++;S<v;S++){let x=Vo(n,m[S]);if(P+x>=h)break;P+=x}if(S==O+1){if(P>h){let x=m[O];p(x.children,x.positions,0,x.children.length,b[O]+k);continue}d.push(m[O])}else{let x=b[S-1]+m[S-1].length-C;d.push(xh(n,m,b,O,S,C,x,null,l))}f.push(C+k-s)}}return p(e,t,r,i,0),(a||l)(d,f,o)}class nr{constructor(e,t,r,i,s=!1,o=!1){this.from=e,this.to=t,this.tree=r,this.offset=i,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=!1){let i=[new nr(0,e.length,e,0,!1,r)];for(let s of t)s.to>e.length&&i.push(s);return i}static applyChanges(e,t,r=128){if(!t.length)return e;let i=[],s=1,o=e.length?e[0]:null;for(let a=0,l=0,c=0;;a++){let h=a<t.length?t[a]:null,d=h?h.fromA:1e9;if(d-l>=r)for(;o&&o.from<d;){let f=o;if(l>=f.from||d<=f.to||c){let p=Math.max(f.from,l)-c,m=Math.min(f.to,d)-c;f=p>=m?null:new nr(p,m,f.tree,f.offset+c,a>0,!!h)}if(f&&i.push(f),o.to>d)break;o=s<e.length?e[s++]:null}if(!h)break;l=h.toA,c=h.toA-h.toB}return i}}class Em{startParse(e,t,r){return typeof e=="string"&&(e=new $v(e)),r=r?r.length?r.map(i=>new sl(i.from,i.to)):[new sl(0,0)]:[new sl(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let i=this.startParse(e,t,r);for(;;){let s=i.advance();if(s)return s}}}class $v{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 de({perNode:!0});var Zu={};class Jo{constructor(e,t,r,i,s,o,a,l,c,h=0,d){this.p=e,this.stack=t,this.state=r,this.reducePos=i,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=h,this.parent=d}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,r=0){let i=e.parser.context;return new Jo(e,[],t,r,r,0,[],0,i?new ed(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let r=e>>19,i=e&65535,{parser:s}=this.p,o=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=s.dynamicPrecedence(i);if(a&&(this.score+=a),r==0){this.pushState(s.getGoto(this.state,i,!0),this.reducePos),i<s.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,o?8:4,!0),this.reduceContext(i,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),c=l?this.stack[l-2]:this.p.ranges[0].from,h=this.reducePos-c;h>=2e3&&!(!((t=this.p.parser.nodeSet.types[i])===null||t===void 0)&&t.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=c,this.p.lastBigReductionSize=h));let d=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-d;if(i<s.minRepeatTerm||e&131072){let p=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,c,p,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let p=this.stack[l-3];this.state=s.getGoto(p,i,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(i,c)}storeNode(e,t,r,i=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,a=this.buffer.length;if(a==0&&o.parent&&(a=o.bufferBase-o.parent.bufferBase,o=o.parent),a>0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(t==r)return;if(o.buffer[a-2]>=t){o.buffer[a-2]=r;return}}}if(!s||this.pos==r)this.buffer.push(e,t,r,i);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let l=o;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,i>4&&(i-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=r,this.buffer[o+3]=i}}shift(e,t,r,i){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=i,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,i,4);else{let s=e,{parser:o}=this.p;(i>this.pos||t<=o.maxNode)&&(this.pos=i,o.stateFlag(s,1)||(this.reducePos=i)),this.pushState(s,r),this.shiftContext(t,r),t<=o.maxNode&&this.buffer.push(t,r,i,4)}}apply(e,t,r,i){e&65536?this.reduce(e):this.shift(e,t,r,i)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(r,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),i=e.bufferBase+t;for(;e&&i==e.bufferBase;)e=e.parent;return new Jo(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Fv(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if(!(r&65536))return!0;t.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let s=0,o;s<t.length;s+=2)(o=t[s+1])!=this.state&&this.p.parser.hasAction(o,e)&&i.push(t[s],o);if(this.stack.length<120)for(let s=0;i.length<8&&s<t.length;s+=2){let o=t[s+1];i.some((a,l)=>l&1&&a==o)||i.push(t[s],o)}t=i}let r=[];for(let i=0;i<t.length&&r.length<4;i+=2){let s=t[i+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(t[i],this.pos),o.reducePos=this.pos,o.score-=200,r.push(o)}return r}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let r=t>>19,i=t&65535,s=this.stack.length-r*3;if(s<0||e.getGoto(this.stack[s],i,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],r=(i,s)=>{if(!t.includes(i))return t.push(i),e.allActions(i,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=r(o,s+1);if(a!=null)return a}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new ed(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class ed{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class Fv{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i}}class Xo{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Xo(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}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]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Xo(this.stack,this.pos,this.index)}}function co(n,e=Uint16Array){if(typeof n!="string")return n;let t=null;for(let r=0,i=0;r<n.length;){let s=0;for(;;){let o=n.charCodeAt(r++),a=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}t?t[i++]=s:t=new e(s)}return t}class zo{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const td=new zo;class Vv{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=td,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let r=this.range,i=this.rangeIndex,s=this.pos+e;for(;s<r.from;){if(!i)return null;let o=this.ranges[--i];s-=r.from-o.to,r=o}for(;t<0?s>r.to:s>=r.to;){if(i==this.ranges.length-1)return null;let o=this.ranges[++i];s+=o.from-r.to,r=o}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,i;if(t>=0&&t<this.chunk.length)r=this.pos+e,i=this.chunk.charCodeAt(t);else{let s=this.resolveOffset(e,1);if(s==null)return-1;if(r=s,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let o=this.rangeIndex,a=this.range;for(;a.to<=r;)a=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),i=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),i}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}acceptTokenTo(e,t){this.token.value=e,this.token.end=t}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=td,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let r="";for(let i of this.ranges){if(i.from>=t)break;i.to>e&&(r+=this.input.read(Math.max(i.from,e),Math.min(i.to,t)))}return r}}class jr{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;zv(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}jr.prototype.contextual=jr.prototype.fallback=jr.prototype.extend=!1;jr.prototype.fallback=jr.prototype.extend=!1;function zv(n,e,t,r,i,s){let o=0,a=1<<r,{dialect:l}=t.p.parser;e:for(;a&n[o];){let c=n[o+1];for(let p=o+3;p<c;p+=2)if((n[p+1]&a)>0){let m=n[p];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||Hv(m,e.token.value,i,s))){e.acceptToken(m);break}}let h=e.next,d=0,f=n[o+2];if(e.next<0&&f>d&&n[c+f*3-3]==65535){o=n[c+f*3-1];continue e}for(;d<f;){let p=d+f>>1,m=c+p+(p<<1),b=n[m],y=n[m+1]||65536;if(h<b)f=p;else if(h>=y)d=p+1;else{o=n[m+2],e.advance();continue e}}break}}function nd(n,e,t){for(let r=e,i;(i=n[r])!=65535;r++)if(i==t)return r-e;return-1}function Hv(n,e,t,r){let i=nd(t,r,e);return i<0||nd(t,r,n)<i}const pt=typeof process<"u"&&Zu&&/\bparse\b/.test(Zu.LOG);let ol=null;function rd(n,e,t){let r=n.cursor(Ee.IncludeAnonymous);for(r.moveTo(e);;)if(!(t<0?r.childBefore(e):r.childAfter(e)))for(;;){if((t<0?r.to<e:r.from>e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(n.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:n.length}}class _v{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?rd(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?rd(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let r=this.trees[t],i=this.index[t];if(i==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=r.children[i],o=this.start[t]+r.positions[i];if(o>e)return this.nextStart=o,null;if(s instanceof Be){if(o==e){if(o<this.safeFrom)return null;let a=o+s.length;if(a<=this.safeTo){let l=s.prop(de.lookAhead);if(!l||a+l<this.fragment.to)return s}}this.index[t]++,o+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}}class Wv{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new zo)}getActions(e){let t=0,r=null,{parser:i}=e.p,{tokenizers:s}=i,o=i.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;c<s.length;c++){if(!(1<<c&o))continue;let h=s[c],d=this.tokens[c];if(!(r&&!h.fallback)&&((h.contextual||d.start!=e.pos||d.mask!=o||d.context!=a)&&(this.updateCachedToken(d,h,e),d.mask=o,d.context=a),d.lookAhead>d.end+25&&(l=Math.max(d.lookAhead,l)),d.value!=0)){let f=t;if(d.extended>-1&&(t=this.addActions(e,d.extended,d.end,t)),t=this.addActions(e,d.value,d.end,t),!h.extend&&(r=d,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new zo,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new zo,{pos:r,p:i}=e;return t.start=r,t.end=Math.min(r+1,i.stream.end),t.value=r==i.stream.end?i.parser.eofTerm:0,t}updateCachedToken(e,t,r){let i=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(i,e),r),e.value>-1){let{parser:s}=r.p;for(let o=0;o<s.specialized.length;o++)if(s.specialized[o]==e.value){let a=s.specializers[o](this.stream.read(e.start,e.end),r);if(a>=0&&r.p.parser.dialect.allows(a>>1)){a&1?e.extended=a>>1:e.value=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(i+1)}putAction(e,t,r,i){for(let s=0;s<i;s+=3)if(this.actions[s]==e)return i;return this.actions[i++]=e,this.actions[i++]=t,this.actions[i++]=r,i}addActions(e,t,r,i){let{state:s}=e,{parser:o}=e.p,{data:a}=o;for(let l=0;l<2;l++)for(let c=o.stateSlot(s,l?2:1);;c+=3){if(a[c]==65535)if(a[c+1]==1)c=un(a,c+2);else{i==0&&a[c+1]==2&&(i=this.putAction(un(a,c+2),t,r,i));break}a[c]==t&&(i=this.putAction(un(a,c+1),t,r,i))}return i}}class Uv{constructor(e,t,r,i){this.parser=e,this.input=t,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Vv(t,i),this.tokens=new Wv(e,this.stream),this.topTerm=e.top[1];let{from:s}=i[0];this.stacks=[Jo.start(this,e.top[0],s)],this.fragments=r.length&&this.stream.end-s>e.bufferLength*4?new _v(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],i,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<e.length;o++){let a=e[o];for(;;){if(this.tokens.mainToken=null,a.pos>t)r.push(a);else{if(this.advanceStack(a,r,e))continue;{i||(i=[],s=[]),i.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!r.length){let o=i&&Gv(i);if(o)return pt&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw pt&&i&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&i){let o=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,s,r);if(o)return pt&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(r.length>o)for(r.sort((a,l)=>l.score-a.score);r.length>o;)r.pop();r.some(a=>a.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let o=0;o<r.length-1;o++){let a=r[o];for(let l=o+1;l<r.length;l++){let c=r[l];if(a.sameState(c)||a.buffer.length>500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)r.splice(l--,1);else{r.splice(o--,1);continue e}}}r.length>12&&(r.sort((o,a)=>a.score-o.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let o=1;o<r.length;o++)r[o].pos<this.minStackPos&&(this.minStackPos=r[o].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,r){let i=e.pos,{parser:s}=this,o=pt?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,h=c?e.curContext.hash:0;for(let d=this.fragments.nodeAt(i);d;){let f=this.parser.nodeSet.types[d.type.id]==d.type?s.getGoto(e.state,d.type.id):-1;if(f>-1&&d.length&&(!c||(d.prop(de.contextHash)||0)==h))return e.useNode(d,f),pt&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(d.type.id)})`),!0;if(!(d instanceof Be)||d.children.length==0||d.positions[0]>0)break;let p=d.children[0];if(p instanceof Be&&d.positions[0]==0)d=p;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),pt&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;c<l.length;){let h=l[c++],d=l[c++],f=l[c++],p=c==l.length||!r,m=p?e:e.split(),b=this.tokens.mainToken;if(m.apply(h,d,b?b.start:m.pos,f),pt&&console.log(o+this.stackID(m)+` (via ${h&65536?`reduce of ${s.getName(h&65535)}`:"shift"} for ${s.getName(d)} @ ${i}${m==e?"":", split"})`),p)return!0;m.pos>i?t.push(m):r.push(m)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return id(e,t),!0}}runRecovery(e,t,r){let i=null,s=!1;for(let o=0;o<e.length;o++){let a=e[o],l=t[o<<1],c=t[(o<<1)+1],h=pt?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),pt&&console.log(h+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let d=a.split(),f=h;for(let p=0;p<10&&d.forceReduce()&&(pt&&console.log(f+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,r));p++)pt&&(f=this.stackID(d)+" -> ");for(let p of a.recoverByInsert(l))pt&&console.log(h+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,r);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),pt&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),id(a,r)):(!i||i.score<a.score)&&(i=a)}return i}stackToTree(e){return e.close(),Be.build({buffer:Xo.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(ol||(ol=new WeakMap)).get(e);return t||ol.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function id(n,e){for(let t=0;t<e.length;t++){let r=e[t];if(r.pos==n.pos&&r.sameState(n)){e[t].score<n.score&&(e[t]=n);return}}e.push(n)}class Kv{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}class Zo extends Em{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;a<e.repeatNodeCount;a++)t.push("");let r=Object.keys(e.topRules).map(a=>e.topRules[a][1]),i=[];for(let a=0;a<t.length;a++)i.push([]);function s(a,l,c){i[a].push([l,l.deserialize(String(c))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=de[l]);for(let c=1;c<a.length;){let h=a[c++];if(h>=0)s(h,l,a[c++]);else{let d=a[c+-h];for(let f=-h;f>0;f--)s(a[c++],l,d);c++}}}this.nodeSet=new gh(t.map((a,l)=>dt.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:i[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Mm;let o=co(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(sd),this.states=co(e.states,Uint32Array),this.data=co(e.stateData),this.goto=co(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new jr(o,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,r){let i=new Uv(this,e,t,r);for(let s of this.wrappers)i=s(i,e,t,r);return i}getGoto(e,t,r=!1){let i=this.goto;if(t>=i[0])return-1;for(let s=i[t+1];;){let o=i[s++],a=o&1,l=i[s++];if(a&&r)return l;for(let c=s+(o>>1);s<c;s++)if(i[s]==e)return l;if(a)return-1}}hasAction(e,t){let r=this.data;for(let i=0;i<2;i++)for(let s=this.stateSlot(e,i?2:1),o;;s+=3){if((o=r[s])==65535)if(r[s+1]==1)o=r[s=un(r,s+2)];else{if(r[s+1]==2)return un(r,s+2);break}if(o==t||o==0)return un(r,s+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,r=>r==t?!0:null)}allActions(e,t){let r=this.stateSlot(e,4),i=r?t(r):void 0;for(let s=this.stateSlot(e,1);i==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=un(this.data,s+2);else break;i=t(un(this.data,s+1))}return i}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=un(this.data,r+2);else break;if(!(this.data[r+2]&1)){let i=this.data[r+1];t.some((s,o)=>o&1&&s==i)||t.push(this.data[r],i)}}return t}configure(e){let t=Object.assign(Object.create(Zo.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let i=e.tokenizers.find(s=>s.from==r);return i?i.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,i)=>{let s=e.specializers.find(a=>a.from==r.external);if(!s)return r;let o=Object.assign(Object.assign({},r),{external:s.to});return t.specializers[i]=sd(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(r[o]=!0)}let i=null;for(let s=0;s<t.length;s++)if(!r[s])for(let o=this.dialects[t[s]],a;(a=this.data[o++])!=65535;)(i||(i=new Uint8Array(this.maxTerm+1)))[a]=1;return new Kv(e,r,i)}static deserialize(e){return new Zo(e)}}function un(n,e){return n[e]|n[e+1]<<16}function Gv(n){let e=null;for(let t of n){let r=t.p.stoppedAt;(t.pos==t.p.stream.end||r!=null&&t.pos>r)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function sd(n){if(n.external){let e=n.extend?1:0;return(t,r)=>n.external(t,r)<<1|e}return n.get}let qv=0;class Ct{constructor(e,t,r,i){this.name=e,this.set=t,this.base=r,this.modified=i,this.id=qv++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let r=typeof e=="string"?e:"?";if(e instanceof Ct&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let i=new Ct(r,[],null,[]);if(i.set.push(i),t)for(let s of t.set)i.set.push(s);return i}static defineModifier(e){let t=new ea(e);return r=>r.modified.indexOf(t)>-1?r:ea.get(r.base||r,r.modified.concat(t).sort((i,s)=>i.id-s.id))}}let Yv=0;class ea{constructor(e){this.name=e,this.instances=[],this.id=Yv++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(a=>a.base==e&&Qv(t,a.modified));if(r)return r;let i=[],s=new Ct(e.name,i,e,t);for(let a of t)a.instances.push(s);let o=Jv(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(ea.get(a,l));return s}}function Qv(n,e){return n.length==e.length&&n.every((t,r)=>t==e[r])}function Jv(n){let e=[[]];for(let t=0;t<n.length;t++)for(let r=0,i=e.length;r<i;r++)e.push(e[r].concat(n[t]));return e.sort((t,r)=>r.length-t.length)}function Rm(n){let e=Object.create(null);for(let t in n){let r=n[t];Array.isArray(r)||(r=[r]);for(let i of t.split(" "))if(i){let s=[],o=2,a=i;for(let d=0;;){if(a=="..."&&d>0&&d+3==i.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+i);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),d+=f[0].length,d==i.length)break;let p=i[d++];if(d==i.length&&p=="!"){o=0;break}if(p!="/")throw new RangeError("Invalid path: "+i);a=i.slice(d)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+i);let h=new Ei(r,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Lm.add(e)}const Lm=new de({combine(n,e){let t,r,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 s=new Ei(i.tags,i.mode,i.context);t?t.next=s:r=s,t=s}return r}});class Ei{constructor(e,t,r,i){this.tags=e,this.mode=t,this.context=r,this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}Ei.empty=new Ei([],2,null);function Im(n,e){let t=Object.create(null);for(let s of n)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let o of s.tag)t[o.id]=s.class;let{scope:r,all:i=null}=e||{};return{style:s=>{let o=i;for(let a of s)for(let l of a.set){let c=t[l.id];if(c){o=o?o+" "+c:c;break}}return o},scope:r}}function Xv(n,e){let t=null;for(let r of n){let i=r.style(e);i&&(t=t?t+" "+i:i)}return t}function Zv(n,e,t,r=0,i=n.length){let s=new e2(r,Array.isArray(e)?e:[e],t);s.highlightRange(n.cursor(),r,i,"",s.highlighters),s.flush(i)}class e2{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,r,i,s){let{type:o,from:a,to:l}=e;if(a>=r||l<=t)return;o.isTop&&(s=this.highlighters.filter(p=>!p.scope||p.scope(o)));let c=i,h=t2(e)||Ei.empty,d=Xv(s,h.tags);if(d&&(c&&(c+=" "),c+=d,h.mode==1&&(i+=(i?" ":"")+d)),this.startSpan(Math.max(t,a),c),h.opaque)return;let f=e.tree&&e.tree.prop(de.mounted);if(f&&f.overlay){let p=e.node.enter(f.overlay[0].from+a,1),m=this.highlighters.filter(y=>!y.scope||y.scope(f.tree.type)),b=e.firstChild();for(let y=0,v=a;;y++){let k=y<f.overlay.length?f.overlay[y]:null,S=k?k.from+a:l,O=Math.max(t,v),C=Math.min(r,S);if(O<C&&b)for(;e.from<C&&(this.highlightRange(e,O,C,i,s),this.startSpan(Math.min(C,e.to),c),!(e.to>=S||!e.nextSibling())););if(!k||S>r)break;v=k.to+a,v>t&&(this.highlightRange(p.cursor(),Math.max(t,k.from+a),Math.min(r,v),"",m),this.startSpan(Math.min(r,v),c))}b&&e.parent()}else if(e.firstChild()){f&&(i="");do if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,i,s),this.startSpan(Math.min(r,e.to),c)}while(e.nextSibling());e.parent()}}}function t2(n){let e=n.type.prop(Lm);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const z=Ct.define,ho=z(),kn=z(),od=z(kn),ad=z(kn),Sn=z(),uo=z(Sn),al=z(Sn),Ut=z(),Gn=z(Ut),Ht=z(),_t=z(),dc=z(),ii=z(dc),fo=z(),N={comment:ho,lineComment:z(ho),blockComment:z(ho),docComment:z(ho),name:kn,variableName:z(kn),typeName:od,tagName:z(od),propertyName:ad,attributeName:z(ad),className:z(kn),labelName:z(kn),namespace:z(kn),macroName:z(kn),literal:Sn,string:uo,docString:z(uo),character:z(uo),attributeValue:z(uo),number:al,integer:z(al),float:z(al),bool:z(Sn),regexp:z(Sn),escape:z(Sn),color:z(Sn),url:z(Sn),keyword:Ht,self:z(Ht),null:z(Ht),atom:z(Ht),unit:z(Ht),modifier:z(Ht),operatorKeyword:z(Ht),controlKeyword:z(Ht),definitionKeyword:z(Ht),moduleKeyword:z(Ht),operator:_t,derefOperator:z(_t),arithmeticOperator:z(_t),logicOperator:z(_t),bitwiseOperator:z(_t),compareOperator:z(_t),updateOperator:z(_t),definitionOperator:z(_t),typeOperator:z(_t),controlOperator:z(_t),punctuation:dc,separator:z(dc),bracket:ii,angleBracket:z(ii),squareBracket:z(ii),paren:z(ii),brace:z(ii),content:Ut,heading:Gn,heading1:z(Gn),heading2:z(Gn),heading3:z(Gn),heading4:z(Gn),heading5:z(Gn),heading6:z(Gn),contentSeparator:z(Ut),list:z(Ut),quote:z(Ut),emphasis:z(Ut),strong:z(Ut),link:z(Ut),monospace:z(Ut),strikethrough:z(Ut),inserted:z(),deleted:z(),changed:z(),invalid:z(),meta:fo,documentMeta:z(fo),annotation:z(fo),processingInstruction:z(fo),definition:Ct.defineModifier("definition"),constant:Ct.defineModifier("constant"),function:Ct.defineModifier("function"),standard:Ct.defineModifier("standard"),local:Ct.defineModifier("local"),special:Ct.defineModifier("special")};for(let n in N){let e=N[n];e instanceof Ct&&(e.name=n)}Im([{tag:N.link,class:"tok-link"},{tag:N.heading,class:"tok-heading"},{tag:N.emphasis,class:"tok-emphasis"},{tag:N.strong,class:"tok-strong"},{tag:N.keyword,class:"tok-keyword"},{tag:N.atom,class:"tok-atom"},{tag:N.bool,class:"tok-bool"},{tag:N.url,class:"tok-url"},{tag:N.labelName,class:"tok-labelName"},{tag:N.inserted,class:"tok-inserted"},{tag:N.deleted,class:"tok-deleted"},{tag:N.literal,class:"tok-literal"},{tag:N.string,class:"tok-string"},{tag:N.number,class:"tok-number"},{tag:[N.regexp,N.escape,N.special(N.string)],class:"tok-string2"},{tag:N.variableName,class:"tok-variableName"},{tag:N.local(N.variableName),class:"tok-variableName tok-local"},{tag:N.definition(N.variableName),class:"tok-variableName tok-definition"},{tag:N.special(N.variableName),class:"tok-variableName2"},{tag:N.definition(N.propertyName),class:"tok-propertyName tok-definition"},{tag:N.typeName,class:"tok-typeName"},{tag:N.namespace,class:"tok-namespace"},{tag:N.className,class:"tok-className"},{tag:N.macroName,class:"tok-macroName"},{tag:N.propertyName,class:"tok-propertyName"},{tag:N.operator,class:"tok-operator"},{tag:N.comment,class:"tok-comment"},{tag:N.meta,class:"tok-meta"},{tag:N.invalid,class:"tok-invalid"},{tag:N.punctuation,class:"tok-punctuation"}]);const n2=Rm({String:N.string,Number:N.number,"True False":N.bool,PropertyName:N.propertyName,Null:N.null,", :":N.separator,"[ ]":N.squareBracket,"{ }":N.brace}),r2=Zo.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[n2],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});let fc=[],Bm=[];(()=>{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,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<n.length;e++)(e%2?Bm:fc).push(t=t+n[e])})();function i2(n){if(n<768)return!1;for(let e=0,t=fc.length;;){let r=e+t>>1;if(n<fc[r])t=r;else if(n>=Bm[r])e=r+1;else return!0;if(e==t)return!1}}function ld(n){return n>=127462&&n<=127487}const cd=8205;function s2(n,e,t=!0,r=!0){return(t?$m:o2)(n,e,r)}function $m(n,e,t){if(e==n.length)return e;e&&Fm(n.charCodeAt(e))&&Vm(n.charCodeAt(e-1))&&e--;let r=ll(n,e);for(e+=hd(r);e<n.length;){let i=ll(n,e);if(r==cd||i==cd||t&&i2(i))e+=hd(i),r=i;else if(ld(i)){let s=0,o=e-2;for(;o>=0&&ld(ll(n,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function o2(n,e,t){for(;e>0;){let r=$m(n,e-2,t);if(r<e)return r;e--}return 0}function ll(n,e){let t=n.charCodeAt(e);if(!Vm(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return Fm(r)?(t-55296<<10)+(r-56320)+65536:t}function Fm(n){return n>=56320&&n<57344}function Vm(n){return n>=55296&&n<56320}function hd(n){return n<65536?1:2}class xe{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,r){[e,t]=Tr(this,e,t);let i=[];return this.decompose(0,e,i,2),r.length&&r.decompose(0,r.length,i,3),this.decompose(t,this.length,i,1),Gt.from(i,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Tr(this,e,t);let r=[];return this.decompose(e,t,r,0),Gt.from(r,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),r=this.length-this.scanIdentical(e,-1),i=new wi(this),s=new wi(e);for(let o=t,a=t;;){if(i.next(o),s.next(o),o=0,i.lineBreak!=s.lineBreak||i.done!=s.done||i.value!=s.value)return!1;if(a+=i.value.length,i.done||a>=r)return!0}}iter(e=1){return new wi(this,e)}iterRange(e,t=this.length){return new zm(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let i=this.line(e).from;r=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Hm(r)}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]?xe.empty:e.length<=32?new Ie(e):Gt.from(Ie.split(e,[]))}}class Ie extends xe{constructor(e,t=a2(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,r,i){for(let s=0;;s++){let o=this.text[s],a=i+o.length;if((t?r:a)>=e)return new l2(i,a,r,o);i=a+1,r++}}decompose(e,t,r,i){let s=e<=0&&t>=this.length?this:new Ie(ud(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=r.pop(),a=Ho(s.text,o.text.slice(),0,s.length);if(a.length<=32)r.push(new Ie(a,o.length+s.length));else{let l=a.length>>1;r.push(new Ie(a.slice(0,l)),new Ie(a.slice(l)))}}else r.push(s)}replace(e,t,r){if(!(r instanceof Ie))return super.replace(e,t,r);[e,t]=Tr(this,e,t);let i=Ho(this.text,Ho(r.text,ud(this.text,0,e)),t),s=this.length+r.length-(t-e);return i.length<=32?new Ie(i,s):Gt.from(Ie.split(i,[]),s)}sliceString(e,t=this.length,r=`
53
+ `){[e,t]=Tr(this,e,t);let i="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let a=this.text[o],l=s+a.length;s>e&&o&&(i+=r),e<l&&t>s&&(i+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],i=-1;for(let s of e)r.push(s),i+=s.length+1,r.length==32&&(t.push(new Ie(r,i)),r=[],i=-1);return i>-1&&t.push(new Ie(r,i)),t}}class Gt extends xe{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,i){for(let s=0;;s++){let o=this.children[s],a=i+o.length,l=r+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,r,i);i=a+1,r=l+1}}decompose(e,t,r,i){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let a=this.children[s],l=o+a.length;if(e<=l&&t>=o){let c=i&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?r.push(a):a.decompose(e-o,t-o,r,c)}o=l+1}}replace(e,t,r){if([e,t]=Tr(this,e,t),r.lines<this.lines)for(let i=0,s=0;i<this.children.length;i++){let o=this.children[i],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,r),c=this.lines-o.lines+l.lines;if(l.lines<c>>4&&l.lines>c>>6){let h=this.children.slice();return h[i]=l,new Gt(h,this.length-(t-e)+r.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=`
54
+ `){[e,t]=Tr(this,e,t);let i="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let a=this.children[s],l=o+a.length;o>e&&s&&(i+=r),e<l&&t>o&&(i+=a.sliceString(e-o,t-o,r)),o=l+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Gt))return 0;let r=0,[i,s,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,s+=t){if(i==o||s==a)return r;let l=this.children[i],c=e.children[s];if(l!=c)return r+l.scanIdentical(c,t);r+=l.length+1}}static from(e,t=e.reduce((r,i)=>r+i.length+1,-1)){let r=0;for(let p of e)r+=p.lines;if(r<32){let p=[];for(let m of e)m.flatten(p);return new Ie(p,t)}let i=Math.max(32,r>>5),s=i<<1,o=i>>1,a=[],l=0,c=-1,h=[];function d(p){let m;if(p.lines>s&&p instanceof Gt)for(let b of p.children)d(b);else p.lines>o&&(l>o||!l)?(f(),a.push(p)):p instanceof Ie&&l&&(m=h[h.length-1])instanceof Ie&&p.lines+m.lines<=32?(l+=p.lines,c+=p.length+1,h[h.length-1]=new Ie(m.text.concat(p.text),m.length+1+p.length)):(l+p.lines>i&&f(),l+=p.lines,c+=p.length+1,h.push(p))}function f(){l!=0&&(a.push(h.length==1?h[0]:Gt.from(h,c)),c=-1,l=h.length=0)}for(let p of e)d(p);return f(),a.length==1?a[0]:new Gt(a,t)}}xe.empty=new Ie([""],0);function a2(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Ho(n,e,t=0,r=1e9){for(let i=0,s=0,o=!0;s<n.length&&i<=r;s++){let a=n[s],l=i+a.length;l>=t&&(l>r&&(a=a.slice(0,r-i)),i<t&&(a=a.slice(t-i)),o?(e[e.length-1]+=a,o=!1):e.push(a)),i=l+1}return e}function ud(n,e,t){return Ho(n,[""],e,t)}class wi{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof Ie?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,i=this.nodes[r],s=this.offsets[r],o=s>>1,a=i instanceof Ie?i.text.length:i.children.length;if(o==(t>0?a:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=`
55
+ `,this;e--}else if(i instanceof Ie){let l=i.text[o+(t<0?-1:0)];if(this.offsets[r]+=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[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof Ie?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 zm{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new wi(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}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 r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=r?i:t<0?i.slice(i.length-r):i.slice(0,r),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 Hm{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:i}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(xe.prototype[Symbol.iterator]=function(){return this.iter()},wi.prototype[Symbol.iterator]=zm.prototype[Symbol.iterator]=Hm.prototype[Symbol.iterator]=function(){return this});class l2{constructor(e,t,r,i){this.from=e,this.to=t,this.number=r,this.text=i}get length(){return this.to-this.from}}function Tr(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function ze(n,e,t=!0,r=!0){return s2(n,e,t,r)}function c2(n){return n>=56320&&n<57344}function h2(n){return n>=55296&&n<56320}function at(n,e){let t=n.charCodeAt(e);if(!h2(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return c2(r)?(t-55296<<10)+(r-56320)+65536:t}function vh(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function qt(n){return n<65536?1:2}const pc=/\r\n?|\n/;var st=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(st||(st={}));class Zt{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t+1];e+=r<0?this.sections[t]:r}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,r=0,i=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(r,i,s),i+=s):i+=o,r+=s}}iterChangedRanges(e,t=!1){mc(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let r=this.sections[t++],i=this.sections[t++];i<0?e.push(r,i):e.push(i,r)}return new Zt(e)}composeDesc(e){return this.empty?e:e.empty?this:_m(this,e)}mapDesc(e,t=!1){return e.empty?this:gc(this,e,t)}mapPos(e,t=-1,r=st.Simple){let i=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],c=i+a;if(l<0){if(c>e)return s+(e-i);s+=a}else{if(r!=st.Simple&&c>=e&&(r==st.TrackDel&&i<e&&c>e||r==st.TrackBefore&&i<e||r==st.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!a)return e==i||t<0?s:s+l;s+=l}i=c}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return s}touchesRange(e,t=e){for(let r=0,i=0;r<this.sections.length&&i<=t;){let s=this.sections[r++],o=this.sections[r++],a=i+s;if(o>=0&&i<=t&&a>=e)return i<e&&a>t?"cover":!0;i=a}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let r=this.sections[t++],i=this.sections[t++];e+=(e?" ":"")+r+(i>=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 Zt(e)}static create(e){return new Zt(e)}}class Ve extends Zt{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 mc(this,(t,r,i,s,o)=>e=e.replace(i,i+(r-t),o),!1),e}mapDesc(e,t=!1){return gc(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let i=0,s=0;i<t.length;i+=2){let o=t[i],a=t[i+1];if(a>=0){t[i]=a,t[i+1]=o;let l=i>>1;for(;r.length<l;)r.push(xe.empty);r.push(o?e.slice(s,s+o):xe.empty)}s+=o}return new Ve(t,r)}compose(e){return this.empty?e:e.empty?this:_m(this,e,!0)}map(e,t=!1){return e.empty?this:gc(this,e,t,!0)}iterChanges(e,t=!1){mc(this,e,t)}get desc(){return Zt.create(this.sections)}filter(e){let t=[],r=[],i=[],s=new Ri(this);e:for(let o=0,a=0;;){let l=o==e.length?1e9:e[o++];for(;a<l||a==l&&s.len==0;){if(s.done)break e;let h=Math.min(s.len,l-a);et(i,h,-1);let d=s.ins==-1?-1:s.off==0?s.ins:0;et(t,h,d),d>0&&Nn(r,t,s.text),s.forward(h),a+=h}let c=e[o++];for(;a<c;){if(s.done)break e;let h=Math.min(s.len,c-a);et(t,h,-1),et(i,h,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(h),a+=h}}return{changes:new Ve(t,r),filtered:Zt.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let r=this.sections[t],i=this.sections[t+1];i<0?e.push(r):i==0?e.push([r]):e.push([r].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,r){let i=[],s=[],o=0,a=null;function l(h=!1){if(!h&&!i.length)return;o<t&&et(i,t-o,-1);let d=new Ve(i,s);a=a?a.compose(d.map(a)):d,i=[],s=[],o=0}function c(h){if(Array.isArray(h))for(let d of h)c(d);else if(h instanceof Ve){if(h.length!=t)throw new RangeError(`Mismatched change set length (got ${h.length}, expected ${t})`);l(),a=a?a.compose(h.map(a)):h}else{let{from:d,to:f=d,insert:p}=h;if(d>f||d<0||f>t)throw new RangeError(`Invalid change range ${d} to ${f} (in doc of length ${t})`);let m=p?typeof p=="string"?xe.of(p.split(r||pc)):p:xe.empty,b=m.length;if(d==f&&b==0)return;d<o&&l(),d>o&&et(i,d-o,-1),et(i,f-d,b),Nn(s,i,m),o=f}}return c(e),l(!a),a}static empty(e){return new Ve(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let i=0;i<e.length;i++){let s=e[i];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,a)=>a&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;r.length<i;)r.push(xe.empty);r[i]=xe.of(s.slice(1)),t.push(s[0],r[i].length)}}}return new Ve(t,r)}static createSet(e,t){return new Ve(e,t)}}function et(n,e,t,r=!1){if(e==0&&t<=0)return;let i=n.length-2;i>=0&&t<=0&&t==n[i+1]?n[i]+=e:i>=0&&e==0&&n[i]==0?n[i+1]+=t:r?(n[i]+=e,n[i+1]+=t):n.push(e,t)}function Nn(n,e,t){if(t.length==0)return;let r=e.length-2>>1;if(r<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<r;)n.push(xe.empty);n.push(t)}}function mc(n,e,t){let r=n.inserted;for(let i=0,s=0,o=0;o<n.sections.length;){let a=n.sections[o++],l=n.sections[o++];if(l<0)i+=a,s+=a;else{let c=i,h=s,d=xe.empty;for(;c+=a,h+=l,l&&r&&(d=d.append(r[o-2>>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)a=n.sections[o++],l=n.sections[o++];e(i,c,s,h,d),i=c,s=h}}}function gc(n,e,t,r=!1){let i=[],s=r?[]:null,o=new Ri(n),a=new Ri(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);et(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<o.len||a.len==o.len&&!t))){let c=a.len;for(et(i,a.ins,-1);c;){let h=Math.min(o.len,c);o.ins>=0&&l<o.i&&o.len<=h&&(et(i,0,o.ins),s&&Nn(s,i,o.text),l=o.i),o.forward(h),c-=h}a.next()}else if(o.ins>=0){let c=0,h=o.len;for(;h;)if(a.ins==-1){let d=Math.min(h,a.len);c+=d,h-=d,a.forward(d)}else if(a.ins==0&&a.len<h)h-=a.len,a.next();else break;et(i,c,l<o.i?o.ins:0),s&&l<o.i&&Nn(s,i,o.text),l=o.i,o.forward(o.len-h)}else{if(o.done&&a.done)return s?Ve.createSet(i,s):Zt.create(i);throw new Error("Mismatched change set lengths")}}}function _m(n,e,t=!1){let r=[],i=t?[]:null,s=new Ri(n),o=new Ri(e);for(let a=!1;;){if(s.done&&o.done)return i?Ve.createSet(r,i):Zt.create(r);if(s.ins==0)et(r,s.len,0,a),s.next();else if(o.len==0&&!o.done)et(r,0,o.ins,a),i&&Nn(i,r,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let l=Math.min(s.len2,o.len),c=r.length;if(s.ins==-1){let h=o.ins==-1?-1:o.off?0:o.ins;et(r,l,h,a),i&&h&&Nn(i,r,o.text)}else o.ins==-1?(et(r,s.off?0:s.len,l,a),i&&Nn(i,r,s.textBit(l))):(et(r,s.off?0:s.len,o.off?0:o.ins,a),i&&!o.off&&Nn(i,r,o.text));a=(s.ins>l||o.ins>=0&&o.len>l)&&(a||r.length>c),s.forward2(l),o.forward(l)}}}}class Ri{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?xe.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?xe.empty:t[r].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 Zn{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}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 bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let r,i;return this.empty?r=i=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new Zn(r,i,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return E.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return E.range(this.anchor,r)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!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 E.range(e.anchor,e.head)}static create(e,t,r){return new Zn(e,t,r)}}class E{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:E.create(this.ranges.map(r=>r.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;r<this.ranges.length;r++)if(!this.ranges[r].eq(e.ranges[r],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new E([this.main],0)}addRange(e,t=!0){return E.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,E.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.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 E(e.ranges.map(t=>Zn.fromJSON(t)),e.main)}static single(e,t=e){return new E([E.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 r=0,i=0;i<e.length;i++){let s=e[i];if(s.empty?s.from<=r:s.from<r)return E.normalized(e.slice(),t);r=s.to}return new E(e,t)}static cursor(e,t=0,r,i){return Zn.create(e,e,(t==0?0:t<0?8:16)|(r==null?7:Math.min(6,r))|(i??16777215)<<6)}static range(e,t,r,i){let s=(r??16777215)<<6|(i==null?7:Math.min(6,i));return t<e?Zn.create(t,e,48|s):Zn.create(e,t,(t>e?8:0)|s)}static normalized(e,t=0){let r=e[t];e.sort((i,s)=>i.from-s.from),t=e.indexOf(r);for(let i=1;i<e.length;i++){let s=e[i],o=e[i-1];if(s.empty?s.from<=o.to:s.from<o.to){let a=o.from,l=Math.max(s.to,o.to);i<=t&&t--,e.splice(--i,2,s.anchor>s.head?E.range(l,a):E.range(a,l))}}return new E(e,t)}}function Wm(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let wh=0;class K{constructor(e,t,r,i,s){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=i,this.id=wh++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new K(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:kh),!!e.static,e.enables)}of(e){return new _o([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new _o(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new _o(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}}function kh(n,e){return n==e||n.length==e.length&&n.every((t,r)=>t===e[r])}class _o{constructor(e,t,r,i){this.dependencies=e,this.facet=t,this.type=r,this.value=i,this.id=wh++}dynamicSlot(e){var t;let r=this.value,i=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,l=!1,c=!1,h=[];for(let d of this.dependencies)d=="doc"?l=!0:d=="selection"?c=!0:((t=e[d.id])!==null&&t!==void 0?t:1)&1||h.push(e[d.id]);return{create(d){return d.values[o]=r(d),1},update(d,f){if(l&&f.docChanged||c&&(f.docChanged||f.selection)||bc(d,h)){let p=r(d);if(a?!dd(p,d.values[o],i):!i(p,d.values[o]))return d.values[o]=p,1}return 0},reconfigure:(d,f)=>{let p,m=f.config.address[s];if(m!=null){let b=na(f,m);if(this.dependencies.every(y=>y instanceof K?f.facet(y)===d.facet(y):y instanceof Qe?f.field(y,!1)==d.field(y,!1):!0)||(a?dd(p=r(d),b,i):i(p=r(d),b)))return d.values[o]=b,0}else p=r(d);return d.values[o]=p,1}}}}function dd(n,e,t){if(n.length!=e.length)return!1;for(let r=0;r<n.length;r++)if(!t(n[r],e[r]))return!1;return!0}function bc(n,e){let t=!1;for(let r of e)ki(n,r)&1&&(t=!0);return t}function u2(n,e,t){let r=t.map(l=>n[l.id]),i=t.map(l=>l.type),s=r.filter(l=>!(l&1)),o=n[e.id]>>1;function a(l){let c=[];for(let h=0;h<r.length;h++){let d=na(l,r[h]);if(i[h]==2)for(let f of d)c.push(f);else c.push(d)}return e.combine(c)}return{create(l){for(let c of r)ki(l,c);return l.values[o]=a(l),1},update(l,c){if(!bc(l,s))return 0;let h=a(l);return e.compare(h,l.values[o])?0:(l.values[o]=h,1)},reconfigure(l,c){let h=bc(l,r),d=c.config.facets[e.id],f=c.facet(e);if(d&&!h&&kh(t,d))return l.values[o]=f,0;let p=a(l);return e.compare(p,f)?(l.values[o]=f,0):(l.values[o]=p,1)}}}const po=K.define({static:!0});class Qe{constructor(e,t,r,i,s){this.id=e,this.createF=t,this.updateF=r,this.compareF=i,this.spec=s,this.provides=void 0}static define(e){let t=new Qe(wh++,e.create,e.update,e.compare||((r,i)=>r===i),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(po).find(r=>r.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:r=>(r.values[t]=this.create(r),1),update:(r,i)=>{let s=r.values[t],o=this.updateF(s,i);return this.compareF(s,o)?0:(r.values[t]=o,1)},reconfigure:(r,i)=>{let s=r.facet(po),o=i.facet(po),a;return(a=s.find(l=>l.field==this))&&a!=o.find(l=>l.field==this)?(r.values[t]=a.create(r),1):i.config.address[this.id]!=null?(r.values[t]=i.field(this),0):(r.values[t]=this.create(r),1)}}}init(e){return[this,po.of({field:this,create:e})]}get extension(){return this}}const Qn={lowest:4,low:3,default:2,high:1,highest:0};function si(n){return e=>new Um(e,n)}const cr={highest:si(Qn.highest),high:si(Qn.high),default:si(Qn.default),low:si(Qn.low),lowest:si(Qn.lowest)};class Um{constructor(e,t){this.inner=e,this.prec=t}}class Na{of(e){return new yc(this,e)}reconfigure(e){return Na.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class yc{constructor(e,t){this.compartment=e,this.inner=t}}class ta{constructor(e,t,r,i,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=i,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<r.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,r){let i=[],s=Object.create(null),o=new Map;for(let f of d2(e,t,o))f instanceof Qe?i.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let a=Object.create(null),l=[],c=[];for(let f of i)a[f.id]=c.length<<1,c.push(p=>f.slot(p));let h=r?.config.facets;for(let f in s){let p=s[f],m=p[0].facet,b=h&&h[f]||[];if(p.every(y=>y.type==0))if(a[m.id]=l.length<<1|1,kh(b,p))l.push(r.facet(m));else{let y=m.combine(p.map(v=>v.value));l.push(r&&m.compare(y,r.facet(m))?r.facet(m):y)}else{for(let y of p)y.type==0?(a[y.id]=l.length<<1|1,l.push(y.value)):(a[y.id]=c.length<<1,c.push(v=>y.dynamicSlot(v)));a[m.id]=c.length<<1,c.push(y=>u2(y,m,p))}}let d=c.map(f=>f(a));return new ta(e,o,d,a,l,s)}}function d2(n,e,t){let r=[[],[],[],[],[]],i=new Map;function s(o,a){let l=i.get(o);if(l!=null){if(l<=a)return;let c=r[l].indexOf(o);c>-1&&r[l].splice(c,1),o instanceof yc&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof yc){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),s(c,a)}else if(o instanceof Um)s(o.inner,o.prec);else if(o instanceof Qe)r[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof _o)r[a].push(o),o.facet.extensions&&s(o.facet.extensions,Qn.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,a)}}return s(n,Qn.default),r.reduce((o,a)=>o.concat(a))}function ki(n,e){if(e&1)return 2;let t=e>>1,r=n.status[t];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;n.status[t]=4;let i=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|i}function na(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const Km=K.define(),xc=K.define({combine:n=>n.some(e=>e),static:!0}),Gm=K.define({combine:n=>n.length?n[0]:void 0,static:!0}),qm=K.define(),Ym=K.define(),Qm=K.define(),Jm=K.define({combine:n=>n.length?n[0]:!1});class rn{constructor(e,t){this.type=e,this.value=t}static define(){return new f2}}class f2{of(e){return new rn(this,e)}}class p2{constructor(e){this.map=e}of(e){return new ae(this,e)}}class ae{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 ae(this.type,t)}is(e){return this.type==e}static define(e={}){return new p2(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let i of e){let s=i.map(t);s&&r.push(s)}return r}}ae.reconfigure=ae.define();ae.appendConfig=ae.define();class He{constructor(e,t,r,i,s,o){this.startState=e,this.changes=t,this.selection=r,this.effects=i,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,r&&Wm(r,t.newLength),s.some(a=>a.type==He.time)||(this.annotations=s.concat(He.time.of(Date.now())))}static create(e,t,r,i,s,o){return new He(e,t,r,i,s,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(He.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}He.time=rn.define();He.userEvent=rn.define();He.addToHistory=rn.define();He.remote=rn.define();function m2(n,e){let t=[];for(let r=0,i=0;;){let s,o;if(r<n.length&&(i==e.length||e[i]>=n[r]))s=n[r++],o=n[r++];else if(i<e.length)s=e[i++],o=e[i++];else return t;!t.length||t[t.length-1]<s?t.push(s,o):t[t.length-1]<o&&(t[t.length-1]=o)}}function Xm(n,e,t){var r;let i,s,o;return t?(i=e.changes,s=Ve.empty(e.changes.length),o=n.changes.compose(e.changes)):(i=e.changes.map(n.changes),s=n.changes.mapDesc(e.changes,!0),o=n.changes.compose(i)),{changes:o,selection:e.selection?e.selection.map(s):(r=n.selection)===null||r===void 0?void 0:r.map(i),effects:ae.mapEffects(n.effects,i).concat(ae.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function vc(n,e,t){let r=e.selection,i=Or(e.annotations);return e.userEvent&&(i=i.concat(He.userEvent.of(e.userEvent))),{changes:e.changes instanceof Ve?e.changes:Ve.of(e.changes||[],t,n.facet(Gm)),selection:r&&(r instanceof E?r:E.single(r.anchor,r.head)),effects:Or(e.effects),annotations:i,scrollIntoView:!!e.scrollIntoView}}function Zm(n,e,t){let r=vc(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let o=!!e[s].sequential;r=Xm(r,vc(n,e[s],o?r.changes.newLength:n.doc.length),o)}let i=He.create(n,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return b2(t?g2(i):i)}function g2(n){let e=n.startState,t=!0;for(let i of e.facet(qm)){let s=i(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:m2(t,s))}if(t!==!0){let i,s;if(t===!1)s=n.changes.invertedDesc,i=Ve.empty(e.doc.length);else{let o=n.changes.filter(t);i=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}n=He.create(e,i,n.selection&&n.selection.map(s),ae.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let r=e.facet(Ym);for(let i=r.length-1;i>=0;i--){let s=r[i](n);s instanceof He?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof He?n=s[0]:n=Zm(e,Or(s),!1)}return n}function b2(n){let e=n.startState,t=e.facet(Qm),r=n;for(let i=t.length-1;i>=0;i--){let s=t[i](n);s&&Object.keys(s).length&&(r=Xm(r,vc(e,s,n.changes.newLength),!0))}return r==n?n:He.create(e,n.changes,n.selection,r.effects,r.annotations,r.scrollIntoView)}const y2=[];function Or(n){return n==null?y2:Array.isArray(n)?n:[n]}var Ne=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Ne||(Ne={}));const x2=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let wc;try{wc=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function v2(n){if(wc)return wc.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>"€"&&(t.toUpperCase()!=t.toLowerCase()||x2.test(t)))return!0}return!1}function w2(n){return e=>{if(!/\S/.test(e))return Ne.Space;if(v2(e))return Ne.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return Ne.Word;return Ne.Other}}class pe{constructor(e,t,r,i,s,o){this.config=e,this.doc=t,this.selection=r,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;a<this.config.dynamicSlots.length;a++)ki(this,a<<1);this.computeSlot=null}field(e,t=!0){let r=this.config.address[e.id];if(r==null){if(t)throw new RangeError("Field is not present in this state");return}return ki(this,r),na(this,r)}update(...e){return Zm(this,e,!0)}applyTransaction(e){let t=this.config,{base:r,compartments:i}=t;for(let a of e.effects)a.is(Na.reconfigure)?(t&&(i=new Map,t.compartments.forEach((l,c)=>i.set(c,l)),t=null),i.set(a.value.compartment,a.value.extension)):a.is(ae.reconfigure)?(t=null,r=a.value):a.is(ae.appendConfig)&&(t=null,r=Or(r).concat(a.value));let s;t?s=e.startState.values.slice():(t=ta.resolve(r,i,this),s=new pe(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(xc)?e.newSelection:e.newSelection.asSingle();new pe(t,e.newDoc,o,s,(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:E.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),i=this.changes(r.changes),s=[r.range],o=Or(r.effects);for(let a=1;a<t.ranges.length;a++){let l=e(t.ranges[a]),c=this.changes(l.changes),h=c.map(i);for(let f=0;f<a;f++)s[f]=s[f].map(h);let d=i.mapDesc(c,!0);s.push(l.range.map(d)),i=i.compose(h),o=ae.mapEffects(o,h).concat(ae.mapEffects(Or(l.effects),d))}return{changes:i,selection:E.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof Ve?e:Ve.of(e,this.doc.length,this.facet(pe.lineSeparator))}toText(e){return xe.of(e.split(this.facet(pe.lineSeparator)||pc))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(ki(this,t),na(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let r in e){let i=e[r];i instanceof Qe&&this.config.address[i.id]!=null&&(t[r]=i.spec.toJSON(this.field(e[r]),this))}return t}static fromJSON(e,t={},r){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let i=[];if(r){for(let s in r)if(Object.prototype.hasOwnProperty.call(e,s)){let o=r[s],a=e[s];i.push(o.init(l=>o.spec.fromJSON(a,l)))}}return pe.create({doc:e.doc,selection:E.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=ta.resolve(e.extensions||[],new Map),r=e.doc instanceof xe?e.doc:xe.of((e.doc||"").split(t.staticFacet(pe.lineSeparator)||pc)),i=e.selection?e.selection instanceof E?e.selection:E.single(e.selection.anchor,e.selection.head):E.single(0);return Wm(i,r.length),t.staticFacet(xc)||(i=i.asSingle()),new pe(t,r,i,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(pe.tabSize)}get lineBreak(){return this.facet(pe.lineSeparator)||`
56
+ `}get readOnly(){return this.facet(Jm)}phrase(e,...t){for(let r of this.facet(pe.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(r,i)=>{if(i=="$")return"$";let s=+(i||1);return!s||s>t.length?r:t[s-1]})),e}languageDataAt(e,t,r=-1){let i=[];for(let s of this.facet(Km))for(let o of s(this,t,r))Object.prototype.hasOwnProperty.call(o,e)&&i.push(o[e]);return i}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return w2(t.length?t[0]:"")}wordAt(e){let{text:t,from:r,length:i}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-r,a=e-r;for(;o>0;){let l=ze(t,o,!1);if(s(t.slice(l,o))!=Ne.Word)break;o=l}for(;a<i;){let l=ze(t,a);if(s(t.slice(a,l))!=Ne.Word)break;a=l}return o==a?null:E.range(o+r,a+r)}}pe.allowMultipleSelections=xc;pe.tabSize=K.define({combine:n=>n.length?n[0]:4});pe.lineSeparator=Gm;pe.readOnly=Jm;pe.phrases=K.define({compare(n,e){let t=Object.keys(n),r=Object.keys(e);return t.length==r.length&&t.every(i=>n[i]==e[i])}});pe.languageData=Km;pe.changeFilter=qm;pe.transactionFilter=Ym;pe.transactionExtender=Qm;Na.reconfigure=ae.define();function sn(n,e,t={}){let r={};for(let i of n)for(let s of Object.keys(i)){let o=i[s],a=r[s];if(a===void 0)r[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))r[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let i in e)r[i]===void 0&&(r[i]=e[i]);return r}class Rn{eq(e){return this==e}range(e,t=e){return Li.create(e,t,this)}}Rn.prototype.startSide=Rn.prototype.endSide=0;Rn.prototype.point=!1;Rn.prototype.mapMode=st.TrackDel;function Sh(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}class Li{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new Li(e,t,r)}}function kc(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class Ch{constructor(e,t,r,i){this.from=e,this.to=t,this.value=r,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,i=0){let s=r?this.to:this.from;for(let o=i,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(r?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,r,i){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(r,1e9,!1,s);s<o;s++)if(i(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let r=[],i=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],h=this.from[l]+e,d=this.to[l]+e,f,p;if(h==d){let m=t.mapPos(h,c.startSide,c.mapMode);if(m==null||(f=p=m,c.startSide!=c.endSide&&(p=t.mapPos(h,c.endSide),p<f)))continue}else if(f=t.mapPos(h,c.startSide),p=t.mapPos(d,c.endSide),f>p||f==p&&c.startSide>0&&c.endSide<=0)continue;(p-f||c.endSide-c.startSide)<0||(o<0&&(o=f),c.point&&(a=Math.max(a,p-f)),r.push(c),i.push(f-o),s.push(p-o))}return{mapped:r.length?new Ch(i,s,r,a):null,pos:o}}}class fe{constructor(e,t,r,i){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=i}static create(e,t,r,i){return new fe(e,t,r,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:r=!1,filterFrom:i=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(r&&(t=t.slice().sort(kc)),this.isEmpty)return t.length?fe.of(t):this;let a=new eg(this,null,-1).goto(0),l=0,c=[],h=new mn;for(;a.value||l<t.length;)if(l<t.length&&(a.from-t[l].from||a.startSide-t[l].value.startSide)>=0){let d=t[l++];h.addInner(d.from,d.to,d.value)||c.push(d)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(a.chunkIndex)<t[l].from)&&(!o||i>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&h.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||i>a.to||s<a.from||o(a.from,a.to,a.value))&&(h.addInner(a.from,a.to,a.value)||c.push(Li.create(a.from,a.to,a.value))),a.next());return h.finishInner(this.nextLayer.isEmpty&&!c.length?fe.empty:this.nextLayer.update({add:c,filter:o,filterFrom:i,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],r=[],i=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],c=e.touchesRange(a,a+l.length);if(c===!1)i=Math.max(i,l.maxPoint),t.push(l),r.push(e.mapPos(a));else if(c===!0){let{mapped:h,pos:d}=l.map(a,e);h&&(i=Math.max(i,h.maxPoint),t.push(h),r.push(d))}}let s=this.nextLayer.map(e);return t.length==0?s:new fe(r,t,s||fe.empty,i)}between(e,t,r){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let s=this.chunkPos[i],o=this.chunk[i];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,r)===!1)return}this.nextLayer.between(e,t,r)}}iter(e=0){return Ii.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ii.from(e).goto(t)}static compare(e,t,r,i,s=-1){let o=e.filter(d=>d.maxPoint>0||!d.isEmpty&&d.maxPoint>=s),a=t.filter(d=>d.maxPoint>0||!d.isEmpty&&d.maxPoint>=s),l=fd(o,a,r),c=new oi(o,l,s),h=new oi(a,l,s);r.iterGaps((d,f,p)=>pd(c,d,h,f,p,i)),r.empty&&r.length==0&&pd(c,0,h,0,0,i)}static eq(e,t,r=0,i){i==null&&(i=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=fd(s,o),l=new oi(s,a,0).goto(r),c=new oi(o,a,0).goto(r);for(;;){if(l.to!=c.to||!Sc(l.active,c.active)||l.point&&(!c.point||!Sh(l.point,c.point)))return!1;if(l.to>i)return!0;l.next(),c.next()}}static spans(e,t,r,i,s=-1){let o=new oi(e,null,s).goto(t),a=t,l=o.openStart;for(;;){let c=Math.min(o.to,r);if(o.point){let h=o.activeForPoint(o.to),d=o.pointFrom<t?h.length+1:o.point.startSide<0?h.length:Math.min(h.length,l);i.point(a,c,o.point,h,d,o.pointRank),l=Math.min(o.openEnd(c),h.length)}else c>a&&(i.span(a,c,o.active,l),l=o.openEnd(c));if(o.to>r)return l+(o.point&&o.to>r?1:0);a=o.to,o.next()}}static of(e,t=!1){let r=new mn;for(let i of e instanceof Li?[e]:t?k2(e):e)r.add(i.from,i.to,i.value);return r.finish()}static join(e){if(!e.length)return fe.empty;let t=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let i=e[r];i!=fe.empty;i=i.nextLayer)t=new fe(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}fe.empty=new fe([],[],null,-1);function k2(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let r=n[t];if(kc(e,r)>0)return n.slice().sort(kc);e=r}return n}fe.empty.nextLayer=fe.empty;class mn{finishChunk(e){this.chunks.push(new Ch(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,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new mn)).add(e,t,r)}addInner(e,t,r){let i=e-this.lastTo||r.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||r.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=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.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 r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(fe.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=fe.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function fd(n,e,t){let r=new Map;for(let s of n)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&r.set(s.chunk[o],s.chunkPos[o]);let i=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let a=r.get(s.chunk[o]);a!=null&&(t?t.mapPos(a):a)==s.chunkPos[o]&&!t?.touchesRange(a,a+s.chunk[o].length)&&i.add(s.chunk[o])}return i}class eg{constructor(e,t,r,i=0){this.layer=e,this.skip=t,this.minPoint=r,this.rank=i}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,r){for(;this.chunkIndex<this.layer.chunk.length;){let i=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(i)||this.layer.chunkEnd(this.chunkIndex)<e||i.maxPoint<this.minPoint))break;this.chunkIndex++,r=!1}if(this.chunkIndex<this.layer.chunk.length){let i=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!r||this.rangeIndex<i)&&this.setRangeIndex(i)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],r=e+t.from[this.rangeIndex];if(this.from=r,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class Ii{constructor(e){this.heap=e}static from(e,t=null,r=-1){let i=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=r&&i.push(new eg(o,t,r,s));return i.length==1?i[0]:new Ii(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let r=this.heap.length>>1;r>=0;r--)cl(this.heap,r);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let r=this.heap.length>>1;r>=0;r--)cl(this.heap,r);(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(),cl(this.heap,0)}}}function cl(n,e){for(let t=n[e];;){let r=(e<<1)+1;if(r>=n.length)break;let i=n[r];if(r+1<n.length&&i.compare(n[r+1])>=0&&(i=n[r+1],r++),t.compare(i)<0)break;n[r]=t,n[e]=i,e=r}}class oi{constructor(e,t,r){this.minPoint=r,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=Ii.from(e,t,r)}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){mo(this.active,e),mo(this.activeTo,e),mo(this.activeRank,e),this.minActive=md(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:i,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||i-this.activeTo[t])>0;)t++;go(this.active,t,r),go(this.activeTo,t,i),go(this.activeRank,t,s),e&&go(e,t,this.cursor.from),this.minActive=md(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=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),r&&mo(r,i)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(r),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(r){this.openStart=0;for(let i=r.length-1;i>=0&&r[i]<e;i--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let r=this.active.length-1;r>=0&&!(this.activeRank[r]<this.pointRank);r--)(this.activeTo[r]>e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}}function pd(n,e,t,r,i,s){n.goto(e),t.goto(r);let o=r+i,a=r,l=r-e,c=!!s.boundChange;for(let h=!1;;){let d=n.to+l-t.to,f=d||n.endSide-t.endSide,p=f<0?n.to+l:t.to,m=Math.min(p,o);if(n.point||t.point?(n.point&&t.point&&Sh(n.point,t.point)&&Sc(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(a,m,n.point,t.point),h=!1):(h&&s.boundChange(a),m>a&&!Sc(n.active,t.active)&&s.compareRange(a,m,n.active,t.active),c&&m<o&&(d||n.openEnd(p)!=t.openEnd(p))&&(h=!0)),p>o)break;a=p,f<=0&&n.next(),f>=0&&t.next()}}function Sc(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!Sh(n[t],e[t]))return!1;return!0}function mo(n,e){for(let t=e,r=n.length-1;t<r;t++)n[t]=n[t+1];n.pop()}function go(n,e,t){for(let r=n.length-1;r>=e;r--)n[r+1]=n[r];n[e]=t}function md(n,e){let t=-1,r=1e9;for(let i=0;i<e.length;i++)(e[i]-r||n[i].endSide-n[t].endSide)<0&&(t=i,r=e[i]);return t}function zr(n,e,t=n.length){let r=0;for(let i=0;i<t&&i<n.length;)n.charCodeAt(i)==9?(r+=e-r%e,i++):(r++,i=ze(n,i));return r}function Cc(n,e,t,r){for(let i=0,s=0;;){if(s>=e)return i;if(i==n.length)break;s+=n.charCodeAt(i)==9?t-s%t:1,i=ze(n,i)}return r===!0?-1:n.length}const jc="ͼ",gd=typeof Symbol>"u"?"__"+jc:Symbol.for(jc),Oc=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),bd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Ln{constructor(e,t){this.rules=[];let{finish:r}=t||{};function i(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,l,c){let h=[],d=/^@(\w+)\b/.exec(o[0]),f=d&&d[1]=="keyframes";if(d&&a==null)return l.push(o[0]+";");for(let p in a){let m=a[p];if(/&/.test(p))s(p.split(/,\s*/).map(b=>o.map(y=>b.replace(/&/,y))).reduce((b,y)=>b.concat(y)),m,l);else if(m&&typeof m=="object"){if(!d)throw new RangeError("The value of a property ("+p+") should be a primitive value.");s(i(p),m,h,f)}else m!=null&&h.push(p.replace(/_.*/,"").replace(/[A-Z]/g,b=>"-"+b.toLowerCase())+": "+m+";")}(h.length||f)&&l.push((r&&!d&&!c?o.map(r):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(i(o),e[o],this.rules)}getRules(){return this.rules.join(`
57
+ `)}static newName(){let e=bd[gd]||1;return bd[gd]=e+1,jc+e.toString(36)}static mount(e,t,r){let i=e[Oc],s=r&&r.nonce;i?s&&i.setNonce(s):i=new S2(e,s),i.mount(Array.isArray(t)?t:[t],e)}}let yd=new Map;class S2{constructor(e,t){let r=e.ownerDocument||e,i=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let s=yd.get(r);if(s)return e[Oc]=s;this.sheet=new i.CSSStyleSheet,yd.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Oc]=this}mount(e,t){let r=this.sheet,i=0,s=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),r)for(let c=0;c<a.rules.length;c++)r.insertRule(a.rules[c],i++)}else{for(;s<l;)i+=this.modules[s++].rules.length;i+=a.rules.length,s++}}if(r)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+`
58
+ `;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var In={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Bi={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},C2=typeof navigator<"u"&&/Mac/.test(navigator.platform),j2=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var qe=0;qe<10;qe++)In[48+qe]=In[96+qe]=String(qe);for(var qe=1;qe<=24;qe++)In[qe+111]="F"+qe;for(var qe=65;qe<=90;qe++)In[qe]=String.fromCharCode(qe+32),Bi[qe]=String.fromCharCode(qe);for(var hl in In)Bi.hasOwnProperty(hl)||(Bi[hl]=In[hl]);function O2(n){var e=C2&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||j2&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Bi:In)[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 Ce(){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 r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var i=t[r];typeof i=="string"?n.setAttribute(r,i):i!=null&&(n[r]=i)}e++}for(;e<arguments.length;e++)tg(n,arguments[e]);return n}function tg(n,e){if(typeof e=="string")n.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)n.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)tg(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let it=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Pc=typeof document<"u"?document:{documentElement:{style:{}}};const Ac=/Edge\/(\d+)/.exec(it.userAgent),ng=/MSIE \d/.test(it.userAgent),Mc=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(it.userAgent),Da=!!(ng||Mc||Ac),xd=!Da&&/gecko\/(\d+)/i.test(it.userAgent),ul=!Da&&/Chrome\/(\d+)/.exec(it.userAgent),P2="webkitFontSmoothing"in Pc.documentElement.style,Nc=!Da&&/Apple Computer/.test(it.vendor),vd=Nc&&(/Mobile\/\w+/.test(it.userAgent)||it.maxTouchPoints>2);var U={mac:vd||/Mac/.test(it.platform),windows:/Win/.test(it.platform),linux:/Linux|X11/.test(it.platform),ie:Da,ie_version:ng?Pc.documentMode||6:Mc?+Mc[1]:Ac?+Ac[1]:0,gecko:xd,gecko_version:xd?+(/Firefox\/(\d+)/.exec(it.userAgent)||[0,0])[1]:0,chrome:!!ul,chrome_version:ul?+ul[1]:0,ios:vd,android:/Android\b/.test(it.userAgent),webkit_version:P2?+(/\bAppleWebKit\/(\d+)/.exec(it.userAgent)||[0,0])[1]:0,safari:Nc,safari_version:Nc?+(/\bVersion\/(\d+(\.\d+)?)/.exec(it.userAgent)||[0,0])[1]:0,tabSize:Pc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function jh(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 ra=Object.create(null);function Oh(n,e,t){if(n==e)return!0;n||(n=ra),e||(e=ra);let r=Object.keys(n),i=Object.keys(e);if(r.length-0!=i.length-0)return!1;for(let s of r)if(s!=t&&(i.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function A2(n,e){for(let t=n.attributes.length-1;t>=0;t--){let r=n.attributes[t].name;e[r]==null&&n.removeAttribute(r)}for(let t in e){let r=e[t];t=="style"?n.style.cssText=r:n.getAttribute(t)!=r&&n.setAttribute(t,r)}}function wd(n,e,t){let r=!1;if(e)for(let i in e)t&&i in t||(r=!0,i=="style"?n.style.cssText="":n.removeAttribute(i));if(t)for(let i in t)e&&e[i]==t[i]||(r=!0,i=="style"?n.style.cssText=t[i]:n.setAttribute(i,t[i]));return r}function M2(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let r=n.attributes[t];e[r.name]=r.value}return e}class on{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,r){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var Ye=function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n}(Ye||(Ye={}));class ne extends Rn{constructor(e,t,r,i){super(),this.startSide=e,this.endSide=t,this.widget=r,this.spec=i}get heightRelevant(){return!1}static mark(e){return new $s(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),r=!!e.block;return t+=r&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new ir(e,t,t,r,e.widget||null,!1)}static replace(e){let t=!!e.block,r,i;if(e.isBlockGap)r=-5e8,i=4e8;else{let{start:s,end:o}=rg(e,t);r=(s?t?-3e8:-1:5e8)-1,i=(o?t?2e8:1:-6e8)+1}return new ir(e,r,i,t,e.widget||null,!0)}static line(e){return new Fs(e)}static set(e,t=!1){return fe.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}ne.none=fe.empty;class $s extends ne{constructor(e){let{start:t,end:r}=rg(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?jh(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||ra}eq(e){return this==e||e instanceof $s&&this.tagName==e.tagName&&Oh(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)}}$s.prototype.point=!1;class Fs extends ne{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Fs&&this.spec.class==e.spec.class&&Oh(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)}}Fs.prototype.mapMode=st.TrackBefore;Fs.prototype.point=!0;class ir extends ne{constructor(e,t,r,i,s,o){super(t,r,s,e),this.block=i,this.isReplace=o,this.mapMode=i?t<=0?st.TrackBefore:st.TrackAfter:st.TrackDel}get type(){return this.startSide!=this.endSide?Ye.WidgetRange:this.startSide<=0?Ye.WidgetBefore:Ye.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof ir&&N2(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)}}ir.prototype.point=!0;function rg(n,e=!1){let{inclusiveStart:t,inclusiveEnd:r}=n;return t==null&&(t=n.inclusive),r==null&&(r=n.inclusive),{start:t??e,end:r??e}}function N2(n,e){return n==e||!!(n&&e&&n.compare(e))}function Pr(n,e,t,r=0){let i=t.length-1;i>=0&&t[i]+r>=n?t[i]=Math.max(t[i],e):t.push(n,e)}class $i extends Rn{constructor(e,t){super(),this.tagName=e,this.attributes=t}eq(e){return e==this||e instanceof $i&&this.tagName==e.tagName&&Oh(this.attributes,e.attributes)}static create(e){return new $i(e.tagName,e.attributes||ra)}static set(e,t=!1){return fe.of(e,t)}}$i.prototype.startSide=$i.prototype.endSide=-1;function Fi(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Dc(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function Wo(n,e){if(!e.anchorNode)return!1;try{return Dc(n,e.anchorNode)}catch{return!1}}function Si(n){return n.nodeType==3?zi(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Ci(n,e,t,r){return t?kd(n,e,t,r,-1)||kd(n,e,t,r,1):!1}function Bn(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function ia(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function kd(n,e,t,r,i){for(;;){if(n==t&&e==r)return!0;if(e==(i<0?0:gn(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||s.nodeType!=1)return!1;e=Bn(n)+(i<0?0:1),n=s}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?gn(n):0}else return!1}}function gn(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Vi(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function D2(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 ig(n,e){let t=e.width/n.offsetWidth,r=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-n.offsetHeight)<1)&&(r=1),{scaleX:t,scaleY:r}}function T2(n,e,t,r,i,s,o,a){let l=n.ownerDocument,c=l.defaultView||window;for(let h=n,d=!1;h&&!d;)if(h.nodeType==1){let f,p=h==l.body,m=1,b=1;if(p)f=D2(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(d=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let k=h.getBoundingClientRect();({scaleX:m,scaleY:b}=ig(h,k)),f={left:k.left,right:k.left+h.clientWidth*m,top:k.top,bottom:k.top+h.clientHeight*b}}let y=0,v=0;if(i=="nearest")e.top<f.top?(v=e.top-(f.top+o),t>0&&e.bottom>f.bottom+v&&(v=e.bottom-f.bottom+o)):e.bottom>f.bottom&&(v=e.bottom-f.bottom+o,t<0&&e.top-v<f.top&&(v=e.top-(f.top+o)));else{let k=e.bottom-e.top,S=f.bottom-f.top;v=(i=="center"&&k<=S?e.top+k/2-S/2:i=="start"||i=="center"&&t<0?e.top-o:e.bottom-S+o)-f.top}if(r=="nearest"?e.left<f.left?(y=e.left-(f.left+s),t>0&&e.right>f.right+y&&(y=e.right-f.right+s)):e.right>f.right&&(y=e.right-f.right+s,t<0&&e.left<f.left+y&&(y=e.left-(f.left+s))):y=(r=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:r=="start"==a?e.left-s:e.right-(f.right-f.left)+s)-f.left,y||v)if(p)c.scrollBy(y,v);else{let k=0,S=0;if(v){let O=h.scrollTop;h.scrollTop+=v/b,S=(h.scrollTop-O)*b}if(y){let O=h.scrollLeft;h.scrollLeft+=y/m,k=(h.scrollLeft-O)*m}e={left:e.left-k,top:e.top-S,right:e.right-k,bottom:e.bottom-S},k&&Math.abs(k-y)<1&&(r="nearest"),S&&Math.abs(S-v)<1&&(i="nearest")}if(p)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function E2(n){let e=n.ownerDocument,t,r;for(let i=n.parentNode;i&&!(i==e.body||t&&r);)if(i.nodeType==1)!r&&i.scrollHeight>i.clientHeight&&(r=i),!t&&i.scrollWidth>i.clientWidth&&(t=i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;return{x:t,y:r}}class R2{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:r}=e;this.set(t,Math.min(e.anchorOffset,t?gn(t):0),r,Math.min(e.focusOffset,r?gn(r):0))}set(e,t,r,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=i}}let qn=null;U.safari&&U.safari_version>=26&&(qn=!1);function sg(n){if(n.setActive)return n.setActive();if(qn)return n.focus(qn);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(qn==null?{get preventScroll(){return qn={preventScroll:!0},!0}}:void 0),!qn){qn=!1;for(let t=0;t<e.length;){let r=e[t++],i=e[t++],s=e[t++];r.scrollTop!=i&&(r.scrollTop=i),r.scrollLeft!=s&&(r.scrollLeft=s)}}}let Sd;function zi(n,e,t=e){let r=Sd||(Sd=document.createRange());return r.setEnd(n,t),r.setStart(n,e),r}function Ar(n,e,t,r){let i={key:e,code:e,keyCode:t,which:t,cancelable:!0};r&&({altKey:i.altKey,ctrlKey:i.ctrlKey,shiftKey:i.shiftKey,metaKey:i.metaKey}=r);let s=new KeyboardEvent("keydown",i);s.synthetic=!0,n.dispatchEvent(s);let o=new KeyboardEvent("keyup",i);return o.synthetic=!0,n.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function L2(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function I2(n,e){let t=e.focusNode,r=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=r)return!1;for(r=Math.min(r,gn(t));;)if(r){if(t.nodeType!=1)return!1;let i=t.childNodes[r-1];i.contentEditable=="false"?r--:(t=i,r=gn(t))}else{if(t==n)return!0;r=Bn(t),t=t.parentNode}}function og(n){return n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function ag(n,e){for(let t=n,r=e;;){if(t.nodeType==3&&r>0)return{node:t,offset:r};if(t.nodeType==1&&r>0){if(t.contentEditable=="false")return null;t=t.childNodes[r-1],r=gn(t)}else if(t.parentNode&&!ia(t))r=Bn(t),t=t.parentNode;else return null}}function lg(n,e){for(let t=n,r=e;;){if(t.nodeType==3&&r<t.nodeValue.length)return{node:t,offset:r};if(t.nodeType==1&&r<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[r],r=0}else if(t.parentNode&&!ia(t))r=Bn(t)+1,t=t.parentNode;else return null}}class It{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new It(e.parentNode,Bn(e),t)}static after(e,t){return new It(e.parentNode,Bn(e)+1,t)}}var Oe=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(Oe||(Oe={}));const sr=Oe.LTR,Ph=Oe.RTL;function cg(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}const B2=cg("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),$2=cg("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Tc=Object.create(null),Wt=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);Tc[e]=t,Tc[t]=-e}function hg(n){return n<=247?B2[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?$2[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}const F2=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class pn{get dir(){return this.level%2?Ph:sr}constructor(e,t,r){this.from=e,this.to=t,this.level=r}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,r,i){let s=-1;for(let o=0;o<e.length;o++){let a=e[o];if(a.from<=t&&a.to>=t){if(a.level==r)return o;(s<0||(i!=0?i<0?a.from<t:a.to>t:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}}function ug(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++){let r=n[t],i=e[t];if(r.from!=i.from||r.to!=i.to||r.direction!=i.direction||!ug(r.inner,i.inner))return!1}return!0}const je=[];function V2(n,e,t,r,i){for(let s=0;s<=r.length;s++){let o=s?r[s-1].to:e,a=s<r.length?r[s].from:t,l=s?256:i;for(let c=o,h=l,d=l;c<a;c++){let f=hg(n.charCodeAt(c));f==512?f=h:f==8&&d==4&&(f=16),je[c]=f==4?2:f,f&7&&(d=f),h=f}for(let c=o,h=l,d=l;c<a;c++){let f=je[c];if(f==128)c<a-1&&h==je[c+1]&&h&24?f=je[c]=h:je[c]=256;else if(f==64){let p=c+1;for(;p<a&&je[p]==64;)p++;let m=c&&h==8||p<t&&je[p]==8?d==1?1:8:256;for(let b=c;b<p;b++)je[b]=m;c=p-1}else f==8&&d==1&&(je[c]=1);h=f,f&7&&(d=f)}}}function z2(n,e,t,r,i){let s=i==1?2:1;for(let o=0,a=0,l=0;o<=r.length;o++){let c=o?r[o-1].to:e,h=o<r.length?r[o].from:t;for(let d=c,f,p,m;d<h;d++)if(p=Tc[f=n.charCodeAt(d)])if(p<0){for(let b=a-3;b>=0;b-=3)if(Wt[b+1]==-p){let y=Wt[b+2],v=y&2?i:y&4?y&1?s:i:0;v&&(je[d]=je[Wt[b]]=v),a=b;break}}else{if(Wt.length==189)break;Wt[a++]=d,Wt[a++]=f,Wt[a++]=l}else if((m=je[d])==2||m==1){let b=m==i;l=b?0:1;for(let y=a-3;y>=0;y-=3){let v=Wt[y+2];if(v&2)break;if(b)Wt[y+2]|=2;else{if(v&4)break;Wt[y+2]|=4}}}}}function H2(n,e,t,r){for(let i=0,s=r;i<=t.length;i++){let o=i?t[i-1].to:n,a=i<t.length?t[i].from:e;for(let l=o;l<a;){let c=je[l];if(c==256){let h=l+1;for(;;)if(h==a){if(i==t.length)break;h=t[i++].to,a=i<t.length?t[i].from:e}else if(je[h]==256)h++;else break;let d=s==1,f=(h<e?je[h]:r)==1,p=d==f?d?1:2:r;for(let m=h,b=i,y=b?t[b-1].to:n;m>l;)m==y&&(m=t[--b].from,y=b?t[b-1].to:n),je[--m]=p;l=h}else s=c,l++}}}function Ec(n,e,t,r,i,s,o){let a=r%2?2:1;if(r%2==i%2)for(let l=e,c=0;l<t;){let h=!0,d=!1;if(c==s.length||l<s[c].from){let b=je[l];b!=a&&(h=!1,d=b==16)}let f=!h&&a==1?[]:null,p=h?r:r+1,m=l;e:for(;;)if(c<s.length&&m==s[c].from){if(d)break e;let b=s[c];if(!h)for(let y=b.to,v=c+1;;){if(y==t)break e;if(v<s.length&&s[v].from==y)y=s[v++].to;else{if(je[y]==a)break e;break}}if(c++,f)f.push(b);else{b.from>l&&o.push(new pn(l,b.from,p));let y=b.direction==sr!=!(p%2);Rc(n,y?r+1:r,i,b.inner,b.from,b.to,o),l=b.to}m=b.to}else{if(m==t||(h?je[m]!=a:je[m]==a))break;m++}f?Ec(n,l,m,r+1,i,f,o):l<m&&o.push(new pn(l,m,p)),l=m}else for(let l=t,c=s.length;l>e;){let h=!0,d=!1;if(!c||l>s[c-1].to){let b=je[l-1];b!=a&&(h=!1,d=b==16)}let f=!h&&a==1?[]:null,p=h?r:r+1,m=l;e:for(;;)if(c&&m==s[c-1].to){if(d)break e;let b=s[--c];if(!h)for(let y=b.from,v=c;;){if(y==e)break e;if(v&&s[v-1].to==y)y=s[--v].from;else{if(je[y-1]==a)break e;break}}if(f)f.push(b);else{b.to<l&&o.push(new pn(b.to,l,p));let y=b.direction==sr!=!(p%2);Rc(n,y?r+1:r,i,b.inner,b.from,b.to,o),l=b.from}m=b.from}else{if(m==e||(h?je[m-1]!=a:je[m-1]==a))break;m--}f?Ec(n,m,l,r+1,i,f,o):m<l&&o.push(new pn(m,l,p)),l=m}}function Rc(n,e,t,r,i,s,o){let a=e%2?2:1;V2(n,i,s,r,a),z2(n,i,s,r,a),H2(i,s,r,a),Ec(n,i,s,e,t,r,o)}function _2(n,e,t){if(!n)return[new pn(0,0,e==Ph?1:0)];if(e==sr&&!t.length&&!F2.test(n))return dg(n.length);if(t.length)for(;n.length>je.length;)je[je.length]=256;let r=[],i=e==sr?0:1;return Rc(n,i,i,t,0,n.length,r),r}function dg(n){return[new pn(0,n,0)]}let fg="";function W2(n,e,t,r,i){var s;let o=r.head-n.from,a=pn.find(e,o,(s=r.bidiLevel)!==null&&s!==void 0?s:-1,r.assoc),l=e[a],c=l.side(i,t);if(o==c){let f=a+=i?1:-1;if(f<0||f>=e.length)return null;l=e[a=f],o=l.side(!i,t),c=l.side(i,t)}let h=ze(n.text,o,l.forward(i,t));(h<l.from||h>l.to)&&(h=c),fg=n.text.slice(Math.min(o,h),Math.max(o,h));let d=a==(i?e.length-1:0)?null:e[a+(i?1:-1)];return d&&h==c&&d.level+(i?0:1)<l.level?E.cursor(d.side(!i,t)+n.from,d.forward(i,t)?1:-1,d.level):E.cursor(h+n.from,l.forward(i,t)?-1:1,l.level)}function U2(n,e,t){for(let r=e;r<t;r++){let i=hg(n.charCodeAt(r));if(i==1)return sr;if(i==2||i==4)return Ph}return sr}const pg=K.define(),mg=K.define(),gg=K.define(),bg=K.define(),Lc=K.define(),yg=K.define(),xg=K.define(),Ah=K.define(),Mh=K.define(),vg=K.define({combine:n=>n.some(e=>e)}),wg=K.define({combine:n=>n.some(e=>e)}),kg=K.define();class Mr{constructor(e,t="nearest",r="nearest",i=5,s=5,o=!1){this.range=e,this.y=t,this.x=r,this.yMargin=i,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new Mr(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 Mr(E.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const bo=ae.define({map:(n,e)=>n.map(e)}),Sg=ae.define();function ht(n,e,t){let r=n.facet(bg);r.length?r[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const dn=K.define({combine:n=>n.length?n[0]:!0});let K2=0;const xr=K.define({combine(n){return n.filter((e,t)=>{for(let r=0;r<t;r++)if(n[r].plugin==e.plugin)return!1;return!0})}});class $e{constructor(e,t,r,i,s){this.id=e,this.create=t,this.domEventHandlers=r,this.domEventObservers=i,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(xr.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(xr.of({plugin:this,arg:e}))}static define(e,t){const{eventHandlers:r,eventObservers:i,provide:s,decorations:o}=t||{};return new $e(K2++,e,r,i,a=>{let l=[];return o&&l.push(Hi.of(c=>{let h=c.plugin(a);return h?o(h):ne.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return $e.define((r,i)=>new e(r,i),t)}}class dl{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(r){if(ht(t.state,r,"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){ht(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(r){ht(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Cg=K.define(),Nh=K.define(),Hi=K.define(),jg=K.define(),Og=K.define(),Vs=K.define(),Pg=K.define();function Cd(n,e){let t=n.state.facet(Pg);if(!t.length)return t;let r=t.map(s=>s instanceof Function?s(n):s),i=[];return fe.spans(r,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,d=i;for(let f=a.length-1;f>=0;f--,l--){let p=a[f].spec.bidiIsolate,m;if(p==null&&(p=U2(e.text,c,h)),l>0&&d.length&&(m=d[d.length-1]).to==c&&m.direction==p)m.to=h,d=m.inner;else{let b={from:c,to:h,direction:p,inner:[]};d.push(b),d=b.inner}}}}),i}const Ag=K.define();function Dh(n){let e=0,t=0,r=0,i=0;for(let s of n.state.facet(Ag)){let o=s(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(i=Math.max(i,o.bottom)))}return{left:e,right:t,top:r,bottom:i}}const mi=K.define();class jt{constructor(e,t,r,i){this.fromA=e,this.toA=t,this.fromB=r,this.toB=i}join(e){return new jt(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,r=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>r.toA)){if(i.toA<r.fromA)break;r=r.join(i),e.splice(t-1,1)}}return e.splice(t,0,r),e}static extendWithRanges(e,t){if(t.length==0)return e;let r=[];for(let i=0,s=0,o=0;;){let a=i<e.length?e[i].fromB:1e9,l=s<t.length?t[s]:1e9,c=Math.min(a,l);if(c==1e9)break;let h=c+o,d=c,f=h;for(;;)if(s<t.length&&t[s]<=d){let p=t[s+1];s+=2,d=Math.max(d,p);for(let m=i;m<e.length&&e[m].fromB<=d;m++)o=e[m].toA-e[m].toB;f=Math.max(f,p+o)}else if(i<e.length&&e[i].fromB<=d){let p=e[i++];d=Math.max(d,p.toB),f=Math.max(f,p.toA),o=p.toA-p.toB}else break;r.push(new jt(h,f,c,d))}return r}}class sa{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Ve.empty(this.startState.doc.length);for(let s of r)this.changes=this.changes.compose(s.changes);let i=[];this.changes.iterChangedRanges((s,o,a,l)=>i.push(new jt(s,o,a,l))),this.changedRanges=i}static create(e,t,r){return new sa(e,t,r)}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 G2=[];class Fe{constructor(e,t,r=0){this.dom=e,this.length=t,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return G2}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&&A2(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 r=t;for(let i of this.children){if(i==e)return r;r+=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){return null}domPosFor(e,t){let r=Bn(this.dom),i=this.length?e>0:t>0;return new It(this.parent.dom,r+(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 Ea)return e;return null}static get(e){return e.cmTile}}class Ta extends Fe{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,r=null,i,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,i=r?r.nextSibling:t.firstChild,s&&i!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;i&&i!=a.dom;)i=jd(i);else t.insertBefore(a.dom,i);r=a.dom}for(i=r?r.nextSibling:t.firstChild,s&&i&&(s.written=!0);i;)i=jd(i);this.length=o}}function jd(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class Ea extends Ta{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=Fe.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],r=this,i=0,s=0;;)if(i==r.children.length){if(!t.length)return;r=r.parent,r.breakAfter&&s++,i=t.pop()}else{let o=r.children[i++];if(o instanceof Dn)t.push(i),r=o,i=0;else{let a=s+o.length,l=e(o,s);if(l!==void 0)return l;s=a+o.breakAfter}}}resolveBlock(e,t){let r,i=-1,s,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&&(r=void 0)}(l<e||e==c&&(t<-1?a.length:a.covers(1)))&&(!r||!a.isWidget()&&r.isWidget())&&(r=a,i=e-l),(c>e||e==l&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-l)}}),!r&&!s)throw new Error("No tile at position "+e);return r&&t<0||!s?{tile:r,offset:i}:{tile:s,offset:o}}}class Dn extends Ta{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 r=new Dn(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class Er extends Ta{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,r){let i=new Er(t||document.createElement("div"),e);return(!t||!r)&&(i.flags|=4),i}get domAttrs(){return this.attrs}resolveInline(e,t,r){let i=null,s=-1,o=null,a=-1;function l(h,d){for(let f=0,p=0;f<h.children.length&&p<=d;f++){let m=h.children[f],b=p+m.length;b>=d&&(m.isComposite()?l(m,d-p):(!o||o.isHidden&&(t>0||r&&Y2(o,m)))&&(b>d||m.flags&32)?(o=m,a=d-p):(p<d||m.flags&16&&!m.isHidden)&&(i=m,s=d-p)),p=b}}l(this,e);let c=(t<0?i:o)||i||o;return c?{tile:c,offset:c==i?s:a}:null}coordsIn(e,t){let r=this.resolveInline(e,t,!0);return r?r.tile.coordsIn(Math.max(0,r.offset),t):q2(this)}domIn(e,t){let r=this.resolveInline(e,t);if(r){let{tile:i,offset:s}=r;if(this.dom.contains(i.dom))return i.isText()?new It(i.dom,Math.min(i.dom.nodeValue.length,s)):i.domPosFor(s,i.flags&16?1:i.flags&32?-1:t);let o=r.tile.parent,a=!1;for(let l of o.children){if(a)return new It(l.dom,0);l==r.tile&&(a=!0)}}return new It(this.dom,0)}}function q2(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=Si(e);return t[t.length-1]||null}function Y2(n,e){let t=n.coordsIn(0,1),r=e.coordsIn(0,1);return t&&r&&r.top<t.bottom}class ct extends Ta{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let r=new ct(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class er extends Fe{constructor(e,t){super(e,t.length),this.text=t}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,t){let r=this.dom.nodeValue.length;e>r&&(e=r);let i=e,s=e,o=0;e==0&&t<0||e==r&&t>=0?U.chrome||U.gecko||(e?(i--,o=1):s<r&&(s++,o=-1)):t<0?i--:s<r&&s++;let a=zi(this.dom,i,s).getClientRects();if(!a.length)return null;let l=a[(o?o<0:t>=0)?0:a.length-1];return U.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(a,c=>c.width)||l),o?Vi(l,o<0):l||null}static of(e,t){let r=new er(t||document.createTextNode(e),e);return t||(r.flags|=2),r}}class Rr extends Fe{constructor(e,t,r,i){super(e,t,i),this.widget=r}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,r){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;if(r)return Vi(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=a?s.length-1:0;o=s[l],!(e>0?l==0:l==s.length-1||o.top<o.bottom);l+=a?-1:1);return Vi(o,!a)}}get overrideDOMText(){if(!this.length)return xe.empty;let{root:e}=this;if(!e)return xe.empty;let t=this.posAtStart;return e.view.state.doc.slice(t,t+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,t,r,i,s){return s||(s=e.toDOM(t),e.editable||(s.contentEditable="false")),new Rr(s,r,e,i)}}class oa extends Fe{constructor(e){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),super(t,0,e)}get isHidden(){return!1}get overrideDOMText(){return xe.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class Q2{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,r){let{tile:i,index:s,beforeBreak:o,parents:a}=this;for(;e||t>0;)if(i.isComposite())if(o){if(!e)break;r&&r.break(),e--,o=!1}else if(s==i.children.length){if(!e&&!a.length)break;r&&r.leave(i),o=!!i.breakAfter,{tile:i,index:s}=a.pop(),s++}else{let l=i.children[s],c=l.breakAfter;(t>0?l.length<=e:l.length<e)&&(!r||r.skip(l,0,l.length)!==!1||!l.isComposite)?(o=!!c,s++,e-=l.length):(a.push({tile:i,index:s}),i=l,s=0,r&&l.isComposite()&&r.enter(l))}else if(s==i.length)o=!!i.breakAfter,{tile:i,index:s}=a.pop(),s++;else if(e){let l=Math.min(e,i.length-s);r&&r.skip(i,s,s+l),e-=l,s+=l}else break;return this.tile=i,this.index=s,this.beforeBreak=o,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}}class J2{constructor(e,t,r,i){this.from=e,this.to=t,this.wrapper=r,this.rank=i}}class X2{constructor(e,t,r){this.cache=e,this.root=t,this.blockWrappers=r,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,t,r,i){var s;this.flushBuffer();let o=this.ensureMarks(t,r),a=o.lastChild;if(a&&a.isText()&&!(a.flags&8)){this.cache.reused.set(a,2);let l=o.children[o.children.length-1]=new er(a.dom,a.text+e);l.parent=o}else o.append(i||er.of(e,(s=this.cache.find(er))===null||s===void 0?void 0:s.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,t){let r=this.curLine;r.dom!=t.line.dom&&(r.setDOM(this.cache.reused.has(t.line)?fl(t.line.dom):t.line.dom),this.cache.reused.set(t.line,2));let i=r;for(let a=t.marks.length-1;a>=0;a--){let l=t.marks[a],c=i.lastChild;if(c instanceof ct&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(fl(l.dom)),i=c;else{if(this.cache.reused.get(l)){let d=Fe.get(l.dom);d&&d.setDOM(fl(l.dom))}let h=ct.of(l.mark,l.dom);i.append(h),i=h}this.cache.reused.set(l,2)}let s=Fe.get(e.text);s&&this.cache.reused.set(s,2);let o=new er(e.text,e.text.nodeValue);o.flags|=8,i.append(o)}addInlineWidget(e,t,r){let i=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);i||this.flushBuffer();let s=this.ensureMarks(t,r);!i&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,r){this.flushBuffer(),this.ensureMarks(t,r).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 r;e||(e=Mg);let i=Er.start(e,t||((r=this.cache.find(Er))===null||r===void 0?void 0:r.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 r;let i=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=i.lastChild)&&a instanceof ct&&a.mark.eq(o))i=a,t--;else{let l=ct.of(o,(r=this.cache.find(ct,c=>c.mark.eq(o)))===null||r===void 0?void 0:r.dom);i.append(l),i=l,t=0}}return i}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Od(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(U.ios&&Od(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(pl,0,32)||new Rr(pl.toDOM(),0,pl,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&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let t=new J2(e.from,e.to,e.value,e.rank),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-t.rank||this.wrappers[r-1].to-t.to)<0;)r--;this.wrappers.splice(r,0,t)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let r of this.wrappers){let i=t.lastChild;if(r.from<this.pos&&i instanceof Dn&&i.wrapper.eq(r.wrapper))t=i;else{let s=Dn.of(r.wrapper,(e=this.cache.find(Dn,o=>o.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}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),r=this.cache.find(oa,void 0,1);return r&&(r.flags=t),r||new oa(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class Z2{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:s,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 s?null:i.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,t);return this.textOff=t,r}}const aa=[Rr,Er,er,ct,oa,Dn,Ea];for(let n=0;n<aa.length;n++)aa[n].bucket=n;class ew{constructor(e){this.view=e,this.buckets=aa.map(()=>[]),this.index=aa.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,r=this.buckets[t];r.length<6?r.push(e):r[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,r=2){let i=e.bucket,s=this.buckets[i],o=this.index[i];for(let a=s.length-1;a>=0;a--){let l=(a+o)%s.length,c=s[l];if((!t||t(c))&&!this.reused.has(c))return s.splice(l,1),l<o&&this.index[i]--,this.reused.set(c,r),c}return null}findWidget(e,t,r){let i=this.buckets[0];if(i.length)for(let s=0,o=0;;s++){if(s==i.length){if(o)return null;o=1,s=0}let a=i[s];if(!this.reused.has(a)&&(o==0?a.widget.compare(e):a.widget.constructor==e.constructor&&e.updateDOM(a.dom,this.view)))return i.splice(s,1),s<this.index[0]&&this.index[0]--,this.reused.set(a,1),a.length=t,a.flags=a.flags&-498|r,a}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,t=2){if(!this.reused.has(e))return this.reused.set(e,t),e.dom}}class tw{constructor(e,t,r,i,s){this.view=e,this.decorations=i,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new ew(e),this.text=new Z2(e.state.doc),this.builder=new X2(this.cache,new Ea(e,e.contentDOM),fe.iter(r)),this.cache.reused.set(t,2),this.old=new Q2(t),this.reuseWalker={skip:(o,a,l)=>{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let r=t&&this.getCompositionContext(t.text);for(let i=0,s=0,o=0;;){let a=o<e.length?e[o++]:null,l=a?a.fromA:this.old.root.length;if(l>i){let c=l-i;this.preserve(c,!o,!a),i=l,s+=c}if(!a)break;this.forward(a.fromA,a.toA),t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.emit(s,t.range.fromB),this.builder.addComposition(t,r),this.text.skip(t.range.toB-t.range.fromB),this.emit(t.range.toB,a.toB)):this.emit(s,a.toB),s=a.toB,i=a.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,r){let i=iw(this.old),s=this.openMarks;this.old.advance(e,r?1:-1,{skip:(o,a,l)=>{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(l-a);else{let c=l>0||a<o.length?Rr.of(o.widget,this.view,l-a,o.flags&496,this.cache.maybeReuse(o)):this.cache.reuse(o);c.flags&256?(c.flags&=-2,this.builder.addBlockWidget(c)):(this.builder.ensureLine(null),this.builder.addInlineWidget(c,i,s),s=i.length)}else if(o.isText())this.builder.ensureLine(null),!a&&l==o.length?this.builder.addText(o.text,i,s,this.cache.reuse(o)):(this.cache.add(o),this.builder.addText(o.text.slice(a,l),i,s)),s=i.length;else if(o.isLine())o.flags&=-2,this.cache.reused.set(o,1),this.builder.addLine(o);else if(o instanceof oa)this.cache.add(o);else if(o instanceof ct)this.builder.ensureLine(null),this.builder.addMark(o,i,s),this.cache.reused.set(o,1),s=i.length;else return!1;this.openWidget=!1},enter:o=>{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof ct&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=s=0):o instanceof ct&&(i.shift(),s=Math.min(s,i.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let r=null,i=this.builder,s=0,o=fe.spans(this.decorations,e,t,{point:(a,l,c,h,d,f)=>{if(c instanceof ir){if(this.disallowBlockEffectsFor[f]){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(s=h.length,d>h.length)i.continueWidget(l-a);else{let p=c.widget||(c.block?Lr.block:Lr.inline),m=nw(c),b=this.cache.findWidget(p,l-a,m)||Rr.of(p,this.view,l-a,m);c.block?(c.startSide>0&&i.addLineStartIfNotCovered(r),i.addBlockWidget(b)):(i.ensureLine(r),i.addInlineWidget(b,h,d))}r=null}else r=rw(r,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let d=a;d<l;){let f=this.text.next(Math.min(512,l-d));f==null?(i.addLineStartIfNotCovered(r),i.addBreak(),d++):(i.ensureLine(r),i.addText(f,c,h),d+=f.length),r=null}}});i.addLineStartIfNotCovered(r),this.openWidget=o>s,this.openMarks=o}forward(e,t){t-e<=10?this.old.advance(t-e,1,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,1,this.reuseWalker))}getCompositionContext(e){let t=[],r=null;for(let i=e.parentNode;;i=i.parentNode){let s=Fe.get(i);if(i==this.view.contentDOM)break;s instanceof ct?t.push(s):s?.isLine()?r=s:i.nodeName=="DIV"&&!r&&i!=this.view.contentDOM?r=new Er(i,Mg):t.push(ct.of(new $s({tagName:i.nodeName.toLowerCase(),attributes:M2(i)}),i))}return{line:r,marks:t}}}function Od(n,e){let t=r=>{for(let i of r.children)if((e?i.isText():i.length)||t(i))return!0;return!1};return t(n)}function nw(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 Mg={class:"cm-line"};function rw(n,e){let t=e.spec.attributes,r=e.spec.class;return!t&&!r||(n||(n={class:"cm-line"}),t&&jh(t,n),r&&(n.class+=" "+r)),n}function iw(n){let e=[];for(let t=n.parents.length;t>1;t--){let r=t==n.parents.length?n.tile:n.parents[t].tile;r instanceof ct&&e.push(r.mark)}return e}function fl(n){let e=Fe.get(n);return e&&e.setDOM(n.cloneNode()),n}class Lr extends on{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}}Lr.inline=new Lr("span");Lr.block=new Lr("div");const pl=new class extends on{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class Pd{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=ne.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 Ea(e,e.contentDOM),this.updateInner([new jt(0,0,0,e.state.doc.length)],null)}update(e){var t;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:h,toA:d})=>d<this.minWidthFrom||h>this.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:!fw(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let s=i>-1?ow(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:d}=this.hasComposition;r=new jt(h,d,e.changes.mapPos(h,-1),e.changes.mapPos(d,1)).addToSet(r.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(U.ie||U.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let l=cw(o,this.decorations,e.changes);l.length&&(r=jt.extendWithRanges(r,l));let c=uw(a,this.blockWrappers,e.changes);return c.length&&(r=jt.extendWithRanges(r,c)),s&&!r.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(r=s.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(t||e.length){let o=this.tile,a=new tw(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=a.run(e,t),Ic(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 s=U.chrome||U.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||r.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.tile.children)s.isWidget()&&s.widget instanceof ml&&i.push(s.dom);r.updateGaps(i)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let r of t.effects)r.is(Sg)&&(this.editContextFormatting=r.value)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:r}=this.tile,i=this.view.root.activeElement,s=i==r,o=!s&&!(this.view.state.facet(dn)||r.tabIndex>-1)&&Wo(r,this.view.observer.selectionRange)&&!(i&&r.contains(i));if(!(s||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)),U.gecko&&l.empty&&!this.hasComposition&&sw(c)){let f=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(f,c.node.childNodes[c.offset]||null)),c=h=new It(f,0),a=!0}let d=this.view.observer.selectionRange;(a||!d.focusNode||(!Ci(c.node,c.offset,d.anchorNode,d.anchorOffset)||!Ci(h.node,h.offset,d.focusNode,d.focusOffset))&&!this.suppressWidgetCursorChange(d,l))&&(this.view.observer.ignore(()=>{U.android&&U.chrome&&r.contains(d.focusNode)&&dw(d.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let f=Fi(this.view.root);if(f)if(l.empty){if(U.gecko){let p=aw(c.node,c.offset);if(p&&p!=3){let m=(p==1?ag:lg)(c.node,c.offset);m&&(c=new It(m.node,m.offset))}}f.collapse(c.node,c.offset),l.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(c.node,c.offset);try{f.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),f.removeAllRanges(),f.addRange(p)}o&&this.view.root.activeElement==r&&(r.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new It(d.anchorNode,d.anchorOffset),this.impreciseHead=h.precise?null:new It(d.focusNode,d.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Ci(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,r=Fi(e.root),{anchorNode:i,anchorOffset:s}=e.observer.selectionRange;if(!r||!t.empty||!t.assoc||!r.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);r.collapse(h.node,h.offset),r.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let d=e.observer.selectionRange;e.docView.posFromDOM(d.anchorNode,d.anchorOffset)!=t.from&&r.collapse(i,s)}posFromDOM(e,t){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let i=r.posAtStart;if(r.isComposite()){let s;if(e==r.dom)s=r.dom.childNodes[t];else{let o=gn(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==r.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==r.dom.firstChild)return i;for(;s&&!Fe.get(s);)s=s.nextSibling;if(!s)return i+r.length;for(let o=0,a=i;;o++){let l=r.children[o];if(l.dom==s)return a;a+=l.length+l.breakAfter}}else return r.isText()?e==r.dom?i+t:i+(t?r.length:0):i}domAtPos(e,t){let{tile:r,offset:i}=this.tile.resolveBlock(e,t);return r.isWidget()?r.domPosFor(e,t):r.domIn(i,t)}inlineDOMNearPos(e,t){let r,i=-1,s=!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&&(s=!0)}else{let d=h+c.length;if(h<=e&&(r=c,i=e-h,s=d<e),d>=e&&!o&&(o=c,a=e-h,l=h>e),h>e&&o)return!0}}),!r&&!o?this.domAtPos(e,t):(s&&o?r=null:l&&r&&(o=null),r&&t<0||!o?r.domIn(i,t):o.domIn(a,t))}coordsAt(e,t){let{tile:r,offset:i}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof ml?null:r.coordsInWidget(i,t,!0):r.coordsIn(i,t)}lineAt(e,t){let{tile:r}=this.tile.resolveBlock(e,t);return r.isLine()?r:null}coordsForChar(e){let{tile:t,offset:r}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function i(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let l=i(a,o);if(l)return l}if(o-=a.length,o<0)break}else if(s.isText()&&o<s.length){let a=ze(s.text,o);if(a==o)return null;let l=zi(s.dom,o,a).getClientRects();for(let c=0;c<l.length;c++){let h=l[c];if(c==l.length-1||h.top<h.bottom&&h.left<h.right)return h}}return null}return i(t,r)}measureVisibleLineHeights(e){let t=[],{from:r,to:i}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,l=this.view.textDirection==Oe.LTR,c=0,h=(d,f,p)=>{for(let m=0;m<d.children.length&&!(f>i);m++){let b=d.children[m],y=f+b.length,v=b.dom.getBoundingClientRect(),{height:k}=v;if(p&&!m&&(c+=v.top-p.top),b instanceof Dn)y>r&&h(b,f,v);else if(f>=r&&(c>0&&t.push(-c),t.push(k+c),c=0,o)){let S=b.dom.lastChild,O=S?Si(S):[];if(O.length){let C=O[O.length-1],P=l?C.right-v.left:v.right-C.left;P>a&&(a=P,this.minWidth=s,this.minWidthFrom=f,this.minWidthTo=y)}}p&&m==d.children.length-1&&(c+=p.bottom-v.bottom),f=y+b.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?Oe.RTL:Oe.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=Si(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"),r,i,s;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=Si(t.firstChild)[0];r=t.getBoundingClientRect().height,i=o&&o.width?o.width/27:7,s=o&&o.height?o.height:r,t.remove()}),{lineHeight:r,charWidth:i,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,i=0;;i++){let s=i==t.viewports.length?null:t.viewports[i],o=s?s.from-1:this.view.state.doc.length;if(o>r){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(ne.replace({widget:new ml(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return ne.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Hi).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,i=this.view.state.facet(Og).map((s,o)=>{let a=typeof s=="function";return a&&(r=!0),a?s(this.view):s});for(i.length&&(this.dynamicDecorationMap[e++]=r,t.push(fe.join(i))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(jg).map(s=>typeof s=="function"?s(this.view):s)}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(kg))try{if(c(this.view,e.range,e))return!0}catch(h){ht(this.view.state,h,"scroll handler")}let{range:t}=e,r=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),i;if(!r)return;!t.empty&&(i=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(r={left:Math.min(r.left,i.left),top:Math.min(r.top,i.top),right:Math.max(r.right,i.right),bottom:Math.max(r.bottom,i.bottom)});let s=Dh(this.view),o={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:a,offsetHeight:l}=this.view.scrollDOM;T2(this.view.scrollDOM,o,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,a),-a),Math.max(Math.min(e.yMargin,l),-l),this.view.textDirection==Oe.LTR)}lineHasWidget(e){let t=r=>r.isWidget()||r.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){Ic(this.tile)}}function Ic(n,e){let t=e?.get(n);if(t!=1){t==null&&n.destroy();for(let r of n.children)Ic(r,e)}}function sw(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 Ng(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let r=ag(t.focusNode,t.focusOffset),i=lg(t.focusNode,t.focusOffset),s=r||i;if(i&&r&&i.node!=r.node){let a=Fe.get(i.node);if(!a||a.isText()&&a.text!=i.node.nodeValue)s=i;else if(n.docView.lastCompositionAfterCursor){let l=Fe.get(r.node);!l||l.isText()&&l.text!=r.node.nodeValue||(s=i)}}if(n.docView.lastCompositionAfterCursor=s!=r,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function ow(n,e,t){let r=Ng(n,t);if(!r)return null;let{node:i,from:s,to:o}=r,a=i.nodeValue;if(/[\n\r]/.test(a)||n.state.doc.sliceString(r.from,r.to)!=a)return null;let l=e.invertedDesc;return{range:new jt(l.mapPos(s),l.mapPos(o),s,o),text:i}}function aw(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e<n.childNodes.length&&n.childNodes[e].contentEditable=="false"?2:0)}let lw=class{constructor(){this.changes=[]}compareRange(e,t){Pr(e,t,this.changes)}comparePoint(e,t){Pr(e,t,this.changes)}boundChange(e){Pr(e,e,this.changes)}};function cw(n,e,t){let r=new lw;return fe.compare(n,e,t,r),r.changes}class hw{constructor(){this.changes=[]}compareRange(e,t){Pr(e,t,this.changes)}comparePoint(){}boundChange(e){Pr(e,e,this.changes)}}function uw(n,e,t){let r=new hw;return fe.compare(n,e,t,r),r.changes}function dw(n,e){for(let t=n;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function fw(n,e){let t=!1;return e&&n.iterChangedRanges((r,i)=>{r<e.to&&i>e.from&&(t=!0)}),t}class ml extends on{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 pw(n,e,t=1){let r=n.charCategorizer(e),i=n.doc.lineAt(e),s=e-i.from;if(i.length==0)return E.cursor(e);s==0?t=1:s==i.length&&(t=-1);let o=s,a=s;t<0?o=ze(i.text,s,!1):a=ze(i.text,s);let l=r(i.text.slice(o,a));for(;o>0;){let c=ze(i.text,o,!1);if(r(i.text.slice(c,o))!=l)break;o=c}for(;a<i.length;){let c=ze(i.text,a);if(r(i.text.slice(a,c))!=l)break;a=c}return E.range(o+i.from,a+i.from)}function mw(n,e,t,r,i){let s=Math.round((r-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let a=n.viewState.heightOracle.textHeight,l=Math.floor((i-t.top-(n.defaultLineHeight-a)*.5)/a);s+=l*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+Cc(o,s,n.state.tabSize)}function Bc(n,e,t){let r=n.lineBlockAt(e);if(Array.isArray(r.type)){let i;for(let s of r.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!i||s.type==Ye.Text&&(i.type!=s.type||(t<0?s.from<e:s.to>e)))&&(i=s)}}return i||r}return r}function gw(n,e,t,r){let i=Bc(n,e.head,e.assoc||-1),s=!r||i.type!=Ye.Text||!(n.lineWrapping||i.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(s){let o=n.dom.getBoundingClientRect(),a=n.textDirectionAt(i.from),l=n.posAtCoords({x:t==(a==Oe.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return E.cursor(l,t?-1:1)}return E.cursor(t?i.to:i.from,t?-1:1)}function Ad(n,e,t,r){let i=n.state.doc.lineAt(e.head),s=n.bidiSpans(i),o=n.textDirectionAt(i.from);for(let a=e,l=null;;){let c=W2(i,s,o,a,t),h=fg;if(!c){if(i.number==(t?n.state.doc.lines:1))return a;h=`
59
+ `,i=n.state.doc.line(i.number+(t?1:-1)),s=n.bidiSpans(i),c=n.visualLineSide(i,!t)}if(l){if(!l(h))return a}else{if(!r)return c;l=r(h)}a=c}}function bw(n,e,t){let r=n.state.charCategorizer(e),i=r(t);return s=>{let o=r(s);return i==Ne.Space&&(i=o),i==o}}function yw(n,e,t,r){let i=e.head,s=t?1:-1;if(i==(t?n.state.doc.length:0))return E.cursor(i,e.assoc);let o=e.goalColumn,a,l=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(i,e.assoc||-1),h=n.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=n.viewState.lineBlockAt(i);o==null&&(o=Math.min(l.right-l.left,n.defaultCharacterWidth*(i-p.from))),a=(s<0?p.top:p.bottom)+h}let d=l.left+o,f=r??n.viewState.heightOracle.textHeight>>1;for(let p=0;;p+=10){let m=a+(f+p)*s,b=$c(n,{x:d,y:m},!1,s);return E.cursor(b.pos,b.assoc,void 0,o)}}function ji(n,e,t){for(;;){let r=0;for(let i of n)i.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=r||t||(e-s<o-e?-1:1);e=l<0?s:o,r=l}});if(!r)return e}}function Dg(n,e){let t=null;for(let r=0;r<e.ranges.length;r++){let i=e.ranges[r],s=null;if(i.empty){let o=ji(n,i.from,0);o!=i.from&&(s=E.cursor(o,-1))}else{let o=ji(n,i.from,-1),a=ji(n,i.to,1);(o!=i.from||a!=i.to)&&(s=E.range(i.from==i.anchor?o:a,i.from==i.head?o:a))}s&&(t||(t=e.ranges.slice()),t[r]=s)}return t?E.create(t,e.mainIndex):e}function gl(n,e,t){let r=ji(n.state.facet(Vs).map(i=>i(n)),t.from,e.head>t.from?-1:1);return r==t.from?t:E.cursor(r,r<t.from?1:-1)}class Yt{constructor(e,t){this.pos=e,this.assoc=t}}function $c(n,e,t,r){let i=n.contentDOM.getBoundingClientRect(),s=i.top+n.viewState.paddingTop,{x:o,y:a}=e,l=a-s,c;for(;;){if(l<0)return new Yt(0,1);if(l>n.viewState.docHeight)return new Yt(n.state.doc.length,-1);if(c=n.elementAtHeight(l),r==null)break;if(c.type==Ye.Text){let f=n.docView.coordsAt(r<0?c.from:c.to,r);if(f&&(r<0?f.top<=l+s:f.bottom>=l+s))break}let d=n.viewState.heightOracle.textHeight/2;l=r>0?c.bottom+d:c.top-d}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Ye.Text){let d=mw(n,i,c,o,a);return new Yt(d,d==c.from?1:-1)}}if(c.type!=Ye.Text)return l<(c.top+c.bottom)/2?new Yt(c.from,1):new Yt(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),Tg(n,h,c.from,o,a)}function Tg(n,e,t,r,i){let s=-1,o=null,a=1e9,l=1e9,c=i,h=i,d=(f,p)=>{for(let m=0;m<f.length;m++){let b=f[m];if(b.top==b.bottom)continue;let y=b.left>r?b.left-r:b.right<r?r-b.right:0,v=b.top>i?b.top-i:b.bottom<i?i-b.bottom:0;b.top<=h&&b.bottom>=c&&(c=Math.min(b.top,c),h=Math.max(b.bottom,h),v=0),(s<0||(v-l||y-a)<0)&&(s>=0&&l&&a<y&&o.top<=h-2&&o.bottom>=c+2?l=0:(s=p,a=y,l=v,o=b))}};if(e.isText()){for(let p=0;p<e.length;){let m=ze(e.text,p);if(d(zi(e.dom,p,m).getClientRects(),p),!a&&!l)break;p=m}return r>(o.left+o.right)/2==(Md(n,s+t)==Oe.LTR)?new Yt(t+ze(e.text,s),-1):new Yt(t+s,1)}else{if(!e.length)return new Yt(t,1);for(let b=0;b<e.children.length;b++){let y=e.children[b];if(y.flags&48)continue;let v=(y.dom.nodeType==1?y.dom:zi(y.dom,0,y.length)).getClientRects();if(d(v,b),!a&&!l)break}let f=e.children[s],p=e.posBefore(f,t);return f.isComposite()||f.isText()?Tg(n,f,p,Math.max(o.left,Math.min(o.right,r)),i):r>(o.left+o.right)/2==(Md(n,s+t)==Oe.LTR)?new Yt(p+f.length,-1):new Yt(p,1)}}function Md(n,e){let t=n.state.doc.lineAt(e);return n.bidiSpans(t)[pn.find(n.bidiSpans(t),e-t.from,-1,1)].dir}const gi="￿";class xw{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(pe.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=gi}readRange(e,t){if(!e)return this;let r=e.parentNode;for(let i=e;;){this.findPointBefore(r,i);let s=this.text.length;this.readNode(i);let o=Fe.get(i),a=i.nextSibling;if(a==t){o?.breakAfter&&!a&&r!=this.view.contentDOM&&this.lineBreak();break}let l=Fe.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:ia(i))||ia(a)&&(i.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!ww(a,t)&&this.lineBreak(),i=a}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,r),o=this.lineSeparator.length):(a=i.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(r,s<0?t.length:s)),s<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);r=s+o}}readNode(e){let t=Fe.get(e),r=t&&t.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let i=r.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 r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(vw(e,r.node,r.offset)?t:0))}}function vw(n,e,t){for(;;){if(!e||t<gn(e))return!1;if(e==n)return!0;t=Bn(e)+1,e=e.parentNode}}function ww(n,e){let t;for(;!(n==e||!n);n=n.nextSibling){let r=Fe.get(n);if(!r?.isWidget())return!1;r&&(t||(t=[])).push(r)}if(t)for(let r of t){let i=r.overrideDOMText;if(i?.length)return!1}return!0}class Nd{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class kw{constructor(e,t,r,i){this.typeOver=i,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=Eg(e.docView.tile,t,r,0))){let a=s||o?[]:Cw(e),l=new xw(a,e);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=jw(a,this.bounds.from)}else{let a=e.observer.selectionRange,l=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!Dc(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),c=o&&o.node==a.anchorNode&&o.offset==a.anchorOffset||!Dc(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),h=e.viewport;if((U.ios||U.chrome)&&e.state.selection.main.empty&&l!=c&&(h.from>0||h.to<e.state.doc.length)){let d=Math.min(l,c),f=Math.max(l,c),p=h.from-d,m=h.to-f;(p==0||p==1||d==0)&&(m==0||m==-1||f==e.state.doc.length)&&(l=0,c=e.state.doc.length)}e.inputState.composing>-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(E.range(c,l)):this.newSel=E.single(c,l)}}}function Eg(n,e,t,r){if(n.isComposite()){let i=-1,s=-1,o=-1,a=-1;for(let l=0,c=r,h=r;l<n.children.length;l++){let d=n.children[l],f=c+d.length;if(c<e&&f>t)return Eg(d,e,t,c);if(f>=e&&i==-1&&(i=l,s=c),c>t&&d.dom.parentNode==n.dom){o=l,a=h;break}h=f,c=f+d.breakAfter}return{from:s,to:a<0?r+n.length:a,startDOM:(i?n.children[i-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:o<n.children.length&&o>=0?n.children[o].dom:null}}else return n.isText()?{from:r,to:r+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function Rg(n,e){let t,{newSel:r}=e,i=n.state.selection.main,s=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:o,to:a}=e.bounds,l=i.from,c=null;(s===8||U.android&&e.text.length<a-o)&&(l=i.to,c="end");let h=Lg(n.state.doc.sliceString(o,a,gi),e.text,l-o,c);h&&(U.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==gi+gi&&h.toB--,t={from:o+h.from,to:o+h.toA,insert:xe.of(e.text.slice(h.from,h.toB).split(gi))})}else r&&(!n.hasFocus&&n.state.facet(dn)||r.main.eq(i))&&(r=null);if(!t&&!r)return!1;if(!t&&e.typeOver&&!i.empty&&r&&r.main.empty?t={from:i.from,to:i.to,insert:n.state.doc.slice(i.from,i.to)}:(U.mac||U.android)&&t&&t.from==t.to&&t.from==i.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(r&&t.insert.length==2&&(r=E.single(r.main.anchor-1,r.main.head-1)),t={from:t.from,to:t.to,insert:xe.of([t.insert.toString().replace("."," ")])}):t&&t.from>=i.from&&t.to<=i.to&&(t.from!=i.from||t.to!=i.to)&&i.to-i.from-(t.to-t.from)<=4?t={from:i.from,to:i.to,insert:n.state.doc.slice(i.from,t.from).append(t.insert).append(n.state.doc.slice(t.to,i.to))}:n.state.doc.lineAt(i.from).to<i.to&&n.docView.lineHasWidget(i.to)&&n.inputState.insertingTextAt>Date.now()-50?t={from:i.from,to:i.to,insert:n.state.toText(n.inputState.insertingText)}:U.chrome&&t&&t.from==t.to&&t.from==i.head&&t.insert.toString()==`
60
+ `&&n.lineWrapping&&(r&&(r=E.single(r.main.anchor-1,r.main.head-1)),t={from:i.from,to:i.to,insert:xe.of([" "])}),t)return Th(n,t,r,s);if(r&&!r.main.eq(i)){let o=!1,a="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(o=!0),a=n.inputState.lastSelectionOrigin,a=="select.pointer"&&(r=Dg(n.state.facet(Vs).map(l=>l(n)),r))),n.dispatch({selection:r,scrollIntoView:o,userEvent:a}),!0}else return!1}function Th(n,e,t,r=-1){if(U.ios&&n.inputState.flushIOSKey(e))return!0;let i=n.state.selection.main;if(U.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&&Ar(n.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>i.head)&&Ar(n.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&Ar(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=Sw(n,e,t));return n.state.facet(yg).some(l=>l(n,e.from,e.to,s,a))||n.dispatch(a()),!0}function Sw(n,e,t){let r,i=n.state,s=i.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let l=e.from<s.from?-1:1,c=l<0?s.from:s.to,h=ji(i.facet(Vs).map(d=>d(n)),c,l);e.from==h&&(o=h)}if(o>-1)r={changes:e,selection:E.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=s.from<e.from?i.sliceDoc(s.from,e.from):"",c=s.to>e.to?i.sliceDoc(e.to,s.to):"";r=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<=s.to+10&&e.to>=s.to-10){let h=n.state.sliceDoc(e.from,e.to),d,f=t&&Ng(n,t.main.head);if(f){let m=e.insert.length-(e.to-e.from);d={from:f.from,to:f.to-m}}else d=n.state.doc.lineAt(s.head);let p=s.to-e.to;r=i.changeByRange(m=>{if(m.from==s.from&&m.to==s.to)return{changes:l,range:c||m.map(l)};let b=m.to-p,y=b-h.length;if(n.state.sliceDoc(y,b)!=h||b>=d.from&&y<=d.to)return{range:m};let v=i.changes({from:y,to:b,insert:e.insert}),k=m.to-s.to;return{changes:v,range:c?E.range(Math.max(0,c.anchor+k),Math.max(0,c.head+k)):m.map(v)}})}else r={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(r,{userEvent:a,scrollIntoView:!0})}function Lg(n,e,t,r){let i=Math.min(n.length,e.length),s=0;for(;s<i&&n.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==i&&n.length==e.length)return null;let o=n.length,a=e.length;for(;o>0&&a>0&&n.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(r=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o<s&&n.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=t<=s&&t>=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function Cw(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}=n.observer.selectionRange;return t&&(e.push(new Nd(t,r)),(i!=t||s!=r)&&e.push(new Nd(i,s))),e}function jw(n,e){if(n.length==0)return null;let t=n[0].pos,r=n.length==2?n[1].pos:t;return t>-1&&r>-1?E.single(t+e,r+e):null}class Ow{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 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,U.safari&&e.contentDOM.addEventListener("input",()=>null),U.gecko&&zw(e.contentDOM.ownerDocument)}handleEvent(e){!Rw(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 r=this.handlers[e];if(r){for(let i of r.observers)i(this.view,t);for(let i of r.handlers){if(t.defaultPrevented)break;if(i(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=Pw(e),r=this.handlers,i=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=r[s];a&&o!=!a.handlers.length&&(i.removeEventListener(s,this.handleEvent),a=null),a||i.addEventListener(s,this.handleEvent,{passive:o})}for(let s in r)s!="scroll"&&!t[s]&&i.removeEventListener(s,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&&Bg.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),U.android&&U.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return U.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=Ig.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||Aw.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Ar(this.view.contentDOM,t.key,t.keyCode,t instanceof KeyboardEvent?t:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:U.safari&&!U.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 Dd(n,e){return(t,r)=>{try{return e.call(n,r,t)}catch(i){ht(t.state,i)}}}function Pw(n){let e=Object.create(null);function t(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of n){let i=r.spec,s=i&&i.plugin.domEventHandlers,o=i&&i.plugin.domEventObservers;if(s)for(let a in s){let l=s[a];l&&t(a).handlers.push(Dd(r.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Dd(r.value,l))}}for(let r in $t)t(r).handlers.push($t[r]);for(let r in Nt)t(r).observers.push(Nt[r]);return e}const Ig=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Aw="dthko",Bg=[16,17,18,20,91,92,224,225],yo=6;function xo(n){return Math.max(0,n)*.7+8}function Mw(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class Nw{constructor(e,t,r,i){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=E2(e.contentDOM),this.atoms=e.state.facet(Vs).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(pe.allowMultipleSelections)&&Dw(e,t),this.dragging=Ew(e,t)&&Vg(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&&Mw(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,r=0,i=0,s=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:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=Dh(this.view);e.clientX-l.left<=i+yo?t=-xo(i-e.clientX):e.clientX+l.right>=o-yo&&(t=xo(e.clientX-o)),e.clientY-l.top<=s+yo?r=-xo(s-e.clientY):e.clientY+l.bottom>=a-yo&&(r=xo(e.clientY-a)),this.setScrollSpeed(t,r)}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,r=Dg(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,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 Dw(n,e){let t=n.state.facet(pg);return t.length?t[0](e):U.mac?e.metaKey:e.ctrlKey}function Tw(n,e){let t=n.state.facet(mg);return t.length?t[0](e):U.mac?!e.altKey:!e.ctrlKey}function Ew(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let r=Fi(n.root);if(!r||r.rangeCount==0)return!0;let i=r.getRangeAt(0).getClientRects();for(let s=0;s<i.length;s++){let o=i[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function Rw(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,r;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(r=Fe.get(t))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const $t=Object.create(null),Nt=Object.create(null),$g=U.ie&&U.ie_version<15||U.ios&&U.webkit_version<604;function Lw(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(),Fg(n,t.value)},50)}function Ra(n,e,t){for(let r of n.facet(e))t=r(t,n);return t}function Fg(n,e){e=Ra(n.state,Ah,e);let{state:t}=n,r,i=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Fc!=null&&t.selection.ranges.every(l=>l.empty)&&Fc==s.toString()){let l=-1;r=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==l)return{range:c};l=h.from;let d=t.toText((o?s.line(i++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:d},range:E.cursor(c.from+d.length)}})}else o?r=t.changeByRange(l=>{let c=s.line(i++);return{changes:{from:l.from,to:l.to,insert:c.text},range:E.cursor(l.from+c.length)}}):r=t.replaceSelection(s);n.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Nt.scroll=n=>{n.inputState.lastScrollTop=n.scrollDOM.scrollTop,n.inputState.lastScrollLeft=n.scrollDOM.scrollLeft};$t.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Nt.touchstart=(n,e)=>{n.inputState.lastTouchTime=Date.now(),n.inputState.setSelectionOrigin("select.pointer")};Nt.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};$t.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let r of n.state.facet(gg))if(t=r(n,e),t)break;if(!t&&e.button==0&&(t=Bw(n,e)),t){let r=!n.hasFocus;n.inputState.startMouseSelection(new Nw(n,e,t,r)),r&&n.observer.ignore(()=>{sg(n.contentDOM);let s=n.root.activeElement;s&&!s.contains(n.contentDOM)&&s.blur()});let i=n.inputState.mouseSelection;if(i)return i.start(e),i.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function Td(n,e,t,r){if(r==1)return E.cursor(e,t);if(r==2)return pw(n.state,e,t);{let i=n.docView.lineAt(e,t),s=n.state.doc.lineAt(i?i.posAtEnd:e),o=i?i.posAtStart:s.from,a=i?i.posAtEnd:s.to;return a<n.state.doc.length&&a==s.to&&a++,E.range(o,a)}}const Iw=U.ie&&U.ie_version<=11;let Ed=null,Rd=0,Ld=0;function Vg(n){if(!Iw)return n.detail;let e=Ed,t=Ld;return Ed=n,Ld=Date.now(),Rd=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(Rd+1)%3:1}function Bw(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=Vg(e),i=n.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),i=i.map(s.changes))},get(s,o,a){let l=n.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Td(n,l.pos,l.assoc,r);if(t.pos!=l.pos&&!o){let d=Td(n,t.pos,t.assoc,r),f=Math.min(d.from,h.from),p=Math.max(d.to,h.to);h=f<h.from?E.range(f,p):E.range(p,f)}return o?i.replaceRange(i.main.extend(h.from,h.to)):a&&r==1&&i.ranges.length>1&&(c=$w(i,l.pos))?c:a?i.addRange(h):E.create([h])}}}function $w(n,e){for(let t=0;t<n.ranges.length;t++){let{from:r,to:i}=n.ranges[t];if(r<=e&&i>=e)return E.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}$t.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 s=i.posAtStart,o=s+i.length;(s>=t.to||o<=t.from)&&(t=E.range(s,o))}}let{inputState:r}=n;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Ra(n.state,Mh,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};$t.dragend=n=>(n.inputState.draggedContent=null,!1);function Id(n,e,t,r){if(t=Ra(n.state,Ah,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=n.inputState,o=r&&s&&Tw(n,e)?{from:s.from,to:s.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}$t.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let r=Array(t.length),i=0,s=()=>{++i==t.length&&Id(n,e,r.filter(o=>o!=null).join(n.state.lineBreak),!1)};for(let o=0;o<t.length;o++){let a=new FileReader;a.onerror=s,a.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(r[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return Id(n,e,r,!0),!0}return!1};$t.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=$g?null:e.clipboardData;return t?(Fg(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(Lw(n),!1)};function Fw(n,e){let t=n.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),n.focus()},50)}function Vw(n){let e=[],t=[],r=!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:s}of n.selection.ranges){let o=n.doc.lineAt(s);o.number>i&&(e.push(o.text),t.push({from:o.from,to:Math.min(n.doc.length,o.to+1)})),i=o.number}r=!0}return{text:Ra(n,Mh,e.join(n.lineBreak)),ranges:t,linewise:r}}let Fc=null;$t.copy=$t.cut=(n,e)=>{let{text:t,ranges:r,linewise:i}=Vw(n.state);if(!t&&!i)return!1;Fc=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=$g?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(Fw(n,t),!1)};const zg=rn.define();function Hg(n,e){let t=[];for(let r of n.facet(xg)){let i=r(n,e);i&&t.push(i)}return t.length?n.update({effects:t,annotations:zg.of(!0)}):null}function _g(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=Hg(n.state,e);t?n.dispatch(t):n.update([])}},10)}Nt.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),_g(n)};Nt.blur=n=>{n.observer.clearSelectionRange(),_g(n)};Nt.compositionstart=Nt.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};Nt.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,U.chrome&&U.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Nt.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};$t.beforeinput=(n,e)=>{var t,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],l=n.posAtDOM(a.startContainer,a.startOffset),c=n.posAtDOM(a.endContainer,a.endOffset);return Th(n,{from:l,to:c,insert:n.state.toText(s)},null),!0}}let i;if(U.chrome&&U.android&&(i=Ig.find(s=>s.inputType==e.inputType))&&(n.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let s=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return U.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),U.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Nt.compositionend(n,e),20),!1};const Bd=new Set;function zw(n){Bd.has(n)||(Bd.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const $d=["pre-wrap","normal","pre-line","break-spaces"];let Ir=!1;function Fd(){Ir=!1}class Hw{constructor(e){this.lineWrapping=e,this.doc=xe.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}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 $d.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r<e.length;r++){let i=e[r];i<0?r++:this.heightSamples[Math.floor(i*10)]||(t=!0,this.heightSamples[Math.floor(i*10)]=!0)}return t}refresh(e,t,r,i,s,o){let a=$d.indexOf(e)>-1,l=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=r,this.textHeight=i,this.lineLength=s,l){this.heightSamples={};for(let c=0;c<o.length;c++){let h=o[c];h<0?c++:this.heightSamples[Math.floor(h*10)]=!0}}return l}}class _w{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Lt{constructor(e,t,r,i,s){this.from=e,this.length=t,this.top=r,this.height=i,this._content=s}get type(){return typeof this._content=="number"?Ye.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof ir?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Lt(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var Pe=function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n}(Pe||(Pe={}));const Uo=.001;class ot{constructor(e,t,r=2){this.length=e,this.height=t,this.flags=r}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Uo&&(Ir=!0),this.height=e)}replace(e,t,r){return ot.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,i){let s=this,o=r.doc;for(let a=i.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:h,toB:d}=i[a],f=s.lineAt(l,Pe.ByPosNoHeight,r.setDoc(t),0,0),p=f.to>=c?f:s.lineAt(c,Pe.ByPosNoHeight,r,0,0);for(d+=p.to-c,c=p.to;a>0&&f.from<=i[a-1].toA;)l=i[a-1].fromA,h=i[a-1].fromB,a--,l<f.from&&(f=s.lineAt(l,Pe.ByPosNoHeight,r,0,0));h+=f.from-l,l=f.from;let m=Eh.build(r.setDoc(o),e,h,d);s=la(s,s.replace(l,c,m))}return s.updateHeight(r,0)}static empty(){return new gt(0,0,0)}static of(e){if(e.length==1)return e[0];let t=0,r=e.length,i=0,s=0;for(;;)if(t==r)if(i>s*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),r+=1+a.break,i-=a.size}else if(s>i*2){let a=e[r];a.break?e.splice(r,1,a.left,null,a.right):e.splice(r,1,a.left,a.right),r+=2+a.break,s-=a.size}else break;else if(i<s){let a=e[t++];a&&(i+=a.size)}else{let a=e[--r];a&&(s+=a.size)}let o=0;return e[t-1]==null?(o=1,t--):e[t]==null&&(o=1,r++),new Uw(ot.of(e.slice(0,t)),o,ot.of(e.slice(r)))}}function la(n,e){return n==e?n:(n.constructor!=e.constructor&&(Ir=!0),e)}ot.prototype.size=1;const Ww=ne.replace({});class Wg extends ot{constructor(e,t,r){super(e,t),this.deco=r,this.spaceAbove=0}mainBlock(e,t){return new Lt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,t,r,i){return this.spaceAbove&&e<r+this.spaceAbove?new Lt(i,0,r,this.spaceAbove,Ww):this.mainBlock(r,i)}lineAt(e,t,r,i,s){let o=this.mainBlock(i,s);return this.spaceAbove?this.blockAt(0,r,i,s).join(o):o}forEachLine(e,t,r,i,s,o){e<=s+this.length&&t>=s&&o(this.lineAt(0,Pe.ByPos,r,i,s))}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,r=!1,i){return i&&i.from<=t&&i.more&&this.setMeasuredHeight(i),this.outdated=!1,this}toString(){return`block(${this.length})`}}class gt extends Wg{constructor(e,t,r){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,t){return new Lt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,r){let i=r[0];return r.length==1&&(i instanceof gt||i instanceof Ge&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof Ge?i=new gt(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):ot.of(r)}updateHeight(e,t=0,r=!1,i){return i&&i.from<=t&&i.more?this.setMeasuredHeight(i):(r||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 Ge extends ot{constructor(e){super(e,0)}heightMetrics(e,t){let r=e.doc.lineAt(t).number,i=e.doc.lineAt(t+this.length).number,s=i-r+1,o,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*s);o=l/s,this.length>s+1&&(a=(this.height-l)/(this.length-s-1))}else o=this.height/s;return{firstLine:r,lastLine:i,perLine:o,perChar:a}}blockAt(e,t,r,i){let{firstLine:s,lastLine:o,perLine:a,perChar:l}=this.heightMetrics(t,i);if(t.lineWrapping){let c=i+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length)),h=t.doc.lineAt(c),d=a+h.length*l,f=Math.max(r,e-d/2);return new Lt(h.from,h.length,f,d,0)}else{let c=Math.max(0,Math.min(o-s,Math.floor((e-r)/a))),{from:h,length:d}=t.doc.line(s+c);return new Lt(h,d,r+a*c,a,0)}}lineAt(e,t,r,i,s){if(t==Pe.ByHeight)return this.blockAt(e,r,i,s);if(t==Pe.ByPosNoHeight){let{from:p,to:m}=r.doc.lineAt(e);return new Lt(p,m-p,0,0,0)}let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(r,s),c=r.doc.lineAt(e),h=a+c.length*l,d=c.number-o,f=i+a*d+l*(c.from-s-d);return new Lt(c.from,c.length,Math.max(i,Math.min(f,i+this.height-h)),h,0)}forEachLine(e,t,r,i,s,o){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:a,perLine:l,perChar:c}=this.heightMetrics(r,s);for(let h=e,d=i;h<=t;){let f=r.doc.lineAt(h);if(h==e){let m=f.number-a;d+=l*m+c*(e-s-m)}let p=l+c*f.length;o(new Lt(f.from,f.length,d,p,0)),d+=p,h=f.to+1}}replace(e,t,r){let i=this.length-t;if(i>0){let s=r[r.length-1];s instanceof Ge?r[r.length-1]=new Ge(s.length+i):r.push(null,new Ge(i-1))}if(e>0){let s=r[0];s instanceof Ge?r[0]=new Ge(e+s.length):r.unshift(new Ge(e-1),null)}return ot.of(r)}decomposeLeft(e,t){t.push(new Ge(e-1),null)}decomposeRight(e,t){t.push(null,new Ge(this.length-e-1))}updateHeight(e,t=0,r=!1,i){let s=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 Ge(i.from-t-1).updateHeight(e,t));a<=s&&i.more;){let h=e.doc.lineAt(a).length;o.length&&o.push(null);let d=i.heights[i.index++],f=0;d<0&&(f=-d,d=i.heights[i.index++]),l==-1?l=d:Math.abs(d-l)>=Uo&&(l=-2);let p=new gt(h,d,f);p.outdated=!1,o.push(p),a+=h+1}a<=s&&o.push(null,new Ge(s-a).updateHeight(e,a));let c=ot.of(o);return(l<0||Math.abs(c.height-this.height)>=Uo||Math.abs(l-this.heightMetrics(e,t).perLine)>=Uo)&&(Ir=!0),la(this,c)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class Uw extends ot{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,t,r,i){let s=r+this.left.height;return e<s?this.left.blockAt(e,t,r,i):this.right.blockAt(e,t,s,i+this.left.length+this.break)}lineAt(e,t,r,i,s){let o=i+this.left.height,a=s+this.left.length+this.break,l=t==Pe.ByHeight?e<o:e<a,c=l?this.left.lineAt(e,t,r,i,s):this.right.lineAt(e,t,r,o,a);if(this.break||(l?c.to<a:c.from>a))return c;let h=t==Pe.ByPosNoHeight?Pe.ByPosNoHeight:Pe.ByPos;return l?c.join(this.right.lineAt(a,h,r,o,a)):this.left.lineAt(a,h,r,i,s).join(c)}forEachLine(e,t,r,i,s,o){let a=i+this.left.height,l=s+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,t,r,i,s,o),t>=l&&this.right.forEachLine(e,t,r,a,l,o);else{let c=this.lineAt(l,Pe.ByPos,r,i,s);e<c.from&&this.left.forEachLine(e,c.from-1,r,i,s,o),c.to>=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,r,a,l,o)}}replace(e,t,r){let i=this.left.length+this.break;if(t<i)return this.balanced(this.left.replace(e,t,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,r));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of r)s.push(a);if(e>0&&Vd(s,o-1),t<this.length){let a=s.length;this.decomposeRight(t,s),Vd(s,a)}return ot.of(s)}decomposeLeft(e,t){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(r++,e>=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,i=r+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e<r&&this.left.decomposeRight(e,t),this.break&&e<i&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?ot.of(this.break?[e,null,t]:[e,t]):(this.left=la(this.left,e),this.right=la(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,r=!1,i){let{left:s,right:o}=this,a=t+s.length+this.break,l=null;return i&&i.from<=t+s.length&&i.more?l=s=s.updateHeight(e,t,r,i):s.updateHeight(e,t,r),i&&i.from<=a+o.length&&i.more?l=o=o.updateHeight(e,a,r,i):o.updateHeight(e,a,r),l?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Vd(n,e){let t,r;n[e]==null&&(t=n[e-1])instanceof Ge&&(r=n[e+1])instanceof Ge&&n.splice(e-1,3,new Ge(t.length+1+r.length))}const Kw=5;class Eh{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 r=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof gt?i.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new gt(r-this.pos,-1,0)),this.writtenTo=r,t>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e<t||r.heightRelevant){let i=r.widget?r.widget.estimatedHeight:0,s=r.widget?r.widget.lineBreaks:0;i<0&&(i=this.oracle.lineHeight);let o=t-e;r.block?this.addBlock(new Wg(o,i,r)):(o||s||i>=Kw)&&this.addLineDeco(i,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new gt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let r=new Ge(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof gt)return e;let t=new gt(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,r){let i=this.ensureLine();i.length+=r,i.collapsed+=r,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof gt)&&!this.isCovered?this.nodes.push(new gt(0,-1,0)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let r=e;for(let i of this.nodes)i instanceof gt&&i.updateHeight(this.oracle,r),r+=i?i.length:1;return this.nodes}static build(e,t,r,i){let s=new Eh(r,e);return fe.spans(t,r,i,s,0),s.finish(r)}}function Gw(n,e,t){let r=new qw;return fe.compare(n,e,t,r,0),r.changes}class qw{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,i){(e<t||r&&r.heightRelevant||i&&i.heightRelevant)&&Pr(e,t,this.changes,5)}}function Yw(n,e){let t=n.getBoundingClientRect(),r=n.ownerDocument,i=r.defaultView||window,s=Math.max(0,t.left),o=Math.min(i.innerWidth,t.right),a=Math.max(0,t.top),l=Math.min(i.innerHeight,t.bottom);for(let c=n.parentNode;c&&c!=r.body;)if(c.nodeType==1){let h=c,d=window.getComputedStyle(h);if((h.scrollHeight>h.clientHeight||h.scrollWidth>h.clientWidth)&&d.overflow!="visible"){let f=h.getBoundingClientRect();s=Math.max(s,f.left),o=Math.min(o,f.right),a=Math.max(a,f.top),l=Math.min(c==n.parentNode?i.innerHeight:l,f.bottom)}c=d.position=="absolute"||d.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,l)-(t.top+e)}}function Qw(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function Jw(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class bl{constructor(e,t,r,i){this.from=e,this.to=t,this.size=r,this.displaySize=i}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++){let i=e[r],s=t[r];if(i.from!=s.from||i.to!=s.to||i.size!=s.size)return!1}return!0}draw(e,t){return ne.replace({widget:new Xw(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class Xw extends on{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class zd{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Hd,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Oe.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(Nh).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Hw(t),this.stateDeco=e.facet(Hi).filter(r=>typeof r!="function"),this.heightMap=ot.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle.setDoc(e.doc),[new jt(0,0,0,e.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=ne.set(this.lineGaps.map(r=>r.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let i=r?t.head:t.anchor;if(!e.some(({from:s,to:o})=>i>=s&&i<=o)){let{from:s,to:o}=this.lineBlockAt(i);e.push(new vo(s,o))}}return this.viewports=e.sort((r,i)=>r.from-i.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Hd:new Rh(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(bi(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(Hi).filter(h=>typeof h!="function");let i=e.changedRanges,s=jt.extendWithRanges(i,Gw(r,this.stateDeco,e?e.changes:Ve.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);Fd(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Ir)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let l=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<l.from||t.range.head>l.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.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(wg)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),i=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Oe.RTL:Oe.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),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:O,scaleY:C}=ig(t,a);(O>.005&&Math.abs(this.scaleX-O)>.005||C>.005&&Math.abs(this.scaleY-C)>.005)&&(this.scaleX=O,this.scaleY=C,c|=16,o=l=!0)}let d=(parseInt(r.paddingTop)||0)*this.scaleY,f=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=d||this.paddingBottom!=f)&&(this.paddingTop=d,this.paddingBottom=f,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let p=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=p&&(this.scrollAnchorHeight=-1,this.scrollTop=p),this.scrolledToBottom=og(e.scrollDOM);let m=(this.printing?Jw:Yw)(t,this.paddingTop),b=m.top-this.pixelViewport.top,y=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let v=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(v!=this.inView&&(this.inView=v,v&&(l=!0)),!this.inView&&!this.scrollTarget&&!Qw(e.dom))return 0;let k=a.width;if((this.contentDOMWidth!=k||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let O=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(O)&&(o=!0),o||i.lineWrapping&&Math.abs(k-this.contentDOMWidth)>i.charWidth){let{lineHeight:C,charWidth:P,textHeight:x}=e.docView.measureTextSize();o=C>0&&i.refresh(s,C,P,x,Math.max(5,k/P),O),o&&(e.docView.minWidth=0,c|=16)}b>0&&y>0?h=Math.max(b,y):b<0&&y<0&&(h=Math.min(b,y)),Fd();for(let C of this.viewports){let P=C.from==this.viewport.from?O:e.docView.measureVisibleLineHeights(C);this.heightMap=(o?ot.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle,[new jt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new _w(C.from,P))}Ir&&(c|=2)}let S=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return S&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||S)&&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 r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,l=new vo(i.lineAt(o-r*1e3,Pe.ByHeight,s,0,0).from,i.lineAt(a+(1-r)*1e3,Pe.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(c<l.from||c>l.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),d=i.lineAt(c,Pe.ByPos,s,0,0),f;t.y=="center"?f=(d.top+d.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c<l.from?f=d.top:f=d.bottom-h,l=new vo(i.lineAt(f-1e3/2,Pe.ByHeight,s,0,0).from,i.lineAt(f+h+1e3/2,Pe.ByHeight,s,0,0).to)}}return l}mapViewport(e,t){let r=t.mapPos(e.from,-1),i=t.mapPos(e.to,1);return new vo(this.heightMap.lineAt(r,Pe.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,Pe.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},r=0){if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(e,Pe.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,Pe.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:a}=this;return(e==0||i<=o-Math.max(10,Math.min(-r,250)))&&(t==this.state.doc.length||s>=a+Math.max(10,Math.min(r,250)))&&i>o-2*1e3&&s<a+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let r=[];for(let i of e)t.touchesRange(i.from,i.to)||r.push(new bl(t.mapPos(i.from),t.mapPos(i.to),i.size,i.displaySize));return r}ensureLineGaps(e,t){let r=this.heightOracle.lineWrapping,i=r?1e4:2e3,s=i>>1,o=i<<1;if(this.defaultTextDirection!=Oe.LTR&&!r)return[];let a=[],l=(h,d,f,p)=>{if(d-h<s)return;let m=this.state.selection.main,b=[m.from];m.empty||b.push(m.to);for(let v of b)if(v>h&&v<d){l(h,v-10,f,p),l(v+10,d,f,p);return}let y=ek(e,v=>v.from>=f.from&&v.to<=f.to&&Math.abs(v.from-h)<s&&Math.abs(v.to-d)<s&&!b.some(k=>v.from<k&&v.to>k));if(!y){if(d<f.to&&t&&r&&t.visibleRanges.some(S=>S.from<=d&&S.to>=d)){let S=t.moveToLineBoundary(E.cursor(d),!1,!0).head;S>h&&(d=S)}let v=this.gapSize(f,h,d,p),k=r||v<2e6?v:2e6;y=new bl(h,d,v,k)}a.push(y)},c=h=>{if(h.length<o||h.type!=Ye.Text)return;let d=Zw(h.from,h.to,this.stateDeco);if(d.total<o)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,p,m;if(r){let b=i/this.heightOracle.lineLength*this.heightOracle.lineHeight,y,v;if(f!=null){let k=ko(d,f),S=((this.visibleBottom-this.visibleTop)/2+b)/h.height;y=k-S,v=k+S}else y=(this.visibleTop-h.top-b)/h.height,v=(this.visibleBottom-h.top+b)/h.height;p=wo(d,y),m=wo(d,v)}else{let b=d.total*this.heightOracle.charWidth,y=i*this.heightOracle.charWidth,v=0;if(b>2e6)for(let P of e)P.from>=h.from&&P.from<h.to&&P.size!=P.displaySize&&P.from*this.heightOracle.charWidth+v<this.pixelViewport.left&&(v=P.size-P.displaySize);let k=this.pixelViewport.left+v,S=this.pixelViewport.right+v,O,C;if(f!=null){let P=ko(d,f),x=((S-k)/2+y)/b;O=P-x,C=P+x}else O=(k-y)/b,C=(S+y)/b;p=wo(d,O),m=wo(d,C)}p>h.from&&l(h.from,p,h,d),m<h.to&&l(m,h.to,h,d)};for(let h of this.viewportLines)Array.isArray(h.type)?h.type.forEach(c):c(h);return a}gapSize(e,t,r,i){let s=ko(i,r)-ko(i,t);return this.heightOracle.lineWrapping?e.height*s:i.total*this.heightOracle.charWidth*s}updateLineGaps(e){bl.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ne.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let r=[];fe.spans(t,this.viewport.from,this.viewport.to,{span(s,o){r.push({from:s,to:o})},point(){}},20);let i=0;if(r.length!=this.visibleRanges.length)i=12;else for(let s=0;s<r.length&&!(i&8);s++){let o=this.visibleRanges[s],a=r[s];(o.from!=a.from||o.to!=a.to)&&(i|=4,e&&e.mapPos(o.from,-1)==a.from&&e.mapPos(o.to,1)==a.to||(i|=8))}return this.visibleRanges=r,i}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||bi(this.heightMap.lineAt(e,Pe.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)||bi(this.heightMap.lineAt(this.scaler.fromDOM(e),Pe.ByHeight,this.heightOracle,0,0),this.scaler)}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 bi(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 vo{constructor(e,t){this.from=e,this.to=t}}function Zw(n,e,t){let r=[],i=n,s=0;return fe.spans(t,n,e,{span(){},point(o,a){o>i&&(r.push({from:i,to:o}),s+=o-i),i=a}},20),i<e&&(r.push({from:i,to:e}),s+=e-i),{total:s,ranges:r}}function wo({total:n,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let r=Math.floor(n*t);for(let i=0;;i++){let{from:s,to:o}=e[i],a=o-s;if(r<=a)return s+r;r-=a}}function ko(n,e){let t=0;for(let{from:r,to:i}of n.ranges){if(e<=i){t+=e-r;break}t+=i-r}return t/n.total}function ek(n,e){for(let t of n)if(e(t))return t}const Hd={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};class Rh{constructor(e,t,r){let i=0,s=0,o=0;this.viewports=r.map(({from:a,to:l})=>{let c=t.lineAt(a,Pe.ByPos,e,0,0).top,h=t.lineAt(l,Pe.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-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,r=0,i=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return i+(e-r)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);r=s.bottom,i=s.domBottom}}fromDOM(e){for(let t=0,r=0,i=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return r+(e-i)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);r=s.bottom,i=s.domBottom}}eq(e){return e instanceof Rh?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,r)=>t.from==e.viewports[r].from&&t.to==e.viewports[r].to):!1}}function bi(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),r=e.toDOM(n.bottom);return new Lt(n.from,n.length,t,r-t,Array.isArray(n._content)?n._content.map(i=>bi(i,e)):n._content)}const So=K.define({combine:n=>n.join(" ")}),Vc=K.define({combine:n=>n.indexOf(!0)>-1}),zc=Ln.newName(),Ug=Ln.newName(),Kg=Ln.newName(),Gg={"&light":"."+Ug,"&dark":"."+Kg};function Hc(n,e,t){return new Ln(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,i=>{if(i=="&")return n;if(!t||!t[i])throw new RangeError(`Unsupported selector: ${i}`);return t[i]}):n+" "+r}})}const tk=Hc("."+zc,{"&":{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":{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-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"},"&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,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,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"}},Gg),nk={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},yl=U.ie&&U.ie_version<=11;class rk{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new R2,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 r of t)this.queue.push(r);(U.ie&&U.ie_version<=11||U.ios&&e.composing)&&t.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&U.android&&e.constructor.EDIT_CONTEXT!==!1&&!(U.chrome&&U.chrome_version<126)&&(this.editContext=new sk(e),e.state.facet(dn)&&(e.contentDOM.editContext=this.editContext.editContext)),yl&&(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)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{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,r)=>t!=e[r]))){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:r}=this,i=this.selectionRange;if(r.state.facet(dn)?r.root.activeElement!=this.dom:!Wo(this.dom,i))return;let s=i.anchorNode&&r.docView.tile.nearest(i.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(U.ie&&U.ie_version<=11||U.android&&U.chrome)&&!r.state.selection.main.empty&&i.focusNode&&Ci(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Fi(e.root);if(!t)return!1;let r=U.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&ik(this.view,t)||t;if(!r||this.selectionRange.eq(r))return!1;let i=Wo(this.dom,r);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&I2(this.dom,r)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(r),i&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let r=this.dom;r;)if(r.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);for(let r of this.scrollTargets=t)r.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,nk),yl&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),yl&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var r;if(!this.delayedAndroidKey){let i=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Ar(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((r=this.delayedAndroidKey)===null||r===void 0)&&r.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{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,r=-1,i=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(i=!0),t==-1?{from:t,to:r}=o:(t=Math.min(o.from,t),r=Math.max(o.to,r)))}return{from:t,to:r,typeOver:i}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),i=this.selectionChanged&&Wo(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 s=new kw(this.view,e,t,r);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}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 r=this.view.state,i=Rg(this.view,t);return this.view.state==r&&(t.domChanged||t.newSel&&!t.newSel.main.eq(this.view.state.selection.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 r=_d(t,e.previousSibling||e.target.previousSibling,-1),i=_d(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):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(dn)!=e.state.facet(dn)&&(e.view.contentDOM.editContext=e.state.facet(dn)?this.editContext.editContext:null))}destroy(){var e,t,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.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 _d(n,e,t){for(;e;){let r=Fe.get(e);if(r&&r.parent==n)return r;let i=e.parentNode;e=i!=n.dom?i:t>0?e.nextSibling:e.previousSibling}return null}function Wd(n,e){let t=e.startContainer,r=e.startOffset,i=e.endContainer,s=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor,1);return Ci(o.node,o.offset,i,s)&&([t,r,i,s]=[i,s,t,r]),{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}}function ik(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return Wd(n,i)}let t=null;function r(i){i.preventDefault(),i.stopImmediatePropagation(),t=i.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",r,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",r,!0),t?Wd(n,t):null}class sk{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=r=>{let i=e.state.selection.main,{anchor:s,head:o}=i,a=this.toEditorPos(r.updateRangeStart),l=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>r.text.length;a==this.from&&s<this.from?a=s:l==this.to&&s>this.to&&(l=s);let h=Lg(e.state.sliceDoc(a,l),r.text,(c?i.from:i.to)-a,c?"end":null);if(!h){let f=E.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));f.main.eq(i)||e.dispatch({selection:f,userEvent:"select"});return}let d={from:h.from+a,to:h.toA+a,insert:xe.of(r.text.slice(h.from,h.toB).split(`
61
+ `))};if((U.mac||U.android)&&d.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(d={from:a,to:l,insert:xe.of([r.text.replace("."," ")])}),this.pendingContextChange=d,!e.state.readOnly){let f=this.to-this.from+(d.to-d.from+d.insert.length);Th(e,d,E.single(this.toEditorPos(r.selectionStart,f),this.toEditorPos(r.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),d.from<d.to&&!d.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(t.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let i=[],s=null;for(let o=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,i.push(s)}t.updateCharacterBounds(r.rangeStart,i)},this.handlers.textformatupdate=r=>{let i=[];for(let s of r.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l<c){let h=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;i.push(ne.mark({attributes:{style:h}}).range(l,c))}}}e.dispatch({effects:Sg.of(ne.set(i))})},this.handlers.compositionstart=()=>{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:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)t.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let i=Fi(r.root);i&&i.rangeCount&&this.editContext.updateSelectionBounds(i.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,r=!1,i=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(r)return;let h=c.length-(o-s);if(i&&o>=i.to)if(i.from==s&&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(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),i&&!r&&this.revertPending(e.state),!r}update(e){let t=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.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,r=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),i=this.toContextPos(t.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=i)&&this.editContext.updateSelection(r,i)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.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 H{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:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(i=>i.forEach(s=>r(s,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=e.root||L2(e.parent)||document,this.viewState=new zd(e.state||pe.create(e)),e.scrollTo&&e.scrollTo.is(bo)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(xr).map(i=>new dl(i));for(let i of this.plugins)i.update(this);this.observer=new rk(this),this.inputState=new Ow(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Pd(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let t=e.length==1&&e[0]instanceof He?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,r=!1,i,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,l=null;e.some(f=>f.annotation(zg))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Hg(s,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(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(pe.phrases)!=this.state.facet(pe.phrases))return this.setState(s);i=sa.create(this,s,e),i.flags|=a;let d=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(d&&(d=d.map(f.changes)),f.scrollIntoView){let{main:p}=f.state.selection;d=new Mr(p.empty?p:E.cursor(p.head,p.head>p.anchor?-1:1))}for(let p of f.effects)p.is(bo)&&(d=p.value.clip(this.state))}this.viewState.update(i,d),this.bidiCache=ca.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(mi)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(So)!=i.state.facet(So)&&(this.viewState.mustMeasureContent=!0),(t||r||d||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!i.empty)for(let f of this.state.facet(Lc))try{f(i)}catch(p){ht(this.state,p,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!Rg(this,h)&&c.force&&Ar(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 r of this.plugins)r.destroy(this);this.viewState=new zd(e),this.plugins=e.facet(xr).map(r=>new dl(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new Pd(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(xr),r=e.state.facet(xr);if(t!=r){let i=[];for(let s of r){let o=t.indexOf(s);if(o<0)i.push(new dl(s));else{let a=this.plugins[o];a.mustUpdate=e,i.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i<this.plugins.length;i++)this.plugins[i].update(this);t!=r&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(r){ht(this.state,r,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-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,r=this.scrollDOM,i=r.scrollTop*this.scaleY,{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(i-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(og(r))s=-1,o=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(i);s=p.from,o=p.top}this.updateState=1;let l=this.viewState.measure(this);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 ht(this.state,m),Ud}}),d=sa.create(this,this.state,[]),f=!1;d.flags|=l,t?t.flags|=l:t=d,this.updateState=2,d.empty||(this.updatePlugins(d),this.inputState.update(d),this.updateAttrs(),f=this.docView.update(d),f&&this.docViewUpdate());for(let p=0;p<c.length;p++)if(h[p]!=Ud)try{let m=c[p];m.write&&m.write(h[p],this)}catch(m){ht(this.state,m)}if(f&&this.docView.updateSelection(!0),!d.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let m=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-o;if(m>1||m<-1){i=i+m,r.scrollTop=i/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(Lc))a(t)}get themeClasses(){return zc+" "+(this.state.facet(Vc)?Kg:Ug)+" "+this.state.facet(So)}updateAttrs(){let e=Kd(this,Cg,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(dn)?"true":"false",class:"cm-content",style:`${U.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Kd(this,Nh,t);let r=this.observer.ignore(()=>{let i=wd(this.contentDOM,this.contentAttrs,t),s=wd(this.dom,this.editorAttrs,e);return i||s});return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let i of r.effects)if(i.is(H.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(mi);let e=this.state.facet(H.cspNonce);Ln.mount(this.root,this.styleModules.concat(tk).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;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(r=>r.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,r){return gl(this,e,Ad(this,e,t,r))}moveByGroup(e,t){return gl(this,e,Ad(this,e,t,r=>bw(this,e.head,r)))}visualLineSide(e,t){let r=this.bidiSpans(e),i=this.textDirectionAt(e.from),s=r[t?r.length-1:0];return E.cursor(s.side(t,i)+e.from,s.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,r=!0){return gw(this,e,t,r)}moveVertically(e,t,r){return gl(this,e,yw(this,e,t,r))}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 r=$c(this,e,t);return r&&r.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),$c(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.docView.coordsAt(e,t);if(!r||r.left==r.right)return r;let i=this.state.doc.lineAt(e),s=this.bidiSpans(i),o=s[pn.find(s,e-i.from,-1,t)];return Vi(r,o.dir==Oe.LTR==t>0)}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(vg)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>ok)return dg(e.length);let t=this.textDirectionAt(e.from),r;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||ug(s.isolates,r=Cd(this,e))))return s.order;r||(r=Cd(this,e));let i=_2(e.text,t,r);return this.bidiCache.push(new ca(e.from,e.to,t,r,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||U.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{sg(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={}){return bo.of(new Mr(typeof e=="number"?E.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return bo.of(new Mr(E.cursor(r.from),"start","start",r.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 $e.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return $e.define(()=>({}),{eventObservers:e})}static theme(e,t){let r=Ln.newName(),i=[So.of(r),mi.of(Hc(`.${r}`,e))];return t&&t.dark&&i.push(Vc.of(!0)),i}static baseTheme(e){return cr.lowest(mi.of(Hc("."+zc,e,Gg)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),i=r&&Fe.get(r)||Fe.get(e);return((t=i?.root)===null||t===void 0?void 0:t.view)||null}}H.styleModule=mi;H.inputHandler=yg;H.clipboardInputFilter=Ah;H.clipboardOutputFilter=Mh;H.scrollHandler=kg;H.focusChangeEffect=xg;H.perLineTextDirection=vg;H.exceptionSink=bg;H.updateListener=Lc;H.editable=dn;H.mouseSelectionStyle=gg;H.dragMovesSelection=mg;H.clickAddsSelectionRange=pg;H.decorations=Hi;H.blockWrappers=jg;H.outerDecorations=Og;H.atomicRanges=Vs;H.bidiIsolatedRanges=Pg;H.scrollMargins=Ag;H.darkTheme=Vc;H.cspNonce=K.define({combine:n=>n.length?n[0]:""});H.contentAttributes=Nh;H.editorAttributes=Cg;H.lineWrapping=H.contentAttributes.of({class:"cm-lineWrapping"});H.announce=ae.define();const ok=4096,Ud={};class ca{constructor(e,t,r,i,s,o){this.from=e,this.to=t,this.dir=r,this.isolates=i,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let r=[],i=e.length?e[e.length-1].dir:Oe.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==i&&!t.touchesRange(o.from,o.to)&&r.push(new ca(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return r}}function Kd(n,e,t){for(let r=n.state.facet(e),i=r.length-1;i>=0;i--){let s=r[i],o=typeof s=="function"?s(n):s;o&&jh(o,t)}return t}const ak=U.mac?"mac":U.windows?"win":U.linux?"linux":"key";function lk(n,e){const t=n.split(/-(?!$)/);let r=t[t.length-1];r=="Space"&&(r=" ");let i,s,o,a;for(let l=0;l<t.length-1;++l){const c=t[l];if(/^(cmd|meta|m)$/i.test(c))a=!0;else if(/^a(lt)?$/i.test(c))i=!0;else if(/^(c|ctrl|control)$/i.test(c))s=!0;else if(/^s(hift)?$/i.test(c))o=!0;else if(/^mod$/i.test(c))e=="mac"?a=!0:s=!0;else throw new Error("Unrecognized modifier name: "+c)}return i&&(r="Alt-"+r),s&&(r="Ctrl-"+r),a&&(r="Meta-"+r),o&&(r="Shift-"+r),r}function Co(n,e,t){return e.altKey&&(n="Alt-"+n),e.ctrlKey&&(n="Ctrl-"+n),e.metaKey&&(n="Meta-"+n),t!==!1&&e.shiftKey&&(n="Shift-"+n),n}const ck=cr.default(H.domEventHandlers({keydown(n,e){return Yg(qg(e.state),n,e,"editor")}})),La=K.define({enables:ck}),Gd=new WeakMap;function qg(n){let e=n.facet(La),t=Gd.get(e);return t||Gd.set(e,t=dk(e.reduce((r,i)=>r.concat(i),[]))),t}function hk(n,e,t){return Yg(qg(n.state),e,n,t)}let Pn=null;const uk=4e3;function dk(n,e=ak){let t=Object.create(null),r=Object.create(null),i=(o,a)=>{let l=r[o];if(l==null)r[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")},s=(o,a,l,c,h)=>{var d,f;let p=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(v=>lk(v,e));for(let v=1;v<m.length;v++){let k=m.slice(0,v).join(" ");i(k,!0),p[k]||(p[k]={preventDefault:!0,stopPropagation:!1,run:[S=>{let O=Pn={view:S,prefix:k,scope:o};return setTimeout(()=>{Pn==O&&(Pn=null)},uk),!0}]})}let b=m.join(" ");i(b,!1);let y=p[b]||(p[b]={preventDefault:!1,stopPropagation:!1,run:((f=(d=p._any)===null||d===void 0?void 0:d.run)===null||f===void 0?void 0:f.slice())||[]});l&&y.run.push(l),c&&(y.preventDefault=!0),h&&(y.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:d}=o;for(let f in h)h[f].run.push(p=>d(p,_c))}let l=o[e]||o.key;if(l)for(let c of a)s(c,l,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+l,o.shift,o.preventDefault,o.stopPropagation)}return t}let _c=null;function Yg(n,e,t,r){_c=e;let i=O2(e),s=at(i,0),o=qt(s)==i.length&&i!=" ",a="",l=!1,c=!1,h=!1;Pn&&Pn.view==t&&Pn.scope==r&&(a=Pn.prefix+" ",Bg.indexOf(e.keyCode)<0&&(c=!0,Pn=null));let d=new Set,f=y=>{if(y){for(let v of y.run)if(!d.has(v)&&(d.add(v),v(t)))return y.stopPropagation&&(h=!0),!0;y.preventDefault&&(y.stopPropagation&&(h=!0),c=!0)}return!1},p=n[r],m,b;return p&&(f(p[a+Co(i,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(U.windows&&e.ctrlKey&&e.altKey)&&!(U.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=In[e.keyCode])&&m!=i?(f(p[a+Co(m,e,!0)])||e.shiftKey&&(b=Bi[e.keyCode])!=i&&b!=m&&f(p[a+Co(b,e,!1)]))&&(l=!0):o&&e.shiftKey&&f(p[a+Co(i,e,!0)])&&(l=!0),!l&&f(p._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),_c=null,l}class zs{constructor(e,t,r,i,s){this.className=e,this.left=t,this.top=r,this.width=i,this.height=s}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,r){if(r.empty){let i=e.coordsAtPos(r.head,r.assoc||1);if(!i)return[];let s=Qg(e);return[new zs(t,i.left-s.left,i.top-s.top,null,i.bottom-i.top)]}else return fk(e,t,r)}}function Qg(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==Oe.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function qd(n,e,t,r){let i=n.coordsAtPos(e,t*2);if(!i)return r;let s=n.dom.getBoundingClientRect(),o=(i.top+i.bottom)/2,a=n.posAtCoords({x:s.left+1,y:o}),l=n.posAtCoords({x:s.right-1,y:o});return a==null||l==null?r:{from:Math.max(r.from,Math.min(a,l)),to:Math.min(r.to,Math.max(a,l))}}function fk(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let r=Math.max(t.from,n.viewport.from),i=Math.min(t.to,n.viewport.to),s=n.textDirection==Oe.LTR,o=n.contentDOM,a=o.getBoundingClientRect(),l=Qg(n),c=o.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),d=a.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=a.right-(h?parseInt(h.paddingRight):0),p=Bc(n,r,1),m=Bc(n,i,-1),b=p.type==Ye.Text?p:null,y=m.type==Ye.Text?m:null;if(b&&(n.lineWrapping||p.widgetLineBreaks)&&(b=qd(n,r,1,b)),y&&(n.lineWrapping||m.widgetLineBreaks)&&(y=qd(n,i,-1,y)),b&&y&&b.from==y.from&&b.to==y.to)return k(S(t.from,t.to,b));{let C=b?S(t.from,null,b):O(p,!1),P=y?S(null,t.to,y):O(m,!0),x=[];return(b||p).to<(y||m).from-(b&&y?1:0)||p.widgetLineBreaks>1&&C.bottom+n.defaultLineHeight/2<P.top?x.push(v(d,C.bottom,f,P.top)):C.bottom<P.top&&n.elementAtHeight((C.bottom+P.top)/2).type==Ye.Text&&(C.bottom=P.top=(C.bottom+P.top)/2),k(C).concat(x).concat(k(P))}function v(C,P,x,D){return new zs(e,C-l.left,P-l.top,x-C,D-P)}function k({top:C,bottom:P,horizontal:x}){let D=[];for(let T=0;T<x.length;T+=2)D.push(v(x[T],C,x[T+1],P));return D}function S(C,P,x){let D=1e9,T=-1e9,I=[];function M(V,$,q,he,_){let Y=n.coordsAtPos(V,V==x.to?-2:2),se=n.coordsAtPos(q,q==x.from?2:-2);!Y||!se||(D=Math.min(Y.top,se.top,D),T=Math.max(Y.bottom,se.bottom,T),_==Oe.LTR?I.push(s&&$?d:Y.left,s&&he?f:se.right):I.push(!s&&he?d:se.left,!s&&$?f:Y.right))}let L=C??x.from,W=P??x.to;for(let V of n.visibleRanges)if(V.to>L&&V.from<W)for(let $=Math.max(V.from,L),q=Math.min(V.to,W);;){let he=n.state.doc.lineAt($);for(let _ of n.bidiSpans(he)){let Y=_.from+he.from,se=_.to+he.from;if(Y>=q)break;se>$&&M(Math.max(Y,$),C==null&&Y<=L,Math.min(se,q),P==null&&se>=W,_.dir)}if($=he.to+1,$>=q)break}return I.length==0&&M(L,C==null,W,P==null,n.textDirection),{top:D,bottom:T,horizontal:I}}function O(C,P){let x=a.top+(P?C.top:C.bottom);return{top:x,bottom:x,horizontal:[]}}}function pk(n,e){return n.constructor==e.constructor&&n.eq(e)}class mk{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(Ko)!=e.state.facet(Ko)&&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,r=e.facet(Ko);for(;t<r.length&&r[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,r)=>!pk(t,this.drawn[r]))){let t=this.dom.firstChild,r=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[r].constructor&&i.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(i.draw(),t);for(;t;){let i=t.nextSibling;t.remove(),t=i}this.drawn=e,U.safari&&U.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Ko=K.define();function Jg(n){return[$e.define(e=>new mk(e,n)),Ko.of(n)]}const _i=K.define({combine(n){return sn(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function gk(n={}){return[_i.of(n),bk,yk,xk,wg.of(!0)]}function Xg(n){return n.startState.facet(_i)!=n.state.facet(_i)}const bk=Jg({above:!0,markers(n){let{state:e}=n,t=e.facet(_i),r=[];for(let i of e.selection.ranges){let s=i==e.selection.main;if(i.empty||t.drawRangeCursor){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=i.empty?i:E.cursor(i.head,i.head>i.anchor?-1:1);for(let l of zs.forRange(n,o,a))r.push(l)}}return r},update(n,e){n.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Xg(n);return t&&Yd(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){Yd(e.state,n)},class:"cm-cursorLayer"});function Yd(n,e){e.style.animationDuration=n.facet(_i).cursorBlinkRate+"ms"}const yk=Jg({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:zs.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||Xg(n)},class:"cm-selectionLayer"}),xk=cr.highest(H.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),Zg=ae.define({map(n,e){return n==null?null:e.mapPos(n)}}),yi=Qe.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,r)=>r.is(Zg)?r.value:t,n)}}),vk=$e.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(yi);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(yi)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(yi),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let r=n.scrollDOM.getBoundingClientRect();return{left:t.left-r.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-r.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(yi)!=n&&this.view.dispatch({effects:Zg.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function wk(){return[yi,vk]}function Qd(n,e,t,r,i){e.lastIndex=0;for(let s=n.iterRange(t,r),o=t,a;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;a=e.exec(s.value);)i(o+a.index,a)}function kk(n,e){let t=n.visibleRanges;if(t.length==1&&t[0].from==n.viewport.from&&t[0].to==n.viewport.to)return t;let r=[];for(let{from:i,to:s}of t)i=Math.max(n.state.doc.lineAt(i).from,i-e),s=Math.min(n.state.doc.lineAt(s).to,s+e),r.length&&r[r.length-1].to>=i?r[r.length-1].to=s:r.push({from:i,to:s});return r}class Sk{constructor(e){const{regexp:t,decoration:r,decorate:i,boundary:s,maxLength:o=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,i)this.addMatch=(a,l,c,h)=>i(h,c,c+a[0].length,a,l);else if(typeof r=="function")this.addMatch=(a,l,c,h)=>{let d=r(a,l,c);d&&h(c,c+a[0].length,d)};else if(r)this.addMatch=(a,l,c,h)=>h(c,c+a[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=o}createDeco(e){let t=new mn,r=t.add.bind(t);for(let{from:i,to:s}of kk(e,this.maxLength))Qd(e.state.doc,this.regexp,i,s,(o,a)=>this.addMatch(a,e,o,r));return t.finish()}updateDeco(e,t){let r=1e9,i=-1;return e.docChanged&&e.changes.iterChanges((s,o,a,l)=>{l>=e.view.viewport.from&&a<=e.view.viewport.to&&(r=Math.min(a,r),i=Math.max(l,i))}),e.viewportMoved||i-r>1e3?this.createDeco(e.view):i>-1?this.updateRange(e.view,t.map(e.changes),r,i):t}updateRange(e,t,r,i){for(let s of e.visibleRanges){let o=Math.max(s.from,r),a=Math.min(s.to,i);if(a>=o){let l=e.state.doc.lineAt(o),c=l.to<a?e.state.doc.lineAt(a):l,h=Math.max(s.from,l.from),d=Math.min(s.to,c.to);if(this.boundary){for(;o>l.from;o--)if(this.boundary.test(l.text[o-1-l.from])){h=o;break}for(;a<c.to;a++)if(this.boundary.test(c.text[a-c.from])){d=a;break}}let f=[],p,m=(b,y,v)=>f.push(v.range(b,y));if(l==c)for(this.regexp.lastIndex=h-l.from;(p=this.regexp.exec(l.text))&&p.index<d-l.from;)this.addMatch(p,e,p.index+l.from,m);else Qd(e.state.doc,this.regexp,h,d,(b,y)=>this.addMatch(y,e,b,m));t=t.update({filterFrom:h,filterTo:d,filter:(b,y)=>b<h||y>d,add:f})}}return t}}const Wc=/x/.unicode!=null?"gu":"g",Ck=new RegExp(`[\0-\b
62
+ --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,Wc),jk={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let xl=null;function Ok(){var n;if(xl==null&&typeof document<"u"&&document.body){let e=document.body.style;xl=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return xl||!1}const Go=K.define({combine(n){let e=sn(n,{render:null,specialChars:Ck,addSpecialChars:null});return(e.replaceTabs=!Ok())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Wc)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Wc)),e}});function Pk(n={}){return[Go.of(n),Ak()]}let Jd=null;function Ak(){return Jd||(Jd=$e.fromClass(class{constructor(n){this.view=n,this.decorations=ne.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(Go)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new Sk({regexp:n.specialChars,decoration:(e,t,r)=>{let{doc:i}=t.state,s=at(e[0],0);if(s==9){let o=i.lineAt(r),a=t.state.tabSize,l=zr(o.text,a,r-o.from);return ne.replace({widget:new Tk((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=ne.replace({widget:new Dk(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(Go);n.startState.facet(Go)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const Mk="•";function Nk(n){return n>=32?Mk:n==10?"␤":String.fromCharCode(9216+n)}class Dk extends on{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Nk(this.code),r=e.state.phrase("Control character")+" "+(jk[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,r,t);if(i)return i;let s=document.createElement("span");return s.textContent=t,s.title=r,s.setAttribute("aria-label",r),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class Tk extends on{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function Ek(){return Lk}const Rk=ne.line({class:"cm-activeLine"}),Lk=$e.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 r of n.state.selection.ranges){let i=n.lineBlockAt(r.head);i.from>e&&(t.push(Rk.range(i.from)),e=i.from)}return ne.set(t)}},{decorations:n=>n.decorations});class Ik extends on{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?Si(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),i=Vi(t[0],r.direction!="rtl"),s=parseInt(r.lineHeight);return i.bottom-i.top>s*1.5?{left:i.left,right:i.right,top:i.top,bottom:i.top+s}:i}ignoreEvent(){return!1}}function Bk(n){let e=$e.fromClass(class{constructor(t){this.view=t,this.placeholder=n?ne.set([ne.widget({widget:new Ik(n),side:1}).range(0)]):ne.none}get decorations(){return this.view.state.doc.length?ne.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,H.contentAttributes.of({"aria-placeholder":n})]:e}const Uc=2e3;function $k(n,e,t){let r=Math.min(e.line,t.line),i=Math.max(e.line,t.line),s=[];if(e.off>Uc||t.off>Uc||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=r;l<=i;l++){let c=n.doc.line(l);c.length<=a&&s.push(E.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=r;l<=i;l++){let c=n.doc.line(l),h=Cc(c.text,o,n.tabSize,!0);if(h<0)s.push(E.cursor(c.to));else{let d=Cc(c.text,a,n.tabSize);s.push(E.range(c.from+h,c.from+d))}}}return s}function Fk(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function Xd(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),r=n.state.doc.lineAt(t),i=t-r.from,s=i>Uc?-1:i==r.length?Fk(n,e.clientX):zr(r.text,n.state.tabSize,t-r.from);return{line:r.number,col:s,off:i}}function Vk(n,e){let t=Xd(n,e),r=n.state.selection;return t?{update(i){if(i.docChanged){let s=i.changes.mapPos(i.startState.doc.line(t.line).from),o=i.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},r=r.map(i.changes)}},get(i,s,o){let a=Xd(n,i);if(!a)return r;let l=$k(n.state,t,a);return l.length?o?E.create(l.concat(r.ranges)):E.create(l):r}}:null}function zk(n){let e=t=>t.altKey&&t.button==0;return H.mouseSelectionStyle.of((t,r)=>e(r)?Vk(t,r):null)}const Hk={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},_k={style:"cursor: crosshair"};function Wk(n={}){let[e,t]=Hk[n.key||"Alt"],r=$e.fromClass(class{constructor(i){this.view=i,this.isDown=!1}set(i){this.isDown!=i&&(this.isDown=i,this.view.update([]))}},{eventObservers:{keydown(i){this.set(i.keyCode==e||t(i))},keyup(i){(i.keyCode==e||!t(i))&&this.set(!1)},mousemove(i){this.set(t(i))}}});return[r,H.contentAttributes.of(i=>{var s;return!((s=i.plugin(r))===null||s===void 0)&&s.isDown?_k:null})]}const jo="-10000px";class e0{constructor(e,t,r,i){this.facet=t,this.createTooltipView=r,this.removeTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter(o=>o);let s=null;this.tooltipViews=this.tooltips.map(o=>s=r(o,s))}update(e,t){var r;let i=e.state.facet(this.facet),s=i.filter(l=>l);if(i===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let o=[],a=t?[]:null;for(let l=0;l<s.length;l++){let c=s[l],h=-1;if(c){for(let d=0;d<this.tooltips.length;d++){let f=this.tooltips[d];f&&f.create==c.create&&(h=d)}if(h<0)o[l]=this.createTooltipView(c,l?o[l-1]:null),a&&(a[l]=!!c.above);else{let d=o[l]=this.tooltipViews[h];a&&(a[l]=t[h]),d.update&&d.update(e)}}}for(let l of this.tooltipViews)o.indexOf(l)<0&&(this.removeTooltipView(l),(r=l.destroy)===null||r===void 0||r.call(l));return t&&(a.forEach((l,c)=>t[c]=l),t.length=a.length),this.input=i,this.tooltips=s,this.tooltipViews=o,!0}}function Uk(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const vl=K.define({combine:n=>{var e,t,r;return{position:U.ios?"absolute":((e=n.find(i=>i.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((t=n.find(i=>i.parent))===null||t===void 0?void 0:t.parent)||null,tooltipSpace:((r=n.find(i=>i.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||Uk}}}),Zd=new WeakMap,Lh=$e.fromClass(class{constructor(n){this.view=n,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=n.state.facet(vl);this.position=e.position,this.parent=e.parent,this.classes=n.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new e0(n,Ih,(t,r)=>this.createTooltip(t,r),t=>{this.resizeObserver&&this.resizeObserver.unobserve(t.dom),t.dom.remove()}),this.above=this.manager.tooltips.map(t=>!!t.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(t=>{Date.now()>this.lastTransaction-50&&t.length>0&&t[t.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),n.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let n of this.manager.tooltipViews)this.intersectionObserver.observe(n.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(n){n.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(n,this.above);e&&this.observeIntersection();let t=e||n.geometryChanged,r=n.state.facet(vl);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let i of this.manager.tooltipViews)i.dom.style.position=this.position;t=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let i of this.manager.tooltipViews)this.container.appendChild(i.dom);t=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);t&&this.maybeMeasure()}createTooltip(n,e){let t=n.create(this.view),r=e?e.dom:null;if(t.dom.classList.add("cm-tooltip"),n.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let i=document.createElement("div");i.className="cm-tooltip-arrow",t.dom.appendChild(i)}return t.dom.style.position=this.position,t.dom.style.top=jo,t.dom.style.left="0px",this.container.insertBefore(t.dom,r),t.mount&&t.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(t.dom),t}destroy(){var n,e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(n=r.destroy)===null||n===void 0||n.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(t=this.intersectionObserver)===null||t===void 0||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let n=1,e=1,t=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:s}=this.manager.tooltipViews[0];if(U.safari){let o=s.getBoundingClientRect();t=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}else t=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(t||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(n=s.width/this.parent.offsetWidth,e=s.height/this.parent.offsetHeight)}else({scaleX:n,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),i=Dh(this.view);return{visible:{left:r.left+i.left,top:r.top+i.top,right:r.right-i.right,bottom:r.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((s,o)=>{let a=this.manager.tooltipViews[o];return a.getCoords?a.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(vl).tooltipSpace(this.view),scaleX:n,scaleY:e,makeAbsolute:t}}writeMeasure(n){var e;if(n.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:t,space:r,scaleX:i,scaleY:s}=n,o=[];for(let a=0;a<this.manager.tooltips.length;a++){let l=this.manager.tooltips[a],c=this.manager.tooltipViews[a],{dom:h}=c,d=n.pos[a],f=n.size[a];if(!d||l.clip!==!1&&(d.bottom<=Math.max(t.top,r.top)||d.top>=Math.min(t.bottom,r.bottom)||d.right<Math.max(t.left,r.left)-.1||d.left>Math.min(t.right,r.right)+.1)){h.style.top=jo;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,b=f.right-f.left,y=(e=Zd.get(c))!==null&&e!==void 0?e:f.bottom-f.top,v=c.offset||Gk,k=this.view.textDirection==Oe.LTR,S=f.width>r.right-r.left?k?r.left:r.right-f.width:k?Math.max(r.left,Math.min(d.left-(p?14:0)+v.x,r.right-b)):Math.min(Math.max(r.left,d.left-b+(p?14:0)-v.x),r.right-b),O=this.above[a];!l.strictSide&&(O?d.top-y-m-v.y<r.top:d.bottom+y+m+v.y>r.bottom)&&O==r.bottom-d.bottom>d.top-r.top&&(O=this.above[a]=!O);let C=(O?d.top-r.top:r.bottom-d.bottom)-m;if(C<y&&c.resize!==!1){if(C<this.view.defaultLineHeight){h.style.top=jo;continue}Zd.set(c,y),h.style.height=(y=C)/s+"px"}else h.style.height&&(h.style.height="");let P=O?d.top-y-m-v.y:d.bottom+m+v.y,x=S+b;if(c.overlap!==!0)for(let D of o)D.left<x&&D.right>S&&D.top<P+y&&D.bottom>P&&(P=O?D.top-y-2-m:D.bottom+m+2);if(this.position=="absolute"?(h.style.top=(P-n.parent.top)/s+"px",ef(h,(S-n.parent.left)/i)):(h.style.top=P/s+"px",ef(h,S/i)),p){let D=d.left+(k?v.x:-v.x)-(S+14-7);p.style.left=D/i+"px"}c.overlap!==!0&&o.push({left:S,top:P,right:x,bottom:P+y}),h.classList.toggle("cm-tooltip-above",O),h.classList.toggle("cm-tooltip-below",!O),c.positioned&&c.positioned(n.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let n of this.manager.tooltipViews)n.dom.style.top=jo}},{eventObservers:{scroll(){this.maybeMeasure()}}});function ef(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const Kk=H.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),Gk={x:0,y:0},Ih=K.define({enables:[Lh,Kk]}),ha=K.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class Ia{static create(e){return new Ia(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new e0(e,ha,(t,r)=>this.createHostedView(t,r),t=>t.dom.remove())}createHostedView(e,t){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)(e=t.destroy)===null||e===void 0||e.call(t)}passProp(e){let t;for(let r of this.manager.tooltipViews){let i=r[e];if(i!==void 0){if(t===void 0)t=i;else if(t!==i)return}}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const qk=Ih.compute([ha],n=>{let e=n.facet(ha);return e.length===0?null:{pos:Math.min(...e.map(t=>t.pos)),end:Math.max(...e.map(t=>{var r;return(r=t.end)!==null&&r!==void 0?r:t.pos})),create:Ia.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class Yk{constructor(e,t,r,i,s){this.view=e,this.source=t,this.field=r,this.setHover=i,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:t}=this,r=e.docView.tile.nearest(t.target);if(!r)return;let i,s=1;if(r.isWidget())i=r.posAtStart;else{if(i=e.posAtCoords(t),i==null)return;let a=e.coordsAtPos(i);if(!a||t.y<a.top||t.y>a.bottom||t.x<a.left-e.defaultCharacterWidth||t.x>a.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(i)).find(h=>h.from<=i&&h.to>=i),c=l&&l.dir==Oe.RTL?-1:1;s=t.x<a.left?-c:c}let o=this.source(e,i,s);if(o?.then){let a=this.pending={pos:i};o.then(l=>{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>ht(e.state,l,"hover tooltip"))}else o&&!(Array.isArray(o)&&!o.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(o)?o:[o])})}get tooltip(){let e=this.view.plugin(Lh),t=e?e.manager.tooltips.findIndex(r=>r.create==Ia.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:i,tooltip:s}=this;if(i.length&&s&&!Qk(s.dom,e)||this.pending){let{pos:o}=i[0]||this.pending,a=(r=(t=i[0])===null||t===void 0?void 0:t.end)!==null&&r!==void 0?r:o;(o==a?this.view.posAtCoords(this.lastMove)!=o:!Jk(this.view,o,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=r=>{e.removeEventListener("mouseleave",t),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Oo=4;function Qk(n,e){let{left:t,right:r,top:i,bottom:s}=n.getBoundingClientRect(),o;if(o=n.querySelector(".cm-tooltip-arrow")){let a=o.getBoundingClientRect();i=Math.min(a.top,i),s=Math.max(a.bottom,s)}return e.clientX>=t-Oo&&e.clientX<=r+Oo&&e.clientY>=i-Oo&&e.clientY<=s+Oo}function Jk(n,e,t,r,i,s){let o=n.scrollDOM.getBoundingClientRect(),a=n.documentTop+n.documentPadding.top+n.contentHeight;if(o.left>r||o.right<r||o.top>i||Math.min(o.bottom,a)<i)return!1;let l=n.posAtCoords({x:r,y:i},!1);return l>=e&&l<=t}function Xk(n,e={}){let t=ae.define(),r=Qe.define({create(){return[]},update(i,s){if(i.length&&(e.hideOnChange&&(s.docChanged||s.selection)?i=[]:e.hideOn&&(i=i.filter(o=>!e.hideOn(s,o))),s.docChanged)){let o=[];for(let a of i){let l=s.changes.mapPos(a.pos,-1,st.TrackDel);if(l!=null){let c=Object.assign(Object.create(null),a);c.pos=l,c.end!=null&&(c.end=s.changes.mapPos(c.end)),o.push(c)}}i=o}for(let o of s.effects)o.is(t)&&(i=o.value),o.is(Zk)&&(i=[]);return i},provide:i=>ha.from(i)});return{active:r,extension:[r,$e.define(i=>new Yk(i,n,r,t,e.hoverTime||300)),qk]}}function t0(n,e){let t=n.plugin(Lh);if(!t)return null;let r=t.manager.tooltips.indexOf(e);return r<0?null:t.manager.tooltipViews[r]}const Zk=ae.define(),tf=K.define({combine(n){let e,t;for(let r of n)e=e||r.topContainer,t=t||r.bottomContainer;return{topContainer:e,bottomContainer:t}}});function Wi(n,e){let t=n.plugin(n0),r=t?t.specs.indexOf(e):-1;return r>-1?t.panels[r]:null}const n0=$e.fromClass(class{constructor(n){this.input=n.state.facet(Ui),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(tf);this.top=new Po(n,!0,e.topContainer),this.bottom=new Po(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(tf);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Po(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Po(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(Ui);if(t!=this.input){let r=t.filter(l=>l),i=[],s=[],o=[],a=[];for(let l of r){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?s:o).push(h)}this.specs=r,this.panels=i,this.top.sync(s),this.bottom.sync(o);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(n)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:n=>H.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class Po{constructor(e,t,r){this.view=e,this.top=t,this.container=r,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",this.dom.style[this.top?"top":"bottom"]="0";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=nf(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=nf(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 nf(n){let e=n.nextSibling;return n.remove(),e}const Ui=K.define({enables:n0});class bn extends Rn{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}bn.prototype.elementClass="";bn.prototype.toDOM=void 0;bn.prototype.mapMode=st.TrackBefore;bn.prototype.startSide=bn.prototype.endSide=-1;bn.prototype.point=!0;const qo=K.define(),eS=K.define(),tS={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>fe.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Oi=K.define();function nS(n){return[r0(),Oi.of({...tS,...n})]}const rf=K.define({combine:n=>n.some(e=>e)});function r0(n){return[rS]}const rS=$e.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(Oi).map(e=>new of(n,e)),this.fixed=!n.state.facet(rf);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,r=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(r<(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(rf)!=!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=fe.iter(this.view.state.facet(qo),this.view.viewport.from),r=[],i=this.gutters.map(s=>new iS(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(s.type)){let o=!0;for(let a of s.type)if(a.type==Ye.Text&&o){Kc(t,r,a.from);for(let l of i)l.line(this.view,a,r);o=!1}else if(a.widget)for(let l of i)l.widget(this.view,a)}else if(s.type==Ye.Text){Kc(t,r,s.from);for(let o of i)o.line(this.view,s,r)}else if(s.widget)for(let o of i)o.widget(this.view,s);for(let s of i)s.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(Oi),t=n.state.facet(Oi),r=n.docChanged||n.heightChanged||n.viewportChanged||!fe.eq(n.startState.facet(qo),n.state.facet(qo),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let i of this.gutters)i.update(n)&&(r=!0);else{r=!0;let i=[];for(let s of t){let o=e.indexOf(s);o<0?i.push(new of(this.view,s)):(this.gutters[o].update(n),i.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),i.indexOf(s)<0&&s.destroy();for(let s of i)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=i}return r}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>H.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let r=t.dom.offsetWidth*e.scaleX,i=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Oe.LTR?{left:r,right:i}:{right:r,left:i}})});function sf(n){return Array.isArray(n)?n:[n]}function Kc(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class iS{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=fe.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:i}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==i.elements.length){let a=new i0(e,o,s,r);i.elements.push(a),i.dom.appendChild(a.dom)}else i.elements[this.i].update(e,o,s,r);this.height=t.bottom,this.i++}line(e,t,r){let i=[];Kc(this.cursor,i,t.from),r.length&&(i=i.concat(r));let s=this.gutter.config.lineMarker(e,t,i);s&&i.unshift(s);let o=this.gutter;i.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,i)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t),i=r?[r]:null;for(let s of e.state.facet(eS)){let o=s(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 of{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 r in t.domEventHandlers)this.dom.addEventListener(r,i=>{let s=i.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=i.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[r](e,a,i)&&i.preventDefault()});this.markers=sf(t.markers(e)),t.initialSpacer&&(this.spacer=new i0(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=sf(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 r=e.view.viewport;return!fe.eq(this.markers,t,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class i0{constructor(e,t,r,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,i)}update(e,t,r,i){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),sS(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let r="cm-gutterElement",i=this.dom.firstChild;for(let s=0,o=0;;){let a=o,l=s<t.length?t[s++]:null,c=!1;if(l){let h=l.elementClass;h&&(r+=" "+h);for(let d=o;d<this.markers.length;d++)if(this.markers[d].compare(l)){a=d,c=!0;break}}else a=this.markers.length;for(;o<a;){let h=this.markers[o++];if(h.toDOM){h.destroy(i);let d=i.nextSibling;i.remove(),i=d}}if(!l)break;l.toDOM&&(c?i=i.nextSibling:this.dom.insertBefore(l.toDOM(e),i)),c&&o++}this.dom.className=r,this.markers=t}destroy(){this.setMarkers(null,[])}}function sS(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(!n[t].compare(e[t]))return!1;return!0}const oS=K.define(),aS=K.define(),vr=K.define({combine(n){return sn(n,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let r=Object.assign({},e);for(let i in t){let s=r[i],o=t[i];r[i]=s?(a,l,c)=>s(a,l,c)||o(a,l,c):o}return r}})}});class wl extends bn{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function kl(n,e){return n.state.facet(vr).formatNumber(e,n.state)}const lS=Oi.compute([vr],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(oS)},lineMarker(e,t,r){return r.some(i=>i.toDOM)?null:new wl(kl(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,r)=>{for(let i of e.state.facet(aS)){let s=i(e,t,r);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(vr)!=e.state.facet(vr),initialSpacer(e){return new wl(kl(e,af(e.state.doc.lines)))},updateSpacer(e,t){let r=kl(t.view,af(t.view.state.doc.lines));return r==e.number?e:new wl(r)},domEventHandlers:n.facet(vr).domEventHandlers,side:"before"}));function cS(n={}){return[vr.of(n),r0(),lS]}function af(n){let e=9;for(;e<n;)e=e*10+9;return e}const hS=new class extends bn{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},uS=qo.compute(["selection"],n=>{let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.head).from;i>t&&(t=i,e.push(hS.range(i)))}return fe.of(e)});function dS(){return uS}var Sl;const wr=new de;function fS(n){return K.define({combine:n?e=>e.concat(n):void 0})}const pS=new de;class Bt{constructor(e,t,r=[],i=""){this.data=e,this.name=i,pe.prototype.hasOwnProperty("tree")||Object.defineProperty(pe.prototype,"tree",{get(){return tt(this)}}),this.parser=t,this.extension=[$n.of(this),pe.languageData.of((s,o,a)=>{let l=lf(s,o,a),c=l.type.prop(wr);if(!c)return[];let h=s.facet(c),d=l.type.prop(pS);if(d){let f=l.resolve(o-l.from,a);for(let p of d)if(p.test(f,s)){let m=s.facet(p.facet);return p.type=="replace"?m:m.concat(h)}}return h})].concat(r)}isActiveAt(e,t,r=-1){return lf(e,t,r).type.prop(wr)==this.data}findRegions(e){let t=e.facet($n);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],i=(s,o)=>{if(s.prop(wr)==this.data){r.push({from:o,to:o+s.length});return}let a=s.prop(de.mounted);if(a){if(a.tree.prop(wr)==this.data){if(a.overlay)for(let l of a.overlay)r.push({from:l.from+o,to:l.to+o});else r.push({from:o,to:o+s.length});return}else if(a.overlay){let l=r.length;if(i(a.tree,a.overlay[0].from+o),r.length>l)return}}for(let l=0;l<s.children.length;l++){let c=s.children[l];c instanceof Be&&i(c,s.positions[l]+o)}};return i(tt(e),0),r}get allowsNesting(){return!0}}Bt.setState=ae.define();function lf(n,e,t){let r=n.facet($n),i=tt(n).topNode;if(!r||r.allowsNesting)for(let s=i;s;s=s.enter(e,t,Ee.ExcludeBuffers|Ee.EnterBracketed))s.type.isTop&&(i=s);return i}class ua extends Bt{constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=fS(e.languageData);return new ua(t,e.parser.configure({props:[wr.add(r=>r.isTop?t:void 0)]}),e.name)}configure(e,t){return new ua(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function tt(n){let e=n.field(Bt.state,!1);return e?e.tree:Be.empty}class mS{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let r=this.cursorPos-this.string.length;return e<r||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}}let ai=null;class da{constructor(e,t,r=[],i,s,o,a,l){this.parser=e,this.state=t,this.fragments=r,this.tree=i,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new da(e,t,[],Be.empty,0,r,[],null)}startParse(){return this.parser.startParse(new mS(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Be.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;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.state.doc.length&&this.parse.stopAt(t);;){let i=this.parse.advance();if(i)if(this.fragments=this.withoutTempSkipped(nr.addTree(i,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=i,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=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(nr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=ai;ai=this;try{return e()}finally{ai=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=cf(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:i,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,h,d,f)=>l.push({fromA:c,toA:h,fromB:d,toB:f})),r=nr.applyChanges(r,l),i=Be.empty,s=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),d=e.mapPos(c.to,-1);h<d&&a.push({from:h,to:d})}}}return new da(this.parser,t,r,i,s,o,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:i,to:s}=this.skipped[r];i<e.to&&s>e.from&&(this.fragments=cf(this.fragments,i,s),this.skipped.splice(r--,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 Em{createParse(t,r,i){let s=i[0].from,o=i[i.length-1].to;return{parsedPos:s,advance(){let l=ai;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 Be(dt.none,[],[],o-s)},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 ai}}function cf(n,e,t){return nr.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class Br{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),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new Br(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=da.create(e.facet($n).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new Br(r)}}Bt.state=Qe.define({create:Br.init,update(n,e){for(let t of e.effects)if(t.is(Bt.setState))return t.value;return e.startState.facet($n)!=e.state.facet($n)?Br.init(e.state):n.apply(e)}});let s0=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(s0=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const Cl=typeof navigator<"u"&&(!((Sl=navigator.scheduling)===null||Sl===void 0)&&Sl.isInputPending)?()=>navigator.scheduling.isInputPending():null,gS=$e.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(Bt.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(Bt.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=s0(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:i}}=this.view,s=r.field(Bt.state);if(s.tree==s.context.tree&&s.context.isDone(i+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!Cl?Math.max(25,e.timeRemaining()-5):1e9),a=s.context.treeLen<i&&r.doc.length>i+1e3,l=s.context.work(()=>Cl&&Cl()||Date.now()>o,i+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Bt.setState.of(new Br(s.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>ht(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()}}}),$n=K.define({combine(n){return n.length?n[0]:null},enables:n=>[Bt.state,gS,H.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class bS{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const yS=K.define(),Ba=K.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 fa(n){let e=n.facet(Ba);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Ki(n,e){let t="",r=n.tabSize,i=n.facet(Ba)[0];if(i==" "){for(;e>=r;)t+=" ",e-=r;i=" "}for(let s=0;s<e;s++)t+=i;return t}function Bh(n,e){n instanceof pe&&(n=new $a(n));for(let r of n.state.facet(yS)){let i=r(n,e);if(i!==void 0)return i}let t=tt(n.state);return t.length>=e?xS(n,t,e):null}class $a{constructor(e,t={}){this.state=e,this.options=t,this.unit=fa(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:s}=this.options;return i!=null&&i>=r.from&&i<=r.to?s&&i==e?{text:"",from:e}:(t<0?i<e:i<=e)?{text:r.text.slice(i-r.from),from:i}:{text:r.text.slice(0,i-r.from),from:r.from}:r}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:i}=this.lineAt(e,t);return r.slice(e-i,Math.min(r.length,e+100-i))}column(e,t=1){let{text:r,from:i}=this.lineAt(e,t),s=this.countColumn(r,e-i),o=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return o>-1&&(s+=o-this.countColumn(r,r.search(/\S|$/))),s}countColumn(e,t=e.length){return zr(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:i}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(i);if(o>-1)return o}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const o0=new de;function xS(n,e,t){let r=e.resolveStack(t),i=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(i!=r.node){let s=[];for(let o=i;o&&!(o.from<r.node.from||o.to>r.node.to||o.from==r.node.from&&o.type==r.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)r={node:s[o],next:r}}return a0(r,n,t)}function a0(n,e,t){for(let r=n;r;r=r.next){let i=wS(r.node);if(i)return i($h.create(e,t,r))}return 0}function vS(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function wS(n){let e=n.type.prop(o0);if(e)return e;let t=n.firstChild,r;if(t&&(r=t.type.prop(de.closedBy))){let i=n.lastChild,s=i&&r.indexOf(i.name)>-1;return o=>jS(o,!0,1,void 0,s&&!vS(o)?i.from:void 0)}return n.parent==null?kS:null}function kS(){return 0}class $h extends $a{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.context=r}get node(){return this.context.node}static create(e,t,r){return new $h(e,t,r)}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 r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(SS(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return a0(this.context.next,this.base,this.pos)}}function SS(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function CS(n){let e=n.node,t=e.childAfter(e.from),r=e.lastChild;if(!t)return null;let i=n.options.simulateBreak,s=n.state.doc.lineAt(t.from),o=i==null||i<=s.from?s.to:Math.min(s.to,i);for(let a=t.to;;){let l=e.childAfter(a);if(!l||l==r)return null;if(!l.type.isSkipped){if(l.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}a=l.to}}function jS(n,e,t,r,i){let s=n.textAfter,o=s.match(/^\s*/)[0].length,a=r&&s.slice(o,o+r.length)==r||i==n.pos+o,l=CS(n);return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}function hf({except:n,units:e=1}={}){return t=>{let r=n&&n.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}const OS=200;function PS(){return pe.transactionFilter.of(n=>{if(!n.docChanged||!n.isUserEvent("input.type")&&!n.isUserEvent("input.complete"))return n;let e=n.startState.languageDataAt("indentOnInput",n.startState.selection.main.head);if(!e.length)return n;let t=n.newDoc,{head:r}=n.newSelection.main,i=t.lineAt(r);if(r>i.from+OS)return n;let s=t.sliceString(i.from,r);if(!e.some(c=>c.test(s)))return n;let{state:o}=n,a=-1,l=[];for(let{head:c}of o.selection.ranges){let h=o.doc.lineAt(c);if(h.from==a)continue;a=h.from;let d=Bh(o,h.from);if(d==null)continue;let f=/^\s*/.exec(h.text)[0],p=Ki(o,d);f!=p&&l.push({from:h.from,to:h.from+f.length,insert:p})}return l.length?[n,{changes:l,sequential:!0}]:n})}const AS=K.define(),l0=new de;function MS(n){let e=n.firstChild,t=n.lastChild;return e&&e.to<t.from?{from:e.to,to:t.type.isError?n.to:t.from}:null}function NS(n,e,t){let r=tt(n);if(r.length<t)return null;let i=r.resolveStack(t,1),s=null;for(let o=i;o;o=o.next){let a=o.node;if(a.to<=t||a.from>t)continue;if(s&&a.from<e)break;let l=a.type.prop(l0);if(l&&(a.to<r.length-50||r.length==n.doc.length||!DS(a))){let c=l(a,n);c&&c.from<=t&&c.from>=e&&c.to>t&&(s=c)}}return s}function DS(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function pa(n,e,t){for(let r of n.facet(AS)){let i=r(n,e,t);if(i)return i}return NS(n,e,t)}function c0(n,e){let t=e.mapPos(n.from,1),r=e.mapPos(n.to,-1);return t>=r?void 0:{from:t,to:r}}const Fa=ae.define({map:c0}),Hs=ae.define({map:c0});function h0(n){let e=[];for(let{head:t}of n.state.selection.ranges)e.some(r=>r.from<=t&&r.to>=t)||e.push(n.lineBlockAt(t));return e}const or=Qe.define({create(){return ne.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,r)=>n=uf(n,t,r)),n=n.map(e.changes);for(let t of e.effects)if(t.is(Fa)&&!TS(n,t.value.from,t.value.to)){let{preparePlaceholder:r}=e.state.facet(f0),i=r?ne.replace({widget:new FS(r(e.state,t.value))}):df;n=n.update({add:[i.range(t.value.from,t.value.to)]})}else t.is(Hs)&&(n=n.update({filter:(r,i)=>t.value.from!=r||t.value.to!=i,filterFrom:t.value.from,filterTo:t.value.to}));return e.selection&&(n=uf(n,e.selection.main.head)),n},provide:n=>H.decorations.from(n),toJSON(n,e){let t=[];return n.between(0,e.doc.length,(r,i)=>{t.push(r,i)}),t},fromJSON(n){if(!Array.isArray(n)||n.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let t=0;t<n.length;){let r=n[t++],i=n[t++];if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid JSON for fold state");e.push(df.range(r,i))}return ne.set(e,!0)}});function uf(n,e,t=e){let r=!1;return n.between(e,t,(i,s)=>{i<t&&s>e&&(r=!0)}),r?n.update({filterFrom:e,filterTo:t,filter:(i,s)=>i>=t||s<=e}):n}function ma(n,e,t){var r;let i=null;return(r=n.field(or,!1))===null||r===void 0||r.between(e,t,(s,o)=>{(!i||i.from>s)&&(i={from:s,to:o})}),i}function TS(n,e,t){let r=!1;return n.between(e,e,(i,s)=>{i==e&&s==t&&(r=!0)}),r}function u0(n,e){return n.field(or,!1)?e:e.concat(ae.appendConfig.of(p0()))}const ES=n=>{for(let e of h0(n)){let t=pa(n.state,e.from,e.to);if(t)return n.dispatch({effects:u0(n.state,[Fa.of(t),d0(n,t)])}),!0}return!1},RS=n=>{if(!n.state.field(or,!1))return!1;let e=[];for(let t of h0(n)){let r=ma(n.state,t.from,t.to);r&&e.push(Hs.of(r),d0(n,r,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function d0(n,e,t=!0){let r=n.state.doc.lineAt(e.from).number,i=n.state.doc.lineAt(e.to).number;return H.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${r} ${n.state.phrase("to")} ${i}.`)}const LS=n=>{let{state:e}=n,t=[];for(let r=0;r<e.doc.length;){let i=n.lineBlockAt(r),s=pa(e,i.from,i.to);s&&t.push(Fa.of(s)),r=(s?n.lineBlockAt(s.to):i).to+1}return t.length&&n.dispatch({effects:u0(n.state,t)}),!!t.length},IS=n=>{let e=n.state.field(or,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(r,i)=>{t.push(Hs.of({from:r,to:i}))}),n.dispatch({effects:t}),!0},BS=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:ES},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:RS},{key:"Ctrl-Alt-[",run:LS},{key:"Ctrl-Alt-]",run:IS}],$S={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},f0=K.define({combine(n){return sn(n,$S)}});function p0(n){return[or,HS]}function m0(n,e){let{state:t}=n,r=t.facet(f0),i=o=>{let a=n.lineBlockAt(n.posAtDOM(o.target)),l=ma(n.state,a.from,a.to);l&&n.dispatch({effects:Hs.of(l)}),o.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(n,i,e);let s=document.createElement("span");return s.textContent=r.placeholderText,s.setAttribute("aria-label",t.phrase("folded code")),s.title=t.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=i,s}const df=ne.replace({widget:new class extends on{toDOM(n){return m0(n,null)}}});class FS extends on{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return m0(e,this.value)}}const VS={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class jl extends bn{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function zS(n={}){let e={...VS,...n},t=new jl(e,!0),r=new jl(e,!1),i=$e.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet($n)!=o.state.facet($n)||o.startState.field(or,!1)!=o.state.field(or,!1)||tt(o.startState)!=tt(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new mn;for(let l of o.viewportLineBlocks){let c=ma(o.state,l.from,l.to)?r:pa(o.state,l.from,l.to)?t:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:s}=e;return[i,nS({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(i))===null||a===void 0?void 0:a.markers)||fe.empty},initialSpacer(){return new jl(e,!1)},domEventHandlers:{...s,click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let c=ma(o.state,a.from,a.to);if(c)return o.dispatch({effects:Hs.of(c)}),!0;let h=pa(o.state,a.from,a.to);return h?(o.dispatch({effects:Fa.of(h)}),!0):!1}}}),p0()]}const HS=H.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Hr{constructor(e,t){this.specs=e;let r;function i(a){let l=Ln.newName();return(r||(r=Object.create(null)))["."+l]=a,l}const s=typeof t.all=="string"?t.all:t.all?i(t.all):void 0,o=t.scope;this.scope=o instanceof Bt?a=>a.prop(wr)==o.data:o?a=>a==o:void 0,this.style=Im(e.map(a=>({tag:a.tag,class:a.class||i(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=r?new Ln(r):null,this.themeType=t.themeType}static define(e,t){return new Hr(e,t||{})}}const Gc=K.define(),g0=K.define({combine(n){return n.length?[n[0]]:null}});function Ol(n){let e=n.facet(Gc);return e.length?e:n.facet(g0)}function Fh(n,e){let t=[WS],r;return n instanceof Hr&&(n.module&&t.push(H.styleModule.of(n.module)),r=n.themeType),e?.fallback?t.push(g0.of(n)):r?t.push(Gc.computeN([H.darkTheme],i=>i.facet(H.darkTheme)==(r=="dark")?[n]:[])):t.push(Gc.of(n)),t}class _S{constructor(e){this.markCache=Object.create(null),this.tree=tt(e.state),this.decorations=this.buildDeco(e,Ol(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=tt(e.state),r=Ol(e.state),i=r!=Ol(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length<s.to&&!i&&t.type==this.tree.type&&o>=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||i)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return ne.none;let r=new mn;for(let{from:i,to:s}of e.visibleRanges)Zv(this.tree,t,(o,a,l)=>{r.add(o,a,this.markCache[l]||(this.markCache[l]=ne.mark({class:l})))},i,s);return r.finish()}}const WS=cr.high($e.fromClass(_S,{decorations:n=>n.decorations})),US=Hr.define([{tag:N.meta,color:"#404740"},{tag:N.link,textDecoration:"underline"},{tag:N.heading,textDecoration:"underline",fontWeight:"bold"},{tag:N.emphasis,fontStyle:"italic"},{tag:N.strong,fontWeight:"bold"},{tag:N.strikethrough,textDecoration:"line-through"},{tag:N.keyword,color:"#708"},{tag:[N.atom,N.bool,N.url,N.contentSeparator,N.labelName],color:"#219"},{tag:[N.literal,N.inserted],color:"#164"},{tag:[N.string,N.deleted],color:"#a11"},{tag:[N.regexp,N.escape,N.special(N.string)],color:"#e40"},{tag:N.definition(N.variableName),color:"#00f"},{tag:N.local(N.variableName),color:"#30a"},{tag:[N.typeName,N.namespace],color:"#085"},{tag:N.className,color:"#167"},{tag:[N.special(N.variableName),N.macroName],color:"#256"},{tag:N.definition(N.propertyName),color:"#00c"},{tag:N.comment,color:"#940"},{tag:N.invalid,color:"#f00"}]),KS=H.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),b0=1e4,y0="()[]{}",x0=K.define({combine(n){return sn(n,{afterCursor:!0,brackets:y0,maxScanDistance:b0,renderMatch:YS})}}),GS=ne.mark({class:"cm-matchingBracket"}),qS=ne.mark({class:"cm-nonmatchingBracket"});function YS(n){let e=[],t=n.matched?GS:qS;return e.push(t.range(n.start.from,n.start.to)),n.end&&e.push(t.range(n.end.from,n.end.to)),e}const QS=Qe.define({create(){return ne.none},update(n,e){if(!e.docChanged&&!e.selection)return n;let t=[],r=e.state.facet(x0);for(let i of e.state.selection.ranges){if(!i.empty)continue;let s=Qt(e.state,i.head,-1,r)||i.head>0&&Qt(e.state,i.head-1,1,r)||r.afterCursor&&(Qt(e.state,i.head,1,r)||i.head<e.state.doc.length&&Qt(e.state,i.head+1,-1,r));s&&(t=t.concat(r.renderMatch(s,e.state)))}return ne.set(t,!0)},provide:n=>H.decorations.from(n)}),JS=[QS,KS];function XS(n={}){return[x0.of(n),JS]}const ZS=new de;function qc(n,e,t){let r=n.prop(e<0?de.openedBy:de.closedBy);if(r)return r;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 Yc(n){let e=n.type.prop(ZS);return e?e(n.node):n}function Qt(n,e,t,r={}){let i=r.maxScanDistance||b0,s=r.brackets||y0,o=tt(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=qc(l.type,t,s);if(c&&l.from<l.to){let h=Yc(l);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return e3(n,e,t,l,h,c,s)}}return t3(n,e,t,o,a.type,i,s)}function e3(n,e,t,r,i,s,o){let a=r.parent,l={from:i.from,to:i.to},c=0,h=a?.cursor();if(h&&(t<0?h.childBefore(r.from):h.childAfter(r.to)))do if(t<0?h.to<=r.from:h.from>=r.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from<h.to){let d=Yc(h);return{start:l,end:d?{from:d.from,to:d.to}:void 0,matched:!0}}else if(qc(h.type,t,o))c++;else if(qc(h.type,-t,o)){if(c==0){let d=Yc(h);return{start:l,end:d&&d.from<d.to?{from:d.from,to:d.to}:void 0,matched:!1}}c--}}while(t<0?h.prevSibling():h.nextSibling());return{start:l,matched:!1}}function t3(n,e,t,r,i,s,o){let a=t<0?n.sliceDoc(e-1,e):n.sliceDoc(e,e+1),l=o.indexOf(a);if(l<0||l%2==0!=t>0)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),d=0;for(let f=0;!h.next().done&&f<=s;){let p=h.value;t<0&&(f+=p.length);let m=e+f*t;for(let b=t>0?0:p.length-1,y=t>0?p.length:-1;b!=y;b+=t){let v=o.indexOf(p[b]);if(!(v<0||r.resolveInner(m+b,1).type!=i))if(v%2==0==t>0)d++;else{if(d==1)return{start:c,end:{from:m+b,to:m+b+1},matched:v>>1==l>>1};d--}}t>0&&(f+=p.length)}return h.done?{start:c,matched:!1}:null}const n3=Object.create(null),ff=[dt.none],pf=[],mf=Object.create(null),r3=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"]])r3[n]=i3(n3,e);function Pl(n,e){pf.indexOf(n)>-1||(pf.push(n),console.warn(e))}function i3(n,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=n[c]||N[c];h?typeof h=="function"?l.length?l=l.map(h):Pl(c,`Modifier ${c} used at start of tag`):l.length?Pl(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:Pl(c,`Unknown highlighting tag ${c}`)}for(let c of l)t.push(c)}if(!t.length)return 0;let r=e.replace(/ /g,"_"),i=r+" "+t.map(a=>a.id),s=mf[i];if(s)return s.id;let o=mf[i]=dt.define({id:ff.length,name:r,props:[Rm({[r]:t})]});return ff.push(o),o.id}Oe.RTL,Oe.LTR;const s3=ua.define({name:"json",parser:r2.configure({props:[o0.add({Object:hf({except:/^\s*\}/}),Array:hf({except:/^\s*\]/})}),l0.add({"Object Array":MS})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function o3(){return new bS(s3)}function Qc(){return Qc=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},Qc.apply(null,arguments)}function a3(n,e){if(n==null)return{};var t={};for(var r in n)if({}.hasOwnProperty.call(n,r)){if(e.indexOf(r)!==-1)continue;t[r]=n[r]}return t}const l3=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),r=zh(n.state,t.from);return r.line?c3(n):r.block?u3(n):!1};function Vh(n,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let i=n(e,t);return i?(r(t.update(i)),!0):!1}}const c3=Vh(p3,0),h3=Vh(v0,0),u3=Vh((n,e)=>v0(n,e,f3(e)),0);function zh(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const li=50;function d3(n,{open:e,close:t},r,i){let s=n.sliceDoc(r-li,r),o=n.sliceDoc(i,i+li),a=/\s*$/.exec(s)[0].length,l=/^\s*/.exec(o)[0].length,c=s.length-a;if(s.slice(c-e.length,c)==e&&o.slice(l,l+t.length)==t)return{open:{pos:r-a,margin:a&&1},close:{pos:i+l,margin:l&&1}};let h,d;i-r<=2*li?h=d=n.sliceDoc(r,i):(h=n.sliceDoc(r,r+li),d=n.sliceDoc(i-li,i));let f=/^\s*/.exec(h)[0].length,p=/\s*$/.exec(d)[0].length,m=d.length-p-t.length;return h.slice(f,f+e.length)==e&&d.slice(m,m+t.length)==t?{open:{pos:r+f+e.length,margin:/\s/.test(h.charAt(f+e.length))?1:0},close:{pos:i-p-t.length,margin:/\s/.test(d.charAt(m-1))?1:0}}:null}function f3(n){let e=[];for(let t of n.selection.ranges){let r=n.doc.lineAt(t.from),i=t.to<=r.to?r:n.doc.lineAt(t.to);i.from>r.from&&i.from==t.to&&(i=t.to==r.to+1?r:n.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=i.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return e}function v0(n,e,t=e.selection.ranges){let r=t.map(s=>zh(e,s.from).block);if(!r.every(s=>s))return null;let i=t.map((s,o)=>d3(e,r[o],s.from,s.to));if(n!=2&&!i.every(s=>s))return{changes:e.changes(t.map((s,o)=>i[o]?[]:[{from:s.from,insert:r[o].open+" "},{from:s.to,insert:" "+r[o].close}]))};if(n!=1&&i.some(s=>s)){let s=[];for(let o=0,a;o<i.length;o++)if(a=i[o]){let l=r[o],{open:c,close:h}=a;s.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:h.pos-h.margin,to:h.pos+l.close.length})}return{changes:s}}return null}function p3(n,e,t=e.selection.ranges){let r=[],i=-1;for(let{from:s,to:o}of t){let a=r.length,l=1e9,c=zh(e,s).line;if(c){for(let h=s;h<=o;){let d=e.doc.lineAt(h);if(d.from>i&&(s==o||o>d.from)){i=d.from;let f=/^\s*/.exec(d.text)[0].length,p=f==d.length,m=d.text.slice(f,f+c.length)==c?f:-1;f<d.text.length&&f<l&&(l=f),r.push({line:d,comment:m,token:c,indent:f,empty:p,single:!1})}h=d.to+1}if(l<1e9)for(let h=a;h<r.length;h++)r[h].indent<r[h].line.text.length&&(r[h].indent=l);r.length==a+1&&(r[a].single=!0)}}if(n!=2&&r.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:l,indent:c,empty:h,single:d}of r)(d||!h)&&s.push({from:a.from+c,insert:l+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(n!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:l}of r)if(a>=0){let c=o.from+a,h=c+l.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}const Jc=rn.define(),m3=rn.define(),g3=K.define(),w0=K.define({combine(n){return sn(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,i)=>e(r,i)||t(r,i)})}}),k0=Qe.define({create(){return Jt.empty},update(n,e){let t=e.state.facet(w0),r=e.annotation(Jc);if(r){let l=ut.fromTransaction(e,r.selection),c=r.side,h=c==0?n.undone:n.done;return l?h=ga(h,h.length,t.minDepth,l):h=j0(h,e.startState.selection),new Jt(c==0?r.rest:h,c==0?h:r.rest)}let i=e.annotation(m3);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(He.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let s=ut.fromTransaction(e),o=e.annotation(He.time),a=e.annotation(He.userEvent);return s?n=n.addChanges(s,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 Jt(n.done.map(ut.fromJSON),n.undone.map(ut.fromJSON))}});function b3(n={}){return[k0,w0.of(n),H.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?S0:e.inputType=="historyRedo"?Xc:null;return r?(e.preventDefault(),r(t)):!1}})]}function Va(n,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let i=t.field(k0,!1);if(!i)return!1;let s=i.pop(n,t,e);return s?(r(s),!0):!1}}const S0=Va(0,!1),Xc=Va(1,!1),y3=Va(0,!0),x3=Va(1,!0);class ut{constructor(e,t,r,i,s){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=i,this.selectionsAfter=s}setSelAfter(e){return new ut(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;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:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new ut(e.changes&&Ve.fromJSON(e.changes),[],e.mapped&&Zt.fromJSON(e.mapped),e.startSelection&&E.fromJSON(e.startSelection),e.selectionsAfter.map(E.fromJSON))}static fromTransaction(e,t){let r=Ot;for(let i of e.startState.facet(g3)){let s=i(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new ut(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,Ot)}static selection(e){return new ut(void 0,Ot,void 0,void 0,e)}}function ga(n,e,t,r){let i=e+1>t+20?e-t-1:0,s=n.slice(i,e);return s.push(r),s}function v3(n,e){let t=[],r=!1;return n.iterChangedRanges((i,s)=>t.push(i,s)),e.iterChangedRanges((i,s,o,a)=>{for(let l=0;l<t.length;){let c=t[l++],h=t[l++];a>=c&&o<=h&&(r=!0)}}),r}function w3(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function C0(n,e){return n.length?e.length?n.concat(e):n:e}const Ot=[],k3=200;function j0(n,e){if(n.length){let t=n[n.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-k3));return r.length&&r[r.length-1].eq(e)?n:(r.push(e),ga(n,n.length-1,1e9,t.setSelAfter(r)))}else return[ut.selection([e])]}function S3(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 Al(n,e){if(!n.length)return n;let t=n.length,r=Ot;for(;t;){let i=C3(n[t-1],e,r);if(i.changes&&!i.changes.empty||i.effects.length){let s=n.slice(0,t);return s[t-1]=i,s}else e=i.mapped,t--,r=i.selectionsAfter}return r.length?[ut.selection(r)]:Ot}function C3(n,e,t){let r=C0(n.selectionsAfter.length?n.selectionsAfter.map(a=>a.map(e)):Ot,t);if(!n.changes)return ut.selection(r);let i=n.changes.map(e),s=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(s):s;return new ut(i,ae.mapEffects(n.effects,e),o,n.startSelection.map(s),r)}const j3=/^(input\.type|delete)($|\.)/;class Jt{constructor(e,t,r=0,i=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=i}isolate(){return this.prevTime?new Jt(this.done,this.undone):this}addChanges(e,t,r,i,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||j3.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime<i.newGroupDelay&&i.joinToEvent(s,v3(a.changes,e.changes))||r=="input.type.compose")?o=ga(o,o.length-1,i.minDepth,new ut(e.changes.compose(a.changes),C0(ae.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,Ot)):o=ga(o,o.length,i.minDepth,e),new Jt(o,Ot,t,r)}addSelection(e,t,r,i){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:Ot;return s.length>0&&t-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&w3(s[s.length-1],e)?this:new Jt(j0(this.done,e),this.undone,t,r)}addMapping(e){return new Jt(Al(this.done,e),Al(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,r){let i=e==0?this.done:this.undone;if(i.length==0)return null;let s=i[i.length-1],o=s.selectionsAfter[0]||t.selection;if(r&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:Jc.of({side:e,rest:S3(i),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let a=i.length==1?Ot:i.slice(0,i.length-1);return s.mapped&&(a=Al(a,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Jc.of({side:e,rest:a,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Jt.empty=new Jt(Ot,Ot);const O3=[{key:"Mod-z",run:S0,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Xc,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Xc,preventDefault:!0},{key:"Mod-u",run:y3,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:x3,preventDefault:!0}];function _r(n,e){return E.create(n.ranges.map(e),n.mainIndex)}function Ft(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Vt({state:n,dispatch:e},t){let r=_r(n.selection,t);return r.eq(n.selection,!0)?!1:(e(Ft(n,r)),!0)}function za(n,e){return E.cursor(e?n.to:n.from)}function O0(n,e){return Vt(n,t=>t.empty?n.moveByChar(t,e):za(t,e))}function nt(n){return n.textDirectionAt(n.state.selection.main.head)==Oe.LTR}const P0=n=>O0(n,!nt(n)),A0=n=>O0(n,nt(n));function M0(n,e){return Vt(n,t=>t.empty?n.moveByGroup(t,e):za(t,e))}const P3=n=>M0(n,!nt(n)),A3=n=>M0(n,nt(n));function M3(n,e,t){if(e.type.prop(t))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function Ha(n,e,t){let r=tt(n).resolveInner(e.head),i=t?de.closedBy:de.openedBy;for(let l=e.head;;){let c=t?r.childAfter(l):r.childBefore(l);if(!c)break;M3(n,c,i)?r=c:l=t?c.to:c.from}let s=r.type.prop(i),o,a;return s&&(o=t?Qt(n,r.from,1):Qt(n,r.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?r.to:r.from,E.cursor(a,t?-1:1)}const N3=n=>Vt(n,e=>Ha(n.state,e,!nt(n))),D3=n=>Vt(n,e=>Ha(n.state,e,nt(n)));function N0(n,e){return Vt(n,t=>{if(!t.empty)return za(t,e);let r=n.moveVertically(t,e);return r.head!=t.head?r:n.moveToLineBoundary(t,e)})}const D0=n=>N0(n,!1),T0=n=>N0(n,!0);function E0(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,r=0,i;if(e){for(let s of n.state.facet(H.scrollMargins)){let o=s(n);o?.top&&(t=Math.max(o?.top,t)),o?.bottom&&(r=Math.max(o?.bottom,r))}i=n.scrollDOM.clientHeight-t-r}else i=(n.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:r,selfScroll:e,height:Math.max(n.defaultLineHeight,i-5)}}function R0(n,e){let t=E0(n),{state:r}=n,i=_r(r.selection,o=>o.empty?n.moveVertically(o,e,t.height):za(o,e));if(i.eq(r.selection))return!1;let s;if(t.selfScroll){let o=n.coordsAtPos(r.selection.main.head),a=n.scrollDOM.getBoundingClientRect(),l=a.top+t.marginTop,c=a.bottom-t.marginBottom;o&&o.top>l&&o.bottom<c&&(s=H.scrollIntoView(i.main.head,{y:"start",yMargin:o.top-l}))}return n.dispatch(Ft(r,i),{effects:s}),!0}const gf=n=>R0(n,!1),Zc=n=>R0(n,!0);function Vn(n,e,t){let r=n.lineBlockAt(e.head),i=n.moveToLineBoundary(e,t);if(i.head==e.head&&i.head!=(t?r.to:r.from)&&(i=n.moveToLineBoundary(e,t,!1)),!t&&i.head==r.from&&r.length){let s=/^\s*/.exec(n.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;s&&e.head!=r.from+s&&(i=E.cursor(r.from+s))}return i}const T3=n=>Vt(n,e=>Vn(n,e,!0)),E3=n=>Vt(n,e=>Vn(n,e,!1)),R3=n=>Vt(n,e=>Vn(n,e,!nt(n))),L3=n=>Vt(n,e=>Vn(n,e,nt(n))),I3=n=>Vt(n,e=>E.cursor(n.lineBlockAt(e.head).from,1)),B3=n=>Vt(n,e=>E.cursor(n.lineBlockAt(e.head).to,-1));function $3(n,e,t){let r=!1,i=_r(n.selection,s=>{let o=Qt(n,s.head,-1)||Qt(n,s.head,1)||s.head>0&&Qt(n,s.head-1,1)||s.head<n.doc.length&&Qt(n,s.head+1,-1);if(!o||!o.end)return s;r=!0;let a=o.start.from==s.head?o.end.to:o.end.from;return E.cursor(a)});return r?(e(Ft(n,i)),!0):!1}const F3=({state:n,dispatch:e})=>$3(n,e);function Et(n,e){let t=_r(n.state.selection,r=>{let i=e(r);return E.range(r.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch(Ft(n.state,t)),!0)}function L0(n,e){return Et(n,t=>n.moveByChar(t,e))}const I0=n=>L0(n,!nt(n)),B0=n=>L0(n,nt(n));function $0(n,e){return Et(n,t=>n.moveByGroup(t,e))}const V3=n=>$0(n,!nt(n)),z3=n=>$0(n,nt(n)),H3=n=>Et(n,e=>Ha(n.state,e,!nt(n))),_3=n=>Et(n,e=>Ha(n.state,e,nt(n)));function F0(n,e){return Et(n,t=>n.moveVertically(t,e))}const V0=n=>F0(n,!1),z0=n=>F0(n,!0);function H0(n,e){return Et(n,t=>n.moveVertically(t,e,E0(n).height))}const bf=n=>H0(n,!1),yf=n=>H0(n,!0),W3=n=>Et(n,e=>Vn(n,e,!0)),U3=n=>Et(n,e=>Vn(n,e,!1)),K3=n=>Et(n,e=>Vn(n,e,!nt(n))),G3=n=>Et(n,e=>Vn(n,e,nt(n))),q3=n=>Et(n,e=>E.cursor(n.lineBlockAt(e.head).from)),Y3=n=>Et(n,e=>E.cursor(n.lineBlockAt(e.head).to)),xf=({state:n,dispatch:e})=>(e(Ft(n,{anchor:0})),!0),vf=({state:n,dispatch:e})=>(e(Ft(n,{anchor:n.doc.length})),!0),wf=({state:n,dispatch:e})=>(e(Ft(n,{anchor:n.selection.main.anchor,head:0})),!0),kf=({state:n,dispatch:e})=>(e(Ft(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),Q3=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),J3=({state:n,dispatch:e})=>{let t=_a(n).map(({from:r,to:i})=>E.range(r,Math.min(i+1,n.doc.length)));return e(n.update({selection:E.create(t),userEvent:"select"})),!0},X3=({state:n,dispatch:e})=>{let t=_r(n.selection,r=>{let i=tt(n),s=i.resolveStack(r.from,1);if(r.empty){let o=i.resolveStack(r.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&o.next)return E.range(a.to,a.from)}return r});return t.eq(n.selection)?!1:(e(Ft(n,t)),!0)};function _0(n,e){let{state:t}=n,r=t.selection,i=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to<n.state.doc.length:o.from>0)for(let a=s;;){let l=n.moveVertically(a,e);if(l.head<o.from||l.head>o.to){i.some(c=>c.head==l.head)||i.push(l);break}else{if(l.head==a.head)break;a=l}}}return i.length==r.ranges.length?!1:(n.dispatch(Ft(t,E.create(i,i.length-1))),!0)}const Z3=n=>_0(n,!1),e4=n=>_0(n,!0),t4=({state:n,dispatch:e})=>{let t=n.selection,r=null;return t.ranges.length>1?r=E.create([t.main]):t.main.empty||(r=E.create([E.cursor(t.main.head)])),r?(e(Ft(n,r)),!0):!1};function _s(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:r}=n,i=r.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let l=e(s);l<o?(t="delete.backward",l=Ao(n,l,!1)):l>o&&(t="delete.forward",l=Ao(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=Ao(n,o,!1),a=Ao(n,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:E.cursor(o,o<s.head?-1:1)}});return i.changes.empty?!1:(n.dispatch(r.update(i,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?H.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function Ao(n,e,t){if(n instanceof H)for(let r of n.state.facet(H.atomicRanges).map(i=>i(n)))r.between(e,e,(i,s)=>{i<e&&s>e&&(e=t?s:i)});return e}const W0=(n,e,t)=>_s(n,r=>{let i=r.from,{state:s}=n,o=s.doc.lineAt(i),a,l;if(t&&!e&&i>o.from&&i<o.from+200&&!/[^ \t]/.test(a=o.text.slice(0,i-o.from))){if(a[a.length-1]==" ")return i-1;let c=zr(a,s.tabSize),h=c%fa(s)||fa(s);for(let d=0;d<h&&a[a.length-1-d]==" ";d++)i--;l=i}else l=ze(o.text,i-o.from,e,e)+o.from,l==i&&o.number!=(e?s.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(l-o.from,i-o.from))&&(l=ze(o.text,l-o.from,!1,!1)+o.from);return l}),eh=n=>W0(n,!1,!0),U0=n=>W0(n,!0,!1),K0=(n,e)=>_s(n,t=>{let r=t.head,{state:i}=n,s=i.doc.lineAt(r),o=i.charCategorizer(r);for(let a=null;;){if(r==(e?s.to:s.from)){r==t.head&&s.number!=(e?i.doc.lines:1)&&(r+=e?1:-1);break}let l=ze(s.text,r-s.from,e)+s.from,c=s.text.slice(Math.min(r,l)-s.from,Math.max(r,l)-s.from),h=o(c);if(a!=null&&h!=a)break;(c!=" "||r!=t.head)&&(a=h),r=l}return r}),G0=n=>K0(n,!1),n4=n=>K0(n,!0),r4=n=>_s(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),i4=n=>_s(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),s4=n=>_s(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),o4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:xe.of(["",""])},range:E.cursor(r.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},a4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>{if(!r.empty||r.from==0||r.from==n.doc.length)return{range:r};let i=r.from,s=n.doc.lineAt(i),o=i==s.from?i-1:ze(s.text,i-s.from,!1)+s.from,a=i==s.to?i+1:ze(s.text,i-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:n.doc.slice(i,a).append(n.doc.slice(o,i))},range:E.cursor(a)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function _a(n){let e=[],t=-1;for(let r of n.selection.ranges){let i=n.doc.lineAt(r.from),s=n.doc.lineAt(r.to);if(!r.empty&&r.to==s.from&&(s=n.doc.lineAt(r.to-1)),t>=i.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(r)}else e.push({from:i.from,to:s.to,ranges:[r]});t=s.number+1}return e}function q0(n,e,t){if(n.readOnly)return!1;let r=[],i=[];for(let s of _a(n)){if(t?s.to==n.doc.length:s.from==0)continue;let o=n.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){r.push({from:s.to,to:o.to},{from:s.from,insert:o.text+n.lineBreak});for(let l of s.ranges)i.push(E.range(Math.min(n.doc.length,l.anchor+a),Math.min(n.doc.length,l.head+a)))}else{r.push({from:o.from,to:s.from},{from:s.to,insert:n.lineBreak+o.text});for(let l of s.ranges)i.push(E.range(l.anchor-a,l.head-a))}}return r.length?(e(n.update({changes:r,scrollIntoView:!0,selection:E.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const l4=({state:n,dispatch:e})=>q0(n,e,!1),c4=({state:n,dispatch:e})=>q0(n,e,!0);function Y0(n,e,t){if(n.readOnly)return!1;let r=[];for(let s of _a(n))t?r.push({from:s.from,insert:n.doc.slice(s.from,s.to)+n.lineBreak}):r.push({from:s.to,insert:n.lineBreak+n.doc.slice(s.from,s.to)});let i=n.changes(r);return e(n.update({changes:i,selection:n.selection.map(i,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const h4=({state:n,dispatch:e})=>Y0(n,e,!1),u4=({state:n,dispatch:e})=>Y0(n,e,!0),d4=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(_a(e).map(({from:i,to:s})=>(i>0?i--:s<e.doc.length&&s++,{from:i,to:s}))),r=_r(e.selection,i=>{let s;if(n.lineWrapping){let o=n.lineBlockAt(i.head),a=n.coordsAtPos(i.head,i.assoc||1);a&&(s=o.bottom+n.documentTop-a.bottom+n.defaultLineHeight/2)}return n.moveVertically(i,!0,s)}).map(t);return n.dispatch({changes:t,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function f4(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=tt(n).resolveInner(e),r=t.childBefore(e),i=t.childAfter(e),s;return r&&i&&r.to<=e&&i.from>=e&&(s=r.type.prop(de.closedBy))&&s.indexOf(i.name)>-1&&n.doc.lineAt(r.to).from==n.doc.lineAt(i.from).from&&!/\S/.test(n.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}const Sf=Q0(!1),p4=Q0(!0);function Q0(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange(i=>{let{from:s,to:o}=i,a=e.doc.lineAt(s),l=!n&&s==o&&f4(e,s);n&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new $a(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=Bh(c,s);for(h==null&&(h=zr(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<a.to&&/\s/.test(a.text[o-a.from]);)o++;l?{from:s,to:o}=l:s>a.from&&s<a.from+100&&!/\S/.test(a.text.slice(0,s))&&(s=a.from);let d=["",Ki(e,h)];return l&&d.push(Ki(e,c.lineIndent(a.from,-1))),{changes:{from:s,to:o,insert:xe.of(d)},range:E.cursor(s+1+d[1].length)}});return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Hh(n,e){let t=-1;return n.changeByRange(r=>{let i=[];for(let o=r.from;o<=r.to;){let a=n.doc.lineAt(o);a.number>t&&(r.empty||r.to>a.from)&&(e(a,i,r),t=a.number),o=a.to+1}let s=n.changes(i);return{changes:i,range:E.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}const m4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),r=new $a(n,{overrideIndentation:s=>{let o=t[s];return o??-1}}),i=Hh(n,(s,o,a)=>{let l=Bh(r,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=Ki(n,l);(c!=h||a.from<s.from+c.length)&&(t[s.from]=l,o.push({from:s.from,to:s.from+c.length,insert:h}))});return i.changes.empty||e(n.update(i,{userEvent:"indent"})),!0},J0=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Hh(n,(t,r)=>{r.push({from:t.from,insert:n.facet(Ba)})}),{userEvent:"input.indent"})),!0),X0=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Hh(n,(t,r)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let s=zr(i,n.tabSize),o=0,a=Ki(n,Math.max(0,s-fa(n)));for(;o<i.length&&o<a.length&&i.charCodeAt(o)==a.charCodeAt(o);)o++;r.push({from:t.from+o,to:t.from+i.length,insert:a.slice(o)})}),{userEvent:"delete.dedent"})),!0),g4=n=>(n.setTabFocusMode(),!0),b4=[{key:"Ctrl-b",run:P0,shift:I0,preventDefault:!0},{key:"Ctrl-f",run:A0,shift:B0},{key:"Ctrl-p",run:D0,shift:V0},{key:"Ctrl-n",run:T0,shift:z0},{key:"Ctrl-a",run:I3,shift:q3},{key:"Ctrl-e",run:B3,shift:Y3},{key:"Ctrl-d",run:U0},{key:"Ctrl-h",run:eh},{key:"Ctrl-k",run:r4},{key:"Ctrl-Alt-h",run:G0},{key:"Ctrl-o",run:o4},{key:"Ctrl-t",run:a4},{key:"Ctrl-v",run:Zc}],y4=[{key:"ArrowLeft",run:P0,shift:I0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:P3,shift:V3,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:R3,shift:K3,preventDefault:!0},{key:"ArrowRight",run:A0,shift:B0,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:A3,shift:z3,preventDefault:!0},{mac:"Cmd-ArrowRight",run:L3,shift:G3,preventDefault:!0},{key:"ArrowUp",run:D0,shift:V0,preventDefault:!0},{mac:"Cmd-ArrowUp",run:xf,shift:wf},{mac:"Ctrl-ArrowUp",run:gf,shift:bf},{key:"ArrowDown",run:T0,shift:z0,preventDefault:!0},{mac:"Cmd-ArrowDown",run:vf,shift:kf},{mac:"Ctrl-ArrowDown",run:Zc,shift:yf},{key:"PageUp",run:gf,shift:bf},{key:"PageDown",run:Zc,shift:yf},{key:"Home",run:E3,shift:U3,preventDefault:!0},{key:"Mod-Home",run:xf,shift:wf},{key:"End",run:T3,shift:W3,preventDefault:!0},{key:"Mod-End",run:vf,shift:kf},{key:"Enter",run:Sf,shift:Sf},{key:"Mod-a",run:Q3},{key:"Backspace",run:eh,shift:eh,preventDefault:!0},{key:"Delete",run:U0,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:G0,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:n4,preventDefault:!0},{mac:"Mod-Backspace",run:i4,preventDefault:!0},{mac:"Mod-Delete",run:s4,preventDefault:!0}].concat(b4.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),x4=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:N3,shift:H3},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:D3,shift:_3},{key:"Alt-ArrowUp",run:l4},{key:"Shift-Alt-ArrowUp",run:h4},{key:"Alt-ArrowDown",run:c4},{key:"Shift-Alt-ArrowDown",run:u4},{key:"Mod-Alt-ArrowUp",run:Z3},{key:"Mod-Alt-ArrowDown",run:e4},{key:"Escape",run:t4},{key:"Mod-Enter",run:p4},{key:"Alt-l",mac:"Ctrl-l",run:J3},{key:"Mod-i",run:X3,preventDefault:!0},{key:"Mod-[",run:X0},{key:"Mod-]",run:J0},{key:"Mod-Alt-\\",run:m4},{key:"Shift-Mod-k",run:d4},{key:"Shift-Mod-\\",run:F3},{key:"Mod-/",run:l3},{key:"Alt-A",run:h3},{key:"Ctrl-m",mac:"Shift-Alt-m",run:g4}].concat(y4),v4={key:"Tab",run:J0,shift:X0},Cf=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class $r{constructor(e,t,r=0,i=e.length,s,o){this.test=o,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,i),this.bufferStart=r,this.normalize=s?a=>s(Cf(a)):Cf,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 at(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=vh(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=qt(e);let i=this.normalize(t);if(i.length)for(let s=0,o=r;;s++){let a=i.charCodeAt(s),l=this.match(a,o,this.bufferPos+this.bufferStart);if(s==i.length-1){if(l)return this.value=l,this;break}o==r&&s<t.length&&t.charCodeAt(s)==a&&o++}}}match(e,t,r){let i=null;for(let s=0;s<this.matches.length;s+=2){let o=this.matches[s],a=!1;this.query.charCodeAt(o)==e&&(o==this.query.length-1?i={from:this.matches[s+1],to:r}:(this.matches[s]++,a=!0)),a||(this.matches.splice(s,2),s-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?i={from:t,to:r}:this.matches.push(1,t)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}typeof Symbol<"u"&&($r.prototype[Symbol.iterator]=function(){return this});const Z0={from:-1,to:-1,match:/.*/.exec("")},_h="gm"+(/x/.unicode==null?"":"u");class eb{constructor(e,t,r,i=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=Z0,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new tb(e,t,r,i,s);this.re=new RegExp(t,_h+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let o=e.lineAt(i);this.curLineStart=o.from,this.matchPos=ba(e,i),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.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 r=this.curLineStart+t.index,i=r+t[0].length;if(this.matchPos=ba(this.text,i+(r==i?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<i||r>this.value.to)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const Ml=new WeakMap;class Nr{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let i=Ml.get(e);if(!i||i.from>=r||i.to<=t){let a=new Nr(t,e.sliceString(t,r));return Ml.set(e,a),a}if(i.from==t&&i.to==r)return i;let{text:s,from:o}=i;return o>t&&(s=e.sliceString(t,o)+s,o=t),i.to<r&&(s+=e.sliceString(i.to,r)),Ml.set(e,new Nr(o,s)),new Nr(t,s.slice(t-o,r-o))}}class tb{constructor(e,t,r,i,s){this.text=e,this.to=s,this.done=!1,this.value=Z0,this.matchPos=ba(e,i),this.re=new RegExp(t,_h+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=Nr.get(e,i,this.chunkEnd(i+5e3))}chunkEnd(e){return e>=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 r=this.flat.from+t.index,i=r+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,i,t)))return this.value={from:r,to:i,match:t},this.matchPos=ba(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Nr.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(eb.prototype[Symbol.iterator]=tb.prototype[Symbol.iterator]=function(){return this});function w4(n){try{return new RegExp(n,_h),!0}catch{return!1}}function ba(n,e){if(e>=n.length)return e;let t=n.lineAt(e),r;for(;e<t.to&&(r=t.text.charCodeAt(e-t.from))>=56320&&r<57344;)e++;return e}function th(n){let e=String(n.state.doc.lineAt(n.state.selection.main.head).number),t=Ce("input",{class:"cm-textfield",name:"line",value:e}),r=Ce("form",{class:"cm-gotoLine",onkeydown:s=>{s.keyCode==27?(s.preventDefault(),n.dispatch({effects:Pi.of(!1)}),n.focus()):s.keyCode==13&&(s.preventDefault(),i())},onsubmit:s=>{s.preventDefault(),i()}},Ce("label",n.state.phrase("Go to line"),": ",t)," ",Ce("button",{class:"cm-button",type:"submit"},n.state.phrase("go")),Ce("button",{name:"close",onclick:()=>{n.dispatch({effects:Pi.of(!1)}),n.focus()},"aria-label":n.state.phrase("close"),type:"button"},["×"]));function i(){let s=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!s)return;let{state:o}=n,a=o.doc.lineAt(o.selection.main.head),[,l,c,h,d]=s,f=h?+h.slice(1):0,p=c?+c:a.number;if(c&&d){let y=p/100;l&&(y=y*(l=="-"?-1:1)+a.number/o.doc.lines),p=Math.round(o.doc.lines*y)}else c&&l&&(p=p*(l=="-"?-1:1)+a.number);let m=o.doc.line(Math.max(1,Math.min(o.doc.lines,p))),b=E.cursor(m.from+Math.max(0,Math.min(f,m.length)));n.dispatch({effects:[Pi.of(!1),H.scrollIntoView(b.from,{y:"center"})],selection:b}),n.focus()}return{dom:r}}const Pi=ae.define(),jf=Qe.define({create(){return!0},update(n,e){for(let t of e.effects)t.is(Pi)&&(n=t.value);return n},provide:n=>Ui.from(n,e=>e?th:null)}),k4=n=>{let e=Wi(n,th);if(!e){let t=[Pi.of(!0)];n.state.field(jf,!1)==null&&t.push(ae.appendConfig.of([jf,S4])),n.dispatch({effects:t}),e=Wi(n,th)}return e&&e.dom.querySelector("input").select(),!0},S4=H.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px",position:"relative","& label":{fontSize:"80%"},"& [name=close]":{position:"absolute",top:"0",bottom:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:"0"}}}),C4={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},j4=K.define({combine(n){return sn(n,C4,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function O4(n){return[D4,N4]}const P4=ne.mark({class:"cm-selectionMatch"}),A4=ne.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Of(n,e,t,r){return(t==0||n(e.sliceDoc(t-1,t))!=Ne.Word)&&(r==e.doc.length||n(e.sliceDoc(r,r+1))!=Ne.Word)}function M4(n,e,t,r){return n(e.sliceDoc(t,t+1))==Ne.Word&&n(e.sliceDoc(r-1,r))==Ne.Word}const N4=$e.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(j4),{state:t}=n,r=t.selection;if(r.ranges.length>1)return ne.none;let i=r.main,s,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return ne.none;let l=t.wordAt(i.head);if(!l)return ne.none;o=t.charCategorizer(i.head),s=t.sliceDoc(l.from,l.to)}else{let l=i.to-i.from;if(l<e.minSelectionLength||l>200)return ne.none;if(e.wholeWords){if(s=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(Of(o,t,i.from,i.to)&&M4(o,t,i.from,i.to)))return ne.none}else if(s=t.sliceDoc(i.from,i.to),!s)return ne.none}let a=[];for(let l of n.visibleRanges){let c=new $r(t.doc,s,l.from,l.to);for(;!c.next().done;){let{from:h,to:d}=c.value;if((!o||Of(o,t,h,d))&&(i.empty&&h<=i.from&&d>=i.to?a.push(A4.range(h,d)):(h>=i.to||d<=i.from)&&a.push(P4.range(h,d)),a.length>e.maxMatches))return ne.none}}return ne.set(a)}},{decorations:n=>n.decorations}),D4=H.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),T4=({state:n,dispatch:e})=>{let{selection:t}=n,r=E.create(t.ranges.map(i=>n.wordAt(i.head)||E.cursor(i.head)),t.mainIndex);return r.eq(t)?!1:(e(n.update({selection:r})),!0)};function E4(n,e){let{main:t,ranges:r}=n.selection,i=n.wordAt(t.head),s=i&&i.from==t.from&&i.to==t.to;for(let o=!1,a=new $r(n.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new $r(n.doc,e,0,Math.max(0,r[r.length-1].from-1)),o=!0}else{if(o&&r.some(l=>l.from==a.value.from))continue;if(s){let l=n.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const R4=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(s=>s.from===s.to))return T4({state:n,dispatch:e});let r=n.sliceDoc(t[0].from,t[0].to);if(n.selection.ranges.some(s=>n.sliceDoc(s.from,s.to)!=r))return!1;let i=E4(n,r);return i?(e(n.update({selection:n.selection.addRange(E.range(i.from,i.to),!1),effects:H.scrollIntoView(i.to)})),!0):!1},Wr=K.define({combine(n){return sn(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new K4(e),scrollToMatch:e=>H.scrollIntoView(e)})}});class nb{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||w4(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(t,r)=>r=="n"?`
63
+ `:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new $4(this):new I4(this)}getCursor(e,t=0,r){let i=e.doc?e:pe.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?br(this,i,t,r):gr(this,i,t,r)}}class rb{constructor(e){this.spec=e}}function gr(n,e,t,r){return new $r(e.doc,n.unquoted,t,r,n.caseSensitive?void 0:i=>i.toLowerCase(),n.wholeWord?L4(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function L4(n,e){return(t,r,i,s)=>((s>t||s+i.length<r)&&(s=Math.max(0,t-2),i=n.sliceString(s,Math.min(n.length,r+2))),(e(ya(i,t-s))!=Ne.Word||e(xa(i,t-s))!=Ne.Word)&&(e(xa(i,r-s))!=Ne.Word||e(ya(i,r-s))!=Ne.Word))}class I4 extends rb{constructor(e){super(e)}nextMatch(e,t,r){let i=gr(this.spec,e,r,e.doc.length).nextOverlapping();if(i.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);i=gr(this.spec,e,0,s).nextOverlapping()}return i.done||i.value.from==t&&i.value.to==r?null:i.value}prevMatchInRange(e,t,r){for(let i=r;;){let s=Math.max(t,i-1e4-this.spec.unquoted.length),o=gr(this.spec,e,s,i),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==t)return null;i-=1e4}}prevMatch(e,t,r){let i=this.prevMatchInRange(e,0,t);return i||(i=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),i&&(i.from!=t||i.to!=r)?i:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let r=gr(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let s=gr(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}}function br(n,e,t,r){return new eb(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?B4(e.charCategorizer(e.selection.main.head)):void 0},t,r)}function ya(n,e){return n.slice(ze(n,e,!1),e)}function xa(n,e){return n.slice(e,ze(n,e))}function B4(n){return(e,t,r)=>!r[0].length||(n(ya(r.input,r.index))!=Ne.Word||n(xa(r.input,r.index))!=Ne.Word)&&(n(xa(r.input,r.index+r[0].length))!=Ne.Word||n(ya(r.input,r.index+r[0].length))!=Ne.Word)}class $4 extends rb{nextMatch(e,t,r){let i=br(this.spec,e,r,e.doc.length).next();return i.done&&(i=br(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,r){for(let i=1;;i++){let s=Math.max(t,r-i*1e4),o=br(this.spec,e,s,r),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,r){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let i=r.length;i>0;i--){let s=+r.slice(0,i);if(s>0&&s<e.match.length)return e.match[s]+r.slice(i)}return t})}matchAll(e,t){let r=br(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=t)return null;i.push(r.value)}return i}highlight(e,t,r,i){let s=br(this.spec,e,Math.max(0,t-250),Math.min(r+250,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}}const Gi=ae.define(),Wh=ae.define(),Tn=Qe.define({create(n){return new Nl(nh(n).create(),null)},update(n,e){for(let t of e.effects)t.is(Gi)?n=new Nl(t.value.create(),n.panel):t.is(Wh)&&(n=new Nl(n.query,t.value?Uh:null));return n},provide:n=>Ui.from(n,e=>e.panel)});class Nl{constructor(e,t){this.query=e,this.panel=t}}const F4=ne.mark({class:"cm-searchMatch"}),V4=ne.mark({class:"cm-searchMatch cm-searchMatch-selected"}),z4=$e.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(Tn))}update(n){let e=n.state.field(Tn);(e!=n.startState.field(Tn)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return ne.none;let{view:t}=this,r=new mn;for(let i=0,s=t.visibleRanges,o=s.length;i<o;i++){let{from:a,to:l}=s[i];for(;i<o-1&&l>s[i+1].from-2*250;)l=s[++i].to;n.highlight(t.state,a,l,(c,h)=>{let d=t.state.selection.ranges.some(f=>f.from==c&&f.to==h);r.add(c,h,d?V4:F4)})}return r.finish()}},{decorations:n=>n.decorations});function Ws(n){return e=>{let t=e.state.field(Tn,!1);return t&&t.query.spec.valid?n(e,t):ob(e)}}const va=Ws((n,{query:e})=>{let{to:t}=n.state.selection.main,r=e.nextMatch(n.state,t,t);if(!r)return!1;let i=E.single(r.from,r.to),s=n.state.facet(Wr);return n.dispatch({selection:i,effects:[Kh(n,r),s.scrollToMatch(i.main,n)],userEvent:"select.search"}),sb(n),!0}),wa=Ws((n,{query:e})=>{let{state:t}=n,{from:r}=t.selection.main,i=e.prevMatch(t,r,r);if(!i)return!1;let s=E.single(i.from,i.to),o=n.state.facet(Wr);return n.dispatch({selection:s,effects:[Kh(n,i),o.scrollToMatch(s.main,n)],userEvent:"select.search"}),sb(n),!0}),H4=Ws((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:E.create(t.map(r=>E.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),_4=({state:n,dispatch:e})=>{let t=n.selection;if(t.ranges.length>1||t.main.empty)return!1;let{from:r,to:i}=t.main,s=[],o=0;for(let a=new $r(n.doc,n.sliceDoc(r,i));!a.next().done;){if(s.length>1e3)return!1;a.value.from==r&&(o=s.length),s.push(E.range(a.value.from,a.value.to))}return e(n.update({selection:E.create(s,o),userEvent:"select.search.matches"})),!0},Pf=Ws((n,{query:e})=>{let{state:t}=n,{from:r,to:i}=t.selection.main;if(t.readOnly)return!1;let s=e.nextMatch(t,r,r);if(!s)return!1;let o=s,a=[],l,c,h=[];o.from==r&&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(H.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(r).number)+".")));let d=n.state.changes(a);return o&&(l=E.single(o.from,o.to).map(d),h.push(Kh(n,o)),h.push(t.facet(Wr).scrollToMatch(l.main,n))),n.dispatch({changes:d,selection:l,effects:h,userEvent:"input.replace"}),!0}),W4=Ws((n,{query:e})=>{if(n.state.readOnly)return!1;let t=e.matchAll(n.state,1e9).map(i=>{let{from:s,to:o}=i;return{from:s,to:o,insert:e.getReplacement(i)}});if(!t.length)return!1;let r=n.state.phrase("replaced $ matches",t.length)+".";return n.dispatch({changes:t,effects:H.announce.of(r),userEvent:"input.replace.all"}),!0});function Uh(n){return n.state.facet(Wr).createPanel(n)}function nh(n,e){var t,r,i,s,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(Wr);return new nb({search:((t=e?.literal)!==null&&t!==void 0?t:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:c.caseSensitive,literal:(i=e?.literal)!==null&&i!==void 0?i:c.literal,regexp:(s=e?.regexp)!==null&&s!==void 0?s:c.regexp,wholeWord:(o=e?.wholeWord)!==null&&o!==void 0?o:c.wholeWord})}function ib(n){let e=Wi(n,Uh);return e&&e.dom.querySelector("[main-field]")}function sb(n){let e=ib(n);e&&e==n.root.activeElement&&e.select()}const ob=n=>{let e=n.state.field(Tn,!1);if(e&&e.panel){let t=ib(n);if(t&&t!=n.root.activeElement){let r=nh(n.state,e.query.spec);r.valid&&n.dispatch({effects:Gi.of(r)}),t.focus(),t.select()}}else n.dispatch({effects:[Wh.of(!0),e?Gi.of(nh(n.state,e.query.spec)):ae.appendConfig.of(q4)]});return!0},ab=n=>{let e=n.state.field(Tn,!1);if(!e||!e.panel)return!1;let t=Wi(n,Uh);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:Wh.of(!1)}),!0},U4=[{key:"Mod-f",run:ob,scope:"editor search-panel"},{key:"F3",run:va,shift:wa,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:va,shift:wa,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:ab,scope:"editor search-panel"},{key:"Mod-Shift-l",run:_4},{key:"Mod-Alt-g",run:k4},{key:"Mod-d",run:R4,preventDefault:!0}];class K4{constructor(e){this.view=e;let t=this.query=e.state.field(Tn).query.spec;this.commit=this.commit.bind(this),this.searchField=Ce("input",{value:t.search,placeholder:mt(e,"Find"),"aria-label":mt(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Ce("input",{value:t.replace,placeholder:mt(e,"Replace"),"aria-label":mt(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Ce("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Ce("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Ce("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function r(i,s,o){return Ce("button",{class:"cm-button",name:i,onclick:s,type:"button"},o)}this.dom=Ce("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,r("next",()=>va(e),[mt(e,"next")]),r("prev",()=>wa(e),[mt(e,"previous")]),r("select",()=>H4(e),[mt(e,"all")]),Ce("label",null,[this.caseField,mt(e,"match case")]),Ce("label",null,[this.reField,mt(e,"regexp")]),Ce("label",null,[this.wordField,mt(e,"by word")]),...e.state.readOnly?[]:[Ce("br"),this.replaceField,r("replace",()=>Pf(e),[mt(e,"replace")]),r("replaceAll",()=>W4(e),[mt(e,"replace all")])],Ce("button",{name:"close",onclick:()=>ab(e),"aria-label":mt(e,"close"),type:"button"},["×"])])}commit(){let e=new nb({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:Gi.of(e)}))}keydown(e){hk(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?wa:va)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),Pf(this.view))}update(e){for(let t of e.transactions)for(let r of t.effects)r.is(Gi)&&!r.value.eq(this.query)&&this.setQuery(r.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(Wr).top}}function mt(n,e){return n.state.phrase(e)}const Mo=30,No=/[\s\.,:;?!]/;function Kh(n,{from:e,to:t}){let r=n.state.doc.lineAt(e),i=n.state.doc.lineAt(t).to,s=Math.max(r.from,e-Mo),o=Math.min(i,t+Mo),a=n.state.sliceDoc(s,o);if(s!=r.from){for(let l=0;l<Mo;l++)if(!No.test(a[l+1])&&No.test(a[l])){a=a.slice(l);break}}if(o!=i){for(let l=a.length-1;l>a.length-Mo;l--)if(!No.test(a[l-1])&&No.test(a[l])){a=a.slice(0,l);break}}return H.announce.of(`${n.state.phrase("current match")}. ${a} ${n.state.phrase("on line")} ${r.number}.`)}const G4=H.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"}}),q4=[Tn,cr.low(z4),G4];class lb{constructor(e,t,r,i){this.state=e,this.pos=t,this.explicit=r,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=tt(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),r=Math.max(t.from,this.pos-250),i=t.text.slice(r-t.from,this.pos-t.from),s=i.search(cb(e,!1));return s<0?null:{from:r+s,to:this.pos,text:i.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function Af(n){let e=Object.keys(n).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function Y4(n){let e=Object.create(null),t=Object.create(null);for(let{label:i}of n){e[i[0]]=!0;for(let s=1;s<i.length;s++)t[i[s]]=!0}let r=Af(e)+Af(t)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function Q4(n){let e=n.map(i=>typeof i=="string"?{label:i}:i),[t,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:Y4(e);return i=>{let s=i.matchBefore(r);return s||i.explicit?{from:s?s.from:i.pos,options:e,validFor:t}:null}}class Mf{constructor(e,t,r,i){this.completion=e,this.source=t,this.match=r,this.score=i}}function rr(n){return n.selection.main.from}function cb(n,e){var t;let{source:r}=n,i=e&&r[0]!="^",s=r[r.length-1]!="$";return!i&&!s?n:new RegExp(`${i?"^":""}(?:${r})${s?"$":""}`,(t=n.flags)!==null&&t!==void 0?t:n.ignoreCase?"i":"")}const hb=rn.define();function J4(n,e,t,r){let{main:i}=n.selection,s=t-i.from,o=r-i.from;return{...n.changeByRange(a=>{if(a!=i&&t!=r&&n.sliceDoc(a.from+s,a.from+o)!=n.sliceDoc(t,r))return{range:a};let l=n.toText(e);return{changes:{from:a.from+s,to:r==i.from?a.to:a.from+o,insert:l},range:E.cursor(a.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const Nf=new WeakMap;function X4(n){if(!Array.isArray(n))return n;let e=Nf.get(n);return e||Nf.set(n,e=Q4(n)),e}const ka=ae.define(),qi=ae.define();class Z4{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let r=at(e,t),i=qt(r);this.chars.push(r);let s=e.slice(t,t+i),o=s.toUpperCase();this.folded.push(at(o==s?s.toLowerCase():o,0)),t+=i}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:t,folded:r,any:i,precise:s,byWord:o}=this;if(t.length==1){let k=at(e,0),S=qt(k),O=S==e.length?0:-100;if(k!=t[0])if(k==r[0])O+=-200;else return null;return this.ret(O,[0,S])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=t.length,c=0;if(a<0){for(let k=0,S=Math.min(e.length,200);k<S&&c<l;){let O=at(e,k);(O==t[c]||O==r[c])&&(i[c++]=k),k+=qt(O)}if(c<l)return null}let h=0,d=0,f=!1,p=0,m=-1,b=-1,y=/[a-z]/.test(e),v=!0;for(let k=0,S=Math.min(e.length,200),O=0;k<S&&d<l;){let C=at(e,k);a<0&&(h<l&&C==t[h]&&(s[h++]=k),p<l&&(C==t[p]||C==r[p]?(p==0&&(m=k),b=k+1,p++):p=0));let P,x=C<255?C>=48&&C<=57||C>=97&&C<=122?2:C>=65&&C<=90?1:0:(P=vh(C))!=P.toLowerCase()?1:P!=P.toUpperCase()?2:0;(!k||x==1&&y||O==0&&x!=0)&&(t[d]==C||r[d]==C&&(f=!0)?o[d++]=k:o.length&&(v=!1)),O=x,k+=qt(C)}return d==l&&o[0]==0&&v?this.result(-100+(f?-200:0),o,e):p==l&&m==0?this.ret(-200-e.length+(b==e.length?0:-100),[0,b]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==l?this.ret(-900-e.length,[m,b]):d==l?this.result(-100+(f?-200:0)+-700+(v?0:-1100),o,e):t.length==2?null:this.result((i[0]?-700:0)+-200+-1100,i,e)}result(e,t,r){let i=[],s=0;for(let o of t){let a=o+(this.astral?qt(at(r,o)):1);s&&i[s-1]==o?i[s-1]=a:(i[s++]=o,i[s++]=a)}return this.ret(e-r.length,i)}}class e5{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let t=e.slice(0,this.pattern.length),r=t==this.pattern?0:t.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,t.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}}const Ue=K.define({combine(n){return sn(n,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:t5,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>r=>Df(e(r),t(r)),optionClass:(e,t)=>r=>Df(e(r),t(r)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function Df(n,e){return n?e?n+" "+e:n:e}function t5(n,e,t,r,i,s){let o=n.textDirection==Oe.RTL,a=o,l=!1,c="top",h,d,f=e.left-i.left,p=i.right-e.right,m=r.right-r.left,b=r.bottom-r.top;if(a&&f<Math.min(m,p)?a=!1:!a&&p<Math.min(m,f)&&(a=!0),m<=(a?f:p))h=Math.max(i.top,Math.min(t.top,i.bottom-b))-e.top,d=Math.min(400,a?f:p);else{l=!0,d=Math.min(400,(o?e.right:i.right-e.left)-30);let k=i.bottom-e.bottom;k>=b||k>e.top?h=t.bottom-e.top:(c="bottom",h=e.bottom-t.top)}let y=(e.bottom-e.top)/s.offsetHeight,v=(e.right-e.left)/s.offsetWidth;return{style:`${c}: ${h/y}px; max-width: ${d/v}px`,class:"cm-completionInfo-"+(l?o?"left-narrow":"right-narrow":a?"left":"right")}}function n5(n){let e=n.addToOptions.slice();return n.icons&&e.push({render(t){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),t.type&&r.classList.add(...t.type.split(/\s+/g).map(i=>"cm-completionIcon-"+i)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(t,r,i,s){let o=document.createElement("span");o.className="cm-completionLabel";let a=t.displayLabel||t.label,l=0;for(let c=0;c<s.length;){let h=s[c++],d=s[c++];h>l&&o.appendChild(document.createTextNode(a.slice(l,h)));let f=o.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(h,d))),f.className="cm-completionMatchedText",l=d}return l<a.length&&o.appendChild(document.createTextNode(a.slice(l))),o},position:50},{render(t){if(!t.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=t.detail,r},position:80}),e.sort((t,r)=>t.position-r.position).map(t=>t.render)}function Dl(n,e,t){if(n<=t)return{from:0,to:n};if(e<0&&(e=0),e<=n>>1){let i=Math.floor(e/t);return{from:i*t,to:(i+1)*t}}let r=Math.floor((n-e)/t);return{from:n-(r+1)*t,to:n-r*t}}class r5{constructor(e,t,r){this.view=e,this.stateField=t,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:s,selected:o}=i.open,a=e.state.facet(Ue);this.optionContent=n5(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Dl(s.length,o,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:c}=e.state.field(t).open;for(let h=l.target,d;h&&h!=this.dom;h=h.parentNode)if(h.nodeName=="LI"&&(d=/-(\d+)$/.exec(h.id))&&+d[1]<c.length){this.applyCompletion(e,c[+d[1]]),l.preventDefault();return}}),this.dom.addEventListener("focusout",l=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(Ue).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:qi.of(null)})}),this.showOptions(s,i.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let r=e.state.field(this.stateField),i=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=i){let{options:s,selected:o,disabled:a}=r.open;(!i.open||i.open.options!=s)&&(this.range=Dl(s.length,o,e.state.facet(Ue).maxRenderedOptions),this.showOptions(s,r.id)),this.updateSel(),a!=((t=i.open)===null||t===void 0?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of t.split(" "))r&&this.dom.classList.add(r);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=Dl(t.options.length,t.selected,this.view.state.facet(Ue).maxRenderedOptions),this.showOptions(t.options,e.id));let r=this.updateSelectedOption(t.selected);if(r){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:s}=i;if(!s)return;let o=typeof s=="string"?document.createTextNode(s):s(i);if(!o)return;"then"in o?o.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,i)}).catch(a=>ht(this.view.state,a,"completion info")):(this.addInfoPane(o,i),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:i,destroy:s}=e;r.appendChild(i),this.infoDestroy=s||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let r=this.list.firstChild,i=this.range.from;r;r=r.nextSibling,i++)r.nodeName!="LI"||!r.id?i--:i==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),t=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return t&&s5(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),i=e.getBoundingClientRect(),s=this.space;if(!s){let o=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return i.top>Math.min(s.bottom,t.bottom)-10||i.bottom<Math.max(s.top,t.top)+10?null:this.view.state.facet(Ue).positionInfo(this.view,t,i,r,s,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,r){const i=document.createElement("ul");i.id=t,i.setAttribute("role","listbox"),i.setAttribute("aria-expanded","true"),i.setAttribute("aria-label",this.view.state.phrase("Completions")),i.addEventListener("mousedown",o=>{o.target==i&&o.preventDefault()});let s=null;for(let o=r.from;o<r.to;o++){let{completion:a,match:l}=e[o],{section:c}=a;if(c){let f=typeof c=="string"?c:c.name;if(f!=s&&(o>r.from||r.from==0))if(s=f,typeof c!="string"&&c.header)i.appendChild(c.header(c));else{let p=i.appendChild(document.createElement("completion-section"));p.textContent=f}}const h=i.appendChild(document.createElement("li"));h.id=t+"-"+o,h.setAttribute("role","option");let d=this.optionClass(a);d&&(h.className=d);for(let f of this.optionContent){let p=f(a,this.view.state,this.view,l);p&&h.appendChild(p)}}return r.from&&i.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&i.classList.add("cm-completionListIncompleteBottom"),i}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function i5(n,e){return t=>new r5(t,n,e)}function s5(n,e){let t=n.getBoundingClientRect(),r=e.getBoundingClientRect(),i=t.height/n.offsetHeight;r.top<t.top?n.scrollTop-=(t.top-r.top)/i:r.bottom>t.bottom&&(n.scrollTop+=(r.bottom-t.bottom)/i)}function Tf(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function o5(n,e){let t=[],r=null,i=null,s=h=>{t.push(h);let{section:d}=h.completion;if(d){r||(r=[]);let f=typeof d=="string"?d:d.name;r.some(p=>p.name==f)||r.push(typeof d=="string"?{name:f}:d)}},o=e.facet(Ue);for(let h of n)if(h.hasResult()){let d=h.result.getMatch;if(h.result.filter===!1)for(let f of h.result.options)s(new Mf(f,h.source,d?d(f):[],1e9-t.length));else{let f=e.sliceDoc(h.from,h.to),p,m=o.filterStrict?new e5(f):new Z4(f);for(let b of h.result.options)if(p=m.match(b.label)){let y=b.displayLabel?d?d(b,p.matched):[]:p.matched,v=p.score+(b.boost||0);if(s(new Mf(b,h.source,y,v)),typeof b.section=="object"&&b.section.rank==="dynamic"){let{name:k}=b.section;i||(i=Object.create(null)),i[k]=Math.max(v,i[k]||-1e9)}}}}if(r){let h=Object.create(null),d=0,f=(p,m)=>(p.rank==="dynamic"&&m.rank==="dynamic"?i[m.name]-i[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof m.rank=="number"?m.rank:1e9)||(p.name<m.name?-1:1);for(let p of r.sort(f))d-=1e5,h[p.name]=d;for(let p of t){let{section:m}=p.completion;m&&(p.score+=h[typeof m=="string"?m:m.name])}}let a=[],l=null,c=o.compareCompletions;for(let h of t.sort((d,f)=>f.score-d.score||c(d.completion,f.completion))){let d=h.completion;!l||l.label!=d.label||l.detail!=d.detail||l.type!=null&&d.type!=null&&l.type!=d.type||l.apply!=d.apply||l.boost!=d.boost?a.push(h):Tf(h.completion)>Tf(l)&&(a[a.length-1]=h),l=h.completion}return a}class kr{constructor(e,t,r,i,s,o){this.options=e,this.attrs=t,this.tooltip=r,this.timestamp=i,this.selected=s,this.disabled=o}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new kr(this.options,Ef(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,r,i,s,o){if(i&&!o&&e.some(c=>c.isPending))return i.setDisabled();let a=o5(e,t);if(!a.length)return i&&e.some(c=>c.isPending)?i.setDisabled():null;let l=t.facet(Ue).selectOnOpen?0:-1;if(i&&i.selected!=l&&i.selected!=-1){let c=i.options[i.selected].completion;for(let h=0;h<a.length;h++)if(a[h].completion==c){l=h;break}}return new kr(a,Ef(r,l),{pos:e.reduce((c,h)=>h.hasResult()?Math.min(c,h.from):c,1e8),create:d5,above:s.aboveCursor},i?i.timestamp:Date.now(),l,!1)}map(e){return new kr(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new kr(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Sa{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new Sa(h5,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,r=t.facet(Ue),s=(r.override||t.languageDataAt("autocomplete",rr(t)).map(X4)).map(l=>(this.active.find(h=>h.source==l)||new Pt(l,this.active.some(h=>h.state!=0)?1:0)).update(e,r));s.length==this.active.length&&s.every((l,c)=>l==this.active[c])&&(s=this.active);let o=this.open,a=e.effects.some(l=>l.is(Gh));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!a5(s,this.active)||a?o=kr.build(s,t,this.id,o,r,a):o&&o.disabled&&!s.some(l=>l.isPending)&&(o=null),!o&&s.every(l=>!l.isPending)&&s.some(l=>l.hasResult())&&(s=s.map(l=>l.hasResult()?new Pt(l.source,0):l));for(let l of e.effects)l.is(db)&&(o=o&&o.setSelected(l.value,this.id));return s==this.active&&o==this.open?this:new Sa(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?l5:c5}}function a5(n,e){if(n==e)return!0;for(let t=0,r=0;;){for(;t<n.length&&!n[t].hasResult();)t++;for(;r<e.length&&!e[r].hasResult();)r++;let i=t==n.length,s=r==e.length;if(i||s)return i==s;if(n[t++].result!=e[r++].result)return!1}}const l5={"aria-autocomplete":"list"},c5={};function Ef(n,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":n};return e>-1&&(t["aria-activedescendant"]=n+"-"+e),t}const h5=[];function ub(n,e){if(n.isUserEvent("input.complete")){let r=n.annotation(hb);if(r&&e.activateOnCompletion(r))return 12}let t=n.isUserEvent("input.type");return t&&e.activateOnTyping?5:t?1:n.isUserEvent("delete.backward")?2:n.selection?8:n.docChanged?16:0}class Pt{constructor(e,t,r=!1){this.source=e,this.state=t,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,t){let r=ub(e,t),i=this;(r&8||r&16&&this.touches(e))&&(i=new Pt(i.source,0)),r&4&&i.state==0&&(i=new Pt(this.source,1)),i=i.updateFor(e,r);for(let s of e.effects)if(s.is(ka))i=new Pt(i.source,1,s.value);else if(s.is(qi))i=new Pt(i.source,0);else if(s.is(Gh))for(let o of s.value)o.source==i.source&&(i=o);return i}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(rr(e.state))}}class Dr extends Pt{constructor(e,t,r,i,s,o){super(e,3,t),this.limit=r,this.result=i,this.from=s,this.to=o}hasResult(){return!0}updateFor(e,t){var r;if(!(t&3))return this.map(e.changes);let i=this.result;i.map&&!e.changes.empty&&(i=i.map(i,e.changes));let s=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),a=rr(e.state);if(a>o||!i||t&2&&(rr(e.startState)==this.from||a<this.limit))return new Pt(this.source,t&4?1:0);let l=e.changes.mapPos(this.limit);return u5(i.validFor,e.state,s,o)?new Dr(this.source,this.explicit,l,i,s,o):i.update&&(i=i.update(i,s,o,new lb(e.state,a,!1)))?new Dr(this.source,this.explicit,l,i,i.from,(r=i.to)!==null&&r!==void 0?r:rr(e.state)):new Pt(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new Dr(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new Pt(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function u5(n,e,t,r){if(!n)return!1;let i=e.sliceDoc(t,r);return typeof n=="function"?n(i,t,r,e):cb(n,!0).test(i)}const Gh=ae.define({map(n,e){return n.map(t=>t.map(e))}}),db=ae.define(),lt=Qe.define({create(){return Sa.start()},update(n,e){return n.update(e)},provide:n=>[Ih.from(n,e=>e.tooltip),H.contentAttributes.from(n,e=>e.attrs)]});function qh(n,e){const t=e.completion.apply||e.completion.label;let r=n.state.field(lt).active.find(i=>i.source==e.source);return r instanceof Dr?(typeof t=="string"?n.dispatch({...J4(n.state,t,r.from,r.to),annotations:hb.of(e.completion)}):t(n,e.completion,r.from,r.to),!0):!1}const d5=i5(lt,qh);function Do(n,e="option"){return t=>{let r=t.state.field(lt,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<t.state.facet(Ue).interactionDelay)return!1;let i=1,s;e=="page"&&(s=t0(t,r.open.tooltip))&&(i=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:o}=r.open.options,a=r.open.selected>-1?r.open.selected+i*(n?1:-1):n?0:o-1;return a<0?a=e=="page"?0:o-1:a>=o&&(a=e=="page"?o-1:0),t.dispatch({effects:db.of(a)}),!0}}const f5=n=>{let e=n.state.field(lt,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<n.state.facet(Ue).interactionDelay?!1:qh(n,e.open.options[e.open.selected])},Tl=n=>n.state.field(lt,!1)?(n.dispatch({effects:ka.of(!0)}),!0):!1,p5=n=>{let e=n.state.field(lt,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:qi.of(null)}),!0)};class m5{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const g5=50,b5=1e3,y5=$e.fromClass(class{constructor(n){this.view=n,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of n.state.field(lt).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(lt),t=n.state.facet(Ue);if(!n.selectionSet&&!n.docChanged&&n.startState.field(lt)==e)return;let r=n.transactions.some(s=>{let o=ub(s,t);return o&8||(s.selection||s.docChanged)&&!(o&3)});for(let s=0;s<this.running.length;s++){let o=this.running[s];if(r||o.context.abortOnDocChange&&n.docChanged||o.updates.length+n.transactions.length>g5&&Date.now()-o.time>b5){for(let a of o.context.abortListeners)try{a()}catch(l){ht(this.view.state,l)}o.context.abortListeners=null,this.running.splice(s--,1)}else o.updates.push(...n.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),n.transactions.some(s=>s.effects.some(o=>o.is(ka)))&&(this.pendingStart=!0);let i=this.pendingStart?50:t.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(o=>o.active.source==s.source))?setTimeout(()=>this.startUpdate(),i):-1,this.composing!=0)for(let s of n.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:n}=this.view,e=n.field(lt);for(let t of e.active)t.isPending&&!this.running.some(r=>r.active.source==t.source)&&this.startQuery(t);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Ue).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=rr(e),r=new lb(e,t,n.explicit,this.view),i=new m5(n,r);this.running.push(i),Promise.resolve(n.source(r)).then(s=>{i.context.aborted||(i.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:qi.of(null)}),ht(this.view.state,s)})}scheduleAccept(){this.running.every(n=>n.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Ue).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(Ue),r=this.view.state.field(lt);for(let i=0;i<this.running.length;i++){let s=this.running[i];if(s.done===void 0)continue;if(this.running.splice(i--,1),s.done){let a=rr(s.updates.length?s.updates[0].startState:this.view.state),l=Math.min(a,s.done.from+(s.active.explicit?0:1)),c=new Dr(s.active.source,s.active.explicit,l,s.done,s.done.from,(n=s.done.to)!==null&&n!==void 0?n:a);for(let h of s.updates)c=c.update(h,t);if(c.hasResult()){e.push(c);continue}}let o=r.active.find(a=>a.source==s.active.source);if(o&&o.isPending)if(s.done==null){let a=new Pt(s.active.source,0);for(let l of s.updates)a=a.update(l,t);a.isPending||e.push(a)}else this.startQuery(o)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:Gh.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(lt,!1);if(e&&e.tooltip&&this.view.state.facet(Ue).closeOnBlur){let t=e.open&&t0(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:qi.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:ka.of(!1)}),20),this.composing=0}}}),x5=typeof navigator=="object"&&/Win/.test(navigator.platform),v5=cr.highest(H.domEventHandlers({keydown(n,e){let t=e.state.field(lt,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(x5&&n.altKey)||n.metaKey)return!1;let r=t.open.options[t.open.selected],i=t.active.find(o=>o.source==r.source),s=r.completion.commitCharacters||i.result.commitCharacters;return s&&s.indexOf(n.key)>-1&&qh(e,r),!1}})),w5=H.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Yi={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},tr=ae.define({map(n,e){let t=e.mapPos(n,-1,st.TrackAfter);return t??void 0}}),Yh=new class extends Rn{};Yh.startSide=1;Yh.endSide=-1;const fb=Qe.define({create(){return fe.empty},update(n,e){if(n=n.map(e.changes),e.selection){let t=e.state.doc.lineAt(e.selection.main.head);n=n.update({filter:r=>r>=t.from&&r<=t.to})}for(let t of e.effects)t.is(tr)&&(n=n.update({add:[Yh.range(t.value,t.value+1)]}));return n}});function k5(){return[C5,fb]}const El="()[]{}<>«»»«[]{}";function pb(n){for(let e=0;e<El.length;e+=2)if(El.charCodeAt(e)==n)return El.charAt(e+1);return vh(n<128?n:n+1)}function mb(n,e){return n.languageDataAt("closeBrackets",e)[0]||Yi}const S5=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),C5=H.inputHandler.of((n,e,t,r)=>{if((S5?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let i=n.state.selection.main;if(r.length>2||r.length==2&&qt(at(r,0))==1||e!=i.from||t!=i.to)return!1;let s=P5(n.state,r);return s?(n.dispatch(s),!0):!1}),j5=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let r=mb(n,n.selection.main.head).brackets||Yi.brackets,i=null,s=n.changeByRange(o=>{if(o.empty){let a=A5(n.doc,o.head);for(let l of r)if(l==a&&Wa(n.doc,o.head)==pb(at(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:E.cursor(o.head-l.length)}}return{range:i=o}});return i||e(n.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},O5=[{key:"Backspace",run:j5}];function P5(n,e){let t=mb(n,n.selection.main.head),r=t.brackets||Yi.brackets;for(let i of r){let s=pb(at(i,0));if(e==i)return s==i?D5(n,i,r.indexOf(i+i+i)>-1,t):M5(n,i,s,t.before||Yi.before);if(e==s&&gb(n,n.selection.main.from))return N5(n,i,s)}return null}function gb(n,e){let t=!1;return n.field(fb).between(0,n.doc.length,r=>{r==e&&(t=!0)}),t}function Wa(n,e){let t=n.sliceString(e,e+2);return t.slice(0,qt(at(t,0)))}function A5(n,e){let t=n.sliceString(e-2,e);return qt(at(t,0))==t.length?t:t.slice(1)}function M5(n,e,t,r){let i=null,s=n.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:t,from:o.to}],effects:tr.of(o.to+e.length),range:E.range(o.anchor+e.length,o.head+e.length)};let a=Wa(n.doc,o.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:tr.of(o.head+e.length),range:E.cursor(o.head+e.length)}:{range:i=o}});return i?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function N5(n,e,t){let r=null,i=n.changeByRange(s=>s.empty&&Wa(n.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:E.cursor(s.head+t.length)}:r={range:s});return r?null:n.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function D5(n,e,t,r){let i=r.stringPrefixes||Yi.stringPrefixes,s=null,o=n.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:tr.of(a.to+e.length),range:E.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Wa(n.doc,l),h;if(c==e){if(Rf(n,l))return{changes:{insert:e+e,from:l},effects:tr.of(l+e.length),range:E.cursor(l+e.length)};if(gb(n,l)){let f=t&&n.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:E.cursor(l+f.length)}}}else{if(t&&n.sliceDoc(l-2*e.length,l)==e+e&&(h=Lf(n,l-2*e.length,i))>-1&&Rf(n,h))return{changes:{insert:e+e+e+e,from:l},effects:tr.of(l+e.length),range:E.cursor(l+e.length)};if(n.charCategorizer(l)(c)!=Ne.Word&&Lf(n,l,i)>-1&&!T5(n,l,e,i))return{changes:{insert:e+e,from:l},effects:tr.of(l+e.length),range:E.cursor(l+e.length)}}return{range:s=a}});return s?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function Rf(n,e){let t=tt(n).resolveInner(e+1);return t.parent&&t.from==e}function T5(n,e,t,r){let i=tt(n).resolveInner(e,-1),s=r.reduce((o,a)=>Math.max(o,a.length),0);for(let o=0;o<5;o++){let a=n.sliceDoc(i.from,Math.min(i.to,i.from+t.length+s)),l=a.indexOf(t);if(!l||l>-1&&r.indexOf(a.slice(0,l))>-1){let h=i.firstChild;for(;h&&h.from==i.from&&h.to-h.from>t.length+l;){if(n.sliceDoc(h.to-t.length,h.to)==t)return!1;h=h.firstChild}return!0}let c=i.to==e&&i.parent;if(!c)break;i=c}return!1}function Lf(n,e,t){let r=n.charCategorizer(e);if(r(n.sliceDoc(e-1,e))!=Ne.Word)return e;for(let i of t){let s=e-i.length;if(n.sliceDoc(s,e)==i&&r(n.sliceDoc(s-1,s))!=Ne.Word)return s}return-1}function E5(n={}){return[v5,lt,Ue.of(n),y5,R5,w5]}const bb=[{key:"Ctrl-Space",run:Tl},{mac:"Alt-`",run:Tl},{mac:"Alt-i",run:Tl},{key:"Escape",run:p5},{key:"ArrowDown",run:Do(!0)},{key:"ArrowUp",run:Do(!1)},{key:"PageDown",run:Do(!0,"page")},{key:"PageUp",run:Do(!1,"page")},{key:"Enter",run:f5}],R5=cr.highest(La.computeN([Ue],n=>n.facet(Ue).defaultKeymap?[bb]:[]));class If{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class Jn{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let i=r.facet(Qi).markerFilter;i&&(e=i(e,r));let s=e.slice().sort((p,m)=>p.from-m.from||p.to-m.to),o=new mn,a=[],l=0,c=r.doc.iter(),h=0,d=r.doc.length;for(let p=0;;){let m=p==s.length?null:s[p];if(!m&&!a.length)break;let b,y;if(a.length)b=l,y=a.reduce((S,O)=>Math.min(S,O.to),m&&m.from>b?m.from:1e8);else{if(b=m.from,b>d)break;y=m.to,a.push(m),p++}for(;p<s.length;){let S=s[p];if(S.from==b&&(S.to>S.from||S.to==b))a.push(S),p++,y=Math.min(S.to,y);else{y=Math.min(S.from,y);break}}y=Math.min(y,d);let v=!1;if(a.some(S=>S.from==b&&(S.to==y||y==d))&&(v=b==y,!v&&y-b<10)){let S=b-(h+c.value.length);S>0&&(c.next(S),h=b);for(let O=b;;){if(O>=y){v=!0;break}if(!c.lineBreak&&h+c.value.length>O)break;O=h+c.value.length,h+=c.value.length,c.next()}}let k=G5(a);if(v)o.add(b,b,ne.widget({widget:new _5(k),diagnostics:a.slice()}));else{let S=a.reduce((O,C)=>C.markClass?O+" "+C.markClass:O,"");o.add(b,y,ne.mark({class:"cm-lintRange cm-lintRange-"+k+S,diagnostics:a.slice(),inclusiveEnd:a.some(O=>O.to>y)}))}if(l=y,l==d)break;for(let S=0;S<a.length;S++)a[S].to<=l&&a.splice(S--,1)}let f=o.finish();return new Jn(f,t,Fr(f))}}function Fr(n,e=null,t=0){let r=null;return n.between(t,1e9,(i,s,{spec:o})=>{if(!(e&&o.diagnostics.indexOf(e)<0))if(!r)r=new If(i,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new If(r.from,s,r.diagnostic)}}),r}function L5(n,e){let t=e.pos,r=e.end||t,i=n.state.facet(Qi).hideOn(n,t,r);if(i!=null)return i;let s=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(o=>o.is(yb))||n.changes.touchesRange(s.from,Math.max(s.to,r)))}function I5(n,e){return n.field(yt,!1)?e:e.concat(ae.appendConfig.of(q5))}const yb=ae.define(),Qh=ae.define(),xb=ae.define(),yt=Qe.define({create(){return new Jn(ne.none,null,null)},update(n,e){if(e.docChanged&&n.diagnostics.size){let t=n.diagnostics.map(e.changes),r=null,i=n.panel;if(n.selected){let s=e.changes.mapPos(n.selected.from,1);r=Fr(t,n.selected.diagnostic,s)||Fr(t,null,s)}!t.size&&i&&e.state.facet(Qi).autoPanel&&(i=null),n=new Jn(t,i,r)}for(let t of e.effects)if(t.is(yb)){let r=e.state.facet(Qi).autoPanel?t.value.length?Ji.open:null:n.panel;n=Jn.init(t.value,r,e.state)}else t.is(Qh)?n=new Jn(n.diagnostics,t.value?Ji.open:null,n.selected):t.is(xb)&&(n=new Jn(n.diagnostics,n.panel,t.value));return n},provide:n=>[Ui.from(n,e=>e.panel),H.decorations.from(n,e=>e.diagnostics)]}),B5=ne.mark({class:"cm-lintRange cm-lintRange-active"});function $5(n,e,t){let{diagnostics:r}=n.state.field(yt),i,s=-1,o=-1;r.between(e-(t<0?1:0),e+(t>0?1:0),(l,c,{spec:h})=>{if(e>=l&&e<=c&&(l==c||(e>l||t>0)&&(e<c||t<0)))return i=h.diagnostics,s=l,o=c,!1});let a=n.state.facet(Qi).tooltipFilter;return i&&a&&(i=a(i,n.state)),i?{pos:s,end:o,above:n.state.doc.lineAt(s).to<o,create(){return{dom:F5(n,i)}}}:null}function F5(n,e){return Ce("ul",{class:"cm-tooltip-lint"},e.map(t=>wb(n,t,!1)))}const V5=n=>{let e=n.state.field(yt,!1);(!e||!e.panel)&&n.dispatch({effects:I5(n.state,[Qh.of(!0)])});let t=Wi(n,Ji.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},Bf=n=>{let e=n.state.field(yt,!1);return!e||!e.panel?!1:(n.dispatch({effects:Qh.of(!1)}),!0)},z5=n=>{let e=n.state.field(yt,!1);if(!e)return!1;let t=n.state.selection.main,r=e.diagnostics.iter(t.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==t.from&&r.to==t.to)?!1:(n.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},H5=[{key:"Mod-Shift-m",run:V5,preventDefault:!0},{key:"F8",run:z5}],Qi=K.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...sn(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:$f,tooltipFilter:$f,needsRefresh:(e,t)=>e?t?r=>e(r)||t(r):e:t,hideOn:(e,t)=>e?t?(r,i,s)=>e(r,i,s)||t(r,i,s):e:t,autoPanel:(e,t)=>e||t})}}});function $f(n,e){return n?e?(t,r)=>e(n(t,r),r):n:e}function vb(n){let e=[];if(n)e:for(let{name:t}of n){for(let r=0;r<t.length;r++){let i=t[r];if(/[a-zA-Z]/.test(i)&&!e.some(s=>s.toLowerCase()==i.toLowerCase())){e.push(i);continue e}}e.push("")}return e}function wb(n,e,t){var r;let i=t?vb(e.actions):[];return Ce("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Ce("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(n):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((s,o)=>{let a=!1,l=p=>{if(p.preventDefault(),a)return;a=!0;let m=Fr(n.state.field(yt).diagnostics,e);m&&s.apply(n,m.from,m.to)},{name:c}=s,h=i[o]?c.indexOf(i[o]):-1,d=h<0?c:[c.slice(0,h),Ce("u",c.slice(h,h+1)),c.slice(h+1)],f=s.markClass?" "+s.markClass:"";return Ce("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${c}${h<0?"":` (access key "${i[o]})"`}.`},d)}),e.source&&Ce("div",{class:"cm-diagnosticSource"},e.source))}class _5 extends on{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return Ce("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Ff{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=wb(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Ji{constructor(e){this.view=e,this.items=[];let t=i=>{if(i.keyCode==27)Bf(this.view),this.view.focus();else if(i.keyCode==38||i.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(i.keyCode==40||i.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(i.keyCode==36)this.moveSelection(0);else if(i.keyCode==35)this.moveSelection(this.items.length-1);else if(i.keyCode==13)this.view.focus();else if(i.keyCode>=65&&i.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:s}=this.items[this.selectedIndex],o=vb(s.actions);for(let a=0;a<o.length;a++)if(o[a].toUpperCase().charCodeAt(0)==i.keyCode){let l=Fr(this.view.state.field(yt).diagnostics,s);l&&s.actions[a].apply(e,l.from,l.to)}}else return;i.preventDefault()},r=i=>{for(let s=0;s<this.items.length;s++)this.items[s].dom.contains(i.target)&&this.moveSelection(s)};this.list=Ce("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:r}),this.dom=Ce("div",{class:"cm-panel-lint"},this.list,Ce("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Bf(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(yt).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(yt),r=0,i=!1,s=null,o=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:c})=>{for(let h of c.diagnostics){if(o.has(h))continue;o.add(h);let d=-1,f;for(let p=r;p<this.items.length;p++)if(this.items[p].diagnostic==h){d=p;break}d<0?(f=new Ff(this.view,h),this.items.splice(r,0,f),i=!0):(f=this.items[d],d>r&&(this.items.splice(r,d-r),i=!0)),t&&f.diagnostic==t.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),s=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)i=!0,this.items.pop();this.items.length==0&&(this.items.push(new Ff(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),i=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let c=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/c:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let e=this.list.firstChild;function t(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)t();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=this.view.state.field(yt),r=Fr(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:xb.of(r)})}static open(e){return new Ji(e)}}function W5(n,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(n)}</svg>')`}function To(n){return W5(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${n}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const U5=H.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:To("#d11")},".cm-lintRange-warning":{backgroundImage:To("orange")},".cm-lintRange-info":{backgroundImage:To("#999")},".cm-lintRange-hint":{backgroundImage:To("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function K5(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function G5(n){let e="hint",t=1;for(let r of n){let i=K5(r.severity);i>t&&(t=i,e=r.severity)}return e}const q5=[yt,H.decorations.compute([yt],n=>{let{selected:e,panel:t}=n.field(yt);return!e||!t||e.from==e.to?ne.none:ne.set([B5.range(e.from,e.to)])}),Xk($5,{hideOn:L5}),U5];var Vf=function(e){e===void 0&&(e={});var{crosshairCursor:t=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(O5)),e.defaultKeymap!==!1&&(r=r.concat(x4)),e.searchKeymap!==!1&&(r=r.concat(U4)),e.historyKeymap!==!1&&(r=r.concat(O3)),e.foldKeymap!==!1&&(r=r.concat(BS)),e.completionKeymap!==!1&&(r=r.concat(bb)),e.lintKeymap!==!1&&(r=r.concat(H5));var i=[];return e.lineNumbers!==!1&&i.push(cS()),e.highlightActiveLineGutter!==!1&&i.push(dS()),e.highlightSpecialChars!==!1&&i.push(Pk()),e.history!==!1&&i.push(b3()),e.foldGutter!==!1&&i.push(zS()),e.drawSelection!==!1&&i.push(gk()),e.dropCursor!==!1&&i.push(wk()),e.allowMultipleSelections!==!1&&i.push(pe.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&i.push(PS()),e.syntaxHighlighting!==!1&&i.push(Fh(US,{fallback:!0})),e.bracketMatching!==!1&&i.push(XS()),e.closeBrackets!==!1&&i.push(k5()),e.autocompletion!==!1&&i.push(E5()),e.rectangularSelection!==!1&&i.push(zk()),t!==!1&&i.push(Wk()),e.highlightActiveLine!==!1&&i.push(Ek()),e.highlightSelectionMatches!==!1&&i.push(O4()),e.tabSize&&typeof e.tabSize=="number"&&i.push(Ba.of(" ".repeat(e.tabSize))),i.concat([La.of(r.flat())]).filter(Boolean)};const Y5="#e5c07b",zf="#e06c75",Q5="#56b6c2",J5="#ffffff",Yo="#abb2bf",rh="#7d8799",X5="#61afef",Z5="#98c379",Hf="#d19a66",eC="#c678dd",tC="#21252b",_f="#2c313a",Wf="#282c34",Rl="#353a42",nC="#3E4451",Uf="#528bff",rC=H.theme({"&":{color:Yo,backgroundColor:Wf},".cm-content":{caretColor:Uf},".cm-cursor, .cm-dropCursor":{borderLeftColor:Uf},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:nC},".cm-panels":{backgroundColor:tC,color:Yo},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:Wf,color:rh,border:"none"},".cm-activeLineGutter":{backgroundColor:_f},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Rl},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Rl,borderBottomColor:Rl},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:_f,color:Yo}}},{dark:!0}),iC=Hr.define([{tag:N.keyword,color:eC},{tag:[N.name,N.deleted,N.character,N.propertyName,N.macroName],color:zf},{tag:[N.function(N.variableName),N.labelName],color:X5},{tag:[N.color,N.constant(N.name),N.standard(N.name)],color:Hf},{tag:[N.definition(N.name),N.separator],color:Yo},{tag:[N.typeName,N.className,N.number,N.changed,N.annotation,N.modifier,N.self,N.namespace],color:Y5},{tag:[N.operator,N.operatorKeyword,N.url,N.escape,N.regexp,N.link,N.special(N.string)],color:Q5},{tag:[N.meta,N.comment],color:rh},{tag:N.strong,fontWeight:"bold"},{tag:N.emphasis,fontStyle:"italic"},{tag:N.strikethrough,textDecoration:"line-through"},{tag:N.link,color:rh,textDecoration:"underline"},{tag:N.heading,fontWeight:"bold",color:zf},{tag:[N.atom,N.bool,N.special(N.variableName)],color:Hf},{tag:[N.processingInstruction,N.string,N.inserted],color:Z5},{tag:N.invalid,color:J5}]),sC=[rC,Fh(iC)];var oC=H.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),aC=function(e){e===void 0&&(e={});var{indentWithTab:t=!0,editable:r=!0,readOnly:i=!1,theme:s="light",placeholder:o="",basicSetup:a=!0}=e,l=[];switch(t&&l.unshift(La.of([v4])),a&&(typeof a=="boolean"?l.unshift(Vf()):l.unshift(Vf(a))),o&&l.unshift(Bk(o)),s){case"light":l.push(oC);break;case"dark":l.push(sC);break;case"none":break;default:l.push(s);break}return r===!1&&l.push(H.editable.of(!1)),i&&l.push(pe.readOnly.of(!0)),[...l]},lC=n=>({line:n.state.doc.lineAt(n.state.selection.main.from),lineCount:n.state.doc.lines,lineBreak:n.state.lineBreak,length:n.state.doc.length,readOnly:n.state.readOnly,tabSize:n.state.tabSize,selection:n.state.selection,selectionAsSingle:n.state.selection.asSingle().main,ranges:n.state.selection.ranges,selectionCode:n.state.sliceDoc(n.state.selection.main.from,n.state.selection.main.to),selections:n.state.selection.ranges.map(e=>n.state.sliceDoc(e.from,e.to)),selectedText:n.state.selection.ranges.some(e=>!e.empty)});class cC{constructor(e,t){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=t,this.timeoutMS=t,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(t=>{try{t()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class Kf{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var Ll=null,hC=()=>typeof window>"u"?new Kf:(Ll||(Ll=new Kf),Ll),Gf=rn.define(),uC=200,dC=[];function fC(n){var{value:e,selection:t,onChange:r,onStatistics:i,onCreateEditor:s,onUpdate:o,extensions:a=dC,autoFocus:l,theme:c="light",height:h=null,minHeight:d=null,maxHeight:f=null,width:p=null,minWidth:m=null,maxWidth:b=null,placeholder:y="",editable:v=!0,readOnly:k=!1,indentWithTab:S=!0,basicSetup:O=!0,root:C,initialState:P}=n,[x,D]=g.useState(),[T,I]=g.useState(),[M,L]=g.useState(),W=g.useState(()=>({current:null}))[0],V=g.useState(()=>({current:null}))[0],$=H.theme({"&":{height:h,minHeight:d,maxHeight:f,width:p,minWidth:m,maxWidth:b},"& .cm-scroller":{height:"100% !important"}}),q=H.updateListener.of(Y=>{if(Y.docChanged&&typeof r=="function"&&!Y.transactions.some(oe=>oe.annotation(Gf))){W.current?W.current.reset():(W.current=new cC(()=>{if(V.current){var oe=V.current;V.current=null,oe()}W.current=null},uC),hC().add(W.current));var se=Y.state.doc,le=se.toString();r(le,Y)}i&&i(lC(Y))}),he=aC({theme:c,editable:v,readOnly:k,placeholder:y,indentWithTab:S,basicSetup:O}),_=[q,$,...he];return o&&typeof o=="function"&&_.push(H.updateListener.of(o)),_=_.concat(a),g.useLayoutEffect(()=>{if(x&&!M){var Y={doc:e,selection:t,extensions:_},se=P?pe.fromJSON(P.json,Y,P.fields):pe.create(Y);if(L(se),!T){var le=new H({state:se,parent:x,root:C});I(le),s&&s(le,se)}}return()=>{T&&(L(void 0),I(void 0))}},[x,M]),g.useEffect(()=>{n.container&&D(n.container)},[n.container]),g.useEffect(()=>()=>{T&&(T.destroy(),I(void 0)),W.current&&(W.current.cancel(),W.current=null)},[T]),g.useEffect(()=>{l&&T&&T.focus()},[l,T]),g.useEffect(()=>{T&&T.dispatch({effects:ae.reconfigure.of(_)})},[c,a,h,d,f,p,m,b,y,v,k,S,O,r,o]),g.useEffect(()=>{if(e!==void 0){var Y=T?T.state.doc.toString():"";if(T&&e!==Y){var se=W.current&&!W.current.isDone,le=()=>{T&&e!==T.state.doc.toString()&&T.dispatch({changes:{from:0,to:T.state.doc.toString().length,insert:e||""},annotations:[Gf.of(!0)]})};se?V.current=le:le()}}},[e,T]),{state:M,setState:L,view:T,setView:I,container:x,setContainer:D}}var pC=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],kb=g.forwardRef((n,e)=>{var{className:t,value:r="",selection:i,extensions:s=[],onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:c,autoFocus:h,theme:d="light",height:f,minHeight:p,maxHeight:m,width:b,minWidth:y,maxWidth:v,basicSetup:k,placeholder:S,indentWithTab:O,editable:C,readOnly:P,root:x,initialState:D}=n,T=a3(n,pC),I=g.useRef(null),{state:M,view:L,container:W,setContainer:V}=fC({root:x,value:r,autoFocus:h,theme:d,height:f,minHeight:p,maxHeight:m,width:b,minWidth:y,maxWidth:v,basicSetup:k,placeholder:S,indentWithTab:O,editable:C,readOnly:P,selection:i,onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:c,extensions:s,initialState:D});g.useImperativeHandle(e,()=>({editor:I.current,state:M,view:L}),[I,W,M,L]);var $=g.useCallback(he=>{I.current=he,V(he)},[V]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var q=typeof d=="string"?"cm-theme-"+d:"cm-theme";return u.jsx("div",Qc({ref:$,className:""+q+(t?" "+t:"")},T))});kb.displayName="CodeMirror";const mC=()=>{const n=H.theme({"&":{backgroundColor:"var(--dash-surface)",color:"var(--dash-text)",height:"100%"},".cm-content":{caretColor:"var(--dash-accent)",fontFamily:"'JetBrains Mono', Menlo, monospace",padding:"1rem"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--dash-accent)"},"& ::selection":{backgroundColor:"var(--dash-accent-selection) !important",color:"inherit !important"},".cm-gutters":{backgroundColor:"var(--dash-surface)",color:"var(--dash-text-muted)",border:"none",borderRight:"1px solid var(--dash-border)",paddingRight:"0.5rem"},".cm-lineNumbers .cm-gutterElement":{padding:"0 0.5rem 0 1rem",minWidth:"3rem"},".cm-activeLineGutter":{backgroundColor:"var(--dash-accent-subtle)",color:"var(--dash-accent)",fontWeight:"600"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--dash-accent) 8%, transparent)"},".cm-matchingBracket":{backgroundColor:"var(--dash-accent-subtle)",outline:"1px solid var(--dash-accent)"},".cm-scroller":{overflow:"auto",minHeight:"100%"}}),e=Hr.define([{tag:N.propertyName,color:"var(--dash-accent)"},{tag:N.string,color:"color-mix(in srgb, var(--dash-accent) 70%, var(--dash-text))"},{tag:N.number,color:"var(--dash-accent-hover)"},{tag:N.bool,color:"var(--dash-accent-hover)"},{tag:N.null,color:"var(--dash-text-muted)"},{tag:N.punctuation,color:"var(--dash-text-secondary)"},{tag:N.brace,color:"var(--dash-text-secondary)"},{tag:N.bracket,color:"var(--dash-text-secondary)"}]);return[n,Fh(e)]},gC=({value:n,onChange:e,onCursorLineChange:t,height:r="100%",readOnly:i=!1})=>{const s=g.useMemo(()=>[o3(),H.lineWrapping,...mC()],[]),o=g.useMemo(()=>{if(t)return a=>{const l=a.state.selection.main.head,c=a.view.state.doc.lineAt(l).number-1;t(c)}},[t]);return u.jsx("div",{className:"h-full [&_.cm-editor]:h-full [&_.cm-editor]:outline-none [&_.cm-focused]:outline-none",children:u.jsx(kb,{value:n,height:r,extensions:s,onChange:e,onUpdate:o,theme:"none",readOnly:i,basicSetup:{lineNumbers:!0,highlightActiveLineGutter:!0,highlightActiveLine:!0,foldGutter:!1,dropCursor:!0,drawSelection:!1,allowMultipleSelections:!1,indentOnInput:!0,bracketMatching:!0,closeBrackets:!0,autocompletion:!1,rectangularSelection:!1,crosshairCursor:!1,highlightSelectionMatches:!0}})})},Sb=({width:n,isLoading:e,jsonText:t,cursorLine:r,syntaxError:i,onChange:s,onCursorLineChange:o})=>{const{t:a}=me();return u.jsxs("div",{style:{width:`${n}%`},className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden flex flex-col shadow-sm min-w-0",children:[u.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:u.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:a("jsonTab")})}),u.jsx("div",{className:"flex-1 min-h-0 overflow-auto",children:e?u.jsx("div",{className:"h-full flex items-center justify-center",children:u.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:a("loading")})}):u.jsx(gC,{value:t,onChange:s,onCursorLineChange:o})}),u.jsxs("div",{className:"px-4 py-2 bg-dash-surface-hover/30 border-t border-dash-border text-[10px] text-dash-text-muted flex justify-between uppercase tracking-widest font-bold",children:[u.jsxs("div",{className:"flex gap-4",children:[u.jsx("span",{children:"UTF-8"}),u.jsx("span",{children:"JSON"}),u.jsxs("span",{children:["L:",r+1]})]}),u.jsx("div",{className:"flex items-center gap-2",children:i?u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-red-500"}),u.jsx("span",{className:"text-red-500 normal-case",children:i})]}):u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-dash-accent"}),a("syntaxValid")]})})]})]})},qf=({label:n,value:e})=>u.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 bg-dash-bg border border-dash-border rounded-md",children:[u.jsxs("span",{className:"text-[9px] font-bold text-dash-text-muted uppercase",children:[n,":"]}),u.jsx("span",{className:"text-[10px] mono font-bold text-dash-text-secondary",children:e})]}),Cb=({width:n,fieldDoc:e,activeFieldPath:t,extraContent:r,overrideBadge:i})=>{const{t:s,lang:o}=me();return u.jsxs("div",{style:{width:`${n}%`},className:"bg-dash-surface border border-dash-border rounded-xl flex flex-col shadow-sm overflow-hidden min-w-0",children:[u.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:u.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:s("configurationHelp")})}),u.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e?u.jsxs("div",{className:"space-y-5 animate-in fade-in duration-500",children:[u.jsxs("header",{children:[u.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[u.jsx("span",{className:"text-[10px] bg-dash-accent-subtle text-dash-accent px-1.5 py-0.5 rounded font-mono uppercase font-bold",children:s("field")}),u.jsx("h2",{className:"text-base font-bold text-dash-text mono break-all",children:e.path}),i]}),u.jsxs("div",{className:"flex flex-wrap gap-2 mt-2",children:[u.jsx(qf,{label:s("type"),value:e.type}),u.jsx(qf,{label:s("default"),value:e.default})]})]}),u.jsxs("section",{children:[u.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("description")}),u.jsx("p",{className:"text-sm text-dash-text-secondary leading-relaxed italic",children:o==="vi"?e.descriptionVi:e.description})]}),e.validValues&&u.jsxs("section",{children:[u.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("validValues")}),u.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.validValues.map(a=>u.jsx("span",{className:"px-2 py-0.5 bg-dash-bg border border-dash-border rounded text-[11px] mono text-dash-text",children:a},a))})]}),e.effect&&u.jsxs("section",{className:"bg-dash-accent-subtle/30 p-3 rounded-lg border border-dash-accent/10",children:[u.jsx("h4",{className:"text-[10px] font-bold text-dash-accent uppercase tracking-widest mb-1",children:s("systemEffect")}),u.jsx("p",{className:"text-[12px] text-dash-text-secondary leading-normal",children:o==="vi"&&e.effectVi?e.effectVi:e.effect})]}),e.example&&u.jsxs("section",{children:[u.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("exampleUsage")}),u.jsx("div",{className:"bg-dash-bg p-3 rounded-lg border border-dash-border overflow-hidden",children:u.jsx("pre",{className:"text-[11px] mono text-dash-text-secondary whitespace-pre overflow-x-auto",children:e.example})})]}),r]}):u.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-center opacity-40 space-y-4",children:[u.jsx("div",{className:"w-10 h-10 rounded-full bg-dash-bg border border-dash-border flex items-center justify-center text-lg",children:"?"}),u.jsxs("div",{className:"max-w-[180px]",children:[u.jsx("p",{className:"text-sm font-bold text-dash-text mb-1 italic",children:s("knowledgeBase")}),u.jsx("p",{className:"text-xs text-dash-text-secondary",children:s("clickToSeeHelp")})]})]})}),e&&u.jsx("div",{className:"p-3 bg-dash-surface-hover/20 border-t border-dash-border shrink-0",children:u.jsxs("p",{className:"text-[10px] text-dash-text-muted font-medium flex items-center gap-1.5 italic",children:[u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),s("extractedFrom")]})})]})},bC=({variant:n="development"})=>{const{t:e}=me(),t={development:e("developmentFeature"),beta:e("betaFeature"),experimental:e("experimentalFeature")};return u.jsx("span",{className:"text-[9px] bg-orange-500/10 text-orange-500 px-2 py-0.5 rounded-full font-bold border border-orange-500/30 uppercase tracking-wider",children:t[n]})},yC=({components:n,isChecking:e,isUpdating:t,onCheckAll:r,onUpdateAll:i,className:s})=>{const{t:o}=me(),a=n.filter(h=>h.status==="update-available").length,l=n.length>0&&n.every(h=>h.status==="up-to-date"||h.status==="idle"),c=n.filter(h=>h.status==="up-to-date").length;return u.jsxs("div",{className:`flex flex-wrap items-center gap-2 ${s??""}`,children:[u.jsxs("div",{className:"inline-flex items-center gap-2 rounded-lg border border-dash-border bg-dash-surface px-3 py-2 text-xs",children:[u.jsx("output",{className:"inline-flex items-center gap-2","aria-live":"polite","aria-atomic":"true",children:e?u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),u.jsx("span",{className:"text-dash-text-secondary",children:o("checkingAll")})]}):a>0?u.jsx("span",{className:"text-amber-500 font-semibold",children:o("updatesAvailable").replace("{count}",a.toString())}):l?u.jsx("span",{className:"text-emerald-500 font-semibold",children:o("allUpToDate")}):u.jsx("span",{className:"text-dash-text-secondary font-medium",children:o("readyToScan")})}),c>0&&u.jsx("span",{className:"mono text-dash-text-muted border-l border-dash-border pl-2",children:c})]}),u.jsx("button",{type:"button",onClick:r,disabled:e||t,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:o("checkAll")}),a>0&&u.jsx("button",{type:"button",onClick:i,disabled:t,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold bg-dash-accent text-dash-bg hover:bg-dash-accent-hover disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:o("updateAll")})]})},xC=({value:n,onChange:e,disabled:t=!1})=>{const{t:r}=me();return u.jsxs("fieldset",{className:"inline-flex items-center rounded-xl border border-dash-border bg-dash-surface p-1 gap-1",role:"radiogroup","aria-label":"Update channel",children:[u.jsxs("label",{className:`dash-focus-ring px-3.5 py-2 text-xs font-semibold rounded-lg transition-colors cursor-pointer ${n==="stable"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover"} ${t?"opacity-50 cursor-not-allowed":""}`,children:[u.jsx("input",{type:"radio",name:"channel",value:"stable",checked:n==="stable",onChange:()=>e("stable"),disabled:t,className:"sr-only"}),r("channelStable")]}),u.jsxs("label",{className:`dash-focus-ring px-3.5 py-2 text-xs font-semibold rounded-lg transition-colors cursor-pointer ${n==="beta"?"bg-amber-500/15 text-amber-500":"text-dash-text-secondary hover:text-dash-text hover:bg-dash-surface-hover"} ${t?"opacity-50 cursor-not-allowed":""}`,children:[u.jsx("input",{type:"radio",name:"channel",value:"beta",checked:n==="beta",onChange:()=>e("beta"),disabled:t,className:"sr-only"}),r("channelBeta")]})]})},vC={idle:{color:"bg-dash-text-muted",pulse:!1},checking:{color:"bg-dash-text-muted",pulse:!0},"up-to-date":{color:"bg-emerald-500",pulse:!1},"update-available":{color:"bg-amber-500",pulse:!1}},jb=({status:n,ariaLabel:e,size:t="sm"})=>{const r=vC[n],i=t==="sm"?"w-2 h-2":"w-2.5 h-2.5";return u.jsx("span",{className:`
64
64
  inline-block rounded-full ${i} ${r.color}
65
65
  ${r.pulse?"animate-pulse motion-reduce:animate-none":""}
66
- `,role:"status","aria-label":e})},Qh=({isOpen:n,onClose:e,target:t,kitName:r,targetVersion:i,onComplete:s,mode:o="single",components:a=[]})=>{const{t:l}=me(),[c,h]=g.useState("running"),[d,f]=g.useState([]),[p,m]=g.useState([]),[b,y]=g.useState(!1),[v,k]=g.useState(0),S=g.useRef(null),O=g.useRef(null);g.useEffect(()=>{b&&O.current&&O.current.scrollIntoView({behavior:"smooth"})},[b]);const C=g.useCallback(async()=>{if(a.length===0){h("success");return}for(let x=0;x<a.length;x++){k(x);const N=a[x];try{const D=N.id==="cli",L=new URLSearchParams({target:D?"cli":"kit"});D||L.set("kit",N.id);const R=new EventSource(`/api/system/update?${L}`);S.current=R,await new Promise((B,G)=>{R.onmessage=V=>{try{const $=JSON.parse(V.data);$.type==="phase"&&$.name&&f(q=>[...q,`[${N.name}] ${$.name}`]),$.type==="output"&&$.text&&m(q=>[...q,$.text]),$.type==="error"&&(h("error"),m(q=>[...q,`[ERROR ${N.name}] ${$.message||"Unknown error"}`]),R.close(),G()),$.type==="complete"&&($.code===0?(R.close(),B()):(h("error"),R.close(),G()))}catch($){console.error("Failed to parse SSE message:",$),R.close(),G($)}},R.onerror=()=>{h("error"),m(V=>[...V,`[ERROR ${N.name}] Connection lost`]),R.close(),G()}})}catch(D){console.error(`Failed to update ${N.name}:`,D)}}h("success"),s()},[a,s]);g.useEffect(()=>{if(n)if(o==="batch")C();else{const x=new URLSearchParams({target:t});r&&x.set("kit",r),i&&x.set("version",i);const N=new EventSource(`/api/system/update?${x}`);return S.current=N,N.onmessage=D=>{try{const L=JSON.parse(D.data);L.type==="phase"&&L.name&&f(R=>[...R,L.name]),L.type==="output"&&L.text&&m(R=>[...R,L.text]),L.type==="error"&&(h("error"),m(R=>[...R,`[ERROR] ${L.message||"Unknown error"}`])),L.type==="complete"&&(h(L.code===0?"success":"error"),N.close(),L.code===0&&s())}catch(L){console.error("Failed to parse SSE message:",L)}},N.onerror=()=>{h("error"),m(D=>[...D,"[ERROR] Connection lost"]),N.close()},()=>{N.close()}}},[n,t,r,i,s,o,C]);const P=()=>{c!=="running"&&(h("running"),f([]),m([]),y(!1),k(0),e())};return n?u.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg shadow-lg w-full max-w-2xl max-h-[80vh] flex flex-col",children:[u.jsx("div",{className:"px-6 py-4 border-b border-dash-border",children:u.jsx("h2",{className:"text-lg font-bold text-dash-text",children:l(c==="running"?"updating":c==="success"?"updateSuccess":"updateFailed")})}),u.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-4",children:[o==="batch"&&a.length>0&&u.jsxs("div",{className:"text-sm text-dash-text-secondary",children:[c==="running"&&u.jsxs("span",{children:["Updating ",v+1," of ",a.length,":"," ",a[v]?.name]}),c==="success"&&u.jsxs("span",{className:"text-emerald-500",children:["All ",a.length," components updated"]})]}),d.length>0&&u.jsx("div",{className:"space-y-2",children:d.map((x,N)=>u.jsxs("div",{className:"flex items-center gap-2 text-sm text-dash-text-secondary",children:[u.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-dash-accent"}),u.jsx("span",{children:x})]},`${x}-${N}`))}),c==="running"&&u.jsxs("div",{className:"flex items-center gap-2 text-sm text-dash-text-muted",children:[u.jsx("span",{className:"w-4 h-4 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),u.jsx("span",{children:l("updating")})]}),p.length>0&&u.jsxs("div",{children:[u.jsx("button",{type:"button",onClick:()=>y(!b),className:"text-xs text-dash-accent hover:text-dash-accent-hover transition-colors",children:l(b?"hideDetails":"showDetails")}),b&&u.jsxs("div",{className:"mt-2 bg-dash-bg border border-dash-border rounded p-3 max-h-64 overflow-y-auto",children:[u.jsx("pre",{className:"text-xs mono text-dash-text whitespace-pre-wrap",children:p.join(`
67
- `)}),u.jsx("div",{ref:O})]})]})]}),u.jsx("div",{className:"px-6 py-4 border-t border-dash-border flex justify-end",children:u.jsx("button",{type:"button",onClick:P,disabled:c==="running",className:`px-4 py-2 rounded text-sm font-medium transition-colors ${c==="running"?"bg-dash-bg text-dash-text-muted cursor-not-allowed":"bg-dash-accent text-white hover:bg-dash-accent-hover"}`,children:l("closeModal")})})]})}):null},Sb=({target:n,kitName:e,currentVersion:t,latestVersion:r,onVersionSelect:i})=>{const{t:s}=me(),[o,a]=g.useState([]),[l,c]=g.useState(!1),[h,d]=g.useState(r);g.useEffect(()=>{(async()=>{c(!0);try{const m=new URLSearchParams({target:n});e&&m.set("kit",e);const y=await(await fetch(`/api/system/versions?${m}`)).json();y.versions&&a(y.versions)}catch(m){console.error("Failed to fetch versions:",m)}finally{c(!1)}})()},[n,e]);const f=p=>{d(p),i(p)};return l?u.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5",children:[u.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),s("loadingVersions")]}):u.jsx("select",{value:h,onChange:p=>f(p.target.value),className:`text-xs text-amber-500 hover:text-amber-600 font-medium transition-colors
66
+ `,role:"status","aria-label":e})},Jh=({isOpen:n,onClose:e,target:t,kitName:r,targetVersion:i,onComplete:s,mode:o="single",components:a=[]})=>{const{t:l}=me(),[c,h]=g.useState("running"),[d,f]=g.useState([]),[p,m]=g.useState([]),[b,y]=g.useState(!1),[v,k]=g.useState(0),S=g.useRef(null),O=g.useRef(null);g.useEffect(()=>{b&&O.current&&O.current.scrollIntoView({behavior:"smooth"})},[b]);const C=g.useCallback(async()=>{if(a.length===0){h("success");return}for(let x=0;x<a.length;x++){k(x);const D=a[x];try{const T=D.id==="cli",I=new URLSearchParams({target:T?"cli":"kit"});T||I.set("kit",D.id);const M=new EventSource(`/api/system/update?${I}`);S.current=M,await new Promise((L,W)=>{M.onmessage=V=>{try{const $=JSON.parse(V.data);$.type==="phase"&&$.name&&f(q=>[...q,`[${D.name}] ${$.name}`]),$.type==="output"&&$.text&&m(q=>[...q,$.text]),$.type==="error"&&(h("error"),m(q=>[...q,`[ERROR ${D.name}] ${$.message||"Unknown error"}`]),M.close(),W()),$.type==="complete"&&($.code===0?(M.close(),L()):(h("error"),M.close(),W()))}catch($){console.error("Failed to parse SSE message:",$),M.close(),W($)}},M.onerror=()=>{h("error"),m(V=>[...V,`[ERROR ${D.name}] Connection lost`]),M.close(),W()}})}catch(T){console.error(`Failed to update ${D.name}:`,T)}}h("success"),s()},[a,s]);g.useEffect(()=>{if(n)if(o==="batch")C();else{const x=new URLSearchParams({target:t});r&&x.set("kit",r),i&&x.set("version",i);const D=new EventSource(`/api/system/update?${x}`);return S.current=D,D.onmessage=T=>{try{const I=JSON.parse(T.data);I.type==="phase"&&I.name&&f(M=>[...M,I.name]),I.type==="output"&&I.text&&m(M=>[...M,I.text]),I.type==="error"&&(h("error"),m(M=>[...M,`[ERROR] ${I.message||"Unknown error"}`])),I.type==="complete"&&(h(I.code===0?"success":"error"),D.close(),I.code===0&&s())}catch(I){console.error("Failed to parse SSE message:",I)}},D.onerror=()=>{h("error"),m(T=>[...T,"[ERROR] Connection lost"]),D.close()},()=>{D.close()}}},[n,t,r,i,s,o,C]);const P=()=>{c!=="running"&&(h("running"),f([]),m([]),y(!1),k(0),e())};return n?u.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg shadow-lg w-full max-w-2xl max-h-[80vh] flex flex-col",children:[u.jsx("div",{className:"px-6 py-4 border-b border-dash-border",children:u.jsx("h2",{className:"text-lg font-bold text-dash-text",children:l(c==="running"?"updating":c==="success"?"updateSuccess":"updateFailed")})}),u.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-4",children:[o==="batch"&&a.length>0&&u.jsxs("div",{className:"text-sm text-dash-text-secondary",children:[c==="running"&&u.jsxs("span",{children:["Updating ",v+1," of ",a.length,":"," ",a[v]?.name]}),c==="success"&&u.jsxs("span",{className:"text-emerald-500",children:["All ",a.length," components updated"]})]}),d.length>0&&u.jsx("div",{className:"space-y-2",children:d.map((x,D)=>u.jsxs("div",{className:"flex items-center gap-2 text-sm text-dash-text-secondary",children:[u.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-dash-accent"}),u.jsx("span",{children:x})]},`${x}-${D}`))}),c==="running"&&u.jsxs("div",{className:"flex items-center gap-2 text-sm text-dash-text-muted",children:[u.jsx("span",{className:"w-4 h-4 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),u.jsx("span",{children:l("updating")})]}),p.length>0&&u.jsxs("div",{children:[u.jsx("button",{type:"button",onClick:()=>y(!b),className:"text-xs text-dash-accent hover:text-dash-accent-hover transition-colors",children:l(b?"hideDetails":"showDetails")}),b&&u.jsxs("div",{className:"mt-2 bg-dash-bg border border-dash-border rounded p-3 max-h-64 overflow-y-auto",children:[u.jsx("pre",{className:"text-xs mono text-dash-text whitespace-pre-wrap",children:p.join(`
67
+ `)}),u.jsx("div",{ref:O})]})]})]}),u.jsx("div",{className:"px-6 py-4 border-t border-dash-border flex justify-end",children:u.jsx("button",{type:"button",onClick:P,disabled:c==="running",className:`px-4 py-2 rounded text-sm font-medium transition-colors ${c==="running"?"bg-dash-bg text-dash-text-muted cursor-not-allowed":"bg-dash-accent text-white hover:bg-dash-accent-hover"}`,children:l("closeModal")})})]})}):null},Ob=({target:n,kitName:e,currentVersion:t,latestVersion:r,onVersionSelect:i})=>{const{t:s}=me(),[o,a]=g.useState([]),[l,c]=g.useState(!1),[h,d]=g.useState(r);g.useEffect(()=>{(async()=>{c(!0);try{const m=new URLSearchParams({target:n});e&&m.set("kit",e);const y=await(await fetch(`/api/system/versions?${m}`)).json();y.versions&&a(y.versions)}catch(m){console.error("Failed to fetch versions:",m)}finally{c(!1)}})()},[n,e]);const f=p=>{d(p),i(p)};return l?u.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5",children:[u.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),s("loadingVersions")]}):u.jsx("select",{value:h,onChange:p=>f(p.target.value),className:`text-xs text-amber-500 hover:text-amber-600 font-medium transition-colors
68
68
  bg-transparent border border-amber-500/30 rounded px-2 py-1
69
69
  focus:outline-none focus:ring-2 focus:ring-amber-500/50
70
- cursor-pointer appearance-none`,title:s("selectVersion"),children:o.map(p=>{const m=p.version===r,b=p.version===t,y=`v${p.version.replace(/^v/,"")}${m?` (${s("latestVersion")})`:""}${p.isPrerelease?` [${s("prereleaseLabel")}]`:""}${b?` - ${s("currentVersionLabel")}`:""}`;return u.jsx("option",{value:p.version,disabled:b,children:y},p.version)})})},yC=({version:n,installedAt:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=me(),[l,c]=g.useState("idle"),[h,d]=g.useState(null),[f,p]=g.useState(!1),[m,b]=g.useState(null),y=r??l,v=i??h,k=async()=>{const O=P=>{s||c(P)},C=P=>{s||d(P)};O("checking"),s&&s("checking",null);try{const x=await(await fetch(`/api/system/check-updates?target=cli&channel=${t}`)).json();x.updateAvailable?(O("update-available"),C(x.latest),s&&s("update-available",x.latest)):(O("up-to-date"),s&&s("up-to-date",null))}catch{O("idle"),s&&s("idle",null)}},S=async()=>{window.location.reload()};return u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"dash-panel p-5 transition-colors hover:border-dash-accent/30",children:u.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[u.jsx(kb,{status:y,ariaLabel:a(y==="up-to-date"?"upToDate":y==="update-available"?"updateAvailable":"checking")}),u.jsx("h3",{className:"text-base font-semibold text-dash-text",children:a("cliCard")}),t==="beta"&&u.jsx("span",{className:"px-2 py-0.5 text-[11px] font-semibold bg-amber-500/15 text-amber-500 rounded border border-amber-500/20",children:a("betaBadge")})]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-secondary",children:[u.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("currentVersionLabel"),": v",n.replace(/^v/,"")]}),e&&u.jsx("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 text-dash-text-muted",children:new Date(e).toLocaleDateString()})]}),y==="update-available"&&v&&u.jsxs("div",{className:"inline-flex items-center rounded-md border border-amber-500/25 bg-amber-500/10 px-2.5 py-1 text-xs text-amber-500 font-medium",children:["v",n.replace(/^v/,"")," ","->"," v",v.replace(/^v/,"")]})]}),u.jsx(xC,{status:y,currentVersion:n,latestVersion:v,onCheck:k,onUpdate:()=>p(!0),onVersionSelect:b,disabled:o})]})}),u.jsx(Qh,{isOpen:f,onClose:()=>p(!1),target:"cli",targetVersion:m??v??void 0,onComplete:S})]})},xC=({status:n,currentVersion:e,latestVersion:t,onCheck:r,onUpdate:i,onVersionSelect:s,disabled:o})=>{const{t:a}=me();return n==="checking"?u.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5 px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[u.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),a("checking")]}):n==="up-to-date"?u.jsx("span",{className:"px-2.5 py-1 text-xs rounded-md border border-emerald-500/30 bg-emerald-500/10 text-emerald-500 font-semibold",children:a("upToDate")}):n==="update-available"&&t?u.jsx("div",{className:"flex items-center gap-2",children:u.jsx(Sb,{target:"cli",currentVersion:e,latestVersion:t,onVersionSelect:l=>{s(l),i()}})}):u.jsx("button",{type:"button",onClick:r,disabled:o,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-accent hover:text-dash-accent-hover hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:a("checkForUpdates")})},vC=({configPath:n,nodeVersion:e,bunVersion:t,os:r})=>{const{t:i}=me();return u.jsxs("div",{className:"dash-panel p-5",children:[u.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text mb-3",children:i("environment")}),u.jsxs("div",{className:"grid grid-cols-1 gap-2 text-sm md:grid-cols-2",children:[u.jsx(To,{label:i("claudeConfigPath"),value:n,mono:!0}),u.jsx(To,{label:i("osVersion"),value:r}),u.jsx(To,{label:i("nodeVersion"),value:e,mono:!0}),t&&u.jsx(To,{label:i("bunVersion"),value:t,mono:!0})]})]})},To=({label:n,value:e,mono:t})=>u.jsxs("div",{className:"rounded-lg border border-dash-border bg-dash-bg/70 p-2.5",children:[u.jsx("p",{className:"text-dash-text-muted text-[11px] uppercase tracking-wide mb-1",children:n}),u.jsx("p",{className:`text-dash-text-secondary break-all ${t?"mono text-xs":"text-sm"}`,children:e})]});function wC(n){let e=0,t=0,r=0;for(const i of n)i.ownership==="ck"?e++:i.ownership==="user"?t++:i.ownership==="ck-modified"&&r++;return{ck:e,user:t,modified:r}}function kC(n){const e={skills:0,commands:0,rules:0,hooks:0,settings:0,other:0};for(const t of n){const r=t.path;r.startsWith("skills/")?e.skills++:r.startsWith("commands/")?e.commands++:r.startsWith("rules/")?e.rules++:r.startsWith("hooks/")||r==="hooks.json"?e.hooks++:r.startsWith("settings/")||r==="settings.json"?e.settings++:e.other++}return e}const SC=({kitName:n,kit:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=me(),[l,c]=g.useState("idle"),[h,d]=g.useState(null),[f,p]=g.useState(!1),[m,b]=g.useState(null),y=r??l,v=i??h,k=e.files??[],S=wC(k),O=kC(k),C=async()=>{const x=D=>{s||c(D)},N=D=>{s||d(D)};x("checking"),s&&s("checking",null);try{const L=await(await fetch(`/api/system/check-updates?target=kit&kit=${n}&channel=${t}`)).json();L.updateAvailable?(x("update-available"),N(L.latest),s&&s("update-available",L.latest)):(x("up-to-date"),s&&s("up-to-date",null))}catch{x("idle"),s&&s("idle",null)}},P=async()=>{window.location.reload()};return u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"dash-panel p-5 space-y-4 transition-colors hover:border-dash-accent/30",children:[u.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[u.jsx(kb,{status:y,ariaLabel:a(y==="up-to-date"?"upToDate":y==="update-available"?"updateAvailable":"checking")}),u.jsxs("h3",{className:"text-base font-semibold text-dash-text capitalize",children:[n," Kit"]}),t==="beta"&&u.jsx("span",{className:"px-2 py-0.5 text-[11px] font-semibold bg-amber-500/15 text-amber-500 rounded border border-amber-500/20",children:a("betaBadge")})]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-secondary",children:[u.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("currentVersionLabel"),": v",(e.version??"?").replace(/^v/,"")]}),e.installedAt&&u.jsx("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 text-dash-text-muted",children:new Date(e.installedAt).toLocaleDateString()}),u.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("components"),": ",k.length]})]}),y==="update-available"&&v&&u.jsxs("div",{className:"inline-flex items-center rounded-md border border-amber-500/25 bg-amber-500/10 px-2.5 py-1 text-xs text-amber-500 font-medium",children:["v",(e.version??"?").replace(/^v/,"")," ","->"," v",v.replace(/^v/,"")]})]}),u.jsx(CC,{status:y,currentVersion:e.version??"0.0.0",latestVersion:v,kitName:n,onCheck:C,onUpdate:()=>p(!0),onVersionSelect:b,disabled:o})]}),k.length>0&&u.jsx("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-2 xl:grid-cols-3",children:Object.entries(O).filter(([,x])=>x>0).map(([x,N])=>u.jsxs("div",{className:"flex items-center justify-between px-2.5 py-2 bg-dash-bg/70 border border-dash-border rounded-lg text-xs",children:[u.jsx("span",{className:"text-dash-text-secondary capitalize",children:x}),u.jsx("span",{className:"font-bold mono text-dash-text",children:N})]},x))}),k.length>0&&u.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-muted",children:[u.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[u.jsx("span",{className:"w-2 h-2 rounded-full bg-emerald-500 shrink-0"}),S.ck," ",a("ownershipCk")]}),S.user>0&&u.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[u.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-500 shrink-0"}),S.user," ",a("ownershipUser")]}),S.modified>0&&u.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[u.jsx("span",{className:"w-2 h-2 rounded-full bg-amber-500 shrink-0"}),S.modified," ",a("ownershipModified")]})]}),k.length===0&&u.jsx("p",{className:"text-xs text-dash-text-muted",children:a("noTrackedFiles")})]}),u.jsx(Qh,{isOpen:f,onClose:()=>p(!1),target:"kit",kitName:n,targetVersion:m??v??void 0,onComplete:P})]})},CC=({status:n,currentVersion:e,latestVersion:t,kitName:r,onCheck:i,onUpdate:s,onVersionSelect:o,disabled:a})=>{const{t:l}=me();return n==="checking"?u.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5 px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[u.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),l("checking")]}):n==="up-to-date"?u.jsx("span",{className:"px-2.5 py-1 text-xs rounded-md border border-emerald-500/30 bg-emerald-500/10 text-emerald-500 font-semibold",children:l("upToDate")}):n==="update-available"&&t?u.jsx("div",{className:"flex items-center gap-2",children:u.jsx(Sb,{target:"kit",kitName:r,currentVersion:e,latestVersion:t,onVersionSelect:c=>{o(c),s()}})}):u.jsx("button",{type:"button",onClick:i,disabled:a,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-accent hover:text-dash-accent-hover hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:l("checkForUpdates")})},qf="claudekit-update-channel",Yf="claudekit-system-filter",jC=n=>/-(alpha|beta|rc|dev|next)/.test(n),OC=n=>n==="all"||n==="updates"||n==="up-to-date"||n==="cli"||n==="kits"?n:"all",Qf=n=>n==="update-available"?0:n==="checking"?1:n==="idle"?2:3,PC=({metadata:n})=>{const{t:e}=me(),[t,r]=g.useState(null),[i,s]=g.useState([]),[o,a]=g.useState(!1),[l,c]=g.useState(!1),[h,d]=g.useState(!1),[f,p]=g.useState("stable"),[m,b]=g.useState(()=>OC(localStorage.getItem(Yf))),y=g.useRef(!1),v=g.useRef(0),k=n.kits&&typeof n.kits=="object",S=k?Object.entries(n.kits):[],O=n.name,C=n.version,P=n.installedAt,x=S.length>0||O;g.useEffect(()=>{if(!t)return;const Q=[];if(Q.push({id:"cli",type:"cli",status:"idle",currentVersion:t.cliVersion,latestVersion:null}),k&&S.length>0)for(const[Ae,ve]of S){const Le=ve;Q.push({id:Ae,type:"kit",status:"idle",currentVersion:Le.version??"?",latestVersion:null})}else O&&Q.push({id:O,type:"kit",status:"idle",currentVersion:C??"?",latestVersion:null});s(Q)},[t,k,S,O,C]),g.useEffect(()=>{fetch("/api/system/info").then(Q=>Q.json()).then(r).catch(()=>r(null))},[]),g.useEffect(()=>{const Q=localStorage.getItem(qf);Q==="stable"||Q==="beta"?p(Q):t?.cliVersion&&p(jC(t.cliVersion)?"beta":"stable")},[t?.cliVersion]);const N=Q=>{p(Q),localStorage.setItem(qf,Q)};g.useEffect(()=>{localStorage.setItem(Yf,m)},[m]);const D=(Q,Ae,ve)=>{s(Le=>Le.map(E=>E.id===Q?{...E,status:Ae,latestVersion:ve}:E))},L=g.useCallback(async()=>{if(i.length===0)return;const Q=v.current+1;v.current=Q,a(!0),s(Ae=>Ae.map(ve=>ve.status==="checking"&&ve.latestVersion===null?ve:{...ve,status:"checking",latestVersion:null}));try{const Ae=i.map(async Le=>{try{const E=Le.type==="cli"?`target=cli&channel=${f}`:`target=kit&kit=${Le.id}&channel=${f}`,ce=await(await fetch(`/api/system/check-updates?${E}`)).json();return{id:Le.id,status:ce.updateAvailable?"update-available":"up-to-date",latestVersion:ce.latest}}catch{return{id:Le.id,status:"idle",latestVersion:null}}}),ve=await Promise.all(Ae);if(v.current!==Q)return;s(Le=>Le.map(E=>{const K=ve.find(ce=>ce.id===E.id);return K?{...E,status:K.status,latestVersion:K.latestVersion}:E}))}finally{v.current===Q&&a(!1)}},[f,i]),R=Q=>{b(Q),(Q==="updates"||Q==="up-to-date")&&!o&&!l&&i.length>0&&i.every(ve=>ve.status==="idle")&&(y.current=!0,L())},B=()=>{d(!0)},G=()=>{window.location.reload()},V=i.filter(Q=>Q.status==="update-available").length,$=i.filter(Q=>Q.status==="up-to-date").length,q=i.filter(Q=>Q.status==="up-to-date"||Q.status==="update-available").length,he=i.some(Q=>Q.status==="checking"),W=k&&S.length>0?S.length:O?1:0,Y=i.find(Q=>Q.id==="cli")?.status??"idle",se=g.useMemo(()=>k&&S.length>0?S.map(([Q,Ae])=>({id:Q,kitName:Q,kit:Ae})):O?[{id:O,kitName:O,kit:{version:C,installedAt:P}}]:[],[k,S,O,C,P]),le=g.useMemo(()=>{const Ae=[...se.map(ve=>({...ve,status:i.find(Le=>Le.id===ve.id)?.status??"idle"}))].sort((ve,Le)=>{const E=Qf(ve.status)-Qf(Le.status);return E!==0?E:ve.kitName.localeCompare(Le.kitName)});return m==="updates"?Ae.filter(ve=>ve.status==="update-available"):m==="up-to-date"?Ae.filter(ve=>ve.status==="up-to-date"):m==="cli"?[]:Ae},[se,i,m]),oe=m==="all"||m==="cli"||m==="updates"&&Y==="update-available"||m==="up-to-date"&&Y==="up-to-date",we=(oe?1:0)+le.length;g.useEffect(()=>{if(!(!(m==="updates"||m==="up-to-date")||y.current)&&!(o||l||i.length===0)){if(!i.every(Ae=>Ae.status==="idle")){y.current=!0;return}y.current=!0,L()}},[L,o,l,i,m]);const Me=g.useMemo(()=>we!==0?"":(m==="updates"||m==="up-to-date")&&he?e("checkingAll"):(m==="updates"||m==="up-to-date")&&q===0?e("runCheckAllForFilter"):m==="updates"&&q>0&&V===0?e("noUpdatesFound"):m==="up-to-date"&&q>0&&$===0?e("noUpToDateYet"):e("noComponentsMatchFilter"),[we,m,he,q,V,$,e]),Se=!x&&m!=="cli",Je=e("componentFilterUpdatesCount").replace("{count}",V.toString()),Tt=e("componentFilterUpToDateCount").replace("{count}",$.toString());return u.jsxs("div",{className:"relative space-y-4",children:[u.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[u.jsx("div",{className:"absolute -top-20 -right-8 h-56 w-56 rounded-full bg-dash-accent/10 blur-3xl"}),u.jsx("div",{className:"absolute -bottom-24 -left-10 h-64 w-64 rounded-full bg-dash-accent/5 blur-3xl"})]}),u.jsx("section",{className:"dash-panel dash-sticky-glass p-4 md:p-5 sticky top-0 z-10",children:u.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between",children:[u.jsxs("div",{className:"space-y-1",children:[u.jsx("p",{className:"mono text-[10px] uppercase tracking-[0.16em] text-dash-text-muted",children:e("systemControlTower")}),u.jsx("h2",{className:"text-xl md:text-2xl font-semibold text-dash-text",children:e("systemOverviewTitle")}),u.jsx("p",{className:"text-sm text-dash-text-secondary max-w-2xl",children:e("systemOverviewDesc")})]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[u.jsx(gC,{value:f,onChange:N,disabled:o||l}),i.length>0&&u.jsx(mC,{components:i,isChecking:o,isUpdating:l,onCheckAll:L,onUpdateAll:B})]})]})}),u.jsxs("section",{className:"grid grid-cols-2 gap-3 xl:grid-cols-5",children:[u.jsx(li,{label:e("components"),value:i.length.toString()}),u.jsx(li,{label:e("kitsLabel"),value:W.toString()}),u.jsx(li,{label:e("updateAvailable"),value:V.toString(),tone:"accent"}),u.jsx(li,{label:e("upToDate"),value:$.toString(),tone:"success"}),u.jsx(li,{label:e("checkedComponents"),value:q.toString()})]}),u.jsxs("section",{className:"grid gap-4 xl:grid-cols-[minmax(0,1fr)_320px]",children:[u.jsxs("div",{className:"space-y-3 min-w-0",children:[u.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 px-1",children:[u.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:e("installedComponentsHeading")}),u.jsxs("fieldset",{className:"flex items-center gap-2",children:[u.jsx("legend",{className:"sr-only",children:e("installedComponentsHeading")}),u.jsx(ci,{label:e("componentFilterAll"),value:m,activeValue:"all",onClick:()=>R("all")}),u.jsx(ci,{label:Je,value:m,activeValue:"updates",onClick:()=>R("updates")}),u.jsx(ci,{label:Tt,value:m,activeValue:"up-to-date",onClick:()=>R("up-to-date")}),u.jsx(ci,{label:e("componentFilterCli"),value:m,activeValue:"cli",onClick:()=>R("cli")}),u.jsx(ci,{label:e("componentFilterKits"),value:m,activeValue:"kits",onClick:()=>R("kits")})]})]}),oe&&u.jsx(yC,{version:t?.cliVersion??"...",installedAt:void 0,externalStatus:i.find(Q=>Q.id==="cli")?.status,externalLatestVersion:i.find(Q=>Q.id==="cli")?.latestVersion??null,onStatusChange:(Q,Ae)=>D("cli",Q,Ae),disabled:o||l,channel:f}),le.map(Q=>{const Ae=i.find(ve=>ve.id===Q.id);return u.jsx(SC,{kitName:Q.kitName,kit:Q.kit,externalStatus:Ae?.status,externalLatestVersion:Ae?.latestVersion??null,onStatusChange:(ve,Le)=>D(Q.id,ve,Le),disabled:o||l,channel:f},Q.id)}),Se&&u.jsx("div",{className:"dash-panel-muted p-6 text-center opacity-80",children:u.jsx("p",{className:"text-sm text-dash-text-secondary",children:e("noKitInstalled")})}),!Se&&we===0&&u.jsx("div",{className:"dash-panel-muted p-6 text-center opacity-80",children:u.jsx("p",{className:"text-sm text-dash-text-secondary",children:Me})})]}),u.jsxs("aside",{className:"space-y-3 xl:sticky xl:top-20 self-start",children:[u.jsxs("div",{className:"dash-panel p-4 space-y-3",children:[u.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:e("updateReadiness")}),u.jsxs("div",{className:"space-y-2",children:[u.jsx(Eo,{label:e("updateAvailable"),value:V.toString(),tone:V>0?"accent":"default"}),u.jsx(Eo,{label:e("upToDate"),value:$.toString(),tone:"success"}),u.jsx(Eo,{label:e("checkedComponents"),value:q.toString()}),u.jsx(Eo,{label:e("activeChannel"),value:e(f==="beta"?"channelBeta":"channelStable")})]})]}),t&&u.jsx(vC,{configPath:t.configPath,nodeVersion:t.nodeVersion,bunVersion:t.bunVersion,os:t.os})]})]}),u.jsx(Qh,{isOpen:h,onClose:()=>d(!1),target:"cli",mode:"batch",components:i.filter(Q=>Q.status==="update-available").map(Q=>({id:Q.id,name:Q.id==="cli"?"CLI":`${Q.id} Kit`})),onComplete:G})]})},li=({label:n,value:e,tone:t="default"})=>{const r=t==="accent"?"text-dash-accent":t==="success"?"text-emerald-500":"text-dash-text";return u.jsxs("div",{className:"dash-panel p-3",children:[u.jsx("p",{className:"text-[11px] uppercase tracking-wide text-dash-text-muted",children:n}),u.jsx("p",{className:`mt-1 mono text-xl font-semibold ${r}`,children:e})]})},Eo=({label:n,value:e,tone:t="default"})=>{const r=t==="accent"?"text-dash-accent":t==="success"?"text-emerald-500":"text-dash-text-secondary";return u.jsxs("div",{className:"flex items-center justify-between rounded-lg border border-dash-border bg-dash-bg/70 px-3 py-2",children:[u.jsx("span",{className:"text-xs text-dash-text-muted",children:n}),u.jsx("span",{className:`mono text-xs font-semibold ${r}`,children:e})]})},ci=({label:n,value:e,activeValue:t,onClick:r})=>{const i=e===t;return u.jsx("button",{type:"button",onClick:r,"aria-pressed":i,className:`dash-focus-ring px-2.5 py-1.5 rounded-lg text-[11px] font-semibold border transition-colors ${i?"border-dash-accent/30 bg-dash-accent-subtle text-dash-accent":"border-dash-border bg-dash-surface text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:n})},AC={plan:{path:"plan",type:"object",default:"{}",description:"Configuration for plan management including naming conventions, resolution strategies, and validation workflows.",descriptionVi:"Cấu hình quản lý kế hoạch bao gồm quy ước đặt tên, chiến lược giải quyết và quy trình xác thực.",effect:"Controls how plans are created (namingFormat), located (resolution), and reviewed (validation) during development.",effectVi:"Điều khiển cách tạo kế hoạch (namingFormat), định vị (resolution) và xem xét (validation) trong quá trình phát triển."},"plan.resolution":{path:"plan.resolution",type:"object",default:"{}",description:"Settings for resolving which plan is currently active. Uses cascading resolution: session state (explicit) → branch name matching (suggested).",descriptionVi:"Cài đặt để xác định kế hoạch đang hoạt động. Sử dụng giải quyết theo tầng: trạng thái phiên (rõ ràng) → khớp tên nhánh (gợi ý).",effect:"'session' = ACTIVE (explicitly set via set-active-plan). 'branch' = SUGGESTED (hint from git branch name). 'mostRecent' was removed to avoid stale plan pollution.",effectVi:"'session' = ĐANG HOẠT ĐỘNG (đặt rõ ràng qua set-active-plan). 'branch' = GỢI Ý (từ tên nhánh git). 'mostRecent' đã bị xóa để tránh ô nhiễm kế hoạch cũ."},"plan.validation":{path:"plan.validation",type:"object",default:"{}",description:"Settings for the plan validation interview that reviews assumptions, risks, and architecture decisions.",descriptionVi:"Cài đặt cho phỏng vấn xác thực kế hoạch để xem xét giả định, rủi ro và quyết định kiến trúc.",effect:"Runs validation interview based on mode: 'auto' (always), 'prompt' (ask first), 'off' (skip). Questions focus on configured areas.",effectVi:"Chạy phỏng vấn xác thực dựa trên chế độ: 'auto' (luôn), 'prompt' (hỏi trước), 'off' (bỏ qua). Câu hỏi tập trung vào các lĩnh vực đã cấu hình."},paths:{path:"paths",type:"object",default:"{}",description:"Custom paths for project directories. Supports relative paths (from project root) or absolute paths for consolidated setups.",descriptionVi:"Đường dẫn tùy chỉnh cho các thư mục dự án. Hỗ trợ đường dẫn tương đối (từ thư mục gốc) hoặc tuyệt đối cho thiết lập tập trung.",effect:"Relative paths are resolved from project root. Absolute paths allow consolidated plans across repos.",effectVi:"Đường dẫn tương đối được giải quyết từ thư mục gốc dự án. Đường dẫn tuyệt đối cho phép kế hoạch tập trung giữa các repo."},locale:{path:"locale",type:"object",default:"{}",description:"Language settings separating internal AI reasoning from user-facing output for optimal precision.",descriptionVi:"Cài đặt ngôn ngữ tách suy luận AI nội bộ khỏi đầu ra cho người dùng để có độ chính xác tối ưu.",effect:"thinkingLanguage: for reasoning/logic (recommended: 'en'). responseLanguage: for user output (e.g., 'vi' for Vietnamese responses).",effectVi:"thinkingLanguage: cho suy luận/logic (khuyến nghị: 'en'). responseLanguage: cho đầu ra người dùng (vd: 'vi' cho phản hồi tiếng Việt)."},trust:{path:"trust",type:"object",default:"{}",description:"Trusted execution mode for bypassing certain security confirmations in controlled environments.",descriptionVi:"Chế độ thực thi tin cậy để bỏ qua một số xác nhận bảo mật trong môi trường được kiểm soát.",effect:"When trust.enabled=true, security prompts may be skipped. passphrase is used for context injection testing.",effectVi:"Khi trust.enabled=true, các lời nhắc bảo mật có thể bị bỏ qua. passphrase dùng để kiểm tra tiêm ngữ cảnh."},project:{path:"project",type:"object",default:"{}",description:"Override automatic project detection. Set to 'auto' for automatic detection or specify exact values.",descriptionVi:"Ghi đè phát hiện dự án tự động. Đặt 'auto' để tự động phát hiện hoặc chỉ định giá trị cụ thể.",effect:"type: single-repo/monorepo/library. packageManager: npm/yarn/pnpm/bun. framework: next/nuxt/astro/etc.",effectVi:"type: single-repo/monorepo/library. packageManager: npm/yarn/pnpm/bun. framework: next/nuxt/astro/v.v."},codingLevel:{path:"codingLevel",type:"number",default:"-1",validValues:["-1","0","1","2","3","4","5"],description:"Controls the communication style and depth of explanations based on user's coding experience level.",descriptionVi:"Điều khiển phong cách giao tiếp và độ sâu giải thích dựa trên trình độ lập trình của người dùng.",effect:"Loads corresponding output style and injects it into the session context. Changes how Claude explains code and structures responses.",effectVi:"Tải phong cách đầu ra tương ứng và đưa vào ngữ cảnh phiên. Thay đổi cách Claude giải thích code và cấu trúc phản hồi.",example:`{
70
+ cursor-pointer appearance-none`,title:s("selectVersion"),children:o.map(p=>{const m=p.version===r,b=p.version===t,y=`v${p.version.replace(/^v/,"")}${m?` (${s("latestVersion")})`:""}${p.isPrerelease?` [${s("prereleaseLabel")}]`:""}${b?` - ${s("currentVersionLabel")}`:""}`;return u.jsx("option",{value:p.version,disabled:b,children:y},p.version)})})},wC=({version:n,installedAt:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=me(),[l,c]=g.useState("idle"),[h,d]=g.useState(null),[f,p]=g.useState(!1),[m,b]=g.useState(null),y=r??l,v=i??h,k=async()=>{const O=P=>{s||c(P)},C=P=>{s||d(P)};O("checking"),s&&s("checking",null);try{const x=await(await fetch(`/api/system/check-updates?target=cli&channel=${t}`)).json();x.updateAvailable?(O("update-available"),C(x.latest),s&&s("update-available",x.latest)):(O("up-to-date"),s&&s("up-to-date",null))}catch{O("idle"),s&&s("idle",null)}},S=async()=>{window.location.reload()};return u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"dash-panel p-5 transition-colors hover:border-dash-accent/30",children:u.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[u.jsx(jb,{status:y,ariaLabel:a(y==="up-to-date"?"upToDate":y==="update-available"?"updateAvailable":"checking")}),u.jsx("h3",{className:"text-base font-semibold text-dash-text",children:a("cliCard")}),t==="beta"&&u.jsx("span",{className:"px-2 py-0.5 text-[11px] font-semibold bg-amber-500/15 text-amber-500 rounded border border-amber-500/20",children:a("betaBadge")})]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-secondary",children:[u.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("currentVersionLabel"),": v",n.replace(/^v/,"")]}),e&&u.jsx("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 text-dash-text-muted",children:new Date(e).toLocaleDateString()})]}),y==="update-available"&&v&&u.jsxs("div",{className:"inline-flex items-center rounded-md border border-amber-500/25 bg-amber-500/10 px-2.5 py-1 text-xs text-amber-500 font-medium",children:["v",n.replace(/^v/,"")," ","->"," v",v.replace(/^v/,"")]})]}),u.jsx(kC,{status:y,currentVersion:n,latestVersion:v,onCheck:k,onUpdate:()=>p(!0),onVersionSelect:b,disabled:o})]})}),u.jsx(Jh,{isOpen:f,onClose:()=>p(!1),target:"cli",targetVersion:m??v??void 0,onComplete:S})]})},kC=({status:n,currentVersion:e,latestVersion:t,onCheck:r,onUpdate:i,onVersionSelect:s,disabled:o})=>{const{t:a}=me();return n==="checking"?u.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5 px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[u.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),a("checking")]}):n==="up-to-date"?u.jsx("span",{className:"px-2.5 py-1 text-xs rounded-md border border-emerald-500/30 bg-emerald-500/10 text-emerald-500 font-semibold",children:a("upToDate")}):n==="update-available"&&t?u.jsx("div",{className:"flex items-center gap-2",children:u.jsx(Ob,{target:"cli",currentVersion:e,latestVersion:t,onVersionSelect:l=>{s(l),i()}})}):u.jsx("button",{type:"button",onClick:r,disabled:o,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-accent hover:text-dash-accent-hover hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:a("checkForUpdates")})},SC=({configPath:n,nodeVersion:e,bunVersion:t,os:r})=>{const{t:i}=me();return u.jsxs("div",{className:"dash-panel p-5",children:[u.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text mb-3",children:i("environment")}),u.jsxs("div",{className:"grid grid-cols-1 gap-2 text-sm md:grid-cols-2",children:[u.jsx(Eo,{label:i("claudeConfigPath"),value:n,mono:!0}),u.jsx(Eo,{label:i("osVersion"),value:r}),u.jsx(Eo,{label:i("nodeVersion"),value:e,mono:!0}),t&&u.jsx(Eo,{label:i("bunVersion"),value:t,mono:!0})]})]})},Eo=({label:n,value:e,mono:t})=>u.jsxs("div",{className:"rounded-lg border border-dash-border bg-dash-bg/70 p-2.5",children:[u.jsx("p",{className:"text-dash-text-muted text-[11px] uppercase tracking-wide mb-1",children:n}),u.jsx("p",{className:`text-dash-text-secondary break-all ${t?"mono text-xs":"text-sm"}`,children:e})]});function CC(n){let e=0,t=0,r=0;for(const i of n)i.ownership==="ck"?e++:i.ownership==="user"?t++:i.ownership==="ck-modified"&&r++;return{ck:e,user:t,modified:r}}function jC(n){const e={skills:0,commands:0,rules:0,hooks:0,settings:0,other:0};for(const t of n){const r=t.path;r.startsWith("skills/")?e.skills++:r.startsWith("commands/")?e.commands++:r.startsWith("rules/")?e.rules++:r.startsWith("hooks/")||r==="hooks.json"?e.hooks++:r.startsWith("settings/")||r==="settings.json"?e.settings++:e.other++}return e}const OC=({kitName:n,kit:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=me(),[l,c]=g.useState("idle"),[h,d]=g.useState(null),[f,p]=g.useState(!1),[m,b]=g.useState(null),y=r??l,v=i??h,k=e.files??[],S=CC(k),O=jC(k),C=async()=>{const x=T=>{s||c(T)},D=T=>{s||d(T)};x("checking"),s&&s("checking",null);try{const I=await(await fetch(`/api/system/check-updates?target=kit&kit=${n}&channel=${t}`)).json();I.updateAvailable?(x("update-available"),D(I.latest),s&&s("update-available",I.latest)):(x("up-to-date"),s&&s("up-to-date",null))}catch{x("idle"),s&&s("idle",null)}},P=async()=>{window.location.reload()};return u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"dash-panel p-5 space-y-4 transition-colors hover:border-dash-accent/30",children:[u.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[u.jsx(jb,{status:y,ariaLabel:a(y==="up-to-date"?"upToDate":y==="update-available"?"updateAvailable":"checking")}),u.jsxs("h3",{className:"text-base font-semibold text-dash-text capitalize",children:[n," Kit"]}),t==="beta"&&u.jsx("span",{className:"px-2 py-0.5 text-[11px] font-semibold bg-amber-500/15 text-amber-500 rounded border border-amber-500/20",children:a("betaBadge")})]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-secondary",children:[u.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("currentVersionLabel"),": v",(e.version??"?").replace(/^v/,"")]}),e.installedAt&&u.jsx("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 text-dash-text-muted",children:new Date(e.installedAt).toLocaleDateString()}),u.jsxs("span",{className:"px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70 mono",children:[a("components"),": ",k.length]})]}),y==="update-available"&&v&&u.jsxs("div",{className:"inline-flex items-center rounded-md border border-amber-500/25 bg-amber-500/10 px-2.5 py-1 text-xs text-amber-500 font-medium",children:["v",(e.version??"?").replace(/^v/,"")," ","->"," v",v.replace(/^v/,"")]})]}),u.jsx(PC,{status:y,currentVersion:e.version??"0.0.0",latestVersion:v,kitName:n,onCheck:C,onUpdate:()=>p(!0),onVersionSelect:b,disabled:o})]}),k.length>0&&u.jsx("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-2 xl:grid-cols-3",children:Object.entries(O).filter(([,x])=>x>0).map(([x,D])=>u.jsxs("div",{className:"flex items-center justify-between px-2.5 py-2 bg-dash-bg/70 border border-dash-border rounded-lg text-xs",children:[u.jsx("span",{className:"text-dash-text-secondary capitalize",children:x}),u.jsx("span",{className:"font-bold mono text-dash-text",children:D})]},x))}),k.length>0&&u.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-dash-text-muted",children:[u.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[u.jsx("span",{className:"w-2 h-2 rounded-full bg-emerald-500 shrink-0"}),S.ck," ",a("ownershipCk")]}),S.user>0&&u.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[u.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-500 shrink-0"}),S.user," ",a("ownershipUser")]}),S.modified>0&&u.jsxs("span",{className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[u.jsx("span",{className:"w-2 h-2 rounded-full bg-amber-500 shrink-0"}),S.modified," ",a("ownershipModified")]})]}),k.length===0&&u.jsx("p",{className:"text-xs text-dash-text-muted",children:a("noTrackedFiles")})]}),u.jsx(Jh,{isOpen:f,onClose:()=>p(!1),target:"kit",kitName:n,targetVersion:m??v??void 0,onComplete:P})]})},PC=({status:n,currentVersion:e,latestVersion:t,kitName:r,onCheck:i,onUpdate:s,onVersionSelect:o,disabled:a})=>{const{t:l}=me();return n==="checking"?u.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5 px-2 py-1 rounded-md border border-dash-border bg-dash-bg/70",children:[u.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),l("checking")]}):n==="up-to-date"?u.jsx("span",{className:"px-2.5 py-1 text-xs rounded-md border border-emerald-500/30 bg-emerald-500/10 text-emerald-500 font-semibold",children:l("upToDate")}):n==="update-available"&&t?u.jsx("div",{className:"flex items-center gap-2",children:u.jsx(Ob,{target:"kit",kitName:r,currentVersion:e,latestVersion:t,onVersionSelect:c=>{o(c),s()}})}):u.jsx("button",{type:"button",onClick:i,disabled:a,className:"dash-focus-ring px-3 py-2 rounded-lg text-xs font-semibold border border-dash-border bg-dash-surface text-dash-accent hover:text-dash-accent-hover hover:bg-dash-surface-hover transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:l("checkForUpdates")})},Yf="claudekit-update-channel",Qf="claudekit-system-filter",AC=n=>/-(alpha|beta|rc|dev|next)/.test(n),MC=n=>n==="all"||n==="updates"||n==="up-to-date"||n==="cli"||n==="kits"?n:"all",Jf=n=>n==="update-available"?0:n==="checking"?1:n==="idle"?2:3,NC=({metadata:n})=>{const{t:e}=me(),[t,r]=g.useState(null),[i,s]=g.useState([]),[o,a]=g.useState(!1),[l,c]=g.useState(!1),[h,d]=g.useState(!1),[f,p]=g.useState("stable"),[m,b]=g.useState(()=>MC(localStorage.getItem(Qf))),y=g.useRef(!1),v=g.useRef(0),k=n.kits&&typeof n.kits=="object",S=k?Object.entries(n.kits):[],O=n.name,C=n.version,P=n.installedAt,x=S.length>0||O;g.useEffect(()=>{if(!t)return;const Q=[];if(Q.push({id:"cli",type:"cli",status:"idle",currentVersion:t.cliVersion,latestVersion:null}),k&&S.length>0)for(const[Ae,ve]of S){const Le=ve;Q.push({id:Ae,type:"kit",status:"idle",currentVersion:Le.version??"?",latestVersion:null})}else O&&Q.push({id:O,type:"kit",status:"idle",currentVersion:C??"?",latestVersion:null});s(Q)},[t,k,S,O,C]),g.useEffect(()=>{fetch("/api/system/info").then(Q=>Q.json()).then(r).catch(()=>r(null))},[]),g.useEffect(()=>{const Q=localStorage.getItem(Yf);Q==="stable"||Q==="beta"?p(Q):t?.cliVersion&&p(AC(t.cliVersion)?"beta":"stable")},[t?.cliVersion]);const D=Q=>{p(Q),localStorage.setItem(Yf,Q)};g.useEffect(()=>{localStorage.setItem(Qf,m)},[m]);const T=(Q,Ae,ve)=>{s(Le=>Le.map(R=>R.id===Q?{...R,status:Ae,latestVersion:ve}:R))},I=g.useCallback(async()=>{if(i.length===0)return;const Q=v.current+1;v.current=Q,a(!0),s(Ae=>Ae.map(ve=>ve.status==="checking"&&ve.latestVersion===null?ve:{...ve,status:"checking",latestVersion:null}));try{const Ae=i.map(async Le=>{try{const R=Le.type==="cli"?`target=cli&channel=${f}`:`target=kit&kit=${Le.id}&channel=${f}`,ce=await(await fetch(`/api/system/check-updates?${R}`)).json();return{id:Le.id,status:ce.updateAvailable?"update-available":"up-to-date",latestVersion:ce.latest}}catch{return{id:Le.id,status:"idle",latestVersion:null}}}),ve=await Promise.all(Ae);if(v.current!==Q)return;s(Le=>Le.map(R=>{const G=ve.find(ce=>ce.id===R.id);return G?{...R,status:G.status,latestVersion:G.latestVersion}:R}))}finally{v.current===Q&&a(!1)}},[f,i]),M=Q=>{b(Q),(Q==="updates"||Q==="up-to-date")&&!o&&!l&&i.length>0&&i.every(ve=>ve.status==="idle")&&(y.current=!0,I())},L=()=>{d(!0)},W=()=>{window.location.reload()},V=i.filter(Q=>Q.status==="update-available").length,$=i.filter(Q=>Q.status==="up-to-date").length,q=i.filter(Q=>Q.status==="up-to-date"||Q.status==="update-available").length,he=i.some(Q=>Q.status==="checking"),_=k&&S.length>0?S.length:O?1:0,Y=i.find(Q=>Q.id==="cli")?.status??"idle",se=g.useMemo(()=>k&&S.length>0?S.map(([Q,Ae])=>({id:Q,kitName:Q,kit:Ae})):O?[{id:O,kitName:O,kit:{version:C,installedAt:P}}]:[],[k,S,O,C,P]),le=g.useMemo(()=>{const Ae=[...se.map(ve=>({...ve,status:i.find(Le=>Le.id===ve.id)?.status??"idle"}))].sort((ve,Le)=>{const R=Jf(ve.status)-Jf(Le.status);return R!==0?R:ve.kitName.localeCompare(Le.kitName)});return m==="updates"?Ae.filter(ve=>ve.status==="update-available"):m==="up-to-date"?Ae.filter(ve=>ve.status==="up-to-date"):m==="cli"?[]:Ae},[se,i,m]),oe=m==="all"||m==="cli"||m==="updates"&&Y==="update-available"||m==="up-to-date"&&Y==="up-to-date",we=(oe?1:0)+le.length;g.useEffect(()=>{if(!(!(m==="updates"||m==="up-to-date")||y.current)&&!(o||l||i.length===0)){if(!i.every(Ae=>Ae.status==="idle")){y.current=!0;return}y.current=!0,I()}},[I,o,l,i,m]);const Me=g.useMemo(()=>we!==0?"":(m==="updates"||m==="up-to-date")&&he?e("checkingAll"):(m==="updates"||m==="up-to-date")&&q===0?e("runCheckAllForFilter"):m==="updates"&&q>0&&V===0?e("noUpdatesFound"):m==="up-to-date"&&q>0&&$===0?e("noUpToDateYet"):e("noComponentsMatchFilter"),[we,m,he,q,V,$,e]),Se=!x&&m!=="cli",Je=e("componentFilterUpdatesCount").replace("{count}",V.toString()),Rt=e("componentFilterUpToDateCount").replace("{count}",$.toString());return u.jsxs("div",{className:"relative space-y-4",children:[u.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[u.jsx("div",{className:"absolute -top-20 -right-8 h-56 w-56 rounded-full bg-dash-accent/10 blur-3xl"}),u.jsx("div",{className:"absolute -bottom-24 -left-10 h-64 w-64 rounded-full bg-dash-accent/5 blur-3xl"})]}),u.jsx("section",{className:"dash-panel dash-sticky-glass p-4 md:p-5 sticky top-0 z-10",children:u.jsxs("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between",children:[u.jsxs("div",{className:"space-y-1",children:[u.jsx("p",{className:"mono text-[10px] uppercase tracking-[0.16em] text-dash-text-muted",children:e("systemControlTower")}),u.jsx("h2",{className:"text-xl md:text-2xl font-semibold text-dash-text",children:e("systemOverviewTitle")}),u.jsx("p",{className:"text-sm text-dash-text-secondary max-w-2xl",children:e("systemOverviewDesc")})]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[u.jsx(xC,{value:f,onChange:D,disabled:o||l}),i.length>0&&u.jsx(yC,{components:i,isChecking:o,isUpdating:l,onCheckAll:I,onUpdateAll:L})]})]})}),u.jsxs("section",{className:"grid grid-cols-2 gap-3 xl:grid-cols-5",children:[u.jsx(ci,{label:e("components"),value:i.length.toString()}),u.jsx(ci,{label:e("kitsLabel"),value:_.toString()}),u.jsx(ci,{label:e("updateAvailable"),value:V.toString(),tone:"accent"}),u.jsx(ci,{label:e("upToDate"),value:$.toString(),tone:"success"}),u.jsx(ci,{label:e("checkedComponents"),value:q.toString()})]}),u.jsxs("section",{className:"grid gap-4 xl:grid-cols-[minmax(0,1fr)_320px]",children:[u.jsxs("div",{className:"space-y-3 min-w-0",children:[u.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 px-1",children:[u.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:e("installedComponentsHeading")}),u.jsxs("fieldset",{className:"flex items-center gap-2",children:[u.jsx("legend",{className:"sr-only",children:e("installedComponentsHeading")}),u.jsx(hi,{label:e("componentFilterAll"),value:m,activeValue:"all",onClick:()=>M("all")}),u.jsx(hi,{label:Je,value:m,activeValue:"updates",onClick:()=>M("updates")}),u.jsx(hi,{label:Rt,value:m,activeValue:"up-to-date",onClick:()=>M("up-to-date")}),u.jsx(hi,{label:e("componentFilterCli"),value:m,activeValue:"cli",onClick:()=>M("cli")}),u.jsx(hi,{label:e("componentFilterKits"),value:m,activeValue:"kits",onClick:()=>M("kits")})]})]}),oe&&u.jsx(wC,{version:t?.cliVersion??"...",installedAt:void 0,externalStatus:i.find(Q=>Q.id==="cli")?.status,externalLatestVersion:i.find(Q=>Q.id==="cli")?.latestVersion??null,onStatusChange:(Q,Ae)=>T("cli",Q,Ae),disabled:o||l,channel:f}),le.map(Q=>{const Ae=i.find(ve=>ve.id===Q.id);return u.jsx(OC,{kitName:Q.kitName,kit:Q.kit,externalStatus:Ae?.status,externalLatestVersion:Ae?.latestVersion??null,onStatusChange:(ve,Le)=>T(Q.id,ve,Le),disabled:o||l,channel:f},Q.id)}),Se&&u.jsx("div",{className:"dash-panel-muted p-6 text-center opacity-80",children:u.jsx("p",{className:"text-sm text-dash-text-secondary",children:e("noKitInstalled")})}),!Se&&we===0&&u.jsx("div",{className:"dash-panel-muted p-6 text-center opacity-80",children:u.jsx("p",{className:"text-sm text-dash-text-secondary",children:Me})})]}),u.jsxs("aside",{className:"space-y-3 xl:sticky xl:top-20 self-start",children:[u.jsxs("div",{className:"dash-panel p-4 space-y-3",children:[u.jsx("h3",{className:"text-sm font-semibold uppercase tracking-wide text-dash-text",children:e("updateReadiness")}),u.jsxs("div",{className:"space-y-2",children:[u.jsx(Ro,{label:e("updateAvailable"),value:V.toString(),tone:V>0?"accent":"default"}),u.jsx(Ro,{label:e("upToDate"),value:$.toString(),tone:"success"}),u.jsx(Ro,{label:e("checkedComponents"),value:q.toString()}),u.jsx(Ro,{label:e("activeChannel"),value:e(f==="beta"?"channelBeta":"channelStable")})]})]}),t&&u.jsx(SC,{configPath:t.configPath,nodeVersion:t.nodeVersion,bunVersion:t.bunVersion,os:t.os})]})]}),u.jsx(Jh,{isOpen:h,onClose:()=>d(!1),target:"cli",mode:"batch",components:i.filter(Q=>Q.status==="update-available").map(Q=>({id:Q.id,name:Q.id==="cli"?"CLI":`${Q.id} Kit`})),onComplete:W})]})},ci=({label:n,value:e,tone:t="default"})=>{const r=t==="accent"?"text-dash-accent":t==="success"?"text-emerald-500":"text-dash-text";return u.jsxs("div",{className:"dash-panel p-3",children:[u.jsx("p",{className:"text-[11px] uppercase tracking-wide text-dash-text-muted",children:n}),u.jsx("p",{className:`mt-1 mono text-xl font-semibold ${r}`,children:e})]})},Ro=({label:n,value:e,tone:t="default"})=>{const r=t==="accent"?"text-dash-accent":t==="success"?"text-emerald-500":"text-dash-text-secondary";return u.jsxs("div",{className:"flex items-center justify-between rounded-lg border border-dash-border bg-dash-bg/70 px-3 py-2",children:[u.jsx("span",{className:"text-xs text-dash-text-muted",children:n}),u.jsx("span",{className:`mono text-xs font-semibold ${r}`,children:e})]})},hi=({label:n,value:e,activeValue:t,onClick:r})=>{const i=e===t;return u.jsx("button",{type:"button",onClick:r,"aria-pressed":i,className:`dash-focus-ring px-2.5 py-1.5 rounded-lg text-[11px] font-semibold border transition-colors ${i?"border-dash-accent/30 bg-dash-accent-subtle text-dash-accent":"border-dash-border bg-dash-surface text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:n})},DC={plan:{path:"plan",type:"object",default:"{}",description:"Configuration for plan management including naming conventions, resolution strategies, and validation workflows.",descriptionVi:"Cấu hình quản lý kế hoạch bao gồm quy ước đặt tên, chiến lược giải quyết và quy trình xác thực.",effect:"Controls how plans are created (namingFormat), located (resolution), and reviewed (validation) during development.",effectVi:"Điều khiển cách tạo kế hoạch (namingFormat), định vị (resolution) và xem xét (validation) trong quá trình phát triển."},"plan.resolution":{path:"plan.resolution",type:"object",default:"{}",description:"Settings for resolving which plan is currently active. Uses cascading resolution: session state (explicit) → branch name matching (suggested).",descriptionVi:"Cài đặt để xác định kế hoạch đang hoạt động. Sử dụng giải quyết theo tầng: trạng thái phiên (rõ ràng) → khớp tên nhánh (gợi ý).",effect:"'session' = ACTIVE (explicitly set via set-active-plan). 'branch' = SUGGESTED (hint from git branch name). 'mostRecent' was removed to avoid stale plan pollution.",effectVi:"'session' = ĐANG HOẠT ĐỘNG (đặt rõ ràng qua set-active-plan). 'branch' = GỢI Ý (từ tên nhánh git). 'mostRecent' đã bị xóa để tránh ô nhiễm kế hoạch cũ."},"plan.validation":{path:"plan.validation",type:"object",default:"{}",description:"Settings for the plan validation interview that reviews assumptions, risks, and architecture decisions.",descriptionVi:"Cài đặt cho phỏng vấn xác thực kế hoạch để xem xét giả định, rủi ro và quyết định kiến trúc.",effect:"Runs validation interview based on mode: 'auto' (always), 'prompt' (ask first), 'off' (skip). Questions focus on configured areas.",effectVi:"Chạy phỏng vấn xác thực dựa trên chế độ: 'auto' (luôn), 'prompt' (hỏi trước), 'off' (bỏ qua). Câu hỏi tập trung vào các lĩnh vực đã cấu hình."},paths:{path:"paths",type:"object",default:"{}",description:"Custom paths for project directories. Supports relative paths (from project root) or absolute paths for consolidated setups.",descriptionVi:"Đường dẫn tùy chỉnh cho các thư mục dự án. Hỗ trợ đường dẫn tương đối (từ thư mục gốc) hoặc tuyệt đối cho thiết lập tập trung.",effect:"Relative paths are resolved from project root. Absolute paths allow consolidated plans across repos.",effectVi:"Đường dẫn tương đối được giải quyết từ thư mục gốc dự án. Đường dẫn tuyệt đối cho phép kế hoạch tập trung giữa các repo."},locale:{path:"locale",type:"object",default:"{}",description:"Language settings separating internal AI reasoning from user-facing output for optimal precision.",descriptionVi:"Cài đặt ngôn ngữ tách suy luận AI nội bộ khỏi đầu ra cho người dùng để có độ chính xác tối ưu.",effect:"thinkingLanguage: for reasoning/logic (recommended: 'en'). responseLanguage: for user output (e.g., 'vi' for Vietnamese responses).",effectVi:"thinkingLanguage: cho suy luận/logic (khuyến nghị: 'en'). responseLanguage: cho đầu ra người dùng (vd: 'vi' cho phản hồi tiếng Việt)."},trust:{path:"trust",type:"object",default:"{}",description:"Trusted execution mode for bypassing certain security confirmations in controlled environments.",descriptionVi:"Chế độ thực thi tin cậy để bỏ qua một số xác nhận bảo mật trong môi trường được kiểm soát.",effect:"When trust.enabled=true, security prompts may be skipped. passphrase is used for context injection testing.",effectVi:"Khi trust.enabled=true, các lời nhắc bảo mật có thể bị bỏ qua. passphrase dùng để kiểm tra tiêm ngữ cảnh."},project:{path:"project",type:"object",default:"{}",description:"Override automatic project detection. Set to 'auto' for automatic detection or specify exact values.",descriptionVi:"Ghi đè phát hiện dự án tự động. Đặt 'auto' để tự động phát hiện hoặc chỉ định giá trị cụ thể.",effect:"type: single-repo/monorepo/library. packageManager: npm/yarn/pnpm/bun. framework: next/nuxt/astro/etc.",effectVi:"type: single-repo/monorepo/library. packageManager: npm/yarn/pnpm/bun. framework: next/nuxt/astro/v.v."},codingLevel:{path:"codingLevel",type:"number",default:"-1",validValues:["-1","0","1","2","3","4","5"],description:"Controls the communication style and depth of explanations based on user's coding experience level.",descriptionVi:"Điều khiển phong cách giao tiếp và độ sâu giải thích dựa trên trình độ lập trình của người dùng.",effect:"Loads corresponding output style and injects it into the session context. Changes how Claude explains code and structures responses.",effectVi:"Tải phong cách đầu ra tương ứng và đưa vào ngữ cảnh phiên. Thay đổi cách Claude giải thích code và cấu trúc phản hồi.",example:`{
71
71
  "codingLevel": 1
72
72
  }`},privacyBlock:{path:"privacyBlock",type:"boolean",default:"true",description:"Enables or disables the privacy protection hook that blocks access to sensitive files and domains.",descriptionVi:"Bật hoặc tắt hook bảo vệ quyền riêng tư, chặn truy cập vào các tệp và domain nhạy cảm.",effect:"When true, blocks reading files like .env, passwords, credentials, SSH keys, and API tokens.",effectVi:"Khi bật, chặn đọc các tệp như .env, mật khẩu, thông tin xác thực, SSH keys và API tokens.",example:`{
73
73
  "privacyBlock": false
@@ -213,7 +213,7 @@ Please change the parent <Route path="${k}"> to <Route path="${k==="/"?"*":`${k}
213
213
  "statusline": "compact"
214
214
  }`},assertions:{path:"assertions",type:"string[]",default:"[]",description:"List of user-defined assertions that are injected at the start of every session.",descriptionVi:"Danh sách các khẳng định do người dùng định nghĩa, được tiêm vào đầu mỗi phiên.",example:`{
215
215
  "assertions": ["Use strict mode", "No console.logs"]
216
- }`}},MC=(n,e)=>{const[t,r]=g.useState(null);return g.useEffect(()=>{const i=n.split(`
217
- `),s=[];let o=null;for(let a=0;a<=Math.min(e,i.length-1);a++){const l=i[a].trim(),c=l.match(/"([^"]+)"\s*:\s*{/);if(c){s.push(c[1]),a===e&&(o=s.join("."));continue}if(l==="}"||l==="},"){s.pop();continue}const h=l.match(/"([^"]+)"\s*:/);if(h){const d=h[1];if(a===e){o=s.length>0?`${s.join(".")}.${d}`:d;break}}}r(o)},[n,e]),t};function Cb(n){const{scope:e,fetchConfig:t,fetchSchema:r,saveConfig:i,onReset:s}=n,[o,a]=g.useState("{}"),[l,c]=g.useState(0),[h,d]=g.useState(null),[f,p]=g.useState(null),[m,b]=g.useState({}),[y,v]=g.useState({}),[k,S]=g.useState({}),[O,C]=g.useState(!0),[P,x]=g.useState("idle"),[N,D]=g.useState(!1),[L,R]=g.useState(null),B=MC(o,l),G=B?AC[B]:null;g.useEffect(()=>{(async()=>{try{const[Y,se]=await Promise.all([t(),r()]),le=Y.local??Y.config;b(le),v(Y.global??{}),S(Y.sources),p(se),a(JSON.stringify(le,null,2))}catch(Y){console.error("Failed to load config data:",Y)}finally{C(!1)}})()},[t,r]),g.useEffect(()=>{try{JSON.parse(o),d(null)}catch(W){d(W instanceof Error?W.message:"Invalid JSON")}},[o]),g.useEffect(()=>{if(L==="json")try{const W=JSON.parse(o);b(W)}catch{}},[o,L]);const V=g.useCallback(W=>{R("json"),a(W)},[]),$=g.useCallback((W,Y)=>{R("form"),b(se=>{const le=mv(se,W,Y);return a(JSON.stringify(le,null,2)),le}),S(se=>({...se,[W]:e}))},[e]),q=g.useCallback(async()=>{if(!h){x("saving");try{const W=JSON.parse(o);await i(W),b(W),x("saved"),setTimeout(()=>x("idle"),2e3)}catch{x("error"),setTimeout(()=>x("idle"),3e3)}}},[o,h,i]),he=g.useCallback(async()=>{if(D(!1),s){C(!0);try{const W=await s(),Y=W.local??W.config;b(Y),S(W.sources),a(JSON.stringify(Y,null,2))}catch(W){console.error("Failed to reset:",W)}finally{C(!1)}}else{const W={};b(W),a(JSON.stringify(W,null,2))}},[s]);return{jsonText:o,config:m,globalConfig:y,sources:k,schema:f,isLoading:O,saveStatus:P,syntaxError:h,cursorLine:l,showResetConfirm:N,activeFieldPath:B,fieldDoc:G,handleJsonChange:V,handleFormChange:$,handleSave:q,handleReset:he,setCursorLine:c,setShowResetConfirm:D}}function jb({storageKey:n,defaultSizes:e,minSizes:t}){const[r,i]=g.useState(()=>{if(typeof window>"u")return e;const c=localStorage.getItem(n);if(c)try{const h=JSON.parse(c);if(Array.isArray(h)&&h.length===e.length){const d=h.reduce((f,p)=>f+p,0);if(Math.abs(d-100)<1)return h}}catch{}return e}),[s,o]=g.useState(!1);g.useEffect(()=>{localStorage.setItem(n,JSON.stringify(r))},[r,n]);const a=g.useCallback((c,h)=>{h.preventDefault(),o(!0);const d=h.target.parentElement;if(!d)return;const p=d.getBoundingClientRect().width,m=h.clientX,b=[...r],y=k=>{const O=(k.clientX-m)/p*100,C=[...b],P=c,x=c+1;let N=b[P]+O,D=b[x]-O;N<t[P]&&(N=t[P],D=b[P]+b[x]-N),D<t[x]&&(D=t[x],N=b[P]+b[x]-D),C[P]=N,C[x]=D,i(C)},v=()=>{o(!1),document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",v),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",y),document.addEventListener("mouseup",v),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[r,t]),l=g.useCallback(()=>{i(e)},[e]);return{sizes:r,isDragging:s,startDrag:a,reset:l}}const Ua="/api";async function Jf(n){const e=`${Ua}/ck-config`,t=await fetch(e);if(!t.ok)throw new Error(`Failed to fetch ck-config: ${t.status}`);return t.json()}async function Xf(n,e){const t=new URLSearchParams({scope:n});e&&t.set("projectId",e);const r=await fetch(`${Ua}/ck-config?${t}`);if(!r.ok)throw new Error(`Failed to fetch ck-config: ${r.status}`);return r.json()}async function Ob(n){const e=await fetch(`${Ua}/ck-config`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const t=await e.json().catch(()=>({error:"Unknown error"}));throw new Error(t.error||`Failed to save ck-config: ${e.status}`)}return e.json()}async function Pb(){const n=await fetch(`${Ua}/ck-config/schema`);if(!n.ok)throw new Error(`Failed to fetch schema: ${n.status}`);return n.json()}const NC=()=>{const{t:n}=me(),e=gn(),[t,r]=g.useState("config"),[i,s]=g.useState({}),{sizes:o,isDragging:a,startDrag:l}=jb({storageKey:"claudekit-global-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),c=g.useCallback(async()=>{const[m,b]=await Promise.all([Jf(),lv()]);return s(b),m},[]),h=g.useCallback(async m=>{await Ob({scope:"global",config:m})},[]),d=g.useCallback(async()=>await Jf(),[]),f=Cb({scope:"global",fetchConfig:c,fetchSchema:Pb,saveConfig:h,onReset:d}),p=g.useMemo(()=>[{id:"general",title:n("sectionGeneral"),fields:[{path:"codingLevel",label:n("fieldCodingLevel"),description:n("fieldCodingLevelDesc")},{path:"statusline",label:n("fieldStatusline"),description:n("fieldStatuslineDesc")},{path:"locale.thinkingLanguage",label:n("fieldThinkingLanguage"),description:n("fieldThinkingLanguageDesc")},{path:"locale.responseLanguage",label:n("fieldResponseLanguage"),description:n("fieldResponseLanguageDesc")}]},{id:"paths",title:n("sectionPaths"),fields:[{path:"paths.docs",label:n("fieldDocsPath"),description:n("fieldDocsPathDesc")},{path:"paths.plans",label:n("fieldPlansPath"),description:n("fieldPlansPathDesc")}]},{id:"privacy",title:n("sectionPrivacy"),defaultCollapsed:!0,fields:[{path:"privacyBlock",label:n("fieldPrivacyBlock"),description:n("fieldPrivacyBlockDesc")},{path:"trust.enabled",label:n("fieldTrustEnabled"),description:n("fieldTrustEnabledDesc")},{path:"trust.passphrase",label:n("fieldTrustPassphrase"),description:n("fieldTrustPassphraseDesc")}]},{id:"project",title:n("sectionProject"),defaultCollapsed:!0,fields:[{path:"project.type",label:n("fieldProjectType"),description:n("fieldProjectTypeDesc")},{path:"project.packageManager",label:n("fieldPackageManager"),description:n("fieldPackageManagerDesc")},{path:"project.framework",label:n("fieldFramework"),description:n("fieldFrameworkDesc")}]},{id:"integrations",title:n("sectionIntegrations"),defaultCollapsed:!0,fields:[{path:"gemini.model",label:n("fieldGeminiModel"),description:n("fieldGeminiModelDesc")},{path:"skills.research.useGemini",label:n("fieldResearchUseGemini"),description:n("fieldResearchUseGeminiDesc")}]},{id:"hooks",title:n("sectionHooks"),defaultCollapsed:!0,fields:[{path:"hooks.session-init",label:n("fieldHookSessionInit"),description:n("fieldHookSessionInitDesc")},{path:"hooks.subagent-init",label:n("fieldHookSubagentInit"),description:n("fieldHookSubagentInitDesc")},{path:"hooks.descriptive-name",label:n("fieldHookDescriptiveName"),description:n("fieldHookDescriptiveNameDesc")},{path:"hooks.dev-rules-reminder",label:n("fieldHookDevRulesReminder"),description:n("fieldHookDevRulesReminderDesc")},{path:"hooks.usage-context-awareness",label:n("fieldHookUsageContextAwareness"),description:n("fieldHookUsageContextAwarenessDesc")},{path:"hooks.context-tracking",label:n("fieldHookContextTracking"),description:n("fieldHookContextTrackingDesc")},{path:"hooks.scout-block",label:n("fieldHookScoutBlock"),description:n("fieldHookScoutBlockDesc")},{path:"hooks.privacy-block",label:n("fieldHookPrivacyBlock"),description:n("fieldHookPrivacyBlockDesc")},{path:"hooks.post-edit-simplify-reminder",label:n("fieldHookPostEditSimplify"),description:n("fieldHookPostEditSimplifyDesc")}]},{id:"advanced",title:n("sectionAdvanced"),defaultCollapsed:!0,fields:[{path:"docs.maxLoc",label:n("fieldDocsMaxLoc"),description:n("fieldDocsMaxLocDesc")},{path:"plan.namingFormat",label:n("fieldPlanNamingFormat"),description:n("fieldPlanNamingFormatDesc")},{path:"plan.dateFormat",label:n("fieldPlanDateFormat"),description:n("fieldPlanDateFormatDesc")},{path:"plan.validation.mode",label:n("fieldPlanValidationMode"),description:n("fieldPlanValidationModeDesc")},{path:"plan.validation.minQuestions",label:n("fieldPlanMinQuestions"),description:n("fieldPlanMinQuestionsDesc")},{path:"plan.validation.maxQuestions",label:n("fieldPlanMaxQuestions"),description:n("fieldPlanMaxQuestionsDesc")},{path:"assertions",label:n("fieldAssertions"),description:n("fieldAssertionsDesc")}]}],[n]);return u.jsxs("div",{className:"animate-in fade-in duration-300 w-full h-full flex flex-col transition-colors",children:[u.jsx(Cm,{title:n("globalConfig"),filePath:"~/.claude/.ck.json",onBack:()=>e(-1),onSave:f.handleSave,onReset:f.handleReset,saveStatus:f.saveStatus,syntaxError:f.syntaxError,showResetConfirm:f.showResetConfirm,setShowResetConfirm:f.setShowResetConfirm}),u.jsxs("div",{className:"mb-3 shrink-0 flex items-center justify-between gap-3",children:[u.jsxs("div",{role:"tablist","aria-label":n("globalConfig"),className:"inline-flex items-center rounded-xl border border-dash-border bg-dash-surface p-1 shadow-sm",children:[u.jsx("button",{role:"tab","aria-selected":t==="config",onClick:()=>r("config"),className:`dash-focus-ring px-4 py-2 rounded-lg text-sm font-semibold transition-colors ${t==="config"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:n("configTab")}),u.jsx("button",{role:"tab","aria-selected":t==="metadata",onClick:()=>r("metadata"),className:`dash-focus-ring px-4 py-2 rounded-lg text-sm font-semibold transition-colors ${t==="metadata"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:n("systemTab")})]}),u.jsx("p",{className:"hidden lg:block text-xs text-dash-text-muted",children:n("configWorkspaceHint")})]}),u.jsxs("div",{className:"flex-1 flex min-h-0",children:[t==="config"&&u.jsxs(u.Fragment,{children:[u.jsx(jm,{width:o[0],isLoading:f.isLoading,schema:f.schema,config:f.config,sources:f.sources,sections:p,onChange:f.handleFormChange}),u.jsx(Ni,{direction:"horizontal",isDragging:a,onMouseDown:m=>l(0,m)}),u.jsx(vb,{width:o[1],isLoading:f.isLoading,jsonText:f.jsonText,cursorLine:f.cursorLine,syntaxError:f.syntaxError,onChange:f.handleJsonChange,onCursorLineChange:f.setCursorLine}),u.jsx(Ni,{direction:"horizontal",isDragging:a,onMouseDown:m=>l(1,m)}),u.jsx(wb,{width:o[2],fieldDoc:f.fieldDoc,activeFieldPath:f.activeFieldPath})]}),t==="metadata"&&u.jsx("div",{className:"flex-1 min-h-0 overflow-auto pr-1",children:f.isLoading?u.jsx("div",{className:"dash-panel h-full flex items-center justify-center",children:u.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:n("loading")})}):u.jsx(PC,{metadata:i})})]})]})};function DC(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function dr(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(DC(r)||(e+=t))}return e}const TC=({results:n,onReset:e})=>{const{t}=me(),r=(()=>{const i=new Map;return n.results.map(s=>{const o=[s.provider,s.providerDisplayName||"",s.type||"",s.item||"",s.path||"",s.success?"1":"0",s.skipped?"1":"0",s.error||"",s.skipReason||""].join(":"),a=i.get(o)??0;return i.set(o,a+1),{result:s,rowKey:a===0?o:`${o}:${a}`}})})();return u.jsx("div",{className:"space-y-4",children:u.jsxs("div",{className:"dash-panel p-5",children:[u.jsxs("div",{className:"flex items-center justify-between mb-4",children:[u.jsx("h2",{className:"text-lg font-semibold text-dash-text",children:t("migrateSummaryTitle")}),u.jsx("button",{type:"button",onClick:e,className:"dash-focus-ring px-4 py-2 text-sm font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:t("migrateSummaryNewMigration")})]}),u.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 mb-4",children:[u.jsxs("div",{className:"px-4 py-3 bg-dash-bg border border-dash-border rounded-md",children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-dash-text-muted",children:t("migrateInstalled")}),u.jsx("p",{className:"text-2xl font-semibold text-green-400 mt-1",children:n.counts.installed})]}),u.jsxs("div",{className:"px-4 py-3 bg-dash-bg border border-dash-border rounded-md",children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-dash-text-muted",children:t("migrateSkipped")}),u.jsx("p",{className:"text-2xl font-semibold text-yellow-400 mt-1",children:n.counts.skipped})]}),u.jsxs("div",{className:"px-4 py-3 bg-dash-bg border border-dash-border rounded-md",children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-dash-text-muted",children:t("migrateFailed")}),u.jsx("p",{className:"text-2xl font-semibold text-red-400 mt-1",children:n.counts.failed})]})]}),n.warnings.length>0&&u.jsx("div",{className:"mb-4 space-y-2",children:n.warnings.map((i,s)=>u.jsx("div",{className:"px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-xs text-yellow-400",children:dr(i)},s))}),n.results.length>0&&u.jsx("div",{className:"overflow-auto border border-dash-border rounded-md",children:u.jsxs("table",{className:"min-w-full text-xs",children:[u.jsx("thead",{className:"bg-dash-bg text-dash-text-muted uppercase tracking-wide",children:u.jsxs("tr",{children:[u.jsx("th",{className:"text-left px-3 py-2",children:t("migrateProvider")}),u.jsx("th",{className:"text-left px-3 py-2",children:t("migrateType")}),u.jsx("th",{className:"text-left px-3 py-2",children:t("migrateItem")}),u.jsx("th",{className:"text-left px-3 py-2",children:t("migrateStatus")}),u.jsx("th",{className:"text-left px-3 py-2",children:t("migratePath")}),u.jsx("th",{className:"text-left px-3 py-2",children:t("migrateError")})]})}),u.jsx("tbody",{children:r.map(({result:i,rowKey:s},o)=>{const a=EC(i,t);return u.jsxs("tr",{className:o%2===1?"bg-dash-bg/40":void 0,children:[u.jsx("td",{className:"px-3 py-2 border-t border-dash-border",children:dr(i.providerDisplayName||i.provider)}),u.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-dash-text-muted",children:dr(i.type||"-")}),u.jsx("td",{className:"px-3 py-2 border-t border-dash-border font-mono",children:dr(i.item||"-")}),u.jsx("td",{className:`px-3 py-2 border-t border-dash-border ${a.className}`,children:a.label}),u.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-dash-text-muted font-mono text-[10px]",children:dr(i.path||"-")}),u.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-red-400",children:dr(i.error||i.skipReason||"-")})]},s)})})]})})]})})};function EC(n,e){return n.success?n.skipped?{label:e("migrateStatusSkipped"),className:"text-yellow-400"}:{label:e("migrateStatusInstalled"),className:"text-green-400"}:{label:e("migrateStatusFailed"),className:"text-red-400"}}const RC=500;function LC(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function IC(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(LC(r)||(e+=t))}return e}const BC=({diff:n,className:e=""})=>{const t=n.split(`
218
- `),r=t.slice(0,RC),i=t.length-r.length;return u.jsxs("pre",{className:`text-xs font-mono overflow-x-auto p-3 rounded bg-dash-bg border border-dash-border ${e}`,children:[r.map((s,o)=>{const a=IC(s);let l="text-dash-text";return a.startsWith("+")?l="text-green-400 bg-green-500/10":a.startsWith("-")?l="text-red-400 bg-red-500/10":a.startsWith("@@")&&(l="text-blue-400"),u.jsx("div",{className:l,children:a},`${o}:${a.slice(0,24)}`)}),i>0&&u.jsxs("div",{className:"text-dash-text-muted",children:["... truncated ",i," additional line(s)"]})]})};function $C(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function hi(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&($C(r)||(e+=t))}return e}const FC=({action:n,resolution:e,onResolve:t})=>{const{t:r}=me(),[i,s]=g.useState(!1),o=n.ownedSections&&n.ownedSections.length>0;return u.jsxs("div",{className:"border border-dash-border rounded-lg p-4 mb-3 bg-dash-surface",children:[u.jsxs("div",{className:"flex justify-between items-start gap-4",children:[u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsxs("div",{className:"font-mono text-sm text-dash-text truncate",children:[hi(n.provider),"/",hi(n.type),"/",hi(n.item)]}),u.jsx("p",{className:"text-xs text-dash-text-muted mt-1",children:hi(n.reason)}),n.targetPath&&u.jsx("p",{className:"text-xs text-dash-text-secondary mt-1 font-mono truncate",children:hi(n.targetPath)})]}),u.jsxs("div",{className:"flex flex-wrap gap-2 items-center",children:[u.jsx("button",{type:"button",onClick:()=>t({type:"overwrite"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="overwrite"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictUseCK")}),u.jsx("button",{type:"button",onClick:()=>t({type:"keep"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="keep"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictKeepMine")}),o&&u.jsx("button",{type:"button",onClick:()=>t({type:"smart-merge"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="smart-merge"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictSmartMerge")}),n.diff&&u.jsx("button",{type:"button",onClick:()=>s(!i),className:"dash-focus-ring px-3 py-1.5 text-xs font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:r(i?"migrateConflictHideDiff":"migrateConflictShowDiff")})]})]}),i&&n.diff&&u.jsx(BC,{diff:n.diff,className:"mt-3"}),e&&u.jsxs("div",{className:"mt-2 text-xs text-green-400 flex items-center gap-1.5",children:[u.jsx("svg",{className:"w-3.5 h-3.5",fill:"currentColor",viewBox:"0 0 20 20",children:u.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),u.jsxs("span",{children:[r("migrateConflictResolved"),": ",VC(e.type,r)]})]})]})};function VC(n,e){switch(n){case"overwrite":return e("migrateConflictUseCK");case"keep":return e("migrateConflictKeepMine");case"smart-merge":return e("migrateConflictSmartMerge");case"resolved":return e("migrateConflictManual");default:return String(n)}}const qn=200;function zC(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function ui(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(zC(r)||(e+=t))}return e}function HC(n){const e={install:[],update:[],skip:[],conflict:[],delete:[]};for(const t of n){const r=t.action;e[r].push(t)}return e}const WC=({plan:n,resolutions:e,onResolve:t,actionKey:r})=>{const{t:i}=me(),[s,o]=g.useState(!1),a=g.useMemo(()=>HC(n.actions),[n.actions]),l=c=>{for(const h of a.conflict)t(h,{type:c})};return u.jsxs("div",{className:"space-y-4",children:[u.jsxs("div",{className:"flex flex-wrap gap-2 text-xs",children:[n.summary.install>0&&u.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-green-500/10 border border-green-500/30 text-green-400",children:[n.summary.install," ",i("migrateActionInstall")]}),n.summary.update>0&&u.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-yellow-500/10 border border-yellow-500/30 text-yellow-400",children:[n.summary.update," ",i("migrateActionUpdate")]}),n.summary.skip>0&&u.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-dash-bg border border-dash-border text-dash-text-muted",children:[n.summary.skip," ",i("migrateActionSkip")]}),n.summary.conflict>0&&u.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-red-500/10 border border-red-500/30 text-red-400",children:[n.summary.conflict," ",i("migrateActionConflict")]}),n.summary.delete>0&&u.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary",children:[n.summary.delete," ",i("migrateActionDelete")]})]}),a.conflict.length>0&&u.jsxs("div",{className:"border border-red-500/30 rounded-lg bg-red-500/5",children:[u.jsx("div",{className:"px-4 py-3 border-b border-red-500/20",children:u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsxs("h3",{className:"text-sm font-semibold text-red-400",children:[i("migrateConflictSectionTitle")," (",a.conflict.length,")"]}),u.jsxs("div",{className:"flex gap-2",children:[u.jsx("button",{type:"button",onClick:()=>l("overwrite"),className:"dash-focus-ring px-3 py-1 text-xs font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:i("migrateConflictOverwriteAll")}),u.jsx("button",{type:"button",onClick:()=>l("keep"),className:"dash-focus-ring px-3 py-1 text-xs font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:i("migrateConflictKeepAll")})]})]})}),u.jsxs("div",{className:"p-4 space-y-3",children:[a.conflict.slice(0,qn).map(c=>u.jsx(FC,{action:c,resolution:e.get(r(c))||null,onResolve:h=>t(c,h)},r(c))),a.conflict.length>qn&&u.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",a.conflict.length-qn," more conflict(s)"]})]})]}),a.install.length>0&&u.jsx(Il,{title:i("migrateActionInstall"),actions:a.install,badgeClass:"bg-green-500/10 border-green-500/30 text-green-400"}),a.update.length>0&&u.jsx(Il,{title:i("migrateActionUpdate"),actions:a.update,badgeClass:"bg-yellow-500/10 border-yellow-500/30 text-yellow-400"}),a.delete.length>0&&u.jsx(Il,{title:i("migrateActionDelete"),actions:a.delete,badgeClass:"bg-dash-bg border-dash-border text-dash-text-secondary"}),a.skip.length>0&&u.jsxs("div",{className:"border border-dash-border rounded-lg bg-dash-surface",children:[u.jsxs("button",{type:"button",onClick:()=>o(!s),className:"w-full px-4 py-3 flex items-center justify-between text-left hover:bg-dash-surface-hover transition-colors",children:[u.jsx("div",{className:"flex items-center gap-2",children:u.jsxs("span",{className:"text-sm font-semibold text-dash-text-muted",children:[i("migrateActionSkip")," (",a.skip.length," ",i("migrateUnchanged"),")"]})}),u.jsx("svg",{className:`w-4 h-4 text-dash-text-muted transition-transform ${s?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),s&&u.jsxs("div",{className:"px-4 pb-4 space-y-2",children:[a.skip.slice(0,qn).map(c=>u.jsx(Ab,{action:c},r(c))),a.skip.length>qn&&u.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",a.skip.length-qn," more skipped action(s)"]})]})]})]})},Il=({title:n,actions:e,badgeClass:t})=>{const r=e.slice(0,qn),i=e.length-r.length;return u.jsxs("div",{className:"border border-dash-border rounded-lg bg-dash-surface",children:[u.jsx("div",{className:"px-4 py-3 border-b border-dash-border",children:u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("h3",{className:"text-sm font-semibold text-dash-text",children:n}),u.jsx("span",{className:`px-2 py-0.5 text-xs rounded-md border ${t}`,children:e.length})]})}),u.jsxs("div",{className:"p-4 space-y-2",children:[r.map(s=>u.jsx(Ab,{action:s},`${s.provider}:${s.type}:${s.item}:${s.global}:${s.action}`)),i>0&&u.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",i," more action(s)"]})]})]})},Ab=({action:n})=>u.jsxs("div",{className:"px-3 py-2 bg-dash-bg rounded-md border border-dash-border",children:[u.jsxs("div",{className:"font-mono text-xs text-dash-text",children:[ui(n.provider),"/",ui(n.type),"/",ui(n.item)]}),u.jsx("div",{className:"text-xs text-dash-text-muted mt-1",children:ui(n.reason)}),n.targetPath&&u.jsx("div",{className:"text-xs text-dash-text-secondary mt-0.5 font-mono truncate",children:ui(n.targetPath)})]});var _C=function(e){return typeof window<"u"?matchMedia&&matchMedia("(prefers-color-scheme: ".concat(e,")")):{matches:!1}},Bl,UC=g.createContext({appearance:"light",setAppearance:function(){},isDarkMode:!1,themeMode:"light",setThemeMode:function(){},browserPrefers:(Bl=_C("dark"))!==null&&Bl!==void 0&&Bl.matches?"dark":"light"}),KC=function(){return g.useContext(UC)};const Mb=(n,e)=>{if(e)return"row";switch(n){case"horizontal":return"row";case"horizontal-reverse":return"row-reverse";case"vertical":default:return"column";case"vertical-reverse":return"column-reverse"}},GC=n=>{if(n)return["space-between","space-around","space-evenly"].includes(n)},qC=(n,e)=>Mb(n,e)==="row",fr=n=>typeof n=="number"?`${n}px`:n,YC=({visible:n,flex:e,gap:t,direction:r,horizontal:i,align:s,justify:o,distribution:a,height:l,width:c,padding:h,paddingInline:d,paddingBlock:f,prefixCls:p,as:m="div",className:b,style:y,children:v,wrap:k,ref:S,...O})=>{const C=o||a,x=qC(r,i)&&!c&&GC(C)?"100%":fr(c),N={...e!==void 0?{"--lobe-flex":String(e)}:{},...r||i?{"--lobe-flex-direction":Mb(r,i)}:{},...k!==void 0?{"--lobe-flex-wrap":k}:{},...C!==void 0?{"--lobe-flex-justify":C}:{},...s!==void 0?{"--lobe-flex-align":s}:{},...x!==void 0?{"--lobe-flex-width":x}:{},...l!==void 0?{"--lobe-flex-height":fr(l)}:{},...h!==void 0?{"--lobe-flex-padding":fr(h)}:{},...d!==void 0?{"--lobe-flex-padding-inline":fr(d)}:{},...f!==void 0?{"--lobe-flex-padding-block":fr(f)}:{},...t!==void 0?{"--lobe-flex-gap":fr(t)}:{},...y},D="lobe-flex",L=[D,n===!1?`${D}--hidden`:void 0,p?`${p}-flex`:void 0,b].filter(Boolean).join(" ");return u.jsx(m,{ref:S,...O,className:L,style:N,children:v})};var Nb=g.memo(YC);const QC=({children:n,ref:e,...t})=>u.jsx(Nb,{...t,align:"center",justify:"center",ref:e,children:n});var JC=QC;const XC=/\p{Lu}?\p{Ll}+|[0-9]+|\p{Lu}+(?!\p{Ll})|\p{Emoji_Presentation}|\p{Extended_Pictographic}|\p{L}+/gu;function ZC(n){return Array.from(n.match(XC)??[])}function e6(n){return ZC(n).map(t=>t.toLowerCase()).join("-")}g.createContext(null);var t6=function(e,t){if(t){if(e&&t==="#000")return"0 0 0 1px rgba(255,255,255,0.1) inset";if(!e&&t==="#fff")return"0 0 0 1px rgba(0,0,0,0.05) inset"}};function Ji(n){"@babel/helpers - typeof";return Ji=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ji(n)}var n6=["shape","color","background","size","style","iconMultiple","Icon","iconStyle","iconClassName"];function Zf(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ro(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Zf(Object(t),!0).forEach(function(r){r6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Zf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function r6(n,e,t){return e=i6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function i6(n){var e=s6(n,"string");return Ji(e)=="symbol"?e:String(e)}function s6(n,e){if(Ji(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ji(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function o6(n,e){if(n==null)return{};var t=a6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function a6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Vn=g.memo(function(n){var e=n.shape,t=e===void 0?"circle":e,r=n.color,i=r===void 0?"#fff":r,s=n.background,o=n.size,a=n.style,l=n.iconMultiple,c=l===void 0?.75:l,h=n.Icon,d=n.iconStyle,f=n.iconClassName,p=o6(n,n6),m=KC(),b=m.isDarkMode;return u.jsx(JC,Ro(Ro({flex:"none",style:Ro({background:s,borderRadius:t==="circle"?"50%":Math.floor(o*.1),boxShadow:t6(b,s),color:i,height:o,width:o},a)},p),{},{children:h&&u.jsx(h,{className:f,color:i,size:o,style:Ro({transform:"scale(".concat(c,")")},d)})}))});function Xi(n){"@babel/helpers - typeof";return Xi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xi(n)}var l6=["Icon","style","Text","color","size","spaceMultiple","textMultiple","extra","extraStyle","showText","showLogo","extraClassName","iconProps","inverse"];function ep(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function xn(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ep(Object(t),!0).forEach(function(r){c6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ep(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function c6(n,e,t){return e=h6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function h6(n){var e=u6(n,"string");return Xi(e)=="symbol"?e:String(e)}function u6(n,e){if(Xi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Xi(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function d6(n,e){if(n==null)return{};var t=f6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function f6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var zn=g.memo(function(n){var e=n.Icon,t=n.style,r=n.Text,i=n.color,s=n.size,o=s===void 0?24:s,a=n.spaceMultiple,l=a===void 0?1:a,c=n.textMultiple,h=c===void 0?1:c,d=n.extra,f=n.extraStyle,p=n.showText,m=p===void 0?!0:p,b=n.showLogo,y=b===void 0?!0:b,v=n.extraClassName,k=n.iconProps,S=n.inverse,O=d6(n,l6),C=e&&y&&u.jsx(e,xn(xn({size:o},k),{},{style:xn(S?{marginLeft:o*l}:{marginRight:o*l},k?.style)})),P=m&&r&&u.jsx(r,{size:o*h});return u.jsxs(Nb,xn(xn({align:"center",flex:"none",horizontal:!0,justify:"flex-start",style:xn({color:i},t)},O),{},{children:[S?u.jsxs(u.Fragment,{children:[P,C]}):u.jsxs(u.Fragment,{children:[C,P]}),d&&u.jsx("span",{className:v,style:xn({fontSize:o*h*.95,lineHeight:1},f),children:d})]}))}),p6=function(e,t){return g.useMemo(function(){var r=Array.from({length:t},function(i,s){var o="lobe-icons-".concat(e6(e),"-fill-").concat(s);return{fill:"url(#".concat(o,")"),id:o}});return r},[e,t])},_r="Claude",m6=.8,g6=.1,Db="#D97757",b6=Db,y6="#fff",x6=.75;function Zi(n){"@babel/helpers - typeof";return Zi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zi(n)}var v6=["size","style"];function tp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function $l(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?tp(Object(t),!0).forEach(function(r){w6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):tp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function w6(n,e,t){return e=k6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function k6(n){var e=S6(n,"string");return Zi(e)=="symbol"?e:String(e)}function S6(n,e){if(Zi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Zi(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function C6(n,e){if(n==null)return{};var t=j6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function j6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Jh=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=C6(n,v6);return u.jsxs("svg",$l($l({fill:"currentColor",fillRule:"evenodd",height:t,style:$l({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:_r}),u.jsx("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z"})]}))});function es(n){"@babel/helpers - typeof";return es=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},es(n)}function np(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function O6(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?np(Object(t),!0).forEach(function(r){P6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):np(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function P6(n,e,t){return e=A6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function A6(n){var e=M6(n,"string");return es(e)=="symbol"?e:String(e)}function M6(n,e){if(es(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(es(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function N6(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var D6=g.memo(function(n){var e=Object.assign({},(N6(n),n));return u.jsx(Vn,O6({Icon:Jh,"aria-label":_r,background:b6,color:y6,iconMultiple:x6},e))});function ts(n){"@babel/helpers - typeof";return ts=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ts(n)}var T6=["size","style"];function rp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Fl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?rp(Object(t),!0).forEach(function(r){E6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):rp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function E6(n,e,t){return e=R6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function R6(n){var e=L6(n,"string");return ts(e)=="symbol"?e:String(e)}function L6(n,e){if(ts(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ts(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function I6(n,e){if(n==null)return{};var t=B6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function B6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Tb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=I6(n,T6);return u.jsxs("svg",Fl(Fl({height:t,style:Fl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:_r}),u.jsx("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z",fill:"#D97757",fillRule:"nonzero"})]}))});function ns(n){"@babel/helpers - typeof";return ns=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ns(n)}var $6=["size","style"];function ip(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Vl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ip(Object(t),!0).forEach(function(r){F6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ip(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function F6(n,e,t){return e=V6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function V6(n){var e=z6(n,"string");return ns(e)=="symbol"?e:String(e)}function z6(n,e){if(ns(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ns(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function H6(n,e){if(n==null)return{};var t=W6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function W6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Eb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=H6(n,$6);return u.jsxs("svg",Vl(Vl({fill:"currentColor",fillRule:"nonzero",height:t,style:Vl({flex:"none",lineHeight:1},r),viewBox:"0 0 97 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:_r}),u.jsx("path",{d:"M13.623 20.222c-3.417 0-5.753-1.901-6.855-4.827a12.992 12.992 0 01-.838-4.772c0-4.907 2.206-8.315 7.08-8.315 3.275 0 5.297 1.425 6.448 4.826h1.402l-.19-4.69C18.709 1.18 16.258.543 13.276.543c-4.2 0-7.775 1.874-9.763 5.254a11.357 11.357 0 00-1.511 5.872c0 3.753 1.777 7.08 5.113 8.926a11.95 11.95 0 005.943 1.398c3.254 0 5.835-.617 8.122-1.697l.593-5.172h-1.43c-.858 2.362-1.88 3.78-3.574 4.534-.831.373-1.88.564-3.146.564zm14.74-17.914L28.499 0h-.967L23.23 1.29v.699l1.907.882v16.142c0 1.1-.565 1.344-2.043 1.528v1.18h7.319v-1.18c-1.484-.184-2.042-.428-2.042-1.528V2.315l-.007-.007zm29.104 19.685h.565l4.95-.937v-1.208l-.695-.054c-1.157-.109-1.457-.346-1.457-1.29V9.897l.137-2.763h-.783l-4.678.672v1.181l.457.082c1.266.183 1.64.536 1.64 1.419v7.67c-1.212.937-2.369 1.527-3.744 1.527-1.525 0-2.471-.774-2.471-2.58V9.905l.136-2.763h-.804l-4.684.672v1.181l.484.082c1.266.183 1.64.536 1.64 1.418v7.08c0 3 1.703 4.426 4.412 4.426 2.07 0 3.765-1.1 5.038-2.627L57.474 22l-.007-.007zm-13.602-9.55c0-3.836-2.043-5.309-5.733-5.309-3.254 0-5.616 1.344-5.616 3.57 0 .666.238 1.175.721 1.528l2.478-.326c-.109-.746-.163-1.201-.163-1.391 0-1.263.674-1.901 2.042-1.901 2.022 0 3.044 1.419 3.044 3.7v.746l-5.106 1.527c-1.702.462-2.67.863-3.316 1.8a3.386 3.386 0 00-.476 1.9c0 2.172 1.497 3.706 4.057 3.706 1.852 0 3.493-.835 4.922-2.416.51 1.581 1.294 2.416 2.69 2.416 1.13 0 2.15-.455 3.063-1.344l-.272-.937a4.363 4.363 0 01-1.178.163c-.783 0-1.157-.617-1.157-1.826v-5.607zm-6.536 7.378c-1.396 0-2.26-.808-2.26-2.226 0-.964.456-1.528 1.43-1.854l4.139-1.31v3.965c-1.321.997-2.097 1.425-3.31 1.425zm43.095 1.235v-1.208l-.701-.054c-1.158-.109-1.45-.346-1.45-1.29V2.308L78.409 0h-.974l-4.302 1.29v.699l1.906.882V8.18a6.024 6.024 0 00-3.656-1.046c-4.276 0-7.612 3.245-7.612 8.098 0 3.998 2.397 6.761 6.346 6.761 2.042 0 3.819-.99 4.922-2.525l-.136 2.525h.571l4.95-.937zm-8.96-12.313c2.043 0 3.575 1.181 3.575 3.353v6.11a4.91 4.91 0 01-3.547 1.425c-2.928 0-4.412-2.308-4.412-5.39 0-3.462 1.695-5.498 4.385-5.498zm19.424 3.055c-.381-1.792-1.484-2.81-3.016-2.81-2.288 0-3.874 1.717-3.874 4.18 0 3.646 1.934 6.008 5.059 6.008a5.858 5.858 0 005.03-2.953l.913.245c-.408 3.163-3.281 5.525-6.808 5.525-4.14 0-6.992-3.054-6.992-7.399 0-4.378 3.098-7.46 7.237-7.46 3.09 0 5.27 1.853 5.97 5.07l-10.783 3.3V14.05l7.264-2.247v-.006z"})]}))});function rs(n){"@babel/helpers - typeof";return rs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rs(n)}var _6=["type"];function sp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function U6(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?sp(Object(t),!0).forEach(function(r){K6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):sp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function K6(n,e,t){return e=G6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function G6(n){var e=q6(n,"string");return rs(e)=="symbol"?e:String(e)}function q6(n,e){if(rs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(rs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Y6(n,e){if(n==null)return{};var t=Q6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Q6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var J6=g.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=Y6(n,_6),i=t==="color"?Tb:Jh;return u.jsx(zn,U6({Icon:i,Text:Eb,"aria-label":_r,spaceMultiple:g6,textMultiple:m6},r))}),cr=Jh;cr.Color=Tb;cr.Text=Eb;cr.Combine=J6;cr.Avatar=D6;cr.colorPrimary=Db;cr.title=_r;var _s="OpenAI",X6=.75,Z6=.1,Rb="#000",Lb="#19C37D",Ib="#AB68FF",Bb="#F86AA4",Xh="#F9C322",$b="#0099FF",Fb="#0000FE",ej=Rb,tj="#fff",nj=.75;function is(n){"@babel/helpers - typeof";return is=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},is(n)}var rj=["size","style"];function op(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function zl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?op(Object(t),!0).forEach(function(r){ij(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):op(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function ij(n,e,t){return e=sj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function sj(n){var e=oj(n,"string");return is(e)=="symbol"?e:String(e)}function oj(n,e){if(is(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(is(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function aj(n,e){if(n==null)return{};var t=lj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function lj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Zh=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=aj(n,rj);return u.jsxs("svg",zl(zl({fill:"currentColor",fillRule:"evenodd",height:t,style:zl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:_s}),u.jsx("path",{d:"M21.55 10.004a5.416 5.416 0 00-.478-4.501c-1.217-2.09-3.662-3.166-6.05-2.66A5.59 5.59 0 0010.831 1C8.39.995 6.224 2.546 5.473 4.838A5.553 5.553 0 001.76 7.496a5.487 5.487 0 00.691 6.5 5.416 5.416 0 00.477 4.502c1.217 2.09 3.662 3.165 6.05 2.66A5.586 5.586 0 0013.168 23c2.443.006 4.61-1.546 5.361-3.84a5.553 5.553 0 003.715-2.66 5.488 5.488 0 00-.693-6.497v.001zm-8.381 11.558a4.199 4.199 0 01-2.675-.954c.034-.018.093-.05.132-.074l4.44-2.53a.71.71 0 00.364-.623v-6.176l1.877 1.069c.02.01.033.029.036.05v5.115c-.003 2.274-1.87 4.118-4.174 4.123zM4.192 17.78a4.059 4.059 0 01-.498-2.763c.032.02.09.055.131.078l4.44 2.53c.225.13.504.13.73 0l5.42-3.088v2.138a.068.068 0 01-.027.057L9.9 19.288c-1.999 1.136-4.552.46-5.707-1.51h-.001zM3.023 8.216A4.15 4.15 0 015.198 6.41l-.002.151v5.06a.711.711 0 00.364.624l5.42 3.087-1.876 1.07a.067.067 0 01-.063.005l-4.489-2.559c-1.995-1.14-2.679-3.658-1.53-5.63h.001zm15.417 3.54l-5.42-3.088L14.896 7.6a.067.067 0 01.063-.006l4.489 2.557c1.998 1.14 2.683 3.662 1.529 5.633a4.163 4.163 0 01-2.174 1.807V12.38a.71.71 0 00-.363-.623zm1.867-2.773a6.04 6.04 0 00-.132-.078l-4.44-2.53a.731.731 0 00-.729 0l-5.42 3.088V7.325a.068.068 0 01.027-.057L14.1 4.713c2-1.137 4.555-.46 5.707 1.513.487.833.664 1.809.499 2.757h.001zm-11.741 3.81l-1.877-1.068a.065.065 0 01-.036-.051V6.559c.001-2.277 1.873-4.122 4.181-4.12.976 0 1.92.338 2.671.954-.034.018-.092.05-.131.073l-4.44 2.53a.71.71 0 00-.365.623l-.003 6.173v.002zm1.02-2.168L12 9.25l2.414 1.375v2.75L12 14.75l-2.415-1.375v-2.75z"})]}))}),or="Gemini",cj=.8,hj=.2,Vb="#fff",uj=Vb,dj="#fff",fj=.8;function ss(n){"@babel/helpers - typeof";return ss=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ss(n)}var pj=["size","style"];function ap(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Hl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ap(Object(t),!0).forEach(function(r){mj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ap(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function mj(n,e,t){return e=gj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function gj(n){var e=bj(n,"string");return ss(e)=="symbol"?e:String(e)}function bj(n,e){if(ss(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ss(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function yj(n,e){return kj(n)||wj(n,e)||vj(n,e)||xj()}function xj(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
219
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vj(n,e){if(n){if(typeof n=="string")return lp(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return lp(n,e)}}function lp(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}function wj(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var r,i,s,o,a=[],l=!0,c=!1;try{if(s=(t=t.call(n)).next,e!==0)for(;!(l=(r=s.call(t)).done)&&(a.push(r.value),a.length!==e);l=!0);}catch(h){c=!0,i=h}finally{try{if(!l&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw i}}return a}}function kj(n){if(Array.isArray(n))return n}function Sj(n,e){if(n==null)return{};var t=Cj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Cj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var eu=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Sj(n,pj),s=p6(or,3),o=yj(s,3),a=o[0],l=o[1],c=o[2];return u.jsxs("svg",Hl(Hl({height:t,style:Hl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:or}),u.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:"#3186FF"}),u.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:a.fill}),u.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:l.fill}),u.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:c.fill}),u.jsxs("defs",{children:[u.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:a.id,x1:"7",x2:"11",y1:"15.5",y2:"12",children:[u.jsx("stop",{stopColor:"#08B962"}),u.jsx("stop",{offset:"1",stopColor:"#08B962",stopOpacity:"0"})]}),u.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:l.id,x1:"8",x2:"11.5",y1:"5.5",y2:"11",children:[u.jsx("stop",{stopColor:"#F94543"}),u.jsx("stop",{offset:"1",stopColor:"#F94543",stopOpacity:"0"})]}),u.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:c.id,x1:"3.5",x2:"17.5",y1:"13.5",y2:"12",children:[u.jsx("stop",{stopColor:"#FABC12"}),u.jsx("stop",{offset:".46",stopColor:"#FABC12",stopOpacity:"0"})]})]})]}))});function os(n){"@babel/helpers - typeof";return os=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},os(n)}function cp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function jj(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?cp(Object(t),!0).forEach(function(r){Oj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):cp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Oj(n,e,t){return e=Pj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Pj(n){var e=Aj(n,"string");return os(e)=="symbol"?e:String(e)}function Aj(n,e){if(os(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(os(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Mj(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Nj=g.memo(function(n){var e=Object.assign({},(Mj(n),n));return u.jsx(Vn,jj({Icon:eu,"aria-label":or,background:uj,color:dj,iconMultiple:fj},e))});function as(n){"@babel/helpers - typeof";return as=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},as(n)}var Dj=["size","style"];function hp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Wl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?hp(Object(t),!0).forEach(function(r){Tj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):hp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Tj(n,e,t){return e=Ej(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Ej(n){var e=Rj(n,"string");return as(e)=="symbol"?e:String(e)}function Rj(n,e){if(as(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(as(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Lj(n,e){if(n==null)return{};var t=Ij(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Ij(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var zb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Lj(n,Dj);return u.jsxs("svg",Wl(Wl({fill:"currentColor",fillRule:"evenodd",height:t,style:Wl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:or}),u.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z"})]}))});function ls(n){"@babel/helpers - typeof";return ls=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ls(n)}var Bj=["size","style"];function up(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function _l(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?up(Object(t),!0).forEach(function(r){$j(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):up(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function $j(n,e,t){return e=Fj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Fj(n){var e=Vj(n,"string");return ls(e)=="symbol"?e:String(e)}function Vj(n,e){if(ls(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ls(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function zj(n,e){if(n==null)return{};var t=Hj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Hj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Hb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=zj(n,Bj);return u.jsxs("svg",_l(_l({fill:"currentColor",fillRule:"evenodd",height:t,style:_l({flex:"none",lineHeight:1},r),viewBox:"0 0 98 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:or}),u.jsx("path",{d:"M21.186 12.67c0 2.649-.786 4.759-2.359 6.33-1.766 1.87-4.09 2.806-6.969 2.806-2.756 0-5.088-.953-6.996-2.86C2.954 17.04 2 14.693 2 11.904c0-2.789.954-5.137 2.862-7.043C6.77 2.953 9.102 2 11.858 2c1.396 0 2.712.247 3.949.741 1.236.495 2.252 1.192 3.047 2.092l-1.749 1.748c-.583-.706-1.338-1.258-2.266-1.655a7.49 7.49 0 00-2.981-.596c-2.067 0-3.816.715-5.247 2.145-1.413 1.448-2.12 3.257-2.12 5.428s.707 3.98 2.12 5.428c1.431 1.43 3.18 2.145 5.247 2.145 1.89 0 3.463-.53 4.717-1.588 1.254-1.06 1.979-2.516 2.173-4.37h-6.89v-2.277h9.196c.088.495.132.971.132 1.43m7.652-4.633c1.946 0 3.494.629 4.645 1.886 1.15 1.257 1.726 3.018 1.726 5.282l-.027.268H24.877c.036 1.284.464 2.318 1.285 3.102.82.785 1.802 1.177 2.944 1.177 1.57 0 2.802-.784 3.694-2.354l2.195 1.07a6.54 6.54 0 01-2.45 2.595C31.503 21.688 30.32 22 29 22c-1.927 0-3.516-.66-4.765-1.98-1.249-1.319-1.873-2.986-1.873-5.001 0-1.997.606-3.66 1.82-4.988 1.213-1.329 2.766-1.993 4.657-1.993m-.053 2.247c-.928 0-1.727.285-2.396.856-.67.57-1.11 1.337-1.325 2.3h7.522c-.071-.91-.442-1.663-1.111-2.26-.67-.598-1.566-.896-2.69-.896M39.247 21.53h-2.455V8.465h2.348v1.813h.107c.374-.64.947-1.173 1.721-1.6.774-.427 1.544-.64 2.309-.64.96 0 1.806.222 2.535.667a3.931 3.931 0 011.601 1.84c1.085-1.671 2.589-2.507 4.51-2.507 1.513 0 2.678.462 3.496 1.387.819.924 1.228 2.24 1.228 3.946v8.16h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.192-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.191-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227zM61.911 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zM80 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zm-16.343.022h2.349v1.813h.107c.373-.64.947-1.173 1.721-1.6a4.935 4.935 0 012.415-.64c1.601 0 2.833.458 3.696 1.373.863.916 1.294 2.218 1.294 3.907v8.213h-2.455v-8.053c-.053-2.133-1.13-3.2-3.229-3.2-.978 0-1.797.395-2.455 1.187-.658.79-.987 1.737-.987 2.84v7.226h-2.456V8.465z"})]}))});function cs(n){"@babel/helpers - typeof";return cs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},cs(n)}var Wj=["type"];function dp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function _j(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?dp(Object(t),!0).forEach(function(r){Uj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):dp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Uj(n,e,t){return e=Kj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Kj(n){var e=Gj(n,"string");return cs(e)=="symbol"?e:String(e)}function Gj(n,e){if(cs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(cs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function qj(n,e){if(n==null)return{};var t=Yj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Yj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Qj=g.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=qj(n,Wj),i=t==="color"?eu:zb;return u.jsx(zn,_j({Icon:i,Text:Hb,"aria-label":or,spaceMultiple:hj,textMultiple:cj},r))}),hr=zb;hr.Color=eu;hr.Text=Hb;hr.Combine=Qj;hr.Avatar=Nj;hr.colorPrimary=Vb;hr.title=or;function hs(n){"@babel/helpers - typeof";return hs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hs(n)}var Jj=["type"];function fp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Xj(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?fp(Object(t),!0).forEach(function(r){Zj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):fp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Zj(n,e,t){return e=eO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function eO(n){var e=tO(n,"string");return hs(e)=="symbol"?e:String(e)}function tO(n,e){if(hs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(hs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function nO(n,e){if(n==null)return{};var t=rO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function rO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var iO=g.memo(function(n){var e=n.type,t=e===void 0?"normal":e,r=nO(n,Jj),i=g.useMemo(function(){switch(t){case"gpt3":return Lb;case"gpt4":return Ib;case"gpt5":return Bb;case"o3":case"o1":return Xh;case"oss":return $b;case"platform":return Fb;default:return ej}},[t]);return u.jsx(Vn,Xj({Icon:Zh,"aria-label":_s,background:i,color:tj,iconMultiple:nj},r))});function us(n){"@babel/helpers - typeof";return us=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},us(n)}var sO=["size","style"];function pp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ul(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?pp(Object(t),!0).forEach(function(r){oO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):pp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function oO(n,e,t){return e=aO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function aO(n){var e=lO(n,"string");return us(e)=="symbol"?e:String(e)}function lO(n,e){if(us(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(us(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function cO(n,e){if(n==null)return{};var t=hO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function hO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Wb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=cO(n,sO);return u.jsxs("svg",Ul(Ul({fill:"currentColor",fillRule:"evenodd",height:t,style:Ul({flex:"none",lineHeight:1},r),viewBox:"0 0 84 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:_s}),u.jsx("path",{d:"M2 10.955c0 5.276 3.376 8.955 8.054 8.955 4.678 0 8.054-3.679 8.054-8.955S14.732 2 10.054 2C5.423 2 2.068 5.606 2 10.797L2 10.955zm13.021 0c0 3.775-2.05 6.22-4.967 6.22-2.918 0-4.968-2.445-4.968-6.22 0-3.776 2.05-6.22 4.968-6.22 2.917 0 4.967 2.444 4.967 6.22zm11.778 8.955c3.545 0 5.57-3.001 5.57-6.607 0-3.607-2.025-6.608-5.57-6.608-1.64 0-2.845.654-3.64 1.598V6.937h-2.894V24h2.893v-5.688c.796.944 2.002 1.598 3.641 1.598zm-3.713-6.97c0-2.397 1.35-3.703 3.135-3.703 2.097 0 3.23 1.645 3.23 4.066 0 2.42-1.133 4.066-3.23 4.066-1.785 0-3.135-1.332-3.135-3.68v-.75zM40.2 19.91c2.532 0 4.533-1.331 5.425-3.558l-2.483-.944c-.386 1.307-1.52 2.033-2.942 2.033-1.857 0-3.159-1.331-3.376-3.51h8.874v-.967c0-3.485-1.953-6.269-5.619-6.269-3.665 0-6.028 2.88-6.028 6.608 0 3.92 2.532 6.607 6.15 6.607zm-.145-10.77c1.833 0 2.701 1.21 2.725 2.614H36.97c.434-1.719 1.591-2.614 3.086-2.614zm7.814 10.504h2.894v-7.455c0-1.815 1.326-2.783 2.628-2.783 1.591 0 2.218 1.137 2.218 2.71v7.528h2.894V11.27c0-2.735-1.592-4.575-4.244-4.575-1.64 0-2.773.75-3.496 1.598V6.937h-2.894v12.707zM66.978 2.266l-6.56 17.378h3.063l1.471-3.97h7.475l1.495 3.97h3.11L70.475 2.266h-3.496zm1.687 3.437l2.75 7.26h-5.45l2.7-7.26zM82 2.317h-3.086v17.377H82V2.317z"})]}))});function ds(n){"@babel/helpers - typeof";return ds=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ds(n)}var uO=["extraStyle"];function mp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function gp(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?mp(Object(t),!0).forEach(function(r){dO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):mp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function dO(n,e,t){return e=fO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function fO(n){var e=pO(n,"string");return ds(e)=="symbol"?e:String(e)}function pO(n,e){if(ds(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ds(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function mO(n,e){if(n==null)return{};var t=gO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function gO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var bO=g.memo(function(n){var e=n.extraStyle,t=mO(n,uO);return u.jsx(zn,gp({Icon:Zh,Text:Wb,"aria-label":_s,extraStyle:gp({fontWeight:600},e),spaceMultiple:Z6,textMultiple:X6},t))}),vt=Zh;vt.Text=Wb;vt.Combine=bO;vt.Avatar=iO;vt.colorPrimary=Rb;vt.colorGpt3=Lb;vt.colorGpt4=Ib;vt.colorGpt5=Bb;vt.colorO1=Xh;vt.colorO3=Xh;vt.colorOss=$b;vt.colorPlatform=Fb;vt.title=_s;var Us="GithubCopilot",yO=.75,xO=.3,_b="#000",vO=_b,wO="#fff",kO=.75;function fs(n){"@babel/helpers - typeof";return fs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fs(n)}var SO=["size","style"];function bp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Kl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?bp(Object(t),!0).forEach(function(r){CO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):bp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function CO(n,e,t){return e=jO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function jO(n){var e=OO(n,"string");return fs(e)=="symbol"?e:String(e)}function OO(n,e){if(fs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(fs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function PO(n,e){if(n==null)return{};var t=AO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function AO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var tu=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=PO(n,SO);return u.jsxs("svg",Kl(Kl({fill:"currentColor",fillRule:"evenodd",height:t,style:Kl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Us}),u.jsx("path",{d:"M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z"})]}))});function ps(n){"@babel/helpers - typeof";return ps=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ps(n)}function yp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function MO(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?yp(Object(t),!0).forEach(function(r){NO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):yp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function NO(n,e,t){return e=DO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function DO(n){var e=TO(n,"string");return ps(e)=="symbol"?e:String(e)}function TO(n,e){if(ps(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ps(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function EO(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var RO=g.memo(function(n){var e=Object.assign({},(EO(n),n));return u.jsx(Vn,MO({Icon:tu,"aria-label":Us,background:vO,color:wO,iconMultiple:kO},e))});function ms(n){"@babel/helpers - typeof";return ms=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ms(n)}var LO=["size","style"];function xp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Gl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?xp(Object(t),!0).forEach(function(r){IO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):xp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function IO(n,e,t){return e=BO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function BO(n){var e=$O(n,"string");return ms(e)=="symbol"?e:String(e)}function $O(n,e){if(ms(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ms(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function FO(n,e){if(n==null)return{};var t=VO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function VO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Ub=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=FO(n,LO);return u.jsxs("svg",Gl(Gl({fill:"currentColor",fillRule:"evenodd",height:t,style:Gl({flex:"none",lineHeight:1},r),viewBox:"0 0 154 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Us}),u.jsx("path",{d:"M2 11.875c0 5.256 3.013 8.506 8.19 8.506 4.76 0 8.027-2.72 8.027-7.722v-1.545h-7.982v2.928h4.095c-.161 1.96-1.68 3.25-4.049 3.25-2.6 0-4.347-1.498-4.347-4.334V10.7c0-2.582 1.518-4.31 4.186-4.31 1.91 0 3.267.922 3.68 2.374h3.865c-.437-3.366-3.427-5.625-7.499-5.625C5.29 3.138 2 6.366 2 11.875zm17.308-5.44h3.496V3h-3.496v3.435zm0 13.715h3.496V7.795h-3.496V20.15zm10.544-9.52h2.438V7.795h-2.438V3.922h-3.496v3.873H24.17v2.835h2.186v6.8c0 1.637.69 2.72 2.76 2.72h3.174v-2.766h-2.438V10.63zm3.994 9.52h3.727v-7.076h7.568v7.076h3.726V3.346h-3.726v6.777h-7.568V3.346h-3.727V20.15zM62.385 7.795h-3.497v6.523c0 1.868-1.012 3.205-2.668 3.205-1.38 0-2.162-.83-2.162-2.56V7.796h-3.52v7.722c0 2.95 1.357 4.864 4.118 4.864 1.955 0 3.29-.945 4.002-2.49h.207l.46 2.26h3.06V7.794zm1.698 12.355h3.06l.436-2.213h.207c.713 1.591 2.3 2.444 4.072 2.444 3.174 0 5.015-2.374 5.015-6.385 0-4.057-1.887-6.432-5.084-6.432-1.978 0-3.428 1.014-4.003 2.49h-.207V3h-3.496v17.15zm3.496-5.624v-1.06c0-1.845 1.173-3.043 2.99-3.043 1.657 0 2.738.853 2.738 2.581v1.983c0 1.521-.874 2.559-2.714 2.559-1.864 0-3.014-1.222-3.014-3.02zm21.8 5.855c4.21 0 7.177-2.351 7.683-6.063h-3.151c-.46 2.098-2.186 3.389-4.486 3.389-2.852 0-4.67-1.867-4.67-4.518v-2.743c0-2.882 1.887-4.634 4.716-4.634 2.53 0 4.072 1.36 4.44 3.366h3.151c-.368-3.665-3.243-6.063-7.499-6.063-5.038 0-7.982 3.274-7.982 8.668 0 5.348 2.898 8.598 7.798 8.598zm8.533-6.34c0 3.92 2.346 6.34 5.98 6.34 3.796 0 6.004-2.536 6.004-6.34 0-4.056-2.484-6.338-6.003-6.338-3.635 0-5.981 2.397-5.981 6.339zm2.898.992V13.12c0-1.89 1.22-3.066 3.083-3.066 1.817 0 3.082 1.152 3.082 3.066v1.913c0 1.96-1.288 2.997-3.082 2.997-1.749 0-3.083-1.015-3.083-2.997zM111.018 24h2.853v-6.132h.184c.667 1.453 2.116 2.398 4.186 2.398 3.083 0 4.992-2.26 4.992-6.293 0-3.942-1.863-6.27-4.992-6.27-1.863 0-3.427.852-4.186 2.397h-.184l-.345-2.167h-2.508V24zm6.211-6.063c-2.024 0-3.358-1.314-3.358-3.342v-1.222c0-2.005 1.31-3.342 3.381-3.342 2.002 0 3.037 1.152 3.037 2.881v2.144c0 1.815-1.16 2.849-2.973 2.88l-.087.001zm7.1-11.733h2.83V3.115h-2.83v3.09zm0 13.946h2.83V7.933h-2.83V20.15zm4.338 0h2.83V3.115h-2.83V20.15zm9.927-12.447c3.52 0 6.004 2.282 6.004 6.339 0 3.803-2.208 6.339-6.004 6.339-3.634 0-5.98-2.42-5.98-6.34 0-3.941 2.346-6.338 5.98-6.338zm10.922-3.689v3.919H152v2.328h-2.484v7.607H152v2.282h-2.99c-1.749 0-2.324-.922-2.324-2.282v-7.607h-2.185V7.933h2.185V4.014h2.83zm-10.922 6.04c-1.863 0-3.082 1.175-3.082 3.066v1.913c0 1.982 1.334 2.997 3.082 2.997 1.795 0 3.083-1.038 3.083-2.997V13.12c0-1.914-1.265-3.066-3.083-3.066z"})]}))});function gs(n){"@babel/helpers - typeof";return gs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gs(n)}function vp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function zO(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?vp(Object(t),!0).forEach(function(r){HO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):vp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function HO(n,e,t){return e=WO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function WO(n){var e=_O(n,"string");return gs(e)=="symbol"?e:String(e)}function _O(n,e){if(gs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(gs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function UO(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var KO=g.memo(function(n){var e=Object.assign({},(UO(n),n));return u.jsx(zn,zO({Icon:tu,Text:Ub,"aria-label":Us,spaceMultiple:xO,textMultiple:yO},e))}),Ur=tu;Ur.Text=Ub;Ur.Combine=KO;Ur.Avatar=RO;Ur.colorPrimary=_b;Ur.title=Us;var Ks="Cline",GO=.7,qO=.2,Kb="#323B43",YO=Kb,QO="#fff",JO=.6;function bs(n){"@babel/helpers - typeof";return bs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bs(n)}var XO=["size","style"];function wp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ql(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wp(Object(t),!0).forEach(function(r){ZO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):wp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function ZO(n,e,t){return e=e7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function e7(n){var e=t7(n,"string");return bs(e)=="symbol"?e:String(e)}function t7(n,e){if(bs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(bs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function n7(n,e){if(n==null)return{};var t=r7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function r7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var nu=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=n7(n,XO);return u.jsxs("svg",ql(ql({fill:"currentColor",fillRule:"evenodd",height:t,style:ql({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Ks}),u.jsx("path",{d:"M17.035 3.991c2.75 0 4.98 2.24 4.98 5.003v1.667l1.45 2.896a1.01 1.01 0 01-.002.909l-1.448 2.864v1.668c0 2.762-2.23 5.002-4.98 5.002H7.074c-2.751 0-4.98-2.24-4.98-5.002V17.33l-1.48-2.855a1.01 1.01 0 01-.003-.927l1.482-2.887V8.994c0-2.763 2.23-5.003 4.98-5.003h9.962zM8.265 9.6a2.274 2.274 0 00-2.274 2.274v4.042a2.274 2.274 0 004.547 0v-4.042A2.274 2.274 0 008.265 9.6zm7.326 0a2.274 2.274 0 00-2.274 2.274v4.042a2.274 2.274 0 104.548 0v-4.042A2.274 2.274 0 0015.59 9.6z"}),u.jsx("path",{d:"M12.054 5.558a2.779 2.779 0 100-5.558 2.779 2.779 0 000 5.558z"})]}))});function ys(n){"@babel/helpers - typeof";return ys=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ys(n)}function kp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function i7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kp(Object(t),!0).forEach(function(r){s7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):kp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function s7(n,e,t){return e=o7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function o7(n){var e=a7(n,"string");return ys(e)=="symbol"?e:String(e)}function a7(n,e){if(ys(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ys(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function l7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var c7=g.memo(function(n){var e=Object.assign({},(l7(n),n));return u.jsx(Vn,i7({Icon:nu,"aria-label":Ks,background:YO,color:QO,iconMultiple:JO},e))});function xs(n){"@babel/helpers - typeof";return xs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xs(n)}var h7=["size","style"];function Sp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Yl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Sp(Object(t),!0).forEach(function(r){u7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Sp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function u7(n,e,t){return e=d7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function d7(n){var e=f7(n,"string");return xs(e)=="symbol"?e:String(e)}function f7(n,e){if(xs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(xs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function p7(n,e){if(n==null)return{};var t=m7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function m7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Gb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=p7(n,h7);return u.jsxs("svg",Yl(Yl({fill:"currentColor",fillRule:"evenodd",height:t,style:Yl({flex:"none",lineHeight:1},r),viewBox:"0 0 88 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Ks}),u.jsx("path",{d:"M79.558 21.986c-1.13 0-2.167-.189-3.108-.565a7.128 7.128 0 01-2.403-1.569 6.933 6.933 0 01-1.554-2.331 7.876 7.876 0 01-.537-2.925v-.58c0-1.196.189-2.279.566-3.25.376-.97.894-1.798 1.554-2.486a6.84 6.84 0 012.289-1.582 7.005 7.005 0 012.797-.566c1.103 0 2.078.189 2.925.566.848.367 1.56.88 2.134 1.54.575.668 1.008 1.464 1.3 2.388.292.923.438 1.93.438 3.023v1.456H75.362v.07c.103.67.263 1.23.48 1.682.217.452.513.857.89 1.215.377.377.82.669 1.328.876.518.207 1.084.31 1.696.31.838 0 1.62-.16 2.346-.48a4.71 4.71 0 001.794-1.398l1.808 1.752c-.508.734-1.29 1.394-2.345 1.978-1.046.584-2.313.876-3.8.876zm-.41-13.113c-.48 0-.927.09-1.342.269-.405.17-.768.414-1.088.735-.32.33-.589.725-.805 1.187a6.25 6.25 0 00-.48 1.568h7.191v-.226c0-.443-.08-.88-.24-1.314a3.545 3.545 0 00-.678-1.159 3.004 3.004 0 00-1.074-.763c-.424-.198-.919-.297-1.484-.297zM55.043 21.703V6.415h3.052l.212 2.176c.207-.292.433-.56.678-.805.255-.255.523-.48.806-.679a5.555 5.555 0 013.179-.975 6.5 6.5 0 012.148.34 4.11 4.11 0 011.667 1.073c.461.49.82 1.117 1.074 1.88.254.753.381 1.667.381 2.74v9.538h-3.377v-9.48c0-.632-.07-1.16-.212-1.583-.141-.424-.348-.763-.621-1.018a2.3 2.3 0 00-.99-.537 4.736 4.736 0 00-1.328-.17c-.414 0-.8.057-1.158.17a3.421 3.421 0 00-1.611 1.004 4.282 4.282 0 00-.523.706v10.908h-3.377zM38.44 6.415h8.111v12.49h4.493v2.798H38.441v-2.797h4.705v-9.68H38.44V6.416zm4.395-3.956c0-.274.047-.523.141-.75a1.69 1.69 0 01.41-.607c.17-.16.372-.282.607-.367.245-.094.519-.141.82-.141.509 0 .918.131 1.23.395.32.254.503.584.55.99.066.414-.004.776-.212 1.087-.207.302-.508.504-.904.608a1.48 1.48 0 01-.706.353c-.273.057-.575.033-.905-.07a1.396 1.396 0 01-.777-.552 1.758 1.758 0 01-.254-.946zM20.934 0h8.238v18.906h4.634v2.797H20.934v-2.797h4.832V2.812h-4.832V0zM16.71 15.373c-.095.999-.33 1.908-.707 2.727a6.672 6.672 0 01-1.484 2.077 6.542 6.542 0 01-2.218 1.357c-.848.31-1.79.466-2.826.466-.848 0-1.63-.113-2.346-.339a6.467 6.467 0 01-1.893-.99 6.55 6.55 0 01-1.413-1.426 9.438 9.438 0 01-1.003-1.851c-.274-.66-.48-1.375-.622-2.148A14.34 14.34 0 012 12.83v-2.812c0-.8.066-1.573.198-2.317.132-.744.33-1.446.593-2.106A8.284 8.284 0 013.88 3.603a7.296 7.296 0 011.555-1.54 6.953 6.953 0 011.836-.904A7.256 7.256 0 019.49.834c1.083 0 2.049.16 2.896.48.858.32 1.588.773 2.19 1.357a6.337 6.337 0 011.442 2.147c.358.839.588 1.771.692 2.798h-3.391a6.568 6.568 0 00-.353-1.653c-.17-.5-.405-.923-.707-1.272a2.977 2.977 0 00-1.144-.791c-.453-.188-.994-.283-1.625-.283-.443 0-.843.062-1.201.184-.349.122-.66.297-.933.523a3.385 3.385 0 00-.947 1.074 7.033 7.033 0 00-.607 1.455c-.123.471-.217.975-.283 1.512a15.25 15.25 0 00-.084 1.625v2.84c0 .688.037 1.333.113 1.936.084.602.212 1.154.381 1.653.132.414.297.791.495 1.13.207.34.452.631.734.876.292.264.627.466 1.004.608.386.132.824.198 1.314.198.584 0 1.102-.085 1.554-.255.452-.17.838-.419 1.159-.749.31-.32.56-.72.748-1.2.189-.481.311-1.032.368-1.654h3.405z"})]}))});function vs(n){"@babel/helpers - typeof";return vs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vs(n)}function Cp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function g7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Cp(Object(t),!0).forEach(function(r){b7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Cp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function b7(n,e,t){return e=y7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function y7(n){var e=x7(n,"string");return vs(e)=="symbol"?e:String(e)}function x7(n,e){if(vs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(vs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function v7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var w7=g.memo(function(n){var e=Object.assign({},(v7(n),n));return u.jsx(zn,g7({Icon:nu,Text:Gb,"aria-label":Ks,iconProps:{shape:"square"},spaceMultiple:qO,textMultiple:GO},e))}),Kr=nu;Kr.Text=Gb;Kr.Combine=w7;Kr.Avatar=c7;Kr.colorPrimary=Kb;Kr.title=Ks;var Gs="Cursor",k7=.7,S7=.1,qb="#000",C7=qb,j7="#fff",O7=.6;function ws(n){"@babel/helpers - typeof";return ws=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ws(n)}var P7=["size","style"];function jp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ql(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jp(Object(t),!0).forEach(function(r){A7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):jp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function A7(n,e,t){return e=M7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function M7(n){var e=N7(n,"string");return ws(e)=="symbol"?e:String(e)}function N7(n,e){if(ws(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ws(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function D7(n,e){if(n==null)return{};var t=T7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function T7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var ru=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=D7(n,P7);return u.jsxs("svg",Ql(Ql({fill:"currentColor",fillRule:"evenodd",height:t,style:Ql({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Gs}),u.jsx("path",{d:"M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z"})]}))});function ks(n){"@babel/helpers - typeof";return ks=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ks(n)}function Op(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function E7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Op(Object(t),!0).forEach(function(r){R7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Op(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function R7(n,e,t){return e=L7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function L7(n){var e=I7(n,"string");return ks(e)=="symbol"?e:String(e)}function I7(n,e){if(ks(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ks(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function B7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var $7=g.memo(function(n){var e=Object.assign({},(B7(n),n));return u.jsx(Vn,E7({Icon:ru,"aria-label":Gs,background:C7,color:j7,iconMultiple:O7},e))});function Ss(n){"@babel/helpers - typeof";return Ss=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ss(n)}var F7=["size","style"];function Pp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Jl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Pp(Object(t),!0).forEach(function(r){V7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Pp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function V7(n,e,t){return e=z7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function z7(n){var e=H7(n,"string");return Ss(e)=="symbol"?e:String(e)}function H7(n,e){if(Ss(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ss(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function W7(n,e){if(n==null)return{};var t=_7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function _7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Yb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=W7(n,F7);return u.jsxs("svg",Jl(Jl({fill:"currentColor",fillRule:"evenodd",height:t,style:Jl({flex:"none",lineHeight:1},r),viewBox:"0 0 123 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Gs}),u.jsx("path",{d:"M11.995 2.33h6.516v3.582h-6.295C8.82 5.912 6.169 7.868 6.169 12c0 4.133 2.65 6.089 6.047 6.089h6.295v3.581H11.72C6.03 21.67 2 18.336 2 12c0-6.337 4.307-9.67 9.995-9.67zm9.829 0h4.03V14.15c0 2.947 1.354 4.325 4.53 4.325 3.175 0 4.528-1.377 4.528-4.325V2.33h4.03v12.644c0 4.297-2.733 7.025-8.559 7.025-5.826 0-8.56-2.755-8.56-7.052V2.33zm38.185 5.483c0 2.149-1.243 3.801-2.9 4.518v.055c1.74.248 2.624 1.488 2.65 3.169l.084 6.115h-4.031l-.083-5.454c-.027-1.212-.745-1.956-2.181-1.956h-6.71v7.41h-4.03V2.33h11.127c3.644 0 6.074 1.846 6.074 5.483zm-4.059.55c0-1.652-.883-2.561-2.54-2.561H46.84v5.123h6.626c1.518 0 2.485-.909 2.485-2.562zm19.3 7.66c0-1.378-.884-1.957-2.209-2.067l-4.473-.413c-3.866-.358-5.881-1.873-5.881-5.537 0-3.664 2.485-5.675 6.046-5.675h9.885V5.8h-9.609c-1.38 0-2.263.717-2.263 2.094 0 1.378.91 2.039 2.291 2.15l4.556.385c3.452.303 5.715 1.874 5.715 5.565 0 3.691-2.402 5.675-5.798 5.675H63.184V18.2h9.94c1.297 0 2.126-.882 2.126-2.177zM91.097 2c6.074 0 9.912 3.884 9.912 9.972C101.01 18.061 97.006 22 90.932 22s-9.912-3.94-9.912-10.028C81.02 5.884 85.024 2 91.098 2zm5.743 10c0-4.077-2.374-6.474-5.826-6.474-3.451 0-5.826 2.397-5.826 6.474s2.375 6.473 5.826 6.473c3.452 0 5.826-2.396 5.826-6.473zM121 7.813c0 2.149-1.242 3.801-2.899 4.518v.055c1.739.248 2.623 1.488 2.65 3.169l.083 6.115h-4.031l-.083-5.454c-.027-1.212-.745-1.956-2.181-1.956h-6.709v7.41h-4.031V2.33h11.127c3.645 0 6.074 1.846 6.074 5.483zm-4.059.55c0-1.652-.883-2.561-2.54-2.561h-6.571v5.123h6.626c1.518 0 2.485-.909 2.485-2.562z"})]}))});function Cs(n){"@babel/helpers - typeof";return Cs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Cs(n)}function Ap(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function U7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ap(Object(t),!0).forEach(function(r){K7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ap(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function K7(n,e,t){return e=G7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function G7(n){var e=q7(n,"string");return Cs(e)=="symbol"?e:String(e)}function q7(n,e){if(Cs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Cs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Y7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Q7=g.memo(function(n){var e=Object.assign({},(Y7(n),n));return u.jsx(zn,U7({Icon:ru,Text:Yb,"aria-label":Gs,spaceMultiple:S7,textMultiple:k7},e))}),Gr=ru;Gr.Text=Yb;Gr.Combine=Q7;Gr.Avatar=$7;Gr.colorPrimary=qb;Gr.title=Gs;var qs="Goose",J7=.7,X7=.2,Qb="#fff",Z7=Qb,eP="#000",tP=.65;function js(n){"@babel/helpers - typeof";return js=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},js(n)}var nP=["size","style"];function Mp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Xl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Mp(Object(t),!0).forEach(function(r){rP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Mp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function rP(n,e,t){return e=iP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function iP(n){var e=sP(n,"string");return js(e)=="symbol"?e:String(e)}function sP(n,e){if(js(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(js(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function oP(n,e){if(n==null)return{};var t=aP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function aP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var iu=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=oP(n,nP);return u.jsxs("svg",Xl(Xl({fill:"currentColor",fillRule:"evenodd",height:t,style:Xl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:qs}),u.jsx("path",{d:"M21.595 23.61c1.167-.254 2.405-.944 2.405-.944l-2.167-1.784a12.124 12.124 0 01-2.695-3.131 12.127 12.127 0 00-3.97-4.049l-.794-.462a1.115 1.115 0 01-.488-.815.844.844 0 01.154-.575c.413-.582 2.548-3.115 2.94-3.44.503-.416 1.065-.762 1.586-1.159.074-.056.148-.112.221-.17.003-.002.007-.004.009-.007.167-.131.325-.272.45-.438.453-.524.563-.988.59-1.193-.061-.197-.244-.639-.753-1.148.319.02.705.272 1.056.569.235-.376.481-.773.727-1.171.165-.266-.08-.465-.086-.471h-.001V3.22c-.007-.007-.206-.25-.471-.086-.567.35-1.134.702-1.639 1.021 0 0-.597-.012-1.305.599a2.464 2.464 0 00-.438.45l-.007.009c-.058.072-.114.147-.17.221-.397.521-.743 1.083-1.16 1.587-.323.391-2.857 2.526-3.44 2.94a.842.842 0 01-.574.153 1.115 1.115 0 01-.815-.488l-.462-.794a12.123 12.123 0 00-4.049-3.97 12.133 12.133 0 01-3.13-2.695L1.332 0S.643 1.238.39 2.405c.352.428 1.27 1.49 2.34 2.302C1.58 4.167.73 3.75.06 3.4c-.103.765-.063 1.92.043 2.816.726.317 1.961.806 3.219 1.066-1.006.236-2.11.278-2.961.262.15.554.358 1.119.64 1.688.119.263.25.52.39.77.452.125 2.222.383 3.164.171l-2.51.897a27.776 27.776 0 002.544 2.726c2.031-1.092 2.494-1.241 4.018-2.238-2.467 2.008-3.108 2.828-3.8 3.67l-.483.678c-.25.351-.469.725-.65 1.117-.61 1.31-1.47 4.1-1.47 4.1-.154.486.202.842.674.674 0 0 2.79-.861 4.1-1.47.392-.182.766-.4 1.118-.65l.677-.483c.227-.187.453-.37.701-.586 0 0 1.705 2.02 3.458 3.349l.896-2.511c-.211.942.046 2.712.17 3.163.252.142.509.272.772.392.569.28 1.134.49 1.688.64-.016-.853.026-1.956.261-2.962.26 1.258.75 2.493 1.067 3.219.895.106 2.051.146 2.816.043a73.87 73.87 0 01-1.308-2.67c.811 1.07 1.874 1.988 2.302 2.34h-.001z"})]}))});function Os(n){"@babel/helpers - typeof";return Os=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Os(n)}function Np(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function lP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Np(Object(t),!0).forEach(function(r){cP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Np(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function cP(n,e,t){return e=hP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function hP(n){var e=uP(n,"string");return Os(e)=="symbol"?e:String(e)}function uP(n,e){if(Os(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Os(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function dP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var fP=g.memo(function(n){var e=Object.assign({},(dP(n),n));return u.jsx(Vn,lP({Icon:iu,"aria-label":qs,background:Z7,color:eP,iconMultiple:tP},e))});function Ps(n){"@babel/helpers - typeof";return Ps=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ps(n)}var pP=["size","style"];function Dp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Zl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dp(Object(t),!0).forEach(function(r){mP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Dp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function mP(n,e,t){return e=gP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function gP(n){var e=bP(n,"string");return Ps(e)=="symbol"?e:String(e)}function bP(n,e){if(Ps(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ps(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function yP(n,e){if(n==null)return{};var t=xP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function xP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Jb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=yP(n,pP);return u.jsxs("svg",Zl(Zl({fill:"currentColor",fillRule:"evenodd",height:t,style:Zl({flex:"none",lineHeight:1},r),viewBox:"0 0 87 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:qs}),u.jsx("path",{d:"M17.122 16.607c0 4.696-3.219 7.393-7.774 7.393-3.674 0-6.255-1.546-7.257-4.637l3.401-1.21c.486 1.786 1.852 2.907 3.856 2.907 2.46 0 4.13-1.211 4.13-4.12v-1.122c-.85 1.121-2.46 2-4.494 2C4.61 17.818 2 14.273 2 9.909 2 5.546 4.611 2 8.984 2c2.004 0 3.644.879 4.494 2V2.303h3.644v14.303zm-3.583-6.85c0-2.908-1.58-4.575-3.857-4.575-2.52 0-4.008 1.757-4.008 4.727 0 2.94 1.488 4.727 4.008 4.727 2.278 0 3.857-1.666 3.857-4.515v-.363zM35.546 10.273c0 4.94-3.188 8.273-7.683 8.273-4.494 0-7.682-3.334-7.682-8.273C20.181 5.333 23.37 2 27.863 2c4.495 0 7.683 3.333 7.683 8.273zm-11.69 0c0 3.242 1.548 5.212 4.007 5.212 2.46 0 4.009-1.97 4.009-5.212 0-3.243-1.549-5.212-4.009-5.212-2.46 0-4.008 1.97-4.008 5.212zM52.957 10.273c0 4.94-3.188 8.273-7.682 8.273s-7.682-3.334-7.682-8.273C37.593 5.333 40.78 2 45.275 2s7.682 3.333 7.682 8.273zm-11.69 0c0 3.242 1.548 5.212 4.008 5.212s4.008-1.97 4.008-5.212c0-3.243-1.549-5.212-4.008-5.212-2.46 0-4.008 1.97-4.008 5.212zM54.336 15.182L57.069 13c.941 1.546 2.763 2.576 4.615 2.576 1.549 0 2.976-.546 2.976-1.97 0-1.364-1.336-1.515-3.856-2.03-2.52-.515-5.405-1.152-5.405-4.546 0-2.909 2.55-5.03 6.224-5.03 2.794 0 5.284 1.242 6.438 3L65.6 7.212c-.91-1.424-2.429-2.242-4.19-2.242-1.488 0-2.46.666-2.46 1.727 0 1.152 1.154 1.364 3.158 1.788 2.703.576 6.104 1.151 6.104 4.788 0 3.211-2.946 5.273-6.56 5.273-2.945 0-5.89-1.182-7.317-3.364zM77.965 18.546c-4.555 0-7.743-3.364-7.743-8.273 0-4.667 3.157-8.273 7.59-8.273 4.616 0 7.076 3.485 7.076 7.849v1.212H73.713c.274 2.727 1.913 4.394 4.252 4.394 1.791 0 3.218-.91 3.704-2.546l3.128 1.182c-1.124 2.787-3.644 4.455-6.832 4.455zm-.183-13.485c-1.882 0-3.34 1.12-3.886 3.272h7.318c-.03-1.757-1.124-3.272-3.432-3.272z"})]}))});function As(n){"@babel/helpers - typeof";return As=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},As(n)}function Tp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function vP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Tp(Object(t),!0).forEach(function(r){wP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Tp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function wP(n,e,t){return e=kP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function kP(n){var e=SP(n,"string");return As(e)=="symbol"?e:String(e)}function SP(n,e){if(As(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(As(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function CP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var jP=g.memo(function(n){var e=Object.assign({},(CP(n),n));return u.jsx(zn,vP({Icon:iu,Text:Jb,"aria-label":qs,iconProps:{shape:"square"},spaceMultiple:X7,textMultiple:J7},e))}),qr=iu;qr.Text=Jb;qr.Combine=jP;qr.Avatar=fP;qr.colorPrimary=Qb;qr.title=qs;var Ys="Windsurf",OP=.7,PP=.2,Xb="#fff",AP=Xb,MP="#000",NP=.75;function Ms(n){"@babel/helpers - typeof";return Ms=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ms(n)}var DP=["size","style"];function Ep(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ec(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ep(Object(t),!0).forEach(function(r){TP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ep(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function TP(n,e,t){return e=EP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function EP(n){var e=RP(n,"string");return Ms(e)=="symbol"?e:String(e)}function RP(n,e){if(Ms(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ms(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function LP(n,e){if(n==null)return{};var t=IP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function IP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var su=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=LP(n,DP);return u.jsxs("svg",ec(ec({fill:"currentColor",fillRule:"evenodd",height:t,style:ec({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Ys}),u.jsx("path",{clipRule:"evenodd",d:"M23.78 5.004h-.228a2.187 2.187 0 00-2.18 2.196v4.912c0 .98-.804 1.775-1.76 1.775a1.818 1.818 0 01-1.472-.773L13.168 5.95a2.197 2.197 0 00-1.81-.95c-1.134 0-2.154.972-2.154 2.173v4.94c0 .98-.797 1.775-1.76 1.775-.57 0-1.136-.289-1.472-.773L.408 5.098C.282 4.918 0 5.007 0 5.228v4.284c0 .216.066.426.188.604l5.475 7.889c.324.466.8.812 1.351.938 1.377.316 2.645-.754 2.645-2.117V11.89c0-.98.787-1.775 1.76-1.775h.002c.586 0 1.135.288 1.472.773l4.972 7.163a2.15 2.15 0 001.81.95c1.158 0 2.151-.973 2.151-2.173v-4.939c0-.98.787-1.775 1.76-1.775h.194c.122 0 .22-.1.22-.222V5.225a.221.221 0 00-.22-.222z"})]}))});function Ns(n){"@babel/helpers - typeof";return Ns=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ns(n)}function Rp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function BP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Rp(Object(t),!0).forEach(function(r){$P(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Rp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function $P(n,e,t){return e=FP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function FP(n){var e=VP(n,"string");return Ns(e)=="symbol"?e:String(e)}function VP(n,e){if(Ns(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ns(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function zP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var HP=g.memo(function(n){var e=Object.assign({},(zP(n),n));return u.jsx(Vn,BP({Icon:su,"aria-label":Ys,background:AP,color:MP,iconMultiple:NP},e))});function Ds(n){"@babel/helpers - typeof";return Ds=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ds(n)}var WP=["size","style"];function Lp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function tc(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Lp(Object(t),!0).forEach(function(r){_P(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Lp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function _P(n,e,t){return e=UP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function UP(n){var e=KP(n,"string");return Ds(e)=="symbol"?e:String(e)}function KP(n,e){if(Ds(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ds(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function GP(n,e){if(n==null)return{};var t=qP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function qP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Zb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=GP(n,WP);return u.jsxs("svg",tc(tc({fill:"currentColor",fillRule:"evenodd",height:t,style:tc({flex:"none",lineHeight:1},r),viewBox:"0 0 111 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Ys}),u.jsx("path",{clipRule:"evenodd",d:"M33.412 7.182h-1.715a.316.316 0 00-.315.316v13.79c0 .174.14.316.315.316h1.715a.316.316 0 00.316-.317V7.498a.316.316 0 00-.316-.316zm-1.772-5.18h1.828c.174 0 .315.141.315.316V4.57a.316.316 0 01-.315.316H31.64a.316.316 0 01-.315-.316V2.318c0-.175.141-.317.315-.317zM43.676 6.79c-1.927 0-3.324.671-4.218 1.653a.457.457 0 01-.782-.322v-.623a.316.316 0 00-.316-.316h-1.686a.316.316 0 00-.316.316v13.79c0 .174.142.316.316.316h1.687a.316.316 0 00.316-.317v-8.729c0-3.025.587-3.697 3.8-3.697s3.742.533 3.742 3.557v8.868c0 .175.142.317.316.317h1.715a.316.316 0 00.316-.317v-9.513c0-3.445-1.956-4.986-4.889-4.986v.003h-.001zm17.518 1.849a.457.457 0 00.782-.322V2.319c0-.175.142-.316.316-.316h1.687c.174 0 .316.141.316.316v18.97a.316.316 0 01-.316.316h-1.687a.316.316 0 01-.316-.316v-.819c.017-.418-.489-.62-.782-.322-.81 1.008-2.374 1.848-4.47 1.848-3.685 0-6.088-2.632-6.088-7.533 0-5.18 2.68-7.673 6.172-7.673 2.095 0 3.604.84 4.386 1.849zm-8.018 5.767c0 4.733.587 5.434 4.414 5.434 3.8 0 4.386-.701 4.386-5.434 0-4.733-.559-5.461-4.386-5.461s-4.414.728-4.414 5.461zm20.924-.894l-2.763-.476c-2.04-.364-2.404-.98-2.404-2.045.028-1.457.587-2.184 3.296-2.184 2.538 0 3.35.752 3.525 2.376.017.16.152.284.313.284h1.677c.18 0 .326-.151.316-.333-.163-2.788-2.709-4.346-5.746-4.346-3.408 0-5.67 1.82-5.67 4.426 0 2.38 1.844 3.417 4.05 3.837l3.046.56c1.676.31 2.235.87 2.235 1.933 0 1.709-.587 2.437-3.464 2.437s-3.673-.832-3.858-2.518a.315.315 0 00-.313-.282h-1.687a.318.318 0 00-.317.325c.08 3.004 2.797 4.493 6.034 4.493 3.52 0 5.949-1.82 5.949-4.566 0-2.408-1.845-3.501-4.219-3.921zm12.21 6.414c3.128 0 3.715-.672 3.715-3.697V7.502c0-.174.141-.316.316-.316h1.714c.175 0 .316.142.316.316v13.79a.316.316 0 01-.316.316h-1.714a.316.316 0 01-.316-.317v-.6c-.007-.429-.45-.642-.755-.343-.892.98-2.289 1.652-4.161 1.652-2.877 0-4.833-1.54-4.833-4.986V7.501c0-.175.142-.317.316-.317h1.715c.174 0 .316.142.316.317v8.868c0 3.024.558 3.557 3.687 3.557zm19.782-12.744v-1.85c0-.727.588-1.316 1.314-1.316h1.276a.316.316 0 00.315-.317V2.317a.316.316 0 00-.315-.317h-.885c-2.514 0-4.051 1.4-4.051 3.81v1.372h-1.859c-1.647.002-2.94.229-3.803 1.26-.317.302-.755.076-.755-.36V7.5a.316.316 0 00-.315-.317h-1.715a.316.316 0 00-.316.317v13.789c0 .174.141.316.316.316h1.715a.316.316 0 00.315-.316v-8.645c0-2.857.727-3.528 3.855-3.528h2.562V21.29c0 .175.141.317.316.317h1.715a.316.316 0 00.315-.317V9.116h2.593a.316.316 0 00.315-.317V7.501a.316.316 0 00-.315-.317h-2.593v-.002zM21.834 18.008a.561.561 0 001.091.005l3.933-15.772A.318.318 0 0127.166 2h1.963c.21 0 .363.199.31.403l-4.947 18.972a.305.305 0 01-.295.228h-3.502a.31.31 0 01-.3-.234L16.285 5.5a.56.56 0 00-.543-.42h-.036a.562.562 0 00-.542.42l-4.11 15.87a.31.31 0 01-.299.234H7.253a.304.304 0 01-.295-.228L2.011 2.403A.321.321 0 012.32 2h1.963c.145 0 .272.1.308.241l3.932 15.772a.56.56 0 001.09-.005l3.78-15.764A.316.316 0 0113.7 2h4.047c.146 0 .273.1.307.244l3.779 15.764z"})]}))});function Ts(n){"@babel/helpers - typeof";return Ts=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ts(n)}function Ip(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function YP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ip(Object(t),!0).forEach(function(r){QP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ip(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function QP(n,e,t){return e=JP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function JP(n){var e=XP(n,"string");return Ts(e)=="symbol"?e:String(e)}function XP(n,e){if(Ts(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ts(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function ZP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var e8=g.memo(function(n){var e=Object.assign({},(ZP(n),n));return u.jsx(zn,YP({Icon:su,Text:Zb,"aria-label":Ys,iconProps:{shape:"square"},spaceMultiple:PP,textMultiple:OP},e))}),Yr=su;Yr.Text=Zb;Yr.Combine=e8;Yr.Avatar=HP;Yr.colorPrimary=Xb;Yr.title=Ys;const t8={"claude-code":cr.Avatar,cursor:Gr.Avatar,codex:vt.Avatar,"gemini-cli":hr.Avatar,goose:qr.Avatar,"github-copilot":Ur.Avatar,windsurf:Yr.Avatar,cline:Kr.Avatar},n8={antigravity:"/agents/antigravity.png",opencode:"/agents/opencode.svg",amp:"/agents/amp.png",kilo:"/agents/kilo.png",roo:"/agents/roo.png",openhands:"/agents/openhands.png"};function r8(n){return n.split(/\s+/).map(e=>e[0]).join("").toUpperCase().slice(0,2)}const e1=({agentName:n,displayName:e,size:t=20})=>{const r=t8[n];if(r)return u.jsx(r,{size:t});const i=n8[n];return i?u.jsx("img",{src:i,alt:e,className:"rounded object-contain",style:{width:t,height:t}}):u.jsx("div",{className:"flex items-center justify-center rounded bg-dash-surface-hover text-dash-text-muted font-semibold",style:{width:t,height:t,fontSize:t*.45},children:r8(e)})};function nc(n){return`${n.provider}:${n.type}:${n.item}:${n.global}`}function i8(){const[n,e]=g.useState("idle"),[t,r]=g.useState(null),[i,s]=g.useState(new Map),[o,a]=g.useState(null),[l,c]=g.useState(null),h=g.useRef(0),d=g.useRef(0),f=g.useRef(null),p=g.useRef(null),m=g.useCallback(async S=>{e("reconciling"),c(null),a(null),h.current+=1;const O=h.current;f.current?.abort();const C=new AbortController;f.current=C;try{const P=new URLSearchParams({providers:S.providers.join(","),global:String(S.global),agents:String(S.include.agents??!0),commands:String(S.include.commands??!0),skills:String(S.include.skills??!0),config:String(S.include.config??!0),rules:String(S.include.rules??!0)});S.source&&P.set("source",S.source);const x=await fetch(`/api/migrate/reconcile?${P.toString()}`,{signal:C.signal});if(!x.ok){const D=await x.json().catch(()=>({error:"Unknown error"}));throw new Error(D.error||"Failed to reconcile migration plan")}const N=await x.json();if(O!==h.current)return;r(N.plan),s(new Map),e("reviewing")}catch(P){if(C.signal.aborted||P instanceof DOMException&&P.name==="AbortError"||O!==h.current)return;c(P instanceof Error?P.message:"Failed to reconcile"),e("error")}},[]),b=g.useCallback((S,O)=>{s(C=>{const P=new Map(C);return P.set(nc(S),O),P})},[]),y=g.useCallback(async()=>{if(!t)return c("No plan to execute"),e("error"),!1;e("executing"),c(null),d.current+=1;const S=d.current;p.current?.abort();const O=new AbortController;p.current=O;try{const C=Object.fromEntries(i.entries()),P=await fetch("/api/migrate/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:t,resolutions:C}),signal:O.signal});if(S!==d.current)return!1;if(!P.ok){const N=await P.json().catch(()=>({error:"Unknown error"}));if(P.status===501)return c(N.error||"Plan execution is not available in this server build"),e("reviewing"),!1;throw new Error(N.error||"Failed to execute migration")}const x=await P.json();return S!==d.current?!1:(a({results:x.results,counts:x.counts,warnings:x.warnings??[]}),e("complete"),!0)}catch(C){return O.signal.aborted||C instanceof DOMException&&C.name==="AbortError"||S!==d.current||(c(C instanceof Error?C.message:"Failed to execute migration"),e("error")),!1}},[t,i]),v=g.useCallback(()=>{f.current?.abort(),p.current?.abort(),e("idle"),r(null),s(new Map),a(null),c(null)},[]),k=g.useMemo(()=>t?t.actions.filter(S=>S.action==="conflict").every(S=>i.has(nc(S))):!0,[t,i]);return{phase:n,plan:t,resolutions:i,results:o,error:l,reconcile:m,resolve:b,execute:y,reset:v,allConflictsResolved:k,actionKey:nc}}const s8={agents:!0,commands:!0,skills:!0,config:!0,rules:!0},un=["agents","commands","skills","config","rules"],kr={agents:"migrateTypeAgents",commands:"migrateTypeCommands",skills:"migrateTypeSkills",config:"migrateTypeConfig",rules:"migrateTypeRules"},Bp={detected:"#D4A574","not-detected":"#8B9DC3"},vn=({label:n,value:e,tone:t="default"})=>{const r=t==="accent"?"text-dash-accent":t==="success"?"text-green-400":"text-dash-text";return u.jsxs("div",{className:"rounded-lg border border-dash-border bg-dash-bg/70 px-3 py-2.5",children:[u.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n}),u.jsx("p",{className:`mt-1 text-lg font-semibold ${r}`,children:e})]})};function $p(n,e){return n.success?n.skipped?{label:e("migrateStatusSkipped"),className:"text-yellow-400"}:{label:e("migrateStatusInstalled"),className:"text-green-400"}:{label:e("migrateStatusFailed"),className:"text-red-400"}}function o8(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function Fp(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(o8(r)||(e+=t))}return e}const a8=({provider:n,include:e,isSelected:t,onToggleSelect:r,onOpenDetails:i,t:s})=>{const o=un.filter(l=>n.capabilities[l]).length,a=un.some(l=>e[l]&&!n.capabilities[l]);return u.jsx("div",{onClick:()=>i(n),className:`rounded-xl border px-4 py-3 cursor-pointer transition-all dash-focus-ring ${t?"bg-dash-accent-subtle border-dash-accent/30 shadow-sm shadow-dash-accent/10":a?"bg-dash-surface border-yellow-500/25 hover:bg-dash-surface-hover hover:border-yellow-500/40":"bg-dash-surface border-dash-border hover:bg-dash-surface-hover hover:border-dash-accent/25"}`,children:u.jsxs("div",{className:"flex flex-col gap-3 lg:grid lg:grid-cols-[minmax(0,1.25fr)_140px_minmax(0,220px)_auto] lg:items-center lg:gap-4",children:[u.jsxs("div",{className:"min-w-0 space-y-1.5",children:[u.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[u.jsx(e1,{agentName:n.name,displayName:n.displayName,size:18}),u.jsx("span",{className:"text-sm font-semibold text-dash-text truncate",children:n.displayName}),n.recommended&&u.jsx("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border border-dash-accent/30 text-dash-accent",children:s("migrateFilterRecommended")}),n.commandsGlobalOnly&&u.jsx("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border border-yellow-500/30 text-yellow-400",children:s("migrateGlobalOnlyCommandsShort")})]}),u.jsxs("div",{className:"text-xs text-dash-text-muted truncate",children:[n.name," · ",o,"/5 ",s("migrateCapabilitiesLabel")]})]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 text-[11px] lg:flex-col lg:items-start lg:gap-1",children:[u.jsx("span",{className:n.detected?"text-dash-accent":"text-dash-text-muted",children:n.detected?s("migrateDetectedTag"):s("migrateNotDetectedTag")}),u.jsx("span",{className:"text-dash-text-muted",children:n.recommended?s("migrateFilterRecommended"):"-"})]}),u.jsx("div",{className:"flex flex-wrap gap-1",children:un.map(l=>{const c=n.capabilities[l],h=e[l];return u.jsx("span",{className:`text-[10px] uppercase px-1.5 py-0.5 rounded border ${c&&h?"border-dash-accent/45 text-dash-accent":c?"border-dash-border text-dash-text-secondary":"border-dash-border text-dash-text-muted opacity-60"}`,children:s(kr[l])},l)})}),u.jsx("div",{className:"flex justify-start lg:justify-end",children:u.jsx("button",{type:"button",onClick:l=>{l.stopPropagation(),r(n.name)},className:`dash-focus-ring px-4 py-1.5 text-xs font-semibold rounded-md transition-colors ${t?"bg-transparent text-dash-text-secondary border border-dash-border hover:bg-dash-surface-hover":"bg-dash-accent text-white hover:bg-dash-accent/90"}`,children:s(t?"migrateSelectedButton":"migrateSelectButton")})})]})})},l8=({provider:n,include:e,isSelected:t,latestResult:r,onToggleSelect:i,onClose:s,t:o})=>u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"fixed inset-0 bg-black/50 z-40",onClick:s}),u.jsxs("div",{className:"fixed top-0 right-0 w-[460px] h-full bg-dash-surface border-l border-dash-border shadow-2xl z-50 flex flex-col animate-slide-in",children:[u.jsx("div",{className:"px-6 py-5 border-b border-dash-border",children:u.jsxs("div",{className:"flex items-start justify-between gap-3",children:[u.jsxs("div",{className:"min-w-0",children:[u.jsxs("div",{className:"flex items-center gap-2.5",children:[u.jsx(e1,{agentName:n.name,displayName:n.displayName,size:22}),u.jsx("h2",{className:"text-xl font-bold text-dash-text truncate",children:n.displayName})]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-2",children:[u.jsx("span",{className:"text-[11px] text-dash-text-muted font-mono",children:n.name}),u.jsx("span",{className:`text-[10px] uppercase tracking-wide px-2 py-0.5 rounded border ${n.detected?"border-dash-accent/30 text-dash-accent":"border-dash-border text-dash-text-muted"}`,children:n.detected?o("migrateDetectedTag"):o("migrateNotDetectedTag")}),n.recommended&&u.jsx("span",{className:"text-[10px] uppercase tracking-wide px-2 py-0.5 rounded border border-dash-accent/30 text-dash-accent",children:o("migrateFilterRecommended")})]})]}),u.jsx("button",{type:"button",onClick:s,className:"w-8 h-8 flex items-center justify-center rounded-md text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",children:u.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[u.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18",strokeWidth:2}),u.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18",strokeWidth:2})]})})]})}),u.jsxs("div",{className:"flex-1 overflow-y-auto px-6 py-5 space-y-6",children:[u.jsxs("div",{children:[u.jsx("h3",{className:"text-[11px] font-bold uppercase tracking-wide text-dash-text-muted mb-2.5",children:o("migrateCapabilitiesSection")}),u.jsx("div",{className:"space-y-1.5",children:un.map(a=>{const l=n.capabilities[a],c=e[a];return u.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-dash-bg rounded-md",children:[u.jsx("span",{className:"text-sm text-dash-text",children:o(kr[a])}),u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("span",{className:`text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border ${c?"border-dash-accent/35 text-dash-accent":"border-dash-border text-dash-text-muted"}`,children:o(c?"migrateIncludedEnabled":"migrateIncludedDisabled")}),u.jsx("span",{className:`text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border ${l?"border-green-500/35 text-green-400":"border-red-500/30 text-red-400"}`,children:o(l?"migrateSupported":"migrateUnsupportedShort")})]})]},a)})})]}),n.commandsGlobalOnly&&e.commands&&u.jsx("div",{className:"px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-xs text-yellow-400",children:o("migrateGlobalForced")}),u.jsxs("div",{children:[u.jsx("h3",{className:"text-[11px] font-bold uppercase tracking-wide text-dash-text-muted mb-2.5",children:o("migrateLatestTarget")}),r?u.jsxs("div",{className:"px-3 py-2 bg-dash-bg rounded-md border border-dash-border space-y-2",children:[u.jsxs("div",{className:"flex items-center justify-between",children:[u.jsx("span",{className:"text-xs text-dash-text-muted",children:o("migrateStatus")}),u.jsx("span",{className:`text-xs font-semibold ${$p(r,o).className}`,children:$p(r,o).label})]}),u.jsx("p",{className:"text-xs font-mono text-dash-text break-all",children:Fp(r.path||"-")}),(r.error||r.skipReason)&&u.jsx("p",{className:"text-xs text-red-400 break-words",children:Fp(r.error||r.skipReason||"-")})]}):u.jsx("p",{className:"text-sm text-dash-text-muted",children:o("migrateNoResultForProvider")})]})]}),u.jsxs("div",{className:"px-6 py-4 border-t border-dash-border flex items-center justify-between gap-2",children:[u.jsx("button",{type:"button",onClick:()=>i(n.name),className:`px-4 py-2 text-sm font-semibold rounded-md transition-colors ${t?"bg-transparent text-dash-text-secondary border border-dash-border hover:bg-dash-surface-hover":"bg-dash-accent text-white hover:bg-dash-accent/90"}`,children:o(t?"migrateUnselectProvider":"migrateSelectProviderAction")}),u.jsx("button",{type:"button",onClick:s,className:"px-4 py-2 text-sm font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:o("detailPanelClose")})]})]})]}),c8=()=>{const{t:n}=me(),e=i8(),[t,r]=g.useState([]),[i,s]=g.useState(null),[o,a]=g.useState([]),[l,c]=g.useState(s8),[h,d]=g.useState(!1),[f,p]=g.useState(!0),[m,b]=g.useState(!1),[y,v]=g.useState(null),[k,S]=g.useState(""),O=g.useDeferredValue(k),[C,P]=g.useState("all"),[x,N]=g.useState(null),D=g.useRef(0),L=g.useCallback(async(E=!1)=>{D.current+=1;const K=D.current;try{E?b(!0):p(!0),v(null);const[ce,De]=await Promise.all([cv(),qu()]);if(K!==D.current)return;r(ce.providers),s(De),a(ft=>{const Ka=ce.providers.map(We=>We.name),Qs=ft.filter(We=>Ka.includes(We));if(Qs.length>0)return Qs;const Qr=ce.providers.filter(We=>We.recommended&&We.detected).map(We=>We.name);if(Qr.length>0)return Qr;const Js=ce.providers.filter(We=>We.detected).map(We=>We.name);return Js.length>0?Js:ce.providers.filter(We=>We.recommended).map(We=>We.name)})}catch(ce){if(K!==D.current)return;v(ce instanceof Error?ce.message:n("migrateDetectFailed"))}finally{K===D.current&&(p(!1),b(!1))}},[n]);g.useEffect(()=>{L()},[L]);const R=g.useMemo(()=>{const E=new Map;for(const K of t)E.set(K.name,K);return E},[t]);g.useEffect(()=>{x&&!R.has(x.name)&&N(null)},[x,R]);const B=g.useMemo(()=>new Set(o),[o]),G=g.useMemo(()=>t.filter(E=>E.detected).length,[t]),V=o.length,$=g.useMemo(()=>t.filter(E=>E.recommended).length,[t]),q=g.useMemo(()=>un.filter(E=>l[E]).length,[l]),he=g.useMemo(()=>{const E=[];l.commands&&o.includes("codex")&&!h&&R.get("codex")?.commandsGlobalOnly&&E.push(n("migrateGlobalForced"));for(const K of un){if(!l[K])continue;const ce=o.filter(De=>!R.get(De)?.capabilities[K]).map(De=>R.get(De)?.displayName||De);ce.length>0&&E.push(`${n("migrateUnsupported")}: ${n(kr[K])} -> ${ce.join(", ")}`)}return E},[l,h,R,o,n]),W=g.useCallback(E=>{if(E==="codex"){a(["codex"]);return}if(E==="antigravity"){a(["antigravity"]);return}if(E==="core"){const ce=["codex","antigravity"].filter(De=>t.some(ft=>ft.name===De));a(ce);return}const K=t.filter(ce=>ce.detected).map(ce=>ce.name);a(K)},[t]),Y=g.useCallback(E=>{a(K=>K.includes(E)?K.filter(ce=>ce!==E):[...K,E])},[]),se=g.useCallback(E=>{c(K=>({...K,[E]:!K[E]}))},[]),le=g.useMemo(()=>{const E=[...t];return E.sort((K,ce)=>{const De=B.has(K.name),ft=B.has(ce.name);return De!==ft?De?-1:1:K.detected!==ce.detected?K.detected?-1:1:K.recommended!==ce.recommended?K.recommended?-1:1:K.displayName.localeCompare(ce.displayName)}),E},[t,B]),oe=g.useMemo(()=>{const E=O.trim().toLowerCase();return le.filter(K=>{if(C==="selected"&&!B.has(K.name)||C==="detected"&&!K.detected||C==="recommended"&&!K.recommended||C==="not-detected"&&K.detected)return!1;if(!E)return!0;const ce=un.filter(De=>K.capabilities[De]).map(De=>n(kr[De]).toLowerCase());return K.displayName.toLowerCase().includes(E)||K.name.toLowerCase().includes(E)||ce.some(De=>De.includes(E))})},[O,C,B,le,n]),we=g.useMemo(()=>{const E=oe.filter(De=>De.detected),K=oe.filter(De=>!De.detected),ce=[];return E.length>0&&ce.push({key:"detected",label:n("migrateDetectedTag"),providers:E}),K.length>0&&ce.push({key:"not-detected",label:n("migrateNotDetectedTag"),providers:K}),ce},[oe,n]),Me=g.useMemo(()=>({all:t.length,selected:V,detected:t.filter(E=>E.detected).length,recommended:t.filter(E=>E.recommended).length,"not-detected":t.filter(E=>!E.detected).length}),[t,V]),Se=g.useMemo(()=>oe.map(E=>E.name),[oe]),Je=g.useCallback(()=>{a(E=>{const K=new Set(E);for(const ce of Se)K.add(ce);return Array.from(K)})},[Se]),Tt=g.useCallback(()=>{a([])},[]),Q=g.useCallback(async()=>{if(o.length===0){v(n("migrateSelectProvider"));return}if(q===0){v(n("migrateNoTypesEnabled"));return}await e.reconcile({providers:o,global:h,include:l})},[q,l,h,o,n,e]),Ae=g.useCallback(async()=>{if(v(null),!!await e.execute())try{const K=await qu();s(K)}catch(K){console.error("Failed to refresh discovery:",K)}},[e]),ve=g.useMemo(()=>{const E=new Map;if(!e.results)return E;for(const K of e.results.results)E.set(K.provider,K);return E},[e.results]);g.useEffect(()=>{const E=K=>{K.key==="/"&&document.activeElement?.tagName!=="INPUT"&&(K.preventDefault(),document.getElementById("migrate-search")?.focus())};return document.addEventListener("keydown",E),()=>document.removeEventListener("keydown",E)},[]);const Le=e.phase==="idle"&&o.length>0&&q>0;return f?u.jsx("div",{className:"flex items-center justify-center h-full",children:u.jsxs("div",{className:"text-center",children:[u.jsx("div",{className:"w-8 h-8 border-4 border-dash-accent border-t-transparent rounded-full animate-spin mx-auto mb-3"}),u.jsx("p",{className:"text-dash-text-muted",children:n("migrateDiscovering")})]})}):u.jsxs("div",{className:"relative h-full overflow-hidden",children:[u.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[u.jsx("div",{className:"absolute -top-24 -right-8 h-64 w-64 rounded-full bg-dash-accent/10 blur-3xl"}),u.jsx("div",{className:"absolute -bottom-28 -left-10 h-72 w-72 rounded-full bg-dash-accent/5 blur-3xl"})]}),u.jsxs("div",{className:"h-full overflow-y-auto space-y-4 pb-8",children:[u.jsx("section",{className:"dash-panel dash-sticky-glass sticky top-0 z-20 px-4 py-4 md:px-6 md:py-5",children:u.jsxs("div",{className:"flex flex-col gap-4 xl:flex-row xl:items-end xl:justify-between",children:[u.jsxs("div",{className:"space-y-1",children:[u.jsx("p",{className:"mono text-[10px] uppercase tracking-[0.16em] text-dash-text-muted",children:n("migrate")}),u.jsx("h1",{className:"text-xl md:text-2xl font-semibold text-dash-text",children:n("migrateTitle")}),u.jsx("p",{className:"text-sm text-dash-text-secondary max-w-3xl",children:n("migrateSubtitle")})]}),u.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-4",children:[u.jsx(vn,{label:n("migrateTypeAgents"),value:i?.counts.agents??0}),u.jsx(vn,{label:n("migrateDetectedProviders"),value:G,tone:"success"}),u.jsx(vn,{label:n("migrateSelectedProviders"),value:V,tone:"accent"}),u.jsx(vn,{label:n("migrateTypes"),value:q})]})]})}),y&&u.jsx("div",{className:"px-4 py-3 border border-red-500/30 bg-red-500/10 rounded-lg text-sm text-red-400",children:y}),u.jsxs("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.55fr)_minmax(0,340px)]",children:[u.jsxs("section",{className:"order-2 xl:order-1 space-y-4",children:[e.phase==="reviewing"&&e.plan&&u.jsxs("div",{className:"dash-panel p-5",children:[u.jsxs("div",{className:"flex items-center justify-between mb-4",children:[u.jsx("h2",{className:"text-lg font-semibold text-dash-text",children:n("migrateReviewPlan")}),u.jsx("button",{type:"button",onClick:()=>e.reset(),className:"dash-focus-ring px-3 py-1.5 text-xs font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:n("cancel")})]}),u.jsx(WC,{plan:e.plan,resolutions:e.resolutions,onResolve:e.resolve,actionKey:e.actionKey}),e.error&&u.jsx("div",{className:"mt-4 px-3 py-2 border border-red-500/30 bg-red-500/10 rounded text-xs text-red-400",children:e.error}),u.jsxs("div",{className:"mt-4 flex items-center justify-end gap-3",children:[e.plan.hasConflicts&&!e.allConflictsResolved&&u.jsx("p",{className:"text-xs text-yellow-400",children:n("migrateResolveConflicts")}),u.jsx("button",{type:"button",onClick:Ae,disabled:e.plan.hasConflicts&&!e.allConflictsResolved,className:"dash-focus-ring px-4 py-2 bg-dash-accent text-white rounded-md text-sm font-semibold hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:n("migrateExecutePlan")})]})]}),e.phase==="complete"&&e.results&&u.jsx(TC,{results:e.results,onReset:e.reset}),e.phase==="error"&&e.error&&u.jsxs("div",{className:"dash-panel p-5",children:[u.jsx("div",{className:"px-4 py-3 border border-red-500/30 bg-red-500/10 rounded-lg text-sm text-red-400",children:e.error}),u.jsx("button",{type:"button",onClick:e.reset,className:"mt-4 dash-focus-ring px-4 py-2 bg-dash-bg border border-dash-border rounded-md text-sm text-dash-text-secondary hover:bg-dash-surface-hover",children:n("tryAgain")})]}),(e.phase==="reconciling"||e.phase==="executing")&&u.jsx("div",{className:"dash-panel p-5",children:u.jsx("div",{className:"flex items-center justify-center py-8",children:u.jsxs("div",{className:"text-center",children:[u.jsx("div",{className:"w-8 h-8 border-4 border-dash-accent border-t-transparent rounded-full animate-spin mx-auto mb-3"}),u.jsx("p",{className:"text-dash-text-muted",children:e.phase==="reconciling"?n("migrateReconciling"):n("migrateExecuting")})]})})}),e.phase==="idle"&&u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[u.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center",children:[u.jsxs("div",{className:"relative flex-1",children:[u.jsxs("svg",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 stroke-dash-text-muted",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("circle",{cx:"11",cy:"11",r:"8"}),u.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),u.jsx("input",{id:"migrate-search",type:"text",value:k,onChange:E=>S(E.target.value),placeholder:n("migrateSearchProviders"),className:"dash-focus-ring w-full pl-9 pr-12 py-2 bg-dash-bg border border-dash-border rounded-lg text-dash-text text-sm focus:border-dash-accent transition-colors"}),u.jsx("span",{className:"absolute right-2.5 top-1/2 -translate-y-1/2 text-[11px] text-dash-text-muted bg-dash-surface-hover border border-dash-border px-1.5 py-0.5 rounded",children:n("searchShortcut")})]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[u.jsx("button",{type:"button",onClick:()=>L(!0),disabled:m,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:n(m?"checking":"migrateRefresh")}),u.jsx("button",{type:"button",onClick:Je,disabled:Se.length===0,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:n("migrateSelectVisible")}),u.jsx("button",{type:"button",onClick:Tt,disabled:V===0,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:n("migrateClearSelection")})]})]}),u.jsx("div",{className:"flex flex-wrap gap-1.5",children:[{key:"all",label:n("categoryAll")},{key:"selected",label:n("migrateSelectedProviders")},{key:"detected",label:n("migrateDetectedProviders")},{key:"recommended",label:n("migrateFilterRecommended")},{key:"not-detected",label:n("migrateNotDetectedTag")}].map(E=>u.jsxs("button",{type:"button",onClick:()=>P(E.key),className:`dash-focus-ring px-3 py-1 text-xs font-medium rounded-full border transition-all whitespace-nowrap ${C===E.key?"bg-dash-accent/10 border-dash-accent text-dash-accent":"border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:[E.label,u.jsx("span",{className:"opacity-60 ml-1 text-[10px]",children:Me[E.key]})]},E.key))}),u.jsxs("div",{children:[u.jsx("p",{className:"mb-2 text-[11px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n("migrateTypes")}),u.jsx("div",{className:"flex flex-wrap items-center gap-2",children:un.map(E=>u.jsx("button",{type:"button",onClick:()=>se(E),className:`dash-focus-ring px-2.5 py-1 text-[11px] uppercase tracking-wide rounded-md border transition-colors ${l[E]?"border-dash-accent/45 text-dash-accent bg-dash-accent/5":"border-dash-border text-dash-text-muted hover:bg-dash-surface-hover"}`,children:n(kr[E])},E))})]})]}),u.jsxs("div",{className:"dash-panel p-4 md:p-5",children:[u.jsx("h2",{className:"text-sm font-semibold text-dash-text mb-4",children:n("migrateSourceSummary")}),u.jsx("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-3",children:un.map(E=>u.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-center",children:[u.jsx("p",{className:"text-[11px] uppercase tracking-wide text-dash-text-muted",children:n(kr[E])}),u.jsx("p",{className:"text-lg font-semibold text-dash-text",children:i?.counts[E]??0})]},E))})]}),u.jsxs("div",{className:"dash-panel p-4 md:p-5",children:[u.jsxs("div",{className:"flex items-center justify-between mb-4",children:[u.jsx("h2",{className:"text-sm font-semibold text-dash-text",children:n("migrateProvidersHeading")}),u.jsxs("p",{className:"text-xs text-dash-text-muted",children:[oe.length," ",n("migrateProvidersCountSuffix")]})]}),t.length===0?u.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProviders")}):oe.length===0?u.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProvidersMatch")}):u.jsx("div",{className:"space-y-5",children:we.map(E=>u.jsxs("div",{children:[u.jsxs("div",{className:"flex items-center gap-2.5 mb-3",children:[u.jsx("div",{className:"w-2 h-2 rounded-full",style:{background:Bp[E.key]}}),u.jsx("h2",{className:"text-[13px] font-semibold uppercase tracking-wide",style:{color:Bp[E.key]},children:E.label}),u.jsxs("span",{className:"text-[11px] text-dash-text-muted ml-auto",children:[E.providers.length," ",n("migrateProvidersCountSuffix")]}),u.jsx("div",{className:"flex-1 h-px bg-dash-border ml-3"})]}),u.jsx("div",{className:"space-y-2",children:E.providers.map(K=>u.jsx(a8,{provider:K,include:l,isSelected:B.has(K.name),onToggleSelect:Y,onOpenDetails:N,t:n},K.name))})]},E.key))})]})]})]}),u.jsxs("aside",{className:"order-1 xl:order-2 space-y-4 self-start xl:sticky xl:top-[84px]",children:[u.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-sm font-semibold text-dash-text",children:n("migrateActionSummaryTitle")}),u.jsxs("p",{className:"text-xs text-dash-text-muted mt-1",children:[V," ",n("migrateProvidersCountSuffix")," · ",q,"/5"," ",n("migrateTypes")]})]}),u.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[u.jsx(vn,{label:n("migrateSelectedProviders"),value:V,tone:"accent"}),u.jsx(vn,{label:n("migrateDetectedProviders"),value:G}),u.jsx(vn,{label:n("migrateTypes"),value:q}),u.jsx(vn,{label:n("migrateFilterRecommended"),value:$,tone:"success"})]}),u.jsxs("div",{className:"inline-flex w-full rounded-md border border-dash-border overflow-hidden",children:[u.jsx("button",{type:"button",onClick:()=>d(!1),className:`dash-focus-ring flex-1 px-3 py-2 text-sm ${h?"bg-dash-bg text-dash-text-secondary":"bg-dash-accent-subtle text-dash-accent"}`,children:n("migrateScopeProject")}),u.jsx("button",{type:"button",onClick:()=>d(!0),className:`dash-focus-ring flex-1 px-3 py-2 text-sm border-l border-dash-border ${h?"bg-dash-accent-subtle text-dash-accent":"bg-dash-bg text-dash-text-secondary"}`,children:n("migrateScopeGlobal")})]}),u.jsx("button",{type:"button",onClick:Q,disabled:!Le,className:"dash-focus-ring w-full px-4 py-2.5 bg-dash-accent text-white rounded-md text-sm font-semibold hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:e.phase==="reconciling"?n("migrateRunning"):n("migrateRun")}),he.length>0&&u.jsx("div",{className:"space-y-2",children:he.map((E,K)=>u.jsx("p",{className:"text-xs px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-yellow-400",children:E},`${E}-${K}`))})]}),u.jsxs("div",{className:"dash-panel-muted p-4",children:[u.jsx("p",{className:"mb-3 text-[11px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n("migrateSelectProviderAction")}),u.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[u.jsx("button",{type:"button",onClick:()=>W("codex"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetCodex")}),u.jsx("button",{type:"button",onClick:()=>W("antigravity"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetAntigravity")}),u.jsx("button",{type:"button",onClick:()=>W("core"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetBoth")}),u.jsx("button",{type:"button",onClick:()=>W("detected"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetDetected")})]})]})]})]})]}),x&&u.jsx(l8,{provider:x,include:l,isSelected:B.has(x.name),latestResult:ve.get(x.name)||null,onToggleSelect:Y,onClose:()=>N(null),t:n})]})},h8=({featureId:n,name:e,description:t,included:r})=>{const{t:i}=me();return u.jsxs("div",{"data-testid":`feature-card-${n}`,className:`p-4 rounded-lg border transition-all ${r?"border-[var(--dash-accent)] bg-[var(--dash-surface)] shadow-sm":"border-[var(--dash-border)] bg-[var(--dash-bg)] opacity-50"}`,children:[u.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[r?u.jsx("svg",{className:"w-5 h-5 text-[var(--dash-accent)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}):u.jsx("svg",{className:"w-5 h-5 text-[var(--dash-text-muted)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),u.jsx("h4",{className:"font-medium text-[var(--dash-text)]",children:i(e)})]}),u.jsx("p",{className:"text-sm text-[var(--dash-text-muted)] leading-relaxed",children:i(t)})]})},u8=({selectedKit:n,onKitSelect:e,onInstall:t,installing:r})=>{const{t:i}=me(),[s,o]=g.useState(1);return u.jsxs("div",{className:"space-y-6","data-testid":"install-wizard",children:[u.jsxs("div",{className:"flex items-center gap-4",children:[u.jsx(rc,{number:1,active:s===1,label:i("stepChooseKit")}),u.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),u.jsx(rc,{number:2,active:s===2,label:i("stepConfigure")}),u.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),u.jsx(rc,{number:3,active:s===3,label:i("stepInstall")})]}),u.jsxs("div",{className:"min-h-[200px]",children:[s===1&&u.jsx(d8,{onSelect:e,selected:n}),s===2&&n&&u.jsx(f8,{kit:n}),s===3&&u.jsx(p8,{installing:r})]}),u.jsxs("div",{className:"flex justify-between pt-4 border-t border-[var(--dash-border)]",children:[s>1?u.jsx("button",{onClick:()=>o(a=>a-1),className:"px-4 py-2 text-sm font-medium text-[var(--dash-text)] bg-[var(--dash-surface)] border border-[var(--dash-border)] rounded-lg hover:bg-[var(--dash-surface-hover)] transition-colors","data-testid":"wizard-back",children:i("back")}):u.jsx("div",{}),s<3&&n&&u.jsx("button",{onClick:()=>o(a=>a+1),className:"px-4 py-2 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity","data-testid":"wizard-next",children:i("next")}),s===3&&u.jsx("button",{onClick:t,disabled:r,className:"px-4 py-2 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity disabled:opacity-50 disabled:cursor-not-allowed","data-testid":"wizard-install",children:i("install")})]})]})},rc=({number:n,active:e,label:t})=>u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold transition-colors ${e?"bg-[var(--dash-accent)] text-white":"bg-[var(--dash-surface)] text-[var(--dash-text-muted)] border border-[var(--dash-border)]"}`,children:n}),u.jsx("span",{className:`text-sm font-medium ${e?"text-[var(--dash-text)]":"text-[var(--dash-text-muted)]"}`,children:t})]}),d8=({onSelect:n,selected:e})=>{const{t}=me();return u.jsxs("div",{className:"space-y-4",children:[u.jsx("p",{className:"text-[var(--dash-text-muted)]",children:e?`Selected: ${e===Ut.ENGINEER?t("kitEngineerName"):t("kitMarketingName")}`:"Please select a kit above"}),e&&u.jsxs("button",{type:"button",onClick:()=>n(e===Ut.ENGINEER?Ut.MARKETING:Ut.ENGINEER),className:"text-sm text-[var(--dash-accent)] hover:underline",children:["Switch to ",e===Ut.ENGINEER?t("kitMarketingName"):t("kitEngineerName")]})]})},f8=()=>u.jsx("div",{className:"text-[var(--dash-text-muted)]",children:"Configuration preview placeholder"}),p8=({installing:n})=>u.jsx("div",{className:"text-[var(--dash-text-muted)]",children:n?"Installing...":"Ready to install"}),m8=({kit:n,onGetStarted:e})=>{const{t}=me(),r=gn(),i=n===Ut.ENGINEER?"kitEngineerName":n===Ut.MARKETING?"kitMarketingName":"kitEngineerName";return u.jsxs("div",{className:"text-center py-12 space-y-6","data-testid":"success-screen",children:[u.jsx("div",{className:"w-16 h-16 mx-auto bg-green-100 rounded-full flex items-center justify-center",children:u.jsx("svg",{className:"w-10 h-10 text-green-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})}),u.jsx("h2",{className:"text-2xl font-bold text-[var(--dash-text)]",children:t("installSuccess")}),u.jsx("p",{className:"text-[var(--dash-text-muted)] max-w-md mx-auto",children:t("installSuccessDesc").replace("{kit}",t(i))}),u.jsxs("div",{className:"flex gap-4 justify-center pt-4",children:[u.jsx("button",{onClick:e,className:"px-6 py-2.5 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity","data-testid":"get-started-btn",children:t("getStarted")}),u.jsx("button",{onClick:()=>r("/"),className:"px-6 py-2.5 text-sm font-medium text-[var(--dash-text)] bg-[var(--dash-surface)] border border-[var(--dash-border)] rounded-lg hover:bg-[var(--dash-surface-hover)] transition-colors","data-testid":"dashboard-btn",children:t("goToDashboard")})]})]})},g8=[{id:"agents",name:"featureAgents",description:"featureAgentsDesc",engineer:!0,marketing:!0},{id:"hooks",name:"featureHooks",description:"featureHooksDesc",engineer:!0,marketing:!0},{id:"skills",name:"featureSkills",description:"featureSkillsDesc",engineer:!0,marketing:!0},{id:"multiagent",name:"featureMultiAgent",description:"featureMultiAgentDesc",engineer:!0,marketing:!1},{id:"content",name:"featureContent",description:"featureContentDesc",engineer:!1,marketing:!0},{id:"social",name:"featureSocial",description:"featureSocialDesc",engineer:!1,marketing:!0}],t1={engineer:{id:"engineer",name:"kitEngineerName",tagline:"kitEngineerTagline",primaryColor:"text-blue-500",features:["agents","hooks","skills","multiagent"]},marketing:{id:"marketing",name:"kitMarketingName",tagline:"kitMarketingTagline",primaryColor:"text-purple-500",features:["agents","hooks","skills","content","social"]}};function b8(n){const e=t1[n];return e?g8.filter(t=>e.features.includes(t.id)):(console.warn(`Unknown kit type: ${n}`),[])}const y8=({kit:n,selected:e,onSelect:t,features:r})=>{const{t:i}=me();return u.jsxs("button",{type:"button",onClick:t,className:`p-6 rounded-lg border-2 text-left transition-all w-full ${e?"border-[var(--dash-accent)] bg-[var(--dash-surface)] shadow-md":"border-[var(--dash-border)] hover:border-[var(--dash-accent)]/50"}`,children:[u.jsx("h3",{className:`text-xl font-bold ${n.primaryColor}`,children:i(n.name)}),u.jsx("p",{className:"text-[var(--dash-text-muted)] mt-1",children:i(n.tagline)}),u.jsx("div",{className:"mt-4 space-y-2",children:r.slice(0,3).map(s=>u.jsx(h8,{featureId:s.id,name:s.name,description:s.description,included:!0},s.id))})]})},x8=()=>{const{t:n}=me(),e=gn(),[t,r]=g.useState(null),[i,s]=g.useState(!1),[o,a]=g.useState(!1),[l,c]=g.useState(null),h=async()=>{if(t){s(!0),c(null);try{const f=await fetch("/api/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kit:t})});if(!f.ok)throw new Error(`Installation failed: ${f.statusText}`);a(!0)}catch(f){const p=f instanceof Error?f.message:"Unknown error occurred";c(p),console.error("Install failed:",f)}finally{s(!1)}}};if(o&&t)return u.jsx(m8,{kit:t,onGetStarted:()=>e("/")});const d=f=>f==="engineer"?Ut.ENGINEER:Ut.MARKETING;return u.jsxs("div",{className:"max-w-4xl mx-auto py-8 px-4",children:[u.jsxs("header",{className:"text-center mb-8",children:[u.jsx("h1",{className:"text-3xl font-bold text-[var(--dash-text)]",children:n("onboardingTitle")}),u.jsx("p",{className:"mt-2 text-[var(--dash-text-muted)]",children:n("onboardingSubtitle")})]}),u.jsx("section",{className:"grid md:grid-cols-2 gap-6 mb-8",children:Object.values(t1).map(f=>{const p=d(f.id);return u.jsx(y8,{kit:f,selected:t===p,onSelect:()=>r(p),features:b8(f.id)},f.id)})}),l&&u.jsxs("div",{className:"mb-6 p-4 rounded-lg bg-red-100 border border-red-300 text-red-800",children:[u.jsx("p",{className:"font-medium",children:"Installation Error"}),u.jsx("p",{className:"text-sm mt-1",children:l}),u.jsx("button",{type:"button",onClick:()=>c(null),className:"mt-2 text-sm underline hover:no-underline",children:"Dismiss"})]}),t&&u.jsx(u8,{selectedKit:t,onKitSelect:r,onInstall:h,installing:i})]})},v8=()=>{const{t:n}=me(),e=gn(),{projectId:t}=pm(),[r,i]=g.useState(null),{sizes:s,isDragging:o,startDrag:a}=jb({storageKey:"claudekit-project-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),l=g.useCallback(async()=>{if(!t)throw new Error("No project ID");const[b,y,v]=await Promise.all([Xf("project",t),Xf("global"),Sm()]),k=v.find(S=>S.id===t);return k&&i(k.path),{...b,global:y.config??{}}},[t]),c=g.useCallback(async b=>{t&&await Ob({scope:"project",projectId:t,config:b})},[t]),h=Cb({scope:"project",fetchConfig:l,fetchSchema:Pb,saveConfig:c}),d=g.useCallback(b=>{const y=cc(h.config,b),v=cc(h.globalConfig,b);return y!==void 0&&v!==void 0&&y!==v},[h.config,h.globalConfig]),f=g.useMemo(()=>[{id:"paths",title:n("sectionPaths"),fields:[{path:"paths.docs",label:n("fieldDocsPath"),description:n("fieldDocsPathDesc")},{path:"paths.plans",label:n("fieldPlansPath"),description:n("fieldPlansPathDesc")}]},{id:"project",title:n("sectionProject"),fields:[{path:"project.type",label:n("fieldProjectType"),description:n("fieldProjectTypeDesc")},{path:"project.packageManager",label:n("fieldPackageManager"),description:n("fieldPackageManagerDesc")},{path:"project.framework",label:n("fieldFramework"),description:n("fieldFrameworkDesc")}]},{id:"privacy",title:n("sectionPrivacy"),defaultCollapsed:!0,fields:[{path:"privacyBlock",label:n("fieldPrivacyBlock"),description:n("fieldPrivacyBlockDesc")}]},{id:"advanced",title:n("sectionAdvanced"),defaultCollapsed:!0,fields:[{path:"docs.maxLoc",label:n("fieldDocsMaxLoc"),description:n("fieldDocsMaxLocDesc")},{path:"plan.namingFormat",label:n("fieldPlanNamingFormat"),description:n("fieldPlanNamingFormatDesc")}]}],[n]),p=h.activeFieldPath&&d(h.activeFieldPath)?u.jsx("span",{className:"text-[9px] bg-orange-500/10 text-orange-500 px-1.5 py-0.5 rounded font-bold border border-orange-500/30",children:n("localOverride")}):null,m=h.fieldDoc?u.jsxs("section",{className:"bg-blue-500/5 p-3 rounded-lg border border-blue-500/20",children:[u.jsx("h4",{className:"text-[10px] font-bold text-blue-500 uppercase tracking-widest mb-1",children:n("inheritedFromGlobal")}),u.jsxs("p",{className:"text-[12px] text-dash-text-secondary leading-normal",children:[n("viewGlobalConfig")," ",u.jsx("button",{onClick:()=>e("/config/global"),className:"text-dash-accent hover:underline font-medium",children:n("globalConfig")})]})]}):null;return u.jsxs("div",{className:"animate-in fade-in duration-300 w-full h-full flex flex-col transition-colors",children:[u.jsx(Cm,{title:n("projectConfig"),filePath:r?`${r}/.claude/.ck.json`:".claude/.ck.json",onBack:()=>e(`/project/${t}`),onSave:h.handleSave,onReset:h.handleReset,saveStatus:h.saveStatus,syntaxError:h.syntaxError,showResetConfirm:h.showResetConfirm,setShowResetConfirm:h.setShowResetConfirm}),u.jsxs("div",{className:"flex-1 flex min-h-0",children:[u.jsx(jm,{width:s[0],isLoading:h.isLoading,schema:h.schema,config:h.config,sources:h.sources,sections:f,onChange:h.handleFormChange}),u.jsx(Ni,{direction:"horizontal",isDragging:o,onMouseDown:b=>a(0,b)}),u.jsx(vb,{width:s[1],isLoading:h.isLoading,jsonText:h.jsonText,cursorLine:h.cursorLine,syntaxError:h.syntaxError,onChange:h.handleJsonChange,onCursorLineChange:h.setCursorLine}),u.jsx(Ni,{direction:"horizontal",isDragging:o,onMouseDown:b=>a(1,b)}),u.jsx(wb,{width:s[2],fieldDoc:h.fieldDoc,activeFieldPath:h.activeFieldPath,overrideBadge:p,extraContent:m})]})]})},w8=({project:n})=>{const{t:e}=me(),t=gn(),{skills:r,loading:i}=hv(),{sessions:s,loading:o}=uv(n.id),a=async c=>{try{await iv(c,n.path)}catch(h){alert(`${e("actionFailed")}: ${h instanceof Error?h.message:c}`)}},l=r.filter(c=>n.skills.includes(c.id));return u.jsxs("div",{className:"animate-in fade-in slide-in-from-bottom-2 duration-500 transition-colors flex flex-col h-full",children:[u.jsx("section",{className:"mb-6 shrink-0",children:u.jsxs("div",{className:"flex flex-col md:flex-row md:items-end justify-between gap-4",children:[u.jsxs("div",{children:[u.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[u.jsx("h1",{className:"text-3xl font-bold tracking-tight text-dash-text",children:n.name}),u.jsx(k8,{status:n.health}),u.jsx(pC,{variant:"beta"})]}),u.jsxs("p",{className:"text-dash-text-secondary mono text-sm flex items-center gap-2 italic",children:[u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})}),n.path]})]}),u.jsx("div",{className:"flex items-center gap-3",children:u.jsx("span",{className:"text-[10px] text-dash-text-muted font-bold uppercase tracking-widest bg-dash-surface border border-dash-border px-2 py-1 rounded",children:s.length>0?`${s.length} ${e("sessions")}`:e("noSessions")})})]})}),u.jsxs("section",{className:"grid grid-cols-2 md:grid-cols-4 gap-3 mb-6 shrink-0",children:[u.jsx(Lo,{icon:"📟",label:e("terminal"),sub:e("terminalSub"),onClick:()=>a("terminal")}),u.jsx(Lo,{icon:"💻",label:e("editor"),sub:e("editorSub"),onClick:()=>a("editor")}),u.jsx(Lo,{icon:"🤖",label:e("launch"),sub:e("launchSub"),highlight:!0,onClick:()=>a("launch")}),u.jsx(Lo,{icon:"⚙️",label:e("config"),sub:e("configSub"),onClick:()=>t(`/config/project/${n.id}`)})]}),u.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 flex-1 min-h-0",children:[u.jsx("div",{className:"lg:col-span-2 flex flex-col gap-6 min-h-0",children:u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden shadow-sm flex-1 flex flex-col min-h-0",children:[u.jsx("div",{className:"px-4 py-3 border-b border-dash-border flex items-center justify-between bg-dash-surface-hover/50 shrink-0",children:u.jsx("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest",children:e("recentSessions")})}),u.jsx("div",{className:"divide-y divide-dash-border overflow-y-auto flex-1",children:o?u.jsx("div",{className:"p-4 text-center text-dash-text-muted animate-pulse",children:e("loadingSessions")}):s.length===0?u.jsx("div",{className:"p-4 text-center text-dash-text-muted",children:e("noSessionsFound")}):s.map(c=>u.jsxs("div",{className:"p-4 hover:bg-dash-surface-hover transition-colors group cursor-pointer",children:[u.jsxs("div",{className:"flex items-center justify-between mb-1",children:[u.jsx("span",{className:"text-xs font-bold text-dash-accent",children:c.timestamp}),u.jsx("span",{className:"text-[10px] text-dash-text-muted font-medium group-hover:text-dash-text-secondary transition-colors",children:c.duration})]}),u.jsx("p",{className:"text-sm text-dash-text-secondary leading-relaxed truncate",children:c.summary})]},c.id))})]})}),u.jsxs("div",{className:"flex flex-col gap-6 min-h-0",children:[u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl p-6 shadow-sm shrink-0",children:[u.jsxs("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest mb-4 flex items-center gap-2",children:[e("configuration"),u.jsx("span",{className:"text-[10px] font-normal text-dash-text-muted normal-case",children:e("globalSettings")})]}),u.jsxs("div",{className:"space-y-4",children:[u.jsx(Io,{label:e("activeKit"),value:n.kitType}),u.jsx(Io,{label:e("aiModel"),value:n.model}),u.jsx(Io,{label:e("hooks"),value:`${n.activeHooks} ${e("active")}`}),u.jsx(Io,{label:e("mcpServers"),value:`${n.mcpServers} ${e("connected")}`})]}),u.jsx("button",{onClick:()=>t(`/config/project/${n.id}`),className:"w-full mt-6 py-2 rounded-lg bg-dash-bg text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:e("editProjectConfig")})]}),u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl shadow-sm flex flex-col flex-1 min-h-0",children:[u.jsx("div",{className:"p-4 pb-2 border-b border-dash-border shrink-0",children:u.jsxs("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest flex items-center justify-between",children:[e("globalSkills"),u.jsx("span",{className:"text-[10px] bg-dash-accent-subtle text-dash-accent px-1.5 py-0.5 rounded-full",children:i?"...":r.length})]})}),u.jsx("div",{className:"overflow-y-auto flex-1 px-4 py-2 space-y-2",children:i?u.jsx("div",{className:"text-center text-dash-text-muted animate-pulse py-4",children:e("loadingSkills")}):(l.length>0?l:r).map(c=>u.jsxs("div",{className:"flex flex-col gap-0.5 border-l-2 border-dash-accent/20 pl-3 py-1",children:[u.jsx("span",{className:"text-sm font-semibold text-dash-text",children:c.name}),u.jsx("p",{className:"text-[10px] text-dash-text-muted leading-tight line-clamp-1",children:c.description||e("noDescription")})]},c.id))}),u.jsx("div",{className:"p-4 pt-2 border-t border-dash-border shrink-0",children:u.jsxs("a",{href:"https://kits.vibery.app/",target:"_blank",rel:"noopener noreferrer",className:"text-xs font-bold text-dash-text-muted hover:text-dash-accent transition-colors text-center block",children:[e("browseSkillsMarketplace")," →"]})})]})]})]})]})},k8=({status:n})=>{const e={[jn.HEALTHY]:"bg-dash-accent-subtle text-dash-accent border-dash-accent/20",[jn.WARNING]:"bg-orange-500/10 text-orange-600 border-orange-500/20",[jn.ERROR]:"bg-red-500/10 text-red-600 border-red-500/20",[jn.LOADING]:"bg-dash-border/20 text-dash-text-muted border-dash-border",[jn.UNKNOWN]:"bg-dash-border/20 text-dash-text-muted border-dash-border"};return u.jsx("span",{className:`px-2 py-0.5 rounded-full text-[10px] font-bold border uppercase tracking-widest ${e[n]}`,children:n})},Lo=({icon:n,label:e,sub:t,highlight:r,onClick:i})=>u.jsxs("button",{onClick:i,className:`p-4 rounded-xl border flex flex-col gap-1 transition-all group ${r?"bg-dash-accent-subtle border-dash-accent/30 hover:bg-dash-accent-glow hover:border-dash-accent/50 shadow-sm shadow-dash-accent/5":"bg-dash-surface border-dash-border hover:bg-dash-surface-hover hover:border-dash-text-muted shadow-sm"}`,children:[u.jsx("span",{className:"text-2xl mb-1 group-hover:scale-110 transition-transform",children:n}),u.jsx("span",{className:"text-sm font-bold text-dash-text",children:e}),u.jsx("span",{className:"text-[10px] text-dash-text-muted font-medium truncate italic",children:t})]}),Io=({label:n,value:e})=>u.jsxs("div",{className:"flex items-center justify-between text-xs py-1.5 border-b border-dash-border/50 last:border-0",children:[u.jsx("span",{className:"text-dash-text-muted font-medium",children:n}),u.jsx("span",{className:"text-dash-text font-bold mono uppercase text-[10px] tracking-tight",children:e})]}),S8=()=>{const{t:n}=me(),{project:e}=Hy();return e?u.jsx(w8,{project:e}):u.jsxs("div",{className:"flex flex-col items-center justify-center h-full space-y-4 opacity-50",children:[u.jsx("div",{className:"w-16 h-16 rounded-full bg-dash-surface border border-dash-border flex items-center justify-center",children:u.jsx("span",{className:"text-2xl text-dash-text-muted",children:"📂"})}),u.jsx("p",{className:"text-lg text-dash-text-secondary font-bold",children:n("selectProject")})]})},C8=Ix([{path:"/",element:u.jsx(pv,{}),children:[{index:!0,element:u.jsx(nl,{to:"/config/global",replace:!0})},{path:"config/global",element:u.jsx(NC,{})},{path:"config/project/:projectId",element:u.jsx(v8,{})},{path:"project/:projectId",element:u.jsx(S8,{})},{path:"onboarding",element:u.jsx(x8,{})},{path:"migrate",element:u.jsx(c8,{})},{path:"skills",element:u.jsx(nl,{to:"/migrate",replace:!0})},{path:"*",element:u.jsx(nl,{to:"/",replace:!0})}]}]),n1=document.getElementById("root");if(!n1)throw document.body.innerHTML='<div style="padding:20px;color:red;">Fatal: Root element not found</div>',new Error("Root element #root not found");ic.createRoot(n1).render(u.jsx(g1.StrictMode,{children:u.jsx(Jx,{children:u.jsx(Xx,{children:u.jsx(qx,{router:C8})})})}));
216
+ }`}},TC=(n,e)=>{const[t,r]=g.useState(null);return g.useEffect(()=>{const i=n.split(`
217
+ `),s=[];let o=null;for(let a=0;a<=Math.min(e,i.length-1);a++){const l=i[a].trim(),c=l.match(/"([^"]+)"\s*:\s*{/);if(c){s.push(c[1]),a===e&&(o=s.join("."));continue}if(l==="}"||l==="},"){s.pop();continue}const h=l.match(/"([^"]+)"\s*:/);if(h){const d=h[1];if(a===e){o=s.length>0?`${s.join(".")}.${d}`:d;break}}}r(o)},[n,e]),t};function Pb(n){const{scope:e,fetchConfig:t,fetchSchema:r,saveConfig:i,onReset:s}=n,[o,a]=g.useState("{}"),[l,c]=g.useState(0),[h,d]=g.useState(null),[f,p]=g.useState(null),[m,b]=g.useState({}),[y,v]=g.useState({}),[k,S]=g.useState({}),[O,C]=g.useState(!0),[P,x]=g.useState("idle"),[D,T]=g.useState(!1),[I,M]=g.useState(null),L=TC(o,l),W=L?DC[L]:null;g.useEffect(()=>{(async()=>{try{const[Y,se]=await Promise.all([t(),r()]),le=Y.local??Y.config;b(le),v(Y.global??{}),S(Y.sources),p(se),a(JSON.stringify(le,null,2))}catch(Y){console.error("Failed to load config data:",Y)}finally{C(!1)}})()},[t,r]),g.useEffect(()=>{try{JSON.parse(o),d(null)}catch(_){d(_ instanceof Error?_.message:"Invalid JSON")}},[o]),g.useEffect(()=>{if(I==="json")try{const _=JSON.parse(o);b(_)}catch{}},[o,I]);const V=g.useCallback(_=>{M("json"),a(_)},[]),$=g.useCallback((_,Y)=>{M("form"),b(se=>{const le=yv(se,_,Y);return a(JSON.stringify(le,null,2)),le}),S(se=>({...se,[_]:e}))},[e]),q=g.useCallback(async()=>{if(!h){x("saving");try{const _=JSON.parse(o);await i(_),b(_),x("saved"),setTimeout(()=>x("idle"),2e3)}catch{x("error"),setTimeout(()=>x("idle"),3e3)}}},[o,h,i]),he=g.useCallback(async()=>{if(T(!1),s){C(!0);try{const _=await s(),Y=_.local??_.config;b(Y),S(_.sources),a(JSON.stringify(Y,null,2))}catch(_){console.error("Failed to reset:",_)}finally{C(!1)}}else{const _={};b(_),a(JSON.stringify(_,null,2))}},[s]);return{jsonText:o,config:m,globalConfig:y,sources:k,schema:f,isLoading:O,saveStatus:P,syntaxError:h,cursorLine:l,showResetConfirm:D,activeFieldPath:L,fieldDoc:W,handleJsonChange:V,handleFormChange:$,handleSave:q,handleReset:he,setCursorLine:c,setShowResetConfirm:T}}function Ab({storageKey:n,defaultSizes:e,minSizes:t}){const[r,i]=g.useState(()=>{if(typeof window>"u")return e;const c=localStorage.getItem(n);if(c)try{const h=JSON.parse(c);if(Array.isArray(h)&&h.length===e.length){const d=h.reduce((f,p)=>f+p,0);if(Math.abs(d-100)<1)return h}}catch{}return e}),[s,o]=g.useState(!1);g.useEffect(()=>{localStorage.setItem(n,JSON.stringify(r))},[r,n]);const a=g.useCallback((c,h)=>{h.preventDefault(),o(!0);const d=h.target.parentElement;if(!d)return;const p=d.getBoundingClientRect().width,m=h.clientX,b=[...r],y=k=>{const O=(k.clientX-m)/p*100,C=[...b],P=c,x=c+1;let D=b[P]+O,T=b[x]-O;D<t[P]&&(D=t[P],T=b[P]+b[x]-D),T<t[x]&&(T=t[x],D=b[P]+b[x]-T),C[P]=D,C[x]=T,i(C)},v=()=>{o(!1),document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",v),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",y),document.addEventListener("mouseup",v),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[r,t]),l=g.useCallback(()=>{i(e)},[e]);return{sizes:r,isDragging:s,startDrag:a,reset:l}}const Ua="/api";async function Xf(n){const e=`${Ua}/ck-config`,t=await fetch(e);if(!t.ok)throw new Error(`Failed to fetch ck-config: ${t.status}`);return t.json()}async function Zf(n,e){const t=new URLSearchParams({scope:n});e&&t.set("projectId",e);const r=await fetch(`${Ua}/ck-config?${t}`);if(!r.ok)throw new Error(`Failed to fetch ck-config: ${r.status}`);return r.json()}async function Mb(n){const e=await fetch(`${Ua}/ck-config`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const t=await e.json().catch(()=>({error:"Unknown error"}));throw new Error(t.error||`Failed to save ck-config: ${e.status}`)}return e.json()}async function Nb(){const n=await fetch(`${Ua}/ck-config/schema`);if(!n.ok)throw new Error(`Failed to fetch schema: ${n.status}`);return n.json()}const EC=()=>{const{t:n}=me(),e=yn(),[t,r]=g.useState("config"),[i,s]=g.useState({}),{sizes:o,isDragging:a,startDrag:l}=Ab({storageKey:"claudekit-global-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),c=g.useCallback(async()=>{const[m,b]=await Promise.all([Xf(),uv()]);return s(b),m},[]),h=g.useCallback(async m=>{await Mb({scope:"global",config:m})},[]),d=g.useCallback(async()=>await Xf(),[]),f=Pb({scope:"global",fetchConfig:c,fetchSchema:Nb,saveConfig:h,onReset:d}),p=g.useMemo(()=>[{id:"general",title:n("sectionGeneral"),fields:[{path:"codingLevel",label:n("fieldCodingLevel"),description:n("fieldCodingLevelDesc")},{path:"statusline",label:n("fieldStatusline"),description:n("fieldStatuslineDesc")},{path:"locale.thinkingLanguage",label:n("fieldThinkingLanguage"),description:n("fieldThinkingLanguageDesc")},{path:"locale.responseLanguage",label:n("fieldResponseLanguage"),description:n("fieldResponseLanguageDesc")}]},{id:"paths",title:n("sectionPaths"),fields:[{path:"paths.docs",label:n("fieldDocsPath"),description:n("fieldDocsPathDesc")},{path:"paths.plans",label:n("fieldPlansPath"),description:n("fieldPlansPathDesc")}]},{id:"privacy",title:n("sectionPrivacy"),defaultCollapsed:!0,fields:[{path:"privacyBlock",label:n("fieldPrivacyBlock"),description:n("fieldPrivacyBlockDesc")},{path:"trust.enabled",label:n("fieldTrustEnabled"),description:n("fieldTrustEnabledDesc")},{path:"trust.passphrase",label:n("fieldTrustPassphrase"),description:n("fieldTrustPassphraseDesc")}]},{id:"project",title:n("sectionProject"),defaultCollapsed:!0,fields:[{path:"project.type",label:n("fieldProjectType"),description:n("fieldProjectTypeDesc")},{path:"project.packageManager",label:n("fieldPackageManager"),description:n("fieldPackageManagerDesc")},{path:"project.framework",label:n("fieldFramework"),description:n("fieldFrameworkDesc")}]},{id:"integrations",title:n("sectionIntegrations"),defaultCollapsed:!0,fields:[{path:"gemini.model",label:n("fieldGeminiModel"),description:n("fieldGeminiModelDesc")},{path:"skills.research.useGemini",label:n("fieldResearchUseGemini"),description:n("fieldResearchUseGeminiDesc")}]},{id:"hooks",title:n("sectionHooks"),defaultCollapsed:!0,fields:[{path:"hooks.session-init",label:n("fieldHookSessionInit"),description:n("fieldHookSessionInitDesc")},{path:"hooks.subagent-init",label:n("fieldHookSubagentInit"),description:n("fieldHookSubagentInitDesc")},{path:"hooks.descriptive-name",label:n("fieldHookDescriptiveName"),description:n("fieldHookDescriptiveNameDesc")},{path:"hooks.dev-rules-reminder",label:n("fieldHookDevRulesReminder"),description:n("fieldHookDevRulesReminderDesc")},{path:"hooks.usage-context-awareness",label:n("fieldHookUsageContextAwareness"),description:n("fieldHookUsageContextAwarenessDesc")},{path:"hooks.context-tracking",label:n("fieldHookContextTracking"),description:n("fieldHookContextTrackingDesc")},{path:"hooks.scout-block",label:n("fieldHookScoutBlock"),description:n("fieldHookScoutBlockDesc")},{path:"hooks.privacy-block",label:n("fieldHookPrivacyBlock"),description:n("fieldHookPrivacyBlockDesc")},{path:"hooks.post-edit-simplify-reminder",label:n("fieldHookPostEditSimplify"),description:n("fieldHookPostEditSimplifyDesc")}]},{id:"advanced",title:n("sectionAdvanced"),defaultCollapsed:!0,fields:[{path:"docs.maxLoc",label:n("fieldDocsMaxLoc"),description:n("fieldDocsMaxLocDesc")},{path:"plan.namingFormat",label:n("fieldPlanNamingFormat"),description:n("fieldPlanNamingFormatDesc")},{path:"plan.dateFormat",label:n("fieldPlanDateFormat"),description:n("fieldPlanDateFormatDesc")},{path:"plan.validation.mode",label:n("fieldPlanValidationMode"),description:n("fieldPlanValidationModeDesc")},{path:"plan.validation.minQuestions",label:n("fieldPlanMinQuestions"),description:n("fieldPlanMinQuestionsDesc")},{path:"plan.validation.maxQuestions",label:n("fieldPlanMaxQuestions"),description:n("fieldPlanMaxQuestionsDesc")},{path:"assertions",label:n("fieldAssertions"),description:n("fieldAssertionsDesc")}]}],[n]);return u.jsxs("div",{className:"animate-in fade-in duration-300 w-full h-full flex flex-col transition-colors",children:[u.jsx(Pm,{title:n("globalConfig"),filePath:"~/.claude/.ck.json",onBack:()=>e(-1),onSave:f.handleSave,onReset:f.handleReset,saveStatus:f.saveStatus,syntaxError:f.syntaxError,showResetConfirm:f.showResetConfirm,setShowResetConfirm:f.setShowResetConfirm}),u.jsxs("div",{className:"mb-3 shrink-0 flex items-center justify-between gap-3",children:[u.jsxs("div",{role:"tablist","aria-label":n("globalConfig"),className:"inline-flex items-center rounded-xl border border-dash-border bg-dash-surface p-1 shadow-sm",children:[u.jsx("button",{role:"tab","aria-selected":t==="config",onClick:()=>r("config"),className:`dash-focus-ring px-4 py-2 rounded-lg text-sm font-semibold transition-colors ${t==="config"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:n("configTab")}),u.jsx("button",{role:"tab","aria-selected":t==="metadata",onClick:()=>r("metadata"),className:`dash-focus-ring px-4 py-2 rounded-lg text-sm font-semibold transition-colors ${t==="metadata"?"bg-dash-accent-subtle text-dash-accent":"text-dash-text-muted hover:text-dash-text hover:bg-dash-surface-hover"}`,children:n("systemTab")})]}),u.jsx("p",{className:"hidden lg:block text-xs text-dash-text-muted",children:n("configWorkspaceHint")})]}),u.jsxs("div",{className:"flex-1 flex min-h-0",children:[t==="config"&&u.jsxs(u.Fragment,{children:[u.jsx(Am,{width:o[0],isLoading:f.isLoading,schema:f.schema,config:f.config,sources:f.sources,sections:p,onChange:f.handleFormChange}),u.jsx(Di,{direction:"horizontal",isDragging:a,onMouseDown:m=>l(0,m)}),u.jsx(Sb,{width:o[1],isLoading:f.isLoading,jsonText:f.jsonText,cursorLine:f.cursorLine,syntaxError:f.syntaxError,onChange:f.handleJsonChange,onCursorLineChange:f.setCursorLine}),u.jsx(Di,{direction:"horizontal",isDragging:a,onMouseDown:m=>l(1,m)}),u.jsx(Cb,{width:o[2],fieldDoc:f.fieldDoc,activeFieldPath:f.activeFieldPath})]}),t==="metadata"&&u.jsx("div",{className:"flex-1 min-h-0 overflow-auto pr-1",children:f.isLoading?u.jsx("div",{className:"dash-panel h-full flex items-center justify-center",children:u.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:n("loading")})}):u.jsx(NC,{metadata:i})})]})]})};function RC(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function fr(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(RC(r)||(e+=t))}return e}const LC=({results:n,onReset:e})=>{const{t}=me(),r=(()=>{const i=new Map;return n.results.map(s=>{const o=[s.provider,s.providerDisplayName||"",s.type||"",s.item||"",s.path||"",s.success?"1":"0",s.skipped?"1":"0",s.error||"",s.skipReason||""].join(":"),a=i.get(o)??0;return i.set(o,a+1),{result:s,rowKey:a===0?o:`${o}:${a}`}})})();return u.jsx("div",{className:"space-y-4",children:u.jsxs("div",{className:"dash-panel p-5",children:[u.jsxs("div",{className:"flex items-center justify-between mb-4",children:[u.jsx("h2",{className:"text-lg font-semibold text-dash-text",children:t("migrateSummaryTitle")}),u.jsx("button",{type:"button",onClick:e,className:"dash-focus-ring px-4 py-2 text-sm font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:t("migrateSummaryNewMigration")})]}),u.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 mb-4",children:[u.jsxs("div",{className:"px-4 py-3 bg-dash-bg border border-dash-border rounded-md",children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-dash-text-muted",children:t("migrateInstalled")}),u.jsx("p",{className:"text-2xl font-semibold text-green-400 mt-1",children:n.counts.installed})]}),u.jsxs("div",{className:"px-4 py-3 bg-dash-bg border border-dash-border rounded-md",children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-dash-text-muted",children:t("migrateSkipped")}),u.jsx("p",{className:"text-2xl font-semibold text-yellow-400 mt-1",children:n.counts.skipped})]}),u.jsxs("div",{className:"px-4 py-3 bg-dash-bg border border-dash-border rounded-md",children:[u.jsx("p",{className:"text-xs uppercase tracking-wide text-dash-text-muted",children:t("migrateFailed")}),u.jsx("p",{className:"text-2xl font-semibold text-red-400 mt-1",children:n.counts.failed})]})]}),n.warnings.length>0&&u.jsx("div",{className:"mb-4 space-y-2",children:n.warnings.map((i,s)=>u.jsx("div",{className:"px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-xs text-yellow-400",children:fr(i)},s))}),n.results.length>0&&u.jsx("div",{className:"overflow-auto border border-dash-border rounded-md",children:u.jsxs("table",{className:"min-w-full text-xs",children:[u.jsx("thead",{className:"bg-dash-bg text-dash-text-muted uppercase tracking-wide",children:u.jsxs("tr",{children:[u.jsx("th",{className:"text-left px-3 py-2",children:t("migrateProvider")}),u.jsx("th",{className:"text-left px-3 py-2",children:t("migrateType")}),u.jsx("th",{className:"text-left px-3 py-2",children:t("migrateItem")}),u.jsx("th",{className:"text-left px-3 py-2",children:t("migrateStatus")}),u.jsx("th",{className:"text-left px-3 py-2",children:t("migratePath")}),u.jsx("th",{className:"text-left px-3 py-2",children:t("migrateError")})]})}),u.jsx("tbody",{children:r.map(({result:i,rowKey:s},o)=>{const a=IC(i,t);return u.jsxs("tr",{className:o%2===1?"bg-dash-bg/40":void 0,children:[u.jsx("td",{className:"px-3 py-2 border-t border-dash-border",children:fr(i.providerDisplayName||i.provider)}),u.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-dash-text-muted",children:fr(i.type||"-")}),u.jsx("td",{className:"px-3 py-2 border-t border-dash-border font-mono",children:fr(i.item||"-")}),u.jsx("td",{className:`px-3 py-2 border-t border-dash-border ${a.className}`,children:a.label}),u.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-dash-text-muted font-mono text-[10px]",children:fr(i.path||"-")}),u.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-red-400",children:fr(i.error||i.skipReason||"-")})]},s)})})]})})]})})};function IC(n,e){return n.success?n.skipped?{label:e("migrateStatusSkipped"),className:"text-yellow-400"}:{label:e("migrateStatusInstalled"),className:"text-green-400"}:{label:e("migrateStatusFailed"),className:"text-red-400"}}const BC=500;function $C(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function FC(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&($C(r)||(e+=t))}return e}const VC=({diff:n,className:e=""})=>{const t=n.split(`
218
+ `),r=t.slice(0,BC),i=t.length-r.length;return u.jsxs("pre",{className:`text-xs font-mono overflow-x-auto p-3 rounded bg-dash-bg border border-dash-border ${e}`,children:[r.map((s,o)=>{const a=FC(s);let l="text-dash-text";return a.startsWith("+")?l="text-green-400 bg-green-500/10":a.startsWith("-")?l="text-red-400 bg-red-500/10":a.startsWith("@@")&&(l="text-blue-400"),u.jsx("div",{className:l,children:a},`${o}:${a.slice(0,24)}`)}),i>0&&u.jsxs("div",{className:"text-dash-text-muted",children:["... truncated ",i," additional line(s)"]})]})};function zC(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function ui(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(zC(r)||(e+=t))}return e}const HC=({action:n,resolution:e,onResolve:t})=>{const{t:r}=me(),[i,s]=g.useState(!1),o=n.ownedSections&&n.ownedSections.length>0;return u.jsxs("div",{className:"border border-dash-border rounded-lg p-4 mb-3 bg-dash-surface",children:[u.jsxs("div",{className:"flex justify-between items-start gap-4",children:[u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsxs("div",{className:"font-mono text-sm text-dash-text truncate",children:[ui(n.provider),"/",ui(n.type),"/",ui(n.item)]}),u.jsx("p",{className:"text-xs text-dash-text-muted mt-1",children:ui(n.reason)}),n.targetPath&&u.jsx("p",{className:"text-xs text-dash-text-secondary mt-1 font-mono truncate",children:ui(n.targetPath)})]}),u.jsxs("div",{className:"flex flex-wrap gap-2 items-center",children:[u.jsx("button",{type:"button",onClick:()=>t({type:"overwrite"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="overwrite"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictUseCK")}),u.jsx("button",{type:"button",onClick:()=>t({type:"keep"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="keep"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictKeepMine")}),o&&u.jsx("button",{type:"button",onClick:()=>t({type:"smart-merge"}),className:`dash-focus-ring px-3 py-1.5 text-xs font-semibold rounded-md transition-colors ${e?.type==="smart-merge"?"bg-dash-accent text-white":"bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover"}`,children:r("migrateConflictSmartMerge")}),n.diff&&u.jsx("button",{type:"button",onClick:()=>s(!i),className:"dash-focus-ring px-3 py-1.5 text-xs font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:r(i?"migrateConflictHideDiff":"migrateConflictShowDiff")})]})]}),i&&n.diff&&u.jsx(VC,{diff:n.diff,className:"mt-3"}),e&&u.jsxs("div",{className:"mt-2 text-xs text-green-400 flex items-center gap-1.5",children:[u.jsx("svg",{className:"w-3.5 h-3.5",fill:"currentColor",viewBox:"0 0 20 20",children:u.jsx("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})}),u.jsxs("span",{children:[r("migrateConflictResolved"),": ",_C(e.type,r)]})]})]})};function _C(n,e){switch(n){case"overwrite":return e("migrateConflictUseCK");case"keep":return e("migrateConflictKeepMine");case"smart-merge":return e("migrateConflictSmartMerge");case"resolved":return e("migrateConflictManual");default:return String(n)}}const Yn=200;function WC(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function di(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(WC(r)||(e+=t))}return e}function UC(n){const e={install:[],update:[],skip:[],conflict:[],delete:[]};for(const t of n){const r=t.action;e[r].push(t)}return e}const KC=({plan:n,resolutions:e,onResolve:t,actionKey:r})=>{const{t:i}=me(),[s,o]=g.useState(!1),a=g.useMemo(()=>UC(n.actions),[n.actions]),l=c=>{for(const h of a.conflict)t(h,{type:c})};return u.jsxs("div",{className:"space-y-4",children:[u.jsxs("div",{className:"flex flex-wrap gap-2 text-xs",children:[n.summary.install>0&&u.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-green-500/10 border border-green-500/30 text-green-400",children:[n.summary.install," ",i("migrateActionInstall")]}),n.summary.update>0&&u.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-yellow-500/10 border border-yellow-500/30 text-yellow-400",children:[n.summary.update," ",i("migrateActionUpdate")]}),n.summary.skip>0&&u.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-dash-bg border border-dash-border text-dash-text-muted",children:[n.summary.skip," ",i("migrateActionSkip")]}),n.summary.conflict>0&&u.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-red-500/10 border border-red-500/30 text-red-400",children:[n.summary.conflict," ",i("migrateActionConflict")]}),n.summary.delete>0&&u.jsxs("div",{className:"px-2.5 py-1 rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary",children:[n.summary.delete," ",i("migrateActionDelete")]})]}),a.conflict.length>0&&u.jsxs("div",{className:"border border-red-500/30 rounded-lg bg-red-500/5",children:[u.jsx("div",{className:"px-4 py-3 border-b border-red-500/20",children:u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsxs("h3",{className:"text-sm font-semibold text-red-400",children:[i("migrateConflictSectionTitle")," (",a.conflict.length,")"]}),u.jsxs("div",{className:"flex gap-2",children:[u.jsx("button",{type:"button",onClick:()=>l("overwrite"),className:"dash-focus-ring px-3 py-1 text-xs font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:i("migrateConflictOverwriteAll")}),u.jsx("button",{type:"button",onClick:()=>l("keep"),className:"dash-focus-ring px-3 py-1 text-xs font-medium rounded-md bg-dash-bg border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:i("migrateConflictKeepAll")})]})]})}),u.jsxs("div",{className:"p-4 space-y-3",children:[a.conflict.slice(0,Yn).map(c=>u.jsx(HC,{action:c,resolution:e.get(r(c))||null,onResolve:h=>t(c,h)},r(c))),a.conflict.length>Yn&&u.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",a.conflict.length-Yn," more conflict(s)"]})]})]}),a.install.length>0&&u.jsx(Il,{title:i("migrateActionInstall"),actions:a.install,badgeClass:"bg-green-500/10 border-green-500/30 text-green-400"}),a.update.length>0&&u.jsx(Il,{title:i("migrateActionUpdate"),actions:a.update,badgeClass:"bg-yellow-500/10 border-yellow-500/30 text-yellow-400"}),a.delete.length>0&&u.jsx(Il,{title:i("migrateActionDelete"),actions:a.delete,badgeClass:"bg-dash-bg border-dash-border text-dash-text-secondary"}),a.skip.length>0&&u.jsxs("div",{className:"border border-dash-border rounded-lg bg-dash-surface",children:[u.jsxs("button",{type:"button",onClick:()=>o(!s),className:"w-full px-4 py-3 flex items-center justify-between text-left hover:bg-dash-surface-hover transition-colors",children:[u.jsx("div",{className:"flex items-center gap-2",children:u.jsxs("span",{className:"text-sm font-semibold text-dash-text-muted",children:[i("migrateActionSkip")," (",a.skip.length," ",i("migrateUnchanged"),")"]})}),u.jsx("svg",{className:`w-4 h-4 text-dash-text-muted transition-transform ${s?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),s&&u.jsxs("div",{className:"px-4 pb-4 space-y-2",children:[a.skip.slice(0,Yn).map(c=>u.jsx(Db,{action:c},r(c))),a.skip.length>Yn&&u.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",a.skip.length-Yn," more skipped action(s)"]})]})]})]})},Il=({title:n,actions:e,badgeClass:t})=>{const r=e.slice(0,Yn),i=e.length-r.length;return u.jsxs("div",{className:"border border-dash-border rounded-lg bg-dash-surface",children:[u.jsx("div",{className:"px-4 py-3 border-b border-dash-border",children:u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("h3",{className:"text-sm font-semibold text-dash-text",children:n}),u.jsx("span",{className:`px-2 py-0.5 text-xs rounded-md border ${t}`,children:e.length})]})}),u.jsxs("div",{className:"p-4 space-y-2",children:[r.map(s=>u.jsx(Db,{action:s},`${s.provider}:${s.type}:${s.item}:${s.global}:${s.action}`)),i>0&&u.jsxs("div",{className:"text-xs text-dash-text-muted",children:["... ",i," more action(s)"]})]})]})},Db=({action:n})=>u.jsxs("div",{className:"px-3 py-2 bg-dash-bg rounded-md border border-dash-border",children:[u.jsxs("div",{className:"font-mono text-xs text-dash-text",children:[di(n.provider),"/",di(n.type),"/",di(n.item)]}),u.jsx("div",{className:"text-xs text-dash-text-muted mt-1",children:di(n.reason)}),n.targetPath&&u.jsx("div",{className:"text-xs text-dash-text-secondary mt-0.5 font-mono truncate",children:di(n.targetPath)})]});var GC=function(e){return typeof window<"u"?matchMedia&&matchMedia("(prefers-color-scheme: ".concat(e,")")):{matches:!1}},Bl,qC=g.createContext({appearance:"light",setAppearance:function(){},isDarkMode:!1,themeMode:"light",setThemeMode:function(){},browserPrefers:(Bl=GC("dark"))!==null&&Bl!==void 0&&Bl.matches?"dark":"light"}),YC=function(){return g.useContext(qC)};const Tb=(n,e)=>{if(e)return"row";switch(n){case"horizontal":return"row";case"horizontal-reverse":return"row-reverse";case"vertical":default:return"column";case"vertical-reverse":return"column-reverse"}},QC=n=>{if(n)return["space-between","space-around","space-evenly"].includes(n)},JC=(n,e)=>Tb(n,e)==="row",pr=n=>typeof n=="number"?`${n}px`:n,XC=({visible:n,flex:e,gap:t,direction:r,horizontal:i,align:s,justify:o,distribution:a,height:l,width:c,padding:h,paddingInline:d,paddingBlock:f,prefixCls:p,as:m="div",className:b,style:y,children:v,wrap:k,ref:S,...O})=>{const C=o||a,x=JC(r,i)&&!c&&QC(C)?"100%":pr(c),D={...e!==void 0?{"--lobe-flex":String(e)}:{},...r||i?{"--lobe-flex-direction":Tb(r,i)}:{},...k!==void 0?{"--lobe-flex-wrap":k}:{},...C!==void 0?{"--lobe-flex-justify":C}:{},...s!==void 0?{"--lobe-flex-align":s}:{},...x!==void 0?{"--lobe-flex-width":x}:{},...l!==void 0?{"--lobe-flex-height":pr(l)}:{},...h!==void 0?{"--lobe-flex-padding":pr(h)}:{},...d!==void 0?{"--lobe-flex-padding-inline":pr(d)}:{},...f!==void 0?{"--lobe-flex-padding-block":pr(f)}:{},...t!==void 0?{"--lobe-flex-gap":pr(t)}:{},...y},T="lobe-flex",I=[T,n===!1?`${T}--hidden`:void 0,p?`${p}-flex`:void 0,b].filter(Boolean).join(" ");return u.jsx(m,{ref:S,...O,className:I,style:D,children:v})};var Eb=g.memo(XC);const ZC=({children:n,ref:e,...t})=>u.jsx(Eb,{...t,align:"center",justify:"center",ref:e,children:n});var ej=ZC;const tj=/\p{Lu}?\p{Ll}+|[0-9]+|\p{Lu}+(?!\p{Ll})|\p{Emoji_Presentation}|\p{Extended_Pictographic}|\p{L}+/gu;function nj(n){return Array.from(n.match(tj)??[])}function rj(n){return nj(n).map(t=>t.toLowerCase()).join("-")}g.createContext(null);var ij=function(e,t){if(t){if(e&&t==="#000")return"0 0 0 1px rgba(255,255,255,0.1) inset";if(!e&&t==="#fff")return"0 0 0 1px rgba(0,0,0,0.05) inset"}};function Xi(n){"@babel/helpers - typeof";return Xi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xi(n)}var sj=["shape","color","background","size","style","iconMultiple","Icon","iconStyle","iconClassName"];function ep(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Lo(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ep(Object(t),!0).forEach(function(r){oj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ep(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function oj(n,e,t){return e=aj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function aj(n){var e=lj(n,"string");return Xi(e)=="symbol"?e:String(e)}function lj(n,e){if(Xi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Xi(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function cj(n,e){if(n==null)return{};var t=hj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function hj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var zn=g.memo(function(n){var e=n.shape,t=e===void 0?"circle":e,r=n.color,i=r===void 0?"#fff":r,s=n.background,o=n.size,a=n.style,l=n.iconMultiple,c=l===void 0?.75:l,h=n.Icon,d=n.iconStyle,f=n.iconClassName,p=cj(n,sj),m=YC(),b=m.isDarkMode;return u.jsx(ej,Lo(Lo({flex:"none",style:Lo({background:s,borderRadius:t==="circle"?"50%":Math.floor(o*.1),boxShadow:ij(b,s),color:i,height:o,width:o},a)},p),{},{children:h&&u.jsx(h,{className:f,color:i,size:o,style:Lo({transform:"scale(".concat(c,")")},d)})}))});function Zi(n){"@babel/helpers - typeof";return Zi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zi(n)}var uj=["Icon","style","Text","color","size","spaceMultiple","textMultiple","extra","extraStyle","showText","showLogo","extraClassName","iconProps","inverse"];function tp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function vn(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?tp(Object(t),!0).forEach(function(r){dj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):tp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function dj(n,e,t){return e=fj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function fj(n){var e=pj(n,"string");return Zi(e)=="symbol"?e:String(e)}function pj(n,e){if(Zi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Zi(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function mj(n,e){if(n==null)return{};var t=gj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function gj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Hn=g.memo(function(n){var e=n.Icon,t=n.style,r=n.Text,i=n.color,s=n.size,o=s===void 0?24:s,a=n.spaceMultiple,l=a===void 0?1:a,c=n.textMultiple,h=c===void 0?1:c,d=n.extra,f=n.extraStyle,p=n.showText,m=p===void 0?!0:p,b=n.showLogo,y=b===void 0?!0:b,v=n.extraClassName,k=n.iconProps,S=n.inverse,O=mj(n,uj),C=e&&y&&u.jsx(e,vn(vn({size:o},k),{},{style:vn(S?{marginLeft:o*l}:{marginRight:o*l},k?.style)})),P=m&&r&&u.jsx(r,{size:o*h});return u.jsxs(Eb,vn(vn({align:"center",flex:"none",horizontal:!0,justify:"flex-start",style:vn({color:i},t)},O),{},{children:[S?u.jsxs(u.Fragment,{children:[P,C]}):u.jsxs(u.Fragment,{children:[C,P]}),d&&u.jsx("span",{className:v,style:vn({fontSize:o*h*.95,lineHeight:1},f),children:d})]}))}),bj=function(e,t){return g.useMemo(function(){var r=Array.from({length:t},function(i,s){var o="lobe-icons-".concat(rj(e),"-fill-").concat(s);return{fill:"url(#".concat(o,")"),id:o}});return r},[e,t])},Ur="Claude",yj=.8,xj=.1,Rb="#D97757",vj=Rb,wj="#fff",kj=.75;function es(n){"@babel/helpers - typeof";return es=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},es(n)}var Sj=["size","style"];function np(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function $l(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?np(Object(t),!0).forEach(function(r){Cj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):np(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Cj(n,e,t){return e=jj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function jj(n){var e=Oj(n,"string");return es(e)=="symbol"?e:String(e)}function Oj(n,e){if(es(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(es(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Pj(n,e){if(n==null)return{};var t=Aj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Aj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Xh=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Pj(n,Sj);return u.jsxs("svg",$l($l({fill:"currentColor",fillRule:"evenodd",height:t,style:$l({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Ur}),u.jsx("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z"})]}))});function ts(n){"@babel/helpers - typeof";return ts=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ts(n)}function rp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Mj(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?rp(Object(t),!0).forEach(function(r){Nj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):rp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Nj(n,e,t){return e=Dj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Dj(n){var e=Tj(n,"string");return ts(e)=="symbol"?e:String(e)}function Tj(n,e){if(ts(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ts(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Ej(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Rj=g.memo(function(n){var e=Object.assign({},(Ej(n),n));return u.jsx(zn,Mj({Icon:Xh,"aria-label":Ur,background:vj,color:wj,iconMultiple:kj},e))});function ns(n){"@babel/helpers - typeof";return ns=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ns(n)}var Lj=["size","style"];function ip(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Fl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ip(Object(t),!0).forEach(function(r){Ij(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ip(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Ij(n,e,t){return e=Bj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Bj(n){var e=$j(n,"string");return ns(e)=="symbol"?e:String(e)}function $j(n,e){if(ns(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ns(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Fj(n,e){if(n==null)return{};var t=Vj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Vj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Lb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Fj(n,Lj);return u.jsxs("svg",Fl(Fl({height:t,style:Fl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Ur}),u.jsx("path",{d:"M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z",fill:"#D97757",fillRule:"nonzero"})]}))});function rs(n){"@babel/helpers - typeof";return rs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rs(n)}var zj=["size","style"];function sp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Vl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?sp(Object(t),!0).forEach(function(r){Hj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):sp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Hj(n,e,t){return e=_j(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function _j(n){var e=Wj(n,"string");return rs(e)=="symbol"?e:String(e)}function Wj(n,e){if(rs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(rs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Uj(n,e){if(n==null)return{};var t=Kj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Kj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Ib=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Uj(n,zj);return u.jsxs("svg",Vl(Vl({fill:"currentColor",fillRule:"nonzero",height:t,style:Vl({flex:"none",lineHeight:1},r),viewBox:"0 0 97 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Ur}),u.jsx("path",{d:"M13.623 20.222c-3.417 0-5.753-1.901-6.855-4.827a12.992 12.992 0 01-.838-4.772c0-4.907 2.206-8.315 7.08-8.315 3.275 0 5.297 1.425 6.448 4.826h1.402l-.19-4.69C18.709 1.18 16.258.543 13.276.543c-4.2 0-7.775 1.874-9.763 5.254a11.357 11.357 0 00-1.511 5.872c0 3.753 1.777 7.08 5.113 8.926a11.95 11.95 0 005.943 1.398c3.254 0 5.835-.617 8.122-1.697l.593-5.172h-1.43c-.858 2.362-1.88 3.78-3.574 4.534-.831.373-1.88.564-3.146.564zm14.74-17.914L28.499 0h-.967L23.23 1.29v.699l1.907.882v16.142c0 1.1-.565 1.344-2.043 1.528v1.18h7.319v-1.18c-1.484-.184-2.042-.428-2.042-1.528V2.315l-.007-.007zm29.104 19.685h.565l4.95-.937v-1.208l-.695-.054c-1.157-.109-1.457-.346-1.457-1.29V9.897l.137-2.763h-.783l-4.678.672v1.181l.457.082c1.266.183 1.64.536 1.64 1.419v7.67c-1.212.937-2.369 1.527-3.744 1.527-1.525 0-2.471-.774-2.471-2.58V9.905l.136-2.763h-.804l-4.684.672v1.181l.484.082c1.266.183 1.64.536 1.64 1.418v7.08c0 3 1.703 4.426 4.412 4.426 2.07 0 3.765-1.1 5.038-2.627L57.474 22l-.007-.007zm-13.602-9.55c0-3.836-2.043-5.309-5.733-5.309-3.254 0-5.616 1.344-5.616 3.57 0 .666.238 1.175.721 1.528l2.478-.326c-.109-.746-.163-1.201-.163-1.391 0-1.263.674-1.901 2.042-1.901 2.022 0 3.044 1.419 3.044 3.7v.746l-5.106 1.527c-1.702.462-2.67.863-3.316 1.8a3.386 3.386 0 00-.476 1.9c0 2.172 1.497 3.706 4.057 3.706 1.852 0 3.493-.835 4.922-2.416.51 1.581 1.294 2.416 2.69 2.416 1.13 0 2.15-.455 3.063-1.344l-.272-.937a4.363 4.363 0 01-1.178.163c-.783 0-1.157-.617-1.157-1.826v-5.607zm-6.536 7.378c-1.396 0-2.26-.808-2.26-2.226 0-.964.456-1.528 1.43-1.854l4.139-1.31v3.965c-1.321.997-2.097 1.425-3.31 1.425zm43.095 1.235v-1.208l-.701-.054c-1.158-.109-1.45-.346-1.45-1.29V2.308L78.409 0h-.974l-4.302 1.29v.699l1.906.882V8.18a6.024 6.024 0 00-3.656-1.046c-4.276 0-7.612 3.245-7.612 8.098 0 3.998 2.397 6.761 6.346 6.761 2.042 0 3.819-.99 4.922-2.525l-.136 2.525h.571l4.95-.937zm-8.96-12.313c2.043 0 3.575 1.181 3.575 3.353v6.11a4.91 4.91 0 01-3.547 1.425c-2.928 0-4.412-2.308-4.412-5.39 0-3.462 1.695-5.498 4.385-5.498zm19.424 3.055c-.381-1.792-1.484-2.81-3.016-2.81-2.288 0-3.874 1.717-3.874 4.18 0 3.646 1.934 6.008 5.059 6.008a5.858 5.858 0 005.03-2.953l.913.245c-.408 3.163-3.281 5.525-6.808 5.525-4.14 0-6.992-3.054-6.992-7.399 0-4.378 3.098-7.46 7.237-7.46 3.09 0 5.27 1.853 5.97 5.07l-10.783 3.3V14.05l7.264-2.247v-.006z"})]}))});function is(n){"@babel/helpers - typeof";return is=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},is(n)}var Gj=["type"];function op(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function qj(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?op(Object(t),!0).forEach(function(r){Yj(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):op(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Yj(n,e,t){return e=Qj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Qj(n){var e=Jj(n,"string");return is(e)=="symbol"?e:String(e)}function Jj(n,e){if(is(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(is(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function Xj(n,e){if(n==null)return{};var t=Zj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Zj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var e6=g.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=Xj(n,Gj),i=t==="color"?Lb:Xh;return u.jsx(Hn,qj({Icon:i,Text:Ib,"aria-label":Ur,spaceMultiple:xj,textMultiple:yj},r))}),hr=Xh;hr.Color=Lb;hr.Text=Ib;hr.Combine=e6;hr.Avatar=Rj;hr.colorPrimary=Rb;hr.title=Ur;var Us="OpenAI",t6=.75,n6=.1,Bb="#000",$b="#19C37D",Fb="#AB68FF",Vb="#F86AA4",Zh="#F9C322",zb="#0099FF",Hb="#0000FE",r6=Bb,i6="#fff",s6=.75;function ss(n){"@babel/helpers - typeof";return ss=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ss(n)}var o6=["size","style"];function ap(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function zl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ap(Object(t),!0).forEach(function(r){a6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ap(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function a6(n,e,t){return e=l6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function l6(n){var e=c6(n,"string");return ss(e)=="symbol"?e:String(e)}function c6(n,e){if(ss(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ss(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function h6(n,e){if(n==null)return{};var t=u6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function u6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var eu=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=h6(n,o6);return u.jsxs("svg",zl(zl({fill:"currentColor",fillRule:"evenodd",height:t,style:zl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Us}),u.jsx("path",{d:"M21.55 10.004a5.416 5.416 0 00-.478-4.501c-1.217-2.09-3.662-3.166-6.05-2.66A5.59 5.59 0 0010.831 1C8.39.995 6.224 2.546 5.473 4.838A5.553 5.553 0 001.76 7.496a5.487 5.487 0 00.691 6.5 5.416 5.416 0 00.477 4.502c1.217 2.09 3.662 3.165 6.05 2.66A5.586 5.586 0 0013.168 23c2.443.006 4.61-1.546 5.361-3.84a5.553 5.553 0 003.715-2.66 5.488 5.488 0 00-.693-6.497v.001zm-8.381 11.558a4.199 4.199 0 01-2.675-.954c.034-.018.093-.05.132-.074l4.44-2.53a.71.71 0 00.364-.623v-6.176l1.877 1.069c.02.01.033.029.036.05v5.115c-.003 2.274-1.87 4.118-4.174 4.123zM4.192 17.78a4.059 4.059 0 01-.498-2.763c.032.02.09.055.131.078l4.44 2.53c.225.13.504.13.73 0l5.42-3.088v2.138a.068.068 0 01-.027.057L9.9 19.288c-1.999 1.136-4.552.46-5.707-1.51h-.001zM3.023 8.216A4.15 4.15 0 015.198 6.41l-.002.151v5.06a.711.711 0 00.364.624l5.42 3.087-1.876 1.07a.067.067 0 01-.063.005l-4.489-2.559c-1.995-1.14-2.679-3.658-1.53-5.63h.001zm15.417 3.54l-5.42-3.088L14.896 7.6a.067.067 0 01.063-.006l4.489 2.557c1.998 1.14 2.683 3.662 1.529 5.633a4.163 4.163 0 01-2.174 1.807V12.38a.71.71 0 00-.363-.623zm1.867-2.773a6.04 6.04 0 00-.132-.078l-4.44-2.53a.731.731 0 00-.729 0l-5.42 3.088V7.325a.068.068 0 01.027-.057L14.1 4.713c2-1.137 4.555-.46 5.707 1.513.487.833.664 1.809.499 2.757h.001zm-11.741 3.81l-1.877-1.068a.065.065 0 01-.036-.051V6.559c.001-2.277 1.873-4.122 4.181-4.12.976 0 1.92.338 2.671.954-.034.018-.092.05-.131.073l-4.44 2.53a.71.71 0 00-.365.623l-.003 6.173v.002zm1.02-2.168L12 9.25l2.414 1.375v2.75L12 14.75l-2.415-1.375v-2.75z"})]}))}),ar="Gemini",d6=.8,f6=.2,_b="#fff",p6=_b,m6="#fff",g6=.8;function os(n){"@babel/helpers - typeof";return os=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},os(n)}var b6=["size","style"];function lp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Hl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?lp(Object(t),!0).forEach(function(r){y6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):lp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function y6(n,e,t){return e=x6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function x6(n){var e=v6(n,"string");return os(e)=="symbol"?e:String(e)}function v6(n,e){if(os(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(os(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function w6(n,e){return j6(n)||C6(n,e)||S6(n,e)||k6()}function k6(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
219
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function S6(n,e){if(n){if(typeof n=="string")return cp(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);if(t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set")return Array.from(n);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return cp(n,e)}}function cp(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}function C6(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var r,i,s,o,a=[],l=!0,c=!1;try{if(s=(t=t.call(n)).next,e!==0)for(;!(l=(r=s.call(t)).done)&&(a.push(r.value),a.length!==e);l=!0);}catch(h){c=!0,i=h}finally{try{if(!l&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw i}}return a}}function j6(n){if(Array.isArray(n))return n}function O6(n,e){if(n==null)return{};var t=P6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function P6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var tu=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=O6(n,b6),s=bj(ar,3),o=w6(s,3),a=o[0],l=o[1],c=o[2];return u.jsxs("svg",Hl(Hl({height:t,style:Hl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:ar}),u.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:"#3186FF"}),u.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:a.fill}),u.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:l.fill}),u.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:c.fill}),u.jsxs("defs",{children:[u.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:a.id,x1:"7",x2:"11",y1:"15.5",y2:"12",children:[u.jsx("stop",{stopColor:"#08B962"}),u.jsx("stop",{offset:"1",stopColor:"#08B962",stopOpacity:"0"})]}),u.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:l.id,x1:"8",x2:"11.5",y1:"5.5",y2:"11",children:[u.jsx("stop",{stopColor:"#F94543"}),u.jsx("stop",{offset:"1",stopColor:"#F94543",stopOpacity:"0"})]}),u.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:c.id,x1:"3.5",x2:"17.5",y1:"13.5",y2:"12",children:[u.jsx("stop",{stopColor:"#FABC12"}),u.jsx("stop",{offset:".46",stopColor:"#FABC12",stopOpacity:"0"})]})]})]}))});function as(n){"@babel/helpers - typeof";return as=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},as(n)}function hp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function A6(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?hp(Object(t),!0).forEach(function(r){M6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):hp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function M6(n,e,t){return e=N6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function N6(n){var e=D6(n,"string");return as(e)=="symbol"?e:String(e)}function D6(n,e){if(as(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(as(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function T6(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var E6=g.memo(function(n){var e=Object.assign({},(T6(n),n));return u.jsx(zn,A6({Icon:tu,"aria-label":ar,background:p6,color:m6,iconMultiple:g6},e))});function ls(n){"@babel/helpers - typeof";return ls=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ls(n)}var R6=["size","style"];function up(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function _l(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?up(Object(t),!0).forEach(function(r){L6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):up(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function L6(n,e,t){return e=I6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function I6(n){var e=B6(n,"string");return ls(e)=="symbol"?e:String(e)}function B6(n,e){if(ls(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ls(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function $6(n,e){if(n==null)return{};var t=F6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function F6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Wb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=$6(n,R6);return u.jsxs("svg",_l(_l({fill:"currentColor",fillRule:"evenodd",height:t,style:_l({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:ar}),u.jsx("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z"})]}))});function cs(n){"@babel/helpers - typeof";return cs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},cs(n)}var V6=["size","style"];function dp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Wl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?dp(Object(t),!0).forEach(function(r){z6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):dp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function z6(n,e,t){return e=H6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function H6(n){var e=_6(n,"string");return cs(e)=="symbol"?e:String(e)}function _6(n,e){if(cs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(cs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function W6(n,e){if(n==null)return{};var t=U6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function U6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Ub=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=W6(n,V6);return u.jsxs("svg",Wl(Wl({fill:"currentColor",fillRule:"evenodd",height:t,style:Wl({flex:"none",lineHeight:1},r),viewBox:"0 0 98 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:ar}),u.jsx("path",{d:"M21.186 12.67c0 2.649-.786 4.759-2.359 6.33-1.766 1.87-4.09 2.806-6.969 2.806-2.756 0-5.088-.953-6.996-2.86C2.954 17.04 2 14.693 2 11.904c0-2.789.954-5.137 2.862-7.043C6.77 2.953 9.102 2 11.858 2c1.396 0 2.712.247 3.949.741 1.236.495 2.252 1.192 3.047 2.092l-1.749 1.748c-.583-.706-1.338-1.258-2.266-1.655a7.49 7.49 0 00-2.981-.596c-2.067 0-3.816.715-5.247 2.145-1.413 1.448-2.12 3.257-2.12 5.428s.707 3.98 2.12 5.428c1.431 1.43 3.18 2.145 5.247 2.145 1.89 0 3.463-.53 4.717-1.588 1.254-1.06 1.979-2.516 2.173-4.37h-6.89v-2.277h9.196c.088.495.132.971.132 1.43m7.652-4.633c1.946 0 3.494.629 4.645 1.886 1.15 1.257 1.726 3.018 1.726 5.282l-.027.268H24.877c.036 1.284.464 2.318 1.285 3.102.82.785 1.802 1.177 2.944 1.177 1.57 0 2.802-.784 3.694-2.354l2.195 1.07a6.54 6.54 0 01-2.45 2.595C31.503 21.688 30.32 22 29 22c-1.927 0-3.516-.66-4.765-1.98-1.249-1.319-1.873-2.986-1.873-5.001 0-1.997.606-3.66 1.82-4.988 1.213-1.329 2.766-1.993 4.657-1.993m-.053 2.247c-.928 0-1.727.285-2.396.856-.67.57-1.11 1.337-1.325 2.3h7.522c-.071-.91-.442-1.663-1.111-2.26-.67-.598-1.566-.896-2.69-.896M39.247 21.53h-2.455V8.465h2.348v1.813h.107c.374-.64.947-1.173 1.721-1.6.774-.427 1.544-.64 2.309-.64.96 0 1.806.222 2.535.667a3.931 3.931 0 011.601 1.84c1.085-1.671 2.589-2.507 4.51-2.507 1.513 0 2.678.462 3.496 1.387.819.924 1.228 2.24 1.228 3.946v8.16h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.192-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.191-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227zM61.911 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zM80 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zm-16.343.022h2.349v1.813h.107c.373-.64.947-1.173 1.721-1.6a4.935 4.935 0 012.415-.64c1.601 0 2.833.458 3.696 1.373.863.916 1.294 2.218 1.294 3.907v8.213h-2.455v-8.053c-.053-2.133-1.13-3.2-3.229-3.2-.978 0-1.797.395-2.455 1.187-.658.79-.987 1.737-.987 2.84v7.226h-2.456V8.465z"})]}))});function hs(n){"@babel/helpers - typeof";return hs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hs(n)}var K6=["type"];function fp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function G6(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?fp(Object(t),!0).forEach(function(r){q6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):fp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function q6(n,e,t){return e=Y6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Y6(n){var e=Q6(n,"string");return hs(e)=="symbol"?e:String(e)}function Q6(n,e){if(hs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(hs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function J6(n,e){if(n==null)return{};var t=X6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function X6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Z6=g.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=J6(n,K6),i=t==="color"?tu:Wb;return u.jsx(Hn,G6({Icon:i,Text:Ub,"aria-label":ar,spaceMultiple:f6,textMultiple:d6},r))}),ur=Wb;ur.Color=tu;ur.Text=Ub;ur.Combine=Z6;ur.Avatar=E6;ur.colorPrimary=_b;ur.title=ar;function us(n){"@babel/helpers - typeof";return us=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},us(n)}var eO=["type"];function pp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function tO(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?pp(Object(t),!0).forEach(function(r){nO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):pp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function nO(n,e,t){return e=rO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function rO(n){var e=iO(n,"string");return us(e)=="symbol"?e:String(e)}function iO(n,e){if(us(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(us(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function sO(n,e){if(n==null)return{};var t=oO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function oO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var aO=g.memo(function(n){var e=n.type,t=e===void 0?"normal":e,r=sO(n,eO),i=g.useMemo(function(){switch(t){case"gpt3":return $b;case"gpt4":return Fb;case"gpt5":return Vb;case"o3":case"o1":return Zh;case"oss":return zb;case"platform":return Hb;default:return r6}},[t]);return u.jsx(zn,tO({Icon:eu,"aria-label":Us,background:i,color:i6,iconMultiple:s6},r))});function ds(n){"@babel/helpers - typeof";return ds=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ds(n)}var lO=["size","style"];function mp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ul(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?mp(Object(t),!0).forEach(function(r){cO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):mp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function cO(n,e,t){return e=hO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function hO(n){var e=uO(n,"string");return ds(e)=="symbol"?e:String(e)}function uO(n,e){if(ds(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ds(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function dO(n,e){if(n==null)return{};var t=fO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function fO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Kb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=dO(n,lO);return u.jsxs("svg",Ul(Ul({fill:"currentColor",fillRule:"evenodd",height:t,style:Ul({flex:"none",lineHeight:1},r),viewBox:"0 0 84 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Us}),u.jsx("path",{d:"M2 10.955c0 5.276 3.376 8.955 8.054 8.955 4.678 0 8.054-3.679 8.054-8.955S14.732 2 10.054 2C5.423 2 2.068 5.606 2 10.797L2 10.955zm13.021 0c0 3.775-2.05 6.22-4.967 6.22-2.918 0-4.968-2.445-4.968-6.22 0-3.776 2.05-6.22 4.968-6.22 2.917 0 4.967 2.444 4.967 6.22zm11.778 8.955c3.545 0 5.57-3.001 5.57-6.607 0-3.607-2.025-6.608-5.57-6.608-1.64 0-2.845.654-3.64 1.598V6.937h-2.894V24h2.893v-5.688c.796.944 2.002 1.598 3.641 1.598zm-3.713-6.97c0-2.397 1.35-3.703 3.135-3.703 2.097 0 3.23 1.645 3.23 4.066 0 2.42-1.133 4.066-3.23 4.066-1.785 0-3.135-1.332-3.135-3.68v-.75zM40.2 19.91c2.532 0 4.533-1.331 5.425-3.558l-2.483-.944c-.386 1.307-1.52 2.033-2.942 2.033-1.857 0-3.159-1.331-3.376-3.51h8.874v-.967c0-3.485-1.953-6.269-5.619-6.269-3.665 0-6.028 2.88-6.028 6.608 0 3.92 2.532 6.607 6.15 6.607zm-.145-10.77c1.833 0 2.701 1.21 2.725 2.614H36.97c.434-1.719 1.591-2.614 3.086-2.614zm7.814 10.504h2.894v-7.455c0-1.815 1.326-2.783 2.628-2.783 1.591 0 2.218 1.137 2.218 2.71v7.528h2.894V11.27c0-2.735-1.592-4.575-4.244-4.575-1.64 0-2.773.75-3.496 1.598V6.937h-2.894v12.707zM66.978 2.266l-6.56 17.378h3.063l1.471-3.97h7.475l1.495 3.97h3.11L70.475 2.266h-3.496zm1.687 3.437l2.75 7.26h-5.45l2.7-7.26zM82 2.317h-3.086v17.377H82V2.317z"})]}))});function fs(n){"@babel/helpers - typeof";return fs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fs(n)}var pO=["extraStyle"];function gp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function bp(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?gp(Object(t),!0).forEach(function(r){mO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):gp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function mO(n,e,t){return e=gO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function gO(n){var e=bO(n,"string");return fs(e)=="symbol"?e:String(e)}function bO(n,e){if(fs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(fs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function yO(n,e){if(n==null)return{};var t=xO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function xO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var vO=g.memo(function(n){var e=n.extraStyle,t=yO(n,pO);return u.jsx(Hn,bp({Icon:eu,Text:Kb,"aria-label":Us,extraStyle:bp({fontWeight:600},e),spaceMultiple:n6,textMultiple:t6},t))}),vt=eu;vt.Text=Kb;vt.Combine=vO;vt.Avatar=aO;vt.colorPrimary=Bb;vt.colorGpt3=$b;vt.colorGpt4=Fb;vt.colorGpt5=Vb;vt.colorO1=Zh;vt.colorO3=Zh;vt.colorOss=zb;vt.colorPlatform=Hb;vt.title=Us;var Ks="GithubCopilot",wO=.75,kO=.3,Gb="#000",SO=Gb,CO="#fff",jO=.75;function ps(n){"@babel/helpers - typeof";return ps=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ps(n)}var OO=["size","style"];function yp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Kl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?yp(Object(t),!0).forEach(function(r){PO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):yp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function PO(n,e,t){return e=AO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function AO(n){var e=MO(n,"string");return ps(e)=="symbol"?e:String(e)}function MO(n,e){if(ps(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ps(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function NO(n,e){if(n==null)return{};var t=DO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function DO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var nu=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=NO(n,OO);return u.jsxs("svg",Kl(Kl({fill:"currentColor",fillRule:"evenodd",height:t,style:Kl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Ks}),u.jsx("path",{d:"M19.245 5.364c1.322 1.36 1.877 3.216 2.11 5.817.622 0 1.2.135 1.592.654l.73.964c.21.278.323.61.323.955v2.62c0 .339-.173.669-.453.868C20.239 19.602 16.157 21.5 12 21.5c-4.6 0-9.205-2.583-11.547-4.258-.28-.2-.452-.53-.453-.868v-2.62c0-.345.113-.679.321-.956l.73-.963c.392-.517.974-.654 1.593-.654l.029-.297c.25-2.446.81-4.213 2.082-5.52 2.461-2.54 5.71-2.851 7.146-2.864h.198c1.436.013 4.685.323 7.146 2.864zm-7.244 4.328c-.284 0-.613.016-.962.05-.123.447-.305.85-.57 1.108-1.05 1.023-2.316 1.18-2.994 1.18-.638 0-1.306-.13-1.851-.464-.516.165-1.012.403-1.044.996a65.882 65.882 0 00-.063 2.884l-.002.48c-.002.563-.005 1.126-.013 1.69.002.326.204.63.51.765 2.482 1.102 4.83 1.657 6.99 1.657 2.156 0 4.504-.555 6.985-1.657a.854.854 0 00.51-.766c.03-1.682.006-3.372-.076-5.053-.031-.596-.528-.83-1.046-.996-.546.333-1.212.464-1.85.464-.677 0-1.942-.157-2.993-1.18-.266-.258-.447-.661-.57-1.108-.32-.032-.64-.049-.96-.05zm-2.525 4.013c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zm5 0c.539 0 .976.426.976.95v1.753c0 .525-.437.95-.976.95a.964.964 0 01-.976-.95v-1.752c0-.525.437-.951.976-.951zM7.635 5.087c-1.05.102-1.935.438-2.385.906-.975 1.037-.765 3.668-.21 4.224.405.394 1.17.657 1.995.657h.09c.649-.013 1.785-.176 2.73-1.11.435-.41.705-1.433.675-2.47-.03-.834-.27-1.52-.63-1.813-.39-.336-1.275-.482-2.265-.394zm6.465.394c-.36.292-.6.98-.63 1.813-.03 1.037.24 2.06.675 2.47.968.957 2.136 1.104 2.776 1.11h.044c.825 0 1.59-.263 1.995-.657.555-.556.765-3.187-.21-4.224-.45-.468-1.335-.804-2.385-.906-.99-.088-1.875.058-2.265.394zM12 7.615c-.24 0-.525.015-.84.044.03.16.045.336.06.526l-.001.159a2.94 2.94 0 01-.014.25c.225-.022.425-.027.612-.028h.366c.187 0 .387.006.612.028-.015-.146-.015-.277-.015-.409.015-.19.03-.365.06-.526a9.29 9.29 0 00-.84-.044z"})]}))});function ms(n){"@babel/helpers - typeof";return ms=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ms(n)}function xp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function TO(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?xp(Object(t),!0).forEach(function(r){EO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):xp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function EO(n,e,t){return e=RO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function RO(n){var e=LO(n,"string");return ms(e)=="symbol"?e:String(e)}function LO(n,e){if(ms(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ms(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function IO(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var BO=g.memo(function(n){var e=Object.assign({},(IO(n),n));return u.jsx(zn,TO({Icon:nu,"aria-label":Ks,background:SO,color:CO,iconMultiple:jO},e))});function gs(n){"@babel/helpers - typeof";return gs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},gs(n)}var $O=["size","style"];function vp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Gl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?vp(Object(t),!0).forEach(function(r){FO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):vp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function FO(n,e,t){return e=VO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function VO(n){var e=zO(n,"string");return gs(e)=="symbol"?e:String(e)}function zO(n,e){if(gs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(gs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function HO(n,e){if(n==null)return{};var t=_O(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function _O(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var qb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=HO(n,$O);return u.jsxs("svg",Gl(Gl({fill:"currentColor",fillRule:"evenodd",height:t,style:Gl({flex:"none",lineHeight:1},r),viewBox:"0 0 154 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Ks}),u.jsx("path",{d:"M2 11.875c0 5.256 3.013 8.506 8.19 8.506 4.76 0 8.027-2.72 8.027-7.722v-1.545h-7.982v2.928h4.095c-.161 1.96-1.68 3.25-4.049 3.25-2.6 0-4.347-1.498-4.347-4.334V10.7c0-2.582 1.518-4.31 4.186-4.31 1.91 0 3.267.922 3.68 2.374h3.865c-.437-3.366-3.427-5.625-7.499-5.625C5.29 3.138 2 6.366 2 11.875zm17.308-5.44h3.496V3h-3.496v3.435zm0 13.715h3.496V7.795h-3.496V20.15zm10.544-9.52h2.438V7.795h-2.438V3.922h-3.496v3.873H24.17v2.835h2.186v6.8c0 1.637.69 2.72 2.76 2.72h3.174v-2.766h-2.438V10.63zm3.994 9.52h3.727v-7.076h7.568v7.076h3.726V3.346h-3.726v6.777h-7.568V3.346h-3.727V20.15zM62.385 7.795h-3.497v6.523c0 1.868-1.012 3.205-2.668 3.205-1.38 0-2.162-.83-2.162-2.56V7.796h-3.52v7.722c0 2.95 1.357 4.864 4.118 4.864 1.955 0 3.29-.945 4.002-2.49h.207l.46 2.26h3.06V7.794zm1.698 12.355h3.06l.436-2.213h.207c.713 1.591 2.3 2.444 4.072 2.444 3.174 0 5.015-2.374 5.015-6.385 0-4.057-1.887-6.432-5.084-6.432-1.978 0-3.428 1.014-4.003 2.49h-.207V3h-3.496v17.15zm3.496-5.624v-1.06c0-1.845 1.173-3.043 2.99-3.043 1.657 0 2.738.853 2.738 2.581v1.983c0 1.521-.874 2.559-2.714 2.559-1.864 0-3.014-1.222-3.014-3.02zm21.8 5.855c4.21 0 7.177-2.351 7.683-6.063h-3.151c-.46 2.098-2.186 3.389-4.486 3.389-2.852 0-4.67-1.867-4.67-4.518v-2.743c0-2.882 1.887-4.634 4.716-4.634 2.53 0 4.072 1.36 4.44 3.366h3.151c-.368-3.665-3.243-6.063-7.499-6.063-5.038 0-7.982 3.274-7.982 8.668 0 5.348 2.898 8.598 7.798 8.598zm8.533-6.34c0 3.92 2.346 6.34 5.98 6.34 3.796 0 6.004-2.536 6.004-6.34 0-4.056-2.484-6.338-6.003-6.338-3.635 0-5.981 2.397-5.981 6.339zm2.898.992V13.12c0-1.89 1.22-3.066 3.083-3.066 1.817 0 3.082 1.152 3.082 3.066v1.913c0 1.96-1.288 2.997-3.082 2.997-1.749 0-3.083-1.015-3.083-2.997zM111.018 24h2.853v-6.132h.184c.667 1.453 2.116 2.398 4.186 2.398 3.083 0 4.992-2.26 4.992-6.293 0-3.942-1.863-6.27-4.992-6.27-1.863 0-3.427.852-4.186 2.397h-.184l-.345-2.167h-2.508V24zm6.211-6.063c-2.024 0-3.358-1.314-3.358-3.342v-1.222c0-2.005 1.31-3.342 3.381-3.342 2.002 0 3.037 1.152 3.037 2.881v2.144c0 1.815-1.16 2.849-2.973 2.88l-.087.001zm7.1-11.733h2.83V3.115h-2.83v3.09zm0 13.946h2.83V7.933h-2.83V20.15zm4.338 0h2.83V3.115h-2.83V20.15zm9.927-12.447c3.52 0 6.004 2.282 6.004 6.339 0 3.803-2.208 6.339-6.004 6.339-3.634 0-5.98-2.42-5.98-6.34 0-3.941 2.346-6.338 5.98-6.338zm10.922-3.689v3.919H152v2.328h-2.484v7.607H152v2.282h-2.99c-1.749 0-2.324-.922-2.324-2.282v-7.607h-2.185V7.933h2.185V4.014h2.83zm-10.922 6.04c-1.863 0-3.082 1.175-3.082 3.066v1.913c0 1.982 1.334 2.997 3.082 2.997 1.795 0 3.083-1.038 3.083-2.997V13.12c0-1.914-1.265-3.066-3.083-3.066z"})]}))});function bs(n){"@babel/helpers - typeof";return bs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bs(n)}function wp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function WO(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wp(Object(t),!0).forEach(function(r){UO(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):wp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function UO(n,e,t){return e=KO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function KO(n){var e=GO(n,"string");return bs(e)=="symbol"?e:String(e)}function GO(n,e){if(bs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(bs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function qO(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var YO=g.memo(function(n){var e=Object.assign({},(qO(n),n));return u.jsx(Hn,WO({Icon:nu,Text:qb,"aria-label":Ks,spaceMultiple:kO,textMultiple:wO},e))}),Kr=nu;Kr.Text=qb;Kr.Combine=YO;Kr.Avatar=BO;Kr.colorPrimary=Gb;Kr.title=Ks;var Gs="Cline",QO=.7,JO=.2,Yb="#323B43",XO=Yb,ZO="#fff",e7=.6;function ys(n){"@babel/helpers - typeof";return ys=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ys(n)}var t7=["size","style"];function kp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ql(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?kp(Object(t),!0).forEach(function(r){n7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):kp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function n7(n,e,t){return e=r7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function r7(n){var e=i7(n,"string");return ys(e)=="symbol"?e:String(e)}function i7(n,e){if(ys(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ys(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function s7(n,e){if(n==null)return{};var t=o7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function o7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var ru=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=s7(n,t7);return u.jsxs("svg",ql(ql({fill:"currentColor",fillRule:"evenodd",height:t,style:ql({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Gs}),u.jsx("path",{d:"M17.035 3.991c2.75 0 4.98 2.24 4.98 5.003v1.667l1.45 2.896a1.01 1.01 0 01-.002.909l-1.448 2.864v1.668c0 2.762-2.23 5.002-4.98 5.002H7.074c-2.751 0-4.98-2.24-4.98-5.002V17.33l-1.48-2.855a1.01 1.01 0 01-.003-.927l1.482-2.887V8.994c0-2.763 2.23-5.003 4.98-5.003h9.962zM8.265 9.6a2.274 2.274 0 00-2.274 2.274v4.042a2.274 2.274 0 004.547 0v-4.042A2.274 2.274 0 008.265 9.6zm7.326 0a2.274 2.274 0 00-2.274 2.274v4.042a2.274 2.274 0 104.548 0v-4.042A2.274 2.274 0 0015.59 9.6z"}),u.jsx("path",{d:"M12.054 5.558a2.779 2.779 0 100-5.558 2.779 2.779 0 000 5.558z"})]}))});function xs(n){"@babel/helpers - typeof";return xs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xs(n)}function Sp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function a7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Sp(Object(t),!0).forEach(function(r){l7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Sp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function l7(n,e,t){return e=c7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function c7(n){var e=h7(n,"string");return xs(e)=="symbol"?e:String(e)}function h7(n,e){if(xs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(xs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function u7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var d7=g.memo(function(n){var e=Object.assign({},(u7(n),n));return u.jsx(zn,a7({Icon:ru,"aria-label":Gs,background:XO,color:ZO,iconMultiple:e7},e))});function vs(n){"@babel/helpers - typeof";return vs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vs(n)}var f7=["size","style"];function Cp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Yl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Cp(Object(t),!0).forEach(function(r){p7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Cp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function p7(n,e,t){return e=m7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function m7(n){var e=g7(n,"string");return vs(e)=="symbol"?e:String(e)}function g7(n,e){if(vs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(vs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function b7(n,e){if(n==null)return{};var t=y7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function y7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Qb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=b7(n,f7);return u.jsxs("svg",Yl(Yl({fill:"currentColor",fillRule:"evenodd",height:t,style:Yl({flex:"none",lineHeight:1},r),viewBox:"0 0 88 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Gs}),u.jsx("path",{d:"M79.558 21.986c-1.13 0-2.167-.189-3.108-.565a7.128 7.128 0 01-2.403-1.569 6.933 6.933 0 01-1.554-2.331 7.876 7.876 0 01-.537-2.925v-.58c0-1.196.189-2.279.566-3.25.376-.97.894-1.798 1.554-2.486a6.84 6.84 0 012.289-1.582 7.005 7.005 0 012.797-.566c1.103 0 2.078.189 2.925.566.848.367 1.56.88 2.134 1.54.575.668 1.008 1.464 1.3 2.388.292.923.438 1.93.438 3.023v1.456H75.362v.07c.103.67.263 1.23.48 1.682.217.452.513.857.89 1.215.377.377.82.669 1.328.876.518.207 1.084.31 1.696.31.838 0 1.62-.16 2.346-.48a4.71 4.71 0 001.794-1.398l1.808 1.752c-.508.734-1.29 1.394-2.345 1.978-1.046.584-2.313.876-3.8.876zm-.41-13.113c-.48 0-.927.09-1.342.269-.405.17-.768.414-1.088.735-.32.33-.589.725-.805 1.187a6.25 6.25 0 00-.48 1.568h7.191v-.226c0-.443-.08-.88-.24-1.314a3.545 3.545 0 00-.678-1.159 3.004 3.004 0 00-1.074-.763c-.424-.198-.919-.297-1.484-.297zM55.043 21.703V6.415h3.052l.212 2.176c.207-.292.433-.56.678-.805.255-.255.523-.48.806-.679a5.555 5.555 0 013.179-.975 6.5 6.5 0 012.148.34 4.11 4.11 0 011.667 1.073c.461.49.82 1.117 1.074 1.88.254.753.381 1.667.381 2.74v9.538h-3.377v-9.48c0-.632-.07-1.16-.212-1.583-.141-.424-.348-.763-.621-1.018a2.3 2.3 0 00-.99-.537 4.736 4.736 0 00-1.328-.17c-.414 0-.8.057-1.158.17a3.421 3.421 0 00-1.611 1.004 4.282 4.282 0 00-.523.706v10.908h-3.377zM38.44 6.415h8.111v12.49h4.493v2.798H38.441v-2.797h4.705v-9.68H38.44V6.416zm4.395-3.956c0-.274.047-.523.141-.75a1.69 1.69 0 01.41-.607c.17-.16.372-.282.607-.367.245-.094.519-.141.82-.141.509 0 .918.131 1.23.395.32.254.503.584.55.99.066.414-.004.776-.212 1.087-.207.302-.508.504-.904.608a1.48 1.48 0 01-.706.353c-.273.057-.575.033-.905-.07a1.396 1.396 0 01-.777-.552 1.758 1.758 0 01-.254-.946zM20.934 0h8.238v18.906h4.634v2.797H20.934v-2.797h4.832V2.812h-4.832V0zM16.71 15.373c-.095.999-.33 1.908-.707 2.727a6.672 6.672 0 01-1.484 2.077 6.542 6.542 0 01-2.218 1.357c-.848.31-1.79.466-2.826.466-.848 0-1.63-.113-2.346-.339a6.467 6.467 0 01-1.893-.99 6.55 6.55 0 01-1.413-1.426 9.438 9.438 0 01-1.003-1.851c-.274-.66-.48-1.375-.622-2.148A14.34 14.34 0 012 12.83v-2.812c0-.8.066-1.573.198-2.317.132-.744.33-1.446.593-2.106A8.284 8.284 0 013.88 3.603a7.296 7.296 0 011.555-1.54 6.953 6.953 0 011.836-.904A7.256 7.256 0 019.49.834c1.083 0 2.049.16 2.896.48.858.32 1.588.773 2.19 1.357a6.337 6.337 0 011.442 2.147c.358.839.588 1.771.692 2.798h-3.391a6.568 6.568 0 00-.353-1.653c-.17-.5-.405-.923-.707-1.272a2.977 2.977 0 00-1.144-.791c-.453-.188-.994-.283-1.625-.283-.443 0-.843.062-1.201.184-.349.122-.66.297-.933.523a3.385 3.385 0 00-.947 1.074 7.033 7.033 0 00-.607 1.455c-.123.471-.217.975-.283 1.512a15.25 15.25 0 00-.084 1.625v2.84c0 .688.037 1.333.113 1.936.084.602.212 1.154.381 1.653.132.414.297.791.495 1.13.207.34.452.631.734.876.292.264.627.466 1.004.608.386.132.824.198 1.314.198.584 0 1.102-.085 1.554-.255.452-.17.838-.419 1.159-.749.31-.32.56-.72.748-1.2.189-.481.311-1.032.368-1.654h3.405z"})]}))});function ws(n){"@babel/helpers - typeof";return ws=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ws(n)}function jp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function x7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?jp(Object(t),!0).forEach(function(r){v7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):jp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function v7(n,e,t){return e=w7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function w7(n){var e=k7(n,"string");return ws(e)=="symbol"?e:String(e)}function k7(n,e){if(ws(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ws(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function S7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var C7=g.memo(function(n){var e=Object.assign({},(S7(n),n));return u.jsx(Hn,x7({Icon:ru,Text:Qb,"aria-label":Gs,iconProps:{shape:"square"},spaceMultiple:JO,textMultiple:QO},e))}),Gr=ru;Gr.Text=Qb;Gr.Combine=C7;Gr.Avatar=d7;Gr.colorPrimary=Yb;Gr.title=Gs;var qs="Cursor",j7=.7,O7=.1,Jb="#000",P7=Jb,A7="#fff",M7=.6;function ks(n){"@babel/helpers - typeof";return ks=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ks(n)}var N7=["size","style"];function Op(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Ql(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Op(Object(t),!0).forEach(function(r){D7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Op(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function D7(n,e,t){return e=T7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function T7(n){var e=E7(n,"string");return ks(e)=="symbol"?e:String(e)}function E7(n,e){if(ks(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(ks(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function R7(n,e){if(n==null)return{};var t=L7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function L7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var iu=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=R7(n,N7);return u.jsxs("svg",Ql(Ql({fill:"currentColor",fillRule:"evenodd",height:t,style:Ql({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:qs}),u.jsx("path",{d:"M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z"})]}))});function Ss(n){"@babel/helpers - typeof";return Ss=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ss(n)}function Pp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function I7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Pp(Object(t),!0).forEach(function(r){B7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Pp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function B7(n,e,t){return e=$7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function $7(n){var e=F7(n,"string");return Ss(e)=="symbol"?e:String(e)}function F7(n,e){if(Ss(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ss(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function V7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var z7=g.memo(function(n){var e=Object.assign({},(V7(n),n));return u.jsx(zn,I7({Icon:iu,"aria-label":qs,background:P7,color:A7,iconMultiple:M7},e))});function Cs(n){"@babel/helpers - typeof";return Cs=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Cs(n)}var H7=["size","style"];function Ap(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Jl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ap(Object(t),!0).forEach(function(r){_7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ap(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function _7(n,e,t){return e=W7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function W7(n){var e=U7(n,"string");return Cs(e)=="symbol"?e:String(e)}function U7(n,e){if(Cs(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Cs(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function K7(n,e){if(n==null)return{};var t=G7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function G7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Xb=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=K7(n,H7);return u.jsxs("svg",Jl(Jl({fill:"currentColor",fillRule:"evenodd",height:t,style:Jl({flex:"none",lineHeight:1},r),viewBox:"0 0 123 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:qs}),u.jsx("path",{d:"M11.995 2.33h6.516v3.582h-6.295C8.82 5.912 6.169 7.868 6.169 12c0 4.133 2.65 6.089 6.047 6.089h6.295v3.581H11.72C6.03 21.67 2 18.336 2 12c0-6.337 4.307-9.67 9.995-9.67zm9.829 0h4.03V14.15c0 2.947 1.354 4.325 4.53 4.325 3.175 0 4.528-1.377 4.528-4.325V2.33h4.03v12.644c0 4.297-2.733 7.025-8.559 7.025-5.826 0-8.56-2.755-8.56-7.052V2.33zm38.185 5.483c0 2.149-1.243 3.801-2.9 4.518v.055c1.74.248 2.624 1.488 2.65 3.169l.084 6.115h-4.031l-.083-5.454c-.027-1.212-.745-1.956-2.181-1.956h-6.71v7.41h-4.03V2.33h11.127c3.644 0 6.074 1.846 6.074 5.483zm-4.059.55c0-1.652-.883-2.561-2.54-2.561H46.84v5.123h6.626c1.518 0 2.485-.909 2.485-2.562zm19.3 7.66c0-1.378-.884-1.957-2.209-2.067l-4.473-.413c-3.866-.358-5.881-1.873-5.881-5.537 0-3.664 2.485-5.675 6.046-5.675h9.885V5.8h-9.609c-1.38 0-2.263.717-2.263 2.094 0 1.378.91 2.039 2.291 2.15l4.556.385c3.452.303 5.715 1.874 5.715 5.565 0 3.691-2.402 5.675-5.798 5.675H63.184V18.2h9.94c1.297 0 2.126-.882 2.126-2.177zM91.097 2c6.074 0 9.912 3.884 9.912 9.972C101.01 18.061 97.006 22 90.932 22s-9.912-3.94-9.912-10.028C81.02 5.884 85.024 2 91.098 2zm5.743 10c0-4.077-2.374-6.474-5.826-6.474-3.451 0-5.826 2.397-5.826 6.474s2.375 6.473 5.826 6.473c3.452 0 5.826-2.396 5.826-6.473zM121 7.813c0 2.149-1.242 3.801-2.899 4.518v.055c1.739.248 2.623 1.488 2.65 3.169l.083 6.115h-4.031l-.083-5.454c-.027-1.212-.745-1.956-2.181-1.956h-6.709v7.41h-4.031V2.33h11.127c3.645 0 6.074 1.846 6.074 5.483zm-4.059.55c0-1.652-.883-2.561-2.54-2.561h-6.571v5.123h6.626c1.518 0 2.485-.909 2.485-2.562z"})]}))});function js(n){"@babel/helpers - typeof";return js=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},js(n)}function Mp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function q7(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Mp(Object(t),!0).forEach(function(r){Y7(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Mp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function Y7(n,e,t){return e=Q7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Q7(n){var e=J7(n,"string");return js(e)=="symbol"?e:String(e)}function J7(n,e){if(js(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(js(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function X7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Z7=g.memo(function(n){var e=Object.assign({},(X7(n),n));return u.jsx(Hn,q7({Icon:iu,Text:Xb,"aria-label":qs,spaceMultiple:O7,textMultiple:j7},e))}),qr=iu;qr.Text=Xb;qr.Combine=Z7;qr.Avatar=z7;qr.colorPrimary=Jb;qr.title=qs;var Ys="Goose",eP=.7,tP=.2,Zb="#fff",nP=Zb,rP="#000",iP=.65;function Os(n){"@babel/helpers - typeof";return Os=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Os(n)}var sP=["size","style"];function Np(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Xl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Np(Object(t),!0).forEach(function(r){oP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Np(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function oP(n,e,t){return e=aP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function aP(n){var e=lP(n,"string");return Os(e)=="symbol"?e:String(e)}function lP(n,e){if(Os(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Os(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function cP(n,e){if(n==null)return{};var t=hP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function hP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var su=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=cP(n,sP);return u.jsxs("svg",Xl(Xl({fill:"currentColor",fillRule:"evenodd",height:t,style:Xl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Ys}),u.jsx("path",{d:"M21.595 23.61c1.167-.254 2.405-.944 2.405-.944l-2.167-1.784a12.124 12.124 0 01-2.695-3.131 12.127 12.127 0 00-3.97-4.049l-.794-.462a1.115 1.115 0 01-.488-.815.844.844 0 01.154-.575c.413-.582 2.548-3.115 2.94-3.44.503-.416 1.065-.762 1.586-1.159.074-.056.148-.112.221-.17.003-.002.007-.004.009-.007.167-.131.325-.272.45-.438.453-.524.563-.988.59-1.193-.061-.197-.244-.639-.753-1.148.319.02.705.272 1.056.569.235-.376.481-.773.727-1.171.165-.266-.08-.465-.086-.471h-.001V3.22c-.007-.007-.206-.25-.471-.086-.567.35-1.134.702-1.639 1.021 0 0-.597-.012-1.305.599a2.464 2.464 0 00-.438.45l-.007.009c-.058.072-.114.147-.17.221-.397.521-.743 1.083-1.16 1.587-.323.391-2.857 2.526-3.44 2.94a.842.842 0 01-.574.153 1.115 1.115 0 01-.815-.488l-.462-.794a12.123 12.123 0 00-4.049-3.97 12.133 12.133 0 01-3.13-2.695L1.332 0S.643 1.238.39 2.405c.352.428 1.27 1.49 2.34 2.302C1.58 4.167.73 3.75.06 3.4c-.103.765-.063 1.92.043 2.816.726.317 1.961.806 3.219 1.066-1.006.236-2.11.278-2.961.262.15.554.358 1.119.64 1.688.119.263.25.52.39.77.452.125 2.222.383 3.164.171l-2.51.897a27.776 27.776 0 002.544 2.726c2.031-1.092 2.494-1.241 4.018-2.238-2.467 2.008-3.108 2.828-3.8 3.67l-.483.678c-.25.351-.469.725-.65 1.117-.61 1.31-1.47 4.1-1.47 4.1-.154.486.202.842.674.674 0 0 2.79-.861 4.1-1.47.392-.182.766-.4 1.118-.65l.677-.483c.227-.187.453-.37.701-.586 0 0 1.705 2.02 3.458 3.349l.896-2.511c-.211.942.046 2.712.17 3.163.252.142.509.272.772.392.569.28 1.134.49 1.688.64-.016-.853.026-1.956.261-2.962.26 1.258.75 2.493 1.067 3.219.895.106 2.051.146 2.816.043a73.87 73.87 0 01-1.308-2.67c.811 1.07 1.874 1.988 2.302 2.34h-.001z"})]}))});function Ps(n){"@babel/helpers - typeof";return Ps=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ps(n)}function Dp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function uP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Dp(Object(t),!0).forEach(function(r){dP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Dp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function dP(n,e,t){return e=fP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function fP(n){var e=pP(n,"string");return Ps(e)=="symbol"?e:String(e)}function pP(n,e){if(Ps(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ps(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function mP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var gP=g.memo(function(n){var e=Object.assign({},(mP(n),n));return u.jsx(zn,uP({Icon:su,"aria-label":Ys,background:nP,color:rP,iconMultiple:iP},e))});function As(n){"@babel/helpers - typeof";return As=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},As(n)}var bP=["size","style"];function Tp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Zl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Tp(Object(t),!0).forEach(function(r){yP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Tp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function yP(n,e,t){return e=xP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function xP(n){var e=vP(n,"string");return As(e)=="symbol"?e:String(e)}function vP(n,e){if(As(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(As(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function wP(n,e){if(n==null)return{};var t=kP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function kP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var e1=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=wP(n,bP);return u.jsxs("svg",Zl(Zl({fill:"currentColor",fillRule:"evenodd",height:t,style:Zl({flex:"none",lineHeight:1},r),viewBox:"0 0 87 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Ys}),u.jsx("path",{d:"M17.122 16.607c0 4.696-3.219 7.393-7.774 7.393-3.674 0-6.255-1.546-7.257-4.637l3.401-1.21c.486 1.786 1.852 2.907 3.856 2.907 2.46 0 4.13-1.211 4.13-4.12v-1.122c-.85 1.121-2.46 2-4.494 2C4.61 17.818 2 14.273 2 9.909 2 5.546 4.611 2 8.984 2c2.004 0 3.644.879 4.494 2V2.303h3.644v14.303zm-3.583-6.85c0-2.908-1.58-4.575-3.857-4.575-2.52 0-4.008 1.757-4.008 4.727 0 2.94 1.488 4.727 4.008 4.727 2.278 0 3.857-1.666 3.857-4.515v-.363zM35.546 10.273c0 4.94-3.188 8.273-7.683 8.273-4.494 0-7.682-3.334-7.682-8.273C20.181 5.333 23.37 2 27.863 2c4.495 0 7.683 3.333 7.683 8.273zm-11.69 0c0 3.242 1.548 5.212 4.007 5.212 2.46 0 4.009-1.97 4.009-5.212 0-3.243-1.549-5.212-4.009-5.212-2.46 0-4.008 1.97-4.008 5.212zM52.957 10.273c0 4.94-3.188 8.273-7.682 8.273s-7.682-3.334-7.682-8.273C37.593 5.333 40.78 2 45.275 2s7.682 3.333 7.682 8.273zm-11.69 0c0 3.242 1.548 5.212 4.008 5.212s4.008-1.97 4.008-5.212c0-3.243-1.549-5.212-4.008-5.212-2.46 0-4.008 1.97-4.008 5.212zM54.336 15.182L57.069 13c.941 1.546 2.763 2.576 4.615 2.576 1.549 0 2.976-.546 2.976-1.97 0-1.364-1.336-1.515-3.856-2.03-2.52-.515-5.405-1.152-5.405-4.546 0-2.909 2.55-5.03 6.224-5.03 2.794 0 5.284 1.242 6.438 3L65.6 7.212c-.91-1.424-2.429-2.242-4.19-2.242-1.488 0-2.46.666-2.46 1.727 0 1.152 1.154 1.364 3.158 1.788 2.703.576 6.104 1.151 6.104 4.788 0 3.211-2.946 5.273-6.56 5.273-2.945 0-5.89-1.182-7.317-3.364zM77.965 18.546c-4.555 0-7.743-3.364-7.743-8.273 0-4.667 3.157-8.273 7.59-8.273 4.616 0 7.076 3.485 7.076 7.849v1.212H73.713c.274 2.727 1.913 4.394 4.252 4.394 1.791 0 3.218-.91 3.704-2.546l3.128 1.182c-1.124 2.787-3.644 4.455-6.832 4.455zm-.183-13.485c-1.882 0-3.34 1.12-3.886 3.272h7.318c-.03-1.757-1.124-3.272-3.432-3.272z"})]}))});function Ms(n){"@babel/helpers - typeof";return Ms=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ms(n)}function Ep(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function SP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ep(Object(t),!0).forEach(function(r){CP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ep(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function CP(n,e,t){return e=jP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function jP(n){var e=OP(n,"string");return Ms(e)=="symbol"?e:String(e)}function OP(n,e){if(Ms(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ms(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function PP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var AP=g.memo(function(n){var e=Object.assign({},(PP(n),n));return u.jsx(Hn,SP({Icon:su,Text:e1,"aria-label":Ys,iconProps:{shape:"square"},spaceMultiple:tP,textMultiple:eP},e))}),Yr=su;Yr.Text=e1;Yr.Combine=AP;Yr.Avatar=gP;Yr.colorPrimary=Zb;Yr.title=Ys;var Qs="Windsurf",MP=.7,NP=.2,t1="#fff",DP=t1,TP="#000",EP=.75;function Ns(n){"@babel/helpers - typeof";return Ns=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ns(n)}var RP=["size","style"];function Rp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function ec(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Rp(Object(t),!0).forEach(function(r){LP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Rp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function LP(n,e,t){return e=IP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function IP(n){var e=BP(n,"string");return Ns(e)=="symbol"?e:String(e)}function BP(n,e){if(Ns(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ns(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function $P(n,e){if(n==null)return{};var t=FP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function FP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var ou=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=$P(n,RP);return u.jsxs("svg",ec(ec({fill:"currentColor",fillRule:"evenodd",height:t,style:ec({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Qs}),u.jsx("path",{clipRule:"evenodd",d:"M23.78 5.004h-.228a2.187 2.187 0 00-2.18 2.196v4.912c0 .98-.804 1.775-1.76 1.775a1.818 1.818 0 01-1.472-.773L13.168 5.95a2.197 2.197 0 00-1.81-.95c-1.134 0-2.154.972-2.154 2.173v4.94c0 .98-.797 1.775-1.76 1.775-.57 0-1.136-.289-1.472-.773L.408 5.098C.282 4.918 0 5.007 0 5.228v4.284c0 .216.066.426.188.604l5.475 7.889c.324.466.8.812 1.351.938 1.377.316 2.645-.754 2.645-2.117V11.89c0-.98.787-1.775 1.76-1.775h.002c.586 0 1.135.288 1.472.773l4.972 7.163a2.15 2.15 0 001.81.95c1.158 0 2.151-.973 2.151-2.173v-4.939c0-.98.787-1.775 1.76-1.775h.194c.122 0 .22-.1.22-.222V5.225a.221.221 0 00-.22-.222z"})]}))});function Ds(n){"@babel/helpers - typeof";return Ds=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ds(n)}function Lp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function VP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Lp(Object(t),!0).forEach(function(r){zP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Lp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function zP(n,e,t){return e=HP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function HP(n){var e=_P(n,"string");return Ds(e)=="symbol"?e:String(e)}function _P(n,e){if(Ds(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ds(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function WP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var UP=g.memo(function(n){var e=Object.assign({},(WP(n),n));return u.jsx(zn,VP({Icon:ou,"aria-label":Qs,background:DP,color:TP,iconMultiple:EP},e))});function Ts(n){"@babel/helpers - typeof";return Ts=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ts(n)}var KP=["size","style"];function Ip(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function tc(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Ip(Object(t),!0).forEach(function(r){GP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ip(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function GP(n,e,t){return e=qP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function qP(n){var e=YP(n,"string");return Ts(e)=="symbol"?e:String(e)}function YP(n,e){if(Ts(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ts(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function QP(n,e){if(n==null)return{};var t=JP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function JP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var n1=g.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=QP(n,KP);return u.jsxs("svg",tc(tc({fill:"currentColor",fillRule:"evenodd",height:t,style:tc({flex:"none",lineHeight:1},r),viewBox:"0 0 111 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Qs}),u.jsx("path",{clipRule:"evenodd",d:"M33.412 7.182h-1.715a.316.316 0 00-.315.316v13.79c0 .174.14.316.315.316h1.715a.316.316 0 00.316-.317V7.498a.316.316 0 00-.316-.316zm-1.772-5.18h1.828c.174 0 .315.141.315.316V4.57a.316.316 0 01-.315.316H31.64a.316.316 0 01-.315-.316V2.318c0-.175.141-.317.315-.317zM43.676 6.79c-1.927 0-3.324.671-4.218 1.653a.457.457 0 01-.782-.322v-.623a.316.316 0 00-.316-.316h-1.686a.316.316 0 00-.316.316v13.79c0 .174.142.316.316.316h1.687a.316.316 0 00.316-.317v-8.729c0-3.025.587-3.697 3.8-3.697s3.742.533 3.742 3.557v8.868c0 .175.142.317.316.317h1.715a.316.316 0 00.316-.317v-9.513c0-3.445-1.956-4.986-4.889-4.986v.003h-.001zm17.518 1.849a.457.457 0 00.782-.322V2.319c0-.175.142-.316.316-.316h1.687c.174 0 .316.141.316.316v18.97a.316.316 0 01-.316.316h-1.687a.316.316 0 01-.316-.316v-.819c.017-.418-.489-.62-.782-.322-.81 1.008-2.374 1.848-4.47 1.848-3.685 0-6.088-2.632-6.088-7.533 0-5.18 2.68-7.673 6.172-7.673 2.095 0 3.604.84 4.386 1.849zm-8.018 5.767c0 4.733.587 5.434 4.414 5.434 3.8 0 4.386-.701 4.386-5.434 0-4.733-.559-5.461-4.386-5.461s-4.414.728-4.414 5.461zm20.924-.894l-2.763-.476c-2.04-.364-2.404-.98-2.404-2.045.028-1.457.587-2.184 3.296-2.184 2.538 0 3.35.752 3.525 2.376.017.16.152.284.313.284h1.677c.18 0 .326-.151.316-.333-.163-2.788-2.709-4.346-5.746-4.346-3.408 0-5.67 1.82-5.67 4.426 0 2.38 1.844 3.417 4.05 3.837l3.046.56c1.676.31 2.235.87 2.235 1.933 0 1.709-.587 2.437-3.464 2.437s-3.673-.832-3.858-2.518a.315.315 0 00-.313-.282h-1.687a.318.318 0 00-.317.325c.08 3.004 2.797 4.493 6.034 4.493 3.52 0 5.949-1.82 5.949-4.566 0-2.408-1.845-3.501-4.219-3.921zm12.21 6.414c3.128 0 3.715-.672 3.715-3.697V7.502c0-.174.141-.316.316-.316h1.714c.175 0 .316.142.316.316v13.79a.316.316 0 01-.316.316h-1.714a.316.316 0 01-.316-.317v-.6c-.007-.429-.45-.642-.755-.343-.892.98-2.289 1.652-4.161 1.652-2.877 0-4.833-1.54-4.833-4.986V7.501c0-.175.142-.317.316-.317h1.715c.174 0 .316.142.316.317v8.868c0 3.024.558 3.557 3.687 3.557zm19.782-12.744v-1.85c0-.727.588-1.316 1.314-1.316h1.276a.316.316 0 00.315-.317V2.317a.316.316 0 00-.315-.317h-.885c-2.514 0-4.051 1.4-4.051 3.81v1.372h-1.859c-1.647.002-2.94.229-3.803 1.26-.317.302-.755.076-.755-.36V7.5a.316.316 0 00-.315-.317h-1.715a.316.316 0 00-.316.317v13.789c0 .174.141.316.316.316h1.715a.316.316 0 00.315-.316v-8.645c0-2.857.727-3.528 3.855-3.528h2.562V21.29c0 .175.141.317.316.317h1.715a.316.316 0 00.315-.317V9.116h2.593a.316.316 0 00.315-.317V7.501a.316.316 0 00-.315-.317h-2.593v-.002zM21.834 18.008a.561.561 0 001.091.005l3.933-15.772A.318.318 0 0127.166 2h1.963c.21 0 .363.199.31.403l-4.947 18.972a.305.305 0 01-.295.228h-3.502a.31.31 0 01-.3-.234L16.285 5.5a.56.56 0 00-.543-.42h-.036a.562.562 0 00-.542.42l-4.11 15.87a.31.31 0 01-.299.234H7.253a.304.304 0 01-.295-.228L2.011 2.403A.321.321 0 012.32 2h1.963c.145 0 .272.1.308.241l3.932 15.772a.56.56 0 001.09-.005l3.78-15.764A.316.316 0 0113.7 2h4.047c.146 0 .273.1.307.244l3.779 15.764z"})]}))});function Es(n){"@babel/helpers - typeof";return Es=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Es(n)}function Bp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function XP(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Bp(Object(t),!0).forEach(function(r){ZP(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Bp(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function ZP(n,e,t){return e=e8(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function e8(n){var e=t8(n,"string");return Es(e)=="symbol"?e:String(e)}function t8(n,e){if(Es(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Es(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function n8(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var r8=g.memo(function(n){var e=Object.assign({},(n8(n),n));return u.jsx(Hn,XP({Icon:ou,Text:n1,"aria-label":Qs,iconProps:{shape:"square"},spaceMultiple:NP,textMultiple:MP},e))}),Qr=ou;Qr.Text=n1;Qr.Combine=r8;Qr.Avatar=UP;Qr.colorPrimary=t1;Qr.title=Qs;const i8={"claude-code":hr.Avatar,cursor:qr.Avatar,codex:vt.Avatar,"gemini-cli":ur.Avatar,goose:Yr.Avatar,"github-copilot":Kr.Avatar,windsurf:Qr.Avatar,cline:Gr.Avatar},s8={antigravity:"/agents/antigravity.png",opencode:"/agents/opencode.svg",amp:"/agents/amp.png",kilo:"/agents/kilo.png",roo:"/agents/roo.png",openhands:"/agents/openhands.png"};function o8(n){return n.split(/\s+/).map(e=>e[0]).join("").toUpperCase().slice(0,2)}const r1=({agentName:n,displayName:e,size:t=20})=>{const r=i8[n];if(r)return u.jsx(r,{size:t});const i=s8[n];return i?u.jsx("img",{src:i,alt:e,className:"rounded object-contain",style:{width:t,height:t}}):u.jsx("div",{className:"flex items-center justify-center rounded bg-dash-surface-hover text-dash-text-muted font-semibold",style:{width:t,height:t,fontSize:t*.45},children:o8(e)})};function nc(n){return`${n.provider}:${n.type}:${n.item}:${n.global}`}function a8(){const[n,e]=g.useState("idle"),[t,r]=g.useState(null),[i,s]=g.useState(new Map),[o,a]=g.useState(null),[l,c]=g.useState(null),h=g.useRef(0),d=g.useRef(0),f=g.useRef(null),p=g.useRef(null),m=g.useCallback(async S=>{e("reconciling"),c(null),a(null),h.current+=1;const O=h.current;f.current?.abort();const C=new AbortController;f.current=C;try{const P=new URLSearchParams({providers:S.providers.join(","),global:String(S.global),agents:String(S.include.agents??!0),commands:String(S.include.commands??!0),skills:String(S.include.skills??!0),config:String(S.include.config??!0),rules:String(S.include.rules??!0)});S.source&&P.set("source",S.source);const x=await fetch(`/api/migrate/reconcile?${P.toString()}`,{signal:C.signal});if(!x.ok){const T=await x.json().catch(()=>({error:"Unknown error"}));throw new Error(T.error||"Failed to reconcile migration plan")}const D=await x.json();if(O!==h.current)return;r(D.plan),s(new Map),e("reviewing")}catch(P){if(C.signal.aborted||P instanceof DOMException&&P.name==="AbortError"||O!==h.current)return;c(P instanceof Error?P.message:"Failed to reconcile"),e("error")}},[]),b=g.useCallback((S,O)=>{s(C=>{const P=new Map(C);return P.set(nc(S),O),P})},[]),y=g.useCallback(async()=>{if(!t)return c("No plan to execute"),e("error"),!1;e("executing"),c(null),d.current+=1;const S=d.current;p.current?.abort();const O=new AbortController;p.current=O;try{const C=Object.fromEntries(i.entries()),P=await fetch("/api/migrate/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({plan:t,resolutions:C}),signal:O.signal});if(S!==d.current)return!1;if(!P.ok){const D=await P.json().catch(()=>({error:"Unknown error"}));if(P.status===501)return c(D.error||"Plan execution is not available in this server build"),e("reviewing"),!1;throw new Error(D.error||"Failed to execute migration")}const x=await P.json();return S!==d.current?!1:(a({results:x.results,counts:x.counts,warnings:x.warnings??[]}),e("complete"),!0)}catch(C){return O.signal.aborted||C instanceof DOMException&&C.name==="AbortError"||S!==d.current||(c(C instanceof Error?C.message:"Failed to execute migration"),e("error")),!1}},[t,i]),v=g.useCallback(()=>{f.current?.abort(),p.current?.abort(),e("idle"),r(null),s(new Map),a(null),c(null)},[]),k=g.useMemo(()=>t?t.actions.filter(S=>S.action==="conflict").every(S=>i.has(nc(S))):!0,[t,i]);return{phase:n,plan:t,resolutions:i,results:o,error:l,reconcile:m,resolve:b,execute:y,reset:v,allConflictsResolved:k,actionKey:nc}}const l8={agents:!0,commands:!0,skills:!0,config:!0,rules:!0},fn=["agents","commands","skills","config","rules"],Sr={agents:"migrateTypeAgents",commands:"migrateTypeCommands",skills:"migrateTypeSkills",config:"migrateTypeConfig",rules:"migrateTypeRules"},$p={detected:"#D4A574","not-detected":"#8B9DC3"},wn=({label:n,value:e,tone:t="default"})=>{const r=t==="accent"?"text-dash-accent":t==="success"?"text-green-400":"text-dash-text";return u.jsxs("div",{className:"rounded-lg border border-dash-border bg-dash-bg/70 px-3 py-2.5",children:[u.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n}),u.jsx("p",{className:`mt-1 text-lg font-semibold ${r}`,children:e})]})};function Fp(n,e){return n.success?n.skipped?{label:e("migrateStatusSkipped"),className:"text-yellow-400"}:{label:e("migrateStatusInstalled"),className:"text-green-400"}:{label:e("migrateStatusFailed"),className:"text-red-400"}}function c8(n){return n>=0&&n<=8||n>=11&&n<=31||n>=127&&n<=159}function Vp(n){let e="";for(const t of n){const r=t.codePointAt(0);r!==void 0&&(c8(r)||(e+=t))}return e}const h8=({provider:n,include:e,isSelected:t,onToggleSelect:r,onOpenDetails:i,t:s})=>{const o=fn.filter(l=>n.capabilities[l]).length,a=fn.some(l=>e[l]&&!n.capabilities[l]);return u.jsx("div",{onClick:()=>i(n),className:`rounded-xl border px-4 py-3 cursor-pointer transition-all dash-focus-ring ${t?"bg-dash-accent-subtle border-dash-accent/30 shadow-sm shadow-dash-accent/10":a?"bg-dash-surface border-yellow-500/25 hover:bg-dash-surface-hover hover:border-yellow-500/40":"bg-dash-surface border-dash-border hover:bg-dash-surface-hover hover:border-dash-accent/25"}`,children:u.jsxs("div",{className:"flex flex-col gap-3 lg:grid lg:grid-cols-[minmax(0,1.25fr)_140px_minmax(0,220px)_auto] lg:items-center lg:gap-4",children:[u.jsxs("div",{className:"min-w-0 space-y-1.5",children:[u.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[u.jsx(r1,{agentName:n.name,displayName:n.displayName,size:18}),u.jsx("span",{className:"text-sm font-semibold text-dash-text truncate",children:n.displayName}),n.recommended&&u.jsx("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border border-dash-accent/30 text-dash-accent",children:s("migrateFilterRecommended")}),n.commandsGlobalOnly&&u.jsx("span",{className:"text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border border-yellow-500/30 text-yellow-400",children:s("migrateGlobalOnlyCommandsShort")})]}),u.jsxs("div",{className:"text-xs text-dash-text-muted truncate",children:[n.name," · ",o,"/5 ",s("migrateCapabilitiesLabel")]})]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 text-[11px] lg:flex-col lg:items-start lg:gap-1",children:[u.jsx("span",{className:n.detected?"text-dash-accent":"text-dash-text-muted",children:n.detected?s("migrateDetectedTag"):s("migrateNotDetectedTag")}),u.jsx("span",{className:"text-dash-text-muted",children:n.recommended?s("migrateFilterRecommended"):"-"})]}),u.jsx("div",{className:"flex flex-wrap gap-1",children:fn.map(l=>{const c=n.capabilities[l],h=e[l];return u.jsx("span",{className:`text-[10px] uppercase px-1.5 py-0.5 rounded border ${c&&h?"border-dash-accent/45 text-dash-accent":c?"border-dash-border text-dash-text-secondary":"border-dash-border text-dash-text-muted opacity-60"}`,children:s(Sr[l])},l)})}),u.jsx("div",{className:"flex justify-start lg:justify-end",children:u.jsx("button",{type:"button",onClick:l=>{l.stopPropagation(),r(n.name)},className:`dash-focus-ring px-4 py-1.5 text-xs font-semibold rounded-md transition-colors ${t?"bg-transparent text-dash-text-secondary border border-dash-border hover:bg-dash-surface-hover":"bg-dash-accent text-white hover:bg-dash-accent/90"}`,children:s(t?"migrateSelectedButton":"migrateSelectButton")})})]})})},u8=({provider:n,include:e,isSelected:t,latestResult:r,onToggleSelect:i,onClose:s,t:o})=>u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"fixed inset-0 bg-black/50 z-40",onClick:s}),u.jsxs("div",{className:"fixed top-0 right-0 w-[460px] h-full bg-dash-surface border-l border-dash-border shadow-2xl z-50 flex flex-col animate-slide-in",children:[u.jsx("div",{className:"px-6 py-5 border-b border-dash-border",children:u.jsxs("div",{className:"flex items-start justify-between gap-3",children:[u.jsxs("div",{className:"min-w-0",children:[u.jsxs("div",{className:"flex items-center gap-2.5",children:[u.jsx(r1,{agentName:n.name,displayName:n.displayName,size:22}),u.jsx("h2",{className:"text-xl font-bold text-dash-text truncate",children:n.displayName})]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-2",children:[u.jsx("span",{className:"text-[11px] text-dash-text-muted font-mono",children:n.name}),u.jsx("span",{className:`text-[10px] uppercase tracking-wide px-2 py-0.5 rounded border ${n.detected?"border-dash-accent/30 text-dash-accent":"border-dash-border text-dash-text-muted"}`,children:n.detected?o("migrateDetectedTag"):o("migrateNotDetectedTag")}),n.recommended&&u.jsx("span",{className:"text-[10px] uppercase tracking-wide px-2 py-0.5 rounded border border-dash-accent/30 text-dash-accent",children:o("migrateFilterRecommended")})]})]}),u.jsx("button",{type:"button",onClick:s,className:"w-8 h-8 flex items-center justify-center rounded-md text-dash-text-muted hover:bg-dash-surface-hover hover:text-dash-text transition-colors",children:u.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[u.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18",strokeWidth:2}),u.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18",strokeWidth:2})]})})]})}),u.jsxs("div",{className:"flex-1 overflow-y-auto px-6 py-5 space-y-6",children:[u.jsxs("div",{children:[u.jsx("h3",{className:"text-[11px] font-bold uppercase tracking-wide text-dash-text-muted mb-2.5",children:o("migrateCapabilitiesSection")}),u.jsx("div",{className:"space-y-1.5",children:fn.map(a=>{const l=n.capabilities[a],c=e[a];return u.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-dash-bg rounded-md",children:[u.jsx("span",{className:"text-sm text-dash-text",children:o(Sr[a])}),u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("span",{className:`text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border ${c?"border-dash-accent/35 text-dash-accent":"border-dash-border text-dash-text-muted"}`,children:o(c?"migrateIncludedEnabled":"migrateIncludedDisabled")}),u.jsx("span",{className:`text-[10px] uppercase tracking-wide px-1.5 py-0.5 rounded border ${l?"border-green-500/35 text-green-400":"border-red-500/30 text-red-400"}`,children:o(l?"migrateSupported":"migrateUnsupportedShort")})]})]},a)})})]}),n.commandsGlobalOnly&&e.commands&&u.jsx("div",{className:"px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-xs text-yellow-400",children:o("migrateGlobalForced")}),u.jsxs("div",{children:[u.jsx("h3",{className:"text-[11px] font-bold uppercase tracking-wide text-dash-text-muted mb-2.5",children:o("migrateLatestTarget")}),r?u.jsxs("div",{className:"px-3 py-2 bg-dash-bg rounded-md border border-dash-border space-y-2",children:[u.jsxs("div",{className:"flex items-center justify-between",children:[u.jsx("span",{className:"text-xs text-dash-text-muted",children:o("migrateStatus")}),u.jsx("span",{className:`text-xs font-semibold ${Fp(r,o).className}`,children:Fp(r,o).label})]}),u.jsx("p",{className:"text-xs font-mono text-dash-text break-all",children:Vp(r.path||"-")}),(r.error||r.skipReason)&&u.jsx("p",{className:"text-xs text-red-400 break-words",children:Vp(r.error||r.skipReason||"-")})]}):u.jsx("p",{className:"text-sm text-dash-text-muted",children:o("migrateNoResultForProvider")})]})]}),u.jsxs("div",{className:"px-6 py-4 border-t border-dash-border flex items-center justify-between gap-2",children:[u.jsx("button",{type:"button",onClick:()=>i(n.name),className:`px-4 py-2 text-sm font-semibold rounded-md transition-colors ${t?"bg-transparent text-dash-text-secondary border border-dash-border hover:bg-dash-surface-hover":"bg-dash-accent text-white hover:bg-dash-accent/90"}`,children:o(t?"migrateUnselectProvider":"migrateSelectProviderAction")}),u.jsx("button",{type:"button",onClick:s,className:"px-4 py-2 text-sm font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:o("detailPanelClose")})]})]})]}),d8=()=>{const{t:n}=me(),e=a8(),[t,r]=g.useState([]),[i,s]=g.useState(null),[o,a]=g.useState([]),[l,c]=g.useState(l8),[h,d]=g.useState(!1),[f,p]=g.useState(!0),[m,b]=g.useState(!1),[y,v]=g.useState(null),[k,S]=g.useState(""),O=g.useDeferredValue(k),[C,P]=g.useState("all"),[x,D]=g.useState(null),T=g.useRef(0),I=g.useCallback(async(R=!1)=>{T.current+=1;const G=T.current;try{R?b(!0):p(!0),v(null);const[ce,De]=await Promise.all([dv(),Yu()]);if(G!==T.current)return;r(ce.providers),s(De),a(ft=>{const Ka=ce.providers.map(_e=>_e.name),Js=ft.filter(_e=>Ka.includes(_e));if(Js.length>0)return Js;const Jr=ce.providers.filter(_e=>_e.recommended&&_e.detected).map(_e=>_e.name);if(Jr.length>0)return Jr;const Xs=ce.providers.filter(_e=>_e.detected).map(_e=>_e.name);return Xs.length>0?Xs:ce.providers.filter(_e=>_e.recommended).map(_e=>_e.name)})}catch(ce){if(G!==T.current)return;v(ce instanceof Error?ce.message:n("migrateDetectFailed"))}finally{G===T.current&&(p(!1),b(!1))}},[n]);g.useEffect(()=>{I()},[I]);const M=g.useMemo(()=>{const R=new Map;for(const G of t)R.set(G.name,G);return R},[t]);g.useEffect(()=>{x&&!M.has(x.name)&&D(null)},[x,M]);const L=g.useMemo(()=>new Set(o),[o]),W=g.useMemo(()=>t.filter(R=>R.detected).length,[t]),V=o.length,$=g.useMemo(()=>t.filter(R=>R.recommended).length,[t]),q=g.useMemo(()=>fn.filter(R=>l[R]).length,[l]),he=g.useMemo(()=>{const R=[];l.commands&&o.includes("codex")&&!h&&M.get("codex")?.commandsGlobalOnly&&R.push(n("migrateGlobalForced"));for(const G of fn){if(!l[G])continue;const ce=o.filter(De=>!M.get(De)?.capabilities[G]).map(De=>M.get(De)?.displayName||De);ce.length>0&&R.push(`${n("migrateUnsupported")}: ${n(Sr[G])} -> ${ce.join(", ")}`)}return R},[l,h,M,o,n]),_=g.useCallback(R=>{if(R==="codex"){a(["codex"]);return}if(R==="antigravity"){a(["antigravity"]);return}if(R==="core"){const ce=["codex","antigravity"].filter(De=>t.some(ft=>ft.name===De));a(ce);return}const G=t.filter(ce=>ce.detected).map(ce=>ce.name);a(G)},[t]),Y=g.useCallback(R=>{a(G=>G.includes(R)?G.filter(ce=>ce!==R):[...G,R])},[]),se=g.useCallback(R=>{c(G=>({...G,[R]:!G[R]}))},[]),le=g.useMemo(()=>{const R=[...t];return R.sort((G,ce)=>{const De=L.has(G.name),ft=L.has(ce.name);return De!==ft?De?-1:1:G.detected!==ce.detected?G.detected?-1:1:G.recommended!==ce.recommended?G.recommended?-1:1:G.displayName.localeCompare(ce.displayName)}),R},[t,L]),oe=g.useMemo(()=>{const R=O.trim().toLowerCase();return le.filter(G=>{if(C==="selected"&&!L.has(G.name)||C==="detected"&&!G.detected||C==="recommended"&&!G.recommended||C==="not-detected"&&G.detected)return!1;if(!R)return!0;const ce=fn.filter(De=>G.capabilities[De]).map(De=>n(Sr[De]).toLowerCase());return G.displayName.toLowerCase().includes(R)||G.name.toLowerCase().includes(R)||ce.some(De=>De.includes(R))})},[O,C,L,le,n]),we=g.useMemo(()=>{const R=oe.filter(De=>De.detected),G=oe.filter(De=>!De.detected),ce=[];return R.length>0&&ce.push({key:"detected",label:n("migrateDetectedTag"),providers:R}),G.length>0&&ce.push({key:"not-detected",label:n("migrateNotDetectedTag"),providers:G}),ce},[oe,n]),Me=g.useMemo(()=>({all:t.length,selected:V,detected:t.filter(R=>R.detected).length,recommended:t.filter(R=>R.recommended).length,"not-detected":t.filter(R=>!R.detected).length}),[t,V]),Se=g.useMemo(()=>oe.map(R=>R.name),[oe]),Je=g.useCallback(()=>{a(R=>{const G=new Set(R);for(const ce of Se)G.add(ce);return Array.from(G)})},[Se]),Rt=g.useCallback(()=>{a([])},[]),Q=g.useCallback(async()=>{if(o.length===0){v(n("migrateSelectProvider"));return}if(q===0){v(n("migrateNoTypesEnabled"));return}await e.reconcile({providers:o,global:h,include:l})},[q,l,h,o,n,e]),Ae=g.useCallback(async()=>{if(v(null),!!await e.execute())try{const G=await Yu();s(G)}catch(G){console.error("Failed to refresh discovery:",G)}},[e]),ve=g.useMemo(()=>{const R=new Map;if(!e.results)return R;for(const G of e.results.results)R.set(G.provider,G);return R},[e.results]);g.useEffect(()=>{const R=G=>{G.key==="/"&&document.activeElement?.tagName!=="INPUT"&&(G.preventDefault(),document.getElementById("migrate-search")?.focus())};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[]);const Le=e.phase==="idle"&&o.length>0&&q>0;return f?u.jsx("div",{className:"flex items-center justify-center h-full",children:u.jsxs("div",{className:"text-center",children:[u.jsx("div",{className:"w-8 h-8 border-4 border-dash-accent border-t-transparent rounded-full animate-spin mx-auto mb-3"}),u.jsx("p",{className:"text-dash-text-muted",children:n("migrateDiscovering")})]})}):u.jsxs("div",{className:"relative h-full overflow-hidden",children:[u.jsxs("div",{className:"pointer-events-none absolute inset-0 -z-10 overflow-hidden",children:[u.jsx("div",{className:"absolute -top-24 -right-8 h-64 w-64 rounded-full bg-dash-accent/10 blur-3xl"}),u.jsx("div",{className:"absolute -bottom-28 -left-10 h-72 w-72 rounded-full bg-dash-accent/5 blur-3xl"})]}),u.jsxs("div",{className:"h-full overflow-y-auto space-y-4 pb-8",children:[u.jsx("section",{className:"dash-panel dash-sticky-glass sticky top-0 z-20 px-4 py-4 md:px-6 md:py-5",children:u.jsxs("div",{className:"flex flex-col gap-4 xl:flex-row xl:items-end xl:justify-between",children:[u.jsxs("div",{className:"space-y-1",children:[u.jsx("p",{className:"mono text-[10px] uppercase tracking-[0.16em] text-dash-text-muted",children:n("migrate")}),u.jsx("h1",{className:"text-xl md:text-2xl font-semibold text-dash-text",children:n("migrateTitle")}),u.jsx("p",{className:"text-sm text-dash-text-secondary max-w-3xl",children:n("migrateSubtitle")})]}),u.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-4",children:[u.jsx(wn,{label:n("migrateTypeAgents"),value:i?.counts.agents??0}),u.jsx(wn,{label:n("migrateDetectedProviders"),value:W,tone:"success"}),u.jsx(wn,{label:n("migrateSelectedProviders"),value:V,tone:"accent"}),u.jsx(wn,{label:n("migrateTypes"),value:q})]})]})}),y&&u.jsx("div",{className:"px-4 py-3 border border-red-500/30 bg-red-500/10 rounded-lg text-sm text-red-400",children:y}),u.jsxs("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.55fr)_minmax(0,340px)]",children:[u.jsxs("section",{className:"order-2 xl:order-1 space-y-4",children:[e.phase==="reviewing"&&e.plan&&u.jsxs("div",{className:"dash-panel p-5",children:[u.jsxs("div",{className:"flex items-center justify-between mb-4",children:[u.jsx("h2",{className:"text-lg font-semibold text-dash-text",children:n("migrateReviewPlan")}),u.jsx("button",{type:"button",onClick:()=>e.reset(),className:"dash-focus-ring px-3 py-1.5 text-xs font-medium rounded-md border border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover",children:n("cancel")})]}),u.jsx(KC,{plan:e.plan,resolutions:e.resolutions,onResolve:e.resolve,actionKey:e.actionKey}),e.error&&u.jsx("div",{className:"mt-4 px-3 py-2 border border-red-500/30 bg-red-500/10 rounded text-xs text-red-400",children:e.error}),u.jsxs("div",{className:"mt-4 flex items-center justify-end gap-3",children:[e.plan.hasConflicts&&!e.allConflictsResolved&&u.jsx("p",{className:"text-xs text-yellow-400",children:n("migrateResolveConflicts")}),u.jsx("button",{type:"button",onClick:Ae,disabled:e.plan.hasConflicts&&!e.allConflictsResolved,className:"dash-focus-ring px-4 py-2 bg-dash-accent text-white rounded-md text-sm font-semibold hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:n("migrateExecutePlan")})]})]}),e.phase==="complete"&&e.results&&u.jsx(LC,{results:e.results,onReset:e.reset}),e.phase==="error"&&e.error&&u.jsxs("div",{className:"dash-panel p-5",children:[u.jsx("div",{className:"px-4 py-3 border border-red-500/30 bg-red-500/10 rounded-lg text-sm text-red-400",children:e.error}),u.jsx("button",{type:"button",onClick:e.reset,className:"mt-4 dash-focus-ring px-4 py-2 bg-dash-bg border border-dash-border rounded-md text-sm text-dash-text-secondary hover:bg-dash-surface-hover",children:n("tryAgain")})]}),(e.phase==="reconciling"||e.phase==="executing")&&u.jsx("div",{className:"dash-panel p-5",children:u.jsx("div",{className:"flex items-center justify-center py-8",children:u.jsxs("div",{className:"text-center",children:[u.jsx("div",{className:"w-8 h-8 border-4 border-dash-accent border-t-transparent rounded-full animate-spin mx-auto mb-3"}),u.jsx("p",{className:"text-dash-text-muted",children:e.phase==="reconciling"?n("migrateReconciling"):n("migrateExecuting")})]})})}),e.phase==="idle"&&u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[u.jsxs("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center",children:[u.jsxs("div",{className:"relative flex-1",children:[u.jsxs("svg",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 w-4 h-4 stroke-dash-text-muted",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("circle",{cx:"11",cy:"11",r:"8"}),u.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),u.jsx("input",{id:"migrate-search",type:"text",value:k,onChange:R=>S(R.target.value),placeholder:n("migrateSearchProviders"),className:"dash-focus-ring w-full pl-9 pr-12 py-2 bg-dash-bg border border-dash-border rounded-lg text-dash-text text-sm focus:border-dash-accent transition-colors"}),u.jsx("span",{className:"absolute right-2.5 top-1/2 -translate-y-1/2 text-[11px] text-dash-text-muted bg-dash-surface-hover border border-dash-border px-1.5 py-0.5 rounded",children:n("searchShortcut")})]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[u.jsx("button",{type:"button",onClick:()=>I(!0),disabled:m,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:n(m?"checking":"migrateRefresh")}),u.jsx("button",{type:"button",onClick:Je,disabled:Se.length===0,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:n("migrateSelectVisible")}),u.jsx("button",{type:"button",onClick:Rt,disabled:V===0,className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover disabled:opacity-50 whitespace-nowrap",children:n("migrateClearSelection")})]})]}),u.jsx("div",{className:"flex flex-wrap gap-1.5",children:[{key:"all",label:n("categoryAll")},{key:"selected",label:n("migrateSelectedProviders")},{key:"detected",label:n("migrateDetectedProviders")},{key:"recommended",label:n("migrateFilterRecommended")},{key:"not-detected",label:n("migrateNotDetectedTag")}].map(R=>u.jsxs("button",{type:"button",onClick:()=>P(R.key),className:`dash-focus-ring px-3 py-1 text-xs font-medium rounded-full border transition-all whitespace-nowrap ${C===R.key?"bg-dash-accent/10 border-dash-accent text-dash-accent":"border-dash-border text-dash-text-secondary hover:bg-dash-surface-hover hover:text-dash-text"}`,children:[R.label,u.jsx("span",{className:"opacity-60 ml-1 text-[10px]",children:Me[R.key]})]},R.key))}),u.jsxs("div",{children:[u.jsx("p",{className:"mb-2 text-[11px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n("migrateTypes")}),u.jsx("div",{className:"flex flex-wrap items-center gap-2",children:fn.map(R=>u.jsx("button",{type:"button",onClick:()=>se(R),className:`dash-focus-ring px-2.5 py-1 text-[11px] uppercase tracking-wide rounded-md border transition-colors ${l[R]?"border-dash-accent/45 text-dash-accent bg-dash-accent/5":"border-dash-border text-dash-text-muted hover:bg-dash-surface-hover"}`,children:n(Sr[R])},R))})]})]}),u.jsxs("div",{className:"dash-panel p-4 md:p-5",children:[u.jsx("h2",{className:"text-sm font-semibold text-dash-text mb-4",children:n("migrateSourceSummary")}),u.jsx("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-3",children:fn.map(R=>u.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-center",children:[u.jsx("p",{className:"text-[11px] uppercase tracking-wide text-dash-text-muted",children:n(Sr[R])}),u.jsx("p",{className:"text-lg font-semibold text-dash-text",children:i?.counts[R]??0})]},R))})]}),u.jsxs("div",{className:"dash-panel p-4 md:p-5",children:[u.jsxs("div",{className:"flex items-center justify-between mb-4",children:[u.jsx("h2",{className:"text-sm font-semibold text-dash-text",children:n("migrateProvidersHeading")}),u.jsxs("p",{className:"text-xs text-dash-text-muted",children:[oe.length," ",n("migrateProvidersCountSuffix")]})]}),t.length===0?u.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProviders")}):oe.length===0?u.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProvidersMatch")}):u.jsx("div",{className:"space-y-5",children:we.map(R=>u.jsxs("div",{children:[u.jsxs("div",{className:"flex items-center gap-2.5 mb-3",children:[u.jsx("div",{className:"w-2 h-2 rounded-full",style:{background:$p[R.key]}}),u.jsx("h2",{className:"text-[13px] font-semibold uppercase tracking-wide",style:{color:$p[R.key]},children:R.label}),u.jsxs("span",{className:"text-[11px] text-dash-text-muted ml-auto",children:[R.providers.length," ",n("migrateProvidersCountSuffix")]}),u.jsx("div",{className:"flex-1 h-px bg-dash-border ml-3"})]}),u.jsx("div",{className:"space-y-2",children:R.providers.map(G=>u.jsx(h8,{provider:G,include:l,isSelected:L.has(G.name),onToggleSelect:Y,onOpenDetails:D,t:n},G.name))})]},R.key))})]})]})]}),u.jsxs("aside",{className:"order-1 xl:order-2 space-y-4 self-start xl:sticky xl:top-[84px]",children:[u.jsxs("div",{className:"dash-panel p-4 md:p-5 space-y-4",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-sm font-semibold text-dash-text",children:n("migrateActionSummaryTitle")}),u.jsxs("p",{className:"text-xs text-dash-text-muted mt-1",children:[V," ",n("migrateProvidersCountSuffix")," · ",q,"/5"," ",n("migrateTypes")]})]}),u.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[u.jsx(wn,{label:n("migrateSelectedProviders"),value:V,tone:"accent"}),u.jsx(wn,{label:n("migrateDetectedProviders"),value:W}),u.jsx(wn,{label:n("migrateTypes"),value:q}),u.jsx(wn,{label:n("migrateFilterRecommended"),value:$,tone:"success"})]}),u.jsxs("div",{className:"inline-flex w-full rounded-md border border-dash-border overflow-hidden",children:[u.jsx("button",{type:"button",onClick:()=>d(!1),className:`dash-focus-ring flex-1 px-3 py-2 text-sm ${h?"bg-dash-bg text-dash-text-secondary":"bg-dash-accent-subtle text-dash-accent"}`,children:n("migrateScopeProject")}),u.jsx("button",{type:"button",onClick:()=>d(!0),className:`dash-focus-ring flex-1 px-3 py-2 text-sm border-l border-dash-border ${h?"bg-dash-accent-subtle text-dash-accent":"bg-dash-bg text-dash-text-secondary"}`,children:n("migrateScopeGlobal")})]}),u.jsx("button",{type:"button",onClick:Q,disabled:!Le,className:"dash-focus-ring w-full px-4 py-2.5 bg-dash-accent text-white rounded-md text-sm font-semibold hover:bg-dash-accent/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:e.phase==="reconciling"?n("migrateRunning"):n("migrateRun")}),he.length>0&&u.jsx("div",{className:"space-y-2",children:he.map((R,G)=>u.jsx("p",{className:"text-xs px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-yellow-400",children:R},`${R}-${G}`))})]}),u.jsxs("div",{className:"dash-panel-muted p-4",children:[u.jsx("p",{className:"mb-3 text-[11px] font-semibold uppercase tracking-wide text-dash-text-muted",children:n("migrateSelectProviderAction")}),u.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[u.jsx("button",{type:"button",onClick:()=>_("codex"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetCodex")}),u.jsx("button",{type:"button",onClick:()=>_("antigravity"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetAntigravity")}),u.jsx("button",{type:"button",onClick:()=>_("core"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetBoth")}),u.jsx("button",{type:"button",onClick:()=>_("detected"),className:"dash-focus-ring px-3 py-1.5 bg-dash-bg border border-dash-border rounded-md text-xs text-dash-text-secondary hover:bg-dash-surface-hover",children:n("migratePresetDetected")})]})]})]})]})]}),x&&u.jsx(u8,{provider:x,include:l,isSelected:L.has(x.name),latestResult:ve.get(x.name)||null,onToggleSelect:Y,onClose:()=>D(null),t:n})]})},f8=({featureId:n,name:e,description:t,included:r})=>{const{t:i}=me();return u.jsxs("div",{"data-testid":`feature-card-${n}`,className:`p-4 rounded-lg border transition-all ${r?"border-[var(--dash-accent)] bg-[var(--dash-surface)] shadow-sm":"border-[var(--dash-border)] bg-[var(--dash-bg)] opacity-50"}`,children:[u.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[r?u.jsx("svg",{className:"w-5 h-5 text-[var(--dash-accent)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}):u.jsx("svg",{className:"w-5 h-5 text-[var(--dash-text-muted)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),u.jsx("h4",{className:"font-medium text-[var(--dash-text)]",children:i(e)})]}),u.jsx("p",{className:"text-sm text-[var(--dash-text-muted)] leading-relaxed",children:i(t)})]})},p8=({selectedKit:n,onKitSelect:e,onInstall:t,installing:r})=>{const{t:i}=me(),[s,o]=g.useState(1);return u.jsxs("div",{className:"space-y-6","data-testid":"install-wizard",children:[u.jsxs("div",{className:"flex items-center gap-4",children:[u.jsx(rc,{number:1,active:s===1,label:i("stepChooseKit")}),u.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),u.jsx(rc,{number:2,active:s===2,label:i("stepConfigure")}),u.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),u.jsx(rc,{number:3,active:s===3,label:i("stepInstall")})]}),u.jsxs("div",{className:"min-h-[200px]",children:[s===1&&u.jsx(m8,{onSelect:e,selected:n}),s===2&&n&&u.jsx(g8,{kit:n}),s===3&&u.jsx(b8,{installing:r})]}),u.jsxs("div",{className:"flex justify-between pt-4 border-t border-[var(--dash-border)]",children:[s>1?u.jsx("button",{onClick:()=>o(a=>a-1),className:"px-4 py-2 text-sm font-medium text-[var(--dash-text)] bg-[var(--dash-surface)] border border-[var(--dash-border)] rounded-lg hover:bg-[var(--dash-surface-hover)] transition-colors","data-testid":"wizard-back",children:i("back")}):u.jsx("div",{}),s<3&&n&&u.jsx("button",{onClick:()=>o(a=>a+1),className:"px-4 py-2 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity","data-testid":"wizard-next",children:i("next")}),s===3&&u.jsx("button",{onClick:t,disabled:r,className:"px-4 py-2 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity disabled:opacity-50 disabled:cursor-not-allowed","data-testid":"wizard-install",children:i("install")})]})]})},rc=({number:n,active:e,label:t})=>u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold transition-colors ${e?"bg-[var(--dash-accent)] text-white":"bg-[var(--dash-surface)] text-[var(--dash-text-muted)] border border-[var(--dash-border)]"}`,children:n}),u.jsx("span",{className:`text-sm font-medium ${e?"text-[var(--dash-text)]":"text-[var(--dash-text-muted)]"}`,children:t})]}),m8=({onSelect:n,selected:e})=>{const{t}=me();return u.jsxs("div",{className:"space-y-4",children:[u.jsx("p",{className:"text-[var(--dash-text-muted)]",children:e?`Selected: ${e===Kt.ENGINEER?t("kitEngineerName"):t("kitMarketingName")}`:"Please select a kit above"}),e&&u.jsxs("button",{type:"button",onClick:()=>n(e===Kt.ENGINEER?Kt.MARKETING:Kt.ENGINEER),className:"text-sm text-[var(--dash-accent)] hover:underline",children:["Switch to ",e===Kt.ENGINEER?t("kitMarketingName"):t("kitEngineerName")]})]})},g8=()=>u.jsx("div",{className:"text-[var(--dash-text-muted)]",children:"Configuration preview placeholder"}),b8=({installing:n})=>u.jsx("div",{className:"text-[var(--dash-text-muted)]",children:n?"Installing...":"Ready to install"}),y8=({kit:n,onGetStarted:e})=>{const{t}=me(),r=yn(),i=n===Kt.ENGINEER?"kitEngineerName":n===Kt.MARKETING?"kitMarketingName":"kitEngineerName";return u.jsxs("div",{className:"text-center py-12 space-y-6","data-testid":"success-screen",children:[u.jsx("div",{className:"w-16 h-16 mx-auto bg-green-100 rounded-full flex items-center justify-center",children:u.jsx("svg",{className:"w-10 h-10 text-green-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})}),u.jsx("h2",{className:"text-2xl font-bold text-[var(--dash-text)]",children:t("installSuccess")}),u.jsx("p",{className:"text-[var(--dash-text-muted)] max-w-md mx-auto",children:t("installSuccessDesc").replace("{kit}",t(i))}),u.jsxs("div",{className:"flex gap-4 justify-center pt-4",children:[u.jsx("button",{onClick:e,className:"px-6 py-2.5 text-sm font-medium text-white bg-[var(--dash-accent)] rounded-lg hover:opacity-90 transition-opacity","data-testid":"get-started-btn",children:t("getStarted")}),u.jsx("button",{onClick:()=>r("/"),className:"px-6 py-2.5 text-sm font-medium text-[var(--dash-text)] bg-[var(--dash-surface)] border border-[var(--dash-border)] rounded-lg hover:bg-[var(--dash-surface-hover)] transition-colors","data-testid":"dashboard-btn",children:t("goToDashboard")})]})]})},x8=[{id:"agents",name:"featureAgents",description:"featureAgentsDesc",engineer:!0,marketing:!0},{id:"hooks",name:"featureHooks",description:"featureHooksDesc",engineer:!0,marketing:!0},{id:"skills",name:"featureSkills",description:"featureSkillsDesc",engineer:!0,marketing:!0},{id:"multiagent",name:"featureMultiAgent",description:"featureMultiAgentDesc",engineer:!0,marketing:!1},{id:"content",name:"featureContent",description:"featureContentDesc",engineer:!1,marketing:!0},{id:"social",name:"featureSocial",description:"featureSocialDesc",engineer:!1,marketing:!0}],i1={engineer:{id:"engineer",name:"kitEngineerName",tagline:"kitEngineerTagline",primaryColor:"text-blue-500",features:["agents","hooks","skills","multiagent"]},marketing:{id:"marketing",name:"kitMarketingName",tagline:"kitMarketingTagline",primaryColor:"text-purple-500",features:["agents","hooks","skills","content","social"]}};function v8(n){const e=i1[n];return e?x8.filter(t=>e.features.includes(t.id)):(console.warn(`Unknown kit type: ${n}`),[])}const w8=({kit:n,selected:e,onSelect:t,features:r})=>{const{t:i}=me();return u.jsxs("button",{type:"button",onClick:t,className:`p-6 rounded-lg border-2 text-left transition-all w-full ${e?"border-[var(--dash-accent)] bg-[var(--dash-surface)] shadow-md":"border-[var(--dash-border)] hover:border-[var(--dash-accent)]/50"}`,children:[u.jsx("h3",{className:`text-xl font-bold ${n.primaryColor}`,children:i(n.name)}),u.jsx("p",{className:"text-[var(--dash-text-muted)] mt-1",children:i(n.tagline)}),u.jsx("div",{className:"mt-4 space-y-2",children:r.slice(0,3).map(s=>u.jsx(f8,{featureId:s.id,name:s.name,description:s.description,included:!0},s.id))})]})},k8=()=>{const{t:n}=me(),e=yn(),[t,r]=g.useState(null),[i,s]=g.useState(!1),[o,a]=g.useState(!1),[l,c]=g.useState(null),h=async()=>{if(t){s(!0),c(null);try{const f=await fetch("/api/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kit:t})});if(!f.ok)throw new Error(`Installation failed: ${f.statusText}`);a(!0)}catch(f){const p=f instanceof Error?f.message:"Unknown error occurred";c(p),console.error("Install failed:",f)}finally{s(!1)}}};if(o&&t)return u.jsx(y8,{kit:t,onGetStarted:()=>e("/")});const d=f=>f==="engineer"?Kt.ENGINEER:Kt.MARKETING;return u.jsxs("div",{className:"max-w-4xl mx-auto py-8 px-4",children:[u.jsxs("header",{className:"text-center mb-8",children:[u.jsx("h1",{className:"text-3xl font-bold text-[var(--dash-text)]",children:n("onboardingTitle")}),u.jsx("p",{className:"mt-2 text-[var(--dash-text-muted)]",children:n("onboardingSubtitle")})]}),u.jsx("section",{className:"grid md:grid-cols-2 gap-6 mb-8",children:Object.values(i1).map(f=>{const p=d(f.id);return u.jsx(w8,{kit:f,selected:t===p,onSelect:()=>r(p),features:v8(f.id)},f.id)})}),l&&u.jsxs("div",{className:"mb-6 p-4 rounded-lg bg-red-100 border border-red-300 text-red-800",children:[u.jsx("p",{className:"font-medium",children:"Installation Error"}),u.jsx("p",{className:"text-sm mt-1",children:l}),u.jsx("button",{type:"button",onClick:()=>c(null),className:"mt-2 text-sm underline hover:no-underline",children:"Dismiss"})]}),t&&u.jsx(p8,{selectedKit:t,onKitSelect:r,onInstall:h,installing:i})]})},S8=()=>{const{t:n}=me(),e=yn(),{projectId:t}=gm(),[r,i]=g.useState(null),{sizes:s,isDragging:o,startDrag:a}=Ab({storageKey:"claudekit-project-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),l=g.useCallback(async()=>{if(!t)throw new Error("No project ID");const[b,y,v]=await Promise.all([Zf("project",t),Zf("global"),jm()]),k=v.find(S=>S.id===t);return k&&i(k.path),{...b,global:y.config??{}}},[t]),c=g.useCallback(async b=>{t&&await Mb({scope:"project",projectId:t,config:b})},[t]),h=Pb({scope:"project",fetchConfig:l,fetchSchema:Nb,saveConfig:c}),d=g.useCallback(b=>{const y=cc(h.config,b),v=cc(h.globalConfig,b);return y!==void 0&&v!==void 0&&y!==v},[h.config,h.globalConfig]),f=g.useMemo(()=>[{id:"paths",title:n("sectionPaths"),fields:[{path:"paths.docs",label:n("fieldDocsPath"),description:n("fieldDocsPathDesc")},{path:"paths.plans",label:n("fieldPlansPath"),description:n("fieldPlansPathDesc")}]},{id:"project",title:n("sectionProject"),fields:[{path:"project.type",label:n("fieldProjectType"),description:n("fieldProjectTypeDesc")},{path:"project.packageManager",label:n("fieldPackageManager"),description:n("fieldPackageManagerDesc")},{path:"project.framework",label:n("fieldFramework"),description:n("fieldFrameworkDesc")}]},{id:"privacy",title:n("sectionPrivacy"),defaultCollapsed:!0,fields:[{path:"privacyBlock",label:n("fieldPrivacyBlock"),description:n("fieldPrivacyBlockDesc")}]},{id:"advanced",title:n("sectionAdvanced"),defaultCollapsed:!0,fields:[{path:"docs.maxLoc",label:n("fieldDocsMaxLoc"),description:n("fieldDocsMaxLocDesc")},{path:"plan.namingFormat",label:n("fieldPlanNamingFormat"),description:n("fieldPlanNamingFormatDesc")}]}],[n]),p=h.activeFieldPath&&d(h.activeFieldPath)?u.jsx("span",{className:"text-[9px] bg-orange-500/10 text-orange-500 px-1.5 py-0.5 rounded font-bold border border-orange-500/30",children:n("localOverride")}):null,m=h.fieldDoc?u.jsxs("section",{className:"bg-blue-500/5 p-3 rounded-lg border border-blue-500/20",children:[u.jsx("h4",{className:"text-[10px] font-bold text-blue-500 uppercase tracking-widest mb-1",children:n("inheritedFromGlobal")}),u.jsxs("p",{className:"text-[12px] text-dash-text-secondary leading-normal",children:[n("viewGlobalConfig")," ",u.jsx("button",{onClick:()=>e("/config/global"),className:"text-dash-accent hover:underline font-medium",children:n("globalConfig")})]})]}):null;return u.jsxs("div",{className:"animate-in fade-in duration-300 w-full h-full flex flex-col transition-colors",children:[u.jsx(Pm,{title:n("projectConfig"),filePath:r?`${r}/.claude/.ck.json`:".claude/.ck.json",onBack:()=>e(`/project/${t}`),onSave:h.handleSave,onReset:h.handleReset,saveStatus:h.saveStatus,syntaxError:h.syntaxError,showResetConfirm:h.showResetConfirm,setShowResetConfirm:h.setShowResetConfirm}),u.jsxs("div",{className:"flex-1 flex min-h-0",children:[u.jsx(Am,{width:s[0],isLoading:h.isLoading,schema:h.schema,config:h.config,sources:h.sources,sections:f,onChange:h.handleFormChange}),u.jsx(Di,{direction:"horizontal",isDragging:o,onMouseDown:b=>a(0,b)}),u.jsx(Sb,{width:s[1],isLoading:h.isLoading,jsonText:h.jsonText,cursorLine:h.cursorLine,syntaxError:h.syntaxError,onChange:h.handleJsonChange,onCursorLineChange:h.setCursorLine}),u.jsx(Di,{direction:"horizontal",isDragging:o,onMouseDown:b=>a(1,b)}),u.jsx(Cb,{width:s[2],fieldDoc:h.fieldDoc,activeFieldPath:h.activeFieldPath,overrideBadge:p,extraContent:m})]})]})},kt="__global__",C8=({project:n})=>{const{t:e}=me(),t=yn(),{skills:r,loading:i}=fv(),{sessions:s,loading:o}=pv(n.id),[a,l]=g.useState(null),[c,h]=g.useState(!0),[d,f]=g.useState(null),[p,m]=g.useState(kt),[b,y]=g.useState(kt),v=async(M,L)=>{try{await lv(M,n.path,L,n.id)}catch(W){alert(`${e("actionFailed")}: ${W instanceof Error?W.message:M}`)}},k=g.useCallback(()=>{const M=new AbortController;return h(!0),f(null),av(n.id,M.signal).then(L=>{l(L),m(L.preferences.project.terminalApp||kt),y(L.preferences.project.editorApp||kt)}).catch(L=>{L instanceof DOMException&&L.name==="AbortError"||(l(null),m(kt),y(kt),f(e("actionOptionsLoadFailed")))}).finally(()=>{M.signal.aborted||h(!1)}),M},[n.id,e]);g.useEffect(()=>{const M=k();return()=>{M.abort()}},[k]);const S=r.filter(M=>n.skills.includes(M.id)),O=a?.terminals||[],C=a?.editors||[],P=O.find(M=>M.id===a?.defaults.terminalApp)?.label||a?.defaults.terminalApp,x=C.find(M=>M.id===a?.defaults.editorApp)?.label||a?.defaults.editorApp,D=g.useMemo(()=>O.find(M=>p===kt?M.id===a?.defaults.terminalApp:M.id===p),[O,p,a?.defaults.terminalApp]),T=g.useMemo(()=>C.find(M=>b===kt?M.id===a?.defaults.editorApp:M.id===b),[C,b,a?.defaults.editorApp]),I=async(M,L)=>{if(!n.id.startsWith("discovered-"))try{await Om(n.id,{preferences:{[M]:L===kt?null:L}})}catch(W){const V=W instanceof Error?W.message:"Failed to save preference";alert(`${e("actionFailed")}: ${V}`)}};return u.jsxs("div",{className:"animate-in fade-in slide-in-from-bottom-2 duration-500 transition-colors flex flex-col h-full",children:[u.jsx("section",{className:"mb-6 shrink-0",children:u.jsxs("div",{className:"flex flex-col md:flex-row md:items-end justify-between gap-4",children:[u.jsxs("div",{children:[u.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[u.jsx("h1",{className:"text-3xl font-bold tracking-tight text-dash-text",children:n.name}),u.jsx(j8,{status:n.health}),u.jsx(bC,{variant:"beta"})]}),u.jsxs("p",{className:"text-dash-text-secondary mono text-sm flex items-center gap-2 italic",children:[u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:u.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})}),n.path]})]}),u.jsx("div",{className:"flex items-center gap-3",children:u.jsx("span",{className:"text-[10px] text-dash-text-muted font-bold uppercase tracking-widest bg-dash-surface border border-dash-border px-2 py-1 rounded",children:s.length>0?`${s.length} ${e("sessions")}`:e("noSessions")})})]})}),u.jsxs("section",{className:"grid grid-cols-2 md:grid-cols-4 gap-3 mb-6 shrink-0",children:[d?u.jsxs("div",{className:"col-span-2 md:col-span-4 rounded-lg border border-orange-500/30 bg-orange-500/5 px-3 py-2 text-xs text-orange-700 dark:text-orange-300 flex items-center justify-between gap-3",children:[u.jsx("span",{children:d}),u.jsx("button",{onClick:()=>void k(),className:"rounded border border-orange-500/40 px-2 py-1 font-semibold hover:bg-orange-500/10 transition-colors",children:e("tryAgain")})]}):null,u.jsx(zp,{icon:"📟",label:e("terminal"),sub:D?`${D.openMode==="open-app"?e("openAppOnly"):e("openAtPath")} • ${D.label}`:e("terminalSub"),onClick:()=>v("terminal",p===kt?void 0:p),disabled:c||!D&&O.length>0,options:O,value:p,fallbackLabel:a?`${e("useGlobalFallback")} (${P})`:e("useGlobalFallback"),onChange:async M=>{m(M),await I("terminalApp",M)}}),u.jsx(zp,{icon:"💻",label:e("editor"),sub:T?`${T.openMode==="open-app"?e("openAppOnly"):e("openAtPath")} • ${T.label}`:e("editorSub"),onClick:()=>v("editor",b===kt?void 0:b),disabled:c||!T&&C.length>0,options:C,value:b,fallbackLabel:a?`${e("useGlobalFallback")} (${x})`:e("useGlobalFallback"),onChange:async M=>{y(M),await I("editorApp",M)}}),u.jsx(ih,{icon:"🤖",label:e("launch"),sub:e("launchSub"),highlight:!0,onClick:()=>v("launch")}),u.jsx(ih,{icon:"⚙️",label:e("config"),sub:e("configSub"),onClick:()=>t(`/config/project/${n.id}`)})]}),u.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 flex-1 min-h-0",children:[u.jsx("div",{className:"lg:col-span-2 flex flex-col gap-6 min-h-0",children:u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl overflow-hidden shadow-sm flex-1 flex flex-col min-h-0",children:[u.jsx("div",{className:"px-4 py-3 border-b border-dash-border flex items-center justify-between bg-dash-surface-hover/50 shrink-0",children:u.jsx("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest",children:e("recentSessions")})}),u.jsx("div",{className:"divide-y divide-dash-border overflow-y-auto flex-1",children:o?u.jsx("div",{className:"p-4 text-center text-dash-text-muted animate-pulse",children:e("loadingSessions")}):s.length===0?u.jsx("div",{className:"p-4 text-center text-dash-text-muted",children:e("noSessionsFound")}):s.map(M=>u.jsxs("div",{className:"p-4 hover:bg-dash-surface-hover transition-colors group cursor-pointer",children:[u.jsxs("div",{className:"flex items-center justify-between mb-1",children:[u.jsx("span",{className:"text-xs font-bold text-dash-accent",children:M.timestamp}),u.jsx("span",{className:"text-[10px] text-dash-text-muted font-medium group-hover:text-dash-text-secondary transition-colors",children:M.duration})]}),u.jsx("p",{className:"text-sm text-dash-text-secondary leading-relaxed truncate",children:M.summary})]},M.id))})]})}),u.jsxs("div",{className:"flex flex-col gap-6 min-h-0",children:[u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl p-6 shadow-sm shrink-0",children:[u.jsxs("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest mb-4 flex items-center gap-2",children:[e("configuration"),u.jsx("span",{className:"text-[10px] font-normal text-dash-text-muted normal-case",children:e("globalSettings")})]}),u.jsxs("div",{className:"space-y-4",children:[u.jsx(Io,{label:e("activeKit"),value:n.kitType}),u.jsx(Io,{label:e("aiModel"),value:n.model}),u.jsx(Io,{label:e("hooks"),value:`${n.activeHooks} ${e("active")}`}),u.jsx(Io,{label:e("mcpServers"),value:`${n.mcpServers} ${e("connected")}`})]}),u.jsx("button",{onClick:()=>t(`/config/project/${n.id}`),className:"w-full mt-6 py-2 rounded-lg bg-dash-bg text-xs font-bold text-dash-text-secondary hover:bg-dash-surface-hover transition-colors border border-dash-border",children:e("editProjectConfig")})]}),u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl shadow-sm flex flex-col flex-1 min-h-0",children:[u.jsx("div",{className:"p-4 pb-2 border-b border-dash-border shrink-0",children:u.jsxs("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest flex items-center justify-between",children:[e("globalSkills"),u.jsx("span",{className:"text-[10px] bg-dash-accent-subtle text-dash-accent px-1.5 py-0.5 rounded-full",children:i?"...":r.length})]})}),u.jsx("div",{className:"overflow-y-auto flex-1 px-4 py-2 space-y-2",children:i?u.jsx("div",{className:"text-center text-dash-text-muted animate-pulse py-4",children:e("loadingSkills")}):(S.length>0?S:r).map(M=>u.jsxs("div",{className:"flex flex-col gap-0.5 border-l-2 border-dash-accent/20 pl-3 py-1",children:[u.jsx("span",{className:"text-sm font-semibold text-dash-text",children:M.name}),u.jsx("p",{className:"text-[10px] text-dash-text-muted leading-tight line-clamp-1",children:M.description||e("noDescription")})]},M.id))}),u.jsx("div",{className:"p-4 pt-2 border-t border-dash-border shrink-0",children:u.jsxs("a",{href:"https://kits.vibery.app/",target:"_blank",rel:"noopener noreferrer",className:"text-xs font-bold text-dash-text-muted hover:text-dash-accent transition-colors text-center block",children:[e("browseSkillsMarketplace")," →"]})})]})]})]})]})},j8=({status:n})=>{const e={[On.HEALTHY]:"bg-dash-accent-subtle text-dash-accent border-dash-accent/20",[On.WARNING]:"bg-orange-500/10 text-orange-600 border-orange-500/20",[On.ERROR]:"bg-red-500/10 text-red-600 border-red-500/20",[On.LOADING]:"bg-dash-border/20 text-dash-text-muted border-dash-border",[On.UNKNOWN]:"bg-dash-border/20 text-dash-text-muted border-dash-border"};return u.jsx("span",{className:`px-2 py-0.5 rounded-full text-[10px] font-bold border uppercase tracking-widest ${e[n]}`,children:n})},zp=({icon:n,label:e,sub:t,disabled:r,options:i,value:s,fallbackLabel:o,onClick:a,onChange:l})=>u.jsxs("div",{className:"flex flex-col gap-2",children:[u.jsx(ih,{icon:n,label:e,sub:t,onClick:a,disabled:r}),u.jsxs("select",{value:s,onChange:c=>void l(c.target.value),className:"w-full rounded-md border border-dash-border bg-dash-surface px-2 py-1 text-xs text-dash-text-secondary",children:[u.jsx("option",{value:kt,children:o}),i.map(c=>u.jsx("option",{value:c.id,disabled:!c.available,children:`${c.label} • ${c.detected?"Detected":"Not detected"}`},c.id))]})]}),ih=({icon:n,label:e,sub:t,highlight:r,onClick:i,disabled:s})=>u.jsxs("button",{onClick:i,disabled:s,className:`p-4 rounded-xl border flex flex-col gap-1 transition-all group ${r?"bg-dash-accent-subtle border-dash-accent/30 hover:bg-dash-accent-glow hover:border-dash-accent/50 shadow-sm shadow-dash-accent/5":"bg-dash-surface border-dash-border hover:bg-dash-surface-hover hover:border-dash-text-muted shadow-sm"} ${s?"opacity-50 cursor-not-allowed":""}`,children:[u.jsx("span",{className:"text-2xl mb-1 group-hover:scale-110 transition-transform",children:n}),u.jsx("span",{className:"text-sm font-bold text-dash-text",children:e}),u.jsx("span",{className:"text-[10px] text-dash-text-muted font-medium truncate italic",children:t})]}),Io=({label:n,value:e})=>u.jsxs("div",{className:"flex items-center justify-between text-xs py-1.5 border-b border-dash-border/50 last:border-0",children:[u.jsx("span",{className:"text-dash-text-muted font-medium",children:n}),u.jsx("span",{className:"text-dash-text font-bold mono uppercase text-[10px] tracking-tight",children:e})]}),O8=()=>{const{t:n}=me(),{project:e}=Uy();return e?u.jsx(C8,{project:e}):u.jsxs("div",{className:"flex flex-col items-center justify-center h-full space-y-4 opacity-50",children:[u.jsx("div",{className:"w-16 h-16 rounded-full bg-dash-surface border border-dash-border flex items-center justify-center",children:u.jsx("span",{className:"text-2xl text-dash-text-muted",children:"📂"})}),u.jsx("p",{className:"text-lg text-dash-text-secondary font-bold",children:n("selectProject")})]})},P8=Fx([{path:"/",element:u.jsx(bv,{}),children:[{index:!0,element:u.jsx(nl,{to:"/config/global",replace:!0})},{path:"config/global",element:u.jsx(EC,{})},{path:"config/project/:projectId",element:u.jsx(S8,{})},{path:"project/:projectId",element:u.jsx(O8,{})},{path:"onboarding",element:u.jsx(k8,{})},{path:"migrate",element:u.jsx(d8,{})},{path:"skills",element:u.jsx(nl,{to:"/migrate",replace:!0})},{path:"*",element:u.jsx(nl,{to:"/",replace:!0})}]}]),s1=document.getElementById("root");if(!s1)throw document.body.innerHTML='<div style="padding:20px;color:red;">Fatal: Root element not found</div>',new Error("Root element #root not found");ic.createRoot(s1).render(u.jsx(x1.StrictMode,{children:u.jsx(ev,{children:u.jsx(tv,{children:u.jsx(Jx,{router:P8})})})}));