claudekit-cli 3.35.0-dev.2 → 3.35.0-dev.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -1
- package/dist/index.js +34120 -30241
- package/dist/ui/assets/index-C4XQbfWw.js +219 -0
- package/dist/ui/assets/index-XumLvj_k.css +1 -0
- package/dist/ui/index.html +30 -30
- package/package.json +2 -2
- package/dist/ui/assets/index-2d8AZDZD.css +0 -1
- package/dist/ui/assets/index-DPEadcFt.js +0 -218
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
var n1=Object.defineProperty;var r1=(n,e,t)=>e in n?n1(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var ou=(n,e,t)=>r1(n,typeof e!="symbol"?e+"":e,t);import{r as b,a as jp,R as i1,b as s1}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 Mp={exports:{}},fa={};/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react-jsx-runtime.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var o1=b,a1=Symbol.for("react.element"),l1=Symbol.for("react.fragment"),c1=Object.prototype.hasOwnProperty,h1=o1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u1={key:!0,ref:!0,__self:!0,__source:!0};function Ap(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)c1.call(e,r)&&!u1.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:a1,type:n,key:s,ref:o,props:i,_owner:h1.current}}fa.Fragment=l1;fa.jsx=Ap;fa.jsxs=Ap;Mp.exports=fa;var d=Mp.exports,Kl={},au=jp;Kl.createRoot=au.createRoot,Kl.hydrateRoot=au.hydrateRoot;/**
|
|
10
|
-
* react-router v7.11.0
|
|
11
|
-
*
|
|
12
|
-
* Copyright (c) Remix Software Inc.
|
|
13
|
-
*
|
|
14
|
-
* This source code is licensed under the MIT license found in the
|
|
15
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
16
|
-
*
|
|
17
|
-
* @license MIT
|
|
18
|
-
*/var Dp=n=>{throw TypeError(n)},d1=(n,e,t)=>e.has(n)||Dp("Cannot "+t),za=(n,e,t)=>(d1(n,e,"read from private field"),t?t.call(n):e.get(n)),f1=(n,e,t)=>e.has(n)?Dp("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),lu="popstate";function p1(n={}){function e(r,i){let{pathname:s,search:o,hash:a}=r.location;return bi("",{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 g1(e,t,null,n)}function ae(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 m1(){return Math.random().toString(36).substring(2,10)}function cu(n,e){return{usr:n.state,key:n.key,idx:e}}function bi(n,e,t=null,r){return{pathname:typeof n=="string"?n:n.pathname,search:"",hash:"",...typeof e=="string"?Nn(e):e,state:t,key:e&&e.key||r||m1()}}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 Nn(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 g1(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 u(){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=bi(g.location,y,v);c=h()+1;let S=cu(k,c),M=g.createHref(k);try{o.pushState(S,"",M)}catch(C){if(C instanceof DOMException&&C.name==="DataCloneError")throw C;i.location.assign(M)}s&&l&&l({action:a,location:g.location,delta:1})}function p(y,v){a="REPLACE";let k=bi(g.location,y,v);c=h();let S=cu(k,c),M=g.createHref(k);o.replaceState(S,"",M),s&&l&&l({action:a,location:g.location,delta:0})}function m(y){return Tp(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(lu,u),l=y,()=>{i.removeEventListener(lu,u),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 Tp(n,e=!1){let t="http://localhost";typeof window<"u"&&(t=window.location.origin!=="null"?window.location.origin:window.location.href),ae(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 ni,hu=class{constructor(n){if(f1(this,ni,new Map),n)for(let[e,t]of n)this.set(e,t)}get(n){if(za(this,ni).has(n))return za(this,ni).get(n);if(n.defaultValue!==void 0)return n.defaultValue;throw new Error("No value found for context")}set(n,e){za(this,ni).set(n,e)}};ni=new WeakMap;var b1=new Set(["lazy","caseSensitive","path","id","index","children"]);function y1(n){return b1.has(n)}var x1=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function v1(n){return x1.has(n)}function w1(n){return n.index===!0}function yi(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(ae(s.index!==!0||!s.children,"Cannot specify children on an index route"),ae(i||!r[l],`Found a route id collision on id "${l}". Route id's must be globally unique within Data Router usages`),w1(s)){let c={...s,id:l};return r[l]=uu(c,e(c)),c}else{let c={...s,id:l,children:void 0};return r[l]=uu(c,e(c)),s.children&&(c.children=yi(s.children,e,a,r,i)),c}})}function uu(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 ri(n,e,t,!1)}function ri(n,e,t,r){let i=typeof e=="string"?Nn(e):e,s=St(i.pathname||"/",t);if(s==null)return null;let o=Ep(n);S1(o);let a=null;for(let l=0;a==null&&l<o.length;++l){let c=R1(s);a=E1(o[l],c,r)}return a}function k1(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 Ep(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;ae(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 u=Kt([r,h.relativePath]),f=t.concat(h);o.children&&o.children.length>0&&(ae(o.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${u}".`),Ep(o.children,e,f,u,l)),!(o.path==null&&!o.index)&&e.push({path:u,score:D1(u,o.index),routesMeta:f})};return n.forEach((o,a)=>{if(o.path===""||!o.path?.includes("?"))s(o,a);else for(let l of Np(o.path))s(o,a,!0,l)}),e}function Np(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=Np(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 S1(n){n.sort((e,t)=>e.score!==t.score?t.score-e.score:T1(e.routesMeta.map(r=>r.childrenIndex),t.routesMeta.map(r=>r.childrenIndex)))}var C1=/^:[\w-]+$/,O1=3,P1=2,j1=1,M1=10,A1=-2,du=n=>n==="*";function D1(n,e){let t=n.split("/"),r=t.length;return t.some(du)&&(r+=A1),e&&(r+=P1),t.filter(i=>!du(i)).reduce((i,s)=>i+(C1.test(s)?O1:s===""?j1:M1),r)}function T1(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 E1(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)||"/",u=Fo({path:l.relativePath,caseSensitive:l.caseSensitive,end:c},h),f=l.route;if(!u&&c&&t&&!r[r.length-1].route.index&&(u=Fo({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},h)),!u)return null;Object.assign(i,u.params),o.push({params:i,pathname:Kt([s,u.pathname]),pathnameBase:B1(Kt([s,u.pathnameBase])),route:f}),u.pathnameBase!=="/"&&(s=Kt([s,u.pathnameBase]))}return o}function Fo(n,e){typeof n=="string"&&(n={path:n,caseSensitive:!1,end:!0});let[t,r]=N1(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:u},f)=>{if(h==="*"){let m=a[f]||"";o=s.slice(0,s.length-m.length).replace(/(.)\/+$/,"$1")}const p=a[f];return u&&!p?c[h]=void 0:c[h]=(p||"").replace(/%2F/g,"/"),c},{}),pathname:s,pathnameBase:o,pattern:n}}function N1(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 R1(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 L1({basename:n,pathname:e}){return e==="/"?n:Kt([n,e])}var Rp=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,pa=n=>Rp.test(n);function I1(n,e="/"){let{pathname:t,search:r="",hash:i=""}=typeof n=="string"?Nn(n):n,s;if(t)if(pa(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=fu(t.substring(1),"/"):s=fu(t,e)}else s=e;return{pathname:s,search:$1(r),hash:F1(i)}}function fu(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 Ha(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 Lp(n){return n.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function ma(n){let e=Lp(n);return e.map((t,r)=>r===e.length-1?t.pathname:t.pathnameBase)}function ga(n,e,t,r=!1){let i;typeof n=="string"?i=Nn(n):(i={...n},ae(!i.pathname||!i.pathname.includes("?"),Ha("?","pathname","search",i)),ae(!i.pathname||!i.pathname.includes("#"),Ha("#","pathname","hash",i)),ae(!i.search||!i.search.includes("#"),Ha("#","search","hash",i)));let s=n===""||i.pathname==="",o=s?"/":i.pathname,a;if(o==null)a=t;else{let u=e.length-1;if(!r&&o.startsWith("..")){let f=o.split("/");for(;f[0]==="..";)f.shift(),u-=1;i.pathname=f.join("/")}a=u>=0?e[u]:"/"}let l=I1(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,"/"),B1=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),$1=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,F1=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n,Ss=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 xi(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}function Cs(n){return n.map(e=>e.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Ip=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Bp(n,e){let t=n;if(typeof t!="string"||!Rp.test(t))return{absoluteURL:void 0,isExternal:!1,to:t};let r=t,i=!1;if(Ip)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 V1(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)=>pu(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)=>pu(a[0]));return o?(o[kn]=s,o):i})),r}function z1(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):".",...mu(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,...mu(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 $p(n,t(...r),()=>e(...r),n.length-1);if(i.type==="error")throw i.value;return i.value}}async function $p(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=$p(n,e,t,r-1),s=await o,ae(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 pu(n){let{request:e,context:t,params:r,unstable_pattern:i}=n;return{request:H1(e),params:{...r},unstable_pattern:i,context:W1(t)}}function mu(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 H1(n){return{method:n.method,url:n.url,headers:{get:(...e)=>n.headers.get(...e)}}}function W1(n){if(U1(n)){let e={...n};return Object.freeze(e),e}else return{get:e=>n.get(e)}}var _1=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function U1(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")===_1}var Fp=["POST","PUT","PATCH","DELETE"],K1=new Set(Fp),G1=["GET",...Fp],q1=new Set(G1),Vp=new Set([301,302,303,307,308]),Y1=new Set([307,308]),Wa={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Q1={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},J1=n=>({hasErrorBoundary:!!n.hasErrorBoundary}),zp="remix-router-transitions",Hp=Symbol("ResetLoaderData");function X1(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";ae(n.routes.length>0,"You must provide a non-empty routes array to createRouter");let r=n.hydrationRouteProperties||[],i=n.mapRouteProperties||J1,s=i;if(n.unstable_instrumentations){let w=n.unstable_instrumentations;s=O=>({...i(O),...V1(w.map(j=>j.route).filter(Boolean),O)})}let o={},a=yi(n.routes,s,void 0,o),l,c=n.basename||"/";c.startsWith("/")||(c=`/${c}`);let h=n.dataStrategy||ry,u={...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,M=null,C;if(k==null&&!n.patchRoutesOnNavigation){let w=bt(404,{pathname:n.history.location.pathname}),{matches:O,route:j}=qs(a);C=!0,k=O,M={[j.id]:w}}else if(k&&!n.hydrationData&&Ws(k,a,n.history.location.pathname).active&&(k=null),k)if(k.some(w=>w.route.lazy))C=!1;else if(!k.some(w=>Gc(w.route)))C=!0;else{let w=n.hydrationData?n.hydrationData.loaderData:null,O=n.hydrationData?n.hydrationData.errors:null;if(O){let j=k.findIndex(B=>O[B.route.id]!==void 0);C=k.slice(0,j+1).every(B=>!ql(B.route,w,O))}else C=k.every(j=>!ql(j.route,w,O))}else{C=!1,k=[];let w=Ws(null,a,n.history.location.pathname);w.active&&w.matches&&(S=!0,k=w.matches)}let A,x={historyAction:n.history.action,location:n.history.location,matches:k,initialized:C,navigation:Wa,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||M,fetchers:new Map,blockers:new Map},T="POP",P=null,R=!1,N,L=!1,F=new Map,U=null,V=!1,J=!1,he=new Set,_=new Map,Y=0,ie=-1,le=new Map,oe=new Set,Ce=new Map,Me=new Map,Oe=new Set,nt=new Map,en,Bn=null;function La(){if(f=n.history.listen(({action:w,location:O,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 B=tu({currentLocation:x.location,nextLocation:O,historyAction:w});if(B&&j!=null){let $=new Promise(X=>{en=X});n.history.go(j*-1),Hs(B,{state:"blocked",location:O,proceed(){Hs(B,{state:"proceeding",proceed:void 0,reset:void 0,location:O}),$.then(()=>n.history.go(j))},reset(){let X=new Map(x.blockers);X.set(B,qr),H({blockers:X})}}),P?.resolve(),P=null;return}return Rt(w,O)}),t){wy(e,F);let w=()=>ky(e,F);e.addEventListener("pagehide",w),U=()=>e.removeEventListener("pagehide",w)}return x.initialized||Rt("POP",x.location,{initialHydration:!0}),A}function Ia(){f&&f(),U&&U(),p.clear(),N&&N.abort(),x.fetchers.forEach((w,O)=>$a(O)),x.blockers.forEach((w,O)=>eu(O))}function I(w){return p.add(w),()=>p.delete(w)}function H(w,O={}){w.matches&&(w.matches=w.matches.map($=>{let X=o[$.route.id],q=$.route;return q.element!==X.element||q.errorElement!==X.errorElement||q.hydrateFallbackElement!==X.hydrateFallbackElement?{...$,route:X}:$})),x={...x,...w};let j=[],B=[];x.fetchers.forEach(($,X)=>{$.state==="idle"&&(Oe.has(X)?j.push(X):B.push(X))}),Oe.forEach($=>{!x.fetchers.has($)&&!_.has($)&&j.push($)}),[...p].forEach($=>$(x,{deletedFetchers:j,newErrors:w.errors??null,viewTransitionOpts:O.viewTransitionOpts,flushSync:O.flushSync===!0})),j.forEach($=>$a($)),B.forEach($=>x.fetchers.delete($))}function de(w,O,{flushSync:j}={}){let B=x.actionData!=null&&x.navigation.formMethod!=null&&qe(x.navigation.formMethod)&&x.navigation.state==="loading"&&w.state?._isRedirect!==!0,$;O.actionData?Object.keys(O.actionData).length>0?$=O.actionData:$=null:B?$=x.actionData:$=null;let X=O.loaderData?Ou(x.loaderData,O.loaderData,O.matches||[],O.errors):x.loaderData,q=x.blockers;q.size>0&&(q=new Map(q),q.forEach((re,ee)=>q.set(ee,qr)));let Q=V?!1:ru(w,O.matches||x.matches),Z=R===!0||x.navigation.formMethod!=null&&qe(x.navigation.formMethod)&&w.state?._isRedirect!==!0;l&&(a=l,l=void 0),V||T==="POP"||(T==="PUSH"?n.history.push(w,w.state):T==="REPLACE"&&n.history.replace(w,w.state));let ne;if(T==="POP"){let re=F.get(x.location.pathname);re&&re.has(w.pathname)?ne={currentLocation:x.location,nextLocation:w}:F.has(w.pathname)&&(ne={currentLocation:w,nextLocation:x.location})}else if(L){let re=F.get(x.location.pathname);re?re.add(w.pathname):(re=new Set([w.pathname]),F.set(x.location.pathname,re)),ne={currentLocation:x.location,nextLocation:w}}H({...O,actionData:$,loaderData:X,historyAction:T,location:w,initialized:!0,navigation:Wa,revalidation:"idle",restoreScrollPosition:Q,preventScrollReset:Z,blockers:q},{viewTransitionOpts:ne,flushSync:j===!0}),T="POP",R=!1,L=!1,V=!1,J=!1,P?.resolve(),P=null,Bn?.resolve(),Bn=null}async function Pe(w,O){if(P?.resolve(),P=null,typeof w=="number"){P||(P=Au());let ge=P.promise;return n.history.go(w),ge}let j=Gl(x.location,x.matches,c,w,O?.fromRouteId,O?.relative),{path:B,submission:$,error:X}=gu(!1,j,O),q=x.location,Q=bi(x.location,B,O&&O.state);Q={...Q,...n.history.encodeLocation(Q)};let Z=O&&O.replace!=null?O.replace:void 0,ne="PUSH";Z===!0?ne="REPLACE":Z===!1||$!=null&&qe($.formMethod)&&$.formAction===x.location.pathname+x.location.search&&(ne="REPLACE");let re=O&&"preventScrollReset"in O?O.preventScrollReset===!0:void 0,ee=(O&&O.flushSync)===!0,me=tu({currentLocation:q,nextLocation:Q,historyAction:ne});if(me){Hs(me,{state:"blocked",location:Q,proceed(){Hs(me,{state:"proceeding",proceed:void 0,reset:void 0,location:Q}),Pe(w,O)},reset(){let ge=new Map(x.blockers);ge.set(me,qr),H({blockers:ge})}});return}await Rt(ne,Q,{submission:$,pendingError:X,preventScrollReset:re,replace:O&&O.replace,enableViewTransition:O&&O.viewTransition,flushSync:ee,callSiteDefaultShouldRevalidate:O&&O.unstable_defaultShouldRevalidate})}function $n(){Bn||(Bn=Au()),Ba(),H({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(T||x.historyAction,x.navigation.location,{overrideNavigation:x.navigation,enableViewTransition:L===!0}),w)}async function Rt(w,O,j){N&&N.abort(),N=null,T=w,V=(j&&j.startUninterruptedRevalidation)===!0,Xb(x.location,x.matches),R=(j&&j.preventScrollReset)===!0,L=(j&&j.enableViewTransition)===!0;let B=l||a,$=j&&j.overrideNavigation,X=j?.initialHydration&&x.matches&&x.matches.length>0&&!S?x.matches:yn(B,O,c),q=(j&&j.flushSync)===!0;if(X&&x.initialized&&!J&&uy(x.location,O)&&!(j&&j.submission&&qe(j.submission.formMethod))){de(O,{matches:X},{flushSync:q});return}let Q=Ws(X,B,O.pathname);if(Q.active&&Q.matches&&(X=Q.matches),!X){let{error:Ve,notFoundMatches:Xe,route:xe}=Fa(O.pathname);de(O,{matches:Xe,loaderData:{},errors:{[xe.id]:Ve}},{flushSync:q});return}N=new AbortController;let Z=cr(n.history,O,N.signal,j&&j.submission),ne=n.getContext?await n.getContext():new hu,re;if(j&&j.pendingError)re=[xn(X).route.id,{type:"error",error:j.pendingError}];else if(j&&j.submission&&qe(j.submission.formMethod)){let Ve=await Vs(Z,O,j.submission,X,ne,Q.active,j&&j.initialHydration===!0,{replace:j.replace,flushSync:q});if(Ve.shortCircuited)return;if(Ve.pendingActionResult){let[Xe,xe]=Ve.pendingActionResult;if(dt(xe)&&xi(xe.error)&&xe.error.status===404){N=null,de(O,{matches:Ve.matches,loaderData:{},errors:{[Xe]:xe.error}});return}}X=Ve.matches||X,re=Ve.pendingActionResult,$=_a(O,j.submission),q=!1,Q.active=!1,Z=cr(n.history,Z.url,Z.signal)}let{shortCircuited:ee,matches:me,loaderData:ge,errors:He}=await zs(Z,O,X,ne,Q.active,$,j&&j.submission,j&&j.fetcherSubmission,j&&j.replace,j&&j.initialHydration===!0,q,re,j&&j.callSiteDefaultShouldRevalidate);ee||(N=null,de(O,{matches:me||X,...Pu(re),loaderData:ge,errors:He}))}async function Vs(w,O,j,B,$,X,q,Q={}){Ba();let Z=xy(O,j);if(H({navigation:Z},{flushSync:Q.flushSync===!0}),X){let ee=await _s(B,O.pathname,w.signal);if(ee.type==="aborted")return{shortCircuited:!0};if(ee.type==="error"){if(ee.partialMatches.length===0){let{matches:ge,route:He}=qs(a);return{matches:ge,pendingActionResult:[He.id,{type:"error",error:ee.error}]}}let me=xn(ee.partialMatches).route.id;return{matches:ee.partialMatches,pendingActionResult:[me,{type:"error",error:ee.error}]}}else if(ee.matches)B=ee.matches;else{let{notFoundMatches:me,error:ge,route:He}=Fa(O.pathname);return{matches:me,pendingActionResult:[He.id,{type:"error",error:ge}]}}}let ne,re=Po(B,O);if(!re.route.action&&!re.route.lazy)ne={type:"error",error:bt(405,{method:w.method,pathname:O.pathname,routeId:re.route.id})};else{let ee=yr(s,o,w,B,re,q?[]:r,$),me=await Ur(w,ee,$,null);if(ne=me[re.route.id],!ne){for(let ge of B)if(me[ge.route.id]){ne=me[ge.route.id];break}}if(w.signal.aborted)return{shortCircuited:!0}}if(Gn(ne)){let ee;return Q&&Q.replace!=null?ee=Q.replace:ee=ku(ne.response.headers.get("Location"),new URL(w.url),c)===x.location.pathname+x.location.search,await Fn(w,ne,!0,{submission:j,replace:ee}),{shortCircuited:!0}}if(dt(ne)){let ee=xn(B,re.route.id);return(Q&&Q.replace)!==!0&&(T="PUSH"),{matches:B,pendingActionResult:[ee.route.id,ne,re.route.id]}}return{matches:B,pendingActionResult:[re.route.id,ne]}}async function zs(w,O,j,B,$,X,q,Q,Z,ne,re,ee,me){let ge=X||_a(O,q),He=q||Q||Mu(ge),Ve=!V&&!ne;if($){if(Ve){let Ge=Ie(ee);H({navigation:ge,...Ge!==void 0?{actionData:Ge}:{}},{flushSync:re})}let pe=await _s(j,O.pathname,w.signal);if(pe.type==="aborted")return{shortCircuited:!0};if(pe.type==="error"){if(pe.partialMatches.length===0){let{matches:ar,route:Hn}=qs(a);return{matches:ar,loaderData:{},errors:{[Hn.id]:pe.error}}}let Ge=xn(pe.partialMatches).route.id;return{matches:pe.partialMatches,loaderData:{},errors:{[Ge]:pe.error}}}else if(pe.matches)j=pe.matches;else{let{error:Ge,notFoundMatches:ar,route:Hn}=Fa(O.pathname);return{matches:ar,loaderData:{},errors:{[Hn.id]:Ge}}}}let Xe=l||a,{dsMatches:xe,revalidatingFetchers:gt}=bu(w,B,s,o,n.history,x,j,He,O,ne?[]:r,ne===!0,J,he,Oe,Ce,oe,Xe,c,n.patchRoutesOnNavigation!=null,ee,me);if(ie=++Y,!n.dataStrategy&&!xe.some(pe=>pe.shouldLoad)&&!xe.some(pe=>pe.route.middleware&&pe.route.middleware.length>0)&>.length===0){let pe=Xh();return de(O,{matches:j,loaderData:{},errors:ee&&dt(ee[1])?{[ee[0]]:ee[1].error}:null,...Pu(ee),...pe?{fetchers:new Map(x.fetchers)}:{}},{flushSync:re}),{shortCircuited:!0}}if(Ve){let pe={};if(!$){pe.navigation=ge;let Ge=Ie(ee);Ge!==void 0&&(pe.actionData=Ge)}gt.length>0&&(pe.fetchers=_b(gt)),H(pe,{flushSync:re})}gt.forEach(pe=>{rn(pe.key),pe.controller&&_.set(pe.key,pe.controller)});let Vn=()=>gt.forEach(pe=>rn(pe.key));N&&N.signal.addEventListener("abort",Vn);let{loaderResults:Kr,fetcherResults:pn}=await Yh(xe,gt,w,B);if(w.signal.aborted)return{shortCircuited:!0};N&&N.signal.removeEventListener("abort",Vn),gt.forEach(pe=>_.delete(pe.key));let Lt=Ys(Kr);if(Lt)return await Fn(w,Lt.result,!0,{replace:Z}),{shortCircuited:!0};if(Lt=Ys(pn),Lt)return oe.add(Lt.key),await Fn(w,Lt.result,!0,{replace:Z}),{shortCircuited:!0};let{loaderData:Va,errors:Gr}=Cu(x,j,Kr,ee,gt,pn);ne&&x.errors&&(Gr={...x.errors,...Gr});let zn=Xh(),Us=Zh(ie),Ks=zn||Us||gt.length>0;return{matches:j,loaderData:Va,errors:Gr,...Ks?{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 _b(w){return w.forEach(O=>{let j=x.fetchers.get(O.key),B=Yr(void 0,j?j.data:void 0);x.fetchers.set(O.key,B)}),new Map(x.fetchers)}async function Ub(w,O,j,B){rn(w);let $=(B&&B.flushSync)===!0,X=l||a,q=Gl(x.location,x.matches,c,j,O,B?.relative),Q=yn(X,q,c),Z=Ws(Q,X,q);if(Z.active&&Z.matches&&(Q=Z.matches),!Q){nn(w,O,bt(404,{pathname:q}),{flushSync:$});return}let{path:ne,submission:re,error:ee}=gu(!0,q,B);if(ee){nn(w,O,ee,{flushSync:$});return}let me=n.getContext?await n.getContext():new hu,ge=(B&&B.preventScrollReset)===!0;if(re&&qe(re.formMethod)){await Kb(w,O,ne,Q,me,Z.active,$,ge,re,B&&B.unstable_defaultShouldRevalidate);return}Ce.set(w,{routeId:O,path:ne}),await Gb(w,O,ne,Q,me,Z.active,$,ge,re)}async function Kb(w,O,j,B,$,X,q,Q,Z,ne){Ba(),Ce.delete(w);let re=x.fetchers.get(w);tn(w,vy(Z,re),{flushSync:q});let ee=new AbortController,me=cr(n.history,j,ee.signal,Z);if(X){let Ae=await _s(B,new URL(me.url).pathname,me.signal,w);if(Ae.type==="aborted")return;if(Ae.type==="error"){nn(w,O,Ae.error,{flushSync:q});return}else if(Ae.matches)B=Ae.matches;else{nn(w,O,bt(404,{pathname:j}),{flushSync:q});return}}let ge=Po(B,j);if(!ge.route.action&&!ge.route.lazy){let Ae=bt(405,{method:Z.formMethod,pathname:j,routeId:O});nn(w,O,Ae,{flushSync:q});return}_.set(w,ee);let He=Y,Ve=yr(s,o,me,B,ge,r,$),Xe=await Ur(me,Ve,$,w),xe=Xe[ge.route.id];if(!xe){for(let Ae of Ve)if(Xe[Ae.route.id]){xe=Xe[Ae.route.id];break}}if(me.signal.aborted){_.get(w)===ee&&_.delete(w);return}if(Oe.has(w)){if(Gn(xe)||dt(xe)){tn(w,sn(void 0));return}}else{if(Gn(xe))if(_.delete(w),ie>He){tn(w,sn(void 0));return}else return oe.add(w),tn(w,Yr(Z)),Fn(me,xe,!1,{fetcherSubmission:Z,preventScrollReset:Q});if(dt(xe)){nn(w,O,xe.error);return}}let gt=x.navigation.location||x.location,Vn=cr(n.history,gt,ee.signal),Kr=l||a,pn=x.navigation.state!=="idle"?yn(Kr,x.navigation.location,c):x.matches;ae(pn,"Didn't find any matches after fetcher action");let Lt=++Y;le.set(w,Lt);let Va=Yr(Z,xe.data);x.fetchers.set(w,Va);let{dsMatches:Gr,revalidatingFetchers:zn}=bu(Vn,$,s,o,n.history,x,pn,Z,gt,r,!1,J,he,Oe,Ce,oe,Kr,c,n.patchRoutesOnNavigation!=null,[ge.route.id,xe],ne);zn.filter(Ae=>Ae.key!==w).forEach(Ae=>{let Gs=Ae.key,su=x.fetchers.get(Gs),t1=Yr(void 0,su?su.data:void 0);x.fetchers.set(Gs,t1),rn(Gs),Ae.controller&&_.set(Gs,Ae.controller)}),H({fetchers:new Map(x.fetchers)});let Us=()=>zn.forEach(Ae=>rn(Ae.key));ee.signal.addEventListener("abort",Us);let{loaderResults:Ks,fetcherResults:pe}=await Yh(Gr,zn,Vn,$);if(ee.signal.aborted)return;if(ee.signal.removeEventListener("abort",Us),le.delete(w),_.delete(w),zn.forEach(Ae=>_.delete(Ae.key)),x.fetchers.has(w)){let Ae=sn(xe.data);x.fetchers.set(w,Ae)}let Ge=Ys(Ks);if(Ge)return Fn(Vn,Ge.result,!1,{preventScrollReset:Q});if(Ge=Ys(pe),Ge)return oe.add(Ge.key),Fn(Vn,Ge.result,!1,{preventScrollReset:Q});let{loaderData:ar,errors:Hn}=Cu(x,pn,Ks,void 0,zn,pe);Zh(Lt),x.navigation.state==="loading"&&Lt>ie?(ae(T,"Expected pending action"),N&&N.abort(),de(x.navigation.location,{matches:pn,loaderData:ar,errors:Hn,fetchers:new Map(x.fetchers)})):(H({errors:Hn,loaderData:Ou(x.loaderData,ar,pn,Hn),fetchers:new Map(x.fetchers)}),J=!1)}async function Gb(w,O,j,B,$,X,q,Q,Z){let ne=x.fetchers.get(w);tn(w,Yr(Z,ne?ne.data:void 0),{flushSync:q});let re=new AbortController,ee=cr(n.history,j,re.signal);if(X){let xe=await _s(B,new URL(ee.url).pathname,ee.signal,w);if(xe.type==="aborted")return;if(xe.type==="error"){nn(w,O,xe.error,{flushSync:q});return}else if(xe.matches)B=xe.matches;else{nn(w,O,bt(404,{pathname:j}),{flushSync:q});return}}let me=Po(B,j);_.set(w,re);let ge=Y,He=yr(s,o,ee,B,me,r,$),Xe=(await Ur(ee,He,$,w))[me.route.id];if(_.get(w)===re&&_.delete(w),!ee.signal.aborted){if(Oe.has(w)){tn(w,sn(void 0));return}if(Gn(Xe))if(ie>ge){tn(w,sn(void 0));return}else{oe.add(w),await Fn(ee,Xe,!1,{preventScrollReset:Q});return}if(dt(Xe)){nn(w,O,Xe.error);return}tn(w,sn(Xe.data))}}async function Fn(w,O,j,{submission:B,fetcherSubmission:$,preventScrollReset:X,replace:q}={}){j||(P?.resolve(),P=null),O.response.headers.has("X-Remix-Revalidate")&&(J=!0);let Q=O.response.headers.get("Location");ae(Q,"Expected a Location header on the redirect Response"),Q=ku(Q,new URL(w.url),c);let Z=bi(x.location,Q,{_isRedirect:!0});if(t){let He=!1;if(O.response.headers.has("X-Remix-Reload-Document"))He=!0;else if(pa(Q)){const Ve=Tp(Q,!0);He=Ve.origin!==e.location.origin||St(Ve.pathname,c)==null}if(He){q?e.location.replace(Q):e.location.assign(Q);return}}N=null;let ne=q===!0||O.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:re,formAction:ee,formEncType:me}=x.navigation;!B&&!$&&re&&ee&&me&&(B=Mu(x.navigation));let ge=B||$;if(Y1.has(O.response.status)&&ge&&qe(ge.formMethod))await Rt(ne,Z,{submission:{...ge,formAction:Q},preventScrollReset:X||R,enableViewTransition:j?L:void 0});else{let He=_a(Z,B);await Rt(ne,Z,{overrideNavigation:He,fetcherSubmission:$,preventScrollReset:X||R,enableViewTransition:j?L:void 0})}}async function Ur(w,O,j,B){let $,X={};try{$=await sy(h,w,O,B,j,!1)}catch(q){return O.filter(Q=>Q.shouldLoad).forEach(Q=>{X[Q.route.id]={type:"error",error:q}}),X}if(w.signal.aborted)return X;if(!qe(w.method))for(let q of O){if($[q.route.id]?.type==="error")break;!$.hasOwnProperty(q.route.id)&&!x.loaderData.hasOwnProperty(q.route.id)&&(!x.errors||!x.errors.hasOwnProperty(q.route.id))&&q.shouldCallHandler()&&($[q.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${q.route.id}`)})}for(let[q,Q]of Object.entries($))if(my(Q)){let Z=Q.result;X[q]={type:"redirect",response:cy(Z,w,q,O,c)}}else X[q]=await ly(Q);return X}async function Yh(w,O,j,B){let $=Ur(j,w,B,null),X=Promise.all(O.map(async Z=>{if(Z.matches&&Z.match&&Z.request&&Z.controller){let re=(await Ur(Z.request,Z.matches,B,Z.key))[Z.match.route.id];return{[Z.key]:re}}else return Promise.resolve({[Z.key]:{type:"error",error:bt(404,{pathname:Z.path})}})})),q=await $,Q=(await X).reduce((Z,ne)=>Object.assign(Z,ne),{});return{loaderResults:q,fetcherResults:Q}}function Ba(){J=!0,Ce.forEach((w,O)=>{_.has(O)&&he.add(O),rn(O)})}function tn(w,O,j={}){x.fetchers.set(w,O),H({fetchers:new Map(x.fetchers)},{flushSync:(j&&j.flushSync)===!0})}function nn(w,O,j,B={}){let $=xn(x.matches,O);$a(w),H({errors:{[$.route.id]:j},fetchers:new Map(x.fetchers)},{flushSync:(B&&B.flushSync)===!0})}function Qh(w){return Me.set(w,(Me.get(w)||0)+1),Oe.has(w)&&Oe.delete(w),x.fetchers.get(w)||Q1}function qb(w,O){rn(w,O?.reason),tn(w,sn(null))}function $a(w){let O=x.fetchers.get(w);_.has(w)&&!(O&&O.state==="loading"&&le.has(w))&&rn(w),Ce.delete(w),le.delete(w),oe.delete(w),Oe.delete(w),he.delete(w),x.fetchers.delete(w)}function Yb(w){let O=(Me.get(w)||0)-1;O<=0?(Me.delete(w),Oe.add(w)):Me.set(w,O),H({fetchers:new Map(x.fetchers)})}function rn(w,O){let j=_.get(w);j&&(j.abort(O),_.delete(w))}function Jh(w){for(let O of w){let j=Qh(O),B=sn(j.data);x.fetchers.set(O,B)}}function Xh(){let w=[],O=!1;for(let j of oe){let B=x.fetchers.get(j);ae(B,`Expected fetcher: ${j}`),B.state==="loading"&&(oe.delete(j),w.push(j),O=!0)}return Jh(w),O}function Zh(w){let O=[];for(let[j,B]of le)if(B<w){let $=x.fetchers.get(j);ae($,`Expected fetcher: ${j}`),$.state==="loading"&&(rn(j),le.delete(j),O.push(j))}return Jh(O),O.length>0}function Qb(w,O){let j=x.blockers.get(w)||qr;return nt.get(w)!==O&&nt.set(w,O),j}function eu(w){x.blockers.delete(w),nt.delete(w)}function Hs(w,O){let j=x.blockers.get(w)||qr;ae(j.state==="unblocked"&&O.state==="blocked"||j.state==="blocked"&&O.state==="blocked"||j.state==="blocked"&&O.state==="proceeding"||j.state==="blocked"&&O.state==="unblocked"||j.state==="proceeding"&&O.state==="unblocked",`Invalid blocker state transition: ${j.state} -> ${O.state}`);let B=new Map(x.blockers);B.set(w,O),H({blockers:B})}function tu({currentLocation:w,nextLocation:O,historyAction:j}){if(nt.size===0)return;nt.size>1&&Te(!1,"A router only supports one blocker at a time");let B=Array.from(nt.entries()),[$,X]=B[B.length-1],q=x.blockers.get($);if(!(q&&q.state==="proceeding")&&X({currentLocation:w,nextLocation:O,historyAction:j}))return $}function Fa(w){let O=bt(404,{pathname:w}),j=l||a,{matches:B,route:$}=qs(j);return{notFoundMatches:B,route:$,error:O}}function Jb(w,O,j){if(m=w,y=O,g=j||null,!v&&x.navigation===Wa){v=!0;let B=ru(x.location,x.matches);B!=null&&H({restoreScrollPosition:B})}return()=>{m=null,y=null,g=null}}function nu(w,O){return g&&g(w,O.map(B=>k1(B,x.loaderData)))||w.key}function Xb(w,O){if(m&&y){let j=nu(w,O);m[j]=y()}}function ru(w,O){if(m){let j=nu(w,O),B=m[j];if(typeof B=="number")return B}return null}function Ws(w,O,j){if(n.patchRoutesOnNavigation)if(w){if(Object.keys(w[0].params).length>0)return{active:!0,matches:ri(O,j,c,!0)}}else return{active:!0,matches:ri(O,j,c,!0)||[]};return{active:!1,matches:null}}async function _s(w,O,j,B){if(!n.patchRoutesOnNavigation)return{type:"success",matches:w};let $=w;for(;;){let X=l==null,q=l||a,Q=o;try{await n.patchRoutesOnNavigation({signal:j,path:O,matches:$,fetcherKey:B,patch:(re,ee)=>{j.aborted||yu(re,ee,q,Q,s,!1)}})}catch(re){return{type:"error",error:re,partialMatches:$}}finally{X&&!j.aborted&&(a=[...a])}if(j.aborted)return{type:"aborted"};let Z=yn(q,O,c),ne=null;if(Z){if(Object.keys(Z[0].params).length===0)return{type:"success",matches:Z};if(ne=ri(q,O,c,!0),!(ne&&$.length<ne.length&&iu($,ne.slice(0,$.length))))return{type:"success",matches:Z}}if(ne||(ne=ri(q,O,c,!0)),!ne||iu($,ne))return{type:"success",matches:null};$=ne}}function iu(w,O){return w.length===O.length&&w.every((j,B)=>j.route.id===O[B].route.id)}function Zb(w){o={},l=yi(w,s,void 0,o)}function e1(w,O,j=!1){let B=l==null;yu(w,O,l||a,o,s,j),B&&(a=[...a],H({}))}return A={get basename(){return c},get future(){return u},get state(){return x},get routes(){return a},get window(){return e},initialize:La,subscribe:I,enableScrollRestoration:Jb,navigate:Pe,fetch:Ub,revalidate:$n,createHref:w=>n.history.createHref(w),encodeLocation:w=>n.history.encodeLocation(w),getFetcher:Qh,resetFetcher:qb,deleteFetcher:Yb,dispose:Ia,getBlocker:Qb,deleteBlocker:eu,patchRoutes:e1,_internalFetchControllers:_,_internalSetRoutes:Zb,_internalSetStateDoNotUseOrYouWillBreakYourApp(w){H(w)}},n.unstable_instrumentations&&(A=z1(A,n.unstable_instrumentations.map(w=>w.router).filter(Boolean))),A}function Z1(n){return n!=null&&("formData"in n&&n.formData!=null||"body"in n&&n.body!==void 0)}function Gl(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=ga(r||".",ma(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=Yc(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),u=h.getAll("index");h.delete("index"),u.filter(p=>p).forEach(p=>h.append("index",p));let f=h.toString();l.search=f?`?${f}`:""}}return t!=="/"&&(l.pathname=L1({basename:t,pathname:l.pathname})),qt(l)}function gu(n,e,t){if(!t||!Z1(t))return{path:e};if(t.formMethod&&!yy(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=qp(e);if(t.body!==void 0){if(t.formEncType==="text/plain"){if(!qe(s))return r();let u=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:u}}}else if(t.formEncType==="application/json"){if(!qe(s))return r();try{let u=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:u,text:void 0}}}catch{return r()}}}ae(typeof FormData=="function","FormData is not available in this environment");let a,l;if(t.formData)a=Ql(t.formData),l=t.formData;else if(t.body instanceof FormData)a=Ql(t.body),l=t.body;else if(t.body instanceof URLSearchParams)a=t.body,l=Su(a);else if(t.body==null)a=new URLSearchParams,l=new FormData;else try{a=new URLSearchParams(t.body),l=Su(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=Nn(e);return n&&h.search&&Yc(h.search)&&a.append("index",""),h.search=`?${a}`,{path:qt(h),submission:c}}function bu(n,e,t,r,i,s,o,a,l,c,h,u,f,p,m,g,y,v,k,S,M){let C=S?dt(S[1])?S[1].error:S[1].data:void 0,A=i.createURL(s.location),x=i.createURL(l),T;if(h&&s.errors){let V=Object.keys(s.errors)[0];T=o.findIndex(J=>J.route.id===V)}else if(S&&dt(S[1])){let V=S[0];T=o.findIndex(J=>J.route.id===V)-1}let P=S?S[1].statusCode:void 0,R=P&&P>=400,N={currentUrl:A,currentParams:s.matches[0]?.params||{},nextUrl:x,nextParams:o[0].params,...a,actionResult:C,actionStatus:P},L=Cs(o),F=o.map((V,J)=>{let{route:he}=V,_=null;if(T!=null&&J>T?_=!1:he.lazy?_=!0:Gc(he)?h?_=ql(he,s.loaderData,s.errors):ey(s.loaderData,s.matches[J],V)&&(_=!0):_=!1,_!==null)return Yl(t,r,n,L,V,c,e,_);let Y=!1;typeof M=="boolean"?Y=M:R?Y=!1:(u||A.pathname+A.search===x.pathname+x.search||A.search!==x.search||ty(s.matches[J],V))&&(Y=!0);let ie={...N,defaultShouldRevalidate:Y},le=li(V,ie);return Yl(t,r,n,L,V,c,e,le,ie,M)}),U=[];return m.forEach((V,J)=>{if(h||!o.some(Me=>Me.route.id===V.routeId)||p.has(J))return;let he=s.fetchers.get(J),_=he&&he.state!=="idle"&&he.data===void 0,Y=yn(y,V.path,v);if(!Y){if(k&&_)return;U.push({key:J,routeId:V.routeId,path:V.path,matches:null,match:null,request:null,controller:null});return}if(g.has(J))return;let ie=Po(Y,V.path),le=new AbortController,oe=cr(i,V.path,le.signal),Ce=null;if(f.has(J))f.delete(J),Ce=yr(t,r,oe,Y,ie,c,e);else if(_)u&&(Ce=yr(t,r,oe,Y,ie,c,e));else{let Me;typeof M=="boolean"?Me=M:R?Me=!1:Me=u;let Oe={...N,defaultShouldRevalidate:Me};li(ie,Oe)&&(Ce=yr(t,r,oe,Y,ie,c,e,Oe))}Ce&&U.push({key:J,routeId:V.routeId,path:V.path,matches:Ce,match:ie,request:oe,controller:le})}),{dsMatches:F,revalidatingFetchers:U}}function Gc(n){return n.loader!=null||n.middleware!=null&&n.middleware.length>0}function ql(n,e,t){if(n.lazy)return!0;if(!Gc(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 ey(n,e,t){let r=!e||t.route.id!==e.route.id,i=!n.hasOwnProperty(t.route.id);return r||i}function ty(n,e){let t=n.route.path;return n.pathname!==e.pathname||t!=null&&t.endsWith("*")&&n.params["*"]!==e.params["*"]}function li(n,e){if(n.route.shouldRevalidate){let t=n.route.shouldRevalidate(e);if(typeof t=="boolean")return t}return e.defaultShouldRevalidate}function yu(n,e,t,r,i,s){let o;if(n){let c=r[n];ae(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(u=>Wp(c,u));h?l.push({existingRoute:h,newRoute:c}):a.push(c)}),a.length>0){let c=yi(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:u}=l[c],f=h,[p]=yi([u],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 Wp(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=>Wp(t,i))):!1}var xu=new WeakMap,_p=({key:n,route:e,manifest:t,mapRouteProperties:r})=>{let i=t[e.id];if(ae(i,"No route found in manifest"),!i.lazy||typeof i.lazy!="object")return;let s=i.lazy[n];if(!s)return;let o=xu.get(i);o||(o={},xu.set(i,o));let a=o[n];if(a)return a;let l=(async()=>{let c=y1(n),u=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(u)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},vu=new WeakMap;function ny(n,e,t,r,i){let s=t[n.id];if(ae(s,"No route found in manifest"),!n.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof n.lazy=="function"){let h=vu.get(s);if(h)return{lazyRoutePromise:h,lazyHandlerPromise:h};let u=(async()=>{ae(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=v1(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 vu.set(s,u),u.catch(()=>{}),{lazyRoutePromise:u,lazyHandlerPromise:u}}let o=Object.keys(n.lazy),a=[],l;for(let h of o){if(i&&i.includes(h))continue;let u=_p({key:h,route:n,manifest:t,mapRouteProperties:r});u&&(a.push(u),h===e&&(l=u))}let c=a.length>0?Promise.all(a).then(()=>{}):void 0;return c?.catch(()=>{}),l?.catch(()=>{}),{lazyRoutePromise:c,lazyHandlerPromise:l}}async function wu(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 ry(n){return n.matches.some(e=>e.route.middleware)?Up(n,()=>wu(n)):wu(n)}function Up(n,e){return iy(n,e,r=>{if(by(r))throw r;return r},fy,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 iy(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 Kp({request:o,params:a,context:l,unstable_pattern:c},h,e,t,r,i)}async function Kp(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,u,f=async()=>{if(u)throw new Error("You may only call `next()` once per middleware");try{return u={value:await Kp(n,e,t,r,i,s,o+1)},u.value}catch(p){return u={value:await s(p,c,u)},u.value}};try{let p=await h(n,f),m=p!=null?r(p):void 0;return i(m)?m:u?m??u.value:(u={value:await f()},u.value)}catch(p){return await s(p,c,u)}}function Gp(n,e,t,r,i){let s=_p({key:"middleware",route:r.route,manifest:e,mapRouteProperties:n}),o=ny(r.route,qe(t.method)?"action":"loader",e,n,i);return{middleware:s,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function Yl(n,e,t,r,i,s,o,a,l=null,c){let h=!1,u=Gp(n,e,t,i,s);return{...i,_lazyPromises:u,shouldLoad:a,shouldRevalidateArgs:l,shouldCallHandler(f){return h=!0,l?typeof c=="boolean"?li(i,{...l,defaultShouldRevalidate:c}):typeof f=="boolean"?li(i,{...l,defaultShouldRevalidate:f}):li(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)?oy({request:t,unstable_pattern:r,match:i,lazyHandlerPromise:u?.handler,lazyRoutePromise:u?.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:Gp(n,e,t,l,s),resolve:()=>Promise.resolve({type:"data",result:void 0})}:Yl(n,e,t,Cs(r),l,s,o,!0,a))}async function sy(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:Cs(t),params:t[0].params,context:i,matches:t},l=await n({...o,fetcherKey:r,runClientMiddleware:c=>{let h=o;return Up(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 oy({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",u=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([u(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([u(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 u(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 ay(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 ly(n){let{result:e,type:t}=n;if(qc(e)){let r;try{r=await ay(e)}catch(i){return{type:"error",error:i}}return t==="error"?{type:"error",error:new Ss(e.status,e.statusText,r),statusCode:e.status,headers:e.headers}:{type:"data",data:r,statusCode:e.status,headers:e.headers}}return t==="error"?ju(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:dy(e),statusCode:xi(e)?e.status:void 0,headers:e.init?.headers?new Headers(e.init.headers):void 0}:{type:"error",error:e,statusCode:xi(e)?e.status:void 0}:ju(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 cy(n,e,t,r,i){let s=n.headers.get("Location");if(ae(s,"Redirects returned/thrown from loaders/actions must have a Location header"),!pa(s)){let o=r.slice(0,r.findIndex(a=>a.route.id===t)+1);s=Gl(new URL(e.url),o,i,s),n.headers.set("Location",s)}return n}function ku(n,e,t){if(pa(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(qp(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=Ql(r.formData):s.body=r.formData}return new Request(i,s)}function Ql(n){let e=new URLSearchParams;for(let[t,r]of n.entries())e.append(t,typeof r=="string"?r:r.name);return e}function Su(n){let e=new FormData;for(let[t,r]of n.entries())e.append(t,r);return e}function hy(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(u=>{if(!(u.route.id in e))return;let f=u.route.id,p=e[f];if(ae(!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]=Hp),l||(l=!0,a=xi(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 Cu(n,e,t,r,i,s){let{loaderData:o,errors:a}=hy(e,t,r);return i.filter(l=>!l.matches||l.matches.some(c=>c.shouldLoad)).forEach(l=>{let{key:c,match:h,controller:u}=l;if(u&&u.signal.aborted)return;let f=s[c];if(ae(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))ae(!1,"Unhandled fetcher revalidation redirect");else{let p=sn(f.data);n.fetchers.set(c,p)}}),{loaderData:o,errors:a}}function Ou(n,e,t,r){let i=Object.entries(e).filter(([,s])=>s!==Hp).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 Pu(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 Ss(n||500,o,new Error(a),!0)}function Ys(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 qp(n){let e=typeof n=="string"?Nn(n):n;return qt({...e,hash:""})}function uy(n,e){return n.pathname!==e.pathname||n.search!==e.search?!1:n.hash===""?e.hash!=="":n.hash===e.hash?!0:e.hash!==""}function dy(n){return new Ss(n.init?.status??500,n.init?.statusText??"Internal Server Error",n.data)}function fy(n){return n!=null&&typeof n=="object"&&Object.entries(n).every(([e,t])=>typeof e=="string"&&py(t))}function py(n){return n!=null&&typeof n=="object"&&"type"in n&&"result"in n&&(n.type==="data"||n.type==="error")}function my(n){return qc(n.result)&&Vp.has(n.result.status)}function dt(n){return n.type==="error"}function Gn(n){return(n&&n.type)==="redirect"}function ju(n){return typeof n=="object"&&n!=null&&"type"in n&&"data"in n&&"init"in n&&n.type==="DataWithResponseInit"}function qc(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.headers=="object"&&typeof n.body<"u"}function gy(n){return Vp.has(n)}function by(n){return qc(n)&&gy(n.status)&&n.headers.has("Location")}function yy(n){return q1.has(n.toUpperCase())}function qe(n){return K1.has(n.toUpperCase())}function Yc(n){return new URLSearchParams(n).getAll("index").some(e=>e==="")}function Po(n,e){let t=typeof e=="string"?Nn(e).search:e.search;if(n[n.length-1].route.index&&Yc(t||""))return n[n.length-1];let r=Lp(n);return r[r.length-1]}function Mu(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 _a(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 xy(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 vy(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 wy(n,e){try{let t=n.sessionStorage.getItem(zp);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 ky(n,e){if(e.size>0){let t={};for(let[r,i]of e)t[r]=[...i];try{n.sessionStorage.setItem(zp,JSON.stringify(t))}catch(r){Te(!1,`Failed to save applied view transitions in sessionStorage (${r}).`)}}}function Au(){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 Os=b.createContext(null);Os.displayName="DataRouterState";var Yp=b.createContext(!1);function Sy(){return b.useContext(Yp)}var Qc=b.createContext({isTransitioning:!1});Qc.displayName="ViewTransition";var Qp=b.createContext(new Map);Qp.displayName="Fetchers";var Cy=b.createContext(null);Cy.displayName="Await";var pt=b.createContext(null);pt.displayName="Navigation";var ba=b.createContext(null);ba.displayName="Location";var Ot=b.createContext({outlet:null,matches:[],isDataRoute:!1});Ot.displayName="Route";var Jc=b.createContext(null);Jc.displayName="RouteError";var Jp="REACT_ROUTER_ERROR",Oy="REDIRECT",Py="ROUTE_ERROR_RESPONSE";function jy(n){if(n.startsWith(`${Jp}:${Oy}:{`))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 My(n){if(n.startsWith(`${Jp}:${Py}:{`))try{let e=JSON.parse(n.slice(40));if(typeof e=="object"&&e&&typeof e.status=="number"&&typeof e.statusText=="string")return new Ss(e.status,e.statusText,e.data)}catch{}}function Ay(n,{relative:e}={}){ae(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}=Ps(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(ba)!=null}function Yt(){return ae(Rr(),"useLocation() may be used only in the context of a <Router> component."),b.useContext(ba).location}var Xp="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Zp(n){b.useContext(pt).static||b.useLayoutEffect(n)}function fn(){let{isDataRoute:n}=b.useContext(Ot);return n?_y():Dy()}function Dy(){ae(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(ma(r)),o=b.useRef(!1);return Zp(()=>{o.current=!0}),b.useCallback((l,c={})=>{if(Te(o.current,Xp),!o.current)return;if(typeof l=="number"){t.go(l);return}let h=ga(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 em=b.createContext(null);function Ty(){return b.useContext(em)}function Ey(n){let e=b.useContext(Ot).outlet;return b.useMemo(()=>e&&b.createElement(em.Provider,{value:n},e),[e,n])}function tm(){let{matches:n}=b.useContext(Ot),e=n[n.length-1];return e?e.params:{}}function Ps(n,{relative:e}={}){let{matches:t}=b.useContext(Ot),{pathname:r}=Yt(),i=JSON.stringify(ma(t));return b.useMemo(()=>ga(n,JSON.parse(i),r,e==="path"),[n,i,r,e])}function Ny(n,e,t,r,i){ae(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:"/",u=a&&a.route;{let k=u&&u.path||"";rm(c,!u||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
|
-
|
|
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(u||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.`),$y(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 Ry(){let n=Wy(),e=xi(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 Ly=b.createElement(Ry,null),nm=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=My(n.digest);t&&(n=t)}let e=n!==void 0?b.createElement(Ot.Provider,{value:this.props.routeContext},b.createElement(Jc.Provider,{value:n,children:this.props.component})):this.props.children;return this.context?b.createElement(Iy,{error:n},e):e}};nm.contextType=Yp;var Ua=new WeakMap;function Iy({children:n,error:e}){let{basename:t}=b.useContext(pt);if(typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){let r=jy(e.digest);if(r){let i=Ua.get(e);if(i)throw i;let s=Bp(r.location,t);if(Ip&&!Ua.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 Ua.set(e,o),o}return b.createElement("meta",{httpEquiv:"refresh",content:`0;url=${s.absoluteURL||s.to}`})}}return n}function By({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 $y(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(u=>u.route.id&&o?.[u.route.id]!==void 0);ae(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 u=s[h];if((u.route.HydrateFallback||u.route.hydrateFallbackElement)&&(l=h),u.route.id){let{loaderData:f,errors:p}=t,m=u.route.loader&&!f.hasOwnProperty(u.route.id)&&(!p||p[u.route.id]===void 0);if(u.route.lazy||m){a=!0,l>=0?s=s.slice(0,l+1):s=[s[0]];break}}}let c=t&&r?(h,u)=>{r(h,{location:t.location,params:t.matches?.[0]?.params??{},unstable_pattern:Cs(t.matches),errorInfo:u})}:void 0;return s.reduceRight((h,u,f)=>{let p,m=!1,g=null,y=null;t&&(p=o&&u.route.id?o[u.route.id]:void 0,g=u.route.errorElement||Ly,a&&(l<0&&f===0?(rm("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),m=!0,y=null):l===f&&(m=!0,y=u.route.hydrateFallbackElement||null)));let v=e.concat(s.slice(0,f+1)),k=()=>{let S;return p?S=g:m?S=y:u.route.Component?S=b.createElement(u.route.Component,null):u.route.element?S=u.route.element:S=h,b.createElement(By,{match:u,routeContext:{outlet:h,matches:v,isDataRoute:t!=null},children:S})};return t&&(u.route.ErrorBoundary||u.route.errorElement||f===0)?b.createElement(nm,{location:t.location,revalidation:t.revalidation,component:g,error:p,children:k(),routeContext:{outlet:null,matches:v,isDataRoute:!0},onError:c}):k()},null)}function Xc(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Fy(n){let e=b.useContext(rr);return ae(e,Xc(n)),e}function Vy(n){let e=b.useContext(Os);return ae(e,Xc(n)),e}function zy(n){let e=b.useContext(Ot);return ae(e,Xc(n)),e}function Zc(n){let e=zy(n),t=e.matches[e.matches.length-1];return ae(t.route.id,`${n} can only be used on routes that contain a unique "id"`),t.route.id}function Hy(){return Zc("useRouteId")}function Wy(){let n=b.useContext(Jc),e=Vy("useRouteError"),t=Zc("useRouteError");return n!==void 0?n:e.errors?.[t]}function _y(){let{router:n}=Fy("useNavigate"),e=Zc("useNavigate"),t=b.useRef(!1);return Zp(()=>{t.current=!0}),b.useCallback(async(i,s={})=>{Te(t.current,Xp),t.current&&(typeof i=="number"?await n.navigate(i):await n.navigate(i,{fromRouteId:e,...s}))},[n,e])}var Du={};function rm(n,e,t){!e&&!Du[n]&&(Du[n]=!0,Te(!1,t))}var Tu={};function Eu(n,e){!n&&!Tu[e]&&(Tu[e]=!0,console.warn(e))}var Uy="useOptimistic",Nu=i1[Uy],Ky=()=>{};function Gy(n){return Nu?Nu(n):[n,Ky]}function qy(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 Yy=["HydrateFallback","hydrateFallbackElement"],Qy=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 Jy({router:n,flushSync:e,onError:t,unstable_useTransitions:r}){r=Sy()||r;let[s,o]=b.useState(n.state),[a,l]=Gy(s),[c,h]=b.useState(),[u,f]=b.useState({isTransitioning:!1}),[p,m]=b.useState(),[g,y]=b.useState(),[v,k]=b.useState(),S=b.useRef(new Map),M=b.useCallback((T,{deletedFetchers:P,newErrors:R,flushSync:N,viewTransitionOpts:L})=>{R&&t&&Object.values(R).forEach(U=>t(U,{location:T.location,params:T.matches[0]?.params??{},unstable_pattern:Cs(T.matches)})),T.fetchers.forEach((U,V)=>{U.data!==void 0&&S.current.set(V,U.data)}),P.forEach(U=>S.current.delete(U)),Eu(N===!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 F=n.window!=null&&n.window.document!=null&&typeof n.window.document.startViewTransition=="function";if(Eu(L==null||F,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!L||!F){e&&N?e(()=>o(T)):r===!1?o(T):b.startTransition(()=>{r===!0&&l(U=>Ru(U,T)),o(T)});return}if(e&&N){e(()=>{g&&(p?.resolve(),g.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:L.currentLocation,nextLocation:L.nextLocation})});let U=n.window.document.startViewTransition(()=>{e(()=>o(T))});U.finished.finally(()=>{e(()=>{m(void 0),y(void 0),h(void 0),f({isTransitioning:!1})})}),e(()=>y(U));return}g?(p?.resolve(),g.skipTransition(),k({state:T,currentLocation:L.currentLocation,nextLocation:L.nextLocation})):(h(T),f({isTransitioning:!0,flushSync:!1,currentLocation:L.currentLocation,nextLocation:L.nextLocation}))},[n.window,e,g,p,r,l,t]);b.useLayoutEffect(()=>n.subscribe(M),[n,M]),b.useEffect(()=>{u.isTransitioning&&!u.flushSync&&m(new Qy)},[u]),b.useEffect(()=>{if(p&&c&&n.window){let T=c,P=p.promise,R=n.window.document.startViewTransition(async()=>{r===!1?o(T):b.startTransition(()=>{r===!0&&l(N=>Ru(N,T)),o(T)}),await P});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(()=>{!u.isTransitioning&&v&&(h(v.state),f({isTransitioning:!0,flushSync:!1,currentLocation:v.currentLocation,nextLocation:v.nextLocation}),k(void 0))},[u.isTransitioning,v]);let C=b.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:T=>n.navigate(T),push:(T,P,R)=>n.navigate(T,{state:P,preventScrollReset:R?.preventScrollReset}),replace:(T,P,R)=>n.navigate(T,{replace:!0,state:P,preventScrollReset:R?.preventScrollReset})}),[n]),A=n.basename||"/",x=b.useMemo(()=>({router:n,navigator:C,static:!1,basename:A,onError:t}),[n,C,A,t]);return b.createElement(b.Fragment,null,b.createElement(rr.Provider,{value:x},b.createElement(Os.Provider,{value:a},b.createElement(Qp.Provider,{value:S.current},b.createElement(Qc.Provider,{value:u},b.createElement(tx,{basename:A,location:a.location,navigationType:a.historyAction,navigator:C,unstable_useTransitions:r},b.createElement(Xy,{routes:n.routes,future:n.future,state:a,onError:t})))))),null)}function Ru(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 Xy=b.memo(Zy);function Zy({routes:n,future:e,state:t,onError:r}){return Ny(n,void 0,t,r,e)}function Ka({to:n,replace:e,state:t,relative:r}){ae(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=ga(n,ma(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 ex(n){return Ey(n.context)}function tx({basename:n="/",children:e=null,location:t,navigationType:r="POP",navigator:i,static:s=!1,unstable_useTransitions:o}){ae(!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=Nn(t));let{pathname:c="/",search:h="",hash:u="",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:u,state:f,key:p},navigationType:r}},[a,c,h,u,f,p,r]);return Te(m!=null,`<Router basename="${a}"> is not able to match the URL "${c}${h}${u}" 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(ba.Provider,{children:e,value:m}))}var jo="get",Mo="application/x-www-form-urlencoded";function ya(n){return typeof HTMLElement<"u"&&n instanceof HTMLElement}function nx(n){return ya(n)&&n.tagName.toLowerCase()==="button"}function rx(n){return ya(n)&&n.tagName.toLowerCase()==="form"}function ix(n){return ya(n)&&n.tagName.toLowerCase()==="input"}function sx(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function ox(n,e){return n.button===0&&(!e||e==="_self")&&!sx(n)}var Qs=null;function ax(){if(Qs===null)try{new FormData(document.createElement("form"),0),Qs=!1}catch{Qs=!0}return Qs}var lx=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Ga(n){return n!=null&&!lx.has(n)?(Te(!1,`"${n}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Mo}"`),null):n}function cx(n,e){let t,r,i,s,o;if(rx(n)){let a=n.getAttribute("action");r=a?St(a,e):null,t=n.getAttribute("method")||jo,i=Ga(n.getAttribute("enctype"))||Mo,s=new FormData(n)}else if(nx(n)||ix(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")||jo,i=Ga(n.getAttribute("formenctype"))||Ga(a.getAttribute("enctype"))||Mo,s=new FormData(a,n),!ax()){let{name:c,type:h,value:u}=n;if(h==="image"){let f=c?`${c}.`:"";s.append(`${f}x`,"0"),s.append(`${f}y`,"0")}else c&&s.append(c,u)}}else{if(ya(n))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');t=jo,r=null,i=Mo,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 eh(n,e){if(n===!1||n===null||typeof n>"u")throw new Error(e)}function hx(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 ux(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 dx(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 fx(n,e,t){let r=await Promise.all(n.map(async i=>{let s=e.routes[i.route.id];if(s){let o=await ux(s,t);return o.links?o.links():[]}return[]}));return bx(r.flat(1).filter(dx).filter(i=>i.rel==="stylesheet"||i.rel==="preload").map(i=>i.rel==="stylesheet"?{...i,rel:"prefetch",as:"style"}:{...i,rel:"prefetch"}))}function Lu(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 u=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 u=="boolean")return u}return!0}):[]}function px(n,e,{includeHydrateFallback:t}={}){return mx(n.map(r=>{let i=e.routes[r.route.id];if(!i)return[];let s=[i.module];return i.clientActionModule&&(s=s.concat(i.clientActionModule)),i.clientLoaderModule&&(s=s.concat(i.clientLoaderModule)),t&&i.hydrateFallbackModule&&(s=s.concat(i.hydrateFallbackModule)),i.imports&&(s=s.concat(i.imports)),s}).flat(1))}function mx(n){return[...new Set(n)]}function gx(n){let e={},t=Object.keys(n).sort();for(let r of t)e[r]=n[r];return e}function bx(n,e){let t=new Set;return new Set(e),n.reduce((r,i)=>{let s=JSON.stringify(gx(i));return t.has(s)||(t.add(s),r.push({key:s,link:i})),r},[])}function im(){let n=b.useContext(rr);return eh(n,"You must render this element inside a <DataRouterContext.Provider> element"),n}function yx(){let n=b.useContext(Os);return eh(n,"You must render this element inside a <DataRouterStateContext.Provider> element"),n}var th=b.createContext(void 0);th.displayName="FrameworkContext";function sm(){let n=b.useContext(th);return eh(n,"You must render this element inside a <HydratedRouter> element"),n}function xx(n,e){let t=b.useContext(th),[r,i]=b.useState(!1),[s,o]=b.useState(!1),{onFocus:a,onBlur:l,onMouseEnter:c,onMouseLeave:h,onTouchStart:u}=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(u,p)}]:[!1,f,{}]}function Qr(n,e){return t=>{n&&n(t),t.defaultPrevented||e(t)}}function vx({page:n,...e}){let{router:t}=im(),r=b.useMemo(()=>yn(t.routes,n,t.basename),[t.routes,n,t.basename]);return r?b.createElement(kx,{page:n,matches:r,...e}):null}function wx(n){let{manifest:e,routeModules:t}=sm(),[r,i]=b.useState([]);return b.useEffect(()=>{let s=!1;return fx(n,e,t).then(o=>{s||i(o)}),()=>{s=!0}},[n,e,t]),r}function kx({page:n,matches:e,...t}){let r=Yt(),{manifest:i,routeModules:s}=sm(),{basename:o}=im(),{loaderData:a,matches:l}=yx(),c=b.useMemo(()=>Lu(n,e,l,i,r,"data"),[n,e,l,i,r]),h=b.useMemo(()=>Lu(n,e,l,i,r,"assets"),[n,e,l,i,r]),u=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=hx(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(()=>px(h,i),[h,i]),p=wx(h);return b.createElement(b.Fragment,null,u.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 Sx(...n){return e=>{n.forEach(t=>{typeof t=="function"?t(e):t!=null&&(t.current=e)})}}var Cx=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Cx&&(window.__reactRouterVersion="7.11.0")}catch{}function Ox(n,e){return X1({basename:e?.basename,getContext:e?.getContext,future:e?.future,history:p1({window:e?.window}),hydrationData:Px(),routes:n,mapRouteProperties:qy,hydrationRouteProperties:Yy,dataStrategy:e?.dataStrategy,patchRoutesOnNavigation:e?.patchRoutesOnNavigation,window:e?.window,unstable_instrumentations:e?.unstable_instrumentations}).initialize()}function Px(){let n=window?.__staticRouterHydrationData;return n&&n.errors&&(n={...n,errors:jx(n.errors)}),n}function jx(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 Ss(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 om=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,am=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:u,unstable_defaultShouldRevalidate:f,...p},m){let{basename:g,unstable_useTransitions:y}=b.useContext(pt),v=typeof c=="string"&&om.test(c),k=Bp(c,g);c=k.to;let S=Ay(c,{relative:i}),[M,C,A]=xx(r,p),x=Tx(c,{replace:o,state:a,target:l,preventScrollReset:h,relative:i,viewTransition:u,unstable_defaultShouldRevalidate:f,unstable_useTransitions:y});function T(R){e&&e(R),R.defaultPrevented||x(R)}let P=b.createElement("a",{...p,...A,href:k.absoluteURL||S,onClick:k.isExternal||s?e:T,ref:Sx(m,C),target:l,"data-discover":!v&&t==="render"?"true":void 0});return M&&!v?b.createElement(b.Fragment,null,P,b.createElement(vx,{page:S})):P});am.displayName="Link";var Mx=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 u=Ps(o,{relative:c.relative}),f=Yt(),p=b.useContext(Os),{navigator:m,basename:g}=b.useContext(pt),y=p!=null&&Ix(u)&&a===!0,v=m.encodeLocation?m.encodeLocation(u).pathname:u.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 M=v!=="/"&&v.endsWith("/")?v.length-1:v.length;let C=k===v||!i&&k.startsWith(v)&&k.charAt(M)==="/",A=S!=null&&(S===v||!i&&S.startsWith(v)&&S.charAt(v.length)==="/"),x={isActive:C,isPending:A,isTransitioning:y},T=C?e:void 0,P;typeof r=="function"?P=r(x):P=[r,C?"active":null,A?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let R=typeof s=="function"?s(x):s;return b.createElement(am,{...c,"aria-current":T,className:P,ref:h,style:R,to:o,viewTransition:a},typeof l=="function"?l(x):l)});Mx.displayName="NavLink";var Ax=b.forwardRef(({discover:n="render",fetcherKey:e,navigate:t,reloadDocument:r,replace:i,state:s,method:o=jo,action:a,onSubmit:l,relative:c,preventScrollReset:h,viewTransition:u,unstable_defaultShouldRevalidate:f,...p},m)=>{let{unstable_useTransitions:g}=b.useContext(pt),y=Rx(),v=Lx(a,{relative:c}),k=o.toLowerCase()==="get"?"get":"post",S=typeof a=="string"&&om.test(a),M=C=>{if(l&&l(C),C.defaultPrevented)return;C.preventDefault();let A=C.nativeEvent.submitter,x=A?.getAttribute("formmethod")||o,T=()=>y(A||C.currentTarget,{fetcherKey:e,method:x,navigate:t,replace:i,state:s,relative:c,preventScrollReset:h,viewTransition:u,unstable_defaultShouldRevalidate:f});g&&t!==!1?b.startTransition(()=>T()):T()};return b.createElement("form",{ref:m,method:k,action:v,onSubmit:r?l:M,...p,"data-discover":!S&&n==="render"?"true":void 0})});Ax.displayName="Form";function Dx(n){return`${n} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function lm(n){let e=b.useContext(rr);return ae(e,Dx(n)),e}function Tx(n,{target:e,replace:t,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a,unstable_useTransitions:l}={}){let c=fn(),h=Yt(),u=Ps(n,{relative:s});return b.useCallback(f=>{if(ox(f,e)){f.preventDefault();let p=t!==void 0?t:qt(h)===qt(u),m=()=>c(n,{replace:p,state:r,preventScrollReset:i,relative:s,viewTransition:o,unstable_defaultShouldRevalidate:a});l?b.startTransition(()=>m()):m()}},[h,c,u,t,r,e,n,i,s,o,a,l])}var Ex=0,Nx=()=>`__${String(++Ex)}__`;function Rx(){let{router:n}=lm("useSubmit"),{basename:e}=b.useContext(pt),t=Hy(),r=n.fetch,i=n.navigate;return b.useCallback(async(s,o={})=>{let{action:a,method:l,encType:c,formData:h,body:u}=cx(s,e);if(o.navigate===!1){let f=o.fetcherKey||Nx();await r(f,t,o.action||a,{unstable_defaultShouldRevalidate:o.unstable_defaultShouldRevalidate,preventScrollReset:o.preventScrollReset,formData:h,body:u,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:u,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 Lx(n,{relative:e}={}){let{basename:t}=b.useContext(pt),r=b.useContext(Ot);ae(r,"useFormAction must be used inside a RouteContext");let[i]=r.matches.slice(-1),s={...Ps(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(u=>u).forEach(u=>a.append("index",u));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 Ix(n,{relative:e}={}){let t=b.useContext(Qc);ae(t!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=lm("useViewTransitionState"),i=Ps(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 Fo(i.pathname,o)!=null||Fo(i.pathname,s)!=null}function Bx(n){return b.createElement(Jy,{flushSync:jp.flushSync,...n})}const $x={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",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",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"}},nh=b.createContext(null),cm="ck-dashboard-lang";function Fx(){const n=localStorage.getItem(cm);return n==="en"||n==="vi"?n:navigator.language.startsWith("vi")?"vi":"en"}function Vx({children:n}){const[e,t]=b.useState(Fx),r=s=>{localStorage.setItem(cm,s),t(s)},i=s=>$x[e][s];return d.jsx(nh.Provider,{value:{lang:e,setLang:r,t:i},children:n})}function ye(){const n=b.useContext(nh);if(!n)throw new Error("useI18n must be used within I18nProvider");return n}class zx extends b.Component{constructor(){super(...arguments);ou(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 d.jsx(nh.Consumer,{children:r=>d.jsx("div",{className:"flex h-screen items-center justify-center bg-dash-bg",children:d.jsx("div",{className:"text-center space-y-4 max-w-md px-6",children:t?d.jsxs(d.Fragment,{children:[d.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:"🔌"}),d.jsx("h1",{className:"text-2xl font-bold text-orange-500",children:r?.t("serverNotRunning")??"Server Not Running"}),d.jsx("p",{className:"text-dash-text-secondary",children:r?.t("startServerMessage")??"The Config UI requires the backend server to be running."}),d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg p-4",children:[d.jsx("p",{className:"text-xs text-dash-text-muted uppercase tracking-widest mb-2 font-bold",children:r?.t("runThisCommand")??"Run this command"}),d.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"})]}),d.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"})]}):d.jsxs(d.Fragment,{children:[d.jsx("h1",{className:"text-2xl font-bold text-red-500",children:r?.t("somethingWentWrong")??"Something went wrong"}),d.jsx("p",{className:"text-dash-text-muted",children:this.state.error?.message}),d.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 vi=({direction:n="horizontal",isDragging:e=!1,onMouseDown:t})=>{const r=n==="horizontal";return d.jsx("div",{onMouseDown:t,className:`
|
|
22
|
-
group flex items-center justify-center shrink-0
|
|
23
|
-
${r?"w-2 cursor-col-resize":"h-2 cursor-row-resize"}
|
|
24
|
-
${e?"bg-dash-accent/20":"hover:bg-dash-surface-hover/50"}
|
|
25
|
-
transition-colors
|
|
26
|
-
`,children:d.jsx("div",{className:`
|
|
27
|
-
rounded-full transition-all
|
|
28
|
-
${r?"w-0.5 h-8":"h-0.5 w-8"}
|
|
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 Hx=({isOpen:n,onClose:e,onAdd:t})=>{const{t:r}=ye(),[i,s]=b.useState(""),[o,a]=b.useState(""),[l,c]=b.useState(!1),[h,u]=b.useState(null);b.useEffect(()=>{n||(s(""),a(""),u(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()){u(r("pathRequired"));return}try{c(!0),u(null);const m={path:i.trim(),...o.trim()&&{alias:o.trim()}};await t(m),e()}catch(m){u(m instanceof Error?m.message:r("failedToAdd"))}finally{c(!1)}};return n?d.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:e,children:d.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:[d.jsxs("div",{className:"px-6 py-4 border-b border-dash-border",children:[d.jsx("h2",{className:"text-lg font-bold text-dash-text",children:r("addProjectTitle")}),d.jsx("p",{className:"text-sm text-dash-text-muted mt-1",children:r("addProjectDescription")})]}),d.jsxs("form",{onSubmit:f,className:"p-6 space-y-4",children:[d.jsxs("div",{children:[d.jsxs("label",{htmlFor:"project-path",className:"block text-sm font-medium text-dash-text mb-2",children:[r("projectPath")," ",d.jsx("span",{className:"text-red-500",children:"*"})]}),d.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"})]}),d.jsxs("div",{children:[d.jsxs("label",{htmlFor:"project-alias",className:"block text-sm font-medium text-dash-text mb-2",children:[r("alias")," ",r("aliasOptional")]}),d.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"}),d.jsx("p",{className:"text-xs text-dash-text-muted mt-1",children:r("aliasDescription")})]}),h&&d.jsx("div",{className:"px-3 py-2 bg-red-500/10 border border-red-500/20 rounded-md",children:d.jsx("p",{className:"text-sm text-red-500",children:h})}),d.jsxs("div",{className:"flex gap-3 pt-2",children:[d.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")}),d.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},Wx=({vertical:n=!1})=>{const{lang:e,setLang:t}=ye();return d.jsxs("div",{className:`flex ${n?"flex-col":""} items-center rounded-lg border border-dash-border overflow-hidden`,children:[d.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"}),d.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"})]})},_x=({projects:n,currentProjectId:e,isCollapsed:t,width:r,isConnected:i,theme:s,onSwitchProject:o,onToggle:a,onAddProject:l,onToggleTheme:c})=>{const{t:h}=ye(),u=fn(),f=Yt(),[p,m]=b.useState(!1),g=f.pathname==="/config/global",y=f.pathname==="/migrate"||f.pathname==="/skills",v=[...n].filter(C=>!C.path.endsWith("/.claude")&&C.path!=="~/.claude").sort((C,A)=>C.pinned&&!A.pinned?-1:!C.pinned&&A.pinned?1:C.name.localeCompare(A.name)),k=r?{width:`${r}px`}:void 0,S=r?"":t?"w-14":"w-72",M=r?r>=160:!t;return d.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:[d.jsxs("div",{className:`flex items-center ${M?"p-6 gap-3":"p-2 justify-center"}`,children:[d.jsx("img",{src:"/images/logo-transparent-32.png",alt:"ClaudeKit",className:"w-8 h-8 shrink-0"}),M&&d.jsxs("div",{className:"overflow-hidden",children:[d.jsx("h1",{className:"text-sm font-bold truncate tracking-tight text-dash-text",children:"ClaudeKit"}),d.jsx("p",{className:"text-[10px] text-dash-text-muted font-medium uppercase tracking-wider",children:h("controlCenter")})]})]}),d.jsxs("div",{className:`${M?"px-4":"px-2"} py-2 space-y-1`,children:[M&&d.jsx("p",{className:"px-2 pb-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h("settingsSection")}),d.jsx(Iu,{icon:d.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[d.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"}),d.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:!M,active:g,onClick:()=>u("/config/global")}),d.jsx(Iu,{icon:d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.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:!M,active:y,onClick:()=>u("/migrate")})]}),d.jsxs("div",{className:`flex-1 overflow-y-auto overflow-x-hidden ${M?"px-4":"px-2"} py-2 space-y-1 border-t border-dash-border`,children:[M&&d.jsx("p",{className:"px-2 pb-2 pt-2 text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h("projects")}),v.map(C=>{const A=f.pathname.endsWith("/config"),x=e===C.id&&!g&&!A&&!y;return d.jsxs("button",{onClick:()=>o(C.id),className:`w-full group relative flex items-center ${M?"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:[d.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${C.health===vn.HEALTHY?"bg-dash-accent":C.health===vn.WARNING?"bg-orange-400":"bg-red-500"} ${x?"animate-pulse":""}`}),M&&d.jsxs(d.Fragment,{children:[C.pinned&&d.jsx("span",{className:"text-xs",children:"📌"}),d.jsx("span",{className:"text-sm font-medium truncate",children:C.name})]}),!M&&d.jsxs("div",{className:"absolute left-14 px-2 py-1 bg-dash-text text-dash-bg text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none border border-dash-border z-50",children:[C.pinned&&"📌 ",C.name]})]},C.id)}),d.jsxs("button",{onClick:()=>m(!0),className:`w-full flex items-center ${M?"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:[d.jsx("div",{className:`${M?"w-5 h-5":""} flex items-center justify-center`,children:d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}),M&&d.jsx("span",{className:"text-sm font-medium",children:h("addProject")})]})]}),d.jsx(Hx,{isOpen:p,onClose:()=>m(!1),onAdd:l}),d.jsx("div",{className:"border-t border-dash-border",children:d.jsxs("div",{className:`py-3 flex items-center ${M?"px-3 justify-between":"justify-center flex-col gap-2"}`,children:[d.jsxs("div",{className:"flex items-center gap-2",title:h(i?"sync":"offline"),children:[d.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"}`}),M&&d.jsx("span",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest",children:h(i?"sync":"offline")})]}),d.jsxs("div",{className:`flex items-center gap-1 ${M?"":"flex-col"}`,children:[d.jsx(Wx,{vertical:!M}),d.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"?d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.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"})}):d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.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"})})}),d.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?d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 5l7 7-7 7M5 5l7 7-7 7"})}):d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"})})})]})]})})]})},Iu=({icon:n,label:e,badge:t,badgeColor:r="bg-dash-accent-subtle text-dash-accent",isCollapsed:i,active:s,onClick:o,disabled:a})=>d.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:[d.jsx("div",{className:`${i?"":"w-5 h-5"} flex items-center justify-center`,children:n}),!i&&d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"text-sm font-medium flex-1 text-left",children:e}),t&&d.jsx("span",{className:`text-[10px] font-bold px-1.5 py-0.5 rounded ${r}`,children:t})]}),i&&d.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 qa extends Error{constructor(){super("Backend server is not running. Start it with: ck config"),this.name="ServerUnavailableError"}}async function Qt(){try{if(!(await fetch(`${Pt}/health`,{method:"GET"})).ok)throw new qa}catch(n){throw n instanceof qa?n:new qa}}function rh(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 hm(){await Qt();const n=await fetch(`${Pt}/projects`);if(!n.ok)throw new Error("Failed to fetch projects");return(await n.json()).map(rh)}async function Ux(){await Qt();const n=await fetch(`${Pt}/skills`);if(!n.ok)throw new Error("Failed to fetch skills");return n.json()}async function Kx(n,e){try{await Qt();const t=e!==void 0?`?limit=${e}`:"",r=await fetch(`${Pt}/sessions/${encodeURIComponent(n)}${t}`);return r.ok?r.json():[]}catch{return[]}}async function Gx(n,e){await Qt();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 qx(n){await Qt();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 rh(t)}async function Yx(n){await Qt();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 Qx(n,e){await Qt();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 rh(r)}async function Jx(){const n=await fetch(`${Pt}/metadata/global`);return n.ok?n.json():(console.error("Failed to fetch global metadata"),{})}async function Xx(){await Qt();const n=await fetch(`${Pt}/migrate/providers`);if(!n.ok)throw new Error("Failed to fetch migration providers");return n.json()}async function Bu(){await Qt();const n=await fetch(`${Pt}/migrate/discovery`);if(!n.ok)throw new Error("Failed to discover migration items");return n.json()}function um(n){if(typeof n=="string"){const e=n.trim();if(!e)return null;if(e.startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]"))try{return um(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 Zx(n){const e=n.trim();if(!e)return null;try{return um(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 ev(n){await Qt();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=Zx(t);throw new Error(r||"Failed to execute migration")}return e.json()}function tv(){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 Ux();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 nv(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 Kx(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 rv(){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 hm();e(h)}catch(h){s(h instanceof Error?h.message:"Failed to load projects")}finally{r(!1)}},[]),a=b.useCallback(async h=>{const u=await qx(h);return await o(),u},[o]),l=b.useCallback(async h=>{await Yx(h),await o()},[o]),c=b.useCallback(async(h,u)=>{const f=await Qx(h,u);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 iv({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,M=Math.max(t,Math.min(r,m+S));o(M)},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]),u=b.useCallback(f=>{o(Math.max(t,Math.min(r,f)))},[t,r]);return{size:s,isDragging:a,startDrag:c,setSize:u,reset:h}}const sv=()=>{const{t:n}=ye(),e=fn(),t=Yt(),{projectId:r}=tm(),[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:u,setSize:f}=iv({storageKey:"claudekit-sidebar-width",defaultSize:288,minSize:56,maxSize:400}),p=c<=56,{projects:m,loading:g,error:y,addProject:v}=rv(),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"),M=b.useMemo(()=>m.find(x=>x.id===i)||null,[m,i]),C=x=>{e(`/project/${x}`)},A=()=>{f(p?288:56)};return g?d.jsx("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text items-center justify-center",children:d.jsx("div",{className:"animate-pulse text-dash-text-muted",children:n("loading")})}):y?d.jsx("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text items-center justify-center",children:d.jsxs("div",{className:"text-red-500",children:[n("error"),": ",y]})}):d.jsxs("div",{className:"flex h-screen w-full bg-dash-bg text-dash-text overflow-hidden font-sans transition-colors duration-300",children:[d.jsx(_x,{projects:m,currentProjectId:i,isCollapsed:p,width:c,isConnected:l,theme:o,onSwitchProject:C,onToggle:A,onAddProject:k,onToggleTheme:S}),d.jsx(vi,{direction:"horizontal",isDragging:h,onMouseDown:u}),d.jsx("div",{className:"flex-1 flex flex-col min-w-0 h-full relative",children:d.jsx("main",{className:"flex-1 flex flex-col overflow-hidden p-4 md:p-6",children:d.jsx(ex,{context:{project:M,isConnected:l,theme:o,onToggleTheme:S}})})})]})},dm=({title:n,filePath:e,onBack:t,onSave:r,onReset:i,saveStatus:s,syntaxError:o,showResetConfirm:a,setShowResetConfirm:l,badge:c})=>{const{t:h}=ye();return d.jsxs("div",{className:"flex items-center justify-between mb-3 shrink-0",children:[d.jsxs("div",{className:"flex items-center gap-3",children:[d.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:d.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:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),d.jsx("h1",{className:"text-xl font-bold tracking-tight text-dash-text",children:n}),c,d.jsx("span",{className:"text-xs text-dash-text-muted mono",children:e})]}),d.jsxs("div",{className:"flex items-center gap-2 relative",children:[a?d.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:[d.jsx("span",{className:"text-xs text-red-500 font-medium",children:h("confirmReset")}),d.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")}),d.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")})]}):d.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")}),d.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 ov(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 Jl(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 av(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 lv=({value:n,onChange:e,disabled:t})=>d.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
|
-
text-dash-text placeholder-dash-text-muted
|
|
32
|
-
focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
|
|
33
|
-
disabled:opacity-50 disabled:cursor-not-allowed
|
|
34
|
-
transition-colors`,placeholder:"Enter value..."}),cv=({value:n,onChange:e,schema:t,disabled:r})=>d.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
|
-
text-dash-text placeholder-dash-text-muted
|
|
36
|
-
focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
|
|
37
|
-
disabled:opacity-50 disabled:cursor-not-allowed
|
|
38
|
-
transition-colors`}),hv=({value:n,onChange:e,disabled:t})=>{const r=n===!0;return d.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
|
-
focus:outline-none focus:ring-2 focus:ring-dash-accent/50
|
|
40
|
-
disabled:opacity-50 disabled:cursor-not-allowed
|
|
41
|
-
${r?"bg-dash-accent":"bg-dash-border"}`,children:d.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"}`})})},uv=({value:n,onChange:e,schema:t,disabled:r})=>{const i=t.enum||[];return d.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
|
-
text-dash-text
|
|
44
|
-
focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
|
|
45
|
-
disabled:opacity-50 disabled:cursor-not-allowed
|
|
46
|
-
transition-colors appearance-none cursor-pointer`,children:[d.jsx("option",{value:"",children:"-- Select --"}),i.map(s=>d.jsx("option",{value:String(s),children:String(s)},String(s)))]})},dv=({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,u)=>u!==l);e(c.length>0?c:[])};return d.jsxs("div",{className:"space-y-2",children:[d.jsx("div",{className:"flex flex-wrap gap-1.5",children:r.map((l,c)=>d.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&&d.jsx("button",{type:"button",onClick:()=>a(c),className:"text-dash-text-muted hover:text-red-500 transition-colors",children:d.jsx("svg",{className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},c))}),!t&&d.jsxs("div",{className:"flex gap-2",children:[d.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
|
-
text-dash-text placeholder-dash-text-muted
|
|
48
|
-
focus:outline-none focus:ring-1 focus:ring-dash-accent/50`}),d.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:"+"})]})]})},fv=({value:n,onChange:e,disabled:t})=>{const[r,i]=b.useState(!1);return d.jsxs("div",{className:"relative",children:[d.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
|
-
text-dash-text placeholder-dash-text-muted
|
|
50
|
-
focus:outline-none focus:ring-2 focus:ring-dash-accent/50 focus:border-dash-accent
|
|
51
|
-
disabled:opacity-50 disabled:cursor-not-allowed
|
|
52
|
-
transition-colors`,placeholder:"Enter passphrase..."}),d.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?d.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.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"})}):d.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"}),d.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"})]})})]})},pv={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"},mv=({source:n})=>{const{t:e}=ye(),t=()=>{switch(n){case"default":return e("default");case"project":return e("scopeProject");case"global":return e("scopeGlobal")}};return d.jsx("span",{className:`text-[9px] px-1.5 py-0.5 rounded font-bold uppercase tracking-wider ${pv[n]}`,children:t()})};function gv(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 bv=({fieldPath:n,label:e,description:t,schema:r,value:i,source:s,onChange:o,disabled:a})=>{const l=gv(r,n),c=()=>{const h={value:i,onChange:o,schema:r,disabled:a};switch(l){case"boolean":return d.jsx(hv,{...h});case"number":return d.jsx(cv,{...h});case"enum":return d.jsx(uv,{...h});case"array":return d.jsx(dv,{...h});case"password":return d.jsx(fv,{...h});case"object":return null;default:return d.jsx(lv,{...h})}};return l==="object"?null:d.jsx("div",{className:"py-3 border-b border-dash-border/50 last:border-b-0",children:d.jsxs("div",{className:"flex items-start justify-between gap-4",children:[d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[d.jsx("span",{className:"text-sm font-medium text-dash-text",children:e}),d.jsx(mv,{source:s})]}),t&&d.jsx("p",{className:"text-xs text-dash-text-muted mb-2 leading-relaxed",children:t}),d.jsx("p",{className:"text-[10px] text-dash-text-muted/50 font-mono mb-2",children:n})]}),d.jsx("div",{className:l==="boolean"?"shrink-0":"w-1/2 max-w-xs",children:c()})]})})},yv=({id:n,title:e,defaultCollapsed:t=!1,children:r})=>{const[i,s]=b.useState(t);return d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg overflow-hidden",children:[d.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:[d.jsx("h3",{className:"text-sm font-bold text-dash-text uppercase tracking-wider",children:e}),d.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:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),d.jsx("div",{id:`section-${n}`,className:`transition-all duration-200 ease-in-out ${i?"max-h-0 overflow-hidden":"max-h-[2000px]"}`,children:d.jsx("div",{className:"px-4 py-2",children:r})})]})},xv=({schema:n,value:e,sources:t,sections:r,onChange:i,disabled:s})=>d.jsx("div",{className:"space-y-4",children:r.map((o,a)=>d.jsx(yv,{id:o.id,title:o.title,defaultCollapsed:o.defaultCollapsed??a>1,children:o.fields.map(l=>{const c=av(n,l.path),h=Jl(e,l.path),u=t[l.path]||"default";return d.jsx(bv,{fieldPath:l.path,label:l.label,description:l.description||c.description,schema:c,value:h,source:u,onChange:f=>i(l.path,f),disabled:s},l.path)})},o.id))}),fm=({width:n,isLoading:e,schema:t,config:r,sources:i,sections:s,onChange:o})=>{const{t:a}=ye();return d.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:[d.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:d.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:a("formTab")})}),d.jsx("div",{className:"flex-1 overflow-auto p-4",children:e?d.jsx("div",{className:"h-full flex items-center justify-center",children:d.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:a("loading")})}):t?d.jsx(xv,{schema:t,value:r,sources:i,sections:s,onChange:o}):null})]})},pm=1024;let vv=0,Ya=class{constructor(e,t){this.from=e,this.to=t}};class ce{constructor(e={}){this.id=vv++,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]}}}ce.closedBy=new ce({deserialize:n=>n.split(" ")});ce.openedBy=new ce({deserialize:n=>n.split(" ")});ce.group=new ce({deserialize:n=>n.split(" ")});ce.isolate=new ce({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});ce.contextHash=new ce({perNode:!0});ce.lookAhead=new ce({perNode:!0});ce.mounted=new ce({perNode:!0});class ci{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[ce.mounted.id]}}const wv=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):wv,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(ce.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(ce.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 ih{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 ih(t)}}const Js=new WeakMap,Fu=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 Ne{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=ci.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 Zl(this.topNode,e)}cursorAt(e,t=0,r=0){let i=Js.get(this)||this.topNode,s=new Zl(i);return s.moveTo(e,t),Js.set(this,s._tree),s}get topNode(){return new kt(this,0,0,null)}resolve(e,t=0){let r=wi(Js.get(this)||this.topNode,e,t,!1);return Js.set(this,r),r}resolveInner(e,t=0){let r=wi(Fu.get(this)||this.topNode,e,t,!0);return Fu.set(this,r),r}resolveStack(e,t=0){return Cv(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:ah(lt.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,i)=>new Ne(this.type,t,r,i,this.propValues),e.makeTree||((t,r,i)=>new Ne(lt.none,t,r,i)))}static build(e){return Ov(e)}}Ne.empty=new Ne(lt.none,[],[],0);class sh{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 sh(this.buffer,this.index)}}class jn{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&&!(mm(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 jn(s,o,this.set)}}function mm(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 wi(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 gm{cursor(e=0){return new Zl(this,e)}getChild(e,t=null,r=null){let i=Vu(this,e,t,r);return i.length?i[0]:null}getChildren(e,t=null,r=null){return Vu(this,e,t,r)}resolve(e,t=0){return wi(this,e,t,!1)}resolveInner(e,t=0){return wi(this,e,t,!0)}matchContext(e){return Xl(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 gm{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 u=l[e],f=c[e]+a.from;if(!(!(s&De.EnterBracketed&&u instanceof Ne&&((o=ci.get(u))===null||o===void 0?void 0:o.overlay)===null&&(f>=r||f+u.length<=r))&&!mm(i,r,f,f+u.length))){if(u instanceof jn){if(s&De.ExcludeBuffers)continue;let p=u.findChild(0,u.buffer.length,t,r-f,i);if(p>-1)return new Sn(new kv(a,u,e,f),null,p)}else if(s&De.IncludeAnonymous||!u.type.isAnonymous||oh(u)){let p;if(!(s&De.IgnoreMounts)&&(p=ci.get(u))&&!p.overlay)return new kt(p.tree,f,e,a);let m=new kt(u,f,e,a);return s&De.IncludeAnonymous||!m.type.isAnonymous?m:m.nextChild(t<0?u.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=ci.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 Vu(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 Xl(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 kv{constructor(e,t,r,i){this.parent=e,this.buffer=t,this.index=r,this.start=i}}class Sn extends gm{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 Ne(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function bm(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 Sv(i,t)}class Sv{constructor(e,t){this.heads=e,this.node=t}get next(){return bm(this.heads)}}function Cv(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=ci.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(wi(a,e,t,!1))}}return i?bm(i):r}class Zl{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 jn||!a.type.isAnonymous||oh(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 Xl(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 Xl(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 oh(n){return n.children.some(e=>e instanceof jn||!e.type.isAnonymous||oh(e))}function Ov(n){var e;let{buffer:t,nodeSet:r,maxBufferLength:i=pm,reused:s=[],minRepeatType:o=r.types.length}=n,a=Array.isArray(t)?new sh(t,t.length):t,l=r.types,c=0,h=0;function u(C,A,x,T,P,R){let{id:N,start:L,end:F,size:U}=a,V=h,J=c;if(U<0)if(a.next(),U==-1){let le=s[N];x.push(le),T.push(L-C);return}else if(U==-3){c=N;return}else if(U==-4){h=N;return}else throw new RangeError(`Unrecognized record size: ${U}`);let he=l[N],_,Y,ie=L-C;if(F-L<=i&&(Y=y(a.pos-A,P))){let le=new Uint16Array(Y.size-Y.skip),oe=a.pos-Y.size,Ce=le.length;for(;a.pos>oe;)Ce=v(Y.start,le,Ce);_=new jn(le,F-Y.start,r),ie=Y.start-C}else{let le=a.pos-U;a.next();let oe=[],Ce=[],Me=N>=o?N:-1,Oe=0,nt=F;for(;a.pos>le;)Me>=0&&a.id==Me&&a.size>=0?(a.end<=nt-i&&(m(oe,Ce,L,Oe,a.end,nt,Me,V,J),Oe=oe.length,nt=a.end),a.next()):R>2500?f(L,le,oe,Ce):u(L,le,oe,Ce,Me,R+1);if(Me>=0&&Oe>0&&Oe<oe.length&&m(oe,Ce,L,Oe,L,nt,Me,V,J),oe.reverse(),Ce.reverse(),Me>-1&&Oe>0){let en=p(he,J);_=ah(he,oe,Ce,0,oe.length,0,F-L,en,en)}else _=g(he,oe,Ce,F-L,V-F,J)}x.push(_),T.push(ie)}function f(C,A,x,T){let P=[],R=0,N=-1;for(;a.pos>A;){let{id:L,start:F,end:U,size:V}=a;if(V>4)a.next();else{if(N>-1&&F<N)break;N<0&&(N=U-i),P.push(L,F,U),R++,a.next()}}if(R){let L=new Uint16Array(R*4),F=P[P.length-2];for(let U=P.length-3,V=0;U>=0;U-=3)L[V++]=P[U],L[V++]=P[U+1]-F,L[V++]=P[U+2]-F,L[V++]=V;x.push(new jn(L,P[2]-F,r)),T.push(F-C)}}function p(C,A){return(x,T,P)=>{let R=0,N=x.length-1,L,F;if(N>=0&&(L=x[N])instanceof Ne){if(!N&&L.type==C&&L.length==P)return L;(F=L.prop(ce.lookAhead))&&(R=T[N]+L.length+F)}return g(C,x,T,P,R,A)}}function m(C,A,x,T,P,R,N,L,F){let U=[],V=[];for(;C.length>T;)U.push(C.pop()),V.push(A.pop()+x-P);C.push(g(r.types[N],U,V,R-P,L-R,F)),A.push(P-x)}function g(C,A,x,T,P,R,N){if(R){let L=[ce.contextHash,R];N=N?[L].concat(N):[L]}if(P>25){let L=[ce.lookAhead,P];N=N?[L].concat(N):[L]}return new Ne(C,A,x,T,N)}function y(C,A){let x=a.fork(),T=0,P=0,R=0,N=x.end-i,L={size:0,start:0,skip:0};e:for(let F=x.pos-C;x.pos>F;){let U=x.size;if(x.id==A&&U>=0){L.size=T,L.start=P,L.skip=R,R+=4,T+=4,x.next();continue}let V=x.pos-U;if(U<0||V<F||x.start<N)break;let J=x.id>=o?4:0,he=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()}P=he,T+=U,R+=J}return(A<0||T==C)&&(L.size=T,L.start=P,L.skip=R),L.size>4?L:void 0}function v(C,A,x){let{id:T,start:P,end:R,size:N}=a;if(a.next(),N>=0&&T<o){let L=x;if(N>4){let F=a.pos-(N-4);for(;a.pos>F;)x=v(C,A,x)}A[--x]=L,A[--x]=R-C,A[--x]=P-C,A[--x]=T}else N==-3?c=T:N==-4&&(h=T);return x}let k=[],S=[];for(;a.pos>0;)u(n.start||0,n.bufferStart||0,k,S,-1,0);let M=(e=n.length)!==null&&e!==void 0?e:k.length?S[0]+k[0].length:0;return new Ne(l[n.topID],k.reverse(),S.reverse(),M)}const zu=new WeakMap;function Ao(n,e){if(!n.isAnonymous||e instanceof jn||e.type!=n)return 1;let t=zu.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=n||!(r instanceof Ne)){t=1;break}t+=Ao(n,r)}zu.set(e,t)}return t}function ah(n,e,t,r,i,s,o,a,l){let c=0;for(let m=r;m<i;m++)c+=Ao(n,e[m]);let h=Math.ceil(c*1.5/8),u=[],f=[];function p(m,g,y,v,k){for(let S=y;S<v;){let M=S,C=g[S],A=Ao(n,m[S]);for(S++;S<v;S++){let x=Ao(n,m[S]);if(A+x>=h)break;A+=x}if(S==M+1){if(A>h){let x=m[M];p(x.children,x.positions,0,x.children.length,g[M]+k);continue}u.push(m[M])}else{let x=g[S-1]+m[S-1].length-C;u.push(ah(n,m,g,M,S,C,x,null,l))}f.push(C+k-s)}}return p(e,t,r,i,0),(a||l)(u,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,u=h?h.fromA:1e9;if(u-l>=r)for(;o&&o.from<u;){let f=o;if(l>=f.from||u<=f.to||c){let p=Math.max(f.from,l)-c,m=Math.min(f.to,u)-c;f=p>=m?null:new Jn(p,m,f.tree,f.offset+c,a>0,!!h)}if(f&&i.push(f),o.to>u)break;o=s<e.length?e[s++]:null}if(!h)break;l=h.toA,c=h.toA-h.toB}return i}}class ym{startParse(e,t,r){return typeof e=="string"&&(e=new Pv(e)),r=r?r.length?r.map(i=>new Ya(i.from,i.to)):[new Ya(0,0)]:[new Ya(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 Pv{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 ce({perNode:!0});var Hu={};class Vo{constructor(e,t,r,i,s,o,a,l,c,h=0,u){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=u}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 Vo(e,[],t,r,r,0,[],0,i?new Wu(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 u=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-u;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 Vo(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 jv(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 Wu(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 Wu{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class jv{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 zo{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 zo(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 zo(this.stack,this.pos,this.index)}}function Xs(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 Do{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const _u=new Do;class Mv{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=_u,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=_u,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;Av(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 Av(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||Dv(m,e.token.value,i,s))){e.acceptToken(m);break}}let h=e.next,u=0,f=n[o+2];if(e.next<0&&f>u&&n[c+f*3-3]==65535){o=n[c+f*3-1];continue e}for(;u<f;){let p=u+f>>1,m=c+p+(p<<1),g=n[m],y=n[m+1]||65536;if(h<g)f=p;else if(h>=y)u=p+1;else{o=n[m+2],e.advance();continue e}}break}}function Uu(n,e,t){for(let r=e,i;(i=n[r])!=65535;r++)if(i==t)return r-e;return-1}function Dv(n,e,t,r){let i=Uu(t,r,e);return i<0||Uu(t,r,n)<i}const ct=typeof process<"u"&&Hu&&/\bparse\b/.test(Hu.LOG);let Qa=null;function Ku(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 Tv{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?Ku(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Ku(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 Ne){if(o==e){if(o<this.safeFrom)return null;let a=o+s.length;if(a<=this.safeTo){let l=s.prop(ce.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 Ev{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Do)}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],u=this.tokens[c];if(!(r&&!h.fallback)&&((h.contextual||u.start!=e.pos||u.mask!=o||u.context!=a)&&(this.updateCachedToken(u,h,e),u.mask=o,u.context=a),u.lookAhead>u.end+25&&(l=Math.max(u.lookAhead,l)),u.value!=0)){let f=t;if(u.extended>-1&&(t=this.addActions(e,u.extended,u.end,t)),t=this.addActions(e,u.value,u.end,t),!h.extend&&(r=u,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new Do,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 Do,{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 Nv{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 Mv(t,i),this.tokens=new Ev(e,this.stream),this.topTerm=e.top[1];let{from:s}=i[0];this.stacks=[Vo.start(this,e.top[0],s)],this.fragments=r.length&&this.stream.end-s>e.bufferLength*4?new Tv(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&&Lv(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 u=this.fragments.nodeAt(i);u;){let f=this.parser.nodeSet.types[u.type.id]==u.type?s.getGoto(e.state,u.type.id):-1;if(f>-1&&u.length&&(!c||(u.prop(ce.contextHash)||0)==h))return e.useNode(u,f),ct&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(u.type.id)})`),!0;if(!(u instanceof Ne)||u.children.length==0||u.positions[0]>0)break;let p=u.children[0];if(p instanceof Ne&&u.positions[0]==0)u=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++],u=l[c++],f=l[c++],p=c==l.length||!r,m=p?e:e.split(),g=this.tokens.mainToken;if(m.apply(h,u,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(u)} @ ${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 Gu(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 u=a.split(),f=h;for(let p=0;p<10&&u.forceReduce()&&(ct&&console.log(f+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,r));p++)ct&&(f=this.stackID(u)+" -> ");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)})`),Gu(a,r)):(!i||i.score<a.score)&&(i=a)}return i}stackToTree(e){return e.close(),Ne.build({buffer:zo.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=(Qa||(Qa=new WeakMap)).get(e);return t||Qa.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function Gu(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 Rv{constructor(e,t,r){this.source=e,this.flags=t,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}class Ho extends ym{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=ce[l]);for(let c=1;c<a.length;){let h=a[c++];if(h>=0)s(h,l,a[c++]);else{let u=a[c+-h];for(let f=-h;f>0;f--)s(a[c++],l,u);c++}}}this.nodeSet=new ih(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=pm;let o=Xs(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(qu),this.states=Xs(e.states,Uint32Array),this.data=Xs(e.stateData),this.goto=Xs(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 Nv(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(Ho.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]=qu(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 Rv(e,r,i)}static deserialize(e){return new Ho(e)}}function on(n,e){return n[e]|n[e+1]<<16}function Lv(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 qu(n){if(n.external){let e=n.extend?1:0;return(t,r)=>n.external(t,r)<<1|e}return n.get}let Iv=0;class yt{constructor(e,t,r,i){this.name=e,this.set=t,this.base=r,this.modified=i,this.id=Iv++}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 Wo(e);return r=>r.modified.indexOf(t)>-1?r:Wo.get(r.base||r,r.modified.concat(t).sort((i,s)=>i.id-s.id))}}let Bv=0;class Wo{constructor(e){this.name=e,this.instances=[],this.id=Bv++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(a=>a.base==e&&$v(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=Fv(t);for(let a of e.set)if(!a.modified.length)for(let l of o)i.push(Wo.get(a,l));return s}}function $v(n,e){return n.length==e.length&&n.every((t,r)=>t==e[r])}function Fv(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 xm(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 u=0;;){if(a=="..."&&u>0&&u+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]),u+=f[0].length,u==i.length)break;let p=i[u++];if(u==i.length&&p=="!"){o=0;break}if(p!="/")throw new RangeError("Invalid path: "+i);a=i.slice(u)}let l=s.length-1,c=s[l];if(!c)throw new RangeError("Invalid path: "+i);let h=new ki(r,o,l>0?s.slice(0,l):null);e[c]=h.sort(e[c])}}return vm.add(e)}const vm=new ce({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 ki(i.tags,i.mode,i.context);t?t.next=s:r=s,t=s}return r}});class ki{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}}ki.empty=new ki([],2,null);function wm(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 Vv(n,e){let t=null;for(let r of n){let i=r.style(e);i&&(t=t?t+" "+i:i)}return t}function zv(n,e,t,r=0,i=n.length){let s=new Hv(r,Array.isArray(e)?e:[e],t);s.highlightRange(n.cursor(),r,i,"",s.highlighters),s.flush(i)}class Hv{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=Wv(e)||ki.empty,u=Vv(s,h.tags);if(u&&(c&&(c+=" "),c+=u,h.mode==1&&(i+=(i?" ":"")+u)),this.startSpan(Math.max(t,a),c),h.opaque)return;let f=e.tree&&e.tree.prop(ce.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,M=Math.max(t,v),C=Math.min(r,S);if(M<C&&g)for(;e.from<C&&(this.highlightRange(e,M,C,i,s),this.startSpan(Math.min(C,e.to),c),!(e.to>=S||!e.nextSibling())););if(!k||S>r)break;v=k.to+a,v>t&&(this.highlightRange(p.cursor(),Math.max(t,k.from+a),Math.min(r,v),"",m),this.startSpan(Math.min(r,v),c))}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 Wv(n){let e=n.type.prop(vm);for(;e&&e.context&&!n.matchContext(e.context);)e=e.next;return e||null}const z=yt.define,Zs=z(),gn=z(),Yu=z(gn),Qu=z(gn),bn=z(),eo=z(bn),Ja=z(bn),Ft=z(),Wn=z(Ft),It=z(),Bt=z(),ec=z(),Jr=z(ec),to=z(),D={comment:Zs,lineComment:z(Zs),blockComment:z(Zs),docComment:z(Zs),name:gn,variableName:z(gn),typeName:Yu,tagName:z(Yu),propertyName:Qu,attributeName:z(Qu),className:z(gn),labelName:z(gn),namespace:z(gn),macroName:z(gn),literal:bn,string:eo,docString:z(eo),character:z(eo),attributeValue:z(eo),number:Ja,integer:z(Ja),float:z(Ja),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:ec,separator:z(ec),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:to,documentMeta:z(to),annotation:z(to),processingInstruction:z(to),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 D){let e=D[n];e instanceof yt&&(e.name=n)}wm([{tag:D.link,class:"tok-link"},{tag:D.heading,class:"tok-heading"},{tag:D.emphasis,class:"tok-emphasis"},{tag:D.strong,class:"tok-strong"},{tag:D.keyword,class:"tok-keyword"},{tag:D.atom,class:"tok-atom"},{tag:D.bool,class:"tok-bool"},{tag:D.url,class:"tok-url"},{tag:D.labelName,class:"tok-labelName"},{tag:D.inserted,class:"tok-inserted"},{tag:D.deleted,class:"tok-deleted"},{tag:D.literal,class:"tok-literal"},{tag:D.string,class:"tok-string"},{tag:D.number,class:"tok-number"},{tag:[D.regexp,D.escape,D.special(D.string)],class:"tok-string2"},{tag:D.variableName,class:"tok-variableName"},{tag:D.local(D.variableName),class:"tok-variableName tok-local"},{tag:D.definition(D.variableName),class:"tok-variableName tok-definition"},{tag:D.special(D.variableName),class:"tok-variableName2"},{tag:D.definition(D.propertyName),class:"tok-propertyName tok-definition"},{tag:D.typeName,class:"tok-typeName"},{tag:D.namespace,class:"tok-namespace"},{tag:D.className,class:"tok-className"},{tag:D.macroName,class:"tok-macroName"},{tag:D.propertyName,class:"tok-propertyName"},{tag:D.operator,class:"tok-operator"},{tag:D.comment,class:"tok-comment"},{tag:D.meta,class:"tok-meta"},{tag:D.invalid,class:"tok-invalid"},{tag:D.punctuation,class:"tok-punctuation"}]);const _v=xm({String:D.string,Number:D.number,"True False":D.bool,PropertyName:D.propertyName,Null:D.null,", :":D.separator,"[ ]":D.squareBracket,"{ }":D.brace}),Uv=Ho.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:[_v],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 tc=[],km=[];(()=>{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?km:tc).push(t=t+n[e])})();function Kv(n){if(n<768)return!1;for(let e=0,t=tc.length;;){let r=e+t>>1;if(n<tc[r])t=r;else if(n>=km[r])e=r+1;else return!0;if(e==t)return!1}}function Ju(n){return n>=127462&&n<=127487}const Xu=8205;function Gv(n,e,t=!0,r=!0){return(t?Sm:qv)(n,e,r)}function Sm(n,e,t){if(e==n.length)return e;e&&Cm(n.charCodeAt(e))&&Om(n.charCodeAt(e-1))&&e--;let r=Xa(n,e);for(e+=Zu(r);e<n.length;){let i=Xa(n,e);if(r==Xu||i==Xu||t&&Kv(i))e+=Zu(i),r=i;else if(Ju(i)){let s=0,o=e-2;for(;o>=0&&Ju(Xa(n,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function qv(n,e,t){for(;e>0;){let r=Sm(n,e-2,t);if(r<e)return r;e--}return 0}function Xa(n,e){let t=n.charCodeAt(e);if(!Om(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return Cm(r)?(t-55296<<10)+(r-56320)+65536:t}function Cm(n){return n>=56320&&n<57344}function Om(n){return n>=55296&&n<56320}function Zu(n){return n<65536?1:2}class be{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),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]=Pr(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 hi(this),s=new hi(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 hi(this,e)}iterRange(e,t=this.length){return new Pm(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 jm(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]?be.empty:e.length<=32?new Ee(e):zt.from(Ee.split(e,[]))}}class Ee extends be{constructor(e,t=Yv(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 Qv(i,a,r,o);i=a+1,r++}}decompose(e,t,r,i){let s=e<=0&&t>=this.length?this:new Ee(ed(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(i&1){let o=r.pop(),a=To(s.text,o.text.slice(),0,s.length);if(a.length<=32)r.push(new Ee(a,o.length+s.length));else{let l=a.length>>1;r.push(new Ee(a.slice(0,l)),new Ee(a.slice(l)))}}else r.push(s)}replace(e,t,r){if(!(r instanceof Ee))return super.replace(e,t,r);[e,t]=Pr(this,e,t);let i=To(this.text,To(r.text,ed(this.text,0,e)),t),s=this.length+r.length-(t-e);return i.length<=32?new Ee(i,s):zt.from(Ee.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 Ee(r,i)),r=[],i=-1);return i>-1&&t.push(new Ee(r,i)),t}}class zt extends be{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 zt(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 zt))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 Ee(p,t)}let i=Math.max(32,r>>5),s=i<<1,o=i>>1,a=[],l=0,c=-1,h=[];function u(p){let m;if(p.lines>s&&p instanceof zt)for(let g of p.children)u(g);else p.lines>o&&(l>o||!l)?(f(),a.push(p)):p instanceof Ee&&l&&(m=h[h.length-1])instanceof Ee&&p.lines+m.lines<=32?(l+=p.lines,c+=p.length+1,h[h.length-1]=new Ee(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]:zt.from(h,c)),c=-1,l=h.length=0)}for(let p of e)u(p);return f(),a.length==1?a[0]:new zt(a,t)}}be.empty=new Ee([""],0);function Yv(n){let e=-1;for(let t of n)e+=t.length+1;return e}function To(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 ed(n,e,t){return To(n,[""],e,t)}class hi{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 Ee?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 Ee?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 Ee){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 Ee?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 Pm{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new hi(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 jm{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"&&(be.prototype[Symbol.iterator]=function(){return this.iter()},hi.prototype[Symbol.iterator]=Pm.prototype[Symbol.iterator]=jm.prototype[Symbol.iterator]=function(){return this});class Qv{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 $e(n,e,t=!0,r=!0){return Gv(n,e,t,r)}function Jv(n){return n>=56320&&n<57344}function Xv(n){return n>=55296&&n<56320}function rt(n,e){let t=n.charCodeAt(e);if(!Xv(t)||e+1==n.length)return t;let r=n.charCodeAt(e+1);return Jv(r)?(t-55296<<10)+(r-56320)+65536:t}function lh(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 nc=/\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){rc(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:Mm(this,e)}mapDesc(e,t=!1){return e.empty?this:ic(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 rc(this,(t,r,i,s,o)=>e=e.replace(i,i+(r-t),o),!1),e}mapDesc(e,t=!1){return ic(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(be.empty);r.push(o?e.slice(s,s+o):be.empty)}s+=o}return new Be(t,r)}compose(e){return this.empty?e:e.empty?this:Mm(this,e,!0)}map(e,t=!1){return e.empty?this:ic(this,e,t,!0)}iterChanges(e,t=!1){rc(this,e,t)}get desc(){return Gt.create(this.sections)}filter(e){let t=[],r=[],i=[],s=new Si(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 u=s.ins==-1?-1:s.off==0?s.ins:0;Ye(t,h,u),u>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 u=new Be(i,s);a=a?a.compose(u.map(a)):u,i=[],s=[],o=0}function c(h){if(Array.isArray(h))for(let u of h)c(u);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:u,to:f=u,insert:p}=h;if(u>f||u<0||f>t)throw new RangeError(`Invalid change range ${u} to ${f} (in doc of length ${t})`);let m=p?typeof p=="string"?be.of(p.split(r||nc)):p:be.empty,g=m.length;if(u==f&&g==0)return;u<o&&l(),u>o&&Ye(i,u-o,-1),Ye(i,f-u,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(be.empty);r[i]=be.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(be.empty);n.push(t)}}function rc(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,u=be.empty;for(;c+=a,h+=l,l&&r&&(u=u.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,u),i=c,s=h}}}function ic(n,e,t,r=!1){let i=[],s=r?[]:null,o=new Si(n),a=new Si(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 u=Math.min(h,a.len);c+=u,h-=u,a.forward(u)}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 Mm(n,e,t=!1){let r=[],i=t?[]:null,s=new Si(n),o=new Si(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 Si{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?be.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?be.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 E.range(e,t);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return E.range(this.anchor,r)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return E.range(e.anchor,e.head)}static create(e,t,r){return new qn(e,t,r)}}class E{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:E.create(this.ranges.map(r=>r.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;r<this.ranges.length;r++)if(!this.ranges[r].eq(e.ranges[r],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new E([this.main],0)}addRange(e,t=!0){return E.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let r=this.ranges.slice();return r[t]=e,E.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new E(e.ranges.map(t=>qn.fromJSON(t)),e.main)}static single(e,t=e){return new E([E.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,i=0;i<e.length;i++){let s=e[i];if(s.empty?s.from<=r:s.from<r)return E.normalized(e.slice(),t);r=s.to}return new E(e,t)}static cursor(e,t=0,r,i){return 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?E.range(l,a):E.range(a,l))}}return new E(e,t)}}function Am(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let ch=0;class G{constructor(e,t,r,i,s){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=i,this.id=ch++,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:hh),!!e.static,e.enables)}of(e){return new Eo([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Eo(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Eo(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}}function hh(n,e){return n==e||n.length==e.length&&n.every((t,r)=>t===e[r])}class Eo{constructor(e,t,r,i){this.dependencies=e,this.facet=t,this.type=r,this.value=i,this.id=ch++}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 u of this.dependencies)u=="doc"?l=!0:u=="selection"?c=!0:((t=e[u.id])!==null&&t!==void 0?t:1)&1||h.push(e[u.id]);return{create(u){return u.values[o]=r(u),1},update(u,f){if(l&&f.docChanged||c&&(f.docChanged||f.selection)||sc(u,h)){let p=r(u);if(a?!td(p,u.values[o],i):!i(p,u.values[o]))return u.values[o]=p,1}return 0},reconfigure:(u,f)=>{let p,m=f.config.address[s];if(m!=null){let g=Uo(f,m);if(this.dependencies.every(y=>y instanceof G?f.facet(y)===u.facet(y):y instanceof Ke?f.field(y,!1)==u.field(y,!1):!0)||(a?td(p=r(u),g,i):i(p=r(u),g)))return u.values[o]=g,0}else p=r(u);return u.values[o]=p,1}}}}function td(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 sc(n,e){let t=!1;for(let r of e)ui(n,r)&1&&(t=!0);return t}function Zv(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 u=Uo(l,r[h]);if(i[h]==2)for(let f of u)c.push(f);else c.push(u)}return e.combine(c)}return{create(l){for(let c of r)ui(l,c);return l.values[o]=a(l),1},update(l,c){if(!sc(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=sc(l,r),u=c.config.facets[e.id],f=c.facet(e);if(u&&!h&&hh(t,u))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 no=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(ch++,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(no).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(no),o=i.facet(no),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,no.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 Dm(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 Dm{constructor(e,t){this.inner=e,this.prec=t}}class xa{of(e){return new oc(this,e)}reconfigure(e){return xa.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class oc{constructor(e,t){this.compartment=e,this.inner=t}}class _o{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 e2(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,hh(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=>Zv(y,m,p))}}let u=c.map(f=>f(a));return new _o(e,o,u,a,l,s)}}function e2(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 oc&&t.delete(o.compartment)}if(i.set(o,a),Array.isArray(o))for(let c of o)s(c,a);else if(o instanceof oc){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 Dm)s(o.inner,o.prec);else if(o instanceof Ke)r[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof Eo)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 ui(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 Uo(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const Tm=G.define(),ac=G.define({combine:n=>n.some(e=>e),static:!0}),Em=G.define({combine:n=>n.length?n[0]:void 0,static:!0}),Nm=G.define(),Rm=G.define(),Lm=G.define(),Im=G.define({combine:n=>n.length?n[0]:!1});class Jt{constructor(e,t){this.type=e,this.value=t}static define(){return new t2}}class t2{of(e){return new Jt(this,e)}}class n2{constructor(e){this.map=e}of(e){return new se(this,e)}}class se{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 se(this.type,t)}is(e){return this.type==e}static define(e={}){return new n2(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}}se.reconfigure=se.define();se.appendConfig=se.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&&Am(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 r2(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 Bm(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:se.mapEffects(n.effects,i).concat(se.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function lc(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(Em)),selection:r&&(r instanceof E?r:E.single(r.anchor,r.head)),effects:vr(e.effects),annotations:i,scrollIntoView:!!e.scrollIntoView}}function $m(n,e,t){let r=lc(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=Bm(r,lc(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 s2(t?i2(i):i)}function i2(n){let e=n.startState,t=!0;for(let i of e.facet(Nm)){let s=i(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:r2(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),se.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let r=e.facet(Rm);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=$m(e,vr(s),!1)}return n}function s2(n){let e=n.startState,t=e.facet(Lm),r=n;for(let i=t.length-1;i>=0;i--){let s=t[i](n);s&&Object.keys(s).length&&(r=Bm(r,lc(e,s,n.changes.newLength),!0))}return r==n?n:Fe.create(e,n.changes,n.selection,r.effects,r.annotations,r.scrollIntoView)}const o2=[];function vr(n){return n==null?o2:Array.isArray(n)?n:[n]}var je=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(je||(je={}));const a2=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let cc;try{cc=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function l2(n){if(cc)return cc.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>""&&(t.toUpperCase()!=t.toLowerCase()||a2.test(t)))return!0}return!1}function c2(n){return e=>{if(!/\S/.test(e))return je.Space;if(l2(e))return je.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return je.Word;return je.Other}}class fe{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++)ui(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 ui(this,r),Uo(this,r)}update(...e){return $m(this,e,!0)}applyTransaction(e){let t=this.config,{base:r,compartments:i}=t;for(let a of e.effects)a.is(xa.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(se.reconfigure)?(t=null,r=a.value):a.is(se.appendConfig)&&(t=null,r=vr(r).concat(a.value));let s;t?s=e.startState.values.slice():(t=_o.resolve(r,i,this),s=new fe(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,c)=>c.reconfigure(l,this),null).values);let o=e.startState.facet(ac)?e.newSelection:e.newSelection.asSingle();new fe(t,e.newDoc,o,s,(a,l)=>l.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:E.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),i=this.changes(r.changes),s=[r.range],o=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 u=i.mapDesc(c,!0);s.push(l.range.map(u)),i=i.compose(h),o=se.mapEffects(o,h).concat(se.mapEffects(vr(l.effects),u))}return{changes:i,selection:E.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof Be?e:Be.of(e,this.doc.length,this.facet(fe.lineSeparator))}toText(e){return be.of(e.split(this.facet(fe.lineSeparator)||nc))}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:(ui(this,t),Uo(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 fe.create({doc:e.doc,selection:E.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(e={}){let t=_o.resolve(e.extensions||[],new Map),r=e.doc instanceof be?e.doc:be.of((e.doc||"").split(t.staticFacet(fe.lineSeparator)||nc)),i=e.selection?e.selection instanceof E?e.selection:E.single(e.selection.anchor,e.selection.head):E.single(0);return Am(i,r.length),t.staticFacet(ac)||(i=i.asSingle()),new fe(t,r,i,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(fe.tabSize)}get lineBreak(){return this.facet(fe.lineSeparator)||`
|
|
56
|
-
`}get readOnly(){return this.facet(Im)}phrase(e,...t){for(let r of this.facet(fe.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(Tm))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 c2(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))!=je.Word)break;o=l}for(;a<i;){let l=$e(t,a);if(s(t.slice(a,l))!=je.Word)break;a=l}return o==a?null:E.range(o+r,a+r)}}fe.allowMultipleSelections=ac;fe.tabSize=G.define({combine:n=>n.length?n[0]:4});fe.lineSeparator=Em;fe.readOnly=Im;fe.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])}});fe.languageData=Tm;fe.changeFilter=Nm;fe.transactionFilter=Rm;fe.transactionExtender=Lm;xa.reconfigure=se.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 Ci.create(e,t,this)}}Mn.prototype.startSide=Mn.prototype.endSide=0;Mn.prototype.point=!1;Mn.prototype.mapMode=et.TrackDel;function uh(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}class Ci{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new Ci(e,t,r)}}function hc(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class dh{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,u=this.to[l]+e,f,p;if(h==u){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(u,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 dh(i,s,r,a):null,pos:o}}}class ue{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 ue(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(hc)),this.isEmpty)return t.length?ue.of(t):this;let a=new Fm(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 u=t[l++];h.addInner(u.from,u.to,u.value)||c.push(u)}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(Ci.create(a.from,a.to,a.value))),a.next());return h.finishInner(this.nextLayer.isEmpty&&!c.length?ue.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:u}=l.map(a,e);h&&(i=Math.max(i,h.maxPoint),t.push(h),r.push(u))}}let s=this.nextLayer.map(e);return t.length==0?s:new ue(r,t,s||ue.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 Oi.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Oi.from(e).goto(t)}static compare(e,t,r,i,s=-1){let o=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),a=t.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),l=nd(o,a,r),c=new Zr(o,l,s),h=new Zr(a,l,s);r.iterGaps((u,f,p)=>rd(c,u,h,f,p,i)),r.empty&&r.length==0&&rd(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=nd(s,o),l=new Zr(s,a,0).goto(r),c=new Zr(o,a,0).goto(r);for(;;){if(l.to!=c.to||!uc(l.active,c.active)||l.point&&(!c.point||!uh(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),u=o.pointFrom<t?h.length+1:o.point.startSide<0?h.length:Math.min(h.length,l);i.point(a,c,o.point,h,u,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 Ci?[e]:t?h2(e):e)r.add(i.from,i.to,i.value);return r.finish()}static join(e){if(!e.length)return ue.empty;let t=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let i=e[r];i!=ue.empty;i=i.nextLayer)t=new ue(i.chunkPos,i.chunk,t,Math.max(i.maxPoint,t.maxPoint));return t}}ue.empty=new ue([],[],null,-1);function h2(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let r=n[t];if(hc(e,r)>0)return n.slice().sort(hc);e=r}return n}ue.empty.nextLayer=ue.empty;class hn{finishChunk(e){this.chunks.push(new dh(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(ue.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=ue.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function nd(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 Fm{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 Oi{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 Fm(o,t,r,s));return i.length==1?i[0]:new Oi(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--)Za(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--)Za(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(),Za(this.heap,0)}}}function Za(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=Oi.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){ro(this.active,e),ro(this.activeTo,e),ro(this.activeRank,e),this.minActive=id(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++;io(this.active,t,r),io(this.activeTo,t,i),io(this.activeRank,t,s),e&&io(e,t,this.cursor.from),this.minActive=id(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&&ro(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 rd(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 u=n.to+l-t.to,f=u||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&&uh(n.point,t.point)&&uc(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(a,m,n.point,t.point),h=!1):(h&&s.boundChange(a),m>a&&!uc(n.active,t.active)&&s.compareRange(a,m,n.active,t.active),c&&m<o&&(u||n.openEnd(p)!=t.openEnd(p))&&(h=!0)),p>o)break;a=p,f<=0&&n.next(),f>=0&&t.next()}}function uc(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!uh(n[t],e[t]))return!1;return!0}function ro(n,e){for(let t=e,r=n.length-1;t<r;t++)n[t]=n[t+1];n.pop()}function io(n,e,t){for(let r=n.length-1;r>=e;r--)n[r+1]=n[r];n[e]=t}function id(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 dc(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 fc="ͼ",sd=typeof Symbol>"u"?"__"+fc:Symbol.for(fc),pc=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),od=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=[],u=/^@(\w+)\b/.exec(o[0]),f=u&&u[1]=="keyframes";if(u&&a==null)return l.push(o[0]+";");for(let p in a){let m=a[p];if(/&/.test(p))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(!u)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&&!u&&!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=od[sd]||1;return od[sd]=e+1,fc+e.toString(36)}static mount(e,t,r){let i=e[pc],s=r&&r.nonce;i?s&&i.setNonce(s):i=new u2(e,s),i.mount(Array.isArray(t)?t:[t],e)}}let ad=new Map;class u2{constructor(e,t){let r=e.ownerDocument||e,i=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let s=ad.get(r);if(s)return e[pc]=s;this.sheet=new i.CSSStyleSheet,ad.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[pc]=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 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:"'"},Pi={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},d2=typeof navigator<"u"&&/Mac/.test(navigator.platform),f2=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),Pi[_e]=String.fromCharCode(_e);for(var el in Dn)Pi.hasOwnProperty(el)||(Pi[el]=Dn[el]);function p2(n){var e=d2&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||f2&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Pi: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 ve(){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++)Vm(n,arguments[e]);return n}function Vm(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++)Vm(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let Ze=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},mc=typeof document<"u"?document:{documentElement:{style:{}}};const gc=/Edge\/(\d+)/.exec(Ze.userAgent),zm=/MSIE \d/.test(Ze.userAgent),bc=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ze.userAgent),va=!!(zm||bc||gc),ld=!va&&/gecko\/(\d+)/i.test(Ze.userAgent),tl=!va&&/Chrome\/(\d+)/.exec(Ze.userAgent),m2="webkitFontSmoothing"in mc.documentElement.style,yc=!va&&/Apple Computer/.test(Ze.vendor),cd=yc&&(/Mobile\/\w+/.test(Ze.userAgent)||Ze.maxTouchPoints>2);var K={mac:cd||/Mac/.test(Ze.platform),windows:/Win/.test(Ze.platform),linux:/Linux|X11/.test(Ze.platform),ie:va,ie_version:zm?mc.documentMode||6:bc?+bc[1]:gc?+gc[1]:0,gecko:ld,gecko_version:ld?+(/Firefox\/(\d+)/.exec(Ze.userAgent)||[0,0])[1]:0,chrome:!!tl,chrome_version:tl?+tl[1]:0,ios:cd,android:/Android\b/.test(Ze.userAgent),webkit_version:m2?+(/\bAppleWebKit\/(\d+)/.exec(Ze.userAgent)||[0,0])[1]:0,safari:yc,safari_version:yc?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ze.userAgent)||[0,0])[1]:0,tabSize:mc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function fh(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 Ko=Object.create(null);function ph(n,e,t){if(n==e)return!0;n||(n=Ko),e||(e=Ko);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 g2(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 hd(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 b2(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 te 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 js(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}=Hm(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 Ms(e)}static set(e,t=!1){return ue.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}te.none=ue.empty;class js extends te{constructor(e){let{start:t,end:r}=Hm(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?fh(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Ko}eq(e){return this==e||e instanceof js&&this.tagName==e.tagName&&ph(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)}}js.prototype.point=!1;class Ms extends te{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Ms&&this.spec.class==e.spec.class&&ph(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)}}Ms.prototype.mapMode=et.TrackBefore;Ms.prototype.point=!0;class Zn extends te{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&&y2(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 Hm(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 y2(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 ji extends Mn{constructor(e,t){super(),this.tagName=e,this.attributes=t}eq(e){return e==this||e instanceof ji&&this.tagName==e.tagName&&ph(this.attributes,e.attributes)}static create(e){return new ji(e.tagName,e.attributes||Ko)}static set(e,t=!1){return ue.of(e,t)}}ji.prototype.startSide=ji.prototype.endSide=-1;function Mi(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function xc(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function No(n,e){if(!e.anchorNode)return!1;try{return xc(n,e.anchorNode)}catch{return!1}}function di(n){return n.nodeType==3?Di(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function fi(n,e,t,r){return t?ud(n,e,t,r,-1)||ud(n,e,t,r,1):!1}function Tn(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function Go(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function ud(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 Ai(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function x2(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 Wm(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 v2(n,e,t,r,i,s,o,a){let l=n.ownerDocument,c=l.defaultView||window;for(let h=n,u=!1;h&&!u;)if(h.nodeType==1){let f,p=h==l.body,m=1,g=1;if(p)f=x2(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(u=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let k=h.getBoundingClientRect();({scaleX:m,scaleY:g}=Wm(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 M=h.scrollTop;h.scrollTop+=v/g,S=(h.scrollTop-M)*g}if(y){let M=h.scrollLeft;h.scrollLeft+=y/m,k=(h.scrollLeft-M)*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 w2(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 k2{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 _m(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 dd;function Di(n,e,t=e){let r=dd||(dd=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 S2(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function C2(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 Um(n){return n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function Km(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&&!Go(t))r=Tn(t),t=t.parentNode;else return null}}function Gm(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&&!Go(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 ke=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(ke||(ke={}));const er=ke.LTR,mh=ke.RTL;function qm(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}const O2=qm("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),P2=qm("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),vc=Object.create(null),$t=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);vc[e]=t,vc[t]=-e}function Ym(n){return n<=247?O2[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?P2[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}const j2=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class cn{get dir(){return this.level%2?mh: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 Qm(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||!Qm(r.inner,i.inner))return!1}return!0}const we=[];function M2(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,u=l;c<a;c++){let f=Ym(n.charCodeAt(c));f==512?f=h:f==8&&u==4&&(f=16),we[c]=f==4?2:f,f&7&&(u=f),h=f}for(let c=o,h=l,u=l;c<a;c++){let f=we[c];if(f==128)c<a-1&&h==we[c+1]&&h&24?f=we[c]=h:we[c]=256;else if(f==64){let p=c+1;for(;p<a&&we[p]==64;)p++;let m=c&&h==8||p<t&&we[p]==8?u==1?1:8:256;for(let g=c;g<p;g++)we[g]=m;c=p-1}else f==8&&u==1&&(we[c]=1);h=f,f&7&&(u=f)}}}function A2(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 u=c,f,p,m;u<h;u++)if(p=vc[f=n.charCodeAt(u)])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&&(we[u]=we[$t[g]]=v),a=g;break}}else{if($t.length==189)break;$t[a++]=u,$t[a++]=f,$t[a++]=l}else if((m=we[u])==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 D2(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=we[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(we[h]==256)h++;else break;let u=s==1,f=(h<e?we[h]:r)==1,p=u==f?u?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),we[--m]=p;l=h}else s=c,l++}}}function wc(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,u=!1;if(c==s.length||l<s[c].from){let g=we[l];g!=a&&(h=!1,u=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(u)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(we[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);kc(n,y?r+1:r,i,g.inner,g.from,g.to,o),l=g.to}m=g.to}else{if(m==t||(h?we[m]!=a:we[m]==a))break;m++}f?wc(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,u=!1;if(!c||l>s[c-1].to){let g=we[l-1];g!=a&&(h=!1,u=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(u)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(we[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);kc(n,y?r+1:r,i,g.inner,g.from,g.to,o),l=g.from}m=g.from}else{if(m==e||(h?we[m-1]!=a:we[m-1]==a))break;m--}f?wc(n,m,l,r+1,i,f,o):m<l&&o.push(new cn(m,l,p)),l=m}}function kc(n,e,t,r,i,s,o){let a=e%2?2:1;M2(n,i,s,r,a),A2(n,i,s,r,a),D2(i,s,r,a),wc(n,i,s,e,t,r,o)}function T2(n,e,t){if(!n)return[new cn(0,0,e==mh?1:0)];if(e==er&&!t.length&&!j2.test(n))return Jm(n.length);if(t.length)for(;n.length>we.length;)we[we.length]=256;let r=[],i=e==er?0:1;return kc(n,i,i,t,0,n.length,r),r}function Jm(n){return[new cn(0,n,0)]}let Xm="";function E2(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),Xm=n.text.slice(Math.min(o,h),Math.max(o,h));let u=a==(i?e.length-1:0)?null:e[a+(i?1:-1)];return u&&h==c&&u.level+(i?0:1)<l.level?E.cursor(u.side(!i,t)+n.from,u.forward(i,t)?1:-1,u.level):E.cursor(h+n.from,l.forward(i,t)?-1:1,l.level)}function N2(n,e,t){for(let r=e;r<t;r++){let i=Ym(n.charCodeAt(r));if(i==1)return er;if(i==2||i==4)return mh}return er}const Zm=G.define(),eg=G.define(),tg=G.define(),ng=G.define(),Sc=G.define(),rg=G.define(),ig=G.define(),gh=G.define(),bh=G.define(),sg=G.define({combine:n=>n.some(e=>e)}),og=G.define({combine:n=>n.some(e=>e)}),ag=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(E.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const so=se.define({map:(n,e)=>n.map(e)}),lg=se.define();function ot(n,e,t){let r=n.facet(ng);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 R2=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(R2++,e,r,i,a=>{let l=[];return o&&l.push(Ti.of(c=>{let h=c.plugin(a);return h?o(h):te.none})),s&&l.push(s(a)),l})}static fromClass(e,t){return Re.define((r,i)=>new e(r,i),t)}}class nl{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 cg=G.define(),yh=G.define(),Ti=G.define(),hg=G.define(),ug=G.define(),As=G.define(),dg=G.define();function fd(n,e){let t=n.state.facet(dg);if(!t.length)return t;let r=t.map(s=>s instanceof Function?s(n):s),i=[];return ue.spans(r,e.from,e.to,{point(){},span(s,o,a,l){let c=s-e.from,h=o-e.from,u=i;for(let f=a.length-1;f>=0;f--,l--){let p=a[f].spec.bidiIsolate,m;if(p==null&&(p=N2(e.text,c,h)),l>0&&u.length&&(m=u[u.length-1]).to==c&&m.direction==p)m.to=h,u=m.inner;else{let g={from:c,to:h,direction:p,inner:[]};u.push(g),u=g.inner}}}}),i}const fg=G.define();function xh(n){let e=0,t=0,r=0,i=0;for(let s of n.state.facet(fg)){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 ii=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,u=c,f=h;for(;;)if(s<t.length&&t[s]<=u){let p=t[s+1];s+=2,u=Math.max(u,p);for(let m=i;m<e.length&&e[m].fromB<=u;m++)o=e[m].toA-e[m].toB;f=Math.max(f,p+o)}else if(i<e.length&&e[i].fromB<=u){let p=e[i++];u=Math.max(u,p.toB),f=Math.max(f,p.toA),o=p.toA-p.toB}else break;r.push(new xt(h,f,c,u))}return r}}class qo{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 qo(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 L2=[];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 L2}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&&g2(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 ka)return e;return null}static get(e){return e.cmTile}}class wa 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=pd(i);else t.insertBefore(a.dom,i);r=a.dom}for(i=r?r.nextSibling:t.firstChild,s&&i&&(s.written=!0);i;)i=pd(i);this.length=o}}function pd(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class ka extends wa{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 wa{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 jr extends wa{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,r){let i=new jr(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,u){for(let f=0,p=0;f<h.children.length&&p<=u;f++){let m=h.children[f],g=p+m.length;g>=u&&(m.isComposite()?l(m,u-p):(!o||o.isHidden&&(t>0||r&&B2(o,m)))&&(g>u||m.flags&32)?(o=m,a=u-p):(p<u||m.flags&16&&!m.isHidden)&&(i=m,s=u-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):I2(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 I2(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=di(e);return t[t.length-1]||null}function B2(n,e){let t=n.coordsIn(0,1),r=e.coordsIn(0,1);return t&&r&&r.top<t.bottom}class st extends wa{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=Di(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?Ai(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 Ai(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 Ai(o,!a)}}get overrideDOMText(){if(!this.length)return be.empty;let{root:e}=this;if(!e)return be.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 Yo 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 be.empty}coordsIn(e){return this.dom.getBoundingClientRect()}}class $2{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 F2{constructor(e,t,r,i){this.from=e,this.to=t,this.wrapper=r,this.rank=i}}class V2{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)?rl(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(rl(l.dom)),i=c;else{if(this.cache.reused.get(l)){let u=Le.get(l.dom);u&&u.setDOM(rl(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=pg);let i=jr.start(e,t||((r=this.cache.find(jr))===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||!md(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(K.ios&&md(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(il,0,32)||new Mr(il.toDOM(),0,il,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 F2(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(Yo,void 0,1);return r&&(r.flags=t),r||new Yo(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class z2{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:i,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=i;let a=this.textOff=Math.min(e,i.length);return s?null:i.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,t);return this.textOff=t,r}}const Qo=[Mr,jr,Yn,st,Yo,On,ka];for(let n=0;n<Qo.length;n++)Qo[n].bucket=n;class H2{constructor(e){this.view=e,this.buckets=Qo.map(()=>[]),this.index=Qo.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 W2{constructor(e,t,r,i,s){this.view=e,this.decorations=i,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new H2(e),this.text=new z2(e.state.doc),this.builder=new V2(this.cache,new ka(e,e.contentDOM),ue.iter(r)),this.cache.reused.set(t,2),this.old=new $2(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=K2(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 Yo)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=ue.spans(this.decorations,e,t,{point:(a,l,c,h,u,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,u>h.length)i.continueWidget(l-a);else{let p=c.widget||(c.block?Ar.block:Ar.inline),m=_2(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,u))}r=null}else r=U2(r,c);l>a&&this.text.skip(l-a)},span:(a,l,c,h)=>{for(let u=a;u<l;){let f=this.text.next(Math.min(512,l-u));f==null?(i.addLineStartIfNotCovered(r),i.addBreak(),u++):(i.ensureLine(r),i.addText(f,c,h),u+=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 jr(i,pg):t.push(st.of(new js({tagName:i.nodeName.toLowerCase(),attributes:b2(i)}),i))}return{line:r,marks:t}}}function md(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 _2(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 pg={class:"cm-line"};function U2(n,e){let t=e.spec.attributes,r=e.spec.class;return!t&&!r||(n||(n={class:"cm-line"}),t&&fh(t,n),r&&(n.class+=" "+r)),n}function K2(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 rl(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 il=new class extends Zt{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class gd{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=te.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 ka(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:u})=>u<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:!tw(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let s=i>-1?q2(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:u}=this.hasComposition;r=new xt(h,u,e.changes.mapPos(h,-1),e.changes.mapPos(u,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=J2(o,this.decorations,e.changes);l.length&&(r=xt.extendWithRanges(r,l));let c=Z2(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 W2(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);this.tile=a.run(e,t),Cc(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 sl&&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(lg)&&(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)&&No(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&&G2(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 u=this.view.observer.selectionRange;(a||!u.focusNode||(!fi(c.node,c.offset,u.anchorNode,u.anchorOffset)||!fi(h.node,h.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,l))&&(this.view.observer.ignore(()=>{K.android&&K.chrome&&r.contains(u.focusNode)&&ew(u.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let f=Mi(this.view.root);if(f)if(l.empty){if(K.gecko){let p=Y2(c.node,c.offset);if(p&&p!=3){let m=(p==1?Km:Gm)(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(u.anchorNode,u.anchorOffset),this.impreciseHead=h.precise?null:new At(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&fi(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=Mi(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 u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.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 u=h+c.length;if(h<=e&&(r=c,i=e-h,s=u<e),u>=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 sl?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=Di(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==ke.LTR,c=0,h=(u,f,p)=>{for(let m=0;m<u.children.length&&!(f>i);m++){let g=u.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,M=S?di(S):[];if(M.length){let C=M[M.length-1],A=l?C.right-v.left:v.right-C.left;A>a&&(a=A,this.minWidth=s,this.minWidthFrom=f,this.minWidthTo=y)}}p&&m==u.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"?ke.RTL:ke.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=di(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=di(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(te.replace({widget:new sl(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return te.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Ti).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,i=this.view.state.facet(ug).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(ue.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(hg).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(ag))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=xh(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;v2(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==ke.LTR)}lineHasWidget(e){let t=r=>r.isWidget()||r.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){Cc(this.tile)}}function Cc(n,e){let t=e?.get(n);if(t!=1){t==null&&n.destroy();for(let r of n.children)Cc(r,e)}}function G2(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 mg(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let r=Km(t.focusNode,t.focusOffset),i=Gm(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 q2(n,e,t){let r=mg(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 Y2(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 Q2=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 J2(n,e,t){let r=new Q2;return ue.compare(n,e,t,r),r.changes}class X2{constructor(){this.changes=[]}compareRange(e,t){wr(e,t,this.changes)}comparePoint(){}boundChange(e){wr(e,e,this.changes)}}function Z2(n,e,t){let r=new X2;return ue.compare(n,e,t,r),r.changes}function ew(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 tw(n,e){let t=!1;return e&&n.iterChangedRanges((r,i)=>{r<e.to&&i>e.from&&(t=!0)}),t}class sl 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 nw(n,e,t=1){let r=n.charCategorizer(e),i=n.doc.lineAt(e),s=e-i.from;if(i.length==0)return E.cursor(e);s==0?t=1:s==i.length&&(t=-1);let o=s,a=s;t<0?o=$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 E.range(o+i.from,a+i.from)}function rw(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+dc(o,s,n.state.tabSize)}function Oc(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 iw(n,e,t,r){let i=Oc(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==ke.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(l!=null)return E.cursor(l,t?-1:1)}return E.cursor(t?i.to:i.from,t?-1:1)}function bd(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=E2(i,s,o,a,t),h=Xm;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 sw(n,e,t){let r=n.state.charCategorizer(e),i=r(t);return s=>{let o=r(s);return i==je.Space&&(i=o),i==o}}function ow(n,e,t,r){let i=e.head,s=t?1:-1;if(i==(t?n.state.doc.length:0))return E.cursor(i,e.assoc);let o=e.goalColumn,a,l=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(i,e.assoc||-1),h=n.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let p=n.viewState.lineBlockAt(i);o==null&&(o=Math.min(l.right-l.left,n.defaultCharacterWidth*(i-p.from))),a=(s<0?p.top:p.bottom)+h}let u=l.left+o,f=r??n.viewState.heightOracle.textHeight>>1;for(let p=0;;p+=10){let m=a+(f+p)*s,g=Pc(n,{x:u,y:m},!1,s);return E.cursor(g.pos,g.assoc,void 0,o)}}function pi(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 gg(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=pi(n,i.from,0);o!=i.from&&(s=E.cursor(o,-1))}else{let o=pi(n,i.from,-1),a=pi(n,i.to,1);(o!=i.from||a!=i.to)&&(s=E.range(i.from==i.anchor?o:a,i.from==i.head?o:a))}s&&(t||(t=e.ranges.slice()),t[r]=s)}return t?E.create(t,e.mainIndex):e}function ol(n,e,t){let r=pi(n.state.facet(As).map(i=>i(n)),t.from,e.head>t.from?-1:1);return r==t.from?t:E.cursor(r,r<t.from?1:-1)}class Wt{constructor(e,t){this.pos=e,this.assoc=t}}function Pc(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 Wt(0,1);if(l>n.viewState.docHeight)return new Wt(n.state.doc.length,-1);if(c=n.elementAtHeight(l),r==null)break;if(c.type==Ue.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 u=n.viewState.heightOracle.textHeight/2;l=r>0?c.bottom+u:c.top-u}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Ue.Text){let u=rw(n,i,c,o,a);return new Wt(u,u==c.from?1:-1)}}if(c.type!=Ue.Text)return l<(c.top+c.bottom)/2?new Wt(c.from,1):new Wt(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),bg(n,h,c.from,o,a)}function bg(n,e,t,r,i){let s=-1,o=null,a=1e9,l=1e9,c=i,h=i,u=(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=$e(e.text,p);if(u(Di(e.dom,p,m).getClientRects(),p),!a&&!l)break;p=m}return r>(o.left+o.right)/2==(yd(n,s+t)==ke.LTR)?new Wt(t+$e(e.text,s),-1):new Wt(t+s,1)}else{if(!e.length)return new Wt(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:Di(y.dom,0,y.length)).getClientRects();if(u(v,g),!a&&!l)break}let f=e.children[s],p=e.posBefore(f,t);return f.isComposite()||f.isText()?bg(n,f,p,Math.max(o.left,Math.min(o.right,r)),i):r>(o.left+o.right)/2==(yd(n,s+t)==ke.LTR)?new Wt(p+f.length,-1):new Wt(p,1)}}function yd(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 si="";class aw{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(fe.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=si}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:Go(i))||Go(a)&&(i.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!cw(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+(lw(e,r.node,r.offset)?t:0))}}function lw(n,e,t){for(;;){if(!e||t<un(e))return!1;if(e==n)return!0;t=Tn(e)+1,e=e.parentNode}}function cw(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 xd{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class hw{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=yg(e.docView.tile,t,r,0))){let a=s||o?[]:dw(e),l=new aw(a,e);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=fw(a,this.bounds.from)}else{let a=e.observer.selectionRange,l=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!xc(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||!xc(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 u=Math.min(l,c),f=Math.max(l,c),p=h.from-u,m=h.to-f;(p==0||p==1||u==0)&&(m==0||m==-1||f==e.state.doc.length)&&(l=0,c=e.state.doc.length)}e.inputState.composing>-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(E.range(c,l)):this.newSel=E.single(c,l)}}}function yg(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 u=n.children[l],f=c+u.length;if(c<e&&f>t)return yg(u,e,t,c);if(f>=e&&i==-1&&(i=l,s=c),c>t&&u.dom.parentNode==n.dom){o=l,a=h;break}h=f,c=f+u.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 xg(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=vg(n.state.doc.sliceString(o,a,si),e.text,l-o,c);h&&(K.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==si+si&&h.toB--,t={from:o+h.from,to:o+h.toA,insert:be.of(e.text.slice(h.from,h.toB).split(si))})}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=E.single(r.main.anchor-1,r.main.head-1)),t={from:t.from,to:t.to,insert:be.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=E.single(r.main.anchor-1,r.main.head-1)),t={from:i.from,to:i.to,insert:be.of([" "])}),t)return vh(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=gg(n.state.facet(As).map(l=>l(n)),r))),n.dispatch({selection:r,scrollIntoView:o,userEvent:a}),!0}else return!1}function vh(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=uw(n,e,t));return n.state.facet(rg).some(l=>l(n,e.from,e.to,s,a))||n.dispatch(a()),!0}function uw(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=pi(i.facet(As).map(u=>u(n)),c,l);e.from==h&&(o=h)}if(o>-1)r={changes:e,selection:E.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=s.from<e.from?i.sliceDoc(s.from,e.from):"",c=s.to>e.to?i.sliceDoc(e.to,s.to):"";r=i.replaceSelection(n.state.toText(l+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let l=i.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(i.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=n.state.sliceDoc(e.from,e.to),u,f=t&&mg(n,t.main.head);if(f){let m=e.insert.length-(e.to-e.from);u={from:f.from,to:f.to-m}}else u=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>=u.from&&y<=u.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?E.range(Math.max(0,c.anchor+k),Math.max(0,c.head+k)):m.map(v)}})}else r={changes:l,selection:c&&i.selection.replaceRange(c)}}let a="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,a+=".compose",n.inputState.compositionFirstChange&&(a+=".start",n.inputState.compositionFirstChange=!1)),i.update(r,{userEvent:a,scrollIntoView:!0})}function vg(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 dw(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 xd(t,r)),(i!=t||s!=r)&&e.push(new xd(i,s))),e}function fw(n,e){if(n.length==0)return null;let t=n[0].pos,r=n.length==2?n[1].pos:t;return t>-1&&r>-1?E.single(t+e,r+e):null}class pw{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&&Aw(e.contentDOM.ownerDocument)}handleEvent(e){!kw(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=mw(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&&kg.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=wg.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||gw.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 vd(n,e){return(t,r)=>{try{return e.call(n,r,t)}catch(i){ot(t.state,i)}}}function mw(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(vd(r.value,l))}if(o)for(let a in o){let l=o[a];l&&t(a).observers.push(vd(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 wg=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],gw="dthko",kg=[16,17,18,20,91,92,224,225],oo=6;function ao(n){return Math.max(0,n)*.7+8}function bw(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}class yw{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=w2(e.contentDOM),this.atoms=e.state.facet(As).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(fe.allowMultipleSelections)&&xw(e,t),this.dragging=ww(e,t)&&Og(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&&bw(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=xh(this.view);e.clientX-l.left<=i+oo?t=-ao(i-e.clientX):e.clientX+l.right>=o-oo&&(t=ao(e.clientX-o)),e.clientY-l.top<=s+oo?r=-ao(s-e.clientY):e.clientY+l.bottom>=a-oo&&(r=ao(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=gg(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 xw(n,e){let t=n.state.facet(Zm);return t.length?t[0](e):K.mac?e.metaKey:e.ctrlKey}function vw(n,e){let t=n.state.facet(eg);return t.length?t[0](e):K.mac?!e.altKey:!e.ctrlKey}function ww(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let r=Mi(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 kw(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),Sg=K.ie&&K.ie_version<15||K.ios&&K.webkit_version<604;function Sw(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(),Cg(n,t.value)},50)}function Sa(n,e,t){for(let r of n.facet(e))t=r(t,n);return t}function Cg(n,e){e=Sa(n.state,gh,e);let{state:t}=n,r,i=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(jc!=null&&t.selection.ranges.every(l=>l.empty)&&jc==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 u=t.toText((o?s.line(i++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:u},range:E.cursor(c.from+u.length)}})}else o?r=t.changeByRange(l=>{let c=s.line(i++);return{changes:{from:l.from,to:l.to,insert:c.text},range:E.cursor(l.from+c.length)}}):r=t.replaceSelection(s);n.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}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(tg))if(t=r(n,e),t)break;if(!t&&e.button==0&&(t=Ow(n,e)),t){let r=!n.hasFocus;n.inputState.startMouseSelection(new yw(n,e,t,r)),r&&n.observer.ignore(()=>{_m(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 wd(n,e,t,r){if(r==1)return E.cursor(e,t);if(r==2)return nw(n.state,e,t);{let i=n.docView.lineAt(e,t),s=n.state.doc.lineAt(i?i.posAtEnd:e),o=i?i.posAtStart:s.from,a=i?i.posAtEnd:s.to;return a<n.state.doc.length&&a==s.to&&a++,E.range(o,a)}}const Cw=K.ie&&K.ie_version<=11;let kd=null,Sd=0,Cd=0;function Og(n){if(!Cw)return n.detail;let e=kd,t=Cd;return kd=n,Cd=Date.now(),Sd=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(Sd+1)%3:1}function Ow(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=Og(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=wd(n,l.pos,l.assoc,r);if(t.pos!=l.pos&&!o){let u=wd(n,t.pos,t.assoc,r),f=Math.min(u.from,h.from),p=Math.max(u.to,h.to);h=f<h.from?E.range(f,p):E.range(p,f)}return o?i.replaceRange(i.main.extend(h.from,h.to)):a&&r==1&&i.ranges.length>1&&(c=Pw(i,l.pos))?c:a?i.addRange(h):E.create([h])}}}function Pw(n,e){for(let t=0;t<n.ranges.length;t++){let{from:r,to:i}=n.ranges[t];if(r<=e&&i>=e)return E.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}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=E.range(s,o))}}let{inputState:r}=n;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",Sa(n.state,bh,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Tt.dragend=n=>(n.inputState.draggedContent=null,!1);function Od(n,e,t,r){if(t=Sa(n.state,gh,t),!t)return;let i=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=n.inputState,o=r&&s&&vw(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&&Od(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 Od(n,e,r,!0),!0}return!1};Tt.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=Sg?null:e.clipboardData;return t?(Cg(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(Sw(n),!1)};function jw(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 Mw(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:Sa(n,bh,e.join(n.lineBreak)),ranges:t,linewise:r}}let jc=null;Tt.copy=Tt.cut=(n,e)=>{let{text:t,ranges:r,linewise:i}=Mw(n.state);if(!t&&!i)return!1;jc=i?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=Sg?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(jw(n,t),!1)};const Pg=Jt.define();function jg(n,e){let t=[];for(let r of n.facet(ig)){let i=r(n,e);i&&t.push(i)}return t.length?n.update({effects:t,annotations:Pg.of(!0)}):null}function Mg(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=jg(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),Mg(n)};Ct.blur=n=>{n.observer.clearSelectionRange(),Mg(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 vh(n,{from:l,to:c,insert:n.state.toText(s)},null),!0}}let i;if(K.chrome&&K.android&&(i=wg.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 Pd=new Set;function Aw(n){Pd.has(n)||(Pd.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}const jd=["pre-wrap","normal","pre-line","break-spaces"];let Dr=!1;function Md(){Dr=!1}class Dw{constructor(e){this.lineWrapping=e,this.doc=be.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 jd.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=jd.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 Tw{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 Se=function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n}(Se||(Se={}));const Ro=.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)>Ro&&(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:u}=i[a],f=s.lineAt(l,Se.ByPosNoHeight,r.setDoc(t),0,0),p=f.to>=c?f:s.lineAt(c,Se.ByPosNoHeight,r,0,0);for(u+=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,Se.ByPosNoHeight,r,0,0));h+=f.from-l,l=f.from;let m=wh.build(r.setDoc(o),e,h,u);s=Jo(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 Nw(tt.of(e.slice(0,t)),o,tt.of(e.slice(r)))}}function Jo(n,e){return n==e?n:(n.constructor!=e.constructor&&(Dr=!0),e)}tt.prototype.size=1;const Ew=te.replace({});class Ag 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,Ew):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,Se.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 Ag{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),u=a+h.length*l,f=Math.max(r,e-u/2);return new Mt(h.from,h.length,f,u,0)}else{let c=Math.max(0,Math.min(o-s,Math.floor((e-r)/a))),{from:h,length:u}=t.doc.line(s+c);return new Mt(h,u,r+a*c,a,0)}}lineAt(e,t,r,i,s){if(t==Se.ByHeight)return this.blockAt(e,r,i,s);if(t==Se.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,u=c.number-o,f=i+a*u+l*(c.from-s-u);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,u=i;h<=t;){let f=r.doc.lineAt(h);if(h==e){let m=f.number-a;u+=l*m+c*(e-s-m)}let p=l+c*f.length;o(new Mt(f.from,f.length,u,p,0)),u+=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 u=i.heights[i.index++],f=0;u<0&&(f=-u,u=i.heights[i.index++]),l==-1?l=u:Math.abs(u-l)>=Ro&&(l=-2);let p=new ut(h,u,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)>=Ro||Math.abs(l-this.heightMetrics(e,t).perLine)>=Ro)&&(Dr=!0),Jo(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 Nw 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==Se.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==Se.ByPosNoHeight?Se.ByPosNoHeight:Se.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,Se.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&&Ad(s,o-1),t<this.length){let a=s.length;this.decomposeRight(t,s),Ad(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=Jo(this.left,e),this.right=Jo(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 Ad(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 Rw=5;class wh{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 Ag(o,i,r)):(o||s||i>=Rw)&&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 wh(r,e);return ue.spans(t,r,i,s,0),s.finish(r)}}function Lw(n,e,t){let r=new Iw;return ue.compare(n,e,t,r,0),r.changes}class Iw{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,r,i){(e<t||r&&r.heightRelevant||i&&i.heightRelevant)&&wr(e,t,this.changes,5)}}function Bw(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,u=window.getComputedStyle(h);if((h.scrollHeight>h.clientHeight||h.scrollWidth>h.clientWidth)&&u.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=u.position=="absolute"||u.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 $w(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 Fw(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}class al{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 te.replace({widget:new Vw(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}}class Vw 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 Dd{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=Td,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ke.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(yh).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Dw(t),this.stateDeco=e.facet(Ti).filter(r=>typeof r!="function"),this.heightMap=tt.empty().applyChanges(this.stateDeco,be.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=te.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 lo(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?Td:new kh(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(oi(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(Ti).filter(h=>typeof h!="function");let i=e.changedRanges,s=xt.extendWithRanges(i,Lw(r,this.stateDeco,e?e.changes:Be.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);Md(),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(og)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,r=window.getComputedStyle(t),i=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?ke.RTL:ke.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:M,scaleY:C}=Wm(t,a);(M>.005&&Math.abs(this.scaleX-M)>.005||C>.005&&Math.abs(this.scaleY-C)>.005)&&(this.scaleX=M,this.scaleY=C,c|=16,o=l=!0)}let u=(parseInt(r.paddingTop)||0)*this.scaleY,f=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=f)&&(this.paddingTop=u,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=Um(e.scrollDOM);let m=(this.printing?Fw:Bw)(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&&!$w(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 M=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(M)&&(o=!0),o||i.lineWrapping&&Math.abs(k-this.contentDOMWidth)>i.charWidth){let{lineHeight:C,charWidth:A,textHeight:x}=e.docView.measureTextSize();o=C>0&&i.refresh(s,C,A,x,Math.max(5,k/A),M),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)),Md();for(let C of this.viewports){let A=C.from==this.viewport.from?M:e.docView.measureVisibleLineHeights(C);this.heightMap=(o?tt.empty().applyChanges(this.stateDeco,be.empty,this.heightOracle,[new xt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new Tw(C.from,A))}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 lo(i.lineAt(o-r*1e3,Se.ByHeight,s,0,0).from,i.lineAt(a+(1-r)*1e3,Se.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),u=i.lineAt(c,Se.ByPos,s,0,0),f;t.y=="center"?f=(u.top+u.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c<l.from?f=u.top:f=u.bottom-h,l=new lo(i.lineAt(f-1e3/2,Se.ByHeight,s,0,0).from,i.lineAt(f+h+1e3/2,Se.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 lo(this.heightMap.lineAt(r,Se.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,Se.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,Se.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,Se.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 al(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!=ke.LTR&&!r)return[];let a=[],l=(h,u,f,p)=>{if(u-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<u){l(h,v-10,f,p),l(v+10,u,f,p);return}let y=Hw(e,v=>v.from>=f.from&&v.to<=f.to&&Math.abs(v.from-h)<s&&Math.abs(v.to-u)<s&&!g.some(k=>v.from<k&&v.to>k));if(!y){if(u<f.to&&t&&r&&t.visibleRanges.some(S=>S.from<=u&&S.to>=u)){let S=t.moveToLineBoundary(E.cursor(u),!1,!0).head;S>h&&(u=S)}let v=this.gapSize(f,h,u,p),k=r||v<2e6?v:2e6;y=new al(h,u,v,k)}a.push(y)},c=h=>{if(h.length<o||h.type!=Ue.Text)return;let u=zw(h.from,h.to,this.stateDeco);if(u.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=ho(u,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=co(u,y),m=co(u,v)}else{let g=u.total*this.heightOracle.charWidth,y=i*this.heightOracle.charWidth,v=0;if(g>2e6)for(let A of e)A.from>=h.from&&A.from<h.to&&A.size!=A.displaySize&&A.from*this.heightOracle.charWidth+v<this.pixelViewport.left&&(v=A.size-A.displaySize);let k=this.pixelViewport.left+v,S=this.pixelViewport.right+v,M,C;if(f!=null){let A=ho(u,f),x=((S-k)/2+y)/g;M=A-x,C=A+x}else M=(k-y)/g,C=(S+y)/g;p=co(u,M),m=co(u,C)}p>h.from&&l(h.from,p,h,u),m<h.to&&l(m,h.to,h,u)};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=ho(i,r)-ho(i,t);return this.heightOracle.lineWrapping?e.height*s:i.total*this.heightOracle.charWidth*s}updateLineGaps(e){al.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=te.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=[];ue.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)||oi(this.heightMap.lineAt(e,Se.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)||oi(this.heightMap.lineAt(this.scaler.fromDOM(e),Se.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 oi(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 lo{constructor(e,t){this.from=e,this.to=t}}function zw(n,e,t){let r=[],i=n,s=0;return ue.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 co({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 ho(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 Hw(n,e){for(let t of n)if(e(t))return t}const Td={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};class kh{constructor(e,t,r){let i=0,s=0,o=0;this.viewports=r.map(({from:a,to:l})=>{let c=t.lineAt(a,Se.ByPos,e,0,0).top,h=t.lineAt(l,Se.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 kh?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 oi(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=>oi(i,e)):n._content)}const uo=G.define({combine:n=>n.join(" ")}),Mc=G.define({combine:n=>n.indexOf(!0)>-1}),Ac=An.newName(),Dg=An.newName(),Tg=An.newName(),Eg={"&light":"."+Dg,"&dark":"."+Tg};function Dc(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 Ww=Dc("."+Ac,{"&":{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"}},Eg),_w={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},ll=K.ie&&K.ie_version<=11;class Uw{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new k2,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 Gw(e),e.state.facet(an)&&(e.contentDOM.editContext=this.editContext.editContext)),ll&&(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:!No(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&&fi(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Mi(e.root);if(!t)return!1;let r=K.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Kw(this.view,t)||t;if(!r||this.selectionRange.eq(r))return!1;let i=No(this.dom,r);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&C2(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,_w),ll&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),ll&&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&&No(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 hw(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=xg(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=Ed(t,e.previousSibling||e.target.previousSibling,-1),i=Ed(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 Ed(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 Nd(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 fi(o.node,o.offset,i,s)&&([t,r,i,s]=[i,s,t,r]),{anchorNode:t,anchorOffset:r,focusNode:i,focusOffset:s}}function Kw(n,e){if(e.getComposedRanges){let i=e.getComposedRanges(n.root)[0];if(i)return Nd(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?Nd(n,t):null}class Gw{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=vg(e.state.sliceDoc(a,l),r.text,(c?i.from:i.to)-a,c?"end":null);if(!h){let f=E.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));f.main.eq(i)||e.dispatch({selection:f,userEvent:"select"});return}let u={from:h.from+a,to:h.toA+a,insert:be.of(r.text.slice(h.from,h.toB).split(`
|
|
61
|
-
`))};if((K.mac||K.android)&&u.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:a,to:l,insert:be.of([r.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let f=this.to-this.from+(u.to-u.from+u.insert.length);vh(e,u,E.single(this.toEditorPos(r.selectionStart,f),this.toEditorPos(r.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from<u.to&&!u.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(te.mark({attributes:{style:h}}).range(l,c))}}}e.dispatch({effects:lg.of(te.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=Mi(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||S2(e.parent)||document,this.viewState=new Dd(e.state||fe.create(e)),e.scrollTo&&e.scrollTo.is(so)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(fr).map(i=>new nl(i));for(let i of this.plugins)i.update(this);this.observer=new Uw(this),this.inputState=new pw(this),this.inputState.ensureHandlers(this.plugins),this.docView=new gd(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(Pg))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,l=jg(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(fe.phrases)!=this.state.facet(fe.phrases))return this.setState(s);i=qo.create(this,s,e),i.flags|=a;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(u&&(u=u.map(f.changes)),f.scrollIntoView){let{main:p}=f.state.selection;u=new Sr(p.empty?p:E.cursor(p.head,p.head>p.anchor?-1:1))}for(let p of f.effects)p.is(so)&&(u=p.value.clip(this.state))}this.viewState.update(i,u),this.bidiCache=Xo.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),t=this.docView.update(i),this.state.facet(ii)!=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(uo)!=i.state.facet(uo)&&(this.viewState.mustMeasureContent=!0),(t||r||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!i.empty)for(let f of this.state.facet(Sc))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&&!xg(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 Dd(e),this.plugins=e.facet(fr).map(r=>new nl(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new gd(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 nl(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(Um(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),Rd}}),u=qo.create(this,this.state,[]),f=!1;u.flags|=l,t?t.flags|=l:t=u,this.updateState=2,u.empty||(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),f=this.docView.update(u),f&&this.docViewUpdate());for(let p=0;p<c.length;p++)if(h[p]!=Rd)try{let m=c[p];m.write&&m.write(h[p],this)}catch(m){ot(this.state,m)}if(f&&this.docView.updateSelection(!0),!u.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(Sc))a(t)}get themeClasses(){return Ac+" "+(this.state.facet(Mc)?Tg:Dg)+" "+this.state.facet(uo)}updateAttrs(){let e=Ld(this,cg,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(an)?"true":"false",class:"cm-content",style:`${K.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Ld(this,yh,t);let r=this.observer.ignore(()=>{let i=hd(this.contentDOM,this.contentAttrs,t),s=hd(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(ii);let e=this.state.facet(W.cspNonce);An.mount(this.root,this.styleModules.concat(Ww).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 ol(this,e,bd(this,e,t,r))}moveByGroup(e,t){return ol(this,e,bd(this,e,t,r=>sw(this,e.head,r)))}visualLineSide(e,t){let r=this.bidiSpans(e),i=this.textDirectionAt(e.from),s=r[t?r.length-1:0];return E.cursor(s.side(t,i)+e.from,s.forward(!t,i)?1:-1)}moveToLineBoundary(e,t,r=!0){return iw(this,e,t,r)}moveVertically(e,t,r){return ol(this,e,ow(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=Pc(this,e,t);return r&&r.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Pc(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 Ai(r,o.dir==ke.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(sg)||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>qw)return Jm(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||Qm(s.isolates,r=fd(this,e))))return s.order;r||(r=fd(this,e));let i=T2(e.text,t,r);return this.bidiCache.push(new Xo(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(()=>{_m(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 so.of(new Sr(typeof e=="number"?E.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return so.of(new Sr(E.cursor(r.from),"start","start",r.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Re.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Re.define(()=>({}),{eventObservers:e})}static theme(e,t){let r=An.newName(),i=[uo.of(r),ii.of(Dc(`.${r}`,e))];return t&&t.dark&&i.push(Mc.of(!0)),i}static baseTheme(e){return ir.lowest(ii.of(Dc("."+Ac,e,Eg)))}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=ii;W.inputHandler=rg;W.clipboardInputFilter=gh;W.clipboardOutputFilter=bh;W.scrollHandler=ag;W.focusChangeEffect=ig;W.perLineTextDirection=sg;W.exceptionSink=ng;W.updateListener=Sc;W.editable=an;W.mouseSelectionStyle=tg;W.dragMovesSelection=eg;W.clickAddsSelectionRange=Zm;W.decorations=Ti;W.blockWrappers=hg;W.outerDecorations=ug;W.atomicRanges=As;W.bidiIsolatedRanges=dg;W.scrollMargins=fg;W.darkTheme=Mc;W.cspNonce=G.define({combine:n=>n.length?n[0]:""});W.contentAttributes=yh;W.editorAttributes=cg;W.lineWrapping=W.contentAttributes.of({class:"cm-lineWrapping"});W.announce=se.define();const qw=4096,Rd={};class Xo{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:ke.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 Xo(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return r}}function Ld(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&&fh(o,t)}return t}const Yw=K.mac?"mac":K.windows?"win":K.linux?"linux":"key";function Qw(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 fo(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 Jw=ir.default(W.domEventHandlers({keydown(n,e){return Rg(Ng(e.state),n,e,"editor")}})),Ca=G.define({enables:Jw}),Id=new WeakMap;function Ng(n){let e=n.facet(Ca),t=Id.get(e);return t||Id.set(e,t=ek(e.reduce((r,i)=>r.concat(i),[]))),t}function Xw(n,e,t){return Rg(Ng(n.state),e,n,t)}let wn=null;const Zw=4e3;function ek(n,e=Yw){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 u,f;let p=t[o]||(t[o]=Object.create(null)),m=a.split(/ (?!$)/).map(v=>Qw(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 M=wn={view:S,prefix:k,scope:o};return setTimeout(()=>{wn==M&&(wn=null)},Zw),!0}]})}let g=m.join(" ");i(g,!1);let y=p[g]||(p[g]={preventDefault:!1,stopPropagation:!1,run:((f=(u=p._any)===null||u===void 0?void 0:u.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:u}=o;for(let f in h)h[f].run.push(p=>u(p,Tc))}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 Tc=null;function Rg(n,e,t,r){Tc=e;let i=p2(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+" ",kg.indexOf(e.keyCode)<0&&(c=!0,wn=null));let u=new Set,f=y=>{if(y){for(let v of y.run)if(!u.has(v)&&(u.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+fo(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+fo(m,e,!0)])||e.shiftKey&&(g=Pi[e.keyCode])!=i&&g!=m&&f(p[a+fo(g,e,!1)]))&&(l=!0):o&&e.shiftKey&&f(p[a+fo(i,e,!0)])&&(l=!0),!l&&f(p._any)&&(l=!0)),c&&(l=!0),l&&h&&e.stopPropagation(),Tc=null,l}class Ds{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=Lg(e);return[new Ds(t,i.left-s.left,i.top-s.top,null,i.bottom-i.top)]}else return tk(e,t,r)}}function Lg(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==ke.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function Bd(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 tk(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==ke.LTR,o=n.contentDOM,a=o.getBoundingClientRect(),l=Lg(n),c=o.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),u=a.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),f=a.right-(h?parseInt(h.paddingRight):0),p=Oc(n,r,1),m=Oc(n,i,-1),g=p.type==Ue.Text?p:null,y=m.type==Ue.Text?m:null;if(g&&(n.lineWrapping||p.widgetLineBreaks)&&(g=Bd(n,r,1,g)),y&&(n.lineWrapping||m.widgetLineBreaks)&&(y=Bd(n,i,-1,y)),g&&y&&g.from==y.from&&g.to==y.to)return k(S(t.from,t.to,g));{let C=g?S(t.from,null,g):M(p,!1),A=y?S(null,t.to,y):M(m,!0),x=[];return(g||p).to<(y||m).from-(g&&y?1:0)||p.widgetLineBreaks>1&&C.bottom+n.defaultLineHeight/2<A.top?x.push(v(u,C.bottom,f,A.top)):C.bottom<A.top&&n.elementAtHeight((C.bottom+A.top)/2).type==Ue.Text&&(C.bottom=A.top=(C.bottom+A.top)/2),k(C).concat(x).concat(k(A))}function v(C,A,x,T){return new Ds(e,C-l.left,A-l.top,x-C,T-A)}function k({top:C,bottom:A,horizontal:x}){let T=[];for(let P=0;P<x.length;P+=2)T.push(v(x[P],C,x[P+1],A));return T}function S(C,A,x){let T=1e9,P=-1e9,R=[];function N(U,V,J,he,_){let Y=n.coordsAtPos(U,U==x.to?-2:2),ie=n.coordsAtPos(J,J==x.from?2:-2);!Y||!ie||(T=Math.min(Y.top,ie.top,T),P=Math.max(Y.bottom,ie.bottom,P),_==ke.LTR?R.push(s&&V?u:Y.left,s&&he?f:ie.right):R.push(!s&&he?u:ie.left,!s&&V?f:Y.right))}let L=C??x.from,F=A??x.to;for(let U of n.visibleRanges)if(U.to>L&&U.from<F)for(let V=Math.max(U.from,L),J=Math.min(U.to,F);;){let he=n.state.doc.lineAt(V);for(let _ of n.bidiSpans(he)){let Y=_.from+he.from,ie=_.to+he.from;if(Y>=J)break;ie>V&&N(Math.max(Y,V),C==null&&Y<=L,Math.min(ie,J),A==null&&ie>=F,_.dir)}if(V=he.to+1,V>=J)break}return R.length==0&&N(L,C==null,F,A==null,n.textDirection),{top:T,bottom:P,horizontal:R}}function M(C,A){let x=a.top+(A?C.top:C.bottom);return{top:x,bottom:x,horizontal:[]}}}function nk(n,e){return n.constructor==e.constructor&&n.eq(e)}class rk{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(Lo)!=e.state.facet(Lo)&&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(Lo);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)=>!nk(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 Lo=G.define();function Ig(n){return[Re.define(e=>new rk(e,n)),Lo.of(n)]}const Ei=G.define({combine(n){return Xt(n,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function ik(n={}){return[Ei.of(n),sk,ok,ak,og.of(!0)]}function Bg(n){return n.startState.facet(Ei)!=n.state.facet(Ei)}const sk=Ig({above:!0,markers(n){let{state:e}=n,t=e.facet(Ei),r=[];for(let i of e.selection.ranges){let s=i==e.selection.main;if(i.empty||t.drawRangeCursor){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=i.empty?i:E.cursor(i.head,i.head>i.anchor?-1:1);for(let l of Ds.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=Bg(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(Ei).cursorBlinkRate+"ms"}const ok=Ig({above:!1,markers(n){return n.state.selection.ranges.map(e=>e.empty?[]:Ds.forRange(n,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||Bg(n)},class:"cm-selectionLayer"}),ak=ir.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"}}}})),$g=se.define({map(n,e){return n==null?null:e.mapPos(n)}}),ai=Ke.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,r)=>r.is($g)?r.value:t,n)}}),lk=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(ai);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(ai)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(ai),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(ai)!=n&&this.view.dispatch({effects:$g.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 ck(){return[ai,lk]}function Fd(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 hk(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 uk{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 u=r(a,l,c);u&&h(c,c+a[0].length,u)};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 hk(e,this.maxLength))Fd(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),u=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])){u=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<u-l.from;)this.addMatch(p,e,p.index+l.from,m);else Fd(e.state.doc,this.regexp,h,u,(g,y)=>this.addMatch(y,e,g,m));t=t.update({filterFrom:h,filterTo:u,filter:(g,y)=>g<h||y>u,add:f})}}return t}}const Ec=/x/.unicode!=null?"gu":"g",dk=new RegExp(`[\0-\b
|
|
62
|
-
--\u2028\u2029\uFEFF-]`,Ec),fk={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 cl=null;function pk(){var n;if(cl==null&&typeof document<"u"&&document.body){let e=document.body.style;cl=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return cl||!1}const Io=G.define({combine(n){let e=Xt(n,{render:null,specialChars:dk,addSpecialChars:null});return(e.replaceTabs=!pk())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Ec)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Ec)),e}});function mk(n={}){return[Io.of(n),gk()]}let Vd=null;function gk(){return Vd||(Vd=Re.fromClass(class{constructor(n){this.view=n,this.decorations=te.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(Io)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new uk({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 te.replace({widget:new vk((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=te.replace({widget:new xk(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(Io);n.startState.facet(Io)!=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 bk="•";function yk(n){return n>=32?bk:n==10?"":String.fromCharCode(9216+n)}class xk extends Zt{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=yk(this.code),r=e.state.phrase("Control character")+" "+(fk[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 vk 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 wk(){return Sk}const kk=te.line({class:"cm-activeLine"}),Sk=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(kk.range(i.from)),e=i.from)}return te.set(t)}},{decorations:n=>n.decorations});class Ck 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?di(e.firstChild):[];if(!t.length)return null;let r=window.getComputedStyle(e.parentNode),i=Ai(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 Ok(n){let e=Re.fromClass(class{constructor(t){this.view=t,this.placeholder=n?te.set([te.widget({widget:new Ck(n),side:1}).range(0)]):te.none}get decorations(){return this.view.state.doc.length?te.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,W.contentAttributes.of({"aria-placeholder":n})]:e}const Nc=2e3;function Pk(n,e,t){let r=Math.min(e.line,t.line),i=Math.max(e.line,t.line),s=[];if(e.off>Nc||t.off>Nc||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=r;l<=i;l++){let c=n.doc.line(l);c.length<=a&&s.push(E.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=r;l<=i;l++){let c=n.doc.line(l),h=dc(c.text,o,n.tabSize,!0);if(h<0)s.push(E.cursor(c.to));else{let u=dc(c.text,a,n.tabSize);s.push(E.range(c.from+h,c.from+u))}}}return s}function jk(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function zd(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>Nc?-1:i==r.length?jk(n,e.clientX):Lr(r.text,n.state.tabSize,t-r.from);return{line:r.number,col:s,off:i}}function Mk(n,e){let t=zd(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=zd(n,i);if(!a)return r;let l=Pk(n.state,t,a);return l.length?o?E.create(l.concat(r.ranges)):E.create(l):r}}:null}function Ak(n){let e=t=>t.altKey&&t.button==0;return W.mouseSelectionStyle.of((t,r)=>e(r)?Mk(t,r):null)}const Dk={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},Tk={style:"cursor: crosshair"};function Ek(n={}){let[e,t]=Dk[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?Tk:null})]}const po="-10000px";class Fg{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 u=0;u<this.tooltips.length;u++){let f=this.tooltips[u];f&&f.create==c.create&&(h=u)}if(h<0)o[l]=this.createTooltipView(c,l?o[l-1]:null),a&&(a[l]=!!c.above);else{let u=o[l]=this.tooltipViews[h];a&&(a[l]=t[h]),u.update&&u.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 Nk(n){let e=n.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const hl=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)||Nk}}}),Hd=new WeakMap,Sh=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(hl);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 Fg(n,Ch,(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(hl);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=po,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=xh(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(hl).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,u=n.pos[a],f=n.size[a];if(!u||l.clip!==!1&&(u.bottom<=Math.max(t.top,r.top)||u.top>=Math.min(t.bottom,r.bottom)||u.right<Math.max(t.left,r.left)-.1||u.left>Math.min(t.right,r.right)+.1)){h.style.top=po;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,g=f.right-f.left,y=(e=Hd.get(c))!==null&&e!==void 0?e:f.bottom-f.top,v=c.offset||Lk,k=this.view.textDirection==ke.LTR,S=f.width>r.right-r.left?k?r.left:r.right-f.width:k?Math.max(r.left,Math.min(u.left-(p?14:0)+v.x,r.right-g)):Math.min(Math.max(r.left,u.left-g+(p?14:0)-v.x),r.right-g),M=this.above[a];!l.strictSide&&(M?u.top-y-m-v.y<r.top:u.bottom+y+m+v.y>r.bottom)&&M==r.bottom-u.bottom>u.top-r.top&&(M=this.above[a]=!M);let C=(M?u.top-r.top:r.bottom-u.bottom)-m;if(C<y&&c.resize!==!1){if(C<this.view.defaultLineHeight){h.style.top=po;continue}Hd.set(c,y),h.style.height=(y=C)/s+"px"}else h.style.height&&(h.style.height="");let A=M?u.top-y-m-v.y:u.bottom+m+v.y,x=S+g;if(c.overlap!==!0)for(let T of o)T.left<x&&T.right>S&&T.top<A+y&&T.bottom>A&&(A=M?T.top-y-2-m:T.bottom+m+2);if(this.position=="absolute"?(h.style.top=(A-n.parent.top)/s+"px",Wd(h,(S-n.parent.left)/i)):(h.style.top=A/s+"px",Wd(h,S/i)),p){let T=u.left+(k?v.x:-v.x)-(S+14-7);p.style.left=T/i+"px"}c.overlap!==!0&&o.push({left:S,top:A,right:x,bottom:A+y}),h.classList.toggle("cm-tooltip-above",M),h.classList.toggle("cm-tooltip-below",!M),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=po}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Wd(n,e){let t=parseInt(n.style.left,10);(isNaN(t)||Math.abs(e-t)>1)&&(n.style.left=e+"px")}const Rk=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"}}}),Lk={x:0,y:0},Ch=G.define({enables:[Sh,Rk]}),Zo=G.define({combine:n=>n.reduce((e,t)=>e.concat(t),[])});class Oa{static create(e){return new Oa(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Fg(e,Zo,(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 Ik=Ch.compute([Zo],n=>{let e=n.facet(Zo);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:Oa.create,above:e[0].above,arrow:e.some(t=>t.arrow)}});class Bk{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==ke.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(Sh),t=e?e.manager.tooltips.findIndex(r=>r.create==Oa.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&&!$k(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:!Fk(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 mo=4;function $k(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-mo&&e.clientX<=r+mo&&e.clientY>=i-mo&&e.clientY<=s+mo}function Fk(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 Vk(n,e={}){let t=se.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(zk)&&(i=[]);return i},provide:i=>Zo.from(i)});return{active:r,extension:[r,Re.define(i=>new Bk(i,n,r,t,e.hoverTime||300)),Ik]}}function Vg(n,e){let t=n.plugin(Sh);if(!t)return null;let r=t.manager.tooltips.indexOf(e);return r<0?null:t.manager.tooltipViews[r]}const zk=se.define(),_d=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 Ni(n,e){let t=n.plugin(zg),r=t?t.specs.indexOf(e):-1;return r>-1?t.panels[r]:null}const zg=Re.fromClass(class{constructor(n){this.input=n.state.facet(Ri),this.specs=this.input.filter(t=>t),this.panels=this.specs.map(t=>t(n));let e=n.state.facet(_d);this.top=new go(n,!0,e.topContainer),this.bottom=new go(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(_d);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new go(n.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new go(n.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let t=n.state.facet(Ri);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 go{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=Ud(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=Ud(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 Ud(n){let e=n.nextSibling;return n.remove(),e}const Ri=G.define({enables:zg});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 Bo=G.define(),Hk=G.define(),Wk={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>ue.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},mi=G.define();function _k(n){return[Hg(),mi.of({...Wk,...n})]}const Kd=G.define({combine:n=>n.some(e=>e)});function Hg(n){return[Uk]}const Uk=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(mi).map(e=>new qd(n,e)),this.fixed=!n.state.facet(Kd);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(Kd)!=!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=ue.iter(this.view.state.facet(Bo),this.view.viewport.from),r=[],i=this.gutters.map(s=>new Kk(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){Rc(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){Rc(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(mi),t=n.state.facet(mi),r=n.docChanged||n.heightChanged||n.viewportChanged||!ue.eq(n.startState.facet(Bo),n.state.facet(Bo),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 qd(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==ke.LTR?{left:r,right:i}:{right:r,left:i}})});function Gd(n){return Array.isArray(n)?n:[n]}function Rc(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}class Kk{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=ue.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 Wg(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=[];Rc(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(Hk)){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 qd{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=Gd(t.markers(e)),t.initialSpacer&&(this.spacer=new Wg(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=Gd(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!ue.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 Wg{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":""),Gk(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 u=o;u<this.markers.length;u++)if(this.markers[u].compare(l)){a=u,c=!0;break}}else a=this.markers.length;for(;o<a;){let h=this.markers[o++];if(h.toDOM){h.destroy(i);let u=i.nextSibling;i.remove(),i=u}}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 Gk(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 qk=G.define(),Yk=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 ul extends dn{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function dl(n,e){return n.state.facet(pr).formatNumber(e,n.state)}const Qk=mi.compute([pr],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(qk)},lineMarker(e,t,r){return r.some(i=>i.toDOM)?null:new ul(dl(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,r)=>{for(let i of e.state.facet(Yk)){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 ul(dl(e,Yd(e.state.doc.lines)))},updateSpacer(e,t){let r=dl(t.view,Yd(t.view.state.doc.lines));return r==e.number?e:new ul(r)},domEventHandlers:n.facet(pr).domEventHandlers,side:"before"}));function Jk(n={}){return[pr.of(n),Hg(),Qk]}function Yd(n){let e=9;for(;e<n;)e=e*10+9;return e}const Xk=new class extends dn{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},Zk=Bo.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(Xk.range(i)))}return ue.of(e)});function e3(){return Zk}var fl;const mr=new ce;function t3(n){return G.define({combine:n?e=>e.concat(n):void 0})}const n3=new ce;class Dt{constructor(e,t,r=[],i=""){this.data=e,this.name=i,fe.prototype.hasOwnProperty("tree")||Object.defineProperty(fe.prototype,"tree",{get(){return Qe(this)}}),this.parser=t,this.extension=[En.of(this),fe.languageData.of((s,o,a)=>{let l=Qd(s,o,a),c=l.type.prop(mr);if(!c)return[];let h=s.facet(c),u=l.type.prop(n3);if(u){let f=l.resolve(o-l.from,a);for(let p of u)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 Qd(e,t,r).type.prop(mr)==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(mr)==this.data){r.push({from:o,to:o+s.length});return}let a=s.prop(ce.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 Ne&&i(c,s.positions[l]+o)}};return i(Qe(e),0),r}get allowsNesting(){return!0}}Dt.setState=se.define();function Qd(n,e,t){let r=n.facet(En),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 ea extends Dt{constructor(e,t,r){super(e,t,[],r),this.parser=t}static define(e){let t=t3(e.languageData);return new ea(t,e.parser.configure({props:[mr.add(r=>r.isTop?t:void 0)]}),e.name)}configure(e,t){return new ea(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:Ne.empty}class r3{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 ta{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 ta(e,t,[],Ne.empty,0,r,[],null)}startParse(){return this.parser.startParse(new r3(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Ne.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=Jd(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,u,f)=>l.push({fromA:c,toA:h,fromB:u,toB:f})),r=Jn.applyChanges(r,l),i=Ne.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),u=e.mapPos(c.to,-1);h<u&&a.push({from:h,to:u})}}}return new ta(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=Jd(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 ym{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 Ne(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 Jd(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=ta.create(e.facet(En).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(En)!=e.state.facet(En)?Tr.init(e.state):n.apply(e)}});let _g=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(_g=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});const pl=typeof navigator<"u"&&(!((fl=navigator.scheduling)===null||fl===void 0)&&fl.isInputPending)?()=>navigator.scheduling.isInputPending():null,i3=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=_g(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&&!pl?Math.max(25,e.timeRemaining()-5):1e9),a=s.context.treeLen<i&&r.doc.length>i+1e3,l=s.context.work(()=>pl&&pl()||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()}}}),En=G.define({combine(n){return n.length?n[0]:null},enables:n=>[Dt.state,i3,W.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});class s3{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const o3=G.define(),Pa=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 na(n){let e=n.facet(Pa);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Li(n,e){let t="",r=n.tabSize,i=n.facet(Pa)[0];if(i==" "){for(;e>=r;)t+=" ",e-=r;i=" "}for(let s=0;s<e;s++)t+=i;return t}function Oh(n,e){n instanceof fe&&(n=new ja(n));for(let r of n.state.facet(o3)){let i=r(n,e);if(i!==void 0)return i}let t=Qe(n.state);return t.length>=e?a3(n,t,e):null}class ja{constructor(e,t={}){this.state=e,this.options=t,this.unit=na(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 Ug=new ce;function a3(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 Kg(r,n,t)}function Kg(n,e,t){for(let r=n;r;r=r.next){let i=c3(r.node);if(i)return i(Ph.create(e,t,r))}return 0}function l3(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function c3(n){let e=n.type.prop(Ug);if(e)return e;let t=n.firstChild,r;if(t&&(r=t.type.prop(ce.closedBy))){let i=n.lastChild,s=i&&r.indexOf(i.name)>-1;return o=>f3(o,!0,1,void 0,s&&!l3(o)?i.from:void 0)}return n.parent==null?h3:null}function h3(){return 0}class Ph extends ja{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 Ph(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(u3(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return Kg(this.context.next,this.base,this.pos)}}function u3(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function d3(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 f3(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=d3(n);return l?a?n.column(l.from):n.column(l.to):n.baseIndent+(a?0:n.unit*t)}function Xd({except:n,units:e=1}={}){return t=>{let r=n&&n.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}const p3=200;function m3(){return fe.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+p3)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 u=Oh(o,h.from);if(u==null)continue;let f=/^\s*/.exec(h.text)[0],p=Li(o,u);f!=p&&l.push({from:h.from,to:h.from+f.length,insert:p})}return l.length?[n,{changes:l,sequential:!0}]:n})}const g3=G.define(),Gg=new ce;function b3(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 y3(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(Gg);if(l&&(a.to<r.length-50||r.length==n.doc.length||!x3(a))){let c=l(a,n);c&&c.from<=t&&c.from>=e&&c.to>t&&(s=c)}}return s}function x3(n){let e=n.lastChild;return e&&e.to==n.to&&e.type.isError}function ra(n,e,t){for(let r of n.facet(g3)){let i=r(n,e,t);if(i)return i}return y3(n,e,t)}function qg(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 Ma=se.define({map:qg}),Ts=se.define({map:qg});function Yg(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 te.none},update(n,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((t,r)=>n=Zd(n,t,r)),n=n.map(e.changes);for(let t of e.effects)if(t.is(Ma)&&!v3(n,t.value.from,t.value.to)){let{preparePlaceholder:r}=e.state.facet(Xg),i=r?te.replace({widget:new j3(r(e.state,t.value))}):ef;n=n.update({add:[i.range(t.value.from,t.value.to)]})}else t.is(Ts)&&(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=Zd(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(ef.range(r,i))}return te.set(e,!0)}});function Zd(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 ia(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 v3(n,e,t){let r=!1;return n.between(e,e,(i,s)=>{i==e&&s==t&&(r=!0)}),r}function Qg(n,e){return n.field(tr,!1)?e:e.concat(se.appendConfig.of(Zg()))}const w3=n=>{for(let e of Yg(n)){let t=ra(n.state,e.from,e.to);if(t)return n.dispatch({effects:Qg(n.state,[Ma.of(t),Jg(n,t)])}),!0}return!1},k3=n=>{if(!n.state.field(tr,!1))return!1;let e=[];for(let t of Yg(n)){let r=ia(n.state,t.from,t.to);r&&e.push(Ts.of(r),Jg(n,r,!1))}return e.length&&n.dispatch({effects:e}),e.length>0};function Jg(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 S3=n=>{let{state:e}=n,t=[];for(let r=0;r<e.doc.length;){let i=n.lineBlockAt(r),s=ra(e,i.from,i.to);s&&t.push(Ma.of(s)),r=(s?n.lineBlockAt(s.to):i).to+1}return t.length&&n.dispatch({effects:Qg(n.state,t)}),!!t.length},C3=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(Ts.of({from:r,to:i}))}),n.dispatch({effects:t}),!0},O3=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:w3},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:k3},{key:"Ctrl-Alt-[",run:S3},{key:"Ctrl-Alt-]",run:C3}],P3={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Xg=G.define({combine(n){return Xt(n,P3)}});function Zg(n){return[tr,D3]}function e0(n,e){let{state:t}=n,r=t.facet(Xg),i=o=>{let a=n.lineBlockAt(n.posAtDOM(o.target)),l=ia(n.state,a.from,a.to);l&&n.dispatch({effects:Ts.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 ef=te.replace({widget:new class extends Zt{toDOM(n){return e0(n,null)}}});class j3 extends Zt{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return e0(e,this.value)}}const M3={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class ml 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 A3(n={}){let e={...M3,...n},t=new ml(e,!0),r=new ml(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(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=ia(o.state,l.from,l.to)?r:ra(o.state,l.from,l.to)?t:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:s}=e;return[i,_k({class:"cm-foldGutter",markers(o){var a;return((a=o.plugin(i))===null||a===void 0?void 0:a.markers)||ue.empty},initialSpacer(){return new ml(e,!1)},domEventHandlers:{...s,click:(o,a,l)=>{if(s.click&&s.click(o,a,l))return!0;let c=ia(o.state,a.from,a.to);if(c)return o.dispatch({effects:Ts.of(c)}),!0;let h=ra(o.state,a.from,a.to);return h?(o.dispatch({effects:Ma.of(h)}),!0):!1}}}),Zg()]}const D3=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 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=wm(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 Lc=G.define(),t0=G.define({combine(n){return n.length?[n[0]]:null}});function gl(n){let e=n.facet(Lc);return e.length?e:n.facet(t0)}function jh(n,e){let t=[E3],r;return n instanceof Ir&&(n.module&&t.push(W.styleModule.of(n.module)),r=n.themeType),e?.fallback?t.push(t0.of(n)):r?t.push(Lc.computeN([W.darkTheme],i=>i.facet(W.darkTheme)==(r=="dark")?[n]:[])):t.push(Lc.of(n)),t}class T3{constructor(e){this.markCache=Object.create(null),this.tree=Qe(e.state),this.decorations=this.buildDeco(e,gl(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=Qe(e.state),r=gl(e.state),i=r!=gl(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 te.none;let r=new hn;for(let{from:i,to:s}of e.visibleRanges)zv(this.tree,t,(o,a,l)=>{r.add(o,a,this.markCache[l]||(this.markCache[l]=te.mark({class:l})))},i,s);return r.finish()}}const E3=ir.high(Re.fromClass(T3,{decorations:n=>n.decorations})),N3=Ir.define([{tag:D.meta,color:"#404740"},{tag:D.link,textDecoration:"underline"},{tag:D.heading,textDecoration:"underline",fontWeight:"bold"},{tag:D.emphasis,fontStyle:"italic"},{tag:D.strong,fontWeight:"bold"},{tag:D.strikethrough,textDecoration:"line-through"},{tag:D.keyword,color:"#708"},{tag:[D.atom,D.bool,D.url,D.contentSeparator,D.labelName],color:"#219"},{tag:[D.literal,D.inserted],color:"#164"},{tag:[D.string,D.deleted],color:"#a11"},{tag:[D.regexp,D.escape,D.special(D.string)],color:"#e40"},{tag:D.definition(D.variableName),color:"#00f"},{tag:D.local(D.variableName),color:"#30a"},{tag:[D.typeName,D.namespace],color:"#085"},{tag:D.className,color:"#167"},{tag:[D.special(D.variableName),D.macroName],color:"#256"},{tag:D.definition(D.propertyName),color:"#00c"},{tag:D.comment,color:"#940"},{tag:D.invalid,color:"#f00"}]),R3=W.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),n0=1e4,r0="()[]{}",i0=G.define({combine(n){return Xt(n,{afterCursor:!0,brackets:r0,maxScanDistance:n0,renderMatch:B3})}}),L3=te.mark({class:"cm-matchingBracket"}),I3=te.mark({class:"cm-nonmatchingBracket"});function B3(n){let e=[],t=n.matched?L3:I3;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 $3=Ke.define({create(){return te.none},update(n,e){if(!e.docChanged&&!e.selection)return n;let t=[],r=e.state.facet(i0);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 te.set(t,!0)},provide:n=>W.decorations.from(n)}),F3=[$3,R3];function V3(n={}){return[i0.of(n),F3]}const z3=new ce;function Ic(n,e,t){let r=n.prop(e<0?ce.openedBy:ce.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 Bc(n){let e=n.type.prop(z3);return e?e(n.node):n}function _t(n,e,t,r={}){let i=r.maxScanDistance||n0,s=r.brackets||r0,o=Qe(n),a=o.resolveInner(e,t);for(let l=a;l;l=l.parent){let c=Ic(l.type,t,s);if(c&&l.from<l.to){let h=Bc(l);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return H3(n,e,t,l,h,c,s)}}return W3(n,e,t,o,a.type,i,s)}function H3(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 u=Bc(h);return{start:l,end:u?{from:u.from,to:u.to}:void 0,matched:!0}}else if(Ic(h.type,t,o))c++;else if(Ic(h.type,-t,o)){if(c==0){let u=Bc(h);return{start:l,end:u&&u.from<u.to?{from:u.from,to:u.to}:void 0,matched:!1}}c--}}while(t<0?h.prevSibling():h.nextSibling());return{start:l,matched:!1}}function W3(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),u=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)u++;else{if(u==1)return{start:c,end:{from:m+g,to:m+g+1},matched:v>>1==l>>1};u--}}t>0&&(f+=p.length)}return h.done?{start:c,matched:!1}:null}const _3=Object.create(null),tf=[lt.none],nf=[],rf=Object.create(null),U3=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"]])U3[n]=K3(_3,e);function bl(n,e){nf.indexOf(n)>-1||(nf.push(n),console.warn(e))}function K3(n,e){let t=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let h=n[c]||D[c];h?typeof h=="function"?l.length?l=l.map(h):bl(c,`Modifier ${c} used at start of tag`):l.length?bl(c,`Tag ${c} used as modifier`):l=Array.isArray(h)?h:[h]:bl(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=rf[i];if(s)return s.id;let o=rf[i]=lt.define({id:tf.length,name:r,props:[xm({[r]:t})]});return tf.push(o),o.id}ke.RTL,ke.LTR;const G3=ea.define({name:"json",parser:Uv.configure({props:[Ug.add({Object:Xd({except:/^\s*\}/}),Array:Xd({except:/^\s*\]/})}),Gg.add({"Object Array":b3})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function q3(){return new s3(G3)}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 Y3(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 Q3=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),r=Ah(n.state,t.from);return r.line?J3(n):r.block?Z3(n):!1};function Mh(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 J3=Mh(nS,0),X3=Mh(s0,0),Z3=Mh((n,e)=>s0(n,e,tS(e)),0);function Ah(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}const ti=50;function eS(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,u;i-r<=2*ti?h=u=n.sliceDoc(r,i):(h=n.sliceDoc(r,r+ti),u=n.sliceDoc(i-ti,i));let f=/^\s*/.exec(h)[0].length,p=/\s*$/.exec(u)[0].length,m=u.length-p-t.length;return h.slice(f,f+e.length)==e&&u.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(u.charAt(m-1))?1:0}}:null}function tS(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 s0(n,e,t=e.selection.ranges){let r=t.map(s=>Ah(e,s.from).block);if(!r.every(s=>s))return null;let i=t.map((s,o)=>eS(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 nS(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=Ah(e,s).line;if(c){for(let h=s;h<=o;){let u=e.doc.lineAt(h);if(u.from>i&&(s==o||o>u.from)){i=u.from;let f=/^\s*/.exec(u.text)[0].length,p=f==u.length,m=u.text.slice(f,f+c.length)==c?f:-1;f<u.text.length&&f<l&&(l=f),r.push({line:u,comment:m,token:c,indent:f,empty:p,single:!1})}h=u.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:u}of r)(u||!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 Fc=Jt.define(),rS=Jt.define(),iS=G.define(),o0=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)})}}),a0=Ke.define({create(){return Ut.empty},update(n,e){let t=e.state.facet(o0),r=e.annotation(Fc);if(r){let l=at.fromTransaction(e,r.selection),c=r.side,h=c==0?n.undone:n.done;return l?h=sa(h,h.length,t.minDepth,l):h=h0(h,e.startState.selection),new Ut(c==0?r.rest:h,c==0?h:r.rest)}let i=e.annotation(rS);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 sS(n={}){return[a0,o0.of(n),W.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?l0:e.inputType=="historyRedo"?Vc:null;return r?(e.preventDefault(),r(t)):!1}})]}function Aa(n,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let i=t.field(a0,!1);if(!i)return!1;let s=i.pop(n,t,e);return s?(r(s),!0):!1}}const l0=Aa(0,!1),Vc=Aa(1,!1),oS=Aa(0,!0),aS=Aa(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&&E.fromJSON(e.startSelection),e.selectionsAfter.map(E.fromJSON))}static fromTransaction(e,t){let r=vt;for(let i of e.startState.facet(iS)){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 sa(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 lS(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 cS(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function c0(n,e){return n.length?e.length?n.concat(e):n:e}const vt=[],hS=200;function h0(n,e){if(n.length){let t=n[n.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-hS));return r.length&&r[r.length-1].eq(e)?n:(r.push(e),sa(n,n.length-1,1e9,t.setSelAfter(r)))}else return[at.selection([e])]}function uS(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 yl(n,e){if(!n.length)return n;let t=n.length,r=vt;for(;t;){let i=dS(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 dS(n,e,t){let r=c0(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,se.mapEffects(n.effects,e),o,n.startSelection.map(s),r)}const fS=/^(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||fS.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime<i.newGroupDelay&&i.joinToEvent(s,lS(a.changes,e.changes))||r=="input.type.compose")?o=sa(o,o.length-1,i.minDepth,new at(e.changes.compose(a.changes),c0(se.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,vt)):o=sa(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)&&cS(s[s.length-1],e)?this:new Ut(h0(this.done,e),this.undone,t,r)}addMapping(e){return new Ut(yl(this.done,e),yl(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:Fc.of({side:e,rest:uS(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=yl(a,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Fc.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 pS=[{key:"Mod-z",run:l0,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Vc,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Vc,preventDefault:!0},{key:"Mod-u",run:oS,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:aS,preventDefault:!0}];function Br(n,e){return E.create(n.ranges.map(e),n.mainIndex)}function Et(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Nt({state:n,dispatch:e},t){let r=Br(n.selection,t);return r.eq(n.selection,!0)?!1:(e(Et(n,r)),!0)}function Da(n,e){return E.cursor(e?n.to:n.from)}function u0(n,e){return Nt(n,t=>t.empty?n.moveByChar(t,e):Da(t,e))}function Je(n){return n.textDirectionAt(n.state.selection.main.head)==ke.LTR}const d0=n=>u0(n,!Je(n)),f0=n=>u0(n,Je(n));function p0(n,e){return Nt(n,t=>t.empty?n.moveByGroup(t,e):Da(t,e))}const mS=n=>p0(n,!Je(n)),gS=n=>p0(n,Je(n));function bS(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 Ta(n,e,t){let r=Qe(n).resolveInner(e.head),i=t?ce.closedBy:ce.openedBy;for(let l=e.head;;){let c=t?r.childAfter(l):r.childBefore(l);if(!c)break;bS(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,E.cursor(a,t?-1:1)}const yS=n=>Nt(n,e=>Ta(n.state,e,!Je(n))),xS=n=>Nt(n,e=>Ta(n.state,e,Je(n)));function m0(n,e){return Nt(n,t=>{if(!t.empty)return Da(t,e);let r=n.moveVertically(t,e);return r.head!=t.head?r:n.moveToLineBoundary(t,e)})}const g0=n=>m0(n,!1),b0=n=>m0(n,!0);function y0(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 x0(n,e){let t=y0(n),{state:r}=n,i=Br(r.selection,o=>o.empty?n.moveVertically(o,e,t.height):Da(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(Et(r,i),{effects:s}),!0}const sf=n=>x0(n,!1),zc=n=>x0(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=E.cursor(r.from+s))}return i}const vS=n=>Nt(n,e=>Rn(n,e,!0)),wS=n=>Nt(n,e=>Rn(n,e,!1)),kS=n=>Nt(n,e=>Rn(n,e,!Je(n))),SS=n=>Nt(n,e=>Rn(n,e,Je(n))),CS=n=>Nt(n,e=>E.cursor(n.lineBlockAt(e.head).from,1)),OS=n=>Nt(n,e=>E.cursor(n.lineBlockAt(e.head).to,-1));function PS(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 E.cursor(a)});return r?(e(Et(n,i)),!0):!1}const jS=({state:n,dispatch:e})=>PS(n,e);function jt(n,e){let t=Br(n.state.selection,r=>{let i=e(r);return E.range(r.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return t.eq(n.state.selection)?!1:(n.dispatch(Et(n.state,t)),!0)}function v0(n,e){return jt(n,t=>n.moveByChar(t,e))}const w0=n=>v0(n,!Je(n)),k0=n=>v0(n,Je(n));function S0(n,e){return jt(n,t=>n.moveByGroup(t,e))}const MS=n=>S0(n,!Je(n)),AS=n=>S0(n,Je(n)),DS=n=>jt(n,e=>Ta(n.state,e,!Je(n))),TS=n=>jt(n,e=>Ta(n.state,e,Je(n)));function C0(n,e){return jt(n,t=>n.moveVertically(t,e))}const O0=n=>C0(n,!1),P0=n=>C0(n,!0);function j0(n,e){return jt(n,t=>n.moveVertically(t,e,y0(n).height))}const of=n=>j0(n,!1),af=n=>j0(n,!0),ES=n=>jt(n,e=>Rn(n,e,!0)),NS=n=>jt(n,e=>Rn(n,e,!1)),RS=n=>jt(n,e=>Rn(n,e,!Je(n))),LS=n=>jt(n,e=>Rn(n,e,Je(n))),IS=n=>jt(n,e=>E.cursor(n.lineBlockAt(e.head).from)),BS=n=>jt(n,e=>E.cursor(n.lineBlockAt(e.head).to)),lf=({state:n,dispatch:e})=>(e(Et(n,{anchor:0})),!0),cf=({state:n,dispatch:e})=>(e(Et(n,{anchor:n.doc.length})),!0),hf=({state:n,dispatch:e})=>(e(Et(n,{anchor:n.selection.main.anchor,head:0})),!0),uf=({state:n,dispatch:e})=>(e(Et(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),$S=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),FS=({state:n,dispatch:e})=>{let t=Ea(n).map(({from:r,to:i})=>E.range(r,Math.min(i+1,n.doc.length)));return e(n.update({selection:E.create(t),userEvent:"select"})),!0},VS=({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 E.range(a.to,a.from)}return r});return t.eq(n.selection)?!1:(e(Et(n,t)),!0)};function M0(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(Et(t,E.create(i,i.length-1))),!0)}const zS=n=>M0(n,!1),HS=n=>M0(n,!0),WS=({state:n,dispatch:e})=>{let t=n.selection,r=null;return t.ranges.length>1?r=E.create([t.main]):t.main.empty||(r=E.create([E.cursor(t.main.head)])),r?(e(Et(n,r)),!0):!1};function Es(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=bo(n,l,!1)):l>o&&(t="delete.forward",l=bo(n,l,!0)),o=Math.min(o,l),a=Math.max(a,l)}else o=bo(n,o,!1),a=bo(n,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:E.cursor(o,o<s.head?-1:1)}});return i.changes.empty?!1:(n.dispatch(r.update(i,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?W.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function bo(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 A0=(n,e,t)=>Es(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%na(s)||na(s);for(let u=0;u<h&&a[a.length-1-u]==" ";u++)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}),Hc=n=>A0(n,!1,!0),D0=n=>A0(n,!0,!1),T0=(n,e)=>Es(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}),E0=n=>T0(n,!1),_S=n=>T0(n,!0),US=n=>Es(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),KS=n=>Es(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),GS=n=>Es(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)}),qS=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:be.of(["",""])},range:E.cursor(r.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},YS=({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:E.cursor(a)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ea(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 N0(n,e,t){if(n.readOnly)return!1;let r=[],i=[];for(let s of Ea(n)){if(t?s.to==n.doc.length:s.from==0)continue;let o=n.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){r.push({from:s.to,to:o.to},{from:s.from,insert:o.text+n.lineBreak});for(let l of s.ranges)i.push(E.range(Math.min(n.doc.length,l.anchor+a),Math.min(n.doc.length,l.head+a)))}else{r.push({from:o.from,to:s.from},{from:s.to,insert:n.lineBreak+o.text});for(let l of s.ranges)i.push(E.range(l.anchor-a,l.head-a))}}return r.length?(e(n.update({changes:r,scrollIntoView:!0,selection:E.create(i,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}const QS=({state:n,dispatch:e})=>N0(n,e,!1),JS=({state:n,dispatch:e})=>N0(n,e,!0);function R0(n,e,t){if(n.readOnly)return!1;let r=[];for(let s of Ea(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 XS=({state:n,dispatch:e})=>R0(n,e,!1),ZS=({state:n,dispatch:e})=>R0(n,e,!0),e4=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(Ea(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 t4(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(ce.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 df=L0(!1),n4=L0(!0);function L0(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&&t4(e,s);n&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let c=new ja(e,{simulateBreak:s,simulateDoubleBreak:!!l}),h=Oh(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 u=["",Li(e,h)];return l&&u.push(Li(e,c.lineIndent(a.from,-1))),{changes:{from:s,to:o,insert:be.of(u)},range:E.cursor(s+1+u[1].length)}});return t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Dh(n,e){let t=-1;return n.changeByRange(r=>{let i=[];for(let o=r.from;o<=r.to;){let a=n.doc.lineAt(o);a.number>t&&(r.empty||r.to>a.from)&&(e(a,i,r),t=a.number),o=a.to+1}let s=n.changes(i);return{changes:i,range:E.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}const r4=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),r=new ja(n,{overrideIndentation:s=>{let o=t[s];return o??-1}}),i=Dh(n,(s,o,a)=>{let l=Oh(r,s.from);if(l==null)return;/\S/.test(s.text)||(l=0);let c=/^\s*/.exec(s.text)[0],h=Li(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},I0=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Dh(n,(t,r)=>{r.push({from:t.from,insert:n.facet(Pa)})}),{userEvent:"input.indent"})),!0),B0=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Dh(n,(t,r)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let s=Lr(i,n.tabSize),o=0,a=Li(n,Math.max(0,s-na(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),i4=n=>(n.setTabFocusMode(),!0),s4=[{key:"Ctrl-b",run:d0,shift:w0,preventDefault:!0},{key:"Ctrl-f",run:f0,shift:k0},{key:"Ctrl-p",run:g0,shift:O0},{key:"Ctrl-n",run:b0,shift:P0},{key:"Ctrl-a",run:CS,shift:IS},{key:"Ctrl-e",run:OS,shift:BS},{key:"Ctrl-d",run:D0},{key:"Ctrl-h",run:Hc},{key:"Ctrl-k",run:US},{key:"Ctrl-Alt-h",run:E0},{key:"Ctrl-o",run:qS},{key:"Ctrl-t",run:YS},{key:"Ctrl-v",run:zc}],o4=[{key:"ArrowLeft",run:d0,shift:w0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:mS,shift:MS,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:kS,shift:RS,preventDefault:!0},{key:"ArrowRight",run:f0,shift:k0,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:gS,shift:AS,preventDefault:!0},{mac:"Cmd-ArrowRight",run:SS,shift:LS,preventDefault:!0},{key:"ArrowUp",run:g0,shift:O0,preventDefault:!0},{mac:"Cmd-ArrowUp",run:lf,shift:hf},{mac:"Ctrl-ArrowUp",run:sf,shift:of},{key:"ArrowDown",run:b0,shift:P0,preventDefault:!0},{mac:"Cmd-ArrowDown",run:cf,shift:uf},{mac:"Ctrl-ArrowDown",run:zc,shift:af},{key:"PageUp",run:sf,shift:of},{key:"PageDown",run:zc,shift:af},{key:"Home",run:wS,shift:NS,preventDefault:!0},{key:"Mod-Home",run:lf,shift:hf},{key:"End",run:vS,shift:ES,preventDefault:!0},{key:"Mod-End",run:cf,shift:uf},{key:"Enter",run:df,shift:df},{key:"Mod-a",run:$S},{key:"Backspace",run:Hc,shift:Hc,preventDefault:!0},{key:"Delete",run:D0,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:E0,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:_S,preventDefault:!0},{mac:"Mod-Backspace",run:KS,preventDefault:!0},{mac:"Mod-Delete",run:GS,preventDefault:!0}].concat(s4.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),a4=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:yS,shift:DS},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:xS,shift:TS},{key:"Alt-ArrowUp",run:QS},{key:"Shift-Alt-ArrowUp",run:XS},{key:"Alt-ArrowDown",run:JS},{key:"Shift-Alt-ArrowDown",run:ZS},{key:"Mod-Alt-ArrowUp",run:zS},{key:"Mod-Alt-ArrowDown",run:HS},{key:"Escape",run:WS},{key:"Mod-Enter",run:n4},{key:"Alt-l",mac:"Ctrl-l",run:FS},{key:"Mod-i",run:VS,preventDefault:!0},{key:"Mod-[",run:B0},{key:"Mod-]",run:I0},{key:"Mod-Alt-\\",run:r4},{key:"Shift-Mod-k",run:e4},{key:"Shift-Mod-\\",run:jS},{key:"Mod-/",run:Q3},{key:"Alt-A",run:X3},{key:"Ctrl-m",mac:"Shift-Alt-m",run:i4}].concat(o4),l4={key:"Tab",run:I0,shift:B0},ff=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(ff(a)):ff,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=lh(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"&&(Er.prototype[Symbol.iterator]=function(){return this});const $0={from:-1,to:-1,match:/.*/.exec("")},Th="gm"+(/x/.unicode==null?"":"u");class F0{constructor(e,t,r,i=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=$0,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new V0(e,t,r,i,s);this.re=new RegExp(t,Th+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let o=e.lineAt(i);this.curLineStart=o.from,this.matchPos=oa(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=oa(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 xl=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=xl.get(e);if(!i||i.from>=r||i.to<=t){let a=new Cr(t,e.sliceString(t,r));return xl.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)),xl.set(e,new Cr(o,s)),new Cr(t,s.slice(t-o,r-o))}}class V0{constructor(e,t,r,i,s){this.text=e,this.to=s,this.done=!1,this.value=$0,this.matchPos=oa(e,i),this.re=new RegExp(t,Th+(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=oa(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"&&(F0.prototype[Symbol.iterator]=V0.prototype[Symbol.iterator]=function(){return this});function c4(n){try{return new RegExp(n,Th),!0}catch{return!1}}function oa(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 Wc(n){let e=String(n.state.doc.lineAt(n.state.selection.main.head).number),t=ve("input",{class:"cm-textfield",name:"line",value:e}),r=ve("form",{class:"cm-gotoLine",onkeydown:s=>{s.keyCode==27?(s.preventDefault(),n.dispatch({effects:gi.of(!1)}),n.focus()):s.keyCode==13&&(s.preventDefault(),i())},onsubmit:s=>{s.preventDefault(),i()}},ve("label",n.state.phrase("Go to line"),": ",t)," ",ve("button",{class:"cm-button",type:"submit"},n.state.phrase("go")),ve("button",{name:"close",onclick:()=>{n.dispatch({effects:gi.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,u]=s,f=h?+h.slice(1):0,p=c?+c:a.number;if(c&&u){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=E.cursor(m.from+Math.max(0,Math.min(f,m.length)));n.dispatch({effects:[gi.of(!1),W.scrollIntoView(g.from,{y:"center"})],selection:g}),n.focus()}return{dom:r}}const gi=se.define(),pf=Ke.define({create(){return!0},update(n,e){for(let t of e.effects)t.is(gi)&&(n=t.value);return n},provide:n=>Ri.from(n,e=>e?Wc:null)}),h4=n=>{let e=Ni(n,Wc);if(!e){let t=[gi.of(!0)];n.state.field(pf,!1)==null&&t.push(se.appendConfig.of([pf,u4])),n.dispatch({effects:t}),e=Ni(n,Wc)}return e&&e.dom.querySelector("input").select(),!0},u4=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"}}}),d4={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},f4=G.define({combine(n){return Xt(n,d4,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}});function p4(n){return[x4,y4]}const m4=te.mark({class:"cm-selectionMatch"}),g4=te.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function mf(n,e,t,r){return(t==0||n(e.sliceDoc(t-1,t))!=je.Word)&&(r==e.doc.length||n(e.sliceDoc(r,r+1))!=je.Word)}function b4(n,e,t,r){return n(e.sliceDoc(t,t+1))==je.Word&&n(e.sliceDoc(r-1,r))==je.Word}const y4=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(f4),{state:t}=n,r=t.selection;if(r.ranges.length>1)return te.none;let i=r.main,s,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return te.none;let l=t.wordAt(i.head);if(!l)return te.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 te.none;if(e.wholeWords){if(s=t.sliceDoc(i.from,i.to),o=t.charCategorizer(i.head),!(mf(o,t,i.from,i.to)&&b4(o,t,i.from,i.to)))return te.none}else if(s=t.sliceDoc(i.from,i.to),!s)return te.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:u}=c.value;if((!o||mf(o,t,h,u))&&(i.empty&&h<=i.from&&u>=i.to?a.push(g4.range(h,u)):(h>=i.to||u<=i.from)&&a.push(m4.range(h,u)),a.length>e.maxMatches))return te.none}}return te.set(a)}},{decorations:n=>n.decorations}),x4=W.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),v4=({state:n,dispatch:e})=>{let{selection:t}=n,r=E.create(t.ranges.map(i=>n.wordAt(i.head)||E.cursor(i.head)),t.mainIndex);return r.eq(t)?!1:(e(n.update({selection:r})),!0)};function w4(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 k4=({state:n,dispatch:e})=>{let{ranges:t}=n.selection;if(t.some(s=>s.from===s.to))return v4({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=w4(n,r);return i?(e(n.update({selection:n.selection.addRange(E.range(i.from,i.to),!1),effects:W.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 R4(e),scrollToMatch:e=>W.scrollIntoView(e)})}});class z0{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||c4(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 P4(this):new C4(this)}getCursor(e,t=0,r){let i=e.doc?e:fe.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?ur(this,i,t,r):hr(this,i,t,r)}}class H0{constructor(e){this.spec=e}}function hr(n,e,t,r){return new Er(e.doc,n.unquoted,t,r,n.caseSensitive?void 0:i=>i.toLowerCase(),n.wholeWord?S4(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function S4(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(aa(i,t-s))!=je.Word||e(la(i,t-s))!=je.Word)&&(e(la(i,r-s))!=je.Word||e(aa(i,r-s))!=je.Word))}class C4 extends H0{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 F0(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:n.wholeWord?O4(e.charCategorizer(e.selection.main.head)):void 0},t,r)}function aa(n,e){return n.slice($e(n,e,!1),e)}function la(n,e){return n.slice(e,$e(n,e))}function O4(n){return(e,t,r)=>!r[0].length||(n(aa(r.input,r.index))!=je.Word||n(la(r.input,r.index))!=je.Word)&&(n(la(r.input,r.index+r[0].length))!=je.Word||n(aa(r.input,r.index+r[0].length))!=je.Word)}class P4 extends H0{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 Ii=se.define(),Eh=se.define(),Pn=Ke.define({create(n){return new vl(_c(n).create(),null)},update(n,e){for(let t of e.effects)t.is(Ii)?n=new vl(t.value.create(),n.panel):t.is(Eh)&&(n=new vl(n.query,t.value?Nh:null));return n},provide:n=>Ri.from(n,e=>e.panel)});class vl{constructor(e,t){this.query=e,this.panel=t}}const j4=te.mark({class:"cm-searchMatch"}),M4=te.mark({class:"cm-searchMatch cm-searchMatch-selected"}),A4=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 te.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 u=t.state.selection.ranges.some(f=>f.from==c&&f.to==h);r.add(c,h,u?M4:j4)})}return r.finish()}},{decorations:n=>n.decorations});function Ns(n){return e=>{let t=e.state.field(Pn,!1);return t&&t.query.spec.valid?n(e,t):U0(e)}}const ca=Ns((n,{query:e})=>{let{to:t}=n.state.selection.main,r=e.nextMatch(n.state,t,t);if(!r)return!1;let i=E.single(r.from,r.to),s=n.state.facet($r);return n.dispatch({selection:i,effects:[Rh(n,r),s.scrollToMatch(i.main,n)],userEvent:"select.search"}),_0(n),!0}),ha=Ns((n,{query:e})=>{let{state:t}=n,{from:r}=t.selection.main,i=e.prevMatch(t,r,r);if(!i)return!1;let s=E.single(i.from,i.to),o=n.state.facet($r);return n.dispatch({selection:s,effects:[Rh(n,i),o.scrollToMatch(s.main,n)],userEvent:"select.search"}),_0(n),!0}),D4=Ns((n,{query:e})=>{let t=e.matchAll(n.state,1e3);return!t||!t.length?!1:(n.dispatch({selection:E.create(t.map(r=>E.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),T4=({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(E.range(a.value.from,a.value.to))}return e(n.update({selection:E.create(s,o),userEvent:"select.search.matches"})),!0},gf=Ns((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 u=n.state.changes(a);return o&&(l=E.single(o.from,o.to).map(u),h.push(Rh(n,o)),h.push(t.facet($r).scrollToMatch(l.main,n))),n.dispatch({changes:u,selection:l,effects:h,userEvent:"input.replace"}),!0}),E4=Ns((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 Nh(n){return n.state.facet($r).createPanel(n)}function _c(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 z0({search:((t=e?.literal)!==null&&t!==void 0?t:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:c.caseSensitive,literal:(i=e?.literal)!==null&&i!==void 0?i:c.literal,regexp:(s=e?.regexp)!==null&&s!==void 0?s:c.regexp,wholeWord:(o=e?.wholeWord)!==null&&o!==void 0?o:c.wholeWord})}function W0(n){let e=Ni(n,Nh);return e&&e.dom.querySelector("[main-field]")}function _0(n){let e=W0(n);e&&e==n.root.activeElement&&e.select()}const U0=n=>{let e=n.state.field(Pn,!1);if(e&&e.panel){let t=W0(n);if(t&&t!=n.root.activeElement){let r=_c(n.state,e.query.spec);r.valid&&n.dispatch({effects:Ii.of(r)}),t.focus(),t.select()}}else n.dispatch({effects:[Eh.of(!0),e?Ii.of(_c(n.state,e.query.spec)):se.appendConfig.of(I4)]});return!0},K0=n=>{let e=n.state.field(Pn,!1);if(!e||!e.panel)return!1;let t=Ni(n,Nh);return t&&t.dom.contains(n.root.activeElement)&&n.focus(),n.dispatch({effects:Eh.of(!1)}),!0},N4=[{key:"Mod-f",run:U0,scope:"editor search-panel"},{key:"F3",run:ca,shift:ha,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ca,shift:ha,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:K0,scope:"editor search-panel"},{key:"Mod-Shift-l",run:T4},{key:"Mod-Alt-g",run:h4},{key:"Mod-d",run:k4,preventDefault:!0}];class R4{constructor(e){this.view=e;let t=this.query=e.state.field(Pn).query.spec;this.commit=this.commit.bind(this),this.searchField=ve("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=ve("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=ve("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=ve("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=ve("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit});function r(i,s,o){return ve("button",{class:"cm-button",name:i,onclick:s,type:"button"},o)}this.dom=ve("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,r("next",()=>ca(e),[ht(e,"next")]),r("prev",()=>ha(e),[ht(e,"previous")]),r("select",()=>D4(e),[ht(e,"all")]),ve("label",null,[this.caseField,ht(e,"match case")]),ve("label",null,[this.reField,ht(e,"regexp")]),ve("label",null,[this.wordField,ht(e,"by word")]),...e.state.readOnly?[]:[ve("br"),this.replaceField,r("replace",()=>gf(e),[ht(e,"replace")]),r("replaceAll",()=>E4(e),[ht(e,"replace all")])],ve("button",{name:"close",onclick:()=>K0(e),"aria-label":ht(e,"close"),type:"button"},["×"])])}commit(){let e=new z0({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Ii.of(e)}))}keydown(e){Xw(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ha:ca)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),gf(this.view))}update(e){for(let t of e.transactions)for(let r of t.effects)r.is(Ii)&&!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 yo=30,xo=/[\s\.,:;?!]/;function Rh(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-yo),o=Math.min(i,t+yo),a=n.state.sliceDoc(s,o);if(s!=r.from){for(let l=0;l<yo;l++)if(!xo.test(a[l+1])&&xo.test(a[l])){a=a.slice(l);break}}if(o!=i){for(let l=a.length-1;l>a.length-yo;l--)if(!xo.test(a[l-1])&&xo.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 L4=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"}}),I4=[Pn,ir.low(A4),L4];class G0{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(q0(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 bf(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 B4(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=bf(e)+bf(t)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function $4(n){let e=n.map(i=>typeof i=="string"?{label:i}:i),[t,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:B4(e);return i=>{let s=i.matchBefore(r);return s||i.explicit?{from:s?s.from:i.pos,options:e,validFor:t}:null}}class yf{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 q0(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 Y0=Jt.define();function F4(n,e,t,r){let{main:i}=n.selection,s=t-i.from,o=r-i.from;return{...n.changeByRange(a=>{if(a!=i&&t!=r&&n.sliceDoc(a.from+s,a.from+o)!=n.sliceDoc(t,r))return{range:a};let l=n.toText(e);return{changes:{from:a.from+s,to:r==i.from?a.to:a.from+o,insert:l},range:E.cursor(a.from+s+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const xf=new WeakMap;function V4(n){if(!Array.isArray(n))return n;let e=xf.get(n);return e||xf.set(n,e=$4(n)),e}const ua=se.define(),Bi=se.define();class z4{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let r=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),M=S==e.length?0:-100;if(k!=t[0])if(k==r[0])M+=-200;else return null;return this.ret(M,[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 M=rt(e,k);(M==t[c]||M==r[c])&&(i[c++]=k),k+=Ht(M)}if(c<l)return null}let h=0,u=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),M=0;k<S&&u<l;){let C=rt(e,k);a<0&&(h<l&&C==t[h]&&(s[h++]=k),p<l&&(C==t[p]||C==r[p]?(p==0&&(m=k),g=k+1,p++):p=0));let A,x=C<255?C>=48&&C<=57||C>=97&&C<=122?2:C>=65&&C<=90?1:0:(A=lh(C))!=A.toLowerCase()?1:A!=A.toUpperCase()?2:0;(!k||x==1&&y||M==0&&x!=0)&&(t[u]==C||r[u]==C&&(f=!0)?o[u++]=k:o.length&&(v=!1)),M=x,k+=Ht(C)}return u==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]):u==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 H4{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:W4,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=>vf(e(r),t(r)),optionClass:(e,t)=>r=>vf(e(r),t(r)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})}});function vf(n,e){return n?e?n+" "+e:n:e}function W4(n,e,t,r,i,s){let o=n.textDirection==ke.RTL,a=o,l=!1,c="top",h,u,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,u=Math.min(400,a?f:p);else{l=!0,u=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: ${u/v}px`,class:"cm-completionInfo-"+(l?o?"left-narrow":"right-narrow":a?"left":"right")}}function _4(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++],u=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,u))),f.className="cm-completionMatchedText",l=u}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 wl(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 U4{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=_4(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=wl(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,u;h&&h!=this.dom;h=h.parentNode)if(h.nodeName=="LI"&&(u=/-(\d+)$/.exec(h.id))&&+u[1]<c.length){this.applyCompletion(e,c[+u[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:Bi.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=wl(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=wl(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&&G4(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 u=this.optionClass(a);u&&(h.className=u);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 K4(n,e){return t=>new U4(t,n,e)}function G4(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 wf(n){return(n.boost||0)*100+(n.apply?10:0)+(n.info?5:0)+(n.type?1:0)}function q4(n,e){let t=[],r=null,i=null,s=h=>{t.push(h);let{section:u}=h.completion;if(u){r||(r=[]);let f=typeof u=="string"?u:u.name;r.some(p=>p.name==f)||r.push(typeof u=="string"?{name:f}:u)}},o=e.facet(ze);for(let h of n)if(h.hasResult()){let u=h.result.getMatch;if(h.result.filter===!1)for(let f of h.result.options)s(new yf(f,h.source,u?u(f):[],1e9-t.length));else{let f=e.sliceDoc(h.from,h.to),p,m=o.filterStrict?new H4(f):new z4(f);for(let g of h.result.options)if(p=m.match(g.label)){let y=g.displayLabel?u?u(g,p.matched):[]:p.matched,v=p.score+(g.boost||0);if(s(new yf(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),u=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))u-=1e5,h[p.name]=u;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((u,f)=>f.score-u.score||c(u.completion,f.completion))){let u=h.completion;!l||l.label!=u.label||l.detail!=u.detail||l.type!=null&&u.type!=null&&l.type!=u.type||l.apply!=u.apply||l.boost!=u.boost?a.push(h):wf(h.completion)>wf(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,kf(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=q4(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,kf(r,l),{pos:e.reduce((c,h)=>h.hasResult()?Math.min(c,h.from):c,1e8),create:e5,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 da{constructor(e,t,r){this.active=e,this.id=t,this.open=r}static start(){return new da(X4,"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(V4)).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(Lh));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!Y4(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(J0)&&(o=o&&o.setSelected(l.value,this.id));return s==this.active&&o==this.open?this:new da(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?Q4:J4}}function Y4(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 Q4={"aria-autocomplete":"list"},J4={};function kf(n,e){let t={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":n};return e>-1&&(t["aria-activedescendant"]=n+"-"+e),t}const X4=[];function Q0(n,e){if(n.isUserEvent("input.complete")){let r=n.annotation(Y0);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=Q0(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(ua))i=new wt(i.source,1,s.value);else if(s.is(Bi))i=new wt(i.source,0);else if(s.is(Lh))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 Z4(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 G0(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 Z4(n,e,t,r){if(!n)return!1;let i=e.sliceDoc(t,r);return typeof n=="function"?n(i,t,r,e):q0(n,!0).test(i)}const Lh=se.define({map(n,e){return n.map(t=>t.map(e))}}),J0=se.define(),it=Ke.define({create(){return da.start()},update(n,e){return n.update(e)},provide:n=>[Ch.from(n,e=>e.tooltip),W.contentAttributes.from(n,e=>e.attrs)]});function Ih(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({...F4(n.state,t,r.from,r.to),annotations:Y0.of(e.completion)}):t(n,e.completion,r.from,r.to),!0):!1}const e5=K4(it,Ih);function vo(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=Vg(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:J0.of(a)}),!0}}const t5=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:Ih(n,e.open.options[e.open.selected])},kl=n=>n.state.field(it,!1)?(n.dispatch({effects:ua.of(!0)}),!0):!1,n5=n=>{let e=n.state.field(it,!1);return!e||!e.active.some(t=>t.state!=0)?!1:(n.dispatch({effects:Bi.of(null)}),!0)};class r5{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const i5=50,s5=1e3,o5=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=Q0(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>i5&&Date.now()-o.time>s5){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(ua)))&&(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 G0(e,t,n.explicit,this.view),i=new r5(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:Bi.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:Lh.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&&Vg(this.view,e.open.tooltip);(!t||!t.dom.contains(n.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Bi.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:ua.of(!1)}),20),this.composing=0}}}),a5=typeof navigator=="object"&&/Win/.test(navigator.platform),l5=ir.highest(W.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&&!(a5&&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&&Ih(e,r),!1}})),c5=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"}}}),$i={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Qn=se.define({map(n,e){let t=e.mapPos(n,-1,et.TrackAfter);return t??void 0}}),Bh=new class extends Mn{};Bh.startSide=1;Bh.endSide=-1;const X0=Ke.define({create(){return ue.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:[Bh.range(t.value,t.value+1)]}));return n}});function h5(){return[d5,X0]}const Sl="()[]{}<>«»»«[]{}";function Z0(n){for(let e=0;e<Sl.length;e+=2)if(Sl.charCodeAt(e)==n)return Sl.charAt(e+1);return lh(n<128?n:n+1)}function eb(n,e){return n.languageDataAt("closeBrackets",e)[0]||$i}const u5=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),d5=W.inputHandler.of((n,e,t,r)=>{if((u5?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=m5(n.state,r);return s?(n.dispatch(s),!0):!1}),f5=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let r=eb(n,n.selection.main.head).brackets||$i.brackets,i=null,s=n.changeByRange(o=>{if(o.empty){let a=g5(n.doc,o.head);for(let l of r)if(l==a&&Na(n.doc,o.head)==Z0(rt(l,0)))return{changes:{from:o.head-l.length,to:o.head+l.length},range:E.cursor(o.head-l.length)}}return{range:i=o}});return i||e(n.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},p5=[{key:"Backspace",run:f5}];function m5(n,e){let t=eb(n,n.selection.main.head),r=t.brackets||$i.brackets;for(let i of r){let s=Z0(rt(i,0));if(e==i)return s==i?x5(n,i,r.indexOf(i+i+i)>-1,t):b5(n,i,s,t.before||$i.before);if(e==s&&tb(n,n.selection.main.from))return y5(n,i,s)}return null}function tb(n,e){let t=!1;return n.field(X0).between(0,n.doc.length,r=>{r==e&&(t=!0)}),t}function Na(n,e){let t=n.sliceString(e,e+2);return t.slice(0,Ht(rt(t,0)))}function g5(n,e){let t=n.sliceString(e-2,e);return Ht(rt(t,0))==t.length?t:t.slice(1)}function b5(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:E.range(o.anchor+e.length,o.head+e.length)};let a=Na(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:E.cursor(o.head+e.length)}:{range:i=o}});return i?null:n.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function y5(n,e,t){let r=null,i=n.changeByRange(s=>s.empty&&Na(n.doc,s.head)==t?{changes:{from:s.head,to:s.head+t.length,insert:t},range:E.cursor(s.head+t.length)}:r={range:s});return r?null:n.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function x5(n,e,t,r){let i=r.stringPrefixes||$i.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:E.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Na(n.doc,l),h;if(c==e){if(Sf(n,l))return{changes:{insert:e+e,from:l},effects:Qn.of(l+e.length),range:E.cursor(l+e.length)};if(tb(n,l)){let f=t&&n.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:E.cursor(l+f.length)}}}else{if(t&&n.sliceDoc(l-2*e.length,l)==e+e&&(h=Cf(n,l-2*e.length,i))>-1&&Sf(n,h))return{changes:{insert:e+e+e+e,from:l},effects:Qn.of(l+e.length),range:E.cursor(l+e.length)};if(n.charCategorizer(l)(c)!=je.Word&&Cf(n,l,i)>-1&&!v5(n,l,e,i))return{changes:{insert:e+e,from:l},effects:Qn.of(l+e.length),range:E.cursor(l+e.length)}}return{range:s=a}});return s?null:n.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function Sf(n,e){let t=Qe(n).resolveInner(e+1);return t.parent&&t.from==e}function v5(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 Cf(n,e,t){let r=n.charCategorizer(e);if(r(n.sliceDoc(e-1,e))!=je.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))!=je.Word)return s}return-1}function w5(n={}){return[l5,it,ze.of(n),o5,k5,c5]}const nb=[{key:"Ctrl-Space",run:kl},{mac:"Alt-`",run:kl},{mac:"Alt-i",run:kl},{key:"Escape",run:n5},{key:"ArrowDown",run:vo(!0)},{key:"ArrowUp",run:vo(!1)},{key:"PageDown",run:vo(!0,"page")},{key:"PageUp",run:vo(!1,"page")},{key:"Enter",run:t5}],k5=ir.highest(Ca.computeN([ze],n=>n.facet(ze).defaultKeymap?[nb]:[]));class Of{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(Fi).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,u=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,M)=>Math.min(S,M.to),m&&m.from>g?m.from:1e8);else{if(g=m.from,g>u)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,u);let v=!1;if(a.some(S=>S.from==g&&(S.to==y||y==u))&&(v=g==y,!v&&y-g<10)){let S=g-(h+c.value.length);S>0&&(c.next(S),h=g);for(let M=g;;){if(M>=y){v=!0;break}if(!c.lineBreak&&h+c.value.length>M)break;M=h+c.value.length,h+=c.value.length,c.next()}}let k=L5(a);if(v)o.add(g,g,te.widget({widget:new T5(k),diagnostics:a.slice()}));else{let S=a.reduce((M,C)=>C.markClass?M+" "+C.markClass:M,"");o.add(g,y,te.mark({class:"cm-lintRange cm-lintRange-"+k+S,diagnostics:a.slice(),inclusiveEnd:a.some(M=>M.to>y)}))}if(l=y,l==u)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,Nr(f))}}function Nr(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 Of(i,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Of(r.from,s,r.diagnostic)}}),r}function S5(n,e){let t=e.pos,r=e.end||t,i=n.state.facet(Fi).hideOn(n,t,r);if(i!=null)return i;let s=n.startState.doc.lineAt(e.pos);return!!(n.effects.some(o=>o.is(rb))||n.changes.touchesRange(s.from,Math.max(s.to,r)))}function C5(n,e){return n.field(ft,!1)?e:e.concat(se.appendConfig.of(I5))}const rb=se.define(),$h=se.define(),ib=se.define(),ft=Ke.define({create(){return new Kn(te.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=Nr(t,n.selected.diagnostic,s)||Nr(t,null,s)}!t.size&&i&&e.state.facet(Fi).autoPanel&&(i=null),n=new Kn(t,i,r)}for(let t of e.effects)if(t.is(rb)){let r=e.state.facet(Fi).autoPanel?t.value.length?Vi.open:null:n.panel;n=Kn.init(t.value,r,e.state)}else t.is($h)?n=new Kn(n.diagnostics,t.value?Vi.open:null,n.selected):t.is(ib)&&(n=new Kn(n.diagnostics,n.panel,t.value));return n},provide:n=>[Ri.from(n,e=>e.panel),W.decorations.from(n,e=>e.diagnostics)]}),O5=te.mark({class:"cm-lintRange cm-lintRange-active"});function P5(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(Fi).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:j5(n,i)}}}:null}function j5(n,e){return ve("ul",{class:"cm-tooltip-lint"},e.map(t=>ob(n,t,!1)))}const M5=n=>{let e=n.state.field(ft,!1);(!e||!e.panel)&&n.dispatch({effects:C5(n.state,[$h.of(!0)])});let t=Ni(n,Vi.open);return t&&t.dom.querySelector(".cm-panel-lint ul").focus(),!0},Pf=n=>{let e=n.state.field(ft,!1);return!e||!e.panel?!1:(n.dispatch({effects:$h.of(!1)}),!0)},A5=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)},D5=[{key:"Mod-Shift-m",run:M5,preventDefault:!0},{key:"F8",run:A5}],Fi=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:jf,tooltipFilter:jf,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 jf(n,e){return n?e?(t,r)=>e(n(t,r),r):n:e}function sb(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 ob(n,e,t){var r;let i=t?sb(e.actions):[];return ve("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},ve("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=Nr(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,u=h<0?c:[c.slice(0,h),ve("u",c.slice(h,h+1)),c.slice(h+1)],f=s.markClass?" "+s.markClass:"";return ve("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${c}${h<0?"":` (access key "${i[o]})"`}.`},u)}),e.source&&ve("div",{class:"cm-diagnosticSource"},e.source))}class T5 extends Zt{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return ve("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Mf{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=ob(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Vi{constructor(e){this.view=e,this.items=[];let t=i=>{if(i.keyCode==27)Pf(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=sb(s.actions);for(let a=0;a<o.length;a++)if(o[a].toUpperCase().charCodeAt(0)==i.keyCode){let l=Nr(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=ve("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:r}),this.dom=ve("div",{class:"cm-panel-lint"},this.list,ve("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Pf(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 u=-1,f;for(let p=r;p<this.items.length;p++)if(this.items[p].diagnostic==h){u=p;break}u<0?(f=new Mf(this.view,h),this.items.splice(r,0,f),i=!0):(f=this.items[u],u>r&&(this.items.splice(r,u-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 Mf(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=Nr(t.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:ib.of(r)})}static open(e){return new Vi(e)}}function E5(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 wo(n){return E5(`<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 N5=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:wo("#d11")},".cm-lintRange-warning":{backgroundImage:wo("orange")},".cm-lintRange-info":{backgroundImage:wo("#999")},".cm-lintRange-hint":{backgroundImage:wo("#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 R5(n){return n=="error"?4:n=="warning"?3:n=="info"?2:1}function L5(n){let e="hint",t=1;for(let r of n){let i=R5(r.severity);i>t&&(t=i,e=r.severity)}return e}const I5=[ft,W.decorations.compute([ft],n=>{let{selected:e,panel:t}=n.field(ft);return!e||!t||e.from==e.to?te.none:te.set([O5.range(e.from,e.to)])}),Vk(P5,{hideOn:S5}),N5];var Af=function(e){e===void 0&&(e={});var{crosshairCursor:t=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(p5)),e.defaultKeymap!==!1&&(r=r.concat(a4)),e.searchKeymap!==!1&&(r=r.concat(N4)),e.historyKeymap!==!1&&(r=r.concat(pS)),e.foldKeymap!==!1&&(r=r.concat(O3)),e.completionKeymap!==!1&&(r=r.concat(nb)),e.lintKeymap!==!1&&(r=r.concat(D5));var i=[];return e.lineNumbers!==!1&&i.push(Jk()),e.highlightActiveLineGutter!==!1&&i.push(e3()),e.highlightSpecialChars!==!1&&i.push(mk()),e.history!==!1&&i.push(sS()),e.foldGutter!==!1&&i.push(A3()),e.drawSelection!==!1&&i.push(ik()),e.dropCursor!==!1&&i.push(ck()),e.allowMultipleSelections!==!1&&i.push(fe.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&i.push(m3()),e.syntaxHighlighting!==!1&&i.push(jh(N3,{fallback:!0})),e.bracketMatching!==!1&&i.push(V3()),e.closeBrackets!==!1&&i.push(h5()),e.autocompletion!==!1&&i.push(w5()),e.rectangularSelection!==!1&&i.push(Ak()),t!==!1&&i.push(Ek()),e.highlightActiveLine!==!1&&i.push(wk()),e.highlightSelectionMatches!==!1&&i.push(p4()),e.tabSize&&typeof e.tabSize=="number"&&i.push(Pa.of(" ".repeat(e.tabSize))),i.concat([Ca.of(r.flat())]).filter(Boolean)};const B5="#e5c07b",Df="#e06c75",$5="#56b6c2",F5="#ffffff",$o="#abb2bf",Uc="#7d8799",V5="#61afef",z5="#98c379",Tf="#d19a66",H5="#c678dd",W5="#21252b",Ef="#2c313a",Nf="#282c34",Cl="#353a42",_5="#3E4451",Rf="#528bff",U5=W.theme({"&":{color:$o,backgroundColor:Nf},".cm-content":{caretColor:Rf},".cm-cursor, .cm-dropCursor":{borderLeftColor:Rf},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:_5},".cm-panels":{backgroundColor:W5,color:$o},".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:Nf,color:Uc,border:"none"},".cm-activeLineGutter":{backgroundColor:Ef},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Cl},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Cl,borderBottomColor:Cl},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Ef,color:$o}}},{dark:!0}),K5=Ir.define([{tag:D.keyword,color:H5},{tag:[D.name,D.deleted,D.character,D.propertyName,D.macroName],color:Df},{tag:[D.function(D.variableName),D.labelName],color:V5},{tag:[D.color,D.constant(D.name),D.standard(D.name)],color:Tf},{tag:[D.definition(D.name),D.separator],color:$o},{tag:[D.typeName,D.className,D.number,D.changed,D.annotation,D.modifier,D.self,D.namespace],color:B5},{tag:[D.operator,D.operatorKeyword,D.url,D.escape,D.regexp,D.link,D.special(D.string)],color:$5},{tag:[D.meta,D.comment],color:Uc},{tag:D.strong,fontWeight:"bold"},{tag:D.emphasis,fontStyle:"italic"},{tag:D.strikethrough,textDecoration:"line-through"},{tag:D.link,color:Uc,textDecoration:"underline"},{tag:D.heading,fontWeight:"bold",color:Df},{tag:[D.atom,D.bool,D.special(D.variableName)],color:Tf},{tag:[D.processingInstruction,D.string,D.inserted],color:z5},{tag:D.invalid,color:F5}]),G5=[U5,jh(K5)];var q5=W.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),Y5=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(Ca.of([l4])),a&&(typeof a=="boolean"?l.unshift(Af()):l.unshift(Af(a))),o&&l.unshift(Ok(o)),s){case"light":l.push(q5);break;case"dark":l.push(G5);break;case"none":break;default:l.push(s);break}return r===!1&&l.push(W.editable.of(!1)),i&&l.push(fe.readOnly.of(!0)),[...l]},Q5=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 J5{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 Lf{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 Ol=null,X5=()=>typeof window>"u"?new Lf:(Ol||(Ol=new Lf),Ol),If=Jt.define(),Z5=200,eC=[];function tC(n){var{value:e,selection:t,onChange:r,onStatistics:i,onCreateEditor:s,onUpdate:o,extensions:a=eC,autoFocus:l,theme:c="light",height:h=null,minHeight:u=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:M=!0,root:C,initialState:A}=n,[x,T]=b.useState(),[P,R]=b.useState(),[N,L]=b.useState(),F=b.useState(()=>({current:null}))[0],U=b.useState(()=>({current:null}))[0],V=W.theme({"&":{height:h,minHeight:u,maxHeight:f,width:p,minWidth:m,maxWidth:g},"& .cm-scroller":{height:"100% !important"}}),J=W.updateListener.of(Y=>{if(Y.docChanged&&typeof r=="function"&&!Y.transactions.some(oe=>oe.annotation(If))){F.current?F.current.reset():(F.current=new J5(()=>{if(U.current){var oe=U.current;U.current=null,oe()}F.current=null},Z5),X5().add(F.current));var ie=Y.state.doc,le=ie.toString();r(le,Y)}i&&i(Q5(Y))}),he=Y5({theme:c,editable:v,readOnly:k,placeholder:y,indentWithTab:S,basicSetup:M}),_=[J,V,...he];return o&&typeof o=="function"&&_.push(W.updateListener.of(o)),_=_.concat(a),b.useLayoutEffect(()=>{if(x&&!N){var Y={doc:e,selection:t,extensions:_},ie=A?fe.fromJSON(A.json,Y,A.fields):fe.create(Y);if(L(ie),!P){var le=new W({state:ie,parent:x,root:C});R(le),s&&s(le,ie)}}return()=>{P&&(L(void 0),R(void 0))}},[x,N]),b.useEffect(()=>{n.container&&T(n.container)},[n.container]),b.useEffect(()=>()=>{P&&(P.destroy(),R(void 0)),F.current&&(F.current.cancel(),F.current=null)},[P]),b.useEffect(()=>{l&&P&&P.focus()},[l,P]),b.useEffect(()=>{P&&P.dispatch({effects:se.reconfigure.of(_)})},[c,a,h,u,f,p,m,g,y,v,k,S,M,r,o]),b.useEffect(()=>{if(e!==void 0){var Y=P?P.state.doc.toString():"";if(P&&e!==Y){var ie=F.current&&!F.current.isDone,le=()=>{P&&e!==P.state.doc.toString()&&P.dispatch({changes:{from:0,to:P.state.doc.toString().length,insert:e||""},annotations:[If.of(!0)]})};ie?U.current=le:le()}}},[e,P]),{state:N,setState:L,view:P,setView:R,container:x,setContainer:T}}var nC=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],ab=b.forwardRef((n,e)=>{var{className:t,value:r="",selection:i,extensions:s=[],onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:c,autoFocus:h,theme:u="light",height:f,minHeight:p,maxHeight:m,width:g,minWidth:y,maxWidth:v,basicSetup:k,placeholder:S,indentWithTab:M,editable:C,readOnly:A,root:x,initialState:T}=n,P=Y3(n,nC),R=b.useRef(null),{state:N,view:L,container:F,setContainer:U}=tC({root:x,value:r,autoFocus:h,theme:u,height:f,minHeight:p,maxHeight:m,width:g,minWidth:y,maxWidth:v,basicSetup:k,placeholder:S,indentWithTab:M,editable:C,readOnly:A,selection:i,onChange:o,onStatistics:a,onCreateEditor:l,onUpdate:c,extensions:s,initialState:T});b.useImperativeHandle(e,()=>({editor:R.current,state:N,view:L}),[R,F,N,L]);var V=b.useCallback(he=>{R.current=he,U(he)},[U]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var J=typeof u=="string"?"cm-theme-"+u:"cm-theme";return d.jsx("div",$c({ref:V,className:""+J+(t?" "+t:"")},P))});ab.displayName="CodeMirror";const rC=()=>{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=Ir.define([{tag:D.propertyName,color:"var(--dash-accent)"},{tag:D.string,color:"color-mix(in srgb, var(--dash-accent) 70%, var(--dash-text))"},{tag:D.number,color:"var(--dash-accent-hover)"},{tag:D.bool,color:"var(--dash-accent-hover)"},{tag:D.null,color:"var(--dash-text-muted)"},{tag:D.punctuation,color:"var(--dash-text-secondary)"},{tag:D.brace,color:"var(--dash-text-secondary)"},{tag:D.bracket,color:"var(--dash-text-secondary)"}]);return[n,jh(e)]},iC=({value:n,onChange:e,onCursorLineChange:t,height:r="100%",readOnly:i=!1})=>{const s=b.useMemo(()=>[q3(),W.lineWrapping,...rC()],[]),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 d.jsx("div",{className:"h-full [&_.cm-editor]:h-full [&_.cm-editor]:outline-none [&_.cm-focused]:outline-none",children:d.jsx(ab,{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}})})},lb=({width:n,isLoading:e,jsonText:t,cursorLine:r,syntaxError:i,onChange:s,onCursorLineChange:o})=>{const{t:a}=ye();return d.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:[d.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:d.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:a("jsonTab")})}),d.jsx("div",{className:"flex-1 min-h-0 overflow-auto",children:e?d.jsx("div",{className:"h-full flex items-center justify-center",children:d.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:a("loading")})}):d.jsx(iC,{value:t,onChange:s,onCursorLineChange:o})}),d.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:[d.jsxs("div",{className:"flex gap-4",children:[d.jsx("span",{children:"UTF-8"}),d.jsx("span",{children:"JSON"}),d.jsxs("span",{children:["L:",r+1]})]}),d.jsx("div",{className:"flex items-center gap-2",children:i?d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-red-500"}),d.jsx("span",{className:"text-red-500 normal-case",children:i})]}):d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-dash-accent"}),a("syntaxValid")]})})]})]})},Bf=({label:n,value:e})=>d.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 bg-dash-bg border border-dash-border rounded-md",children:[d.jsxs("span",{className:"text-[9px] font-bold text-dash-text-muted uppercase",children:[n,":"]}),d.jsx("span",{className:"text-[10px] mono font-bold text-dash-text-secondary",children:e})]}),cb=({width:n,fieldDoc:e,activeFieldPath:t,extraContent:r,overrideBadge:i})=>{const{t:s,lang:o}=ye();return d.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:[d.jsx("div",{className:"p-3 border-b border-dash-border bg-dash-surface-hover/50 shrink-0",children:d.jsx("h3",{className:"text-xs font-bold text-dash-text-secondary uppercase tracking-widest",children:s("configurationHelp")})}),d.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e?d.jsxs("div",{className:"space-y-5 animate-in fade-in duration-500",children:[d.jsxs("header",{children:[d.jsxs("div",{className:"flex items-center gap-2 mb-1 flex-wrap",children:[d.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")}),d.jsx("h2",{className:"text-base font-bold text-dash-text mono break-all",children:e.path}),i]}),d.jsxs("div",{className:"flex flex-wrap gap-2 mt-2",children:[d.jsx(Bf,{label:s("type"),value:e.type}),d.jsx(Bf,{label:s("default"),value:e.default})]})]}),d.jsxs("section",{children:[d.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("description")}),d.jsx("p",{className:"text-sm text-dash-text-secondary leading-relaxed italic",children:o==="vi"?e.descriptionVi:e.description})]}),e.validValues&&d.jsxs("section",{children:[d.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("validValues")}),d.jsx("div",{className:"flex flex-wrap gap-1.5",children:e.validValues.map(a=>d.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&&d.jsxs("section",{className:"bg-dash-accent-subtle/30 p-3 rounded-lg border border-dash-accent/10",children:[d.jsx("h4",{className:"text-[10px] font-bold text-dash-accent uppercase tracking-widest mb-1",children:s("systemEffect")}),d.jsx("p",{className:"text-[12px] text-dash-text-secondary leading-normal",children:o==="vi"&&e.effectVi?e.effectVi:e.effect})]}),e.example&&d.jsxs("section",{children:[d.jsx("h4",{className:"text-[10px] font-bold text-dash-text-muted uppercase tracking-widest mb-2",children:s("exampleUsage")}),d.jsx("div",{className:"bg-dash-bg p-3 rounded-lg border border-dash-border overflow-hidden",children:d.jsx("pre",{className:"text-[11px] mono text-dash-text-secondary whitespace-pre overflow-x-auto",children:e.example})})]}),r]}):d.jsxs("div",{className:"h-full flex flex-col items-center justify-center text-center opacity-40 space-y-4",children:[d.jsx("div",{className:"w-10 h-10 rounded-full bg-dash-bg border border-dash-border flex items-center justify-center text-lg",children:"?"}),d.jsxs("div",{className:"max-w-[180px]",children:[d.jsx("p",{className:"text-sm font-bold text-dash-text mb-1 italic",children:s("knowledgeBase")}),d.jsx("p",{className:"text-xs text-dash-text-secondary",children:s("clickToSeeHelp")})]})]})}),e&&d.jsx("div",{className:"p-3 bg-dash-surface-hover/20 border-t border-dash-border shrink-0",children:d.jsxs("p",{className:"text-[10px] text-dash-text-muted font-medium flex items-center gap-1.5 italic",children:[d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-3 h-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.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")]})})]})},sC=({variant:n="development"})=>{const{t:e}=ye(),t={development:e("developmentFeature"),beta:e("betaFeature"),experimental:e("experimentalFeature")};return d.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]})},oC=({components:n,isChecking:e,isUpdating:t,onCheckAll:r,onUpdateAll:i})=>{const{t:s}=ye(),o=n.filter(l=>l.status==="update-available").length,a=n.length>0&&n.every(l=>l.status==="up-to-date"||l.status==="idle");return d.jsx("div",{className:"bg-dash-bg border border-dash-border rounded-lg p-4 mb-4",children:d.jsxs("div",{className:"flex items-center justify-between gap-4",children:[d.jsxs("div",{className:"flex items-center gap-3",children:[o>0&&d.jsx("span",{className:"text-sm font-medium text-amber-500",children:s("updatesAvailable").replace("{count}",o.toString())}),a&&!e&&d.jsx("span",{className:"text-sm font-medium text-emerald-500",children:s("allUpToDate")}),e&&d.jsxs("span",{className:"text-sm text-dash-text-muted flex items-center gap-2",children:[d.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),s("checkingAll")]})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("button",{type:"button",onClick:r,disabled:e||t,className:"px-3 py-1.5 text-xs font-medium text-dash-accent hover:text-dash-accent-hover disabled:text-dash-text-muted disabled:cursor-not-allowed transition-colors",children:s("checkAll")}),o>0&&d.jsx("button",{type:"button",onClick:i,disabled:t,className:"px-3 py-1.5 text-xs font-medium bg-amber-500 text-white rounded hover:bg-amber-600 disabled:bg-dash-bg disabled:text-dash-text-muted disabled:cursor-not-allowed transition-colors",children:s("updateAll")})]})]})})},aC=({value:n,onChange:e,disabled:t=!1})=>{const{t:r}=ye();return d.jsxs("fieldset",{className:"inline-flex rounded-lg border border-dash-border bg-dash-surface p-1 gap-1",role:"radiogroup","aria-label":"Update channel",children:[d.jsxs("label",{className:`px-3 py-1.5 text-xs font-medium rounded-md transition-all cursor-pointer ${n==="stable"?"bg-dash-accent text-white":"text-dash-text-secondary hover:text-dash-text"} ${t?"opacity-50 cursor-not-allowed":""}`,children:[d.jsx("input",{type:"radio",name:"channel",value:"stable",checked:n==="stable",onChange:()=>e("stable"),disabled:t,className:"sr-only"}),r("channelStable")]}),d.jsxs("label",{className:`px-3 py-1.5 text-xs font-medium rounded-md transition-all cursor-pointer ${n==="beta"?"bg-amber-500 text-white":"text-dash-text-secondary hover:text-dash-text"} ${t?"opacity-50 cursor-not-allowed":""}`,children:[d.jsx("input",{type:"radio",name:"channel",value:"beta",checked:n==="beta",onChange:()=>e("beta"),disabled:t,className:"sr-only"}),r("channelBeta")]})]})},lC={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}},hb=({status:n,ariaLabel:e,size:t="sm"})=>{const r=lC[n],i=t==="sm"?"w-2 h-2":"w-2.5 h-2.5";return d.jsx("span",{className:`
|
|
64
|
-
inline-block rounded-full ${i} ${r.color}
|
|
65
|
-
${r.pulse?"animate-pulse motion-reduce:animate-none":""}
|
|
66
|
-
`,role:"status","aria-label":e})},Fh=({isOpen:n,onClose:e,target:t,kitName:r,targetVersion:i,onComplete:s,mode:o="single",components:a=[]})=>{const{t:l}=ye(),[c,h]=b.useState("running"),[u,f]=b.useState([]),[p,m]=b.useState([]),[g,y]=b.useState(!1),[v,k]=b.useState(0),S=b.useRef(null),M=b.useRef(null);b.useEffect(()=>{g&&M.current&&M.current.scrollIntoView({behavior:"smooth"})},[g]);const C=b.useCallback(async()=>{if(a.length===0){h("success");return}for(let x=0;x<a.length;x++){k(x);const T=a[x];try{const P=T.id==="cli",R=new URLSearchParams({target:P?"cli":"kit"});P||R.set("kit",T.id);const N=new EventSource(`/api/system/update?${R}`);S.current=N,await new Promise((L,F)=>{N.onmessage=U=>{try{const V=JSON.parse(U.data);V.type==="phase"&&V.name&&f(J=>[...J,`[${T.name}] ${V.name}`]),V.type==="output"&&V.text&&m(J=>[...J,V.text]),V.type==="error"&&(h("error"),m(J=>[...J,`[ERROR ${T.name}] ${V.message||"Unknown error"}`]),N.close(),F()),V.type==="complete"&&(V.code===0?(N.close(),L()):(h("error"),N.close(),F()))}catch(V){console.error("Failed to parse SSE message:",V),N.close(),F(V)}},N.onerror=()=>{h("error"),m(U=>[...U,`[ERROR ${T.name}] Connection lost`]),N.close(),F()}})}catch(P){console.error(`Failed to update ${T.name}:`,P)}}h("success"),s()},[a,s]);b.useEffect(()=>{if(n)if(o==="batch")C();else{const x=new URLSearchParams({target:t});r&&x.set("kit",r),i&&x.set("version",i);const T=new EventSource(`/api/system/update?${x}`);return S.current=T,T.onmessage=P=>{try{const R=JSON.parse(P.data);R.type==="phase"&&R.name&&f(N=>[...N,R.name]),R.type==="output"&&R.text&&m(N=>[...N,R.text]),R.type==="error"&&(h("error"),m(N=>[...N,`[ERROR] ${R.message||"Unknown error"}`])),R.type==="complete"&&(h(R.code===0?"success":"error"),T.close(),R.code===0&&s())}catch(R){console.error("Failed to parse SSE message:",R)}},T.onerror=()=>{h("error"),m(P=>[...P,"[ERROR] Connection lost"]),T.close()},()=>{T.close()}}},[n,t,r,i,s,o,C]);const A=()=>{c!=="running"&&(h("running"),f([]),m([]),y(!1),k(0),e())};return n?d.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",children:d.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:[d.jsx("div",{className:"px-6 py-4 border-b border-dash-border",children:d.jsx("h2",{className:"text-lg font-bold text-dash-text",children:l(c==="running"?"updating":c==="success"?"updateSuccess":"updateFailed")})}),d.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-4",children:[o==="batch"&&a.length>0&&d.jsxs("div",{className:"text-sm text-dash-text-secondary",children:[c==="running"&&d.jsxs("span",{children:["Updating ",v+1," of ",a.length,":"," ",a[v]?.name]}),c==="success"&&d.jsxs("span",{className:"text-emerald-500",children:["All ",a.length," components updated"]})]}),u.length>0&&d.jsx("div",{className:"space-y-2",children:u.map((x,T)=>d.jsxs("div",{className:"flex items-center gap-2 text-sm text-dash-text-secondary",children:[d.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-dash-accent"}),d.jsx("span",{children:x})]},`${x}-${T}`))}),c==="running"&&d.jsxs("div",{className:"flex items-center gap-2 text-sm text-dash-text-muted",children:[d.jsx("span",{className:"w-4 h-4 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),d.jsx("span",{children:l("updating")})]}),p.length>0&&d.jsxs("div",{children:[d.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&&d.jsxs("div",{className:"mt-2 bg-dash-bg border border-dash-border rounded p-3 max-h-64 overflow-y-auto",children:[d.jsx("pre",{className:"text-xs mono text-dash-text whitespace-pre-wrap",children:p.join(`
|
|
67
|
-
`)}),d.jsx("div",{ref:M})]})]})]}),d.jsx("div",{className:"px-6 py-4 border-t border-dash-border flex justify-end",children:d.jsx("button",{type:"button",onClick:A,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},ub=({target:n,kitName:e,currentVersion:t,latestVersion:r,onVersionSelect:i})=>{const{t:s}=ye(),[o,a]=b.useState([]),[l,c]=b.useState(!1),[h,u]=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=>{u(p),i(p)};return l?d.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5",children:[d.jsx("span",{className:"w-3 h-3 border-2 border-dash-text-muted border-t-transparent rounded-full animate-spin"}),s("loadingVersions")]}):d.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
|
-
bg-transparent border border-amber-500/30 rounded px-2 py-1
|
|
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 d.jsx("option",{value:p.version,disabled:g,children:y},p.version)})})},cC=({version:n,installedAt:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=ye(),[l,c]=b.useState("idle"),[h,u]=b.useState(null),[f,p]=b.useState(!1),[m,g]=b.useState(null),y=r??l,v=i??h,k=async()=>{const M=A=>{s||c(A)},C=A=>{s||u(A)};M("checking"),s&&s("checking",null);try{const x=await(await fetch(`/api/system/check-updates?target=cli&channel=${t}`)).json();x.updateAvailable?(M("update-available"),C(x.latest),s&&s("update-available",x.latest)):(M("up-to-date"),s&&s("up-to-date",null))}catch{M("idle"),s&&s("idle",null)}},S=async()=>{window.location.reload()};return d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"bg-dash-bg border border-dash-border rounded-lg p-5",children:d.jsxs("div",{className:"flex items-start justify-between gap-4",children:[d.jsxs("div",{children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx(hb,{status:y,ariaLabel:a(y==="up-to-date"?"upToDate":y==="update-available"?"updateAvailable":"checking")}),d.jsx("h3",{className:"text-base font-bold text-dash-text",children:a("cliCard")}),t==="beta"&&d.jsx("span",{className:"px-2 py-0.5 text-xs font-medium bg-amber-500 text-white rounded",children:a("betaBadge")})]}),d.jsxs("div",{className:"flex items-center gap-4 mt-1 text-sm text-dash-text-secondary",children:[d.jsxs("span",{children:["v",n.replace(/^v/,"")]}),e&&d.jsx("span",{className:"text-dash-text-muted",children:new Date(e).toLocaleDateString()})]}),y==="update-available"&&v&&d.jsxs("div",{className:"mt-1 text-xs text-amber-500",children:["v",n.replace(/^v/,"")," → v",v.replace(/^v/,"")]})]}),d.jsx(hC,{status:y,currentVersion:n,latestVersion:v,onCheck:k,onUpdate:()=>p(!0),onVersionSelect:g,disabled:o})]})}),d.jsx(Fh,{isOpen:f,onClose:()=>p(!1),target:"cli",targetVersion:m??v??void 0,onComplete:S})]})},hC=({status:n,currentVersion:e,latestVersion:t,onCheck:r,onUpdate:i,onVersionSelect:s,disabled:o})=>{const{t:a}=ye();return n==="checking"?d.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5",children:[d.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"?d.jsx("span",{className:"text-xs text-emerald-500 font-medium",children:a("upToDate")}):n==="update-available"&&t?d.jsx("div",{className:"flex items-center gap-2",children:d.jsx(ub,{target:"cli",currentVersion:e,latestVersion:t,onVersionSelect:l=>{s(l),i()}})}):d.jsx("button",{type:"button",onClick:r,disabled:o,className:"text-xs text-dash-accent hover:text-dash-accent-hover transition-colors disabled:text-dash-text-muted disabled:cursor-not-allowed",children:a("checkForUpdates")})},uC=({configPath:n,nodeVersion:e,bunVersion:t,os:r})=>{const{t:i}=ye();return d.jsxs("div",{className:"bg-dash-bg border border-dash-border rounded-lg p-5",children:[d.jsx("h3",{className:"text-base font-bold text-dash-text mb-3",children:i("environment")}),d.jsxs("div",{className:"grid grid-cols-2 gap-x-6 gap-y-2 text-sm",children:[d.jsx(ko,{label:i("claudeConfigPath"),value:n,mono:!0}),d.jsx(ko,{label:i("osVersion"),value:r}),d.jsx(ko,{label:i("nodeVersion"),value:e,mono:!0}),t&&d.jsx(ko,{label:i("bunVersion"),value:t,mono:!0})]})]})},ko=({label:n,value:e,mono:t})=>d.jsxs("div",{children:[d.jsxs("span",{className:"text-dash-text-muted text-xs",children:[n,": "]}),d.jsx("span",{className:`text-dash-text-secondary ${t?"mono":""}`,children:e})]});function dC(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 fC(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 $f=({kitName:n,kit:e,channel:t="stable",externalStatus:r,externalLatestVersion:i,onStatusChange:s,disabled:o})=>{const{t:a}=ye(),[l,c]=b.useState("idle"),[h,u]=b.useState(null),[f,p]=b.useState(!1),[m,g]=b.useState(null),y=r??l,v=i??h,k=e.files??[],S=dC(k),M=fC(k),C=async()=>{const x=P=>{s||c(P)},T=P=>{s||u(P)};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"),T(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)}},A=async()=>{window.location.reload()};return d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"bg-dash-bg border border-dash-border rounded-lg p-5 space-y-4",children:[d.jsxs("div",{className:"flex items-start justify-between gap-4",children:[d.jsxs("div",{children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx(hb,{status:y,ariaLabel:a(y==="up-to-date"?"upToDate":y==="update-available"?"updateAvailable":"checking")}),d.jsxs("h3",{className:"text-base font-bold text-dash-text capitalize",children:[n," Kit"]}),t==="beta"&&d.jsx("span",{className:"px-2 py-0.5 text-xs font-medium bg-amber-500 text-white rounded",children:a("betaBadge")})]}),d.jsxs("div",{className:"flex items-center gap-4 mt-1 text-sm text-dash-text-secondary",children:[d.jsxs("span",{children:["v",(e.version??"?").replace(/^v/,"")]}),e.installedAt&&d.jsx("span",{className:"text-dash-text-muted",children:new Date(e.installedAt).toLocaleDateString()})]}),y==="update-available"&&v&&d.jsxs("div",{className:"mt-1 text-xs text-amber-500",children:["v",(e.version??"?").replace(/^v/,"")," → v",v.replace(/^v/,"")]})]}),d.jsx(pC,{status:y,currentVersion:e.version??"0.0.0",latestVersion:v,kitName:n,onCheck:C,onUpdate:()=>p(!0),onVersionSelect:g,disabled:o})]}),k.length>0&&d.jsx("div",{className:"grid grid-cols-3 gap-1.5",children:Object.entries(M).filter(([,x])=>x>0).map(([x,T])=>d.jsxs("div",{className:"flex items-center justify-between px-2 py-1 bg-dash-surface border border-dash-border rounded text-xs",children:[d.jsx("span",{className:"text-dash-text-secondary capitalize",children:x}),d.jsx("span",{className:"font-bold mono text-dash-text",children:T})]},x))}),k.length>0&&d.jsxs("div",{className:"flex items-center gap-4 text-xs text-dash-text-muted",children:[d.jsxs("span",{className:"flex items-center gap-1.5",children:[d.jsx("span",{className:"w-2 h-2 rounded-full bg-emerald-500"}),S.ck," ",a("ownershipCk")]}),S.user>0&&d.jsxs("span",{className:"flex items-center gap-1.5",children:[d.jsx("span",{className:"w-2 h-2 rounded-full bg-blue-500"}),S.user," ",a("ownershipUser")]})]})]}),d.jsx(Fh,{isOpen:f,onClose:()=>p(!1),target:"kit",kitName:n,targetVersion:m??v??void 0,onComplete:A})]})},pC=({status:n,currentVersion:e,latestVersion:t,kitName:r,onCheck:i,onUpdate:s,onVersionSelect:o,disabled:a})=>{const{t:l}=ye();return n==="checking"?d.jsxs("span",{className:"text-xs text-dash-text-muted flex items-center gap-1.5",children:[d.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"?d.jsx("span",{className:"text-xs text-emerald-500 font-medium",children:l("upToDate")}):n==="update-available"&&t?d.jsx("div",{className:"flex items-center gap-2",children:d.jsx(ub,{target:"kit",kitName:r,currentVersion:e,latestVersion:t,onVersionSelect:c=>{o(c),s()}})}):d.jsx("button",{type:"button",onClick:i,disabled:a,className:"text-xs text-dash-accent hover:text-dash-accent-hover transition-colors disabled:text-dash-text-muted disabled:cursor-not-allowed",children:l("checkForUpdates")})},Ff="claudekit-update-channel",mC=n=>/-(alpha|beta|rc|dev|next)/.test(n),gC=({metadata:n})=>{const{t:e}=ye(),[t,r]=b.useState(null),[i,s]=b.useState([]),[o,a]=b.useState(!1),[l,c]=b.useState(!1),[h,u]=b.useState(!1),[f,p]=b.useState("stable"),m=n.kits&&typeof n.kits=="object",g=m?Object.entries(n.kits):[],y=n.name,v=n.version,k=n.installedAt,S=g.length>0||y;b.useEffect(()=>{if(!t)return;const P=[];if(P.push({id:"cli",type:"cli",status:"idle",currentVersion:t.cliVersion,latestVersion:null}),m&&g.length>0)for(const[R,N]of g){const L=N;P.push({id:R,type:"kit",status:"idle",currentVersion:L.version??"?",latestVersion:null})}else y&&P.push({id:y,type:"kit",status:"idle",currentVersion:v??"?",latestVersion:null});s(P)},[t,m,g,y,v]),b.useEffect(()=>{fetch("/api/system/info").then(P=>P.json()).then(r).catch(()=>r(null))},[]),b.useEffect(()=>{const P=localStorage.getItem(Ff);P==="stable"||P==="beta"?p(P):t?.cliVersion&&p(mC(t.cliVersion)?"beta":"stable")},[t?.cliVersion]);const M=P=>{p(P),localStorage.setItem(Ff,P)},C=(P,R,N)=>{s(L=>L.map(F=>F.id===P?{...F,status:R,latestVersion:N}:F))},A=async()=>{a(!0);const P=i.map(async N=>{try{const L=N.type==="cli"?`target=cli&channel=${f}`:`target=kit&kit=${N.id}&channel=${f}`,U=await(await fetch(`/api/system/check-updates?${L}`)).json();return{id:N.id,status:U.updateAvailable?"update-available":"up-to-date",latestVersion:U.latest}}catch{return{id:N.id,status:"idle",latestVersion:null}}}),R=await Promise.all(P);s(N=>N.map(L=>{const F=R.find(U=>U.id===L.id);return F?{...L,status:F.status,latestVersion:F.latestVersion}:L})),a(!1)},x=()=>{u(!0)},T=()=>{window.location.reload()};return d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"flex items-center justify-between gap-4",children:[d.jsx(aC,{value:f,onChange:M}),i.length>0&&d.jsx(oC,{components:i,isChecking:o,isUpdating:l,onCheckAll:A,onUpdateAll:x})]}),d.jsx(cC,{version:t?.cliVersion??"...",installedAt:void 0,externalStatus:i.find(P=>P.id==="cli")?.status,externalLatestVersion:i.find(P=>P.id==="cli")?.latestVersion??null,onStatusChange:(P,R)=>C("cli",P,R),disabled:o||l,channel:f}),S?d.jsx(d.Fragment,{children:m&&g.length>0?g.map(([P,R])=>{const N=i.find(L=>L.id===P);return d.jsx($f,{kitName:P,kit:R,externalStatus:N?.status,externalLatestVersion:N?.latestVersion??null,onStatusChange:(L,F)=>C(P,L,F),disabled:o||l,channel:f},P)}):d.jsx($f,{kitName:y??"ClaudeKit",kit:{version:v,installedAt:k},externalStatus:i.find(P=>P.id===y)?.status,externalLatestVersion:i.find(P=>P.id===y)?.latestVersion??null,onStatusChange:(P,R)=>C(y??"ClaudeKit",P,R),disabled:o||l,channel:f})}):d.jsx("div",{className:"bg-dash-bg border border-dash-border rounded-lg p-6 text-center opacity-60",children:d.jsx("p",{className:"text-sm text-dash-text-secondary",children:e("noKitInstalled")})}),t&&d.jsx(uC,{configPath:t.configPath,nodeVersion:t.nodeVersion,bunVersion:t.bunVersion,os:t.os}),d.jsx(Fh,{isOpen:h,onClose:()=>u(!1),target:"cli",mode:"batch",components:i.filter(P=>P.status==="update-available").map(P=>({id:P.id,name:P.id==="cli"?"CLI":`${P.id} Kit`})),onComplete:T})]})},bC={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
|
-
"codingLevel": 1
|
|
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
|
-
"privacyBlock": false
|
|
74
|
-
}`},"plan.namingFormat":{path:"plan.namingFormat",type:"string",default:'"{date}-{issue}-{slug}"',description:"Template for naming plan directories. Uses placeholder tokens that get replaced at runtime.",descriptionVi:"Mẫu đặt tên thư mục kế hoạch. Sử dụng các token placeholder được thay thế khi chạy.",effect:"{date} is replaced with formatted date, {issue} is extracted from branch, {slug} is for agent substitution.",effectVi:"{date} được thay bằng ngày đã định dạng, {issue} trích xuất từ branch, {slug} cho agent thay thế.",example:`{
|
|
75
|
-
"plan": {
|
|
76
|
-
"namingFormat": "{date}-{slug}"
|
|
77
|
-
}
|
|
78
|
-
}`},"plan.dateFormat":{path:"plan.dateFormat",type:"string",default:'"YYMMDD-HHmm"',description:"Date format string for {date} token in naming pattern.",descriptionVi:"Chuỗi định dạng ngày cho token {date} trong mẫu đặt tên.",example:`{
|
|
79
|
-
"plan": {
|
|
80
|
-
"dateFormat": "YYMMDD"
|
|
81
|
-
}
|
|
82
|
-
}`},"plan.issuePrefix":{path:"plan.issuePrefix",type:"string | null",default:"null",description:"Prefix to prepend to extracted issue numbers in plan naming (e.g., 'GH-', 'JIRA-').",descriptionVi:"Tiền tố thêm vào số issue trích xuất trong đặt tên kế hoạch (vd: 'GH-', 'JIRA-').",example:`{
|
|
83
|
-
"plan": {
|
|
84
|
-
"issuePrefix": "GH-"
|
|
85
|
-
}
|
|
86
|
-
}`},"plan.reportsDir":{path:"plan.reportsDir",type:"string",default:'"reports"',description:"Subdirectory name within plan directory for storing reports.",descriptionVi:"Tên thư mục con trong thư mục kế hoạch để lưu trữ báo cáo.",example:`{
|
|
87
|
-
"plan": {
|
|
88
|
-
"reportsDir": "reports"
|
|
89
|
-
}
|
|
90
|
-
}`},"plan.resolution.order":{path:"plan.resolution.order",type:"string[]",default:'["session", "branch"]',validValues:["session","branch"],description:"Order of resolution methods to try when finding the active plan.",descriptionVi:"Thứ tự các phương thức giải quyết để tìm kế hoạch đang hoạt động.",example:`{
|
|
91
|
-
"plan": {
|
|
92
|
-
"resolution": {
|
|
93
|
-
"order": ["session", "branch"]
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}`},"plan.resolution.branchPattern":{path:"plan.resolution.branchPattern",type:"string (regex)",default:'"(?:feat|fix|chore|refactor|docs)/(?:[^/]+/)?(.+)"',description:"Regex pattern for extracting plan slug from git branch name. Capture group 1 is used as the slug.",descriptionVi:"Mẫu regex để trích xuất slug kế hoạch từ tên nhánh git. Nhóm bắt 1 được dùng làm slug.",example:`{
|
|
97
|
-
"plan": {
|
|
98
|
-
"resolution": {
|
|
99
|
-
"branchPattern": "(?:feat|fix)/(.+)"
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}`},"plan.validation.mode":{path:"plan.validation.mode",type:"string",default:'"prompt"',validValues:["auto","prompt","off"],description:"Controls when plan validation interview runs.",descriptionVi:"Điều khiển thời điểm chạy phỏng vấn xác thực kế hoạch.",example:`{
|
|
103
|
-
"plan": {
|
|
104
|
-
"validation": {
|
|
105
|
-
"mode": "auto"
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}`},"plan.validation.minQuestions":{path:"plan.validation.minQuestions",type:"number",default:"3",description:"Minimum number of validation questions to ask during plan review.",descriptionVi:"Số câu hỏi xác thực tối thiểu trong quá trình xem xét kế hoạch.",example:`{
|
|
109
|
-
"plan": {
|
|
110
|
-
"validation": {
|
|
111
|
-
"minQuestions": 5
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}`},"plan.validation.maxQuestions":{path:"plan.validation.maxQuestions",type:"number",default:"8",description:"Maximum number of validation questions to ask during plan review.",descriptionVi:"Số câu hỏi xác thực tối đa trong quá trình xem xét kế hoạch.",example:`{
|
|
115
|
-
"plan": {
|
|
116
|
-
"validation": {
|
|
117
|
-
"maxQuestions": 10
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}`},"plan.validation.focusAreas":{path:"plan.validation.focusAreas",type:"string[]",default:'["assumptions", "risks", "tradeoffs", "architecture"]',description:"Categories of questions to focus on during validation interview.",descriptionVi:"Các danh mục câu hỏi tập trung trong phỏng vấn xác thực.",example:`{
|
|
121
|
-
"plan": {
|
|
122
|
-
"validation": {
|
|
123
|
-
"focusAreas": ["security", "performance"]
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}`},"paths.docs":{path:"paths.docs",type:"string",default:'"docs"',description:"Path to documentation directory (relative to project root or absolute).",descriptionVi:"Đường dẫn thư mục tài liệu (tương đối với thư mục gốc hoặc tuyệt đối).",example:`{
|
|
127
|
-
"paths": {
|
|
128
|
-
"docs": "docs"
|
|
129
|
-
}
|
|
130
|
-
}`},"paths.plans":{path:"paths.plans",type:"string",default:'"plans"',description:"Path to plans directory (relative to project root or absolute).",descriptionVi:"Đường dẫn thư mục kế hoạch (tương đối với thư mục gốc hoặc tuyệt đối).",example:`{
|
|
131
|
-
"paths": {
|
|
132
|
-
"plans": "plans"
|
|
133
|
-
}
|
|
134
|
-
}`},"locale.thinkingLanguage":{path:"locale.thinkingLanguage",type:"string | null",default:"null",description:"Language for internal reasoning and logic. Recommended: 'en' for precision.",descriptionVi:"Ngôn ngữ suy luận nội bộ và logic. Khuyến nghị: 'en' để chính xác.",example:`{
|
|
135
|
-
"locale": {
|
|
136
|
-
"thinkingLanguage": "en"
|
|
137
|
-
}
|
|
138
|
-
}`},"locale.responseLanguage":{path:"locale.responseLanguage",type:"string | null",default:"null",description:"Language for user-facing output (responses, explanations, comments).",descriptionVi:"Ngôn ngữ cho đầu ra người dùng (phản hồi, giải thích, nhận xét).",example:`{
|
|
139
|
-
"locale": {
|
|
140
|
-
"responseLanguage": "fr"
|
|
141
|
-
}
|
|
142
|
-
}`},"trust.enabled":{path:"trust.enabled",type:"boolean",default:"false",description:"Enables trusted execution mode. When enabled, bypasses certain security prompts.",descriptionVi:"Bật chế độ thực thi tin cậy. Khi bật, bỏ qua một số lời nhắc bảo mật.",example:`{
|
|
143
|
-
"trust": {
|
|
144
|
-
"enabled": true
|
|
145
|
-
}
|
|
146
|
-
}`},"trust.passphrase":{path:"trust.passphrase",type:"string | null",default:"null",description:"Secret passphrase for testing context injection and trust verification.",descriptionVi:"Cụm mật khẩu bí mật để kiểm tra tiêm ngữ cảnh và xác minh tin cậy.",example:`{
|
|
147
|
-
"trust": {
|
|
148
|
-
"passphrase": "super-secret-key"
|
|
149
|
-
}
|
|
150
|
-
}`},"project.type":{path:"project.type",type:"string",default:'"auto"',validValues:["auto","library","application","monorepo","cli","api","web","mobile"],description:"Override automatic project type detection.",descriptionVi:"Ghi đè phát hiện loại dự án tự động.",example:`{
|
|
151
|
-
"project": {
|
|
152
|
-
"type": "monorepo"
|
|
153
|
-
}
|
|
154
|
-
}`},"project.packageManager":{path:"project.packageManager",type:"string",default:'"auto"',validValues:["auto","npm","yarn","pnpm","bun"],description:"Override automatic package manager detection.",descriptionVi:"Ghi đè phát hiện trình quản lý gói tự động.",example:`{
|
|
155
|
-
"project": {
|
|
156
|
-
"packageManager": "pnpm"
|
|
157
|
-
}
|
|
158
|
-
}`},"project.framework":{path:"project.framework",type:"string",default:'"auto"',validValues:["auto","react","vue","angular","svelte","nextjs","nuxt","express","nestjs","fastify","none"],description:"Override automatic framework detection.",descriptionVi:"Ghi đè phát hiện framework tự động.",example:`{
|
|
159
|
-
"project": {
|
|
160
|
-
"framework": "nextjs"
|
|
161
|
-
}
|
|
162
|
-
}`},docs:{path:"docs",type:"object",default:"{}",description:"Configuration for documentation management including file size limits and splitting behavior.",descriptionVi:"Cấu hình quản lý tài liệu bao gồm giới hạn kích thước tệp và hành vi chia nhỏ.",effect:"Controls how documentation files are processed and split when they exceed size limits.",effectVi:"Điều khiển cách các tệp tài liệu được xử lý và chia nhỏ khi vượt quá giới hạn kích thước."},"docs.maxLoc":{path:"docs.maxLoc",type:"number",default:"800",description:"Maximum lines of code per documentation file before automatic splitting is triggered.",descriptionVi:"Số dòng code tối đa mỗi tệp tài liệu trước khi tự động chia nhỏ được kích hoạt.",effect:"When a documentation file exceeds this line count, the system will suggest or automatically split it into smaller files for better readability and maintenance.",effectVi:"Khi tệp tài liệu vượt quá số dòng này, hệ thống sẽ đề xuất hoặc tự động chia nhỏ thành các tệp nhỏ hơn để dễ đọc và bảo trì hơn.",example:`{
|
|
163
|
-
"docs": {
|
|
164
|
-
"maxLoc": 1000
|
|
165
|
-
}
|
|
166
|
-
}`},gemini:{path:"gemini",type:"object",default:"{}",description:"Configuration for Google Gemini API integration used for CLI commands and research tasks.",descriptionVi:"Cấu hình tích hợp Google Gemini API dùng cho lệnh CLI và tác vụ nghiên cứu.",effect:"Controls which Gemini model is used for research, web search, and other AI-powered CLI operations.",effectVi:"Điều khiển model Gemini nào được dùng cho nghiên cứu, tìm kiếm web và các thao tác CLI hỗ trợ AI khác."},"gemini.model":{path:"gemini.model",type:"string",default:'"gemini-3-flash-preview"',validValues:["gemini-2.5-flash","gemini-2.5-pro","gemini-3-pro-preview","gemini-3-flash-preview"],description:"Gemini model used for CLI commands and research operations.",descriptionVi:"Model Gemini dùng cho lệnh CLI và thao tác nghiên cứu.",effect:"Determines which Gemini model handles research, web search, and other auxiliary tasks. Flash models are faster but less capable than Pro models.",effectVi:"Xác định model Gemini nào xử lý nghiên cứu, tìm kiếm web và các tác vụ phụ trợ khác. Model Flash nhanh hơn nhưng kém khả năng hơn model Pro.",example:`{
|
|
167
|
-
"gemini": {
|
|
168
|
-
"model": "gemini-2.5-pro"
|
|
169
|
-
}
|
|
170
|
-
}`},skills:{path:"skills",type:"object",default:"{}",description:"Configuration for skills system including research behavior and custom skill settings.",descriptionVi:"Cấu hình hệ thống kỹ năng bao gồm hành vi nghiên cứu và cài đặt kỹ năng tùy chỉnh.",effect:"Controls how skills are executed, particularly research operations and their AI provider choices.",effectVi:"Điều khiển cách các kỹ năng được thực thi, đặc biệt là thao tác nghiên cứu và lựa chọn nhà cung cấp AI."},"skills.research":{path:"skills.research",type:"object",default:"{}",description:"Configuration specific to the research skill behavior and AI provider selection.",descriptionVi:"Cấu hình riêng cho hành vi kỹ năng nghiên cứu và lựa chọn nhà cung cấp AI.",effect:"Determines whether research operations use Gemini CLI or Claude's built-in WebSearch tool.",effectVi:"Xác định liệu thao tác nghiên cứu có dùng Gemini CLI hay công cụ WebSearch tích hợp của Claude."},"skills.research.useGemini":{path:"skills.research.useGemini",type:"boolean",default:"true",description:"When enabled, uses Gemini CLI for research operations instead of Claude's WebSearch tool.",descriptionVi:"Khi bật, dùng Gemini CLI cho thao tác nghiên cứu thay vì công cụ WebSearch của Claude.",effect:"Gemini CLI offers faster search results and lower token costs for research, but requires Gemini API setup. WebSearch is built-in but more expensive.",effectVi:"Gemini CLI cung cấp kết quả tìm kiếm nhanh hơn và chi phí token thấp hơn cho nghiên cứu, nhưng cần thiết lập Gemini API. WebSearch tích hợp sẵn nhưng đắt hơn.",example:`{
|
|
171
|
-
"skills": {
|
|
172
|
-
"research": {
|
|
173
|
-
"useGemini": false
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}`},hooks:{path:"hooks",type:"object",default:"{}",description:"Configuration for lifecycle hooks that inject context, enforce rules, and enhance safety throughout the development workflow.",descriptionVi:"Cấu hình các hook vòng đời tiêm ngữ cảnh, thực thi quy tắc và tăng cường an toàn trong suốt quy trình phát triển.",effect:"Controls which hooks are active. Each hook fires at specific points in the workflow to inject context or enforce guardrails.",effectVi:"Điều khiển hook nào đang hoạt động. Mỗi hook kích hoạt tại các điểm cụ thể trong quy trình để tiêm ngữ cảnh hoặc thực thi bảo vệ."},"hooks.session-init":{path:"hooks.session-init",type:"boolean",default:"true",description:"Runs project detection and environment setup at the start of every Claude Code session.",descriptionVi:"Chạy phát hiện dự án và thiết lập môi trường khi bắt đầu mỗi phiên Claude Code.",effect:"When enabled, automatically detects project type, framework, package manager, and injects relevant context into the session.",effectVi:"Khi bật, tự động phát hiện loại dự án, framework, trình quản lý gói và tiêm ngữ cảnh liên quan vào phiên.",example:`{
|
|
177
|
-
"hooks": {
|
|
178
|
-
"session-init": false
|
|
179
|
-
}
|
|
180
|
-
}`},"hooks.subagent-init":{path:"hooks.subagent-init",type:"boolean",default:"true",description:"Injects context (paths, plans, reports) into spawned subagents to ensure consistency.",descriptionVi:"Tiêm ngữ cảnh (đường dẫn, kế hoạch, báo cáo) vào các subagent được tạo để đảm bảo nhất quán.",effect:"Ensures subagents inherit work context, know where to save reports, and follow the same plan structure as the parent agent.",effectVi:"Đảm bảo subagent kế thừa ngữ cảnh làm việc, biết nơi lưu báo cáo và tuân theo cùng cấu trúc kế hoạch với agent cha.",example:`{
|
|
181
|
-
"hooks": {
|
|
182
|
-
"subagent-init": false
|
|
183
|
-
}
|
|
184
|
-
}`},"hooks.descriptive-name":{path:"hooks.descriptive-name",type:"boolean",default:"true",description:"Injects descriptive naming context so agents generate meaningful, self-documenting file and variable names.",descriptionVi:"Tiêm ngữ cảnh đặt tên mô tả để agent tạo tên tệp và biến có ý nghĩa, tự tài liệu hóa.",effect:"When enabled, reminds the agent to use long, descriptive kebab-case names for files and clear variable naming conventions.",effectVi:"Khi bật, nhắc nhở agent sử dụng tên kebab-case dài, mô tả cho tệp và quy ước đặt tên biến rõ ràng.",example:`{
|
|
185
|
-
"hooks": {
|
|
186
|
-
"descriptive-name": false
|
|
187
|
-
}
|
|
188
|
-
}`},"hooks.dev-rules-reminder":{path:"hooks.dev-rules-reminder",type:"boolean",default:"true",description:"Injects development rules context before tool execution to maintain coding standards.",descriptionVi:"Tiêm ngữ cảnh quy tắc phát triển trước khi thực thi công cụ để duy trì chuẩn code.",effect:"Reminds the agent of coding standards, file naming conventions, and project-specific rules before file operations.",effectVi:"Nhắc nhở agent về chuẩn code, quy ước đặt tên tệp và quy tắc riêng của dự án trước thao tác tệp.",example:`{
|
|
189
|
-
"hooks": {
|
|
190
|
-
"dev-rules-reminder": false
|
|
191
|
-
}
|
|
192
|
-
}`},"hooks.usage-context-awareness":{path:"hooks.usage-context-awareness",type:"boolean",default:"true",description:"Monitors token usage and rate limits, injects awareness context to prevent overruns.",descriptionVi:"Giám sát sử dụng token và giới hạn tốc độ, tiêm ngữ cảnh nhận biết để ngăn vượt quá.",effect:"When approaching token limits or rate limits, warns the agent to be more concise or split operations.",effectVi:"Khi tiến gần giới hạn token hoặc giới hạn tốc độ, cảnh báo agent để ngắn gọn hơn hoặc chia nhỏ thao tác.",example:`{
|
|
193
|
-
"hooks": {
|
|
194
|
-
"usage-context-awareness": false
|
|
195
|
-
}
|
|
196
|
-
}`},"hooks.context-tracking":{path:"hooks.context-tracking",type:"boolean",default:"true",description:"Tracks context window usage and injects awareness data so agents can optimize token consumption.",descriptionVi:"Theo dõi sử dụng cửa sổ ngữ cảnh và tiêm dữ liệu nhận biết để agent tối ưu hóa tiêu thụ token.",effect:"When enabled, monitors context percentage and remaining capacity, warning the agent when approaching limits to prevent truncation.",effectVi:"Khi bật, giám sát phần trăm ngữ cảnh và dung lượng còn lại, cảnh báo agent khi tiến gần giới hạn để ngăn cắt xén.",example:`{
|
|
197
|
-
"hooks": {
|
|
198
|
-
"context-tracking": false
|
|
199
|
-
}
|
|
200
|
-
}`},"hooks.scout-block":{path:"hooks.scout-block",type:"boolean",default:"true",description:"Blocks heavy directories (node_modules, .git, dist) from exploration to save tokens.",descriptionVi:"Chặn các thư mục nặng (node_modules, .git, dist) khỏi khám phá để tiết kiệm token.",effect:"Prevents the agent from reading irrelevant or large directories that waste tokens and context window space.",effectVi:"Ngăn agent đọc các thư mục không liên quan hoặc lớn lãng phí token và không gian cửa sổ ngữ cảnh.",example:`{
|
|
201
|
-
"hooks": {
|
|
202
|
-
"scout-block": false
|
|
203
|
-
}
|
|
204
|
-
}`},"hooks.privacy-block":{path:"hooks.privacy-block",type:"boolean",default:"true",description:"Blocks reading sensitive files (.env, credentials, secrets) to protect user privacy.",descriptionVi:"Chặn đọc các tệp nhạy cảm (.env, thông tin xác thực, bí mật) để bảo vệ quyền riêng tư người dùng.",effect:"When enabled, prompts user for permission before accessing files that may contain API keys, passwords, or other secrets.",effectVi:"Khi bật, nhắc người dùng cho phép trước khi truy cập tệp có thể chứa API keys, mật khẩu hoặc bí mật khác.",example:`{
|
|
205
|
-
"hooks": {
|
|
206
|
-
"privacy-block": false
|
|
207
|
-
}
|
|
208
|
-
}`},"hooks.post-edit-simplify-reminder":{path:"hooks.post-edit-simplify-reminder",type:"boolean",default:"true",description:"Reminds the agent to simplify code after file edits to maintain readability and prevent bloat.",descriptionVi:"Nhắc nhở agent đơn giản hóa code sau khi chỉnh sửa tệp để duy trì khả năng đọc và ngăn phình to.",effect:"After editing files, suggests reviewing for unnecessary complexity, redundant code, or opportunities to refactor.",effectVi:"Sau khi chỉnh sửa tệp, đề xuất xem xét độ phức tạp không cần thiết, code dư thừa hoặc cơ hội refactor.",example:`{
|
|
209
|
-
"hooks": {
|
|
210
|
-
"post-edit-simplify-reminder": false
|
|
211
|
-
}
|
|
212
|
-
}`},statusline:{path:"statusline",type:"string",default:'"full"',validValues:["full","compact","minimal","none"],description:"Controls how much information is displayed in the Claude Code status line during operations.",descriptionVi:"Điều khiển lượng thông tin hiển thị trong dòng trạng thái Claude Code trong khi thao tác.",effect:"'full' shows all details (tokens, model, cost). 'compact' shows summary. 'minimal' shows only critical info. 'none' hides status line.",effectVi:"'full' hiển thị tất cả chi tiết (token, model, chi phí). 'compact' hiển thị tóm tắt. 'minimal' chỉ hiển thị thông tin quan trọng. 'none' ẩn dòng trạng thái.",example:`{
|
|
213
|
-
"statusline": "compact"
|
|
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
|
-
"assertions": ["Use strict mode", "No console.logs"]
|
|
216
|
-
}`}},yC=(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 u=h[1];if(a===e){o=s.length>0?`${s.join(".")}.${u}`:u;break}}}r(o)},[n,e]),t};function db(n){const{scope:e,fetchConfig:t,fetchSchema:r,saveConfig:i,onReset:s}=n,[o,a]=b.useState("{}"),[l,c]=b.useState(0),[h,u]=b.useState(null),[f,p]=b.useState(null),[m,g]=b.useState({}),[y,v]=b.useState({}),[k,S]=b.useState({}),[M,C]=b.useState(!0),[A,x]=b.useState("idle"),[T,P]=b.useState(!1),[R,N]=b.useState(null),L=yC(o,l),F=L?bC[L]:null;b.useEffect(()=>{(async()=>{try{const[Y,ie]=await Promise.all([t(),r()]),le=Y.local??Y.config;g(le),v(Y.global??{}),S(Y.sources),p(ie),a(JSON.stringify(le,null,2))}catch(Y){console.error("Failed to load config data:",Y)}finally{C(!1)}})()},[t,r]),b.useEffect(()=>{try{JSON.parse(o),u(null)}catch(_){u(_ instanceof Error?_.message:"Invalid JSON")}},[o]),b.useEffect(()=>{if(R==="json")try{const _=JSON.parse(o);g(_)}catch{}},[o,R]);const U=b.useCallback(_=>{N("json"),a(_)},[]),V=b.useCallback((_,Y)=>{N("form"),g(ie=>{const le=ov(ie,_,Y);return a(JSON.stringify(le,null,2)),le}),S(ie=>({...ie,[_]:e}))},[e]),J=b.useCallback(async()=>{if(!h){x("saving");try{const _=JSON.parse(o);await i(_),g(_),x("saved"),setTimeout(()=>x("idle"),2e3)}catch{x("error"),setTimeout(()=>x("idle"),3e3)}}},[o,h,i]),he=b.useCallback(async()=>{if(P(!1),s){C(!0);try{const _=await s(),Y=_.local??_.config;g(Y),S(_.sources),a(JSON.stringify(Y,null,2))}catch(_){console.error("Failed to reset:",_)}finally{C(!1)}}else{const _={};g(_),a(JSON.stringify(_,null,2))}},[s]);return{jsonText:o,config:m,globalConfig:y,sources:k,schema:f,isLoading:M,saveStatus:A,syntaxError:h,cursorLine:l,showResetConfirm:T,activeFieldPath:L,fieldDoc:F,handleJsonChange:U,handleFormChange:V,handleSave:J,handleReset:he,setCursorLine:c,setShowResetConfirm:P}}function fb({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 u=h.reduce((f,p)=>f+p,0);if(Math.abs(u-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 u=h.target.parentElement;if(!u)return;const p=u.getBoundingClientRect().width,m=h.clientX,g=[...r],y=k=>{const M=(k.clientX-m)/p*100,C=[...g],A=c,x=c+1;let T=g[A]+M,P=g[x]-M;T<t[A]&&(T=t[A],P=g[A]+g[x]-T),P<t[x]&&(P=t[x],T=g[A]+g[x]-P),C[A]=T,C[x]=P,i(C)},v=()=>{o(!1),document.removeEventListener("mousemove",y),document.removeEventListener("mouseup",v),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",y),document.addEventListener("mouseup",v),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[r,t]),l=b.useCallback(()=>{i(e)},[e]);return{sizes:r,isDragging:s,startDrag:a,reset:l}}const Ra="/api";async function Vf(n){const e=`${Ra}/ck-config`,t=await fetch(e);if(!t.ok)throw new Error(`Failed to fetch ck-config: ${t.status}`);return t.json()}async function zf(n,e){const t=new URLSearchParams({scope:n});e&&t.set("projectId",e);const r=await fetch(`${Ra}/ck-config?${t}`);if(!r.ok)throw new Error(`Failed to fetch ck-config: ${r.status}`);return r.json()}async function pb(n){const e=await fetch(`${Ra}/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 mb(){const n=await fetch(`${Ra}/ck-config/schema`);if(!n.ok)throw new Error(`Failed to fetch schema: ${n.status}`);return n.json()}const xC=()=>{const{t:n}=ye(),e=fn(),[t,r]=b.useState("config"),[i,s]=b.useState({}),{sizes:o,isDragging:a,startDrag:l}=fb({storageKey:"claudekit-global-config-panels",defaultSizes:[35,40,25],minSizes:[20,25,15]}),c=b.useCallback(async()=>{const[m,g]=await Promise.all([Vf(),Jx()]);return s(g),m},[]),h=b.useCallback(async m=>{await pb({scope:"global",config:m})},[]),u=b.useCallback(async()=>await Vf(),[]),f=db({scope:"global",fetchConfig:c,fetchSchema:mb,saveConfig:h,onReset:u}),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 d.jsxs("div",{className:"animate-in fade-in duration-300 w-full h-full flex flex-col transition-colors",children:[d.jsx(dm,{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}),d.jsxs("div",{className:"flex gap-2 mb-2 border-b border-dash-border shrink-0",children:[d.jsx("button",{onClick:()=>r("config"),className:`px-4 py-2 text-sm font-bold transition-colors relative ${t==="config"?"text-dash-accent border-b-2 border-dash-accent":"text-dash-text-muted hover:text-dash-text"}`,children:n("configTab")}),d.jsx("button",{onClick:()=>r("metadata"),className:`px-4 py-2 text-sm font-bold transition-colors relative ${t==="metadata"?"text-dash-accent border-b-2 border-dash-accent":"text-dash-text-muted hover:text-dash-text"}`,children:n("systemTab")})]}),d.jsxs("div",{className:"flex-1 flex min-h-0",children:[t==="config"&&d.jsxs(d.Fragment,{children:[d.jsx(fm,{width:o[0],isLoading:f.isLoading,schema:f.schema,config:f.config,sources:f.sources,sections:p,onChange:f.handleFormChange}),d.jsx(vi,{direction:"horizontal",isDragging:a,onMouseDown:m=>l(0,m)}),d.jsx(lb,{width:o[1],isLoading:f.isLoading,jsonText:f.jsonText,cursorLine:f.cursorLine,syntaxError:f.syntaxError,onChange:f.handleJsonChange,onCursorLineChange:f.setCursorLine}),d.jsx(vi,{direction:"horizontal",isDragging:a,onMouseDown:m=>l(1,m)}),d.jsx(cb,{width:o[2],fieldDoc:f.fieldDoc,activeFieldPath:f.activeFieldPath})]}),t==="metadata"&&d.jsx("div",{className:"flex-1 bg-dash-surface border border-dash-border rounded-xl overflow-hidden flex flex-col shadow-sm",children:d.jsx("div",{className:"flex-1 overflow-auto p-6",children:f.isLoading?d.jsx("div",{className:"h-full flex items-center justify-center",children:d.jsx("div",{className:"animate-pulse text-dash-text-muted text-sm",children:n("loading")})}):d.jsx(gC,{metadata:i})})})]})]})};var vC=function(e){return typeof window<"u"?matchMedia&&matchMedia("(prefers-color-scheme: ".concat(e,")")):{matches:!1}},Pl,wC=b.createContext({appearance:"light",setAppearance:function(){},isDarkMode:!1,themeMode:"light",setThemeMode:function(){},browserPrefers:(Pl=vC("dark"))!==null&&Pl!==void 0&&Pl.matches?"dark":"light"}),kC=function(){return b.useContext(wC)};const gb=(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"}},SC=n=>{if(n)return["space-between","space-around","space-evenly"].includes(n)},CC=(n,e)=>gb(n,e)==="row",lr=n=>typeof n=="number"?`${n}px`:n,OC=({visible:n,flex:e,gap:t,direction:r,horizontal:i,align:s,justify:o,distribution:a,height:l,width:c,padding:h,paddingInline:u,paddingBlock:f,prefixCls:p,as:m="div",className:g,style:y,children:v,wrap:k,ref:S,...M})=>{const C=o||a,x=CC(r,i)&&!c&&SC(C)?"100%":lr(c),T={...e!==void 0?{"--lobe-flex":String(e)}:{},...r||i?{"--lobe-flex-direction":gb(r,i)}:{},...k!==void 0?{"--lobe-flex-wrap":k}:{},...C!==void 0?{"--lobe-flex-justify":C}:{},...s!==void 0?{"--lobe-flex-align":s}:{},...x!==void 0?{"--lobe-flex-width":x}:{},...l!==void 0?{"--lobe-flex-height":lr(l)}:{},...h!==void 0?{"--lobe-flex-padding":lr(h)}:{},...u!==void 0?{"--lobe-flex-padding-inline":lr(u)}:{},...f!==void 0?{"--lobe-flex-padding-block":lr(f)}:{},...t!==void 0?{"--lobe-flex-gap":lr(t)}:{},...y},P="lobe-flex",R=[P,n===!1?`${P}--hidden`:void 0,p?`${p}-flex`:void 0,g].filter(Boolean).join(" ");return d.jsx(m,{ref:S,...M,className:R,style:T,children:v})};var bb=b.memo(OC);const PC=({children:n,ref:e,...t})=>d.jsx(bb,{...t,align:"center",justify:"center",ref:e,children:n});var jC=PC;const MC=/\p{Lu}?\p{Ll}+|[0-9]+|\p{Lu}+(?!\p{Ll})|\p{Emoji_Presentation}|\p{Extended_Pictographic}|\p{L}+/gu;function AC(n){return Array.from(n.match(MC)??[])}function DC(n){return AC(n).map(t=>t.toLowerCase()).join("-")}b.createContext(null);var TC=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 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 EC=["shape","color","background","size","style","iconMultiple","Icon","iconStyle","iconClassName"];function Hf(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 So(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Hf(Object(t),!0).forEach(function(r){NC(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Hf(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function NC(n,e,t){return e=RC(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function RC(n){var e=LC(n,"string");return zi(e)=="symbol"?e:String(e)}function LC(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 IC(n,e){if(n==null)return{};var t=BC(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 BC(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,u=n.iconStyle,f=n.iconClassName,p=IC(n,EC),m=kC(),g=m.isDarkMode;return d.jsx(jC,So(So({flex:"none",style:So({background:s,borderRadius:t==="circle"?"50%":Math.floor(o*.1),boxShadow:TC(g,s),color:i,height:o,width:o},a)},p),{},{children:h&&d.jsx(h,{className:f,color:i,size:o,style:So({transform:"scale(".concat(c,")")},u)})}))});function Hi(n){"@babel/helpers - typeof";return Hi=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},Hi(n)}var $C=["Icon","style","Text","color","size","spaceMultiple","textMultiple","extra","extraStyle","showText","showLogo","extraClassName","iconProps","inverse"];function Wf(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?Wf(Object(t),!0).forEach(function(r){FC(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Wf(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 Hi(e)=="symbol"?e:String(e)}function zC(n,e){if(Hi(n)!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var r=t.call(n,e);if(Hi(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 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,u=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,M=HC(n,$C),C=e&&y&&d.jsx(e,mn(mn({size:o},k),{},{style:mn(S?{marginLeft:o*l}:{marginRight:o*l},k?.style)})),A=m&&r&&d.jsx(r,{size:o*h});return d.jsxs(bb,mn(mn({align:"center",flex:"none",horizontal:!0,justify:"flex-start",style:mn({color:i},t)},M),{},{children:[S?d.jsxs(d.Fragment,{children:[A,C]}):d.jsxs(d.Fragment,{children:[C,A]}),u&&d.jsx("span",{className:v,style:mn({fontSize:o*h*.95,lineHeight:1},f),children:u})]}))}),_C=function(e,t){return b.useMemo(function(){var r=Array.from({length:t},function(i,s){var o="lobe-icons-".concat(DC(e),"-fill-").concat(s);return{fill:"url(#".concat(o,")"),id:o}});return r},[e,t])},Fr="Claude",UC=.8,KC=.1,yb="#D97757",GC=yb,qC="#fff",YC=.75;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 QC=["size","style"];function _f(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function jl(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?_f(Object(t),!0).forEach(function(r){JC(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):_f(Object(t)).forEach(function(r){Object.defineProperty(n,r,Object.getOwnPropertyDescriptor(t,r))})}return n}function JC(n,e,t){return e=XC(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function XC(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 e6(n,e){if(n==null)return{};var t=t6(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 t6(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 Vh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=e6(n,QC);return d.jsxs("svg",jl(jl({fill:"currentColor",fillRule:"evenodd",height:t,style:jl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Fr}),d.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 _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)}function Uf(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 n6(n){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?Uf(Object(t),!0).forEach(function(r){r6(n,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Uf(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 _i(e)=="symbol"?e:String(e)}function s6(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 o6(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var a6=b.memo(function(n){var e=Object.assign({},(o6(n),n));return d.jsx(Ln,n6({Icon:Vh,"aria-label":Fr,background:GC,color:qC,iconMultiple:YC},e))});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 l6=["size","style"];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 Ml(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){c6(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 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 Ui(e)=="symbol"?e:String(e)}function u6(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 d6(n,e){if(n==null)return{};var t=f6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function f6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var xb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=d6(n,l6);return d.jsxs("svg",Ml(Ml({height:t,style:Ml({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Fr}),d.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 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 p6=["size","style"];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 Al(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){m6(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 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 Ki(e)=="symbol"?e:String(e)}function b6(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 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 vb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=y6(n,p6);return d.jsxs("svg",Al(Al({fill:"currentColor",fillRule:"nonzero",height:t,style:Al({flex:"none",lineHeight:1},r),viewBox:"0 0 97 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Fr}),d.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 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 v6=["type"];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 w6(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){k6(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 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 Gi(e)=="symbol"?e:String(e)}function C6(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 O6(n,e){if(n==null)return{};var t=P6(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function P6(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var j6=b.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=O6(n,v6),i=t==="color"?xb:Vh;return d.jsx(In,w6({Icon:i,Text:vb,"aria-label":Fr,spaceMultiple:KC,textMultiple:UC},r))}),sr=Vh;sr.Color=xb;sr.Text=vb;sr.Combine=j6;sr.Avatar=a6;sr.colorPrimary=yb;sr.title=Fr;var Rs="OpenAI",M6=.75,A6=.1,wb="#000",kb="#19C37D",Sb="#AB68FF",Cb="#F86AA4",zh="#F9C322",Ob="#0099FF",Pb="#0000FE",D6=wb,T6="#fff",E6=.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 N6=["size","style"];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 Dl(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){R6(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 R6(n,e,t){return e=L6(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function L6(n){var e=I6(n,"string");return qi(e)=="symbol"?e:String(e)}function I6(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 B6(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 Hh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=B6(n,N6);return d.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:[d.jsx("title",{children:Rs}),d.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",F6=.8,V6=.2,jb="#fff",z6=jb,H6="#fff",W6=.8;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 _6=["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){U6(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 U6(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=G6(n,"string");return Yi(e)=="symbol"?e:String(e)}function G6(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 q6(n,e){return X6(n)||J6(n,e)||Q6(n,e)||Y6()}function Y6(){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 Q6(n,e){if(n){if(typeof n=="string")return Jf(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 Jf(n,e)}}function Jf(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 J6(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 X6(n){if(Array.isArray(n))return n}function Z6(n,e){if(n==null)return{};var t=eO(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 eO(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=Z6(n,_6),s=_C(nr,3),o=q6(s,3),a=o[0],l=o[1],c=o[2];return d.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:[d.jsx("title",{children:nr}),d.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"}),d.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}),d.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}),d.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}),d.jsxs("defs",{children:[d.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:a.id,x1:"7",x2:"11",y1:"15.5",y2:"12",children:[d.jsx("stop",{stopColor:"#08B962"}),d.jsx("stop",{offset:"1",stopColor:"#08B962",stopOpacity:"0"})]}),d.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:l.id,x1:"8",x2:"11.5",y1:"5.5",y2:"11",children:[d.jsx("stop",{stopColor:"#F94543"}),d.jsx("stop",{offset:"1",stopColor:"#F94543",stopOpacity:"0"})]}),d.jsxs("linearGradient",{gradientUnits:"userSpaceOnUse",id:c.id,x1:"3.5",x2:"17.5",y1:"13.5",y2:"12",children:[d.jsx("stop",{stopColor:"#FABC12"}),d.jsx("stop",{offset:".46",stopColor:"#FABC12",stopOpacity:"0"})]})]})]}))});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 tO(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){nO(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 nO(n,e,t){return e=rO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function rO(n){var e=iO(n,"string");return Qi(e)=="symbol"?e:String(e)}function iO(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 sO(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var oO=b.memo(function(n){var e=Object.assign({},(sO(n),n));return d.jsx(Ln,tO({Icon:Wh,"aria-label":nr,background:z6,color:H6,iconMultiple:W6},e))});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 aO=["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){lO(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 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 Ji(e)=="symbol"?e:String(e)}function hO(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 uO(n,e){if(n==null)return{};var t=dO(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function dO(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Mb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=uO(n,aO);return d.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:[d.jsx("title",{children:nr}),d.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 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 fO=["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 Nl(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){pO(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 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 Xi(e)=="symbol"?e:String(e)}function gO(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 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 Ab=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=bO(n,fO);return d.jsxs("svg",Nl(Nl({fill:"currentColor",fillRule:"evenodd",height:t,style:Nl({flex:"none",lineHeight:1},r),viewBox:"0 0 98 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:nr}),d.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 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 xO=["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 vO(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){wO(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 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 Zi(e)=="symbol"?e:String(e)}function SO(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 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 PO=b.memo(function(n){var e=n.type,t=e===void 0?"mono":e,r=CO(n,xO),i=t==="color"?Wh:Mb;return d.jsx(In,vO({Icon:i,Text:Ab,"aria-label":nr,spaceMultiple:V6,textMultiple:F6},r))}),or=Mb;or.Color=Wh;or.Text=Ab;or.Combine=PO;or.Avatar=oO;or.colorPrimary=jb;or.title=nr;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 jO=["type"];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 MO(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){AO(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 AO(n,e,t){return e=DO(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function DO(n){var e=TO(n,"string");return es(e)=="symbol"?e:String(e)}function TO(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 EO(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 RO=b.memo(function(n){var e=n.type,t=e===void 0?"normal":e,r=EO(n,jO),i=b.useMemo(function(){switch(t){case"gpt3":return kb;case"gpt4":return Sb;case"gpt5":return Cb;case"o3":case"o1":return zh;case"oss":return Ob;case"platform":return Pb;default:return D6}},[t]);return d.jsx(Ln,MO({Icon:Hh,"aria-label":Rs,background:i,color:T6,iconMultiple:E6},r))});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 LO=["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 Rl(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){IO(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 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 ts(e)=="symbol"?e:String(e)}function $O(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 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 Db=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=FO(n,LO);return d.jsxs("svg",Rl(Rl({fill:"currentColor",fillRule:"evenodd",height:t,style:Rl({flex:"none",lineHeight:1},r),viewBox:"0 0 84 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Rs}),d.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 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 zO=["extraStyle"];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 sp(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){HO(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 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 ns(e)=="symbol"?e:String(e)}function _O(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 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 GO=b.memo(function(n){var e=n.extraStyle,t=UO(n,zO);return d.jsx(In,sp({Icon:Hh,Text:Db,"aria-label":Rs,extraStyle:sp({fontWeight:600},e),spaceMultiple:A6,textMultiple:M6},t))}),mt=Hh;mt.Text=Db;mt.Combine=GO;mt.Avatar=RO;mt.colorPrimary=wb;mt.colorGpt3=kb;mt.colorGpt4=Sb;mt.colorGpt5=Cb;mt.colorO1=zh;mt.colorO3=zh;mt.colorOss=Ob;mt.colorPlatform=Pb;mt.title=Rs;var Ls="GithubCopilot",qO=.75,YO=.3,Tb="#000",QO=Tb,JO="#fff",XO=.75;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 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 Ll(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){eP(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 eP(n,e,t){return e=tP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function tP(n){var e=nP(n,"string");return rs(e)=="symbol"?e:String(e)}function nP(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 rP(n,e){if(n==null)return{};var t=iP(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function iP(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var _h=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=rP(n,ZO);return d.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:[d.jsx("title",{children:Ls}),d.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 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)}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 sP(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){oP(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 oP(n,e,t){return e=aP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function aP(n){var e=lP(n,"string");return is(e)=="symbol"?e:String(e)}function lP(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 cP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var hP=b.memo(function(n){var e=Object.assign({},(cP(n),n));return d.jsx(Ln,sP({Icon:_h,"aria-label":Ls,background:QO,color:JO,iconMultiple:XO},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 uP=["size","style"];function lp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Il(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){dP(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 dP(n,e,t){return e=fP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function fP(n){var e=pP(n,"string");return ss(e)=="symbol"?e:String(e)}function pP(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 mP(n,e){if(n==null)return{};var t=gP(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 gP(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=mP(n,uP);return d.jsxs("svg",Il(Il({fill:"currentColor",fillRule:"evenodd",height:t,style:Il({flex:"none",lineHeight:1},r),viewBox:"0 0 154 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Ls}),d.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 os(n){"@babel/helpers - typeof";return os=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},os(n)}function cp(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function bP(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){yP(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 yP(n,e,t){return e=xP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function xP(n){var e=vP(n,"string");return os(e)=="symbol"?e:String(e)}function vP(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 wP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var kP=b.memo(function(n){var e=Object.assign({},(wP(n),n));return d.jsx(In,bP({Icon:_h,Text:Eb,"aria-label":Ls,spaceMultiple:YO,textMultiple:qO},e))}),Vr=_h;Vr.Text=Eb;Vr.Combine=kP;Vr.Avatar=hP;Vr.colorPrimary=Tb;Vr.title=Ls;var Is="Cline",SP=.7,CP=.2,Nb="#323B43",OP=Nb,PP="#fff",jP=.6;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 MP=["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 Bl(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){AP(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 AP(n,e,t){return e=DP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function DP(n){var e=TP(n,"string");return as(e)=="symbol"?e:String(e)}function TP(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 EP(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 Uh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=EP(n,MP);return d.jsxs("svg",Bl(Bl({fill:"currentColor",fillRule:"evenodd",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:[d.jsx("title",{children:Is}),d.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"}),d.jsx("path",{d:"M12.054 5.558a2.779 2.779 0 100-5.558 2.779 2.779 0 000 5.558z"})]}))});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 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 RP(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){LP(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 LP(n,e,t){return e=IP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function IP(n){var e=BP(n,"string");return ls(e)=="symbol"?e:String(e)}function BP(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 $P(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var FP=b.memo(function(n){var e=Object.assign({},($P(n),n));return d.jsx(Ln,RP({Icon:Uh,"aria-label":Is,background:OP,color:PP,iconMultiple:jP},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 VP=["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 $l(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){zP(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 zP(n,e,t){return e=HP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function HP(n){var e=WP(n,"string");return cs(e)=="symbol"?e:String(e)}function WP(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 _P(n,e){if(n==null)return{};var t=UP(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 UP(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=_P(n,VP);return d.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:[d.jsx("title",{children:Is}),d.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 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 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 KP(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){GP(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 GP(n,e,t){return e=qP(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function qP(n){var e=YP(n,"string");return hs(e)=="symbol"?e:String(e)}function YP(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 QP(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var JP=b.memo(function(n){var e=Object.assign({},(QP(n),n));return d.jsx(In,KP({Icon:Uh,Text:Rb,"aria-label":Is,iconProps:{shape:"square"},spaceMultiple:CP,textMultiple:SP},e))}),zr=Uh;zr.Text=Rb;zr.Combine=JP;zr.Avatar=FP;zr.colorPrimary=Nb;zr.title=Is;var Bs="Cursor",XP=.7,ZP=.1,Lb="#000",e7=Lb,t7="#fff",n7=.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 r7=["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 Fl(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){i7(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 i7(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=o7(n,"string");return us(e)=="symbol"?e:String(e)}function o7(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 a7(n,e){if(n==null)return{};var t=l7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function l7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Kh=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=a7(n,r7);return d.jsxs("svg",Fl(Fl({fill:"currentColor",fillRule:"evenodd",height:t,style:Fl({flex:"none",lineHeight:1},r),viewBox:"0 0 24 24",width:t,xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Bs}),d.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 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 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 c7(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){h7(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 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 ds(e)=="symbol"?e:String(e)}function d7(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 f7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var p7=b.memo(function(n){var e=Object.assign({},(f7(n),n));return d.jsx(Ln,c7({Icon:Kh,"aria-label":Bs,background:e7,color:t7,iconMultiple:n7},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 m7=["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 Vl(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){g7(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 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 fs(e)=="symbol"?e:String(e)}function y7(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 x7(n,e){if(n==null)return{};var t=v7(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 v7(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=x7(n,m7);return d.jsxs("svg",Vl(Vl({fill:"currentColor",fillRule:"evenodd",height:t,style:Vl({flex:"none",lineHeight:1},r),viewBox:"0 0 123 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Bs}),d.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 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 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 w7(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){k7(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 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 ps(e)=="symbol"?e:String(e)}function C7(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 O7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var P7=b.memo(function(n){var e=Object.assign({},(O7(n),n));return d.jsx(In,w7({Icon:Kh,Text:Ib,"aria-label":Bs,spaceMultiple:ZP,textMultiple:XP},e))}),Hr=Kh;Hr.Text=Ib;Hr.Combine=P7;Hr.Avatar=p7;Hr.colorPrimary=Lb;Hr.title=Bs;var $s="Goose",j7=.7,M7=.2,Bb="#fff",A7=Bb,D7="#000",T7=.65;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 E7=["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 zl(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){N7(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 N7(n,e,t){return e=R7(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function R7(n){var e=L7(n,"string");return ms(e)=="symbol"?e:String(e)}function L7(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 I7(n,e){if(n==null)return{};var t=B7(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 B7(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=I7(n,E7);return d.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:[d.jsx("title",{children:$s}),d.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 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 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 $7(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){F7(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 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 gs(e)=="symbol"?e:String(e)}function z7(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 H7(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var W7=b.memo(function(n){var e=Object.assign({},(H7(n),n));return d.jsx(Ln,$7({Icon:Gh,"aria-label":$s,background:A7,color:D7,iconMultiple:T7},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 _7=["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 Hl(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){U7(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 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 bs(e)=="symbol"?e:String(e)}function G7(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 q7(n,e){if(n==null)return{};var t=Y7(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Y7(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var $b=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=q7(n,_7);return d.jsxs("svg",Hl(Hl({fill:"currentColor",fillRule:"evenodd",height:t,style:Hl({flex:"none",lineHeight:1},r),viewBox:"0 0 87 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:$s}),d.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 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 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 Q7(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){J7(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 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 ys(e)=="symbol"?e:String(e)}function Z7(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 ej(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var tj=b.memo(function(n){var e=Object.assign({},(ej(n),n));return d.jsx(In,Q7({Icon:Gh,Text:$b,"aria-label":$s,iconProps:{shape:"square"},spaceMultiple:M7,textMultiple:j7},e))}),Wr=Gh;Wr.Text=$b;Wr.Combine=tj;Wr.Avatar=W7;Wr.colorPrimary=Bb;Wr.title=$s;var Fs="Windsurf",nj=.7,rj=.2,Fb="#fff",ij=Fb,sj="#000",oj=.75;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 aj=["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 Wl(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){lj(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 lj(n,e,t){return e=cj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function cj(n){var e=hj(n,"string");return xs(e)=="symbol"?e:String(e)}function hj(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 uj(n,e){if(n==null)return{};var t=dj(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 dj(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=uj(n,aj);return d.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:[d.jsx("title",{children:Fs}),d.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 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 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 fj(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){pj(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 pj(n,e,t){return e=mj(e),e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function mj(n){var e=gj(n,"string");return vs(e)=="symbol"?e:String(e)}function gj(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 bj(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var yj=b.memo(function(n){var e=Object.assign({},(bj(n),n));return d.jsx(Ln,fj({Icon:qh,"aria-label":Fs,background:ij,color:sj,iconMultiple:oj},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 xj=["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 _l(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){vj(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 vj(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=kj(n,"string");return ws(e)=="symbol"?e:String(e)}function kj(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 Sj(n,e){if(n==null)return{};var t=Cj(n,e),r,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(n);for(i=0;i<s.length;i++)r=s[i],!(e.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(n,r)&&(t[r]=n[r])}return t}function Cj(n,e){if(n==null)return{};var t={},r=Object.keys(n),i,s;for(s=0;s<r.length;s++)i=r[s],!(e.indexOf(i)>=0)&&(t[i]=n[i]);return t}var Vb=b.memo(function(n){var e=n.size,t=e===void 0?"1em":e,r=n.style,i=Sj(n,xj);return d.jsxs("svg",_l(_l({fill:"currentColor",fillRule:"evenodd",height:t,style:_l({flex:"none",lineHeight:1},r),viewBox:"0 0 111 24",xmlns:"http://www.w3.org/2000/svg"},i),{},{children:[d.jsx("title",{children:Fs}),d.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 ks(n){"@babel/helpers - typeof";return ks=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ks(n)}function Op(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(n,i).enumerable})),t.push.apply(t,r)}return t}function Oj(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){Pj(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 Pj(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=Mj(n,"string");return ks(e)=="symbol"?e:String(e)}function Mj(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 Aj(n){if(n==null)throw new TypeError("Cannot destructure "+n)}var Dj=b.memo(function(n){var e=Object.assign({},(Aj(n),n));return d.jsx(In,Oj({Icon:qh,Text:Vb,"aria-label":Fs,iconProps:{shape:"square"},spaceMultiple:rj,textMultiple:nj},e))}),_r=qh;_r.Text=Vb;_r.Combine=Dj;_r.Avatar=yj;_r.colorPrimary=Fb;_r.title=Fs;const Tj={"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},Ej={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 Nj(n){return n.split(/\s+/).map(e=>e[0]).join("").toUpperCase().slice(0,2)}const zb=({agentName:n,displayName:e,size:t=20})=>{const r=Tj[n];if(r)return d.jsx(r,{size:t});const i=Ej[n];return i?d.jsx("img",{src:i,alt:e,className:"rounded object-contain",style:{width:t,height:t}}):d.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:Nj(e)})},Rj={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"},Pp={detected:"#D4A574","not-detected":"#8B9DC3"};function Kc(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 Lj=({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 d.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:[d.jsxs("div",{className:"min-w-0",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx(zb,{agentName:n.name,displayName:n.displayName,size:18}),d.jsx("span",{className:"text-sm font-semibold text-dash-text truncate",children:n.displayName}),n.recommended&&d.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&&d.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")})]}),d.jsxs("div",{className:"text-xs text-dash-text-muted mt-0.5 truncate",children:[n.name," · ",o,"/5 ",s("migrateCapabilitiesLabel")]})]}),d.jsxs("div",{className:"flex flex-col gap-1 text-[11px]",children:[d.jsx("span",{className:n.detected?"text-dash-accent":"text-dash-text-muted",children:n.detected?s("migrateDetectedTag"):s("migrateNotDetectedTag")}),d.jsx("span",{className:"text-dash-text-muted",children:n.recommended?s("migrateFilterRecommended"):"-"})]}),d.jsx("div",{className:"flex flex-wrap gap-1",children:ln.map(l=>{const c=n.capabilities[l],h=e[l];return d.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)})}),d.jsx("div",{className:"flex justify-end",children:d.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")})})]})},Ij=({provider:n,include:e,isSelected:t,latestResult:r,onToggleSelect:i,onClose:s,t:o})=>d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"fixed inset-0 bg-black/50 z-40",onClick:s}),d.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:[d.jsx("div",{className:"px-6 py-5 border-b border-dash-border",children:d.jsxs("div",{className:"flex items-start justify-between gap-3",children:[d.jsxs("div",{className:"min-w-0",children:[d.jsxs("div",{className:"flex items-center gap-2.5",children:[d.jsx(zb,{agentName:n.name,displayName:n.displayName,size:22}),d.jsx("h2",{className:"text-xl font-bold text-dash-text truncate",children:n.displayName})]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-2",children:[d.jsx("span",{className:"text-[11px] text-dash-text-muted font-mono",children:n.name}),d.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&&d.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")})]})]}),d.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:d.jsxs("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:[d.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18",strokeWidth:2}),d.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18",strokeWidth:2})]})})]})}),d.jsxs("div",{className:"flex-1 overflow-y-auto px-6 py-5 space-y-6",children:[d.jsxs("div",{children:[d.jsx("h3",{className:"text-[11px] font-bold uppercase tracking-wide text-dash-text-muted mb-2.5",children:o("migrateCapabilitiesSection")}),d.jsx("div",{className:"space-y-1.5",children:ln.map(a=>{const l=n.capabilities[a],c=e[a];return d.jsxs("div",{className:"flex items-center justify-between px-3 py-2 bg-dash-bg rounded-md",children:[d.jsx("span",{className:"text-sm text-dash-text",children:o(br[a])}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.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")}),d.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&&d.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")}),d.jsxs("div",{children:[d.jsx("h3",{className:"text-[11px] font-bold uppercase tracking-wide text-dash-text-muted mb-2.5",children:o("migrateLatestTarget")}),r?d.jsxs("div",{className:"px-3 py-2 bg-dash-bg rounded-md border border-dash-border space-y-2",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("span",{className:"text-xs text-dash-text-muted",children:o("migrateStatus")}),d.jsx("span",{className:`text-xs font-semibold ${Kc(r,o).className}`,children:Kc(r,o).label})]}),d.jsx("p",{className:"text-xs font-mono text-dash-text break-all",children:r.path||"-"}),(r.error||r.skipReason)&&d.jsx("p",{className:"text-xs text-red-400 break-words",children:r.error||r.skipReason})]}):d.jsx("p",{className:"text-sm text-dash-text-muted",children:o("migrateNoResultForProvider")})]})]}),d.jsxs("div",{className:"px-6 py-4 border-t border-dash-border flex items-center justify-between gap-2",children:[d.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")}),d.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")})]})]})]}),Bj=()=>{const{t:n}=ye(),[e,t]=b.useState([]),[r,i]=b.useState(null),[s,o]=b.useState([]),[a,l]=b.useState(Rj),[c,h]=b.useState(!1),[u,f]=b.useState(!0),[p,m]=b.useState(!1),[g,y]=b.useState(!1),[v,k]=b.useState(null),[S,M]=b.useState(null),[C,A]=b.useState(""),[x,T]=b.useState("all"),[P,R]=b.useState(null),N=b.useCallback(async(I=!1)=>{try{I?m(!0):f(!0),k(null);const[H,de]=await Promise.all([Xx(),Bu()]);t(H.providers),i(de),o(Pe=>{const $n=H.providers.map(Ie=>Ie.name),Rt=Pe.filter(Ie=>$n.includes(Ie));if(Rt.length>0)return Rt;const Vs=H.providers.filter(Ie=>Ie.recommended&&Ie.detected).map(Ie=>Ie.name);if(Vs.length>0)return Vs;const zs=H.providers.filter(Ie=>Ie.detected).map(Ie=>Ie.name);return zs.length>0?zs:H.providers.filter(Ie=>Ie.recommended).map(Ie=>Ie.name)})}catch(H){k(H instanceof Error?H.message:n("migrateDetectFailed"))}finally{f(!1),m(!1)}},[n]);b.useEffect(()=>{N()},[N]);const L=b.useMemo(()=>{const I=new Map;for(const H of e)I.set(H.name,H);return I},[e]);b.useEffect(()=>{P&&!L.has(P.name)&&R(null)},[P,L]);const F=b.useMemo(()=>new Set(s),[s]),U=b.useMemo(()=>e.filter(I=>I.detected).length,[e]),V=s.length,J=b.useMemo(()=>ln.filter(I=>a[I]).length,[a]),he=b.useMemo(()=>{const I=[];a.commands&&s.includes("codex")&&!c&&L.get("codex")?.commandsGlobalOnly&&I.push(n("migrateGlobalForced"));for(const H of ln){if(!a[H])continue;const de=s.filter(Pe=>!L.get(Pe)?.capabilities[H]).map(Pe=>L.get(Pe)?.displayName||Pe);de.length>0&&I.push(`${n("migrateUnsupported")}: ${n(br[H])} -> ${de.join(", ")}`)}return I},[a,c,L,s,n]),_=b.useCallback(I=>{if(I==="codex"){o(["codex"]);return}if(I==="antigravity"){o(["antigravity"]);return}if(I==="core"){const de=["codex","antigravity"].filter(Pe=>e.some($n=>$n.name===Pe));o(de);return}const H=e.filter(de=>de.detected).map(de=>de.name);o(H)},[e]),Y=b.useCallback(I=>{o(H=>H.includes(I)?H.filter(de=>de!==I):[...H,I])},[]),ie=b.useCallback(I=>{l(H=>({...H,[I]:!H[I]}))},[]),le=b.useMemo(()=>{const I=[...e];return I.sort((H,de)=>{const Pe=F.has(H.name),$n=F.has(de.name);return Pe!==$n?Pe?-1:1:H.detected!==de.detected?H.detected?-1:1:H.recommended!==de.recommended?H.recommended?-1:1:H.displayName.localeCompare(de.displayName)}),I},[e,F]),oe=b.useMemo(()=>{const I=C.trim().toLowerCase();return le.filter(H=>{if(x==="selected"&&!F.has(H.name)||x==="detected"&&!H.detected||x==="recommended"&&!H.recommended||x==="not-detected"&&H.detected)return!1;if(!I)return!0;const de=ln.filter(Pe=>H.capabilities[Pe]).map(Pe=>n(br[Pe]).toLowerCase());return H.displayName.toLowerCase().includes(I)||H.name.toLowerCase().includes(I)||de.some(Pe=>Pe.includes(I))})},[x,C,F,le,n]),Ce=b.useMemo(()=>{const I=oe.filter(Pe=>Pe.detected),H=oe.filter(Pe=>!Pe.detected),de=[];return I.length>0&&de.push({key:"detected",label:n("migrateDetectedTag"),providers:I}),H.length>0&&de.push({key:"not-detected",label:n("migrateNotDetectedTag"),providers:H}),de},[oe,n]),Me=b.useMemo(()=>({all:e.length,selected:V,detected:e.filter(I=>I.detected).length,recommended:e.filter(I=>I.recommended).length,"not-detected":e.filter(I=>!I.detected).length}),[e,V]),Oe=b.useMemo(()=>oe.map(I=>I.name),[oe]),nt=b.useCallback(()=>{o(I=>{const H=new Set(I);for(const de of Oe)H.add(de);return Array.from(H)})},[Oe]),en=b.useCallback(()=>{o([])},[]),Bn=b.useCallback(async()=>{if(s.length===0){k(n("migrateSelectProvider"));return}if(J===0){k(n("migrateNoTypesEnabled"));return}try{y(!0),k(null);const I=await ev({providers:s,global:c,include:a});M(I),I.effectiveGlobal!==c&&h(I.effectiveGlobal);const H=await Bu();i(H)}catch(I){k(I instanceof Error?I.message:n("migrateExecuteFailed"))}finally{y(!1)}},[J,a,c,s,n]),La=b.useMemo(()=>{const I=new Map;if(!S)return I;for(const H of S.results)I.has(H.provider)||I.set(H.provider,H);return I},[S]);b.useEffect(()=>{const I=H=>{H.key==="/"&&document.activeElement?.tagName!=="INPUT"&&(H.preventDefault(),document.getElementById("migrate-search")?.focus())};return document.addEventListener("keydown",I),()=>document.removeEventListener("keydown",I)},[]);const Ia=!g&&s.length>0&&J>0;return u?d.jsx("div",{className:"flex items-center justify-center h-full",children:d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"w-8 h-8 border-4 border-dash-accent border-t-transparent rounded-full animate-spin mx-auto mb-3"}),d.jsx("p",{className:"text-dash-text-muted",children:n("migrateDiscovering")})]})}):d.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[d.jsx("div",{className:"border-b border-dash-border bg-dash-surface px-8 py-5",children:d.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-bold text-dash-text",children:n("migrateTitle")}),d.jsx("p",{className:"text-sm text-dash-text-muted mt-0.5",children:n("migrateSubtitle")})]}),d.jsxs("div",{className:"flex items-center gap-6",children:[d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"text-xl font-bold text-dash-accent",children:r?.counts.agents??0}),d.jsx("div",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateTypeAgents")})]}),d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"text-xl font-bold text-dash-accent",children:U}),d.jsx("div",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateDetectedProviders")})]}),d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"text-xl font-bold text-dash-accent",children:V}),d.jsx("div",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateSelectedProviders")})]})]})]})}),d.jsxs("div",{className:"border-b border-dash-border bg-dash-surface px-8 py-3 space-y-2.5",children:[d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsxs("div",{className:"relative flex-1",children:[d.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:[d.jsx("circle",{cx:"11",cy:"11",r:"8"}),d.jsx("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})]}),d.jsx("input",{id:"migrate-search",type:"text",value:C,onChange:I=>A(I.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"}),d.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")})]}),d.jsx("button",{type:"button",onClick:()=>N(!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")}),d.jsx("button",{type:"button",onClick:nt,disabled:Oe.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")}),d.jsx("button",{type:"button",onClick:en,disabled:V===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")})]}),d.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(I=>d.jsxs("button",{type:"button",onClick:()=>T(I.key),className:`px-3 py-1 text-xs font-medium rounded-full border transition-all whitespace-nowrap ${x===I.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:[I.label,d.jsx("span",{className:"opacity-60 ml-1 text-[10px]",children:Me[I.key]})]},I.key))}),d.jsx("div",{className:"flex flex-wrap items-center gap-2",children:ln.map(I=>d.jsx("button",{type:"button",onClick:()=>ie(I),className:`px-2.5 py-1 text-[11px] uppercase tracking-wide rounded-md border transition-colors ${a[I]?"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[I])},I))}),d.jsxs("div",{className:"flex flex-wrap gap-2",children:[d.jsx("button",{type:"button",onClick:()=>_("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")}),d.jsx("button",{type:"button",onClick:()=>_("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")}),d.jsx("button",{type:"button",onClick:()=>_("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")}),d.jsx("button",{type:"button",onClick:()=>_("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")})]})]}),d.jsxs("div",{className:"flex-1 overflow-y-auto px-8 py-6 pb-36 space-y-6",children:[v&&d.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}),d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg p-5",children:[d.jsx("h2",{className:"text-sm font-semibold text-dash-text mb-4",children:n("migrateSourceSummary")}),d.jsx("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-3",children:ln.map(I=>d.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md text-center",children:[d.jsx("p",{className:"text-[11px] uppercase tracking-wide text-dash-text-muted",children:n(br[I])}),d.jsx("p",{className:"text-lg font-semibold text-dash-text",children:r?.counts[I]??0})]},I))})]}),d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg p-5",children:[d.jsxs("div",{className:"flex items-center justify-between mb-4",children:[d.jsx("h2",{className:"text-sm font-semibold text-dash-text",children:n("migrateProvidersHeading")}),d.jsxs("p",{className:"text-xs text-dash-text-muted",children:[oe.length," ",n("migrateProvidersCountSuffix")]})]}),e.length===0?d.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProviders")}):oe.length===0?d.jsx("div",{className:"text-sm text-dash-text-muted",children:n("migrateNoProvidersMatch")}):d.jsx("div",{className:"space-y-5",children:Ce.map(I=>d.jsxs("div",{children:[d.jsxs("div",{className:"flex items-center gap-2.5 mb-3",children:[d.jsx("div",{className:"w-2 h-2 rounded-full",style:{background:Pp[I.key]}}),d.jsx("h2",{className:"text-[13px] font-semibold uppercase tracking-wide",style:{color:Pp[I.key]},children:I.label}),d.jsxs("span",{className:"text-[11px] text-dash-text-muted ml-auto",children:[I.providers.length," ",n("migrateProvidersCountSuffix")]}),d.jsx("div",{className:"flex-1 h-px bg-dash-border ml-3"})]}),d.jsx("div",{className:"space-y-1.5",children:I.providers.map(H=>d.jsx(Lj,{provider:H,include:a,isSelected:F.has(H.name),onToggleSelect:Y,onOpenDetails:R,t:n},H.name))})]},I.key))})]}),S&&d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-lg p-5",children:[d.jsx("h2",{className:"text-sm font-semibold text-dash-text mb-4",children:n("migrateResults")}),d.jsxs("div",{className:"grid grid-cols-3 gap-3 mb-4",children:[d.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md",children:[d.jsx("p",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateInstalled")}),d.jsx("p",{className:"text-lg font-semibold text-green-400",children:S.counts.installed})]}),d.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md",children:[d.jsx("p",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateSkipped")}),d.jsx("p",{className:"text-lg font-semibold text-yellow-400",children:S.counts.skipped})]}),d.jsxs("div",{className:"px-3 py-2 bg-dash-bg border border-dash-border rounded-md",children:[d.jsx("p",{className:"text-[11px] text-dash-text-muted uppercase tracking-wide",children:n("migrateFailed")}),d.jsx("p",{className:"text-lg font-semibold text-red-400",children:S.counts.failed})]})]}),S.warnings.length>0&&d.jsx("div",{className:"mb-4 space-y-2",children:S.warnings.map(I=>d.jsx("p",{className:"text-xs px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-yellow-400",children:I},I))}),S.results.length===0?d.jsx("p",{className:"text-sm text-dash-text-muted",children:n("migrateNoResults")}):d.jsx("div",{className:"overflow-auto border border-dash-border rounded-md",children:d.jsxs("table",{className:"min-w-full text-xs",children:[d.jsx("thead",{className:"bg-dash-bg text-dash-text-muted uppercase tracking-wide",children:d.jsxs("tr",{children:[d.jsx("th",{className:"text-left px-3 py-2",children:n("migrateProvider")}),d.jsx("th",{className:"text-left px-3 py-2",children:n("migrateStatus")}),d.jsx("th",{className:"text-left px-3 py-2",children:n("migratePath")}),d.jsx("th",{className:"text-left px-3 py-2",children:n("migrateError")})]})}),d.jsx("tbody",{children:S.results.map((I,H)=>{const de=Kc(I,n);return d.jsxs("tr",{children:[d.jsx("td",{className:"px-3 py-2 border-t border-dash-border",children:I.providerDisplayName}),d.jsx("td",{className:`px-3 py-2 border-t border-dash-border ${de.className}`,children:de.label}),d.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-dash-text-muted",children:I.path||"-"}),d.jsx("td",{className:"px-3 py-2 border-t border-dash-border text-red-400",children:I.error||I.skipReason||"-"})]},`${I.provider}-${I.path}-${H}`)})})]})})]})]}),d.jsxs("div",{className:"border-t border-dash-border bg-dash-surface/95 backdrop-blur px-8 py-3",children:[d.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[d.jsxs("div",{children:[d.jsx("p",{className:"text-sm font-semibold text-dash-text",children:n("migrateActionSummaryTitle")}),d.jsxs("p",{className:"text-xs text-dash-text-muted",children:[V," ",n("migrateProvidersCountSuffix")," · ",J,"/5"," ",n("migrateTypes")]})]}),d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsxs("div",{className:"inline-flex rounded-md border border-dash-border overflow-hidden",children:[d.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")}),d.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")})]}),d.jsx("button",{type:"button",onClick:Bn,disabled:!Ia,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")})]})]}),he.length>0&&d.jsx("div",{className:"mt-3 space-y-2",children:he.map(I=>d.jsx("p",{className:"text-xs px-3 py-2 border border-yellow-500/30 bg-yellow-500/10 rounded text-yellow-400",children:I},I))})]}),P&&d.jsx(Ij,{provider:P,include:a,isSelected:F.has(P.name),latestResult:La.get(P.name)||null,onToggleSelect:Y,onClose:()=>R(null),t:n})]})},$j=({featureId:n,name:e,description:t,included:r})=>{const{t:i}=ye();return d.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:[d.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[r?d.jsx("svg",{className:"w-5 h-5 text-[var(--dash-accent)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})}):d.jsx("svg",{className:"w-5 h-5 text-[var(--dash-text-muted)]",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),d.jsx("h4",{className:"font-medium text-[var(--dash-text)]",children:i(e)})]}),d.jsx("p",{className:"text-sm text-[var(--dash-text-muted)] leading-relaxed",children:i(t)})]})},Fj=({selectedKit:n,onKitSelect:e,onInstall:t,installing:r})=>{const{t:i}=ye(),[s,o]=b.useState(1);return d.jsxs("div",{className:"space-y-6","data-testid":"install-wizard",children:[d.jsxs("div",{className:"flex items-center gap-4",children:[d.jsx(Ul,{number:1,active:s===1,label:i("stepChooseKit")}),d.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),d.jsx(Ul,{number:2,active:s===2,label:i("stepConfigure")}),d.jsx("div",{className:"flex-1 h-px bg-[var(--dash-border)]"}),d.jsx(Ul,{number:3,active:s===3,label:i("stepInstall")})]}),d.jsxs("div",{className:"min-h-[200px]",children:[s===1&&d.jsx(Vj,{onSelect:e,selected:n}),s===2&&n&&d.jsx(zj,{kit:n}),s===3&&d.jsx(Hj,{installing:r})]}),d.jsxs("div",{className:"flex justify-between pt-4 border-t border-[var(--dash-border)]",children:[s>1?d.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")}):d.jsx("div",{}),s<3&&n&&d.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&&d.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")})]})]})},Ul=({number:n,active:e,label:t})=>d.jsxs("div",{className:"flex items-center gap-2",children:[d.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}),d.jsx("span",{className:`text-sm font-medium ${e?"text-[var(--dash-text)]":"text-[var(--dash-text-muted)]"}`,children:t})]}),Vj=({onSelect:n,selected:e})=>{const{t}=ye();return d.jsxs("div",{className:"space-y-4",children:[d.jsx("p",{className:"text-[var(--dash-text-muted)]",children:e?`Selected: ${e===Vt.ENGINEER?t("kitEngineerName"):t("kitMarketingName")}`:"Please select a kit above"}),e&&d.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")]})]})},zj=()=>d.jsx("div",{className:"text-[var(--dash-text-muted)]",children:"Configuration preview placeholder"}),Hj=({installing:n})=>d.jsx("div",{className:"text-[var(--dash-text-muted)]",children:n?"Installing...":"Ready to install"}),Wj=({kit:n,onGetStarted:e})=>{const{t}=ye(),r=fn(),i=n===Vt.ENGINEER?"kitEngineerName":n===Vt.MARKETING?"kitMarketingName":"kitEngineerName";return d.jsxs("div",{className:"text-center py-12 space-y-6","data-testid":"success-screen",children:[d.jsx("div",{className:"w-16 h-16 mx-auto bg-green-100 rounded-full flex items-center justify-center",children:d.jsx("svg",{className:"w-10 h-10 text-green-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.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"})})}),d.jsx("h2",{className:"text-2xl font-bold text-[var(--dash-text)]",children:t("installSuccess")}),d.jsx("p",{className:"text-[var(--dash-text-muted)] max-w-md mx-auto",children:t("installSuccessDesc").replace("{kit}",t(i))}),d.jsxs("div",{className:"flex gap-4 justify-center pt-4",children:[d.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")}),d.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")})]})]})},_j=[{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}],Hb={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 Uj(n){const e=Hb[n];return e?_j.filter(t=>e.features.includes(t.id)):(console.warn(`Unknown kit type: ${n}`),[])}const Kj=({kit:n,selected:e,onSelect:t,features:r})=>{const{t:i}=ye();return d.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:[d.jsx("h3",{className:`text-xl font-bold ${n.primaryColor}`,children:i(n.name)}),d.jsx("p",{className:"text-[var(--dash-text-muted)] mt-1",children:i(n.tagline)}),d.jsx("div",{className:"mt-4 space-y-2",children:r.slice(0,3).map(s=>d.jsx($j,{featureId:s.id,name:s.name,description:s.description,included:!0},s.id))})]})},Gj=()=>{const{t:n}=ye(),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 d.jsx(Wj,{kit:t,onGetStarted:()=>e("/")});const u=f=>f==="engineer"?Vt.ENGINEER:Vt.MARKETING;return d.jsxs("div",{className:"max-w-4xl mx-auto py-8 px-4",children:[d.jsxs("header",{className:"text-center mb-8",children:[d.jsx("h1",{className:"text-3xl font-bold text-[var(--dash-text)]",children:n("onboardingTitle")}),d.jsx("p",{className:"mt-2 text-[var(--dash-text-muted)]",children:n("onboardingSubtitle")})]}),d.jsx("section",{className:"grid md:grid-cols-2 gap-6 mb-8",children:Object.values(Hb).map(f=>{const p=u(f.id);return d.jsx(Kj,{kit:f,selected:t===p,onSelect:()=>r(p),features:Uj(f.id)},f.id)})}),l&&d.jsxs("div",{className:"mb-6 p-4 rounded-lg bg-red-100 border border-red-300 text-red-800",children:[d.jsx("p",{className:"font-medium",children:"Installation Error"}),d.jsx("p",{className:"text-sm mt-1",children:l}),d.jsx("button",{type:"button",onClick:()=>c(null),className:"mt-2 text-sm underline hover:no-underline",children:"Dismiss"})]}),t&&d.jsx(Fj,{selectedKit:t,onKitSelect:r,onInstall:h,installing:i})]})},qj=()=>{const{t:n}=ye(),e=fn(),{projectId:t}=tm(),[r,i]=b.useState(null),{sizes:s,isDragging:o,startDrag:a}=fb({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([zf("project",t),zf("global"),hm()]),k=v.find(S=>S.id===t);return k&&i(k.path),{...g,global:y.config??{}}},[t]),c=b.useCallback(async g=>{t&&await pb({scope:"project",projectId:t,config:g})},[t]),h=db({scope:"project",fetchConfig:l,fetchSchema:mb,saveConfig:c}),u=b.useCallback(g=>{const y=Jl(h.config,g),v=Jl(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&&u(h.activeFieldPath)?d.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?d.jsxs("section",{className:"bg-blue-500/5 p-3 rounded-lg border border-blue-500/20",children:[d.jsx("h4",{className:"text-[10px] font-bold text-blue-500 uppercase tracking-widest mb-1",children:n("inheritedFromGlobal")}),d.jsxs("p",{className:"text-[12px] text-dash-text-secondary leading-normal",children:[n("viewGlobalConfig")," ",d.jsx("button",{onClick:()=>e("/config/global"),className:"text-dash-accent hover:underline font-medium",children:n("globalConfig")})]})]}):null;return d.jsxs("div",{className:"animate-in fade-in duration-300 w-full h-full flex flex-col transition-colors",children:[d.jsx(dm,{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}),d.jsxs("div",{className:"flex-1 flex min-h-0",children:[d.jsx(fm,{width:s[0],isLoading:h.isLoading,schema:h.schema,config:h.config,sources:h.sources,sections:f,onChange:h.handleFormChange}),d.jsx(vi,{direction:"horizontal",isDragging:o,onMouseDown:g=>a(0,g)}),d.jsx(lb,{width:s[1],isLoading:h.isLoading,jsonText:h.jsonText,cursorLine:h.cursorLine,syntaxError:h.syntaxError,onChange:h.handleJsonChange,onCursorLineChange:h.setCursorLine}),d.jsx(vi,{direction:"horizontal",isDragging:o,onMouseDown:g=>a(1,g)}),d.jsx(cb,{width:s[2],fieldDoc:h.fieldDoc,activeFieldPath:h.activeFieldPath,overrideBadge:p,extraContent:m})]})]})},Yj=({project:n})=>{const{t:e}=ye(),t=fn(),{skills:r,loading:i}=tv(),{sessions:s,loading:o}=nv(n.id),a=async c=>{try{await Gx(c,n.path)}catch(h){alert(`${e("actionFailed")}: ${h instanceof Error?h.message:c}`)}},l=r.filter(c=>n.skills.includes(c.id));return d.jsxs("div",{className:"animate-in fade-in slide-in-from-bottom-2 duration-500 transition-colors flex flex-col h-full",children:[d.jsx("section",{className:"mb-6 shrink-0",children:d.jsxs("div",{className:"flex flex-col md:flex-row md:items-end justify-between gap-4",children:[d.jsxs("div",{children:[d.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[d.jsx("h1",{className:"text-3xl font-bold tracking-tight text-dash-text",children:n.name}),d.jsx(Qj,{status:n.health}),d.jsx(sC,{variant:"beta"})]}),d.jsxs("p",{className:"text-dash-text-secondary mono text-sm flex items-center gap-2 italic",children:[d.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:d.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]})]}),d.jsx("div",{className:"flex items-center gap-3",children:d.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")})})]})}),d.jsxs("section",{className:"grid grid-cols-2 md:grid-cols-4 gap-3 mb-6 shrink-0",children:[d.jsx(Co,{icon:"📟",label:e("terminal"),sub:e("terminalSub"),onClick:()=>a("terminal")}),d.jsx(Co,{icon:"💻",label:e("editor"),sub:e("editorSub"),onClick:()=>a("editor")}),d.jsx(Co,{icon:"🤖",label:e("launch"),sub:e("launchSub"),highlight:!0,onClick:()=>a("launch")}),d.jsx(Co,{icon:"⚙️",label:e("config"),sub:e("configSub"),onClick:()=>t(`/config/project/${n.id}`)})]}),d.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6 flex-1 min-h-0",children:[d.jsx("div",{className:"lg:col-span-2 flex flex-col gap-6 min-h-0",children:d.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:[d.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:d.jsx("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest",children:e("recentSessions")})}),d.jsx("div",{className:"divide-y divide-dash-border overflow-y-auto flex-1",children:o?d.jsx("div",{className:"p-4 text-center text-dash-text-muted animate-pulse",children:e("loadingSessions")}):s.length===0?d.jsx("div",{className:"p-4 text-center text-dash-text-muted",children:e("noSessionsFound")}):s.map(c=>d.jsxs("div",{className:"p-4 hover:bg-dash-surface-hover transition-colors group cursor-pointer",children:[d.jsxs("div",{className:"flex items-center justify-between mb-1",children:[d.jsx("span",{className:"text-xs font-bold text-dash-accent",children:c.timestamp}),d.jsx("span",{className:"text-[10px] text-dash-text-muted font-medium group-hover:text-dash-text-secondary transition-colors",children:c.duration})]}),d.jsx("p",{className:"text-sm text-dash-text-secondary leading-relaxed truncate",children:c.summary})]},c.id))})]})}),d.jsxs("div",{className:"flex flex-col gap-6 min-h-0",children:[d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl p-6 shadow-sm shrink-0",children:[d.jsxs("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest mb-4 flex items-center gap-2",children:[e("configuration"),d.jsx("span",{className:"text-[10px] font-normal text-dash-text-muted normal-case",children:e("globalSettings")})]}),d.jsxs("div",{className:"space-y-4",children:[d.jsx(Oo,{label:e("activeKit"),value:n.kitType}),d.jsx(Oo,{label:e("aiModel"),value:n.model}),d.jsx(Oo,{label:e("hooks"),value:`${n.activeHooks} ${e("active")}`}),d.jsx(Oo,{label:e("mcpServers"),value:`${n.mcpServers} ${e("connected")}`})]}),d.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")})]}),d.jsxs("div",{className:"bg-dash-surface border border-dash-border rounded-xl shadow-sm flex flex-col flex-1 min-h-0",children:[d.jsx("div",{className:"p-4 pb-2 border-b border-dash-border shrink-0",children:d.jsxs("h3",{className:"text-sm font-bold text-dash-text-secondary uppercase tracking-widest flex items-center justify-between",children:[e("globalSkills"),d.jsx("span",{className:"text-[10px] bg-dash-accent-subtle text-dash-accent px-1.5 py-0.5 rounded-full",children:i?"...":r.length})]})}),d.jsx("div",{className:"overflow-y-auto flex-1 px-4 py-2 space-y-2",children:i?d.jsx("div",{className:"text-center text-dash-text-muted animate-pulse py-4",children:e("loadingSkills")}):(l.length>0?l:r).map(c=>d.jsxs("div",{className:"flex flex-col gap-0.5 border-l-2 border-dash-accent/20 pl-3 py-1",children:[d.jsx("span",{className:"text-sm font-semibold text-dash-text",children:c.name}),d.jsx("p",{className:"text-[10px] text-dash-text-muted leading-tight line-clamp-1",children:c.description||e("noDescription")})]},c.id))}),d.jsx("div",{className:"p-4 pt-2 border-t border-dash-border shrink-0",children:d.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")," →"]})})]})]})]})]})},Qj=({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 d.jsx("span",{className:`px-2 py-0.5 rounded-full text-[10px] font-bold border uppercase tracking-widest ${e[n]}`,children:n})},Co=({icon:n,label:e,sub:t,highlight:r,onClick:i})=>d.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:[d.jsx("span",{className:"text-2xl mb-1 group-hover:scale-110 transition-transform",children:n}),d.jsx("span",{className:"text-sm font-bold text-dash-text",children:e}),d.jsx("span",{className:"text-[10px] text-dash-text-muted font-medium truncate italic",children:t})]}),Oo=({label:n,value:e})=>d.jsxs("div",{className:"flex items-center justify-between text-xs py-1.5 border-b border-dash-border/50 last:border-0",children:[d.jsx("span",{className:"text-dash-text-muted font-medium",children:n}),d.jsx("span",{className:"text-dash-text font-bold mono uppercase text-[10px] tracking-tight",children:e})]}),Jj=()=>{const{t:n}=ye(),{project:e}=Ty();return e?d.jsx(Yj,{project:e}):d.jsxs("div",{className:"flex flex-col items-center justify-center h-full space-y-4 opacity-50",children:[d.jsx("div",{className:"w-16 h-16 rounded-full bg-dash-surface border border-dash-border flex items-center justify-center",children:d.jsx("span",{className:"text-2xl text-dash-text-muted",children:"📂"})}),d.jsx("p",{className:"text-lg text-dash-text-secondary font-bold",children:n("selectProject")})]})},Xj=Ox([{path:"/",element:d.jsx(sv,{}),children:[{index:!0,element:d.jsx(Ka,{to:"/config/global",replace:!0})},{path:"config/global",element:d.jsx(xC,{})},{path:"config/project/:projectId",element:d.jsx(qj,{})},{path:"project/:projectId",element:d.jsx(Jj,{})},{path:"onboarding",element:d.jsx(Gj,{})},{path:"migrate",element:d.jsx(Bj,{})},{path:"skills",element:d.jsx(Ka,{to:"/migrate",replace:!0})},{path:"*",element:d.jsx(Ka,{to:"/",replace:!0})}]}]),Wb=document.getElementById("root");if(!Wb)throw document.body.innerHTML='<div style="padding:20px;color:red;">Fatal: Root element not found</div>',new Error("Root element #root not found");Kl.createRoot(Wb).render(d.jsx(s1.StrictMode,{children:d.jsx(Vx,{children:d.jsx(zx,{children:d.jsx(Bx,{router:Xj})})})}));
|