claudekit-cli 3.35.0-dev.3 → 3.35.0-dev.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var a1=Object.defineProperty;var l1=(n,e,t)=>e in n?a1(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var du=(n,e,t)=>l1(n,typeof e!="symbol"?e+"":e,t);import{r as b,a as Rp,R as c1,b as h1}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 Lp={exports:{}},ya={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.min.js
|
|
4
4
|
*
|
|
@@ -6,7 +6,7 @@ var o1=Object.defineProperty;var a1=(n,e,t)=>e in n?o1(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
|
|
9
|
+
*/var u1=b,d1=Symbol.for("react.element"),f1=Symbol.for("react.fragment"),p1=Object.prototype.hasOwnProperty,m1=u1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,g1={key:!0,ref:!0,__self:!0,__source:!0};function Ip(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)p1.call(e,r)&&!g1.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:d1,type:n,key:s,ref:o,props:i,_owner:m1.current}}ya.Fragment=f1;ya.jsx=Ip;ya.jsxs=Ip;Lp.exports=ya;var u=Lp.exports,Xl={},fu=Rp;Xl.createRoot=fu.createRoot,Xl.hydrateRoot=fu.hydrateRoot;/**
|
|
10
10
|
* react-router v7.11.0
|
|
11
11
|
*
|
|
12
12
|
* Copyright (c) Remix Software Inc.
|
|
@@ -15,10 +15,10 @@ var o1=Object.defineProperty;var a1=(n,e,t)=>e in n?o1(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 Rp=n=>{throw TypeError(n)},g1=(n,e,t)=>e.has(n)||Rp("Cannot "+t),_a=(n,e,t)=>(g1(n,e,"read from private field"),t?t.call(n):e.get(n)),b1=(n,e,t)=>e.has(n)?Rp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),uu="popstate";function y1(n={}){function e(r,i){let{pathname:s,search:o,hash:a}=r.location;return xi("",{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:qt(i)}return v1(e,t,null,n)}function he(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function Te(n,e){if(!n){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function x1(){return Math.random().toString(36).substring(2,10)}function du(n,e){return{usr:n.state,key:n.key,idx:e}}function xi(n,e,t=null,r){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof e=="string"?En(e):e,state:t,key:e&&e.key||r||x1()}}function qt({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 En(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 v1(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:g.location,delta:v})}function f(y,v){a="PUSH";let k=xi(g.location,y,v);c=h()+1;let S=du(k,c),P=g.createHref(k);try{o.pushState(S,"",P)}catch(O){if(O instanceof DOMException&&O.name==="DataCloneError")throw O;i.location.assign(P)}s&&l&&l({action:a,location:g.location,delta:1})}function p(y,v){a="REPLACE";let k=xi(g.location,y,v);c=h();let S=du(k,c),P=g.createHref(k);o.replaceState(S,"",P),s&&l&&l({action:a,location:g.location,delta:0})}function m(y){return Lp(y)}let g={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(uu,d),l=y,()=>{i.removeEventListener(uu,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 g}function Lp(n,e=!1){let t="http://localhost";typeof window<"u"&&(t=window.location.origin!=="null"?window.location.origin:window.location.href),he(t,"No window.location.(origin|href) available to create URL");let r=typeof n=="string"?n:qt(n);return r=r.replace(/ $/,"%20"),!e&&r.startsWith("//")&&(r=t+r),new URL(r,t)}var ii,fu=class{constructor(n){if(b1(this,ii,new Map),n)for(let[e,t]of n)this.set(e,t)}get(n){if(_a(this,ii).has(n))return _a(this,ii).get(n);if(n.defaultValue!==void 0)return n.defaultValue;throw new Error("No value found for context")}set(n,e){_a(this,ii).set(n,e)}};ii=new WeakMap;var w1=new Set(["lazy","caseSensitive","path","id","index","children"]);function k1(n){return w1.has(n)}var S1=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function C1(n){return S1.has(n)}function O1(n){return n.index===!0}function vi(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(he(s.index!==!0||!s.children,"Cannot specify children on an index route"),he(i||!r[l],`Found a route id collision on id "${l}". Route id's must be globally unique within Data Router usages`),O1(s)){let c={...s,id:l};return r[l]=pu(c,e(c)),c}else{let c={...s,id:l,children:void 0};return r[l]=pu(c,e(c)),s.children&&(c.children=vi(s.children,e,a,r,i)),c}})}function pu(n,e){return Object.assign(n,{...e,...typeof e.lazy=="object"&&e.lazy!=null?{lazy:{...n.lazy,...e.lazy}}:{}})}function yn(n,e,t="/"){return si(n,e,t,!1)}function si(n,e,t,r){let i=typeof e=="string"?En(e):e,s=St(i.pathname||"/",t);if(s==null)return null;let o=Ip(n);P1(o);let a=null;for(let l=0;a==null&&l<o.length;++l){let c=$1(s);a=I1(o[l],c,r)}return a}function j1(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 Ip(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;he(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=Kt([r,h.relativePath]),f=t.concat(h);o.children&&o.children.length>0&&(he(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Ip(o.children,e,f,d,l)),!(o.path==null&&!o.index)&&e.push({path:d,score:R1(d,o.index),routesMeta:f})};return n.forEach((o,a)=>{if(o.path===""||!o.path?.includes("?"))s(o,a);else for(let l of Bp(o.path))s(o,a,!0,l)}),e}function Bp(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=Bp(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 P1(n){n.sort((e,t)=>e.score!==t.score?t.score-e.score:L1(e.routesMeta.map(r=>r.childrenIndex),t.routesMeta.map(r=>r.childrenIndex)))}var M1=/^:[\w-]+$/,A1=3,D1=2,T1=1,N1=10,E1=-2,mu=n=>n==="*";function R1(n,e){let t=n.split("/"),r=t.length;return t.some(mu)&&(r+=E1),e&&(r+=D1),t.filter(i=>!mu(i)).reduce((i,s)=>i+(M1.test(s)?A1:s===""?T1:N1),r)}function L1(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 I1(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=Ho({path:l.relativePath,caseSensitive:l.caseSensitive,end:c},h),f=l.route;if(!d&&c&&t&&!r[r.length-1].route.index&&(d=Ho({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},h)),!d)return null;Object.assign(i,d.params),o.push({params:i,pathname:Kt([s,d.pathname]),pathnameBase:z1(Kt([s,d.pathnameBase])),route:f}),d.pathnameBase!=="/"&&(s=Kt([s,d.pathnameBase]))}return o}function Ho(n,e){typeof n=="string"&&(n={path:n,caseSensitive:!1,end:!0});let[t,r]=B1(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 B1(n,e=!1,t=!0){Te(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 $1(n){try{return n.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return Te(!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 St(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 F1({basename:n,pathname:e}){return e==="/"?n:Kt([n,e])}var $p=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ba=n=>$p.test(n);function V1(n,e="/"){let{pathname:t,search:r="",hash:i=""}=typeof n=="string"?En(n):n,s;if(t)if(ba(t))s=t;else{if(t.includes("//")){let o=t;t=t.replace(/\/\/+/g,"/"),Te(!1,`Pathnames cannot have embedded double slashes - normalizing ${o} -> ${t}`)}t.startsWith("/")?s=gu(t.substring(1),"/"):s=gu(t,e)}else s=e;return{pathname:s,search:H1(r),hash:W1(i)}}function gu(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 Ua(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 Fp(n){return n.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function ya(n){let e=Fp(n);return e.map((t,r)=>r===e.length-1?t.pathname:t.pathnameBase)}function xa(n,e,t,r=!1){let i;typeof n=="string"?i=En(n):(i={...n},he(!i.pathname||!i.pathname.includes("?"),Ua("?","pathname","search",i)),he(!i.pathname||!i.pathname.includes("#"),Ua("#","pathname","hash",i)),he(!i.search||!i.search.includes("#"),Ua("#","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=V1(i,a),c=o&&o!=="/"&&o.endsWith("/"),h=(s||o===".")&&t.endsWith("/");return!l.pathname.endsWith("/")&&(c||h)&&(l.pathname+="/"),l}var Kt=n=>n.join("/").replace(/\/\/+/g,"/"),z1=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),H1=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,W1=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,Os=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 wi(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function js(n){return n.map(e=>e.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Vp=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function zp(n,e){let t=n;if(typeof t!="string"||!$p.test(t))return{absoluteURL:void 0,isExternal:!1,to:t};let r=t,i=!1;if(Vp)try{let s=new URL(window.location.href),o=t.startsWith("//")?new URL(s.protocol+t):new URL(t),a=St(o.pathname,e);o.origin===s.origin&&a!=null?t=a+o.search+o.hash:i=!0}catch{Te(!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 kn=Symbol("Uninstrumented");function _1(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=dr(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=dr(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[kn]??s,a=dr(t[i],o,(...l)=>bu(l[0]));a&&(a[kn]=o,r[i]=a)}}),e.middleware&&e.middleware.length>0&&t.middleware.length>0&&(r.middleware=e.middleware.map(i=>{let s=i[kn]??i,o=dr(t.middleware,s,(...a)=>bu(a[0]));return o?(o[kn]=s,o):i})),r}function U1(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[kn]??n.navigate,i=dr(t.navigate,r,(...s)=>{let[o,a]=s;return{to:typeof o=="number"||typeof o=="string"?o:o?qt(o):".",...yu(n,a??{})}});i&&(i[kn]=r,n.navigate=i)}if(t.fetch.length>0){let r=n.fetch[kn]??n.fetch,i=dr(t.fetch,r,(...s)=>{let[o,,a,l]=s;return{href:a??".",fetcherKey:o,...yu(n,l??{})}});i&&(i[kn]=r,n.fetch=i)}return n}function dr(n,e,t){return n.length===0?null:async(...r)=>{let i=await Hp(n,t(...r),()=>e(...r),n.length-1);if(i.type==="error")throw i.value;return i.value}}async function Hp(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=Hp(n,e,t,r-1),s=await o,he(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 bu(n){let{request:e,context:t,params:r,unstable_pattern:i}=n;return{request:K1(e),params:{...r},unstable_pattern:i,context:G1(t)}}function yu(n,e){return{currentUrl:qt(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 K1(n){return{method:n.method,url:n.url,headers:{get:(...e)=>n.headers.get(...e)}}}function G1(n){if(Y1(n)){let e={...n};return Object.freeze(e),e}else return{get:e=>n.get(e)}}var q1=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Y1(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")===q1}var Wp=["POST","PUT","PATCH","DELETE"],Q1=new Set(Wp),J1=["GET",...Wp],X1=new Set(J1),_p=new Set([301,302,303,307,308]),Z1=new Set([307,308]),Ka={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ey={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},qr={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},ty=n=>({hasErrorBoundary:!!n.hasErrorBoundary}),Up="remix-router-transitions",Kp=Symbol("ResetLoaderData");function ny(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";he(n.routes.length>0,"You must provide a non-empty routes array to createRouter");let r=n.hydrationRouteProperties||[],i=n.mapRouteProperties||ty,s=i;if(n.unstable_instrumentations){let w=n.unstable_instrumentations;s=C=>({...i(C),..._1(w.map(j=>j.route).filter(Boolean),C)})}let o={},a=vi(n.routes,s,void 0,o),l,c=n.basename||"/";c.startsWith("/")||(c=`/${c}`);let h=n.dataStrategy||ay,d={...n.future},f=null,p=new Set,m=null,g=null,y=null,v=n.hydrationData!=null,k=yn(a,n.history.location,c),S=!1,P=null,O;if(k==null&&!n.patchRoutesOnNavigation){let w=bt(404,{pathname:n.history.location.pathname}),{matches:C,route:j}=Qs(a);O=!0,k=C,P={[j.id]:w}}else if(k&&!n.hydrationData&&Us(k,a,n.history.location.pathname).active&&(k=null),k)if(k.some(w=>w.route.lazy))O=!1;else if(!k.some(w=>Qc(w.route)))O=!0;else{let w=n.hydrationData?n.hydrationData.loaderData:null,C=n.hydrationData?n.hydrationData.errors:null;if(C){let j=k.findIndex(L=>C[L.route.id]!==void 0);O=k.slice(0,j+1).every(L=>!Jl(L.route,w,C))}else O=k.every(j=>!Jl(j.route,w,C))}else{O=!1,k=[];let w=Us(null,a,n.history.location.pathname);w.active&&w.matches&&(S=!0,k=w.matches)}let M,x={historyAction:n.history.action,location:n.history.location,matches:k,initialized:O,navigation:Ka,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||P,fetchers:new Map,blockers:new Map},D="POP",T=null,I=!1,R,B=!1,U=new Map,q=null,F=!1,X=!1,ce=new Set,H=new Map,Y=0,$=-1,ne=new Map,Q=new Set,ae=new Map,me=new Map,we=new Set,nt=new Map,en,Bn=null;function $a(){if(f=n.history.listen(({action:w,location:C,delta:j})=>{if(en){en(),en=void 0;return}Te(nt.size===0||j!=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 L=iu({currentLocation:x.location,nextLocation:C,historyAction:w});if(L&&j!=null){let V=new Promise(ee=>{en=ee});n.history.go(j*-1),_s(L,{state:"blocked",location:C,proceed(){_s(L,{state:"proceeding",proceed:void 0,reset:void 0,location:C}),V.then(()=>n.history.go(j))},reset(){let ee=new Map(x.blockers);ee.set(L,qr),W({blockers:ee})}}),T?.resolve(),T=null;return}return Rt(w,C)}),t){Oy(e,U);let w=()=>jy(e,U);e.addEventListener("pagehide",w),q=()=>e.removeEventListener("pagehide",w)}return x.initialized||Rt("POP",x.location,{initialHydration:!0}),M}function Fa(){f&&f(),q&&q(),p.clear(),R&&R.abort(),x.fetchers.forEach((w,C)=>za(C)),x.blockers.forEach((w,C)=>ru(C))}function E(w){return p.add(w),()=>p.delete(w)}function W(w,C={}){w.matches&&(w.matches=w.matches.map(V=>{let ee=o[V.route.id],J=V.route;return J.element!==ee.element||J.errorElement!==ee.errorElement||J.hydrateFallbackElement!==ee.hydrateFallbackElement?{...V,route:ee}:V})),x={...x,...w};let j=[],L=[];x.fetchers.forEach((V,ee)=>{V.state==="idle"&&(we.has(ee)?j.push(ee):L.push(ee))}),we.forEach(V=>{!x.fetchers.has(V)&&!H.has(V)&&j.push(V)}),[...p].forEach(V=>V(x,{deletedFetchers:j,newErrors:w.errors??null,viewTransitionOpts:C.viewTransitionOpts,flushSync:C.flushSync===!0})),j.forEach(V=>za(V)),L.forEach(V=>x.fetchers.delete(V))}function fe(w,C,{flushSync:j}={}){let L=x.actionData!=null&&x.navigation.formMethod!=null&&qe(x.navigation.formMethod)&&x.navigation.state==="loading"&&w.state?._isRedirect!==!0,V;C.actionData?Object.keys(C.actionData).length>0?V=C.actionData:V=null:L?V=x.actionData:V=null;let ee=C.loaderData?Mu(x.loaderData,C.loaderData,C.matches||[],C.errors):x.loaderData,J=x.blockers;J.size>0&&(J=new Map(J),J.forEach((oe,re)=>J.set(re,qr)));let Z=F?!1:ou(w,C.matches||x.matches),te=I===!0||x.navigation.formMethod!=null&&qe(x.navigation.formMethod)&&w.state?._isRedirect!==!0;l&&(a=l,l=void 0),F||D==="POP"||(D==="PUSH"?n.history.push(w,w.state):D==="REPLACE"&&n.history.replace(w,w.state));let se;if(D==="POP"){let oe=U.get(x.location.pathname);oe&&oe.has(w.pathname)?se={currentLocation:x.location,nextLocation:w}:U.has(w.pathname)&&(se={currentLocation:w,nextLocation:x.location})}else if(B){let oe=U.get(x.location.pathname);oe?oe.add(w.pathname):(oe=new Set([w.pathname]),U.set(x.location.pathname,oe)),se={currentLocation:x.location,nextLocation:w}}W({...C,actionData:V,loaderData:ee,historyAction:D,location:w,initialized:!0,navigation:Ka,revalidation:"idle",restoreScrollPosition:Z,preventScrollReset:te,blockers:J},{viewTransitionOpts:se,flushSync:j===!0}),D="POP",I=!1,B=!1,F=!1,X=!1,T?.resolve(),T=null,Bn?.resolve(),Bn=null}async function Pe(w,C){if(T?.resolve(),T=null,typeof w=="number"){T||(T=Nu());let ye=T.promise;return n.history.go(w),ye}let j=Ql(x.location,x.matches,c,w,C?.fromRouteId,C?.relative),{path:L,submission:V,error:ee}=xu(!1,j,C),J=x.location,Z=xi(x.location,L,C&&C.state);Z={...Z,...n.history.encodeLocation(Z)};let te=C&&C.replace!=null?C.replace:void 0,se="PUSH";te===!0?se="REPLACE":te===!1||V!=null&&qe(V.formMethod)&&V.formAction===x.location.pathname+x.location.search&&(se="REPLACE");let oe=C&&"preventScrollReset"in C?C.preventScrollReset===!0:void 0,re=(C&&C.flushSync)===!0,be=iu({currentLocation:J,nextLocation:Z,historyAction:se});if(be){_s(be,{state:"blocked",location:Z,proceed(){_s(be,{state:"proceeding",proceed:void 0,reset:void 0,location:Z}),Pe(w,C)},reset(){let ye=new Map(x.blockers);ye.set(be,qr),W({blockers:ye})}});return}await Rt(se,Z,{submission:V,pendingError:ee,preventScrollReset:oe,replace:C&&C.replace,enableViewTransition:C&&C.viewTransition,flushSync:re,callSiteDefaultShouldRevalidate:C&&C.unstable_defaultShouldRevalidate})}function $n(){Bn||(Bn=Nu()),Va(),W({revalidation:"loading"});let w=Bn.promise;return x.navigation.state==="submitting"?w:x.navigation.state==="idle"?(Rt(x.historyAction,x.location,{startUninterruptedRevalidation:!0}),w):(Rt(D||x.historyAction,x.navigation.location,{overrideNavigation:x.navigation,enableViewTransition:B===!0}),w)}async function Rt(w,C,j){R&&R.abort(),R=null,D=w,F=(j&&j.startUninterruptedRevalidation)===!0,n1(x.location,x.matches),I=(j&&j.preventScrollReset)===!0,B=(j&&j.enableViewTransition)===!0;let L=l||a,V=j&&j.overrideNavigation,ee=j?.initialHydration&&x.matches&&x.matches.length>0&&!S?x.matches:yn(L,C,c),J=(j&&j.flushSync)===!0;if(ee&&x.initialized&&!X&&my(x.location,C)&&!(j&&j.submission&&qe(j.submission.formMethod))){fe(C,{matches:ee},{flushSync:J});return}let Z=Us(ee,L,C.pathname);if(Z.active&&Z.matches&&(ee=Z.matches),!ee){let{error:Ve,notFoundMatches:Xe,route:ke}=Ha(C.pathname);fe(C,{matches:Xe,loaderData:{},errors:{[ke.id]:Ve}},{flushSync:J});return}R=new AbortController;let te=cr(n.history,C,R.signal,j&&j.submission),se=n.getContext?await n.getContext():new fu,oe;if(j&&j.pendingError)oe=[xn(ee).route.id,{type:"error",error:j.pendingError}];else if(j&&j.submission&&qe(j.submission.formMethod)){let Ve=await Hs(te,C,j.submission,ee,se,Z.active,j&&j.initialHydration===!0,{replace:j.replace,flushSync:J});if(Ve.shortCircuited)return;if(Ve.pendingActionResult){let[Xe,ke]=Ve.pendingActionResult;if(dt(ke)&&wi(ke.error)&&ke.error.status===404){R=null,fe(C,{matches:Ve.matches,loaderData:{},errors:{[Xe]:ke.error}});return}}ee=Ve.matches||ee,oe=Ve.pendingActionResult,V=Ga(C,j.submission),J=!1,Z.active=!1,te=cr(n.history,te.url,te.signal)}let{shortCircuited:re,matches:be,loaderData:ye,errors:He}=await Ws(te,C,ee,se,Z.active,V,j&&j.submission,j&&j.fetcherSubmission,j&&j.replace,j&&j.initialHydration===!0,J,oe,j&&j.callSiteDefaultShouldRevalidate);re||(R=null,fe(C,{matches:be||ee,...Au(oe),loaderData:ye,errors:He}))}async function Hs(w,C,j,L,V,ee,J,Z={}){Va();let te=Sy(C,j);if(W({navigation:te},{flushSync:Z.flushSync===!0}),ee){let re=await Ks(L,C.pathname,w.signal);if(re.type==="aborted")return{shortCircuited:!0};if(re.type==="error"){if(re.partialMatches.length===0){let{matches:ye,route:He}=Qs(a);return{matches:ye,pendingActionResult:[He.id,{type:"error",error:re.error}]}}let be=xn(re.partialMatches).route.id;return{matches:re.partialMatches,pendingActionResult:[be,{type:"error",error:re.error}]}}else if(re.matches)L=re.matches;else{let{notFoundMatches:be,error:ye,route:He}=Ha(C.pathname);return{matches:be,pendingActionResult:[He.id,{type:"error",error:ye}]}}}let se,oe=Ao(L,C);if(!oe.route.action&&!oe.route.lazy)se={type:"error",error:bt(405,{method:w.method,pathname:C.pathname,routeId:oe.route.id})};else{let re=yr(s,o,w,L,oe,J?[]:r,V),be=await Ur(w,re,V,null);if(se=be[oe.route.id],!se){for(let ye of L)if(be[ye.route.id]){se=be[ye.route.id];break}}if(w.signal.aborted)return{shortCircuited:!0}}if(Gn(se)){let re;return Z&&Z.replace!=null?re=Z.replace:re=Ou(se.response.headers.get("Location"),new URL(w.url),c)===x.location.pathname+x.location.search,await Fn(w,se,!0,{submission:j,replace:re}),{shortCircuited:!0}}if(dt(se)){let re=xn(L,oe.route.id);return(Z&&Z.replace)!==!0&&(D="PUSH"),{matches:L,pendingActionResult:[re.route.id,se,oe.route.id]}}return{matches:L,pendingActionResult:[oe.route.id,se]}}async function Ws(w,C,j,L,V,ee,J,Z,te,se,oe,re,be){let ye=ee||Ga(C,J),He=J||Z||Tu(ye),Ve=!F&&!se;if(V){if(Ve){let Ge=Ie(re);W({navigation:ye,...Ge!==void 0?{actionData:Ge}:{}},{flushSync:oe})}let ge=await Ks(j,C.pathname,w.signal);if(ge.type==="aborted")return{shortCircuited:!0};if(ge.type==="error"){if(ge.partialMatches.length===0){let{matches:ar,route:Hn}=Qs(a);return{matches:ar,loaderData:{},errors:{[Hn.id]:ge.error}}}let Ge=xn(ge.partialMatches).route.id;return{matches:ge.partialMatches,loaderData:{},errors:{[Ge]:ge.error}}}else if(ge.matches)j=ge.matches;else{let{error:Ge,notFoundMatches:ar,route:Hn}=Ha(C.pathname);return{matches:ar,loaderData:{},errors:{[Hn.id]:Ge}}}}let Xe=l||a,{dsMatches:ke,revalidatingFetchers:gt}=vu(w,L,s,o,n.history,x,j,He,C,se?[]:r,se===!0,X,ce,we,ae,Q,Xe,c,n.patchRoutesOnNavigation!=null,re,be);if($=++Y,!n.dataStrategy&&!ke.some(ge=>ge.shouldLoad)&&!ke.some(ge=>ge.route.middleware&&ge.route.middleware.length>0)&>.length===0){let ge=tu();return fe(C,{matches:j,loaderData:{},errors:re&&dt(re[1])?{[re[0]]:re[1].error}:null,...Au(re),...ge?{fetchers:new Map(x.fetchers)}:{}},{flushSync:oe}),{shortCircuited:!0}}if(Ve){let ge={};if(!V){ge.navigation=ye;let Ge=Ie(re);Ge!==void 0&&(ge.actionData=Ge)}gt.length>0&&(ge.fetchers=qb(gt)),W(ge,{flushSync:oe})}gt.forEach(ge=>{rn(ge.key),ge.controller&&H.set(ge.key,ge.controller)});let Vn=()=>gt.forEach(ge=>rn(ge.key));R&&R.signal.addEventListener("abort",Vn);let{loaderResults:Kr,fetcherResults:pn}=await Xh(ke,gt,w,L);if(w.signal.aborted)return{shortCircuited:!0};R&&R.signal.removeEventListener("abort",Vn),gt.forEach(ge=>H.delete(ge.key));let Lt=Js(Kr);if(Lt)return await Fn(w,Lt.result,!0,{replace:te}),{shortCircuited:!0};if(Lt=Js(pn),Lt)return Q.add(Lt.key),await Fn(w,Lt.result,!0,{replace:te}),{shortCircuited:!0};let{loaderData:Wa,errors:Gr}=Pu(x,j,Kr,re,gt,pn);se&&x.errors&&(Gr={...x.errors,...Gr});let zn=tu(),Gs=nu($),qs=zn||Gs||gt.length>0;return{matches:j,loaderData:Wa,errors:Gr,...qs?{fetchers:new Map(x.fetchers)}:{}}}function Ie(w){if(w&&!dt(w[1]))return{[w[0]]:w[1].data};if(x.actionData)return Object.keys(x.actionData).length===0?null:x.actionData}function qb(w){return w.forEach(C=>{let j=x.fetchers.get(C.key),L=Yr(void 0,j?j.data:void 0);x.fetchers.set(C.key,L)}),new Map(x.fetchers)}async function Yb(w,C,j,L){rn(w);let V=(L&&L.flushSync)===!0,ee=l||a,J=Ql(x.location,x.matches,c,j,C,L?.relative),Z=yn(ee,J,c),te=Us(Z,ee,J);if(te.active&&te.matches&&(Z=te.matches),!Z){nn(w,C,bt(404,{pathname:J}),{flushSync:V});return}let{path:se,submission:oe,error:re}=xu(!0,J,L);if(re){nn(w,C,re,{flushSync:V});return}let be=n.getContext?await n.getContext():new fu,ye=(L&&L.preventScrollReset)===!0;if(oe&&qe(oe.formMethod)){await Qb(w,C,se,Z,be,te.active,V,ye,oe,L&&L.unstable_defaultShouldRevalidate);return}ae.set(w,{routeId:C,path:se}),await Jb(w,C,se,Z,be,te.active,V,ye,oe)}async function Qb(w,C,j,L,V,ee,J,Z,te,se){Va(),ae.delete(w);let oe=x.fetchers.get(w);tn(w,Cy(te,oe),{flushSync:J});let re=new AbortController,be=cr(n.history,j,re.signal,te);if(ee){let Ae=await Ks(L,new URL(be.url).pathname,be.signal,w);if(Ae.type==="aborted")return;if(Ae.type==="error"){nn(w,C,Ae.error,{flushSync:J});return}else if(Ae.matches)L=Ae.matches;else{nn(w,C,bt(404,{pathname:j}),{flushSync:J});return}}let ye=Ao(L,j);if(!ye.route.action&&!ye.route.lazy){let Ae=bt(405,{method:te.formMethod,pathname:j,routeId:C});nn(w,C,Ae,{flushSync:J});return}H.set(w,re);let He=Y,Ve=yr(s,o,be,L,ye,r,V),Xe=await Ur(be,Ve,V,w),ke=Xe[ye.route.id];if(!ke){for(let Ae of Ve)if(Xe[Ae.route.id]){ke=Xe[Ae.route.id];break}}if(be.signal.aborted){H.get(w)===re&&H.delete(w);return}if(we.has(w)){if(Gn(ke)||dt(ke)){tn(w,sn(void 0));return}}else{if(Gn(ke))if(H.delete(w),$>He){tn(w,sn(void 0));return}else return Q.add(w),tn(w,Yr(te)),Fn(be,ke,!1,{fetcherSubmission:te,preventScrollReset:Z});if(dt(ke)){nn(w,C,ke.error);return}}let gt=x.navigation.location||x.location,Vn=cr(n.history,gt,re.signal),Kr=l||a,pn=x.navigation.state!=="idle"?yn(Kr,x.navigation.location,c):x.matches;he(pn,"Didn't find any matches after fetcher action");let Lt=++Y;ne.set(w,Lt);let Wa=Yr(te,ke.data);x.fetchers.set(w,Wa);let{dsMatches:Gr,revalidatingFetchers:zn}=vu(Vn,V,s,o,n.history,x,pn,te,gt,r,!1,X,ce,we,ae,Q,Kr,c,n.patchRoutesOnNavigation!=null,[ye.route.id,ke],se);zn.filter(Ae=>Ae.key!==w).forEach(Ae=>{let Ys=Ae.key,lu=x.fetchers.get(Ys),s1=Yr(void 0,lu?lu.data:void 0);x.fetchers.set(Ys,s1),rn(Ys),Ae.controller&&H.set(Ys,Ae.controller)}),W({fetchers:new Map(x.fetchers)});let Gs=()=>zn.forEach(Ae=>rn(Ae.key));re.signal.addEventListener("abort",Gs);let{loaderResults:qs,fetcherResults:ge}=await Xh(Gr,zn,Vn,V);if(re.signal.aborted)return;if(re.signal.removeEventListener("abort",Gs),ne.delete(w),H.delete(w),zn.forEach(Ae=>H.delete(Ae.key)),x.fetchers.has(w)){let Ae=sn(ke.data);x.fetchers.set(w,Ae)}let Ge=Js(qs);if(Ge)return Fn(Vn,Ge.result,!1,{preventScrollReset:Z});if(Ge=Js(ge),Ge)return Q.add(Ge.key),Fn(Vn,Ge.result,!1,{preventScrollReset:Z});let{loaderData:ar,errors:Hn}=Pu(x,pn,qs,void 0,zn,ge);nu(Lt),x.navigation.state==="loading"&&Lt>$?(he(D,"Expected pending action"),R&&R.abort(),fe(x.navigation.location,{matches:pn,loaderData:ar,errors:Hn,fetchers:new Map(x.fetchers)})):(W({errors:Hn,loaderData:Mu(x.loaderData,ar,pn,Hn),fetchers:new Map(x.fetchers)}),X=!1)}async function Jb(w,C,j,L,V,ee,J,Z,te){let se=x.fetchers.get(w);tn(w,Yr(te,se?se.data:void 0),{flushSync:J});let oe=new AbortController,re=cr(n.history,j,oe.signal);if(ee){let ke=await Ks(L,new URL(re.url).pathname,re.signal,w);if(ke.type==="aborted")return;if(ke.type==="error"){nn(w,C,ke.error,{flushSync:J});return}else if(ke.matches)L=ke.matches;else{nn(w,C,bt(404,{pathname:j}),{flushSync:J});return}}let be=Ao(L,j);H.set(w,oe);let ye=Y,He=yr(s,o,re,L,be,r,V),Xe=(await Ur(re,He,V,w))[be.route.id];if(H.get(w)===oe&&H.delete(w),!re.signal.aborted){if(we.has(w)){tn(w,sn(void 0));return}if(Gn(Xe))if($>ye){tn(w,sn(void 0));return}else{Q.add(w),await Fn(re,Xe,!1,{preventScrollReset:Z});return}if(dt(Xe)){nn(w,C,Xe.error);return}tn(w,sn(Xe.data))}}async function Fn(w,C,j,{submission:L,fetcherSubmission:V,preventScrollReset:ee,replace:J}={}){j||(T?.resolve(),T=null),C.response.headers.has("X-Remix-Revalidate")&&(X=!0);let Z=C.response.headers.get("Location");he(Z,"Expected a Location header on the redirect Response"),Z=Ou(Z,new URL(w.url),c);let te=xi(x.location,Z,{_isRedirect:!0});if(t){let He=!1;if(C.response.headers.has("X-Remix-Reload-Document"))He=!0;else if(ba(Z)){const Ve=Lp(Z,!0);He=Ve.origin!==e.location.origin||St(Ve.pathname,c)==null}if(He){J?e.location.replace(Z):e.location.assign(Z);return}}R=null;let se=J===!0||C.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:oe,formAction:re,formEncType:be}=x.navigation;!L&&!V&&oe&&re&&be&&(L=Tu(x.navigation));let ye=L||V;if(Z1.has(C.response.status)&&ye&&qe(ye.formMethod))await Rt(se,te,{submission:{...ye,formAction:Z},preventScrollReset:ee||I,enableViewTransition:j?B:void 0});else{let He=Ga(te,L);await Rt(se,te,{overrideNavigation:He,fetcherSubmission:V,preventScrollReset:ee||I,enableViewTransition:j?B:void 0})}}async function Ur(w,C,j,L){let V,ee={};try{V=await cy(h,w,C,L,j,!1)}catch(J){return C.filter(Z=>Z.shouldLoad).forEach(Z=>{ee[Z.route.id]={type:"error",error:J}}),ee}if(w.signal.aborted)return ee;if(!qe(w.method))for(let J of C){if(V[J.route.id]?.type==="error")break;!V.hasOwnProperty(J.route.id)&&!x.loaderData.hasOwnProperty(J.route.id)&&(!x.errors||!x.errors.hasOwnProperty(J.route.id))&&J.shouldCallHandler()&&(V[J.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${J.route.id}`)})}for(let[J,Z]of Object.entries(V))if(xy(Z)){let te=Z.result;ee[J]={type:"redirect",response:fy(te,w,J,C,c)}}else ee[J]=await dy(Z);return ee}async function Xh(w,C,j,L){let V=Ur(j,w,L,null),ee=Promise.all(C.map(async te=>{if(te.matches&&te.match&&te.request&&te.controller){let oe=(await Ur(te.request,te.matches,L,te.key))[te.match.route.id];return{[te.key]:oe}}else return Promise.resolve({[te.key]:{type:"error",error:bt(404,{pathname:te.path})}})})),J=await V,Z=(await ee).reduce((te,se)=>Object.assign(te,se),{});return{loaderResults:J,fetcherResults:Z}}function Va(){X=!0,ae.forEach((w,C)=>{H.has(C)&&ce.add(C),rn(C)})}function tn(w,C,j={}){x.fetchers.set(w,C),W({fetchers:new Map(x.fetchers)},{flushSync:(j&&j.flushSync)===!0})}function nn(w,C,j,L={}){let V=xn(x.matches,C);za(w),W({errors:{[V.route.id]:j},fetchers:new Map(x.fetchers)},{flushSync:(L&&L.flushSync)===!0})}function Zh(w){return me.set(w,(me.get(w)||0)+1),we.has(w)&&we.delete(w),x.fetchers.get(w)||ey}function Xb(w,C){rn(w,C?.reason),tn(w,sn(null))}function za(w){let C=x.fetchers.get(w);H.has(w)&&!(C&&C.state==="loading"&&ne.has(w))&&rn(w),ae.delete(w),ne.delete(w),Q.delete(w),we.delete(w),ce.delete(w),x.fetchers.delete(w)}function Zb(w){let C=(me.get(w)||0)-1;C<=0?(me.delete(w),we.add(w)):me.set(w,C),W({fetchers:new Map(x.fetchers)})}function rn(w,C){let j=H.get(w);j&&(j.abort(C),H.delete(w))}function eu(w){for(let C of w){let j=Zh(C),L=sn(j.data);x.fetchers.set(C,L)}}function tu(){let w=[],C=!1;for(let j of Q){let L=x.fetchers.get(j);he(L,`Expected fetcher: ${j}`),L.state==="loading"&&(Q.delete(j),w.push(j),C=!0)}return eu(w),C}function nu(w){let C=[];for(let[j,L]of ne)if(L<w){let V=x.fetchers.get(j);he(V,`Expected fetcher: ${j}`),V.state==="loading"&&(rn(j),ne.delete(j),C.push(j))}return eu(C),C.length>0}function e1(w,C){let j=x.blockers.get(w)||qr;return nt.get(w)!==C&&nt.set(w,C),j}function ru(w){x.blockers.delete(w),nt.delete(w)}function _s(w,C){let j=x.blockers.get(w)||qr;he(j.state==="unblocked"&&C.state==="blocked"||j.state==="blocked"&&C.state==="blocked"||j.state==="blocked"&&C.state==="proceeding"||j.state==="blocked"&&C.state==="unblocked"||j.state==="proceeding"&&C.state==="unblocked",`Invalid blocker state transition: ${j.state} -> ${C.state}`);let L=new Map(x.blockers);L.set(w,C),W({blockers:L})}function iu({currentLocation:w,nextLocation:C,historyAction:j}){if(nt.size===0)return;nt.size>1&&Te(!1,"A router only supports one blocker at a time");let L=Array.from(nt.entries()),[V,ee]=L[L.length-1],J=x.blockers.get(V);if(!(J&&J.state==="proceeding")&&ee({currentLocation:w,nextLocation:C,historyAction:j}))return V}function Ha(w){let C=bt(404,{pathname:w}),j=l||a,{matches:L,route:V}=Qs(j);return{notFoundMatches:L,route:V,error:C}}function t1(w,C,j){if(m=w,y=C,g=j||null,!v&&x.navigation===Ka){v=!0;let L=ou(x.location,x.matches);L!=null&&W({restoreScrollPosition:L})}return()=>{m=null,y=null,g=null}}function su(w,C){return g&&g(w,C.map(L=>j1(L,x.loaderData)))||w.key}function n1(w,C){if(m&&y){let j=su(w,C);m[j]=y()}}function ou(w,C){if(m){let j=su(w,C),L=m[j];if(typeof L=="number")return L}return null}function Us(w,C,j){if(n.patchRoutesOnNavigation)if(w){if(Object.keys(w[0].params).length>0)return{active:!0,matches:si(C,j,c,!0)}}else return{active:!0,matches:si(C,j,c,!0)||[]};return{active:!1,matches:null}}async function Ks(w,C,j,L){if(!n.patchRoutesOnNavigation)return{type:"success",matches:w};let V=w;for(;;){let ee=l==null,J=l||a,Z=o;try{await n.patchRoutesOnNavigation({signal:j,path:C,matches:V,fetcherKey:L,patch:(oe,re)=>{j.aborted||wu(oe,re,J,Z,s,!1)}})}catch(oe){return{type:"error",error:oe,partialMatches:V}}finally{ee&&!j.aborted&&(a=[...a])}if(j.aborted)return{type:"aborted"};let te=yn(J,C,c),se=null;if(te){if(Object.keys(te[0].params).length===0)return{type:"success",matches:te};if(se=si(J,C,c,!0),!(se&&V.length<se.length&&au(V,se.slice(0,V.length))))return{type:"success",matches:te}}if(se||(se=si(J,C,c,!0)),!se||au(V,se))return{type:"success",matches:null};V=se}}function au(w,C){return w.length===C.length&&w.every((j,L)=>j.route.id===C[L].route.id)}function r1(w){o={},l=vi(w,s,void 0,o)}function i1(w,C,j=!1){let L=l==null;wu(w,C,l||a,o,s,j),L&&(a=[...a],W({}))}return M={get basename(){return c},get future(){return d},get state(){return x},get routes(){return a},get window(){return e},initialize:$a,subscribe:E,enableScrollRestoration:t1,navigate:Pe,fetch:Yb,revalidate:$n,createHref:w=>n.history.createHref(w),encodeLocation:w=>n.history.encodeLocation(w),getFetcher:Zh,resetFetcher:Xb,deleteFetcher:Zb,dispose:Fa,getBlocker:e1,deleteBlocker:ru,patchRoutes:i1,_internalFetchControllers:H,_internalSetRoutes:r1,_internalSetStateDoNotUseOrYouWillBreakYourApp(w){W(w)}},n.unstable_instrumentations&&(M=U1(M,n.unstable_instrumentations.map(w=>w.router).filter(Boolean))),M}function ry(n){return n!=null&&("formData"in n&&n.formData!=null||"body"in n&&n.body!==void 0)}function Ql(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=xa(r||".",ya(o),St(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=Xc(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=F1({basename:t,pathname:l.pathname})),qt(l)}function xu(n,e,t){if(!t||!ry(t))return{path:e};if(t.formMethod&&!ky(t.formMethod))return{path:e,error:bt(405,{method:t.formMethod})};let r=()=>({path:e,error:bt(400,{type:"invalid-body"})}),s=(t.formMethod||"get").toUpperCase(),o=Xp(e);if(t.body!==void 0){if(t.formEncType==="text/plain"){if(!qe(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(!qe(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()}}}he(typeof FormData=="function","FormData is not available in this environment");let a,l;if(t.formData)a=Zl(t.formData),l=t.formData;else if(t.body instanceof FormData)a=Zl(t.body),l=t.body;else if(t.body instanceof URLSearchParams)a=t.body,l=ju(a);else if(t.body==null)a=new URLSearchParams,l=new FormData;else try{a=new URLSearchParams(t.body),l=ju(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(qe(c.formMethod))return{path:e,submission:c};let h=En(e);return n&&h.search&&Xc(h.search)&&a.append("index",""),h.search=`?${a}`,{path:qt(h),submission:c}}function vu(n,e,t,r,i,s,o,a,l,c,h,d,f,p,m,g,y,v,k,S,P){let O=S?dt(S[1])?S[1].error:S[1].data:void 0,M=i.createURL(s.location),x=i.createURL(l),D;if(h&&s.errors){let F=Object.keys(s.errors)[0];D=o.findIndex(X=>X.route.id===F)}else if(S&&dt(S[1])){let F=S[0];D=o.findIndex(X=>X.route.id===F)-1}let T=S?S[1].statusCode:void 0,I=T&&T>=400,R={currentUrl:M,currentParams:s.matches[0]?.params||{},nextUrl:x,nextParams:o[0].params,...a,actionResult:O,actionStatus:T},B=js(o),U=o.map((F,X)=>{let{route:ce}=F,H=null;if(D!=null&&X>D?H=!1:ce.lazy?H=!0:Qc(ce)?h?H=Jl(ce,s.loaderData,s.errors):iy(s.loaderData,s.matches[X],F)&&(H=!0):H=!1,H!==null)return Xl(t,r,n,B,F,c,e,H);let Y=!1;typeof P=="boolean"?Y=P:I?Y=!1:(d||M.pathname+M.search===x.pathname+x.search||M.search!==x.search||sy(s.matches[X],F))&&(Y=!0);let $={...R,defaultShouldRevalidate:Y},ne=hi(F,$);return Xl(t,r,n,B,F,c,e,ne,$,P)}),q=[];return m.forEach((F,X)=>{if(h||!o.some(me=>me.route.id===F.routeId)||p.has(X))return;let ce=s.fetchers.get(X),H=ce&&ce.state!=="idle"&&ce.data===void 0,Y=yn(y,F.path,v);if(!Y){if(k&&H)return;q.push({key:X,routeId:F.routeId,path:F.path,matches:null,match:null,request:null,controller:null});return}if(g.has(X))return;let $=Ao(Y,F.path),ne=new AbortController,Q=cr(i,F.path,ne.signal),ae=null;if(f.has(X))f.delete(X),ae=yr(t,r,Q,Y,$,c,e);else if(H)d&&(ae=yr(t,r,Q,Y,$,c,e));else{let me;typeof P=="boolean"?me=P:I?me=!1:me=d;let we={...R,defaultShouldRevalidate:me};hi($,we)&&(ae=yr(t,r,Q,Y,$,c,e,we))}ae&&q.push({key:X,routeId:F.routeId,path:F.path,matches:ae,match:$,request:Q,controller:ne})}),{dsMatches:U,revalidatingFetchers:q}}function Qc(n){return n.loader!=null||n.middleware!=null&&n.middleware.length>0}function Jl(n,e,t){if(n.lazy)return!0;if(!Qc(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 iy(n,e,t){let r=!e||t.route.id!==e.route.id,i=!n.hasOwnProperty(t.route.id);return r||i}function sy(n,e){let t=n.route.path;return n.pathname!==e.pathname||t!=null&&t.endsWith("*")&&n.params["*"]!==e.params["*"]}function hi(n,e){if(n.route.shouldRevalidate){let t=n.route.shouldRevalidate(e);if(typeof t=="boolean")return t}return e.defaultShouldRevalidate}function wu(n,e,t,r,i,s){let o;if(n){let c=r[n];he(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=>Gp(c,d));h?l.push({existingRoute:h,newRoute:c}):a.push(c)}),a.length>0){let c=vi(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]=vi([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 Gp(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=>Gp(t,i))):!1}var ku=new WeakMap,qp=({key:n,route:e,manifest:t,mapRouteProperties:r})=>{let i=t[e.id];if(he(i,"No route found in manifest"),!i.lazy||typeof i.lazy!="object")return;let s=i.lazy[n];if(!s)return;let o=ku.get(i);o||(o={},ku.set(i,o));let a=o[n];if(a)return a;let l=(async()=>{let c=k1(n),d=i[n]!==void 0&&n!=="hasErrorBoundary";if(c)Te(!c,"Route property "+n+" is not a supported lazy route property. This property will be ignored."),o[n]=Promise.resolve();else if(d)Te(!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},Su=new WeakMap;function oy(n,e,t,r,i){let s=t[n.id];if(he(s,"No route found in manifest"),!n.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof n.lazy=="function"){let h=Su.get(s);if(h)return{lazyRoutePromise:h,lazyHandlerPromise:h};let d=(async()=>{he(typeof n.lazy=="function","No lazy route function found");let f=await n.lazy(),p={};for(let m in f){let g=f[m];if(g===void 0)continue;let y=C1(m),k=s[m]!==void 0&&m!=="hasErrorBoundary";y?Te(!y,"Route property "+m+" is not a supported property to be returned from a lazy route function. This property will be ignored."):k?Te(!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]=g}Object.assign(s,p),Object.assign(s,{...r(s),lazy:void 0})})();return Su.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=qp({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 Cu(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 ay(n){return n.matches.some(e=>e.route.middleware)?Yp(n,()=>Cu(n)):Cu(n)}function Yp(n,e){return ly(n,e,r=>{if(wy(r))throw r;return r},by,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=xn(o,o[a].route.id).route.id;return Promise.resolve({[l]:{type:"error",result:r}})}}}async function ly(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 Qp({request:o,params:a,context:l,unstable_pattern:c},h,e,t,r,i)}async function Qp(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 Qp(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 Jp(n,e,t,r,i){let s=qp({key:"middleware",route:r.route,manifest:e,mapRouteProperties:n}),o=oy(r.route,qe(t.method)?"action":"loader",e,n,i);return{middleware:s,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function Xl(n,e,t,r,i,s,o,a,l=null,c){let h=!1,d=Jp(n,e,t,i,s);return{...i,_lazyPromises:d,shouldLoad:a,shouldRevalidateArgs:l,shouldCallHandler(f){return h=!0,l?typeof c=="boolean"?hi(i,{...l,defaultShouldRevalidate:c}):typeof f=="boolean"?hi(i,{...l,defaultShouldRevalidate:f}):hi(i,l):a},resolve(f){let{lazy:p,loader:m,middleware:g}=i.route,y=h||a||f&&!qe(t.method)&&(p||m),v=g&&g.length>0&&!m&&!p;return y&&(qe(t.method)||!v)?hy({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 yr(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:Jp(n,e,t,l,s),resolve:()=>Promise.resolve({type:"data",result:void 0})}:Xl(n,e,t,js(r),l,s,o,!0,a))}async function cy(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:js(t),params:t[0].params,context:i,matches:t},l=await n({...o,fetcherKey:r,runClientMiddleware:c=>{let h=o;return Yp(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 hy({request:n,unstable_pattern:e,match:t,lazyHandlerPromise:r,lazyRoutePromise:i,handlerOverride:s,scopedContext:o}){let a,l,c=qe(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 g=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=>g(k)):g())}}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(g=>{p=g}),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),g=m.pathname+m.search;throw bt(405,{method:n.method,pathname:g,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 bt(404,{pathname:m})}}catch(f){return{type:"error",result:f}}finally{l&&n.signal.removeEventListener("abort",l)}return a}async function uy(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 dy(n){let{result:e,type:t}=n;if(Jc(e)){let r;try{r=await uy(e)}catch(i){return{type:"error",error:i}}return t==="error"?{type:"error",error:new Os(e.status,e.statusText,r),statusCode:e.status,headers:e.headers}:{type:"data",data:r,statusCode:e.status,headers:e.headers}}return t==="error"?Du(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:gy(e),statusCode:wi(e)?e.status:void 0,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:e,statusCode:wi(e)?e.status:void 0}:Du(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 fy(n,e,t,r,i){let s=n.headers.get("Location");if(he(s,"Redirects returned/thrown from loaders/actions must have a Location header"),!ba(s)){let o=r.slice(0,r.findIndex(a=>a.route.id===t)+1);s=Ql(new URL(e.url),o,i,s),n.headers.set("Location",s)}return n}function Ou(n,e,t){if(ba(n)){let r=n,i=r.startsWith("//")?new URL(e.protocol+r):new URL(r),s=St(i.pathname,t)!=null;if(i.origin===e.origin&&s)return i.pathname+i.search+i.hash}return n}function cr(n,e,t,r){let i=n.createURL(Xp(e)).toString(),s={signal:t};if(r&&qe(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=Zl(r.formData):s.body=r.formData}return new Request(i,s)}function Zl(n){let e=new URLSearchParams;for(let[t,r]of n.entries())e.append(t,typeof r=="string"?r:r.name);return e}function ju(n){let e=new FormData;for(let[t,r]of n.entries())e.append(t,r);return e}function py(n,e,t,r=!1,i=!1){let s={},o=null,a,l=!1,c={},h=t&&dt(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(he(!Gn(p),"Cannot handle redirect results in processLoaderData"),dt(p)){let m=p.error;if(h!==void 0&&(m=h,h=void 0),o=o||{},i)o[f]=m;else{let g=xn(n,f);o[g.route.id]==null&&(o[g.route.id]=m)}r||(s[f]=Kp),l||(l=!0,a=wi(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 Pu(n,e,t,r,i,s){let{loaderData:o,errors:a}=py(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(he(f,"Did not find corresponding fetcher result"),dt(f)){let p=xn(n.matches,h?.route.id);a&&a[p.route.id]||(a={...a,[p.route.id]:f.error}),n.fetchers.delete(c)}else if(Gn(f))he(!1,"Unhandled fetcher revalidation redirect");else{let p=sn(f.data);n.fetchers.set(c,p)}}),{loaderData:o,errors:a}}function Mu(n,e,t,r){let i=Object.entries(e).filter(([,s])=>s!==Kp).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 Au(n){return n?dt(n[1])?{actionData:{}}:{actionData:{[n[0]]:n[1].data}}:{}}function xn(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 Qs(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 bt(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 Os(n||500,o,new Error(a),!0)}function Js(n){let e=Object.entries(n);for(let t=e.length-1;t>=0;t--){let[r,i]=e[t];if(Gn(i))return{key:r,result:i}}}function Xp(n){let e=typeof n=="string"?En(n):n;return qt({...e,hash:""})}function my(n,e){return n.pathname!==e.pathname||n.search!==e.search?!1:n.hash===""?e.hash!=="":n.hash===e.hash?!0:e.hash!==""}function gy(n){return new Os(n.init?.status??500,n.init?.statusText??"Internal Server Error",n.data)}function by(n){return n!=null&&typeof n=="object"&&Object.entries(n).every(([e,t])=>typeof e=="string"&&yy(t))}function yy(n){return n!=null&&typeof n=="object"&&"type"in n&&"result"in n&&(n.type==="data"||n.type==="error")}function xy(n){return Jc(n.result)&&_p.has(n.result.status)}function dt(n){return n.type==="error"}function Gn(n){return(n&&n.type)==="redirect"}function Du(n){return typeof n=="object"&&n!=null&&"type"in n&&"data"in n&&"init"in n&&n.type==="DataWithResponseInit"}function Jc(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.headers=="object"&&typeof n.body<"u"}function vy(n){return _p.has(n)}function wy(n){return Jc(n)&&vy(n.status)&&n.headers.has("Location")}function ky(n){return X1.has(n.toUpperCase())}function qe(n){return Q1.has(n.toUpperCase())}function Xc(n){return new URLSearchParams(n).getAll("index").some(e=>e==="")}function Ao(n,e){let t=typeof e=="string"?En(e).search:e.search;if(n[n.length-1].route.index&&Xc(t||""))return n[n.length-1];let r=Fp(n);return r[r.length-1]}function Tu(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 Ga(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 Sy(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 Yr(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 Cy(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 sn(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 Oy(n,e){try{let t=n.sessionStorage.getItem(Up);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 jy(n,e){if(e.size>0){let t={};for(let[r,i]of e)t[r]=[...i];try{n.sessionStorage.setItem(Up,JSON.stringify(t))}catch(r){Te(!1,`Failed to save applied view transitions in sessionStorage (${r}).`)}}}function Nu(){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 rr=b.createContext(null);rr.displayName="DataRouter";var Ps=b.createContext(null);Ps.displayName="DataRouterState";var Zp=b.createContext(!1);function Py(){return b.useContext(Zp)}var Zc=b.createContext({isTransitioning:!1});Zc.displayName="ViewTransition";var em=b.createContext(new Map);em.displayName="Fetchers";var My=b.createContext(null);My.displayName="Await";var pt=b.createContext(null);pt.displayName="Navigation";var va=b.createContext(null);va.displayName="Location";var Ot=b.createContext({outlet:null,matches:[],isDataRoute:!1});Ot.displayName="Route";var eh=b.createContext(null);eh.displayName="RouteError";var tm="REACT_ROUTER_ERROR",Ay="REDIRECT",Dy="ROUTE_ERROR_RESPONSE";function Ty(n){if(n.startsWith(`${tm}:${Ay}:{`))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 Ny(n){if(n.startsWith(`${tm}:${Dy}:{`))try{let e=JSON.parse(n.slice(40));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string")return new Os(e.status,e.statusText,e.data)}catch{}}function Ey(n,{relative:e}={}){he(Rr(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:r}=b.useContext(pt),{hash:i,pathname:s,search:o}=Ms(n,{relative:e}),a=s;return t!=="/"&&(a=s==="/"?t:Kt([t,s])),r.createHref({pathname:a,search:o,hash:i})}function Rr(){return b.useContext(va)!=null}function Yt(){return he(Rr(),"useLocation() may be used only in the context of a <Router> component."),b.useContext(va).location}var nm="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function rm(n){b.useContext(pt).static||b.useLayoutEffect(n)}function fn(){let{isDataRoute:n}=b.useContext(Ot);return n?qy():Ry()}function Ry(){he(Rr(),"useNavigate() may be used only in the context of a <Router> component.");let n=b.useContext(rr),{basename:e,navigator:t}=b.useContext(pt),{matches:r}=b.useContext(Ot),{pathname:i}=Yt(),s=JSON.stringify(ya(r)),o=b.useRef(!1);return rm(()=>{o.current=!0}),b.useCallback((l,c={})=>{if(Te(o.current,nm),!o.current)return;if(typeof l=="number"){t.go(l);return}let h=xa(l,JSON.parse(s),i,c.relative==="path");n==null&&e!=="/"&&(h.pathname=h.pathname==="/"?e:Kt([e,h.pathname])),(c.replace?t.replace:t.push)(h,c.state,c)},[e,t,s,i,n])}var im=b.createContext(null);function Ly(){return b.useContext(im)}function Iy(n){let e=b.useContext(Ot).outlet;return b.useMemo(()=>e&&b.createElement(im.Provider,{value:n},e),[e,n])}function sm(){let{matches:n}=b.useContext(Ot),e=n[n.length-1];return e?e.params:{}}function Ms(n,{relative:e}={}){let{matches:t}=b.useContext(Ot),{pathname:r}=Yt(),i=JSON.stringify(ya(t));return b.useMemo(()=>xa(n,JSON.parse(i),r,e==="path"),[n,i,r,e])}function By(n,e,t,r,i){he(Rr(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:s}=b.useContext(pt),{matches:o}=b.useContext(Ot),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||"";am(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 Bp=n=>{throw TypeError(n)},b1=(n,e,t)=>e.has(n)||Bp("Cannot "+t),Ga=(n,e,t)=>(b1(n,e,"read from private field"),t?t.call(n):e.get(n)),y1=(n,e,t)=>e.has(n)?Bp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),pu="popstate";function x1(n={}){function e(r,i){let{pathname:s,search:o,hash:a}=r.location;return wi("",{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:Yt(i)}return w1(e,t,null,n)}function he(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function Te(n,e){if(!n){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function v1(){return Math.random().toString(36).substring(2,10)}function mu(n,e){return{usr:n.state,key:n.key,idx:e}}function wi(n,e,t=null,r){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof e=="string"?Rn(e):e,state:t,key:e&&e.key||r||v1()}}function Yt({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 Rn(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 w1(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:g.location,delta:v})}function f(y,v){a="PUSH";let k=wi(g.location,y,v);c=h()+1;let S=mu(k,c),P=g.createHref(k);try{o.pushState(S,"",P)}catch(O){if(O instanceof DOMException&&O.name==="DataCloneError")throw O;i.location.assign(P)}s&&l&&l({action:a,location:g.location,delta:1})}function p(y,v){a="REPLACE";let k=wi(g.location,y,v);c=h();let S=mu(k,c),P=g.createHref(k);o.replaceState(S,"",P),s&&l&&l({action:a,location:g.location,delta:0})}function m(y){return $p(y)}let g={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(pu,d),l=y,()=>{i.removeEventListener(pu,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 g}function $p(n,e=!1){let t="http://localhost";typeof window<"u"&&(t=window.location.origin!=="null"?window.location.origin:window.location.href),he(t,"No window.location.(origin|href) available to create URL");let r=typeof n=="string"?n:Yt(n);return r=r.replace(/ $/,"%20"),!e&&r.startsWith("//")&&(r=t+r),new URL(r,t)}var oi,gu=class{constructor(n){if(y1(this,oi,new Map),n)for(let[e,t]of n)this.set(e,t)}get(n){if(Ga(this,oi).has(n))return Ga(this,oi).get(n);if(n.defaultValue!==void 0)return n.defaultValue;throw new Error("No value found for context")}set(n,e){Ga(this,oi).set(n,e)}};oi=new WeakMap;var k1=new Set(["lazy","caseSensitive","path","id","index","children"]);function S1(n){return k1.has(n)}var C1=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function O1(n){return C1.has(n)}function j1(n){return n.index===!0}function ki(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(he(s.index!==!0||!s.children,"Cannot specify children on an index route"),he(i||!r[l],`Found a route id collision on id "${l}". Route id's must be globally unique within Data Router usages`),j1(s)){let c={...s,id:l};return r[l]=bu(c,e(c)),c}else{let c={...s,id:l,children:void 0};return r[l]=bu(c,e(c)),s.children&&(c.children=ki(s.children,e,a,r,i)),c}})}function bu(n,e){return Object.assign(n,{...e,...typeof e.lazy=="object"&&e.lazy!=null?{lazy:{...n.lazy,...e.lazy}}:{}})}function xn(n,e,t="/"){return ai(n,e,t,!1)}function ai(n,e,t,r){let i=typeof e=="string"?Rn(e):e,s=Ct(i.pathname||"/",t);if(s==null)return null;let o=Fp(n);M1(o);let a=null;for(let l=0;a==null&&l<o.length;++l){let c=F1(s);a=B1(o[l],c,r)}return a}function P1(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 Fp(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;he(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=Gt([r,h.relativePath]),f=t.concat(h);o.children&&o.children.length>0&&(he(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Fp(o.children,e,f,d,l)),!(o.path==null&&!o.index)&&e.push({path:d,score:L1(d,o.index),routesMeta:f})};return n.forEach((o,a)=>{if(o.path===""||!o.path?.includes("?"))s(o,a);else for(let l of Vp(o.path))s(o,a,!0,l)}),e}function Vp(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=Vp(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 M1(n){n.sort((e,t)=>e.score!==t.score?t.score-e.score:I1(e.routesMeta.map(r=>r.childrenIndex),t.routesMeta.map(r=>r.childrenIndex)))}var A1=/^:[\w-]+$/,D1=3,T1=2,N1=1,E1=10,R1=-2,yu=n=>n==="*";function L1(n,e){let t=n.split("/"),r=t.length;return t.some(yu)&&(r+=R1),e&&(r+=T1),t.filter(i=>!yu(i)).reduce((i,s)=>i+(A1.test(s)?D1:s===""?N1:E1),r)}function I1(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 B1(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=_o({path:l.relativePath,caseSensitive:l.caseSensitive,end:c},h),f=l.route;if(!d&&c&&t&&!r[r.length-1].route.index&&(d=_o({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},h)),!d)return null;Object.assign(i,d.params),o.push({params:i,pathname:Gt([s,d.pathname]),pathnameBase:H1(Gt([s,d.pathnameBase])),route:f}),d.pathnameBase!=="/"&&(s=Gt([s,d.pathnameBase]))}return o}function _o(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){Te(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 F1(n){try{return n.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(e){return Te(!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 Ct(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 V1({basename:n,pathname:e}){return e==="/"?n:Gt([n,e])}var zp=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,xa=n=>zp.test(n);function z1(n,e="/"){let{pathname:t,search:r="",hash:i=""}=typeof n=="string"?Rn(n):n,s;if(t)if(xa(t))s=t;else{if(t.includes("//")){let o=t;t=t.replace(/\/\/+/g,"/"),Te(!1,`Pathnames cannot have embedded double slashes - normalizing ${o} -> ${t}`)}t.startsWith("/")?s=xu(t.substring(1),"/"):s=xu(t,e)}else s=e;return{pathname:s,search:W1(r),hash:_1(i)}}function xu(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 qa(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 Hp(n){return n.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function va(n){let e=Hp(n);return e.map((t,r)=>r===e.length-1?t.pathname:t.pathnameBase)}function wa(n,e,t,r=!1){let i;typeof n=="string"?i=Rn(n):(i={...n},he(!i.pathname||!i.pathname.includes("?"),qa("?","pathname","search",i)),he(!i.pathname||!i.pathname.includes("#"),qa("#","pathname","hash",i)),he(!i.search||!i.search.includes("#"),qa("#","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=z1(i,a),c=o&&o!=="/"&&o.endsWith("/"),h=(s||o===".")&&t.endsWith("/");return!l.pathname.endsWith("/")&&(c||h)&&(l.pathname+="/"),l}var Gt=n=>n.join("/").replace(/\/\/+/g,"/"),H1=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),W1=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,_1=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,Ps=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 Si(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function Ms(n){return n.map(e=>e.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Wp=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function _p(n,e){let t=n;if(typeof t!="string"||!zp.test(t))return{absoluteURL:void 0,isExternal:!1,to:t};let r=t,i=!1;if(Wp)try{let s=new URL(window.location.href),o=t.startsWith("//")?new URL(s.protocol+t):new URL(t),a=Ct(o.pathname,e);o.origin===s.origin&&a!=null?t=a+o.search+o.hash:i=!0}catch{Te(!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 Sn=Symbol("Uninstrumented");function U1(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=fr(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=fr(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[Sn]??s,a=fr(t[i],o,(...l)=>vu(l[0]));a&&(a[Sn]=o,r[i]=a)}}),e.middleware&&e.middleware.length>0&&t.middleware.length>0&&(r.middleware=e.middleware.map(i=>{let s=i[Sn]??i,o=fr(t.middleware,s,(...a)=>vu(a[0]));return o?(o[Sn]=s,o):i})),r}function K1(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[Sn]??n.navigate,i=fr(t.navigate,r,(...s)=>{let[o,a]=s;return{to:typeof o=="number"||typeof o=="string"?o:o?Yt(o):".",...wu(n,a??{})}});i&&(i[Sn]=r,n.navigate=i)}if(t.fetch.length>0){let r=n.fetch[Sn]??n.fetch,i=fr(t.fetch,r,(...s)=>{let[o,,a,l]=s;return{href:a??".",fetcherKey:o,...wu(n,l??{})}});i&&(i[Sn]=r,n.fetch=i)}return n}function fr(n,e,t){return n.length===0?null:async(...r)=>{let i=await Up(n,t(...r),()=>e(...r),n.length-1);if(i.type==="error")throw i.value;return i.value}}async function Up(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=Up(n,e,t,r-1),s=await o,he(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 vu(n){let{request:e,context:t,params:r,unstable_pattern:i}=n;return{request:G1(e),params:{...r},unstable_pattern:i,context:q1(t)}}function wu(n,e){return{currentUrl:Yt(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 G1(n){return{method:n.method,url:n.url,headers:{get:(...e)=>n.headers.get(...e)}}}function q1(n){if(Q1(n)){let e={...n};return Object.freeze(e),e}else return{get:e=>n.get(e)}}var Y1=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Q1(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")===Y1}var Kp=["POST","PUT","PATCH","DELETE"],J1=new Set(Kp),X1=["GET",...Kp],Z1=new Set(X1),Gp=new Set([301,302,303,307,308]),ey=new Set([307,308]),Ya={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ty={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Qr={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},ny=n=>({hasErrorBoundary:!!n.hasErrorBoundary}),qp="remix-router-transitions",Yp=Symbol("ResetLoaderData");function ry(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";he(n.routes.length>0,"You must provide a non-empty routes array to createRouter");let r=n.hydrationRouteProperties||[],i=n.mapRouteProperties||ny,s=i;if(n.unstable_instrumentations){let w=n.unstable_instrumentations;s=C=>({...i(C),...U1(w.map(j=>j.route).filter(Boolean),C)})}let o={},a=ki(n.routes,s,void 0,o),l,c=n.basename||"/";c.startsWith("/")||(c=`/${c}`);let h=n.dataStrategy||ly,d={...n.future},f=null,p=new Set,m=null,g=null,y=null,v=n.hydrationData!=null,k=xn(a,n.history.location,c),S=!1,P=null,O;if(k==null&&!n.patchRoutesOnNavigation){let w=yt(404,{pathname:n.history.location.pathname}),{matches:C,route:j}=Xs(a);O=!0,k=C,P={[j.id]:w}}else if(k&&!n.hydrationData&&Gs(k,a,n.history.location.pathname).active&&(k=null),k)if(k.some(w=>w.route.lazy))O=!1;else if(!k.some(w=>Zc(w.route)))O=!0;else{let w=n.hydrationData?n.hydrationData.loaderData:null,C=n.hydrationData?n.hydrationData.errors:null;if(C){let j=k.findIndex(I=>C[I.route.id]!==void 0);O=k.slice(0,j+1).every(I=>!ec(I.route,w,C))}else O=k.every(j=>!ec(j.route,w,C))}else{O=!1,k=[];let w=Gs(null,a,n.history.location.pathname);w.active&&w.matches&&(S=!0,k=w.matches)}let M,x={historyAction:n.history.action,location:n.history.location,matches:k,initialized:O,navigation:Ya,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||P,fetchers:new Map,blockers:new Map},D="POP",T=null,R=!1,L,$=!1,U=new Map,_=null,V=!1,J=!1,ue=new Set,z=new Map,q=0,B=-1,ne=new Map,Z=new Set,ae=new Map,ce=new Map,Se=new Set,rt=new Map,At,$n=null;function Va(){if(f=n.history.listen(({action:w,location:C,delta:j})=>{if(At){At(),At=void 0;return}Te(rt.size===0||j!=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=au({currentLocation:x.location,nextLocation:C,historyAction:w});if(I&&j!=null){let F=new Promise(ee=>{At=ee});n.history.go(j*-1),Ks(I,{state:"blocked",location:C,proceed(){Ks(I,{state:"proceeding",proceed:void 0,reset:void 0,location:C}),F.then(()=>n.history.go(j))},reset(){let ee=new Map(x.blockers);ee.set(I,Qr),Fe({blockers:ee})}}),T?.resolve(),T=null;return}return we(w,C)}),t){jy(e,U);let w=()=>Py(e,U);e.addEventListener("pagehide",w),_=()=>e.removeEventListener("pagehide",w)}return x.initialized||we("POP",x.location,{initialHydration:!0}),M}function za(){f&&f(),_&&_(),p.clear(),L&&L.abort(),x.fetchers.forEach((w,C)=>_a(C)),x.blockers.forEach((w,C)=>ou(C))}function Ha(w){return p.add(w),()=>p.delete(w)}function Fe(w,C={}){w.matches&&(w.matches=w.matches.map(F=>{let ee=o[F.route.id],Q=F.route;return Q.element!==ee.element||Q.errorElement!==ee.errorElement||Q.hydrateFallbackElement!==ee.hydrateFallbackElement?{...F,route:ee}:F})),x={...x,...w};let j=[],I=[];x.fetchers.forEach((F,ee)=>{F.state==="idle"&&(Se.has(ee)?j.push(ee):I.push(ee))}),Se.forEach(F=>{!x.fetchers.has(F)&&!z.has(F)&&j.push(F)}),[...p].forEach(F=>F(x,{deletedFetchers:j,newErrors:w.errors??null,viewTransitionOpts:C.viewTransitionOpts,flushSync:C.flushSync===!0})),j.forEach(F=>_a(F)),I.forEach(F=>x.fetchers.delete(F))}function E(w,C,{flushSync:j}={}){let I=x.actionData!=null&&x.navigation.formMethod!=null&&Ye(x.navigation.formMethod)&&x.navigation.state==="loading"&&w.state?._isRedirect!==!0,F;C.actionData?Object.keys(C.actionData).length>0?F=C.actionData:F=null:I?F=x.actionData:F=null;let ee=C.loaderData?Tu(x.loaderData,C.loaderData,C.matches||[],C.errors):x.loaderData,Q=x.blockers;Q.size>0&&(Q=new Map(Q),Q.forEach((oe,re)=>Q.set(re,Qr)));let X=V?!1:cu(w,C.matches||x.matches),te=R===!0||x.navigation.formMethod!=null&&Ye(x.navigation.formMethod)&&w.state?._isRedirect!==!0;l&&(a=l,l=void 0),V||D==="POP"||(D==="PUSH"?n.history.push(w,w.state):D==="REPLACE"&&n.history.replace(w,w.state));let se;if(D==="POP"){let oe=U.get(x.location.pathname);oe&&oe.has(w.pathname)?se={currentLocation:x.location,nextLocation:w}:U.has(w.pathname)&&(se={currentLocation:w,nextLocation:x.location})}else if($){let oe=U.get(x.location.pathname);oe?oe.add(w.pathname):(oe=new Set([w.pathname]),U.set(x.location.pathname,oe)),se={currentLocation:x.location,nextLocation:w}}Fe({...C,actionData:F,loaderData:ee,historyAction:D,location:w,initialized:!0,navigation:Ya,revalidation:"idle",restoreScrollPosition:X,preventScrollReset:te,blockers:Q},{viewTransitionOpts:se,flushSync:j===!0}),D="POP",R=!1,$=!1,V=!1,J=!1,T?.resolve(),T=null,$n?.resolve(),$n=null}async function Y(w,C){if(T?.resolve(),T=null,typeof w=="number"){T||(T=Lu());let be=T.promise;return n.history.go(w),be}let j=Zl(x.location,x.matches,c,w,C?.fromRouteId,C?.relative),{path:I,submission:F,error:ee}=ku(!1,j,C),Q=x.location,X=wi(x.location,I,C&&C.state);X={...X,...n.history.encodeLocation(X)};let te=C&&C.replace!=null?C.replace:void 0,se="PUSH";te===!0?se="REPLACE":te===!1||F!=null&&Ye(F.formMethod)&&F.formAction===x.location.pathname+x.location.search&&(se="REPLACE");let oe=C&&"preventScrollReset"in C?C.preventScrollReset===!0:void 0,re=(C&&C.flushSync)===!0,ge=au({currentLocation:Q,nextLocation:X,historyAction:se});if(ge){Ks(ge,{state:"blocked",location:X,proceed(){Ks(ge,{state:"proceeding",proceed:void 0,reset:void 0,location:X}),Y(w,C)},reset(){let be=new Map(x.blockers);be.set(ge,Qr),Fe({blockers:be})}});return}await we(se,X,{submission:F,pendingError:ee,preventScrollReset:oe,replace:C&&C.replace,enableViewTransition:C&&C.viewTransition,flushSync:re,callSiteDefaultShouldRevalidate:C&&C.unstable_defaultShouldRevalidate})}function ve(){$n||($n=Lu()),Wa(),Fe({revalidation:"loading"});let w=$n.promise;return x.navigation.state==="submitting"?w:x.navigation.state==="idle"?(we(x.historyAction,x.location,{startUninterruptedRevalidation:!0}),w):(we(D||x.historyAction,x.navigation.location,{overrideNavigation:x.navigation,enableViewTransition:$===!0}),w)}async function we(w,C,j){L&&L.abort(),L=null,D=w,V=(j&&j.startUninterruptedRevalidation)===!0,r1(x.location,x.matches),R=(j&&j.preventScrollReset)===!0,$=(j&&j.enableViewTransition)===!0;let I=l||a,F=j&&j.overrideNavigation,ee=j?.initialHydration&&x.matches&&x.matches.length>0&&!S?x.matches:xn(I,C,c),Q=(j&&j.flushSync)===!0;if(ee&&x.initialized&&!J&&gy(x.location,C)&&!(j&&j.submission&&Ye(j.submission.formMethod))){E(C,{matches:ee},{flushSync:Q});return}let X=Gs(ee,I,C.pathname);if(X.active&&X.matches&&(ee=X.matches),!ee){let{error:ze,notFoundMatches:Ze,route:ke}=Ua(C.pathname);E(C,{matches:Ze,loaderData:{},errors:{[ke.id]:ze}},{flushSync:Q});return}L=new AbortController;let te=hr(n.history,C,L.signal,j&&j.submission),se=n.getContext?await n.getContext():new gu,oe;if(j&&j.pendingError)oe=[vn(ee).route.id,{type:"error",error:j.pendingError}];else if(j&&j.submission&&Ye(j.submission.formMethod)){let ze=await Fn(te,C,j.submission,ee,se,X.active,j&&j.initialHydration===!0,{replace:j.replace,flushSync:Q});if(ze.shortCircuited)return;if(ze.pendingActionResult){let[Ze,ke]=ze.pendingActionResult;if(ft(ke)&&Si(ke.error)&&ke.error.status===404){L=null,E(C,{matches:ze.matches,loaderData:{},errors:{[Ze]:ke.error}});return}}ee=ze.matches||ee,oe=ze.pendingActionResult,F=Qa(C,j.submission),Q=!1,X.active=!1,te=hr(n.history,te.url,te.signal)}let{shortCircuited:re,matches:ge,loaderData:be,errors:We}=await _s(te,C,ee,se,X.active,F,j&&j.submission,j&&j.fetcherSubmission,j&&j.replace,j&&j.initialHydration===!0,Q,oe,j&&j.callSiteDefaultShouldRevalidate);re||(L=null,E(C,{matches:ge||ee,...Nu(oe),loaderData:be,errors:We}))}async function Fn(w,C,j,I,F,ee,Q,X={}){Wa();let te=Cy(C,j);if(Fe({navigation:te},{flushSync:X.flushSync===!0}),ee){let re=await qs(I,C.pathname,w.signal);if(re.type==="aborted")return{shortCircuited:!0};if(re.type==="error"){if(re.partialMatches.length===0){let{matches:be,route:We}=Xs(a);return{matches:be,pendingActionResult:[We.id,{type:"error",error:re.error}]}}let ge=vn(re.partialMatches).route.id;return{matches:re.partialMatches,pendingActionResult:[ge,{type:"error",error:re.error}]}}else if(re.matches)I=re.matches;else{let{notFoundMatches:ge,error:be,route:We}=Ua(C.pathname);return{matches:ge,pendingActionResult:[We.id,{type:"error",error:be}]}}}let se,oe=To(I,C);if(!oe.route.action&&!oe.route.lazy)se={type:"error",error:yt(405,{method:w.method,pathname:C.pathname,routeId:oe.route.id})};else{let re=xr(s,o,w,I,oe,Q?[]:r,F),ge=await Gr(w,re,F,null);if(se=ge[oe.route.id],!se){for(let be of I)if(ge[be.route.id]){se=ge[be.route.id];break}}if(w.signal.aborted)return{shortCircuited:!0}}if(qn(se)){let re;return X&&X.replace!=null?re=X.replace:re=Mu(se.response.headers.get("Location"),new URL(w.url),c)===x.location.pathname+x.location.search,await Vn(w,se,!0,{submission:j,replace:re}),{shortCircuited:!0}}if(ft(se)){let re=vn(I,oe.route.id);return(X&&X.replace)!==!0&&(D="PUSH"),{matches:I,pendingActionResult:[re.route.id,se,oe.route.id]}}return{matches:I,pendingActionResult:[oe.route.id,se]}}async function _s(w,C,j,I,F,ee,Q,X,te,se,oe,re,ge){let be=ee||Qa(C,Q),We=Q||X||Ru(be),ze=!V&&!se;if(F){if(ze){let qe=Kr(re);Fe({navigation:be,...qe!==void 0?{actionData:qe}:{}},{flushSync:oe})}let me=await qs(j,C.pathname,w.signal);if(me.type==="aborted")return{shortCircuited:!0};if(me.type==="error"){if(me.partialMatches.length===0){let{matches:lr,route:Wn}=Xs(a);return{matches:lr,loaderData:{},errors:{[Wn.id]:me.error}}}let qe=vn(me.partialMatches).route.id;return{matches:me.partialMatches,loaderData:{},errors:{[qe]:me.error}}}else if(me.matches)j=me.matches;else{let{error:qe,notFoundMatches:lr,route:Wn}=Ua(C.pathname);return{matches:lr,loaderData:{},errors:{[Wn.id]:qe}}}}let Ze=l||a,{dsMatches:ke,revalidatingFetchers:bt}=Su(w,I,s,o,n.history,x,j,We,C,se?[]:r,se===!0,J,ue,Se,ae,Z,Ze,c,n.patchRoutesOnNavigation!=null,re,ge);if(B=++q,!n.dataStrategy&&!ke.some(me=>me.shouldLoad)&&!ke.some(me=>me.route.middleware&&me.route.middleware.length>0)&&bt.length===0){let me=iu();return E(C,{matches:j,loaderData:{},errors:re&&ft(re[1])?{[re[0]]:re[1].error}:null,...Nu(re),...me?{fetchers:new Map(x.fetchers)}:{}},{flushSync:oe}),{shortCircuited:!0}}if(ze){let me={};if(!F){me.navigation=be;let qe=Kr(re);qe!==void 0&&(me.actionData=qe)}bt.length>0&&(me.fetchers=Us(bt)),Fe(me,{flushSync:oe})}bt.forEach(me=>{rn(me.key),me.controller&&z.set(me.key,me.controller)});let zn=()=>bt.forEach(me=>rn(me.key));L&&L.signal.addEventListener("abort",zn);let{loaderResults:qr,fetcherResults:pn}=await tu(ke,bt,w,I);if(w.signal.aborted)return{shortCircuited:!0};L&&L.signal.removeEventListener("abort",zn),bt.forEach(me=>z.delete(me.key));let It=Zs(qr);if(It)return await Vn(w,It.result,!0,{replace:te}),{shortCircuited:!0};if(It=Zs(pn),It)return Z.add(It.key),await Vn(w,It.result,!0,{replace:te}),{shortCircuited:!0};let{loaderData:Ka,errors:Yr}=Du(x,j,qr,re,bt,pn);se&&x.errors&&(Yr={...x.errors,...Yr});let Hn=iu(),Ys=su(B),Qs=Hn||Ys||bt.length>0;return{matches:j,loaderData:Ka,errors:Yr,...Qs?{fetchers:new Map(x.fetchers)}:{}}}function Kr(w){if(w&&!ft(w[1]))return{[w[0]]:w[1].data};if(x.actionData)return Object.keys(x.actionData).length===0?null:x.actionData}function Us(w){return w.forEach(C=>{let j=x.fetchers.get(C.key),I=Jr(void 0,j?j.data:void 0);x.fetchers.set(C.key,I)}),new Map(x.fetchers)}async function Ve(w,C,j,I){rn(w);let F=(I&&I.flushSync)===!0,ee=l||a,Q=Zl(x.location,x.matches,c,j,C,I?.relative),X=xn(ee,Q,c),te=Gs(X,ee,Q);if(te.active&&te.matches&&(X=te.matches),!X){nn(w,C,yt(404,{pathname:Q}),{flushSync:F});return}let{path:se,submission:oe,error:re}=ku(!0,Q,I);if(re){nn(w,C,re,{flushSync:F});return}let ge=n.getContext?await n.getContext():new gu,be=(I&&I.preventScrollReset)===!0;if(oe&&Ye(oe.formMethod)){await Jb(w,C,se,X,ge,te.active,F,be,oe,I&&I.unstable_defaultShouldRevalidate);return}ae.set(w,{routeId:C,path:se}),await Xb(w,C,se,X,ge,te.active,F,be,oe)}async function Jb(w,C,j,I,F,ee,Q,X,te,se){Wa(),ae.delete(w);let oe=x.fetchers.get(w);tn(w,Oy(te,oe),{flushSync:Q});let re=new AbortController,ge=hr(n.history,j,re.signal,te);if(ee){let Ae=await qs(I,new URL(ge.url).pathname,ge.signal,w);if(Ae.type==="aborted")return;if(Ae.type==="error"){nn(w,C,Ae.error,{flushSync:Q});return}else if(Ae.matches)I=Ae.matches;else{nn(w,C,yt(404,{pathname:j}),{flushSync:Q});return}}let be=To(I,j);if(!be.route.action&&!be.route.lazy){let Ae=yt(405,{method:te.formMethod,pathname:j,routeId:C});nn(w,C,Ae,{flushSync:Q});return}z.set(w,re);let We=q,ze=xr(s,o,ge,I,be,r,F),Ze=await Gr(ge,ze,F,w),ke=Ze[be.route.id];if(!ke){for(let Ae of ze)if(Ze[Ae.route.id]){ke=Ze[Ae.route.id];break}}if(ge.signal.aborted){z.get(w)===re&&z.delete(w);return}if(Se.has(w)){if(qn(ke)||ft(ke)){tn(w,sn(void 0));return}}else{if(qn(ke))if(z.delete(w),B>We){tn(w,sn(void 0));return}else return Z.add(w),tn(w,Jr(te)),Vn(ge,ke,!1,{fetcherSubmission:te,preventScrollReset:X});if(ft(ke)){nn(w,C,ke.error);return}}let bt=x.navigation.location||x.location,zn=hr(n.history,bt,re.signal),qr=l||a,pn=x.navigation.state!=="idle"?xn(qr,x.navigation.location,c):x.matches;he(pn,"Didn't find any matches after fetcher action");let It=++q;ne.set(w,It);let Ka=Jr(te,ke.data);x.fetchers.set(w,Ka);let{dsMatches:Yr,revalidatingFetchers:Hn}=Su(zn,F,s,o,n.history,x,pn,te,bt,r,!1,J,ue,Se,ae,Z,qr,c,n.patchRoutesOnNavigation!=null,[be.route.id,ke],se);Hn.filter(Ae=>Ae.key!==w).forEach(Ae=>{let Js=Ae.key,uu=x.fetchers.get(Js),o1=Jr(void 0,uu?uu.data:void 0);x.fetchers.set(Js,o1),rn(Js),Ae.controller&&z.set(Js,Ae.controller)}),Fe({fetchers:new Map(x.fetchers)});let Ys=()=>Hn.forEach(Ae=>rn(Ae.key));re.signal.addEventListener("abort",Ys);let{loaderResults:Qs,fetcherResults:me}=await tu(Yr,Hn,zn,F);if(re.signal.aborted)return;if(re.signal.removeEventListener("abort",Ys),ne.delete(w),z.delete(w),Hn.forEach(Ae=>z.delete(Ae.key)),x.fetchers.has(w)){let Ae=sn(ke.data);x.fetchers.set(w,Ae)}let qe=Zs(Qs);if(qe)return Vn(zn,qe.result,!1,{preventScrollReset:X});if(qe=Zs(me),qe)return Z.add(qe.key),Vn(zn,qe.result,!1,{preventScrollReset:X});let{loaderData:lr,errors:Wn}=Du(x,pn,Qs,void 0,Hn,me);su(It),x.navigation.state==="loading"&&It>B?(he(D,"Expected pending action"),L&&L.abort(),E(x.navigation.location,{matches:pn,loaderData:lr,errors:Wn,fetchers:new Map(x.fetchers)})):(Fe({errors:Wn,loaderData:Tu(x.loaderData,lr,pn,Wn),fetchers:new Map(x.fetchers)}),J=!1)}async function Xb(w,C,j,I,F,ee,Q,X,te){let se=x.fetchers.get(w);tn(w,Jr(te,se?se.data:void 0),{flushSync:Q});let oe=new AbortController,re=hr(n.history,j,oe.signal);if(ee){let ke=await qs(I,new URL(re.url).pathname,re.signal,w);if(ke.type==="aborted")return;if(ke.type==="error"){nn(w,C,ke.error,{flushSync:Q});return}else if(ke.matches)I=ke.matches;else{nn(w,C,yt(404,{pathname:j}),{flushSync:Q});return}}let ge=To(I,j);z.set(w,oe);let be=q,We=xr(s,o,re,I,ge,r,F),Ze=(await Gr(re,We,F,w))[ge.route.id];if(z.get(w)===oe&&z.delete(w),!re.signal.aborted){if(Se.has(w)){tn(w,sn(void 0));return}if(qn(Ze))if(B>be){tn(w,sn(void 0));return}else{Z.add(w),await Vn(re,Ze,!1,{preventScrollReset:X});return}if(ft(Ze)){nn(w,C,Ze.error);return}tn(w,sn(Ze.data))}}async function Vn(w,C,j,{submission:I,fetcherSubmission:F,preventScrollReset:ee,replace:Q}={}){j||(T?.resolve(),T=null),C.response.headers.has("X-Remix-Revalidate")&&(J=!0);let X=C.response.headers.get("Location");he(X,"Expected a Location header on the redirect Response"),X=Mu(X,new URL(w.url),c);let te=wi(x.location,X,{_isRedirect:!0});if(t){let We=!1;if(C.response.headers.has("X-Remix-Reload-Document"))We=!0;else if(xa(X)){const ze=$p(X,!0);We=ze.origin!==e.location.origin||Ct(ze.pathname,c)==null}if(We){Q?e.location.replace(X):e.location.assign(X);return}}L=null;let se=Q===!0||C.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:oe,formAction:re,formEncType:ge}=x.navigation;!I&&!F&&oe&&re&&ge&&(I=Ru(x.navigation));let be=I||F;if(ey.has(C.response.status)&&be&&Ye(be.formMethod))await we(se,te,{submission:{...be,formAction:X},preventScrollReset:ee||R,enableViewTransition:j?$:void 0});else{let We=Qa(te,I);await we(se,te,{overrideNavigation:We,fetcherSubmission:F,preventScrollReset:ee||R,enableViewTransition:j?$:void 0})}}async function Gr(w,C,j,I){let F,ee={};try{F=await hy(h,w,C,I,j,!1)}catch(Q){return C.filter(X=>X.shouldLoad).forEach(X=>{ee[X.route.id]={type:"error",error:Q}}),ee}if(w.signal.aborted)return ee;if(!Ye(w.method))for(let Q of C){if(F[Q.route.id]?.type==="error")break;!F.hasOwnProperty(Q.route.id)&&!x.loaderData.hasOwnProperty(Q.route.id)&&(!x.errors||!x.errors.hasOwnProperty(Q.route.id))&&Q.shouldCallHandler()&&(F[Q.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${Q.route.id}`)})}for(let[Q,X]of Object.entries(F))if(vy(X)){let te=X.result;ee[Q]={type:"redirect",response:py(te,w,Q,C,c)}}else ee[Q]=await fy(X);return ee}async function tu(w,C,j,I){let F=Gr(j,w,I,null),ee=Promise.all(C.map(async te=>{if(te.matches&&te.match&&te.request&&te.controller){let oe=(await Gr(te.request,te.matches,I,te.key))[te.match.route.id];return{[te.key]:oe}}else return Promise.resolve({[te.key]:{type:"error",error:yt(404,{pathname:te.path})}})})),Q=await F,X=(await ee).reduce((te,se)=>Object.assign(te,se),{});return{loaderResults:Q,fetcherResults:X}}function Wa(){J=!0,ae.forEach((w,C)=>{z.has(C)&&ue.add(C),rn(C)})}function tn(w,C,j={}){x.fetchers.set(w,C),Fe({fetchers:new Map(x.fetchers)},{flushSync:(j&&j.flushSync)===!0})}function nn(w,C,j,I={}){let F=vn(x.matches,C);_a(w),Fe({errors:{[F.route.id]:j},fetchers:new Map(x.fetchers)},{flushSync:(I&&I.flushSync)===!0})}function nu(w){return ce.set(w,(ce.get(w)||0)+1),Se.has(w)&&Se.delete(w),x.fetchers.get(w)||ty}function Zb(w,C){rn(w,C?.reason),tn(w,sn(null))}function _a(w){let C=x.fetchers.get(w);z.has(w)&&!(C&&C.state==="loading"&&ne.has(w))&&rn(w),ae.delete(w),ne.delete(w),Z.delete(w),Se.delete(w),ue.delete(w),x.fetchers.delete(w)}function e1(w){let C=(ce.get(w)||0)-1;C<=0?(ce.delete(w),Se.add(w)):ce.set(w,C),Fe({fetchers:new Map(x.fetchers)})}function rn(w,C){let j=z.get(w);j&&(j.abort(C),z.delete(w))}function ru(w){for(let C of w){let j=nu(C),I=sn(j.data);x.fetchers.set(C,I)}}function iu(){let w=[],C=!1;for(let j of Z){let I=x.fetchers.get(j);he(I,`Expected fetcher: ${j}`),I.state==="loading"&&(Z.delete(j),w.push(j),C=!0)}return ru(w),C}function su(w){let C=[];for(let[j,I]of ne)if(I<w){let F=x.fetchers.get(j);he(F,`Expected fetcher: ${j}`),F.state==="loading"&&(rn(j),ne.delete(j),C.push(j))}return ru(C),C.length>0}function t1(w,C){let j=x.blockers.get(w)||Qr;return rt.get(w)!==C&&rt.set(w,C),j}function ou(w){x.blockers.delete(w),rt.delete(w)}function Ks(w,C){let j=x.blockers.get(w)||Qr;he(j.state==="unblocked"&&C.state==="blocked"||j.state==="blocked"&&C.state==="blocked"||j.state==="blocked"&&C.state==="proceeding"||j.state==="blocked"&&C.state==="unblocked"||j.state==="proceeding"&&C.state==="unblocked",`Invalid blocker state transition: ${j.state} -> ${C.state}`);let I=new Map(x.blockers);I.set(w,C),Fe({blockers:I})}function au({currentLocation:w,nextLocation:C,historyAction:j}){if(rt.size===0)return;rt.size>1&&Te(!1,"A router only supports one blocker at a time");let I=Array.from(rt.entries()),[F,ee]=I[I.length-1],Q=x.blockers.get(F);if(!(Q&&Q.state==="proceeding")&&ee({currentLocation:w,nextLocation:C,historyAction:j}))return F}function Ua(w){let C=yt(404,{pathname:w}),j=l||a,{matches:I,route:F}=Xs(j);return{notFoundMatches:I,route:F,error:C}}function n1(w,C,j){if(m=w,y=C,g=j||null,!v&&x.navigation===Ya){v=!0;let I=cu(x.location,x.matches);I!=null&&Fe({restoreScrollPosition:I})}return()=>{m=null,y=null,g=null}}function lu(w,C){return g&&g(w,C.map(I=>P1(I,x.loaderData)))||w.key}function r1(w,C){if(m&&y){let j=lu(w,C);m[j]=y()}}function cu(w,C){if(m){let j=lu(w,C),I=m[j];if(typeof I=="number")return I}return null}function Gs(w,C,j){if(n.patchRoutesOnNavigation)if(w){if(Object.keys(w[0].params).length>0)return{active:!0,matches:ai(C,j,c,!0)}}else return{active:!0,matches:ai(C,j,c,!0)||[]};return{active:!1,matches:null}}async function qs(w,C,j,I){if(!n.patchRoutesOnNavigation)return{type:"success",matches:w};let F=w;for(;;){let ee=l==null,Q=l||a,X=o;try{await n.patchRoutesOnNavigation({signal:j,path:C,matches:F,fetcherKey:I,patch:(oe,re)=>{j.aborted||Cu(oe,re,Q,X,s,!1)}})}catch(oe){return{type:"error",error:oe,partialMatches:F}}finally{ee&&!j.aborted&&(a=[...a])}if(j.aborted)return{type:"aborted"};let te=xn(Q,C,c),se=null;if(te){if(Object.keys(te[0].params).length===0)return{type:"success",matches:te};if(se=ai(Q,C,c,!0),!(se&&F.length<se.length&&hu(F,se.slice(0,F.length))))return{type:"success",matches:te}}if(se||(se=ai(Q,C,c,!0)),!se||hu(F,se))return{type:"success",matches:null};F=se}}function hu(w,C){return w.length===C.length&&w.every((j,I)=>j.route.id===C[I].route.id)}function i1(w){o={},l=ki(w,s,void 0,o)}function s1(w,C,j=!1){let I=l==null;Cu(w,C,l||a,o,s,j),I&&(a=[...a],Fe({}))}return M={get basename(){return c},get future(){return d},get state(){return x},get routes(){return a},get window(){return e},initialize:Va,subscribe:Ha,enableScrollRestoration:n1,navigate:Y,fetch:Ve,revalidate:ve,createHref:w=>n.history.createHref(w),encodeLocation:w=>n.history.encodeLocation(w),getFetcher:nu,resetFetcher:Zb,deleteFetcher:e1,dispose:za,getBlocker:t1,deleteBlocker:ou,patchRoutes:s1,_internalFetchControllers:z,_internalSetRoutes:i1,_internalSetStateDoNotUseOrYouWillBreakYourApp(w){Fe(w)}},n.unstable_instrumentations&&(M=K1(M,n.unstable_instrumentations.map(w=>w.router).filter(Boolean))),M}function iy(n){return n!=null&&("formData"in n&&n.formData!=null||"body"in n&&n.body!==void 0)}function Zl(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=wa(r||".",va(o),Ct(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=th(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=V1({basename:t,pathname:l.pathname})),Yt(l)}function ku(n,e,t){if(!t||!iy(t))return{path:e};if(t.formMethod&&!Sy(t.formMethod))return{path:e,error:yt(405,{method:t.formMethod})};let r=()=>({path:e,error:yt(400,{type:"invalid-body"})}),s=(t.formMethod||"get").toUpperCase(),o=tm(e);if(t.body!==void 0){if(t.formEncType==="text/plain"){if(!Ye(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(!Ye(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()}}}he(typeof FormData=="function","FormData is not available in this environment");let a,l;if(t.formData)a=nc(t.formData),l=t.formData;else if(t.body instanceof FormData)a=nc(t.body),l=t.body;else if(t.body instanceof URLSearchParams)a=t.body,l=Au(a);else if(t.body==null)a=new URLSearchParams,l=new FormData;else try{a=new URLSearchParams(t.body),l=Au(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(Ye(c.formMethod))return{path:e,submission:c};let h=Rn(e);return n&&h.search&&th(h.search)&&a.append("index",""),h.search=`?${a}`,{path:Yt(h),submission:c}}function Su(n,e,t,r,i,s,o,a,l,c,h,d,f,p,m,g,y,v,k,S,P){let O=S?ft(S[1])?S[1].error:S[1].data:void 0,M=i.createURL(s.location),x=i.createURL(l),D;if(h&&s.errors){let V=Object.keys(s.errors)[0];D=o.findIndex(J=>J.route.id===V)}else if(S&&ft(S[1])){let V=S[0];D=o.findIndex(J=>J.route.id===V)-1}let T=S?S[1].statusCode:void 0,R=T&&T>=400,L={currentUrl:M,currentParams:s.matches[0]?.params||{},nextUrl:x,nextParams:o[0].params,...a,actionResult:O,actionStatus:T},$=Ms(o),U=o.map((V,J)=>{let{route:ue}=V,z=null;if(D!=null&&J>D?z=!1:ue.lazy?z=!0:Zc(ue)?h?z=ec(ue,s.loaderData,s.errors):sy(s.loaderData,s.matches[J],V)&&(z=!0):z=!1,z!==null)return tc(t,r,n,$,V,c,e,z);let q=!1;typeof P=="boolean"?q=P:R?q=!1:(d||M.pathname+M.search===x.pathname+x.search||M.search!==x.search||oy(s.matches[J],V))&&(q=!0);let B={...L,defaultShouldRevalidate:q},ne=di(V,B);return tc(t,r,n,$,V,c,e,ne,B,P)}),_=[];return m.forEach((V,J)=>{if(h||!o.some(ce=>ce.route.id===V.routeId)||p.has(J))return;let ue=s.fetchers.get(J),z=ue&&ue.state!=="idle"&&ue.data===void 0,q=xn(y,V.path,v);if(!q){if(k&&z)return;_.push({key:J,routeId:V.routeId,path:V.path,matches:null,match:null,request:null,controller:null});return}if(g.has(J))return;let B=To(q,V.path),ne=new AbortController,Z=hr(i,V.path,ne.signal),ae=null;if(f.has(J))f.delete(J),ae=xr(t,r,Z,q,B,c,e);else if(z)d&&(ae=xr(t,r,Z,q,B,c,e));else{let ce;typeof P=="boolean"?ce=P:R?ce=!1:ce=d;let Se={...L,defaultShouldRevalidate:ce};di(B,Se)&&(ae=xr(t,r,Z,q,B,c,e,Se))}ae&&_.push({key:J,routeId:V.routeId,path:V.path,matches:ae,match:B,request:Z,controller:ne})}),{dsMatches:U,revalidatingFetchers:_}}function Zc(n){return n.loader!=null||n.middleware!=null&&n.middleware.length>0}function ec(n,e,t){if(n.lazy)return!0;if(!Zc(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 sy(n,e,t){let r=!e||t.route.id!==e.route.id,i=!n.hasOwnProperty(t.route.id);return r||i}function oy(n,e){let t=n.route.path;return n.pathname!==e.pathname||t!=null&&t.endsWith("*")&&n.params["*"]!==e.params["*"]}function di(n,e){if(n.route.shouldRevalidate){let t=n.route.shouldRevalidate(e);if(typeof t=="boolean")return t}return e.defaultShouldRevalidate}function Cu(n,e,t,r,i,s){let o;if(n){let c=r[n];he(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=>Qp(c,d));h?l.push({existingRoute:h,newRoute:c}):a.push(c)}),a.length>0){let c=ki(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]=ki([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 Qp(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=>Qp(t,i))):!1}var Ou=new WeakMap,Jp=({key:n,route:e,manifest:t,mapRouteProperties:r})=>{let i=t[e.id];if(he(i,"No route found in manifest"),!i.lazy||typeof i.lazy!="object")return;let s=i.lazy[n];if(!s)return;let o=Ou.get(i);o||(o={},Ou.set(i,o));let a=o[n];if(a)return a;let l=(async()=>{let c=S1(n),d=i[n]!==void 0&&n!=="hasErrorBoundary";if(c)Te(!c,"Route property "+n+" is not a supported lazy route property. This property will be ignored."),o[n]=Promise.resolve();else if(d)Te(!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},ju=new WeakMap;function ay(n,e,t,r,i){let s=t[n.id];if(he(s,"No route found in manifest"),!n.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof n.lazy=="function"){let h=ju.get(s);if(h)return{lazyRoutePromise:h,lazyHandlerPromise:h};let d=(async()=>{he(typeof n.lazy=="function","No lazy route function found");let f=await n.lazy(),p={};for(let m in f){let g=f[m];if(g===void 0)continue;let y=O1(m),k=s[m]!==void 0&&m!=="hasErrorBoundary";y?Te(!y,"Route property "+m+" is not a supported property to be returned from a lazy route function. This property will be ignored."):k?Te(!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]=g}Object.assign(s,p),Object.assign(s,{...r(s),lazy:void 0})})();return ju.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=Jp({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 Pu(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 ly(n){return n.matches.some(e=>e.route.middleware)?Xp(n,()=>Pu(n)):Pu(n)}function Xp(n,e){return cy(n,e,r=>{if(ky(r))throw r;return r},yy,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=vn(o,o[a].route.id).route.id;return Promise.resolve({[l]:{type:"error",result:r}})}}}async function cy(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 Zp({request:o,params:a,context:l,unstable_pattern:c},h,e,t,r,i)}async function Zp(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 Zp(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 em(n,e,t,r,i){let s=Jp({key:"middleware",route:r.route,manifest:e,mapRouteProperties:n}),o=ay(r.route,Ye(t.method)?"action":"loader",e,n,i);return{middleware:s,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function tc(n,e,t,r,i,s,o,a,l=null,c){let h=!1,d=em(n,e,t,i,s);return{...i,_lazyPromises:d,shouldLoad:a,shouldRevalidateArgs:l,shouldCallHandler(f){return h=!0,l?typeof c=="boolean"?di(i,{...l,defaultShouldRevalidate:c}):typeof f=="boolean"?di(i,{...l,defaultShouldRevalidate:f}):di(i,l):a},resolve(f){let{lazy:p,loader:m,middleware:g}=i.route,y=h||a||f&&!Ye(t.method)&&(p||m),v=g&&g.length>0&&!m&&!p;return y&&(Ye(t.method)||!v)?uy({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 xr(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:em(n,e,t,l,s),resolve:()=>Promise.resolve({type:"data",result:void 0})}:tc(n,e,t,Ms(r),l,s,o,!0,a))}async function hy(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:Ms(t),params:t[0].params,context:i,matches:t},l=await n({...o,fetcherKey:r,runClientMiddleware:c=>{let h=o;return Xp(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 uy({request:n,unstable_pattern:e,match:t,lazyHandlerPromise:r,lazyRoutePromise:i,handlerOverride:s,scopedContext:o}){let a,l,c=Ye(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 g=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=>g(k)):g())}}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(g=>{p=g}),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),g=m.pathname+m.search;throw yt(405,{method:n.method,pathname:g,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 yt(404,{pathname:m})}}catch(f){return{type:"error",result:f}}finally{l&&n.signal.removeEventListener("abort",l)}return a}async function dy(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 fy(n){let{result:e,type:t}=n;if(eh(e)){let r;try{r=await dy(e)}catch(i){return{type:"error",error:i}}return t==="error"?{type:"error",error:new Ps(e.status,e.statusText,r),statusCode:e.status,headers:e.headers}:{type:"data",data:r,statusCode:e.status,headers:e.headers}}return t==="error"?Eu(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:by(e),statusCode:Si(e)?e.status:void 0,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:e,statusCode:Si(e)?e.status:void 0}:Eu(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 py(n,e,t,r,i){let s=n.headers.get("Location");if(he(s,"Redirects returned/thrown from loaders/actions must have a Location header"),!xa(s)){let o=r.slice(0,r.findIndex(a=>a.route.id===t)+1);s=Zl(new URL(e.url),o,i,s),n.headers.set("Location",s)}return n}function Mu(n,e,t){if(xa(n)){let r=n,i=r.startsWith("//")?new URL(e.protocol+r):new URL(r),s=Ct(i.pathname,t)!=null;if(i.origin===e.origin&&s)return i.pathname+i.search+i.hash}return n}function hr(n,e,t,r){let i=n.createURL(tm(e)).toString(),s={signal:t};if(r&&Ye(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=nc(r.formData):s.body=r.formData}return new Request(i,s)}function nc(n){let e=new URLSearchParams;for(let[t,r]of n.entries())e.append(t,typeof r=="string"?r:r.name);return e}function Au(n){let e=new FormData;for(let[t,r]of n.entries())e.append(t,r);return e}function my(n,e,t,r=!1,i=!1){let s={},o=null,a,l=!1,c={},h=t&&ft(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(he(!qn(p),"Cannot handle redirect results in processLoaderData"),ft(p)){let m=p.error;if(h!==void 0&&(m=h,h=void 0),o=o||{},i)o[f]=m;else{let g=vn(n,f);o[g.route.id]==null&&(o[g.route.id]=m)}r||(s[f]=Yp),l||(l=!0,a=Si(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 Du(n,e,t,r,i,s){let{loaderData:o,errors:a}=my(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(he(f,"Did not find corresponding fetcher result"),ft(f)){let p=vn(n.matches,h?.route.id);a&&a[p.route.id]||(a={...a,[p.route.id]:f.error}),n.fetchers.delete(c)}else if(qn(f))he(!1,"Unhandled fetcher revalidation redirect");else{let p=sn(f.data);n.fetchers.set(c,p)}}),{loaderData:o,errors:a}}function Tu(n,e,t,r){let i=Object.entries(e).filter(([,s])=>s!==Yp).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 Nu(n){return n?ft(n[1])?{actionData:{}}:{actionData:{[n[0]]:n[1].data}}:{}}function vn(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 Xs(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 yt(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 Ps(n||500,o,new Error(a),!0)}function Zs(n){let e=Object.entries(n);for(let t=e.length-1;t>=0;t--){let[r,i]=e[t];if(qn(i))return{key:r,result:i}}}function tm(n){let e=typeof n=="string"?Rn(n):n;return Yt({...e,hash:""})}function gy(n,e){return n.pathname!==e.pathname||n.search!==e.search?!1:n.hash===""?e.hash!=="":n.hash===e.hash?!0:e.hash!==""}function by(n){return new Ps(n.init?.status??500,n.init?.statusText??"Internal Server Error",n.data)}function yy(n){return n!=null&&typeof n=="object"&&Object.entries(n).every(([e,t])=>typeof e=="string"&&xy(t))}function xy(n){return n!=null&&typeof n=="object"&&"type"in n&&"result"in n&&(n.type==="data"||n.type==="error")}function vy(n){return eh(n.result)&&Gp.has(n.result.status)}function ft(n){return n.type==="error"}function qn(n){return(n&&n.type)==="redirect"}function Eu(n){return typeof n=="object"&&n!=null&&"type"in n&&"data"in n&&"init"in n&&n.type==="DataWithResponseInit"}function eh(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.headers=="object"&&typeof n.body<"u"}function wy(n){return Gp.has(n)}function ky(n){return eh(n)&&wy(n.status)&&n.headers.has("Location")}function Sy(n){return Z1.has(n.toUpperCase())}function Ye(n){return J1.has(n.toUpperCase())}function th(n){return new URLSearchParams(n).getAll("index").some(e=>e==="")}function To(n,e){let t=typeof e=="string"?Rn(e).search:e.search;if(n[n.length-1].route.index&&th(t||""))return n[n.length-1];let r=Hp(n);return r[r.length-1]}function Ru(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 Qa(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 Cy(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 Jr(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 Oy(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 sn(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 jy(n,e){try{let t=n.sessionStorage.getItem(qp);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 Py(n,e){if(e.size>0){let t={};for(let[r,i]of e)t[r]=[...i];try{n.sessionStorage.setItem(qp,JSON.stringify(t))}catch(r){Te(!1,`Failed to save applied view transitions in sessionStorage (${r}).`)}}}function Lu(){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 ir=b.createContext(null);ir.displayName="DataRouter";var As=b.createContext(null);As.displayName="DataRouterState";var nm=b.createContext(!1);function My(){return b.useContext(nm)}var nh=b.createContext({isTransitioning:!1});nh.displayName="ViewTransition";var rm=b.createContext(new Map);rm.displayName="Fetchers";var Ay=b.createContext(null);Ay.displayName="Await";var mt=b.createContext(null);mt.displayName="Navigation";var ka=b.createContext(null);ka.displayName="Location";var jt=b.createContext({outlet:null,matches:[],isDataRoute:!1});jt.displayName="Route";var rh=b.createContext(null);rh.displayName="RouteError";var im="REACT_ROUTER_ERROR",Dy="REDIRECT",Ty="ROUTE_ERROR_RESPONSE";function Ny(n){if(n.startsWith(`${im}:${Dy}:{`))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 Ey(n){if(n.startsWith(`${im}:${Ty}:{`))try{let e=JSON.parse(n.slice(40));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string")return new Ps(e.status,e.statusText,e.data)}catch{}}function Ry(n,{relative:e}={}){he(Lr(),"useHref() may be used only in the context of a <Router> component.");let{basename:t,navigator:r}=b.useContext(mt),{hash:i,pathname:s,search:o}=Ds(n,{relative:e}),a=s;return t!=="/"&&(a=s==="/"?t:Gt([t,s])),r.createHref({pathname:a,search:o,hash:i})}function Lr(){return b.useContext(ka)!=null}function Qt(){return he(Lr(),"useLocation() may be used only in the context of a <Router> component."),b.useContext(ka).location}var sm="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function om(n){b.useContext(mt).static||b.useLayoutEffect(n)}function fn(){let{isDataRoute:n}=b.useContext(jt);return n?Yy():Ly()}function Ly(){he(Lr(),"useNavigate() may be used only in the context of a <Router> component.");let n=b.useContext(ir),{basename:e,navigator:t}=b.useContext(mt),{matches:r}=b.useContext(jt),{pathname:i}=Qt(),s=JSON.stringify(va(r)),o=b.useRef(!1);return om(()=>{o.current=!0}),b.useCallback((l,c={})=>{if(Te(o.current,sm),!o.current)return;if(typeof l=="number"){t.go(l);return}let h=wa(l,JSON.parse(s),i,c.relative==="path");n==null&&e!=="/"&&(h.pathname=h.pathname==="/"?e:Gt([e,h.pathname])),(c.replace?t.replace:t.push)(h,c.state,c)},[e,t,s,i,n])}var am=b.createContext(null);function Iy(){return b.useContext(am)}function By(n){let e=b.useContext(jt).outlet;return b.useMemo(()=>e&&b.createElement(am.Provider,{value:n},e),[e,n])}function lm(){let{matches:n}=b.useContext(jt),e=n[n.length-1];return e?e.params:{}}function Ds(n,{relative:e}={}){let{matches:t}=b.useContext(jt),{pathname:r}=Qt(),i=JSON.stringify(va(t));return b.useMemo(()=>wa(n,JSON.parse(i),r,e==="path"),[n,i,r,e])}function $y(n,e,t,r,i){he(Lr(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:s}=b.useContext(mt),{matches:o}=b.useContext(jt),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||"";hm(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=Yt(),p;p=f;let m=p.pathname||"/",g=m;if(h!=="/"){let k=h.replace(/^\//,"").split("/");g="/"+m.replace(/^\//,"").split("/").slice(k.length).join("/")}let y=yn(n,{pathname:g});return Te(d||y!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),Te(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.`),Hy(y&&y.map(k=>Object.assign({},k,{params:Object.assign({},l,k.params),pathname:Kt([h,s.encodeLocation?s.encodeLocation(k.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:k.pathname]),pathnameBase:k.pathnameBase==="/"?h:Kt([h,s.encodeLocation?s.encodeLocation(k.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:k.pathnameBase])})),o,t,r,i)}function $y(){let n=Gy(),e=wi(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=b.createElement(b.Fragment,null,b.createElement("p",null,"💿 Hey developer 👋"),b.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",b.createElement("code",{style:s},"ErrorBoundary")," or"," ",b.createElement("code",{style:s},"errorElement")," prop on your route.")),b.createElement(b.Fragment,null,b.createElement("h2",null,"Unexpected Application Error!"),b.createElement("h3",{style:{fontStyle:"italic"}},e),t?b.createElement("pre",{style:i},t):null,o)}var Fy=b.createElement($y,null),om=class extends b.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=Ny(n.digest);t&&(n=t)}let e=n!==void 0?b.createElement(Ot.Provider,{value:this.props.routeContext},b.createElement(eh.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?b.createElement(Vy,{error:n},e):e}};om.contextType=Zp;var qa=new WeakMap;function Vy({children:n,error:e}){let{basename:t}=b.useContext(pt);if(typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){let r=Ty(e.digest);if(r){let i=qa.get(e);if(i)throw i;let s=zp(r.location,t);if(Vp&&!qa.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 qa.set(e,o),o}return b.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s.absoluteURL||s.to}`})}}return n}function zy({routeContext:n,match:e,children:t}){let r=b.useContext(rr);return r&&r.static&&r.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=e.route.id),b.createElement(Ot.Provider,{value:n},t)}function Hy(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);he(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:js(t.matches),errorInfo:d})}:void 0;return s.reduceRight((h,d,f)=>{let p,m=!1,g=null,y=null;t&&(p=o&&d.route.id?o[d.route.id]:void 0,g=d.route.errorElement||Fy,a&&(l<0&&f===0?(am("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=g:m?S=y:d.route.Component?S=b.createElement(d.route.Component,null):d.route.element?S=d.route.element:S=h,b.createElement(zy,{match:d,routeContext:{outlet:h,matches:v,isDataRoute:t!=null},children:S})};return t&&(d.route.ErrorBoundary||d.route.errorElement||f===0)?b.createElement(om,{location:t.location,revalidation:t.revalidation,component:g,error:p,children:k(),routeContext:{outlet:null,matches:v,isDataRoute:!0},onError:c}):k()},null)}function th(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Wy(n){let e=b.useContext(rr);return he(e,th(n)),e}function _y(n){let e=b.useContext(Ps);return he(e,th(n)),e}function Uy(n){let e=b.useContext(Ot);return he(e,th(n)),e}function nh(n){let e=Uy(n),t=e.matches[e.matches.length-1];return he(t.route.id,`${n} can only be used on routes that contain a unique "id"`),t.route.id}function Ky(){return nh("useRouteId")}function Gy(){let n=b.useContext(eh),e=_y("useRouteError"),t=nh("useRouteError");return n!==void 0?n:e.errors?.[t]}function qy(){let{router:n}=Wy("useNavigate"),e=nh("useNavigate"),t=b.useRef(!1);return rm(()=>{t.current=!0}),b.useCallback(async(i,s={})=>{Te(t.current,nm),t.current&&(typeof i=="number"?await n.navigate(i):await n.navigate(i,{fromRouteId:e,...s}))},[n,e])}var Eu={};function am(n,e,t){!e&&!Eu[n]&&(Eu[n]=!0,Te(!1,t))}var Ru={};function Lu(n,e){!n&&!Ru[e]&&(Ru[e]=!0,console.warn(e))}var Yy="useOptimistic",Iu=l1[Yy],Qy=()=>{};function Jy(n){return Iu?Iu(n):[n,Qy]}function Xy(n){let e={hasErrorBoundary:n.hasErrorBoundary||n.ErrorBoundary!=null||n.errorElement!=null};return n.Component&&(n.element&&Te(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(e,{element:b.createElement(n.Component),Component:void 0})),n.HydrateFallback&&(n.hydrateFallbackElement&&Te(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(e,{hydrateFallbackElement:b.createElement(n.HydrateFallback),HydrateFallback:void 0})),n.ErrorBoundary&&(n.errorElement&&Te(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(e,{errorElement:b.createElement(n.ErrorBoundary),ErrorBoundary:void 0})),e}var Zy=["HydrateFallback","hydrateFallbackElement"],ex=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 tx({router:n,flushSync:e,onError:t,unstable_useTransitions:r}){r=Py()||r;let[s,o]=b.useState(n.state),[a,l]=Jy(s),[c,h]=b.useState(),[d,f]=b.useState({isTransitioning:!1}),[p,m]=b.useState(),[g,y]=b.useState(),[v,k]=b.useState(),S=b.useRef(new Map),P=b.useCallback((D,{deletedFetchers:T,newErrors:I,flushSync:R,viewTransitionOpts:B})=>{I&&t&&Object.values(I).forEach(q=>t(q,{location:D.location,params:D.matches[0]?.params??{},unstable_pattern:js(D.matches)})),D.fetchers.forEach((q,F)=>{q.data!==void 0&&S.current.set(F,q.data)}),T.forEach(q=>S.current.delete(q)),Lu(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 U=n.window!=null&&n.window.document!=null&&typeof n.window.document.startViewTransition=="function";if(Lu(B==null||U,"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||!U){e&&R?e(()=>o(D)):r===!1?o(D):b.startTransition(()=>{r===!0&&l(q=>Bu(q,D)),o(D)});return}if(e&&R){e(()=>{g&&(p?.resolve(),g.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:B.currentLocation,nextLocation:B.nextLocation})});let q=n.window.document.startViewTransition(()=>{e(()=>o(D))});q.finished.finally(()=>{e(()=>{m(void 0),y(void 0),h(void 0),f({isTransitioning:!1})})}),e(()=>y(q));return}g?(p?.resolve(),g.skipTransition(),k({state:D,currentLocation:B.currentLocation,nextLocation:B.nextLocation})):(h(D),f({isTransitioning:!0,flushSync:!1,currentLocation:B.currentLocation,nextLocation:B.nextLocation}))},[n.window,e,g,p,r,l,t]);b.useLayoutEffect(()=>n.subscribe(P),[n,P]),b.useEffect(()=>{d.isTransitioning&&!d.flushSync&&m(new ex)},[d]),b.useEffect(()=>{if(p&&c&&n.window){let D=c,T=p.promise,I=n.window.document.startViewTransition(async()=>{r===!1?o(D):b.startTransition(()=>{r===!0&&l(R=>Bu(R,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]),b.useEffect(()=>{p&&c&&a.location.key===c.location.key&&p.resolve()},[p,g,a.location,c]),b.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 O=b.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]),M=n.basename||"/",x=b.useMemo(()=>({router:n,navigator:O,static:!1,basename:M,onError:t}),[n,O,M,t]);return b.createElement(b.Fragment,null,b.createElement(rr.Provider,{value:x},b.createElement(Ps.Provider,{value:a},b.createElement(em.Provider,{value:S.current},b.createElement(Zc.Provider,{value:d},b.createElement(sx,{basename:M,location:a.location,navigationType:a.historyAction,navigator:O,unstable_useTransitions:r},b.createElement(nx,{routes:n.routes,future:n.future,state:a,onError:t})))))),null)}function Bu(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 nx=b.memo(rx);function rx({routes:n,future:e,state:t,onError:r}){return By(n,void 0,t,r,e)}function Ya({to:n,replace:e,state:t,relative:r}){he(Rr(),"<Navigate> may be used only in the context of a <Router> component.");let{static:i}=b.useContext(pt);Te(!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}=b.useContext(Ot),{pathname:o}=Yt(),a=fn(),l=xa(n,ya(s),o,r==="path"),c=JSON.stringify(l);return b.useEffect(()=>{a(JSON.parse(c),{replace:e,state:t,relative:r})},[a,c,r,e,t]),null}function ix(n){return Iy(n.context)}function sx({basename:n="/",children:e=null,location:t,navigationType:r="POP",navigator:i,static:s=!1,unstable_useTransitions:o}){he(!Rr(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let a=n.replace(/^\/*/,"/"),l=b.useMemo(()=>({basename:a,navigator:i,static:s,unstable_useTransitions:o,future:{}}),[a,i,s,o]);typeof t=="string"&&(t=En(t));let{pathname:c="/",search:h="",hash:d="",state:f=null,key:p="default"}=t,m=b.useMemo(()=>{let g=St(c,a);return g==null?null:{location:{pathname:g,search:h,hash:d,state:f,key:p},navigationType:r}},[a,c,h,d,f,p,r]);return Te(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:b.createElement(pt.Provider,{value:l},b.createElement(va.Provider,{children:e,value:m}))}var Do="get",To="application/x-www-form-urlencoded";function wa(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function ox(n){return wa(n)&&n.tagName.toLowerCase()==="button"}function ax(n){return wa(n)&&n.tagName.toLowerCase()==="form"}function lx(n){return wa(n)&&n.tagName.toLowerCase()==="input"}function cx(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function hx(n,e){return n.button===0&&(!e||e==="_self")&&!cx(n)}var Xs=null;function ux(){if(Xs===null)try{new FormData(document.createElement("form"),0),Xs=!1}catch{Xs=!0}return Xs}var dx=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Qa(n){return n!=null&&!dx.has(n)?(Te(!1,`"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${To}"`),null):n}function fx(n,e){let t,r,i,s,o;if(ax(n)){let a=n.getAttribute("action");r=a?St(a,e):null,t=n.getAttribute("method")||Do,i=Qa(n.getAttribute("enctype"))||To,s=new FormData(n)}else if(ox(n)||lx(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?St(l,e):null,t=n.getAttribute("formmethod")||a.getAttribute("method")||Do,i=Qa(n.getAttribute("formenctype"))||Qa(a.getAttribute("enctype"))||To,s=new FormData(a,n),!ux()){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(wa(n))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=Do,r=null,i=To,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 rh(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function px(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&&St(r.pathname,e)==="/"?r.pathname=`${e.replace(/\/$/,"")}/_root.${t}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${t}`,r}async function mx(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 gx(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 bx(n,e,t){let r=await Promise.all(n.map(async i=>{let s=e.routes[i.route.id];if(s){let o=await mx(s,t);return o.links?o.links():[]}return[]}));return wx(r.flat(1).filter(gx).filter(i=>i.rel==="stylesheet"||i.rel==="preload").map(i=>i.rel==="stylesheet"?{...i,rel:"prefetch",as:"style"}:{...i,rel:"prefetch"}))}function $u(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 yx(n,e,{includeHydrateFallback:t}={}){return xx(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 xx(n){return[...new Set(n)]}function vx(n){let e={},t=Object.keys(n).sort();for(let r of t)e[r]=n[r];return e}function wx(n,e){let t=new Set;return new Set(e),n.reduce((r,i)=>{let s=JSON.stringify(vx(i));return t.has(s)||(t.add(s),r.push({key:s,link:i})),r},[])}function lm(){let n=b.useContext(rr);return rh(n,"You must render this element inside a <DataRouterContext.Provider> element"),n}function kx(){let n=b.useContext(Ps);return rh(n,"You must render this element inside a <DataRouterStateContext.Provider> element"),n}var ih=b.createContext(void 0);ih.displayName="FrameworkContext";function cm(){let n=b.useContext(ih);return rh(n,"You must render this element inside a <HydratedRouter> element"),n}function Sx(n,e){let t=b.useContext(ih),[r,i]=b.useState(!1),[s,o]=b.useState(!1),{onFocus:a,onBlur:l,onMouseEnter:c,onMouseLeave:h,onTouchStart:d}=e,f=b.useRef(null);b.useEffect(()=>{if(n==="render"&&o(!0),n==="viewport"){let g=v=>{v.forEach(k=>{o(k.isIntersecting)})},y=new IntersectionObserver(g,{threshold:.5});return f.current&&y.observe(f.current),()=>{y.disconnect()}}},[n]),b.useEffect(()=>{if(r){let g=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(g)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return t?n!=="intent"?[s,f,{}]:[s,f,{onFocus:Qr(a,p),onBlur:Qr(l,m),onMouseEnter:Qr(c,p),onMouseLeave:Qr(h,m),onTouchStart:Qr(d,p)}]:[!1,f,{}]}function Qr(n,e){return t=>{n&&n(t),t.defaultPrevented||e(t)}}function Cx({page:n,...e}){let{router:t}=lm(),r=b.useMemo(()=>yn(t.routes,n,t.basename),[t.routes,n,t.basename]);return r?b.createElement(jx,{page:n,matches:r,...e}):null}function Ox(n){let{manifest:e,routeModules:t}=cm(),[r,i]=b.useState([]);return b.useEffect(()=>{let s=!1;return bx(n,e,t).then(o=>{s||i(o)}),()=>{s=!0}},[n,e,t]),r}function jx({page:n,matches:e,...t}){let r=Yt(),{manifest:i,routeModules:s}=cm(),{basename:o}=lm(),{loaderData:a,matches:l}=kx(),c=b.useMemo(()=>$u(n,e,l,i,r,"data"),[n,e,l,i,r]),h=b.useMemo(()=>$u(n,e,l,i,r,"assets"),[n,e,l,i,r]),d=b.useMemo(()=>{if(n===r.pathname+r.search+r.hash)return[];let m=new Set,g=!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?g=!0:m.add(v.route.id))}),m.size===0)return[];let y=px(n,o,"data");return g&&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=b.useMemo(()=>yx(h,i),[h,i]),p=Ox(h);return b.createElement(b.Fragment,null,d.map(m=>b.createElement("link",{key:m,rel:"prefetch",as:"fetch",href:m,...t})),f.map(m=>b.createElement("link",{key:m,rel:"modulepreload",href:m,...t})),p.map(({key:m,link:g})=>b.createElement("link",{key:m,nonce:t.nonce,...g})))}function Px(...n){return e=>{n.forEach(t=>{typeof t=="function"?t(e):t!=null&&(t.current=e)})}}var Mx=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Mx&&(window.__reactRouterVersion="7.11.0")}catch{}function Ax(n,e){return ny({basename:e?.basename,getContext:e?.getContext,future:e?.future,history:y1({window:e?.window}),hydrationData:Dx(),routes:n,mapRouteProperties:Xy,hydrationRouteProperties:Zy,dataStrategy:e?.dataStrategy,patchRoutesOnNavigation:e?.patchRoutesOnNavigation,window:e?.window,unstable_instrumentations:e?.unstable_instrumentations}).initialize()}function Dx(){let n=window?.__staticRouterHydrationData;return n&&n.errors&&(n={...n,errors:Tx(n.errors)}),n}function Tx(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 Os(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 hm=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,um=b.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:g,unstable_useTransitions:y}=b.useContext(pt),v=typeof c=="string"&&hm.test(c),k=zp(c,g);c=k.to;let S=Ey(c,{relative:i}),[P,O,M]=Sx(r,p),x=Lx(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=b.createElement("a",{...p,...M,href:k.absoluteURL||S,onClick:k.isExternal||s?e:D,ref:Px(m,O),target:l,"data-discover":!v&&t==="render"?"true":void 0});return P&&!v?b.createElement(b.Fragment,null,T,b.createElement(Cx,{page:S})):T});um.displayName="Link";var Nx=b.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=Ms(o,{relative:c.relative}),f=Yt(),p=b.useContext(Ps),{navigator:m,basename:g}=b.useContext(pt),y=p!=null&&Vx(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&&g&&(S=St(S,g)||S);const P=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let O=k===v||!i&&k.startsWith(v)&&k.charAt(P)==="/",M=S!=null&&(S===v||!i&&S.startsWith(v)&&S.charAt(v.length)==="/"),x={isActive:O,isPending:M,isTransitioning:y},D=O?e:void 0,T;typeof r=="function"?T=r(x):T=[r,O?"active":null,M?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let I=typeof s=="function"?s(x):s;return b.createElement(um,{...c,"aria-current":D,className:T,ref:h,style:I,to:o,viewTransition:a},typeof l=="function"?l(x):l)});Nx.displayName="NavLink";var Ex=b.forwardRef(({discover:n="render",fetcherKey:e,navigate:t,reloadDocument:r,replace:i,state:s,method:o=Do,action:a,onSubmit:l,relative:c,preventScrollReset:h,viewTransition:d,unstable_defaultShouldRevalidate:f,...p},m)=>{let{unstable_useTransitions:g}=b.useContext(pt),y=$x(),v=Fx(a,{relative:c}),k=o.toLowerCase()==="get"?"get":"post",S=typeof a=="string"&&hm.test(a),P=O=>{if(l&&l(O),O.defaultPrevented)return;O.preventDefault();let M=O.nativeEvent.submitter,x=M?.getAttribute("formmethod")||o,D=()=>y(M||O.currentTarget,{fetcherKey:e,method:x,navigate:t,replace:i,state:s,relative:c,preventScrollReset:h,viewTransition:d,unstable_defaultShouldRevalidate:f});g&&t!==!1?b.startTransition(()=>D()):D()};return b.createElement("form",{ref:m,method:k,action:v,onSubmit:r?l:P,...p,"data-discover":!S&&n==="render"?"true":void 0})});Ex.displayName="Form";function Rx(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function dm(n){let e=b.useContext(rr);return he(e,Rx(n)),e}function Lx(n,{target:e,replace:t,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a,unstable_useTransitions:l}={}){let c=fn(),h=Yt(),d=Ms(n,{relative:s});return b.useCallback(f=>{if(hx(f,e)){f.preventDefault();let p=t!==void 0?t:qt(h)===qt(d),m=()=>c(n,{replace:p,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a});l?b.startTransition(()=>m()):m()}},[h,c,d,t,r,e,n,i,s,o,a,l])}var Ix=0,Bx=()=>`__${String(++Ix)}__`;function $x(){let{router:n}=dm("useSubmit"),{basename:e}=b.useContext(pt),t=Ky(),r=n.fetch,i=n.navigate;return b.useCallback(async(s,o={})=>{let{action:a,method:l,encType:c,formData:h,body:d}=fx(s,e);if(o.navigate===!1){let f=o.fetcherKey||Bx();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 Fx(n,{relative:e}={}){let{basename:t}=b.useContext(pt),r=b.useContext(Ot);he(r,"useFormAction must be used inside a RouteContext");let[i]=r.matches.slice(-1),s={...Ms(n||".",{relative:e})},o=Yt();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:Kt([t,s.pathname])),qt(s)}function Vx(n,{relative:e}={}){let t=b.useContext(Zc);he(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=dm("useViewTransitionState"),i=Ms(n,{relative:e});if(!t.isTransitioning)return!1;let s=St(t.currentLocation.pathname,r)||t.currentLocation.pathname,o=St(t.nextLocation.pathname,r)||t.nextLocation.pathname;return Ho(i.pathname,o)!=null||Ho(i.pathname,s)!=null}function zx(n){return b.createElement(tx,{flushSync:Tp.flushSync,...n})}const Hx={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",componentFilterUpToDate:"Up to date",componentFilterCli:"CLI",componentFilterKits:"Kits",noComponentsMatchFilter:"No components match the current filter.",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:"Port 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",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",componentFilterUpToDate:"Đã cập nhật",componentFilterCli:"CLI",componentFilterKits:"Kit",noComponentsMatchFilter:"Không có thành phần phù hợp bộ lọc hiện tại.",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",developmentFeature:"Đang phát triển",betaFeature:"Beta",experimentalFeature:"Thử nghiệm"}},sh=b.createContext(null),fm="ck-dashboard-lang";function Wx(){const n=localStorage.getItem(fm);return n==="en"||n==="vi"?n:navigator.language.startsWith("vi")?"vi":"en"}function _x({children:n}){const[e,t]=b.useState(Wx),r=s=>{localStorage.setItem(fm,s),t(s)},i=s=>Hx[e][s];return u.jsx(sh.Provider,{value:{lang:e,setLang:r,t:i},children:n})}function ve(){const n=b.useContext(sh);if(!n)throw new Error("useI18n must be used within I18nProvider");return n}class Ux extends b.Component{constructor(){super(...arguments);cu(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(sh.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 ki=({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=Qt(),p;p=f;let m=p.pathname||"/",g=m;if(h!=="/"){let k=h.replace(/^\//,"").split("/");g="/"+m.replace(/^\//,"").split("/").slice(k.length).join("/")}let y=xn(n,{pathname:g});return Te(d||y!=null,`No routes matched location "${p.pathname}${p.search}${p.hash}" `),Te(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.`),Wy(y&&y.map(k=>Object.assign({},k,{params:Object.assign({},l,k.params),pathname:Gt([h,s.encodeLocation?s.encodeLocation(k.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:k.pathname]),pathnameBase:k.pathnameBase==="/"?h:Gt([h,s.encodeLocation?s.encodeLocation(k.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:k.pathnameBase])})),o,t,r,i)}function Fy(){let n=qy(),e=Si(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=b.createElement(b.Fragment,null,b.createElement("p",null,"💿 Hey developer 👋"),b.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",b.createElement("code",{style:s},"ErrorBoundary")," or"," ",b.createElement("code",{style:s},"errorElement")," prop on your route.")),b.createElement(b.Fragment,null,b.createElement("h2",null,"Unexpected Application Error!"),b.createElement("h3",{style:{fontStyle:"italic"}},e),t?b.createElement("pre",{style:i},t):null,o)}var Vy=b.createElement(Fy,null),cm=class extends b.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=Ey(n.digest);t&&(n=t)}let e=n!==void 0?b.createElement(jt.Provider,{value:this.props.routeContext},b.createElement(rh.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?b.createElement(zy,{error:n},e):e}};cm.contextType=nm;var Ja=new WeakMap;function zy({children:n,error:e}){let{basename:t}=b.useContext(mt);if(typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){let r=Ny(e.digest);if(r){let i=Ja.get(e);if(i)throw i;let s=_p(r.location,t);if(Wp&&!Ja.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 Ja.set(e,o),o}return b.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s.absoluteURL||s.to}`})}}return n}function Hy({routeContext:n,match:e,children:t}){let r=b.useContext(ir);return r&&r.static&&r.staticContext&&(e.route.errorElement||e.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=e.route.id),b.createElement(jt.Provider,{value:n},t)}function Wy(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);he(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:Ms(t.matches),errorInfo:d})}:void 0;return s.reduceRight((h,d,f)=>{let p,m=!1,g=null,y=null;t&&(p=o&&d.route.id?o[d.route.id]:void 0,g=d.route.errorElement||Vy,a&&(l<0&&f===0?(hm("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=g:m?S=y:d.route.Component?S=b.createElement(d.route.Component,null):d.route.element?S=d.route.element:S=h,b.createElement(Hy,{match:d,routeContext:{outlet:h,matches:v,isDataRoute:t!=null},children:S})};return t&&(d.route.ErrorBoundary||d.route.errorElement||f===0)?b.createElement(cm,{location:t.location,revalidation:t.revalidation,component:g,error:p,children:k(),routeContext:{outlet:null,matches:v,isDataRoute:!0},onError:c}):k()},null)}function ih(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function _y(n){let e=b.useContext(ir);return he(e,ih(n)),e}function Uy(n){let e=b.useContext(As);return he(e,ih(n)),e}function Ky(n){let e=b.useContext(jt);return he(e,ih(n)),e}function sh(n){let e=Ky(n),t=e.matches[e.matches.length-1];return he(t.route.id,`${n} can only be used on routes that contain a unique "id"`),t.route.id}function Gy(){return sh("useRouteId")}function qy(){let n=b.useContext(rh),e=Uy("useRouteError"),t=sh("useRouteError");return n!==void 0?n:e.errors?.[t]}function Yy(){let{router:n}=_y("useNavigate"),e=sh("useNavigate"),t=b.useRef(!1);return om(()=>{t.current=!0}),b.useCallback(async(i,s={})=>{Te(t.current,sm),t.current&&(typeof i=="number"?await n.navigate(i):await n.navigate(i,{fromRouteId:e,...s}))},[n,e])}var Iu={};function hm(n,e,t){!e&&!Iu[n]&&(Iu[n]=!0,Te(!1,t))}var Bu={};function $u(n,e){!n&&!Bu[e]&&(Bu[e]=!0,console.warn(e))}var Qy="useOptimistic",Fu=c1[Qy],Jy=()=>{};function Xy(n){return Fu?Fu(n):[n,Jy]}function Zy(n){let e={hasErrorBoundary:n.hasErrorBoundary||n.ErrorBoundary!=null||n.errorElement!=null};return n.Component&&(n.element&&Te(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(e,{element:b.createElement(n.Component),Component:void 0})),n.HydrateFallback&&(n.hydrateFallbackElement&&Te(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(e,{hydrateFallbackElement:b.createElement(n.HydrateFallback),HydrateFallback:void 0})),n.ErrorBoundary&&(n.errorElement&&Te(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(e,{errorElement:b.createElement(n.ErrorBoundary),ErrorBoundary:void 0})),e}var ex=["HydrateFallback","hydrateFallbackElement"],tx=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 nx({router:n,flushSync:e,onError:t,unstable_useTransitions:r}){r=My()||r;let[s,o]=b.useState(n.state),[a,l]=Xy(s),[c,h]=b.useState(),[d,f]=b.useState({isTransitioning:!1}),[p,m]=b.useState(),[g,y]=b.useState(),[v,k]=b.useState(),S=b.useRef(new Map),P=b.useCallback((D,{deletedFetchers:T,newErrors:R,flushSync:L,viewTransitionOpts:$})=>{R&&t&&Object.values(R).forEach(_=>t(_,{location:D.location,params:D.matches[0]?.params??{},unstable_pattern:Ms(D.matches)})),D.fetchers.forEach((_,V)=>{_.data!==void 0&&S.current.set(V,_.data)}),T.forEach(_=>S.current.delete(_)),$u(L===!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 U=n.window!=null&&n.window.document!=null&&typeof n.window.document.startViewTransition=="function";if($u($==null||U,"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."),!$||!U){e&&L?e(()=>o(D)):r===!1?o(D):b.startTransition(()=>{r===!0&&l(_=>Vu(_,D)),o(D)});return}if(e&&L){e(()=>{g&&(p?.resolve(),g.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:$.currentLocation,nextLocation:$.nextLocation})});let _=n.window.document.startViewTransition(()=>{e(()=>o(D))});_.finished.finally(()=>{e(()=>{m(void 0),y(void 0),h(void 0),f({isTransitioning:!1})})}),e(()=>y(_));return}g?(p?.resolve(),g.skipTransition(),k({state:D,currentLocation:$.currentLocation,nextLocation:$.nextLocation})):(h(D),f({isTransitioning:!0,flushSync:!1,currentLocation:$.currentLocation,nextLocation:$.nextLocation}))},[n.window,e,g,p,r,l,t]);b.useLayoutEffect(()=>n.subscribe(P),[n,P]),b.useEffect(()=>{d.isTransitioning&&!d.flushSync&&m(new tx)},[d]),b.useEffect(()=>{if(p&&c&&n.window){let D=c,T=p.promise,R=n.window.document.startViewTransition(async()=>{r===!1?o(D):b.startTransition(()=>{r===!0&&l(L=>Vu(L,D)),o(D)}),await T});R.finished.finally(()=>{m(void 0),y(void 0),h(void 0),f({isTransitioning:!1})}),y(R)}},[c,p,n.window,r,l]),b.useEffect(()=>{p&&c&&a.location.key===c.location.key&&p.resolve()},[p,g,a.location,c]),b.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 O=b.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:D=>n.navigate(D),push:(D,T,R)=>n.navigate(D,{state:T,preventScrollReset:R?.preventScrollReset}),replace:(D,T,R)=>n.navigate(D,{replace:!0,state:T,preventScrollReset:R?.preventScrollReset})}),[n]),M=n.basename||"/",x=b.useMemo(()=>({router:n,navigator:O,static:!1,basename:M,onError:t}),[n,O,M,t]);return b.createElement(b.Fragment,null,b.createElement(ir.Provider,{value:x},b.createElement(As.Provider,{value:a},b.createElement(rm.Provider,{value:S.current},b.createElement(nh.Provider,{value:d},b.createElement(ox,{basename:M,location:a.location,navigationType:a.historyAction,navigator:O,unstable_useTransitions:r},b.createElement(rx,{routes:n.routes,future:n.future,state:a,onError:t})))))),null)}function Vu(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 rx=b.memo(ix);function ix({routes:n,future:e,state:t,onError:r}){return $y(n,void 0,t,r,e)}function Xa({to:n,replace:e,state:t,relative:r}){he(Lr(),"<Navigate> may be used only in the context of a <Router> component.");let{static:i}=b.useContext(mt);Te(!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}=b.useContext(jt),{pathname:o}=Qt(),a=fn(),l=wa(n,va(s),o,r==="path"),c=JSON.stringify(l);return b.useEffect(()=>{a(JSON.parse(c),{replace:e,state:t,relative:r})},[a,c,r,e,t]),null}function sx(n){return By(n.context)}function ox({basename:n="/",children:e=null,location:t,navigationType:r="POP",navigator:i,static:s=!1,unstable_useTransitions:o}){he(!Lr(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let a=n.replace(/^\/*/,"/"),l=b.useMemo(()=>({basename:a,navigator:i,static:s,unstable_useTransitions:o,future:{}}),[a,i,s,o]);typeof t=="string"&&(t=Rn(t));let{pathname:c="/",search:h="",hash:d="",state:f=null,key:p="default"}=t,m=b.useMemo(()=>{let g=Ct(c,a);return g==null?null:{location:{pathname:g,search:h,hash:d,state:f,key:p},navigationType:r}},[a,c,h,d,f,p,r]);return Te(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:b.createElement(mt.Provider,{value:l},b.createElement(ka.Provider,{children:e,value:m}))}var No="get",Eo="application/x-www-form-urlencoded";function Sa(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function ax(n){return Sa(n)&&n.tagName.toLowerCase()==="button"}function lx(n){return Sa(n)&&n.tagName.toLowerCase()==="form"}function cx(n){return Sa(n)&&n.tagName.toLowerCase()==="input"}function hx(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function ux(n,e){return n.button===0&&(!e||e==="_self")&&!hx(n)}var eo=null;function dx(){if(eo===null)try{new FormData(document.createElement("form"),0),eo=!1}catch{eo=!0}return eo}var fx=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Za(n){return n!=null&&!fx.has(n)?(Te(!1,`"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Eo}"`),null):n}function px(n,e){let t,r,i,s,o;if(lx(n)){let a=n.getAttribute("action");r=a?Ct(a,e):null,t=n.getAttribute("method")||No,i=Za(n.getAttribute("enctype"))||Eo,s=new FormData(n)}else if(ax(n)||cx(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?Ct(l,e):null,t=n.getAttribute("formmethod")||a.getAttribute("method")||No,i=Za(n.getAttribute("formenctype"))||Za(a.getAttribute("enctype"))||Eo,s=new FormData(a,n),!dx()){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(Sa(n))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=No,r=null,i=Eo,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 oh(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function mx(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&&Ct(r.pathname,e)==="/"?r.pathname=`${e.replace(/\/$/,"")}/_root.${t}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${t}`,r}async function gx(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 bx(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 yx(n,e,t){let r=await Promise.all(n.map(async i=>{let s=e.routes[i.route.id];if(s){let o=await gx(s,t);return o.links?o.links():[]}return[]}));return kx(r.flat(1).filter(bx).filter(i=>i.rel==="stylesheet"||i.rel==="preload").map(i=>i.rel==="stylesheet"?{...i,rel:"prefetch",as:"style"}:{...i,rel:"prefetch"}))}function zu(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 xx(n,e,{includeHydrateFallback:t}={}){return vx(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 vx(n){return[...new Set(n)]}function wx(n){let e={},t=Object.keys(n).sort();for(let r of t)e[r]=n[r];return e}function kx(n,e){let t=new Set;return new Set(e),n.reduce((r,i)=>{let s=JSON.stringify(wx(i));return t.has(s)||(t.add(s),r.push({key:s,link:i})),r},[])}function um(){let n=b.useContext(ir);return oh(n,"You must render this element inside a <DataRouterContext.Provider> element"),n}function Sx(){let n=b.useContext(As);return oh(n,"You must render this element inside a <DataRouterStateContext.Provider> element"),n}var ah=b.createContext(void 0);ah.displayName="FrameworkContext";function dm(){let n=b.useContext(ah);return oh(n,"You must render this element inside a <HydratedRouter> element"),n}function Cx(n,e){let t=b.useContext(ah),[r,i]=b.useState(!1),[s,o]=b.useState(!1),{onFocus:a,onBlur:l,onMouseEnter:c,onMouseLeave:h,onTouchStart:d}=e,f=b.useRef(null);b.useEffect(()=>{if(n==="render"&&o(!0),n==="viewport"){let g=v=>{v.forEach(k=>{o(k.isIntersecting)})},y=new IntersectionObserver(g,{threshold:.5});return f.current&&y.observe(f.current),()=>{y.disconnect()}}},[n]),b.useEffect(()=>{if(r){let g=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(g)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return t?n!=="intent"?[s,f,{}]:[s,f,{onFocus:Xr(a,p),onBlur:Xr(l,m),onMouseEnter:Xr(c,p),onMouseLeave:Xr(h,m),onTouchStart:Xr(d,p)}]:[!1,f,{}]}function Xr(n,e){return t=>{n&&n(t),t.defaultPrevented||e(t)}}function Ox({page:n,...e}){let{router:t}=um(),r=b.useMemo(()=>xn(t.routes,n,t.basename),[t.routes,n,t.basename]);return r?b.createElement(Px,{page:n,matches:r,...e}):null}function jx(n){let{manifest:e,routeModules:t}=dm(),[r,i]=b.useState([]);return b.useEffect(()=>{let s=!1;return yx(n,e,t).then(o=>{s||i(o)}),()=>{s=!0}},[n,e,t]),r}function Px({page:n,matches:e,...t}){let r=Qt(),{manifest:i,routeModules:s}=dm(),{basename:o}=um(),{loaderData:a,matches:l}=Sx(),c=b.useMemo(()=>zu(n,e,l,i,r,"data"),[n,e,l,i,r]),h=b.useMemo(()=>zu(n,e,l,i,r,"assets"),[n,e,l,i,r]),d=b.useMemo(()=>{if(n===r.pathname+r.search+r.hash)return[];let m=new Set,g=!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?g=!0:m.add(v.route.id))}),m.size===0)return[];let y=mx(n,o,"data");return g&&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=b.useMemo(()=>xx(h,i),[h,i]),p=jx(h);return b.createElement(b.Fragment,null,d.map(m=>b.createElement("link",{key:m,rel:"prefetch",as:"fetch",href:m,...t})),f.map(m=>b.createElement("link",{key:m,rel:"modulepreload",href:m,...t})),p.map(({key:m,link:g})=>b.createElement("link",{key:m,nonce:t.nonce,...g})))}function Mx(...n){return e=>{n.forEach(t=>{typeof t=="function"?t(e):t!=null&&(t.current=e)})}}var Ax=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Ax&&(window.__reactRouterVersion="7.11.0")}catch{}function Dx(n,e){return ry({basename:e?.basename,getContext:e?.getContext,future:e?.future,history:x1({window:e?.window}),hydrationData:Tx(),routes:n,mapRouteProperties:Zy,hydrationRouteProperties:ex,dataStrategy:e?.dataStrategy,patchRoutesOnNavigation:e?.patchRoutesOnNavigation,window:e?.window,unstable_instrumentations:e?.unstable_instrumentations}).initialize()}function Tx(){let n=window?.__staticRouterHydrationData;return n&&n.errors&&(n={...n,errors:Nx(n.errors)}),n}function Nx(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 Ps(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 fm=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,pm=b.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:g,unstable_useTransitions:y}=b.useContext(mt),v=typeof c=="string"&&fm.test(c),k=_p(c,g);c=k.to;let S=Ry(c,{relative:i}),[P,O,M]=Cx(r,p),x=Ix(c,{replace:o,state:a,target:l,preventScrollReset:h,relative:i,viewTransition:d,unstable_defaultShouldRevalidate:f,unstable_useTransitions:y});function D(R){e&&e(R),R.defaultPrevented||x(R)}let T=b.createElement("a",{...p,...M,href:k.absoluteURL||S,onClick:k.isExternal||s?e:D,ref:Mx(m,O),target:l,"data-discover":!v&&t==="render"?"true":void 0});return P&&!v?b.createElement(b.Fragment,null,T,b.createElement(Ox,{page:S})):T});pm.displayName="Link";var Ex=b.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=Ds(o,{relative:c.relative}),f=Qt(),p=b.useContext(As),{navigator:m,basename:g}=b.useContext(mt),y=p!=null&&zx(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&&g&&(S=Ct(S,g)||S);const P=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let O=k===v||!i&&k.startsWith(v)&&k.charAt(P)==="/",M=S!=null&&(S===v||!i&&S.startsWith(v)&&S.charAt(v.length)==="/"),x={isActive:O,isPending:M,isTransitioning:y},D=O?e:void 0,T;typeof r=="function"?T=r(x):T=[r,O?"active":null,M?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let R=typeof s=="function"?s(x):s;return b.createElement(pm,{...c,"aria-current":D,className:T,ref:h,style:R,to:o,viewTransition:a},typeof l=="function"?l(x):l)});Ex.displayName="NavLink";var Rx=b.forwardRef(({discover:n="render",fetcherKey:e,navigate:t,reloadDocument:r,replace:i,state:s,method:o=No,action:a,onSubmit:l,relative:c,preventScrollReset:h,viewTransition:d,unstable_defaultShouldRevalidate:f,...p},m)=>{let{unstable_useTransitions:g}=b.useContext(mt),y=Fx(),v=Vx(a,{relative:c}),k=o.toLowerCase()==="get"?"get":"post",S=typeof a=="string"&&fm.test(a),P=O=>{if(l&&l(O),O.defaultPrevented)return;O.preventDefault();let M=O.nativeEvent.submitter,x=M?.getAttribute("formmethod")||o,D=()=>y(M||O.currentTarget,{fetcherKey:e,method:x,navigate:t,replace:i,state:s,relative:c,preventScrollReset:h,viewTransition:d,unstable_defaultShouldRevalidate:f});g&&t!==!1?b.startTransition(()=>D()):D()};return b.createElement("form",{ref:m,method:k,action:v,onSubmit:r?l:P,...p,"data-discover":!S&&n==="render"?"true":void 0})});Rx.displayName="Form";function Lx(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function mm(n){let e=b.useContext(ir);return he(e,Lx(n)),e}function Ix(n,{target:e,replace:t,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a,unstable_useTransitions:l}={}){let c=fn(),h=Qt(),d=Ds(n,{relative:s});return b.useCallback(f=>{if(ux(f,e)){f.preventDefault();let p=t!==void 0?t:Yt(h)===Yt(d),m=()=>c(n,{replace:p,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a});l?b.startTransition(()=>m()):m()}},[h,c,d,t,r,e,n,i,s,o,a,l])}var Bx=0,$x=()=>`__${String(++Bx)}__`;function Fx(){let{router:n}=mm("useSubmit"),{basename:e}=b.useContext(mt),t=Gy(),r=n.fetch,i=n.navigate;return b.useCallback(async(s,o={})=>{let{action:a,method:l,encType:c,formData:h,body:d}=px(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 Vx(n,{relative:e}={}){let{basename:t}=b.useContext(mt),r=b.useContext(jt);he(r,"useFormAction must be used inside a RouteContext");let[i]=r.matches.slice(-1),s={...Ds(n||".",{relative:e})},o=Qt();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:Gt([t,s.pathname])),Yt(s)}function zx(n,{relative:e}={}){let t=b.useContext(nh);he(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=mm("useViewTransitionState"),i=Ds(n,{relative:e});if(!t.isTransitioning)return!1;let s=Ct(t.currentLocation.pathname,r)||t.currentLocation.pathname,o=Ct(t.nextLocation.pathname,r)||t.nextLocation.pathname;return _o(i.pathname,o)!=null||_o(i.pathname,s)!=null}function Hx(n){return b.createElement(nx,{flushSync:Rp.flushSync,...n})}const Wx={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",componentFilterUpToDate:"Up to date",componentFilterCli:"CLI",componentFilterKits:"Kits",noComponentsMatchFilter:"No components match the current filter.",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:"Port 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",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",componentFilterUpToDate:"Đã cập nhật",componentFilterCli:"CLI",componentFilterKits:"Kit",noComponentsMatchFilter:"Không có thành phần phù hợp bộ lọc hiện tại.",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",developmentFeature:"Đang phát triển",betaFeature:"Beta",experimentalFeature:"Thử nghiệm"}},lh=b.createContext(null),gm="ck-dashboard-lang";function _x(){const n=localStorage.getItem(gm);return n==="en"||n==="vi"?n:navigator.language.startsWith("vi")?"vi":"en"}function Ux({children:n}){const[e,t]=b.useState(_x),r=s=>{localStorage.setItem(gm,s),t(s)},i=s=>Wx[e][s];return u.jsx(lh.Provider,{value:{lang:e,setLang:r,t:i},children:n})}function xe(){const n=b.useContext(lh);if(!n)throw new Error("useI18n must be used within I18nProvider");return n}class Kx extends b.Component{constructor(){super(...arguments);du(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(lh.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 Ci=({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 vn=(n=>(n.HEALTHY="healthy",n.WARNING="warning",n.ERROR="error",n.LOADING="loading",n.UNKNOWN="unknown",n))(vn||{}),Vt=(n=>(n.ENGINEER="engineer",n.MARKETING="marketing",n.ARCHITECT="architect",n.RESEARCHER="researcher",n.DEVOP="devops",n))(Vt||{});const Kx=({isOpen:n,onClose:e,onAdd:t})=>{const{t:r}=ve(),[i,s]=b.useState(""),[o,a]=b.useState(""),[l,c]=b.useState(!1),[h,d]=b.useState(null);b.useEffect(()=>{n||(s(""),a(""),d(null),c(!1))},[n]),b.useEffect(()=>{if(!n)return;const p=m=>{m.key==="Escape"&&e()};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[n]),b.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},Gx=({vertical:n=!1})=>{const{lang:e,setLang:t}=ve();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"})]})},qx=({projects:n,currentProjectId:e,isCollapsed:t,width:r,isConnected:i,theme:s,onSwitchProject:o,onToggle:a,onAddProject:l,onToggleTheme:c})=>{const{t:h}=ve(),d=fn(),f=Yt(),[p,m]=b.useState(!1),g=f.pathname==="/config/global",y=f.pathname==="/migrate"||f.pathname==="/skills",v=[...n].filter(O=>!O.path.endsWith("/.claude")&&O.path!=="~/.claude").sort((O,M)=>O.pinned&&!M.pinned?-1:!O.pinned&&M.pinned?1:O.name.localeCompare(M.name)),k=r?{width:`${r}px`}:void 0,S=r?"":t?"w-14":"w-72",P=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 ${P?"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"}),P&&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:`${P?"px-4":"px-2"} py-2 space-y-1`,children:[P&&u.jsx("p",{className:"px-2 pb-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h("settingsSection")}),u.jsx(Fu,{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:!P,active:g,onClick:()=>d("/config/global")}),u.jsx(Fu,{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:!P,active:y,onClick:()=>d("/migrate")})]}),u.jsxs("div",{className:`flex-1 overflow-y-auto overflow-x-hidden ${P?"px-4":"px-2"} py-2 space-y-1 border-t border-dash-border`,children:[P&&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(O=>{const M=f.pathname.endsWith("/config"),x=e===O.id&&!g&&!M&&!y;return u.jsxs("button",{onClick:()=>o(O.id),className:`w-full group relative flex items-center ${P?"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 ${O.health===vn.HEALTHY?"bg-dash-accent":O.health===vn.WARNING?"bg-orange-400":"bg-red-500"} ${x?"animate-pulse":""}`}),P&&u.jsxs(u.Fragment,{children:[O.pinned&&u.jsx("span",{className:"text-xs",children:"📌"}),u.jsx("span",{className:"text-sm font-medium truncate",children:O.name})]}),!P&&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:[O.pinned&&"📌 ",O.name]})]},O.id)}),u.jsxs("button",{onClick:()=>m(!0),className:`w-full flex items-center ${P?"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:`${P?"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"})})}),P&&u.jsx("span",{className:"text-sm font-medium",children:h("addProject")})]})]}),u.jsx(Kx,{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 ${P?"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"}`}),P&&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 ${P?"":"flex-col"}`,children:[u.jsx(Gx,{vertical:!P}),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"})})})]})]})})]})},Fu=({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})]}),jt="/api";class Ja extends Error{constructor(){super("Backend server is not running. Start it with: ck config"),this.name="ServerUnavailableError"}}async function Qt(){try{if(!(await fetch(`${jt}/health`,{method:"GET"})).ok)throw new Ja}catch(n){throw n instanceof Ja?n:new Ja}}function oh(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 pm(){await Qt();const n=await fetch(`${jt}/projects`);if(!n.ok)throw new Error("Failed to fetch projects");return(await n.json()).map(oh)}async function Yx(){await Qt();const n=await fetch(`${jt}/skills`);if(!n.ok)throw new Error("Failed to fetch skills");return n.json()}async function Qx(n,e){try{await Qt();const t=e!==void 0?`?limit=${e}`:"",r=await fetch(`${jt}/sessions/${encodeURIComponent(n)}${t}`);return r.ok?r.json():[]}catch{return[]}}async function Jx(n,e){await Qt();const t=await fetch(`${jt}/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 Xx(n){await Qt();const e=await fetch(`${jt}/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 oh(t)}async function Zx(n){await Qt();const e=await fetch(`${jt}/projects/${encodeURIComponent(n)}`,{method:"DELETE"});if(!e.ok){const t=await e.text();throw new Error(t||"Failed to remove project")}}async function ev(n,e){await Qt();const t=await fetch(`${jt}/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 oh(r)}async function tv(){const n=await fetch(`${jt}/metadata/global`);return n.ok?n.json():(console.error("Failed to fetch global metadata"),{})}async function nv(){await Qt();const n=await fetch(`${jt}/migrate/providers`);if(!n.ok)throw new Error("Failed to fetch migration providers");return n.json()}async function Vu(){await Qt();const n=await fetch(`${jt}/migrate/discovery`);if(!n.ok)throw new Error("Failed to discover migration items");return n.json()}function mm(n){if(typeof n=="string"){const e=n.trim();if(!e)return null;if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return mm(JSON.parse(e))??e}catch{return e}return e}if(typeof n=="object"&&n!==null){const e=n;for(const t of["message","error","detail","details","reason"]){const r=e[t];if(typeof r=="string"&&r.trim())return r.trim()}}return null}function zu(n){try{return JSON.parse(`"${n}"`)}catch{return n}}function rv(n){const e=n.trim();if(!e)return null;try{return mm(JSON.parse(e))??e}catch{}const t=e.match(/"message"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"/);if(t?.[1])return zu(t[1]);const r=e.match(/"error"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"/);return r?.[1]?zu(r[1]):e}async function iv(n){await Qt();const e=await fetch(`${jt}/migrate/execute`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const t=await e.text(),r=rv(t);throw new Error(r||"Failed to execute migration")}return e.json()}function sv(){const[n,e]=b.useState([]),[t,r]=b.useState(!0),[i,s]=b.useState(null),o=b.useCallback(async()=>{try{r(!0),s(null);const a=await Yx();e(a)}catch(a){s(a instanceof Error?a.message:"Failed to load skills")}finally{r(!1)}},[]);return b.useEffect(()=>{o()},[o]),{skills:n,loading:t,error:i,reload:o}}function ov(n){const[e,t]=b.useState([]),[r,i]=b.useState(!1),[s,o]=b.useState(null),a=b.useCallback(async()=>{if(!n){t([]);return}try{i(!0),o(null);const l=await Qx(n,999);t(l)}catch(l){o(l instanceof Error?l.message:"Failed to load sessions")}finally{i(!1)}},[n]);return b.useEffect(()=>{a()},[a]),{sessions:e,loading:r,error:s,reload:a}}function av(){const[n,e]=b.useState([]),[t,r]=b.useState(!0),[i,s]=b.useState(null),o=b.useCallback(async()=>{try{r(!0),s(null);const h=await pm();e(h)}catch(h){s(h instanceof Error?h.message:"Failed to load projects")}finally{r(!1)}},[]),a=b.useCallback(async h=>{const d=await Xx(h);return await o(),d},[o]),l=b.useCallback(async h=>{await Zx(h),await o()},[o]),c=b.useCallback(async(h,d)=>{const f=await ev(h,d);return await o(),f},[o]);return b.useEffect(()=>{o()},[o]),{projects:n,loading:t,error:i,reload:o,addProject:a,removeProject:l,updateProject:c}}function lv({storageKey:n,defaultSize:e,minSize:t,maxSize:r,direction:i="horizontal"}){const[s,o]=b.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]=b.useState(!1);b.useEffect(()=>{localStorage.setItem(n,String(s))},[s,n]);const c=b.useCallback(f=>{f.preventDefault(),l(!0);const p=i==="horizontal"?f.clientX:f.clientY,m=s,g=v=>{const S=(i==="horizontal"?v.clientX:v.clientY)-p,P=Math.max(t,Math.min(r,m+S));o(P)},y=()=>{l(!1),document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",y),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",g),document.addEventListener("mouseup",y),document.body.style.cursor=i==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none"},[s,t,r,i]),h=b.useCallback(()=>{o(e)},[e]),d=b.useCallback(f=>{o(Math.max(t,Math.min(r,f)))},[t,r]);return{size:s,isDragging:a,startDrag:c,setSize:d,reset:h}}const cv=()=>{const{t:n}=ve(),e=fn(),t=Yt(),{projectId:r}=sm(),[i,s]=b.useState(null);b.useEffect(()=>{r&&s(r)},[r]);const[o,a]=b.useState(()=>typeof window<"u"&&localStorage.getItem("claudekit-theme")||"dark"),[l]=b.useState(!0),{size:c,isDragging:h,startDrag:d,setSize:f}=lv({storageKey:"claudekit-sidebar-width",defaultSize:288,minSize:56,maxSize:400}),p=c<=56,{projects:m,loading:g,error:y,addProject:v}=av(),k=async x=>{await v(x)};b.useEffect(()=>{const x=t.pathname.startsWith("/project/");m.length===0||r||!x||e(`/project/${m[0].id}`,{replace:!0})},[m,r,e,t.pathname]),b.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"),P=b.useMemo(()=>m.find(x=>x.id===i)||null,[m,i]),O=x=>{e(`/project/${x}`)},M=()=>{f(p?288:56)};return g?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(qx,{projects:m,currentProjectId:i,isCollapsed:p,width:c,isConnected:l,theme:o,onSwitchProject:O,onToggle:M,onAddProject:k,onToggleTheme:S}),u.jsx(ki,{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(ix,{context:{project:P,isConnected:l,theme:o,onToggleTheme:S}})})})]})},gm=({title:n,filePath:e,onBack:t,onSave:r,onReset:i,saveStatus:s,syntaxError:o,showResetConfirm:a,setShowResetConfirm:l,badge:c})=>{const{t:h}=ve();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 hv(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 ec(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 uv(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 dv=({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 wn=(n=>(n.HEALTHY="healthy",n.WARNING="warning",n.ERROR="error",n.LOADING="loading",n.UNKNOWN="unknown",n))(wn||{}),zt=(n=>(n.ENGINEER="engineer",n.MARKETING="marketing",n.ARCHITECT="architect",n.RESEARCHER="researcher",n.DEVOP="devops",n))(zt||{});const Gx=({isOpen:n,onClose:e,onAdd:t})=>{const{t:r}=xe(),[i,s]=b.useState(""),[o,a]=b.useState(""),[l,c]=b.useState(!1),[h,d]=b.useState(null);b.useEffect(()=>{n||(s(""),a(""),d(null),c(!1))},[n]),b.useEffect(()=>{if(!n)return;const p=m=>{m.key==="Escape"&&e()};return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[n]),b.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},qx=({vertical:n=!1})=>{const{lang:e,setLang:t}=xe();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"})]})},Yx=({projects:n,currentProjectId:e,isCollapsed:t,width:r,isConnected:i,theme:s,onSwitchProject:o,onToggle:a,onAddProject:l,onToggleTheme:c})=>{const{t:h}=xe(),d=fn(),f=Qt(),[p,m]=b.useState(!1),g=f.pathname==="/config/global",y=f.pathname==="/migrate"||f.pathname==="/skills",v=[...n].filter(O=>!O.path.endsWith("/.claude")&&O.path!=="~/.claude").sort((O,M)=>O.pinned&&!M.pinned?-1:!O.pinned&&M.pinned?1:O.name.localeCompare(M.name)),k=r?{width:`${r}px`}:void 0,S=r?"":t?"w-14":"w-72",P=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 ${P?"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"}),P&&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:`${P?"px-4":"px-2"} py-2 space-y-1`,children:[P&&u.jsx("p",{className:"px-2 pb-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h("settingsSection")}),u.jsx(Hu,{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:!P,active:g,onClick:()=>d("/config/global")}),u.jsx(Hu,{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:!P,active:y,onClick:()=>d("/migrate")})]}),u.jsxs("div",{className:`flex-1 overflow-y-auto overflow-x-hidden ${P?"px-4":"px-2"} py-2 space-y-1 border-t border-dash-border`,children:[P&&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(O=>{const M=f.pathname.endsWith("/config"),x=e===O.id&&!g&&!M&&!y;return u.jsxs("button",{onClick:()=>o(O.id),className:`w-full group relative flex items-center ${P?"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 ${O.health===wn.HEALTHY?"bg-dash-accent":O.health===wn.WARNING?"bg-orange-400":"bg-red-500"} ${x?"animate-pulse":""}`}),P&&u.jsxs(u.Fragment,{children:[O.pinned&&u.jsx("span",{className:"text-xs",children:"📌"}),u.jsx("span",{className:"text-sm font-medium truncate",children:O.name})]}),!P&&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:[O.pinned&&"📌 ",O.name]})]},O.id)}),u.jsxs("button",{onClick:()=>m(!0),className:`w-full flex items-center ${P?"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:`${P?"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"})})}),P&&u.jsx("span",{className:"text-sm font-medium",children:h("addProject")})]})]}),u.jsx(Gx,{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 ${P?"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"}`}),P&&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 ${P?"":"flex-col"}`,children:[u.jsx(qx,{vertical:!P}),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"})})})]})]})})]})},Hu=({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})]}),Pt="/api";class el extends Error{constructor(){super("Backend server is not running. Start it with: ck config"),this.name="ServerUnavailableError"}}async function Jt(){try{if(!(await fetch(`${Pt}/health`,{method:"GET"})).ok)throw new el}catch(n){throw n instanceof el?n:new el}}function ch(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 bm(){await Jt();const n=await fetch(`${Pt}/projects`);if(!n.ok)throw new Error("Failed to fetch projects");return(await n.json()).map(ch)}async function Qx(){await Jt();const n=await fetch(`${Pt}/skills`);if(!n.ok)throw new Error("Failed to fetch skills");return n.json()}async function Jx(n,e){try{await Jt();const t=e!==void 0?`?limit=${e}`:"",r=await fetch(`${Pt}/sessions/${encodeURIComponent(n)}${t}`);return r.ok?r.json():[]}catch{return[]}}async function Xx(n,e){await Jt();const t=await fetch(`${Pt}/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 Zx(n){await Jt();const e=await fetch(`${Pt}/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 ch(t)}async function ev(n){await Jt();const e=await fetch(`${Pt}/projects/${encodeURIComponent(n)}`,{method:"DELETE"});if(!e.ok){const t=await e.text();throw new Error(t||"Failed to remove project")}}async function tv(n,e){await Jt();const t=await fetch(`${Pt}/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 ch(r)}async function nv(){const n=await fetch(`${Pt}/metadata/global`);return n.ok?n.json():(console.error("Failed to fetch global metadata"),{})}async function rv(){await Jt();const n=await fetch(`${Pt}/migrate/providers`);if(!n.ok)throw new Error("Failed to fetch migration providers");return n.json()}async function Wu(){await Jt();const n=await fetch(`${Pt}/migrate/discovery`);if(!n.ok)throw new Error("Failed to discover migration items");return n.json()}function ym(n){if(typeof n=="string"){const e=n.trim();if(!e)return null;if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return ym(JSON.parse(e))??e}catch{return e}return e}if(typeof n=="object"&&n!==null){const e=n;for(const t of["message","error","detail","details","reason"]){const r=e[t];if(typeof r=="string"&&r.trim())return r.trim()}}return null}function _u(n){try{return JSON.parse(`"${n}"`)}catch{return n}}function iv(n){const e=n.trim();if(!e)return null;try{return ym(JSON.parse(e))??e}catch{}const t=e.match(/"message"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"/);if(t?.[1])return _u(t[1]);const r=e.match(/"error"\s*:\s*"([^"\\]*(?:\\.[^"\\]*)*)"/);return r?.[1]?_u(r[1]):e}async function sv(n){await Jt();const e=await fetch(`${Pt}/migrate/execute`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!e.ok){const t=await e.text(),r=iv(t);throw new Error(r||"Failed to execute migration")}return e.json()}function ov(){const[n,e]=b.useState([]),[t,r]=b.useState(!0),[i,s]=b.useState(null),o=b.useCallback(async()=>{try{r(!0),s(null);const a=await Qx();e(a)}catch(a){s(a instanceof Error?a.message:"Failed to load skills")}finally{r(!1)}},[]);return b.useEffect(()=>{o()},[o]),{skills:n,loading:t,error:i,reload:o}}function av(n){const[e,t]=b.useState([]),[r,i]=b.useState(!1),[s,o]=b.useState(null),a=b.useCallback(async()=>{if(!n){t([]);return}try{i(!0),o(null);const l=await Jx(n,999);t(l)}catch(l){o(l instanceof Error?l.message:"Failed to load sessions")}finally{i(!1)}},[n]);return b.useEffect(()=>{a()},[a]),{sessions:e,loading:r,error:s,reload:a}}function lv(){const[n,e]=b.useState([]),[t,r]=b.useState(!0),[i,s]=b.useState(null),o=b.useCallback(async()=>{try{r(!0),s(null);const h=await bm();e(h)}catch(h){s(h instanceof Error?h.message:"Failed to load projects")}finally{r(!1)}},[]),a=b.useCallback(async h=>{const d=await Zx(h);return await o(),d},[o]),l=b.useCallback(async h=>{await ev(h),await o()},[o]),c=b.useCallback(async(h,d)=>{const f=await tv(h,d);return await o(),f},[o]);return b.useEffect(()=>{o()},[o]),{projects:n,loading:t,error:i,reload:o,addProject:a,removeProject:l,updateProject:c}}function cv({storageKey:n,defaultSize:e,minSize:t,maxSize:r,direction:i="horizontal"}){const[s,o]=b.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]=b.useState(!1);b.useEffect(()=>{localStorage.setItem(n,String(s))},[s,n]);const c=b.useCallback(f=>{f.preventDefault(),l(!0);const p=i==="horizontal"?f.clientX:f.clientY,m=s,g=v=>{const S=(i==="horizontal"?v.clientX:v.clientY)-p,P=Math.max(t,Math.min(r,m+S));o(P)},y=()=>{l(!1),document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",y),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",g),document.addEventListener("mouseup",y),document.body.style.cursor=i==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none"},[s,t,r,i]),h=b.useCallback(()=>{o(e)},[e]),d=b.useCallback(f=>{o(Math.max(t,Math.min(r,f)))},[t,r]);return{size:s,isDragging:a,startDrag:c,setSize:d,reset:h}}const hv=()=>{const{t:n}=xe(),e=fn(),t=Qt(),{projectId:r}=lm(),[i,s]=b.useState(null);b.useEffect(()=>{r&&s(r)},[r]);const[o,a]=b.useState(()=>typeof window<"u"&&localStorage.getItem("claudekit-theme")||"dark"),[l]=b.useState(!0),{size:c,isDragging:h,startDrag:d,setSize:f}=cv({storageKey:"claudekit-sidebar-width",defaultSize:288,minSize:56,maxSize:400}),p=c<=56,{projects:m,loading:g,error:y,addProject:v}=lv(),k=async x=>{await v(x)};b.useEffect(()=>{const x=t.pathname.startsWith("/project/");m.length===0||r||!x||e(`/project/${m[0].id}`,{replace:!0})},[m,r,e,t.pathname]),b.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"),P=b.useMemo(()=>m.find(x=>x.id===i)||null,[m,i]),O=x=>{e(`/project/${x}`)},M=()=>{f(p?288:56)};return g?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(Yx,{projects:m,currentProjectId:i,isCollapsed:p,width:c,isConnected:l,theme:o,onSwitchProject:O,onToggle:M,onAddProject:k,onToggleTheme:S}),u.jsx(Ci,{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(sx,{context:{project:P,isConnected:l,theme:o,onToggleTheme:S}})})})]})},xm=({title:n,filePath:e,onBack:t,onSave:r,onReset:i,saveStatus:s,syntaxError:o,showResetConfirm:a,setShowResetConfirm:l,badge:c})=>{const{t:h}=xe();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 uv(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 rc(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 dv(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 fv=({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..."}),
|
|
34
|
+
transition-colors`,placeholder:"Enter value..."}),pv=({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`}),
|
|
38
|
+
transition-colors`}),mv=({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"}`})})},
|
|
42
|
+
${r?"translate-x-6":"translate-x-1"}`})})},gv=({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)))]})},
|
|
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)))]})},bv=({value:n,onChange:e,disabled:t})=>{const r=Array.isArray(n)?n:[],[i,s]=b.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:"+"})]})]})},
|
|
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:"+"})]})]})},yv=({value:n,onChange:e,disabled:t})=>{const[r,i]=b.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"})]})})]})},yv={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"},xv=({source:n})=>{const{t:e}=ve(),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 ${yv[n]}`,children:t()})};function vv(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 wv=({fieldPath:n,label:e,description:t,schema:r,value:i,source:s,onChange:o,disabled:a})=>{const l=vv(r,n),c=()=>{const h={value:i,onChange:o,schema:r,disabled:a};switch(l){case"boolean":return u.jsx(pv,{...h});case"number":return u.jsx(fv,{...h});case"enum":return u.jsx(mv,{...h});case"array":return u.jsx(gv,{...h});case"password":return u.jsx(bv,{...h});case"object":return null;default:return u.jsx(dv,{...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(xv,{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()})]})})},kv=({id:n,title:e,defaultCollapsed:t=!1,children:r})=>{const[i,s]=b.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})})]})},Sv=({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(kv,{id:o.id,title:o.title,defaultCollapsed:o.defaultCollapsed??a>1,children:o.fields.map(l=>{const c=uv(n,l.path),h=ec(e,l.path),d=t[l.path]||"default";return u.jsx(wv,{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))}),bm=({width:n,isLoading:e,schema:t,config:r,sources:i,sections:s,onChange:o})=>{const{t:a}=ve();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(Sv,{schema:t,value:r,sources:i,sections:s,onChange:o}):null})]})},ym=1024;let Cv=0,Xa=class{constructor(e,t){this.from=e,this.to=t}};class ue{constructor(e={}){this.id=Cv++,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=lt.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}}ue.closedBy=new ue({deserialize:n=>n.split(" ")});ue.openedBy=new ue({deserialize:n=>n.split(" ")});ue.group=new ue({deserialize:n=>n.split(" ")});ue.isolate=new ue({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});ue.contextHash=new ue({perNode:!0});ue.lookAhead=new ue({perNode:!0});ue.mounted=new ue({perNode:!0});class ui{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[ue.mounted.id]}}const Ov=Object.create(null);class lt{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):Ov,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new lt(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(ue.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(ue.group),s=-1;s<(i?i.length:0);s++){let o=t[s<0?r.name:i[s]];if(o)return o}}}}lt.none=new lt("",Object.create(null),0,8);class ah{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 lt(r.name,i,r.id,r.flags):r)}return new ah(t)}}const Zs=new WeakMap,Hu=new WeakMap;var De;(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"})(De||(De={}));class Ee{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=ui.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 nc(this.topNode,e)}cursorAt(e,t=0,r=0){let i=Zs.get(this)||this.topNode,s=new nc(i);return s.moveTo(e,t),Zs.set(this,s._tree),s}get topNode(){return new kt(this,0,0,null)}resolve(e,t=0){let r=Si(Zs.get(this)||this.topNode,e,t,!1);return Zs.set(this,r),r}resolveInner(e,t=0){let r=Si(Hu.get(this)||this.topNode,e,t,!0);return Hu.set(this,r),r}resolveStack(e,t=0){return Mv(this,e,t)}iterate(e){let{enter:t,leave:r,from:i=0,to:s=this.length}=e,o=e.mode||0,a=(o&De.IncludeAnonymous)>0;for(let l=this.cursor(o|De.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:hh(lt.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,i)=>new Ee(this.type,t,r,i,this.propValues),e.makeTree||((t,r,i)=>new Ee(lt.none,t,r,i)))}static build(e){return Av(e)}}Ee.empty=new Ee(lt.none,[],[],0);class lh{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 lh(this.buffer,this.index)}}class Pn{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return lt.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&&!(xm(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 Pn(s,o,this.set)}}function xm(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 Si(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 kt&&n.index<0?null:n.parent;if(!o)return n;n=o}let s=r?0:De.IgnoreOverlays;if(r)for(let o=n,a=o.parent;a;o=a,a=o.parent)o instanceof kt&&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 vm{cursor(e=0){return new nc(this,e)}getChild(e,t=null,r=null){let i=Wu(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return Wu(this,e,t,r)}resolve(e,t=0){return Si(this,e,t,!1)}resolveInner(e,t=0){return Si(this,e,t,!0)}matchContext(e){return tc(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 kt extends vm{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&De.EnterBracketed&&d instanceof Ee&&((o=ui.get(d))===null||o===void 0?void 0:o.overlay)===null&&(f>=r||f+d.length<=r))&&!xm(i,r,f,f+d.length))){if(d instanceof Pn){if(s&De.ExcludeBuffers)continue;let p=d.findChild(0,d.buffer.length,t,r-f,i);if(p>-1)return new Sn(new jv(a,d,e,f),null,p)}else if(s&De.IncludeAnonymous||!d.type.isAnonymous||ch(d)){let p;if(!(s&De.IgnoreMounts)&&(p=ui.get(d))&&!p.overlay)return new kt(p.tree,f,e,a);let m=new kt(d,f,e,a);return s&De.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?d.children.length-1:0,t,r,i,s)}}}if(s&De.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&De.IgnoreOverlays)&&(i=ui.get(this._tree))&&i.overlay){let s=e-this.from,o=r&De.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 kt(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 Wu(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 tc(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 jv{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}}class Sn extends vm{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 Sn(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&De.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 Sn(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 Sn(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 Sn(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 Ee(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function wm(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 kt&&t.index<0?null:t.parent,i=n.slice();return r?i[e]=r:i.splice(e,1),new Pv(i,t)}class Pv{constructor(e,t){this.heads=e,this.node=t}get next(){return wm(this.heads)}}function Mv(n,e,t){let r=n.resolveInner(e,t),i=null;for(let s=r instanceof kt?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=ui.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let a=new kt(o.tree,o.overlay[0].from+s.from,-1,s);(i||(i=[r])).push(Si(a,e,t,!1))}}return i?wm(i):r}class nc{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&~De.EnterBracketed,e instanceof kt)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 kt?(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&De.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&De.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&De.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&De.IncludeAnonymous||a instanceof Pn||!a.type.isAnonymous||ch(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 Sn(this.buffer,t,this.stack[i]);return this.bufferNode=new Sn(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 tc(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 tc(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 ch(n){return n.children.some(e=>e instanceof Pn||!e.type.isAnonymous||ch(e))}function Av(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:i=ym,reused:s=[],minRepeatType:o=r.types.length}=n,a=Array.isArray(t)?new lh(t,t.length):t,l=r.types,c=0,h=0;function d(O,M,x,D,T,I){let{id:R,start:B,end:U,size:q}=a,F=h,X=c;if(q<0)if(a.next(),q==-1){let ne=s[R];x.push(ne),D.push(B-O);return}else if(q==-3){c=R;return}else if(q==-4){h=R;return}else throw new RangeError(`Unrecognized record size: ${q}`);let ce=l[R],H,Y,$=B-O;if(U-B<=i&&(Y=y(a.pos-M,T))){let ne=new Uint16Array(Y.size-Y.skip),Q=a.pos-Y.size,ae=ne.length;for(;a.pos>Q;)ae=v(Y.start,ne,ae);H=new Pn(ne,U-Y.start,r),$=Y.start-O}else{let ne=a.pos-q;a.next();let Q=[],ae=[],me=R>=o?R:-1,we=0,nt=U;for(;a.pos>ne;)me>=0&&a.id==me&&a.size>=0?(a.end<=nt-i&&(m(Q,ae,B,we,a.end,nt,me,F,X),we=Q.length,nt=a.end),a.next()):I>2500?f(B,ne,Q,ae):d(B,ne,Q,ae,me,I+1);if(me>=0&&we>0&&we<Q.length&&m(Q,ae,B,we,B,nt,me,F,X),Q.reverse(),ae.reverse(),me>-1&&we>0){let en=p(ce,X);H=hh(ce,Q,ae,0,Q.length,0,U-B,en,en)}else H=g(ce,Q,ae,U-B,F-U,X)}x.push(H),D.push($)}function f(O,M,x,D){let T=[],I=0,R=-1;for(;a.pos>M;){let{id:B,start:U,end:q,size:F}=a;if(F>4)a.next();else{if(R>-1&&U<R)break;R<0&&(R=q-i),T.push(B,U,q),I++,a.next()}}if(I){let B=new Uint16Array(I*4),U=T[T.length-2];for(let q=T.length-3,F=0;q>=0;q-=3)B[F++]=T[q],B[F++]=T[q+1]-U,B[F++]=T[q+2]-U,B[F++]=F;x.push(new Pn(B,T[2]-U,r)),D.push(U-O)}}function p(O,M){return(x,D,T)=>{let I=0,R=x.length-1,B,U;if(R>=0&&(B=x[R])instanceof Ee){if(!R&&B.type==O&&B.length==T)return B;(U=B.prop(ue.lookAhead))&&(I=D[R]+B.length+U)}return g(O,x,D,T,I,M)}}function m(O,M,x,D,T,I,R,B,U){let q=[],F=[];for(;O.length>D;)q.push(O.pop()),F.push(M.pop()+x-T);O.push(g(r.types[R],q,F,I-T,B-I,U)),M.push(T-x)}function g(O,M,x,D,T,I,R){if(I){let B=[ue.contextHash,I];R=R?[B].concat(R):[B]}if(T>25){let B=[ue.lookAhead,T];R=R?[B].concat(R):[B]}return new Ee(O,M,x,D,R)}function y(O,M){let x=a.fork(),D=0,T=0,I=0,R=x.end-i,B={size:0,start:0,skip:0};e:for(let U=x.pos-O;x.pos>U;){let q=x.size;if(x.id==M&&q>=0){B.size=D,B.start=T,B.skip=I,I+=4,D+=4,x.next();continue}let F=x.pos-q;if(q<0||F<U||x.start<R)break;let X=x.id>=o?4:0,ce=x.start;for(x.next();x.pos>F;){if(x.size<0)if(x.size==-3||x.size==-4)X+=4;else break e;else x.id>=o&&(X+=4);x.next()}T=ce,D+=q,I+=X}return(M<0||D==O)&&(B.size=D,B.start=T,B.skip=I),B.size>4?B:void 0}function v(O,M,x){let{id:D,start:T,end:I,size:R}=a;if(a.next(),R>=0&&D<o){let B=x;if(R>4){let U=a.pos-(R-4);for(;a.pos>U;)x=v(O,M,x)}M[--x]=B,M[--x]=I-O,M[--x]=T-O,M[--x]=D}else R==-3?c=D:R==-4&&(h=D);return x}let k=[],S=[];for(;a.pos>0;)d(n.start||0,n.bufferStart||0,k,S,-1,0);let P=(e=n.length)!==null&&e!==void 0?e:k.length?S[0]+k[0].length:0;return new Ee(l[n.topID],k.reverse(),S.reverse(),P)}const _u=new WeakMap;function No(n,e){if(!n.isAnonymous||e instanceof Pn||e.type!=n)return 1;let t=_u.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof Ee)){t=1;break}t+=No(n,r)}_u.set(e,t)}return t}function hh(n,e,t,r,i,s,o,a,l){let c=0;for(let m=r;m<i;m++)c+=No(n,e[m]);let h=Math.ceil(c*1.5/8),d=[],f=[];function p(m,g,y,v,k){for(let S=y;S<v;){let P=S,O=g[S],M=No(n,m[S]);for(S++;S<v;S++){let x=No(n,m[S]);if(M+x>=h)break;M+=x}if(S==P+1){if(M>h){let x=m[P];p(x.children,x.positions,0,x.children.length,g[P]+k);continue}d.push(m[P])}else{let x=g[S-1]+m[S-1].length-O;d.push(hh(n,m,g,P,S,O,x,null,l))}f.push(O+k-s)}}return p(e,t,r,i,0),(a||l)(d,f,o)}class Jn{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 Jn(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 Jn(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 km{startParse(e,t,r){return typeof e=="string"&&(e=new Dv(e)),r=r?r.length?r.map(i=>new Xa(i.from,i.to)):[new Xa(0,0)]:[new Xa(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 Dv{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 ue({perNode:!0});var Uu={};class Wo{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 Wo(e,[],t,r,r,0,[],0,i?new Ku(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 Wo(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 Tv(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 Ku(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 Ku{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class Tv{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 _o{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 _o(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 _o(this.stack,this.pos,this.index)}}function eo(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 Eo{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Gu=new Eo;class Nv{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Gu,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=Gu,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 xr{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;Ev(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}xr.prototype.contextual=xr.prototype.fallback=xr.prototype.extend=!1;xr.prototype.fallback=xr.prototype.extend=!1;function Ev(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||Rv(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),g=n[m],y=n[m+1]||65536;if(h<g)f=p;else if(h>=y)d=p+1;else{o=n[m+2],e.advance();continue e}}break}}function qu(n,e,t){for(let r=e,i;(i=n[r])!=65535;r++)if(i==t)return r-e;return-1}function Rv(n,e,t,r){let i=qu(t,r,e);return i<0||qu(t,r,n)<i}const ct=typeof process<"u"&&Uu&&/\bparse\b/.test(Uu.LOG);let Za=null;function Yu(n,e,t){let r=n.cursor(De.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 Lv{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?Yu(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Yu(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 Ee){if(o==e){if(o<this.safeFrom)return null;let a=o+s.length;if(a<=this.safeTo){let l=s.prop(ue.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 Iv{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Eo)}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 Eo,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 Eo,{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=on(a,c+2);else{i==0&&a[c+1]==2&&(i=this.putAction(on(a,c+2),t,r,i));break}a[c]==t&&(i=this.putAction(on(a,c+1),t,r,i))}return i}}class Bv{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 Nv(t,i),this.tokens=new Iv(e,this.stream),this.topTerm=e.top[1];let{from:s}=i[0];this.stacks=[Wo.start(this,e.top[0],s)],this.fragments=r.length&&this.stream.end-s>e.bufferLength*4?new Lv(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&&Fv(i);if(o)return ct&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw ct&&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 ct&&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=ct?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(ue.contextHash)||0)==h))return e.useNode(d,f),ct&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(d.type.id)})`),!0;if(!(d instanceof Ee)||d.children.length==0||d.positions[0]>0)break;let p=d.children[0];if(p instanceof Ee&&d.positions[0]==0)d=p;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),ct&&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(),g=this.tokens.mainToken;if(m.apply(h,d,g?g.start:m.pos,f),ct&&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 Qu(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=ct?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),ct&&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()&&(ct&&console.log(f+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,r));p++)ct&&(f=this.stackID(d)+" -> ");for(let p of a.recoverByInsert(l))ct&&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),ct&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),Qu(a,r)):(!i||i.score<a.score)&&(i=a)}return i}stackToTree(e){return e.close(),Ee.build({buffer:_o.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=(Za||(Za=new WeakMap)).get(e);return t||Za.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function Qu(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 $v{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}class Uo extends km{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=ue[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 ah(t.map((a,l)=>lt.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=ym;let o=eo(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(Ju),this.states=eo(e.states,Uint32Array),this.data=eo(e.stateData),this.goto=eo(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new xr(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 Bv(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=on(r,s+2)];else{if(r[s+1]==2)return on(r,s+2);break}if(o==t||o==0)return on(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=on(this.data,s+2);else break;i=t(on(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=on(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(Uo.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]=Ju(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 $v(e,r,i)}static deserialize(e){return new Uo(e)}}function on(n,e){return n[e]|n[e+1]<<16}function Fv(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 Ju(n){if(n.external){let e=n.extend?1:0;return(t,r)=>n.external(t,r)<<1|e}return n.get}let Vv=0;class yt{constructor(e,t,r,i){this.name=e,this.set=t,this.base=r,this.modified=i,this.id=Vv++}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 yt&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let i=new yt(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 Ko(e);return r=>r.modified.indexOf(t)>-1?r:Ko.get(r.base||r,r.modified.concat(t).sort((i,s)=>i.id-s.id))}}let zv=0;class Ko{constructor(e){this.name=e,this.instances=[],this.id=zv++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(a=>a.base==e&&Hv(t,a.modified));if(r)return r;let i=[],s=new yt(e.name,i,e,t);for(let a of t)a.instances.push(s);let o=Wv(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(Ko.get(a,l));return s}}function Hv(n,e){return n.length==e.length&&n.every((t,r)=>t==e[r])}function Wv(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 Sm(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 Ci(r,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Cm.add(e)}const Cm=new ue({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 Ci(i.tags,i.mode,i.context);t?t.next=s:r=s,t=s}return r}});class Ci{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}}Ci.empty=new Ci([],2,null);function Om(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 _v(n,e){let t=null;for(let r of n){let i=r.style(e);i&&(t=t?t+" "+i:i)}return t}function Uv(n,e,t,r=0,i=n.length){let s=new Kv(r,Array.isArray(e)?e:[e],t);s.highlightRange(n.cursor(),r,i,"",s.highlighters),s.flush(i)}class Kv{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=Gv(e)||Ci.empty,d=_v(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(ue.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)),g=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,P=Math.max(t,v),O=Math.min(r,S);if(P<O&&g)for(;e.from<O&&(this.highlightRange(e,P,O,i,s),this.startSpan(Math.min(O,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))}g&&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 Gv(n){let e=n.type.prop(Cm);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const z=yt.define,to=z(),gn=z(),Xu=z(gn),Zu=z(gn),bn=z(),no=z(bn),el=z(bn),Ft=z(),Wn=z(Ft),It=z(),Bt=z(),rc=z(),Jr=z(rc),ro=z(),A={comment:to,lineComment:z(to),blockComment:z(to),docComment:z(to),name:gn,variableName:z(gn),typeName:Xu,tagName:z(Xu),propertyName:Zu,attributeName:z(Zu),className:z(gn),labelName:z(gn),namespace:z(gn),macroName:z(gn),literal:bn,string:no,docString:z(no),character:z(no),attributeValue:z(no),number:el,integer:z(el),float:z(el),bool:z(bn),regexp:z(bn),escape:z(bn),color:z(bn),url:z(bn),keyword:It,self:z(It),null:z(It),atom:z(It),unit:z(It),modifier:z(It),operatorKeyword:z(It),controlKeyword:z(It),definitionKeyword:z(It),moduleKeyword:z(It),operator:Bt,derefOperator:z(Bt),arithmeticOperator:z(Bt),logicOperator:z(Bt),bitwiseOperator:z(Bt),compareOperator:z(Bt),updateOperator:z(Bt),definitionOperator:z(Bt),typeOperator:z(Bt),controlOperator:z(Bt),punctuation:rc,separator:z(rc),bracket:Jr,angleBracket:z(Jr),squareBracket:z(Jr),paren:z(Jr),brace:z(Jr),content:Ft,heading:Wn,heading1:z(Wn),heading2:z(Wn),heading3:z(Wn),heading4:z(Wn),heading5:z(Wn),heading6:z(Wn),contentSeparator:z(Ft),list:z(Ft),quote:z(Ft),emphasis:z(Ft),strong:z(Ft),link:z(Ft),monospace:z(Ft),strikethrough:z(Ft),inserted:z(),deleted:z(),changed:z(),invalid:z(),meta:ro,documentMeta:z(ro),annotation:z(ro),processingInstruction:z(ro),definition:yt.defineModifier("definition"),constant:yt.defineModifier("constant"),function:yt.defineModifier("function"),standard:yt.defineModifier("standard"),local:yt.defineModifier("local"),special:yt.defineModifier("special")};for(let n in A){let e=A[n];e instanceof yt&&(e.name=n)}Om([{tag:A.link,class:"tok-link"},{tag:A.heading,class:"tok-heading"},{tag:A.emphasis,class:"tok-emphasis"},{tag:A.strong,class:"tok-strong"},{tag:A.keyword,class:"tok-keyword"},{tag:A.atom,class:"tok-atom"},{tag:A.bool,class:"tok-bool"},{tag:A.url,class:"tok-url"},{tag:A.labelName,class:"tok-labelName"},{tag:A.inserted,class:"tok-inserted"},{tag:A.deleted,class:"tok-deleted"},{tag:A.literal,class:"tok-literal"},{tag:A.string,class:"tok-string"},{tag:A.number,class:"tok-number"},{tag:[A.regexp,A.escape,A.special(A.string)],class:"tok-string2"},{tag:A.variableName,class:"tok-variableName"},{tag:A.local(A.variableName),class:"tok-variableName tok-local"},{tag:A.definition(A.variableName),class:"tok-variableName tok-definition"},{tag:A.special(A.variableName),class:"tok-variableName2"},{tag:A.definition(A.propertyName),class:"tok-propertyName tok-definition"},{tag:A.typeName,class:"tok-typeName"},{tag:A.namespace,class:"tok-namespace"},{tag:A.className,class:"tok-className"},{tag:A.macroName,class:"tok-macroName"},{tag:A.propertyName,class:"tok-propertyName"},{tag:A.operator,class:"tok-operator"},{tag:A.comment,class:"tok-comment"},{tag:A.meta,class:"tok-meta"},{tag:A.invalid,class:"tok-invalid"},{tag:A.punctuation,class:"tok-punctuation"}]);const qv=Sm({String:A.string,Number:A.number,"True False":A.bool,PropertyName:A.propertyName,Null:A.null,", :":A.separator,"[ ]":A.squareBracket,"{ }":A.brace}),Yv=Uo.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:[qv],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 ic=[],jm=[];(()=>{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?jm:ic).push(t=t+n[e])})();function Qv(n){if(n<768)return!1;for(let e=0,t=ic.length;;){let r=e+t>>1;if(n<ic[r])t=r;else if(n>=jm[r])e=r+1;else return!0;if(e==t)return!1}}function ed(n){return n>=127462&&n<=127487}const td=8205;function Jv(n,e,t=!0,r=!0){return(t?Pm:Xv)(n,e,r)}function Pm(n,e,t){if(e==n.length)return e;e&&Mm(n.charCodeAt(e))&&Am(n.charCodeAt(e-1))&&e--;let r=tl(n,e);for(e+=nd(r);e<n.length;){let i=tl(n,e);if(r==td||i==td||t&&Qv(i))e+=nd(i),r=i;else if(ed(i)){let s=0,o=e-2;for(;o>=0&&ed(tl(n,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function Xv(n,e,t){for(;e>0;){let r=Pm(n,e-2,t);if(r<e)return r;e--}return 0}function tl(n,e){let t=n.charCodeAt(e);if(!Am(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return Mm(r)?(t-55296<<10)+(r-56320)+65536:t}function Mm(n){return n>=56320&&n<57344}function Am(n){return n>=55296&&n<56320}function nd(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]=jr(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),zt.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]=jr(this,e,t);let r=[];return this.decompose(e,t,r,0),zt.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 di(this),s=new di(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 di(this,e)}iterRange(e,t=this.length){return new Dm(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 Tm(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 Ne(e):zt.from(Ne.split(e,[]))}}class Ne extends xe{constructor(e,t=Zv(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 e2(i,a,r,o);i=a+1,r++}}decompose(e,t,r,i){let s=e<=0&&t>=this.length?this:new Ne(rd(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=r.pop(),a=Ro(s.text,o.text.slice(),0,s.length);if(a.length<=32)r.push(new Ne(a,o.length+s.length));else{let l=a.length>>1;r.push(new Ne(a.slice(0,l)),new Ne(a.slice(l)))}}else r.push(s)}replace(e,t,r){if(!(r instanceof Ne))return super.replace(e,t,r);[e,t]=jr(this,e,t);let i=Ro(this.text,Ro(r.text,rd(this.text,0,e)),t),s=this.length+r.length-(t-e);return i.length<=32?new Ne(i,s):zt.from(Ne.split(i,[]),s)}sliceString(e,t=this.length,r=`
|
|
53
|
-
`){[e,t]=
|
|
54
|
-
`){[e,t]=
|
|
55
|
-
`,this;e--}else if(i instanceof Ne){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 Ne?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 Dm{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new di(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 Tm{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()},di.prototype[Symbol.iterator]=Dm.prototype[Symbol.iterator]=Tm.prototype[Symbol.iterator]=function(){return this});class e2{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 jr(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function $e(n,e,t=!0,r=!0){return Jv(n,e,t,r)}function t2(n){return n>=56320&&n<57344}function n2(n){return n>=55296&&n<56320}function rt(n,e){let t=n.charCodeAt(e);if(!n2(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return t2(r)?(t-55296<<10)+(r-56320)+65536:t}function uh(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Ht(n){return n<65536?1:2}const sc=/\r\n?|\n/;var et=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(et||(et={}));class Gt{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){oc(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 Gt(e)}composeDesc(e){return this.empty?e:e.empty?this:Nm(this,e)}mapDesc(e,t=!1){return e.empty?this:ac(this,e,t)}mapPos(e,t=-1,r=et.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!=et.Simple&&c>=e&&(r==et.TrackDel&&i<e&&c>e||r==et.TrackBefore&&i<e||r==et.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 Gt(e)}static create(e){return new Gt(e)}}class Be extends Gt{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 oc(this,(t,r,i,s,o)=>e=e.replace(i,i+(r-t),o),!1),e}mapDesc(e,t=!1){return ac(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 Be(t,r)}compose(e){return this.empty?e:e.empty?this:Nm(this,e,!0)}map(e,t=!1){return e.empty?this:ac(this,e,t,!0)}iterChanges(e,t=!1){oc(this,e,t)}get desc(){return Gt.create(this.sections)}filter(e){let t=[],r=[],i=[],s=new Oi(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);Ye(i,h,-1);let d=s.ins==-1?-1:s.off==0?s.ins:0;Ye(t,h,d),d>0&&Cn(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);Ye(t,h,-1),Ye(i,h,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(h),a+=h}}return{changes:new Be(t,r),filtered:Gt.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&&Ye(i,t-o,-1);let d=new Be(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 Be){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||sc)):p:xe.empty,g=m.length;if(d==f&&g==0)return;d<o&&l(),d>o&&Ye(i,d-o,-1),Ye(i,f-d,g),Cn(s,i,m),o=f}}return c(e),l(!a),a}static empty(e){return new Be(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 Be(t,r)}static createSet(e,t){return new Be(e,t)}}function Ye(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 Cn(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 oc(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 ac(n,e,t,r=!1){let i=[],s=r?[]:null,o=new Oi(n),a=new Oi(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);Ye(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(Ye(i,a.ins,-1);c;){let h=Math.min(o.len,c);o.ins>=0&&l<o.i&&o.len<=h&&(Ye(i,0,o.ins),s&&Cn(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;Ye(i,c,l<o.i?o.ins:0),s&&l<o.i&&Cn(s,i,o.text),l=o.i,o.forward(o.len-h)}else{if(o.done&&a.done)return s?Be.createSet(i,s):Gt.create(i);throw new Error("Mismatched change set lengths")}}}function Nm(n,e,t=!1){let r=[],i=t?[]:null,s=new Oi(n),o=new Oi(e);for(let a=!1;;){if(s.done&&o.done)return i?Be.createSet(r,i):Gt.create(r);if(s.ins==0)Ye(r,s.len,0,a),s.next();else if(o.len==0&&!o.done)Ye(r,0,o.ins,a),i&&Cn(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;Ye(r,l,h,a),i&&h&&Cn(i,r,o.text)}else o.ins==-1?(Ye(r,s.off?0:s.len,l,a),i&&Cn(i,r,s.textBit(l))):(Ye(r,s.off?0:s.len,o.off?0:o.ins,a),i&&!o.off&&Cn(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 Oi{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 qn{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 qn(r,i,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return N.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return N.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 N.range(e.anchor,e.head)}static create(e,t,r){return new qn(e,t,r)}}class N{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:N.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 N([this.main],0)}addRange(e,t=!0){return N.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,N.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 N(e.ranges.map(t=>qn.fromJSON(t)),e.main)}static single(e,t=e){return new N([N.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 N.normalized(e.slice(),t);r=s.to}return new N(e,t)}static cursor(e,t=0,r,i){return qn.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?qn.create(t,e,48|s):qn.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?N.range(l,a):N.range(a,l))}}return new N(e,t)}}function Em(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let dh=0;class G{constructor(e,t,r,i,s){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=i,this.id=dh++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new G(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:fh),!!e.static,e.enables)}of(e){return new Lo([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Lo(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Lo(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}}function fh(n,e){return n==e||n.length==e.length&&n.every((t,r)=>t===e[r])}class Lo{constructor(e,t,r,i){this.dependencies=e,this.facet=t,this.type=r,this.value=i,this.id=dh++}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)||lc(d,h)){let p=r(d);if(a?!id(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 g=qo(f,m);if(this.dependencies.every(y=>y instanceof G?f.facet(y)===d.facet(y):y instanceof Ke?f.field(y,!1)==d.field(y,!1):!0)||(a?id(p=r(d),g,i):i(p=r(d),g)))return d.values[o]=g,0}else p=r(d);return d.values[o]=p,1}}}}function id(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 lc(n,e){let t=!1;for(let r of e)fi(n,r)&1&&(t=!0);return t}function r2(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=qo(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)fi(l,c);return l.values[o]=a(l),1},update(l,c){if(!lc(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=lc(l,r),d=c.config.facets[e.id],f=c.facet(e);if(d&&!h&&fh(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 io=G.define({static:!0});class Ke{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 Ke(dh++,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(io).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(io),o=i.facet(io),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,io.of({field:this,create:e})]}get extension(){return this}}const Un={lowest:4,low:3,default:2,high:1,highest:0};function Xr(n){return e=>new Rm(e,n)}const ir={highest:Xr(Un.highest),high:Xr(Un.high),default:Xr(Un.default),low:Xr(Un.low),lowest:Xr(Un.lowest)};class Rm{constructor(e,t){this.inner=e,this.prec=t}}class ka{of(e){return new cc(this,e)}reconfigure(e){return ka.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class cc{constructor(e,t){this.compartment=e,this.inner=t}}class Go{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 i2(e,t,o))f instanceof Ke?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,g=h&&h[f]||[];if(p.every(y=>y.type==0))if(a[m.id]=l.length<<1|1,fh(g,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=>r2(y,m,p))}}let d=c.map(f=>f(a));return new Go(e,o,d,a,l,s)}}function i2(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 cc&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof cc){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 Rm)s(o.inner,o.prec);else if(o instanceof Ke)r[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof Lo)r[a].push(o),o.facet.extensions&&s(o.facet.extensions,Un.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,Un.default),r.reduce((o,a)=>o.concat(a))}function fi(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 qo(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const Lm=G.define(),hc=G.define({combine:n=>n.some(e=>e),static:!0}),Im=G.define({combine:n=>n.length?n[0]:void 0,static:!0}),Bm=G.define(),$m=G.define(),Fm=G.define(),Vm=G.define({combine:n=>n.length?n[0]:!1});class Jt{constructor(e,t){this.type=e,this.value=t}static define(){return new s2}}class s2{of(e){return new Jt(this,e)}}class o2{constructor(e){this.map=e}of(e){return new le(this,e)}}class le{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 le(this.type,t)}is(e){return this.type==e}static define(e={}){return new o2(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}}le.reconfigure=le.define();le.appendConfig=le.define();class Fe{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&&Em(r,t.newLength),s.some(a=>a.type==Fe.time)||(this.annotations=s.concat(Fe.time.of(Date.now())))}static create(e,t,r,i,s,o){return new Fe(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(Fe.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}Fe.time=Jt.define();Fe.userEvent=Jt.define();Fe.addToHistory=Jt.define();Fe.remote=Jt.define();function a2(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 zm(n,e,t){var r;let i,s,o;return t?(i=e.changes,s=Be.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:le.mapEffects(n.effects,i).concat(le.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function uc(n,e,t){let r=e.selection,i=vr(e.annotations);return e.userEvent&&(i=i.concat(Fe.userEvent.of(e.userEvent))),{changes:e.changes instanceof Be?e.changes:Be.of(e.changes||[],t,n.facet(Im)),selection:r&&(r instanceof N?r:N.single(r.anchor,r.head)),effects:vr(e.effects),annotations:i,scrollIntoView:!!e.scrollIntoView}}function Hm(n,e,t){let r=uc(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=zm(r,uc(n,e[s],o?r.changes.newLength:n.doc.length),o)}let i=Fe.create(n,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return c2(t?l2(i):i)}function l2(n){let e=n.startState,t=!0;for(let i of e.facet(Bm)){let s=i(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:a2(t,s))}if(t!==!0){let i,s;if(t===!1)s=n.changes.invertedDesc,i=Be.empty(e.doc.length);else{let o=n.changes.filter(t);i=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}n=Fe.create(e,i,n.selection&&n.selection.map(s),le.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let r=e.facet($m);for(let i=r.length-1;i>=0;i--){let s=r[i](n);s instanceof Fe?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof Fe?n=s[0]:n=Hm(e,vr(s),!1)}return n}function c2(n){let e=n.startState,t=e.facet(Fm),r=n;for(let i=t.length-1;i>=0;i--){let s=t[i](n);s&&Object.keys(s).length&&(r=zm(r,uc(e,s,n.changes.newLength),!0))}return r==n?n:Fe.create(e,n.changes,n.selection,r.effects,r.annotations,r.scrollIntoView)}const h2=[];function vr(n){return n==null?h2:Array.isArray(n)?n:[n]}var Me=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Me||(Me={}));const u2=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let dc;try{dc=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function d2(n){if(dc)return dc.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>""&&(t.toUpperCase()!=t.toLowerCase()||u2.test(t)))return!0}return!1}function f2(n){return e=>{if(!/\S/.test(e))return Me.Space;if(d2(e))return Me.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return Me.Word;return Me.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++)fi(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 fi(this,r),qo(this,r)}update(...e){return Hm(this,e,!0)}applyTransaction(e){let t=this.config,{base:r,compartments:i}=t;for(let a of e.effects)a.is(ka.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(le.reconfigure)?(t=null,r=a.value):a.is(le.appendConfig)&&(t=null,r=vr(r).concat(a.value));let s;t?s=e.startState.values.slice():(t=Go.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(hc)?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:N.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=vr(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=le.mapEffects(o,h).concat(le.mapEffects(vr(l.effects),d))}return{changes:i,selection:N.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof Be?e:Be.of(e,this.doc.length,this.facet(pe.lineSeparator))}toText(e){return xe.of(e.split(this.facet(pe.lineSeparator)||sc))}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:(fi(this,t),qo(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 Ke&&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:N.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=Go.resolve(e.extensions||[],new Map),r=e.doc instanceof xe?e.doc:xe.of((e.doc||"").split(t.staticFacet(pe.lineSeparator)||sc)),i=e.selection?e.selection instanceof N?e.selection:N.single(e.selection.anchor,e.selection.head):N.single(0);return Em(i,r.length),t.staticFacet(hc)||(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(Vm)}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(Lm))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 f2(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=$e(t,o,!1);if(s(t.slice(l,o))!=Me.Word)break;o=l}for(;a<i;){let l=$e(t,a);if(s(t.slice(a,l))!=Me.Word)break;a=l}return o==a?null:N.range(o+r,a+r)}}pe.allowMultipleSelections=hc;pe.tabSize=G.define({combine:n=>n.length?n[0]:4});pe.lineSeparator=Im;pe.readOnly=Vm;pe.phrases=G.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=Lm;pe.changeFilter=Bm;pe.transactionFilter=$m;pe.transactionExtender=Fm;ka.reconfigure=le.define();function Xt(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 Mn{eq(e){return this==e}range(e,t=e){return ji.create(e,t,this)}}Mn.prototype.startSide=Mn.prototype.endSide=0;Mn.prototype.point=!1;Mn.prototype.mapMode=et.TrackDel;function ph(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}class ji{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new ji(e,t,r)}}function fc(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class mh{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 mh(i,s,r,a):null,pos:o}}}class de{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 de(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(fc)),this.isEmpty)return t.length?de.of(t):this;let a=new Wm(this,null,-1).goto(0),l=0,c=[],h=new hn;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(ji.create(a.from,a.to,a.value))),a.next());return h.finishInner(this.nextLayer.isEmpty&&!c.length?de.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 de(r,t,s||de.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 Pi.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Pi.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=sd(o,a,r),c=new Zr(o,l,s),h=new Zr(a,l,s);r.iterGaps((d,f,p)=>od(c,d,h,f,p,i)),r.empty&&r.length==0&&od(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=sd(s,o),l=new Zr(s,a,0).goto(r),c=new Zr(o,a,0).goto(r);for(;;){if(l.to!=c.to||!pc(l.active,c.active)||l.point&&(!c.point||!ph(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 Zr(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 hn;for(let i of e instanceof ji?[e]:t?p2(e):e)r.add(i.from,i.to,i.value);return r.finish()}static join(e){if(!e.length)return de.empty;let t=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let i=e[r];i!=de.empty;i=i.nextLayer)t=new de(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}de.empty=new de([],[],null,-1);function p2(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let r=n[t];if(fc(e,r)>0)return n.slice().sort(fc);e=r}return n}de.empty.nextLayer=de.empty;class hn{finishChunk(e){this.chunks.push(new mh(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 hn)).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(de.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=de.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function sd(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 Wm{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 Pi{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 Wm(o,t,r,s));return i.length==1?i[0]:new Pi(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--)nl(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--)nl(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(),nl(this.heap,0)}}}function nl(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 Zr{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=Pi.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){so(this.active,e),so(this.activeTo,e),so(this.activeRank,e),this.minActive=ad(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++;oo(this.active,t,r),oo(this.activeTo,t,i),oo(this.activeRank,t,s),e&&oo(e,t,this.cursor.from),this.minActive=ad(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&&so(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 od(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&&ph(n.point,t.point)&&pc(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(a,m,n.point,t.point),h=!1):(h&&s.boundChange(a),m>a&&!pc(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 pc(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!ph(n[t],e[t]))return!1;return!0}function so(n,e){for(let t=e,r=n.length-1;t<r;t++)n[t]=n[t+1];n.pop()}function oo(n,e,t){for(let r=n.length-1;r>=e;r--)n[r+1]=n[r];n[e]=t}function ad(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 Lr(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=$e(n,i));return r}function mc(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=$e(n,i)}return r===!0?-1:n.length}const gc="ͼ",ld=typeof Symbol>"u"?"__"+gc:Symbol.for(gc),bc=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),cd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class An{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(g=>o.map(y=>g.replace(/&/,y))).reduce((g,y)=>g.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,g=>"-"+g.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=
|
|
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 Dn={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:"'"},Mi={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},g2=typeof navigator<"u"&&/Mac/.test(navigator.platform),b2=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var _e=0;_e<10;_e++)Dn[48+_e]=Dn[96+_e]=String(_e);for(var _e=1;_e<=24;_e++)Dn[_e+111]="F"+_e;for(var _e=65;_e<=90;_e++)Dn[_e]=String.fromCharCode(_e+32),Mi[_e]=String.fromCharCode(_e);for(var rl in Dn)Mi.hasOwnProperty(rl)||(Mi[rl]=Dn[rl]);function y2(n){var e=g2&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||b2&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Mi:Dn)[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 Se(){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++)_m(n,arguments[e]);return n}function _m(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++)_m(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let Ze=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},yc=typeof document<"u"?document:{documentElement:{style:{}}};const xc=/Edge\/(\d+)/.exec(Ze.userAgent),Um=/MSIE \d/.test(Ze.userAgent),vc=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ze.userAgent),Sa=!!(Um||vc||xc),ud=!Sa&&/gecko\/(\d+)/i.test(Ze.userAgent),il=!Sa&&/Chrome\/(\d+)/.exec(Ze.userAgent),x2="webkitFontSmoothing"in yc.documentElement.style,wc=!Sa&&/Apple Computer/.test(Ze.vendor),dd=wc&&(/Mobile\/\w+/.test(Ze.userAgent)||Ze.maxTouchPoints>2);var K={mac:dd||/Mac/.test(Ze.platform),windows:/Win/.test(Ze.platform),linux:/Linux|X11/.test(Ze.platform),ie:Sa,ie_version:Um?yc.documentMode||6:vc?+vc[1]:xc?+xc[1]:0,gecko:ud,gecko_version:ud?+(/Firefox\/(\d+)/.exec(Ze.userAgent)||[0,0])[1]:0,chrome:!!il,chrome_version:il?+il[1]:0,ios:dd,android:/Android\b/.test(Ze.userAgent),webkit_version:x2?+(/\bAppleWebKit\/(\d+)/.exec(Ze.userAgent)||[0,0])[1]:0,safari:wc,safari_version:wc?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ze.userAgent)||[0,0])[1]:0,tabSize:yc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function gh(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 Yo=Object.create(null);function bh(n,e,t){if(n==e)return!0;n||(n=Yo),e||(e=Yo);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 v2(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 fd(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 w2(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 Zt{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 Ue=function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n}(Ue||(Ue={}));class ie extends Mn{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 As(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 Zn(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}=Km(e,t);r=(s?t?-3e8:-1:5e8)-1,i=(o?t?2e8:1:-6e8)+1}return new Zn(e,r,i,t,e.widget||null,!0)}static line(e){return new Ds(e)}static set(e,t=!1){return de.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}ie.none=de.empty;class As extends ie{constructor(e){let{start:t,end:r}=Km(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?gh(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Yo}eq(e){return this==e||e instanceof As&&this.tagName==e.tagName&&bh(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)}}As.prototype.point=!1;class Ds extends ie{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Ds&&this.spec.class==e.spec.class&&bh(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)}}Ds.prototype.mapMode=et.TrackBefore;Ds.prototype.point=!0;class Zn extends ie{constructor(e,t,r,i,s,o){super(t,r,s,e),this.block=i,this.isReplace=o,this.mapMode=i?t<=0?et.TrackBefore:et.TrackAfter:et.TrackDel}get type(){return this.startSide!=this.endSide?Ue.WidgetRange:this.startSide<=0?Ue.WidgetBefore:Ue.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Zn&&k2(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)}}Zn.prototype.point=!0;function Km(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 k2(n,e){return n==e||!!(n&&e&&n.compare(e))}function wr(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 Ai extends Mn{constructor(e,t){super(),this.tagName=e,this.attributes=t}eq(e){return e==this||e instanceof Ai&&this.tagName==e.tagName&&bh(this.attributes,e.attributes)}static create(e){return new Ai(e.tagName,e.attributes||Yo)}static set(e,t=!1){return de.of(e,t)}}Ai.prototype.startSide=Ai.prototype.endSide=-1;function Di(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function kc(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function Io(n,e){if(!e.anchorNode)return!1;try{return kc(n,e.anchorNode)}catch{return!1}}function pi(n){return n.nodeType==3?Ni(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function mi(n,e,t,r){return t?pd(n,e,t,r,-1)||pd(n,e,t,r,1):!1}function Tn(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function Qo(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function pd(n,e,t,r,i){for(;;){if(n==t&&e==r)return!0;if(e==(i<0?0:un(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||s.nodeType!=1)return!1;e=Tn(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?un(n):0}else return!1}}function un(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Ti(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function S2(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 Gm(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 C2(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,g=1;if(p)f=S2(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:g}=Gm(h,k)),f={left:k.left,right:k.left+h.clientWidth*m,top:k.top,bottom:k.top+h.clientHeight*g}}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 P=h.scrollTop;h.scrollTop+=v/g,S=(h.scrollTop-P)*g}if(y){let P=h.scrollLeft;h.scrollLeft+=y/m,k=(h.scrollLeft-P)*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 O2(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 j2{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?un(t):0),r,Math.min(e.focusOffset,r?un(r):0))}set(e,t,r,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=i}}let _n=null;K.safari&&K.safari_version>=26&&(_n=!1);function qm(n){if(n.setActive)return n.setActive();if(_n)return n.focus(_n);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(_n==null?{get preventScroll(){return _n={preventScroll:!0},!0}}:void 0),!_n){_n=!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 md;function Ni(n,e,t=e){let r=md||(md=document.createRange());return r.setEnd(n,t),r.setStart(n,e),r}function kr(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 P2(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function M2(n,e){let t=e.focusNode,r=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=r)return!1;for(r=Math.min(r,un(t));;)if(r){if(t.nodeType!=1)return!1;let i=t.childNodes[r-1];i.contentEditable=="false"?r--:(t=i,r=un(t))}else{if(t==n)return!0;r=Tn(t),t=t.parentNode}}function Ym(n){return n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function Qm(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=un(t)}else if(t.parentNode&&!Qo(t))r=Tn(t),t=t.parentNode;else return null}}function Jm(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&&!Qo(t))r=Tn(t)+1,t=t.parentNode;else return null}}class At{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new At(e.parentNode,Tn(e),t)}static after(e,t){return new At(e.parentNode,Tn(e)+1,t)}}var Oe=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(Oe||(Oe={}));const er=Oe.LTR,yh=Oe.RTL;function Xm(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}const A2=Xm("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),D2=Xm("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Sc=Object.create(null),$t=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);Sc[e]=t,Sc[t]=-e}function Zm(n){return n<=247?A2[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?D2[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}const T2=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class cn{get dir(){return this.level%2?yh:er}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 eg(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||!eg(r.inner,i.inner))return!1}return!0}const Ce=[];function N2(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=Zm(n.charCodeAt(c));f==512?f=h:f==8&&d==4&&(f=16),Ce[c]=f==4?2:f,f&7&&(d=f),h=f}for(let c=o,h=l,d=l;c<a;c++){let f=Ce[c];if(f==128)c<a-1&&h==Ce[c+1]&&h&24?f=Ce[c]=h:Ce[c]=256;else if(f==64){let p=c+1;for(;p<a&&Ce[p]==64;)p++;let m=c&&h==8||p<t&&Ce[p]==8?d==1?1:8:256;for(let g=c;g<p;g++)Ce[g]=m;c=p-1}else f==8&&d==1&&(Ce[c]=1);h=f,f&7&&(d=f)}}}function E2(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=Sc[f=n.charCodeAt(d)])if(p<0){for(let g=a-3;g>=0;g-=3)if($t[g+1]==-p){let y=$t[g+2],v=y&2?i:y&4?y&1?s:i:0;v&&(Ce[d]=Ce[$t[g]]=v),a=g;break}}else{if($t.length==189)break;$t[a++]=d,$t[a++]=f,$t[a++]=l}else if((m=Ce[d])==2||m==1){let g=m==i;l=g?0:1;for(let y=a-3;y>=0;y-=3){let v=$t[y+2];if(v&2)break;if(g)$t[y+2]|=2;else{if(v&4)break;$t[y+2]|=4}}}}}function R2(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=Ce[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(Ce[h]==256)h++;else break;let d=s==1,f=(h<e?Ce[h]:r)==1,p=d==f?d?1:2:r;for(let m=h,g=i,y=g?t[g-1].to:n;m>l;)m==y&&(m=t[--g].from,y=g?t[g-1].to:n),Ce[--m]=p;l=h}else s=c,l++}}}function Cc(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 g=Ce[l];g!=a&&(h=!1,d=g==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 g=s[c];if(!h)for(let y=g.to,v=c+1;;){if(y==t)break e;if(v<s.length&&s[v].from==y)y=s[v++].to;else{if(Ce[y]==a)break e;break}}if(c++,f)f.push(g);else{g.from>l&&o.push(new cn(l,g.from,p));let y=g.direction==er!=!(p%2);Oc(n,y?r+1:r,i,g.inner,g.from,g.to,o),l=g.to}m=g.to}else{if(m==t||(h?Ce[m]!=a:Ce[m]==a))break;m++}f?Cc(n,l,m,r+1,i,f,o):l<m&&o.push(new cn(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 g=Ce[l-1];g!=a&&(h=!1,d=g==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 g=s[--c];if(!h)for(let y=g.from,v=c;;){if(y==e)break e;if(v&&s[v-1].to==y)y=s[--v].from;else{if(Ce[y-1]==a)break e;break}}if(f)f.push(g);else{g.to<l&&o.push(new cn(g.to,l,p));let y=g.direction==er!=!(p%2);Oc(n,y?r+1:r,i,g.inner,g.from,g.to,o),l=g.from}m=g.from}else{if(m==e||(h?Ce[m-1]!=a:Ce[m-1]==a))break;m--}f?Cc(n,m,l,r+1,i,f,o):m<l&&o.push(new cn(m,l,p)),l=m}}function Oc(n,e,t,r,i,s,o){let a=e%2?2:1;N2(n,i,s,r,a),E2(n,i,s,r,a),R2(i,s,r,a),Cc(n,i,s,e,t,r,o)}function L2(n,e,t){if(!n)return[new cn(0,0,e==yh?1:0)];if(e==er&&!t.length&&!T2.test(n))return tg(n.length);if(t.length)for(;n.length>Ce.length;)Ce[Ce.length]=256;let r=[],i=e==er?0:1;return Oc(n,i,i,t,0,n.length,r),r}function tg(n){return[new cn(0,n,0)]}let ng="";function I2(n,e,t,r,i){var s;let o=r.head-n.from,a=cn.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=$e(n.text,o,l.forward(i,t));(h<l.from||h>l.to)&&(h=c),ng=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?N.cursor(d.side(!i,t)+n.from,d.forward(i,t)?1:-1,d.level):N.cursor(h+n.from,l.forward(i,t)?-1:1,l.level)}function B2(n,e,t){for(let r=e;r<t;r++){let i=Zm(n.charCodeAt(r));if(i==1)return er;if(i==2||i==4)return yh}return er}const rg=G.define(),ig=G.define(),sg=G.define(),og=G.define(),jc=G.define(),ag=G.define(),lg=G.define(),xh=G.define(),vh=G.define(),cg=G.define({combine:n=>n.some(e=>e)}),hg=G.define({combine:n=>n.some(e=>e)}),ug=G.define();class Sr{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 Sr(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 Sr(N.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const ao=le.define({map:(n,e)=>n.map(e)}),dg=le.define();function ot(n,e,t){let r=n.facet(og);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 an=G.define({combine:n=>n.length?n[0]:!0});let $2=0;const fr=G.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 Re{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(fr.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(fr.of({plugin:this,arg:e}))}static define(e,t){const{eventHandlers:r,eventObservers:i,provide:s,decorations:o}=t||{};return new Re($2++,e,r,i,a=>{let l=[];return o&&l.push(Ei.of(c=>{let h=c.plugin(a);return h?o(h):ie.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return Re.define((r,i)=>new e(r,i),t)}}class sl{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(ot(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){ot(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){ot(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const fg=G.define(),wh=G.define(),Ei=G.define(),pg=G.define(),mg=G.define(),Ts=G.define(),gg=G.define();function gd(n,e){let t=n.state.facet(gg);if(!t.length)return t;let r=t.map(s=>s instanceof Function?s(n):s),i=[];return de.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=B2(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 g={from:c,to:h,direction:p,inner:[]};d.push(g),d=g.inner}}}}),i}const bg=G.define();function kh(n){let e=0,t=0,r=0,i=0;for(let s of n.state.facet(bg)){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 oi=G.define();class xt{constructor(e,t,r,i){this.fromA=e,this.toA=t,this.fromB=r,this.toB=i}join(e){return new xt(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 xt(h,f,c,d))}return r}}class Jo{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Be.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 xt(s,o,a,l))),this.changedRanges=i}static create(e,t,r){return new Jo(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 F2=[];class Le{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 F2}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&&v2(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=Tn(this.dom),i=this.length?e>0:t>0;return new At(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 Oa)return e;return null}static get(e){return e.cmTile}}class Ca extends Le{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=bd(i);else t.insertBefore(a.dom,i);r=a.dom}for(i=r?r.nextSibling:t.firstChild,s&&i&&(s.written=!0);i;)i=bd(i);this.length=o}}function bd(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class Oa extends Ca{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=Le.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 On)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 On extends Ca{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 On(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class Pr extends Ca{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,r){let i=new Pr(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],g=p+m.length;g>=d&&(m.isComposite()?l(m,d-p):(!o||o.isHidden&&(t>0||r&&z2(o,m)))&&(g>d||m.flags&32)?(o=m,a=d-p):(p<d||m.flags&16&&!m.isHidden)&&(i=m,s=d-p)),p=g}}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):V2(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 At(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 At(l.dom,0);l==r.tile&&(a=!0)}}return new At(this.dom,0)}}function V2(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=pi(e);return t[t.length-1]||null}function z2(n,e){let t=n.coordsIn(0,1),r=e.coordsIn(0,1);return t&&r&&r.top<t.bottom}class st extends Ca{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let r=new st(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class Yn extends Le{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?K.chrome||K.gecko||(e?(i--,o=1):s<r&&(s++,o=-1)):t<0?i--:s<r&&s++;let a=Ni(this.dom,i,s).getClientRects();if(!a.length)return null;let l=a[(o?o<0:t>=0)?0:a.length-1];return K.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(a,c=>c.width)||l),o?Ti(l,o<0):l||null}static of(e,t){let r=new Yn(t||document.createTextNode(e),e);return t||(r.flags|=2),r}}class Mr extends Le{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 Ti(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 Ti(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 Mr(s,r,e,i)}}class Xo extends Le{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 H2{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 W2{constructor(e,t,r,i){this.from=e,this.to=t,this.wrapper=r,this.rank=i}}class _2{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 Yn(a.dom,a.text+e);l.parent=o}else o.append(i||Yn.of(e,(s=this.cache.find(Yn))===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)?ol(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 st&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(ol(l.dom)),i=c;else{if(this.cache.reused.get(l)){let d=Le.get(l.dom);d&&d.setDOM(ol(l.dom))}let h=st.of(l.mark,l.dom);i.append(h),i=h}this.cache.reused.set(l,2)}let s=Le.get(e.text);s&&this.cache.reused.set(s,2);let o=new Yn(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=yg);let i=Pr.start(e,t||((r=this.cache.find(Pr))===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 st&&a.mark.eq(o))i=a,t--;else{let l=st.of(o,(r=this.cache.find(st,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||!yd(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(K.ios&&yd(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(al,0,32)||new Mr(al.toDOM(),0,al,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 W2(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 On&&i.wrapper.eq(r.wrapper))t=i;else{let s=On.of(r.wrapper,(e=this.cache.find(On,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(Xo,void 0,1);return r&&(r.flags=t),r||new Xo(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class U2{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 Zo=[Mr,Pr,Yn,st,Xo,On,Oa];for(let n=0;n<Zo.length;n++)Zo[n].bucket=n;class K2{constructor(e){this.view=e,this.buckets=Zo.map(()=>[]),this.index=Zo.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 G2{constructor(e,t,r,i,s){this.view=e,this.decorations=i,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new K2(e),this.text=new U2(e.state.doc),this.builder=new _2(this.cache,new Oa(e,e.contentDOM),de.iter(r)),this.cache.reused.set(t,2),this.old=new H2(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=Q2(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?Mr.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 Xo)this.cache.add(o);else if(o instanceof st)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 st&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=s=0):o instanceof st&&(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=de.spans(this.decorations,e,t,{point:(a,l,c,h,d,f)=>{if(c instanceof Zn){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?Ar.block:Ar.inline),m=q2(c),g=this.cache.findWidget(p,l-a,m)||Mr.of(p,this.view,l-a,m);c.block?(c.startSide>0&&i.addLineStartIfNotCovered(r),i.addBlockWidget(g)):(i.ensureLine(r),i.addInlineWidget(g,h,d))}r=null}else r=Y2(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=Le.get(i);if(i==this.view.contentDOM)break;s instanceof st?t.push(s):s?.isLine()?r=s:i.nodeName=="DIV"&&!r&&i!=this.view.contentDOM?r=new Pr(i,yg):t.push(st.of(new As({tagName:i.nodeName.toLowerCase(),attributes:w2(i)}),i))}return{line:r,marks:t}}}function yd(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 q2(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 yg={class:"cm-line"};function Y2(n,e){let t=e.spec.attributes,r=e.spec.class;return!t&&!r||(n||(n={class:"cm-line"}),t&&gh(t,n),r&&(n.class+=" "+r)),n}function Q2(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 st&&e.push(r.mark)}return e}function ol(n){let e=Le.get(n);return e&&e.setDOM(n.cloneNode()),n}class Ar extends Zt{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}}Ar.inline=new Ar("span");Ar.block=new Ar("div");const al=new class extends Zt{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class xd{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=ie.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 Oa(e,e.contentDOM),this.updateInner([new xt(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:!sw(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let s=i>-1?X2(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:d}=this.hasComposition;r=new xt(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,(K.ie||K.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=tw(o,this.decorations,e.changes);l.length&&(r=xt.extendWithRanges(r,l));let c=rw(a,this.blockWrappers,e.changes);return c.length&&(r=xt.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 G2(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=a.run(e,t),Pc(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=K.chrome||K.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 ll&&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(dg)&&(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(an)||r.tabIndex>-1)&&Io(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)),K.gecko&&l.empty&&!this.hasComposition&&J2(c)){let f=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(f,c.node.childNodes[c.offset]||null)),c=h=new At(f,0),a=!0}let d=this.view.observer.selectionRange;(a||!d.focusNode||(!mi(c.node,c.offset,d.anchorNode,d.anchorOffset)||!mi(h.node,h.offset,d.focusNode,d.focusOffset))&&!this.suppressWidgetCursorChange(d,l))&&(this.view.observer.ignore(()=>{K.android&&K.chrome&&r.contains(d.focusNode)&&iw(d.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let f=Di(this.view.root);if(f)if(l.empty){if(K.gecko){let p=Z2(c.node,c.offset);if(p&&p!=3){let m=(p==1?Qm:Jm)(c.node,c.offset);m&&(c=new At(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 At(d.anchorNode,d.anchorOffset),this.impreciseHead=h.precise?null:new At(d.focusNode,d.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&mi(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=Di(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=un(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&&!Le.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 ll?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=$e(s.text,o);if(a==o)return null;let l=Ni(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 g=d.children[m],y=f+g.length,v=g.dom.getBoundingClientRect(),{height:k}=v;if(p&&!m&&(c+=v.top-p.top),g instanceof On)y>r&&h(g,f,v);else if(f>=r&&(c>0&&t.push(-c),t.push(k+c),c=0,o)){let S=g.dom.lastChild,P=S?pi(S):[];if(P.length){let O=P[P.length-1],M=l?O.right-v.left:v.right-O.left;M>a&&(a=M,this.minWidth=s,this.minWidthFrom=f,this.minWidthTo=y)}}p&&m==d.children.length-1&&(c+=p.bottom-v.bottom),f=y+g.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?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=pi(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=pi(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(ie.replace({widget:new ll(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return ie.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Ei).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,i=this.view.state.facet(mg).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(de.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(pg).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(ug))try{if(c(this.view,e.range,e))return!0}catch(h){ot(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=kh(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;C2(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(){Pc(this.tile)}}function Pc(n,e){let t=e?.get(n);if(t!=1){t==null&&n.destroy();for(let r of n.children)Pc(r,e)}}function J2(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 xg(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let r=Qm(t.focusNode,t.focusOffset),i=Jm(t.focusNode,t.focusOffset),s=r||i;if(i&&r&&i.node!=r.node){let a=Le.get(i.node);if(!a||a.isText()&&a.text!=i.node.nodeValue)s=i;else if(n.docView.lastCompositionAfterCursor){let l=Le.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 X2(n,e,t){let r=xg(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 xt(l.mapPos(s),l.mapPos(o),s,o),text:i}}function Z2(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 ew=class{constructor(){this.changes=[]}compareRange(e,t){wr(e,t,this.changes)}comparePoint(e,t){wr(e,t,this.changes)}boundChange(e){wr(e,e,this.changes)}};function tw(n,e,t){let r=new ew;return de.compare(n,e,t,r),r.changes}class nw{constructor(){this.changes=[]}compareRange(e,t){wr(e,t,this.changes)}comparePoint(){}boundChange(e){wr(e,e,this.changes)}}function rw(n,e,t){let r=new nw;return de.compare(n,e,t,r),r.changes}function iw(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 sw(n,e){let t=!1;return e&&n.iterChangedRanges((r,i)=>{r<e.to&&i>e.from&&(t=!0)}),t}class ll extends Zt{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 ow(n,e,t=1){let r=n.charCategorizer(e),i=n.doc.lineAt(e),s=e-i.from;if(i.length==0)return N.cursor(e);s==0?t=1:s==i.length&&(t=-1);let o=s,a=s;t<0?o=$e(i.text,s,!1):a=$e(i.text,s);let l=r(i.text.slice(o,a));for(;o>0;){let c=$e(i.text,o,!1);if(r(i.text.slice(c,o))!=l)break;o=c}for(;a<i.length;){let c=$e(i.text,a);if(r(i.text.slice(a,c))!=l)break;a=c}return N.range(o+i.from,a+i.from)}function aw(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+mc(o,s,n.state.tabSize)}function Mc(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==Ue.Text&&(i.type!=s.type||(t<0?s.from<e:s.to>e)))&&(i=s)}}return i||r}return r}function lw(n,e,t,r){let i=Mc(n,e.head,e.assoc||-1),s=!r||i.type!=Ue.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 N.cursor(l,t?-1:1)}return N.cursor(t?i.to:i.from,t?-1:1)}function vd(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=I2(i,s,o,a,t),h=ng;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
|
|
60
|
-
`&&n.lineWrapping&&(r&&(r=N.single(r.main.anchor-1,r.main.head-1)),t={from:i.from,to:i.to,insert:xe.of([" "])}),t)return Sh(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=vg(n.state.facet(Ts).map(l=>l(n)),r))),n.dispatch({selection:r,scrollIntoView:o,userEvent:a}),!0}else return!1}function Sh(n,e,t,r=-1){if(K.ios&&n.inputState.flushIOSKey(e))return!0;let i=n.state.selection.main;if(K.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&&kr(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)&&kr(n.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&kr(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=mw(n,e,t));return n.state.facet(ag).some(l=>l(n,e.from,e.to,s,a))||n.dispatch(a()),!0}function mw(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=gi(i.facet(Ts).map(d=>d(n)),c,l);e.from==h&&(o=h)}if(o>-1)r={changes:e,selection:N.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&&xg(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 g=m.to-p,y=g-h.length;if(n.state.sliceDoc(y,g)!=h||g>=d.from&&y<=d.to)return{range:m};let v=i.changes({from:y,to:g,insert:e.insert}),k=m.to-s.to;return{changes:v,range:c?N.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 Cg(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 gw(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 kd(t,r)),(i!=t||s!=r)&&e.push(new kd(i,s))),e}function bw(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?N.single(t+e,r+e):null}class yw{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,K.safari&&e.contentDOM.addEventListener("input",()=>null),K.gecko&&Ew(e.contentDOM.ownerDocument)}handleEvent(e){!jw(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=xw(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&&jg.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),K.android&&K.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return K.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=Og.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||vw.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,kr(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:K.safari&&!K.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 Sd(n,e){return(t,r)=>{try{return e.call(n,r,t)}catch(i){ot(t.state,i)}}}function xw(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(Sd(r.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(Sd(r.value,l))}}for(let r in Tt)t(r).handlers.push(Tt[r]);for(let r in Ct)t(r).observers.push(Ct[r]);return e}const Og=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],vw="dthko",jg=[16,17,18,20,91,92,224,225],lo=6;function co(n){return Math.max(0,n)*.7+8}function ww(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class kw{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=O2(e.contentDOM),this.atoms=e.state.facet(Ts).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)&&Sw(e,t),this.dragging=Ow(e,t)&&Ag(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&&ww(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=kh(this.view);e.clientX-l.left<=i+lo?t=-co(i-e.clientX):e.clientX+l.right>=o-lo&&(t=co(e.clientX-o)),e.clientY-l.top<=s+lo?r=-co(s-e.clientY):e.clientY+l.bottom>=a-lo&&(r=co(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=vg(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 Sw(n,e){let t=n.state.facet(rg);return t.length?t[0](e):K.mac?e.metaKey:e.ctrlKey}function Cw(n,e){let t=n.state.facet(ig);return t.length?t[0](e):K.mac?!e.altKey:!e.ctrlKey}function Ow(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let r=Di(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 jw(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=Le.get(t))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const Tt=Object.create(null),Ct=Object.create(null),Pg=K.ie&&K.ie_version<15||K.ios&&K.webkit_version<604;function Pw(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(),Mg(n,t.value)},50)}function ja(n,e,t){for(let r of n.facet(e))t=r(t,n);return t}function Mg(n,e){e=ja(n.state,xh,e);let{state:t}=n,r,i=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Dc!=null&&t.selection.ranges.every(l=>l.empty)&&Dc==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:N.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:N.cursor(l.from+c.length)}}):r=t.replaceSelection(s);n.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Ct.scroll=n=>{n.inputState.lastScrollTop=n.scrollDOM.scrollTop,n.inputState.lastScrollLeft=n.scrollDOM.scrollLeft};Tt.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Ct.touchstart=(n,e)=>{n.inputState.lastTouchTime=Date.now(),n.inputState.setSelectionOrigin("select.pointer")};Ct.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};Tt.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(sg))if(t=r(n,e),t)break;if(!t&&e.button==0&&(t=Aw(n,e)),t){let r=!n.hasFocus;n.inputState.startMouseSelection(new kw(n,e,t,r)),r&&n.observer.ignore(()=>{qm(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 Cd(n,e,t,r){if(r==1)return N.cursor(e,t);if(r==2)return ow(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++,N.range(o,a)}}const Mw=K.ie&&K.ie_version<=11;let Od=null,jd=0,Pd=0;function Ag(n){if(!Mw)return n.detail;let e=Od,t=Pd;return Od=n,Pd=Date.now(),jd=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(jd+1)%3:1}function Aw(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=Ag(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=Cd(n,l.pos,l.assoc,r);if(t.pos!=l.pos&&!o){let d=Cd(n,t.pos,t.assoc,r),f=Math.min(d.from,h.from),p=Math.max(d.to,h.to);h=f<h.from?N.range(f,p):N.range(p,f)}return o?i.replaceRange(i.main.extend(h.from,h.to)):a&&r==1&&i.ranges.length>1&&(c=Dw(i,l.pos))?c:a?i.addRange(h):N.create([h])}}}function Dw(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 N.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}Tt.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=N.range(s,o))}}let{inputState:r}=n;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",ja(n.state,vh,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Tt.dragend=n=>(n.inputState.draggedContent=null,!1);function Md(n,e,t,r){if(t=ja(n.state,xh,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=n.inputState,o=r&&s&&Cw(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}Tt.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&&Md(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 Md(n,e,r,!0),!0}return!1};Tt.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=Pg?null:e.clipboardData;return t?(Mg(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(Pw(n),!1)};function Tw(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 Nw(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:ja(n,vh,e.join(n.lineBreak)),ranges:t,linewise:r}}let Dc=null;Tt.copy=Tt.cut=(n,e)=>{let{text:t,ranges:r,linewise:i}=Nw(n.state);if(!t&&!i)return!1;Dc=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=Pg?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(Tw(n,t),!1)};const Dg=Jt.define();function Tg(n,e){let t=[];for(let r of n.facet(lg)){let i=r(n,e);i&&t.push(i)}return t.length?n.update({effects:t,annotations:Dg.of(!0)}):null}function Ng(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=Tg(n.state,e);t?n.dispatch(t):n.update([])}},10)}Ct.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),Ng(n)};Ct.blur=n=>{n.observer.clearSelectionRange(),Ng(n)};Ct.compositionstart=Ct.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};Ct.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,K.chrome&&K.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Ct.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Tt.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 Sh(n,{from:l,to:c,insert:n.state.toText(s)},null),!0}}let i;if(K.chrome&&K.android&&(i=Og.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 K.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),K.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Ct.compositionend(n,e),20),!1};const Ad=new Set;function Ew(n){Ad.has(n)||(Ad.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const Dd=["pre-wrap","normal","pre-line","break-spaces"];let Dr=!1;function Td(){Dr=!1}class Rw{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 Dd.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=Dd.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 Lw{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Mt{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"?Ue.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 Zn?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 Mt(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var je=function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n}(je||(je={}));const Bo=.001;class tt{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)>Bo&&(Dr=!0),this.height=e)}replace(e,t,r){return tt.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,je.ByPosNoHeight,r.setDoc(t),0,0),p=f.to>=c?f:s.lineAt(c,je.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,je.ByPosNoHeight,r,0,0));h+=f.from-l,l=f.from;let m=Ch.build(r.setDoc(o),e,h,d);s=ea(s,s.replace(l,c,m))}return s.updateHeight(r,0)}static empty(){return new ut(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 Bw(tt.of(e.slice(0,t)),o,tt.of(e.slice(r)))}}function ea(n,e){return n==e?n:(n.constructor!=e.constructor&&(Dr=!0),e)}tt.prototype.size=1;const Iw=ie.replace({});class Eg extends tt{constructor(e,t,r){super(e,t),this.deco=r,this.spaceAbove=0}mainBlock(e,t){return new Mt(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 Mt(i,0,r,this.spaceAbove,Iw):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,je.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 ut extends Eg{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 Mt(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 ut||i instanceof We&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof We?i=new ut(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):tt.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 We extends tt{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 Mt(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 Mt(h,d,r+a*c,a,0)}}lineAt(e,t,r,i,s){if(t==je.ByHeight)return this.blockAt(e,r,i,s);if(t==je.ByPosNoHeight){let{from:p,to:m}=r.doc.lineAt(e);return new Mt(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 Mt(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 Mt(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 We?r[r.length-1]=new We(s.length+i):r.push(null,new We(i-1))}if(e>0){let s=r[0];s instanceof We?r[0]=new We(e+s.length):r.unshift(new We(e-1),null)}return tt.of(r)}decomposeLeft(e,t){t.push(new We(e-1),null)}decomposeRight(e,t){t.push(null,new We(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 We(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)>=Bo&&(l=-2);let p=new ut(h,d,f);p.outdated=!1,o.push(p),a+=h+1}a<=s&&o.push(null,new We(s-a).updateHeight(e,a));let c=tt.of(o);return(l<0||Math.abs(c.height-this.height)>=Bo||Math.abs(l-this.heightMetrics(e,t).perLine)>=Bo)&&(Dr=!0),ea(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 Bw extends tt{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==je.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==je.ByPosNoHeight?je.ByPosNoHeight:je.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,je.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&&Nd(s,o-1),t<this.length){let a=s.length;this.decomposeRight(t,s),Nd(s,a)}return tt.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?tt.of(this.break?[e,null,t]:[e,t]):(this.left=ea(this.left,e),this.right=ea(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 Nd(n,e){let t,r;n[e]==null&&(t=n[e-1])instanceof We&&(r=n[e+1])instanceof We&&n.splice(e-1,3,new We(t.length+1+r.length))}const $w=5;class Ch{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 ut?i.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new ut(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 Eg(o,i,r)):(o||s||i>=$w)&&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 ut(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let r=new We(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 ut)return e;let t=new ut(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 ut)&&!this.isCovered?this.nodes.push(new ut(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 ut&&i.updateHeight(this.oracle,r),r+=i?i.length:1;return this.nodes}static build(e,t,r,i){let s=new Ch(r,e);return de.spans(t,r,i,s,0),s.finish(r)}}function Fw(n,e,t){let r=new Vw;return de.compare(n,e,t,r,0),r.changes}class Vw{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,i){(e<t||r&&r.heightRelevant||i&&i.heightRelevant)&&wr(e,t,this.changes,5)}}function zw(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 Hw(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 Ww(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class hl{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 ie.replace({widget:new _w(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class _w extends Zt{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 Ed{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=Rd,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Oe.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(wh).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Rw(t),this.stateDeco=e.facet(Ei).filter(r=>typeof r!="function"),this.heightMap=tt.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle.setDoc(e.doc),[new xt(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=ie.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 ho(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?Rd:new Oh(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(li(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(Ei).filter(h=>typeof h!="function");let i=e.changedRanges,s=xt.extendWithRanges(i,Fw(r,this.stateDeco,e?e.changes:Be.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);Td(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Dr)&&(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(hg)&&(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:P,scaleY:O}=Gm(t,a);(P>.005&&Math.abs(this.scaleX-P)>.005||O>.005&&Math.abs(this.scaleY-O)>.005)&&(this.scaleX=P,this.scaleY=O,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=Ym(e.scrollDOM);let m=(this.printing?Ww:zw)(t,this.paddingTop),g=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&&!Hw(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 P=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(P)&&(o=!0),o||i.lineWrapping&&Math.abs(k-this.contentDOMWidth)>i.charWidth){let{lineHeight:O,charWidth:M,textHeight:x}=e.docView.measureTextSize();o=O>0&&i.refresh(s,O,M,x,Math.max(5,k/M),P),o&&(e.docView.minWidth=0,c|=16)}g>0&&y>0?h=Math.max(g,y):g<0&&y<0&&(h=Math.min(g,y)),Td();for(let O of this.viewports){let M=O.from==this.viewport.from?P:e.docView.measureVisibleLineHeights(O);this.heightMap=(o?tt.empty().applyChanges(this.stateDeco,xe.empty,this.heightOracle,[new xt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new Lw(O.from,M))}Dr&&(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 ho(i.lineAt(o-r*1e3,je.ByHeight,s,0,0).from,i.lineAt(a+(1-r)*1e3,je.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,je.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 ho(i.lineAt(f-1e3/2,je.ByHeight,s,0,0).from,i.lineAt(f+h+1e3/2,je.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 ho(this.heightMap.lineAt(r,je.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,je.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,je.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,je.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 hl(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,g=[m.from];m.empty||g.push(m.to);for(let v of g)if(v>h&&v<d){l(h,v-10,f,p),l(v+10,d,f,p);return}let y=Kw(e,v=>v.from>=f.from&&v.to<=f.to&&Math.abs(v.from-h)<s&&Math.abs(v.to-d)<s&&!g.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(N.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 hl(h,d,v,k)}a.push(y)},c=h=>{if(h.length<o||h.type!=Ue.Text)return;let d=Uw(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 g=i/this.heightOracle.lineLength*this.heightOracle.lineHeight,y,v;if(f!=null){let k=fo(d,f),S=((this.visibleBottom-this.visibleTop)/2+g)/h.height;y=k-S,v=k+S}else y=(this.visibleTop-h.top-g)/h.height,v=(this.visibleBottom-h.top+g)/h.height;p=uo(d,y),m=uo(d,v)}else{let g=d.total*this.heightOracle.charWidth,y=i*this.heightOracle.charWidth,v=0;if(g>2e6)for(let M of e)M.from>=h.from&&M.from<h.to&&M.size!=M.displaySize&&M.from*this.heightOracle.charWidth+v<this.pixelViewport.left&&(v=M.size-M.displaySize);let k=this.pixelViewport.left+v,S=this.pixelViewport.right+v,P,O;if(f!=null){let M=fo(d,f),x=((S-k)/2+y)/g;P=M-x,O=M+x}else P=(k-y)/g,O=(S+y)/g;p=uo(d,P),m=uo(d,O)}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=fo(i,r)-fo(i,t);return this.heightOracle.lineWrapping?e.height*s:i.total*this.heightOracle.charWidth*s}updateLineGaps(e){hl.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ie.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=[];de.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)||li(this.heightMap.lineAt(e,je.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)||li(this.heightMap.lineAt(this.scaler.fromDOM(e),je.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 li(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 ho{constructor(e,t){this.from=e,this.to=t}}function Uw(n,e,t){let r=[],i=n,s=0;return de.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 uo({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 fo(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 Kw(n,e){for(let t of n)if(e(t))return t}const Rd={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};class Oh{constructor(e,t,r){let i=0,s=0,o=0;this.viewports=r.map(({from:a,to:l})=>{let c=t.lineAt(a,je.ByPos,e,0,0).top,h=t.lineAt(l,je.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 Oh?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 li(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),r=e.toDOM(n.bottom);return new Mt(n.from,n.length,t,r-t,Array.isArray(n._content)?n._content.map(i=>li(i,e)):n._content)}const po=G.define({combine:n=>n.join(" ")}),Tc=G.define({combine:n=>n.indexOf(!0)>-1}),Nc=An.newName(),Rg=An.newName(),Lg=An.newName(),Ig={"&light":"."+Rg,"&dark":"."+Lg};function Ec(n,e,t){return new An(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 Gw=Ec("."+Nc,{"&":{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"}},Ig),qw={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},ul=K.ie&&K.ie_version<=11;class Yw{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new j2,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);(K.ie&&K.ie_version<=11||K.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&&K.android&&e.constructor.EDIT_CONTEXT!==!1&&!(K.chrome&&K.chrome_version<126)&&(this.editContext=new Jw(e),e.state.facet(an)&&(e.contentDOM.editContext=this.editContext.editContext)),ul&&(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(an)?r.root.activeElement!=this.dom:!Io(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}(K.ie&&K.ie_version<=11||K.android&&K.chrome)&&!r.state.selection.main.empty&&i.focusNode&&mi(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Di(e.root);if(!t)return!1;let r=K.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Qw(this.view,t)||t;if(!r||this.selectionRange.eq(r))return!1;let i=Io(this.dom,r);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&M2(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,qw),ul&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),ul&&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&&kr(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&&Io(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 pw(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=Sg(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=Ld(t,e.previousSibling||e.target.previousSibling,-1),i=Ld(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(an)!=e.state.facet(an)&&(e.view.contentDOM.editContext=e.state.facet(an)?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 Ld(n,e,t){for(;e;){let r=Le.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 Id(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 mi(o.node,o.offset,i,s)&&([t,r,i,s]=[i,s,t,r]),{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}}function Qw(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return Id(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?Id(n,t):null}class Jw{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=Cg(e.state.sliceDoc(a,l),r.text,(c?i.from:i.to)-a,c?"end":null);if(!h){let f=N.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((K.mac||K.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);Sh(e,d,N.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(ie.mark({attributes:{style:h}}).range(l,c))}}}e.dispatch({effects:dg.of(ie.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=Di(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 _{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||P2(e.parent)||document,this.viewState=new Ed(e.state||pe.create(e)),e.scrollTo&&e.scrollTo.is(ao)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(fr).map(i=>new sl(i));for(let i of this.plugins)i.update(this);this.observer=new Yw(this),this.inputState=new yw(this),this.inputState.ensureHandlers(this.plugins),this.docView=new xd(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 Fe?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(Dg))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Tg(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=Jo.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 Sr(p.empty?p:N.cursor(p.head,p.head>p.anchor?-1:1))}for(let p of f.effects)p.is(ao)&&(d=p.value.clip(this.state))}this.viewState.update(i,d),this.bidiCache=ta.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(oi)!=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(po)!=i.state.facet(po)&&(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(jc))try{f(i)}catch(p){ot(this.state,p,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!Sg(this,h)&&c.force&&kr(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 Ed(e),this.plugins=e.facet(fr).map(r=>new sl(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new xd(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(fr),r=e.state.facet(fr);if(t!=r){let i=[];for(let s of r){let o=t.indexOf(s);if(o<0)i.push(new sl(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){ot(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(Ym(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 ot(this.state,m),Bd}}),d=Jo.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]!=Bd)try{let m=c[p];m.write&&m.write(h[p],this)}catch(m){ot(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(jc))a(t)}get themeClasses(){return Nc+" "+(this.state.facet(Tc)?Lg:Rg)+" "+this.state.facet(po)}updateAttrs(){let e=$d(this,fg,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(an)?"true":"false",class:"cm-content",style:`${K.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),$d(this,wh,t);let r=this.observer.ignore(()=>{let i=fd(this.contentDOM,this.contentAttrs,t),s=fd(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(_.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(oi);let e=this.state.facet(_.cspNonce);An.mount(this.root,this.styleModules.concat(Gw).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 cl(this,e,vd(this,e,t,r))}moveByGroup(e,t){return cl(this,e,vd(this,e,t,r=>cw(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 N.cursor(s.side(t,i)+e.from,s.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,r=!0){return lw(this,e,t,r)}moveVertically(e,t,r){return cl(this,e,hw(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=Ac(this,e,t);return r&&r.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Ac(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[cn.find(s,e-i.from,-1,t)];return Ti(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(cg)||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>Xw)return tg(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||eg(s.isolates,r=gd(this,e))))return s.order;r||(r=gd(this,e));let i=L2(e.text,t,r);return this.bidiCache.push(new ta(e.from,e.to,t,r,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||K.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{qm(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 ao.of(new Sr(typeof e=="number"?N.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 ao.of(new Sr(N.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 Re.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Re.define(()=>({}),{eventObservers:e})}static theme(e,t){let r=An.newName(),i=[po.of(r),oi.of(Ec(`.${r}`,e))];return t&&t.dark&&i.push(Tc.of(!0)),i}static baseTheme(e){return ir.lowest(oi.of(Ec("."+Nc,e,Ig)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),i=r&&Le.get(r)||Le.get(e);return((t=i?.root)===null||t===void 0?void 0:t.view)||null}}_.styleModule=oi;_.inputHandler=ag;_.clipboardInputFilter=xh;_.clipboardOutputFilter=vh;_.scrollHandler=ug;_.focusChangeEffect=lg;_.perLineTextDirection=cg;_.exceptionSink=og;_.updateListener=jc;_.editable=an;_.mouseSelectionStyle=sg;_.dragMovesSelection=ig;_.clickAddsSelectionRange=rg;_.decorations=Ei;_.blockWrappers=pg;_.outerDecorations=mg;_.atomicRanges=Ts;_.bidiIsolatedRanges=gg;_.scrollMargins=bg;_.darkTheme=Tc;_.cspNonce=G.define({combine:n=>n.length?n[0]:""});_.contentAttributes=wh;_.editorAttributes=fg;_.lineWrapping=_.contentAttributes.of({class:"cm-lineWrapping"});_.announce=le.define();const Xw=4096,Bd={};class ta{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 ta(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return r}}function $d(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&&gh(o,t)}return t}const Zw=K.mac?"mac":K.windows?"win":K.linux?"linux":"key";function ek(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 mo(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 tk=ir.default(_.domEventHandlers({keydown(n,e){return $g(Bg(e.state),n,e,"editor")}})),Pa=G.define({enables:tk}),Fd=new WeakMap;function Bg(n){let e=n.facet(Pa),t=Fd.get(e);return t||Fd.set(e,t=ik(e.reduce((r,i)=>r.concat(i),[]))),t}function nk(n,e,t){return $g(Bg(n.state),e,n,t)}let wn=null;const rk=4e3;function ik(n,e=Zw){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=>ek(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 P=wn={view:S,prefix:k,scope:o};return setTimeout(()=>{wn==P&&(wn=null)},rk),!0}]})}let g=m.join(" ");i(g,!1);let y=p[g]||(p[g]={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,Rc))}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 Rc=null;function $g(n,e,t,r){Rc=e;let i=y2(e),s=rt(i,0),o=Ht(s)==i.length&&i!=" ",a="",l=!1,c=!1,h=!1;wn&&wn.view==t&&wn.scope==r&&(a=wn.prefix+" ",jg.indexOf(e.keyCode)<0&&(c=!0,wn=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,g;return p&&(f(p[a+mo(i,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(K.windows&&e.ctrlKey&&e.altKey)&&!(K.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Dn[e.keyCode])&&m!=i?(f(p[a+mo(m,e,!0)])||e.shiftKey&&(g=Mi[e.keyCode])!=i&&g!=m&&f(p[a+mo(g,e,!1)]))&&(l=!0):o&&e.shiftKey&&f(p[a+mo(i,e,!0)])&&(l=!0),!l&&f(p._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Rc=null,l}class Ns{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=Fg(e);return[new Ns(t,i.left-s.left,i.top-s.top,null,i.bottom-i.top)]}else return sk(e,t,r)}}function Fg(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 Vd(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 sk(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=Fg(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=Mc(n,r,1),m=Mc(n,i,-1),g=p.type==Ue.Text?p:null,y=m.type==Ue.Text?m:null;if(g&&(n.lineWrapping||p.widgetLineBreaks)&&(g=Vd(n,r,1,g)),y&&(n.lineWrapping||m.widgetLineBreaks)&&(y=Vd(n,i,-1,y)),g&&y&&g.from==y.from&&g.to==y.to)return k(S(t.from,t.to,g));{let O=g?S(t.from,null,g):P(p,!1),M=y?S(null,t.to,y):P(m,!0),x=[];return(g||p).to<(y||m).from-(g&&y?1:0)||p.widgetLineBreaks>1&&O.bottom+n.defaultLineHeight/2<M.top?x.push(v(d,O.bottom,f,M.top)):O.bottom<M.top&&n.elementAtHeight((O.bottom+M.top)/2).type==Ue.Text&&(O.bottom=M.top=(O.bottom+M.top)/2),k(O).concat(x).concat(k(M))}function v(O,M,x,D){return new Ns(e,O-l.left,M-l.top,x-O,D-M)}function k({top:O,bottom:M,horizontal:x}){let D=[];for(let T=0;T<x.length;T+=2)D.push(v(x[T],O,x[T+1],M));return D}function S(O,M,x){let D=1e9,T=-1e9,I=[];function R(q,F,X,ce,H){let Y=n.coordsAtPos(q,q==x.to?-2:2),$=n.coordsAtPos(X,X==x.from?2:-2);!Y||!$||(D=Math.min(Y.top,$.top,D),T=Math.max(Y.bottom,$.bottom,T),H==Oe.LTR?I.push(s&&F?d:Y.left,s&&ce?f:$.right):I.push(!s&&ce?d:$.left,!s&&F?f:Y.right))}let B=O??x.from,U=M??x.to;for(let q of n.visibleRanges)if(q.to>B&&q.from<U)for(let F=Math.max(q.from,B),X=Math.min(q.to,U);;){let ce=n.state.doc.lineAt(F);for(let H of n.bidiSpans(ce)){let Y=H.from+ce.from,$=H.to+ce.from;if(Y>=X)break;$>F&&R(Math.max(Y,F),O==null&&Y<=B,Math.min($,X),M==null&&$>=U,H.dir)}if(F=ce.to+1,F>=X)break}return I.length==0&&R(B,O==null,U,M==null,n.textDirection),{top:D,bottom:T,horizontal:I}}function P(O,M){let x=a.top+(M?O.top:O.bottom);return{top:x,bottom:x,horizontal:[]}}}function ok(n,e){return n.constructor==e.constructor&&n.eq(e)}class ak{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($o)!=e.state.facet($o)&&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($o);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)=>!ok(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,K.safari&&K.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 $o=G.define();function Vg(n){return[Re.define(e=>new ak(e,n)),$o.of(n)]}const Ri=G.define({combine(n){return Xt(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function lk(n={}){return[Ri.of(n),ck,hk,uk,hg.of(!0)]}function zg(n){return n.startState.facet(Ri)!=n.state.facet(Ri)}const ck=Vg({above:!0,markers(n){let{state:e}=n,t=e.facet(Ri),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:N.cursor(i.head,i.head>i.anchor?-1:1);for(let l of Ns.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=zg(n);return t&&zd(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){zd(e.state,n)},class:"cm-cursorLayer"});function zd(n,e){e.style.animationDuration=n.facet(Ri).cursorBlinkRate+"ms"}const hk=Vg({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:Ns.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||zg(n)},class:"cm-selectionLayer"}),uk=ir.highest(_.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"}}}})),Hg=le.define({map(n,e){return n==null?null:e.mapPos(n)}}),ci=Ke.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,r)=>r.is(Hg)?r.value:t,n)}}),dk=Re.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(ci);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(ci)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(ci),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(ci)!=n&&this.view.dispatch({effects:Hg.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 fk(){return[ci,dk]}function Hd(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 pk(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 mk{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 hn,r=t.add.bind(t);for(let{from:i,to:s}of pk(e,this.maxLength))Hd(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=(g,y,v)=>f.push(v.range(g,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 Hd(e.state.doc,this.regexp,h,d,(g,y)=>this.addMatch(y,e,g,m));t=t.update({filterFrom:h,filterTo:d,filter:(g,y)=>g<h||y>d,add:f})}}return t}}const Lc=/x/.unicode!=null?"gu":"g",gk=new RegExp(`[\0-\b
|
|
62
|
-
--\u2028\u2029\uFEFF-]`,Lc),bk={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 dl=null;function yk(){var n;if(dl==null&&typeof document<"u"&&document.body){let e=document.body.style;dl=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return dl||!1}const Fo=G.define({combine(n){let e=Xt(n,{render:null,specialChars:gk,addSpecialChars:null});return(e.replaceTabs=!yk())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Lc)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Lc)),e}});function xk(n={}){return[Fo.of(n),vk()]}let Wd=null;function vk(){return Wd||(Wd=Re.fromClass(class{constructor(n){this.view=n,this.decorations=ie.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(Fo)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new mk({regexp:n.specialChars,decoration:(e,t,r)=>{let{doc:i}=t.state,s=rt(e[0],0);if(s==9){let o=i.lineAt(r),a=t.state.tabSize,l=Lr(o.text,a,r-o.from);return ie.replace({widget:new Ck((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=ie.replace({widget:new Sk(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(Fo);n.startState.facet(Fo)!=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 wk="•";function kk(n){return n>=32?wk:n==10?"":String.fromCharCode(9216+n)}class Sk extends Zt{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=kk(this.code),r=e.state.phrase("Control character")+" "+(bk[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 Ck extends Zt{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 Ok(){return Pk}const jk=ie.line({class:"cm-activeLine"}),Pk=Re.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(jk.range(i.from)),e=i.from)}return ie.set(t)}},{decorations:n=>n.decorations});class Mk extends Zt{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?pi(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),i=Ti(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 Ak(n){let e=Re.fromClass(class{constructor(t){this.view=t,this.placeholder=n?ie.set([ie.widget({widget:new Mk(n),side:1}).range(0)]):ie.none}get decorations(){return this.view.state.doc.length?ie.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,_.contentAttributes.of({"aria-placeholder":n})]:e}const Ic=2e3;function Dk(n,e,t){let r=Math.min(e.line,t.line),i=Math.max(e.line,t.line),s=[];if(e.off>Ic||t.off>Ic||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(N.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=mc(c.text,o,n.tabSize,!0);if(h<0)s.push(N.cursor(c.to));else{let d=mc(c.text,a,n.tabSize);s.push(N.range(c.from+h,c.from+d))}}}return s}function Tk(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function _d(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>Ic?-1:i==r.length?Tk(n,e.clientX):Lr(r.text,n.state.tabSize,t-r.from);return{line:r.number,col:s,off:i}}function Nk(n,e){let t=_d(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=_d(n,i);if(!a)return r;let l=Dk(n.state,t,a);return l.length?o?N.create(l.concat(r.ranges)):N.create(l):r}}:null}function Ek(n){let e=t=>t.altKey&&t.button==0;return _.mouseSelectionStyle.of((t,r)=>e(r)?Nk(t,r):null)}const Rk={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},Lk={style:"cursor: crosshair"};function Ik(n={}){let[e,t]=Rk[n.key||"Alt"],r=Re.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,_.contentAttributes.of(i=>{var s;return!((s=i.plugin(r))===null||s===void 0)&&s.isDown?Lk:null})]}const go="-10000px";class Wg{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 Bk(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const fl=G.define({combine:n=>{var e,t,r;return{position:K.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)||Bk}}}),Ud=new WeakMap,jh=Re.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(fl);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 Wg(n,Ph,(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(fl);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=go,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(K.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=kh(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(fl).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=go;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,g=f.right-f.left,y=(e=Ud.get(c))!==null&&e!==void 0?e:f.bottom-f.top,v=c.offset||Fk,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-g)):Math.min(Math.max(r.left,d.left-g+(p?14:0)-v.x),r.right-g),P=this.above[a];!l.strictSide&&(P?d.top-y-m-v.y<r.top:d.bottom+y+m+v.y>r.bottom)&&P==r.bottom-d.bottom>d.top-r.top&&(P=this.above[a]=!P);let O=(P?d.top-r.top:r.bottom-d.bottom)-m;if(O<y&&c.resize!==!1){if(O<this.view.defaultLineHeight){h.style.top=go;continue}Ud.set(c,y),h.style.height=(y=O)/s+"px"}else h.style.height&&(h.style.height="");let M=P?d.top-y-m-v.y:d.bottom+m+v.y,x=S+g;if(c.overlap!==!0)for(let D of o)D.left<x&&D.right>S&&D.top<M+y&&D.bottom>M&&(M=P?D.top-y-2-m:D.bottom+m+2);if(this.position=="absolute"?(h.style.top=(M-n.parent.top)/s+"px",Kd(h,(S-n.parent.left)/i)):(h.style.top=M/s+"px",Kd(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:M,right:x,bottom:M+y}),h.classList.toggle("cm-tooltip-above",P),h.classList.toggle("cm-tooltip-below",!P),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=go}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Kd(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const $k=_.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"}}}),Fk={x:0,y:0},Ph=G.define({enables:[jh,$k]}),na=G.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class Ma{static create(e){return new Ma(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Wg(e,na,(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 Vk=Ph.compute([na],n=>{let e=n.facet(na);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:Ma.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class zk{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=>ot(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(jh),t=e?e.manager.tooltips.findIndex(r=>r.create==Ma.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&&!Hk(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:!Wk(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 bo=4;function Hk(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-bo&&e.clientX<=r+bo&&e.clientY>=i-bo&&e.clientY<=s+bo}function Wk(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 _k(n,e={}){let t=le.define(),r=Ke.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,et.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(Uk)&&(i=[]);return i},provide:i=>na.from(i)});return{active:r,extension:[r,Re.define(i=>new zk(i,n,r,t,e.hoverTime||300)),Vk]}}function _g(n,e){let t=n.plugin(jh);if(!t)return null;let r=t.manager.tooltips.indexOf(e);return r<0?null:t.manager.tooltipViews[r]}const Uk=le.define(),Gd=G.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 Li(n,e){let t=n.plugin(Ug),r=t?t.specs.indexOf(e):-1;return r>-1?t.panels[r]:null}const Ug=Re.fromClass(class{constructor(n){this.input=n.state.facet(Ii),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(Gd);this.top=new yo(n,!0,e.topContainer),this.bottom=new yo(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(Gd);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new yo(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new yo(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(Ii);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=>_.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class yo{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=qd(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=qd(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 qd(n){let e=n.nextSibling;return n.remove(),e}const Ii=G.define({enables:Ug});class dn extends Mn{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}dn.prototype.elementClass="";dn.prototype.toDOM=void 0;dn.prototype.mapMode=et.TrackBefore;dn.prototype.startSide=dn.prototype.endSide=-1;dn.prototype.point=!0;const Vo=G.define(),Kk=G.define(),Gk={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>de.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},bi=G.define();function qk(n){return[Kg(),bi.of({...Gk,...n})]}const Yd=G.define({combine:n=>n.some(e=>e)});function Kg(n){return[Yk]}const Yk=Re.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(bi).map(e=>new Jd(n,e)),this.fixed=!n.state.facet(Yd);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(Yd)!=!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=de.iter(this.view.state.facet(Vo),this.view.viewport.from),r=[],i=this.gutters.map(s=>new Qk(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==Ue.Text&&o){Bc(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==Ue.Text){Bc(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(bi),t=n.state.facet(bi),r=n.docChanged||n.heightChanged||n.viewportChanged||!de.eq(n.startState.facet(Vo),n.state.facet(Vo),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 Jd(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=>_.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 Qd(n){return Array.isArray(n)?n:[n]}function Bc(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class Qk{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=de.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 Gg(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=[];Bc(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(Kk)){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 Jd{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=Qd(t.markers(e)),t.initialSpacer&&(this.spacer=new Gg(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=Qd(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!de.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 Gg{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":""),Jk(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 Jk(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 Xk=G.define(),Zk=G.define(),pr=G.define({combine(n){return Xt(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 pl extends dn{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function ml(n,e){return n.state.facet(pr).formatNumber(e,n.state)}const e3=bi.compute([pr],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(Xk)},lineMarker(e,t,r){return r.some(i=>i.toDOM)?null:new pl(ml(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,r)=>{for(let i of e.state.facet(Zk)){let s=i(e,t,r);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(pr)!=e.state.facet(pr),initialSpacer(e){return new pl(ml(e,Xd(e.state.doc.lines)))},updateSpacer(e,t){let r=ml(t.view,Xd(t.view.state.doc.lines));return r==e.number?e:new pl(r)},domEventHandlers:n.facet(pr).domEventHandlers,side:"before"}));function t3(n={}){return[pr.of(n),Kg(),e3]}function Xd(n){let e=9;for(;e<n;)e=e*10+9;return e}const n3=new class extends dn{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},r3=Vo.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(n3.range(i)))}return de.of(e)});function i3(){return r3}var gl;const mr=new ue;function s3(n){return G.define({combine:n?e=>e.concat(n):void 0})}const o3=new ue;class Dt{constructor(e,t,r=[],i=""){this.data=e,this.name=i,pe.prototype.hasOwnProperty("tree")||Object.defineProperty(pe.prototype,"tree",{get(){return Qe(this)}}),this.parser=t,this.extension=[Nn.of(this),pe.languageData.of((s,o,a)=>{let l=Zd(s,o,a),c=l.type.prop(mr);if(!c)return[];let h=s.facet(c),d=l.type.prop(o3);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 Zd(e,t,r).type.prop(mr)==this.data}findRegions(e){let t=e.facet(Nn);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(mr)==this.data){r.push({from:o,to:o+s.length});return}let a=s.prop(ue.mounted);if(a){if(a.tree.prop(mr)==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 Ee&&i(c,s.positions[l]+o)}};return i(Qe(e),0),r}get allowsNesting(){return!0}}Dt.setState=le.define();function Zd(n,e,t){let r=n.facet(Nn),i=Qe(n).topNode;if(!r||r.allowsNesting)for(let s=i;s;s=s.enter(e,t,De.ExcludeBuffers|De.EnterBracketed))s.type.isTop&&(i=s);return i}class ra extends Dt{constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=s3(e.languageData);return new ra(t,e.parser.configure({props:[mr.add(r=>r.isTop?t:void 0)]}),e.name)}configure(e,t){return new ra(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Qe(n){let e=n.field(Dt.state,!1);return e?e.tree:Ee.empty}class a3{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 ei=null;class ia{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 ia(e,t,[],Ee.empty,0,r,[],null)}startParse(){return this.parser.startParse(new a3(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Ee.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(Jn.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(Jn.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=ei;ei=this;try{return e()}finally{ei=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=ef(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=Jn.applyChanges(r,l),i=Ee.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 ia(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=ef(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 km{createParse(t,r,i){let s=i[0].from,o=i[i.length-1].to;return{parsedPos:s,advance(){let l=ei;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 Ee(lt.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 ei}}function ef(n,e,t){return Jn.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class Tr{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 Tr(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=ia.create(e.facet(Nn).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new Tr(r)}}Dt.state=Ke.define({create:Tr.init,update(n,e){for(let t of e.effects)if(t.is(Dt.setState))return t.value;return e.startState.facet(Nn)!=e.state.facet(Nn)?Tr.init(e.state):n.apply(e)}});let qg=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(qg=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const bl=typeof navigator<"u"&&(!((gl=navigator.scheduling)===null||gl===void 0)&&gl.isInputPending)?()=>navigator.scheduling.isInputPending():null,l3=Re.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(Dt.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(Dt.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=qg(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(Dt.state);if(s.tree==s.context.tree&&s.context.isDone(i+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!bl?Math.max(25,e.timeRemaining()-5):1e9),a=s.context.treeLen<i&&r.doc.length>i+1e3,l=s.context.work(()=>bl&&bl()||Date.now()>o,i+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Dt.setState.of(new Tr(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=>ot(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()}}}),Nn=G.define({combine(n){return n.length?n[0]:null},enables:n=>[Dt.state,l3,_.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class c3{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const h3=G.define(),Aa=G.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 sa(n){let e=n.facet(Aa);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Bi(n,e){let t="",r=n.tabSize,i=n.facet(Aa)[0];if(i==" "){for(;e>=r;)t+=" ",e-=r;i=" "}for(let s=0;s<e;s++)t+=i;return t}function Mh(n,e){n instanceof pe&&(n=new Da(n));for(let r of n.state.facet(h3)){let i=r(n,e);if(i!==void 0)return i}let t=Qe(n.state);return t.length>=e?u3(n,t,e):null}class Da{constructor(e,t={}){this.state=e,this.options=t,this.unit=sa(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 Lr(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 Yg=new ue;function u3(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 Qg(r,n,t)}function Qg(n,e,t){for(let r=n;r;r=r.next){let i=f3(r.node);if(i)return i(Ah.create(e,t,r))}return 0}function d3(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function f3(n){let e=n.type.prop(Yg);if(e)return e;let t=n.firstChild,r;if(t&&(r=t.type.prop(ue.closedBy))){let i=n.lastChild,s=i&&r.indexOf(i.name)>-1;return o=>b3(o,!0,1,void 0,s&&!d3(o)?i.from:void 0)}return n.parent==null?p3:null}function p3(){return 0}class Ah extends Da{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 Ah(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(m3(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return Qg(this.context.next,this.base,this.pos)}}function m3(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function g3(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 b3(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=g3(n);return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}function tf({except:n,units:e=1}={}){return t=>{let r=n&&n.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}const y3=200;function x3(){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+y3)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=Mh(o,h.from);if(d==null)continue;let f=/^\s*/.exec(h.text)[0],p=Bi(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 v3=G.define(),Jg=new ue;function w3(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 k3(n,e,t){let r=Qe(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(Jg);if(l&&(a.to<r.length-50||r.length==n.doc.length||!S3(a))){let c=l(a,n);c&&c.from<=t&&c.from>=e&&c.to>t&&(s=c)}}return s}function S3(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function oa(n,e,t){for(let r of n.facet(v3)){let i=r(n,e,t);if(i)return i}return k3(n,e,t)}function Xg(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 Ta=le.define({map:Xg}),Es=le.define({map:Xg});function Zg(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 tr=Ke.define({create(){return ie.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,r)=>n=nf(n,t,r)),n=n.map(e.changes);for(let t of e.effects)if(t.is(Ta)&&!C3(n,t.value.from,t.value.to)){let{preparePlaceholder:r}=e.state.facet(n0),i=r?ie.replace({widget:new T3(r(e.state,t.value))}):rf;n=n.update({add:[i.range(t.value.from,t.value.to)]})}else t.is(Es)&&(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=nf(n,e.selection.main.head)),n},provide:n=>_.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(rf.range(r,i))}return ie.set(e,!0)}});function nf(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 aa(n,e,t){var r;let i=null;return(r=n.field(tr,!1))===null||r===void 0||r.between(e,t,(s,o)=>{(!i||i.from>s)&&(i={from:s,to:o})}),i}function C3(n,e,t){let r=!1;return n.between(e,e,(i,s)=>{i==e&&s==t&&(r=!0)}),r}function e0(n,e){return n.field(tr,!1)?e:e.concat(le.appendConfig.of(r0()))}const O3=n=>{for(let e of Zg(n)){let t=oa(n.state,e.from,e.to);if(t)return n.dispatch({effects:e0(n.state,[Ta.of(t),t0(n,t)])}),!0}return!1},j3=n=>{if(!n.state.field(tr,!1))return!1;let e=[];for(let t of Zg(n)){let r=aa(n.state,t.from,t.to);r&&e.push(Es.of(r),t0(n,r,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function t0(n,e,t=!0){let r=n.state.doc.lineAt(e.from).number,i=n.state.doc.lineAt(e.to).number;return _.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${r} ${n.state.phrase("to")} ${i}.`)}const P3=n=>{let{state:e}=n,t=[];for(let r=0;r<e.doc.length;){let i=n.lineBlockAt(r),s=oa(e,i.from,i.to);s&&t.push(Ta.of(s)),r=(s?n.lineBlockAt(s.to):i).to+1}return t.length&&n.dispatch({effects:e0(n.state,t)}),!!t.length},M3=n=>{let e=n.state.field(tr,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(r,i)=>{t.push(Es.of({from:r,to:i}))}),n.dispatch({effects:t}),!0},A3=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:O3},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:j3},{key:"Ctrl-Alt-[",run:P3},{key:"Ctrl-Alt-]",run:M3}],D3={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},n0=G.define({combine(n){return Xt(n,D3)}});function r0(n){return[tr,R3]}function i0(n,e){let{state:t}=n,r=t.facet(n0),i=o=>{let a=n.lineBlockAt(n.posAtDOM(o.target)),l=aa(n.state,a.from,a.to);l&&n.dispatch({effects:Es.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 rf=ie.replace({widget:new class extends Zt{toDOM(n){return i0(n,null)}}});class T3 extends Zt{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return i0(e,this.value)}}const N3={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class yl extends dn{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 E3(n={}){let e={...N3,...n},t=new yl(e,!0),r=new yl(e,!1),i=Re.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet(Nn)!=o.state.facet(Nn)||o.startState.field(tr,!1)!=o.state.field(tr,!1)||Qe(o.startState)!=Qe(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new hn;for(let l of o.viewportLineBlocks){let c=aa(o.state,l.from,l.to)?r:oa(o.state,l.from,l.to)?t:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:s}=e;return[i,qk({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(i))===null||a===void 0?void 0:a.markers)||de.empty},initialSpacer(){return new yl(e,!1)},domEventHandlers:{...s,click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let c=aa(o.state,a.from,a.to);if(c)return o.dispatch({effects:Es.of(c)}),!0;let h=oa(o.state,a.from,a.to);return h?(o.dispatch({effects:Ta.of(h)}),!0):!1}}}),r0()]}const R3=_.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 Ir{constructor(e,t){this.specs=e;let r;function i(a){let l=An.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 Dt?a=>a.prop(mr)==o.data:o?a=>a==o:void 0,this.style=Om(e.map(a=>({tag:a.tag,class:a.class||i(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=r?new An(r):null,this.themeType=t.themeType}static define(e,t){return new Ir(e,t||{})}}const $c=G.define(),s0=G.define({combine(n){return n.length?[n[0]]:null}});function xl(n){let e=n.facet($c);return e.length?e:n.facet(s0)}function Dh(n,e){let t=[I3],r;return n instanceof Ir&&(n.module&&t.push(_.styleModule.of(n.module)),r=n.themeType),e?.fallback?t.push(s0.of(n)):r?t.push($c.computeN([_.darkTheme],i=>i.facet(_.darkTheme)==(r=="dark")?[n]:[])):t.push($c.of(n)),t}class L3{constructor(e){this.markCache=Object.create(null),this.tree=Qe(e.state),this.decorations=this.buildDeco(e,xl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=Qe(e.state),r=xl(e.state),i=r!=xl(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 ie.none;let r=new hn;for(let{from:i,to:s}of e.visibleRanges)Uv(this.tree,t,(o,a,l)=>{r.add(o,a,this.markCache[l]||(this.markCache[l]=ie.mark({class:l})))},i,s);return r.finish()}}const I3=ir.high(Re.fromClass(L3,{decorations:n=>n.decorations})),B3=Ir.define([{tag:A.meta,color:"#404740"},{tag:A.link,textDecoration:"underline"},{tag:A.heading,textDecoration:"underline",fontWeight:"bold"},{tag:A.emphasis,fontStyle:"italic"},{tag:A.strong,fontWeight:"bold"},{tag:A.strikethrough,textDecoration:"line-through"},{tag:A.keyword,color:"#708"},{tag:[A.atom,A.bool,A.url,A.contentSeparator,A.labelName],color:"#219"},{tag:[A.literal,A.inserted],color:"#164"},{tag:[A.string,A.deleted],color:"#a11"},{tag:[A.regexp,A.escape,A.special(A.string)],color:"#e40"},{tag:A.definition(A.variableName),color:"#00f"},{tag:A.local(A.variableName),color:"#30a"},{tag:[A.typeName,A.namespace],color:"#085"},{tag:A.className,color:"#167"},{tag:[A.special(A.variableName),A.macroName],color:"#256"},{tag:A.definition(A.propertyName),color:"#00c"},{tag:A.comment,color:"#940"},{tag:A.invalid,color:"#f00"}]),$3=_.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),o0=1e4,a0="()[]{}",l0=G.define({combine(n){return Xt(n,{afterCursor:!0,brackets:a0,maxScanDistance:o0,renderMatch:z3})}}),F3=ie.mark({class:"cm-matchingBracket"}),V3=ie.mark({class:"cm-nonmatchingBracket"});function z3(n){let e=[],t=n.matched?F3:V3;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 H3=Ke.define({create(){return ie.none},update(n,e){if(!e.docChanged&&!e.selection)return n;let t=[],r=e.state.facet(l0);for(let i of e.state.selection.ranges){if(!i.empty)continue;let s=_t(e.state,i.head,-1,r)||i.head>0&&_t(e.state,i.head-1,1,r)||r.afterCursor&&(_t(e.state,i.head,1,r)||i.head<e.state.doc.length&&_t(e.state,i.head+1,-1,r));s&&(t=t.concat(r.renderMatch(s,e.state)))}return ie.set(t,!0)},provide:n=>_.decorations.from(n)}),W3=[H3,$3];function _3(n={}){return[l0.of(n),W3]}const U3=new ue;function Fc(n,e,t){let r=n.prop(e<0?ue.openedBy:ue.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 Vc(n){let e=n.type.prop(U3);return e?e(n.node):n}function _t(n,e,t,r={}){let i=r.maxScanDistance||o0,s=r.brackets||a0,o=Qe(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=Fc(l.type,t,s);if(c&&l.from<l.to){let h=Vc(l);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return K3(n,e,t,l,h,c,s)}}return G3(n,e,t,o,a.type,i,s)}function K3(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=Vc(h);return{start:l,end:d?{from:d.from,to:d.to}:void 0,matched:!0}}else if(Fc(h.type,t,o))c++;else if(Fc(h.type,-t,o)){if(c==0){let d=Vc(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 G3(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 g=t>0?0:p.length-1,y=t>0?p.length:-1;g!=y;g+=t){let v=o.indexOf(p[g]);if(!(v<0||r.resolveInner(m+g,1).type!=i))if(v%2==0==t>0)d++;else{if(d==1)return{start:c,end:{from:m+g,to:m+g+1},matched:v>>1==l>>1};d--}}t>0&&(f+=p.length)}return h.done?{start:c,matched:!1}:null}const q3=Object.create(null),sf=[lt.none],of=[],af=Object.create(null),Y3=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"]])Y3[n]=Q3(q3,e);function vl(n,e){of.indexOf(n)>-1||(of.push(n),console.warn(e))}function Q3(n,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=n[c]||A[c];h?typeof h=="function"?l.length?l=l.map(h):vl(c,`Modifier ${c} used at start of tag`):l.length?vl(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:vl(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=af[i];if(s)return s.id;let o=af[i]=lt.define({id:sf.length,name:r,props:[Sm({[r]:t})]});return sf.push(o),o.id}Oe.RTL,Oe.LTR;const J3=ra.define({name:"json",parser:Yv.configure({props:[Yg.add({Object:tf({except:/^\s*\}/}),Array:tf({except:/^\s*\]/})}),Jg.add({"Object Array":w3})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function X3(){return new c3(J3)}function zc(){return zc=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},zc.apply(null,arguments)}function Z3(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 eS=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),r=Nh(n.state,t.from);return r.line?tS(n):r.block?rS(n):!1};function Th(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 tS=Th(oS,0),nS=Th(c0,0),rS=Th((n,e)=>c0(n,e,sS(e)),0);function Nh(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const ti=50;function iS(n,{open:e,close:t},r,i){let s=n.sliceDoc(r-ti,r),o=n.sliceDoc(i,i+ti),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*ti?h=d=n.sliceDoc(r,i):(h=n.sliceDoc(r,r+ti),d=n.sliceDoc(i-ti,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 sS(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 c0(n,e,t=e.selection.ranges){let r=t.map(s=>Nh(e,s.from).block);if(!r.every(s=>s))return null;let i=t.map((s,o)=>iS(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 oS(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=Nh(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 Hc=Jt.define(),aS=Jt.define(),lS=G.define(),h0=G.define({combine(n){return Xt(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)})}}),u0=Ke.define({create(){return Ut.empty},update(n,e){let t=e.state.facet(h0),r=e.annotation(Hc);if(r){let l=at.fromTransaction(e,r.selection),c=r.side,h=c==0?n.undone:n.done;return l?h=la(h,h.length,t.minDepth,l):h=p0(h,e.startState.selection),new Ut(c==0?r.rest:h,c==0?h:r.rest)}let i=e.annotation(aS);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation(Fe.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let s=at.fromTransaction(e),o=e.annotation(Fe.time),a=e.annotation(Fe.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 Ut(n.done.map(at.fromJSON),n.undone.map(at.fromJSON))}});function cS(n={}){return[u0,h0.of(n),_.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?d0:e.inputType=="historyRedo"?Wc:null;return r?(e.preventDefault(),r(t)):!1}})]}function Na(n,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let i=t.field(u0,!1);if(!i)return!1;let s=i.pop(n,t,e);return s?(r(s),!0):!1}}const d0=Na(0,!1),Wc=Na(1,!1),hS=Na(0,!0),uS=Na(1,!0);class at{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 at(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 at(e.changes&&Be.fromJSON(e.changes),[],e.mapped&&Gt.fromJSON(e.mapped),e.startSelection&&N.fromJSON(e.startSelection),e.selectionsAfter.map(N.fromJSON))}static fromTransaction(e,t){let r=vt;for(let i of e.startState.facet(lS)){let s=i(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new at(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,vt)}static selection(e){return new at(void 0,vt,void 0,void 0,e)}}function la(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 dS(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 fS(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function f0(n,e){return n.length?e.length?n.concat(e):n:e}const vt=[],pS=200;function p0(n,e){if(n.length){let t=n[n.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-pS));return r.length&&r[r.length-1].eq(e)?n:(r.push(e),la(n,n.length-1,1e9,t.setSelAfter(r)))}else return[at.selection([e])]}function mS(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 wl(n,e){if(!n.length)return n;let t=n.length,r=vt;for(;t;){let i=gS(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?[at.selection(r)]:vt}function gS(n,e,t){let r=f0(n.selectionsAfter.length?n.selectionsAfter.map(a=>a.map(e)):vt,t);if(!n.changes)return at.selection(r);let i=n.changes.map(e),s=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(s):s;return new at(i,le.mapEffects(n.effects,e),o,n.startSelection.map(s),r)}const bS=/^(input\.type|delete)($|\.)/;class Ut{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 Ut(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||bS.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime<i.newGroupDelay&&i.joinToEvent(s,dS(a.changes,e.changes))||r=="input.type.compose")?o=la(o,o.length-1,i.minDepth,new at(e.changes.compose(a.changes),f0(le.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,vt)):o=la(o,o.length,i.minDepth,e),new Ut(o,vt,t,r)}addSelection(e,t,r,i){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:vt;return s.length>0&&t-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&fS(s[s.length-1],e)?this:new Ut(p0(this.done,e),this.undone,t,r)}addMapping(e){return new Ut(wl(this.done,e),wl(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:Hc.of({side:e,rest:mS(i),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let a=i.length==1?vt:i.slice(0,i.length-1);return s.mapped&&(a=wl(a,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Hc.of({side:e,rest:a,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Ut.empty=new Ut(vt,vt);const yS=[{key:"Mod-z",run:d0,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Wc,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Wc,preventDefault:!0},{key:"Mod-u",run:hS,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:uS,preventDefault:!0}];function Br(n,e){return N.create(n.ranges.map(e),n.mainIndex)}function Nt(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Et({state:n,dispatch:e},t){let r=Br(n.selection,t);return r.eq(n.selection,!0)?!1:(e(Nt(n,r)),!0)}function Ea(n,e){return N.cursor(e?n.to:n.from)}function m0(n,e){return Et(n,t=>t.empty?n.moveByChar(t,e):Ea(t,e))}function Je(n){return n.textDirectionAt(n.state.selection.main.head)==Oe.LTR}const g0=n=>m0(n,!Je(n)),b0=n=>m0(n,Je(n));function y0(n,e){return Et(n,t=>t.empty?n.moveByGroup(t,e):Ea(t,e))}const xS=n=>y0(n,!Je(n)),vS=n=>y0(n,Je(n));function wS(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 Ra(n,e,t){let r=Qe(n).resolveInner(e.head),i=t?ue.closedBy:ue.openedBy;for(let l=e.head;;){let c=t?r.childAfter(l):r.childBefore(l);if(!c)break;wS(n,c,i)?r=c:l=t?c.to:c.from}let s=r.type.prop(i),o,a;return s&&(o=t?_t(n,r.from,1):_t(n,r.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?r.to:r.from,N.cursor(a,t?-1:1)}const kS=n=>Et(n,e=>Ra(n.state,e,!Je(n))),SS=n=>Et(n,e=>Ra(n.state,e,Je(n)));function x0(n,e){return Et(n,t=>{if(!t.empty)return Ea(t,e);let r=n.moveVertically(t,e);return r.head!=t.head?r:n.moveToLineBoundary(t,e)})}const v0=n=>x0(n,!1),w0=n=>x0(n,!0);function k0(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,r=0,i;if(e){for(let s of n.state.facet(_.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 S0(n,e){let t=k0(n),{state:r}=n,i=Br(r.selection,o=>o.empty?n.moveVertically(o,e,t.height):Ea(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=_.scrollIntoView(i.main.head,{y:"start",yMargin:o.top-l}))}return n.dispatch(Nt(r,i),{effects:s}),!0}const lf=n=>S0(n,!1),_c=n=>S0(n,!0);function Rn(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=N.cursor(r.from+s))}return i}const CS=n=>Et(n,e=>Rn(n,e,!0)),OS=n=>Et(n,e=>Rn(n,e,!1)),jS=n=>Et(n,e=>Rn(n,e,!Je(n))),PS=n=>Et(n,e=>Rn(n,e,Je(n))),MS=n=>Et(n,e=>N.cursor(n.lineBlockAt(e.head).from,1)),AS=n=>Et(n,e=>N.cursor(n.lineBlockAt(e.head).to,-1));function DS(n,e,t){let r=!1,i=Br(n.selection,s=>{let o=_t(n,s.head,-1)||_t(n,s.head,1)||s.head>0&&_t(n,s.head-1,1)||s.head<n.doc.length&&_t(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 N.cursor(a)});return r?(e(Nt(n,i)),!0):!1}const TS=({state:n,dispatch:e})=>DS(n,e);function Pt(n,e){let t=Br(n.state.selection,r=>{let i=e(r);return N.range(r.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch(Nt(n.state,t)),!0)}function C0(n,e){return Pt(n,t=>n.moveByChar(t,e))}const O0=n=>C0(n,!Je(n)),j0=n=>C0(n,Je(n));function P0(n,e){return Pt(n,t=>n.moveByGroup(t,e))}const NS=n=>P0(n,!Je(n)),ES=n=>P0(n,Je(n)),RS=n=>Pt(n,e=>Ra(n.state,e,!Je(n))),LS=n=>Pt(n,e=>Ra(n.state,e,Je(n)));function M0(n,e){return Pt(n,t=>n.moveVertically(t,e))}const A0=n=>M0(n,!1),D0=n=>M0(n,!0);function T0(n,e){return Pt(n,t=>n.moveVertically(t,e,k0(n).height))}const cf=n=>T0(n,!1),hf=n=>T0(n,!0),IS=n=>Pt(n,e=>Rn(n,e,!0)),BS=n=>Pt(n,e=>Rn(n,e,!1)),$S=n=>Pt(n,e=>Rn(n,e,!Je(n))),FS=n=>Pt(n,e=>Rn(n,e,Je(n))),VS=n=>Pt(n,e=>N.cursor(n.lineBlockAt(e.head).from)),zS=n=>Pt(n,e=>N.cursor(n.lineBlockAt(e.head).to)),uf=({state:n,dispatch:e})=>(e(Nt(n,{anchor:0})),!0),df=({state:n,dispatch:e})=>(e(Nt(n,{anchor:n.doc.length})),!0),ff=({state:n,dispatch:e})=>(e(Nt(n,{anchor:n.selection.main.anchor,head:0})),!0),pf=({state:n,dispatch:e})=>(e(Nt(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),HS=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),WS=({state:n,dispatch:e})=>{let t=La(n).map(({from:r,to:i})=>N.range(r,Math.min(i+1,n.doc.length)));return e(n.update({selection:N.create(t),userEvent:"select"})),!0},_S=({state:n,dispatch:e})=>{let t=Br(n.selection,r=>{let i=Qe(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 N.range(a.to,a.from)}return r});return t.eq(n.selection)?!1:(e(Nt(n,t)),!0)};function N0(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(Nt(t,N.create(i,i.length-1))),!0)}const US=n=>N0(n,!1),KS=n=>N0(n,!0),GS=({state:n,dispatch:e})=>{let t=n.selection,r=null;return t.ranges.length>1?r=N.create([t.main]):t.main.empty||(r=N.create([N.cursor(t.main.head)])),r?(e(Nt(n,r)),!0):!1};function Rs(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=xo(n,l,!1)):l>o&&(t="delete.forward",l=xo(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=xo(n,o,!1),a=xo(n,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:N.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"?_.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function xo(n,e,t){if(n instanceof _)for(let r of n.state.facet(_.atomicRanges).map(i=>i(n)))r.between(e,e,(i,s)=>{i<e&&s>e&&(e=t?s:i)});return e}const E0=(n,e,t)=>Rs(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=Lr(a,s.tabSize),h=c%sa(s)||sa(s);for(let d=0;d<h&&a[a.length-1-d]==" ";d++)i--;l=i}else l=$e(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=$e(o.text,l-o.from,!1,!1)+o.from);return l}),Uc=n=>E0(n,!1,!0),R0=n=>E0(n,!0,!1),L0=(n,e)=>Rs(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=$e(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}),I0=n=>L0(n,!1),qS=n=>L0(n,!0),YS=n=>Rs(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),QS=n=>Rs(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),JS=n=>Rs(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),XS=({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:N.cursor(r.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},ZS=({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:$e(s.text,i-s.from,!1)+s.from,a=i==s.to?i+1:$e(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:N.cursor(a)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function La(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 B0(n,e,t){if(n.readOnly)return!1;let r=[],i=[];for(let s of La(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(N.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(N.range(l.anchor-a,l.head-a))}}return r.length?(e(n.update({changes:r,scrollIntoView:!0,selection:N.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const e4=({state:n,dispatch:e})=>B0(n,e,!1),t4=({state:n,dispatch:e})=>B0(n,e,!0);function $0(n,e,t){if(n.readOnly)return!1;let r=[];for(let s of La(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 n4=({state:n,dispatch:e})=>$0(n,e,!1),r4=({state:n,dispatch:e})=>$0(n,e,!0),i4=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(La(e).map(({from:i,to:s})=>(i>0?i--:s<e.doc.length&&s++,{from:i,to:s}))),r=Br(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 s4(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=Qe(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(ue.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 mf=F0(!1),o4=F0(!0);function F0(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&&s4(e,s);n&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new Da(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=Mh(c,s);for(h==null&&(h=Lr(/^\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=["",Bi(e,h)];return l&&d.push(Bi(e,c.lineIndent(a.from,-1))),{changes:{from:s,to:o,insert:xe.of(d)},range:N.cursor(s+1+d[1].length)}});return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Eh(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:N.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}const a4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),r=new Da(n,{overrideIndentation:s=>{let o=t[s];return o??-1}}),i=Eh(n,(s,o,a)=>{let l=Mh(r,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=Bi(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},V0=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Eh(n,(t,r)=>{r.push({from:t.from,insert:n.facet(Aa)})}),{userEvent:"input.indent"})),!0),z0=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Eh(n,(t,r)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let s=Lr(i,n.tabSize),o=0,a=Bi(n,Math.max(0,s-sa(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),l4=n=>(n.setTabFocusMode(),!0),c4=[{key:"Ctrl-b",run:g0,shift:O0,preventDefault:!0},{key:"Ctrl-f",run:b0,shift:j0},{key:"Ctrl-p",run:v0,shift:A0},{key:"Ctrl-n",run:w0,shift:D0},{key:"Ctrl-a",run:MS,shift:VS},{key:"Ctrl-e",run:AS,shift:zS},{key:"Ctrl-d",run:R0},{key:"Ctrl-h",run:Uc},{key:"Ctrl-k",run:YS},{key:"Ctrl-Alt-h",run:I0},{key:"Ctrl-o",run:XS},{key:"Ctrl-t",run:ZS},{key:"Ctrl-v",run:_c}],h4=[{key:"ArrowLeft",run:g0,shift:O0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:xS,shift:NS,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:jS,shift:$S,preventDefault:!0},{key:"ArrowRight",run:b0,shift:j0,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:vS,shift:ES,preventDefault:!0},{mac:"Cmd-ArrowRight",run:PS,shift:FS,preventDefault:!0},{key:"ArrowUp",run:v0,shift:A0,preventDefault:!0},{mac:"Cmd-ArrowUp",run:uf,shift:ff},{mac:"Ctrl-ArrowUp",run:lf,shift:cf},{key:"ArrowDown",run:w0,shift:D0,preventDefault:!0},{mac:"Cmd-ArrowDown",run:df,shift:pf},{mac:"Ctrl-ArrowDown",run:_c,shift:hf},{key:"PageUp",run:lf,shift:cf},{key:"PageDown",run:_c,shift:hf},{key:"Home",run:OS,shift:BS,preventDefault:!0},{key:"Mod-Home",run:uf,shift:ff},{key:"End",run:CS,shift:IS,preventDefault:!0},{key:"Mod-End",run:df,shift:pf},{key:"Enter",run:mf,shift:mf},{key:"Mod-a",run:HS},{key:"Backspace",run:Uc,shift:Uc,preventDefault:!0},{key:"Delete",run:R0,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:I0,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:qS,preventDefault:!0},{mac:"Mod-Backspace",run:QS,preventDefault:!0},{mac:"Mod-Delete",run:JS,preventDefault:!0}].concat(c4.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),u4=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:kS,shift:RS},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:SS,shift:LS},{key:"Alt-ArrowUp",run:e4},{key:"Shift-Alt-ArrowUp",run:n4},{key:"Alt-ArrowDown",run:t4},{key:"Shift-Alt-ArrowDown",run:r4},{key:"Mod-Alt-ArrowUp",run:US},{key:"Mod-Alt-ArrowDown",run:KS},{key:"Escape",run:GS},{key:"Mod-Enter",run:o4},{key:"Alt-l",mac:"Ctrl-l",run:WS},{key:"Mod-i",run:_S,preventDefault:!0},{key:"Mod-[",run:z0},{key:"Mod-]",run:V0},{key:"Mod-Alt-\\",run:a4},{key:"Shift-Mod-k",run:i4},{key:"Shift-Mod-\\",run:TS},{key:"Mod-/",run:eS},{key:"Alt-A",run:nS},{key:"Ctrl-m",mac:"Shift-Alt-m",run:l4}].concat(h4),d4={key:"Tab",run:V0,shift:z0},gf=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class Nr{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(gf(a)):gf,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 rt(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=uh(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Ht(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"&&(Nr.prototype[Symbol.iterator]=function(){return this});const H0={from:-1,to:-1,match:/.*/.exec("")},Rh="gm"+(/x/.unicode==null?"":"u");class W0{constructor(e,t,r,i=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=H0,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new _0(e,t,r,i,s);this.re=new RegExp(t,Rh+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let o=e.lineAt(i);this.curLineStart=o.from,this.matchPos=ca(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=ca(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 kl=new WeakMap;class Cr{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let i=kl.get(e);if(!i||i.from>=r||i.to<=t){let a=new Cr(t,e.sliceString(t,r));return kl.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)),kl.set(e,new Cr(o,s)),new Cr(t,s.slice(t-o,r-o))}}class _0{constructor(e,t,r,i,s){this.text=e,this.to=s,this.done=!1,this.value=H0,this.matchPos=ca(e,i),this.re=new RegExp(t,Rh+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=Cr.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=ca(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Cr.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(W0.prototype[Symbol.iterator]=_0.prototype[Symbol.iterator]=function(){return this});function f4(n){try{return new RegExp(n,Rh),!0}catch{return!1}}function ca(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 Kc(n){let e=String(n.state.doc.lineAt(n.state.selection.main.head).number),t=Se("input",{class:"cm-textfield",name:"line",value:e}),r=Se("form",{class:"cm-gotoLine",onkeydown:s=>{s.keyCode==27?(s.preventDefault(),n.dispatch({effects:yi.of(!1)}),n.focus()):s.keyCode==13&&(s.preventDefault(),i())},onsubmit:s=>{s.preventDefault(),i()}},Se("label",n.state.phrase("Go to line"),": ",t)," ",Se("button",{class:"cm-button",type:"submit"},n.state.phrase("go")),Se("button",{name:"close",onclick:()=>{n.dispatch({effects:yi.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))),g=N.cursor(m.from+Math.max(0,Math.min(f,m.length)));n.dispatch({effects:[yi.of(!1),_.scrollIntoView(g.from,{y:"center"})],selection:g}),n.focus()}return{dom:r}}const yi=le.define(),bf=Ke.define({create(){return!0},update(n,e){for(let t of e.effects)t.is(yi)&&(n=t.value);return n},provide:n=>Ii.from(n,e=>e?Kc:null)}),p4=n=>{let e=Li(n,Kc);if(!e){let t=[yi.of(!0)];n.state.field(bf,!1)==null&&t.push(le.appendConfig.of([bf,m4])),n.dispatch({effects:t}),e=Li(n,Kc)}return e&&e.dom.querySelector("input").select(),!0},m4=_.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"}}}),g4={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},b4=G.define({combine(n){return Xt(n,g4,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function y4(n){return[S4,k4]}const x4=ie.mark({class:"cm-selectionMatch"}),v4=ie.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function yf(n,e,t,r){return(t==0||n(e.sliceDoc(t-1,t))!=Me.Word)&&(r==e.doc.length||n(e.sliceDoc(r,r+1))!=Me.Word)}function w4(n,e,t,r){return n(e.sliceDoc(t,t+1))==Me.Word&&n(e.sliceDoc(r-1,r))==Me.Word}const k4=Re.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(b4),{state:t}=n,r=t.selection;if(r.ranges.length>1)return ie.none;let i=r.main,s,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return ie.none;let l=t.wordAt(i.head);if(!l)return ie.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 ie.none;if(e.wholeWords){if(s=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(yf(o,t,i.from,i.to)&&w4(o,t,i.from,i.to)))return ie.none}else if(s=t.sliceDoc(i.from,i.to),!s)return ie.none}let a=[];for(let l of n.visibleRanges){let c=new Nr(t.doc,s,l.from,l.to);for(;!c.next().done;){let{from:h,to:d}=c.value;if((!o||yf(o,t,h,d))&&(i.empty&&h<=i.from&&d>=i.to?a.push(v4.range(h,d)):(h>=i.to||d<=i.from)&&a.push(x4.range(h,d)),a.length>e.maxMatches))return ie.none}}return ie.set(a)}},{decorations:n=>n.decorations}),S4=_.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),C4=({state:n,dispatch:e})=>{let{selection:t}=n,r=N.create(t.ranges.map(i=>n.wordAt(i.head)||N.cursor(i.head)),t.mainIndex);return r.eq(t)?!1:(e(n.update({selection:r})),!0)};function O4(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 Nr(n.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new Nr(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 j4=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(s=>s.from===s.to))return C4({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=O4(n,r);return i?(e(n.update({selection:n.selection.addRange(N.range(i.from,i.to),!1),effects:_.scrollIntoView(i.to)})),!0):!1},$r=G.define({combine(n){return Xt(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new $4(e),scrollToMatch:e=>_.scrollIntoView(e)})}});class U0{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||f4(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 D4(this):new M4(this)}getCursor(e,t=0,r){let i=e.doc?e:pe.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?ur(this,i,t,r):hr(this,i,t,r)}}class K0{constructor(e){this.spec=e}}function hr(n,e,t,r){return new Nr(e.doc,n.unquoted,t,r,n.caseSensitive?void 0:i=>i.toLowerCase(),n.wholeWord?P4(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function P4(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(ha(i,t-s))!=Me.Word||e(ua(i,t-s))!=Me.Word)&&(e(ua(i,r-s))!=Me.Word||e(ha(i,r-s))!=Me.Word))}class M4 extends K0{constructor(e){super(e)}nextMatch(e,t,r){let i=hr(this.spec,e,r,e.doc.length).nextOverlapping();if(i.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);i=hr(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=hr(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=hr(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=hr(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 ur(n,e,t,r){return new W0(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?A4(e.charCategorizer(e.selection.main.head)):void 0},t,r)}function ha(n,e){return n.slice($e(n,e,!1),e)}function ua(n,e){return n.slice(e,$e(n,e))}function A4(n){return(e,t,r)=>!r[0].length||(n(ha(r.input,r.index))!=Me.Word||n(ua(r.input,r.index))!=Me.Word)&&(n(ua(r.input,r.index+r[0].length))!=Me.Word||n(ha(r.input,r.index+r[0].length))!=Me.Word)}class D4 extends K0{nextMatch(e,t,r){let i=ur(this.spec,e,r,e.doc.length).next();return i.done&&(i=ur(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=ur(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=ur(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=ur(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 $i=le.define(),Lh=le.define(),jn=Ke.define({create(n){return new Sl(Gc(n).create(),null)},update(n,e){for(let t of e.effects)t.is($i)?n=new Sl(t.value.create(),n.panel):t.is(Lh)&&(n=new Sl(n.query,t.value?Ih:null));return n},provide:n=>Ii.from(n,e=>e.panel)});class Sl{constructor(e,t){this.query=e,this.panel=t}}const T4=ie.mark({class:"cm-searchMatch"}),N4=ie.mark({class:"cm-searchMatch cm-searchMatch-selected"}),E4=Re.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(jn))}update(n){let e=n.state.field(jn);(e!=n.startState.field(jn)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return ie.none;let{view:t}=this,r=new hn;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?N4:T4)})}return r.finish()}},{decorations:n=>n.decorations});function Ls(n){return e=>{let t=e.state.field(jn,!1);return t&&t.query.spec.valid?n(e,t):Y0(e)}}const da=Ls((n,{query:e})=>{let{to:t}=n.state.selection.main,r=e.nextMatch(n.state,t,t);if(!r)return!1;let i=N.single(r.from,r.to),s=n.state.facet($r);return n.dispatch({selection:i,effects:[Bh(n,r),s.scrollToMatch(i.main,n)],userEvent:"select.search"}),q0(n),!0}),fa=Ls((n,{query:e})=>{let{state:t}=n,{from:r}=t.selection.main,i=e.prevMatch(t,r,r);if(!i)return!1;let s=N.single(i.from,i.to),o=n.state.facet($r);return n.dispatch({selection:s,effects:[Bh(n,i),o.scrollToMatch(s.main,n)],userEvent:"select.search"}),q0(n),!0}),R4=Ls((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:N.create(t.map(r=>N.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),L4=({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 Nr(n.doc,n.sliceDoc(r,i));!a.next().done;){if(s.length>1e3)return!1;a.value.from==r&&(o=s.length),s.push(N.range(a.value.from,a.value.to))}return e(n.update({selection:N.create(s,o),userEvent:"select.search.matches"})),!0},xf=Ls((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(_.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(r).number)+".")));let d=n.state.changes(a);return o&&(l=N.single(o.from,o.to).map(d),h.push(Bh(n,o)),h.push(t.facet($r).scrollToMatch(l.main,n))),n.dispatch({changes:d,selection:l,effects:h,userEvent:"input.replace"}),!0}),I4=Ls((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:_.announce.of(r),userEvent:"input.replace.all"}),!0});function Ih(n){return n.state.facet($r).createPanel(n)}function Gc(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($r);return new U0({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 G0(n){let e=Li(n,Ih);return e&&e.dom.querySelector("[main-field]")}function q0(n){let e=G0(n);e&&e==n.root.activeElement&&e.select()}const Y0=n=>{let e=n.state.field(jn,!1);if(e&&e.panel){let t=G0(n);if(t&&t!=n.root.activeElement){let r=Gc(n.state,e.query.spec);r.valid&&n.dispatch({effects:$i.of(r)}),t.focus(),t.select()}}else n.dispatch({effects:[Lh.of(!0),e?$i.of(Gc(n.state,e.query.spec)):le.appendConfig.of(V4)]});return!0},Q0=n=>{let e=n.state.field(jn,!1);if(!e||!e.panel)return!1;let t=Li(n,Ih);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:Lh.of(!1)}),!0},B4=[{key:"Mod-f",run:Y0,scope:"editor search-panel"},{key:"F3",run:da,shift:fa,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:da,shift:fa,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Q0,scope:"editor search-panel"},{key:"Mod-Shift-l",run:L4},{key:"Mod-Alt-g",run:p4},{key:"Mod-d",run:j4,preventDefault:!0}];class $4{constructor(e){this.view=e;let t=this.query=e.state.field(jn).query.spec;this.commit=this.commit.bind(this),this.searchField=Se("input",{value:t.search,placeholder:ht(e,"Find"),"aria-label":ht(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Se("input",{value:t.replace,placeholder:ht(e,"Replace"),"aria-label":ht(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Se("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Se("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Se("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function r(i,s,o){return Se("button",{class:"cm-button",name:i,onclick:s,type:"button"},o)}this.dom=Se("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,r("next",()=>da(e),[ht(e,"next")]),r("prev",()=>fa(e),[ht(e,"previous")]),r("select",()=>R4(e),[ht(e,"all")]),Se("label",null,[this.caseField,ht(e,"match case")]),Se("label",null,[this.reField,ht(e,"regexp")]),Se("label",null,[this.wordField,ht(e,"by word")]),...e.state.readOnly?[]:[Se("br"),this.replaceField,r("replace",()=>xf(e),[ht(e,"replace")]),r("replaceAll",()=>I4(e),[ht(e,"replace all")])],Se("button",{name:"close",onclick:()=>Q0(e),"aria-label":ht(e,"close"),type:"button"},["×"])])}commit(){let e=new U0({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:$i.of(e)}))}keydown(e){nk(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?fa:da)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),xf(this.view))}update(e){for(let t of e.transactions)for(let r of t.effects)r.is($i)&&!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($r).top}}function ht(n,e){return n.state.phrase(e)}const vo=30,wo=/[\s\.,:;?!]/;function Bh(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-vo),o=Math.min(i,t+vo),a=n.state.sliceDoc(s,o);if(s!=r.from){for(let l=0;l<vo;l++)if(!wo.test(a[l+1])&&wo.test(a[l])){a=a.slice(l);break}}if(o!=i){for(let l=a.length-1;l>a.length-vo;l--)if(!wo.test(a[l-1])&&wo.test(a[l])){a=a.slice(0,l);break}}return _.announce.of(`${n.state.phrase("current match")}. ${a} ${n.state.phrase("on line")} ${r.number}.`)}const F4=_.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"}}),V4=[jn,ir.low(E4),F4];class J0{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=Qe(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(X0(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 vf(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 z4(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=vf(e)+vf(t)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function H4(n){let e=n.map(i=>typeof i=="string"?{label:i}:i),[t,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:z4(e);return i=>{let s=i.matchBefore(r);return s||i.explicit?{from:s?s.from:i.pos,options:e,validFor:t}:null}}class wf{constructor(e,t,r,i){this.completion=e,this.source=t,this.match=r,this.score=i}}function Xn(n){return n.selection.main.from}function X0(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 Z0=Jt.define();function W4(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:N.cursor(a.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const kf=new WeakMap;function _4(n){if(!Array.isArray(n))return n;let e=kf.get(n);return e||kf.set(n,e=H4(n)),e}const pa=le.define(),Fi=le.define();class U4{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=rt(e,t),i=Ht(r);this.chars.push(r);let s=e.slice(t,t+i),o=s.toUpperCase();this.folded.push(rt(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=rt(e,0),S=Ht(k),P=S==e.length?0:-100;if(k!=t[0])if(k==r[0])P+=-200;else return null;return this.ret(P,[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 P=rt(e,k);(P==t[c]||P==r[c])&&(i[c++]=k),k+=Ht(P)}if(c<l)return null}let h=0,d=0,f=!1,p=0,m=-1,g=-1,y=/[a-z]/.test(e),v=!0;for(let k=0,S=Math.min(e.length,200),P=0;k<S&&d<l;){let O=rt(e,k);a<0&&(h<l&&O==t[h]&&(s[h++]=k),p<l&&(O==t[p]||O==r[p]?(p==0&&(m=k),g=k+1,p++):p=0));let M,x=O<255?O>=48&&O<=57||O>=97&&O<=122?2:O>=65&&O<=90?1:0:(M=uh(O))!=M.toLowerCase()?1:M!=M.toUpperCase()?2:0;(!k||x==1&&y||P==0&&x!=0)&&(t[d]==O||r[d]==O&&(f=!0)?o[d++]=k:o.length&&(v=!1)),P=x,k+=Ht(O)}return d==l&&o[0]==0&&v?this.result(-100+(f?-200:0),o,e):p==l&&m==0?this.ret(-200-e.length+(g==e.length?0:-100),[0,g]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==l?this.ret(-900-e.length,[m,g]):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?Ht(rt(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 K4{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 ze=G.define({combine(n){return Xt(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:G4,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=>Sf(e(r),t(r)),optionClass:(e,t)=>r=>Sf(e(r),t(r)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function Sf(n,e){return n?e?n+" "+e:n:e}function G4(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,g=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-g))-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>=g||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 q4(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 Cl(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 Y4{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(ze);this.optionContent=q4(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Cl(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(ze).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Fi.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=Cl(s.length,o,e.state.facet(ze).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=Cl(t.options.length,t.selected,this.view.state.facet(ze).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=>ot(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&&J4(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(ze).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 Q4(n,e){return t=>new Y4(t,n,e)}function J4(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 Cf(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function X4(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(ze);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 wf(f,h.source,d?d(f):[],1e9-t.length));else{let f=e.sliceDoc(h.from,h.to),p,m=o.filterStrict?new K4(f):new U4(f);for(let g of h.result.options)if(p=m.match(g.label)){let y=g.displayLabel?d?d(g,p.matched):[]:p.matched,v=p.score+(g.boost||0);if(s(new wf(g,h.source,y,v)),typeof g.section=="object"&&g.section.rank==="dynamic"){let{name:k}=g.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):Cf(h.completion)>Cf(l)&&(a[a.length-1]=h),l=h.completion}return a}class gr{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 gr(this.options,Of(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=X4(e,t);if(!a.length)return i&&e.some(c=>c.isPending)?i.setDisabled():null;let l=t.facet(ze).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 gr(a,Of(r,l),{pos:e.reduce((c,h)=>h.hasResult()?Math.min(c,h.from):c,1e8),create:i5,above:s.aboveCursor},i?i.timestamp:Date.now(),l,!1)}map(e){return new gr(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new gr(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class ma{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new ma(n5,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,r=t.facet(ze),s=(r.override||t.languageDataAt("autocomplete",Xn(t)).map(_4)).map(l=>(this.active.find(h=>h.source==l)||new wt(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($h));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!Z4(s,this.active)||a?o=gr.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 wt(l.source,0):l));for(let l of e.effects)l.is(tb)&&(o=o&&o.setSelected(l.value,this.id));return s==this.active&&o==this.open?this:new ma(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?e5:t5}}function Z4(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 e5={"aria-autocomplete":"list"},t5={};function Of(n,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":n};return e>-1&&(t["aria-activedescendant"]=n+"-"+e),t}const n5=[];function eb(n,e){if(n.isUserEvent("input.complete")){let r=n.annotation(Z0);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 wt{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=eb(e,t),i=this;(r&8||r&16&&this.touches(e))&&(i=new wt(i.source,0)),r&4&&i.state==0&&(i=new wt(this.source,1)),i=i.updateFor(e,r);for(let s of e.effects)if(s.is(pa))i=new wt(i.source,1,s.value);else if(s.is(Fi))i=new wt(i.source,0);else if(s.is($h))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(Xn(e.state))}}class Or extends wt{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=Xn(e.state);if(a>o||!i||t&2&&(Xn(e.startState)==this.from||a<this.limit))return new wt(this.source,t&4?1:0);let l=e.changes.mapPos(this.limit);return r5(i.validFor,e.state,s,o)?new Or(this.source,this.explicit,l,i,s,o):i.update&&(i=i.update(i,s,o,new J0(e.state,a,!1)))?new Or(this.source,this.explicit,l,i,i.from,(r=i.to)!==null&&r!==void 0?r:Xn(e.state)):new wt(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new Or(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new wt(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function r5(n,e,t,r){if(!n)return!1;let i=e.sliceDoc(t,r);return typeof n=="function"?n(i,t,r,e):X0(n,!0).test(i)}const $h=le.define({map(n,e){return n.map(t=>t.map(e))}}),tb=le.define(),it=Ke.define({create(){return ma.start()},update(n,e){return n.update(e)},provide:n=>[Ph.from(n,e=>e.tooltip),_.contentAttributes.from(n,e=>e.attrs)]});function Fh(n,e){const t=e.completion.apply||e.completion.label;let r=n.state.field(it).active.find(i=>i.source==e.source);return r instanceof Or?(typeof t=="string"?n.dispatch({...W4(n.state,t,r.from,r.to),annotations:Z0.of(e.completion)}):t(n,e.completion,r.from,r.to),!0):!1}const i5=Q4(it,Fh);function ko(n,e="option"){return t=>{let r=t.state.field(it,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<t.state.facet(ze).interactionDelay)return!1;let i=1,s;e=="page"&&(s=_g(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:tb.of(a)}),!0}}const s5=n=>{let e=n.state.field(it,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<n.state.facet(ze).interactionDelay?!1:Fh(n,e.open.options[e.open.selected])},Ol=n=>n.state.field(it,!1)?(n.dispatch({effects:pa.of(!0)}),!0):!1,o5=n=>{let e=n.state.field(it,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:Fi.of(null)}),!0)};class a5{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const l5=50,c5=1e3,h5=Re.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(it).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(it),t=n.state.facet(ze);if(!n.selectionSet&&!n.docChanged&&n.startState.field(it)==e)return;let r=n.transactions.some(s=>{let o=eb(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>l5&&Date.now()-o.time>c5){for(let a of o.context.abortListeners)try{a()}catch(l){ot(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(pa)))&&(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(it);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(ze).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=Xn(e),r=new J0(e,t,n.explicit,this.view),i=new a5(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:Fi.of(null)}),ot(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(ze).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(ze),r=this.view.state.field(it);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=Xn(s.updates.length?s.updates[0].startState:this.view.state),l=Math.min(a,s.done.from+(s.active.explicit?0:1)),c=new Or(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 wt(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:$h.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(it,!1);if(e&&e.tooltip&&this.view.state.facet(ze).closeOnBlur){let t=e.open&&_g(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Fi.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:pa.of(!1)}),20),this.composing=0}}}),u5=typeof navigator=="object"&&/Win/.test(navigator.platform),d5=ir.highest(_.domEventHandlers({keydown(n,e){let t=e.state.field(it,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(u5&&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&&Fh(e,r),!1}})),f5=_.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"}}}),Vi={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Qn=le.define({map(n,e){let t=e.mapPos(n,-1,et.TrackAfter);return t??void 0}}),Vh=new class extends Mn{};Vh.startSide=1;Vh.endSide=-1;const nb=Ke.define({create(){return de.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(Qn)&&(n=n.update({add:[Vh.range(t.value,t.value+1)]}));return n}});function p5(){return[g5,nb]}const jl="()[]{}<>«»»«[]{}";function rb(n){for(let e=0;e<jl.length;e+=2)if(jl.charCodeAt(e)==n)return jl.charAt(e+1);return uh(n<128?n:n+1)}function ib(n,e){return n.languageDataAt("closeBrackets",e)[0]||Vi}const m5=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),g5=_.inputHandler.of((n,e,t,r)=>{if((m5?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let i=n.state.selection.main;if(r.length>2||r.length==2&&Ht(rt(r,0))==1||e!=i.from||t!=i.to)return!1;let s=x5(n.state,r);return s?(n.dispatch(s),!0):!1}),b5=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let r=ib(n,n.selection.main.head).brackets||Vi.brackets,i=null,s=n.changeByRange(o=>{if(o.empty){let a=v5(n.doc,o.head);for(let l of r)if(l==a&&Ia(n.doc,o.head)==rb(rt(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:N.cursor(o.head-l.length)}}return{range:i=o}});return i||e(n.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},y5=[{key:"Backspace",run:b5}];function x5(n,e){let t=ib(n,n.selection.main.head),r=t.brackets||Vi.brackets;for(let i of r){let s=rb(rt(i,0));if(e==i)return s==i?S5(n,i,r.indexOf(i+i+i)>-1,t):w5(n,i,s,t.before||Vi.before);if(e==s&&sb(n,n.selection.main.from))return k5(n,i,s)}return null}function sb(n,e){let t=!1;return n.field(nb).between(0,n.doc.length,r=>{r==e&&(t=!0)}),t}function Ia(n,e){let t=n.sliceString(e,e+2);return t.slice(0,Ht(rt(t,0)))}function v5(n,e){let t=n.sliceString(e-2,e);return Ht(rt(t,0))==t.length?t:t.slice(1)}function w5(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:Qn.of(o.to+e.length),range:N.range(o.anchor+e.length,o.head+e.length)};let a=Ia(n.doc,o.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+t,from:o.head},effects:Qn.of(o.head+e.length),range:N.cursor(o.head+e.length)}:{range:i=o}});return i?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function k5(n,e,t){let r=null,i=n.changeByRange(s=>s.empty&&Ia(n.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:N.cursor(s.head+t.length)}:r={range:s});return r?null:n.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function S5(n,e,t,r){let i=r.stringPrefixes||Vi.stringPrefixes,s=null,o=n.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Qn.of(a.to+e.length),range:N.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Ia(n.doc,l),h;if(c==e){if(jf(n,l))return{changes:{insert:e+e,from:l},effects:Qn.of(l+e.length),range:N.cursor(l+e.length)};if(sb(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:N.cursor(l+f.length)}}}else{if(t&&n.sliceDoc(l-2*e.length,l)==e+e&&(h=Pf(n,l-2*e.length,i))>-1&&jf(n,h))return{changes:{insert:e+e+e+e,from:l},effects:Qn.of(l+e.length),range:N.cursor(l+e.length)};if(n.charCategorizer(l)(c)!=Me.Word&&Pf(n,l,i)>-1&&!C5(n,l,e,i))return{changes:{insert:e+e,from:l},effects:Qn.of(l+e.length),range:N.cursor(l+e.length)}}return{range:s=a}});return s?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function jf(n,e){let t=Qe(n).resolveInner(e+1);return t.parent&&t.from==e}function C5(n,e,t,r){let i=Qe(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 Pf(n,e,t){let r=n.charCategorizer(e);if(r(n.sliceDoc(e-1,e))!=Me.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))!=Me.Word)return s}return-1}function O5(n={}){return[d5,it,ze.of(n),h5,j5,f5]}const ob=[{key:"Ctrl-Space",run:Ol},{mac:"Alt-`",run:Ol},{mac:"Alt-i",run:Ol},{key:"Escape",run:o5},{key:"ArrowDown",run:ko(!0)},{key:"ArrowUp",run:ko(!1)},{key:"PageDown",run:ko(!0,"page")},{key:"PageUp",run:ko(!1,"page")},{key:"Enter",run:s5}],j5=ir.highest(Pa.computeN([ze],n=>n.facet(ze).defaultKeymap?[ob]:[]));class Mf{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class Kn{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let i=r.facet(zi).markerFilter;i&&(e=i(e,r));let s=e.slice().sort((p,m)=>p.from-m.from||p.to-m.to),o=new hn,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 g,y;if(a.length)g=l,y=a.reduce((S,P)=>Math.min(S,P.to),m&&m.from>g?m.from:1e8);else{if(g=m.from,g>d)break;y=m.to,a.push(m),p++}for(;p<s.length;){let S=s[p];if(S.from==g&&(S.to>S.from||S.to==g))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==g&&(S.to==y||y==d))&&(v=g==y,!v&&y-g<10)){let S=g-(h+c.value.length);S>0&&(c.next(S),h=g);for(let P=g;;){if(P>=y){v=!0;break}if(!c.lineBreak&&h+c.value.length>P)break;P=h+c.value.length,h+=c.value.length,c.next()}}let k=F5(a);if(v)o.add(g,g,ie.widget({widget:new L5(k),diagnostics:a.slice()}));else{let S=a.reduce((P,O)=>O.markClass?P+" "+O.markClass:P,"");o.add(g,y,ie.mark({class:"cm-lintRange cm-lintRange-"+k+S,diagnostics:a.slice(),inclusiveEnd:a.some(P=>P.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 Kn(f,t,Er(f))}}function Er(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 Mf(i,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Mf(r.from,s,r.diagnostic)}}),r}function P5(n,e){let t=e.pos,r=e.end||t,i=n.state.facet(zi).hideOn(n,t,r);if(i!=null)return i;let s=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(o=>o.is(ab))||n.changes.touchesRange(s.from,Math.max(s.to,r)))}function M5(n,e){return n.field(ft,!1)?e:e.concat(le.appendConfig.of(V5))}const ab=le.define(),zh=le.define(),lb=le.define(),ft=Ke.define({create(){return new Kn(ie.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=Er(t,n.selected.diagnostic,s)||Er(t,null,s)}!t.size&&i&&e.state.facet(zi).autoPanel&&(i=null),n=new Kn(t,i,r)}for(let t of e.effects)if(t.is(ab)){let r=e.state.facet(zi).autoPanel?t.value.length?Hi.open:null:n.panel;n=Kn.init(t.value,r,e.state)}else t.is(zh)?n=new Kn(n.diagnostics,t.value?Hi.open:null,n.selected):t.is(lb)&&(n=new Kn(n.diagnostics,n.panel,t.value));return n},provide:n=>[Ii.from(n,e=>e.panel),_.decorations.from(n,e=>e.diagnostics)]}),A5=ie.mark({class:"cm-lintRange cm-lintRange-active"});function D5(n,e,t){let{diagnostics:r}=n.state.field(ft),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(zi).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:T5(n,i)}}}:null}function T5(n,e){return Se("ul",{class:"cm-tooltip-lint"},e.map(t=>hb(n,t,!1)))}const N5=n=>{let e=n.state.field(ft,!1);(!e||!e.panel)&&n.dispatch({effects:M5(n.state,[zh.of(!0)])});let t=Li(n,Hi.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},Af=n=>{let e=n.state.field(ft,!1);return!e||!e.panel?!1:(n.dispatch({effects:zh.of(!1)}),!0)},E5=n=>{let e=n.state.field(ft,!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)},R5=[{key:"Mod-Shift-m",run:N5,preventDefault:!0},{key:"F8",run:E5}],zi=G.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...Xt(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Df,tooltipFilter:Df,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 Df(n,e){return n?e?(t,r)=>e(n(t,r),r):n:e}function cb(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 hb(n,e,t){var r;let i=t?cb(e.actions):[];return Se("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Se("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=Er(n.state.field(ft).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),Se("u",c.slice(h,h+1)),c.slice(h+1)],f=s.markClass?" "+s.markClass:"";return Se("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${c}${h<0?"":` (access key "${i[o]})"`}.`},d)}),e.source&&Se("div",{class:"cm-diagnosticSource"},e.source))}class L5 extends Zt{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return Se("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Tf{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=hb(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Hi{constructor(e){this.view=e,this.items=[];let t=i=>{if(i.keyCode==27)Af(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=cb(s.actions);for(let a=0;a<o.length;a++)if(o[a].toUpperCase().charCodeAt(0)==i.keyCode){let l=Er(this.view.state.field(ft).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=Se("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:r}),this.dom=Se("div",{class:"cm-panel-lint"},this.list,Se("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Af(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(ft).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(ft),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 Tf(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 Tf(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(ft),r=Er(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:lb.of(r)})}static open(e){return new Hi(e)}}function I5(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 So(n){return I5(`<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 B5=_.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:So("#d11")},".cm-lintRange-warning":{backgroundImage:So("orange")},".cm-lintRange-info":{backgroundImage:So("#999")},".cm-lintRange-hint":{backgroundImage:So("#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 $5(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function F5(n){let e="hint",t=1;for(let r of n){let i=$5(r.severity);i>t&&(t=i,e=r.severity)}return e}const V5=[ft,_.decorations.compute([ft],n=>{let{selected:e,panel:t}=n.field(ft);return!e||!t||e.from==e.to?ie.none:ie.set([A5.range(e.from,e.to)])}),_k(D5,{hideOn:P5}),B5];var Nf=function(e){e===void 0&&(e={});var{crosshairCursor:t=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(y5)),e.defaultKeymap!==!1&&(r=r.concat(u4)),e.searchKeymap!==!1&&(r=r.concat(B4)),e.historyKeymap!==!1&&(r=r.concat(yS)),e.foldKeymap!==!1&&(r=r.concat(A3)),e.completionKeymap!==!1&&(r=r.concat(ob)),e.lintKeymap!==!1&&(r=r.concat(R5));var i=[];return e.lineNumbers!==!1&&i.push(t3()),e.highlightActiveLineGutter!==!1&&i.push(i3()),e.highlightSpecialChars!==!1&&i.push(xk()),e.history!==!1&&i.push(cS()),e.foldGutter!==!1&&i.push(E3()),e.drawSelection!==!1&&i.push(lk()),e.dropCursor!==!1&&i.push(fk()),e.allowMultipleSelections!==!1&&i.push(pe.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&i.push(x3()),e.syntaxHighlighting!==!1&&i.push(Dh(B3,{fallback:!0})),e.bracketMatching!==!1&&i.push(_3()),e.closeBrackets!==!1&&i.push(p5()),e.autocompletion!==!1&&i.push(O5()),e.rectangularSelection!==!1&&i.push(Ek()),t!==!1&&i.push(Ik()),e.highlightActiveLine!==!1&&i.push(Ok()),e.highlightSelectionMatches!==!1&&i.push(y4()),e.tabSize&&typeof e.tabSize=="number"&&i.push(Aa.of(" ".repeat(e.tabSize))),i.concat([Pa.of(r.flat())]).filter(Boolean)};const z5="#e5c07b",Ef="#e06c75",H5="#56b6c2",W5="#ffffff",zo="#abb2bf",qc="#7d8799",_5="#61afef",U5="#98c379",Rf="#d19a66",K5="#c678dd",G5="#21252b",Lf="#2c313a",If="#282c34",Pl="#353a42",q5="#3E4451",Bf="#528bff",Y5=_.theme({"&":{color:zo,backgroundColor:If},".cm-content":{caretColor:Bf},".cm-cursor, .cm-dropCursor":{borderLeftColor:Bf},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:q5},".cm-panels":{backgroundColor:G5,color:zo},".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:If,color:qc,border:"none"},".cm-activeLineGutter":{backgroundColor:Lf},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Pl},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Pl,borderBottomColor:Pl},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Lf,color:zo}}},{dark:!0}),Q5=Ir.define([{tag:A.keyword,color:K5},{tag:[A.name,A.deleted,A.character,A.propertyName,A.macroName],color:Ef},{tag:[A.function(A.variableName),A.labelName],color:_5},{tag:[A.color,A.constant(A.name),A.standard(A.name)],color:Rf},{tag:[A.definition(A.name),A.separator],color:zo},{tag:[A.typeName,A.className,A.number,A.changed,A.annotation,A.modifier,A.self,A.namespace],color:z5},{tag:[A.operator,A.operatorKeyword,A.url,A.escape,A.regexp,A.link,A.special(A.string)],color:H5},{tag:[A.meta,A.comment],color:qc},{tag:A.strong,fontWeight:"bold"},{tag:A.emphasis,fontStyle:"italic"},{tag:A.strikethrough,textDecoration:"line-through"},{tag:A.link,color:qc,textDecoration:"underline"},{tag:A.heading,fontWeight:"bold",color:Ef},{tag:[A.atom,A.bool,A.special(A.variableName)],color:Rf},{tag:[A.processingInstruction,A.string,A.inserted],color:U5},{tag:A.invalid,color:W5}]),J5=[Y5,Dh(Q5)];var X5=_.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),Z5=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(Pa.of([d4])),a&&(typeof a=="boolean"?l.unshift(Nf()):l.unshift(Nf(a))),o&&l.unshift(Ak(o)),s){case"light":l.push(X5);break;case"dark":l.push(J5);break;case"none":break;default:l.push(s);break}return r===!1&&l.push(_.editable.of(!1)),i&&l.push(pe.readOnly.of(!0)),[...l]},eC=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 tC{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 $f{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 Ml=null,nC=()=>typeof window>"u"?new $f:(Ml||(Ml=new $f),Ml),Ff=Jt.define(),rC=200,iC=[];function sC(n){var{value:e,selection:t,onChange:r,onStatistics:i,onCreateEditor:s,onUpdate:o,extensions:a=iC,autoFocus:l,theme:c="light",height:h=null,minHeight:d=null,maxHeight:f=null,width:p=null,minWidth:m=null,maxWidth:g=null,placeholder:y="",editable:v=!0,readOnly:k=!1,indentWithTab:S=!0,basicSetup:P=!0,root:O,initialState:M}=n,[x,D]=b.useState(),[T,I]=b.useState(),[R,B]=b.useState(),U=b.useState(()=>({current:null}))[0],q=b.useState(()=>({current:null}))[0],F=_.theme({"&":{height:h,minHeight:d,maxHeight:f,width:p,minWidth:m,maxWidth:g},"& .cm-scroller":{height:"100% !important"}}),X=_.updateListener.of(Y=>{if(Y.docChanged&&typeof r=="function"&&!Y.transactions.some(Q=>Q.annotation(Ff))){U.current?U.current.reset():(U.current=new tC(()=>{if(q.current){var Q=q.current;q.current=null,Q()}U.current=null},rC),nC().add(U.current));var $=Y.state.doc,ne=$.toString();r(ne,Y)}i&&i(eC(Y))}),ce=Z5({theme:c,editable:v,readOnly:k,placeholder:y,indentWithTab:S,basicSetup:P}),H=[X,F,...ce];return o&&typeof o=="function"&&H.push(_.updateListener.of(o)),H=H.concat(a),b.useLayoutEffect(()=>{if(x&&!R){var Y={doc:e,selection:t,extensions:H},$=M?pe.fromJSON(M.json,Y,M.fields):pe.create(Y);if(B($),!T){var ne=new _({state:$,parent:x,root:O});I(ne),s&&s(ne,$)}}return()=>{T&&(B(void 0),I(void 0))}},[x,R]),b.useEffect(()=>{n.container&&D(n.container)},[n.container]),b.useEffect(()=>()=>{T&&(T.destroy(),I(void 0)),U.current&&(U.current.cancel(),U.current=null)},[T]),b.useEffect(()=>{l&&T&&T.focus()},[l,T]),b.useEffect(()=>{T&&T.dispatch({effects:le.reconfigure.of(H)})},[c,a,h,d,f,p,m,g,y,v,k,S,P,r,o]),b.useEffect(()=>{if(e!==void 0){var Y=T?T.state.doc.toString():"";if(T&&e!==Y){var $=U.current&&!U.current.isDone,ne=()=>{T&&e!==T.state.doc.toString()&&T.dispatch({changes:{from:0,to:T.state.doc.toString().length,insert:e||""},annotations:[Ff.of(!0)]})};$?q.current=ne:ne()}}},[e,T]),{state:R,setState:B,view:T,setView:I,container:x,setContainer:D}}var oC=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],ub=b.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:g,minWidth:y,maxWidth:v,basicSetup:k,placeholder:S,indentWithTab:P,editable:O,readOnly:M,root:x,initialState:D}=n,T=Z3(n,oC),I=b.useRef(null),{state:R,view:B,container:U,setContainer:q}=sC({root:x,value:r,autoFocus:h,theme:d,height:f,minHeight:p,maxHeight:m,width:g,minWidth:y,maxWidth:v,basicSetup:k,placeholder:S,indentWithTab:P,editable:O,readOnly:M,selection:i,onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:c,extensions:s,initialState:D});b.useImperativeHandle(e,()=>({editor:I.current,state:R,view:B}),[I,U,R,B]);var F=b.useCallback(ce=>{I.current=ce,q(ce)},[q]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var X=typeof d=="string"?"cm-theme-"+d:"cm-theme";return u.jsx("div",zc({ref:F,className:""+X+(t?" "+t:"")},T))});ub.displayName="CodeMirror";const aC=()=>{const n=_.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=Ir.define([{tag:A.propertyName,color:"var(--dash-accent)"},{tag:A.string,color:"color-mix(in srgb, var(--dash-accent) 70%, var(--dash-text))"},{tag:A.number,color:"var(--dash-accent-hover)"},{tag:A.bool,color:"var(--dash-accent-hover)"},{tag:A.null,color:"var(--dash-text-muted)"},{tag:A.punctuation,color:"var(--dash-text-secondary)"},{tag:A.brace,color:"var(--dash-text-secondary)"},{tag:A.bracket,color:"var(--dash-text-secondary)"}]);return[n,Dh(e)]},lC=({value:n,onChange:e,onCursorLineChange:t,height:r="100%",readOnly:i=!1})=>{const s=b.useMemo(()=>[X3(),_.lineWrapping,...aC()],[]),o=b.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(ub,{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}})})},db=({width:n,isLoading:e,jsonText:t,cursorLine:r,syntaxError:i,onChange:s,onCursorLineChange:o})=>{const{t:a}=ve();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(lC,{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")]})})]})]})},Vf=({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})]}),fb=({width:n,fieldDoc:e,activeFieldPath:t,extraContent:r,overrideBadge:i})=>{const{t:s,lang:o}=ve();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(Vf,{label:s("type"),value:e.type}),u.jsx(Vf,{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")]})})]})},cC=({variant:n="development"})=>{const{t:e}=ve(),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]})},hC=({components:n,isChecking:e,isUpdating:t,onCheckAll:r,onUpdateAll:i,className:s})=>{const{t:o}=ve(),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")})]})},uC=({value:n,onChange:e,disabled:t=!1})=>{const{t:r}=ve();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")]})]})},dC={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}},pb=({status:n,ariaLabel:e,size:t="sm"})=>{const r=dC[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"})]})})]})},xv={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"},vv=({source:n})=>{const{t:e}=xe(),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 ${xv[n]}`,children:t()})};function wv(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 kv=({fieldPath:n,label:e,description:t,schema:r,value:i,source:s,onChange:o,disabled:a})=>{const l=wv(r,n),c=()=>{const h={value:i,onChange:o,schema:r,disabled:a};switch(l){case"boolean":return u.jsx(mv,{...h});case"number":return u.jsx(pv,{...h});case"enum":return u.jsx(gv,{...h});case"array":return u.jsx(bv,{...h});case"password":return u.jsx(yv,{...h});case"object":return null;default:return u.jsx(fv,{...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(vv,{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()})]})})},Sv=({id:n,title:e,defaultCollapsed:t=!1,children:r})=>{const[i,s]=b.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})})]})},Cv=({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(Sv,{id:o.id,title:o.title,defaultCollapsed:o.defaultCollapsed??a>1,children:o.fields.map(l=>{const c=dv(n,l.path),h=rc(e,l.path),d=t[l.path]||"default";return u.jsx(kv,{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))}),vm=({width:n,isLoading:e,schema:t,config:r,sources:i,sections:s,onChange:o})=>{const{t:a}=xe();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(Cv,{schema:t,value:r,sources:i,sections:s,onChange:o}):null})]})},wm=1024;let Ov=0,tl=class{constructor(e,t){this.from=e,this.to=t}};class de{constructor(e={}){this.id=Ov++,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=ct.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 fi{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 jv=Object.create(null);class ct{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):jv,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new ct(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}}}}ct.none=new ct("",Object.create(null),0,8);class hh{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 ct(r.name,i,r.id,r.flags):r)}return new hh(t)}}const to=new WeakMap,Uu=new WeakMap;var De;(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"})(De||(De={}));class Ee{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=fi.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 sc(this.topNode,e)}cursorAt(e,t=0,r=0){let i=to.get(this)||this.topNode,s=new sc(i);return s.moveTo(e,t),to.set(this,s._tree),s}get topNode(){return new St(this,0,0,null)}resolve(e,t=0){let r=Oi(to.get(this)||this.topNode,e,t,!1);return to.set(this,r),r}resolveInner(e,t=0){let r=Oi(Uu.get(this)||this.topNode,e,t,!0);return Uu.set(this,r),r}resolveStack(e,t=0){return Av(this,e,t)}iterate(e){let{enter:t,leave:r,from:i=0,to:s=this.length}=e,o=e.mode||0,a=(o&De.IncludeAnonymous)>0;for(let l=this.cursor(o|De.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:fh(ct.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,i)=>new Ee(this.type,t,r,i,this.propValues),e.makeTree||((t,r,i)=>new Ee(ct.none,t,r,i)))}static build(e){return Dv(e)}}Ee.empty=new Ee(ct.none,[],[],0);class uh{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 uh(this.buffer,this.index)}}class Mn{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return ct.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&&!(km(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 Mn(s,o,this.set)}}function km(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 Oi(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 St&&n.index<0?null:n.parent;if(!o)return n;n=o}let s=r?0:De.IgnoreOverlays;if(r)for(let o=n,a=o.parent;a;o=a,a=o.parent)o instanceof St&&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 Sm{cursor(e=0){return new sc(this,e)}getChild(e,t=null,r=null){let i=Ku(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return Ku(this,e,t,r)}resolve(e,t=0){return Oi(this,e,t,!1)}resolveInner(e,t=0){return Oi(this,e,t,!0)}matchContext(e){return ic(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 St extends Sm{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&De.EnterBracketed&&d instanceof Ee&&((o=fi.get(d))===null||o===void 0?void 0:o.overlay)===null&&(f>=r||f+d.length<=r))&&!km(i,r,f,f+d.length))){if(d instanceof Mn){if(s&De.ExcludeBuffers)continue;let p=d.findChild(0,d.buffer.length,t,r-f,i);if(p>-1)return new Cn(new Pv(a,d,e,f),null,p)}else if(s&De.IncludeAnonymous||!d.type.isAnonymous||dh(d)){let p;if(!(s&De.IgnoreMounts)&&(p=fi.get(d))&&!p.overlay)return new St(p.tree,f,e,a);let m=new St(d,f,e,a);return s&De.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?d.children.length-1:0,t,r,i,s)}}}if(s&De.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&De.IgnoreOverlays)&&(i=fi.get(this._tree))&&i.overlay){let s=e-this.from,o=r&De.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 St(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 Ku(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 ic(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 Pv{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}}class Cn extends Sm{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 Cn(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&De.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 Cn(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 Cn(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 Cn(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 Ee(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Cm(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 St&&t.index<0?null:t.parent,i=n.slice();return r?i[e]=r:i.splice(e,1),new Mv(i,t)}class Mv{constructor(e,t){this.heads=e,this.node=t}get next(){return Cm(this.heads)}}function Av(n,e,t){let r=n.resolveInner(e,t),i=null;for(let s=r instanceof St?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=fi.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let a=new St(o.tree,o.overlay[0].from+s.from,-1,s);(i||(i=[r])).push(Oi(a,e,t,!1))}}return i?Cm(i):r}class sc{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&~De.EnterBracketed,e instanceof St)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 St?(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&De.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&De.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&De.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&De.IncludeAnonymous||a instanceof Mn||!a.type.isAnonymous||dh(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 Cn(this.buffer,t,this.stack[i]);return this.bufferNode=new Cn(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 ic(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 ic(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 dh(n){return n.children.some(e=>e instanceof Mn||!e.type.isAnonymous||dh(e))}function Dv(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:i=wm,reused:s=[],minRepeatType:o=r.types.length}=n,a=Array.isArray(t)?new uh(t,t.length):t,l=r.types,c=0,h=0;function d(O,M,x,D,T,R){let{id:L,start:$,end:U,size:_}=a,V=h,J=c;if(_<0)if(a.next(),_==-1){let ne=s[L];x.push(ne),D.push($-O);return}else if(_==-3){c=L;return}else if(_==-4){h=L;return}else throw new RangeError(`Unrecognized record size: ${_}`);let ue=l[L],z,q,B=$-O;if(U-$<=i&&(q=y(a.pos-M,T))){let ne=new Uint16Array(q.size-q.skip),Z=a.pos-q.size,ae=ne.length;for(;a.pos>Z;)ae=v(q.start,ne,ae);z=new Mn(ne,U-q.start,r),B=q.start-O}else{let ne=a.pos-_;a.next();let Z=[],ae=[],ce=L>=o?L:-1,Se=0,rt=U;for(;a.pos>ne;)ce>=0&&a.id==ce&&a.size>=0?(a.end<=rt-i&&(m(Z,ae,$,Se,a.end,rt,ce,V,J),Se=Z.length,rt=a.end),a.next()):R>2500?f($,ne,Z,ae):d($,ne,Z,ae,ce,R+1);if(ce>=0&&Se>0&&Se<Z.length&&m(Z,ae,$,Se,$,rt,ce,V,J),Z.reverse(),ae.reverse(),ce>-1&&Se>0){let At=p(ue,J);z=fh(ue,Z,ae,0,Z.length,0,U-$,At,At)}else z=g(ue,Z,ae,U-$,V-U,J)}x.push(z),D.push(B)}function f(O,M,x,D){let T=[],R=0,L=-1;for(;a.pos>M;){let{id:$,start:U,end:_,size:V}=a;if(V>4)a.next();else{if(L>-1&&U<L)break;L<0&&(L=_-i),T.push($,U,_),R++,a.next()}}if(R){let $=new Uint16Array(R*4),U=T[T.length-2];for(let _=T.length-3,V=0;_>=0;_-=3)$[V++]=T[_],$[V++]=T[_+1]-U,$[V++]=T[_+2]-U,$[V++]=V;x.push(new Mn($,T[2]-U,r)),D.push(U-O)}}function p(O,M){return(x,D,T)=>{let R=0,L=x.length-1,$,U;if(L>=0&&($=x[L])instanceof Ee){if(!L&&$.type==O&&$.length==T)return $;(U=$.prop(de.lookAhead))&&(R=D[L]+$.length+U)}return g(O,x,D,T,R,M)}}function m(O,M,x,D,T,R,L,$,U){let _=[],V=[];for(;O.length>D;)_.push(O.pop()),V.push(M.pop()+x-T);O.push(g(r.types[L],_,V,R-T,$-R,U)),M.push(T-x)}function g(O,M,x,D,T,R,L){if(R){let $=[de.contextHash,R];L=L?[$].concat(L):[$]}if(T>25){let $=[de.lookAhead,T];L=L?[$].concat(L):[$]}return new Ee(O,M,x,D,L)}function y(O,M){let x=a.fork(),D=0,T=0,R=0,L=x.end-i,$={size:0,start:0,skip:0};e:for(let U=x.pos-O;x.pos>U;){let _=x.size;if(x.id==M&&_>=0){$.size=D,$.start=T,$.skip=R,R+=4,D+=4,x.next();continue}let V=x.pos-_;if(_<0||V<U||x.start<L)break;let J=x.id>=o?4:0,ue=x.start;for(x.next();x.pos>V;){if(x.size<0)if(x.size==-3||x.size==-4)J+=4;else break e;else x.id>=o&&(J+=4);x.next()}T=ue,D+=_,R+=J}return(M<0||D==O)&&($.size=D,$.start=T,$.skip=R),$.size>4?$:void 0}function v(O,M,x){let{id:D,start:T,end:R,size:L}=a;if(a.next(),L>=0&&D<o){let $=x;if(L>4){let U=a.pos-(L-4);for(;a.pos>U;)x=v(O,M,x)}M[--x]=$,M[--x]=R-O,M[--x]=T-O,M[--x]=D}else L==-3?c=D:L==-4&&(h=D);return x}let k=[],S=[];for(;a.pos>0;)d(n.start||0,n.bufferStart||0,k,S,-1,0);let P=(e=n.length)!==null&&e!==void 0?e:k.length?S[0]+k[0].length:0;return new Ee(l[n.topID],k.reverse(),S.reverse(),P)}const Gu=new WeakMap;function Ro(n,e){if(!n.isAnonymous||e instanceof Mn||e.type!=n)return 1;let t=Gu.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof Ee)){t=1;break}t+=Ro(n,r)}Gu.set(e,t)}return t}function fh(n,e,t,r,i,s,o,a,l){let c=0;for(let m=r;m<i;m++)c+=Ro(n,e[m]);let h=Math.ceil(c*1.5/8),d=[],f=[];function p(m,g,y,v,k){for(let S=y;S<v;){let P=S,O=g[S],M=Ro(n,m[S]);for(S++;S<v;S++){let x=Ro(n,m[S]);if(M+x>=h)break;M+=x}if(S==P+1){if(M>h){let x=m[P];p(x.children,x.positions,0,x.children.length,g[P]+k);continue}d.push(m[P])}else{let x=g[S-1]+m[S-1].length-O;d.push(fh(n,m,g,P,S,O,x,null,l))}f.push(O+k-s)}}return p(e,t,r,i,0),(a||l)(d,f,o)}class Xn{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 Xn(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 Xn(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 Om{startParse(e,t,r){return typeof e=="string"&&(e=new Tv(e)),r=r?r.length?r.map(i=>new tl(i.from,i.to)):[new tl(0,0)]:[new tl(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 Tv{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 qu={};class Uo{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 Uo(e,[],t,r,r,0,[],0,i?new Yu(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 Uo(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 Nv(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 Yu(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 Yu{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class Nv{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 Ko{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 Ko(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 Ko(this.stack,this.pos,this.index)}}function no(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 Lo{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Qu=new Lo;class Ev{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Qu,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=Qu,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 vr{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;Rv(this.data,e,t,this.id,r.data,r.tokenPrecTable)}}vr.prototype.contextual=vr.prototype.fallback=vr.prototype.extend=!1;vr.prototype.fallback=vr.prototype.extend=!1;function Rv(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||Lv(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),g=n[m],y=n[m+1]||65536;if(h<g)f=p;else if(h>=y)d=p+1;else{o=n[m+2],e.advance();continue e}}break}}function Ju(n,e,t){for(let r=e,i;(i=n[r])!=65535;r++)if(i==t)return r-e;return-1}function Lv(n,e,t,r){let i=Ju(t,r,e);return i<0||Ju(t,r,n)<i}const ht=typeof process<"u"&&qu&&/\bparse\b/.test(qu.LOG);let nl=null;function Xu(n,e,t){let r=n.cursor(De.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 Iv{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?Xu(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Xu(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 Ee){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 Bv{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Lo)}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 Lo,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 Lo,{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=on(a,c+2);else{i==0&&a[c+1]==2&&(i=this.putAction(on(a,c+2),t,r,i));break}a[c]==t&&(i=this.putAction(on(a,c+1),t,r,i))}return i}}class $v{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 Ev(t,i),this.tokens=new Bv(e,this.stream),this.topTerm=e.top[1];let{from:s}=i[0];this.stacks=[Uo.start(this,e.top[0],s)],this.fragments=r.length&&this.stream.end-s>e.bufferLength*4?new Iv(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&&Vv(i);if(o)return ht&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw ht&&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 ht&&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=ht?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),ht&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(d.type.id)})`),!0;if(!(d instanceof Ee)||d.children.length==0||d.positions[0]>0)break;let p=d.children[0];if(p instanceof Ee&&d.positions[0]==0)d=p;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),ht&&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(),g=this.tokens.mainToken;if(m.apply(h,d,g?g.start:m.pos,f),ht&&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 Zu(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=ht?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),ht&&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()&&(ht&&console.log(f+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,r));p++)ht&&(f=this.stackID(d)+" -> ");for(let p of a.recoverByInsert(l))ht&&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),ht&&console.log(h+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),Zu(a,r)):(!i||i.score<a.score)&&(i=a)}return i}stackToTree(e){return e.close(),Ee.build({buffer:Ko.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=(nl||(nl=new WeakMap)).get(e);return t||nl.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function Zu(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 Fv{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}class Go extends Om{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 hh(t.map((a,l)=>ct.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=wm;let o=no(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(ed),this.states=no(e.states,Uint32Array),this.data=no(e.stateData),this.goto=no(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new vr(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 $v(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=on(r,s+2)];else{if(r[s+1]==2)return on(r,s+2);break}if(o==t||o==0)return on(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=on(this.data,s+2);else break;i=t(on(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=on(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(Go.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]=ed(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 Fv(e,r,i)}static deserialize(e){return new Go(e)}}function on(n,e){return n[e]|n[e+1]<<16}function Vv(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 ed(n){if(n.external){let e=n.extend?1:0;return(t,r)=>n.external(t,r)<<1|e}return n.get}let zv=0;class xt{constructor(e,t,r,i){this.name=e,this.set=t,this.base=r,this.modified=i,this.id=zv++}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 xt&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let i=new xt(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 qo(e);return r=>r.modified.indexOf(t)>-1?r:qo.get(r.base||r,r.modified.concat(t).sort((i,s)=>i.id-s.id))}}let Hv=0;class qo{constructor(e){this.name=e,this.instances=[],this.id=Hv++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(a=>a.base==e&&Wv(t,a.modified));if(r)return r;let i=[],s=new xt(e.name,i,e,t);for(let a of t)a.instances.push(s);let o=_v(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(qo.get(a,l));return s}}function Wv(n,e){return n.length==e.length&&n.every((t,r)=>t==e[r])}function _v(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 jm(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 ji(r,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return Pm.add(e)}const Pm=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 ji(i.tags,i.mode,i.context);t?t.next=s:r=s,t=s}return r}});class ji{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}}ji.empty=new ji([],2,null);function Mm(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 Uv(n,e){let t=null;for(let r of n){let i=r.style(e);i&&(t=t?t+" "+i:i)}return t}function Kv(n,e,t,r=0,i=n.length){let s=new Gv(r,Array.isArray(e)?e:[e],t);s.highlightRange(n.cursor(),r,i,"",s.highlighters),s.flush(i)}class Gv{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=qv(e)||ji.empty,d=Uv(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)),g=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,P=Math.max(t,v),O=Math.min(r,S);if(P<O&&g)for(;e.from<O&&(this.highlightRange(e,P,O,i,s),this.startSpan(Math.min(O,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))}g&&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 qv(n){let e=n.type.prop(Pm);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const H=xt.define,ro=H(),bn=H(),td=H(bn),nd=H(bn),yn=H(),io=H(yn),rl=H(yn),Vt=H(),_n=H(Vt),Bt=H(),$t=H(),oc=H(),Zr=H(oc),so=H(),A={comment:ro,lineComment:H(ro),blockComment:H(ro),docComment:H(ro),name:bn,variableName:H(bn),typeName:td,tagName:H(td),propertyName:nd,attributeName:H(nd),className:H(bn),labelName:H(bn),namespace:H(bn),macroName:H(bn),literal:yn,string:io,docString:H(io),character:H(io),attributeValue:H(io),number:rl,integer:H(rl),float:H(rl),bool:H(yn),regexp:H(yn),escape:H(yn),color:H(yn),url:H(yn),keyword:Bt,self:H(Bt),null:H(Bt),atom:H(Bt),unit:H(Bt),modifier:H(Bt),operatorKeyword:H(Bt),controlKeyword:H(Bt),definitionKeyword:H(Bt),moduleKeyword:H(Bt),operator:$t,derefOperator:H($t),arithmeticOperator:H($t),logicOperator:H($t),bitwiseOperator:H($t),compareOperator:H($t),updateOperator:H($t),definitionOperator:H($t),typeOperator:H($t),controlOperator:H($t),punctuation:oc,separator:H(oc),bracket:Zr,angleBracket:H(Zr),squareBracket:H(Zr),paren:H(Zr),brace:H(Zr),content:Vt,heading:_n,heading1:H(_n),heading2:H(_n),heading3:H(_n),heading4:H(_n),heading5:H(_n),heading6:H(_n),contentSeparator:H(Vt),list:H(Vt),quote:H(Vt),emphasis:H(Vt),strong:H(Vt),link:H(Vt),monospace:H(Vt),strikethrough:H(Vt),inserted:H(),deleted:H(),changed:H(),invalid:H(),meta:so,documentMeta:H(so),annotation:H(so),processingInstruction:H(so),definition:xt.defineModifier("definition"),constant:xt.defineModifier("constant"),function:xt.defineModifier("function"),standard:xt.defineModifier("standard"),local:xt.defineModifier("local"),special:xt.defineModifier("special")};for(let n in A){let e=A[n];e instanceof xt&&(e.name=n)}Mm([{tag:A.link,class:"tok-link"},{tag:A.heading,class:"tok-heading"},{tag:A.emphasis,class:"tok-emphasis"},{tag:A.strong,class:"tok-strong"},{tag:A.keyword,class:"tok-keyword"},{tag:A.atom,class:"tok-atom"},{tag:A.bool,class:"tok-bool"},{tag:A.url,class:"tok-url"},{tag:A.labelName,class:"tok-labelName"},{tag:A.inserted,class:"tok-inserted"},{tag:A.deleted,class:"tok-deleted"},{tag:A.literal,class:"tok-literal"},{tag:A.string,class:"tok-string"},{tag:A.number,class:"tok-number"},{tag:[A.regexp,A.escape,A.special(A.string)],class:"tok-string2"},{tag:A.variableName,class:"tok-variableName"},{tag:A.local(A.variableName),class:"tok-variableName tok-local"},{tag:A.definition(A.variableName),class:"tok-variableName tok-definition"},{tag:A.special(A.variableName),class:"tok-variableName2"},{tag:A.definition(A.propertyName),class:"tok-propertyName tok-definition"},{tag:A.typeName,class:"tok-typeName"},{tag:A.namespace,class:"tok-namespace"},{tag:A.className,class:"tok-className"},{tag:A.macroName,class:"tok-macroName"},{tag:A.propertyName,class:"tok-propertyName"},{tag:A.operator,class:"tok-operator"},{tag:A.comment,class:"tok-comment"},{tag:A.meta,class:"tok-meta"},{tag:A.invalid,class:"tok-invalid"},{tag:A.punctuation,class:"tok-punctuation"}]);const Yv=jm({String:A.string,Number:A.number,"True False":A.bool,PropertyName:A.propertyName,Null:A.null,", :":A.separator,"[ ]":A.squareBracket,"{ }":A.brace}),Qv=Go.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:[Yv],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 ac=[],Am=[];(()=>{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?Am:ac).push(t=t+n[e])})();function Jv(n){if(n<768)return!1;for(let e=0,t=ac.length;;){let r=e+t>>1;if(n<ac[r])t=r;else if(n>=Am[r])e=r+1;else return!0;if(e==t)return!1}}function rd(n){return n>=127462&&n<=127487}const id=8205;function Xv(n,e,t=!0,r=!0){return(t?Dm:Zv)(n,e,r)}function Dm(n,e,t){if(e==n.length)return e;e&&Tm(n.charCodeAt(e))&&Nm(n.charCodeAt(e-1))&&e--;let r=il(n,e);for(e+=sd(r);e<n.length;){let i=il(n,e);if(r==id||i==id||t&&Jv(i))e+=sd(i),r=i;else if(rd(i)){let s=0,o=e-2;for(;o>=0&&rd(il(n,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function Zv(n,e,t){for(;e>0;){let r=Dm(n,e-2,t);if(r<e)return r;e--}return 0}function il(n,e){let t=n.charCodeAt(e);if(!Nm(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return Tm(r)?(t-55296<<10)+(r-56320)+65536:t}function Tm(n){return n>=56320&&n<57344}function Nm(n){return n>=55296&&n<56320}function sd(n){return n<65536?1:2}class ye{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]=Pr(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),Ht.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]=Pr(this,e,t);let r=[];return this.decompose(e,t,r,0),Ht.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 pi(this),s=new pi(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 pi(this,e)}iterRange(e,t=this.length){return new Em(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 Rm(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]?ye.empty:e.length<=32?new Ne(e):Ht.from(Ne.split(e,[]))}}class Ne extends ye{constructor(e,t=e2(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 t2(i,a,r,o);i=a+1,r++}}decompose(e,t,r,i){let s=e<=0&&t>=this.length?this:new Ne(od(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=r.pop(),a=Io(s.text,o.text.slice(),0,s.length);if(a.length<=32)r.push(new Ne(a,o.length+s.length));else{let l=a.length>>1;r.push(new Ne(a.slice(0,l)),new Ne(a.slice(l)))}}else r.push(s)}replace(e,t,r){if(!(r instanceof Ne))return super.replace(e,t,r);[e,t]=Pr(this,e,t);let i=Io(this.text,Io(r.text,od(this.text,0,e)),t),s=this.length+r.length-(t-e);return i.length<=32?new Ne(i,s):Ht.from(Ne.split(i,[]),s)}sliceString(e,t=this.length,r=`
|
|
53
|
+
`){[e,t]=Pr(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 Ne(r,i)),r=[],i=-1);return i>-1&&t.push(new Ne(r,i)),t}}class Ht extends ye{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]=Pr(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 Ht(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]=Pr(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 Ht))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 Ne(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 Ht)for(let g of p.children)d(g);else p.lines>o&&(l>o||!l)?(f(),a.push(p)):p instanceof Ne&&l&&(m=h[h.length-1])instanceof Ne&&p.lines+m.lines<=32?(l+=p.lines,c+=p.length+1,h[h.length-1]=new Ne(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]:Ht.from(h,c)),c=-1,l=h.length=0)}for(let p of e)d(p);return f(),a.length==1?a[0]:new Ht(a,t)}}ye.empty=new Ne([""],0);function e2(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Io(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 od(n,e,t){return Io(n,[""],e,t)}class pi{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 Ne?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 Ne?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 Ne){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 Ne?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 Em{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new pi(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 Rm{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"&&(ye.prototype[Symbol.iterator]=function(){return this.iter()},pi.prototype[Symbol.iterator]=Em.prototype[Symbol.iterator]=Rm.prototype[Symbol.iterator]=function(){return this});class t2{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 Pr(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Be(n,e,t=!0,r=!0){return Xv(n,e,t,r)}function n2(n){return n>=56320&&n<57344}function r2(n){return n>=55296&&n<56320}function it(n,e){let t=n.charCodeAt(e);if(!r2(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return n2(r)?(t-55296<<10)+(r-56320)+65536:t}function ph(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Wt(n){return n<65536?1:2}const lc=/\r\n?|\n/;var tt=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(tt||(tt={}));class qt{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){cc(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 qt(e)}composeDesc(e){return this.empty?e:e.empty?this:Lm(this,e)}mapDesc(e,t=!1){return e.empty?this:hc(this,e,t)}mapPos(e,t=-1,r=tt.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!=tt.Simple&&c>=e&&(r==tt.TrackDel&&i<e&&c>e||r==tt.TrackBefore&&i<e||r==tt.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 qt(e)}static create(e){return new qt(e)}}class Ie extends qt{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 cc(this,(t,r,i,s,o)=>e=e.replace(i,i+(r-t),o),!1),e}mapDesc(e,t=!1){return hc(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(ye.empty);r.push(o?e.slice(s,s+o):ye.empty)}s+=o}return new Ie(t,r)}compose(e){return this.empty?e:e.empty?this:Lm(this,e,!0)}map(e,t=!1){return e.empty?this:hc(this,e,t,!0)}iterChanges(e,t=!1){cc(this,e,t)}get desc(){return qt.create(this.sections)}filter(e){let t=[],r=[],i=[],s=new Pi(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);Qe(i,h,-1);let d=s.ins==-1?-1:s.off==0?s.ins:0;Qe(t,h,d),d>0&&On(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);Qe(t,h,-1),Qe(i,h,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(h),a+=h}}return{changes:new Ie(t,r),filtered:qt.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&&Qe(i,t-o,-1);let d=new Ie(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 Ie){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"?ye.of(p.split(r||lc)):p:ye.empty,g=m.length;if(d==f&&g==0)return;d<o&&l(),d>o&&Qe(i,d-o,-1),Qe(i,f-d,g),On(s,i,m),o=f}}return c(e),l(!a),a}static empty(e){return new Ie(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(ye.empty);r[i]=ye.of(s.slice(1)),t.push(s[0],r[i].length)}}}return new Ie(t,r)}static createSet(e,t){return new Ie(e,t)}}function Qe(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 On(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(ye.empty);n.push(t)}}function cc(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=ye.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 hc(n,e,t,r=!1){let i=[],s=r?[]:null,o=new Pi(n),a=new Pi(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);Qe(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(Qe(i,a.ins,-1);c;){let h=Math.min(o.len,c);o.ins>=0&&l<o.i&&o.len<=h&&(Qe(i,0,o.ins),s&&On(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;Qe(i,c,l<o.i?o.ins:0),s&&l<o.i&&On(s,i,o.text),l=o.i,o.forward(o.len-h)}else{if(o.done&&a.done)return s?Ie.createSet(i,s):qt.create(i);throw new Error("Mismatched change set lengths")}}}function Lm(n,e,t=!1){let r=[],i=t?[]:null,s=new Pi(n),o=new Pi(e);for(let a=!1;;){if(s.done&&o.done)return i?Ie.createSet(r,i):qt.create(r);if(s.ins==0)Qe(r,s.len,0,a),s.next();else if(o.len==0&&!o.done)Qe(r,0,o.ins,a),i&&On(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;Qe(r,l,h,a),i&&h&&On(i,r,o.text)}else o.ins==-1?(Qe(r,s.off?0:s.len,l,a),i&&On(i,r,s.textBit(l))):(Qe(r,s.off?0:s.len,o.off?0:o.ins,a),i&&!o.off&&On(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 Pi{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?ye.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?ye.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 Yn{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 Yn(r,i,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return N.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return N.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 N.range(e.anchor,e.head)}static create(e,t,r){return new Yn(e,t,r)}}class N{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:N.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 N([this.main],0)}addRange(e,t=!0){return N.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,N.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 N(e.ranges.map(t=>Yn.fromJSON(t)),e.main)}static single(e,t=e){return new N([N.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 N.normalized(e.slice(),t);r=s.to}return new N(e,t)}static cursor(e,t=0,r,i){return Yn.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?Yn.create(t,e,48|s):Yn.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?N.range(l,a):N.range(a,l))}}return new N(e,t)}}function Im(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let mh=0;class G{constructor(e,t,r,i,s){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=i,this.id=mh++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new G(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:gh),!!e.static,e.enables)}of(e){return new Bo([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Bo(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Bo(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}}function gh(n,e){return n==e||n.length==e.length&&n.every((t,r)=>t===e[r])}class Bo{constructor(e,t,r,i){this.dependencies=e,this.facet=t,this.type=r,this.value=i,this.id=mh++}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)||uc(d,h)){let p=r(d);if(a?!ad(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 g=Qo(f,m);if(this.dependencies.every(y=>y instanceof G?f.facet(y)===d.facet(y):y instanceof Ge?f.field(y,!1)==d.field(y,!1):!0)||(a?ad(p=r(d),g,i):i(p=r(d),g)))return d.values[o]=g,0}else p=r(d);return d.values[o]=p,1}}}}function ad(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 uc(n,e){let t=!1;for(let r of e)mi(n,r)&1&&(t=!0);return t}function i2(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=Qo(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)mi(l,c);return l.values[o]=a(l),1},update(l,c){if(!uc(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=uc(l,r),d=c.config.facets[e.id],f=c.facet(e);if(d&&!h&&gh(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 oo=G.define({static:!0});class Ge{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 Ge(mh++,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(oo).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(oo),o=i.facet(oo),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,oo.of({field:this,create:e})]}get extension(){return this}}const Kn={lowest:4,low:3,default:2,high:1,highest:0};function ei(n){return e=>new Bm(e,n)}const sr={highest:ei(Kn.highest),high:ei(Kn.high),default:ei(Kn.default),low:ei(Kn.low),lowest:ei(Kn.lowest)};class Bm{constructor(e,t){this.inner=e,this.prec=t}}class Ca{of(e){return new dc(this,e)}reconfigure(e){return Ca.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class dc{constructor(e,t){this.compartment=e,this.inner=t}}class Yo{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 s2(e,t,o))f instanceof Ge?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,g=h&&h[f]||[];if(p.every(y=>y.type==0))if(a[m.id]=l.length<<1|1,gh(g,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=>i2(y,m,p))}}let d=c.map(f=>f(a));return new Yo(e,o,d,a,l,s)}}function s2(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 dc&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof dc){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 Bm)s(o.inner,o.prec);else if(o instanceof Ge)r[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof Bo)r[a].push(o),o.facet.extensions&&s(o.facet.extensions,Kn.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,Kn.default),r.reduce((o,a)=>o.concat(a))}function mi(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 Qo(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const $m=G.define(),fc=G.define({combine:n=>n.some(e=>e),static:!0}),Fm=G.define({combine:n=>n.length?n[0]:void 0,static:!0}),Vm=G.define(),zm=G.define(),Hm=G.define(),Wm=G.define({combine:n=>n.length?n[0]:!1});class Xt{constructor(e,t){this.type=e,this.value=t}static define(){return new o2}}class o2{of(e){return new Xt(this,e)}}class a2{constructor(e){this.map=e}of(e){return new le(this,e)}}class le{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 le(this.type,t)}is(e){return this.type==e}static define(e={}){return new a2(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}}le.reconfigure=le.define();le.appendConfig=le.define();class $e{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&&Im(r,t.newLength),s.some(a=>a.type==$e.time)||(this.annotations=s.concat($e.time.of(Date.now())))}static create(e,t,r,i,s,o){return new $e(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($e.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}$e.time=Xt.define();$e.userEvent=Xt.define();$e.addToHistory=Xt.define();$e.remote=Xt.define();function l2(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 _m(n,e,t){var r;let i,s,o;return t?(i=e.changes,s=Ie.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:le.mapEffects(n.effects,i).concat(le.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function pc(n,e,t){let r=e.selection,i=wr(e.annotations);return e.userEvent&&(i=i.concat($e.userEvent.of(e.userEvent))),{changes:e.changes instanceof Ie?e.changes:Ie.of(e.changes||[],t,n.facet(Fm)),selection:r&&(r instanceof N?r:N.single(r.anchor,r.head)),effects:wr(e.effects),annotations:i,scrollIntoView:!!e.scrollIntoView}}function Um(n,e,t){let r=pc(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=_m(r,pc(n,e[s],o?r.changes.newLength:n.doc.length),o)}let i=$e.create(n,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return h2(t?c2(i):i)}function c2(n){let e=n.startState,t=!0;for(let i of e.facet(Vm)){let s=i(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:l2(t,s))}if(t!==!0){let i,s;if(t===!1)s=n.changes.invertedDesc,i=Ie.empty(e.doc.length);else{let o=n.changes.filter(t);i=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}n=$e.create(e,i,n.selection&&n.selection.map(s),le.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let r=e.facet(zm);for(let i=r.length-1;i>=0;i--){let s=r[i](n);s instanceof $e?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof $e?n=s[0]:n=Um(e,wr(s),!1)}return n}function h2(n){let e=n.startState,t=e.facet(Hm),r=n;for(let i=t.length-1;i>=0;i--){let s=t[i](n);s&&Object.keys(s).length&&(r=_m(r,pc(e,s,n.changes.newLength),!0))}return r==n?n:$e.create(e,n.changes,n.selection,r.effects,r.annotations,r.scrollIntoView)}const u2=[];function wr(n){return n==null?u2:Array.isArray(n)?n:[n]}var Me=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Me||(Me={}));const d2=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let mc;try{mc=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function f2(n){if(mc)return mc.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>""&&(t.toUpperCase()!=t.toLowerCase()||d2.test(t)))return!0}return!1}function p2(n){return e=>{if(!/\S/.test(e))return Me.Space;if(f2(e))return Me.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return Me.Word;return Me.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++)mi(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 mi(this,r),Qo(this,r)}update(...e){return Um(this,e,!0)}applyTransaction(e){let t=this.config,{base:r,compartments:i}=t;for(let a of e.effects)a.is(Ca.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(le.reconfigure)?(t=null,r=a.value):a.is(le.appendConfig)&&(t=null,r=wr(r).concat(a.value));let s;t?s=e.startState.values.slice():(t=Yo.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(fc)?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:N.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=wr(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=le.mapEffects(o,h).concat(le.mapEffects(wr(l.effects),d))}return{changes:i,selection:N.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof Ie?e:Ie.of(e,this.doc.length,this.facet(pe.lineSeparator))}toText(e){return ye.of(e.split(this.facet(pe.lineSeparator)||lc))}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:(mi(this,t),Qo(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 Ge&&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:N.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=Yo.resolve(e.extensions||[],new Map),r=e.doc instanceof ye?e.doc:ye.of((e.doc||"").split(t.staticFacet(pe.lineSeparator)||lc)),i=e.selection?e.selection instanceof N?e.selection:N.single(e.selection.anchor,e.selection.head):N.single(0);return Im(i,r.length),t.staticFacet(fc)||(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(Wm)}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($m))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 p2(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=Be(t,o,!1);if(s(t.slice(l,o))!=Me.Word)break;o=l}for(;a<i;){let l=Be(t,a);if(s(t.slice(a,l))!=Me.Word)break;a=l}return o==a?null:N.range(o+r,a+r)}}pe.allowMultipleSelections=fc;pe.tabSize=G.define({combine:n=>n.length?n[0]:4});pe.lineSeparator=Fm;pe.readOnly=Wm;pe.phrases=G.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=$m;pe.changeFilter=Vm;pe.transactionFilter=zm;pe.transactionExtender=Hm;Ca.reconfigure=le.define();function Zt(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 An{eq(e){return this==e}range(e,t=e){return Mi.create(e,t,this)}}An.prototype.startSide=An.prototype.endSide=0;An.prototype.point=!1;An.prototype.mapMode=tt.TrackDel;function bh(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}class Mi{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new Mi(e,t,r)}}function gc(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class yh{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 yh(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(gc)),this.isEmpty)return t.length?fe.of(t):this;let a=new Km(this,null,-1).goto(0),l=0,c=[],h=new hn;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(Mi.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 Ai.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ai.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=ld(o,a,r),c=new ti(o,l,s),h=new ti(a,l,s);r.iterGaps((d,f,p)=>cd(c,d,h,f,p,i)),r.empty&&r.length==0&&cd(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=ld(s,o),l=new ti(s,a,0).goto(r),c=new ti(o,a,0).goto(r);for(;;){if(l.to!=c.to||!bc(l.active,c.active)||l.point&&(!c.point||!bh(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 ti(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 hn;for(let i of e instanceof Mi?[e]:t?m2(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 m2(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let r=n[t];if(gc(e,r)>0)return n.slice().sort(gc);e=r}return n}fe.empty.nextLayer=fe.empty;class hn{finishChunk(e){this.chunks.push(new yh(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 hn)).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 ld(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 Km{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 Ai{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 Km(o,t,r,s));return i.length==1?i[0]:new Ai(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--)sl(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--)sl(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(),sl(this.heap,0)}}}function sl(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 ti{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=Ai.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){ao(this.active,e),ao(this.activeTo,e),ao(this.activeRank,e),this.minActive=hd(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++;lo(this.active,t,r),lo(this.activeTo,t,i),lo(this.activeRank,t,s),e&&lo(e,t,this.cursor.from),this.minActive=hd(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&&ao(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 cd(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&&bh(n.point,t.point)&&bc(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(a,m,n.point,t.point),h=!1):(h&&s.boundChange(a),m>a&&!bc(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 bc(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!bh(n[t],e[t]))return!1;return!0}function ao(n,e){for(let t=e,r=n.length-1;t<r;t++)n[t]=n[t+1];n.pop()}function lo(n,e,t){for(let r=n.length-1;r>=e;r--)n[r+1]=n[r];n[e]=t}function hd(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 Ir(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=Be(n,i));return r}function yc(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=Be(n,i)}return r===!0?-1:n.length}const xc="ͼ",ud=typeof Symbol>"u"?"__"+xc:Symbol.for(xc),vc=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),dd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Dn{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(g=>o.map(y=>g.replace(/&/,y))).reduce((g,y)=>g.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,g=>"-"+g.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=dd[ud]||1;return dd[ud]=e+1,xc+e.toString(36)}static mount(e,t,r){let i=e[vc],s=r&&r.nonce;i?s&&i.setNonce(s):i=new g2(e,s),i.mount(Array.isArray(t)?t:[t],e)}}let fd=new Map;class g2{constructor(e,t){let r=e.ownerDocument||e,i=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let s=fd.get(r);if(s)return e[vc]=s;this.sheet=new i.CSSStyleSheet,fd.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[vc]=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 Tn={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:"'"},Di={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},b2=typeof navigator<"u"&&/Mac/.test(navigator.platform),y2=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Ue=0;Ue<10;Ue++)Tn[48+Ue]=Tn[96+Ue]=String(Ue);for(var Ue=1;Ue<=24;Ue++)Tn[Ue+111]="F"+Ue;for(var Ue=65;Ue<=90;Ue++)Tn[Ue]=String.fromCharCode(Ue+32),Di[Ue]=String.fromCharCode(Ue);for(var ol in Tn)Di.hasOwnProperty(ol)||(Di[ol]=Tn[ol]);function x2(n){var e=b2&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||y2&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Di:Tn)[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++)Gm(n,arguments[e]);return n}function Gm(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++)Gm(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let et=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},wc=typeof document<"u"?document:{documentElement:{style:{}}};const kc=/Edge\/(\d+)/.exec(et.userAgent),qm=/MSIE \d/.test(et.userAgent),Sc=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(et.userAgent),Oa=!!(qm||Sc||kc),pd=!Oa&&/gecko\/(\d+)/i.test(et.userAgent),al=!Oa&&/Chrome\/(\d+)/.exec(et.userAgent),v2="webkitFontSmoothing"in wc.documentElement.style,Cc=!Oa&&/Apple Computer/.test(et.vendor),md=Cc&&(/Mobile\/\w+/.test(et.userAgent)||et.maxTouchPoints>2);var K={mac:md||/Mac/.test(et.platform),windows:/Win/.test(et.platform),linux:/Linux|X11/.test(et.platform),ie:Oa,ie_version:qm?wc.documentMode||6:Sc?+Sc[1]:kc?+kc[1]:0,gecko:pd,gecko_version:pd?+(/Firefox\/(\d+)/.exec(et.userAgent)||[0,0])[1]:0,chrome:!!al,chrome_version:al?+al[1]:0,ios:md,android:/Android\b/.test(et.userAgent),webkit_version:v2?+(/\bAppleWebKit\/(\d+)/.exec(et.userAgent)||[0,0])[1]:0,safari:Cc,safari_version:Cc?+(/\bVersion\/(\d+(\.\d+)?)/.exec(et.userAgent)||[0,0])[1]:0,tabSize:wc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function xh(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 Jo=Object.create(null);function vh(n,e,t){if(n==e)return!0;n||(n=Jo),e||(e=Jo);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 w2(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 gd(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 k2(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 en{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 Ke=function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n}(Ke||(Ke={}));class ie extends An{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 Ts(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 er(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}=Ym(e,t);r=(s?t?-3e8:-1:5e8)-1,i=(o?t?2e8:1:-6e8)+1}return new er(e,r,i,t,e.widget||null,!0)}static line(e){return new Ns(e)}static set(e,t=!1){return fe.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}ie.none=fe.empty;class Ts extends ie{constructor(e){let{start:t,end:r}=Ym(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?xh(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Jo}eq(e){return this==e||e instanceof Ts&&this.tagName==e.tagName&&vh(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)}}Ts.prototype.point=!1;class Ns extends ie{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Ns&&this.spec.class==e.spec.class&&vh(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)}}Ns.prototype.mapMode=tt.TrackBefore;Ns.prototype.point=!0;class er extends ie{constructor(e,t,r,i,s,o){super(t,r,s,e),this.block=i,this.isReplace=o,this.mapMode=i?t<=0?tt.TrackBefore:tt.TrackAfter:tt.TrackDel}get type(){return this.startSide!=this.endSide?Ke.WidgetRange:this.startSide<=0?Ke.WidgetBefore:Ke.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof er&&S2(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)}}er.prototype.point=!0;function Ym(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 S2(n,e){return n==e||!!(n&&e&&n.compare(e))}function kr(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 Ti extends An{constructor(e,t){super(),this.tagName=e,this.attributes=t}eq(e){return e==this||e instanceof Ti&&this.tagName==e.tagName&&vh(this.attributes,e.attributes)}static create(e){return new Ti(e.tagName,e.attributes||Jo)}static set(e,t=!1){return fe.of(e,t)}}Ti.prototype.startSide=Ti.prototype.endSide=-1;function Ni(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Oc(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 Oc(n,e.anchorNode)}catch{return!1}}function gi(n){return n.nodeType==3?Ri(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function bi(n,e,t,r){return t?bd(n,e,t,r,-1)||bd(n,e,t,r,1):!1}function Nn(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function Xo(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function bd(n,e,t,r,i){for(;;){if(n==t&&e==r)return!0;if(e==(i<0?0:un(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||s.nodeType!=1)return!1;e=Nn(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?un(n):0}else return!1}}function un(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Ei(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function C2(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 Qm(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 O2(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,g=1;if(p)f=C2(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:g}=Qm(h,k)),f={left:k.left,right:k.left+h.clientWidth*m,top:k.top,bottom:k.top+h.clientHeight*g}}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 P=h.scrollTop;h.scrollTop+=v/g,S=(h.scrollTop-P)*g}if(y){let P=h.scrollLeft;h.scrollLeft+=y/m,k=(h.scrollLeft-P)*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 j2(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 P2{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?un(t):0),r,Math.min(e.focusOffset,r?un(r):0))}set(e,t,r,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=i}}let Un=null;K.safari&&K.safari_version>=26&&(Un=!1);function Jm(n){if(n.setActive)return n.setActive();if(Un)return n.focus(Un);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(Un==null?{get preventScroll(){return Un={preventScroll:!0},!0}}:void 0),!Un){Un=!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 yd;function Ri(n,e,t=e){let r=yd||(yd=document.createRange());return r.setEnd(n,t),r.setStart(n,e),r}function Sr(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 M2(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function A2(n,e){let t=e.focusNode,r=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=r)return!1;for(r=Math.min(r,un(t));;)if(r){if(t.nodeType!=1)return!1;let i=t.childNodes[r-1];i.contentEditable=="false"?r--:(t=i,r=un(t))}else{if(t==n)return!0;r=Nn(t),t=t.parentNode}}function Xm(n){return n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function Zm(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=un(t)}else if(t.parentNode&&!Xo(t))r=Nn(t),t=t.parentNode;else return null}}function eg(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&&!Xo(t))r=Nn(t)+1,t=t.parentNode;else return null}}class Tt{constructor(e,t,r=!0){this.node=e,this.offset=t,this.precise=r}static before(e,t){return new Tt(e.parentNode,Nn(e),t)}static after(e,t){return new Tt(e.parentNode,Nn(e)+1,t)}}var je=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(je||(je={}));const tr=je.LTR,wh=je.RTL;function tg(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}const D2=tg("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),T2=tg("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),jc=Object.create(null),Ft=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);jc[e]=t,jc[t]=-e}function ng(n){return n<=247?D2[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?T2[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}const N2=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class cn{get dir(){return this.level%2?wh:tr}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 rg(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||!rg(r.inner,i.inner))return!1}return!0}const Oe=[];function E2(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=ng(n.charCodeAt(c));f==512?f=h:f==8&&d==4&&(f=16),Oe[c]=f==4?2:f,f&7&&(d=f),h=f}for(let c=o,h=l,d=l;c<a;c++){let f=Oe[c];if(f==128)c<a-1&&h==Oe[c+1]&&h&24?f=Oe[c]=h:Oe[c]=256;else if(f==64){let p=c+1;for(;p<a&&Oe[p]==64;)p++;let m=c&&h==8||p<t&&Oe[p]==8?d==1?1:8:256;for(let g=c;g<p;g++)Oe[g]=m;c=p-1}else f==8&&d==1&&(Oe[c]=1);h=f,f&7&&(d=f)}}}function R2(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=jc[f=n.charCodeAt(d)])if(p<0){for(let g=a-3;g>=0;g-=3)if(Ft[g+1]==-p){let y=Ft[g+2],v=y&2?i:y&4?y&1?s:i:0;v&&(Oe[d]=Oe[Ft[g]]=v),a=g;break}}else{if(Ft.length==189)break;Ft[a++]=d,Ft[a++]=f,Ft[a++]=l}else if((m=Oe[d])==2||m==1){let g=m==i;l=g?0:1;for(let y=a-3;y>=0;y-=3){let v=Ft[y+2];if(v&2)break;if(g)Ft[y+2]|=2;else{if(v&4)break;Ft[y+2]|=4}}}}}function L2(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=Oe[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(Oe[h]==256)h++;else break;let d=s==1,f=(h<e?Oe[h]:r)==1,p=d==f?d?1:2:r;for(let m=h,g=i,y=g?t[g-1].to:n;m>l;)m==y&&(m=t[--g].from,y=g?t[g-1].to:n),Oe[--m]=p;l=h}else s=c,l++}}}function Pc(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 g=Oe[l];g!=a&&(h=!1,d=g==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 g=s[c];if(!h)for(let y=g.to,v=c+1;;){if(y==t)break e;if(v<s.length&&s[v].from==y)y=s[v++].to;else{if(Oe[y]==a)break e;break}}if(c++,f)f.push(g);else{g.from>l&&o.push(new cn(l,g.from,p));let y=g.direction==tr!=!(p%2);Mc(n,y?r+1:r,i,g.inner,g.from,g.to,o),l=g.to}m=g.to}else{if(m==t||(h?Oe[m]!=a:Oe[m]==a))break;m++}f?Pc(n,l,m,r+1,i,f,o):l<m&&o.push(new cn(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 g=Oe[l-1];g!=a&&(h=!1,d=g==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 g=s[--c];if(!h)for(let y=g.from,v=c;;){if(y==e)break e;if(v&&s[v-1].to==y)y=s[--v].from;else{if(Oe[y-1]==a)break e;break}}if(f)f.push(g);else{g.to<l&&o.push(new cn(g.to,l,p));let y=g.direction==tr!=!(p%2);Mc(n,y?r+1:r,i,g.inner,g.from,g.to,o),l=g.from}m=g.from}else{if(m==e||(h?Oe[m-1]!=a:Oe[m-1]==a))break;m--}f?Pc(n,m,l,r+1,i,f,o):m<l&&o.push(new cn(m,l,p)),l=m}}function Mc(n,e,t,r,i,s,o){let a=e%2?2:1;E2(n,i,s,r,a),R2(n,i,s,r,a),L2(i,s,r,a),Pc(n,i,s,e,t,r,o)}function I2(n,e,t){if(!n)return[new cn(0,0,e==wh?1:0)];if(e==tr&&!t.length&&!N2.test(n))return ig(n.length);if(t.length)for(;n.length>Oe.length;)Oe[Oe.length]=256;let r=[],i=e==tr?0:1;return Mc(n,i,i,t,0,n.length,r),r}function ig(n){return[new cn(0,n,0)]}let sg="";function B2(n,e,t,r,i){var s;let o=r.head-n.from,a=cn.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=Be(n.text,o,l.forward(i,t));(h<l.from||h>l.to)&&(h=c),sg=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?N.cursor(d.side(!i,t)+n.from,d.forward(i,t)?1:-1,d.level):N.cursor(h+n.from,l.forward(i,t)?-1:1,l.level)}function $2(n,e,t){for(let r=e;r<t;r++){let i=ng(n.charCodeAt(r));if(i==1)return tr;if(i==2||i==4)return wh}return tr}const og=G.define(),ag=G.define(),lg=G.define(),cg=G.define(),Ac=G.define(),hg=G.define(),ug=G.define(),kh=G.define(),Sh=G.define(),dg=G.define({combine:n=>n.some(e=>e)}),fg=G.define({combine:n=>n.some(e=>e)}),pg=G.define();class Cr{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 Cr(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 Cr(N.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const co=le.define({map:(n,e)=>n.map(e)}),mg=le.define();function at(n,e,t){let r=n.facet(cg);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 an=G.define({combine:n=>n.length?n[0]:!0});let F2=0;const pr=G.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 Re{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(pr.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(pr.of({plugin:this,arg:e}))}static define(e,t){const{eventHandlers:r,eventObservers:i,provide:s,decorations:o}=t||{};return new Re(F2++,e,r,i,a=>{let l=[];return o&&l.push(Li.of(c=>{let h=c.plugin(a);return h?o(h):ie.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return Re.define((r,i)=>new e(r,i),t)}}class ll{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(at(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){at(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){at(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const gg=G.define(),Ch=G.define(),Li=G.define(),bg=G.define(),yg=G.define(),Es=G.define(),xg=G.define();function xd(n,e){let t=n.state.facet(xg);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=$2(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 g={from:c,to:h,direction:p,inner:[]};d.push(g),d=g.inner}}}}),i}const vg=G.define();function Oh(n){let e=0,t=0,r=0,i=0;for(let s of n.state.facet(vg)){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 li=G.define();class vt{constructor(e,t,r,i){this.fromA=e,this.toA=t,this.fromB=r,this.toB=i}join(e){return new vt(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 vt(h,f,c,d))}return r}}class Zo{constructor(e,t,r){this.view=e,this.state=t,this.transactions=r,this.flags=0,this.startState=e.state,this.changes=Ie.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 vt(s,o,a,l))),this.changedRanges=i}static create(e,t,r){return new Zo(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 V2=[];class Le{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 V2}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&&w2(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=Nn(this.dom),i=this.length?e>0:t>0;return new Tt(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 Pa)return e;return null}static get(e){return e.cmTile}}class ja extends Le{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=vd(i);else t.insertBefore(a.dom,i);r=a.dom}for(i=r?r.nextSibling:t.firstChild,s&&i&&(s.written=!0);i;)i=vd(i);this.length=o}}function vd(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class Pa extends ja{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=Le.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 jn)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 jn extends ja{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 jn(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class Mr extends ja{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,r){let i=new Mr(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],g=p+m.length;g>=d&&(m.isComposite()?l(m,d-p):(!o||o.isHidden&&(t>0||r&&H2(o,m)))&&(g>d||m.flags&32)?(o=m,a=d-p):(p<d||m.flags&16&&!m.isHidden)&&(i=m,s=d-p)),p=g}}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):z2(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 Tt(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 Tt(l.dom,0);l==r.tile&&(a=!0)}}return new Tt(this.dom,0)}}function z2(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=gi(e);return t[t.length-1]||null}function H2(n,e){let t=n.coordsIn(0,1),r=e.coordsIn(0,1);return t&&r&&r.top<t.bottom}class ot extends ja{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let r=new ot(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}}class Qn extends Le{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?K.chrome||K.gecko||(e?(i--,o=1):s<r&&(s++,o=-1)):t<0?i--:s<r&&s++;let a=Ri(this.dom,i,s).getClientRects();if(!a.length)return null;let l=a[(o?o<0:t>=0)?0:a.length-1];return K.safari&&!o&&l.width==0&&(l=Array.prototype.find.call(a,c=>c.width)||l),o?Ei(l,o<0):l||null}static of(e,t){let r=new Qn(t||document.createTextNode(e),e);return t||(r.flags|=2),r}}class Ar extends Le{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 Ei(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 Ei(o,!a)}}get overrideDOMText(){if(!this.length)return ye.empty;let{root:e}=this;if(!e)return ye.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 Ar(s,r,e,i)}}class ea extends Le{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 ye.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class W2{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 _2{constructor(e,t,r,i){this.from=e,this.to=t,this.wrapper=r,this.rank=i}}class U2{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 Qn(a.dom,a.text+e);l.parent=o}else o.append(i||Qn.of(e,(s=this.cache.find(Qn))===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)?cl(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 ot&&c.mark.eq(l.mark))c.dom!=l.dom&&c.setDOM(cl(l.dom)),i=c;else{if(this.cache.reused.get(l)){let d=Le.get(l.dom);d&&d.setDOM(cl(l.dom))}let h=ot.of(l.mark,l.dom);i.append(h),i=h}this.cache.reused.set(l,2)}let s=Le.get(e.text);s&&this.cache.reused.set(s,2);let o=new Qn(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=wg);let i=Mr.start(e,t||((r=this.cache.find(Mr))===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 ot&&a.mark.eq(o))i=a,t--;else{let l=ot.of(o,(r=this.cache.find(ot,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||!wd(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(K.ios&&wd(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(hl,0,32)||new Ar(hl.toDOM(),0,hl,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 _2(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 jn&&i.wrapper.eq(r.wrapper))t=i;else{let s=jn.of(r.wrapper,(e=this.cache.find(jn,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(ea,void 0,1);return r&&(r.flags=t),r||new ea(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class K2{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 ta=[Ar,Mr,Qn,ot,ea,jn,Pa];for(let n=0;n<ta.length;n++)ta[n].bucket=n;class G2{constructor(e){this.view=e,this.buckets=ta.map(()=>[]),this.index=ta.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 q2{constructor(e,t,r,i,s){this.view=e,this.decorations=i,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new G2(e),this.text=new K2(e.state.doc),this.builder=new U2(this.cache,new Pa(e,e.contentDOM),fe.iter(r)),this.cache.reused.set(t,2),this.old=new W2(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=J2(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?Ar.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 ea)this.cache.add(o);else if(o instanceof ot)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 ot&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=s=0):o instanceof ot&&(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 er){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?Dr.block:Dr.inline),m=Y2(c),g=this.cache.findWidget(p,l-a,m)||Ar.of(p,this.view,l-a,m);c.block?(c.startSide>0&&i.addLineStartIfNotCovered(r),i.addBlockWidget(g)):(i.ensureLine(r),i.addInlineWidget(g,h,d))}r=null}else r=Q2(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=Le.get(i);if(i==this.view.contentDOM)break;s instanceof ot?t.push(s):s?.isLine()?r=s:i.nodeName=="DIV"&&!r&&i!=this.view.contentDOM?r=new Mr(i,wg):t.push(ot.of(new Ts({tagName:i.nodeName.toLowerCase(),attributes:k2(i)}),i))}return{line:r,marks:t}}}function wd(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 Y2(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 wg={class:"cm-line"};function Q2(n,e){let t=e.spec.attributes,r=e.spec.class;return!t&&!r||(n||(n={class:"cm-line"}),t&&xh(t,n),r&&(n.class+=" "+r)),n}function J2(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 ot&&e.push(r.mark)}return e}function cl(n){let e=Le.get(n);return e&&e.setDOM(n.cloneNode()),n}class Dr extends en{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}}Dr.inline=new Dr("span");Dr.block=new Dr("div");const hl=new class extends en{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class kd{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=ie.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 Pa(e,e.contentDOM),this.updateInner([new vt(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:!ow(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let s=i>-1?Z2(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:d}=this.hasComposition;r=new vt(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,(K.ie||K.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=nw(o,this.decorations,e.changes);l.length&&(r=vt.extendWithRanges(r,l));let c=iw(a,this.blockWrappers,e.changes);return c.length&&(r=vt.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 q2(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=a.run(e,t),Dc(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=K.chrome||K.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 ul&&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(mg)&&(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(an)||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)),K.gecko&&l.empty&&!this.hasComposition&&X2(c)){let f=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(f,c.node.childNodes[c.offset]||null)),c=h=new Tt(f,0),a=!0}let d=this.view.observer.selectionRange;(a||!d.focusNode||(!bi(c.node,c.offset,d.anchorNode,d.anchorOffset)||!bi(h.node,h.offset,d.focusNode,d.focusOffset))&&!this.suppressWidgetCursorChange(d,l))&&(this.view.observer.ignore(()=>{K.android&&K.chrome&&r.contains(d.focusNode)&&sw(d.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let f=Ni(this.view.root);if(f)if(l.empty){if(K.gecko){let p=ew(c.node,c.offset);if(p&&p!=3){let m=(p==1?Zm:eg)(c.node,c.offset);m&&(c=new Tt(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 Tt(d.anchorNode,d.anchorOffset),this.impreciseHead=h.precise?null:new Tt(d.focusNode,d.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&bi(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=Ni(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=un(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&&!Le.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 ul?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=Be(s.text,o);if(a==o)return null;let l=Ri(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==je.LTR,c=0,h=(d,f,p)=>{for(let m=0;m<d.children.length&&!(f>i);m++){let g=d.children[m],y=f+g.length,v=g.dom.getBoundingClientRect(),{height:k}=v;if(p&&!m&&(c+=v.top-p.top),g instanceof jn)y>r&&h(g,f,v);else if(f>=r&&(c>0&&t.push(-c),t.push(k+c),c=0,o)){let S=g.dom.lastChild,P=S?gi(S):[];if(P.length){let O=P[P.length-1],M=l?O.right-v.left:v.right-O.left;M>a&&(a=M,this.minWidth=s,this.minWidthFrom=f,this.minWidthTo=y)}}p&&m==d.children.length-1&&(c+=p.bottom-v.bottom),f=y+g.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?je.RTL:je.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=gi(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=gi(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(ie.replace({widget:new ul(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return ie.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Li).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,i=this.view.state.facet(yg).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(bg).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(pg))try{if(c(this.view,e.range,e))return!0}catch(h){at(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=Oh(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;O2(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==je.LTR)}lineHasWidget(e){let t=r=>r.isWidget()||r.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){Dc(this.tile)}}function Dc(n,e){let t=e?.get(n);if(t!=1){t==null&&n.destroy();for(let r of n.children)Dc(r,e)}}function X2(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 kg(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let r=Zm(t.focusNode,t.focusOffset),i=eg(t.focusNode,t.focusOffset),s=r||i;if(i&&r&&i.node!=r.node){let a=Le.get(i.node);if(!a||a.isText()&&a.text!=i.node.nodeValue)s=i;else if(n.docView.lastCompositionAfterCursor){let l=Le.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 Z2(n,e,t){let r=kg(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 vt(l.mapPos(s),l.mapPos(o),s,o),text:i}}function ew(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 tw=class{constructor(){this.changes=[]}compareRange(e,t){kr(e,t,this.changes)}comparePoint(e,t){kr(e,t,this.changes)}boundChange(e){kr(e,e,this.changes)}};function nw(n,e,t){let r=new tw;return fe.compare(n,e,t,r),r.changes}class rw{constructor(){this.changes=[]}compareRange(e,t){kr(e,t,this.changes)}comparePoint(){}boundChange(e){kr(e,e,this.changes)}}function iw(n,e,t){let r=new rw;return fe.compare(n,e,t,r),r.changes}function sw(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 ow(n,e){let t=!1;return e&&n.iterChangedRanges((r,i)=>{r<e.to&&i>e.from&&(t=!0)}),t}class ul extends en{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 aw(n,e,t=1){let r=n.charCategorizer(e),i=n.doc.lineAt(e),s=e-i.from;if(i.length==0)return N.cursor(e);s==0?t=1:s==i.length&&(t=-1);let o=s,a=s;t<0?o=Be(i.text,s,!1):a=Be(i.text,s);let l=r(i.text.slice(o,a));for(;o>0;){let c=Be(i.text,o,!1);if(r(i.text.slice(c,o))!=l)break;o=c}for(;a<i.length;){let c=Be(i.text,a);if(r(i.text.slice(a,c))!=l)break;a=c}return N.range(o+i.from,a+i.from)}function lw(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+yc(o,s,n.state.tabSize)}function Tc(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==Ke.Text&&(i.type!=s.type||(t<0?s.from<e:s.to>e)))&&(i=s)}}return i||r}return r}function cw(n,e,t,r){let i=Tc(n,e.head,e.assoc||-1),s=!r||i.type!=Ke.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==je.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return N.cursor(l,t?-1:1)}return N.cursor(t?i.to:i.from,t?-1:1)}function Sd(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=B2(i,s,o,a,t),h=sg;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 hw(n,e,t){let r=n.state.charCategorizer(e),i=r(t);return s=>{let o=r(s);return i==Me.Space&&(i=o),i==o}}function uw(n,e,t,r){let i=e.head,s=t?1:-1;if(i==(t?n.state.doc.length:0))return N.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,g=Nc(n,{x:d,y:m},!1,s);return N.cursor(g.pos,g.assoc,void 0,o)}}function yi(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 Sg(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=yi(n,i.from,0);o!=i.from&&(s=N.cursor(o,-1))}else{let o=yi(n,i.from,-1),a=yi(n,i.to,1);(o!=i.from||a!=i.to)&&(s=N.range(i.from==i.anchor?o:a,i.from==i.head?o:a))}s&&(t||(t=e.ranges.slice()),t[r]=s)}return t?N.create(t,e.mainIndex):e}function dl(n,e,t){let r=yi(n.state.facet(Es).map(i=>i(n)),t.from,e.head>t.from?-1:1);return r==t.from?t:N.cursor(r,r<t.from?1:-1)}class _t{constructor(e,t){this.pos=e,this.assoc=t}}function Nc(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 _t(0,1);if(l>n.viewState.docHeight)return new _t(n.state.doc.length,-1);if(c=n.elementAtHeight(l),r==null)break;if(c.type==Ke.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==Ke.Text){let d=lw(n,i,c,o,a);return new _t(d,d==c.from?1:-1)}}if(c.type!=Ke.Text)return l<(c.top+c.bottom)/2?new _t(c.from,1):new _t(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),Cg(n,h,c.from,o,a)}function Cg(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 g=f[m];if(g.top==g.bottom)continue;let y=g.left>r?g.left-r:g.right<r?r-g.right:0,v=g.top>i?g.top-i:g.bottom<i?i-g.bottom:0;g.top<=h&&g.bottom>=c&&(c=Math.min(g.top,c),h=Math.max(g.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=g))}};if(e.isText()){for(let p=0;p<e.length;){let m=Be(e.text,p);if(d(Ri(e.dom,p,m).getClientRects(),p),!a&&!l)break;p=m}return r>(o.left+o.right)/2==(Cd(n,s+t)==je.LTR)?new _t(t+Be(e.text,s),-1):new _t(t+s,1)}else{if(!e.length)return new _t(t,1);for(let g=0;g<e.children.length;g++){let y=e.children[g];if(y.flags&48)continue;let v=(y.dom.nodeType==1?y.dom:Ri(y.dom,0,y.length)).getClientRects();if(d(v,g),!a&&!l)break}let f=e.children[s],p=e.posBefore(f,t);return f.isComposite()||f.isText()?Cg(n,f,p,Math.max(o.left,Math.min(o.right,r)),i):r>(o.left+o.right)/2==(Cd(n,s+t)==je.LTR)?new _t(p+f.length,-1):new _t(p,1)}}function Cd(n,e){let t=n.state.doc.lineAt(e);return n.bidiSpans(t)[cn.find(n.bidiSpans(t),e-t.from,-1,1)].dir}const ci="";class dw{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+=ci}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=Le.get(i),a=i.nextSibling;if(a==t){o?.breakAfter&&!a&&r!=this.view.contentDOM&&this.lineBreak();break}let l=Le.get(a);(o&&l?o.breakAfter:(o?o.breakAfter:Xo(i))||Xo(a)&&(i.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!pw(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=Le.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+(fw(e,r.node,r.offset)?t:0))}}function fw(n,e,t){for(;;){if(!e||t<un(e))return!1;if(e==n)return!0;t=Nn(e)+1,e=e.parentNode}}function pw(n,e){let t;for(;!(n==e||!n);n=n.nextSibling){let r=Le.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 Od{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class mw{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=Og(e.docView.tile,t,r,0))){let a=s||o?[]:bw(e),l=new dw(a,e);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=yw(a,this.bounds.from)}else{let a=e.observer.selectionRange,l=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!Oc(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||!Oc(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),h=e.viewport;if((K.ios||K.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(N.range(c,l)):this.newSel=N.single(c,l)}}}function Og(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 Og(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 jg(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||K.android&&e.text.length<a-o)&&(l=i.to,c="end");let h=Pg(n.state.doc.sliceString(o,a,ci),e.text,l-o,c);h&&(K.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==ci+ci&&h.toB--,t={from:o+h.from,to:o+h.toA,insert:ye.of(e.text.slice(h.from,h.toB).split(ci))})}else r&&(!n.hasFocus&&n.state.facet(an)||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)}:(K.mac||K.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=N.single(r.main.anchor-1,r.main.head-1)),t={from:t.from,to:t.to,insert:ye.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)}:K.chrome&&t&&t.from==t.to&&t.from==i.head&&t.insert.toString()==`
|
|
60
|
+
`&&n.lineWrapping&&(r&&(r=N.single(r.main.anchor-1,r.main.head-1)),t={from:i.from,to:i.to,insert:ye.of([" "])}),t)return jh(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=Sg(n.state.facet(Es).map(l=>l(n)),r))),n.dispatch({selection:r,scrollIntoView:o,userEvent:a}),!0}else return!1}function jh(n,e,t,r=-1){if(K.ios&&n.inputState.flushIOSKey(e))return!0;let i=n.state.selection.main;if(K.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&&Sr(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)&&Sr(n.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&Sr(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=gw(n,e,t));return n.state.facet(hg).some(l=>l(n,e.from,e.to,s,a))||n.dispatch(a()),!0}function gw(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=yi(i.facet(Es).map(d=>d(n)),c,l);e.from==h&&(o=h)}if(o>-1)r={changes:e,selection:N.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&&kg(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 g=m.to-p,y=g-h.length;if(n.state.sliceDoc(y,g)!=h||g>=d.from&&y<=d.to)return{range:m};let v=i.changes({from:y,to:g,insert:e.insert}),k=m.to-s.to;return{changes:v,range:c?N.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 Pg(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 bw(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 Od(t,r)),(i!=t||s!=r)&&e.push(new Od(i,s))),e}function yw(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?N.single(t+e,r+e):null}class xw{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,K.safari&&e.contentDOM.addEventListener("input",()=>null),K.gecko&&Rw(e.contentDOM.ownerDocument)}handleEvent(e){!Pw(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=vw(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&&Ag.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),K.android&&K.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return K.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((t=Mg.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||ww.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,Sr(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:K.safari&&!K.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 jd(n,e){return(t,r)=>{try{return e.call(n,r,t)}catch(i){at(t.state,i)}}}function vw(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(jd(r.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(jd(r.value,l))}}for(let r in Et)t(r).handlers.push(Et[r]);for(let r in Ot)t(r).observers.push(Ot[r]);return e}const Mg=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],ww="dthko",Ag=[16,17,18,20,91,92,224,225],ho=6;function uo(n){return Math.max(0,n)*.7+8}function kw(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class Sw{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=j2(e.contentDOM),this.atoms=e.state.facet(Es).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)&&Cw(e,t),this.dragging=jw(e,t)&&Ng(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&&kw(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=Oh(this.view);e.clientX-l.left<=i+ho?t=-uo(i-e.clientX):e.clientX+l.right>=o-ho&&(t=uo(e.clientX-o)),e.clientY-l.top<=s+ho?r=-uo(s-e.clientY):e.clientY+l.bottom>=a-ho&&(r=uo(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=Sg(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 Cw(n,e){let t=n.state.facet(og);return t.length?t[0](e):K.mac?e.metaKey:e.ctrlKey}function Ow(n,e){let t=n.state.facet(ag);return t.length?t[0](e):K.mac?!e.altKey:!e.ctrlKey}function jw(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let r=Ni(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 Pw(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=Le.get(t))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const Et=Object.create(null),Ot=Object.create(null),Dg=K.ie&&K.ie_version<15||K.ios&&K.webkit_version<604;function Mw(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(),Tg(n,t.value)},50)}function Ma(n,e,t){for(let r of n.facet(e))t=r(t,n);return t}function Tg(n,e){e=Ma(n.state,kh,e);let{state:t}=n,r,i=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Ec!=null&&t.selection.ranges.every(l=>l.empty)&&Ec==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:N.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:N.cursor(l.from+c.length)}}):r=t.replaceSelection(s);n.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Ot.scroll=n=>{n.inputState.lastScrollTop=n.scrollDOM.scrollTop,n.inputState.lastScrollLeft=n.scrollDOM.scrollLeft};Et.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Ot.touchstart=(n,e)=>{n.inputState.lastTouchTime=Date.now(),n.inputState.setSelectionOrigin("select.pointer")};Ot.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};Et.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(lg))if(t=r(n,e),t)break;if(!t&&e.button==0&&(t=Dw(n,e)),t){let r=!n.hasFocus;n.inputState.startMouseSelection(new Sw(n,e,t,r)),r&&n.observer.ignore(()=>{Jm(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 Pd(n,e,t,r){if(r==1)return N.cursor(e,t);if(r==2)return aw(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++,N.range(o,a)}}const Aw=K.ie&&K.ie_version<=11;let Md=null,Ad=0,Dd=0;function Ng(n){if(!Aw)return n.detail;let e=Md,t=Dd;return Md=n,Dd=Date.now(),Ad=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(Ad+1)%3:1}function Dw(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=Ng(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=Pd(n,l.pos,l.assoc,r);if(t.pos!=l.pos&&!o){let d=Pd(n,t.pos,t.assoc,r),f=Math.min(d.from,h.from),p=Math.max(d.to,h.to);h=f<h.from?N.range(f,p):N.range(p,f)}return o?i.replaceRange(i.main.extend(h.from,h.to)):a&&r==1&&i.ranges.length>1&&(c=Tw(i,l.pos))?c:a?i.addRange(h):N.create([h])}}}function Tw(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 N.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}Et.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=N.range(s,o))}}let{inputState:r}=n;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Ma(n.state,Sh,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Et.dragend=n=>(n.inputState.draggedContent=null,!1);function Td(n,e,t,r){if(t=Ma(n.state,kh,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=n.inputState,o=r&&s&&Ow(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}Et.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&&Td(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 Td(n,e,r,!0),!0}return!1};Et.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=Dg?null:e.clipboardData;return t?(Tg(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(Mw(n),!1)};function Nw(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 Ew(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:Ma(n,Sh,e.join(n.lineBreak)),ranges:t,linewise:r}}let Ec=null;Et.copy=Et.cut=(n,e)=>{let{text:t,ranges:r,linewise:i}=Ew(n.state);if(!t&&!i)return!1;Ec=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=Dg?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(Nw(n,t),!1)};const Eg=Xt.define();function Rg(n,e){let t=[];for(let r of n.facet(ug)){let i=r(n,e);i&&t.push(i)}return t.length?n.update({effects:t,annotations:Eg.of(!0)}):null}function Lg(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=Rg(n.state,e);t?n.dispatch(t):n.update([])}},10)}Ot.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),Lg(n)};Ot.blur=n=>{n.observer.clearSelectionRange(),Lg(n)};Ot.compositionstart=Ot.compositionupdate=n=>{n.observer.editContext||(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0&&(n.inputState.composing=0))};Ot.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,K.chrome&&K.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Ot.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Et.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 jh(n,{from:l,to:c,insert:n.state.toText(s)},null),!0}}let i;if(K.chrome&&K.android&&(i=Mg.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 K.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),K.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Ot.compositionend(n,e),20),!1};const Nd=new Set;function Rw(n){Nd.has(n)||(Nd.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const Ed=["pre-wrap","normal","pre-line","break-spaces"];let Tr=!1;function Rd(){Tr=!1}class Lw{constructor(e){this.lineWrapping=e,this.doc=ye.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 Ed.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=Ed.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 Iw{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Dt{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"?Ke.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 er?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 Dt(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 Fo=.001;class nt{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)>Fo&&(Tr=!0),this.height=e)}replace(e,t,r){return nt.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=Ph.build(r.setDoc(o),e,h,d);s=na(s,s.replace(l,c,m))}return s.updateHeight(r,0)}static empty(){return new dt(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 $w(nt.of(e.slice(0,t)),o,nt.of(e.slice(r)))}}function na(n,e){return n==e?n:(n.constructor!=e.constructor&&(Tr=!0),e)}nt.prototype.size=1;const Bw=ie.replace({});class Ig extends nt{constructor(e,t,r){super(e,t),this.deco=r,this.spaceAbove=0}mainBlock(e,t){return new Dt(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 Dt(i,0,r,this.spaceAbove,Bw):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 dt extends Ig{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 Dt(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 dt||i instanceof _e&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof _e?i=new dt(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):nt.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 _e extends nt{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 Dt(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 Dt(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 Dt(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 Dt(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 Dt(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 _e?r[r.length-1]=new _e(s.length+i):r.push(null,new _e(i-1))}if(e>0){let s=r[0];s instanceof _e?r[0]=new _e(e+s.length):r.unshift(new _e(e-1),null)}return nt.of(r)}decomposeLeft(e,t){t.push(new _e(e-1),null)}decomposeRight(e,t){t.push(null,new _e(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 _e(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)>=Fo&&(l=-2);let p=new dt(h,d,f);p.outdated=!1,o.push(p),a+=h+1}a<=s&&o.push(null,new _e(s-a).updateHeight(e,a));let c=nt.of(o);return(l<0||Math.abs(c.height-this.height)>=Fo||Math.abs(l-this.heightMetrics(e,t).perLine)>=Fo)&&(Tr=!0),na(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 $w extends nt{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&&Ld(s,o-1),t<this.length){let a=s.length;this.decomposeRight(t,s),Ld(s,a)}return nt.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?nt.of(this.break?[e,null,t]:[e,t]):(this.left=na(this.left,e),this.right=na(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 Ld(n,e){let t,r;n[e]==null&&(t=n[e-1])instanceof _e&&(r=n[e+1])instanceof _e&&n.splice(e-1,3,new _e(t.length+1+r.length))}const Fw=5;class Ph{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 dt?i.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new dt(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 Ig(o,i,r)):(o||s||i>=Fw)&&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 dt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let r=new _e(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 dt)return e;let t=new dt(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 dt)&&!this.isCovered?this.nodes.push(new dt(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 dt&&i.updateHeight(this.oracle,r),r+=i?i.length:1;return this.nodes}static build(e,t,r,i){let s=new Ph(r,e);return fe.spans(t,r,i,s,0),s.finish(r)}}function Vw(n,e,t){let r=new zw;return fe.compare(n,e,t,r,0),r.changes}class zw{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,i){(e<t||r&&r.heightRelevant||i&&i.heightRelevant)&&kr(e,t,this.changes,5)}}function Hw(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 Ww(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 _w(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class fl{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 ie.replace({widget:new Uw(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class Uw extends en{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 Id{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=Bd,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=je.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(Ch).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Lw(t),this.stateDeco=e.facet(Li).filter(r=>typeof r!="function"),this.heightMap=nt.empty().applyChanges(this.stateDeco,ye.empty,this.heightOracle.setDoc(e.doc),[new vt(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=ie.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 fo(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?Bd:new Mh(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(hi(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(Li).filter(h=>typeof h!="function");let i=e.changedRanges,s=vt.extendWithRanges(i,Vw(r,this.stateDeco,e?e.changes:Ie.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);Rd(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Tr)&&(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(fg)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),i=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?je.RTL:je.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:P,scaleY:O}=Qm(t,a);(P>.005&&Math.abs(this.scaleX-P)>.005||O>.005&&Math.abs(this.scaleY-O)>.005)&&(this.scaleX=P,this.scaleY=O,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=Xm(e.scrollDOM);let m=(this.printing?_w:Hw)(t,this.paddingTop),g=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&&!Ww(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 P=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(P)&&(o=!0),o||i.lineWrapping&&Math.abs(k-this.contentDOMWidth)>i.charWidth){let{lineHeight:O,charWidth:M,textHeight:x}=e.docView.measureTextSize();o=O>0&&i.refresh(s,O,M,x,Math.max(5,k/M),P),o&&(e.docView.minWidth=0,c|=16)}g>0&&y>0?h=Math.max(g,y):g<0&&y<0&&(h=Math.min(g,y)),Rd();for(let O of this.viewports){let M=O.from==this.viewport.from?P:e.docView.measureVisibleLineHeights(O);this.heightMap=(o?nt.empty().applyChanges(this.stateDeco,ye.empty,this.heightOracle,[new vt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new Iw(O.from,M))}Tr&&(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 fo(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 fo(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 fo(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 fl(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!=je.LTR&&!r)return[];let a=[],l=(h,d,f,p)=>{if(d-h<s)return;let m=this.state.selection.main,g=[m.from];m.empty||g.push(m.to);for(let v of g)if(v>h&&v<d){l(h,v-10,f,p),l(v+10,d,f,p);return}let y=Gw(e,v=>v.from>=f.from&&v.to<=f.to&&Math.abs(v.from-h)<s&&Math.abs(v.to-d)<s&&!g.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(N.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 fl(h,d,v,k)}a.push(y)},c=h=>{if(h.length<o||h.type!=Ke.Text)return;let d=Kw(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 g=i/this.heightOracle.lineLength*this.heightOracle.lineHeight,y,v;if(f!=null){let k=mo(d,f),S=((this.visibleBottom-this.visibleTop)/2+g)/h.height;y=k-S,v=k+S}else y=(this.visibleTop-h.top-g)/h.height,v=(this.visibleBottom-h.top+g)/h.height;p=po(d,y),m=po(d,v)}else{let g=d.total*this.heightOracle.charWidth,y=i*this.heightOracle.charWidth,v=0;if(g>2e6)for(let M of e)M.from>=h.from&&M.from<h.to&&M.size!=M.displaySize&&M.from*this.heightOracle.charWidth+v<this.pixelViewport.left&&(v=M.size-M.displaySize);let k=this.pixelViewport.left+v,S=this.pixelViewport.right+v,P,O;if(f!=null){let M=mo(d,f),x=((S-k)/2+y)/g;P=M-x,O=M+x}else P=(k-y)/g,O=(S+y)/g;p=po(d,P),m=po(d,O)}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=mo(i,r)-mo(i,t);return this.heightOracle.lineWrapping?e.height*s:i.total*this.heightOracle.charWidth*s}updateLineGaps(e){fl.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=ie.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)||hi(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)||hi(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 hi(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 fo{constructor(e,t){this.from=e,this.to=t}}function Kw(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 po({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 mo(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 Gw(n,e){for(let t of n)if(e(t))return t}const Bd={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};class Mh{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 Mh?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 hi(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),r=e.toDOM(n.bottom);return new Dt(n.from,n.length,t,r-t,Array.isArray(n._content)?n._content.map(i=>hi(i,e)):n._content)}const go=G.define({combine:n=>n.join(" ")}),Rc=G.define({combine:n=>n.indexOf(!0)>-1}),Lc=Dn.newName(),Bg=Dn.newName(),$g=Dn.newName(),Fg={"&light":"."+Bg,"&dark":"."+$g};function Ic(n,e,t){return new Dn(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 qw=Ic("."+Lc,{"&":{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"}},Fg),Yw={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},pl=K.ie&&K.ie_version<=11;class Qw{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new P2,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);(K.ie&&K.ie_version<=11||K.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&&K.android&&e.constructor.EDIT_CONTEXT!==!1&&!(K.chrome&&K.chrome_version<126)&&(this.editContext=new Xw(e),e.state.facet(an)&&(e.contentDOM.editContext=this.editContext.editContext)),pl&&(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(an)?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}(K.ie&&K.ie_version<=11||K.android&&K.chrome)&&!r.state.selection.main.empty&&i.focusNode&&bi(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Ni(e.root);if(!t)return!1;let r=K.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Jw(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&&A2(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,Yw),pl&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),pl&&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&&Sr(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 mw(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=jg(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(an)!=e.state.facet(an)&&(e.view.contentDOM.editContext=e.state.facet(an)?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=Le.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 Fd(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 bi(o.node,o.offset,i,s)&&([t,r,i,s]=[i,s,t,r]),{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}}function Jw(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return Fd(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?Fd(n,t):null}class Xw{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=Pg(e.state.sliceDoc(a,l),r.text,(c?i.from:i.to)-a,c?"end":null);if(!h){let f=N.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:ye.of(r.text.slice(h.from,h.toB).split(`
|
|
61
|
+
`))};if((K.mac||K.android)&&d.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(d={from:a,to:l,insert:ye.of([r.text.replace("."," ")])}),this.pendingContextChange=d,!e.state.readOnly){let f=this.to-this.from+(d.to-d.from+d.insert.length);jh(e,d,N.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(ie.mark({attributes:{style:h}}).range(l,c))}}}e.dispatch({effects:mg.of(ie.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=Ni(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 W{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||M2(e.parent)||document,this.viewState=new Id(e.state||pe.create(e)),e.scrollTo&&e.scrollTo.is(co)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(pr).map(i=>new ll(i));for(let i of this.plugins)i.update(this);this.observer=new Qw(this),this.inputState=new xw(this),this.inputState.ensureHandlers(this.plugins),this.docView=new kd(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 $e?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(Eg))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=Rg(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=Zo.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 Cr(p.empty?p:N.cursor(p.head,p.head>p.anchor?-1:1))}for(let p of f.effects)p.is(co)&&(d=p.value.clip(this.state))}this.viewState.update(i,d),this.bidiCache=ra.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(li)!=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(go)!=i.state.facet(go)&&(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(Ac))try{f(i)}catch(p){at(this.state,p,"update listener")}(l||h)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),h&&!jg(this,h)&&c.force&&Sr(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 Id(e),this.plugins=e.facet(pr).map(r=>new ll(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new kd(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(pr),r=e.state.facet(pr);if(t!=r){let i=[];for(let s of r){let o=t.indexOf(s);if(o<0)i.push(new ll(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){at(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(Xm(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 at(this.state,m),Vd}}),d=Zo.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]!=Vd)try{let m=c[p];m.write&&m.write(h[p],this)}catch(m){at(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(Ac))a(t)}get themeClasses(){return Lc+" "+(this.state.facet(Rc)?$g:Bg)+" "+this.state.facet(go)}updateAttrs(){let e=zd(this,gg,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(an)?"true":"false",class:"cm-content",style:`${K.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),zd(this,Ch,t);let r=this.observer.ignore(()=>{let i=gd(this.contentDOM,this.contentAttrs,t),s=gd(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(W.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(li);let e=this.state.facet(W.cspNonce);Dn.mount(this.root,this.styleModules.concat(qw).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 dl(this,e,Sd(this,e,t,r))}moveByGroup(e,t){return dl(this,e,Sd(this,e,t,r=>hw(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 N.cursor(s.side(t,i)+e.from,s.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,r=!0){return cw(this,e,t,r)}moveVertically(e,t,r){return dl(this,e,uw(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=Nc(this,e,t);return r&&r.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Nc(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[cn.find(s,e-i.from,-1,t)];return Ei(r,o.dir==je.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(dg)||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>Zw)return ig(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||rg(s.isolates,r=xd(this,e))))return s.order;r||(r=xd(this,e));let i=I2(e.text,t,r);return this.bidiCache.push(new ra(e.from,e.to,t,r,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||K.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Jm(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 co.of(new Cr(typeof e=="number"?N.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 co.of(new Cr(N.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 Re.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Re.define(()=>({}),{eventObservers:e})}static theme(e,t){let r=Dn.newName(),i=[go.of(r),li.of(Ic(`.${r}`,e))];return t&&t.dark&&i.push(Rc.of(!0)),i}static baseTheme(e){return sr.lowest(li.of(Ic("."+Lc,e,Fg)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),i=r&&Le.get(r)||Le.get(e);return((t=i?.root)===null||t===void 0?void 0:t.view)||null}}W.styleModule=li;W.inputHandler=hg;W.clipboardInputFilter=kh;W.clipboardOutputFilter=Sh;W.scrollHandler=pg;W.focusChangeEffect=ug;W.perLineTextDirection=dg;W.exceptionSink=cg;W.updateListener=Ac;W.editable=an;W.mouseSelectionStyle=lg;W.dragMovesSelection=ag;W.clickAddsSelectionRange=og;W.decorations=Li;W.blockWrappers=bg;W.outerDecorations=yg;W.atomicRanges=Es;W.bidiIsolatedRanges=xg;W.scrollMargins=vg;W.darkTheme=Rc;W.cspNonce=G.define({combine:n=>n.length?n[0]:""});W.contentAttributes=Ch;W.editorAttributes=gg;W.lineWrapping=W.contentAttributes.of({class:"cm-lineWrapping"});W.announce=le.define();const Zw=4096,Vd={};class ra{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:je.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 ra(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return r}}function zd(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&&xh(o,t)}return t}const ek=K.mac?"mac":K.windows?"win":K.linux?"linux":"key";function tk(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 bo(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 nk=sr.default(W.domEventHandlers({keydown(n,e){return zg(Vg(e.state),n,e,"editor")}})),Aa=G.define({enables:nk}),Hd=new WeakMap;function Vg(n){let e=n.facet(Aa),t=Hd.get(e);return t||Hd.set(e,t=sk(e.reduce((r,i)=>r.concat(i),[]))),t}function rk(n,e,t){return zg(Vg(n.state),e,n,t)}let kn=null;const ik=4e3;function sk(n,e=ek){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=>tk(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 P=kn={view:S,prefix:k,scope:o};return setTimeout(()=>{kn==P&&(kn=null)},ik),!0}]})}let g=m.join(" ");i(g,!1);let y=p[g]||(p[g]={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,Bc))}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 Bc=null;function zg(n,e,t,r){Bc=e;let i=x2(e),s=it(i,0),o=Wt(s)==i.length&&i!=" ",a="",l=!1,c=!1,h=!1;kn&&kn.view==t&&kn.scope==r&&(a=kn.prefix+" ",Ag.indexOf(e.keyCode)<0&&(c=!0,kn=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,g;return p&&(f(p[a+bo(i,e,!o)])?l=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(K.windows&&e.ctrlKey&&e.altKey)&&!(K.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=Tn[e.keyCode])&&m!=i?(f(p[a+bo(m,e,!0)])||e.shiftKey&&(g=Di[e.keyCode])!=i&&g!=m&&f(p[a+bo(g,e,!1)]))&&(l=!0):o&&e.shiftKey&&f(p[a+bo(i,e,!0)])&&(l=!0),!l&&f(p._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Bc=null,l}class Rs{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=Hg(e);return[new Rs(t,i.left-s.left,i.top-s.top,null,i.bottom-i.top)]}else return ok(e,t,r)}}function Hg(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==je.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function Wd(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 ok(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==je.LTR,o=n.contentDOM,a=o.getBoundingClientRect(),l=Hg(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=Tc(n,r,1),m=Tc(n,i,-1),g=p.type==Ke.Text?p:null,y=m.type==Ke.Text?m:null;if(g&&(n.lineWrapping||p.widgetLineBreaks)&&(g=Wd(n,r,1,g)),y&&(n.lineWrapping||m.widgetLineBreaks)&&(y=Wd(n,i,-1,y)),g&&y&&g.from==y.from&&g.to==y.to)return k(S(t.from,t.to,g));{let O=g?S(t.from,null,g):P(p,!1),M=y?S(null,t.to,y):P(m,!0),x=[];return(g||p).to<(y||m).from-(g&&y?1:0)||p.widgetLineBreaks>1&&O.bottom+n.defaultLineHeight/2<M.top?x.push(v(d,O.bottom,f,M.top)):O.bottom<M.top&&n.elementAtHeight((O.bottom+M.top)/2).type==Ke.Text&&(O.bottom=M.top=(O.bottom+M.top)/2),k(O).concat(x).concat(k(M))}function v(O,M,x,D){return new Rs(e,O-l.left,M-l.top,x-O,D-M)}function k({top:O,bottom:M,horizontal:x}){let D=[];for(let T=0;T<x.length;T+=2)D.push(v(x[T],O,x[T+1],M));return D}function S(O,M,x){let D=1e9,T=-1e9,R=[];function L(_,V,J,ue,z){let q=n.coordsAtPos(_,_==x.to?-2:2),B=n.coordsAtPos(J,J==x.from?2:-2);!q||!B||(D=Math.min(q.top,B.top,D),T=Math.max(q.bottom,B.bottom,T),z==je.LTR?R.push(s&&V?d:q.left,s&&ue?f:B.right):R.push(!s&&ue?d:B.left,!s&&V?f:q.right))}let $=O??x.from,U=M??x.to;for(let _ of n.visibleRanges)if(_.to>$&&_.from<U)for(let V=Math.max(_.from,$),J=Math.min(_.to,U);;){let ue=n.state.doc.lineAt(V);for(let z of n.bidiSpans(ue)){let q=z.from+ue.from,B=z.to+ue.from;if(q>=J)break;B>V&&L(Math.max(q,V),O==null&&q<=$,Math.min(B,J),M==null&&B>=U,z.dir)}if(V=ue.to+1,V>=J)break}return R.length==0&&L($,O==null,U,M==null,n.textDirection),{top:D,bottom:T,horizontal:R}}function P(O,M){let x=a.top+(M?O.top:O.bottom);return{top:x,bottom:x,horizontal:[]}}}function ak(n,e){return n.constructor==e.constructor&&n.eq(e)}class lk{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(Vo)!=e.state.facet(Vo)&&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(Vo);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)=>!ak(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,K.safari&&K.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 Vo=G.define();function Wg(n){return[Re.define(e=>new lk(e,n)),Vo.of(n)]}const Ii=G.define({combine(n){return Zt(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function ck(n={}){return[Ii.of(n),hk,uk,dk,fg.of(!0)]}function _g(n){return n.startState.facet(Ii)!=n.state.facet(Ii)}const hk=Wg({above:!0,markers(n){let{state:e}=n,t=e.facet(Ii),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:N.cursor(i.head,i.head>i.anchor?-1:1);for(let l of Rs.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=_g(n);return t&&_d(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){_d(e.state,n)},class:"cm-cursorLayer"});function _d(n,e){e.style.animationDuration=n.facet(Ii).cursorBlinkRate+"ms"}const uk=Wg({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:Rs.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||_g(n)},class:"cm-selectionLayer"}),dk=sr.highest(W.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"}}}})),Ug=le.define({map(n,e){return n==null?null:e.mapPos(n)}}),ui=Ge.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,r)=>r.is(Ug)?r.value:t,n)}}),fk=Re.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(ui);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(ui)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(ui),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(ui)!=n&&this.view.dispatch({effects:Ug.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 pk(){return[ui,fk]}function Ud(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 mk(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 gk{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 hn,r=t.add.bind(t);for(let{from:i,to:s}of mk(e,this.maxLength))Ud(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=(g,y,v)=>f.push(v.range(g,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 Ud(e.state.doc,this.regexp,h,d,(g,y)=>this.addMatch(y,e,g,m));t=t.update({filterFrom:h,filterTo:d,filter:(g,y)=>g<h||y>d,add:f})}}return t}}const $c=/x/.unicode!=null?"gu":"g",bk=new RegExp(`[\0-\b
|
|
62
|
+
--\u2028\u2029\uFEFF-]`,$c),yk={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 ml=null;function xk(){var n;if(ml==null&&typeof document<"u"&&document.body){let e=document.body.style;ml=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return ml||!1}const zo=G.define({combine(n){let e=Zt(n,{render:null,specialChars:bk,addSpecialChars:null});return(e.replaceTabs=!xk())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,$c)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,$c)),e}});function vk(n={}){return[zo.of(n),wk()]}let Kd=null;function wk(){return Kd||(Kd=Re.fromClass(class{constructor(n){this.view=n,this.decorations=ie.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(zo)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new gk({regexp:n.specialChars,decoration:(e,t,r)=>{let{doc:i}=t.state,s=it(e[0],0);if(s==9){let o=i.lineAt(r),a=t.state.tabSize,l=Ir(o.text,a,r-o.from);return ie.replace({widget:new Ok((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=ie.replace({widget:new Ck(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(zo);n.startState.facet(zo)!=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 kk="•";function Sk(n){return n>=32?kk:n==10?"":String.fromCharCode(9216+n)}class Ck extends en{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=Sk(this.code),r=e.state.phrase("Control character")+" "+(yk[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 Ok extends en{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 jk(){return Mk}const Pk=ie.line({class:"cm-activeLine"}),Mk=Re.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(Pk.range(i.from)),e=i.from)}return ie.set(t)}},{decorations:n=>n.decorations});class Ak extends en{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?gi(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),i=Ei(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 Dk(n){let e=Re.fromClass(class{constructor(t){this.view=t,this.placeholder=n?ie.set([ie.widget({widget:new Ak(n),side:1}).range(0)]):ie.none}get decorations(){return this.view.state.doc.length?ie.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,W.contentAttributes.of({"aria-placeholder":n})]:e}const Fc=2e3;function Tk(n,e,t){let r=Math.min(e.line,t.line),i=Math.max(e.line,t.line),s=[];if(e.off>Fc||t.off>Fc||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(N.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=yc(c.text,o,n.tabSize,!0);if(h<0)s.push(N.cursor(c.to));else{let d=yc(c.text,a,n.tabSize);s.push(N.range(c.from+h,c.from+d))}}}return s}function Nk(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function Gd(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>Fc?-1:i==r.length?Nk(n,e.clientX):Ir(r.text,n.state.tabSize,t-r.from);return{line:r.number,col:s,off:i}}function Ek(n,e){let t=Gd(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=Gd(n,i);if(!a)return r;let l=Tk(n.state,t,a);return l.length?o?N.create(l.concat(r.ranges)):N.create(l):r}}:null}function Rk(n){let e=t=>t.altKey&&t.button==0;return W.mouseSelectionStyle.of((t,r)=>e(r)?Ek(t,r):null)}const Lk={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},Ik={style:"cursor: crosshair"};function Bk(n={}){let[e,t]=Lk[n.key||"Alt"],r=Re.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,W.contentAttributes.of(i=>{var s;return!((s=i.plugin(r))===null||s===void 0)&&s.isDown?Ik:null})]}const yo="-10000px";class Kg{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 $k(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const gl=G.define({combine:n=>{var e,t,r;return{position:K.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)||$k}}}),qd=new WeakMap,Ah=Re.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(gl);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 Kg(n,Dh,(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(gl);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=yo,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(K.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=Oh(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(gl).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=yo;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,g=f.right-f.left,y=(e=qd.get(c))!==null&&e!==void 0?e:f.bottom-f.top,v=c.offset||Vk,k=this.view.textDirection==je.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-g)):Math.min(Math.max(r.left,d.left-g+(p?14:0)-v.x),r.right-g),P=this.above[a];!l.strictSide&&(P?d.top-y-m-v.y<r.top:d.bottom+y+m+v.y>r.bottom)&&P==r.bottom-d.bottom>d.top-r.top&&(P=this.above[a]=!P);let O=(P?d.top-r.top:r.bottom-d.bottom)-m;if(O<y&&c.resize!==!1){if(O<this.view.defaultLineHeight){h.style.top=yo;continue}qd.set(c,y),h.style.height=(y=O)/s+"px"}else h.style.height&&(h.style.height="");let M=P?d.top-y-m-v.y:d.bottom+m+v.y,x=S+g;if(c.overlap!==!0)for(let D of o)D.left<x&&D.right>S&&D.top<M+y&&D.bottom>M&&(M=P?D.top-y-2-m:D.bottom+m+2);if(this.position=="absolute"?(h.style.top=(M-n.parent.top)/s+"px",Yd(h,(S-n.parent.left)/i)):(h.style.top=M/s+"px",Yd(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:M,right:x,bottom:M+y}),h.classList.toggle("cm-tooltip-above",P),h.classList.toggle("cm-tooltip-below",!P),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=yo}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Yd(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const Fk=W.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"}}}),Vk={x:0,y:0},Dh=G.define({enables:[Ah,Fk]}),ia=G.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class Da{static create(e){return new Da(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Kg(e,ia,(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 zk=Dh.compute([ia],n=>{let e=n.facet(ia);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:Da.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class Hk{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==je.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=>at(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(Ah),t=e?e.manager.tooltips.findIndex(r=>r.create==Da.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&&!Wk(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:!_k(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 xo=4;function Wk(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-xo&&e.clientX<=r+xo&&e.clientY>=i-xo&&e.clientY<=s+xo}function _k(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 Uk(n,e={}){let t=le.define(),r=Ge.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,tt.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(Kk)&&(i=[]);return i},provide:i=>ia.from(i)});return{active:r,extension:[r,Re.define(i=>new Hk(i,n,r,t,e.hoverTime||300)),zk]}}function Gg(n,e){let t=n.plugin(Ah);if(!t)return null;let r=t.manager.tooltips.indexOf(e);return r<0?null:t.manager.tooltipViews[r]}const Kk=le.define(),Qd=G.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 Bi(n,e){let t=n.plugin(qg),r=t?t.specs.indexOf(e):-1;return r>-1?t.panels[r]:null}const qg=Re.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(Qd);this.top=new vo(n,!0,e.topContainer),this.bottom=new vo(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(Qd);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new vo(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new vo(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=>W.scrollMargins.of(e=>{let t=e.plugin(n);return t&&{top:t.top.scrollMargin(),bottom:t.bottom.scrollMargin()}})});class vo{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=Jd(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Jd(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 Jd(n){let e=n.nextSibling;return n.remove(),e}const $i=G.define({enables:qg});class dn extends An{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}dn.prototype.elementClass="";dn.prototype.toDOM=void 0;dn.prototype.mapMode=tt.TrackBefore;dn.prototype.startSide=dn.prototype.endSide=-1;dn.prototype.point=!0;const Ho=G.define(),Gk=G.define(),qk={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>fe.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},xi=G.define();function Yk(n){return[Yg(),xi.of({...qk,...n})]}const Xd=G.define({combine:n=>n.some(e=>e)});function Yg(n){return[Qk]}const Qk=Re.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(xi).map(e=>new ef(n,e)),this.fixed=!n.state.facet(Xd);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(Xd)!=!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(Ho),this.view.viewport.from),r=[],i=this.gutters.map(s=>new Jk(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==Ke.Text&&o){Vc(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==Ke.Text){Vc(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(xi),t=n.state.facet(xi),r=n.docChanged||n.heightChanged||n.viewportChanged||!fe.eq(n.startState.facet(Ho),n.state.facet(Ho),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 ef(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=>W.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==je.LTR?{left:r,right:i}:{right:r,left:i}})});function Zd(n){return Array.isArray(n)?n:[n]}function Vc(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class Jk{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 Qg(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=[];Vc(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(Gk)){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 ef{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=Zd(t.markers(e)),t.initialSpacer&&(this.spacer=new Qg(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=Zd(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 Qg{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":""),Xk(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 Xk(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 Zk=G.define(),e3=G.define(),mr=G.define({combine(n){return Zt(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 bl extends dn{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function yl(n,e){return n.state.facet(mr).formatNumber(e,n.state)}const t3=xi.compute([mr],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(Zk)},lineMarker(e,t,r){return r.some(i=>i.toDOM)?null:new bl(yl(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,r)=>{for(let i of e.state.facet(e3)){let s=i(e,t,r);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(mr)!=e.state.facet(mr),initialSpacer(e){return new bl(yl(e,tf(e.state.doc.lines)))},updateSpacer(e,t){let r=yl(t.view,tf(t.view.state.doc.lines));return r==e.number?e:new bl(r)},domEventHandlers:n.facet(mr).domEventHandlers,side:"before"}));function n3(n={}){return[mr.of(n),Yg(),t3]}function tf(n){let e=9;for(;e<n;)e=e*10+9;return e}const r3=new class extends dn{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},i3=Ho.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(r3.range(i)))}return fe.of(e)});function s3(){return i3}var xl;const gr=new de;function o3(n){return G.define({combine:n?e=>e.concat(n):void 0})}const a3=new de;class Nt{constructor(e,t,r=[],i=""){this.data=e,this.name=i,pe.prototype.hasOwnProperty("tree")||Object.defineProperty(pe.prototype,"tree",{get(){return Je(this)}}),this.parser=t,this.extension=[En.of(this),pe.languageData.of((s,o,a)=>{let l=nf(s,o,a),c=l.type.prop(gr);if(!c)return[];let h=s.facet(c),d=l.type.prop(a3);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 nf(e,t,r).type.prop(gr)==this.data}findRegions(e){let t=e.facet(En);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(gr)==this.data){r.push({from:o,to:o+s.length});return}let a=s.prop(de.mounted);if(a){if(a.tree.prop(gr)==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 Ee&&i(c,s.positions[l]+o)}};return i(Je(e),0),r}get allowsNesting(){return!0}}Nt.setState=le.define();function nf(n,e,t){let r=n.facet(En),i=Je(n).topNode;if(!r||r.allowsNesting)for(let s=i;s;s=s.enter(e,t,De.ExcludeBuffers|De.EnterBracketed))s.type.isTop&&(i=s);return i}class sa extends Nt{constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=o3(e.languageData);return new sa(t,e.parser.configure({props:[gr.add(r=>r.isTop?t:void 0)]}),e.name)}configure(e,t){return new sa(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Je(n){let e=n.field(Nt.state,!1);return e?e.tree:Ee.empty}class l3{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 ni=null;class oa{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 oa(e,t,[],Ee.empty,0,r,[],null)}startParse(){return this.parser.startParse(new l3(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Ee.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(Xn.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(Xn.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=ni;ni=this;try{return e()}finally{ni=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=rf(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=Xn.applyChanges(r,l),i=Ee.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 oa(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=rf(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 Om{createParse(t,r,i){let s=i[0].from,o=i[i.length-1].to;return{parsedPos:s,advance(){let l=ni;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 Ee(ct.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 ni}}function rf(n,e,t){return Xn.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}class Nr{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 Nr(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=oa.create(e.facet(En).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new Nr(r)}}Nt.state=Ge.define({create:Nr.init,update(n,e){for(let t of e.effects)if(t.is(Nt.setState))return t.value;return e.startState.facet(En)!=e.state.facet(En)?Nr.init(e.state):n.apply(e)}});let Jg=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Jg=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const vl=typeof navigator<"u"&&(!((xl=navigator.scheduling)===null||xl===void 0)&&xl.isInputPending)?()=>navigator.scheduling.isInputPending():null,c3=Re.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(Nt.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(Nt.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=Jg(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(Nt.state);if(s.tree==s.context.tree&&s.context.isDone(i+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!vl?Math.max(25,e.timeRemaining()-5):1e9),a=s.context.treeLen<i&&r.doc.length>i+1e3,l=s.context.work(()=>vl&&vl()||Date.now()>o,i+(a?0:1e5));this.chunkBudget-=Date.now()-t,(l||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Nt.setState.of(new Nr(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=>at(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()}}}),En=G.define({combine(n){return n.length?n[0]:null},enables:n=>[Nt.state,c3,W.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class h3{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const u3=G.define(),Ta=G.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 aa(n){let e=n.facet(Ta);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Fi(n,e){let t="",r=n.tabSize,i=n.facet(Ta)[0];if(i==" "){for(;e>=r;)t+=" ",e-=r;i=" "}for(let s=0;s<e;s++)t+=i;return t}function Th(n,e){n instanceof pe&&(n=new Na(n));for(let r of n.state.facet(u3)){let i=r(n,e);if(i!==void 0)return i}let t=Je(n.state);return t.length>=e?d3(n,t,e):null}class Na{constructor(e,t={}){this.state=e,this.options=t,this.unit=aa(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 Ir(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 Xg=new de;function d3(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 Zg(r,n,t)}function Zg(n,e,t){for(let r=n;r;r=r.next){let i=p3(r.node);if(i)return i(Nh.create(e,t,r))}return 0}function f3(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function p3(n){let e=n.type.prop(Xg);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=>y3(o,!0,1,void 0,s&&!f3(o)?i.from:void 0)}return n.parent==null?m3:null}function m3(){return 0}class Nh extends Na{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 Nh(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(g3(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return Zg(this.context.next,this.base,this.pos)}}function g3(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function b3(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 y3(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=b3(n);return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}function sf({except:n,units:e=1}={}){return t=>{let r=n&&n.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}const x3=200;function v3(){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+x3)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=Th(o,h.from);if(d==null)continue;let f=/^\s*/.exec(h.text)[0],p=Fi(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 w3=G.define(),e0=new de;function k3(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 S3(n,e,t){let r=Je(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(e0);if(l&&(a.to<r.length-50||r.length==n.doc.length||!C3(a))){let c=l(a,n);c&&c.from<=t&&c.from>=e&&c.to>t&&(s=c)}}return s}function C3(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function la(n,e,t){for(let r of n.facet(w3)){let i=r(n,e,t);if(i)return i}return S3(n,e,t)}function t0(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 Ea=le.define({map:t0}),Ls=le.define({map:t0});function n0(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 nr=Ge.define({create(){return ie.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,r)=>n=of(n,t,r)),n=n.map(e.changes);for(let t of e.effects)if(t.is(Ea)&&!O3(n,t.value.from,t.value.to)){let{preparePlaceholder:r}=e.state.facet(s0),i=r?ie.replace({widget:new N3(r(e.state,t.value))}):af;n=n.update({add:[i.range(t.value.from,t.value.to)]})}else t.is(Ls)&&(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=of(n,e.selection.main.head)),n},provide:n=>W.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(af.range(r,i))}return ie.set(e,!0)}});function of(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 ca(n,e,t){var r;let i=null;return(r=n.field(nr,!1))===null||r===void 0||r.between(e,t,(s,o)=>{(!i||i.from>s)&&(i={from:s,to:o})}),i}function O3(n,e,t){let r=!1;return n.between(e,e,(i,s)=>{i==e&&s==t&&(r=!0)}),r}function r0(n,e){return n.field(nr,!1)?e:e.concat(le.appendConfig.of(o0()))}const j3=n=>{for(let e of n0(n)){let t=la(n.state,e.from,e.to);if(t)return n.dispatch({effects:r0(n.state,[Ea.of(t),i0(n,t)])}),!0}return!1},P3=n=>{if(!n.state.field(nr,!1))return!1;let e=[];for(let t of n0(n)){let r=ca(n.state,t.from,t.to);r&&e.push(Ls.of(r),i0(n,r,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function i0(n,e,t=!0){let r=n.state.doc.lineAt(e.from).number,i=n.state.doc.lineAt(e.to).number;return W.announce.of(`${n.state.phrase(t?"Folded lines":"Unfolded lines")} ${r} ${n.state.phrase("to")} ${i}.`)}const M3=n=>{let{state:e}=n,t=[];for(let r=0;r<e.doc.length;){let i=n.lineBlockAt(r),s=la(e,i.from,i.to);s&&t.push(Ea.of(s)),r=(s?n.lineBlockAt(s.to):i).to+1}return t.length&&n.dispatch({effects:r0(n.state,t)}),!!t.length},A3=n=>{let e=n.state.field(nr,!1);if(!e||!e.size)return!1;let t=[];return e.between(0,n.state.doc.length,(r,i)=>{t.push(Ls.of({from:r,to:i}))}),n.dispatch({effects:t}),!0},D3=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:j3},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:P3},{key:"Ctrl-Alt-[",run:M3},{key:"Ctrl-Alt-]",run:A3}],T3={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},s0=G.define({combine(n){return Zt(n,T3)}});function o0(n){return[nr,L3]}function a0(n,e){let{state:t}=n,r=t.facet(s0),i=o=>{let a=n.lineBlockAt(n.posAtDOM(o.target)),l=ca(n.state,a.from,a.to);l&&n.dispatch({effects:Ls.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 af=ie.replace({widget:new class extends en{toDOM(n){return a0(n,null)}}});class N3 extends en{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return a0(e,this.value)}}const E3={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class wl extends dn{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 R3(n={}){let e={...E3,...n},t=new wl(e,!0),r=new wl(e,!1),i=Re.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet(En)!=o.state.facet(En)||o.startState.field(nr,!1)!=o.state.field(nr,!1)||Je(o.startState)!=Je(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let a=new hn;for(let l of o.viewportLineBlocks){let c=ca(o.state,l.from,l.to)?r:la(o.state,l.from,l.to)?t:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:s}=e;return[i,Yk({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 wl(e,!1)},domEventHandlers:{...s,click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let c=ca(o.state,a.from,a.to);if(c)return o.dispatch({effects:Ls.of(c)}),!0;let h=la(o.state,a.from,a.to);return h?(o.dispatch({effects:Ea.of(h)}),!0):!1}}}),o0()]}const L3=W.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 Br{constructor(e,t){this.specs=e;let r;function i(a){let l=Dn.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 Nt?a=>a.prop(gr)==o.data:o?a=>a==o:void 0,this.style=Mm(e.map(a=>({tag:a.tag,class:a.class||i(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=r?new Dn(r):null,this.themeType=t.themeType}static define(e,t){return new Br(e,t||{})}}const zc=G.define(),l0=G.define({combine(n){return n.length?[n[0]]:null}});function kl(n){let e=n.facet(zc);return e.length?e:n.facet(l0)}function Eh(n,e){let t=[B3],r;return n instanceof Br&&(n.module&&t.push(W.styleModule.of(n.module)),r=n.themeType),e?.fallback?t.push(l0.of(n)):r?t.push(zc.computeN([W.darkTheme],i=>i.facet(W.darkTheme)==(r=="dark")?[n]:[])):t.push(zc.of(n)),t}class I3{constructor(e){this.markCache=Object.create(null),this.tree=Je(e.state),this.decorations=this.buildDeco(e,kl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=Je(e.state),r=kl(e.state),i=r!=kl(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 ie.none;let r=new hn;for(let{from:i,to:s}of e.visibleRanges)Kv(this.tree,t,(o,a,l)=>{r.add(o,a,this.markCache[l]||(this.markCache[l]=ie.mark({class:l})))},i,s);return r.finish()}}const B3=sr.high(Re.fromClass(I3,{decorations:n=>n.decorations})),$3=Br.define([{tag:A.meta,color:"#404740"},{tag:A.link,textDecoration:"underline"},{tag:A.heading,textDecoration:"underline",fontWeight:"bold"},{tag:A.emphasis,fontStyle:"italic"},{tag:A.strong,fontWeight:"bold"},{tag:A.strikethrough,textDecoration:"line-through"},{tag:A.keyword,color:"#708"},{tag:[A.atom,A.bool,A.url,A.contentSeparator,A.labelName],color:"#219"},{tag:[A.literal,A.inserted],color:"#164"},{tag:[A.string,A.deleted],color:"#a11"},{tag:[A.regexp,A.escape,A.special(A.string)],color:"#e40"},{tag:A.definition(A.variableName),color:"#00f"},{tag:A.local(A.variableName),color:"#30a"},{tag:[A.typeName,A.namespace],color:"#085"},{tag:A.className,color:"#167"},{tag:[A.special(A.variableName),A.macroName],color:"#256"},{tag:A.definition(A.propertyName),color:"#00c"},{tag:A.comment,color:"#940"},{tag:A.invalid,color:"#f00"}]),F3=W.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),c0=1e4,h0="()[]{}",u0=G.define({combine(n){return Zt(n,{afterCursor:!0,brackets:h0,maxScanDistance:c0,renderMatch:H3})}}),V3=ie.mark({class:"cm-matchingBracket"}),z3=ie.mark({class:"cm-nonmatchingBracket"});function H3(n){let e=[],t=n.matched?V3:z3;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 W3=Ge.define({create(){return ie.none},update(n,e){if(!e.docChanged&&!e.selection)return n;let t=[],r=e.state.facet(u0);for(let i of e.state.selection.ranges){if(!i.empty)continue;let s=Ut(e.state,i.head,-1,r)||i.head>0&&Ut(e.state,i.head-1,1,r)||r.afterCursor&&(Ut(e.state,i.head,1,r)||i.head<e.state.doc.length&&Ut(e.state,i.head+1,-1,r));s&&(t=t.concat(r.renderMatch(s,e.state)))}return ie.set(t,!0)},provide:n=>W.decorations.from(n)}),_3=[W3,F3];function U3(n={}){return[u0.of(n),_3]}const K3=new de;function Hc(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 Wc(n){let e=n.type.prop(K3);return e?e(n.node):n}function Ut(n,e,t,r={}){let i=r.maxScanDistance||c0,s=r.brackets||h0,o=Je(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=Hc(l.type,t,s);if(c&&l.from<l.to){let h=Wc(l);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return G3(n,e,t,l,h,c,s)}}return q3(n,e,t,o,a.type,i,s)}function G3(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=Wc(h);return{start:l,end:d?{from:d.from,to:d.to}:void 0,matched:!0}}else if(Hc(h.type,t,o))c++;else if(Hc(h.type,-t,o)){if(c==0){let d=Wc(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 q3(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 g=t>0?0:p.length-1,y=t>0?p.length:-1;g!=y;g+=t){let v=o.indexOf(p[g]);if(!(v<0||r.resolveInner(m+g,1).type!=i))if(v%2==0==t>0)d++;else{if(d==1)return{start:c,end:{from:m+g,to:m+g+1},matched:v>>1==l>>1};d--}}t>0&&(f+=p.length)}return h.done?{start:c,matched:!1}:null}const Y3=Object.create(null),lf=[ct.none],cf=[],hf=Object.create(null),Q3=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"]])Q3[n]=J3(Y3,e);function Sl(n,e){cf.indexOf(n)>-1||(cf.push(n),console.warn(e))}function J3(n,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=n[c]||A[c];h?typeof h=="function"?l.length?l=l.map(h):Sl(c,`Modifier ${c} used at start of tag`):l.length?Sl(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:Sl(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=hf[i];if(s)return s.id;let o=hf[i]=ct.define({id:lf.length,name:r,props:[jm({[r]:t})]});return lf.push(o),o.id}je.RTL,je.LTR;const X3=sa.define({name:"json",parser:Qv.configure({props:[Xg.add({Object:sf({except:/^\s*\}/}),Array:sf({except:/^\s*\]/})}),e0.add({"Object Array":k3})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Z3(){return new h3(X3)}function _c(){return _c=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},_c.apply(null,arguments)}function eS(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 tS=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),r=Lh(n.state,t.from);return r.line?nS(n):r.block?iS(n):!1};function Rh(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 nS=Rh(aS,0),rS=Rh(d0,0),iS=Rh((n,e)=>d0(n,e,oS(e)),0);function Lh(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const ri=50;function sS(n,{open:e,close:t},r,i){let s=n.sliceDoc(r-ri,r),o=n.sliceDoc(i,i+ri),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*ri?h=d=n.sliceDoc(r,i):(h=n.sliceDoc(r,r+ri),d=n.sliceDoc(i-ri,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 oS(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 d0(n,e,t=e.selection.ranges){let r=t.map(s=>Lh(e,s.from).block);if(!r.every(s=>s))return null;let i=t.map((s,o)=>sS(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 aS(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=Lh(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 Uc=Xt.define(),lS=Xt.define(),cS=G.define(),f0=G.define({combine(n){return Zt(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)})}}),p0=Ge.define({create(){return Kt.empty},update(n,e){let t=e.state.facet(f0),r=e.annotation(Uc);if(r){let l=lt.fromTransaction(e,r.selection),c=r.side,h=c==0?n.undone:n.done;return l?h=ha(h,h.length,t.minDepth,l):h=b0(h,e.startState.selection),new Kt(c==0?r.rest:h,c==0?h:r.rest)}let i=e.annotation(lS);if((i=="full"||i=="before")&&(n=n.isolate()),e.annotation($e.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let s=lt.fromTransaction(e),o=e.annotation($e.time),a=e.annotation($e.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 Kt(n.done.map(lt.fromJSON),n.undone.map(lt.fromJSON))}});function hS(n={}){return[p0,f0.of(n),W.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?m0:e.inputType=="historyRedo"?Kc:null;return r?(e.preventDefault(),r(t)):!1}})]}function Ra(n,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let i=t.field(p0,!1);if(!i)return!1;let s=i.pop(n,t,e);return s?(r(s),!0):!1}}const m0=Ra(0,!1),Kc=Ra(1,!1),uS=Ra(0,!0),dS=Ra(1,!0);class lt{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 lt(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 lt(e.changes&&Ie.fromJSON(e.changes),[],e.mapped&&qt.fromJSON(e.mapped),e.startSelection&&N.fromJSON(e.startSelection),e.selectionsAfter.map(N.fromJSON))}static fromTransaction(e,t){let r=wt;for(let i of e.startState.facet(cS)){let s=i(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new lt(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,wt)}static selection(e){return new lt(void 0,wt,void 0,void 0,e)}}function ha(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 fS(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 pS(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function g0(n,e){return n.length?e.length?n.concat(e):n:e}const wt=[],mS=200;function b0(n,e){if(n.length){let t=n[n.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-mS));return r.length&&r[r.length-1].eq(e)?n:(r.push(e),ha(n,n.length-1,1e9,t.setSelAfter(r)))}else return[lt.selection([e])]}function gS(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 Cl(n,e){if(!n.length)return n;let t=n.length,r=wt;for(;t;){let i=bS(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?[lt.selection(r)]:wt}function bS(n,e,t){let r=g0(n.selectionsAfter.length?n.selectionsAfter.map(a=>a.map(e)):wt,t);if(!n.changes)return lt.selection(r);let i=n.changes.map(e),s=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(s):s;return new lt(i,le.mapEffects(n.effects,e),o,n.startSelection.map(s),r)}const yS=/^(input\.type|delete)($|\.)/;class Kt{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 Kt(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||yS.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime<i.newGroupDelay&&i.joinToEvent(s,fS(a.changes,e.changes))||r=="input.type.compose")?o=ha(o,o.length-1,i.minDepth,new lt(e.changes.compose(a.changes),g0(le.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,wt)):o=ha(o,o.length,i.minDepth,e),new Kt(o,wt,t,r)}addSelection(e,t,r,i){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:wt;return s.length>0&&t-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&pS(s[s.length-1],e)?this:new Kt(b0(this.done,e),this.undone,t,r)}addMapping(e){return new Kt(Cl(this.done,e),Cl(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:Uc.of({side:e,rest:gS(i),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let a=i.length==1?wt:i.slice(0,i.length-1);return s.mapped&&(a=Cl(a,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Uc.of({side:e,rest:a,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Kt.empty=new Kt(wt,wt);const xS=[{key:"Mod-z",run:m0,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Kc,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Kc,preventDefault:!0},{key:"Mod-u",run:uS,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:dS,preventDefault:!0}];function $r(n,e){return N.create(n.ranges.map(e),n.mainIndex)}function Rt(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Lt({state:n,dispatch:e},t){let r=$r(n.selection,t);return r.eq(n.selection,!0)?!1:(e(Rt(n,r)),!0)}function La(n,e){return N.cursor(e?n.to:n.from)}function y0(n,e){return Lt(n,t=>t.empty?n.moveByChar(t,e):La(t,e))}function Xe(n){return n.textDirectionAt(n.state.selection.main.head)==je.LTR}const x0=n=>y0(n,!Xe(n)),v0=n=>y0(n,Xe(n));function w0(n,e){return Lt(n,t=>t.empty?n.moveByGroup(t,e):La(t,e))}const vS=n=>w0(n,!Xe(n)),wS=n=>w0(n,Xe(n));function kS(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 Ia(n,e,t){let r=Je(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;kS(n,c,i)?r=c:l=t?c.to:c.from}let s=r.type.prop(i),o,a;return s&&(o=t?Ut(n,r.from,1):Ut(n,r.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?r.to:r.from,N.cursor(a,t?-1:1)}const SS=n=>Lt(n,e=>Ia(n.state,e,!Xe(n))),CS=n=>Lt(n,e=>Ia(n.state,e,Xe(n)));function k0(n,e){return Lt(n,t=>{if(!t.empty)return La(t,e);let r=n.moveVertically(t,e);return r.head!=t.head?r:n.moveToLineBoundary(t,e)})}const S0=n=>k0(n,!1),C0=n=>k0(n,!0);function O0(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,r=0,i;if(e){for(let s of n.state.facet(W.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 j0(n,e){let t=O0(n),{state:r}=n,i=$r(r.selection,o=>o.empty?n.moveVertically(o,e,t.height):La(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=W.scrollIntoView(i.main.head,{y:"start",yMargin:o.top-l}))}return n.dispatch(Rt(r,i),{effects:s}),!0}const uf=n=>j0(n,!1),Gc=n=>j0(n,!0);function Ln(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=N.cursor(r.from+s))}return i}const OS=n=>Lt(n,e=>Ln(n,e,!0)),jS=n=>Lt(n,e=>Ln(n,e,!1)),PS=n=>Lt(n,e=>Ln(n,e,!Xe(n))),MS=n=>Lt(n,e=>Ln(n,e,Xe(n))),AS=n=>Lt(n,e=>N.cursor(n.lineBlockAt(e.head).from,1)),DS=n=>Lt(n,e=>N.cursor(n.lineBlockAt(e.head).to,-1));function TS(n,e,t){let r=!1,i=$r(n.selection,s=>{let o=Ut(n,s.head,-1)||Ut(n,s.head,1)||s.head>0&&Ut(n,s.head-1,1)||s.head<n.doc.length&&Ut(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 N.cursor(a)});return r?(e(Rt(n,i)),!0):!1}const NS=({state:n,dispatch:e})=>TS(n,e);function Mt(n,e){let t=$r(n.state.selection,r=>{let i=e(r);return N.range(r.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch(Rt(n.state,t)),!0)}function P0(n,e){return Mt(n,t=>n.moveByChar(t,e))}const M0=n=>P0(n,!Xe(n)),A0=n=>P0(n,Xe(n));function D0(n,e){return Mt(n,t=>n.moveByGroup(t,e))}const ES=n=>D0(n,!Xe(n)),RS=n=>D0(n,Xe(n)),LS=n=>Mt(n,e=>Ia(n.state,e,!Xe(n))),IS=n=>Mt(n,e=>Ia(n.state,e,Xe(n)));function T0(n,e){return Mt(n,t=>n.moveVertically(t,e))}const N0=n=>T0(n,!1),E0=n=>T0(n,!0);function R0(n,e){return Mt(n,t=>n.moveVertically(t,e,O0(n).height))}const df=n=>R0(n,!1),ff=n=>R0(n,!0),BS=n=>Mt(n,e=>Ln(n,e,!0)),$S=n=>Mt(n,e=>Ln(n,e,!1)),FS=n=>Mt(n,e=>Ln(n,e,!Xe(n))),VS=n=>Mt(n,e=>Ln(n,e,Xe(n))),zS=n=>Mt(n,e=>N.cursor(n.lineBlockAt(e.head).from)),HS=n=>Mt(n,e=>N.cursor(n.lineBlockAt(e.head).to)),pf=({state:n,dispatch:e})=>(e(Rt(n,{anchor:0})),!0),mf=({state:n,dispatch:e})=>(e(Rt(n,{anchor:n.doc.length})),!0),gf=({state:n,dispatch:e})=>(e(Rt(n,{anchor:n.selection.main.anchor,head:0})),!0),bf=({state:n,dispatch:e})=>(e(Rt(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),WS=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),_S=({state:n,dispatch:e})=>{let t=Ba(n).map(({from:r,to:i})=>N.range(r,Math.min(i+1,n.doc.length)));return e(n.update({selection:N.create(t),userEvent:"select"})),!0},US=({state:n,dispatch:e})=>{let t=$r(n.selection,r=>{let i=Je(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 N.range(a.to,a.from)}return r});return t.eq(n.selection)?!1:(e(Rt(n,t)),!0)};function L0(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(Rt(t,N.create(i,i.length-1))),!0)}const KS=n=>L0(n,!1),GS=n=>L0(n,!0),qS=({state:n,dispatch:e})=>{let t=n.selection,r=null;return t.ranges.length>1?r=N.create([t.main]):t.main.empty||(r=N.create([N.cursor(t.main.head)])),r?(e(Rt(n,r)),!0):!1};function Is(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=wo(n,l,!1)):l>o&&(t="delete.forward",l=wo(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=wo(n,o,!1),a=wo(n,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:N.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"?W.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function wo(n,e,t){if(n instanceof W)for(let r of n.state.facet(W.atomicRanges).map(i=>i(n)))r.between(e,e,(i,s)=>{i<e&&s>e&&(e=t?s:i)});return e}const I0=(n,e,t)=>Is(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=Ir(a,s.tabSize),h=c%aa(s)||aa(s);for(let d=0;d<h&&a[a.length-1-d]==" ";d++)i--;l=i}else l=Be(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=Be(o.text,l-o.from,!1,!1)+o.from);return l}),qc=n=>I0(n,!1,!0),B0=n=>I0(n,!0,!1),$0=(n,e)=>Is(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=Be(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}),F0=n=>$0(n,!1),YS=n=>$0(n,!0),QS=n=>Is(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),JS=n=>Is(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),XS=n=>Is(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),ZS=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:ye.of(["",""])},range:N.cursor(r.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},e4=({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:Be(s.text,i-s.from,!1)+s.from,a=i==s.to?i+1:Be(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:N.cursor(a)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ba(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 V0(n,e,t){if(n.readOnly)return!1;let r=[],i=[];for(let s of Ba(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(N.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(N.range(l.anchor-a,l.head-a))}}return r.length?(e(n.update({changes:r,scrollIntoView:!0,selection:N.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const t4=({state:n,dispatch:e})=>V0(n,e,!1),n4=({state:n,dispatch:e})=>V0(n,e,!0);function z0(n,e,t){if(n.readOnly)return!1;let r=[];for(let s of Ba(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 r4=({state:n,dispatch:e})=>z0(n,e,!1),i4=({state:n,dispatch:e})=>z0(n,e,!0),s4=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(Ba(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 o4(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=Je(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 yf=H0(!1),a4=H0(!0);function H0(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&&o4(e,s);n&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new Na(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=Th(c,s);for(h==null&&(h=Ir(/^\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=["",Fi(e,h)];return l&&d.push(Fi(e,c.lineIndent(a.from,-1))),{changes:{from:s,to:o,insert:ye.of(d)},range:N.cursor(s+1+d[1].length)}});return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Ih(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:N.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}const l4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),r=new Na(n,{overrideIndentation:s=>{let o=t[s];return o??-1}}),i=Ih(n,(s,o,a)=>{let l=Th(r,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=Fi(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},W0=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Ih(n,(t,r)=>{r.push({from:t.from,insert:n.facet(Ta)})}),{userEvent:"input.indent"})),!0),_0=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Ih(n,(t,r)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let s=Ir(i,n.tabSize),o=0,a=Fi(n,Math.max(0,s-aa(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),c4=n=>(n.setTabFocusMode(),!0),h4=[{key:"Ctrl-b",run:x0,shift:M0,preventDefault:!0},{key:"Ctrl-f",run:v0,shift:A0},{key:"Ctrl-p",run:S0,shift:N0},{key:"Ctrl-n",run:C0,shift:E0},{key:"Ctrl-a",run:AS,shift:zS},{key:"Ctrl-e",run:DS,shift:HS},{key:"Ctrl-d",run:B0},{key:"Ctrl-h",run:qc},{key:"Ctrl-k",run:QS},{key:"Ctrl-Alt-h",run:F0},{key:"Ctrl-o",run:ZS},{key:"Ctrl-t",run:e4},{key:"Ctrl-v",run:Gc}],u4=[{key:"ArrowLeft",run:x0,shift:M0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:vS,shift:ES,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:PS,shift:FS,preventDefault:!0},{key:"ArrowRight",run:v0,shift:A0,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:wS,shift:RS,preventDefault:!0},{mac:"Cmd-ArrowRight",run:MS,shift:VS,preventDefault:!0},{key:"ArrowUp",run:S0,shift:N0,preventDefault:!0},{mac:"Cmd-ArrowUp",run:pf,shift:gf},{mac:"Ctrl-ArrowUp",run:uf,shift:df},{key:"ArrowDown",run:C0,shift:E0,preventDefault:!0},{mac:"Cmd-ArrowDown",run:mf,shift:bf},{mac:"Ctrl-ArrowDown",run:Gc,shift:ff},{key:"PageUp",run:uf,shift:df},{key:"PageDown",run:Gc,shift:ff},{key:"Home",run:jS,shift:$S,preventDefault:!0},{key:"Mod-Home",run:pf,shift:gf},{key:"End",run:OS,shift:BS,preventDefault:!0},{key:"Mod-End",run:mf,shift:bf},{key:"Enter",run:yf,shift:yf},{key:"Mod-a",run:WS},{key:"Backspace",run:qc,shift:qc,preventDefault:!0},{key:"Delete",run:B0,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:F0,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:YS,preventDefault:!0},{mac:"Mod-Backspace",run:JS,preventDefault:!0},{mac:"Mod-Delete",run:XS,preventDefault:!0}].concat(h4.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),d4=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:SS,shift:LS},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:CS,shift:IS},{key:"Alt-ArrowUp",run:t4},{key:"Shift-Alt-ArrowUp",run:r4},{key:"Alt-ArrowDown",run:n4},{key:"Shift-Alt-ArrowDown",run:i4},{key:"Mod-Alt-ArrowUp",run:KS},{key:"Mod-Alt-ArrowDown",run:GS},{key:"Escape",run:qS},{key:"Mod-Enter",run:a4},{key:"Alt-l",mac:"Ctrl-l",run:_S},{key:"Mod-i",run:US,preventDefault:!0},{key:"Mod-[",run:_0},{key:"Mod-]",run:W0},{key:"Mod-Alt-\\",run:l4},{key:"Shift-Mod-k",run:s4},{key:"Shift-Mod-\\",run:NS},{key:"Mod-/",run:tS},{key:"Alt-A",run:rS},{key:"Ctrl-m",mac:"Shift-Alt-m",run:c4}].concat(u4),f4={key:"Tab",run:W0,shift:_0},xf=typeof String.prototype.normalize=="function"?n=>n.normalize("NFKD"):n=>n;class Er{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(xf(a)):xf,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 it(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=ph(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Wt(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"&&(Er.prototype[Symbol.iterator]=function(){return this});const U0={from:-1,to:-1,match:/.*/.exec("")},Bh="gm"+(/x/.unicode==null?"":"u");class K0{constructor(e,t,r,i=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=U0,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new G0(e,t,r,i,s);this.re=new RegExp(t,Bh+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let o=e.lineAt(i);this.curLineStart=o.from,this.matchPos=ua(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=ua(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 Ol=new WeakMap;class Or{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,r){let i=Ol.get(e);if(!i||i.from>=r||i.to<=t){let a=new Or(t,e.sliceString(t,r));return Ol.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)),Ol.set(e,new Or(o,s)),new Or(t,s.slice(t-o,r-o))}}class G0{constructor(e,t,r,i,s){this.text=e,this.to=s,this.done=!1,this.value=U0,this.matchPos=ua(e,i),this.re=new RegExp(t,Bh+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=Or.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=ua(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Or.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(K0.prototype[Symbol.iterator]=G0.prototype[Symbol.iterator]=function(){return this});function p4(n){try{return new RegExp(n,Bh),!0}catch{return!1}}function ua(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 Yc(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:vi.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:vi.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))),g=N.cursor(m.from+Math.max(0,Math.min(f,m.length)));n.dispatch({effects:[vi.of(!1),W.scrollIntoView(g.from,{y:"center"})],selection:g}),n.focus()}return{dom:r}}const vi=le.define(),vf=Ge.define({create(){return!0},update(n,e){for(let t of e.effects)t.is(vi)&&(n=t.value);return n},provide:n=>$i.from(n,e=>e?Yc:null)}),m4=n=>{let e=Bi(n,Yc);if(!e){let t=[vi.of(!0)];n.state.field(vf,!1)==null&&t.push(le.appendConfig.of([vf,g4])),n.dispatch({effects:t}),e=Bi(n,Yc)}return e&&e.dom.querySelector("input").select(),!0},g4=W.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"}}}),b4={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},y4=G.define({combine(n){return Zt(n,b4,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function x4(n){return[C4,S4]}const v4=ie.mark({class:"cm-selectionMatch"}),w4=ie.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function wf(n,e,t,r){return(t==0||n(e.sliceDoc(t-1,t))!=Me.Word)&&(r==e.doc.length||n(e.sliceDoc(r,r+1))!=Me.Word)}function k4(n,e,t,r){return n(e.sliceDoc(t,t+1))==Me.Word&&n(e.sliceDoc(r-1,r))==Me.Word}const S4=Re.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(y4),{state:t}=n,r=t.selection;if(r.ranges.length>1)return ie.none;let i=r.main,s,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return ie.none;let l=t.wordAt(i.head);if(!l)return ie.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 ie.none;if(e.wholeWords){if(s=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(wf(o,t,i.from,i.to)&&k4(o,t,i.from,i.to)))return ie.none}else if(s=t.sliceDoc(i.from,i.to),!s)return ie.none}let a=[];for(let l of n.visibleRanges){let c=new Er(t.doc,s,l.from,l.to);for(;!c.next().done;){let{from:h,to:d}=c.value;if((!o||wf(o,t,h,d))&&(i.empty&&h<=i.from&&d>=i.to?a.push(w4.range(h,d)):(h>=i.to||d<=i.from)&&a.push(v4.range(h,d)),a.length>e.maxMatches))return ie.none}}return ie.set(a)}},{decorations:n=>n.decorations}),C4=W.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),O4=({state:n,dispatch:e})=>{let{selection:t}=n,r=N.create(t.ranges.map(i=>n.wordAt(i.head)||N.cursor(i.head)),t.mainIndex);return r.eq(t)?!1:(e(n.update({selection:r})),!0)};function j4(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 Er(n.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(o)return null;a=new Er(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 P4=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(s=>s.from===s.to))return O4({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=j4(n,r);return i?(e(n.update({selection:n.selection.addRange(N.range(i.from,i.to),!1),effects:W.scrollIntoView(i.to)})),!0):!1},Fr=G.define({combine(n){return Zt(n,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new F4(e),scrollToMatch:e=>W.scrollIntoView(e)})}});class q0{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||p4(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 T4(this):new A4(this)}getCursor(e,t=0,r){let i=e.doc?e:pe.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?dr(this,i,t,r):ur(this,i,t,r)}}class Y0{constructor(e){this.spec=e}}function ur(n,e,t,r){return new Er(e.doc,n.unquoted,t,r,n.caseSensitive?void 0:i=>i.toLowerCase(),n.wholeWord?M4(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function M4(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(da(i,t-s))!=Me.Word||e(fa(i,t-s))!=Me.Word)&&(e(fa(i,r-s))!=Me.Word||e(da(i,r-s))!=Me.Word))}class A4 extends Y0{constructor(e){super(e)}nextMatch(e,t,r){let i=ur(this.spec,e,r,e.doc.length).nextOverlapping();if(i.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);i=ur(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=ur(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=ur(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=ur(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 dr(n,e,t,r){return new K0(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?D4(e.charCategorizer(e.selection.main.head)):void 0},t,r)}function da(n,e){return n.slice(Be(n,e,!1),e)}function fa(n,e){return n.slice(e,Be(n,e))}function D4(n){return(e,t,r)=>!r[0].length||(n(da(r.input,r.index))!=Me.Word||n(fa(r.input,r.index))!=Me.Word)&&(n(fa(r.input,r.index+r[0].length))!=Me.Word||n(da(r.input,r.index+r[0].length))!=Me.Word)}class T4 extends Y0{nextMatch(e,t,r){let i=dr(this.spec,e,r,e.doc.length).next();return i.done&&(i=dr(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=dr(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=dr(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=dr(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 Vi=le.define(),$h=le.define(),Pn=Ge.define({create(n){return new jl(Qc(n).create(),null)},update(n,e){for(let t of e.effects)t.is(Vi)?n=new jl(t.value.create(),n.panel):t.is($h)&&(n=new jl(n.query,t.value?Fh:null));return n},provide:n=>$i.from(n,e=>e.panel)});class jl{constructor(e,t){this.query=e,this.panel=t}}const N4=ie.mark({class:"cm-searchMatch"}),E4=ie.mark({class:"cm-searchMatch cm-searchMatch-selected"}),R4=Re.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(Pn))}update(n){let e=n.state.field(Pn);(e!=n.startState.field(Pn)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return ie.none;let{view:t}=this,r=new hn;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?E4:N4)})}return r.finish()}},{decorations:n=>n.decorations});function Bs(n){return e=>{let t=e.state.field(Pn,!1);return t&&t.query.spec.valid?n(e,t):X0(e)}}const pa=Bs((n,{query:e})=>{let{to:t}=n.state.selection.main,r=e.nextMatch(n.state,t,t);if(!r)return!1;let i=N.single(r.from,r.to),s=n.state.facet(Fr);return n.dispatch({selection:i,effects:[Vh(n,r),s.scrollToMatch(i.main,n)],userEvent:"select.search"}),J0(n),!0}),ma=Bs((n,{query:e})=>{let{state:t}=n,{from:r}=t.selection.main,i=e.prevMatch(t,r,r);if(!i)return!1;let s=N.single(i.from,i.to),o=n.state.facet(Fr);return n.dispatch({selection:s,effects:[Vh(n,i),o.scrollToMatch(s.main,n)],userEvent:"select.search"}),J0(n),!0}),L4=Bs((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:N.create(t.map(r=>N.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),I4=({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 Er(n.doc,n.sliceDoc(r,i));!a.next().done;){if(s.length>1e3)return!1;a.value.from==r&&(o=s.length),s.push(N.range(a.value.from,a.value.to))}return e(n.update({selection:N.create(s,o),userEvent:"select.search.matches"})),!0},kf=Bs((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(W.announce.of(t.phrase("replaced match on line $",t.doc.lineAt(r).number)+".")));let d=n.state.changes(a);return o&&(l=N.single(o.from,o.to).map(d),h.push(Vh(n,o)),h.push(t.facet(Fr).scrollToMatch(l.main,n))),n.dispatch({changes:d,selection:l,effects:h,userEvent:"input.replace"}),!0}),B4=Bs((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:W.announce.of(r),userEvent:"input.replace.all"}),!0});function Fh(n){return n.state.facet(Fr).createPanel(n)}function Qc(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(Fr);return new q0({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 Q0(n){let e=Bi(n,Fh);return e&&e.dom.querySelector("[main-field]")}function J0(n){let e=Q0(n);e&&e==n.root.activeElement&&e.select()}const X0=n=>{let e=n.state.field(Pn,!1);if(e&&e.panel){let t=Q0(n);if(t&&t!=n.root.activeElement){let r=Qc(n.state,e.query.spec);r.valid&&n.dispatch({effects:Vi.of(r)}),t.focus(),t.select()}}else n.dispatch({effects:[$h.of(!0),e?Vi.of(Qc(n.state,e.query.spec)):le.appendConfig.of(z4)]});return!0},Z0=n=>{let e=n.state.field(Pn,!1);if(!e||!e.panel)return!1;let t=Bi(n,Fh);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:$h.of(!1)}),!0},$4=[{key:"Mod-f",run:X0,scope:"editor search-panel"},{key:"F3",run:pa,shift:ma,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:pa,shift:ma,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Z0,scope:"editor search-panel"},{key:"Mod-Shift-l",run:I4},{key:"Mod-Alt-g",run:m4},{key:"Mod-d",run:P4,preventDefault:!0}];class F4{constructor(e){this.view=e;let t=this.query=e.state.field(Pn).query.spec;this.commit=this.commit.bind(this),this.searchField=Ce("input",{value:t.search,placeholder:ut(e,"Find"),"aria-label":ut(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:ut(e,"Replace"),"aria-label":ut(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",()=>pa(e),[ut(e,"next")]),r("prev",()=>ma(e),[ut(e,"previous")]),r("select",()=>L4(e),[ut(e,"all")]),Ce("label",null,[this.caseField,ut(e,"match case")]),Ce("label",null,[this.reField,ut(e,"regexp")]),Ce("label",null,[this.wordField,ut(e,"by word")]),...e.state.readOnly?[]:[Ce("br"),this.replaceField,r("replace",()=>kf(e),[ut(e,"replace")]),r("replaceAll",()=>B4(e),[ut(e,"replace all")])],Ce("button",{name:"close",onclick:()=>Z0(e),"aria-label":ut(e,"close"),type:"button"},["×"])])}commit(){let e=new q0({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:Vi.of(e)}))}keydown(e){rk(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ma:pa)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),kf(this.view))}update(e){for(let t of e.transactions)for(let r of t.effects)r.is(Vi)&&!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(Fr).top}}function ut(n,e){return n.state.phrase(e)}const ko=30,So=/[\s\.,:;?!]/;function Vh(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-ko),o=Math.min(i,t+ko),a=n.state.sliceDoc(s,o);if(s!=r.from){for(let l=0;l<ko;l++)if(!So.test(a[l+1])&&So.test(a[l])){a=a.slice(l);break}}if(o!=i){for(let l=a.length-1;l>a.length-ko;l--)if(!So.test(a[l-1])&&So.test(a[l])){a=a.slice(0,l);break}}return W.announce.of(`${n.state.phrase("current match")}. ${a} ${n.state.phrase("on line")} ${r.number}.`)}const V4=W.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"}}),z4=[Pn,sr.low(R4),V4];class eb{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=Je(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(tb(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 Sf(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 H4(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=Sf(e)+Sf(t)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function W4(n){let e=n.map(i=>typeof i=="string"?{label:i}:i),[t,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:H4(e);return i=>{let s=i.matchBefore(r);return s||i.explicit?{from:s?s.from:i.pos,options:e,validFor:t}:null}}class Cf{constructor(e,t,r,i){this.completion=e,this.source=t,this.match=r,this.score=i}}function Zn(n){return n.selection.main.from}function tb(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 nb=Xt.define();function _4(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:N.cursor(a.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const Of=new WeakMap;function U4(n){if(!Array.isArray(n))return n;let e=Of.get(n);return e||Of.set(n,e=W4(n)),e}const ga=le.define(),zi=le.define();class K4{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=it(e,t),i=Wt(r);this.chars.push(r);let s=e.slice(t,t+i),o=s.toUpperCase();this.folded.push(it(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=it(e,0),S=Wt(k),P=S==e.length?0:-100;if(k!=t[0])if(k==r[0])P+=-200;else return null;return this.ret(P,[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 P=it(e,k);(P==t[c]||P==r[c])&&(i[c++]=k),k+=Wt(P)}if(c<l)return null}let h=0,d=0,f=!1,p=0,m=-1,g=-1,y=/[a-z]/.test(e),v=!0;for(let k=0,S=Math.min(e.length,200),P=0;k<S&&d<l;){let O=it(e,k);a<0&&(h<l&&O==t[h]&&(s[h++]=k),p<l&&(O==t[p]||O==r[p]?(p==0&&(m=k),g=k+1,p++):p=0));let M,x=O<255?O>=48&&O<=57||O>=97&&O<=122?2:O>=65&&O<=90?1:0:(M=ph(O))!=M.toLowerCase()?1:M!=M.toUpperCase()?2:0;(!k||x==1&&y||P==0&&x!=0)&&(t[d]==O||r[d]==O&&(f=!0)?o[d++]=k:o.length&&(v=!1)),P=x,k+=Wt(O)}return d==l&&o[0]==0&&v?this.result(-100+(f?-200:0),o,e):p==l&&m==0?this.ret(-200-e.length+(g==e.length?0:-100),[0,g]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==l?this.ret(-900-e.length,[m,g]):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?Wt(it(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 G4{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 He=G.define({combine(n){return Zt(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:q4,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=>jf(e(r),t(r)),optionClass:(e,t)=>r=>jf(e(r),t(r)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function jf(n,e){return n?e?n+" "+e:n:e}function q4(n,e,t,r,i,s){let o=n.textDirection==je.RTL,a=o,l=!1,c="top",h,d,f=e.left-i.left,p=i.right-e.right,m=r.right-r.left,g=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-g))-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>=g||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 Y4(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 Pl(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 Q4{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(He);this.optionContent=Y4(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=Pl(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(He).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:zi.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=Pl(s.length,o,e.state.facet(He).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=Pl(t.options.length,t.selected,this.view.state.facet(He).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=>at(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&&X4(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(He).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 J4(n,e){return t=>new Q4(t,n,e)}function X4(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 Pf(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function Z4(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(He);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 Cf(f,h.source,d?d(f):[],1e9-t.length));else{let f=e.sliceDoc(h.from,h.to),p,m=o.filterStrict?new G4(f):new K4(f);for(let g of h.result.options)if(p=m.match(g.label)){let y=g.displayLabel?d?d(g,p.matched):[]:p.matched,v=p.score+(g.boost||0);if(s(new Cf(g,h.source,y,v)),typeof g.section=="object"&&g.section.rank==="dynamic"){let{name:k}=g.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):Pf(h.completion)>Pf(l)&&(a[a.length-1]=h),l=h.completion}return a}class br{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 br(this.options,Mf(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=Z4(e,t);if(!a.length)return i&&e.some(c=>c.isPending)?i.setDisabled():null;let l=t.facet(He).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 br(a,Mf(r,l),{pos:e.reduce((c,h)=>h.hasResult()?Math.min(c,h.from):c,1e8),create:s5,above:s.aboveCursor},i?i.timestamp:Date.now(),l,!1)}map(e){return new br(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new br(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class ba{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new ba(r5,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:t}=e,r=t.facet(He),s=(r.override||t.languageDataAt("autocomplete",Zn(t)).map(U4)).map(l=>(this.active.find(h=>h.source==l)||new kt(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(zh));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!e5(s,this.active)||a?o=br.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 kt(l.source,0):l));for(let l of e.effects)l.is(ib)&&(o=o&&o.setSelected(l.value,this.id));return s==this.active&&o==this.open?this:new ba(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?t5:n5}}function e5(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 t5={"aria-autocomplete":"list"},n5={};function Mf(n,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":n};return e>-1&&(t["aria-activedescendant"]=n+"-"+e),t}const r5=[];function rb(n,e){if(n.isUserEvent("input.complete")){let r=n.annotation(nb);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 kt{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=rb(e,t),i=this;(r&8||r&16&&this.touches(e))&&(i=new kt(i.source,0)),r&4&&i.state==0&&(i=new kt(this.source,1)),i=i.updateFor(e,r);for(let s of e.effects)if(s.is(ga))i=new kt(i.source,1,s.value);else if(s.is(zi))i=new kt(i.source,0);else if(s.is(zh))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(Zn(e.state))}}class jr extends kt{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=Zn(e.state);if(a>o||!i||t&2&&(Zn(e.startState)==this.from||a<this.limit))return new kt(this.source,t&4?1:0);let l=e.changes.mapPos(this.limit);return i5(i.validFor,e.state,s,o)?new jr(this.source,this.explicit,l,i,s,o):i.update&&(i=i.update(i,s,o,new eb(e.state,a,!1)))?new jr(this.source,this.explicit,l,i,i.from,(r=i.to)!==null&&r!==void 0?r:Zn(e.state)):new kt(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new jr(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new kt(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function i5(n,e,t,r){if(!n)return!1;let i=e.sliceDoc(t,r);return typeof n=="function"?n(i,t,r,e):tb(n,!0).test(i)}const zh=le.define({map(n,e){return n.map(t=>t.map(e))}}),ib=le.define(),st=Ge.define({create(){return ba.start()},update(n,e){return n.update(e)},provide:n=>[Dh.from(n,e=>e.tooltip),W.contentAttributes.from(n,e=>e.attrs)]});function Hh(n,e){const t=e.completion.apply||e.completion.label;let r=n.state.field(st).active.find(i=>i.source==e.source);return r instanceof jr?(typeof t=="string"?n.dispatch({..._4(n.state,t,r.from,r.to),annotations:nb.of(e.completion)}):t(n,e.completion,r.from,r.to),!0):!1}const s5=J4(st,Hh);function Co(n,e="option"){return t=>{let r=t.state.field(st,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<t.state.facet(He).interactionDelay)return!1;let i=1,s;e=="page"&&(s=Gg(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:ib.of(a)}),!0}}const o5=n=>{let e=n.state.field(st,!1);return n.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<n.state.facet(He).interactionDelay?!1:Hh(n,e.open.options[e.open.selected])},Ml=n=>n.state.field(st,!1)?(n.dispatch({effects:ga.of(!0)}),!0):!1,a5=n=>{let e=n.state.field(st,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:zi.of(null)}),!0)};class l5{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const c5=50,h5=1e3,u5=Re.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(st).active)e.isPending&&this.startQuery(e)}update(n){let e=n.state.field(st),t=n.state.facet(He);if(!n.selectionSet&&!n.docChanged&&n.startState.field(st)==e)return;let r=n.transactions.some(s=>{let o=rb(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>c5&&Date.now()-o.time>h5){for(let a of o.context.abortListeners)try{a()}catch(l){at(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(ga)))&&(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(st);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(He).updateSyncTime))}startQuery(n){let{state:e}=this.view,t=Zn(e),r=new eb(e,t,n.explicit,this.view),i=new l5(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:zi.of(null)}),at(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(He).updateSyncTime))}accept(){var n;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],t=this.view.state.facet(He),r=this.view.state.field(st);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=Zn(s.updates.length?s.updates[0].startState:this.view.state),l=Math.min(a,s.done.from+(s.active.explicit?0:1)),c=new jr(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 kt(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:zh.of(e)})}},{eventHandlers:{blur(n){let e=this.view.state.field(st,!1);if(e&&e.tooltip&&this.view.state.facet(He).closeOnBlur){let t=e.open&&Gg(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:zi.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:ga.of(!1)}),20),this.composing=0}}}),d5=typeof navigator=="object"&&/Win/.test(navigator.platform),f5=sr.highest(W.domEventHandlers({keydown(n,e){let t=e.state.field(st,!1);if(!t||!t.open||t.open.disabled||t.open.selected<0||n.key.length>1||n.ctrlKey&&!(d5&&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&&Hh(e,r),!1}})),p5=W.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"}}}),Hi={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Jn=le.define({map(n,e){let t=e.mapPos(n,-1,tt.TrackAfter);return t??void 0}}),Wh=new class extends An{};Wh.startSide=1;Wh.endSide=-1;const sb=Ge.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(Jn)&&(n=n.update({add:[Wh.range(t.value,t.value+1)]}));return n}});function m5(){return[b5,sb]}const Al="()[]{}<>«»»«[]{}";function ob(n){for(let e=0;e<Al.length;e+=2)if(Al.charCodeAt(e)==n)return Al.charAt(e+1);return ph(n<128?n:n+1)}function ab(n,e){return n.languageDataAt("closeBrackets",e)[0]||Hi}const g5=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),b5=W.inputHandler.of((n,e,t,r)=>{if((g5?n.composing:n.compositionStarted)||n.state.readOnly)return!1;let i=n.state.selection.main;if(r.length>2||r.length==2&&Wt(it(r,0))==1||e!=i.from||t!=i.to)return!1;let s=v5(n.state,r);return s?(n.dispatch(s),!0):!1}),y5=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let r=ab(n,n.selection.main.head).brackets||Hi.brackets,i=null,s=n.changeByRange(o=>{if(o.empty){let a=w5(n.doc,o.head);for(let l of r)if(l==a&&$a(n.doc,o.head)==ob(it(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:N.cursor(o.head-l.length)}}return{range:i=o}});return i||e(n.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},x5=[{key:"Backspace",run:y5}];function v5(n,e){let t=ab(n,n.selection.main.head),r=t.brackets||Hi.brackets;for(let i of r){let s=ob(it(i,0));if(e==i)return s==i?C5(n,i,r.indexOf(i+i+i)>-1,t):k5(n,i,s,t.before||Hi.before);if(e==s&&lb(n,n.selection.main.from))return S5(n,i,s)}return null}function lb(n,e){let t=!1;return n.field(sb).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,Wt(it(t,0)))}function w5(n,e){let t=n.sliceString(e-2,e);return Wt(it(t,0))==t.length?t:t.slice(1)}function k5(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:Jn.of(o.to+e.length),range:N.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:Jn.of(o.head+e.length),range:N.cursor(o.head+e.length)}:{range:i=o}});return i?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function S5(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:N.cursor(s.head+t.length)}:r={range:s});return r?null:n.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function C5(n,e,t,r){let i=r.stringPrefixes||Hi.stringPrefixes,s=null,o=n.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Jn.of(a.to+e.length),range:N.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=$a(n.doc,l),h;if(c==e){if(Af(n,l))return{changes:{insert:e+e,from:l},effects:Jn.of(l+e.length),range:N.cursor(l+e.length)};if(lb(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:N.cursor(l+f.length)}}}else{if(t&&n.sliceDoc(l-2*e.length,l)==e+e&&(h=Df(n,l-2*e.length,i))>-1&&Af(n,h))return{changes:{insert:e+e+e+e,from:l},effects:Jn.of(l+e.length),range:N.cursor(l+e.length)};if(n.charCategorizer(l)(c)!=Me.Word&&Df(n,l,i)>-1&&!O5(n,l,e,i))return{changes:{insert:e+e,from:l},effects:Jn.of(l+e.length),range:N.cursor(l+e.length)}}return{range:s=a}});return s?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function Af(n,e){let t=Je(n).resolveInner(e+1);return t.parent&&t.from==e}function O5(n,e,t,r){let i=Je(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 Df(n,e,t){let r=n.charCategorizer(e);if(r(n.sliceDoc(e-1,e))!=Me.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))!=Me.Word)return s}return-1}function j5(n={}){return[f5,st,He.of(n),u5,P5,p5]}const cb=[{key:"Ctrl-Space",run:Ml},{mac:"Alt-`",run:Ml},{mac:"Alt-i",run:Ml},{key:"Escape",run:a5},{key:"ArrowDown",run:Co(!0)},{key:"ArrowUp",run:Co(!1)},{key:"PageDown",run:Co(!0,"page")},{key:"PageUp",run:Co(!1,"page")},{key:"Enter",run:o5}],P5=sr.highest(Aa.computeN([He],n=>n.facet(He).defaultKeymap?[cb]:[]));class Tf{constructor(e,t,r){this.from=e,this.to=t,this.diagnostic=r}}class Gn{constructor(e,t,r){this.diagnostics=e,this.panel=t,this.selected=r}static init(e,t,r){let i=r.facet(Wi).markerFilter;i&&(e=i(e,r));let s=e.slice().sort((p,m)=>p.from-m.from||p.to-m.to),o=new hn,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 g,y;if(a.length)g=l,y=a.reduce((S,P)=>Math.min(S,P.to),m&&m.from>g?m.from:1e8);else{if(g=m.from,g>d)break;y=m.to,a.push(m),p++}for(;p<s.length;){let S=s[p];if(S.from==g&&(S.to>S.from||S.to==g))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==g&&(S.to==y||y==d))&&(v=g==y,!v&&y-g<10)){let S=g-(h+c.value.length);S>0&&(c.next(S),h=g);for(let P=g;;){if(P>=y){v=!0;break}if(!c.lineBreak&&h+c.value.length>P)break;P=h+c.value.length,h+=c.value.length,c.next()}}let k=V5(a);if(v)o.add(g,g,ie.widget({widget:new I5(k),diagnostics:a.slice()}));else{let S=a.reduce((P,O)=>O.markClass?P+" "+O.markClass:P,"");o.add(g,y,ie.mark({class:"cm-lintRange cm-lintRange-"+k+S,diagnostics:a.slice(),inclusiveEnd:a.some(P=>P.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 Gn(f,t,Rr(f))}}function Rr(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 Tf(i,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Tf(r.from,s,r.diagnostic)}}),r}function M5(n,e){let t=e.pos,r=e.end||t,i=n.state.facet(Wi).hideOn(n,t,r);if(i!=null)return i;let s=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(o=>o.is(hb))||n.changes.touchesRange(s.from,Math.max(s.to,r)))}function A5(n,e){return n.field(pt,!1)?e:e.concat(le.appendConfig.of(z5))}const hb=le.define(),_h=le.define(),ub=le.define(),pt=Ge.define({create(){return new Gn(ie.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=Rr(t,n.selected.diagnostic,s)||Rr(t,null,s)}!t.size&&i&&e.state.facet(Wi).autoPanel&&(i=null),n=new Gn(t,i,r)}for(let t of e.effects)if(t.is(hb)){let r=e.state.facet(Wi).autoPanel?t.value.length?_i.open:null:n.panel;n=Gn.init(t.value,r,e.state)}else t.is(_h)?n=new Gn(n.diagnostics,t.value?_i.open:null,n.selected):t.is(ub)&&(n=new Gn(n.diagnostics,n.panel,t.value));return n},provide:n=>[$i.from(n,e=>e.panel),W.decorations.from(n,e=>e.diagnostics)]}),D5=ie.mark({class:"cm-lintRange cm-lintRange-active"});function T5(n,e,t){let{diagnostics:r}=n.state.field(pt),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(Wi).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:N5(n,i)}}}:null}function N5(n,e){return Ce("ul",{class:"cm-tooltip-lint"},e.map(t=>fb(n,t,!1)))}const E5=n=>{let e=n.state.field(pt,!1);(!e||!e.panel)&&n.dispatch({effects:A5(n.state,[_h.of(!0)])});let t=Bi(n,_i.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},Nf=n=>{let e=n.state.field(pt,!1);return!e||!e.panel?!1:(n.dispatch({effects:_h.of(!1)}),!0)},R5=n=>{let e=n.state.field(pt,!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)},L5=[{key:"Mod-Shift-m",run:E5,preventDefault:!0},{key:"F8",run:R5}],Wi=G.define({combine(n){return{sources:n.map(e=>e.source).filter(e=>e!=null),...Zt(n.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Ef,tooltipFilter:Ef,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 Ef(n,e){return n?e?(t,r)=>e(n(t,r),r):n:e}function db(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 fb(n,e,t){var r;let i=t?db(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=Rr(n.state.field(pt).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 I5 extends en{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 Rf{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=fb(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class _i{constructor(e){this.view=e,this.items=[];let t=i=>{if(i.keyCode==27)Nf(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=db(s.actions);for(let a=0;a<o.length;a++)if(o[a].toUpperCase().charCodeAt(0)==i.keyCode){let l=Rr(this.view.state.field(pt).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:()=>Nf(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(pt).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(pt),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 Rf(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 Rf(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(pt),r=Rr(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:ub.of(r)})}static open(e){return new _i(e)}}function B5(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 Oo(n){return B5(`<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 $5=W.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:Oo("#d11")},".cm-lintRange-warning":{backgroundImage:Oo("orange")},".cm-lintRange-info":{backgroundImage:Oo("#999")},".cm-lintRange-hint":{backgroundImage:Oo("#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 F5(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function V5(n){let e="hint",t=1;for(let r of n){let i=F5(r.severity);i>t&&(t=i,e=r.severity)}return e}const z5=[pt,W.decorations.compute([pt],n=>{let{selected:e,panel:t}=n.field(pt);return!e||!t||e.from==e.to?ie.none:ie.set([D5.range(e.from,e.to)])}),Uk(T5,{hideOn:M5}),$5];var Lf=function(e){e===void 0&&(e={});var{crosshairCursor:t=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(x5)),e.defaultKeymap!==!1&&(r=r.concat(d4)),e.searchKeymap!==!1&&(r=r.concat($4)),e.historyKeymap!==!1&&(r=r.concat(xS)),e.foldKeymap!==!1&&(r=r.concat(D3)),e.completionKeymap!==!1&&(r=r.concat(cb)),e.lintKeymap!==!1&&(r=r.concat(L5));var i=[];return e.lineNumbers!==!1&&i.push(n3()),e.highlightActiveLineGutter!==!1&&i.push(s3()),e.highlightSpecialChars!==!1&&i.push(vk()),e.history!==!1&&i.push(hS()),e.foldGutter!==!1&&i.push(R3()),e.drawSelection!==!1&&i.push(ck()),e.dropCursor!==!1&&i.push(pk()),e.allowMultipleSelections!==!1&&i.push(pe.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&i.push(v3()),e.syntaxHighlighting!==!1&&i.push(Eh($3,{fallback:!0})),e.bracketMatching!==!1&&i.push(U3()),e.closeBrackets!==!1&&i.push(m5()),e.autocompletion!==!1&&i.push(j5()),e.rectangularSelection!==!1&&i.push(Rk()),t!==!1&&i.push(Bk()),e.highlightActiveLine!==!1&&i.push(jk()),e.highlightSelectionMatches!==!1&&i.push(x4()),e.tabSize&&typeof e.tabSize=="number"&&i.push(Ta.of(" ".repeat(e.tabSize))),i.concat([Aa.of(r.flat())]).filter(Boolean)};const H5="#e5c07b",If="#e06c75",W5="#56b6c2",_5="#ffffff",Wo="#abb2bf",Jc="#7d8799",U5="#61afef",K5="#98c379",Bf="#d19a66",G5="#c678dd",q5="#21252b",$f="#2c313a",Ff="#282c34",Dl="#353a42",Y5="#3E4451",Vf="#528bff",Q5=W.theme({"&":{color:Wo,backgroundColor:Ff},".cm-content":{caretColor:Vf},".cm-cursor, .cm-dropCursor":{borderLeftColor:Vf},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Y5},".cm-panels":{backgroundColor:q5,color:Wo},".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:Ff,color:Jc,border:"none"},".cm-activeLineGutter":{backgroundColor:$f},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Dl},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Dl,borderBottomColor:Dl},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:$f,color:Wo}}},{dark:!0}),J5=Br.define([{tag:A.keyword,color:G5},{tag:[A.name,A.deleted,A.character,A.propertyName,A.macroName],color:If},{tag:[A.function(A.variableName),A.labelName],color:U5},{tag:[A.color,A.constant(A.name),A.standard(A.name)],color:Bf},{tag:[A.definition(A.name),A.separator],color:Wo},{tag:[A.typeName,A.className,A.number,A.changed,A.annotation,A.modifier,A.self,A.namespace],color:H5},{tag:[A.operator,A.operatorKeyword,A.url,A.escape,A.regexp,A.link,A.special(A.string)],color:W5},{tag:[A.meta,A.comment],color:Jc},{tag:A.strong,fontWeight:"bold"},{tag:A.emphasis,fontStyle:"italic"},{tag:A.strikethrough,textDecoration:"line-through"},{tag:A.link,color:Jc,textDecoration:"underline"},{tag:A.heading,fontWeight:"bold",color:If},{tag:[A.atom,A.bool,A.special(A.variableName)],color:Bf},{tag:[A.processingInstruction,A.string,A.inserted],color:K5},{tag:A.invalid,color:_5}]),X5=[Q5,Eh(J5)];var Z5=W.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),eC=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(Aa.of([f4])),a&&(typeof a=="boolean"?l.unshift(Lf()):l.unshift(Lf(a))),o&&l.unshift(Dk(o)),s){case"light":l.push(Z5);break;case"dark":l.push(X5);break;case"none":break;default:l.push(s);break}return r===!1&&l.push(W.editable.of(!1)),i&&l.push(pe.readOnly.of(!0)),[...l]},tC=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 nC{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 zf{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 Tl=null,rC=()=>typeof window>"u"?new zf:(Tl||(Tl=new zf),Tl),Hf=Xt.define(),iC=200,sC=[];function oC(n){var{value:e,selection:t,onChange:r,onStatistics:i,onCreateEditor:s,onUpdate:o,extensions:a=sC,autoFocus:l,theme:c="light",height:h=null,minHeight:d=null,maxHeight:f=null,width:p=null,minWidth:m=null,maxWidth:g=null,placeholder:y="",editable:v=!0,readOnly:k=!1,indentWithTab:S=!0,basicSetup:P=!0,root:O,initialState:M}=n,[x,D]=b.useState(),[T,R]=b.useState(),[L,$]=b.useState(),U=b.useState(()=>({current:null}))[0],_=b.useState(()=>({current:null}))[0],V=W.theme({"&":{height:h,minHeight:d,maxHeight:f,width:p,minWidth:m,maxWidth:g},"& .cm-scroller":{height:"100% !important"}}),J=W.updateListener.of(q=>{if(q.docChanged&&typeof r=="function"&&!q.transactions.some(Z=>Z.annotation(Hf))){U.current?U.current.reset():(U.current=new nC(()=>{if(_.current){var Z=_.current;_.current=null,Z()}U.current=null},iC),rC().add(U.current));var B=q.state.doc,ne=B.toString();r(ne,q)}i&&i(tC(q))}),ue=eC({theme:c,editable:v,readOnly:k,placeholder:y,indentWithTab:S,basicSetup:P}),z=[J,V,...ue];return o&&typeof o=="function"&&z.push(W.updateListener.of(o)),z=z.concat(a),b.useLayoutEffect(()=>{if(x&&!L){var q={doc:e,selection:t,extensions:z},B=M?pe.fromJSON(M.json,q,M.fields):pe.create(q);if($(B),!T){var ne=new W({state:B,parent:x,root:O});R(ne),s&&s(ne,B)}}return()=>{T&&($(void 0),R(void 0))}},[x,L]),b.useEffect(()=>{n.container&&D(n.container)},[n.container]),b.useEffect(()=>()=>{T&&(T.destroy(),R(void 0)),U.current&&(U.current.cancel(),U.current=null)},[T]),b.useEffect(()=>{l&&T&&T.focus()},[l,T]),b.useEffect(()=>{T&&T.dispatch({effects:le.reconfigure.of(z)})},[c,a,h,d,f,p,m,g,y,v,k,S,P,r,o]),b.useEffect(()=>{if(e!==void 0){var q=T?T.state.doc.toString():"";if(T&&e!==q){var B=U.current&&!U.current.isDone,ne=()=>{T&&e!==T.state.doc.toString()&&T.dispatch({changes:{from:0,to:T.state.doc.toString().length,insert:e||""},annotations:[Hf.of(!0)]})};B?_.current=ne:ne()}}},[e,T]),{state:L,setState:$,view:T,setView:R,container:x,setContainer:D}}var aC=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],pb=b.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:g,minWidth:y,maxWidth:v,basicSetup:k,placeholder:S,indentWithTab:P,editable:O,readOnly:M,root:x,initialState:D}=n,T=eS(n,aC),R=b.useRef(null),{state:L,view:$,container:U,setContainer:_}=oC({root:x,value:r,autoFocus:h,theme:d,height:f,minHeight:p,maxHeight:m,width:g,minWidth:y,maxWidth:v,basicSetup:k,placeholder:S,indentWithTab:P,editable:O,readOnly:M,selection:i,onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:c,extensions:s,initialState:D});b.useImperativeHandle(e,()=>({editor:R.current,state:L,view:$}),[R,U,L,$]);var V=b.useCallback(ue=>{R.current=ue,_(ue)},[_]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var J=typeof d=="string"?"cm-theme-"+d:"cm-theme";return u.jsx("div",_c({ref:V,className:""+J+(t?" "+t:"")},T))});pb.displayName="CodeMirror";const lC=()=>{const n=W.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=Br.define([{tag:A.propertyName,color:"var(--dash-accent)"},{tag:A.string,color:"color-mix(in srgb, var(--dash-accent) 70%, var(--dash-text))"},{tag:A.number,color:"var(--dash-accent-hover)"},{tag:A.bool,color:"var(--dash-accent-hover)"},{tag:A.null,color:"var(--dash-text-muted)"},{tag:A.punctuation,color:"var(--dash-text-secondary)"},{tag:A.brace,color:"var(--dash-text-secondary)"},{tag:A.bracket,color:"var(--dash-text-secondary)"}]);return[n,Eh(e)]},cC=({value:n,onChange:e,onCursorLineChange:t,height:r="100%",readOnly:i=!1})=>{const s=b.useMemo(()=>[Z3(),W.lineWrapping,...lC()],[]),o=b.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(pb,{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}})})},mb=({width:n,isLoading:e,jsonText:t,cursorLine:r,syntaxError:i,onChange:s,onCursorLineChange:o})=>{const{t:a}=xe();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(cC,{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")]})})]})]})},Wf=({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})]}),gb=({width:n,fieldDoc:e,activeFieldPath:t,extraContent:r,overrideBadge:i})=>{const{t:s,lang:o}=xe();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(Wf,{label:s("type"),value:e.type}),u.jsx(Wf,{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")]})})]})},hC=({variant:n="development"})=>{const{t:e}=xe(),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]})},uC=({components:n,isChecking:e,isUpdating:t,onCheckAll:r,onUpdateAll:i,className:s})=>{const{t:o}=xe(),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")})]})},dC=({value:n,onChange:e,disabled:t=!1})=>{const{t:r}=xe();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")]})]})},fC={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}},bb=({status:n,ariaLabel:e,size:t="sm"})=>{const r=fC[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})},
|
|
67
|
-
`)}),u.jsx("div",{ref:P})]})]})]}),u.jsx("div",{className:"px-6 py-4 border-t border-dash-border flex justify-end",children:u.jsx("button",{type:"button",onClick:M,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},
|
|
66
|
+
`,role:"status","aria-label":e})},Uh=({isOpen:n,onClose:e,target:t,kitName:r,targetVersion:i,onComplete:s,mode:o="single",components:a=[]})=>{const{t:l}=xe(),[c,h]=b.useState("running"),[d,f]=b.useState([]),[p,m]=b.useState([]),[g,y]=b.useState(!1),[v,k]=b.useState(0),S=b.useRef(null),P=b.useRef(null);b.useEffect(()=>{g&&P.current&&P.current.scrollIntoView({behavior:"smooth"})},[g]);const O=b.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",R=new URLSearchParams({target:T?"cli":"kit"});T||R.set("kit",D.id);const L=new EventSource(`/api/system/update?${R}`);S.current=L,await new Promise(($,U)=>{L.onmessage=_=>{try{const V=JSON.parse(_.data);V.type==="phase"&&V.name&&f(J=>[...J,`[${D.name}] ${V.name}`]),V.type==="output"&&V.text&&m(J=>[...J,V.text]),V.type==="error"&&(h("error"),m(J=>[...J,`[ERROR ${D.name}] ${V.message||"Unknown error"}`]),L.close(),U()),V.type==="complete"&&(V.code===0?(L.close(),$()):(h("error"),L.close(),U()))}catch(V){console.error("Failed to parse SSE message:",V),L.close(),U(V)}},L.onerror=()=>{h("error"),m(_=>[..._,`[ERROR ${D.name}] Connection lost`]),L.close(),U()}})}catch(T){console.error(`Failed to update ${D.name}:`,T)}}h("success"),s()},[a,s]);b.useEffect(()=>{if(n)if(o==="batch")O();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 R=JSON.parse(T.data);R.type==="phase"&&R.name&&f(L=>[...L,R.name]),R.type==="output"&&R.text&&m(L=>[...L,R.text]),R.type==="error"&&(h("error"),m(L=>[...L,`[ERROR] ${R.message||"Unknown error"}`])),R.type==="complete"&&(h(R.code===0?"success":"error"),D.close(),R.code===0&&s())}catch(R){console.error("Failed to parse SSE message:",R)}},D.onerror=()=>{h("error"),m(T=>[...T,"[ERROR] Connection lost"]),D.close()},()=>{D.close()}}},[n,t,r,i,s,o,O]);const M=()=>{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(!g),className:"text-xs text-dash-accent hover:text-dash-accent-hover transition-colors",children:l(g?"hideDetails":"showDetails")}),g&&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:P})]})]})]}),u.jsx("div",{className:"px-6 py-4 border-t border-dash-border flex justify-end",children:u.jsx("button",{type:"button",onClick:M,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},yb=({target:n,kitName:e,currentVersion:t,latestVersion:r,onVersionSelect:i})=>{const{t:s}=xe(),[o,a]=b.useState([]),[l,c]=b.useState(!1),[h,d]=b.useState(r);b.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,g=p.version===t,y=`v${p.version.replace(/^v/,"")}${m?` (${s("latestVersion")})`:""}${p.isPrerelease?` [${s("prereleaseLabel")}]`:""}${g?` - ${s("currentVersionLabel")}`:""}`;return u.jsx("option",{value:p.version,disabled:g,children:y},p.version)})})},fC=({version:n,installedAt:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=ve(),[l,c]=b.useState("idle"),[h,d]=b.useState(null),[f,p]=b.useState(!1),[m,g]=b.useState(null),y=r??l,v=i??h,k=async()=>{const P=M=>{s||c(M)},O=M=>{s||d(M)};P("checking"),s&&s("checking",null);try{const x=await(await fetch(`/api/system/check-updates?target=cli&channel=${t}`)).json();x.updateAvailable?(P("update-available"),O(x.latest),s&&s("update-available",x.latest)):(P("up-to-date"),s&&s("up-to-date",null))}catch{P("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(pb,{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(pC,{status:y,currentVersion:n,latestVersion:v,onCheck:k,onUpdate:()=>p(!0),onVersionSelect:g,disabled:o})]})}),u.jsx(Hh,{isOpen:f,onClose:()=>p(!1),target:"cli",targetVersion:m??v??void 0,onComplete:S})]})},pC=({status:n,currentVersion:e,latestVersion:t,onCheck:r,onUpdate:i,onVersionSelect:s,disabled:o})=>{const{t:a}=ve();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(mb,{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")})},mC=({configPath:n,nodeVersion:e,bunVersion:t,os:r})=>{const{t:i}=ve();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(Co,{label:i("claudeConfigPath"),value:n,mono:!0}),u.jsx(Co,{label:i("osVersion"),value:r}),u.jsx(Co,{label:i("nodeVersion"),value:e,mono:!0}),t&&u.jsx(Co,{label:i("bunVersion"),value:t,mono:!0})]})]})},Co=({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 gC(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 bC(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 yC=({kitName:n,kit:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=ve(),[l,c]=b.useState("idle"),[h,d]=b.useState(null),[f,p]=b.useState(!1),[m,g]=b.useState(null),y=r??l,v=i??h,k=e.files??[],S=gC(k),P=bC(k),O=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)}},M=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(pb,{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(xC,{status:y,currentVersion:e.version??"0.0.0",latestVersion:v,kitName:n,onCheck:O,onUpdate:()=>p(!0),onVersionSelect:g,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(P).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(Hh,{isOpen:f,onClose:()=>p(!1),target:"kit",kitName:n,targetVersion:m??v??void 0,onComplete:M})]})},xC=({status:n,currentVersion:e,latestVersion:t,kitName:r,onCheck:i,onUpdate:s,onVersionSelect:o,disabled:a})=>{const{t:l}=ve();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(mb,{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")})},zf="claudekit-update-channel",Hf="claudekit-system-filter",vC=n=>/-(alpha|beta|rc|dev|next)/.test(n),wC=n=>n==="all"||n==="updates"||n==="up-to-date"||n==="cli"||n==="kits"?n:"all",Wf=n=>n==="update-available"?0:n==="checking"?1:n==="idle"?2:3,kC=({metadata:n})=>{const{t:e}=ve(),[t,r]=b.useState(null),[i,s]=b.useState([]),[o,a]=b.useState(!1),[l,c]=b.useState(!1),[h,d]=b.useState(!1),[f,p]=b.useState("stable"),[m,g]=b.useState(()=>wC(localStorage.getItem(Hf))),y=n.kits&&typeof n.kits=="object",v=y?Object.entries(n.kits):[],k=n.name,S=n.version,P=n.installedAt,O=v.length>0||k;b.useEffect(()=>{if(!t)return;const $=[];if($.push({id:"cli",type:"cli",status:"idle",currentVersion:t.cliVersion,latestVersion:null}),y&&v.length>0)for(const[ne,Q]of v){const ae=Q;$.push({id:ne,type:"kit",status:"idle",currentVersion:ae.version??"?",latestVersion:null})}else k&&$.push({id:k,type:"kit",status:"idle",currentVersion:S??"?",latestVersion:null});s($)},[t,y,v,k,S]),b.useEffect(()=>{fetch("/api/system/info").then($=>$.json()).then(r).catch(()=>r(null))},[]),b.useEffect(()=>{const $=localStorage.getItem(zf);$==="stable"||$==="beta"?p($):t?.cliVersion&&p(vC(t.cliVersion)?"beta":"stable")},[t?.cliVersion]);const M=$=>{p($),localStorage.setItem(zf,$)};b.useEffect(()=>{localStorage.setItem(Hf,m)},[m]);const x=($,ne,Q)=>{s(ae=>ae.map(me=>me.id===$?{...me,status:ne,latestVersion:Q}:me))},D=async()=>{a(!0);const $=i.map(async Q=>{try{const ae=Q.type==="cli"?`target=cli&channel=${f}`:`target=kit&kit=${Q.id}&channel=${f}`,we=await(await fetch(`/api/system/check-updates?${ae}`)).json();return{id:Q.id,status:we.updateAvailable?"update-available":"up-to-date",latestVersion:we.latest}}catch{return{id:Q.id,status:"idle",latestVersion:null}}}),ne=await Promise.all($);s(Q=>Q.map(ae=>{const me=ne.find(we=>we.id===ae.id);return me?{...ae,status:me.status,latestVersion:me.latestVersion}:ae})),a(!1)},T=()=>{d(!0)},I=()=>{window.location.reload()},R=i.filter($=>$.status==="update-available").length,B=i.filter($=>$.status==="up-to-date").length,U=i.filter($=>$.status!=="idle").length,q=y&&v.length>0?v.length:k?1:0,F=i.find($=>$.id==="cli")?.status??"idle",X=b.useMemo(()=>y&&v.length>0?v.map(([$,ne])=>({id:$,kitName:$,kit:ne})):k?[{id:k,kitName:k,kit:{version:S,installedAt:P}}]:[],[y,v,k,S,P]),ce=b.useMemo(()=>{const ne=[...X.map(Q=>({...Q,status:i.find(ae=>ae.id===Q.id)?.status??"idle"}))].sort((Q,ae)=>{const me=Wf(Q.status)-Wf(ae.status);return me!==0?me:Q.kitName.localeCompare(ae.kitName)});return m==="updates"?ne.filter(Q=>Q.status==="update-available"):m==="up-to-date"?ne.filter(Q=>Q.status==="up-to-date"):m==="cli"?[]:ne},[X,i,m]),H=m==="all"||m==="cli"||m==="updates"&&F==="update-available"||m==="up-to-date"&&F==="up-to-date",Y=(H?1:0)+ce.length;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(uC,{value:f,onChange:M,disabled:o||l}),i.length>0&&u.jsx(hC,{components:i,isChecking:o,isUpdating:l,onCheckAll:D,onUpdateAll:T})]})]})}),u.jsxs("section",{className:"grid grid-cols-2 gap-3 xl:grid-cols-5",children:[u.jsx(ni,{label:e("components"),value:i.length.toString()}),u.jsx(ni,{label:e("kitsLabel"),value:q.toString()}),u.jsx(ni,{label:e("updateAvailable"),value:R.toString(),tone:"accent"}),u.jsx(ni,{label:e("upToDate"),value:B.toString(),tone:"success"}),u.jsx(ni,{label:e("checkedComponents"),value:U.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("div",{className:"flex items-center gap-2",children:[u.jsx(ri,{label:e("componentFilterAll"),value:m,activeValue:"all",onClick:()=>g("all")}),u.jsx(ri,{label:e("componentFilterUpdates"),value:m,activeValue:"updates",onClick:()=>g("updates")}),u.jsx(ri,{label:e("componentFilterUpToDate"),value:m,activeValue:"up-to-date",onClick:()=>g("up-to-date")}),u.jsx(ri,{label:e("componentFilterCli"),value:m,activeValue:"cli",onClick:()=>g("cli")}),u.jsx(ri,{label:e("componentFilterKits"),value:m,activeValue:"kits",onClick:()=>g("kits")})]})]}),H&&u.jsx(fC,{version:t?.cliVersion??"...",installedAt:void 0,externalStatus:i.find($=>$.id==="cli")?.status,externalLatestVersion:i.find($=>$.id==="cli")?.latestVersion??null,onStatusChange:($,ne)=>x("cli",$,ne),disabled:o||l,channel:f}),ce.map($=>{const ne=i.find(Q=>Q.id===$.id);return u.jsx(yC,{kitName:$.kitName,kit:$.kit,externalStatus:ne?.status,externalLatestVersion:ne?.latestVersion??null,onStatusChange:(Q,ae)=>x($.id,Q,ae),disabled:o||l,channel:f},$.id)}),!O&&m!=="cli"&&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")})}),Y===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:e("noComponentsMatchFilter")})})]}),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(Oo,{label:e("updateAvailable"),value:R.toString(),tone:R>0?"accent":"default"}),u.jsx(Oo,{label:e("upToDate"),value:B.toString(),tone:"success"}),u.jsx(Oo,{label:e("checkedComponents"),value:U.toString()}),u.jsx(Oo,{label:e("activeChannel"),value:e(f==="beta"?"channelBeta":"channelStable")})]})]}),t&&u.jsx(mC,{configPath:t.configPath,nodeVersion:t.nodeVersion,bunVersion:t.bunVersion,os:t.os})]})]}),u.jsx(Hh,{isOpen:h,onClose:()=>d(!1),target:"cli",mode:"batch",components:i.filter($=>$.status==="update-available").map($=>({id:$.id,name:$.id==="cli"?"CLI":`${$.id} Kit`})),onComplete:I})]})},ni=({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})]})},Oo=({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})]})},ri=({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})},SC={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,g=p.version===t,y=`v${p.version.replace(/^v/,"")}${m?` (${s("latestVersion")})`:""}${p.isPrerelease?` [${s("prereleaseLabel")}]`:""}${g?` - ${s("currentVersionLabel")}`:""}`;return u.jsx("option",{value:p.version,disabled:g,children:y},p.version)})})},pC=({version:n,installedAt:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=xe(),[l,c]=b.useState("idle"),[h,d]=b.useState(null),[f,p]=b.useState(!1),[m,g]=b.useState(null),y=r??l,v=i??h,k=async()=>{const P=M=>{s||c(M)},O=M=>{s||d(M)};P("checking"),s&&s("checking",null);try{const x=await(await fetch(`/api/system/check-updates?target=cli&channel=${t}`)).json();x.updateAvailable?(P("update-available"),O(x.latest),s&&s("update-available",x.latest)):(P("up-to-date"),s&&s("up-to-date",null))}catch{P("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(bb,{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(mC,{status:y,currentVersion:n,latestVersion:v,onCheck:k,onUpdate:()=>p(!0),onVersionSelect:g,disabled:o})]})}),u.jsx(Uh,{isOpen:f,onClose:()=>p(!1),target:"cli",targetVersion:m??v??void 0,onComplete:S})]})},mC=({status:n,currentVersion:e,latestVersion:t,onCheck:r,onUpdate:i,onVersionSelect:s,disabled:o})=>{const{t:a}=xe();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(yb,{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")})},gC=({configPath:n,nodeVersion:e,bunVersion:t,os:r})=>{const{t:i}=xe();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(jo,{label:i("claudeConfigPath"),value:n,mono:!0}),u.jsx(jo,{label:i("osVersion"),value:r}),u.jsx(jo,{label:i("nodeVersion"),value:e,mono:!0}),t&&u.jsx(jo,{label:i("bunVersion"),value:t,mono:!0})]})]})},jo=({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 bC(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 yC(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 xC=({kitName:n,kit:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=xe(),[l,c]=b.useState("idle"),[h,d]=b.useState(null),[f,p]=b.useState(!1),[m,g]=b.useState(null),y=r??l,v=i??h,k=e.files??[],S=bC(k),P=yC(k),O=async()=>{const x=T=>{s||c(T)},D=T=>{s||d(T)};x("checking"),s&&s("checking",null);try{const R=await(await fetch(`/api/system/check-updates?target=kit&kit=${n}&channel=${t}`)).json();R.updateAvailable?(x("update-available"),D(R.latest),s&&s("update-available",R.latest)):(x("up-to-date"),s&&s("up-to-date",null))}catch{x("idle"),s&&s("idle",null)}},M=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(bb,{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(vC,{status:y,currentVersion:e.version??"0.0.0",latestVersion:v,kitName:n,onCheck:O,onUpdate:()=>p(!0),onVersionSelect:g,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(P).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(Uh,{isOpen:f,onClose:()=>p(!1),target:"kit",kitName:n,targetVersion:m??v??void 0,onComplete:M})]})},vC=({status:n,currentVersion:e,latestVersion:t,kitName:r,onCheck:i,onUpdate:s,onVersionSelect:o,disabled:a})=>{const{t:l}=xe();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(yb,{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")})},_f="claudekit-update-channel",Uf="claudekit-system-filter",wC=n=>/-(alpha|beta|rc|dev|next)/.test(n),kC=n=>n==="all"||n==="updates"||n==="up-to-date"||n==="cli"||n==="kits"?n:"all",Kf=n=>n==="update-available"?0:n==="checking"?1:n==="idle"?2:3,SC=({metadata:n})=>{const{t:e}=xe(),[t,r]=b.useState(null),[i,s]=b.useState([]),[o,a]=b.useState(!1),[l,c]=b.useState(!1),[h,d]=b.useState(!1),[f,p]=b.useState("stable"),[m,g]=b.useState(()=>kC(localStorage.getItem(Uf))),y=n.kits&&typeof n.kits=="object",v=y?Object.entries(n.kits):[],k=n.name,S=n.version,P=n.installedAt,O=v.length>0||k;b.useEffect(()=>{if(!t)return;const B=[];if(B.push({id:"cli",type:"cli",status:"idle",currentVersion:t.cliVersion,latestVersion:null}),y&&v.length>0)for(const[ne,Z]of v){const ae=Z;B.push({id:ne,type:"kit",status:"idle",currentVersion:ae.version??"?",latestVersion:null})}else k&&B.push({id:k,type:"kit",status:"idle",currentVersion:S??"?",latestVersion:null});s(B)},[t,y,v,k,S]),b.useEffect(()=>{fetch("/api/system/info").then(B=>B.json()).then(r).catch(()=>r(null))},[]),b.useEffect(()=>{const B=localStorage.getItem(_f);B==="stable"||B==="beta"?p(B):t?.cliVersion&&p(wC(t.cliVersion)?"beta":"stable")},[t?.cliVersion]);const M=B=>{p(B),localStorage.setItem(_f,B)};b.useEffect(()=>{localStorage.setItem(Uf,m)},[m]);const x=(B,ne,Z)=>{s(ae=>ae.map(ce=>ce.id===B?{...ce,status:ne,latestVersion:Z}:ce))},D=async()=>{a(!0);const B=i.map(async Z=>{try{const ae=Z.type==="cli"?`target=cli&channel=${f}`:`target=kit&kit=${Z.id}&channel=${f}`,Se=await(await fetch(`/api/system/check-updates?${ae}`)).json();return{id:Z.id,status:Se.updateAvailable?"update-available":"up-to-date",latestVersion:Se.latest}}catch{return{id:Z.id,status:"idle",latestVersion:null}}}),ne=await Promise.all(B);s(Z=>Z.map(ae=>{const ce=ne.find(Se=>Se.id===ae.id);return ce?{...ae,status:ce.status,latestVersion:ce.latestVersion}:ae})),a(!1)},T=()=>{d(!0)},R=()=>{window.location.reload()},L=i.filter(B=>B.status==="update-available").length,$=i.filter(B=>B.status==="up-to-date").length,U=i.filter(B=>B.status!=="idle").length,_=y&&v.length>0?v.length:k?1:0,V=i.find(B=>B.id==="cli")?.status??"idle",J=b.useMemo(()=>y&&v.length>0?v.map(([B,ne])=>({id:B,kitName:B,kit:ne})):k?[{id:k,kitName:k,kit:{version:S,installedAt:P}}]:[],[y,v,k,S,P]),ue=b.useMemo(()=>{const ne=[...J.map(Z=>({...Z,status:i.find(ae=>ae.id===Z.id)?.status??"idle"}))].sort((Z,ae)=>{const ce=Kf(Z.status)-Kf(ae.status);return ce!==0?ce:Z.kitName.localeCompare(ae.kitName)});return m==="updates"?ne.filter(Z=>Z.status==="update-available"):m==="up-to-date"?ne.filter(Z=>Z.status==="up-to-date"):m==="cli"?[]:ne},[J,i,m]),z=m==="all"||m==="cli"||m==="updates"&&V==="update-available"||m==="up-to-date"&&V==="up-to-date",q=(z?1:0)+ue.length;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(dC,{value:f,onChange:M,disabled:o||l}),i.length>0&&u.jsx(uC,{components:i,isChecking:o,isUpdating:l,onCheckAll:D,onUpdateAll:T})]})]})}),u.jsxs("section",{className:"grid grid-cols-2 gap-3 xl:grid-cols-5",children:[u.jsx(ii,{label:e("components"),value:i.length.toString()}),u.jsx(ii,{label:e("kitsLabel"),value:_.toString()}),u.jsx(ii,{label:e("updateAvailable"),value:L.toString(),tone:"accent"}),u.jsx(ii,{label:e("upToDate"),value:$.toString(),tone:"success"}),u.jsx(ii,{label:e("checkedComponents"),value:U.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("div",{className:"flex items-center gap-2",children:[u.jsx(si,{label:e("componentFilterAll"),value:m,activeValue:"all",onClick:()=>g("all")}),u.jsx(si,{label:e("componentFilterUpdates"),value:m,activeValue:"updates",onClick:()=>g("updates")}),u.jsx(si,{label:e("componentFilterUpToDate"),value:m,activeValue:"up-to-date",onClick:()=>g("up-to-date")}),u.jsx(si,{label:e("componentFilterCli"),value:m,activeValue:"cli",onClick:()=>g("cli")}),u.jsx(si,{label:e("componentFilterKits"),value:m,activeValue:"kits",onClick:()=>g("kits")})]})]}),z&&u.jsx(pC,{version:t?.cliVersion??"...",installedAt:void 0,externalStatus:i.find(B=>B.id==="cli")?.status,externalLatestVersion:i.find(B=>B.id==="cli")?.latestVersion??null,onStatusChange:(B,ne)=>x("cli",B,ne),disabled:o||l,channel:f}),ue.map(B=>{const ne=i.find(Z=>Z.id===B.id);return u.jsx(xC,{kitName:B.kitName,kit:B.kit,externalStatus:ne?.status,externalLatestVersion:ne?.latestVersion??null,onStatusChange:(Z,ae)=>x(B.id,Z,ae),disabled:o||l,channel:f},B.id)}),!O&&m!=="cli"&&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")})}),q===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:e("noComponentsMatchFilter")})})]}),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(Po,{label:e("updateAvailable"),value:L.toString(),tone:L>0?"accent":"default"}),u.jsx(Po,{label:e("upToDate"),value:$.toString(),tone:"success"}),u.jsx(Po,{label:e("checkedComponents"),value:U.toString()}),u.jsx(Po,{label:e("activeChannel"),value:e(f==="beta"?"channelBeta":"channelStable")})]})]}),t&&u.jsx(gC,{configPath:t.configPath,nodeVersion:t.nodeVersion,bunVersion:t.bunVersion,os:t.os})]})]}),u.jsx(Uh,{isOpen:h,onClose:()=>d(!1),target:"cli",mode:"batch",components:i.filter(B=>B.status==="update-available").map(B=>({id:B.id,name:B.id==="cli"?"CLI":`${B.id} Kit`})),onComplete:R})]})},ii=({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})]})},Po=({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})]})},si=({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})},CC={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,6 +213,6 @@ 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
|
-
}`}},
|
|
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 gb(n){const{scope:e,fetchConfig:t,fetchSchema:r,saveConfig:i,onReset:s}=n,[o,a]=b.useState("{}"),[l,c]=b.useState(0),[h,d]=b.useState(null),[f,p]=b.useState(null),[m,g]=b.useState({}),[y,v]=b.useState({}),[k,S]=b.useState({}),[P,O]=b.useState(!0),[M,x]=b.useState("idle"),[D,T]=b.useState(!1),[I,R]=b.useState(null),B=CC(o,l),U=B?SC[B]:null;b.useEffect(()=>{(async()=>{try{const[Y,$]=await Promise.all([t(),r()]),ne=Y.local??Y.config;g(ne),v(Y.global??{}),S(Y.sources),p($),a(JSON.stringify(ne,null,2))}catch(Y){console.error("Failed to load config data:",Y)}finally{O(!1)}})()},[t,r]),b.useEffect(()=>{try{JSON.parse(o),d(null)}catch(H){d(H instanceof Error?H.message:"Invalid JSON")}},[o]),b.useEffect(()=>{if(I==="json")try{const H=JSON.parse(o);g(H)}catch{}},[o,I]);const q=b.useCallback(H=>{R("json"),a(H)},[]),F=b.useCallback((H,Y)=>{R("form"),g($=>{const ne=hv($,H,Y);return a(JSON.stringify(ne,null,2)),ne}),S($=>({...$,[H]:e}))},[e]),X=b.useCallback(async()=>{if(!h){x("saving");try{const H=JSON.parse(o);await i(H),g(H),x("saved"),setTimeout(()=>x("idle"),2e3)}catch{x("error"),setTimeout(()=>x("idle"),3e3)}}},[o,h,i]),ce=b.useCallback(async()=>{if(T(!1),s){O(!0);try{const H=await s(),Y=H.local??H.config;g(Y),S(H.sources),a(JSON.stringify(Y,null,2))}catch(H){console.error("Failed to reset:",H)}finally{O(!1)}}else{const H={};g(H),a(JSON.stringify(H,null,2))}},[s]);return{jsonText:o,config:m,globalConfig:y,sources:k,schema:f,isLoading:P,saveStatus:M,syntaxError:h,cursorLine:l,showResetConfirm:D,activeFieldPath:B,fieldDoc:U,handleJsonChange:q,handleFormChange:F,handleSave:X,handleReset:ce,setCursorLine:c,setShowResetConfirm:T}}function bb({storageKey:n,defaultSizes:e,minSizes:t}){const[r,i]=b.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]=b.useState(!1);b.useEffect(()=>{localStorage.setItem(n,JSON.stringify(r))},[r,n]);const a=b.useCallback((c,h)=>{h.preventDefault(),o(!0);const d=h.target.parentElement;if(!d)return;const p=d.getBoundingClientRect().width,m=h.clientX,g=[...r],y=k=>{const P=(k.clientX-m)/p*100,O=[...g],M=c,x=c+1;let D=g[M]+P,T=g[x]-P;D<t[M]&&(D=t[M],T=g[M]+g[x]-D),T<t[x]&&(T=t[x],D=g[M]+g[x]-T),O[M]=D,O[x]=T,i(O)},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=b.useCallback(()=>{i(e)},[e]);return{sizes:r,isDragging:s,startDrag:a,reset:l}}const Ba="/api";async function _f(n){const e=`${Ba}/ck-config`,t=await fetch(e);if(!t.ok)throw new Error(`Failed to fetch ck-config: ${t.status}`);return t.json()}async function Uf(n,e){const t=new URLSearchParams({scope:n});e&&t.set("projectId",e);const r=await fetch(`${Ba}/ck-config?${t}`);if(!r.ok)throw new Error(`Failed to fetch ck-config: ${r.status}`);return r.json()}async function yb(n){const e=await fetch(`${Ba}/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 xb(){const n=await fetch(`${Ba}/ck-config/schema`);if(!n.ok)throw new Error(`Failed to fetch schema: ${n.status}`);return n.json()}const OC=()=>{const{t:n}=ve(),e=fn(),[t,r]=b.useState("config"),[i,s]=b.useState({}),{sizes:o,isDragging:a,startDrag:l}=bb({storageKey:"claudekit-global-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),c=b.useCallback(async()=>{const[m,g]=await Promise.all([_f(),tv()]);return s(g),m},[]),h=b.useCallback(async m=>{await yb({scope:"global",config:m})},[]),d=b.useCallback(async()=>await _f(),[]),f=gb({scope:"global",fetchConfig:c,fetchSchema:xb,saveConfig:h,onReset:d}),p=b.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(gm,{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(bm,{width:o[0],isLoading:f.isLoading,schema:f.schema,config:f.config,sources:f.sources,sections:p,onChange:f.handleFormChange}),u.jsx(ki,{direction:"horizontal",isDragging:a,onMouseDown:m=>l(0,m)}),u.jsx(db,{width:o[1],isLoading:f.isLoading,jsonText:f.jsonText,cursorLine:f.cursorLine,syntaxError:f.syntaxError,onChange:f.handleJsonChange,onCursorLineChange:f.setCursorLine}),u.jsx(ki,{direction:"horizontal",isDragging:a,onMouseDown:m=>l(1,m)}),u.jsx(fb,{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(kC,{metadata:i})})]})]})};var jC=function(e){return typeof window<"u"?matchMedia&&matchMedia("(prefers-color-scheme: ".concat(e,")")):{matches:!1}},Al,PC=b.createContext({appearance:"light",setAppearance:function(){},isDarkMode:!1,themeMode:"light",setThemeMode:function(){},browserPrefers:(Al=jC("dark"))!==null&&Al!==void 0&&Al.matches?"dark":"light"}),MC=function(){return b.useContext(PC)};const vb=(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"}},AC=n=>{if(n)return["space-between","space-around","space-evenly"].includes(n)},DC=(n,e)=>vb(n,e)==="row",lr=n=>typeof n=="number"?`${n}px`:n,TC=({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:g,style:y,children:v,wrap:k,ref:S,...P})=>{const O=o||a,x=DC(r,i)&&!c&&AC(O)?"100%":lr(c),D={...e!==void 0?{"--lobe-flex":String(e)}:{},...r||i?{"--lobe-flex-direction":vb(r,i)}:{},...k!==void 0?{"--lobe-flex-wrap":k}:{},...O!==void 0?{"--lobe-flex-justify":O}:{},...s!==void 0?{"--lobe-flex-align":s}:{},...x!==void 0?{"--lobe-flex-width":x}:{},...l!==void 0?{"--lobe-flex-height":lr(l)}:{},...h!==void 0?{"--lobe-flex-padding":lr(h)}:{},...d!==void 0?{"--lobe-flex-padding-inline":lr(d)}:{},...f!==void 0?{"--lobe-flex-padding-block":lr(f)}:{},...t!==void 0?{"--lobe-flex-gap":lr(t)}:{},...y},T="lobe-flex",I=[T,n===!1?`${T}--hidden`:void 0,p?`${p}-flex`:void 0,g].filter(Boolean).join(" ");return u.jsx(m,{ref:S,...P,className:I,style:D,children:v})};var wb=b.memo(TC);const NC=({children:n,ref:e,...t})=>u.jsx(wb,{...t,align:"center",justify:"center",ref:e,children:n});var EC=NC;const RC=/\p{Lu}?\p{Ll}+|[0-9]+|\p{Lu}+(?!\p{Ll})|\p{Emoji_Presentation}|\p{Extended_Pictographic}|\p{L}+/gu;function LC(n){return Array.from(n.match(RC)??[])}function IC(n){return LC(n).map(t=>t.toLowerCase()).join("-")}b.createContext(null);var BC=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 Wi(n){"@babel/helpers - typeof";return Wi=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},Wi(n)}var $C=["shape","color","background","size","style","iconMultiple","Icon","iconStyle","iconClassName"];function Kf(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 jo(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Kf(Object(t),!0).forEach(function(r){FC(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Kf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function FC(n,e,t){return e=VC(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function VC(n){var e=zC(n,"string");return Wi(e)=="symbol"?e:String(e)}function zC(n,e){if(Wi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Wi(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function HC(n,e){if(n==null)return{};var t=WC(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 WC(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 Ln=b.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=HC(n,$C),m=MC(),g=m.isDarkMode;return u.jsx(EC,jo(jo({flex:"none",style:jo({background:s,borderRadius:t==="circle"?"50%":Math.floor(o*.1),boxShadow:BC(g,s),color:i,height:o,width:o},a)},p),{},{children:h&&u.jsx(h,{className:f,color:i,size:o,style:jo({transform:"scale(".concat(c,")")},d)})}))});function _i(n){"@babel/helpers - typeof";return _i=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},_i(n)}var _C=["Icon","style","Text","color","size","spaceMultiple","textMultiple","extra","extraStyle","showText","showLogo","extraClassName","iconProps","inverse"];function Gf(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 mn(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Gf(Object(t),!0).forEach(function(r){UC(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Gf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function UC(n,e,t){return e=KC(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function KC(n){var e=GC(n,"string");return _i(e)=="symbol"?e:String(e)}function GC(n,e){if(_i(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(_i(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function qC(n,e){if(n==null)return{};var t=YC(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 YC(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 In=b.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,g=n.showLogo,y=g===void 0?!0:g,v=n.extraClassName,k=n.iconProps,S=n.inverse,P=qC(n,_C),O=e&&y&&u.jsx(e,mn(mn({size:o},k),{},{style:mn(S?{marginLeft:o*l}:{marginRight:o*l},k?.style)})),M=m&&r&&u.jsx(r,{size:o*h});return u.jsxs(wb,mn(mn({align:"center",flex:"none",horizontal:!0,justify:"flex-start",style:mn({color:i},t)},P),{},{children:[S?u.jsxs(u.Fragment,{children:[M,O]}):u.jsxs(u.Fragment,{children:[O,M]}),d&&u.jsx("span",{className:v,style:mn({fontSize:o*h*.95,lineHeight:1},f),children:d})]}))}),QC=function(e,t){return b.useMemo(function(){var r=Array.from({length:t},function(i,s){var o="lobe-icons-".concat(IC(e),"-fill-").concat(s);return{fill:"url(#".concat(o,")"),id:o}});return r},[e,t])},Fr="Claude",JC=.8,XC=.1,kb="#D97757",ZC=kb,e6="#fff",t6=.75;function Ui(n){"@babel/helpers - typeof";return Ui=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},Ui(n)}var n6=["size","style"];function qf(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 Dl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?qf(Object(t),!0).forEach(function(r){r6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):qf(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 Ui(e)=="symbol"?e:String(e)}function s6(n,e){if(Ui(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ui(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 Wh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=o6(n,n6);return u.jsxs("svg",Dl(Dl({fill:"currentColor",fillRule:"evenodd",height:t,style:Dl({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:Fr}),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 Ki(n){"@babel/helpers - typeof";return Ki=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},Ki(n)}function Yf(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 l6(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Yf(Object(t),!0).forEach(function(r){c6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Yf(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 Ki(e)=="symbol"?e:String(e)}function u6(n,e){if(Ki(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ki(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function d6(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var f6=b.memo(function(n){var e=Object.assign({},(d6(n),n));return u.jsx(Ln,l6({Icon:Wh,"aria-label":Fr,background:ZC,color:e6,iconMultiple:t6},e))});function Gi(n){"@babel/helpers - typeof";return Gi=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},Gi(n)}var p6=["size","style"];function Qf(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 Tl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Qf(Object(t),!0).forEach(function(r){m6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Qf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function m6(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=b6(n,"string");return Gi(e)=="symbol"?e:String(e)}function b6(n,e){if(Gi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Gi(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=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 Sb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=y6(n,p6);return u.jsxs("svg",Tl(Tl({height:t,style:Tl({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:Fr}),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 qi(n){"@babel/helpers - typeof";return qi=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},qi(n)}var v6=["size","style"];function Jf(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 Nl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Jf(Object(t),!0).forEach(function(r){w6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Jf(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 qi(e)=="symbol"?e:String(e)}function S6(n,e){if(qi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(qi(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=O6(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 O6(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 Cb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=C6(n,v6);return u.jsxs("svg",Nl(Nl({fill:"currentColor",fillRule:"nonzero",height:t,style:Nl({flex:"none",lineHeight:1},r),viewBox:"0 0 97 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Fr}),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 Yi(n){"@babel/helpers - typeof";return Yi=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},Yi(n)}var j6=["type"];function Xf(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 P6(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Xf(Object(t),!0).forEach(function(r){M6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Xf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function M6(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=D6(n,"string");return Yi(e)=="symbol"?e:String(e)}function D6(n,e){if(Yi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Yi(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function T6(n,e){if(n==null)return{};var t=N6(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 N6(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=b.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=T6(n,j6),i=t==="color"?Sb:Wh;return u.jsx(In,P6({Icon:i,Text:Cb,"aria-label":Fr,spaceMultiple:XC,textMultiple:JC},r))}),sr=Wh;sr.Color=Sb;sr.Text=Cb;sr.Combine=E6;sr.Avatar=f6;sr.colorPrimary=kb;sr.title=Fr;var Is="OpenAI",R6=.75,L6=.1,Ob="#000",jb="#19C37D",Pb="#AB68FF",Mb="#F86AA4",_h="#F9C322",Ab="#0099FF",Db="#0000FE",I6=Ob,B6="#fff",$6=.75;function Qi(n){"@babel/helpers - typeof";return Qi=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},Qi(n)}var F6=["size","style"];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 El(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){V6(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 V6(n,e,t){return e=z6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function z6(n){var e=H6(n,"string");return Qi(e)=="symbol"?e:String(e)}function H6(n,e){if(Qi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Qi(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=_6(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 _6(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 Uh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=W6(n,F6);return u.jsxs("svg",El(El({fill:"currentColor",fillRule:"evenodd",height:t,style:El({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:Is}),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"})]}))}),nr="Gemini",U6=.8,K6=.2,Tb="#fff",G6=Tb,q6="#fff",Y6=.8;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 Q6=["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 Rl(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){J6(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 J6(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=Z6(n,"string");return Ji(e)=="symbol"?e:String(e)}function Z6(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 eO(n,e){return iO(n)||rO(n,e)||nO(n,e)||tO()}function tO(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
218
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nO(n,e){if(n){if(typeof n=="string")return tp(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 tp(n,e)}}function tp(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 rO(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 iO(n){if(Array.isArray(n))return 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 Kh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=sO(n,Q6),s=QC(nr,3),o=eO(s,3),a=o[0],l=o[1],c=o[2];return u.jsxs("svg",Rl(Rl({height:t,style:Rl({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:nr}),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 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)}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 aO(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){lO(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 lO(n,e,t){return e=cO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function cO(n){var e=hO(n,"string");return Xi(e)=="symbol"?e:String(e)}function hO(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 uO(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var dO=b.memo(function(n){var e=Object.assign({},(uO(n),n));return u.jsx(Ln,aO({Icon:Kh,"aria-label":nr,background:G6,color:q6,iconMultiple:Y6},e))});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 fO=["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 Ll(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){pO(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 pO(n,e,t){return e=mO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function mO(n){var e=gO(n,"string");return Zi(e)=="symbol"?e:String(e)}function gO(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 bO(n,e){if(n==null)return{};var t=yO(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 yO(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 Nb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=bO(n,fO);return u.jsxs("svg",Ll(Ll({fill:"currentColor",fillRule:"evenodd",height:t,style:Ll({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:nr}),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 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 xO=["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 Il(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){vO(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 vO(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=kO(n,"string");return es(e)=="symbol"?e:String(e)}function kO(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 SO(n,e){if(n==null)return{};var t=CO(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 CO(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=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=SO(n,xO);return u.jsxs("svg",Il(Il({fill:"currentColor",fillRule:"evenodd",height:t,style:Il({flex:"none",lineHeight:1},r),viewBox:"0 0 98 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:nr}),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 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 OO=["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 jO(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){PO(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 PO(n,e,t){return e=MO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function MO(n){var e=AO(n,"string");return ts(e)=="symbol"?e:String(e)}function AO(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 DO(n,e){if(n==null)return{};var t=TO(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 TO(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 NO=b.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=DO(n,OO),i=t==="color"?Kh:Nb;return u.jsx(In,jO({Icon:i,Text:Eb,"aria-label":nr,spaceMultiple:K6,textMultiple:U6},r))}),or=Nb;or.Color=Kh;or.Text=Eb;or.Combine=NO;or.Avatar=dO;or.colorPrimary=Tb;or.title=nr;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 EO=["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 RO(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){LO(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 LO(n,e,t){return e=IO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function IO(n){var e=BO(n,"string");return ns(e)=="symbol"?e:String(e)}function BO(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 $O(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 VO=b.memo(function(n){var e=n.type,t=e===void 0?"normal":e,r=$O(n,EO),i=b.useMemo(function(){switch(t){case"gpt3":return jb;case"gpt4":return Pb;case"gpt5":return Mb;case"o3":case"o1":return _h;case"oss":return Ab;case"platform":return Db;default:return I6}},[t]);return u.jsx(Ln,RO({Icon:Uh,"aria-label":Is,background:i,color:B6,iconMultiple:$6},r))});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 zO=["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 Bl(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){HO(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 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 rs(e)=="symbol"?e:String(e)}function _O(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 UO(n,e){if(n==null)return{};var t=KO(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 KO(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 Rb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=UO(n,zO);return u.jsxs("svg",Bl(Bl({fill:"currentColor",fillRule:"evenodd",height:t,style:Bl({flex:"none",lineHeight:1},r),viewBox:"0 0 84 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Is}),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 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 GO=["extraStyle"];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 cp(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){qO(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 qO(n,e,t){return e=YO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function YO(n){var e=QO(n,"string");return is(e)=="symbol"?e:String(e)}function QO(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 JO(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 ZO=b.memo(function(n){var e=n.extraStyle,t=JO(n,GO);return u.jsx(In,cp({Icon:Uh,Text:Rb,"aria-label":Is,extraStyle:cp({fontWeight:600},e),spaceMultiple:L6,textMultiple:R6},t))}),mt=Uh;mt.Text=Rb;mt.Combine=ZO;mt.Avatar=VO;mt.colorPrimary=Ob;mt.colorGpt3=jb;mt.colorGpt4=Pb;mt.colorGpt5=Mb;mt.colorO1=_h;mt.colorO3=_h;mt.colorOss=Ab;mt.colorPlatform=Db;mt.title=Is;var Bs="GithubCopilot",ej=.75,tj=.3,Lb="#000",nj=Lb,rj="#fff",ij=.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 sj=["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 $l(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){oj(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 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 ss(e)=="symbol"?e:String(e)}function lj(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 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 Gh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=cj(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:Bs}),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 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 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 uj(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){dj(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 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 os(e)=="symbol"?e:String(e)}function pj(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 gj=b.memo(function(n){var e=Object.assign({},(mj(n),n));return u.jsx(Ln,uj({Icon:Gh,"aria-label":Bs,background:nj,color:rj,iconMultiple:ij},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 bj=["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 Fl(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){yj(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 yj(n,e,t){return e=xj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function xj(n){var e=vj(n,"string");return as(e)=="symbol"?e:String(e)}function vj(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 wj(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=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=wj(n,bj);return u.jsxs("svg",Fl(Fl({fill:"currentColor",fillRule:"evenodd",height:t,style:Fl({flex:"none",lineHeight:1},r),viewBox:"0 0 154 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Bs}),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 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)}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 Sj(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){Cj(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 Cj(n,e,t){return e=Oj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Oj(n){var e=jj(n,"string");return ls(e)=="symbol"?e:String(e)}function jj(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 Pj(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Mj=b.memo(function(n){var e=Object.assign({},(Pj(n),n));return u.jsx(In,Sj({Icon:Gh,Text:Ib,"aria-label":Bs,spaceMultiple:tj,textMultiple:ej},e))}),Vr=Gh;Vr.Text=Ib;Vr.Combine=Mj;Vr.Avatar=gj;Vr.colorPrimary=Lb;Vr.title=Bs;var $s="Cline",Aj=.7,Dj=.2,Bb="#323B43",Tj=Bb,Nj="#fff",Ej=.6;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 Rj=["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 Vl(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){Lj(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 Lj(n,e,t){return e=Ij(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Ij(n){var e=Bj(n,"string");return cs(e)=="symbol"?e:String(e)}function Bj(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 $j(n,e){if(n==null)return{};var t=Fj(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 Fj(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 qh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=$j(n,Rj);return u.jsxs("svg",Vl(Vl({fill:"currentColor",fillRule:"evenodd",height:t,style:Vl({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:"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 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)}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 Vj(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){zj(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 zj(n,e,t){return e=Hj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Hj(n){var e=Wj(n,"string");return hs(e)=="symbol"?e:String(e)}function Wj(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 _j(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Uj=b.memo(function(n){var e=Object.assign({},(_j(n),n));return u.jsx(Ln,Vj({Icon:qh,"aria-label":$s,background:Tj,color:Nj,iconMultiple:Ej},e))});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 Kj=["size","style"];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 zl(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){Gj(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 Gj(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=Yj(n,"string");return us(e)=="symbol"?e:String(e)}function Yj(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 Qj(n,e){if(n==null)return{};var t=Jj(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 Jj(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 $b=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Qj(n,Kj);return u.jsxs("svg",zl(zl({fill:"currentColor",fillRule:"evenodd",height:t,style:zl({flex:"none",lineHeight:1},r),viewBox:"0 0 88 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:$s}),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 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 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 Xj(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){Zj(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 Zj(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 ds(e)=="symbol"?e:String(e)}function t7(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 n7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var r7=b.memo(function(n){var e=Object.assign({},(n7(n),n));return u.jsx(In,Xj({Icon:qh,Text:$b,"aria-label":$s,iconProps:{shape:"square"},spaceMultiple:Dj,textMultiple:Aj},e))}),zr=qh;zr.Text=$b;zr.Combine=r7;zr.Avatar=Uj;zr.colorPrimary=Bb;zr.title=$s;var Fs="Cursor",i7=.7,s7=.1,Fb="#000",o7=Fb,a7="#fff",l7=.6;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 c7=["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 Hl(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){h7(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 h7(n,e,t){return e=u7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function u7(n){var e=d7(n,"string");return fs(e)=="symbol"?e:String(e)}function d7(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 f7(n,e){if(n==null)return{};var t=p7(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 p7(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 Yh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=f7(n,c7);return u.jsxs("svg",Hl(Hl({fill:"currentColor",fillRule:"evenodd",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:Fs}),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 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 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 m7(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){g7(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 g7(n,e,t){return e=b7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function b7(n){var e=y7(n,"string");return ps(e)=="symbol"?e:String(e)}function y7(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 x7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var v7=b.memo(function(n){var e=Object.assign({},(x7(n),n));return u.jsx(Ln,m7({Icon:Yh,"aria-label":Fs,background:o7,color:a7,iconMultiple:l7},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 w7=["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 Wl(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){k7(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 k7(n,e,t){return e=S7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function S7(n){var e=C7(n,"string");return ms(e)=="symbol"?e:String(e)}function C7(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 O7(n,e){if(n==null)return{};var t=j7(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 j7(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 Vb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=O7(n,w7);return u.jsxs("svg",Wl(Wl({fill:"currentColor",fillRule:"evenodd",height:t,style:Wl({flex:"none",lineHeight:1},r),viewBox:"0 0 123 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Fs}),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 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 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 P7(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){M7(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 M7(n,e,t){return e=A7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function A7(n){var e=D7(n,"string");return gs(e)=="symbol"?e:String(e)}function D7(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 T7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var N7=b.memo(function(n){var e=Object.assign({},(T7(n),n));return u.jsx(In,P7({Icon:Yh,Text:Vb,"aria-label":Fs,spaceMultiple:s7,textMultiple:i7},e))}),Hr=Yh;Hr.Text=Vb;Hr.Combine=N7;Hr.Avatar=v7;Hr.colorPrimary=Fb;Hr.title=Fs;var Vs="Goose",E7=.7,R7=.2,zb="#fff",L7=zb,I7="#000",B7=.65;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 $7=["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 _l(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){F7(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 F7(n,e,t){return e=V7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function V7(n){var e=z7(n,"string");return bs(e)=="symbol"?e:String(e)}function z7(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 H7(n,e){if(n==null)return{};var t=W7(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 W7(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 Qh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=H7(n,$7);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:Vs}),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 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 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 _7(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=K7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function K7(n){var e=G7(n,"string");return ys(e)=="symbol"?e:String(e)}function G7(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 q7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Y7=b.memo(function(n){var e=Object.assign({},(q7(n),n));return u.jsx(Ln,_7({Icon:Qh,"aria-label":Vs,background:L7,color:I7,iconMultiple:B7},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 Q7=["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 Ul(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){J7(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 J7(n,e,t){return e=X7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function X7(n){var e=Z7(n,"string");return xs(e)=="symbol"?e:String(e)}function Z7(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 eP(n,e){if(n==null)return{};var t=tP(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 tP(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=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=eP(n,Q7);return u.jsxs("svg",Ul(Ul({fill:"currentColor",fillRule:"evenodd",height:t,style:Ul({flex:"none",lineHeight:1},r),viewBox:"0 0 87 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Vs}),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 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 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 nP(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){rP(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 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 vs(e)=="symbol"?e:String(e)}function sP(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 oP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var aP=b.memo(function(n){var e=Object.assign({},(oP(n),n));return u.jsx(In,nP({Icon:Qh,Text:Hb,"aria-label":Vs,iconProps:{shape:"square"},spaceMultiple:R7,textMultiple:E7},e))}),Wr=Qh;Wr.Text=Hb;Wr.Combine=aP;Wr.Avatar=Y7;Wr.colorPrimary=zb;Wr.title=Vs;var zs="Windsurf",lP=.7,cP=.2,Wb="#fff",hP=Wb,uP="#000",dP=.75;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 fP=["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 Kl(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){pP(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 pP(n,e,t){return e=mP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function mP(n){var e=gP(n,"string");return ws(e)=="symbol"?e:String(e)}function gP(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 bP(n,e){if(n==null)return{};var t=yP(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 yP(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=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=bP(n,fP);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:zs}),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 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 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 xP(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){vP(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 vP(n,e,t){return e=wP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function wP(n){var e=kP(n,"string");return ks(e)=="symbol"?e:String(e)}function kP(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 SP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var CP=b.memo(function(n){var e=Object.assign({},(SP(n),n));return u.jsx(Ln,xP({Icon:Jh,"aria-label":zs,background:hP,color:uP,iconMultiple:dP},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 OP=["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 Gl(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){jP(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 jP(n,e,t){return e=PP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function PP(n){var e=MP(n,"string");return Ss(e)=="symbol"?e:String(e)}function MP(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 AP(n,e){if(n==null)return{};var t=DP(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 DP(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 _b=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=AP(n,OP);return u.jsxs("svg",Gl(Gl({fill:"currentColor",fillRule:"evenodd",height:t,style:Gl({flex:"none",lineHeight:1},r),viewBox:"0 0 111 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:zs}),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 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 TP(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){NP(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 NP(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 Cs(e)=="symbol"?e:String(e)}function RP(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 LP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var IP=b.memo(function(n){var e=Object.assign({},(LP(n),n));return u.jsx(In,TP({Icon:Jh,Text:_b,"aria-label":zs,iconProps:{shape:"square"},spaceMultiple:cP,textMultiple:lP},e))}),_r=Jh;_r.Text=_b;_r.Combine=IP;_r.Avatar=CP;_r.colorPrimary=Wb;_r.title=zs;const BP={"claude-code":sr.Avatar,cursor:Hr.Avatar,codex:mt.Avatar,"gemini-cli":or.Avatar,goose:Wr.Avatar,"github-copilot":Vr.Avatar,windsurf:_r.Avatar,cline:zr.Avatar},$P={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 FP(n){return n.split(/\s+/).map(e=>e[0]).join("").toUpperCase().slice(0,2)}const Ub=({agentName:n,displayName:e,size:t=20})=>{const r=BP[n];if(r)return u.jsx(r,{size:t});const i=$P[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:FP(e)})},VP={agents:!0,commands:!0,skills:!0,config:!0,rules:!0},ln=["agents","commands","skills","config","rules"],br={agents:"migrateTypeAgents",commands:"migrateTypeCommands",skills:"migrateTypeSkills",config:"migrateTypeConfig",rules:"migrateTypeRules"},Dp={detected:"#D4A574","not-detected":"#8B9DC3"};function Yc(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 zP=({provider:n,include:e,isSelected:t,onToggleSelect:r,onOpenDetails:i,t:s})=>{const o=ln.filter(l=>n.capabilities[l]).length,a=ln.some(l=>e[l]&&!n.capabilities[l]);return u.jsxs("div",{onClick:()=>i(n),className:`grid grid-cols-[1.1fr_120px_260px_120px] items-center gap-4 px-4 py-2.5 rounded-lg border cursor-pointer transition-all ${t?"bg-dash-accent-subtle border-dash-accent/30":a?"bg-dash-surface border-yellow-500/20 hover:bg-dash-surface-hover hover:border-yellow-500/35":"bg-dash-surface border-transparent hover:bg-dash-surface-hover hover:border-dash-border"}`,children:[u.jsxs("div",{className:"min-w-0",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx(Ub,{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 mt-0.5 truncate",children:[n.name," · ",o,"/5 ",s("migrateCapabilitiesLabel")]})]}),u.jsxs("div",{className:"flex flex-col gap-1 text-[11px]",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:ln.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(br[l])},l)})}),u.jsx("div",{className:"flex justify-end",children:u.jsx("button",{type:"button",onClick:l=>{l.stopPropagation(),r(n.name)},className:`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")})})]})},HP=({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(Ub,{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:ln.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(br[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 ${Yc(r,o).className}`,children:Yc(r,o).label})]}),u.jsx("p",{className:"text-xs font-mono text-dash-text break-all",children:r.path||"-"}),(r.error||r.skipReason)&&u.jsx("p",{className:"text-xs text-red-400 break-words",children: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")})]})]})]}),WP=()=>{const{t:n}=ve(),[e,t]=b.useState([]),[r,i]=b.useState(null),[s,o]=b.useState([]),[a,l]=b.useState(VP),[c,h]=b.useState(!1),[d,f]=b.useState(!0),[p,m]=b.useState(!1),[g,y]=b.useState(!1),[v,k]=b.useState(null),[S,P]=b.useState(null),[O,M]=b.useState(""),[x,D]=b.useState("all"),[T,I]=b.useState(null),R=b.useCallback(async(E=!1)=>{try{E?m(!0):f(!0),k(null);const[W,fe]=await Promise.all([nv(),Vu()]);t(W.providers),i(fe),o(Pe=>{const $n=W.providers.map(Ie=>Ie.name),Rt=Pe.filter(Ie=>$n.includes(Ie));if(Rt.length>0)return Rt;const Hs=W.providers.filter(Ie=>Ie.recommended&&Ie.detected).map(Ie=>Ie.name);if(Hs.length>0)return Hs;const Ws=W.providers.filter(Ie=>Ie.detected).map(Ie=>Ie.name);return Ws.length>0?Ws:W.providers.filter(Ie=>Ie.recommended).map(Ie=>Ie.name)})}catch(W){k(W instanceof Error?W.message:n("migrateDetectFailed"))}finally{f(!1),m(!1)}},[n]);b.useEffect(()=>{R()},[R]);const B=b.useMemo(()=>{const E=new Map;for(const W of e)E.set(W.name,W);return E},[e]);b.useEffect(()=>{T&&!B.has(T.name)&&I(null)},[T,B]);const U=b.useMemo(()=>new Set(s),[s]),q=b.useMemo(()=>e.filter(E=>E.detected).length,[e]),F=s.length,X=b.useMemo(()=>ln.filter(E=>a[E]).length,[a]),ce=b.useMemo(()=>{const E=[];a.commands&&s.includes("codex")&&!c&&B.get("codex")?.commandsGlobalOnly&&E.push(n("migrateGlobalForced"));for(const W of ln){if(!a[W])continue;const fe=s.filter(Pe=>!B.get(Pe)?.capabilities[W]).map(Pe=>B.get(Pe)?.displayName||Pe);fe.length>0&&E.push(`${n("migrateUnsupported")}: ${n(br[W])} -> ${fe.join(", ")}`)}return E},[a,c,B,s,n]),H=b.useCallback(E=>{if(E==="codex"){o(["codex"]);return}if(E==="antigravity"){o(["antigravity"]);return}if(E==="core"){const fe=["codex","antigravity"].filter(Pe=>e.some($n=>$n.name===Pe));o(fe);return}const W=e.filter(fe=>fe.detected).map(fe=>fe.name);o(W)},[e]),Y=b.useCallback(E=>{o(W=>W.includes(E)?W.filter(fe=>fe!==E):[...W,E])},[]),$=b.useCallback(E=>{l(W=>({...W,[E]:!W[E]}))},[]),ne=b.useMemo(()=>{const E=[...e];return E.sort((W,fe)=>{const Pe=U.has(W.name),$n=U.has(fe.name);return Pe!==$n?Pe?-1:1:W.detected!==fe.detected?W.detected?-1:1:W.recommended!==fe.recommended?W.recommended?-1:1:W.displayName.localeCompare(fe.displayName)}),E},[e,U]),Q=b.useMemo(()=>{const E=O.trim().toLowerCase();return ne.filter(W=>{if(x==="selected"&&!U.has(W.name)||x==="detected"&&!W.detected||x==="recommended"&&!W.recommended||x==="not-detected"&&W.detected)return!1;if(!E)return!0;const fe=ln.filter(Pe=>W.capabilities[Pe]).map(Pe=>n(br[Pe]).toLowerCase());return W.displayName.toLowerCase().includes(E)||W.name.toLowerCase().includes(E)||fe.some(Pe=>Pe.includes(E))})},[x,O,U,ne,n]),ae=b.useMemo(()=>{const E=Q.filter(Pe=>Pe.detected),W=Q.filter(Pe=>!Pe.detected),fe=[];return E.length>0&&fe.push({key:"detected",label:n("migrateDetectedTag"),providers:E}),W.length>0&&fe.push({key:"not-detected",label:n("migrateNotDetectedTag"),providers:W}),fe},[Q,n]),me=b.useMemo(()=>({all:e.length,selected:F,detected:e.filter(E=>E.detected).length,recommended:e.filter(E=>E.recommended).length,"not-detected":e.filter(E=>!E.detected).length}),[e,F]),we=b.useMemo(()=>Q.map(E=>E.name),[Q]),nt=b.useCallback(()=>{o(E=>{const W=new Set(E);for(const fe of we)W.add(fe);return Array.from(W)})},[we]),en=b.useCallback(()=>{o([])},[]),Bn=b.useCallback(async()=>{if(s.length===0){k(n("migrateSelectProvider"));return}if(X===0){k(n("migrateNoTypesEnabled"));return}try{y(!0),k(null);const E=await iv({providers:s,global:c,include:a});P(E),E.effectiveGlobal!==c&&h(E.effectiveGlobal);const W=await Vu();i(W)}catch(E){k(E instanceof Error?E.message:n("migrateExecuteFailed"))}finally{y(!1)}},[X,a,c,s,n]),$a=b.useMemo(()=>{const E=new Map;if(!S)return E;for(const W of S.results)E.has(W.provider)||E.set(W.provider,W);return E},[S]);b.useEffect(()=>{const E=W=>{W.key==="/"&&document.activeElement?.tagName!=="INPUT"&&(W.preventDefault(),document.getElementById("migrate-search")?.focus())};return document.addEventListener("keydown",E),()=>document.removeEventListener("keydown",E)},[]);const Fa=!g&&s.length>0&&X>0;return d?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:"h-full flex flex-col overflow-hidden",children:[u.jsx("div",{className:"border-b border-dash-border bg-dash-surface px-8 py-5",children:u.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4",children:[u.jsxs("div",{children:[u.jsx("h1",{className:"text-xl font-bold text-dash-text",children:n("migrateTitle")}),u.jsx("p",{className:"text-sm text-dash-text-muted mt-0.5",children:n("migrateSubtitle")})]}),u.jsxs("div",{className:"flex items-center gap-6",children:[u.jsxs("div",{className:"text-center",children:[u.jsx("div",{className:"text-xl font-bold text-dash-accent",children:r?.counts.agents??0}),u.jsx("div",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateTypeAgents")})]}),u.jsxs("div",{className:"text-center",children:[u.jsx("div",{className:"text-xl font-bold text-dash-accent",children:q}),u.jsx("div",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateDetectedProviders")})]}),u.jsxs("div",{className:"text-center",children:[u.jsx("div",{className:"text-xl font-bold text-dash-accent",children:F}),u.jsx("div",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateSelectedProviders")})]})]})]})}),u.jsxs("div",{className:"border-b border-dash-border bg-dash-surface px-8 py-3 space-y-2.5",children:[u.jsxs("div",{className:"flex items-center gap-3",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:O,onChange:E=>M(E.target.value),placeholder:n("migrateSearchProviders"),className:"w-full pl-9 pr-12 py-2 bg-dash-bg border border-dash-border rounded-lg text-dash-text text-sm focus:outline-none 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.jsx("button",{type:"button",onClick:()=>R(!0),disabled:p,className:"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(p?"checking":"migrateRefresh")}),u.jsx("button",{type:"button",onClick:nt,disabled:we.length===0,className:"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:en,disabled:F===0,className:"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:()=>D(E.key),className:`px-3 py-1 text-xs font-medium rounded-full border transition-all whitespace-nowrap ${x===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.jsx("div",{className:"flex flex-wrap items-center gap-2",children:ln.map(E=>u.jsx("button",{type:"button",onClick:()=>$(E),className:`px-2.5 py-1 text-[11px] uppercase tracking-wide rounded-md border transition-colors ${a[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(br[E])},E))}),u.jsxs("div",{className:"flex flex-wrap gap-2",children:[u.jsx("button",{type:"button",onClick:()=>H("codex"),className:"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:()=>H("antigravity"),className:"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:()=>H("core"),className:"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:()=>H("detected"),className:"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")})]})]}),u.jsxs("div",{className:"flex-1 overflow-y-auto px-8 py-6 pb-36 space-y-6",children:[v&&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:v}),u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg 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:ln.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(br[E])}),u.jsx("p",{className:"text-lg font-semibold text-dash-text",children:r?.counts[E]??0})]},E))})]}),u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg 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:[Q.length," ",n("migrateProvidersCountSuffix")]})]}),e.length===0?u.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProviders")}):Q.length===0?u.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProvidersMatch")}):u.jsx("div",{className:"space-y-5",children:ae.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:Dp[E.key]}}),u.jsx("h2",{className:"text-[13px] font-semibold uppercase tracking-wide",style:{color:Dp[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-1.5",children:E.providers.map(W=>u.jsx(zP,{provider:W,include:a,isSelected:U.has(W.name),onToggleSelect:Y,onOpenDetails:I,t:n},W.name))})]},E.key))})]}),S&&u.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg p-5",children:[u.jsx("h2",{className:"text-sm font-semibold text-dash-text mb-4",children:n("migrateResults")}),u.jsxs("div",{className:"grid grid-cols-3 gap-3 mb-4",children:[u.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md",children:[u.jsx("p",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateInstalled")}),u.jsx("p",{className:"text-lg font-semibold text-green-400",children:S.counts.installed})]}),u.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md",children:[u.jsx("p",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateSkipped")}),u.jsx("p",{className:"text-lg font-semibold text-yellow-400",children:S.counts.skipped})]}),u.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md",children:[u.jsx("p",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateFailed")}),u.jsx("p",{className:"text-lg font-semibold text-red-400",children:S.counts.failed})]})]}),S.warnings.length>0&&u.jsx("div",{className:"mb-4 space-y-2",children:S.warnings.map(E=>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))}),S.results.length===0?u.jsx("p",{className:"text-sm text-dash-text-muted",children:n("migrateNoResults")}):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:n("migrateProvider")}),u.jsx("th",{className:"text-left px-3 py-2",children:n("migrateStatus")}),u.jsx("th",{className:"text-left px-3 py-2",children:n("migratePath")}),u.jsx("th",{className:"text-left px-3 py-2",children:n("migrateError")})]})}),u.jsx("tbody",{children:S.results.map((E,W)=>{const fe=Yc(E,n);return u.jsxs("tr",{children:[u.jsx("td",{className:"px-3 py-2 border-t border-dash-border",children:E.providerDisplayName}),u.jsx("td",{className:`px-3 py-2 border-t border-dash-border ${fe.className}`,children:fe.label}),u.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-dash-text-muted",children:E.path||"-"}),u.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-red-400",children:E.error||E.skipReason||"-"})]},`${E.provider}-${E.path}-${W}`)})})]})})]})]}),u.jsxs("div",{className:"border-t border-dash-border bg-dash-surface/95 backdrop-blur px-8 py-3",children:[u.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",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",children:[F," ",n("migrateProvidersCountSuffix")," · ",X,"/5"," ",n("migrateTypes")]})]}),u.jsxs("div",{className:"flex items-center gap-3",children:[u.jsxs("div",{className:"inline-flex rounded-md border border-dash-border overflow-hidden",children:[u.jsx("button",{type:"button",onClick:()=>h(!1),className:`px-3 py-2 text-sm ${c?"bg-dash-bg text-dash-text-secondary":"bg-dash-accent-subtle text-dash-accent"}`,children:n("migrateScopeProject")}),u.jsx("button",{type:"button",onClick:()=>h(!0),className:`px-3 py-2 text-sm border-l border-dash-border ${c?"bg-dash-accent-subtle text-dash-accent":"bg-dash-bg text-dash-text-secondary"}`,children:n("migrateScopeGlobal")})]}),u.jsx("button",{type:"button",onClick:Bn,disabled:!Fa,className:"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(g?"migrateRunning":"migrateRun")})]})]}),ce.length>0&&u.jsx("div",{className:"mt-3 space-y-2",children:ce.map(E=>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))})]}),T&&u.jsx(HP,{provider:T,include:a,isSelected:U.has(T.name),latestResult:$a.get(T.name)||null,onToggleSelect:Y,onClose:()=>I(null),t:n})]})},_P=({featureId:n,name:e,description:t,included:r})=>{const{t:i}=ve();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)})]})},UP=({selectedKit:n,onKitSelect:e,onInstall:t,installing:r})=>{const{t:i}=ve(),[s,o]=b.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(ql,{number:1,active:s===1,label:i("stepChooseKit")}),u.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),u.jsx(ql,{number:2,active:s===2,label:i("stepConfigure")}),u.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),u.jsx(ql,{number:3,active:s===3,label:i("stepInstall")})]}),u.jsxs("div",{className:"min-h-[200px]",children:[s===1&&u.jsx(KP,{onSelect:e,selected:n}),s===2&&n&&u.jsx(GP,{kit:n}),s===3&&u.jsx(qP,{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")})]})]})},ql=({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})]}),KP=({onSelect:n,selected:e})=>{const{t}=ve();return u.jsxs("div",{className:"space-y-4",children:[u.jsx("p",{className:"text-[var(--dash-text-muted)]",children:e?`Selected: ${e===Vt.ENGINEER?t("kitEngineerName"):t("kitMarketingName")}`:"Please select a kit above"}),e&&u.jsxs("button",{type:"button",onClick:()=>n(e===Vt.ENGINEER?Vt.MARKETING:Vt.ENGINEER),className:"text-sm text-[var(--dash-accent)] hover:underline",children:["Switch to ",e===Vt.ENGINEER?t("kitMarketingName"):t("kitEngineerName")]})]})},GP=()=>u.jsx("div",{className:"text-[var(--dash-text-muted)]",children:"Configuration preview placeholder"}),qP=({installing:n})=>u.jsx("div",{className:"text-[var(--dash-text-muted)]",children:n?"Installing...":"Ready to install"}),YP=({kit:n,onGetStarted:e})=>{const{t}=ve(),r=fn(),i=n===Vt.ENGINEER?"kitEngineerName":n===Vt.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")})]})]})},QP=[{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}],Kb={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 JP(n){const e=Kb[n];return e?QP.filter(t=>e.features.includes(t.id)):(console.warn(`Unknown kit type: ${n}`),[])}const XP=({kit:n,selected:e,onSelect:t,features:r})=>{const{t:i}=ve();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(_P,{featureId:s.id,name:s.name,description:s.description,included:!0},s.id))})]})},ZP=()=>{const{t:n}=ve(),e=fn(),[t,r]=b.useState(null),[i,s]=b.useState(!1),[o,a]=b.useState(!1),[l,c]=b.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(YP,{kit:t,onGetStarted:()=>e("/")});const d=f=>f==="engineer"?Vt.ENGINEER:Vt.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(Kb).map(f=>{const p=d(f.id);return u.jsx(XP,{kit:f,selected:t===p,onSelect:()=>r(p),features:JP(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(UP,{selectedKit:t,onKitSelect:r,onInstall:h,installing:i})]})},e8=()=>{const{t:n}=ve(),e=fn(),{projectId:t}=sm(),[r,i]=b.useState(null),{sizes:s,isDragging:o,startDrag:a}=bb({storageKey:"claudekit-project-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),l=b.useCallback(async()=>{if(!t)throw new Error("No project ID");const[g,y,v]=await Promise.all([Uf("project",t),Uf("global"),pm()]),k=v.find(S=>S.id===t);return k&&i(k.path),{...g,global:y.config??{}}},[t]),c=b.useCallback(async g=>{t&&await yb({scope:"project",projectId:t,config:g})},[t]),h=gb({scope:"project",fetchConfig:l,fetchSchema:xb,saveConfig:c}),d=b.useCallback(g=>{const y=ec(h.config,g),v=ec(h.globalConfig,g);return y!==void 0&&v!==void 0&&y!==v},[h.config,h.globalConfig]),f=b.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(gm,{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(bm,{width:s[0],isLoading:h.isLoading,schema:h.schema,config:h.config,sources:h.sources,sections:f,onChange:h.handleFormChange}),u.jsx(ki,{direction:"horizontal",isDragging:o,onMouseDown:g=>a(0,g)}),u.jsx(db,{width:s[1],isLoading:h.isLoading,jsonText:h.jsonText,cursorLine:h.cursorLine,syntaxError:h.syntaxError,onChange:h.handleJsonChange,onCursorLineChange:h.setCursorLine}),u.jsx(ki,{direction:"horizontal",isDragging:o,onMouseDown:g=>a(1,g)}),u.jsx(fb,{width:s[2],fieldDoc:h.fieldDoc,activeFieldPath:h.activeFieldPath,overrideBadge:p,extraContent:m})]})]})},t8=({project:n})=>{const{t:e}=ve(),t=fn(),{skills:r,loading:i}=sv(),{sessions:s,loading:o}=ov(n.id),a=async c=>{try{await Jx(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(n8,{status:n.health}),u.jsx(cC,{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(Po,{icon:"📟",label:e("terminal"),sub:e("terminalSub"),onClick:()=>a("terminal")}),u.jsx(Po,{icon:"💻",label:e("editor"),sub:e("editorSub"),onClick:()=>a("editor")}),u.jsx(Po,{icon:"🤖",label:e("launch"),sub:e("launchSub"),highlight:!0,onClick:()=>a("launch")}),u.jsx(Po,{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(Mo,{label:e("activeKit"),value:n.kitType}),u.jsx(Mo,{label:e("aiModel"),value:n.model}),u.jsx(Mo,{label:e("hooks"),value:`${n.activeHooks} ${e("active")}`}),u.jsx(Mo,{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")," →"]})})]})]})]})]})},n8=({status:n})=>{const e={[vn.HEALTHY]:"bg-dash-accent-subtle text-dash-accent border-dash-accent/20",[vn.WARNING]:"bg-orange-500/10 text-orange-600 border-orange-500/20",[vn.ERROR]:"bg-red-500/10 text-red-600 border-red-500/20",[vn.LOADING]:"bg-dash-border/20 text-dash-text-muted border-dash-border",[vn.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})},Po=({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})]}),Mo=({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})]}),r8=()=>{const{t:n}=ve(),{project:e}=Ly();return e?u.jsx(t8,{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")})]})},i8=Ax([{path:"/",element:u.jsx(cv,{}),children:[{index:!0,element:u.jsx(Ya,{to:"/config/global",replace:!0})},{path:"config/global",element:u.jsx(OC,{})},{path:"config/project/:projectId",element:u.jsx(e8,{})},{path:"project/:projectId",element:u.jsx(r8,{})},{path:"onboarding",element:u.jsx(ZP,{})},{path:"migrate",element:u.jsx(WP,{})},{path:"skills",element:u.jsx(Ya,{to:"/migrate",replace:!0})},{path:"*",element:u.jsx(Ya,{to:"/",replace:!0})}]}]),Gb=document.getElementById("root");if(!Gb)throw document.body.innerHTML='<div style="padding:20px;color:red;">Fatal: Root element not found</div>',new Error("Root element #root not found");Yl.createRoot(Gb).render(u.jsx(c1.StrictMode,{children:u.jsx(_x,{children:u.jsx(Ux,{children:u.jsx(zx,{router:i8})})})}));
|
|
216
|
+
}`}},OC=(n,e)=>{const[t,r]=b.useState(null);return b.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 xb(n){const{scope:e,fetchConfig:t,fetchSchema:r,saveConfig:i,onReset:s}=n,[o,a]=b.useState("{}"),[l,c]=b.useState(0),[h,d]=b.useState(null),[f,p]=b.useState(null),[m,g]=b.useState({}),[y,v]=b.useState({}),[k,S]=b.useState({}),[P,O]=b.useState(!0),[M,x]=b.useState("idle"),[D,T]=b.useState(!1),[R,L]=b.useState(null),$=OC(o,l),U=$?CC[$]:null;b.useEffect(()=>{(async()=>{try{const[q,B]=await Promise.all([t(),r()]),ne=q.local??q.config;g(ne),v(q.global??{}),S(q.sources),p(B),a(JSON.stringify(ne,null,2))}catch(q){console.error("Failed to load config data:",q)}finally{O(!1)}})()},[t,r]),b.useEffect(()=>{try{JSON.parse(o),d(null)}catch(z){d(z instanceof Error?z.message:"Invalid JSON")}},[o]),b.useEffect(()=>{if(R==="json")try{const z=JSON.parse(o);g(z)}catch{}},[o,R]);const _=b.useCallback(z=>{L("json"),a(z)},[]),V=b.useCallback((z,q)=>{L("form"),g(B=>{const ne=uv(B,z,q);return a(JSON.stringify(ne,null,2)),ne}),S(B=>({...B,[z]:e}))},[e]),J=b.useCallback(async()=>{if(!h){x("saving");try{const z=JSON.parse(o);await i(z),g(z),x("saved"),setTimeout(()=>x("idle"),2e3)}catch{x("error"),setTimeout(()=>x("idle"),3e3)}}},[o,h,i]),ue=b.useCallback(async()=>{if(T(!1),s){O(!0);try{const z=await s(),q=z.local??z.config;g(q),S(z.sources),a(JSON.stringify(q,null,2))}catch(z){console.error("Failed to reset:",z)}finally{O(!1)}}else{const z={};g(z),a(JSON.stringify(z,null,2))}},[s]);return{jsonText:o,config:m,globalConfig:y,sources:k,schema:f,isLoading:P,saveStatus:M,syntaxError:h,cursorLine:l,showResetConfirm:D,activeFieldPath:$,fieldDoc:U,handleJsonChange:_,handleFormChange:V,handleSave:J,handleReset:ue,setCursorLine:c,setShowResetConfirm:T}}function vb({storageKey:n,defaultSizes:e,minSizes:t}){const[r,i]=b.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]=b.useState(!1);b.useEffect(()=>{localStorage.setItem(n,JSON.stringify(r))},[r,n]);const a=b.useCallback((c,h)=>{h.preventDefault(),o(!0);const d=h.target.parentElement;if(!d)return;const p=d.getBoundingClientRect().width,m=h.clientX,g=[...r],y=k=>{const P=(k.clientX-m)/p*100,O=[...g],M=c,x=c+1;let D=g[M]+P,T=g[x]-P;D<t[M]&&(D=t[M],T=g[M]+g[x]-D),T<t[x]&&(T=t[x],D=g[M]+g[x]-T),O[M]=D,O[x]=T,i(O)},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=b.useCallback(()=>{i(e)},[e]);return{sizes:r,isDragging:s,startDrag:a,reset:l}}const Fa="/api";async function Gf(n){const e=`${Fa}/ck-config`,t=await fetch(e);if(!t.ok)throw new Error(`Failed to fetch ck-config: ${t.status}`);return t.json()}async function qf(n,e){const t=new URLSearchParams({scope:n});e&&t.set("projectId",e);const r=await fetch(`${Fa}/ck-config?${t}`);if(!r.ok)throw new Error(`Failed to fetch ck-config: ${r.status}`);return r.json()}async function wb(n){const e=await fetch(`${Fa}/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 kb(){const n=await fetch(`${Fa}/ck-config/schema`);if(!n.ok)throw new Error(`Failed to fetch schema: ${n.status}`);return n.json()}const jC=()=>{const{t:n}=xe(),e=fn(),[t,r]=b.useState("config"),[i,s]=b.useState({}),{sizes:o,isDragging:a,startDrag:l}=vb({storageKey:"claudekit-global-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),c=b.useCallback(async()=>{const[m,g]=await Promise.all([Gf(),nv()]);return s(g),m},[]),h=b.useCallback(async m=>{await wb({scope:"global",config:m})},[]),d=b.useCallback(async()=>await Gf(),[]),f=xb({scope:"global",fetchConfig:c,fetchSchema:kb,saveConfig:h,onReset:d}),p=b.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(xm,{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(vm,{width:o[0],isLoading:f.isLoading,schema:f.schema,config:f.config,sources:f.sources,sections:p,onChange:f.handleFormChange}),u.jsx(Ci,{direction:"horizontal",isDragging:a,onMouseDown:m=>l(0,m)}),u.jsx(mb,{width:o[1],isLoading:f.isLoading,jsonText:f.jsonText,cursorLine:f.cursorLine,syntaxError:f.syntaxError,onChange:f.handleJsonChange,onCursorLineChange:f.setCursorLine}),u.jsx(Ci,{direction:"horizontal",isDragging:a,onMouseDown:m=>l(1,m)}),u.jsx(gb,{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(SC,{metadata:i})})]})]})};var PC=function(e){return typeof window<"u"?matchMedia&&matchMedia("(prefers-color-scheme: ".concat(e,")")):{matches:!1}},Nl,MC=b.createContext({appearance:"light",setAppearance:function(){},isDarkMode:!1,themeMode:"light",setThemeMode:function(){},browserPrefers:(Nl=PC("dark"))!==null&&Nl!==void 0&&Nl.matches?"dark":"light"}),AC=function(){return b.useContext(MC)};const Sb=(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"}},DC=n=>{if(n)return["space-between","space-around","space-evenly"].includes(n)},TC=(n,e)=>Sb(n,e)==="row",cr=n=>typeof n=="number"?`${n}px`:n,NC=({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:g,style:y,children:v,wrap:k,ref:S,...P})=>{const O=o||a,x=TC(r,i)&&!c&&DC(O)?"100%":cr(c),D={...e!==void 0?{"--lobe-flex":String(e)}:{},...r||i?{"--lobe-flex-direction":Sb(r,i)}:{},...k!==void 0?{"--lobe-flex-wrap":k}:{},...O!==void 0?{"--lobe-flex-justify":O}:{},...s!==void 0?{"--lobe-flex-align":s}:{},...x!==void 0?{"--lobe-flex-width":x}:{},...l!==void 0?{"--lobe-flex-height":cr(l)}:{},...h!==void 0?{"--lobe-flex-padding":cr(h)}:{},...d!==void 0?{"--lobe-flex-padding-inline":cr(d)}:{},...f!==void 0?{"--lobe-flex-padding-block":cr(f)}:{},...t!==void 0?{"--lobe-flex-gap":cr(t)}:{},...y},T="lobe-flex",R=[T,n===!1?`${T}--hidden`:void 0,p?`${p}-flex`:void 0,g].filter(Boolean).join(" ");return u.jsx(m,{ref:S,...P,className:R,style:D,children:v})};var Cb=b.memo(NC);const EC=({children:n,ref:e,...t})=>u.jsx(Cb,{...t,align:"center",justify:"center",ref:e,children:n});var RC=EC;const LC=/\p{Lu}?\p{Ll}+|[0-9]+|\p{Lu}+(?!\p{Ll})|\p{Emoji_Presentation}|\p{Extended_Pictographic}|\p{L}+/gu;function IC(n){return Array.from(n.match(LC)??[])}function BC(n){return IC(n).map(t=>t.toLowerCase()).join("-")}b.createContext(null);var $C=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 Ui(n){"@babel/helpers - typeof";return Ui=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},Ui(n)}var FC=["shape","color","background","size","style","iconMultiple","Icon","iconStyle","iconClassName"];function Yf(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?Yf(Object(t),!0).forEach(function(r){VC(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Yf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function VC(n,e,t){return e=zC(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function zC(n){var e=HC(n,"string");return Ui(e)=="symbol"?e:String(e)}function HC(n,e){if(Ui(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ui(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function WC(n,e){if(n==null)return{};var t=_C(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 _C(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 In=b.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=WC(n,FC),m=AC(),g=m.isDarkMode;return u.jsx(RC,Mo(Mo({flex:"none",style:Mo({background:s,borderRadius:t==="circle"?"50%":Math.floor(o*.1),boxShadow:$C(g,s),color:i,height:o,width:o},a)},p),{},{children:h&&u.jsx(h,{className:f,color:i,size:o,style:Mo({transform:"scale(".concat(c,")")},d)})}))});function Ki(n){"@babel/helpers - typeof";return Ki=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},Ki(n)}var UC=["Icon","style","Text","color","size","spaceMultiple","textMultiple","extra","extraStyle","showText","showLogo","extraClassName","iconProps","inverse"];function Qf(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 mn(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Qf(Object(t),!0).forEach(function(r){KC(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Qf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function KC(n,e,t){return e=GC(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function GC(n){var e=qC(n,"string");return Ki(e)=="symbol"?e:String(e)}function qC(n,e){if(Ki(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Ki(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function YC(n,e){if(n==null)return{};var t=QC(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 QC(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 Bn=b.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,g=n.showLogo,y=g===void 0?!0:g,v=n.extraClassName,k=n.iconProps,S=n.inverse,P=YC(n,UC),O=e&&y&&u.jsx(e,mn(mn({size:o},k),{},{style:mn(S?{marginLeft:o*l}:{marginRight:o*l},k?.style)})),M=m&&r&&u.jsx(r,{size:o*h});return u.jsxs(Cb,mn(mn({align:"center",flex:"none",horizontal:!0,justify:"flex-start",style:mn({color:i},t)},P),{},{children:[S?u.jsxs(u.Fragment,{children:[M,O]}):u.jsxs(u.Fragment,{children:[O,M]}),d&&u.jsx("span",{className:v,style:mn({fontSize:o*h*.95,lineHeight:1},f),children:d})]}))}),JC=function(e,t){return b.useMemo(function(){var r=Array.from({length:t},function(i,s){var o="lobe-icons-".concat(BC(e),"-fill-").concat(s);return{fill:"url(#".concat(o,")"),id:o}});return r},[e,t])},Vr="Claude",XC=.8,ZC=.1,Ob="#D97757",e6=Ob,t6="#fff",n6=.75;function Gi(n){"@babel/helpers - typeof";return Gi=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},Gi(n)}var r6=["size","style"];function Jf(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 El(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Jf(Object(t),!0).forEach(function(r){i6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Jf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function i6(n,e,t){return e=s6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function s6(n){var e=o6(n,"string");return Gi(e)=="symbol"?e:String(e)}function o6(n,e){if(Gi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Gi(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function a6(n,e){if(n==null)return{};var t=l6(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 l6(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 Kh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=a6(n,r6);return u.jsxs("svg",El(El({fill:"currentColor",fillRule:"evenodd",height:t,style:El({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:Vr}),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 qi(n){"@babel/helpers - typeof";return qi=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},qi(n)}function Xf(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 c6(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Xf(Object(t),!0).forEach(function(r){h6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Xf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function h6(n,e,t){return e=u6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function u6(n){var e=d6(n,"string");return qi(e)=="symbol"?e:String(e)}function d6(n,e){if(qi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(qi(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function f6(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var p6=b.memo(function(n){var e=Object.assign({},(f6(n),n));return u.jsx(In,c6({Icon:Kh,"aria-label":Vr,background:e6,color:t6,iconMultiple:n6},e))});function Yi(n){"@babel/helpers - typeof";return Yi=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},Yi(n)}var m6=["size","style"];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 Rl(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){g6(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 g6(n,e,t){return e=b6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function b6(n){var e=y6(n,"string");return Yi(e)=="symbol"?e:String(e)}function y6(n,e){if(Yi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Yi(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(n)}function x6(n,e){if(n==null)return{};var t=v6(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 v6(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=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=x6(n,m6);return u.jsxs("svg",Rl(Rl({height:t,style:Rl({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:Vr}),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 Qi(n){"@babel/helpers - typeof";return Qi=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},Qi(n)}var w6=["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 Ll(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){k6(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 k6(n,e,t){return e=S6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function S6(n){var e=C6(n,"string");return Qi(e)=="symbol"?e:String(e)}function C6(n,e){if(Qi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Qi(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=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 Pb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=O6(n,w6);return u.jsxs("svg",Ll(Ll({fill:"currentColor",fillRule:"nonzero",height:t,style:Ll({flex:"none",lineHeight:1},r),viewBox:"0 0 97 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Vr}),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 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 P6=["type"];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 M6(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){A6(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 A6(n,e,t){return e=D6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function D6(n){var e=T6(n,"string");return Ji(e)=="symbol"?e:String(e)}function T6(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 N6(n,e){if(n==null)return{};var t=E6(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 E6(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 R6=b.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=N6(n,P6),i=t==="color"?jb:Kh;return u.jsx(Bn,M6({Icon:i,Text:Pb,"aria-label":Vr,spaceMultiple:ZC,textMultiple:XC},r))}),or=Kh;or.Color=jb;or.Text=Pb;or.Combine=R6;or.Avatar=p6;or.colorPrimary=Ob;or.title=Vr;var $s="OpenAI",L6=.75,I6=.1,Mb="#000",Ab="#19C37D",Db="#AB68FF",Tb="#F86AA4",Gh="#F9C322",Nb="#0099FF",Eb="#0000FE",B6=Mb,$6="#fff",F6=.75;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 V6=["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 Il(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){z6(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 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=W6(n,"string");return Xi(e)=="symbol"?e:String(e)}function W6(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 _6(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 qh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=_6(n,V6);return u.jsxs("svg",Il(Il({fill:"currentColor",fillRule:"evenodd",height:t,style:Il({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"})]}))}),rr="Gemini",K6=.8,G6=.2,Rb="#fff",q6=Rb,Y6="#fff",Q6=.8;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 J6=["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 Bl(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){X6(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 X6(n,e,t){return e=Z6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Z6(n){var e=eO(n,"string");return Zi(e)=="symbol"?e:String(e)}function eO(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 tO(n,e){return sO(n)||iO(n,e)||rO(n,e)||nO()}function nO(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
218
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rO(n,e){if(n){if(typeof n=="string")return ip(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 ip(n,e)}}function ip(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 iO(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 sO(n){if(Array.isArray(n))return n}function oO(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 Yh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=oO(n,J6),s=JC(rr,3),o=tO(s,3),a=o[0],l=o[1],c=o[2];return u.jsxs("svg",Bl(Bl({height:t,style:Bl({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:rr}),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 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 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 lO(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){cO(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 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 es(e)=="symbol"?e:String(e)}function uO(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 dO(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var fO=b.memo(function(n){var e=Object.assign({},(dO(n),n));return u.jsx(In,lO({Icon:Yh,"aria-label":rr,background:q6,color:Y6,iconMultiple:Q6},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 pO=["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 $l(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){mO(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 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 ts(e)=="symbol"?e:String(e)}function bO(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 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 Lb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=yO(n,pO);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:rr}),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 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 vO=["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 Fl(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){wO(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 wO(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=SO(n,"string");return ns(e)=="symbol"?e:String(e)}function SO(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 CO(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 Ib=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=CO(n,vO);return u.jsxs("svg",Fl(Fl({fill:"currentColor",fillRule:"evenodd",height:t,style:Fl({flex:"none",lineHeight:1},r),viewBox:"0 0 98 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:rr}),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 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 jO=["type"];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 PO(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){MO(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 MO(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=DO(n,"string");return rs(e)=="symbol"?e:String(e)}function DO(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 TO(n,e){if(n==null)return{};var t=NO(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 NO(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 EO=b.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=TO(n,jO),i=t==="color"?Yh:Lb;return u.jsx(Bn,PO({Icon:i,Text:Ib,"aria-label":rr,spaceMultiple:G6,textMultiple:K6},r))}),ar=Lb;ar.Color=Yh;ar.Text=Ib;ar.Combine=EO;ar.Avatar=fO;ar.colorPrimary=Rb;ar.title=rr;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 RO=["type"];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 LO(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){IO(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 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 is(e)=="symbol"?e:String(e)}function $O(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 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 zO=b.memo(function(n){var e=n.type,t=e===void 0?"normal":e,r=FO(n,RO),i=b.useMemo(function(){switch(t){case"gpt3":return Ab;case"gpt4":return Db;case"gpt5":return Tb;case"o3":case"o1":return Gh;case"oss":return Nb;case"platform":return Eb;default:return B6}},[t]);return u.jsx(In,LO({Icon:qh,"aria-label":$s,background:i,color:$6,iconMultiple:F6},r))});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 HO=["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 Vl(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){WO(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 WO(n,e,t){return e=_O(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function _O(n){var e=UO(n,"string");return ss(e)=="symbol"?e:String(e)}function UO(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 KO(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 Bb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=KO(n,HO);return u.jsxs("svg",Vl(Vl({fill:"currentColor",fillRule:"evenodd",height:t,style:Vl({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 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 qO=["extraStyle"];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 dp(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){YO(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 YO(n,e,t){return e=QO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function QO(n){var e=JO(n,"string");return os(e)=="symbol"?e:String(e)}function JO(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 XO(n,e){if(n==null)return{};var t=ZO(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 ZO(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 ej=b.memo(function(n){var e=n.extraStyle,t=XO(n,qO);return u.jsx(Bn,dp({Icon:qh,Text:Bb,"aria-label":$s,extraStyle:dp({fontWeight:600},e),spaceMultiple:I6,textMultiple:L6},t))}),gt=qh;gt.Text=Bb;gt.Combine=ej;gt.Avatar=zO;gt.colorPrimary=Mb;gt.colorGpt3=Ab;gt.colorGpt4=Db;gt.colorGpt5=Tb;gt.colorO1=Gh;gt.colorO3=Gh;gt.colorOss=Nb;gt.colorPlatform=Eb;gt.title=$s;var Fs="GithubCopilot",tj=.75,nj=.3,$b="#000",rj=$b,ij="#fff",sj=.75;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 oj=["size","style"];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 zl(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){aj(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 aj(n,e,t){return e=lj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function lj(n){var e=cj(n,"string");return as(e)=="symbol"?e:String(e)}function cj(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 hj(n,e){if(n==null)return{};var t=uj(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 uj(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 Qh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=hj(n,oj);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:Fs}),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 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)}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 dj(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){fj(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 fj(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=mj(n,"string");return ls(e)=="symbol"?e:String(e)}function mj(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 gj(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var bj=b.memo(function(n){var e=Object.assign({},(gj(n),n));return u.jsx(In,dj({Icon:Qh,"aria-label":Fs,background:rj,color:ij,iconMultiple:sj},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 yj=["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 Hl(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){xj(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 xj(n,e,t){return e=vj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function vj(n){var e=wj(n,"string");return cs(e)=="symbol"?e:String(e)}function wj(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 kj(n,e){if(n==null)return{};var t=Sj(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 Sj(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 Fb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=kj(n,yj);return u.jsxs("svg",Hl(Hl({fill:"currentColor",fillRule:"evenodd",height:t,style:Hl({flex:"none",lineHeight:1},r),viewBox:"0 0 154 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Fs}),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 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)}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 Cj(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){Oj(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 Oj(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=Pj(n,"string");return hs(e)=="symbol"?e:String(e)}function Pj(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 Mj(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Aj=b.memo(function(n){var e=Object.assign({},(Mj(n),n));return u.jsx(Bn,Cj({Icon:Qh,Text:Fb,"aria-label":Fs,spaceMultiple:nj,textMultiple:tj},e))}),zr=Qh;zr.Text=Fb;zr.Combine=Aj;zr.Avatar=bj;zr.colorPrimary=$b;zr.title=Fs;var Vs="Cline",Dj=.7,Tj=.2,Vb="#323B43",Nj=Vb,Ej="#fff",Rj=.6;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 Lj=["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 Wl(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){Ij(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 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 us(e)=="symbol"?e:String(e)}function $j(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 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 Jh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Fj(n,Lj);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:Vs}),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 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 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 zj(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){Hj(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 Hj(n,e,t){return e=Wj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Wj(n){var e=_j(n,"string");return ds(e)=="symbol"?e:String(e)}function _j(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 Uj(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Kj=b.memo(function(n){var e=Object.assign({},(Uj(n),n));return u.jsx(In,zj({Icon:Jh,"aria-label":Vs,background:Nj,color:Ej,iconMultiple:Rj},e))});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 Gj=["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 _l(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){qj(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 qj(n,e,t){return e=Yj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Yj(n){var e=Qj(n,"string");return fs(e)=="symbol"?e:String(e)}function Qj(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 Jj(n,e){if(n==null)return{};var t=Xj(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 Xj(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=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Jj(n,Gj);return u.jsxs("svg",_l(_l({fill:"currentColor",fillRule:"evenodd",height:t,style:_l({flex:"none",lineHeight:1},r),viewBox:"0 0 88 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Vs}),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 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 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 Zj(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){e7(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 e7(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=n7(n,"string");return ps(e)=="symbol"?e:String(e)}function n7(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 r7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var i7=b.memo(function(n){var e=Object.assign({},(r7(n),n));return u.jsx(Bn,Zj({Icon:Jh,Text:zb,"aria-label":Vs,iconProps:{shape:"square"},spaceMultiple:Tj,textMultiple:Dj},e))}),Hr=Jh;Hr.Text=zb;Hr.Combine=i7;Hr.Avatar=Kj;Hr.colorPrimary=Vb;Hr.title=Vs;var zs="Cursor",s7=.7,o7=.1,Hb="#000",a7=Hb,l7="#fff",c7=.6;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 h7=["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 Ul(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){u7(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 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 ms(e)=="symbol"?e:String(e)}function f7(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 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 Xh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=p7(n,h7);return u.jsxs("svg",Ul(Ul({fill:"currentColor",fillRule:"evenodd",height:t,style:Ul({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:zs}),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 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 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 g7(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){b7(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 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 gs(e)=="symbol"?e:String(e)}function x7(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 v7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var w7=b.memo(function(n){var e=Object.assign({},(v7(n),n));return u.jsx(In,g7({Icon:Xh,"aria-label":zs,background:a7,color:l7,iconMultiple:c7},e))});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 k7=["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 Kl(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){S7(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 S7(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=O7(n,"string");return bs(e)=="symbol"?e:String(e)}function O7(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 j7(n,e){if(n==null)return{};var t=P7(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 P7(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=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=j7(n,k7);return u.jsxs("svg",Kl(Kl({fill:"currentColor",fillRule:"evenodd",height:t,style:Kl({flex:"none",lineHeight:1},r),viewBox:"0 0 123 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:zs}),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 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 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 M7(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){A7(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 A7(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=T7(n,"string");return ys(e)=="symbol"?e:String(e)}function T7(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 N7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var E7=b.memo(function(n){var e=Object.assign({},(N7(n),n));return u.jsx(Bn,M7({Icon:Xh,Text:Wb,"aria-label":zs,spaceMultiple:o7,textMultiple:s7},e))}),Wr=Xh;Wr.Text=Wb;Wr.Combine=E7;Wr.Avatar=w7;Wr.colorPrimary=Hb;Wr.title=zs;var Hs="Goose",R7=.7,L7=.2,_b="#fff",I7=_b,B7="#000",$7=.65;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 F7=["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 Gl(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){V7(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 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 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 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 Zh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=W7(n,F7);return u.jsxs("svg",Gl(Gl({fill:"currentColor",fillRule:"evenodd",height:t,style:Gl({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:Hs}),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 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 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 U7(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){K7(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 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 vs(e)=="symbol"?e:String(e)}function q7(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 Y7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Q7=b.memo(function(n){var e=Object.assign({},(Y7(n),n));return u.jsx(In,U7({Icon:Zh,"aria-label":Hs,background:I7,color:B7,iconMultiple:$7},e))});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 J7=["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 ql(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){X7(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 X7(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=eP(n,"string");return ws(e)=="symbol"?e:String(e)}function eP(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 tP(n,e){if(n==null)return{};var t=nP(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 nP(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=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=tP(n,J7);return u.jsxs("svg",ql(ql({fill:"currentColor",fillRule:"evenodd",height:t,style:ql({flex:"none",lineHeight:1},r),viewBox:"0 0 87 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Hs}),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 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 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 rP(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){iP(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 iP(n,e,t){return e=sP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function sP(n){var e=oP(n,"string");return ks(e)=="symbol"?e:String(e)}function oP(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 aP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var lP=b.memo(function(n){var e=Object.assign({},(aP(n),n));return u.jsx(Bn,rP({Icon:Zh,Text:Ub,"aria-label":Hs,iconProps:{shape:"square"},spaceMultiple:L7,textMultiple:R7},e))}),_r=Zh;_r.Text=Ub;_r.Combine=lP;_r.Avatar=Q7;_r.colorPrimary=_b;_r.title=Hs;var Ws="Windsurf",cP=.7,hP=.2,Kb="#fff",uP=Kb,dP="#000",fP=.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 pP=["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 Yl(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){mP(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 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 Ss(e)=="symbol"?e:String(e)}function bP(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 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 eu=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=yP(n,pP);return u.jsxs("svg",Yl(Yl({fill:"currentColor",fillRule:"evenodd",height:t,style:Yl({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:Ws}),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 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 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 vP(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){wP(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 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 Cs(e)=="symbol"?e:String(e)}function SP(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 CP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var OP=b.memo(function(n){var e=Object.assign({},(CP(n),n));return u.jsx(In,vP({Icon:eu,"aria-label":Ws,background:uP,color:dP,iconMultiple:fP},e))});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 jP=["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 Ql(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){PP(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 PP(n,e,t){return e=MP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function MP(n){var e=AP(n,"string");return Os(e)=="symbol"?e:String(e)}function AP(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,e){if(n==null)return{};var t=TP(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 TP(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=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=DP(n,jP);return u.jsxs("svg",Ql(Ql({fill:"currentColor",fillRule:"evenodd",height:t,style:Ql({flex:"none",lineHeight:1},r),viewBox:"0 0 111 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[u.jsx("title",{children:Ws}),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 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 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 NP(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){EP(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 EP(n,e,t){return e=RP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function RP(n){var e=LP(n,"string");return js(e)=="symbol"?e:String(e)}function LP(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 IP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var BP=b.memo(function(n){var e=Object.assign({},(IP(n),n));return u.jsx(Bn,NP({Icon:eu,Text:Gb,"aria-label":Ws,iconProps:{shape:"square"},spaceMultiple:hP,textMultiple:cP},e))}),Ur=eu;Ur.Text=Gb;Ur.Combine=BP;Ur.Avatar=OP;Ur.colorPrimary=Kb;Ur.title=Ws;const $P={"claude-code":or.Avatar,cursor:Wr.Avatar,codex:gt.Avatar,"gemini-cli":ar.Avatar,goose:_r.Avatar,"github-copilot":zr.Avatar,windsurf:Ur.Avatar,cline:Hr.Avatar},FP={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 VP(n){return n.split(/\s+/).map(e=>e[0]).join("").toUpperCase().slice(0,2)}const qb=({agentName:n,displayName:e,size:t=20})=>{const r=$P[n];if(r)return u.jsx(r,{size:t});const i=FP[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:VP(e)})},zP={agents:!0,commands:!0,skills:!0,config:!0,rules:!0},ln=["agents","commands","skills","config","rules"],yr={agents:"migrateTypeAgents",commands:"migrateTypeCommands",skills:"migrateTypeSkills",config:"migrateTypeConfig",rules:"migrateTypeRules"},Ep={detected:"#D4A574","not-detected":"#8B9DC3"},gn=({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 Xc(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 HP=({provider:n,include:e,isSelected:t,onToggleSelect:r,onOpenDetails:i,t:s})=>{const o=ln.filter(l=>n.capabilities[l]).length,a=ln.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(qb,{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:ln.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(yr[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")})})]})})},WP=({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(qb,{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:ln.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(yr[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 ${Xc(r,o).className}`,children:Xc(r,o).label})]}),u.jsx("p",{className:"text-xs font-mono text-dash-text break-all",children:r.path||"-"}),(r.error||r.skipReason)&&u.jsx("p",{className:"text-xs text-red-400 break-words",children: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")})]})]})]}),_P=()=>{const{t:n}=xe(),[e,t]=b.useState([]),[r,i]=b.useState(null),[s,o]=b.useState([]),[a,l]=b.useState(zP),[c,h]=b.useState(!1),[d,f]=b.useState(!0),[p,m]=b.useState(!1),[g,y]=b.useState(!1),[v,k]=b.useState(null),[S,P]=b.useState(null),[O,M]=b.useState(""),x=b.useDeferredValue(O),[D,T]=b.useState("all"),[R,L]=b.useState(null),$=b.useCallback(async(E=!1)=>{try{E?m(!0):f(!0),k(null);const[Y,ve]=await Promise.all([rv(),Wu()]);t(Y.providers),i(ve),o(we=>{const Fn=Y.providers.map(Ve=>Ve.name),_s=we.filter(Ve=>Fn.includes(Ve));if(_s.length>0)return _s;const Kr=Y.providers.filter(Ve=>Ve.recommended&&Ve.detected).map(Ve=>Ve.name);if(Kr.length>0)return Kr;const Us=Y.providers.filter(Ve=>Ve.detected).map(Ve=>Ve.name);return Us.length>0?Us:Y.providers.filter(Ve=>Ve.recommended).map(Ve=>Ve.name)})}catch(Y){k(Y instanceof Error?Y.message:n("migrateDetectFailed"))}finally{f(!1),m(!1)}},[n]);b.useEffect(()=>{$()},[$]);const U=b.useMemo(()=>{const E=new Map;for(const Y of e)E.set(Y.name,Y);return E},[e]);b.useEffect(()=>{R&&!U.has(R.name)&&L(null)},[R,U]);const _=b.useMemo(()=>new Set(s),[s]),V=b.useMemo(()=>e.filter(E=>E.detected).length,[e]),J=s.length,ue=b.useMemo(()=>e.filter(E=>E.recommended).length,[e]),z=b.useMemo(()=>ln.filter(E=>a[E]).length,[a]),q=b.useMemo(()=>{const E=[];a.commands&&s.includes("codex")&&!c&&U.get("codex")?.commandsGlobalOnly&&E.push(n("migrateGlobalForced"));for(const Y of ln){if(!a[Y])continue;const ve=s.filter(we=>!U.get(we)?.capabilities[Y]).map(we=>U.get(we)?.displayName||we);ve.length>0&&E.push(`${n("migrateUnsupported")}: ${n(yr[Y])} -> ${ve.join(", ")}`)}return E},[a,c,U,s,n]),B=b.useCallback(E=>{if(E==="codex"){o(["codex"]);return}if(E==="antigravity"){o(["antigravity"]);return}if(E==="core"){const ve=["codex","antigravity"].filter(we=>e.some(Fn=>Fn.name===we));o(ve);return}const Y=e.filter(ve=>ve.detected).map(ve=>ve.name);o(Y)},[e]),ne=b.useCallback(E=>{o(Y=>Y.includes(E)?Y.filter(ve=>ve!==E):[...Y,E])},[]),Z=b.useCallback(E=>{l(Y=>({...Y,[E]:!Y[E]}))},[]),ae=b.useMemo(()=>{const E=[...e];return E.sort((Y,ve)=>{const we=_.has(Y.name),Fn=_.has(ve.name);return we!==Fn?we?-1:1:Y.detected!==ve.detected?Y.detected?-1:1:Y.recommended!==ve.recommended?Y.recommended?-1:1:Y.displayName.localeCompare(ve.displayName)}),E},[e,_]),ce=b.useMemo(()=>{const E=x.trim().toLowerCase();return ae.filter(Y=>{if(D==="selected"&&!_.has(Y.name)||D==="detected"&&!Y.detected||D==="recommended"&&!Y.recommended||D==="not-detected"&&Y.detected)return!1;if(!E)return!0;const ve=ln.filter(we=>Y.capabilities[we]).map(we=>n(yr[we]).toLowerCase());return Y.displayName.toLowerCase().includes(E)||Y.name.toLowerCase().includes(E)||ve.some(we=>we.includes(E))})},[x,D,_,ae,n]),Se=b.useMemo(()=>{const E=ce.filter(we=>we.detected),Y=ce.filter(we=>!we.detected),ve=[];return E.length>0&&ve.push({key:"detected",label:n("migrateDetectedTag"),providers:E}),Y.length>0&&ve.push({key:"not-detected",label:n("migrateNotDetectedTag"),providers:Y}),ve},[ce,n]),rt=b.useMemo(()=>({all:e.length,selected:J,detected:e.filter(E=>E.detected).length,recommended:e.filter(E=>E.recommended).length,"not-detected":e.filter(E=>!E.detected).length}),[e,J]),At=b.useMemo(()=>ce.map(E=>E.name),[ce]),$n=b.useCallback(()=>{o(E=>{const Y=new Set(E);for(const ve of At)Y.add(ve);return Array.from(Y)})},[At]),Va=b.useCallback(()=>{o([])},[]),za=b.useCallback(async()=>{if(s.length===0){k(n("migrateSelectProvider"));return}if(z===0){k(n("migrateNoTypesEnabled"));return}try{y(!0),k(null);const E=await sv({providers:s,global:c,include:a});P(E),E.effectiveGlobal!==c&&h(E.effectiveGlobal);const Y=await Wu();i(Y)}catch(E){k(E instanceof Error?E.message:n("migrateExecuteFailed"))}finally{y(!1)}},[z,a,c,s,n]),Ha=b.useMemo(()=>{const E=new Map;if(!S)return E;for(const Y of S.results)E.has(Y.provider)||E.set(Y.provider,Y);return E},[S]);b.useEffect(()=>{const E=Y=>{Y.key==="/"&&document.activeElement?.tagName!=="INPUT"&&(Y.preventDefault(),document.getElementById("migrate-search")?.focus())};return document.addEventListener("keydown",E),()=>document.removeEventListener("keydown",E)},[]);const Fe=!g&&s.length>0&&z>0;return d?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(gn,{label:n("migrateTypeAgents"),value:r?.counts.agents??0}),u.jsx(gn,{label:n("migrateDetectedProviders"),value:V,tone:"success"}),u.jsx(gn,{label:n("migrateSelectedProviders"),value:J,tone:"accent"}),u.jsx(gn,{label:n("migrateTypes"),value:z})]})]})}),v&&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:v}),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:[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:O,onChange:E=>M(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:()=>$(!0),disabled:p,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(p?"checking":"migrateRefresh")}),u.jsx("button",{type:"button",onClick:$n,disabled:At.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:Va,disabled:J===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:()=>T(E.key),className:`dash-focus-ring px-3 py-1 text-xs font-medium rounded-full border transition-all whitespace-nowrap ${D===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:rt[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:ln.map(E=>u.jsx("button",{type:"button",onClick:()=>Z(E),className:`dash-focus-ring px-2.5 py-1 text-[11px] uppercase tracking-wide rounded-md border transition-colors ${a[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(yr[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:ln.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(yr[E])}),u.jsx("p",{className:"text-lg font-semibold text-dash-text",children:r?.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:[ce.length," ",n("migrateProvidersCountSuffix")]})]}),e.length===0?u.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProviders")}):ce.length===0?u.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProvidersMatch")}):u.jsx("div",{className:"space-y-5",children:Se.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:Ep[E.key]}}),u.jsx("h2",{className:"text-[13px] font-semibold uppercase tracking-wide",style:{color:Ep[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(Y=>u.jsx(HP,{provider:Y,include:a,isSelected:_.has(Y.name),onToggleSelect:ne,onOpenDetails:L,t:n},Y.name))})]},E.key))})]}),S&&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("migrateResults")}),u.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3 mb-4",children:[u.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md",children:[u.jsx("p",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateInstalled")}),u.jsx("p",{className:"text-lg font-semibold text-green-400",children:S.counts.installed})]}),u.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md",children:[u.jsx("p",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateSkipped")}),u.jsx("p",{className:"text-lg font-semibold text-yellow-400",children:S.counts.skipped})]}),u.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md",children:[u.jsx("p",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateFailed")}),u.jsx("p",{className:"text-lg font-semibold text-red-400",children:S.counts.failed})]})]}),S.warnings.length>0&&u.jsx("div",{className:"mb-4 space-y-2",children:S.warnings.map(E=>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))}),S.results.length===0?u.jsx("p",{className:"text-sm text-dash-text-muted",children:n("migrateNoResults")}):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:n("migrateProvider")}),u.jsx("th",{className:"text-left px-3 py-2",children:n("migrateStatus")}),u.jsx("th",{className:"text-left px-3 py-2",children:n("migratePath")}),u.jsx("th",{className:"text-left px-3 py-2",children:n("migrateError")})]})}),u.jsx("tbody",{children:S.results.map((E,Y)=>{const ve=Xc(E,n);return u.jsxs("tr",{className:Y%2===1?"bg-dash-bg/40":void 0,children:[u.jsx("td",{className:"px-3 py-2 border-t border-dash-border",children:E.providerDisplayName}),u.jsx("td",{className:`px-3 py-2 border-t border-dash-border ${ve.className}`,children:ve.label}),u.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-dash-text-muted",children:E.path||"-"}),u.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-red-400",children:E.error||E.skipReason||"-"})]},`${E.provider}-${E.path}-${Y}`)})})]})})]})]}),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:[J," ",n("migrateProvidersCountSuffix")," · ",z,"/5"," ",n("migrateTypes")]})]}),u.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[u.jsx(gn,{label:n("migrateSelectedProviders"),value:J,tone:"accent"}),u.jsx(gn,{label:n("migrateDetectedProviders"),value:V}),u.jsx(gn,{label:n("migrateTypes"),value:z}),u.jsx(gn,{label:n("migrateFilterRecommended"),value:ue,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:()=>h(!1),className:`dash-focus-ring flex-1 px-3 py-2 text-sm ${c?"bg-dash-bg text-dash-text-secondary":"bg-dash-accent-subtle text-dash-accent"}`,children:n("migrateScopeProject")}),u.jsx("button",{type:"button",onClick:()=>h(!0),className:`dash-focus-ring flex-1 px-3 py-2 text-sm border-l border-dash-border ${c?"bg-dash-accent-subtle text-dash-accent":"bg-dash-bg text-dash-text-secondary"}`,children:n("migrateScopeGlobal")})]}),u.jsx("button",{type:"button",onClick:za,disabled:!Fe,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:n(g?"migrateRunning":"migrateRun")}),q.length>0&&u.jsx("div",{className:"space-y-2",children:q.map(E=>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))})]}),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:()=>B("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:()=>B("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:()=>B("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:()=>B("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")})]})]})]})]})]}),R&&u.jsx(WP,{provider:R,include:a,isSelected:_.has(R.name),latestResult:Ha.get(R.name)||null,onToggleSelect:ne,onClose:()=>L(null),t:n})]})},UP=({featureId:n,name:e,description:t,included:r})=>{const{t:i}=xe();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)})]})},KP=({selectedKit:n,onKitSelect:e,onInstall:t,installing:r})=>{const{t:i}=xe(),[s,o]=b.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(Jl,{number:1,active:s===1,label:i("stepChooseKit")}),u.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),u.jsx(Jl,{number:2,active:s===2,label:i("stepConfigure")}),u.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),u.jsx(Jl,{number:3,active:s===3,label:i("stepInstall")})]}),u.jsxs("div",{className:"min-h-[200px]",children:[s===1&&u.jsx(GP,{onSelect:e,selected:n}),s===2&&n&&u.jsx(qP,{kit:n}),s===3&&u.jsx(YP,{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")})]})]})},Jl=({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})]}),GP=({onSelect:n,selected:e})=>{const{t}=xe();return u.jsxs("div",{className:"space-y-4",children:[u.jsx("p",{className:"text-[var(--dash-text-muted)]",children:e?`Selected: ${e===zt.ENGINEER?t("kitEngineerName"):t("kitMarketingName")}`:"Please select a kit above"}),e&&u.jsxs("button",{type:"button",onClick:()=>n(e===zt.ENGINEER?zt.MARKETING:zt.ENGINEER),className:"text-sm text-[var(--dash-accent)] hover:underline",children:["Switch to ",e===zt.ENGINEER?t("kitMarketingName"):t("kitEngineerName")]})]})},qP=()=>u.jsx("div",{className:"text-[var(--dash-text-muted)]",children:"Configuration preview placeholder"}),YP=({installing:n})=>u.jsx("div",{className:"text-[var(--dash-text-muted)]",children:n?"Installing...":"Ready to install"}),QP=({kit:n,onGetStarted:e})=>{const{t}=xe(),r=fn(),i=n===zt.ENGINEER?"kitEngineerName":n===zt.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")})]})]})},JP=[{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}],Yb={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 XP(n){const e=Yb[n];return e?JP.filter(t=>e.features.includes(t.id)):(console.warn(`Unknown kit type: ${n}`),[])}const ZP=({kit:n,selected:e,onSelect:t,features:r})=>{const{t:i}=xe();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(UP,{featureId:s.id,name:s.name,description:s.description,included:!0},s.id))})]})},e8=()=>{const{t:n}=xe(),e=fn(),[t,r]=b.useState(null),[i,s]=b.useState(!1),[o,a]=b.useState(!1),[l,c]=b.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(QP,{kit:t,onGetStarted:()=>e("/")});const d=f=>f==="engineer"?zt.ENGINEER:zt.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(Yb).map(f=>{const p=d(f.id);return u.jsx(ZP,{kit:f,selected:t===p,onSelect:()=>r(p),features:XP(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(KP,{selectedKit:t,onKitSelect:r,onInstall:h,installing:i})]})},t8=()=>{const{t:n}=xe(),e=fn(),{projectId:t}=lm(),[r,i]=b.useState(null),{sizes:s,isDragging:o,startDrag:a}=vb({storageKey:"claudekit-project-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),l=b.useCallback(async()=>{if(!t)throw new Error("No project ID");const[g,y,v]=await Promise.all([qf("project",t),qf("global"),bm()]),k=v.find(S=>S.id===t);return k&&i(k.path),{...g,global:y.config??{}}},[t]),c=b.useCallback(async g=>{t&&await wb({scope:"project",projectId:t,config:g})},[t]),h=xb({scope:"project",fetchConfig:l,fetchSchema:kb,saveConfig:c}),d=b.useCallback(g=>{const y=rc(h.config,g),v=rc(h.globalConfig,g);return y!==void 0&&v!==void 0&&y!==v},[h.config,h.globalConfig]),f=b.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(xm,{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(vm,{width:s[0],isLoading:h.isLoading,schema:h.schema,config:h.config,sources:h.sources,sections:f,onChange:h.handleFormChange}),u.jsx(Ci,{direction:"horizontal",isDragging:o,onMouseDown:g=>a(0,g)}),u.jsx(mb,{width:s[1],isLoading:h.isLoading,jsonText:h.jsonText,cursorLine:h.cursorLine,syntaxError:h.syntaxError,onChange:h.handleJsonChange,onCursorLineChange:h.setCursorLine}),u.jsx(Ci,{direction:"horizontal",isDragging:o,onMouseDown:g=>a(1,g)}),u.jsx(gb,{width:s[2],fieldDoc:h.fieldDoc,activeFieldPath:h.activeFieldPath,overrideBadge:p,extraContent:m})]})]})},n8=({project:n})=>{const{t:e}=xe(),t=fn(),{skills:r,loading:i}=ov(),{sessions:s,loading:o}=av(n.id),a=async c=>{try{await Xx(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(r8,{status:n.health}),u.jsx(hC,{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(Ao,{icon:"📟",label:e("terminal"),sub:e("terminalSub"),onClick:()=>a("terminal")}),u.jsx(Ao,{icon:"💻",label:e("editor"),sub:e("editorSub"),onClick:()=>a("editor")}),u.jsx(Ao,{icon:"🤖",label:e("launch"),sub:e("launchSub"),highlight:!0,onClick:()=>a("launch")}),u.jsx(Ao,{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(Do,{label:e("activeKit"),value:n.kitType}),u.jsx(Do,{label:e("aiModel"),value:n.model}),u.jsx(Do,{label:e("hooks"),value:`${n.activeHooks} ${e("active")}`}),u.jsx(Do,{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")," →"]})})]})]})]})]})},r8=({status:n})=>{const e={[wn.HEALTHY]:"bg-dash-accent-subtle text-dash-accent border-dash-accent/20",[wn.WARNING]:"bg-orange-500/10 text-orange-600 border-orange-500/20",[wn.ERROR]:"bg-red-500/10 text-red-600 border-red-500/20",[wn.LOADING]:"bg-dash-border/20 text-dash-text-muted border-dash-border",[wn.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})},Ao=({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})]}),Do=({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})]}),i8=()=>{const{t:n}=xe(),{project:e}=Iy();return e?u.jsx(n8,{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")})]})},s8=Dx([{path:"/",element:u.jsx(hv,{}),children:[{index:!0,element:u.jsx(Xa,{to:"/config/global",replace:!0})},{path:"config/global",element:u.jsx(jC,{})},{path:"config/project/:projectId",element:u.jsx(t8,{})},{path:"project/:projectId",element:u.jsx(i8,{})},{path:"onboarding",element:u.jsx(e8,{})},{path:"migrate",element:u.jsx(_P,{})},{path:"skills",element:u.jsx(Xa,{to:"/migrate",replace:!0})},{path:"*",element:u.jsx(Xa,{to:"/",replace:!0})}]}]),Qb=document.getElementById("root");if(!Qb)throw document.body.innerHTML='<div style="padding:20px;color:red;">Fatal: Root element not found</div>',new Error("Root element #root not found");Xl.createRoot(Qb).render(u.jsx(h1.StrictMode,{children:u.jsx(Ux,{children:u.jsx(Kx,{children:u.jsx(Hx,{router:s8})})})}));
|