smart-home-engine 1.1.20 → 1.2.0
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/dist/web/assets/index-CY1IzFyN.js +230 -0
- package/dist/web/assets/{index-b3gdLMp3.css → index-CiR8cZ_Y.css} +1 -1
- package/dist/web/assets/{tsMode-HtyxY0LK.js → tsMode-Dj2ZPBcc.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/src/web/broker-api.js +12 -0
- package/dist/web/assets/index-BIDlQXlY.js +0 -230
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-CXWNuhmR.js","assets/monaco-langs-BW2J83t5.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-Dj2ZPBcc.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
var TA=Object.defineProperty;var iL=o=>{throw TypeError(o)};var PA=(o,e,t)=>e in o?TA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var pn=(o,e,t)=>PA(o,typeof e!="symbol"?e+"":e,t),vw=(o,e,t)=>e.has(o)||iL("Cannot "+t);var de=(o,e,t)=>(vw(o,e,"read from private field"),t?t.call(o):e.get(o)),ln=(o,e,t)=>e.has(o)?iL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),cn=(o,e,t,i)=>(vw(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),Bn=(o,e,t)=>(vw(o,e,"access private method"),t);import{_ as LE,m as IE,l as Zt,A as vo,C as xe,I as $n,D as s_,a as as,g as DE,M as At,b as yi,E as ca,c as F,r as Ln,d as Nr,e as C,f as MA,h as On,R as dn,S as _i,i as Js,j as Ar,k as mn,n as Gi,o as fe,p as Qe,K as us,q as jt,s as ft,t as bs,u as K,v as tn,O as Fa,w as _s,P as Jt,x as bw,y as o_,z as EE,B as hl,F as da,G as vS,H as Os,U as Dn,J as df,L as ei,N as vl,Q as RA,T as fo,V as bS,W as NA,X as TE,$ as Vt,Y as bn,Z as _n,a0 as Zn,a1 as Ti,a2 as qo,a3 as cp,a4 as dt,a5 as km,a6 as AA,a7 as OA,a8 as vs,a9 as FA,aa as ua,ab as bo,ac as ii,ad as PE,ae as Vn,af as HA,ag as WA,ah as po,ai as Bf,aj as hs,ak as fy,al as ao,am as Hc,an as $x,ao as gy,ap as Rs,aq as uf,ar as Ns,as as py,at as _y,au as BA,av as r_,aw as zf,ax as El,ay as zA,az as Vf,aA as VA,aB as Ux,aC as jA,aD as $A,aE as nL,aF as rs,aG as fl,aH as lo,aI as Vi,aJ as ll,aK as UA,aL as za,aM as jo,aN as Ls,aO as ha,aP as qx,aQ as ys,aR as is,aS as Qm,aT as zi,aU as ME,aV as qA,aW as Gx,aX as my,aY as Kx,aZ as Zx,a_ as vd,a$ as GA,b0 as Xx,b1 as KA,b2 as Yx,b3 as Tl,b4 as Pl,b5 as hf,b6 as dp,b7 as To,b8 as a_,b9 as Jm,ba as yw,bb as Pn,bc as Qx,bd as l_,be as vy,bf as ZA,bg as RE,bh as up,bi as ff,bj as hp,bk as c_,bl as by,bm as vn,bn as Wc,bo as d_,bp as XA,bq as YA,br as Jx,bs as QA,bt as ev,bu as cr,bv as e0,bw as gf,bx as Ml,by as jf,bz as en,bA as pf,bB as NE,bC as u_,bD as JA,bE as bd,bF as Ft,bG as sL,bH as Lm,bI as AE,bJ as Hr,bK as oa,bL as Rn,bM as _f,bN as Lr,bO as mf,bP as Kn,bQ as fp,bR as Ou,bS as yS,bT as OE,bU as FE,bV as HE,bW as t0,bX as xo,bY as xn,bZ as h_,b_ as WE,b$ as gl,c0 as yy,c1 as eO,c2 as Sh,c3 as oL,c4 as f_,c5 as BE,c6 as Ch,c7 as tO,c8 as br,c9 as wy,ca as iO,cb as yo,cc as fa,cd as g_,ce as gp,cf as zE,cg as rr,ch as p_,ci as Sy,cj as nO,ck as sO,cl as oO,cm as $f,cn as Va,co as Is,cp as rO,cq as i0,cr as aO,cs as lO,ct as rL,cu as cO,cv as __,cw as bl,cx as wS,cy as _u,cz as yl,cA as dO,cB as Ha,cC as Ir,cD as Ho,cE as aL,cF as to,cG as m_,cH as Ec,cI as ja,cJ as uO,cK as ga,cL as pp,cM as Cy,cN as VE,cO as hO,cP as fO,cQ as n0,cR as gO,cS as _p,cT as pO,cU as ic,cV as mp,cW as lL,cX as _O,cY as mO,cZ as qa,c_ as vO,c$ as s0,d0 as jE,d1 as $E,d2 as UE,d3 as qE,d4 as bO,d5 as yO,d6 as GE,d7 as KE,d8 as wO,d9 as o0,da as SO,db as CO,dc as Qn,dd as xO,de as r0,df as kO,dg as xh,dh as cL,di as LO,dj as IO,dk as DO,dl as EO,dm as TO,dn as PO,dp as vf,dq as xy,dr as SS,ds as MO,dt as RO,du as dL,dv as CS,dw as NO,dx as uL,dy as ww,dz as AO,dA as ZE,dB as OO,dC as XE,dD as xS,dE as FO,dF as HO,dG as WO,dH as YE,dI as QE,dJ as BO,dK as tv,dL as JE,dM as ky,dN as zO,dO as VO,dP as Tc,dQ as a0,dR as jO,dS as hL,dT as fL,dU as $O,dV as kh,dW as eT,dX as UO,dY as qO,dZ as GO,d_ as KO,d$ as tT,e0 as iT,e1 as nT,e2 as sT,e3 as ZO,e4 as Wa,e5 as gL,e6 as XO,e7 as v_,e8 as YO,e9 as xg,ea as oT,eb as pL,ec as vp,ed as rT,ee as iv,ef as QO,eg as aT,eh as JO,ei as lT,ej as e2,ek as t2,el as cT,em as dT,en as wl,eo as Ly,ep as i2,eq as uT,er as $o,es as yd,et as hT,eu as n2,ev as s2,ew as fT,ex as gT,ey as o2,ez as pT,eA as _T,eB as bp,eC as r2,eD as a2,eE as l2,eF as c2,eG as fg,eH as _L,eI as d2,eJ as u2,eK as h2,eL as nv,eM as Us,eN as f2,eO as kS,eP as Fu,eQ as g2,eR as al,eS as p2,eT as _2,eU as mT,eV as m2,eW as jg,eX as v2,eY as b2,eZ as y2,e_ as w2,e$ as mL,f0 as vL,f1 as bL,f2 as Hu,f3 as l0,f4 as vT,f5 as LS,f6 as Im,f7 as bT,f8 as sv,f9 as S2,fa as C2,fb as x2,fc as k2,fd as c0,fe as yT,ff as L2,fg as ov,fh as wT,fi as ST,fj as I2,fk as D2,fl as E2,fm as T2,fn as P2,fo as M2,fp as R2,fq as N2,fr as CT,fs as A2,ft as rv,fu as xT,fv as O2,fw as kT,fx as F2,fy as LT,fz as IT,fA as H2,fB as yL,fC as DT,fD as wL,fE as W2,fF as Sw,fG as SL,fH as B2,fI as z2,fJ as V2,fK as Ta,fL as Pc,fM as j2,fN as CL,fO as Dm,fP as $2,fQ as cl,fR as Iy,fS as IS,fT as U2,fU as ET,fV as TT,fW as io,fX as xL,fY as K_,fZ as d0,f_ as q2,f$ as G2,g0 as K2,g1 as Z2,g2 as X2,g3 as Y2,g4 as Q2,g5 as J2,g6 as kL,g7 as eF,g8 as tF,g9 as iF,ga as bf,gb as $g,gc as PT,gd as nF,ge as u0,gf as Em,gg as Z_,gh as Cw,gi as sF,gj as oF,gk as MT,gl as rF,gm as h0,gn as aF,go as lF,gp as RT,gq as Dy,gr as cF,gs as av,gt as f0,gu as g0,gv as p0,gw as NT,gx as AT,gy as OT,gz as FT,gA as HT,gB as WT,gC as BT,gD as LL,gE as zT,gF as Ju,gG as dF,gH as uF,gI as hF,gJ as fF,gK as VT,gL as gF,gM as pF,gN as IL,gO as DS,gP as cc,gQ as _F,gR as mF,gS as vF,gT as bF,gU as yF,gV as wF,gW as DL,gX as _0,gY as ES,gZ as SF,g_ as TS,g$ as CF,h0 as xF,h1 as kF,h2 as LF,h3 as m0,h4 as jT,h5 as EL,h6 as TL,h7 as IF,h8 as DF,h9 as EF,ha as PL,hb as xw,hc as TF,hd as PF,he as MF,hf as kw,hg as $T,hh as UT,hi as qT,hj as GT,hk as Sl,hl as KT,hm as v0,hn as ML,ho as RF,hp as ZT,hq as NF,hr as AF,hs as Ey,ht as Ty,hu as Wu,hv as Py,hw as b_,hx as OF,hy as My,hz as FF,hA as HF,hB as WF,hC as XT,hD as gg,hE as BF,hF as zF,hG as VF,hH as jF,hI as y_,hJ as $F,hK as YT,hL as QT,hM as JT,hN as PS,hO as UF,hP as qF,hQ as GF,hR as KF,hS as ZF,hT as MS,hU as XF,hV as YF,hW as QF,hX as JF,hY as e3,hZ as t3,h_ as i3,h$ as n3,i0 as eP,i1 as s3,i2 as o3,i3 as r3,i4 as RL,i5 as a3,i6 as l3,i7 as nd,i8 as pr,i9 as c3,ia as d3}from"./monaco-langs-BW2J83t5.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))i(n);new MutationObserver(n=>{for(const s of n)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function t(n){const s={};return n.integrity&&(s.integrity=n.integrity),n.referrerPolicy&&(s.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?s.credentials="include":n.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(n){if(n.ep)return;n.ep=!0;const s=t(n);fetch(n.href,s)}})();const tP=!1;var b0=Array.isArray,u3=Array.prototype.indexOf,lv=Array.prototype.includes,Ry=Array.from,h3=Object.defineProperty,Bh=Object.getOwnPropertyDescriptor,f3=Object.getOwnPropertyDescriptors,g3=Object.prototype,p3=Array.prototype,iP=Object.getPrototypeOf,NL=Object.isExtensible;const Ny=()=>{};function _3(o){for(var e=0;e<o.length;e++)o[e]()}function nP(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function m3(o,e,t=!1){return o===void 0?t?e():e:o}function AL(o,e){if(Array.isArray(o))return o;if(!(Symbol.iterator in o))return Array.from(o);const t=[];for(const i of o)if(t.push(i),t.length===e)break;return t}const oo=2,yf=4,Ay=8,sP=1<<24,ra=16,la=32,Mc=64,RS=128,Mr=512,qs=1024,Xs=2048,$a=4096,Lo=8192,Rr=16384,Uf=32768,NS=1<<25,wf=65536,cv=1<<17,v3=1<<18,qf=1<<19,b3=1<<20,Na=1<<25,mu=65536,dv=1<<21,zh=1<<22,dc=1<<23,wd=Symbol("$state"),y3=Symbol("legacy props"),w3=Symbol(""),Tm=Symbol("attributes"),AS=Symbol("class"),OS=Symbol("style"),kg=Symbol("text"),Pm=Symbol("form reset"),Oy=new class extends Error{constructor(){super(...arguments);pn(this,"name","StaleReactionError");pn(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var CE;const S3=!!((CE=globalThis.document)!=null&&CE.contentType)&&globalThis.document.contentType.includes("xml");function oP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function C3(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function x3(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function k3(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function L3(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function I3(o){throw new Error("https://svelte.dev/e/effect_orphan")}function D3(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function E3(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function T3(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function P3(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function M3(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function R3(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const N3=1,A3=2,rP=4,O3=8,F3=16,H3=1,W3=4,B3=8,z3=16,V3=1,j3=2,$s=Symbol("uninitialized"),aP="http://www.w3.org/1999/xhtml",$3="http://www.w3.org/2000/svg",U3="http://www.w3.org/1998/Math/MathML";function q3(){console.warn("https://svelte.dev/e/derived_inert")}function G3(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function K3(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function lP(o){return o===this.v}function Z3(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function cP(o){return!Z3(o,this.v)}let X3=!1,so=null;function Sf(o){so=o}function Fs(o,e=!1,t){so={p:so,i:!1,c:null,e:null,s:o,x:null,r:kn,l:null}}function Hs(o){var e=so,t=e.e;if(t!==null){e.e=null;for(var i of t)PP(i)}return o!==void 0&&(e.x=o),e.i=!0,so=e.p,o??{}}function dP(){return!0}let ld=[];function uP(){var o=ld;ld=[],_3(o)}function uc(o){if(ld.length===0&&!qg){var e=ld;queueMicrotask(()=>{e===ld&&uP()})}ld.push(o)}function Y3(){for(;ld.length>0;)uP()}function hP(o){var e=kn;if(e===null)return Cn.f|=dc,o;if((e.f&Uf)===0&&(e.f&yf)===0)throw o;nc(o,e)}function nc(o,e){for(;e!==null;){if((e.f&RS)!==0){if((e.f&Uf)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const Q3=-7169;function Cs(o,e){o.f=o.f&Q3|e}function y0(o){(o.f&Mr)!==0||o.deps===null?Cs(o,qs):Cs(o,$a)}function fP(o){if(o!==null)for(const e of o)(e.f&oo)===0||(e.f&mu)===0||(e.f^=mu,fP(e.deps))}function gP(o,e,t){(o.f&Xs)!==0?e.add(o):(o.f&$a)!==0&&t.add(o),fP(o.deps),Cs(o,qs)}let X_=!1;function J3(o){var e=X_;try{return X_=!1,[o(),X_]}finally{X_=e}}let Lw=null,eh=null,Oi=null,Ug=null,eo=null,FS=null,qg=!1,Iw=!1,Lh=null,Mm=null;var OL=0;let eH=1;var Uh,Jl,fd,qh,Gh,Kh,nl,Zh,Ao,Qp,sl,Xr,La,Xh,gd,Jn,HS,Lg,WS,pP,_P,_h,tH,Ig;const yb=class yb{constructor(){ln(this,Jn);pn(this,"id",eH++);ln(this,Uh,!1);pn(this,"linked",!0);ln(this,Jl,null);ln(this,fd,null);pn(this,"async_deriveds",new Map);pn(this,"current",new Map);pn(this,"previous",new Map);ln(this,qh,new Set);ln(this,Gh,new Set);ln(this,Kh,0);ln(this,nl,new Map);ln(this,Zh,null);ln(this,Ao,[]);ln(this,Qp,[]);ln(this,sl,new Set);ln(this,Xr,new Set);ln(this,La,new Map);ln(this,Xh,new Set);pn(this,"is_fork",!1);ln(this,gd,!1);eh===null?Lw=eh=this:(cn(eh,fd,this),cn(this,Jl,eh)),eh=this}skip_effect(e){de(this,La).has(e)||de(this,La).set(e,{d:[],m:[]}),de(this,Xh).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=de(this,La).get(e);if(i){de(this,La).delete(e);for(var n of i.d)Cs(n,Xs),t(n);for(n of i.m)Cs(n,$a),t(n)}de(this,Xh).add(e)}capture(e,t,i=!1){e.v!==$s&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&dc)===0&&(this.current.set(e,[t,i]),eo==null||eo.set(e,t)),this.is_fork||(e.v=t)}activate(){Oi=this}deactivate(){Oi=null,eo=null}flush(){try{Iw=!0,Oi=this,Bn(this,Jn,Lg).call(this)}finally{OL=0,FS=null,Lh=null,Mm=null,Iw=!1,Oi=null,eo=null,Sd.clear()}}discard(){var e;for(const t of de(this,Gh))t(this);de(this,Gh).clear(),Bn(this,Jn,Ig).call(this),(e=de(this,Zh))==null||e.resolve()}register_created_effect(e){de(this,Qp).push(e)}increment(e,t){if(cn(this,Kh,de(this,Kh)+1),e){let i=de(this,nl).get(t)??0;de(this,nl).set(t,i+1)}}decrement(e,t){if(cn(this,Kh,de(this,Kh)-1),e){let i=de(this,nl).get(t)??0;i===1?de(this,nl).delete(t):de(this,nl).set(t,i-1)}de(this,gd)||(cn(this,gd,!0),uc(()=>{cn(this,gd,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)de(this,sl).add(i);for(const i of t)de(this,Xr).add(i);e.clear(),t.clear()}oncommit(e){de(this,qh).add(e)}ondiscard(e){de(this,Gh).add(e)}settled(){return(de(this,Zh)??cn(this,Zh,nP())).promise}static ensure(){if(Oi===null){const e=Oi=new yb;!Iw&&!qg&&uc(()=>{de(e,Uh)||e.flush()})}return Oi}apply(){{eo=null;return}}schedule(e){var n;if(FS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(yf|Ay|sP))!==0&&(e.f&Uf)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(Lh!==null&&t===kn&&(Cn===null||(Cn.f&oo)===0))return;if((i&(Mc|la))!==0){if((i&qs)===0)return;t.f^=qs}}de(this,Ao).push(t)}};Uh=new WeakMap,Jl=new WeakMap,fd=new WeakMap,qh=new WeakMap,Gh=new WeakMap,Kh=new WeakMap,nl=new WeakMap,Zh=new WeakMap,Ao=new WeakMap,Qp=new WeakMap,sl=new WeakMap,Xr=new WeakMap,La=new WeakMap,Xh=new WeakMap,gd=new WeakMap,Jn=new WeakSet,HS=function(){if(this.is_fork)return!0;for(const i of de(this,nl).keys()){for(var e=i,t=!1;e.parent!==null;){if(de(this,La).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},Lg=function(){var c,u,f,g;cn(this,Uh,!0),OL++>1e3&&(Bn(this,Jn,Ig).call(this),nH());for(const p of de(this,sl))de(this,Xr).delete(p),Cs(p,Xs),this.schedule(p);for(const p of de(this,Xr))Cs(p,$a),this.schedule(p);const e=de(this,Ao);cn(this,Ao,[]),this.apply();var t=Lh=[],i=[],n=Mm=[];for(const p of e)try{Bn(this,Jn,WS).call(this,p,t,i)}catch(w){throw bP(p),Bn(this,Jn,HS).call(this)||this.discard(),w}if(Oi=null,n.length>0){var s=yb.ensure();for(const p of n)s.schedule(p)}if(Lh=null,Mm=null,Bn(this,Jn,HS).call(this)){Bn(this,Jn,_h).call(this,i),Bn(this,Jn,_h).call(this,t);for(const[p,w]of de(this,La))vP(p,w);n.length>0&&Bn(c=Oi,Jn,Lg).call(c);return}const r=Bn(this,Jn,pP).call(this);if(r){Bn(this,Jn,_h).call(this,i),Bn(this,Jn,_h).call(this,t),Bn(u=r,Jn,_P).call(u,this);return}de(this,sl).clear(),de(this,Xr).clear();for(const p of de(this,qh))p(this);de(this,qh).clear(),Ug=this,FL(i),FL(t),Ug=null,(f=de(this,Zh))==null||f.resolve();var a=Oi;if(de(this,Kh)===0&&(de(this,Ao).length===0||a!==null)&&Bn(this,Jn,Ig).call(this),de(this,Ao).length>0)if(a!==null){const p=a;de(p,Ao).push(...de(this,Ao).filter(w=>!de(p,Ao).includes(w)))}else a=this;a!==null&&Bn(g=a,Jn,Lg).call(g)},WS=function(e,t,i){e.f^=qs;for(var n=e.first;n!==null;){var s=n.f,r=(s&(la|Mc))!==0,a=r&&(s&qs)!==0,c=a||(s&Lo)!==0||de(this,La).has(n);if(!c&&n.fn!==null){r?n.f^=qs:(s&yf)!==0?t.push(n):S_(n)&&((s&ra)!==0&&de(this,Xr).add(n),xf(n));var u=n.first;if(u!==null){n=u;continue}}for(;n!==null;){var f=n.next;if(f!==null){n=f;break}n=n.parent}}},pP=function(){for(var e=de(this,Jl);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=de(e,Jl)}return null},_P=function(e){var i;for(const[n,s]of e.current)!this.previous.has(n)&&e.previous.has(n)&&this.previous.set(n,e.previous.get(n)),this.current.set(n,s);for(const[n,s]of e.async_deriveds){const r=this.async_deriveds.get(n);r&&s.promise.then(r.resolve).catch(r.reject)}this.transfer_effects(de(e,sl),de(e,Xr));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&oo)!==0)t(c);else{var a=c;r&(zh|ra)&&!this.async_deriveds.has(a)&&(de(this,Xr).delete(a),Cs(a,Xs),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),Bn(i=e,Jn,Ig).call(i),Oi=this,Bn(this,Jn,Lg).call(this)},_h=function(e){for(var t=0;t<e.length;t+=1)gP(e[t],de(this,sl),de(this,Xr))},tH=function(){var f;for(let g=Lw;g!==null;g=de(g,fd)){var e=g.id<this.id,t=[];for(const[p,[w,m]]of this.current){if(g.current.has(p)){var i=g.current.get(p)[0];if(e&&w!==i)g.current.set(p,[w,m]);else continue}t.push(p)}if(e)for(const[p,w]of this.async_deriveds){const m=g.async_deriveds.get(p);m&&w.promise.then(m.resolve).catch(m.reject)}if(de(g,Uh)){var n=[...g.current.keys()].filter(p=>!g.current.get(p)[1]&&!this.current.has(p));if(n.length===0)e&&g.discard();else if(t.length>0){if(e)for(const p of de(this,Xh))g.unskip_effect(p,w=>{var m;(w.f&(ra|zh))!==0?g.schedule(w):Bn(m=g,Jn,_h).call(m,[w])});g.activate();var s=new Set,r=new Map;for(var a of t)mP(a,n,s,r);r=new Map;var c=[...g.current].filter(([p,w])=>{const m=this.current.get(p);return m?m[0]!==w[0]||m[1]!==w[1]:!0}).map(([p])=>p);if(c.length>0)for(const p of de(this,Qp))(p.f&(Rr|Lo|cv))===0&&w0(p,c,r)&&((p.f&(zh|ra))!==0?(Cs(p,Xs),g.schedule(p)):de(g,sl).add(p));if(de(g,Ao).length>0&&!de(g,gd)){g.apply();for(var u of de(g,Ao))Bn(f=g,Jn,WS).call(f,u,[],[]);cn(g,Ao,[])}g.deactivate()}}}},Ig=function(){if(this.linked){var e=de(this,Jl),t=de(this,fd);e===null?Lw=t:cn(e,fd,t),t===null?eh=e:cn(t,Jl,e),this.linked=!1}};let vu=yb;function iH(o){var e=qg;qg=!0;try{for(var t;;){if(Y3(),Oi===null)return t;Oi.flush()}}finally{qg=e}}function nH(){try{D3()}catch(o){nc(o,FS)}}let Gr=null;function FL(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Rr|Lo))===0&&S_(i)&&(Gr=new Set,xf(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&NP(i),(Gr==null?void 0:Gr.size)>0)){Sd.clear();for(const n of Gr){if((n.f&(Rr|Lo))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)Gr.has(r)&&(Gr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(Rr|Lo))===0&&xf(c)}}Gr.clear()}}Gr=null}}function mP(o,e,t,i){if(!t.has(o)&&(t.add(o),o.reactions!==null))for(const n of o.reactions){const s=n.f;(s&oo)!==0?mP(n,e,t,i):(s&(zh|ra))!==0&&(s&Xs)===0&&w0(n,e,i)&&(Cs(n,Xs),S0(n))}}function w0(o,e,t){const i=t.get(o);if(i!==void 0)return i;if(o.deps!==null)for(const n of o.deps){if(lv.call(e,n))return!0;if((n.f&oo)!==0&&w0(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function S0(o){Oi.schedule(o)}function vP(o,e){if(!((o.f&la)!==0&&(o.f&qs)!==0)){(o.f&Xs)!==0?e.d.push(o):(o.f&$a)!==0&&e.m.push(o),Cs(o,qs);for(var t=o.first;t!==null;)vP(t,e),t=t.next}}function bP(o){Cs(o,qs);for(var e=o.first;e!==null;)bP(e),e=e.next}function sH(o){let e=0,t=bu(0),i;return()=>{L0()&&(d(t),Hy(()=>(e===0&&(i=Nl(()=>o(()=>Gg(t)))),e+=1,()=>{uc(()=>{e-=1,e===0&&(i==null||i(),i=void 0,Gg(t))})})))}}var oH=wf|qf;function rH(o,e,t,i){new aH(o,e,t,i)}var wr,jx,Sr,pd,Oo,Cr,So,ir,ol,_d,ec,Yh,Jp,e_,rl,wb,ks,lH,cH,dH,BS,Rm,Nm,zS,VS;class aH{constructor(e,t,i,n){ln(this,ks);pn(this,"parent");pn(this,"is_pending",!1);pn(this,"transform_error");ln(this,wr);ln(this,jx,null);ln(this,Sr);ln(this,pd);ln(this,Oo);ln(this,Cr,null);ln(this,So,null);ln(this,ir,null);ln(this,ol,null);ln(this,_d,0);ln(this,ec,0);ln(this,Yh,!1);ln(this,Jp,new Set);ln(this,e_,new Set);ln(this,rl,null);ln(this,wb,sH(()=>(cn(this,rl,bu(de(this,_d))),()=>{cn(this,rl,null)})));var s;cn(this,wr,e),cn(this,Sr,t),cn(this,pd,r=>{var a=kn;a.b=this,a.f|=RS,i(r)}),this.parent=kn.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),cn(this,Oo,E0(()=>{Bn(this,ks,BS).call(this)},oH))}defer_effect(e){gP(e,de(this,Jp),de(this,e_))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!de(this,Sr).pending}update_pending_count(e,t){Bn(this,ks,zS).call(this,e,t),cn(this,_d,de(this,_d)+e),!(!de(this,rl)||de(this,Yh))&&(cn(this,Yh,!0),uc(()=>{cn(this,Yh,!1),de(this,rl)&&Cf(de(this,rl),de(this,_d))}))}get_effect_pending(){return de(this,wb).call(this),d(de(this,rl))}error(e){if(!de(this,Sr).onerror&&!de(this,Sr).failed)throw e;Oi!=null&&Oi.is_fork?(de(this,Cr)&&Oi.skip_effect(de(this,Cr)),de(this,So)&&Oi.skip_effect(de(this,So)),de(this,ir)&&Oi.skip_effect(de(this,ir)),Oi.oncommit(()=>{Bn(this,ks,VS).call(this,e)})):Bn(this,ks,VS).call(this,e)}}wr=new WeakMap,jx=new WeakMap,Sr=new WeakMap,pd=new WeakMap,Oo=new WeakMap,Cr=new WeakMap,So=new WeakMap,ir=new WeakMap,ol=new WeakMap,_d=new WeakMap,ec=new WeakMap,Yh=new WeakMap,Jp=new WeakMap,e_=new WeakMap,rl=new WeakMap,wb=new WeakMap,ks=new WeakSet,lH=function(){try{cn(this,Cr,xr(()=>de(this,pd).call(this,de(this,wr))))}catch(e){this.error(e)}},cH=function(e){const t=de(this,Sr).failed;t&&cn(this,ir,xr(()=>{t(de(this,wr),()=>e,()=>()=>{})}))},dH=function(){const e=de(this,Sr).pending;e&&(this.is_pending=!0,cn(this,So,xr(()=>e(de(this,wr)))),uc(()=>{var t=cn(this,ol,document.createDocumentFragment()),i=pl();t.append(i),cn(this,Cr,Bn(this,ks,Nm).call(this,()=>xr(()=>de(this,pd).call(this,i)))),de(this,ec)===0&&(de(this,wr).before(t),cn(this,ol,null),xd(de(this,So),()=>{cn(this,So,null)}),Bn(this,ks,Rm).call(this,Oi))}))},BS=function(){try{if(this.is_pending=this.has_pending_snippet(),cn(this,ec,0),cn(this,_d,0),cn(this,Cr,xr(()=>{de(this,pd).call(this,de(this,wr))})),de(this,ec)>0){var e=cn(this,ol,document.createDocumentFragment());P0(de(this,Cr),e);const t=de(this,Sr).pending;cn(this,So,xr(()=>t(de(this,wr))))}else Bn(this,ks,Rm).call(this,Oi)}catch(t){this.error(t)}},Rm=function(e){this.is_pending=!1,e.transfer_effects(de(this,Jp),de(this,e_))},Nm=function(e){var t=kn,i=Cn,n=so;Ua(de(this,Oo)),Or(de(this,Oo)),Sf(de(this,Oo).ctx);try{return vu.ensure(),e()}catch(s){return hP(s),null}finally{Ua(t),Or(i),Sf(n)}},zS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&Bn(i=this.parent,ks,zS).call(i,e,t);return}cn(this,ec,de(this,ec)+e),de(this,ec)===0&&(Bn(this,ks,Rm).call(this,t),de(this,So)&&xd(de(this,So),()=>{cn(this,So,null)}),de(this,ol)&&(de(this,wr).before(de(this,ol)),cn(this,ol,null)))},VS=function(e){de(this,Cr)&&(Uo(de(this,Cr)),cn(this,Cr,null)),de(this,So)&&(Uo(de(this,So)),cn(this,So,null)),de(this,ir)&&(Uo(de(this,ir)),cn(this,ir,null));var t=de(this,Sr).onerror;let i=de(this,Sr).failed;var n=!1,s=!1;const r=()=>{if(n){K3();return}n=!0,s&&R3(),de(this,ir)!==null&&xd(de(this,ir),()=>{cn(this,ir,null)}),Bn(this,ks,Nm).call(this,()=>{Bn(this,ks,BS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(u){nc(u,de(this,Oo)&&de(this,Oo).parent)}i&&cn(this,ir,Bn(this,ks,Nm).call(this,()=>{try{return xr(()=>{var u=kn;u.b=this,u.f|=RS,i(de(this,wr),()=>c,()=>r)})}catch(u){return nc(u,de(this,Oo).parent),null}}))};uc(()=>{var c;try{c=this.transform_error(e)}catch(u){nc(u,de(this,Oo)&&de(this,Oo).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,u=>nc(u,de(this,Oo)&&de(this,Oo).parent)):a(c)})};function uH(o,e,t,i){const n=yp;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=kn,a=hH(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function u(p){if((r.f&Rr)===0){a();try{i(p)}catch(w){nc(w,r)}uv()}}var f=yP();if(t.length===0){c.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>fH(p))).then(p=>u([...e.map(n),...p])).catch(p=>nc(p,r)).finally(f)}c?c.then(()=>{a(),g(),uv()}):g()}function hH(){var o=kn,e=Cn,t=so,i=Oi;return function(s=!0){Ua(o),Or(e),Sf(t),s&&(o.f&Rr)===0&&(i==null||i.activate(),i==null||i.apply())}}function uv(o=!0){Ua(null),Or(null),Sf(null),o&&(Oi==null||Oi.deactivate())}function yP(){var o=kn,e=o.b,t=Oi,i=!!(e!=null&&e.is_rendered());return e==null||e.update_pending_count(1,t),t.increment(i,o),()=>{e==null||e.update_pending_count(-1,t),t.decrement(i,o)}}function yp(o){var e=oo|Xs;return kn!==null&&(kn.f|=qf),{ctx:so,deps:null,effects:null,equals:lP,f:e,fn:o,reactions:null,rv:0,v:$s,wv:0,parent:kn,ac:null}}const Y_=Symbol("obsolete");function fH(o,e,t){let i=kn;i===null&&C3();var n=void 0,s=bu($s),r=!Cn,a=new Set;return kH(()=>{var w,m;var c=kn,u=nP();n=u.promise;try{Promise.resolve(o()).then(u.resolve,x=>{x!==Oy&&u.reject(x)}).finally(uv)}catch(x){u.reject(x),uv()}var f=Oi;if(r){if((c.f&Uf)!==0)var g=yP();if((w=i.b)!=null&&w.is_rendered())(m=f.async_deriveds.get(c))==null||m.reject(Y_);else for(const x of a.values())x.reject(Y_);a.add(u),f.async_deriveds.set(c,u)}const p=(x,k=void 0)=>{g==null||g(),a.delete(u),k!==Y_&&(f.activate(),k?(s.f|=dc,Cf(s,k)):((s.f&dc)!==0&&(s.f^=dc),Cf(s,x)),f.deactivate())};u.promise.then(p,x=>p(null,x||"unknown"))}),I0(()=>{for(const c of a)c.reject(Y_)}),new Promise(c=>{function u(f){function g(){f===n?c(s):u(n)}f.then(g,g)}u(n)})}function ct(o){const e=yp(o);return FP(e),e}function C0(o){const e=yp(o);return e.equals=cP,e}function gH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Uo(e[t])}}function x0(o){var e,t=kn,i=o.parent;if(!Cl&&i!==null&&o.v!==$s&&(i.f&(Rr|Lo))!==0)return q3(),o.v;Ua(i);try{o.f&=~mu,gH(o),e=zP(o)}finally{Ua(t)}return e}function wP(o){var e=x0(o);if(!o.equals(e)&&(o.wv=WP(),(!(Oi!=null&&Oi.is_fork)||o.deps===null)&&(Oi!==null?(Oi.capture(o,e,!0),Ug==null||Ug.capture(o,e,!0)):o.v=e,o.deps===null))){Cs(o,qs);return}Cl||(eo!==null?(L0()||Oi!=null&&Oi.is_fork)&&eo.set(o,e):y0(o))}function pH(o){var e,t;if(o.effects!==null)for(const i of o.effects)(i.teardown||i.ac)&&((e=i.teardown)==null||e.call(i),(t=i.ac)==null||t.abort(Oy),i.fn!==null&&(i.teardown=Ny),i.ac=null,wp(i,0),T0(i))}function SP(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&xf(e)}let hv=new Set;const Sd=new Map;let CP=!1;function bu(o,e){var t={f:0,v:o,reactions:null,equals:lP,rv:0,wv:0};return t}function M(o,e){const t=bu(o);return FP(t),t}function _H(o,e=!1,t=!0){const i=bu(o);return e||(i.equals=cP),i}function y(o,e,t=!1){Cn!==null&&(!aa||(Cn.f&cv)!==0)&&dP()&&(Cn.f&(oo|ra|zh|cv))!==0&&(Ba===null||!Ba.has(o))&&M3();let i=t?pi(e):e;return Cf(o,i,Mm)}function Cf(o,e,t=null){if(!o.equals(e)){Sd.set(o,Cl?e:o.v);var i=vu.ensure();if(i.capture(o,e),(o.f&oo)!==0){const n=o;(o.f&Xs)!==0&&x0(n),eo===null&&y0(n)}o.wv=WP(),xP(o,Xs,t),kn!==null&&(kn.f&qs)!==0&&(kn.f&(la|Mc))===0&&(yr===null?IH([o]):yr.push(o)),!i.is_fork&&hv.size>0&&!CP&&mH()}return e}function mH(){CP=!1;for(const o of hv){(o.f&qs)!==0&&Cs(o,$a);let e;try{e=S_(o)}catch{e=!0}e&&xf(o)}hv.clear()}function HL(o,e=1){var t=d(o),i=e===1?t++:t--;return y(o,t),i}function Gg(o){y(o,o.v+1)}function xP(o,e,t){var i=o.reactions;if(i!==null)for(var n=i.length,s=0;s<n;s++){var r=i[s],a=r.f,c=(a&Xs)===0;if(c&&Cs(r,e),(a&cv)!==0)hv.add(r);else if((a&oo)!==0){var u=r;eo==null||eo.delete(u),(a&mu)===0&&(a&Mr&&(kn===null||(kn.f&dv)===0)&&(r.f|=mu),xP(u,$a,t))}else if(c){var f=r;(a&ra)!==0&&Gr!==null&&Gr.add(f),t!==null?t.push(f):S0(f)}}}function pi(o){if(typeof o!="object"||o===null||wd in o)return o;const e=iP(o);if(e!==g3&&e!==p3)return o;var t=new Map,i=b0(o),n=M(0),s=kd,r=a=>{if(kd===s)return a();var c=Cn,u=kd;Or(null),VL(s);var f=a();return Or(c),VL(u),f};return i&&t.set("length",M(o.length)),new Proxy(o,{defineProperty(a,c,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&T3();var f=t.get(c);return f===void 0?r(()=>{var g=M(u.value);return t.set(c,g),g}):y(f,u.value,!0),!0},deleteProperty(a,c){var u=t.get(c);if(u===void 0){if(c in a){const f=r(()=>M($s));t.set(c,f),Gg(n)}}else y(u,$s),Gg(n);return!0},get(a,c,u){var w;if(c===wd)return o;var f=t.get(c),g=c in a;if(f===void 0&&(!g||(w=Bh(a,c))!=null&&w.writable)&&(f=r(()=>{var m=pi(g?a[c]:$s),x=M(m);return x}),t.set(c,f)),f!==void 0){var p=d(f);return p===$s?void 0:p}return Reflect.get(a,c,u)},getOwnPropertyDescriptor(a,c){var u=Reflect.getOwnPropertyDescriptor(a,c);if(u&&"value"in u){var f=t.get(c);f&&(u.value=d(f))}else if(u===void 0){var g=t.get(c),p=g==null?void 0:g.v;if(g!==void 0&&p!==$s)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(a,c){var p;if(c===wd)return!0;var u=t.get(c),f=u!==void 0&&u.v!==$s||Reflect.has(a,c);if(u!==void 0||kn!==null&&(!f||(p=Bh(a,c))!=null&&p.writable)){u===void 0&&(u=r(()=>{var w=f?pi(a[c]):$s,m=M(w);return m}),t.set(c,u));var g=d(u);if(g===$s)return!1}return f},set(a,c,u,f){var A;var g=t.get(c),p=c in a;if(i&&c==="length")for(var w=u;w<g.v;w+=1){var m=t.get(w+"");m!==void 0?y(m,$s):w in a&&(m=r(()=>M($s)),t.set(w+"",m))}if(g===void 0)(!p||(A=Bh(a,c))!=null&&A.writable)&&(g=r(()=>M(void 0)),y(g,pi(u)),t.set(c,g));else{p=g.v!==$s;var x=r(()=>pi(u));y(g,x)}var k=Reflect.getOwnPropertyDescriptor(a,c);if(k!=null&&k.set&&k.set.call(f,u),!p){if(i&&typeof c=="string"){var E=t.get("length"),P=Number(c);Number.isInteger(P)&&P>=E.v&&y(E,P+1)}Gg(n)}return!0},ownKeys(a){d(n);var c=Reflect.ownKeys(a).filter(g=>{var p=t.get(g);return p===void 0||p.v!==$s});for(var[u,f]of t)f.v!==$s&&!(u in a)&&c.push(u);return c},setPrototypeOf(){P3()}})}function WL(o){try{if(o!==null&&typeof o=="object"&&wd in o)return o[wd]}catch{}return o}function vH(o,e){return Object.is(WL(o),WL(e))}var Cd,kP,LP,IP,DP;function bH(){if(Cd===void 0){Cd=window,kP=document,LP=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;IP=Bh(e,"firstChild").get,DP=Bh(e,"nextSibling").get,NL(o)&&(o[AS]=void 0,o[Tm]=null,o[OS]=void 0,o.__e=void 0),NL(t)&&(t[kg]=void 0)}}function pl(o=""){return document.createTextNode(o)}function Aa(o){return IP.call(o)}function w_(o){return DP.call(o)}function v(o,e){return Aa(o)}function wt(o,e=!1){{var t=Aa(o);return t instanceof Comment&&t.data===""?w_(t):t}}function b(o,e=1,t=!1){let i=o;for(;e--;)i=w_(i);return i}function yH(o){o.textContent=""}function EP(){return!1}function TP(o,e,t){return e==null||e===aP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let BL=!1;function wH(){BL||(BL=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[Pm])==null||e.call(t)})},{capture:!0}))}function Fy(o){var e=Cn,t=kn;Or(null),Ua(null);try{return o()}finally{Or(e),Ua(t)}}function k0(o,e,t,i=t){o.addEventListener(e,()=>Fy(t));const n=o[Pm];n?o[Pm]=()=>{n(),i(!0)}:o[Pm]=()=>i(!0),wH()}function SH(o){kn===null&&(Cn===null&&I3(),L3()),Cl&&k3()}function CH(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Rl(o,e){var t=kn;t!==null&&(t.f&Lo)!==0&&(o|=Lo);var i={ctx:so,deps:null,nodes:null,f:o|Xs|Mr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};Oi==null||Oi.register_created_effect(i);var n=i;if((o&yf)!==0)Lh!==null?Lh.push(i):vu.ensure().schedule(i);else if(e!==null){try{xf(i)}catch(r){throw Uo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&qf)===0&&(n=n.first,(o&ra)!==0&&(o&wf)!==0&&n!==null&&(n.f|=wf))}if(n!==null&&(n.parent=t,t!==null&&CH(n,t),Cn!==null&&(Cn.f&oo)!==0&&(o&Mc)===0)){var s=Cn;(s.effects??(s.effects=[])).push(n)}return i}function L0(){return Cn!==null&&!aa}function I0(o){const e=Rl(Ay,null);return Cs(e,qs),e.teardown=o,e}function zn(o){SH();var e=kn.f,t=!Cn&&(e&la)!==0&&so!==null&&!so.i;if(t){var i=so;(i.e??(i.e=[])).push(o)}else return PP(o)}function PP(o){return Rl(yf|b3,o)}function xH(o){vu.ensure();const e=Rl(Mc|qf,o);return(t={})=>new Promise(i=>{t.outro?xd(e,()=>{Uo(e),i(void 0)}):(Uo(e),i(void 0))})}function D0(o){return Rl(yf,o)}function kH(o){return Rl(zh|qf,o)}function Hy(o,e=0){return Rl(Ay|e,o)}function z(o,e=[],t=[],i=[]){uH(i,e,t,n=>{Rl(Ay,()=>o(...n.map(d)))})}function E0(o,e=0){var t=Rl(ra|e,o);return t}function xr(o){return Rl(la|qf,o)}function MP(o){var e=o.teardown;if(e!==null){const t=Cl,i=Cn;zL(!0),Or(null);try{e.call(null)}finally{zL(t),Or(i)}}}function T0(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&Fy(()=>{n.abort(Oy)});var i=t.next;(t.f&Mc)!==0?t.parent=null:Uo(t,e),t=i}}function LH(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&la)===0&&Uo(e),e=t}}function Uo(o,e=!0){var t=!1;(e||(o.f&v3)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(RP(o.nodes.start,o.nodes.end),t=!0),Cs(o,NS),T0(o,e&&!t),wp(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();MP(o),o.f^=NS,o.f|=Rr;var n=o.parent;n!==null&&n.first!==null&&NP(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function RP(o,e){for(;o!==null;){var t=o===e?null:w_(o);o.remove(),o=t}}function NP(o){var e=o.parent,t=o.prev,i=o.next;t!==null&&(t.next=i),i!==null&&(i.prev=t),e!==null&&(e.first===o&&(e.first=i),e.last===o&&(e.last=t))}function xd(o,e,t=!0){var i=[];AP(o,i,!0);var n=()=>{t&&Uo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function AP(o,e,t){if((o.f&Lo)===0){o.f^=Lo;var i=o.nodes&&o.nodes.t;if(i!==null)for(const a of i)(a.is_global||t)&&e.push(a);for(var n=o.first;n!==null;){var s=n.next;if((n.f&Mc)===0){var r=(n.f&wf)!==0||(n.f&la)!==0&&(o.f&ra)!==0;AP(n,e,r?t:!1)}n=s}}}function fv(o){OP(o,!0)}function OP(o,e){if((o.f&Lo)!==0){o.f^=Lo,(o.f&qs)===0&&(Cs(o,Xs),vu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&wf)!==0||(t.f&la)!==0;OP(t,n?e:!1),t=i}var s=o.nodes&&o.nodes.t;if(s!==null)for(const r of s)(r.is_global||e)&&r.in()}}function P0(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:w_(t);e.append(t),t=n}}let Am=!1,Cl=!1;function zL(o){Cl=o}let Cn=null,aa=!1;function Or(o){Cn=o}let kn=null;function Ua(o){kn=o}let Ba=null;function FP(o){Cn!==null&&(Ba??(Ba=new Set)).add(o)}let Fo=null,er=0,yr=null;function IH(o){yr=o}let HP=1,cd=0,kd=cd;function VL(o){kd=o}function WP(){return++HP}function S_(o){var e=o.f;if((e&Xs)!==0)return!0;if(e&oo&&(o.f&=~mu),(e&$a)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(S_(s)&&wP(s),s.wv>o.wv)return!0}(e&Mr)!==0&&eo===null&&Cs(o,qs)}return!1}function BP(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Ba!==null&&Ba.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&oo)!==0?BP(s,e,!1):e===s&&(t?Cs(s,Xs):(s.f&qs)!==0&&Cs(s,$a),S0(s))}}function zP(o){var x;var e=Fo,t=er,i=yr,n=Cn,s=Ba,r=so,a=aa,c=kd,u=o.f;Fo=null,er=0,yr=null,Cn=(u&(la|Mc))===0?o:null,Ba=null,Sf(o.ctx),aa=!1,kd=++cd,o.ac!==null&&(Fy(()=>{o.ac.abort(Oy)}),o.ac=null);try{o.f|=dv;var f=o.fn,g=f();o.f|=Uf;var p=o.deps,w=Oi==null?void 0:Oi.is_fork;if(Fo!==null){var m;if(w||wp(o,er),p!==null&&er>0)for(p.length=er+Fo.length,m=0;m<Fo.length;m++)p[er+m]=Fo[m];else o.deps=p=Fo;if(L0()&&(o.f&Mr)!==0)for(m=er;m<p.length;m++)((x=p[m]).reactions??(x.reactions=[])).push(o)}else!w&&p!==null&&er<p.length&&(wp(o,er),p.length=er);if(dP()&&yr!==null&&!aa&&p!==null&&(o.f&(oo|$a|Xs))===0)for(m=0;m<yr.length;m++)BP(yr[m],o);if(n!==null&&n!==o){if(cd++,n.deps!==null)for(let k=0;k<t;k+=1)n.deps[k].rv=cd;if(e!==null)for(const k of e)k.rv=cd;yr!==null&&(i===null?i=yr:i.push(...yr))}return(o.f&dc)!==0&&(o.f^=dc),g}catch(k){return hP(k)}finally{o.f^=dv,Fo=e,er=t,yr=i,Cn=n,Ba=s,Sf(r),aa=a,kd=c}}function DH(o,e){let t=e.reactions;if(t!==null){var i=u3.call(t,o);if(i!==-1){var n=t.length-1;n===0?t=e.reactions=null:(t[i]=t[n],t.pop())}}if(t===null&&(e.f&oo)!==0&&(Fo===null||!lv.call(Fo,e))){var s=e;(s.f&Mr)!==0&&(s.f^=Mr,s.f&=~mu),s.v!==$s&&y0(s),pH(s),wp(s,0)}}function wp(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)DH(o,t[i])}function xf(o){var e=o.f;if((e&Rr)===0){Cs(o,qs);var t=kn,i=Am;kn=o,Am=!0;try{(e&(ra|sP))!==0?LH(o):T0(o),MP(o);var n=zP(o);o.teardown=typeof n=="function"?n:null,o.wv=HP;var s;tP&&X3&&(o.f&Xs)!==0&&o.deps}finally{Am=i,kn=t}}}async function Om(){await Promise.resolve(),iH()}function d(o){var e=o.f,t=(e&oo)!==0;if(Cn!==null&&!aa){var i=kn!==null&&(kn.f&Rr)!==0;if(!i&&(Ba===null||!Ba.has(o))){var n=Cn.deps;if((Cn.f&dv)!==0)o.rv<cd&&(o.rv=cd,Fo===null&&n!==null&&n[er]===o?er++:Fo===null?Fo=[o]:Fo.push(o));else{Cn.deps??(Cn.deps=[]),lv.call(Cn.deps,o)||Cn.deps.push(o);var s=o.reactions;s===null?o.reactions=[Cn]:lv.call(s,Cn)||s.push(Cn)}}}if(Cl&&Sd.has(o))return Sd.get(o);if(t){var r=o;if(Cl){var a=r.v;return((r.f&qs)===0&&r.reactions!==null||jP(r))&&(a=x0(r)),Sd.set(r,a),a}var c=(r.f&Mr)===0&&!aa&&Cn!==null&&(Am||(Cn.f&Mr)!==0),u=(r.f&Uf)===0;S_(r)&&(c&&(r.f|=Mr),wP(r)),c&&!u&&(SP(r),VP(r))}if(eo!=null&&eo.has(o))return eo.get(o);if((o.f&dc)!==0)throw o.v;return o.v}function VP(o){if(o.f|=Mr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&oo)!==0&&(e.f&Mr)===0&&(SP(e),VP(e))}function jP(o){if(o.v===$s)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(Sd.has(e)||(e.f&oo)!==0&&jP(e))return!0;return!1}function Nl(o){var e=aa;try{return aa=!0,o()}finally{aa=e}}const EH=["touchstart","touchmove"];function TH(o){return EH.includes(o)}const dd=Symbol("events"),$P=new Set,jS=new Set;function PH(o,e,t,i={}){function n(s){if(i.capture||$S.call(e,s),!s.cancelBubble)return Fy(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?uc(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function ds(o,e,t,i,n){var s={capture:i,passive:n},r=PH(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&I0(()=>{e.removeEventListener(o,r,s)})}function G(o,e,t){(e[dd]??(e[dd]={}))[o]=t}function Qs(o){for(var e=0;e<o.length;e++)$P.add(o[e]);for(var t of jS)t(o)}let jL=null;function $S(o){var x,k;var e=this,t=e.ownerDocument,i=o.type,n=((x=o.composedPath)==null?void 0:x.call(o))||[],s=n[0]||o.target;jL=o;var r=0,a=jL===o&&o[dd];if(a){var c=n.indexOf(a);if(c!==-1&&(e===document||e===window)){o[dd]=e;return}var u=n.indexOf(e);if(u===-1)return;c<=u&&(r=c)}if(s=n[r]||o.target,s!==e){h3(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=Cn,g=kn;Or(null),Ua(null);try{for(var p,w=[];s!==null&&s!==e;){try{var m=(k=s[dd])==null?void 0:k[i];m!=null&&(!s.disabled||o.target===s)&&m.call(s,o)}catch(E){p?w.push(E):p=E}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let E of w)queueMicrotask(()=>{throw E});throw p}}finally{o[dd]=e,delete o.currentTarget,Or(f),Ua(g)}}}var xE;const Dw=((xE=globalThis==null?void 0:globalThis.window)==null?void 0:xE.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function MH(o){return(Dw==null?void 0:Dw.createHTML(o))??o}function UP(o){var e=TP("template");return e.innerHTML=MH(o.replaceAll("<!>","<!---->")),e.content}function yu(o,e){var t=kn;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function T(o,e){var t=(e&V3)!==0,i=(e&j3)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=UP(s?o:"<!>"+o),t||(n=Aa(n)));var r=i||LP?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Aa(r),c=r.lastChild;yu(a,c)}else yu(r,r);return r}}function RH(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=UP(n),a=Aa(r);s=Aa(a)}var c=s.cloneNode(!0);return yu(c,c),c}}function qP(o,e){return RH(o,e,"svg")}function Er(o=""){{var e=pl(o+"");return yu(e,e),e}}function Ms(){var o=document.createDocumentFragment(),e=document.createComment(""),t=pl();return o.append(e,t),yu(e,t),o}function D(o,e){o!==null&&o.before(e)}function O(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[kg]??(o[kg]=o.nodeValue))&&(o[kg]=t,o.nodeValue=`${t}`)}function NH(o,e){return AH(o,e)}const Q_=new Map;function AH(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){bH();var c=void 0,u=xH(()=>{var f=t??e.appendChild(pl());rH(f,{pending:()=>{}},w=>{Fs({});var m=so;s&&(m.c=s),n&&(i.$$events=n),c=o(w,i)||{},Hs()},a);var g=new Set,p=w=>{for(var m=0;m<w.length;m++){var x=w[m];if(!g.has(x)){g.add(x);var k=TH(x);for(const A of[e,document]){var E=Q_.get(A);E===void 0&&(E=new Map,Q_.set(A,E));var P=E.get(x);P===void 0?(A.addEventListener(x,$S,{passive:k}),E.set(x,1)):E.set(x,P+1)}}}};return p(Ry($P)),jS.add(p),()=>{var k;for(var w of g)for(const E of[e,document]){var m=Q_.get(E),x=m.get(w);--x==0?(E.removeEventListener(w,$S),m.delete(w),m.size===0&&Q_.delete(E)):m.set(w,x)}jS.delete(p),f!==t&&((k=f.parentNode)==null||k.removeChild(f))}});return OH.set(c,u),c}let OH=new WeakMap;var Yr,Ia,nr,md,t_,i_,Sb;class FH{constructor(e,t=!0){pn(this,"anchor");ln(this,Yr,new Map);ln(this,Ia,new Map);ln(this,nr,new Map);ln(this,md,new Set);ln(this,t_,!0);ln(this,i_,e=>{if(de(this,Yr).has(e)){var t=de(this,Yr).get(e),i=de(this,Ia).get(t);if(i)fv(i),de(this,md).delete(t);else{var n=de(this,nr).get(t);n&&(fv(n.effect),de(this,Ia).set(t,n.effect),de(this,nr).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of de(this,Yr)){if(de(this,Yr).delete(s),s===e)break;const a=de(this,nr).get(r);a&&(Uo(a.effect),de(this,nr).delete(r))}for(const[s,r]of de(this,Ia)){if(s===t||de(this,md).has(s))continue;const a=()=>{if(Array.from(de(this,Yr).values()).includes(s)){var u=document.createDocumentFragment();P0(r,u),u.append(pl()),de(this,nr).set(s,{effect:r,fragment:u})}else Uo(r);de(this,md).delete(s),de(this,Ia).delete(s)};de(this,t_)||!i?(de(this,md).add(s),xd(r,a,!1)):a()}}});ln(this,Sb,e=>{de(this,Yr).delete(e);const t=Array.from(de(this,Yr).values());for(const[i,n]of de(this,nr))t.includes(i)||(Uo(n.effect),de(this,nr).delete(i))});this.anchor=e,cn(this,t_,t)}ensure(e,t){var i=Oi,n=EP();if(t&&!de(this,Ia).has(e)&&!de(this,nr).has(e))if(n){var s=document.createDocumentFragment(),r=pl();s.append(r),de(this,nr).set(e,{effect:xr(()=>t(r)),fragment:s})}else de(this,Ia).set(e,xr(()=>t(this.anchor)));if(de(this,Yr).set(i,e),n){for(const[a,c]of de(this,Ia))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of de(this,nr))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(de(this,i_)),i.ondiscard(de(this,Sb))}else de(this,i_).call(this,i)}}Yr=new WeakMap,Ia=new WeakMap,nr=new WeakMap,md=new WeakMap,t_=new WeakMap,i_=new WeakMap,Sb=new WeakMap;function W(o,e,t=!1){var i=new FH(o),n=t?wf:0;function s(r,a){i.ensure(r,a)}E0(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function qi(o,e){return e}function HH(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];xd(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var p=o.outrogroups;US(o,Ry(s.done)),p.delete(s),p.size===0&&(o.outrogroups=null)}}else r-=1},!1)}if(r===0){var c=i.length===0&&t!==null;if(c){var u=t,f=u.parentNode;yH(f),f.append(u),o.items.clear()}US(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function US(o,e,t=!0){var i;if(o.pending.size>0){i=new Set;for(const r of o.pending.values())for(const a of r)i.add(o.items.get(a).e)}for(var n=0;n<e.length;n++){var s=e[n];if(i!=null&&i.has(s)){s.f|=Na;const r=document.createDocumentFragment();P0(s,r)}else Uo(e[n],t)}}var $L;function ui(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&rP)!==0;if(c){var u=o;r=u.appendChild(pl())}var f=null,g=C0(()=>{var A=t();return b0(A)?A:A==null?[]:Ry(A)}),p,w=new Map,m=!0;function x(A){(P.effect.f&Rr)===0&&(P.pending.delete(A),P.fallback=f,WH(P,p,r,e,i),f!==null&&(p.length===0?(f.f&Na)===0?fv(f):(f.f^=Na,Dg(f,null,r)):xd(f,()=>{f=null})))}function k(A){P.pending.delete(A)}var E=E0(()=>{p=d(g);for(var A=p.length,U=new Set,B=Oi,ne=EP(),ie=0;ie<A;ie+=1){var pe=p[ie],_e=i(pe,ie),Ke=m?null:a.get(_e);Ke?(Ke.v&&Cf(Ke.v,pe),Ke.i&&Cf(Ke.i,ie),ne&&B.unskip_effect(Ke.e)):(Ke=BH(a,m?r:$L??($L=pl()),pe,_e,ie,n,e,t),m||(Ke.e.f|=Na),a.set(_e,Ke)),U.add(_e)}if(A===0&&s&&!f&&(m?f=xr(()=>s(r)):(f=xr(()=>s($L??($L=pl()))),f.f|=Na)),A>U.size&&x3(),!m)if(w.set(B,U),ne){for(const[Re,nt]of a)U.has(Re)||B.skip_effect(nt.e);B.oncommit(x),B.ondiscard(k)}else x(B);d(g)}),P={effect:E,items:a,pending:w,outrogroups:null,fallback:f};m=!1}function pg(o){for(;o!==null&&(o.f&la)===0;)o=o.next;return o}function WH(o,e,t,i,n){var Ke,Re,nt,pt,be,_t,ot,Mt,ue;var s=(i&O3)!==0,r=e.length,a=o.items,c=pg(o.effect.first),u,f=null,g,p=[],w=[],m,x,k,E;if(s)for(E=0;E<r;E+=1)m=e[E],x=n(m,E),k=a.get(x).e,(k.f&Na)===0&&((Re=(Ke=k.nodes)==null?void 0:Ke.a)==null||Re.measure(),(g??(g=new Set)).add(k));for(E=0;E<r;E+=1){if(m=e[E],x=n(m,E),k=a.get(x).e,o.outrogroups!==null)for(const Rt of o.outrogroups)Rt.pending.delete(k),Rt.done.delete(k);if((k.f&Lo)!==0&&(fv(k),s&&((pt=(nt=k.nodes)==null?void 0:nt.a)==null||pt.unfix(),(g??(g=new Set)).delete(k))),(k.f&Na)!==0)if(k.f^=Na,k===c)Dg(k,null,t);else{var P=f?f.next:c;k===o.effect.last&&(o.effect.last=k.prev),k.prev&&(k.prev.next=k.next),k.next&&(k.next.prev=k.prev),Bl(o,f,k),Bl(o,k,P),Dg(k,P,t),f=k,p=[],w=[],c=pg(f.next);continue}if(k!==c){if(u!==void 0&&u.has(k)){if(p.length<w.length){var A=w[0],U;f=A.prev;var B=p[0],ne=p[p.length-1];for(U=0;U<p.length;U+=1)Dg(p[U],A,t);for(U=0;U<w.length;U+=1)u.delete(w[U]);Bl(o,B.prev,ne.next),Bl(o,f,B),Bl(o,ne,A),c=A,f=ne,E-=1,p=[],w=[]}else u.delete(k),Dg(k,c,t),Bl(o,k.prev,k.next),Bl(o,k,f===null?o.effect.first:f.next),Bl(o,f,k),f=k;continue}for(p=[],w=[];c!==null&&c!==k;)(u??(u=new Set)).add(c),w.push(c),c=pg(c.next);if(c===null)continue}(k.f&Na)===0&&p.push(k),f=k,c=pg(k.next)}if(o.outrogroups!==null){for(const Rt of o.outrogroups)Rt.pending.size===0&&(US(o,Ry(Rt.done)),(be=o.outrogroups)==null||be.delete(Rt));o.outrogroups.size===0&&(o.outrogroups=null)}if(c!==null||u!==void 0){var ie=[];if(u!==void 0)for(k of u)(k.f&Lo)===0&&ie.push(k);for(;c!==null;)(c.f&Lo)===0&&c!==o.fallback&&ie.push(c),c=pg(c.next);var pe=ie.length;if(pe>0){var _e=(i&rP)!==0&&r===0?t:null;if(s){for(E=0;E<pe;E+=1)(ot=(_t=ie[E].nodes)==null?void 0:_t.a)==null||ot.measure();for(E=0;E<pe;E+=1)(ue=(Mt=ie[E].nodes)==null?void 0:Mt.a)==null||ue.fix()}HH(o,ie,_e)}}s&&uc(()=>{var Rt,$e;if(g!==void 0)for(k of g)($e=(Rt=k.nodes)==null?void 0:Rt.a)==null||$e.apply()})}function BH(o,e,t,i,n,s,r,a){var c=(r&N3)!==0?(r&F3)===0?_H(t,!1,!1):bu(t):null,u=(r&A3)!==0?bu(n):null;return{v:c,i:u,e:xr(()=>(s(e,c??t,u??n,a),()=>{o.delete(i)}))}}function Dg(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Na)===0?e.nodes.start:t;i!==null;){var r=w_(i);if(s.before(i),i===n)return;i=r}}function Bl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function sc(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var c=o;z(()=>{var u=kn;if(a!==(a=e()??"")){if(t){u.nodes=null,c.innerHTML=a,a!==""&&yu(Aa(c),c.lastChild);return}if(u.nodes!==null&&(RP(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?$3:n?U3:void 0,g=TP(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(yu(Aa(p),p.lastChild),i||n)for(;Aa(p);)r.before(Aa(p));else r.before(p)}}})}function GP(o){var e,t,i="";if(typeof o=="string"||typeof o=="number")i+=o;else if(typeof o=="object")if(Array.isArray(o)){var n=o.length;for(e=0;e<n;e++)o[e]&&(t=GP(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function zH(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=GP(o))&&(i&&(i+=" "),i+=e);return i}function ud(o){return typeof o=="object"?zH(o):o??""}const UL=[...`
|
|
3
|
+
\r\f \v\uFEFF`];function VH(o,e,t){var i=o==null?"":""+o;if(e&&(i=i?i+" "+e:e),t){for(var n of Object.keys(t))if(t[n])i=i?i+" "+n:n;else if(i.length)for(var s=n.length,r=0;(r=i.indexOf(n,r))>=0;){var a=r+s;(r===0||UL.includes(i[r-1]))&&(a===i.length||UL.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function qL(o,e=!1){var t=e?" !important;":";",i="";for(var n of Object.keys(o)){var s=o[n];s!=null&&s!==""&&(i+=" "+n+": "+s+t)}return i}function Ew(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function jH(o,e){if(e){var t="",i,n;if(Array.isArray(e)?(i=e[0],n=e[1]):i=e,o){o=String(o).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,r=0,a=!1,c=[];i&&c.push(...Object.keys(i).map(Ew)),n&&c.push(...Object.keys(n).map(Ew));var u=0,f=-1;const x=o.length;for(var g=0;g<x;g++){var p=o[g];if(a?p==="/"&&o[g-1]==="*"&&(a=!1):s?s===p&&(s=!1):p==="/"&&o[g+1]==="*"?a=!0:p==='"'||p==="'"?s=p:p==="("?r++:p===")"&&r--,!a&&s===!1&&r===0){if(p===":"&&f===-1)f=g;else if(p===";"||g===x-1){if(f!==-1){var w=Ew(o.substring(u,f).trim());if(!c.includes(w)){p!==";"&&g++;var m=o.substring(u,g).trim();t+=" "+m+";"}}u=g+1,f=-1}}}}return i&&(t+=qL(i)),n&&(t+=qL(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function It(o,e,t,i,n,s){var r=o[AS];if(r!==t||r===void 0){var a=VH(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[AS]=t}else if(s&&n!==s)for(var c in s){var u=!!s[c];(n==null||u!==!!n[c])&&o.classList.toggle(c,u)}return s}function Tw(o,e={},t,i){for(var n in t){var s=t[n];e[n]!==s&&(t[n]==null?o.style.removeProperty(n):o.style.setProperty(n,s,i))}}function Wo(o,e,t,i){var n=o[OS];if(n!==e){var s=jH(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[OS]=e}else i&&(Array.isArray(i)?(Tw(o,t==null?void 0:t[0],i[0]),Tw(o,t==null?void 0:t[1],i[1],"important")):Tw(o,t,i));return i}function KP(o,e,t=!1){if(o.multiple){if(e==null)return;if(!b0(e))return G3();for(var i of o.options)i.selected=e.includes(Kg(i));return}for(i of o.options){var n=Kg(i);if(vH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function $H(o){var e=new MutationObserver(()=>{KP(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),I0(()=>{e.disconnect()})}function Bo(o,e,t=e){var i=new WeakSet,n=!0;k0(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),Kg);else{var c=o.querySelector(r)??o.querySelector("option:not([disabled])");a=c&&Kg(c)}t(a),o.__value=a,Oi!==null&&i.add(Oi)}),D0(()=>{var s=e();if(o===document.activeElement){var r=Oi;if(i.has(r))return}if(KP(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=Kg(a),t(s))}o.__value=s,n=!1}),$H(o)}function Kg(o){return"__value"in o?o.__value:o.value}const UH=Symbol("is custom element"),qH=Symbol("is html"),GH=S3?"progress":"PROGRESS";function GL(o,e){var t=M0(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==GH)||(o.value=e??"")}function Eg(o,e){var t=M0(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function Ei(o,e,t,i){var n=M0(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[w3]=t),t==null?o.removeAttribute(e):typeof t!="string"&&KH(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function M0(o){return o[Tm]??(o[Tm]={[UH]:o.nodeName.includes("-"),[qH]:o.namespaceURI===aP})}var KL=new Map;function KH(o){var e=o.getAttribute("is")||o.nodeName,t=KL.get(e);if(t)return t;KL.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=f3(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=iP(n)}return t}function Qt(o,e,t=e){var i=new WeakSet;k0(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=Pw(o)?Mw(s):s,t(s),Oi!==null&&i.add(Oi),await Om(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,c=o.value.length;if(o.value=s??"",a!==null){var u=o.value.length;r===a&&a===c&&u>c?(o.selectionStart=u,o.selectionEnd=u):(o.selectionStart=r,o.selectionEnd=Math.min(a,u))}}}),Nl(e)==null&&o.value&&(t(Pw(o)?Mw(o.value):o.value),Oi!==null&&i.add(Oi)),Hy(()=>{var n=e();if(o===document.activeElement){var s=Oi;if(i.has(s))return}Pw(o)&&n===Mw(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function xs(o,e,t=e){k0(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Nl(e)==null&&t(o.checked),Hy(()=>{var i=e();o.checked=!!i})}function Pw(o){var e=o.type;return e==="number"||e==="range"}function Mw(o){return o===""?null:+o}var tc,Qh,n_,Cb,ZP;const xb=class xb{constructor(e){ln(this,Cb);ln(this,tc,new WeakMap);ln(this,Qh);ln(this,n_);cn(this,n_,e)}observe(e,t){var i=de(this,tc).get(e)||new Set;return i.add(t),de(this,tc).set(e,i),Bn(this,Cb,ZP).call(this).observe(e,de(this,n_)),()=>{var n=de(this,tc).get(e);n.delete(t),n.size===0&&(de(this,tc).delete(e),de(this,Qh).unobserve(e))}}};tc=new WeakMap,Qh=new WeakMap,n_=new WeakMap,Cb=new WeakSet,ZP=function(){return de(this,Qh)??cn(this,Qh,new ResizeObserver(e=>{for(var t of e){xb.entries.set(t.target,t);for(var i of de(this,tc).get(t.target)||[])i(t)}}))},pn(xb,"entries",new WeakMap);let qS=xb;var ZH=new qS({box:"border-box"});function XH(o,e,t){var i=ZH.observe(o,()=>t(o[e]));D0(()=>(Nl(()=>t(o[e])),i))}function Rw(o,e){return o===e||(o==null?void 0:o[wd])===e}function Ps(o={},e,t,i){var n=so.r,s=kn;return D0(()=>{var r,a;return Hy(()=>{r=a,a=[],Nl(()=>{Rw(t(...a),o)||(e(o,...a),r&&Rw(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&NS;)c=c.parent;const u=()=>{a&&Rw(t(...a),o)&&e(null,...a)},f=c.teardown;c.teardown=()=>{u(),f==null||f()}}}),o}function wu(o,e,t,i){var U;var n=!0,s=(t&B3)!==0,r=(t&z3)!==0,a=i,c=!0,u=void 0,f=()=>r&&n?(u??(u=yp(i)),d(u)):(c&&(c=!1,a=r?Nl(i):i),a);let g;if(s){var p=wd in o||y3 in o;g=((U=Bh(o,e))==null?void 0:U.set)??(p&&e in o?B=>o[e]=B:void 0)}var w,m=!1;s?[w,m]=J3(()=>o[e]):w=o[e],w===void 0&&i!==void 0&&(w=f(),g&&(E3(),g(w)));var x;if(x=()=>{var B=o[e];return B===void 0?f():(c=!0,B)},(t&W3)===0)return x;if(g){var k=o.$$legacy;return(function(B,ne){return arguments.length>0?((!ne||k||m)&&g(ne?x():B),B):x()})}var E=!1,P=((t&H3)!==0?yp:C0)(()=>(E=!1,x()));s&&d(P);var A=kn;return(function(B,ne){if(arguments.length>0){const ie=ne?d(P):s?pi(B):B;return y(P,ie),E=!0,a!==void 0&&(a=ie),B}return Cl&&E||(A.f&Rr)!==0?P.v:d(P)})}function co(o){so===null&&oP(),zn(()=>{const e=Nl(o);if(typeof e=="function")return e})}function Wy(o){so===null&&oP(),co(()=>()=>Nl(o))}const YH="5";var kE;typeof window<"u"&&((kE=window.__svelte??(window.__svelte={})).v??(kE.v=new Set)).add(YH);/*!-----------------------------------------------------------------------------
|
|
4
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
+
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
|
6
|
+
* Released under the MIT license
|
|
7
|
+
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
|
8
|
+
*-----------------------------------------------------------------------------*/var QH=Object.defineProperty,JH=Object.getOwnPropertyDescriptor,eW=Object.getOwnPropertyNames,tW=Object.prototype.hasOwnProperty,iW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of eW(e))!tW.call(o,n)&&n!==t&&QH(o,n,{get:()=>e[n],enumerable:!(i=JH(e,n))||i.enumerable});return o},nW=(o,e,t)=>(iW(o,e,"default"),t),C_={};nW(C_,IE);var sW=class{constructor(e,t,i){this._onDidChange=new C_.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},oW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},rW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},XP=new sW("json",oW,rW),aW=()=>YP().then(o=>o.getWorker());C_.languages.json={jsonDefaults:XP,getWorker:aW};function YP(){return LE(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}C_.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});C_.languages.onLanguage("json",()=>{YP().then(o=>o.setupMode(XP))});/*!-----------------------------------------------------------------------------
|
|
9
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
10
|
+
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
|
11
|
+
* Released under the MIT license
|
|
12
|
+
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
|
13
|
+
*-----------------------------------------------------------------------------*/var lW=Object.defineProperty,cW=Object.getOwnPropertyDescriptor,dW=Object.getOwnPropertyNames,uW=Object.prototype.hasOwnProperty,hW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of dW(e))!uW.call(o,n)&&n!==t&&lW(o,n,{get:()=>e[n],enumerable:!(i=cW(e,n))||i.enumerable});return o},fW=(o,e,t)=>(hW(o,e,"default"),t),gW="5.4.5",kf={};fW(kf,IE);var QP=(o=>(o[o.None=0]="None",o[o.CommonJS=1]="CommonJS",o[o.AMD=2]="AMD",o[o.UMD=3]="UMD",o[o.System=4]="System",o[o.ES2015=5]="ES2015",o[o.ESNext=99]="ESNext",o))(QP||{}),JP=(o=>(o[o.None=0]="None",o[o.Preserve=1]="Preserve",o[o.React=2]="React",o[o.ReactNative=3]="ReactNative",o[o.ReactJSX=4]="ReactJSX",o[o.ReactJSXDev=5]="ReactJSXDev",o))(JP||{}),eM=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(eM||{}),tM=(o=>(o[o.ES3=0]="ES3",o[o.ES5=1]="ES5",o[o.ES2015=2]="ES2015",o[o.ES2016=3]="ES2016",o[o.ES2017=4]="ES2017",o[o.ES2018=5]="ES2018",o[o.ES2019=6]="ES2019",o[o.ES2020=7]="ES2020",o[o.ESNext=99]="ESNext",o[o.JSON=100]="JSON",o[o.Latest=99]="Latest",o))(tM||{}),iM=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(iM||{}),nM=class{constructor(o,e,t,i,n){this._onDidChange=new kf.Emitter,this._onDidExtraLibsChange=new kf.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(o),this.setDiagnosticsOptions(e),this.setWorkerOptions(t),this.setInlayHintsOptions(i),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(o,e){let t;if(typeof e>"u"?t=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t=e,this._extraLibs[t]&&this._extraLibs[t].content===o)return{dispose:()=>{}};let i=1;return this._removedExtraLibs[t]&&(i=this._removedExtraLibs[t]+1),this._extraLibs[t]&&(i=this._extraLibs[t].version+1),this._extraLibs[t]={content:o,version:i},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let n=this._extraLibs[t];n&&n.version===i&&(delete this._extraLibs[t],this._removedExtraLibs[t]=i,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(o){for(const e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),o&&o.length>0)for(const e of o){const t=e.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,i=e.content;let n=1;this._removedExtraLibs[t]&&(n=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i,version:n}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(o){this._compilerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(o){this._diagnosticsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(o){this._workerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(o){this._inlayHintsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(o){}setEagerModelSync(o){this._eagerModelSync=o}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(o){this._modeConfiguration=o||Object.create(null),this._onDidChange.fire(void 0)}},pW=gW,sM={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},oM=new nM({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},sM),rM=new nM({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},sM),_W=()=>By().then(o=>o.getTypeScriptWorker()),mW=()=>By().then(o=>o.getJavaScriptWorker());kf.languages.typescript={ModuleKind:QP,JsxEmit:JP,NewLineKind:eM,ScriptTarget:tM,ModuleResolutionKind:iM,typescriptVersion:pW,typescriptDefaults:oM,javascriptDefaults:rM,getTypeScriptWorker:_W,getJavaScriptWorker:mW};function By(){return LE(()=>import("./tsMode-Dj2ZPBcc.js"),__vite__mapDeps([3,1,2]))}kf.languages.onLanguage("typescript",()=>By().then(o=>o.setupTypeScript(oM)));kf.languages.onLanguage("javascript",()=>By().then(o=>o.setupJavaScript(rM)));class vW extends vo{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Zt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:yi.map,toggled:xe.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:xe.has("isInDiffEditor"),menu:{when:xe.has("isInDiffEditor"),id:At.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get($n),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class aM extends vo{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Zt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:xe.has("isInDiffEditor")})}run(e,...t){const i=e.get($n),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class lM extends vo{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Zt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:xe.has("isInDiffEditor")})}run(e,...t){const i=e.get($n),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const x_=Zt("diffEditor","Diff Editor");class bW extends ca{constructor(){super({id:"diffEditor.switchSide",title:Zt("switchSide","Switch Side"),icon:yi.arrowSwap,precondition:xe.has("isInDiffEditor"),f1:!0,category:x_})}runEditorCommand(e,t,i){const n=Gf(e);if(n instanceof s_){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class yW extends ca{constructor(){super({id:"diffEditor.exitCompareMove",title:Zt("exitCompareMove","Exit Compare Move"),icon:yi.close,precondition:F.comparingMovedCode,f1:!1,category:x_,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=Gf(e);n instanceof s_&&n.exitCompareMove()}}class wW extends ca{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Zt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:yi.fold,precondition:xe.has("isInDiffEditor"),f1:!0,category:x_})}runEditorCommand(e,t,...i){const n=Gf(e);n instanceof s_&&n.collapseAllUnchangedRegions()}}class SW extends ca{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Zt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:yi.unfold,precondition:xe.has("isInDiffEditor"),f1:!0,category:x_})}runEditorCommand(e,t,...i){const n=Gf(e);n instanceof s_&&n.showAllUnchangedRegions()}}class GS extends vo{constructor(){super({id:"diffEditor.revert",title:Zt("revert","Revert"),f1:!1,category:x_})}run(e,t){const i=CW(e,t.originalUri,t.modifiedUri);i instanceof s_&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const cM=Zt("accessibleDiffViewer","Accessible Diff Viewer"),kb=class kb extends vo{constructor(){super({id:kb.id,title:Zt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:cM,precondition:xe.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=Gf(e);t==null||t.accessibleDiffViewerNext()}};kb.id="editor.action.accessibleDiffViewer.next";let Sp=kb;const Lb=class Lb extends vo{constructor(){super({id:Lb.id,title:Zt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:cM,precondition:xe.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=Gf(e);t==null||t.accessibleDiffViewerPrev()}};Lb.id="editor.action.accessibleDiffViewer.prev";let gv=Lb;function CW(o,e,t){return o.get(as).listDiffEditors().find(s=>{var c,u;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((c=r.getModel())==null?void 0:c.uri.toString())===t.toString()&&a&&((u=a.getModel())==null?void 0:u.uri.toString())===e.toString()})||null}function Gf(o){const t=o.get(as).listDiffEditors(),i=DE();if(i)for(const n of t){const s=n.getContainerDomNode();if(xW(s,i))return n}return null}function xW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Ln(vW);Ln(aM);Ln(lM);Nr.appendMenuItem(At.EditorTitle,{command:{id:new lM().desc.id,title:C("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:xe.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:xe.has("isInDiffEditor")},order:11,group:"1_diff",when:xe.and(F.diffEditorRenderSideBySideInlineBreakpointReached,xe.has("isInDiffEditor"))});Nr.appendMenuItem(At.EditorTitle,{command:{id:new aM().desc.id,title:C("showMoves","Show Moved Code Blocks"),icon:yi.move,toggled:MA.create("config.diffEditor.experimental.showMoves",!0),precondition:xe.has("isInDiffEditor")},order:10,group:"1_diff",when:xe.has("isInDiffEditor")});Ln(GS);for(const o of[{icon:yi.arrowRight,key:F.diffEditorInlineMode.toNegated()},{icon:yi.discard,key:F.diffEditorInlineMode}])Nr.appendMenuItem(At.DiffEditorHunkToolbar,{command:{id:new GS().desc.id,title:C("revertHunk","Revert Block"),icon:o.icon},when:xe.and(F.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Nr.appendMenuItem(At.DiffEditorSelectionToolbar,{command:{id:new GS().desc.id,title:C("revertSelection","Revert Selection"),icon:o.icon},when:xe.and(F.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Ln(bW);Ln(yW);Ln(wW);Ln(SW);Nr.appendMenuItem(At.EditorTitle,{command:{id:Sp.id,title:C("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:xe.has("isInDiffEditor")},order:10,group:"2_diff",when:xe.and(F.accessibleDiffViewerVisible.negate(),xe.has("isInDiffEditor"))});On.registerCommandAlias("editor.action.diffReview.next",Sp.id);Ln(Sp);On.registerCommandAlias("editor.action.diffReview.prev",gv.id);Ln(gv);var kW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},LW=function(o,e){return function(t,i){e(t,i,o)}},KS;const zy=new dn("selectionAnchorSet",!1);var Ed;let Rc=(Ed=class{static get(e){return e.getContribution(KS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=zy.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(_i.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Js().appendText(C("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Ar(C("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(_i.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}},KS=Ed,Ed.ID="editor.contrib.selectionAnchorController",Ed);Rc=KS=kW([LW(1,mn)],Rc);class IW extends Qe{constructor(){super({id:"editor.action.setSelectionAnchor",label:C("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2080),weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.setSelectionAnchor()}}class DW extends Qe{constructor(){super({id:"editor.action.goToSelectionAnchor",label:C("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:zy})}async run(e,t){var i;(i=Rc.get(t))==null||i.goToSelectionAnchor()}}class EW extends Qe{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:C("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:zy,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2089),weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.selectFromAnchorToCursor()}}class TW extends Qe{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:C("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:zy,kbOpts:{kbExpr:F.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Rc.get(t))==null||i.cancelSelectionAnchor()}}Gi(Rc.ID,Rc,4);fe(IW);fe(DW);fe(EW);fe(TW);const PW=jt("editorOverviewRuler.bracketMatchForeground","#A0A0A0",C("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class MW extends Qe{constructor(){super({id:"editor.action.jumpToBracket",label:C("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:F.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Su.get(t))==null||i.jumpToBracket()}}class RW extends Qe{constructor(){super({id:"editor.action.selectToBracket",label:C("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Zt("smartSelect.selectToBracketDescription","Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var s;let n=!0;i&&i.selectBrackets===!1&&(n=!1),(s=Su.get(t))==null||s.selectToBracket(n)}}class NW extends Qe{constructor(){super({id:"editor.action.removeBrackets",label:C("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:F.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Su.get(t))==null||i.removeBrackets(this.id)}}class AW{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Kl=class Kl extends ft{static get(e){return e.getContribution(Kl.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new bs(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const n=i.getStartPosition(),s=e.bracketPairs.matchBracket(n);let r=null;if(s)s[0].containsPosition(n)&&!s[1].containsPosition(n)?r=s[1].getStartPosition():s[1].containsPosition(n)&&(r=s[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(n);if(a)r=a[1].getStartPosition();else{const c=e.bracketPairs.findNextBracket(n);c&&c.range&&(r=c.range.getStartPosition())}}return r?new _i(r.lineNumber,r.column,r.lineNumber,r.column):new _i(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(n=>{const s=n.getStartPosition();let r=t.bracketPairs.matchBracket(s);if(!r&&(r=t.bracketPairs.findEnclosingBrackets(s),!r)){const u=t.bracketPairs.findNextBracket(s);u&&u.range&&(r=t.bracketPairs.matchBracket(u.range.getStartPosition()))}let a=null,c=null;if(r){r.sort(K.compareRangesUsingStarts);const[u,f]=r;if(a=e?u.getStartPosition():u.getEndPosition(),c=e?f.getEndPosition():f.getStartPosition(),f.containsPosition(s)){const g=a;a=c,c=g}}a&&c&&i.push(new _i(a.lineNumber,a.column,c.lineNumber,c.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const n=i.getPosition();let s=t.bracketPairs.matchBracket(n);s||(s=t.bracketPairs.findEnclosingBrackets(n)),s&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:s[0],text:""},{range:s[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);const s=[];let r=0;for(let g=0,p=e.length;g<p;g++){const w=e[g];w.isEmpty()&&(s[r++]=w.getStartPosition())}s.length>1&&s.sort(Jt.compare);const a=[];let c=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const w=s[g];for(;u<f&&n[u].position.isBefore(w);)u++;if(u<f&&n[u].position.equals(w))a[c++]=n[u];else{let m=t.bracketPairs.matchBracket(w,20),x=Kl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!m&&this._matchBrackets==="always"&&(m=t.bracketPairs.findEnclosingBrackets(w,20),x=Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new AW(w,m,x)}}this._lastBracketsData=a,this._lastVersionId=i}};Kl.ID="editor.contrib.bracketMatchingController",Kl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=tn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:_s(PW),position:Fa.Center}}),Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=tn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Su=Kl;Gi(Su.ID,Su,1);fe(RW);fe(MW);fe(NW);Nr.appendMenuItem(At.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:C({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class OW{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,n=this._selection.startColumn,s=this._selection.endColumn;if(!(this._isMovingLeft&&n===1)&&!(!this._isMovingLeft&&s===e.getLineMaxColumn(i)))if(this._isMovingLeft){const r=new K(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new K(i,s,i,s),a)}else{const r=new K(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new K(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new _i(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new _i(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class dM extends Qe{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const s of n)i.push(new OW(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class FW extends dM{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:C("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:F.writable})}}class HW extends dM{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:C("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:F.writable})}}fe(FW);fe(HW);class WW extends Qe{constructor(){super({id:"editor.action.transposeLetters",label:C("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:F.writable,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=[],s=t.getSelections();for(const r of s){if(!r.isEmpty())continue;const a=r.startLineNumber,c=r.startColumn,u=i.getLineMaxColumn(a);if(a===1&&(c===1||c===2&&u===2))continue;const f=c===u?r.getPosition():bw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=bw.leftPosition(i,f),p=bw.leftPosition(i,g),w=i.getValueInRange(K.fromPositions(p,g)),m=i.getValueInRange(K.fromPositions(g,f)),x=K.fromPositions(p,f);n.push(new o_(x,m+w))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}fe(WW);const Vy=(function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let o;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?o=crypto.getRandomValues.bind(crypto):o=function(i){for(let n=0;n<i.length;n++)i[n]=Math.floor(Math.random()*256);return i};const e=new Uint8Array(16),t=[];for(let i=0;i<256;i++)t.push(i.toString(16).padStart(2,"0"));return function(){o(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=0,s="";return s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s}})();function R0(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function BW(o,e,t){const i={id:Vy(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class uM{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return hl.some(this,([i,n])=>n.asFile())&&t.push("files"),fM(pv(e),t)}get(e){var t;return(t=this._entries.get(this.toKey(e)))==null?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return pv(e)}}function pv(o){return o.toLowerCase()}function hM(o,e){return fM(pv(o),e.map(pv))}function fM(o,e){if(o==="*/*")return e.length>0;if(e.includes(o))return!0;const t=o.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;const[i,n,s]=t;return s==="*"?e.some(r=>r.startsWith(n+"/")):!1}const jy=Object.freeze({create:o=>EE(o.map(e=>e.toString())).join(`\r
|
|
14
|
+
`),split:o=>o.split(`\r
|
|
15
|
+
`),parse:o=>jy.split(o).filter(e=>!e.startsWith("#"))}),Sa=class Sa{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+Sa.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new Sa((this.value?[this.value,...e]:e).join(Sa.sep))}};Sa.sep=".",Sa.None=new Sa("@@none@@"),Sa.Empty=new Sa("");let jn=Sa;const ZL={EDITORS:"CodeEditors",FILES:"CodeFiles"};class zW{}const VW={DragAndDropContribution:"workbench.contributions.dragAndDrop"};da.add(VW.DragAndDropContribution,new zW);const op=class op{constructor(){}static getInstance(){return op.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};op.INSTANCE=new op;let ZS=op;function gM(o){const e=new uM;for(const t of o.items){const i=t.type;if(t.kind==="string"){const n=new Promise(s=>t.getAsString(s));e.append(i,R0(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,jW(n))}}return e}function jW(o){const e=o.path?Dn.parse(o.path):void 0;return BW(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const $W=Object.freeze([ZL.EDITORS,ZL.FILES,vS.RESOURCES,vS.INTERNAL_URI_LIST]);function pM(o,e=!1){const t=gM(o),i=t.get(vS.INTERNAL_URI_LIST);if(i)t.replace(Os.uriList,i);else if(e||!t.has(Os.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(Dn.file(a).toString()):n.push(Dn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Os.uriList,R0(jy.create(n)))}for(const n of $W)t.delete(n);return t}var N0=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cp=function(o,e){return function(t,i){e(t,i,o)}};class A0{async provideDocumentPasteEdits(e,t,i,n,s){const r=await this.getEdit(i,s);if(r)return{edits:[{insertText:r.insertText,title:r.title,kind:r.kind,handledMimeType:r.handledMimeType,yieldTo:r.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,i,n){const s=await this.getEdit(i,n);if(s)return{edits:[{insertText:s.insertText,title:s.title,kind:s.kind,handledMimeType:s.handledMimeType,yieldTo:s.yieldTo}],dispose(){}}}}const rp=class rp extends A0{constructor(){super(...arguments),this.kind=rp.kind,this.dropMimeTypes=[Os.text],this.pasteMimeTypes=[Os.text]}async getEdit(e,t){const i=e.get(Os.text);if(!i||e.has(Os.uriList))return;const n=await i.asString();return{handledMimeType:Os.text,title:C("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};rp.id="text",rp.kind=new jn("text.plain");let Cu=rp;class _M extends A0{constructor(){super(...arguments),this.kind=new jn("uri.absolute"),this.dropMimeTypes=[Os.uriList],this.pasteMimeTypes=[Os.uriList]}async getEdit(e,t){const i=await mM(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===fo.file?a.fsPath:(n++,c)).join(" ");let r;return n>0?r=i.length>1?C("defaultDropProvider.uriList.uris","Insert Uris"):C("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?C("defaultDropProvider.uriList.paths","Insert Paths"):C("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Os.uriList,insertText:s,title:r,kind:this.kind}}}let _v=class extends A0{constructor(e){super(),this._workspaceContextService=e,this.kind=new jn("uri.relative"),this.dropMimeTypes=[Os.uriList],this.pasteMimeTypes=[Os.uriList]}async getEdit(e,t){const i=await mM(e);if(!i.length||t.isCancellationRequested)return;const n=vl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?RA(r.uri,s):void 0}));if(n.length)return{handledMimeType:Os.uriList,insertText:n.join(" "),title:i.length>1?C("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):C("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};_v=N0([Cp(0,df)],_v);class UW{constructor(){this.kind=new jn("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Os.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==bS.PasteAs&&!((c=n.only)!=null&&c.contains(this.kind)))return;const r=i.get("text/html"),a=await(r==null?void 0:r.asString());if(!(!a||s.isCancellationRequested))return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:C("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function mM(o){const e=o.get(Os.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of jy.parse(t))try{i.push({uri:Dn.parse(n),originalText:n})}catch{}return i}let XS=class extends ft{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Cu)),this._register(e.documentDropEditProvider.register("*",new _M)),this._register(e.documentDropEditProvider.register("*",new _v(t)))}};XS=N0([Cp(0,ei),Cp(1,df)],XS);let YS=class extends ft{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Cu)),this._register(e.documentPasteEditProvider.register("*",new _M)),this._register(e.documentPasteEditProvider.register("*",new _v(t))),this._register(e.documentPasteEditProvider.register("*",new UW))}};YS=N0([Cp(0,ei),Cp(1,df)],YS);const _r=class _r{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const e=this.pos;let t=0,i=this.value.charCodeAt(e),n;if(n=_r._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(_r.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(_r.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(_r.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(_r.isVariableCharacter(i)||_r.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}n=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof _r._table[i]>"u"&&!_r.isDigitCharacter(i)&&!_r.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};_r._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let QS=_r;class Kf{constructor(){this._children=[]}appendChild(e){return e instanceof ko&&this._children[this._children.length-1]instanceof ko?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,n=i.children.indexOf(e),s=i.children.slice(0);s.splice(n,1,...t),i._children=s,(function r(a,c){for(const u of a)u.parent=c,r(u.children,u)})(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof k_)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let ko=class vM extends Kf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new vM(this.value)}};class bM extends Kf{}class ar extends bM{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:e.index>t.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof Zf?this._children[0]:void 0}clone(){const e=new ar(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Zf extends Kf{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof ko&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Zf;return this.options.forEach(e.appendChild,e),e}}class O0 extends Kf{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,n=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(s=>s instanceof Qr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Qr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new O0;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}}class Qr extends Kf{constructor(e,t,i,n){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=n}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":e&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((i,n)=>n===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new Qr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class xp extends bM{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new ko(t)],!0):!1}clone(){const e=new xp(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function XL(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class k_ extends Kf{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof ar&&(e.push(i),t=!t||t.index<i.index?i:t),!0}),this._placeholders={all:e,last:t}}return this._placeholders}get placeholders(){const{all:e}=this.placeholderInfo;return e}offset(e){let t=0,i=!1;return this.walk(n=>n===e?(i=!0,!1):(t+=n.len(),!0)),i?t:-1}fullLen(e){let t=0;return XL([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof ar&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof xp&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new k_;return this._children=this.children.map(t=>t.clone()),e}walk(e){XL(this.children,e)}}class xu{constructor(){this._scanner=new QS,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const n=new k_;return this.parseFragment(e,n),this.ensureFinalTabstop(n,i??!1,t??!1),n}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const n=new Map,s=[];t.walk(c=>(c instanceof ar&&(c.isFinalTabstop?n.set(0,void 0):!n.has(c.index)&&c.children.length>0?n.set(c.index,c.children):s.push(c)),!0));const r=(c,u)=>{const f=n.get(c.index);if(!f)return;const g=new ar(c.index);g.transform=c.transform;for(const p of f){const w=p.clone();g.appendChild(w),w instanceof ar&&n.has(w.index)&&!u.has(w.index)&&(u.add(w.index),r(w,u),u.delete(w.index))}t.replace(c,[g])},a=new Set;for(const c of s)r(c,a);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(s=>s.index===0)||e.appendChild(new ar(0)))}_accept(e,t){if(e===void 0||this._token.type===e){const i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){const n=this._scanner.next();if(n.type!==0&&n.type!==4&&n.type!==5)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new ko(t)),!0):!1}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new ar(Number(t)):new xp(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const s=new ar(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new ko("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new Zf;for(;;){if(this._parseChoiceElement(r)){if(this._accept(2))continue;if(this._accept(7)&&(s.appendChild(r),this._accept(4)))return e.appendChild(s),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(s)?(e.appendChild(s),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(s),!0):this._backTo(i)}_parseChoiceElement(e){const t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let n;if((n=this._accept(5,!0))?n=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||n:n=this._accept(void 0,!0),!n)return this._backTo(t),!1;i.push(n)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new ko(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const s=new xp(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new ko("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(s)?(e.appendChild(s),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(s),!0):this._backTo(i)}_parseTransform(e){const t=new O0;let i="",n="";for(;!this._accept(6);){let s;if(s=this._accept(5,!0)){s=this._accept(6,!0)||s,i+=s;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let s;if(s=this._accept(5,!0)){s=this._accept(5,!0)||this._accept(6,!0)||s,t.appendChild(new ko(s));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){n+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,n)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const n=this._accept(8,!0);if(n)if(i){if(this._accept(4))return e.appendChild(new Qr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Qr(Number(n))),!0;else return this._backTo(t),!1;if(this._accept(6)){const s=this._accept(9,!0);return!s||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new Qr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Qr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Qr(Number(n),void 0,void 0,s)),!0}else if(this._accept(13)){const s=this._until(1);if(s){const r=this._until(4);if(r)return e.appendChild(new Qr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Qr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new ko(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function yM(o,e,t){var i,n;return(typeof t.insertText=="string"?t.insertText==="":t.insertText.snippet==="")?{edits:((i=t.additionalEdit)==null?void 0:i.edits)??[]}:{edits:[...e.map(s=>new NA(o,{range:s,text:typeof t.insertText=="string"?xu.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function wM(o){function e(r,a){return"mimeType"in r?r.mimeType===a.handledMimeType:!!a.kind&&r.kind.contains(a.kind)}const t=new Map;for(const r of o)for(const a of r.yieldTo??[])for(const c of o)if(c!==r&&e(a,c)){let u=t.get(r);u||(u=[],t.set(r,u)),u.push(c)}if(!t.size)return Array.from(o);const i=new Set,n=[];function s(r){if(!r.length)return[];const a=r[0];if(n.includes(a))return console.warn("Yield to cycle detected",a),r;if(i.has(a))return s(r.slice(1));let c=[];const u=t.get(a);return u&&(n.push(a),c=s(u),n.pop()),i.add(a),[...c,a,...s(r.slice(1))]}return s(Array.from(o))}var qW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},GW=function(o,e){return function(t,i){e(t,i,o)}};const KW=tn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:TE,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Ib=class Ib extends ft{constructor(e,t,i,n,s){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=s,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(n),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=Vt(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=Vt("span.icon");this.domNode.append(t),t.classList.add(...bn.asClassNameArray(yi.loading),"codicon-modifier-spin");const i=()=>{const n=this.editor.getOption(67);this.domNode.style.height=`${n}px`,this.domNode.style.width=`${Math.ceil(.8*n)}px`};i(),this._register(this.editor.onDidChangeConfiguration(n=>{(n.hasChanged(52)||n.hasChanged(67))&&i()})),this._register(_n(this.domNode,Zn.CLICK,n=>{this.delegate.cancel()}))}getId(){return Ib.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}};Ib.baseId="editor.widget.inlineProgressWidget";let JS=Ib,mv=class extends ft{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new qo),this._currentWidget=this._register(new qo),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,i,n,s){const r=this._operationIdPool++;this._currentOperation=r,this.clear(),this._showPromise.value=cp(()=>{const a=K.fromPositions(e);this._currentDecorations.set([{range:a,options:KW}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(JS,this.id,this._editor,a,t,n))},s??this._showDelay);try{return await i}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};mv=qW([GW(2,Ti)],mv);var ZW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YL=function(o,e){return function(t,i){e(t,i,o)}},Fm,fc;let Io=(fc=class{static get(e){return e.getContribution(Fm.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new qo,this._messageListeners=new dt,this._mouseOverMessage=!1,this._editor=e,this._visible=Fm.MESSAGE_VISIBLE.bindTo(t)}dispose(){var e;(e=this._message)==null||e.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){Ar(km(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=km(e)?AA(e,{actionHandler:{callback:n=>{this.closeMessage(),OA(this._openerService,n,km(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new QL(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(vs.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&FA(DE(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(_n(this._messageWidget.value.getDomNode(),Zn.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(_n(this._messageWidget.value.getDomNode(),Zn.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let i;this._messageListeners.add(this._editor.onMouseMove(n=>{n.target.position&&(i?i.containsPosition(n.target.position)||this.closeMessage():i=new K(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(QL.fadeOut(this._messageWidget.value))}},Fm=fc,fc.ID="editor.contrib.messageController",fc.MESSAGE_VISIBLE=new dn("messageVisible",!1,C("messageVisible","Whether the editor is currently showing an inline message")),fc);Io=Fm=ZW([YL(1,mn),YL(2,ua)],Io);const XW=bo.bindToContribution(Io.get);ii(new XW({id:"leaveEditorMessage",precondition:Io.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let QL=class{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},n){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const s=document.createElement("div");s.classList.add("anchor","top"),this._domNode.appendChild(s);const r=document.createElement("div");typeof n=="string"?(r.classList.add("message"),r.textContent=n):(n.classList.add("message"),r.appendChild(n)),this._domNode.appendChild(r);const a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};Gi(Io.ID,Io,4);function Nw(o,e){return e&&(o.stack||o.stacktrace)?C("stackTrace.format","{0}: {1}",eI(o),JL(o.stack)||JL(o.stacktrace)):eI(o)}function JL(o){return Array.isArray(o)?o.join(`
|
|
16
|
+
`):o}function eI(o){return o.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${o.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof o.code=="string"&&typeof o.errno=="number"&&typeof o.syscall=="string"?C("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function vv(o=null,e=!1){if(!o)return C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=vl(o),i=vv(t[0],e);return t.length>1?C("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(PE(o))return o;if(o.detail){const t=o.detail;if(t.error)return Nw(t.error,e);if(t.exception)return Nw(t.exception,e)}return o.stack?Nw(o,e):o.message?o.message:C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var SM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vh=function(o,e){return function(t,i){e(t,i,o)}},eC,Td;let tC=(Td=class extends ft{constructor(e,t,i,n,s,r,a,c,u,f){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=c,this._keybindingService=f,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(u),this.visibleContext.set(!0),this._register(Vn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Vn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(g=>{s.containsPosition(g.position)||this.dispose()})),this._register(vs.runAndSubscribe(f.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){var t;const e=(t=this._keybindingService.lookupKeybinding(this.showCommand.id))==null?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:"")}create(){this.domNode=Vt(".post-edit-widget"),this.button=this._register(new HA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(_n(this.domNode,Zn.CLICK,()=>this.showSelector()))}getId(){return eC.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=po(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>WA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},eC=Td,Td.baseId="editor.widget.postEditWidget",Td);tC=eC=SM([Vh(7,Bf),Vh(8,mn),Vh(9,hs)],tC);let bv=class extends ft{constructor(e,t,i,n,s,r,a){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=n,this._instantiationService=s,this._bulkEditService=r,this._notificationService=a,this._currentWidget=this._register(new qo),this._register(vs.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,i,n,s){const r=this._editor.getModel();if(!r||!e.length)return;const a=t.allEdits.at(t.activeEditIndex);if(!a)return;const c=async k=>{const E=this._editor.getModel();E&&(await E.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:k,allEdits:t.allEdits},i,n,s))},u=(k,E)=>{Hc(k)||(this._notificationService.error(E),i&&this.show(e[0],t,c))};let f;try{f=await n(a,s)}catch(k){return u(k,C("resolveError",`Error resolving edit '{0}':
|
|
17
|
+
{1}`,a.title,vv(k)))}if(s.isCancellationRequested)return;const g=yM(r.uri,e,f),p=e[0],w=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let m,x;try{m=await this._bulkEditService.apply(g,{editor:this._editor,token:s}),x=r.getDecorationRange(w[0])}catch(k){return u(k,C("applyError",`Error applying edit '{0}':
|
|
18
|
+
{1}`,a.title,vv(k)))}finally{r.deltaDecorations(w,[])}s.isCancellationRequested||i&&m.isApplied&&t.allEdits.length>1&&this.show(x??p,t,c)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(tC,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i))}clear(){this._currentWidget.clear()}tryShowSelector(){var e;(e=this._currentWidget.value)==null||e.showSelector()}};bv=SM([Vh(4,Ti),Vh(5,fy),Vh(6,ao)],bv);var YW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},th=function(o,e){return function(t,i){e(t,i,o)}},ed;const CM="editor.changePasteType",F0=new dn("pasteWidgetVisible",!1,C("pasteWidgetVisible","Whether the paste widget is showing")),Aw="application/vnd.code.copyMetadata";var Pd;let xl=(Pd=class extends ft{static get(e){return e.getContribution(ed.ID)}constructor(e,t,i,n,s,r,a){super(),this._bulkEditService=i,this._clipboardService=n,this._languageFeaturesService=s,this._quickInputService=r,this._progressService=a,this._editor=e;const c=e.getContainerDomNode();this._register(_n(c,"copy",u=>this.handleCopy(u))),this._register(_n(c,"cut",u=>this.handleCopy(u))),this._register(_n(c,"paste",u=>this.handlePaste(u),!0)),this._pasteProgressManager=this._register(new mv("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(bv,"pasteIntoEditor",e,F0,{id:CM,label:C("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},$x().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var x,k,E,P;if(!this._editor.hasTextFocus()||((k=(x=this._clipboardService).clearInternalState)==null||k.call(x),!e.clipboardData||!this.isPasteAsEnabled()))return;const t=this._editor.getModel(),i=this._editor.getSelections();if(!t||!(i!=null&&i.length))return;const n=this._editor.getOption(37);let s=i;const r=i.length===1&&i[0].isEmpty();if(r){if(!n)return;s=[new K(s[0].startLineNumber,1,s[0].startLineNumber,1+t.getLineLength(s[0].startLineNumber))]}const a=(E=this._editor._getViewModel())==null?void 0:E.getPlainTextToCopy(i,n,gy),u={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},f=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(A=>!!A.prepareDocumentPaste);if(!f.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:u});return}const g=gM(e.clipboardData),p=f.flatMap(A=>A.copyMimeTypes??[]),w=Vy();this.setCopyMetadata(e.clipboardData,{id:w,providerCopyMimeTypes:p,defaultPastePayload:u});const m=Rs(async A=>{const U=vl(await Promise.all(f.map(async B=>{try{return await B.prepareDocumentPaste(t,s,g,A)}catch(ne){console.error(ne);return}})));U.reverse();for(const B of U)for(const[ne,ie]of B)g.replace(ne,ie);return g});(P=ed._currentCopyOperation)==null||P.dataTransferPromise.cancel(),ed._currentCopyOperation={handle:w,dataTransferPromise:m}}async handlePaste(e){var c,u,f;if(!e.clipboardData||!this._editor.hasTextFocus())return;(c=Io.get(this._editor))==null||c.closeMessage(),(u=this._currentPasteOperation)==null||u.cancel(),this._currentPasteOperation=void 0;const t=this._editor.getModel(),i=this._editor.getSelections();if(!(i!=null&&i.length)||!t||this._editor.getOption(92)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const n=this.fetchCopyMetadata(e),s=pM(e.clipboardData);s.delete(Aw);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Os.uriList],a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(g=>{var w,m;const p=(w=this._pasteAsActionContext)==null?void 0:w.preferred;return p&&g.providedPasteEditKinds&&!this.providerMatchesPreference(g,p)?!1:(m=g.pasteMimeTypes)==null?void 0:m.some(x=>hM(x,r))});if(!a.length){(f=this._pasteAsActionContext)!=null&&f.preferred&&this.showPasteAsNoEditMessage(i,this._pasteAsActionContext.preferred);return}e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,a,i,s,n):this.doPasteInline(a,i,s,n,e)}showPasteAsNoEditMessage(e,t){var i;(i=Io.get(this._editor))==null||i.showMessage(C("pasteAsError","No paste edits for '{0}' found",t instanceof jn?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new uf(r,3,void 0),c=Rs(async u=>{const f=this._editor;if(!f.hasModel())return;const g=f.getModel(),p=new dt,w=p.add(new Ns(u));p.add(a.token.onCancellationRequested(()=>w.cancel()));const m=w.token;try{if(await this.mergeInDataFromCopy(i,n,m),m.isCancellationRequested)return;const x=e.filter(P=>this.isSupportedPasteProvider(P,i));if(!x.length||x.length===1&&x[0]instanceof Cu)return this.applyDefaultPasteHandler(i,n,m,s);const k={triggerKind:bS.Automatic},E=await this.getPasteEdits(x,i,g,t,k,m);if(p.add(E),m.isCancellationRequested)return;if(E.edits.length===1&&E.edits[0].provider instanceof Cu)return this.applyDefaultPasteHandler(i,n,m,s);if(E.edits.length){const P=f.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:E.edits},P,(A,U)=>new Promise((B,ne)=>{(async()=>{var ie,pe;try{const _e=(pe=(ie=A.provider).resolveDocumentPasteEdit)==null?void 0:pe.call(ie,A,U),Ke=new py,Re=_e&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),C("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([Ke.p,_e]),{cancel:()=>(Ke.cancel(),ne(new _y))},0);return Re&&(A.additionalEdit=Re.additionalEdit),B(A)}catch(_e){return ne(_e)}})()}),m)}await this.applyDefaultPasteHandler(i,n,m,s)}finally{p.dispose(),this._currentPasteOperation===c&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),C("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),c,{cancel:async()=>{try{if(c.cancel(),a.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,n,a.token,s)}finally{a.dispose()}}}).then(()=>{a.dispose()}),this._currentPasteOperation=c}showPasteAsPick(e,t,i,n,s){const r=Rs(async a=>{const c=this._editor;if(!c.hasModel())return;const u=c.getModel(),f=new dt,g=f.add(new uf(c,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,g.token),g.token.isCancellationRequested)return;let p=t.filter(E=>this.isSupportedPasteProvider(E,n,e));e&&(p=p.filter(E=>this.providerMatchesPreference(E,e)));const w={triggerKind:bS.PasteAs,only:e&&e instanceof jn?e:void 0};let m=f.add(await this.getPasteEdits(p,n,u,i,w,g.token));if(g.token.isCancellationRequested)return;if(e&&(m={edits:m.edits.filter(E=>e instanceof jn?e.contains(E.kind):e.providerId===E.provider.id),dispose:m.dispose}),!m.edits.length){w.only&&this.showPasteAsNoEditMessage(i,w.only);return}let x;if(e)x=m.edits.at(0);else{const E=await this._quickInputService.pick(m.edits.map(P=>{var A;return{label:P.title,description:(A=P.kind)==null?void 0:A.value,edit:P}}),{placeHolder:C("pasteAsPickerPlaceholder","Select Paste Action")});x=E==null?void 0:E.edit}if(!x)return;const k=yM(u.uri,i,x);await this._bulkEditService.apply(k,{editor:this._editor})}finally{f.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:C("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(Aw,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(Aw);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=BA.getTextData(e.clipboardData);if(n)return{defaultPastePayload:{mode:n.mode,multicursorText:n.multicursorText??null,pasteOnNewLine:!!n.isFromEmptySelection}}}async mergeInDataFromCopy(e,t,i){var n;if(t!=null&&t.id&&((n=ed._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await ed._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(Os.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Os.uriList,R0(jy.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new dt,c=await r_(Promise.all(e.map(async f=>{var g,p;try{const w=await((g=f.provideDocumentPasteEdits)==null?void 0:g.call(f,i,n,t,s,r));return w&&a.add(w),(p=w==null?void 0:w.edits)==null?void 0:p.map(m=>({...m,provider:f}))}catch(w){Hc(w)||console.error(w);return}})),r),u=vl(c??[]).flat().filter(f=>!s.only||s.only.contains(f.kind));return{edits:wM(u),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Os.text)??e.get("text"),r=await(s==null?void 0:s.asString())??"";if(i.isCancellationRequested)return;const a={clipboardEvent:n,text:r,pasteOnNewLine:(t==null?void 0:t.defaultPastePayload.pasteOnNewLine)??!1,multicursorText:(t==null?void 0:t.defaultPastePayload.multicursorText)??null,mode:null};this._editor.trigger("keyboard","paste",a)}isSupportedPasteProvider(e,t,i){var n;return(n=e.pasteMimeTypes)!=null&&n.some(s=>t.matches(s))?!i||this.providerMatchesPreference(e,i):!1}providerMatchesPreference(e,t){return t instanceof jn?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},ed=Pd,Pd.ID="editor.contrib.copyPasteActionController",Pd);xl=ed=YW([th(1,Ti),th(2,fy),th(3,zf),th(4,ei),th(5,El),th(6,zA)],xl);const ku="9_cutcopypaste",QW=Vf||document.queryCommandSupported("cut"),xM=Vf||document.queryCommandSupported("copy"),JW=typeof navigator.clipboard>"u"||VA?document.queryCommandSupported("paste"):!0;function H0(o){return o.register(),o}const eB=QW?H0(new Ux({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Vf?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:At.MenubarEditMenu,group:"2_ccp",title:C({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:At.EditorContext,group:ku,title:C("actions.clipboard.cutLabel","Cut"),when:F.writable,order:1},{menuId:At.CommandPalette,group:"",title:C("actions.clipboard.cutLabel","Cut"),order:1},{menuId:At.SimpleEditorContext,group:ku,title:C("actions.clipboard.cutLabel","Cut"),when:F.writable,order:1}]})):void 0,tB=xM?H0(new Ux({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Vf?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:At.MenubarEditMenu,group:"2_ccp",title:C({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:At.EditorContext,group:ku,title:C("actions.clipboard.copyLabel","Copy"),order:2},{menuId:At.CommandPalette,group:"",title:C("actions.clipboard.copyLabel","Copy"),order:1},{menuId:At.SimpleEditorContext,group:ku,title:C("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Nr.appendMenuItem(At.MenubarEditMenu,{submenu:At.MenubarCopy,title:Zt("copy as","Copy As"),group:"2_ccp",order:3});Nr.appendMenuItem(At.EditorContext,{submenu:At.EditorContextCopy,title:Zt("copy as","Copy As"),group:ku,order:3});Nr.appendMenuItem(At.EditorContext,{submenu:At.EditorContextShare,title:Zt("share","Share"),group:"11_share",order:-1,when:xe.and(xe.notEquals("resourceScheme","output"),F.editorTextFocus)});Nr.appendMenuItem(At.ExplorerContext,{submenu:At.ExplorerContextShare,title:Zt("share","Share"),group:"11_share",order:-1});const Ow=JW?H0(new Ux({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Vf?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:At.MenubarEditMenu,group:"2_ccp",title:C({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:At.EditorContext,group:ku,title:C("actions.clipboard.pasteLabel","Paste"),when:F.writable,order:4},{menuId:At.CommandPalette,group:"",title:C("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:At.SimpleEditorContext,group:ku,title:C("actions.clipboard.pasteLabel","Paste"),when:F.writable,order:4}]})):void 0;class iB extends Qe{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:C("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:F.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(nL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),nL.forceCopyWithSyntaxHighlighting=!1)}}function kM(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(as).getFocusedCodeEditor();if(n&&n.hasTextFocus()){const s=n.getOption(37),r=n.getSelection();return r&&r.isEmpty()&&!s||n.getContainerDomNode().ownerDocument.execCommand(e),!0}return!1}),o.addImplementation(0,"generic-dom",(t,i)=>($x().execCommand(e),!0)))}kM(eB,"cut");kM(tB,"copy");Ow&&(Ow.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(as),i=o.get(zf),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=xl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():jA?(async()=>{const a=await i.readText();if(a!==""){const c=$A.INSTANCE.get(a);let u=!1,f=null,g=null;c&&(u=n.getOption(37)&&!!c.isFromEmptySelection,f=typeof c.multicursorText<"u"?c.multicursorText:null,g=c.mode),n.trigger("keyboard","paste",{text:a,pasteOnNewLine:u,multicursorText:f,mode:g})}})():!0:!1}),Ow.addImplementation(0,"generic-dom",(o,e)=>($x().execCommand("paste"),!0)));xM&&fe(iB);const Nn=new class{constructor(){this.QuickFix=new jn("quickfix"),this.Refactor=new jn("refactor"),this.RefactorExtract=this.Refactor.append("extract"),this.RefactorInline=this.Refactor.append("inline"),this.RefactorMove=this.Refactor.append("move"),this.RefactorRewrite=this.Refactor.append("rewrite"),this.Notebook=new jn("notebook"),this.Source=new jn("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var Po;(function(o){o.Refactor="refactor",o.RefactorPreview="refactor preview",o.Lightbulb="lightbulb",o.Default="other (default)",o.SourceAction="source action",o.QuickFix="quick fix action",o.FixAll="fix all",o.OrganizeImports="organize imports",o.AutoFix="auto fix",o.QuickFixHover="quick fix hover window",o.OnSave="save participants",o.ProblemsView="problems view"})(Po||(Po={}));function nB(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>LM(e,t,o.include))||!o.includeSourceActions&&Nn.Source.contains(e))}function sB(o,e){const t=e.kind?new jn(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>LM(t,i,o.include))||!o.includeSourceActions&&t&&Nn.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function LM(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Pa{static fromUser(e,t){return!e||typeof e!="object"?new Pa(t.kind,t.apply,!1):new Pa(Pa.getKindFromUser(e,t.kind),Pa.getApplyFromUser(e,t.apply),Pa.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new jn(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}}class oB{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){var t;if((t=this.provider)!=null&&t.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,e)}catch(n){rs(n)}i&&(this.action.edit=i.edit)}return this}}const IM="editor.action.codeAction",W0="editor.action.quickFix",DM="editor.action.autoFix",EM="editor.action.refactor",TM="editor.action.sourceAction",iC="editor.action.organizeImports",nC="editor.action.fixAll";class Zg extends ft{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return e.isAI&&!t.isAI?1:!e.isAI&&t.isAI?-1:jo(e.diagnostics)?jo(t.diagnostics)?Zg.codeActionsPreferredComparator(e,t):-1:jo(t.diagnostics)?1:Zg.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Zg.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&Nn.QuickFix.contains(new jn(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}}const tI={actions:[],documentation:void 0};async function Ih(o,e,t,i,n,s){var x;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],Nn.Notebook]},c={only:(x=r.include)==null?void 0:x.value,trigger:i.type},u=new UA(e,s),f=i.type===2,g=rB(o,e,f?a:r),p=new dt,w=g.map(async k=>{try{n.report(k);const E=await k.provideCodeActions(e,t,c,u.token);if(E&&p.add(E),u.token.isCancellationRequested)return tI;const P=((E==null?void 0:E.actions)||[]).filter(U=>U&&sB(r,U)),A=lB(k,P,r.include);return{actions:P.map(U=>new oB(U,k)),documentation:A}}catch(E){if(Hc(E))throw E;return rs(E),tI}}),m=o.onDidChange(()=>{const k=o.all(e);za(k,g)||u.cancel()});try{const k=await Promise.all(w),E=k.map(A=>A.actions).flat(),P=[...vl(k.map(A=>A.documentation)),...aB(o,e,i,E)];return new Zg(E,P,p)}finally{m.dispose(),u.dispose()}}function rB(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>nB(t,new jn(n))):!0)}function*aB(o,e,t,i){var n,s,r;if(e&&i.length)for(const a of o.all(e))a._getAdditionalMenuItems&&(yield*(r=a._getAdditionalMenuItems)==null?void 0:r.call(a,{trigger:t.type,only:(s=(n=t.filter)==null?void 0:n.include)==null?void 0:s.value},i.map(c=>c.action)))}function lB(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new jn(n.kind),command:n.command}));if(t){let n;for(const s of i)s.kind.contains(t)&&(n?n.kind.contains(s.kind)&&(n=s):n=s);if(n)return n==null?void 0:n.command}for(const n of e)if(n.kind){for(const s of i)if(s.kind.contains(new jn(n.kind)))return s.command}}var hd;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(hd||(hd={}));async function cB(o,e,t,i,n=Vi.None){var u;const s=o.get(fy),r=o.get(Ls),a=o.get(ha),c=o.get(ao);if(a.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),await e.resolve(n),!n.isCancellationRequested&&!((u=e.action.edit)!=null&&u.edits.length&&!(await s.apply(e.action.edit,{editor:i==null?void 0:i.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:t!==hd.OnSave,showPreview:i==null?void 0:i.preview})).isApplied)&&e.action.command)try{await r.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(f){const g=dB(f);c.error(typeof g=="string"?g:C("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function dB(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}On.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof Dn))throw fl();const{codeActionProvider:s}=o.get(ei),r=o.get(lo).getModel(e);if(!r)throw fl();const a=_i.isISelection(t)?_i.liftSelection(t):K.isIRange(t)?r.validateRange(t):void 0;if(!a)throw fl();const c=typeof i=="string"?new jn(i):void 0,u=await Ih(s,r,a,{type:1,triggerAction:Po.Default,filter:{includeSourceActions:!0,include:c}},ll.None,Vi.None),f=[],g=Math.min(u.validActions.length,typeof n=="number"?n:0);for(let p=0;p<g;p++)f.push(u.validActions[p].resolve(Vi.None));try{return await Promise.all(f),u.validActions.map(p=>p.action)}finally{setTimeout(()=>u.dispose(),100)}});var uB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},hB=function(o,e){return function(t,i){e(t,i,o)}},sC,Md;let oC=(Md=class{constructor(e){this.keybindingService=e}getResolver(){const e=new qx(()=>this.keybindingService.getKeybindings().filter(t=>sC.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===iC?i={kind:Nn.SourceOrganizeImports.value}:t.command===nC&&(i={kind:Nn.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Pa.fromUser(i,{kind:jn.None,apply:"never"})}}));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.value);return i==null?void 0:i.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new jn(e.kind);return t.filter(n=>n.kind.contains(i)).filter(n=>n.preferred?e.isPreferred:!0).reduceRight((n,s)=>n?n.kind.contains(s.kind)?s:n:s,void 0)}},sC=Md,Md.codeActionCommands=[EM,IM,TM,iC,nC],Md);oC=sC=uB([hB(0,hs)],oC);jt("symbolIcon.arrayForeground",ys,C("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.booleanForeground",ys,C("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},C("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.colorForeground",ys,C("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.constantForeground",ys,C("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},C("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},C("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},C("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},C("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},C("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.fileForeground",ys,C("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.folderForeground",ys,C("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},C("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},C("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.keyForeground",ys,C("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.keywordForeground",ys,C("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},C("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.moduleForeground",ys,C("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.namespaceForeground",ys,C("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.nullForeground",ys,C("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.numberForeground",ys,C("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.objectForeground",ys,C("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.operatorForeground",ys,C("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.packageForeground",ys,C("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.propertyForeground",ys,C("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.referenceForeground",ys,C("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.snippetForeground",ys,C("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.stringForeground",ys,C("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.structForeground",ys,C("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.textForeground",ys,C("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.typeParameterForeground",ys,C("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.unitForeground",ys,C("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));jt("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},C("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const PM=Object.freeze({kind:jn.Empty,title:C("codeAction.widget.id.more","More Actions...")}),fB=Object.freeze([{kind:Nn.QuickFix,title:C("codeAction.widget.id.quickfix","Quick Fix")},{kind:Nn.RefactorExtract,title:C("codeAction.widget.id.extract","Extract"),icon:yi.wrench},{kind:Nn.RefactorInline,title:C("codeAction.widget.id.inline","Inline"),icon:yi.wrench},{kind:Nn.RefactorRewrite,title:C("codeAction.widget.id.convert","Rewrite"),icon:yi.wrench},{kind:Nn.RefactorMove,title:C("codeAction.widget.id.move","Move"),icon:yi.wrench},{kind:Nn.SurroundWith,title:C("codeAction.widget.id.surround","Surround With"),icon:yi.surroundWith},{kind:Nn.Source,title:C("codeAction.widget.id.source","Source Action"),icon:yi.symbolFile},PM]);function gB(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:PM,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=fB.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new jn(s.action.kind):jn.None;for(const a of i)if(a.group.kind.contains(r)){a.actions.push(s);break}}const n=[];for(const s of i)if(s.actions.length){n.push({kind:"header",group:s.group});for(const r of s.actions){const a=s.group;n.push({kind:"action",item:r,group:r.action.isAI?{title:a.title,kind:a.kind,icon:yi.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var pB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_B=function(o,e){return function(t,i){e(t,i,o)}},mh;const iI=is("gutter-lightbulb",yi.lightBulb,C("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),nI=is("gutter-lightbulb-auto-fix",yi.lightbulbAutofix,C("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),sI=is("gutter-lightbulb-sparkle",yi.lightbulbSparkle,C("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),oI=is("gutter-lightbulb-aifix-auto-fix",yi.lightbulbSparkleAutofix,C("gutterLightbulbAIFixAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.")),rI=is("gutter-lightbulb-sparkle-filled",yi.sparkleFilled,C("gutterLightbulbSparkleFilledWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available."));var Kr;(function(o){o.Hidden={type:0};class e{constructor(i,n,s,r){this.actions=i,this.trigger=n,this.editorPosition=s,this.widgetPosition=r,this.type=1}}o.Showing=e})(Kr||(Kr={}));var dl;let kp=(dl=class extends ft{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new zi),this.onClick=this._onClick.event,this._state=Kr.Hidden,this._gutterState=Kr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+iI.id,"codicon-"+oI.id,"codicon-"+nI.id,"codicon-"+sI.id,"codicon-"+rI.id],this.gutterDecoration=mh.GUTTER_DECORATION,this._domNode=Vt("div.lightBulbWidget"),this._domNode.role="listbox",this._register(ME.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(i=>{const n=this._editor.getModel();(this.state.type!==1||!n||this.state.editorPosition.lineNumber>=n.getLineCount())&&this.hide(),(this.gutterState.type!==1||!n||this.gutterState.editorPosition.lineNumber>=n.getLineCount())&&this.gutterHide()})),this._register(qA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=po(this._domNode),r=this._editor.getOption(67);let a=Math.floor(r/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber<this.state.editorPosition.lineNumber&&(a+=r),this._onClick.fire({x:i.posx,y:n+s+a,actions:this.state.actions,trigger:this.state.trigger})})),this._register(_n(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(vs.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(DM))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(W0))==null?void 0:n.getLabel())??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async i=>{if(!i.target.element||!this.lightbulbClasses.some(c=>i.target.element&&i.target.element.classList.contains(c))||this.gutterState.type!==1)return;this._editor.focus();const{top:n,height:s}=po(i.target.element),r=this._editor.getOption(67);let a=Math.floor(r/3);this.gutterState.widgetPosition.position!==null&&this.gutterState.widgetPosition.position.lineNumber<this.gutterState.editorPosition.lineNumber&&(a+=r),this._onClick.fire({x:i.event.posx,y:n+s+a,actions:this.gutterState.actions,trigger:this.gutterState.trigger})}))}dispose(){super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,i){if(e.validActions.length<=0)return this.gutterHide(),this.hide();if(!this._editor.hasTextFocus())return this.gutterHide(),this.hide();if(!this._editor.getOptions().get(65).enabled)return this.gutterHide(),this.hide();const r=this._editor.getModel();if(!r)return this.gutterHide(),this.hide();const{lineNumber:a,column:c}=r.validatePosition(i),u=r.getOptions().tabSize,f=this._editor.getOptions().get(50),g=r.getLineContent(a),p=Gx(g,u),w=f.spaceWidth*p>22,m=B=>B>2&&this._editor.getTopForLineNumber(B)===this._editor.getTopForLineNumber(B-1),x=this._editor.getLineDecorations(a);let k=!1;if(x)for(const B of x){const ne=B.options.glyphMarginClassName;if(ne&&!this.lightbulbClasses.some(ie=>ne.includes(ie))){k=!0;break}}let E=a,P=1;if(!w){const B=ne=>{const ie=r.getLineContent(ne);return/^\s*$|^\s+/.test(ie)||ie.length<=P};if(a>1&&!m(a-1)){const ne=r.getLineCount(),ie=a===ne,pe=a>1&&B(a-1),_e=!ie&&B(a+1),Ke=B(a),Re=!_e&&!pe;if(!_e&&!pe&&!k)return this.gutterState=new Kr.Showing(e,t,i,{position:{lineNumber:E,column:P},preference:mh._posPref}),this.renderGutterLightbub(),this.hide();pe||ie||pe&&!Ke?E-=1:(_e||Re&&Ke)&&(E+=1)}else if(a===1&&(a===r.getLineCount()||!B(a+1)&&!B(a)))if(this.gutterState=new Kr.Showing(e,t,i,{position:{lineNumber:E,column:P},preference:mh._posPref}),k)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!m(a+1))E+=1;else if(c*f.spaceWidth<22)return this.hide();P=/^\S\s*$/.test(r.getLineContent(E))?2:1}this.state=new Kr.Showing(e,t,i,{position:{lineNumber:E,column:P},preference:mh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const A=e.validActions,U=e.validActions[0].action.kind;if(A.length!==1||!U){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==Kr.Hidden&&(this.state=Kr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Kr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Kr.Hidden)}get state(){return this._state}set state(e){this._state=e,this._updateLightBulbTitleAndIcon()}get gutterState(){return this._gutterState}set gutterState(e){this._gutterState=e,this._updateGutterLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],this.state.type!==1)return;let e,t=!1;this.state.actions.allAIFixes?(e=yi.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=yi.lightbulbSparkleAutofix:e=yi.lightbulbAutofix:this.state.actions.hasAIFix?e=yi.lightbulbSparkle:e=yi.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=bn.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=rI,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=oI:e=nI:this.gutterState.actions.hasAIFix?e=sI:e=iI,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=tn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:bn.asClassName(e),glyphMargin:{position:Qm.Left},stickiness:1});this.gutterDecoration=i}renderGutterLightbub(){const e=this._editor.getSelection();e&&(this._gutterDecorationID===void 0?this._addGutterDecoration(e.startLineNumber):this._updateGutterDecoration(this._gutterDecorationID,e.startLineNumber))}_addGutterDecoration(e){this._editor.changeDecorations(t=>{this._gutterDecorationID=t.addDecoration(new K(e,0,e,0),this.gutterDecoration)})}_removeGutterDecoration(e){this._editor.changeDecorations(t=>{t.removeDecoration(e),this._gutterDecorationID=void 0})}_updateGutterDecoration(e,t){this._editor.changeDecorations(i=>{i.changeDecoration(e,new K(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=C("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=C("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=C("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=C("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},mh=dl,dl.GUTTER_DECORATION=tn.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:bn.asClassName(yi.lightBulb),glyphMargin:{position:Qm.Left},stickiness:1}),dl.ID="editor.contrib.lightbulbWidget",dl._posPref=[0],dl);kp=mh=pB([_B(1,hs)],kp);var MM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},rC=function(o,e){return function(t,i){e(t,i,o)}};const RM="acceptSelectedCodeAction",NM="previewSelectedCodeAction";class mB{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){var n;i.text.textContent=((n=e.group)==null?void 0:n.title)??""}disposeTemplate(e){}}let aC=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);const n=new Kx(e,Zx);return{container:e,icon:t,text:i,keybinding:n}}renderElement(e,t,i){var r,a,c;if((r=e.group)!=null&&r.icon?(i.icon.className=bn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=vd(e.group.icon.color.id))):(i.icon.className=bn.asClassName(yi.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=AM(e.label),i.keybinding.set(e.keybinding),GA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(RM))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(NM))==null?void 0:c.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:n&&s?this._supportsPreview&&e.canPreview?i.container.title=C({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to Apply, Shift+F2 to Preview"']},"{0} to Apply, {1} to Preview",n,s):i.container.title=C({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};aC=MM([rC(1,hs)],aC);class vB extends UIEvent{constructor(){super("acceptSelectedAction")}}class aI extends UIEvent{constructor(){super("previewSelectedAction")}}function bB(o){if(o.kind==="action")return o.label}let lC=class extends ft{constructor(e,t,i,n,s,r){super(),this._delegate=n,this._contextViewService=s,this._keybindingService=r,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new Ns),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:c=>c.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:c=>c.kind};this._list=this._register(new Xx(e,this.domNode,a,[new aC(t,this._keybindingService),new mB],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:bB},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let u=c.label?AM(c==null?void 0:c.label):"";return c.disabled&&(u=C({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",u,c.disabled)),u}return null},getWidgetAriaLabel:()=>C({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:c=>c.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(KA),this._register(this._list.onMouseClick(c=>this.onListClick(c))),this._register(this._list.onMouseOver(c=>this.onListHover(c))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(c=>this.onListSelection(c))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&e.kind==="action"}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter(c=>c.kind==="header").length,n=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(n);let s=e;if(this._allMenuItems.length>=50)s=380;else{const c=this._allMenuItems.map((u,f)=>{const g=this.domNode.ownerDocument.getElementById(this._list.getElementID(f));if(g){g.style.width="auto";const p=g.getBoundingClientRect().width;return g.style.width="",p}return 0});s=Math.max(...c,e)}const a=Math.min(n,this.domNode.ownerDocument.body.clientHeight*.7);return this._list.layout(a,s),this.domNode.style.height=`${a}px`,this._list.domFocus(),s}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(t.length===0)return;const i=t[0],n=this._list.element(i);if(!this.focusCondition(n))return;const s=e?new aI:new vB;this._list.setSelection([i],s)}onListSelection(e){if(!e.elements.length)return;const t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof aI):this._list.setSelection([])}onFocus(){var n,s;const e=this._list.getFocus();if(e.length===0)return;const t=e[0],i=this._list.element(t);(s=(n=this._delegate).onFocus)==null||s.call(n,i.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&t.kind==="action"){const i=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=i?i.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus(typeof e.index=="number"?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};lC=MM([rC(4,my),rC(5,hs)],lC);function AM(o){return o.replace(/\r\n|\r|\n/g," ")}var yB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fw=function(o,e){return function(t,i){e(t,i,o)}};jt("actionBar.toggledBackground",Yx,C("actionBar.toggledBackground","Background color for toggled action items in action bar."));const Lu={Visible:new dn("codeActionMenuVisible",!1,C("codeActionMenuVisible","Whether the action widget list is visible"))},Bu=Tl("actionWidgetService");let Iu=class extends ft{get isVisible(){return Lu.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new qo)}show(e,t,i,n,s,r,a){const c=Lu.Visible.bindTo(this._contextKeyService),u=this._instantiationService.createInstance(lC,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:f=>(c.set(!0),this._renderWidget(f,u,a??[])),onHide:f=>{c.reset(),this._onWidgetClosed(f)}},r,!1)}acceptSelected(e){var t;(t=this._list.value)==null||t.acceptSelected(e)}focusPrevious(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusPrevious()}focusNext(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusNext()}hide(e){var t;(t=this._list.value)==null||t.hide(e),this._list.clear()}_renderWidget(e,t,i){var w;const n=document.createElement("div");if(n.classList.add("action-widget"),e.appendChild(n),this._list.value=t,this._list.value)n.appendChild(this._list.value.domNode);else throw new Error("List has no value");const s=new dt,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(_n(a,Zn.MOUSE_DOWN,m=>m.stopPropagation()));const c=document.createElement("div"),u=e.appendChild(c);u.classList.add("context-view-pointerBlock"),s.add(_n(u,Zn.POINTER_MOVE,()=>u.remove())),s.add(_n(u,Zn.MOUSE_DOWN,()=>u.remove()));let f=0;if(i.length){const m=this._createActionBar(".action-widget-action-bar",i);m&&(n.appendChild(m.getContainer().parentElement),s.add(m),f=m.getContainer().offsetWidth)}const g=(w=this._list.value)==null?void 0:w.layout(f);n.style.width=`${g}px`;const p=s.add(hf(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=Vt(e),n=new dp(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};Iu=yB([Fw(0,my),Fw(1,mn),Fw(2,Ti)],Iu);Pl(Bu,Iu,1);const L_=1100;Ln(class extends vo{constructor(){super({id:"hideCodeActionWidget",title:Zt("hideCodeActionWidget.title","Hide action widget"),precondition:Lu.Visible,keybinding:{weight:L_,primary:9,secondary:[1033]}})}run(o){o.get(Bu).hide(!0)}});Ln(class extends vo{constructor(){super({id:"selectPrevCodeAction",title:Zt("selectPrevCodeAction.title","Select previous action"),precondition:Lu.Visible,keybinding:{weight:L_,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Bu);e instanceof Iu&&e.focusPrevious()}});Ln(class extends vo{constructor(){super({id:"selectNextCodeAction",title:Zt("selectNextCodeAction.title","Select next action"),precondition:Lu.Visible,keybinding:{weight:L_,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Bu);e instanceof Iu&&e.focusNext()}});Ln(class extends vo{constructor(){super({id:RM,title:Zt("acceptSelected.title","Accept selected action"),precondition:Lu.Visible,keybinding:{weight:L_,primary:3,secondary:[2137]}})}run(o){const e=o.get(Bu);e instanceof Iu&&e.acceptSelected()}});Ln(class extends vo{constructor(){super({id:NM,title:Zt("previewSelected.title","Preview selected action"),precondition:Lu.Visible,keybinding:{weight:L_,primary:2051}})}run(o){const e=o.get(Bu);e instanceof Iu&&e.acceptSelected(!0)}});const OM=new dn("supportedCodeAction",""),lI="_typescript.applyFixAllCodeAction";class wB extends ft{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new a_),this._register(this._markerService.onMarkerChanged(s=>this._onMarkerChanges(s))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(i=>Jm(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Po.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(e.type===1)return t;const i=this._editor.getOption(65).enabled;if(i!==yw.Off){{if(i===yw.On)return t;if(i===yw.OnCode){if(!t.isEmpty())return t;const s=this._editor.getModel(),{lineNumber:r,column:a}=t.getPosition(),c=s.getLineContent(r);if(c.length===0)return;if(a===1){if(/\s/.test(c[0]))return}else if(a===s.getLineMaxColumn(r)){if(/\s/.test(c[c.length-1]))return}else if(/\s/.test(c[a-2])&&/\s/.test(c[a-1]))return}}return t}}}var sd;(function(o){o.Empty={type:0};class e{constructor(i,n,s){this.trigger=i,this.position=n,this._cancellablePromise=s,this.type=1,this.actions=s.catch(r=>{if(Hc(r))return FM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(sd||(sd={}));const FM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class SB extends ft{constructor(e,t,i,n,s,r,a){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=s,this._configurationService=r,this._telemetryService=a,this._codeActionOracle=this._register(new qo),this._state=sd.Empty,this._onDidChangeState=this._register(new zi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=OM.bindTo(n),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(c=>{c.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(sd.Empty,!0))}_settingEnabledNearbyQuickfixes(){var t;const e=(t=this._editor)==null?void 0:t.getModel();return this._configurationService?this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:e==null?void 0:e.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(sd.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(92)){const t=this._registry.all(e).flatMap(i=>i.providedCodeActionKinds??[]);this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new wB(this._editor,this._markerService,i=>{var c;if(!i){this.setState(sd.Empty);return}const n=i.selection.getStartPosition(),s=Rs(async u=>{var f,g,p,w,m,x,k,E,P,A;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===Po.QuickFix||(g=(f=i.trigger.filter)==null?void 0:f.include)!=null&&g.contains(Nn.QuickFix))){const U=await Ih(this._registry,e,i.selection,i.trigger,ll.None,u),B=[...U.allActions];if(u.isCancellationRequested)return FM;const ne=(p=U.validActions)==null?void 0:p.some(pe=>pe.action.kind?Nn.QuickFix.contains(new jn(pe.action.kind)):!1),ie=this._markerService.read({resource:e.uri});if(ne){for(const pe of U.validActions)(m=(w=pe.action.command)==null?void 0:w.arguments)!=null&&m.some(_e=>typeof _e=="string"&&_e.includes(lI))&&(pe.action.diagnostics=[...ie.filter(_e=>_e.relatedInformation)]);return{validActions:U.validActions,allActions:B,documentation:U.documentation,hasAutoFix:U.hasAutoFix,hasAIFix:U.hasAIFix,allAIFixes:U.allAIFixes,dispose:()=>{U.dispose()}}}else if(!ne&&ie.length>0){const pe=i.selection.getPosition();let _e=pe,Ke=Number.MAX_VALUE;const Re=[...U.validActions];for(const pt of ie){const be=pt.endColumn,_t=pt.endLineNumber,ot=pt.startLineNumber;if(_t===pe.lineNumber||ot===pe.lineNumber){_e=new Jt(_t,be);const Mt={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(x=i.trigger.filter)!=null&&x.include?(k=i.trigger.filter)==null?void 0:k.include:Nn.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((E=i.trigger.context)==null?void 0:E.notAvailableMessage)||"",position:_e}},ue=new _i(_e.lineNumber,_e.column,_e.lineNumber,_e.column),Rt=await Ih(this._registry,e,ue,Mt,ll.None,u);if(Rt.validActions.length!==0){for(const $e of Rt.validActions)(A=(P=$e.action.command)==null?void 0:P.arguments)!=null&&A.some(We=>typeof We=="string"&&We.includes(lI))&&($e.action.diagnostics=[...ie.filter(We=>We.relatedInformation)]);U.allActions.length===0&&B.push(...Rt.allActions),Math.abs(pe.column-be)<Ke?Re.unshift(...Rt.validActions):Re.push(...Rt.validActions)}Ke=Math.abs(pe.column-be)}}const nt=Re.filter((pt,be,_t)=>_t.findIndex(ot=>ot.action.title===pt.action.title)===be);return nt.sort((pt,be)=>pt.action.isPreferred&&!be.action.isPreferred?-1:!pt.action.isPreferred&&be.action.isPreferred||pt.action.isAI&&!be.action.isAI?1:!pt.action.isAI&&be.action.isAI?-1:0),{validActions:nt,allActions:B,documentation:U.documentation,hasAutoFix:U.hasAutoFix,hasAIFix:U.hasAIFix,allAIFixes:U.allAIFixes,dispose:()=>{U.dispose()}}}}if(i.trigger.type===1){const U=new To,B=await Ih(this._registry,e,i.selection,i.trigger,ll.None,u);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:B.validActions.length,duration:U.elapsed()}),B}return Ih(this._registry,e,i.selection,i.trigger,ll.None,u)});i.trigger.type===1&&((c=this._progressService)==null||c.showWhile(s,250));const r=new sd.Triggered(i.trigger,n,s);let a=!1;this._state.type===1&&(a=this._state.trigger.type===1&&r.type===1&&r.trigger.type===2&&this._state.position!==r.position),a?setTimeout(()=>{this.setState(r)},500):this.setState(r)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:Po.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)==null||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}}var CB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ma=function(o,e){return function(t,i){e(t,i,o)}},vh;const xB="quickfix-edit-highlight";var gc;let Lf=(gc=class extends ft{static get(e){return e.getContribution(vh.ID)}constructor(e,t,i,n,s,r,a,c,u,f,g){super(),this._commandService=a,this._configurationService=c,this._actionWidgetService=u,this._instantiationService=f,this._telemetryService=g,this._activeCodeActions=this._register(new qo),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new SB(this._editor,s.codeActionProvider,t,i,r,c,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new qx(()=>{const p=this._editor.getContribution(kp.ID);return p&&this._register(p.onClick(w=>this.showCodeActionsFromLightbulb(w.actions,w))),p}),this._resolver=n.createInstance(oC),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&e.validActions.length===1){const i=e.validActions[0],n=i.action.command;n&&n.id==="inlineChat.start"&&n.arguments&&n.arguments.length>=1&&(n.arguments[0]={...n.arguments[0],autoSend:!1}),await this._applyCodeAction(i,!1,!1,hd.FromAILightbulb);return}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,n){var r;if(!this._editor.hasModel())return;(r=Io.get(this._editor))==null||r.closeMessage();const s=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:n,context:{notAvailableMessage:e,position:s}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,i,n){try{await this._instantiationService.invokeFunction(cB,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Po.QuickFix,filter:{}})}}hideLightBulbWidget(){var e,t;(e=this._lightBulbWidget.rawValue)==null||e.hide(),(t=this._lightBulbWidget.rawValue)==null||t.gutterHide()}async update(e){var n,s,r,a,c;if(e.type!==1){this.hideLightBulbWidget();return}let t;try{t=await e.actions}catch(u){Pn(u);return}if(this._disposed)return;const i=this._editor.getSelection();if((i==null?void 0:i.startLineNumber)===e.position.lineNumber)if((n=this._lightBulbWidget.value)==null||n.update(t,e.trigger,e.position),e.trigger.type===1){if((s=e.trigger.filter)!=null&&s.include){const f=this.tryGetValidActionToApply(e.trigger,t);if(f){try{this.hideLightBulbWidget(),await this._applyCodeAction(f,!1,!1,hd.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const g=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(g&&g.action.disabled){(r=Io.get(this._editor))==null||r.showMessage(g.action.disabled,e.trigger.context.position),t.dispose();return}}}const u=!!((a=e.trigger.filter)!=null&&a.include);if(e.trigger.context&&(!t.allActions.length||!u&&!t.validActions.length)){(c=Io.get(this._editor))==null||c.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=t,t.dispose();return}this._activeCodeActions.value=t,this.showCodeActionList(t,this.toCoords(e.position),{includeDisabledActions:u,fromLightbulb:!1})}else this._actionWidgetService.isVisible?t.dispose():this._activeCodeActions.value=t}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply==="first"&&t.validActions.length===0||e.autoApply==="ifSingle"&&t.allActions.length===1))return t.allActions.find(({action:i})=>i.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply==="first"&&t.validActions.length>0||e.autoApply==="ifSingle"&&t.validActions.length===1))return t.validActions[0]}async showCodeActionList(e,t,i){const n=this._editor.createDecorationsCollection(),s=this._editor.getDomNode();if(!s)return;const r=i.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!r.length)return;const a=Jt.isIPosition(t)?this.toCoords(t):t,c={onSelect:async(u,f)=>{this._applyCodeAction(u,!0,!!f,i.fromLightbulb?hd.FromAILightbulb:hd.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:u=>{var f;(f=this._editor)==null||f.focus(),n.clear()},onHover:async(u,f)=>{var w;if(f.isCancellationRequested)return;let g=!1;const p=u.action.kind;if(p){const m=new jn(p);g=[Nn.RefactorExtract,Nn.RefactorInline,Nn.RefactorRewrite,Nn.RefactorMove,Nn.Source].some(k=>k.contains(m))}return{canPreview:g||!!((w=u.action.edit)!=null&&w.edits.length)}},onFocus:u=>{var f,g;if(u&&u.action){const p=u.action.ranges,w=u.action.diagnostics;if(n.clear(),p&&p.length>0){const m=w&&(w==null?void 0:w.length)>1?w.map(x=>({range:x,options:vh.DECORATION})):p.map(x=>({range:x,options:vh.DECORATION}));n.set(m)}else if(w&&w.length>0){const m=w.map(k=>({range:k,options:vh.DECORATION}));n.set(m);const x=w[0];if(x.startLineNumber&&x.startColumn){const k=(g=(f=this._editor.getModel())==null?void 0:f.getWordAtPosition({lineNumber:x.startLineNumber,column:x.startColumn}))==null?void 0:g.word;ff(C("editingNewSelection","Context: {0} at line {1} and column {2}.",k,x.startLineNumber,x.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,gB(r,this._shouldShowHeaders(),this._resolver.getResolver()),c,a,s,this._getActionBarActions(e,t,i))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=po(this._editor.getDomNode()),n=i.left+t.left,s=i.top+t.top+t.height;return{x:n,y:s}}_shouldShowHeaders(){var t;const e=(t=this._editor)==null?void 0:t.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:e==null?void 0:e.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const n=e.documentation.map(s=>({id:s.id,label:s.title,tooltip:s.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(s.id,...s.arguments??[])}));return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&n.push(this._showDisabled?{id:"hideMoreActions",label:C("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:C("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},vh=gc,gc.ID="editor.contrib.codeActionController",gc.DECORATION=tn.register({description:"quickfix-highlight",className:xB}),gc);Lf=vh=CB([ma(1,Qx),ma(2,mn),ma(3,Ti),ma(4,ei),ma(5,l_),ma(6,Ls),ma(7,$n),ma(8,Bu),ma(9,Ti),ma(10,ha)],Lf);vy((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(ZA));const i=o.getColor(RE);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${up(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function I_(o){return xe.regex(OM.keys()[0],new RegExp("(\\s|^)"+hp(o.value)+"\\b"))}const B0={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:C("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:C("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[C("args.schema.apply.first","Always apply the first returned code action."),C("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),C("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:C("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function zu(o,e,t,i,n=Po.Default){if(o.hasModel()){const s=Lf.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class kB extends Qe{constructor(){super({id:W0,label:C("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:xe.and(F.writable,F.hasCodeActionsProvider),kbOpts:{kbExpr:F.textInputFocus,primary:2137,weight:100}})}run(e,t){return zu(t,C("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Po.QuickFix)}}class LB extends bo{constructor(){super({id:IM,precondition:xe.and(F.writable,F.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:B0}]}})}runEditorCommand(e,t,i){const n=Pa.fromUser(i,{kind:jn.Empty,apply:"ifSingle"});return zu(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?C("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):C("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?C("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):C("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class IB extends Qe{constructor(){super({id:EM,label:C("refactor.label","Refactor..."),alias:"Refactor...",precondition:xe.and(F.writable,F.hasCodeActionsProvider),kbOpts:{kbExpr:F.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:xe.and(F.writable,I_(Nn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:B0}]}})}run(e,t,i){const n=Pa.fromUser(i,{kind:Nn.Refactor,apply:"never"});return zu(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?C("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):C("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?C("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):C("editor.action.refactor.noneMessage","No refactorings available"),{include:Nn.Refactor.contains(n.kind)?n.kind:jn.None,onlyIncludePreferredActions:n.preferred},n.apply,Po.Refactor)}}class DB extends Qe{constructor(){super({id:TM,label:C("source.label","Source Action..."),alias:"Source Action...",precondition:xe.and(F.writable,F.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:xe.and(F.writable,I_(Nn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:B0}]}})}run(e,t,i){const n=Pa.fromUser(i,{kind:Nn.Source,apply:"never"});return zu(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?C("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):C("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?C("editor.action.source.noneMessage.preferred","No preferred source actions available"):C("editor.action.source.noneMessage","No source actions available"),{include:Nn.Source.contains(n.kind)?n.kind:jn.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Po.SourceAction)}}class EB extends Qe{constructor(){super({id:iC,label:C("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:xe.and(F.writable,I_(Nn.SourceOrganizeImports)),kbOpts:{kbExpr:F.textInputFocus,primary:1581,weight:100}})}run(e,t){return zu(t,C("editor.action.organize.noneMessage","No organize imports action available"),{include:Nn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Po.OrganizeImports)}}class TB extends Qe{constructor(){super({id:nC,label:C("fixAll.label","Fix All"),alias:"Fix All",precondition:xe.and(F.writable,I_(Nn.SourceFixAll))})}run(e,t){return zu(t,C("fixAll.noneMessage","No fix all action available"),{include:Nn.SourceFixAll,includeSourceActions:!0},"ifSingle",Po.FixAll)}}class PB extends Qe{constructor(){super({id:DM,label:C("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:xe.and(F.writable,I_(Nn.QuickFix)),kbOpts:{kbExpr:F.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return zu(t,C("editor.action.autoFix.noneMessage","No auto fixes available"),{include:Nn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Po.AutoFix)}}Gi(Lf.ID,Lf,3);Gi(kp.ID,kp,4);fe(kB);fe(IB);fe(DB);fe(EB);fe(PB);fe(TB);ii(new LB);da.as(c_.Configuration).registerConfiguration({...by,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:C("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});da.as(c_.Configuration).registerConfiguration({...by,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:C("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});da.as(c_.Configuration).registerConfiguration({...by,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:C("triggerOnFocusChange","Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.","`#editor.codeActionsOnSave#`","`#files.autoSave#`","`afterDelay`","`always`"),default:!1}}});class cC{constructor(){this.lenses=[],this._disposables=new dt}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}async function HM(o,e,t){const i=o.ordered(e),n=new Map,s=new cC,r=i.map(async(a,c)=>{n.set(a,c);try{const u=await Promise.resolve(a.provideCodeLenses(e,t));u&&s.add(u,a)}catch(u){rs(u)}});return await Promise.all(r),s.lenses=s.lenses.sort((a,c)=>a.symbol.range.startLineNumber<c.symbol.range.startLineNumber?-1:a.symbol.range.startLineNumber>c.symbol.range.startLineNumber?1:n.get(a.provider)<n.get(c.provider)?-1:n.get(a.provider)>n.get(c.provider)?1:a.symbol.range.startColumn<c.symbol.range.startColumn?-1:a.symbol.range.startColumn>c.symbol.range.startColumn?1:0),s}On.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;vn(Dn.isUri(t)),vn(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(ei),s=o.get(lo).getModel(t);if(!s)throw fl();const r=[],a=new dt;return HM(n,s,Vi.None).then(c=>{a.add(c);const u=[];for(const f of c.lenses)i==null||f.symbol.command?r.push(f.symbol):i-- >0&&f.provider.resolveCodeLens&&u.push(Promise.resolve(f.provider.resolveCodeLens(s,f.symbol,Vi.None)).then(g=>r.push(g||f.symbol)));return Promise.all(u)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var MB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},RB=function(o,e){return function(t,i){e(t,i,o)}};const WM=Tl("ICodeLensCache");class cI{constructor(e,t){this.lineCount=e,this.data=t}}let dC=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new d_(20,.75);const t="codelens/cache";XA(YA,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=vs.filter(e.onWillSaveState,r=>r.reason===Jx.SHUTDOWN);vs.once(s)(r=>{e.store(i,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(r=>{var a;return{range:r.symbol.range,command:r.symbol.command&&{id:"",title:(a=r.symbol.command)==null?void 0:a.title}}}),n=new cC;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new cI(e.getLineCount(),n);this._cache.set(e.uri.toString(),s)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const n=new Set;for(const s of i.data.lenses)n.add(s.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...n.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const i in t){const n=t[i],s=[];for(const a of n.lines)s.push({range:new K(a,1,a,11)});const r=new cC;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new cI(n.lineCount,r))}}catch{}}};dC=MB([RB(0,Wc)],dC);Pl(WM,dC,1);class NB{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){this._lastHeight===void 0?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}const ap=class ap{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${ap._idPool++}`,this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let n=!1;for(let s=0;s<e.length;s++){const r=e[s];if(r&&(n=!0,r.command)){const a=QA(r.command.title.trim());if(r.command.id){const c=`c${ap._idPool++}`;i.push(Vt("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(Vt("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(Vt("span",void 0," | "))}}n?(ev(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):ev(this._domNode,Vt("span",void 0,"no commands"))}getCommand(e){return e.parentElement===this._domNode?this._commands.get(e.id):void 0}getId(){return this._id}getDomNode(){return this._domNode}updatePosition(e){const t=this._editor.getModel().getLineFirstNonWhitespaceColumn(e);this._widgetPosition={position:{lineNumber:e,column:t},preference:[1]}}getPosition(){return this._widgetPosition||null}};ap._idPool=0;let uC=ap;class Hw{constructor(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}addDecoration(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)}removeDecoration(e){this._removeDecorations.push(e)}commit(e){const t=e.deltaDecorations(this._removeDecorations,this._addDecorations);for(let i=0,n=t.length;i<n;i++)this._addDecorationsCallbacks[i](t[i])}}const dI=tn.register({collapseOnReplaceEdit:!0,description:"codelens"});class uI{constructor(e,t,i,n,s,r){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let a;const c=[];this._data.forEach((u,f)=>{u.symbol.command&&c.push(u.symbol),i.addDecoration({range:u.symbol.range,options:dI},g=>this._decorationIds[f]=g),a?a=K.plusRange(a,u.symbol.range):a=K.lift(u.symbol.range)}),this._viewZone=new NB(a.startLineNumber-1,s,r),this._viewZoneId=n.addZone(this._viewZone),c.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(c,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new uC(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t==null||t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),n=this._data[t].symbol;return!!(i&&K.isEmpty(n.range)===i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((i,n)=>{t.addDecoration({range:i.symbol.range,options:dI},s=>this._decorationIds[n]=s)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t<this._decorationIds.length;t++){const i=e.getDecorationRange(this._decorationIds[t]);i&&(this._data[t].symbol.range=i)}return this._data}updateCommands(e){this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(e,!0);for(let t=0;t<this._data.length;t++){const i=e[t];if(i){const{symbol:n}=this._data[t];n.command=i.command||n.command}}}getCommand(e){var t;return(t=this._contentWidget)==null?void 0:t.getCommand(e)}getLineNumber(){const e=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return e?e.startLineNumber:-1}update(e){if(this.isValid()){const t=this._editor.getModel().getDecorationRange(this._decorationIds[0]);t&&(this._viewZone.afterLineNumber=t.startLineNumber-1,e.layoutZone(this._viewZoneId),this._contentWidget&&(this._contentWidget.updatePosition(t.startLineNumber),this._editor.layoutContentWidget(this._contentWidget)))}}}var AB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_g=function(o,e){return function(t,i){e(t,i,o)}},Jh;let Lp=(Jh=class{constructor(e,t,i,n,s,r){this._editor=e,this._languageFeaturesService=t,this._commandService=n,this._notificationService=s,this._codeLensCache=r,this._disposables=new dt,this._localToDispose=new dt,this._lenses=[],this._oldCodeLensModels=new dt,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new bs(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{(a.hasChanged(50)||a.hasChanged(19)||a.hasChanged(18))&&this._updateLensStyle(),a.hasChanged(17)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(e=this._currentCodeLensModel)==null||e.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let t=this._editor.getOption(19);return(!t||t<5)&&(t=this._editor.getOption(52)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(18),n=this._editor.getOption(50),{style:s}=this._editor.getContainerDomNode();s.setProperty("--vscode-editorCodeLens-lineHeight",`${e}px`),s.setProperty("--vscode-editorCodeLens-fontSize",`${t}px`),s.setProperty("--vscode-editorCodeLens-fontFeatureSettings",n.fontFeatureSettings),i&&(s.setProperty("--vscode-editorCodeLens-fontFamily",i),s.setProperty("--vscode-editorCodeLens-fontFamilyDefault",e0.fontFamily)),this._editor.changeViewZones(r=>{for(const a of this._lenses)a.updateHeight(e,r)})}_localDispose(){var e,t,i;(e=this._getCodeLensModelPromise)==null||e.cancel(),this._getCodeLensModelPromise=void 0,(t=this._resolveCodeLensesPromise)==null||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(i=this._currentCodeLensModel)==null||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e||!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&cp(()=>{const n=this._codeLensCache.get(e);t===n&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3,this._localToDispose);return}for(const n of this._languageFeaturesService.codeLensProvider.all(e))if(typeof n.onDidChange=="function"){const s=n.onDidChange(()=>i.schedule());this._localToDispose.add(s)}const i=new bs(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=Rs(r=>HM(this._languageFeaturesService.codeLensProvider,e,r)),this._getCodeLensModelPromise.then(r=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=r,this._codeLensCache.put(e,r);const a=this._provideCodeLensDebounce.update(e,Date.now()-n);i.delay=a,this._renderCodeLensSymbols(r),this._resolveCodeLensesInViewportSoon()},Pn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(Vn(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var n;this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{const a=[];let c=-1;this._lenses.forEach(f=>{!f.isValid()||c===f.getLineNumber()?a.push(f):(f.update(r),c=f.getLineNumber())});const u=new Hw;a.forEach(f=>{f.dispose(u,r),this._lenses.splice(this._lenses.indexOf(f),1)}),u.commit(s)})}),i.schedule(),this._resolveCodeLensesScheduler.cancel(),(n=this._resolveCodeLensesPromise)==null||n.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{i.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(n=>{n.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(Vn(()=>{if(this._editor.getModel()){const n=gf.capture(this._editor);this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{this._disposeAllLenses(s,r)})}),n.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(n=>{if(n.target.type!==9)return;let s=n.target.element;if((s==null?void 0:s.tagName)==="SPAN"&&(s=s.parentElement),(s==null?void 0:s.tagName)==="A")for(const r of this._lenses){const a=r.getCommand(s);if(a){this._commandService.executeCommand(a.id,...a.arguments||[]).catch(c=>this._notificationService.error(c));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new Hw;for(const n of this._lenses)n.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let n;for(const a of e.lenses){const c=a.symbol.range.startLineNumber;c<1||c>t||(n&&n[n.length-1].symbol.range.startLineNumber===c?n.push(a):(n=[a],i.push(n)))}if(!i.length&&!this._lenses.length)return;const s=gf.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(c=>{const u=new Hw;let f=0,g=0;for(;g<i.length&&f<this._lenses.length;){const p=i[g][0].symbol.range.startLineNumber,w=this._lenses[f].getLineNumber();w<p?(this._lenses[f].dispose(u,c),this._lenses.splice(f,1)):w===p?(this._lenses[f].updateCodeLensSymbols(i[g],u),g++,f++):(this._lenses.splice(f,0,new uI(i[g],this._editor,u,c,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),f++,g++)}for(;f<this._lenses.length;)this._lenses[f].dispose(u,c),this._lenses.splice(f,1);for(;g<i.length;)this._lenses.push(new uI(i[g],this._editor,u,c,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),g++;u.commit(a)})}),s.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var r;(r=this._resolveCodeLensesPromise)==null||r.cancel(),this._resolveCodeLensesPromise=void 0;const e=this._editor.getModel();if(!e)return;const t=[],i=[];if(this._lenses.forEach(a=>{const c=a.computeIfNecessary(e);c&&(t.push(c),i.push(a))}),t.length===0)return;const n=Date.now(),s=Rs(a=>{const c=t.map((u,f)=>{const g=new Array(u.length),p=u.map((w,m)=>!w.symbol.command&&typeof w.provider.resolveCodeLens=="function"?Promise.resolve(w.provider.resolveCodeLens(e,w.symbol,a)).then(x=>{g[m]=x},rs):(g[m]=w.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[f].isDisposed()&&i[f].updateCommands(g)})});return Promise.all(c)});this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then(()=>{const a=this._resolveCodeLensesDebounce.update(e,Date.now()-n);this._resolveCodeLensesScheduler.delay=a,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},a=>{Pn(a),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){var e;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(e=this._currentCodeLensModel)!=null&&e.isDisposed?void 0:this._currentCodeLensModel}},Jh.ID="css.editor.codeLens",Jh);Lp=AB([_g(1,ei),_g(2,cr),_g(3,Ls),_g(4,ao),_g(5,WM)],Lp);Gi(Lp.ID,Lp,1);fe(class extends Qe{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:F.hasCodeLensProvider,label:C("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const i=e.get(El),n=e.get(Ls),s=e.get(ao),r=t.getSelection().positionLineNumber,a=t.getContribution(Lp.ID);if(!a)return;const c=await a.getModel();if(!c)return;const u=[];for(const p of c.lenses)p.symbol.command&&p.symbol.range.startLineNumber===r&&u.push({label:p.symbol.command.title,command:p.symbol.command});if(u.length===0)return;const f=await i.pick(u,{canPickMany:!1,placeHolder:C("placeHolder","Select a command")});if(!f)return;let g=f.command;if(c.isDisposed){const p=await a.getModel(),w=p==null?void 0:p.lenses.find(m=>{var x;return m.symbol.range.startLineNumber===r&&((x=m.symbol.command)==null?void 0:x.title)===g.title});if(!w||!w.symbol.command)return;g=w.symbol.command}try{await n.executeCommand(g.id,...g.arguments||[])}catch(p){s.error(p)}}});var BM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},hC=function(o,e){return function(t,i){e(t,i,o)}};let Ip=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){const n=t.range,s=t.color,r=s.alpha,a=new en(new pf(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?en.Format.CSS.formatRGB(a):en.Format.CSS.formatRGBA(a),u=r?en.Format.CSS.formatHSL(a):en.Format.CSS.formatHSLA(a),f=r?en.Format.CSS.formatHex(a):en.Format.CSS.formatHexA(a),g=[];return g.push({label:c,textEdit:{range:n,text:c}}),g.push({label:u,textEdit:{range:n,text:u}}),g.push({label:f,textEdit:{range:n,text:f}}),g}};Ip=BM([hC(0,Ml)],Ip);let fC=class extends ft{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Ip(t)))}};fC=BM([hC(0,ei),hC(1,Ml)],fC);jf(fC);async function zM(o,e,t,i=!0){return z0(new OB,o,e,t,i)}function VM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class OB{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const r of s)n.push({colorInfo:r,provider:e});return Array.isArray(s)}}class FB{constructor(){}async compute(e,t,i,n){const s=await e.provideDocumentColors(t,i);if(Array.isArray(s))for(const r of s)n.push({range:r.range,color:[r.color.red,r.color.green,r.color.blue,r.color.alpha]});return Array.isArray(s)}}class HB{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,Vi.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function z0(o,e,t,i,n){let s=!1,r;const a=[],c=e.ordered(t);for(let u=c.length-1;u>=0;u--){const f=c[u];if(f instanceof Ip)r=f;else try{await o.compute(f,t,i,a)&&(s=!0)}catch(g){rs(g)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function jM(o,e){const{colorProvider:t}=o.get(ei),i=o.get(lo).getModel(e);if(!i)throw fl();const n=o.get($n).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}On.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof Dn))throw fl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=jM(o,t);return z0(new FB,n,i,Vi.None,s)});On.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof Dn)||!Array.isArray(t)||t.length!==4||!K.isIRange(s))throw fl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=jM(o,n),[u,f,g,p]=t;return z0(new HB({range:s,color:{red:u,green:f,blue:g,alpha:p}}),a,r,Vi.None,c)});var WB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ww=function(o,e){return function(t,i){e(t,i,o)}},gC;const $M=Object.create({});var pc;let If=(pc=class extends ft{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new dt),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new NE(this._editor),this._decoratorLimitReporter=new BB,this._colorDecorationClassRefs=this._register(new dt),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:gC.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(i.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(s=>{const r=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148);const a=r!==this._isColorDecoratorsEnabled||s.hasChanged(21),c=s.hasChanged(148);(a||c)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){const n=i.colorDecorators;if(n&&n.enable!==void 0&&!n.enable)return n.enable}return this._editor.getOption(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new a_,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=Rs(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new To(!1),n=await zM(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),n});try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){Pn(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:tn.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((n,s)=>this._colorDatas.set(n,e[s]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(21);for(let s=0;s<e.length&&t.length<i;s++){const{red:r,green:a,blue:c,alpha:u}=e[s].colorInfo.color,f=new pf(Math.round(r*255),Math.round(a*255),Math.round(c*255),u),g=`rgba(${f.r}, ${f.g}, ${f.b}, ${f.a})`,p=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:g}));t.push({range:{startLineNumber:e[s].colorInfo.range.startLineNumber,startColumn:e[s].colorInfo.range.startColumn,endLineNumber:e[s].colorInfo.range.endLineNumber,endColumn:e[s].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:TE,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:$M}}})}const n=i<e.length?i:!1;this._decoratorLimitReporter.update(e.length,n),this._colorDecoratorIds.set(t)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(e){const t=this._editor.getModel();if(!t)return null;const i=t.getDecorationsInRange(K.fromPositions(e,e)).filter(n=>this._colorDatas.has(n.id));return i.length===0?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}},gC=pc,pc.ID="editor.contrib.colorDetector",pc.RECOMPUTE_TIME=1e3,pc);If=gC=WB([Ww(1,$n),Ww(2,ei),Ww(3,cr)],If);class BB{constructor(){this._onDidChange=new zi,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}Gi(If.ID,If,1);class zB{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new zi,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new zi,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new zi,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let n=0;n<this.colorPresentations.length;n++)if(t.toLowerCase()===this.colorPresentations[n].label){i=n;break}if(i===-1){const n=t.split("(")[0].toLowerCase();for(let s=0;s<this.colorPresentations.length;s++)if(this.colorPresentations[s].label.toLowerCase().startsWith(n)){i=s;break}}i!==-1&&i!==this.presentationIndex&&(this.presentationIndex=i,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}}const Vo=Vt;class VB extends ft{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Vo(".colorpicker-header"),Ft(e,this._domNode),this._pickedColorNode=Ft(this._domNode,Vo(".picked-color")),Ft(this._pickedColorNode,Vo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=Ft(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=C("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=Ft(this._domNode,Vo(".original-color")),this._originalColorNode.style.backgroundColor=en.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(sL)||en.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(sL)||en.white})),this._register(_n(this._pickedColorNode,Zn.CLICK,()=>this.model.selectNextColorPresentation())),this._register(_n(this._originalColorNode,Zn.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=en.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new jB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=en.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class jB extends ft{constructor(e){super(),this._onClicked=this._register(new zi),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),Ft(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),Ft(this._button,t),Ft(t,Vo(".button"+bn.asCSSSelector(is("color-picker-close",yi.close,C("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(_n(this._button,Zn.CLICK,()=>{this._onClicked.fire()}))}}class $B extends ft{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Vo(".colorpicker-body"),Ft(e,this._domNode),this._saturationBox=new UB(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new qB(this._domNode,this.model,n),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new GB(this._domNode,this.model,n),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),n&&(this._insertButton=this._register(new KB(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new en(new Lm(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new en(new Lm(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new en(new Lm(i===360?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class UB extends ft{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new zi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new zi,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Vo(".saturation-wrap"),Ft(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",Ft(this._domNode,this._canvas),this.selection=Vo(".saturation-selection"),Ft(this._domNode,this.selection),this.layout(),this._register(_n(this._domNode,Zn.POINTER_DOWN,n=>this.onPointerDown(n))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new AE);const t=po(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,n=>this.onDidChangePosition(n.pageX-t.left,n.pageY-t.top),()=>null);const i=_n(e.target.ownerDocument,Zn.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),n=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,n),this._onDidChange.fire({s:i,v:n})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new en(new Lm(e.h,1,1,1)),i=this._canvas.getContext("2d"),n=i.createLinearGradient(0,0,this._canvas.width,0);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),n.addColorStop(1,"rgba(255, 255, 255, 0)");const s=i.createLinearGradient(0,0,0,this._canvas.height);s.addColorStop(0,"rgba(0, 0, 0, 0)"),s.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=en.Format.CSS.format(t),i.fill(),i.fillStyle=n,i.fill(),i.fillStyle=s,i.fill()}paintSelection(e,t){this.selection.style.left=`${e*this.width}px`,this.selection.style.top=`${this.height-t*this.height}px`}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const t=e.hsva;this.paintSelection(t.s,t.v)}}class UM extends ft{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new zi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new zi,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=Ft(e,Vo(".standalone-strip")),this.overlay=Ft(this.domNode,Vo(".standalone-overlay"))):(this.domNode=Ft(e,Vo(".strip")),this.overlay=Ft(this.domNode,Vo(".overlay"))),this.slider=Ft(this.domNode,Vo(".slider")),this.slider.style.top="0px",this._register(_n(this.domNode,Zn.POINTER_DOWN,n=>this.onPointerDown(n))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){const t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._register(new AE),i=po(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,s=>this.onDidChangeTop(s.pageY-i.top),()=>null);const n=_n(e.target.ownerDocument,Zn.POINTER_UP,()=>{this._onColorFlushed.fire(),n.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top=`${(1-e)*this.height}px`}}class qB extends UM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:i,b:n}=e.rgba,s=new en(new pf(t,i,n,1)),r=new en(new pf(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class GB extends UM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class KB extends ft{constructor(e){super(),this._onClicked=this._register(new zi),this.onClicked=this._onClicked.event,this._button=Ft(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(_n(this._button,Zn.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class ZB extends u_{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(JA.getInstance(bd(e)).onDidChange(()=>this.layout())),this._domNode=Vo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new VB(this._domNode,this.model,n,s)),this.body=this._register(new $B(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class Bw{constructor(e,t,i,n){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=n,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}}class Hm{constructor(e,t,i,n,s,r){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=n,this.initialMousePosY=s,this.supportsMarkerHover=r,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}}class Du{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const Vu=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var qM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},GM=function(o,e){return function(t,i){e(t,i,o)}};class XB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Dp=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return oa.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=If.get(this._editor);if(!n)return[];for(const s of t){if(!n.isColorDecoration(s))continue;const r=n.getColorData(s.range.getStartPosition());if(r)return[await KM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=ZM(this,this._editor,this._themeService,t,e);if(!i)return new Du([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new Du([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Dp=qM([GM(1,Hr)],Dp);class YB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let Ep=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!If.get(this._editor))return null;const s=await zM(i,this._editor.getModel(),Vi.None);let r=null,a=null;for(const g of s){const p=g.colorInfo;K.containsRange(p.range,e.range)&&(r=p,a=g.provider)}const c=r??e,u=a??t,f=!!r;return{colorHover:await KM(this,this._editor.getModel(),c,u),foundInEditor:f}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new K(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await Wm(this._editor.getModel(),t,this._color,i,e),i=XM(this._editor,i,t))}renderHoverParts(e,t){return ZM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};Ep=qM([GM(1,Hr)],Ep);async function KM(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:c}=t.color,u=new pf(Math.round(s*255),Math.round(r*255),Math.round(a*255),c),f=new en(u),g=await VM(e,t,i,Vi.None),p=new zB(f,[],0);return p.colorPresentations=g||[],p.guessColorPresentation(f,n),o instanceof Dp?new XB(o,K.lift(t.range),p,i):new YB(o,K.lift(t.range),p,i)}function ZM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new Rn(302,p))}const s=new dt,r=i[0],a=e.getModel(),c=r.model,u=s.add(new ZB(n.fragment,c,e.getOption(144),t,o instanceof Ep));let f=!1,g=new K(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof Ep){const p=r.model.color;o.color=p,Wm(a,c,p,g,r),s.add(c.onColorFlushed(w=>{o.color=w}))}else s.add(c.onColorFlushed(async p=>{await Wm(a,c,p,g,r),f=!0,g=XM(e,g,c)}));return s.add(c.onDidChangeColor(p=>{Wm(a,c,p,g,r)})),s.add(e.onDidChangeModelContent(p=>{f?f=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:u,disposables:s}}function XM(o,e,t){const i=[],n=t.presentation.textEdit??{range:e,text:t.presentation.label,forceMoveMarkers:!1};i.push(n),t.presentation.additionalTextEdits&&i.push(...t.presentation.additionalTextEdits);const s=K.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function Wm(o,e,t,i,n){const s=await VM(o,{range:i,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},n.provider,Vi.None);e.colorPresentations=s||[]}const YM="editor.action.showHover",QB="editor.action.showDefinitionPreviewHover",JB="editor.action.scrollUpHover",e4="editor.action.scrollDownHover",t4="editor.action.scrollLeftHover",i4="editor.action.scrollRightHover",n4="editor.action.pageUpHover",s4="editor.action.pageDownHover",o4="editor.action.goToTopHover",r4="editor.action.goToBottomHover",$y="editor.action.increaseHoverVerbosityLevel",a4=C({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),Uy="editor.action.decreaseHoverVerbosityLevel",l4=C({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),QM="editor.action.inlineSuggest.commit",JM="editor.action.inlineSuggest.showPrevious",eR="editor.action.inlineSuggest.showNext";var V0=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},kr=function(o,e){return function(t,i){e(t,i,o)}},Bm;let pC=class extends ft{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=xo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=xn(this,n=>{var c,u;const s=(c=this.model.read(n))==null?void 0:c.primaryGhostText.read(n);if(!this.alwaysShowToolbar.read(n)||!s||s.parts.length===0)return this.sessionPosition=void 0,null;const r=s.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==s.lineNumber&&(this.sessionPosition=void 0);const a=new Jt(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(h_((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=WE((u,f)=>{const g=f.add(this.instantiationService.createInstance(Df,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(g),f.add(Vn(()=>e.removeContentWidget(g))),f.add(Kn(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==gl.Explicit&&r.triggerExplicitly()})),g}),c=yy(this,(u,f)=>!!this.position.read(u)||!!f);s.add(Kn(u=>{c.read(u)&&a.read(u)}))}))}};pC=V0([kr(2,Ti)],pC);const c4=is("inline-suggestion-hints-next",yi.chevronRight,C("parameterHintsNextIcon","Icon for show next parameter hint.")),d4=is("inline-suggestion-hints-previous",yi.chevronLeft,C("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var _c;let Df=(_c=class extends ft{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new _f(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=C({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,s.getLabel())),n.tooltip=r,n}constructor(e,t,i,n,s,r,a,c,u,f,g){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=r,this._commandService=a,this.keybindingService=u,this._contextKeyService=f,this._menuService=g,this.id=`InlineSuggestionHintsContentWidget${Bm.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Lr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Lr("div@toolBar")]),this.previousAction=this.createCommandAction(JM,C("previous","Previous"),bn.asClassName(d4)),this.availableSuggestionCountAction=new _f("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(eR,C("next","Next"),bn.asClassName(c4)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(At.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new bs(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new bs(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(_C,this.nodes.toolBar,At.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,w)=>{if(p instanceof mf)return c.createInstance(h4,p,void 0);if(p===this.availableSuggestionCountAction){const m=new u4(void 0,p,{label:!0,icon:!1});return m.setClass("availableSuggestionCount"),m}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{Bm._dropDownVisible=p})),this._register(Kn(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(Kn(p=>{const w=this._suggestionCount.read(p),m=this._currentSuggestionIdx.read(p);w!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${m+1}/${w}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),w!==void 0&&w>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(Kn(p=>{const m=this._extraCommands.read(p).map(x=>({class:void 0,id:x.id,enabled:!0,tooltip:x.tooltip||"",label:x.title,run:k=>this._commandService.executeCommand(x.id)}));for(const[x,k]of this.inlineCompletionsActionsMenus.getActions())for(const E of k)E instanceof mf&&m.push(E);m.length>0&&m.unshift(new fp),this.toolBar.setAdditionalSecondaryActions(m)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},Bm=_c,_c._dropDownVisible=!1,_c.id=0,_c);Df=Bm=V0([kr(6,Ls),kr(7,Ti),kr(8,hs),kr(9,mn),kr(10,Ou)],Df);class u4 extends yS{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}}let h4=class extends OE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Lr("div.keybinding").root;this._register(new Kx(t,Zx,{disableTitle:!0,...FE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},_C=class extends HE{constructor(e,t,i,n,s,r,a,c,u){super(e,{resetMenu:t,...i},n,s,r,a,c,u),this.menuId=t,this.options2=i,this.menuService=n,this.contextKeyService=s,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,c,u;const e=[],t=[];t0(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(u=(c=this.options2)==null?void 0:c.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){za(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){za(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};_C=V0([kr(3,Ou),kr(4,mn),kr(5,Bf),kr(6,hs),kr(7,Ls),kr(8,ha)],_C);function qy(o,e,t){const i=po(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let f4=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class tR extends ft{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new zi),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new bs(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new bs(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new bs(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=eO(e=>this._computer.computeAsync(e)),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(e){Pn(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const e=this._state===0,t=this._state===4;this._onResult.fire(new f4(this._result.slice(0),e,t))}start(e){if(e===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class j0{constructor(){this._onDidWillResize=new zi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new zi,this.onDidResize=this._onDidResize.event,this._sashListener=new dt,this._size=new Rn(0,0),this._minSize=new Rn(0,0),this._maxSize=new Rn(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Sh(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Sh(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Sh(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:oL.North}),this._southSash=new Sh(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:oL.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(vs.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(vs.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(n=>{e&&(i=n.currentX-n.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(n=>{e&&(i=-(n.currentX-n.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(n=>{e&&(t=-(n.currentY-n.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(n=>{e&&(t=n.currentY-n.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(vs.any(this._eastSash.onDidReset,this._westSash.onDidReset)(n=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(vs.any(this._northSash.onDidReset,this._southSash.onDidReset)(n=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,n){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=n?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:n}=this._minSize,{height:s,width:r}=this._maxSize;e=Math.max(i,Math.min(s,e)),t=Math.max(n,Math.min(r,t));const a=new Rn(t,e);Rn.equals(a,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=a,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}const g4=30,p4=24;class _4 extends ft{constructor(e,t=new Rn(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new j0),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Rn.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(i=>{this._resize(new Rn(i.dimension.width,i.dimension.height)),i.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){var e;return(e=this._contentPosition)!=null&&e.position?Jt.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:po(t).top+i.top-g4}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=po(t),s=f_(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-p4}_findPositionPreference(e,t){const i=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),n=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),s=Math.min(Math.max(n,i),e),r=Math.min(e,s);let a;return this._editor.getOption(60).above?a=r<=n?1:2:a=r<=i?2:1,a===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),a}_resize(e){this._resizableNode.layout(e.height,e.width)}}var m4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},J_=function(o,e){return function(t,i){e(t,i,o)}},ya;const hI=30,v4=6;var mc;let mC=(mc=class extends _4{get isVisibleFromKeyboard(){var e;return((e=this._renderedHover)==null?void 0:e.source)===1}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,i,n,s){const r=e.getOption(67)+8,a=150,c=new Rn(a,r);super(e,c),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new BE),this._onDidResize=this._register(new zi),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=F.hoverVisible.bindTo(t),this._hoverFocusedKey=F.hoverFocused.bindTo(t),Ft(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(f=>{f.hasChanged(50)&&this._updateFont()}));const u=this._register(hf(this._resizableNode.domNode));this._register(u.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(u.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),(e=this._renderedHover)==null||e.dispose(),this._editor.removeContentWidget(this)}getId(){return ya.ID}static _applyDimensions(e,t,i){const n=typeof t=="number"?`${t}px`:t,s=typeof i=="number"?`${i}px`:i;e.style.width=n,e.style.height=s}_setContentsDomNodeDimensions(e,t){const i=this._hover.contentsDomNode;return ya._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ya._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){const n=typeof t=="number"?`${t}px`:t,s=typeof i=="number"?`${i}px`:i;e.style.maxWidth=n,e.style.maxHeight=s}_setHoverWidgetMaxDimensions(e,t){ya._applyMaxDimensions(this._hover.contentsDomNode,e,t),ya._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof e=="number"?`${e}px`:e),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,i=e.height;this._setHoverWidgetDimensions(t,i)}_updateResizableNodeMaxDimensions(){const e=this._findMaximumRenderingWidth()??1/0,t=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new Rn(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){ya._lastDimensions=new Rn(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){var t;const e=(t=this._renderedHover)==null?void 0:t.showAtPosition;if(e)return this._positionPreference===1?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=v4;return Array.from(this._hover.contentsDomNode.children).forEach(i=>{t+=i.clientHeight}),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const e=Array.from(this._hover.contentsDomNode.children).some(t=>t.scrollWidth>t.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const e=this._isHoverTextOverflowing(),t=typeof this._contentWidth>"u"?0:this._contentWidth-2;return e||this._hover.containerDomNode.clientWidth<t?f_(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth+2}isMouseGettingCloser(e,t){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=e,this._renderedHover.initialMousePosY=t,!1;const i=po(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=fI(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=fI(e,t,i.left,i.top,i.width,i.height);return n>this._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,n),!0)}_setRenderedHover(e){var t;(t=this._renderedHover)==null||t.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),i=this._hover.contentsDomNode;i.style.fontSize=`${e}px`,i.style.lineHeight=`${t/e}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(s=>this._editor.applyFontInfo(s))}_updateContent(e){const t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const e=Math.max(this._editor.getLayoutInfo().height/4,250,ya._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ya._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e){this._setRenderedHover(e),this._updateFont(),this._updateContent(e.domNode),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(e){var r;if(!this._editor||!this._editor.hasModel())return;this._render(e);const t=Ch(this._hover.containerDomNode),i=e.showAtPosition;this._positionPreference=this._findPositionPreference(t,i)??1,this.onContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();const s=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&tO(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),((r=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))==null?void 0:r.getAriaLabel())??"");s&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+s)}hide(){if(!this._renderedHover)return;const e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new Rn(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){const e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions("auto","auto")}setMinimumDimensions(e){this._minimumSize=new Rn(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Rn(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=Ch(e),i=br(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=Ch(e),i=br(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=Ch(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(s,this._renderedHover.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-hI})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+hI})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}},ya=mc,mc.ID="editor.contrib.resizableContentHoverWidget",mc._lastDimensions=new Rn(0,0),mc);mC=ya=m4([J_(1,mn),J_(2,$n),J_(3,wy),J_(4,hs)],mC);function fI(o,e,t,i,n,s){const r=t+n/2,a=i+s/2,c=Math.max(Math.abs(o-r)-n/2,0),u=Math.max(Math.abs(e-a)-s/2,0);return Math.sqrt(c*c+u*u)}class yv{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];const i=e.getModel(),n=t.range.startLineNumber;if(n>i.getLineCount())return[];const s=i.getLineMaxColumn(n);return e.getLineDecorations(n).filter(r=>{if(r.options.isWholeLine)return!0;const a=r.range.startLineNumber===n?r.range.startColumn:1,c=r.range.endLineNumber===n?r.range.endColumn:s;if(r.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>c)return!1}else if(a>t.range.startColumn||t.range.endColumn>c)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return oa.EMPTY;const i=yv._getLineDecorations(this._editor,t);return oa.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):oa.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=yv._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return vl(t)}}class iR{constructor(e,t,i){this.anchor=e,this.hoverParts=t,this.isComplete=i}filter(e){const t=this.hoverParts.filter(i=>i.isValidForHoverAnchor(e));return t.length===this.hoverParts.length?this:new b4(this,this.anchor,t,this.isComplete)}}class b4 extends iR{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var y4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},w4=function(o,e){return function(t,i){e(t,i,o)}};const gI=Vt;let wv=class extends ft{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=gI("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=Ft(this.hoverElement,gI("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(iO.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=Ft(this.actionsElement,e);return this._hasContent=!0,t}};wv=y4([w4(0,hs)],wv);class S4{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function C4(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(rs);if(!(!s||!x4(s)))return new S4(o,s,e)}function $0(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>C4(a,c,e,t,i));return oa.fromPromises(r).coalesce()}function nR(o,e,t,i,n=!1){return $0(o,e,t,i,n).map(s=>s.hover).toPromise()}yo("_executeHoverProvider",(o,e,t)=>{const i=o.get(ei);return nR(i.hoverProvider,e,t,Vi.None)});yo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(ei);return nR(i.hoverProvider,e,t,Vi.None,!0)});function x4(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var k4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Kc=function(o,e){return function(t,i){e(t,i,o)}};const Dh=Vt,L4=is("hover-increase-verbosity",yi.add,C("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),I4=is("hover-decrease-verbosity",yi.remove,C("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class Dr{constructor(e,t,i,n,s,r=void 0){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=n,this.ordinal=s,this.source=r}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}class sR{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case rr.Increase:return this.hover.canIncreaseVerbosity??!1;case rr.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let Tp=class{constructor(e,t,i,n,s,r,a,c){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=s,this._keybindingService=r,this._hoverService=a,this._commandService=c,this.hoverOrdinal=3}createLoadingMessage(e){return new Dr(this,e.range,[new Js().appendText(C("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),r=[];let a=1e3;const c=i.getLineLength(n),u=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),f=this._editor.getOption(118),g=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:u});let p=!1;f>=0&&c>f&&e.range.startColumn>=f&&(p=!0,r.push(new Dr(this,e.range,[{value:C("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!p&&typeof g=="number"&&c>=g&&r.push(new Dr(this,e.range,[{value:C("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let w=!1;for(const m of t){const x=m.range.startLineNumber===n?m.range.startColumn:1,k=m.range.endLineNumber===n?m.range.endColumn:s,E=m.options.hoverMessage;if(!E||gp(E))continue;m.options.beforeContentClassName&&(w=!0);const P=new K(e.range.startLineNumber,x,e.range.startLineNumber,k);r.push(new Dr(this,P,zE(E),w,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return oa.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):oa.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return $0(e,t,s,n).filter(c=>!gp(c.hover.contents)).map(c=>{const u=c.hover.range?K.lift(c.hover.range):i.range,f=new sR(c.hover,c.provider,s);return new Dr(this,u,c.hover.contents,!1,c.ordinal,f)})}renderHoverParts(e,t){return this._renderedHoverParts=new D4(t,e.fragment,this,this._editor,this._languageService,this._openerService,this._commandService,this._keybindingService,this._hoverService,this._configurationService,e.onContentsChanged),this._renderedHoverParts}updateMarkdownHoverVerbosityLevel(e,t,i){var n;return Promise.resolve((n=this._renderedHoverParts)==null?void 0:n.updateMarkdownHoverPartVerbosityLevel(e,t,i))}};Tp=k4([Kc(1,fa),Kc(2,ua),Kc(3,$n),Kc(4,ei),Kc(5,hs),Kc(6,g_),Kc(7,Ls)],Tp);class em{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class D4{constructor(e,t,i,n,s,r,a,c,u,f,g){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=r,this._commandService=a,this._keybindingService=c,this._hoverService=u,this._configurationService=f,this._onFinishedRendering=g,this._ongoingHoverOperations=new Map,this._disposables=new dt,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(Vn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(p_(n=>n.ordinal,Sy)),e.map(n=>{const s=this._renderHoverPart(n,i);return t.appendChild(s.hoverElement),s})}_renderHoverPart(e,t){const i=this._renderMarkdownHover(e,t),n=i.hoverElement,s=e.source,r=new dt;if(r.add(i),!s)return new em(e,n,r);const a=s.supportsVerbosityAction(rr.Increase),c=s.supportsVerbosityAction(rr.Decrease);if(!a&&!c)return new em(e,n,r);const u=Dh("div.verbosity-actions");return n.prepend(u),r.add(this._renderHoverExpansionAction(u,rr.Increase,a)),r.add(this._renderHoverExpansionAction(u,rr.Decrease,c)),new em(e,n,r)}_renderMarkdownHover(e,t){return oR(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new dt,s=t===rr.Increase,r=Ft(e,Dh(bn.asCSSSelector(s?L4:I4)));r.tabIndex=0;const a=new nO("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,T4(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===rr.Increase?$y:Uy);return n.add(new sO(r,c)),n.add(new oO(r,c,[3,10])),n}async updateMarkdownHoverPartVerbosityLevel(e,t,i=!0){const n=this._editor.getModel();if(!n)return;const s=this._getRenderedHoverPartAtIndex(t),r=s==null?void 0:s.hoverPart.source;if(!s||!(r!=null&&r.supportsVerbosityAction(e)))return;const a=await this._fetchHover(r,n,e);if(!a)return;const c=new sR(a,r.hoverProvider,r.hoverPosition),u=s.hoverPart,f=new Dr(this._hoverParticipant,u.range,a.contents,u.isBeforeContent,u.ordinal,c),g=this._renderHoverPart(f,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,g,f),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:f,hoverElement:g.hoverElement}}async _fetchHover(e,t,i){let n=i===rr.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new Ns;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:a});const c={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let u;try{u=await Promise.resolve(s.provideHover(t,e.hoverPosition,a.token,c))}catch(f){rs(f)}return a.dispose(),this._ongoingHoverOperations.delete(s),u}_replaceRenderedHoverPartAtIndex(e,t,i){if(e>=this.renderedHoverParts.length||e<0)return;const n=this.renderedHoverParts[e],s=n.hoverElement,r=t.hoverElement,a=Array.from(r.children);s.replaceChildren(...a);const c=new em(i,s,t.disposables);s.focus(),n.dispose(),this.renderedHoverParts[e]=c}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function E4(o,e,t,i,n){e.sort(p_(r=>r.ordinal,Sy));const s=[];for(const r of e)s.push(oR(t,r,i,n,o.onContentsChanged));return new Du(s)}function oR(o,e,t,i,n){const s=new dt,r=Dh("div.hover-row"),a=Dh("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const f of c){if(gp(f))continue;const g=Dh("div.markdown-hover"),p=Ft(g,Dh("div.hover-contents")),w=s.add(new $f({editor:o},t,i));s.add(w.onDidRenderAsync(()=>{p.className="hover-contents code-hover-contents",n()}));const m=s.add(w.render(f));p.appendChild(m.element),a.appendChild(g)}return{hoverPart:e,hoverElement:r,dispose(){s.dispose()}}}function T4(o,e){switch(e){case rr.Increase:{const t=o.lookupKeybinding($y);return t?C("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):C("increaseVerbosity","Increase Hover Verbosity")}case rr.Decrease:{const t=o.lookupKeybinding(Uy);return t?C("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):C("decreaseVerbosity","Decrease Hover Verbosity")}}}function vC(o,e){return!!o[e]}class zw{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=vC(e.event,t.triggerModifier),this.hasSideBySideModifier=vC(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class pI{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=vC(e,t.triggerModifier)}}class tm{constructor(e,t,i,n){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=n}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function _I(o){return o==="altKey"?Va?new tm(57,"metaKey",6,"altKey"):new tm(5,"ctrlKey",6,"altKey"):Va?new tm(6,"altKey",57,"metaKey"):new tm(6,"altKey",5,"ctrlKey")}class Gy extends ft{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new zi),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new zi),this.onExecute=this._onExecute.event,this._onCancel=this._register(new zi),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=(t==null?void 0:t.extractLineNumberFromMouseEvent)??(i=>i.target.position?i.target.position.lineNumber:0),this._opts=_I(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(i=>{if(i.hasChanged(78)){const n=_I(this._editor.getOption(78));if(this._opts.equals(n))return;this._opts=n,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(i=>this._onEditorMouseMove(new zw(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new zw(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new zw(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new pI(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new pI(i,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(i=>this._onDidChangeCursorSelection(i))),this._register(this._editor.onDidChangeModel(i=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(i=>{(i.scrollTopChanged||i.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){const t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}class rR{constructor(e,t){this.range=e,this.direction=t}}class U0{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new U0(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return await this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){try{const t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=(t==null?void 0:t.tooltip)??this.hint.tooltip,this.hint.label=(t==null?void 0:t.label)??this.hint.label,this.hint.textEdits=(t==null?void 0:t.textEdits)??this.hint.textEdits,this._isResolved=!0}catch(t){rs(t),this._isResolved=!1}}}const Ah=class Ah{static async create(e,t,i,n){const s=[],r=e.ordered(t).reverse().map(a=>i.map(async c=>{try{const u=await a.provideInlayHints(t,c,n);(u!=null&&u.hints.length||a.onDidChangeInlayHints)&&s.push([u??Ah._emptyInlayHintList,a])}catch(u){rs(u)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new _y;return new Ah(i,s,t)}constructor(e,t,i){this._disposables=new dt,this.ranges=e,this.provider=new Set;const n=[];for(const[s,r]of t){this._disposables.add(s),this.provider.add(r);for(const a of s.hints){const c=i.validatePosition(a.position);let u="before";const f=Ah._getRangeAtPosition(i,c);let g;f.getStartPosition().isBefore(c)?(g=K.fromPositions(f.getStartPosition(),c),u="after"):(g=K.fromPositions(c,f.getEndPosition()),u="before"),n.push(new U0(a,new rR(g,u),r))}}this.items=n.sort((s,r)=>Jt.compare(s.hint.position,r.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,n=e.getWordAtPosition(t);if(n)return new K(i,n.startColumn,i,n.endColumn);e.tokenization.tokenizeIfCheap(i);const s=e.tokenization.getLineTokens(i),r=t.column-1,a=s.findTokenIndexAtOffset(r);let c=s.getStartOffset(a),u=s.getEndOffset(a);return u-c===1&&(c===r&&a>1?(c=s.getStartOffset(a-1),u=s.getEndOffset(a-1)):u===r&&a<s.getCount()-1&&(c=s.getStartOffset(a+1),u=s.getEndOffset(a+1))),new K(i,c+1,i,u+1)}};Ah._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let Sv=Ah;function P4(o){return Dn.from({scheme:fo.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var M4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qa=function(o,e){return function(t,i){e(t,i,o)}};let Fr=class extends rO{constructor(e,t,i,n,s,r,a,c,u,f,g,p,w){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,r,a,c,u,f,g,p,w),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(m=>this._onParentConfigurationChanged(m)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){i0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Fr=M4([Qa(4,Ti),Qa(5,as),Qa(6,Ls),Qa(7,mn),Qa(8,Hr),Qa(9,ao),Qa(10,wy),Qa(11,Is),Qa(12,ei)],Fr);const mI=new en(new pf(0,122,204)),R4={showArrow:!0,showFrame:!0,className:"",frameColor:mI,arrowColor:mI,keepEditorSelection:!1},N4="vs.editor.contrib.zoneWidget";class A4{constructor(e,t,i,n,s,r,a,c){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=n,this.showInHiddenAreas=a,this.ordinal=c,this._onDomNodeTop=s,this._onComputedHeight=r}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class O4{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const Db=class Db{constructor(e){this._editor=e,this._ruleName=Db._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),rL(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){rL(this._ruleName),cO(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:K.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Db._IdGenerator=new lO(".arrow-decoration-");let bC=Db;class F4{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new dt,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=aO(t),i0(this.options,R4,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(i=>{const n=this._getWidth(i);this.domNode.style.width=n+"px",this.domNode.style.left=this._getLeft(i)+"px",this._onWidth(n)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new bC(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){var t;if(this.domNode.style.height=`${e}px`,this.container){const i=e-this._decoratingElementsHeight();this.container.style.height=`${i}px`;const n=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(n))}(t=this._resizeSash)==null||t.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=K.isIRange(e)?K.lift(e):K.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:tn.EMPTY}])}hide(){var e;this._viewZone&&(this.editor.changeViewZones(t=>{this._viewZone&&t.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),(e=this._arrow)==null||e.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;if(this.options.showArrow){const i=Math.round(e/3);t+=2*i}if(this.options.showFrame){const i=Math.round(e/9);t+=2*i}return t}_showImpl(e,t){const i=e.getStartPosition(),n=this.editor.getLayoutInfo(),s=this._getWidth(n);this.domNode.style.width=`${s}px`,this.domNode.style.left=this._getLeft(n)+"px";const r=document.createElement("div");r.style.overflow="hidden";const a=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const p=Math.max(12,this.editor.getLayoutInfo().height/a*.8);t=Math.min(t,p)}let c=0,u=0;if(this._arrow&&this.options.showArrow&&(c=Math.round(a/3),this._arrow.height=c,this._arrow.show(i)),this.options.showFrame&&(u=Math.round(a/9)),this.editor.changeViewZones(p=>{this._viewZone&&p.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new A4(r,i.lineNumber,i.column,t,w=>this._onViewZoneTop(w),w=>this._onViewZoneHeight(w),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new O4(N4+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const p=this.options.frameWidth?this.options.frameWidth:u;this.container.style.borderTopWidth=p+"px",this.container.style.borderBottomWidth=p+"px"}const f=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=c+"px",this.container.style.height=f+"px",this.container.style.overflow="hidden"),this._doLayout(f,s),this.options.keepEditorSelection||this.editor.setSelection(e);const g=this.editor.getModel();if(g){const p=g.validateRange(new K(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(p,p.startLineNumber===g.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new Sh(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let e;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){const i=(t.currentY-e.startY)/this.editor.getOption(67),n=i<0?Math.ceil(i):Math.floor(i),s=e.heightInLines+n;s>5&&s<35&&this._relayout(s)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var aR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lR=function(o,e){return function(t,i){e(t,i,o)}};const cR=Tl("IPeekViewService");Pl(cR,class{constructor(){this._widgets=new Map}addExclusiveWidget(o,e){const t=this._widgets.get(o);t&&(t.listener.dispose(),t.widget.dispose());const i=()=>{const n=this._widgets.get(o);n&&n.widget===e&&(n.listener.dispose(),this._widgets.delete(o))};this._widgets.set(o,{widget:e,listener:e.onDidClose(i)})}},1);var _o;(function(o){o.inPeekEditor=new dn("inReferenceSearchEditor",!0,C("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(_o||(_o={}));var ef;let Cv=(ef=class{constructor(e,t){e instanceof Fr&&_o.inPeekEditor.bindTo(t)}dispose(){}},ef.ID="editor.contrib.referenceController",ef);Cv=aR([lR(1,mn)],Cv);Gi(Cv.ID,Cv,0);function H4(o){const e=o.get(as).getFocusedCodeEditor();return e instanceof Fr?e.getParentEditor():e}const W4={headerBackgroundColor:en.white,primaryHeadingColor:en.fromHex("#333333"),secondaryHeadingColor:en.fromHex("#6c6c6cb3")};let xv=class extends F4{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new zi,this.onDidClose=this._onDidClose.event,i0(this.options,W4,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();const e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=Vt(".head"),this._bodyElement=Vt(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=Vt(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),yl(this._titleElement,"click",s=>this._onTitleClick(s))),Ft(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=Vt("span.filename"),this._secondaryHeading=Vt("span.dirname"),this._metaHeading=Vt("span.meta"),Ft(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=Vt(".peekview-actions");Ft(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new dp(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new _f("peekview.close",C("label.close","Close"),bn.asClassName(yi.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:dO.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:Ha(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,Ir(this._metaHeading)):Ho(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}const i=Math.ceil(this.editor.getOption(67)*1.2),n=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(n,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height=`${e}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height=`${e}px`)}};xv=aR([lR(2,Ti)],xv);const B4=jt("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:en.black,hcLight:en.white},C("peekViewTitleBackground","Background color of the peek view title area.")),dR=jt("peekViewTitleLabel.foreground",{dark:en.white,light:en.black,hcDark:en.white,hcLight:__},C("peekViewTitleForeground","Color of the peek view title.")),uR=jt("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},C("peekViewTitleInfoForeground","Color of the peek view title info.")),z4=jt("peekView.border",{dark:wS,light:wS,hcDark:bl,hcLight:bl},C("peekViewBorder","Color of the peek view borders and arrow.")),V4=jt("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:en.black,hcLight:en.white},C("peekViewResultsBackground","Background color of the peek view result list."));jt("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:en.white,hcLight:__},C("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));jt("peekViewResult.fileForeground",{dark:en.white,light:"#1E1E1E",hcDark:en.white,hcLight:__},C("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));jt("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},C("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));jt("peekViewResult.selectionForeground",{dark:en.white,light:"#6C6C6C",hcDark:en.white,hcLight:__},C("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const hR=jt("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:en.black,hcLight:en.white},C("peekViewEditorBackground","Background color of the peek view editor."));jt("peekViewEditorGutter.background",hR,C("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));jt("peekViewEditorStickyScroll.background",hR,C("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));jt("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},C("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));jt("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},C("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));jt("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:_u,hcLight:_u},C("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Nc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=uO.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var t;const e=(t=this.parent.getPreview(this))==null?void 0:t.preview(this.range);return e?C({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"{0} in {1} on line {2} at column {3}",e.value,ja(this.uri),this.range.startLineNumber,this.range.startColumn):C("aria.oneReference","in {0} on line {1} at column {2}",ja(this.uri),this.range.startLineNumber,this.range.startColumn)}}class j4{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:n,startColumn:s,endLineNumber:r,endColumn:a}=e,c=i.getWordUntilPosition({lineNumber:n,column:s-t}),u=new K(n,c.startColumn,n,s),f=new K(r,a,r,1073741824),g=i.getValueInRange(u).replace(/^\s+/,""),p=i.getValueInRange(e),w=i.getValueInRange(f).replace(/\s+$/,"");return{value:g+p+w,highlight:{start:g.length,end:g.length+p.length}}}}class Pp{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Ec}dispose(){to(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?C("aria.fileReferences.1","1 symbol in {0}, full path {1}",ja(this.uri),this.uri.fsPath):C("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,ja(this.uri),this.uri.fsPath)}async resolve(e){if(this._previews.size!==0)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const i=await e.createModelReference(t.uri);this._previews.set(t.uri,new j4(i))}catch(i){Pn(i)}return this}}class Do{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new zi,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(Do._compareReferences);let n;for(const s of e)if((!n||!aL.isEqual(n.uri,s.uri,!0))&&(n=new Pp(this,s.uri),this.groups.push(n)),n.children.length===0||Do._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Nc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){to(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new Do(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?C("aria.result.0","No results found"):this.references.length===1?C("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?C("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):C("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let n=i.children.indexOf(e);const s=i.children.length,r=i.parent.groups.length;return r===1||t&&n+1<s||!t&&n>0?(t?n=(n+1)%s:n=(n+s-1)%s,i.children[n]):(n=i.parent.groups.indexOf(i),t?(n=(n+1)%r,i.parent.groups[n].children[0]):(n=(n+r-1)%r,i.parent.groups[n].children[i.parent.groups[n].children.length-1]))}nearestReference(e,t){const i=this.references.map((n,s)=>({idx:s,prefixLen:m_(n.uri.toString(),e.toString()),offsetDist:Math.abs(n.range.startLineNumber-t.lineNumber)*100+Math.abs(n.range.startColumn-t.column)})).sort((n,s)=>n.prefixLen>s.prefixLen?-1:n.prefixLen<s.prefixLen?1:n.offsetDist<s.offsetDist?-1:n.offsetDist>s.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&K.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return aL.compare(e.uri,t.uri)||K.compareRangesUsingStarts(e.range,t.range)}}var Ky=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Zy=function(o,e){return function(t,i){e(t,i,o)}},yC;let wC=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof Do||e instanceof Pp}getChildren(e){if(e instanceof Do)return e.groups;if(e instanceof Pp)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};wC=Ky([Zy(0,ga)],wC);class $4{getHeight(){return 23}getTemplateId(e){return e instanceof Pp?kv.id:Lv.id}}let SC=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Nc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return ja(e.uri)}};SC=Ky([Zy(0,hs)],SC);class U4{getId(e){return e instanceof Nc?e.id:e.uri}}let CC=class extends ft{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new VE(i,{supportHighlights:!0})),this.badge=new hO(Ft(i,Vt(".count")),{},fO),e.appendChild(i)}set(e,t){const i=n0(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const n=e.children.length;this.badge.setCount(n),n>1?this.badge.setTitleFormat(C("referencesCount","{0} references",n)):this.badge.setTitleFormat(C("referenceCount","{0} reference",n))}};CC=Ky([Zy(1,pp)],CC);var Rd;let kv=(Rd=class{constructor(e){this._instantiationService=e,this.templateId=yC.id}renderTemplate(e){return this._instantiationService.createInstance(CC,e)}renderElement(e,t,i){i.set(e.element,Cy(e.filterData))}disposeTemplate(e){e.dispose()}},yC=Rd,Rd.id="FileReferencesRenderer",Rd);kv=yC=Ky([Zy(0,Ti)],kv);class q4 extends ft{constructor(e){super(),this.label=this._register(new gO(e))}set(e,t){var n;const i=(n=e.parent.getPreview(e))==null?void 0:n.preview(e.range);if(!i||!i.value)this.label.set(`${ja(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!_p.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,Cy(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const Eb=class Eb{constructor(){this.templateId=Eb.id}renderTemplate(e){return new q4(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Eb.id="OneReferenceRenderer";let Lv=Eb;class G4{getWidgetAriaLabel(){return C("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var K4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ih=function(o,e){return function(t,i){e(t,i,o)}};const Tb=class Tb{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new dt,this._callOnModelChange=new dt,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e){for(const t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let n=0,s=e.children.length;n<s;n++){const r=e.children[n];this._decorationIgnoreSet.has(r.id)||r.uri.toString()===this._editor.getModel().uri.toString()&&(t.push({range:r.range,options:Tb.DecorationOptions}),i.push(n))}this._editor.changeDecorations(n=>{const s=n.deltaDecorations([],t);for(let r=0;r<s.length;r++)this._decorations.set(s[r],e.children[i[r]])})}_onDecorationChanged(){const e=[],t=this._editor.getModel();if(t){for(const[i,n]of this._decorations){const s=t.getDecorationRange(i);if(!s)continue;let r=!1;if(!K.equalsRange(s,n.range)){if(K.spansMultipleLines(s))r=!0;else{const a=n.range.endColumn-n.range.startColumn,c=s.endColumn-s.startColumn;a!==c&&(r=!0)}r?(this._decorationIgnoreSet.add(n.id),e.push(i)):n.range=s}}for(let i=0,n=e.length;i<n;i++)this._decorations.delete(e[i]);this._editor.removeDecorations(e)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}};Tb.DecorationOptions=tn.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let xC=Tb;class Z4{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(e){let t,i;try{const n=JSON.parse(e);t=n.ratio,i=n.heightInLines}catch{}return{ratio:t||.7,heightInLines:i||18}}}class X4 extends mO{}let kC=class extends xv{constructor(e,t,i,n,s,r,a,c,u){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},r),this._defaultTreeKeyboardSupport=t,this.layoutData=i,this._textModelResolverService=s,this._instantiationService=r,this._peekViewService=a,this._uriLabel=c,this._keybindingService=u,this._disposeOnNewModel=new dt,this._callOnDispose=new dt,this._onDidSelectReference=new zi,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new Rn(0,0),this._isClosing=!1,this._applyTheme(n.getColorTheme()),this._callOnDispose.add(n.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(e,this),this.create()}get isClosing(){return this._isClosing}dispose(){this._isClosing=!0,this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),to(this._preview),to(this._previewNotAvailableMessage),to(this._tree),to(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(z4)||en.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(B4)||en.transparent,primaryHeadingColor:e.getColor(dR),secondaryHeadingColor:e.getColor(uR)})}show(e){super.show(e,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?"side":"open",source:"title"})}_fillBody(e){this.setCssClass("reference-zone-widget"),this._messageContainer=Ft(e,Vt("div.messages")),Ho(this._messageContainer),this._splitView=new pO(e,{orientation:1}),this._previewContainer=Ft(e,Vt("div.preview.inline"));const t={scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!0},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}};this._preview=this._instantiationService.createInstance(Fr,this._previewContainer,t,{},this.editor),Ho(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(ic,C("missingPreviewMessage","no preview available"),mp,ic.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=Ft(e,Vt("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new G4,keyboardNavigationLabelProvider:this._instantiationService.createInstance(SC),identityProvider:new U4,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:V4}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(yl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(X4,"ReferencesWidget",this._treeContainer,new $4,[this._instantiationService.createInstance(kv),this._instantiationService.createInstance(Lv)],this._instantiationService.createInstance(wC),i),this._splitView.addView({onDidChange:vs.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},lL.Distribute),this._splitView.addView({onDidChange:vs.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:s=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${s}px`,this._tree.layout(this._dim.height,s)}},lL.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const n=(s,r)=>{s instanceof Nc&&(r==="show"&&this._revealReference(s,!1),this._onDidSelectReference.fire({element:s,kind:r,source:"tree"}))};this._disposables.add(this._tree.onDidOpen(s=>{s.sideBySide?n(s.element,"side"):s.editorOptions.pinned?n(s.element,"goto"):n(s.element,"show")})),Ho(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Rn(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=C("noResults","No results"),Ir(this._messageContainer),Promise.resolve(void 0)):(Ho(this._messageContainer),this._decorationsManager=new xC(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{const{event:t,target:i}=e;if(t.detail!==2)return;const n=this._getFocusedReference();n&&this._onDidSelectReference.fire({element:{uri:n.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),Ir(this._treeContainer),Ir(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();if(e instanceof Nc)return e;if(e instanceof Pp&&e.children.length>0)return e.children[0]}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==fo.inMemory?this.setTitle(_O(e.uri),this._uriLabel.getUriLabel(n0(e.uri))):this.setTitle(C("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent),this._tree.reveal(e));const n=await i;if(!this._model){n.dispose();return}to(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=K.lift(e.range).collapseToStart();this._previewModelReference=n,this._preview.setModel(s.textEditorModel),this._preview.setSelection(a),this._preview.revealRangeInCenter(a,r)}else this._preview.setModel(this._previewNotAvailableMessage),n.dispose()}};kC=K4([ih(3,Hr),ih(4,ga),ih(5,Ti),ih(6,cR),ih(7,pp),ih(8,hs)],kC);var Y4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nh=function(o,e){return function(t,i){e(t,i,o)}},zm;const ju=new dn("referenceSearchVisible",!1,C("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Nd;let Eu=(Nd=class{static get(e){return e.getContribution(zm.ID)}constructor(e,t,i,n,s,r,a,c){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=r,this._storageService=a,this._configurationService=c,this._disposables=new dt,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=ju.bindTo(i)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),(e=this._widget)==null||e.dispose(),(t=this._model)==null||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let n;if(this._widget&&(n=this._widget.position),this.closeWidget(),n&&e.containsPosition(n))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const s="peekViewLayout",r=Z4.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(kC,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(C("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget?(this._storageService.store(s,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(c=>{const{element:u,kind:f}=c;if(u)switch(f){case"open":(c.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(u,!1,!1);break;case"side":this.openReference(u,!0,!1);break;case"goto":i?this._gotoReference(u,!0):this.openReference(u,!1,!0);break}}));const a=++this._requestIdPool;t.then(c=>{var u;if(a!==this._requestIdPool||!this._widget){c.dispose();return}return(u=this._model)==null||u.dispose(),this._model=c,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(C("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const f=this._editor.getModel().uri,g=new Jt(e.startLineNumber,e.startColumn),p=this._model.nearestReference(f,g);if(p)return this._widget.setSelection(p).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},c=>{this._notificationService.error(c)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const n=this._model.nextOrPreviousReference(i,e),s=this._editor.hasTextFocus(),r=this._widget.isPreviewEditorFocused();await this._widget.setSelection(n),await this._gotoReference(n,!1),s?this._editor.focus():this._widget&&r&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){var t,i;(t=this._widget)==null||t.dispose(),(i=this._model)==null||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){var n;(n=this._widget)==null||n.hide(),this._ignoreModelChangeEvent=!0;const i=K.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then(s=>{if(this._ignoreModelChangeEvent=!1,!s||!this._widget){this.closeWidget();return}if(this._editor===s)this._widget.show(i),this._widget.focusOnReferenceTree();else{const r=zm.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,Rs(c=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,Pn(s)})}openReference(e,t,i){t||this.closeWidget();const{uri:n,range:s}=e;this._editorService.openCodeEditor({resource:n,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor,t)}},zm=Nd,Nd.ID="editor.contrib.referencesController",Nd);Eu=zm=Y4([nh(2,mn),nh(3,as),nh(4,ao),nh(5,Ti),nh(6,Wc),nh(7,$n)],Eu);function $u(o,e){const t=H4(o);if(!t)return;const i=Eu.get(t);i&&e(i)}qa.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:us(2089,60),when:xe.or(ju,_o.inPeekEditor),handler(o){$u(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});qa.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:xe.or(ju,_o.inPeekEditor),handler(o){$u(o,e=>{e.goToNextOrPreviousReference(!0)})}});qa.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:xe.or(ju,_o.inPeekEditor),handler(o){$u(o,e=>{e.goToNextOrPreviousReference(!1)})}});On.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");On.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");On.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");On.registerCommand("closeReferenceSearch",o=>$u(o,e=>e.closeWidget()));qa.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:xe.and(_o.inPeekEditor,xe.not("config.editor.stablePeek"))});qa.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:xe.and(ju,xe.not("config.editor.stablePeek"),xe.or(F.editorTextFocus,vO.negate()))});qa.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:xe.and(ju,jE,$E.negate(),UE.negate()),handler(o){var i;const t=(i=o.get(s0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&$u(o,n=>n.revealReference(t[0]))}});qa.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:xe.and(ju,jE,$E.negate(),UE.negate()),handler(o){var i;const t=(i=o.get(s0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&$u(o,n=>n.openReference(t[0],!0,!0))}});On.registerCommand("openReference",o=>{var i;const t=(i=o.get(s0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Nc&&$u(o,n=>n.openReference(t[0],!1,!0))});var fR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Tg=function(o,e){return function(t,i){e(t,i,o)}};const q0=new dn("hasSymbols",!1,C("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),Xy=Tl("ISymbolNavigationService");let LC=class{constructor(e,t,i,n){this._editorService=t,this._notificationService=i,this._keybindingService=n,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=q0.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),(e=this._currentState)==null||e.dispose(),(t=this._currentMessage)==null||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new IC(this._editorService),n=i.onDidChange(s=>{if(this._ignoreEditorChange)return;const r=this._editorService.getActiveCodeEditor();if(!r)return;const a=r.getModel(),c=r.getPosition();if(!a||!c)return;let u=!1,f=!1;for(const g of t.references)if(Jm(g.uri,a.uri))u=!0,f=f||K.containsPosition(g.range,c);else if(u)break;(!u||!f)&&this.reset()});this._currentState=qE(i,n)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:K.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var i;(i=this._currentMessage)==null||i.dispose();const e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),t=e?C("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):C("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};LC=fR([Tg(0,mn),Tg(1,as),Tg(2,ao),Tg(3,hs)],LC);Pl(Xy,LC,1);ii(new class extends bo{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:q0,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(Xy).revealNext(e)}});qa.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:q0,primary:9,handler(o){o.get(Xy).reset()}});let IC=class{constructor(e){this._listener=new Map,this._disposables=new dt,this._onDidChange=new zi,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),to(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,qE(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){var t;(t=this._listener.get(e))==null||t.dispose(),this._listener.delete(e)}};IC=fR([Tg(0,as)],IC);function DC(o,e){return e.uri.scheme===o.uri.scheme?!0:!bO(e.uri,fo.walkThroughSnippet,fo.vscodeChatCodeBlock,fo.vscodeChatCodeCompareBlock)}async function D_(o,e,t,i,n){const r=t.ordered(o,i).map(c=>Promise.resolve(n(c,o,e)).then(void 0,u=>{rs(u)})),a=await Promise.all(r);return vl(a.flat()).filter(c=>DC(o,c))}function E_(o,e,t,i,n){return D_(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function G0(o,e,t,i,n){return D_(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function K0(o,e,t,i,n){return D_(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function Z0(o,e,t,i,n){return D_(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function T_(o,e,t,i,n,s){return D_(e,t,o,n,async(r,a,c)=>{var g,p;const u=(g=await r.provideReferences(a,c,{includeDeclaration:!0},s))==null?void 0:g.filter(w=>DC(a,w));if(!i||!u||u.length!==2)return u;const f=(p=await r.provideReferences(a,c,{includeDeclaration:!1},s))==null?void 0:p.filter(w=>DC(a,w));return f&&f.length===1?f:u})}async function Ga(o){const e=await o(),t=new Do(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}yo("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(ei),n=E_(i.definitionProvider,e,t,!1,Vi.None);return Ga(()=>n)});yo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(ei),n=E_(i.definitionProvider,e,t,!0,Vi.None);return Ga(()=>n)});yo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(ei),n=Z0(i.typeDefinitionProvider,e,t,!1,Vi.None);return Ga(()=>n)});yo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(ei),n=Z0(i.typeDefinitionProvider,e,t,!0,Vi.None);return Ga(()=>n)});yo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(ei),n=G0(i.declarationProvider,e,t,!1,Vi.None);return Ga(()=>n)});yo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(ei),n=G0(i.declarationProvider,e,t,!0,Vi.None);return Ga(()=>n)});yo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(ei),n=T_(i.referenceProvider,e,t,!1,!1,Vi.None);return Ga(()=>n)});yo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(ei),n=T_(i.referenceProvider,e,t,!1,!0,Vi.None);return Ga(()=>n)});yo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(ei),n=K0(i.implementationProvider,e,t,!1,Vi.None);return Ga(()=>n)});yo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(ei),n=K0(i.implementationProvider,e,t,!0,Vi.None);return Ga(()=>n)});Nr.appendMenuItem(At.EditorContext,{submenu:At.EditorContextPeek,title:C("peek.submenu","Peek"),group:"navigation",order:100});class Ef{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Ef||Jt.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const mr=class mr extends ca{static all(){return mr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of hl.wrap(t.menu))(i.id===At.EditorContext||i.id===At.EditorContextPeek)&&(i.when=xe.and(e.precondition,i.when));return t}constructor(e,t){super(mr._patchConfig(t)),this.configuration=e,mr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(ao),r=e.get(as),a=e.get(l_),c=e.get(Xy),u=e.get(ei),f=e.get(Ti),g=t.getModel(),p=t.getPosition(),w=Ef.is(i)?i:new Ef(g,p),m=new uf(t,5),x=r_(this._getLocationModel(u,w.model,w.position,m.token),m.token).then(async k=>{var A;if(!k||m.token.isCancellationRequested)return;Ar(k.ariaMessage);let E;if(k.referenceAt(g.uri,p)){const U=this._getAlternativeCommand(t);!mr._activeAlternativeCommands.has(U)&&mr._allSymbolNavigationCommands.has(U)&&(E=mr._allSymbolNavigationCommands.get(U))}const P=k.references.length;if(P===0){if(!this.configuration.muteMessage){const U=g.getWordAtPosition(p);(A=Io.get(t))==null||A.showMessage(this._getNoResultFoundMessage(U),p)}}else if(P===1&&E)mr._activeAlternativeCommands.add(this.desc.id),f.invokeFunction(U=>E.runEditorCommand(U,t,i,n).finally(()=>{mr._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,c,t,k,n)},k=>{s.error(k)}).finally(()=>{m.dispose()});return a.showWhile(x,250),x}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof Fr)&&(this.configuration.openInPeek||r==="peek"&&n.references.length>1))this._openInPeek(i,n,s);else{const a=n.firstReference(),c=n.references.length>1&&r==="gotoAndPeek",u=await this._openReference(i,e,a,this.configuration.openToSide,!c);c&&u?this._openInPeek(u,n,s):n.dispose(),r==="goto"&&t.put(a)}}async _openReference(e,t,i,n,s){let r;if(yO(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:K.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(a){if(s){const c=a.getModel(),u=a.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===c&&u.clear()},350)}return a}}_openInPeek(e,t,i){const n=Eu.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),Rs(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};mr._allSymbolNavigationCommands=new Map,mr._activeAlternativeCommands=new Set;let kl=mr;class P_ extends kl{async _getLocationModel(e,t,i,n){return new Do(await E_(e.definitionProvider,t,i,!1,n),C("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?C("noResultWord","No definition found for '{0}'",e.word):C("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var vc;Ln((vc=class extends P_{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:vc.id,title:{...Zt("actions.goToDecl.label","Go to Definition"),mnemonicTitle:C({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:F.hasDefinitionProvider,keybinding:[{when:F.editorTextFocus,primary:70,weight:100},{when:xe.and(F.editorTextFocus,GE),primary:2118,weight:100}],menu:[{id:At.EditorContext,group:"navigation",order:1.1},{id:At.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),On.registerCommandAlias("editor.action.goToDeclaration",vc.id)}},vc.id="editor.action.revealDefinition",vc));var bc;Ln((bc=class extends P_{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:bc.id,title:Zt("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:xe.and(F.hasDefinitionProvider,F.isInEmbeddedEditor.toNegated()),keybinding:[{when:F.editorTextFocus,primary:us(2089,70),weight:100},{when:xe.and(F.editorTextFocus,GE),primary:us(2089,2118),weight:100}]}),On.registerCommandAlias("editor.action.openDeclarationToTheSide",bc.id)}},bc.id="editor.action.revealDefinitionAside",bc));var yc;Ln((yc=class extends P_{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:yc.id,title:Zt("actions.previewDecl.label","Peek Definition"),precondition:xe.and(F.hasDefinitionProvider,_o.notInPeekEditor,F.isInEmbeddedEditor.toNegated()),keybinding:{when:F.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:At.EditorContextPeek,group:"peek",order:2}}),On.registerCommandAlias("editor.action.previewDeclaration",yc.id)}},yc.id="editor.action.peekDefinition",yc));class gR extends kl{async _getLocationModel(e,t,i,n){return new Do(await G0(e.declarationProvider,t,i,!1,n),C("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?C("decl.noResultWord","No declaration found for '{0}'",e.word):C("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var Ad;Ln((Ad=class extends gR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Ad.id,title:{...Zt("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:C({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:xe.and(F.hasDeclarationProvider,F.isInEmbeddedEditor.toNegated()),menu:[{id:At.EditorContext,group:"navigation",order:1.3},{id:At.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?C("decl.noResultWord","No declaration found for '{0}'",e.word):C("decl.generic.noResults","No declaration found")}},Ad.id="editor.action.revealDeclaration",Ad));Ln(class extends gR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:Zt("actions.peekDecl.label","Peek Declaration"),precondition:xe.and(F.hasDeclarationProvider,_o.notInPeekEditor,F.isInEmbeddedEditor.toNegated()),menu:{id:At.EditorContextPeek,group:"peek",order:3}})}});class pR extends kl{async _getLocationModel(e,t,i,n){return new Do(await Z0(e.typeDefinitionProvider,t,i,!1,n),C("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?C("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):C("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var Od;Ln((Od=class extends pR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Od.ID,title:{...Zt("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:C({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:F.hasTypeDefinitionProvider,keybinding:{when:F.editorTextFocus,primary:0,weight:100},menu:[{id:At.EditorContext,group:"navigation",order:1.4},{id:At.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Od.ID="editor.action.goToTypeDefinition",Od));var Fd;Ln((Fd=class extends pR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Fd.ID,title:Zt("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:xe.and(F.hasTypeDefinitionProvider,_o.notInPeekEditor,F.isInEmbeddedEditor.toNegated()),menu:{id:At.EditorContextPeek,group:"peek",order:4}})}},Fd.ID="editor.action.peekTypeDefinition",Fd));class _R extends kl{async _getLocationModel(e,t,i,n){return new Do(await K0(e.implementationProvider,t,i,!1,n),C("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?C("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):C("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var Hd;Ln((Hd=class extends _R{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Hd.ID,title:{...Zt("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:C({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:F.hasImplementationProvider,keybinding:{when:F.editorTextFocus,primary:2118,weight:100},menu:[{id:At.EditorContext,group:"navigation",order:1.45},{id:At.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Hd.ID="editor.action.goToImplementation",Hd));var Wd;Ln((Wd=class extends _R{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Wd.ID,title:Zt("actions.peekImplementation.label","Peek Implementations"),precondition:xe.and(F.hasImplementationProvider,_o.notInPeekEditor,F.isInEmbeddedEditor.toNegated()),keybinding:{when:F.editorTextFocus,primary:3142,weight:100},menu:{id:At.EditorContextPeek,group:"peek",order:5}})}},Wd.ID="editor.action.peekImplementation",Wd));class mR extends kl{_getNoResultFoundMessage(e){return e?C("references.no","No references found for '{0}'",e.word):C("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}Ln(class extends mR{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...Zt("goToReferences.label","Go to References"),mnemonicTitle:C({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:xe.and(F.hasReferenceProvider,_o.notInPeekEditor,F.isInEmbeddedEditor.toNegated()),keybinding:{when:F.editorTextFocus,primary:1094,weight:100},menu:[{id:At.EditorContext,group:"navigation",order:1.45},{id:At.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new Do(await T_(e.referenceProvider,t,i,!0,!1,n),C("ref.title","References"))}});Ln(class extends mR{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:Zt("references.action.label","Peek References"),precondition:xe.and(F.hasReferenceProvider,_o.notInPeekEditor,F.isInEmbeddedEditor.toNegated()),menu:{id:At.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new Do(await T_(e.referenceProvider,t,i,!1,!1,n),C("ref.title","References"))}});class Q4 extends kl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:Zt("label.generic","Go to Any Symbol"),precondition:xe.and(_o.notInPeekEditor,F.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new Do(this._references,C("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&C("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}On.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:Dn},{name:"position",description:"The position at which to start",constraint:Jt.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(o,e,t,i,n,s,r)=>{vn(Dn.isUri(e)),vn(Jt.isIPosition(t)),vn(Array.isArray(i)),vn(typeof n>"u"||typeof n=="string"),vn(typeof r>"u"||typeof r=="boolean");const a=o.get(as),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(KE(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(u=>{const f=new class extends Q4{_getNoResultFoundMessage(g){return s||super._getNoResultFoundMessage(g)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);u.get(Ti).invokeFunction(f.run.bind(f),c)})}});On.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:Dn},{name:"position",description:"The position at which to start",constraint:Jt.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(o,e,t,i,n)=>{o.get(Ls).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});On.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{vn(Dn.isUri(e)),vn(Jt.isIPosition(t));const i=o.get(ei),n=o.get(as);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!KE(s)||!s.hasModel())return;const r=Eu.get(s);if(!r)return;const a=Rs(u=>T_(i.referenceProvider,s.getModel(),Jt.lift(t),!1,!1,u).then(f=>new Do(f,C("ref.title","References")))),c=new K(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(c,a,!1))})}});On.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function J4(o,e,t,i){const n=o.get(ga),s=o.get(Bf),r=o.get(Ls),a=o.get(Ti),c=o.get(ao);if(await i.item.resolve(Vi.None),!i.part.location)return;const u=i.part.location,f=[],g=new Set(Nr.getMenuItems(At.EditorContext).map(w=>wO(w)?w.command.id:Vy()));for(const w of kl.all())g.has(w.desc.id)&&f.push(new _f(w.desc.id,mf.label(w.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const m=await n.createModelReference(u.uri);try{const x=new Ef(m.object.textEditorModel,K.getStartPosition(u.range)),k=i.item.anchor.range;await a.invokeFunction(w.runEditorCommand.bind(w),e,x,k)}finally{m.dispose()}}));if(i.part.command){const{command:w}=i.part;f.push(new fp),f.push(new _f(w.id,w.title,void 0,!0,async()=>{try{await r.executeCommand(w.id,...w.arguments??[])}catch(m){c.notify({severity:o0.Error,source:i.item.provider.displayName,message:m})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const w=po(t);return{x:w.left,y:w.top+w.height+8}},getActions:()=>f,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function vR(o,e,t,i){const s=await o.get(ga).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,c=r.get(mn),u=_o.inPeekEditor.getValue(c),f=!a&&t.getOption(89)&&!u;return new P_({openToSide:a,openInPeek:f,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new Ef(s.object.textEditorModel,K.getStartPosition(i.range)),K.lift(i.range))}),s.dispose()}var ez=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sh=function(o,e){return function(t,i){e(t,i,o)}},bh;class Iv{constructor(){this._entries=new d_(50)}get(e){const t=Iv._key(e);return this._entries.get(t)}set(e,t){const i=Iv._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const bR=Tl("IInlayHintsCache");Pl(bR,Iv,1);class EC{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return typeof e=="string"?{label:e}:e[this.index]}}class tz{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var ul;let Mp=(ul=class{static get(e){return e.getContribution(bh.ID)??void 0}constructor(e,t,i,n,s,r,a){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=n,this._commandService=s,this._notificationService=r,this._instaService=a,this._disposables=new dt,this._sessionDisposables=new dt,this._decorationsMetadata=new Map,this._ruleFactory=new NE(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(c=>{c.hasChanged(142)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(142);if(e.enabled==="off")return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled==="on")this._activeRenderMode=0;else{let a,c;e.enabled==="onUnlessPressed"?(a=0,c=1):(a=1,c=0),this._activeRenderMode=a,this._sessionDisposables.add(SO.getInstance().event(u=>{if(!this._editor.hasModel())return;const f=u.altKey&&u.ctrlKey&&!(u.shiftKey||u.metaKey)?c:a;if(f!==this._activeRenderMode){this._activeRenderMode=f;const g=this._editor.getModel(),p=this._copyInlayHintsWithCurrentAnchor(g);this._updateHintsDecorators([g.getFullModelRange()],p),r.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(Vn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new bs(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new Ns;const c=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const u=n.token,f=await Sv.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),u);if(r.delay=this._debounceInfo.update(t,Date.now()-a),u.isCancellationRequested){f.dispose();return}for(const g of f.provider)typeof g.onDidChangeInlayHints=="function"&&!s.has(g)&&(s.add(g),this._sessionDisposables.add(g.onDidChangeInlayHints(()=>{r.isScheduled()||r.schedule()})));this._sessionDisposables.add(f),this._updateHintsDecorators(f.ranges,f.items),this._cacheHintsForFastRestore(t)}catch(u){Pn(u)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(Vn(()=>n==null?void 0:n.dispose(!0))),r.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(a=>{(a.scrollTopChanged||!r.isScheduled())&&r.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(a=>{n==null||n.cancel();const c=Math.max(r.delay,1250);r.schedule(c)})),this._sessionDisposables.add(this._installDblClickGesture(()=>r.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new dt,t=e.add(new Gy(this._editor)),i=new dt;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(n=>{const[s]=n,r=this._getInlayHintLabelPart(s),a=this._editor.getModel();if(!r||!a){i.clear();return}const c=new Ns;i.add(Vn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new tz(r,s.hasTriggerModifier):void 0;const u=a.validatePosition(r.item.hint.position).lineNumber,f=new K(u,1,u,a.getLineMaxColumn(u)),g=this._getInlineHintsForRange(f);this._updateHintsDecorators([f],g),i.add(Vn(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([f],g)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async n=>{const s=this._getInlayHintLabelPart(n);if(s){const r=s.part;r.location?this._instaService.invokeFunction(vR,n,this._editor,r.location):CO.is(r.command)&&await this._invokeCommand(r.command,s.item)}})),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(Vi.None),jo(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>Qn.replace(K.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!xO(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(J4,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){var i;if(e.target.type!==6)return;const t=(i=e.target.detail.injectedText)==null?void 0:i.options;if(t instanceof r0&&(t==null?void 0:t.attachedData)instanceof EC)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:o0.Error,source:t.provider.displayName,message:i})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,n]of this._decorationsMetadata){if(t.has(n.item))continue;const s=e.getDecorationRange(i);if(s){const r=new rR(s,n.item.anchor.direction),a=n.item.with({anchor:r});t.set(n.item,a)}}return Array.from(t.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),n=[];for(const s of i.sort(K.compareRangesUsingStarts)){const r=t.validateRange(new K(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!K.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=K.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var m,x;const i=[],n=(k,E,P,A,U)=>{const B={content:P,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:E.className,cursorStops:A,attachedData:U};i.push({item:k,classNameRef:E,decoration:{range:k.anchor.range,options:{description:"InlayHint",showIfCollapsed:k.anchor.range.isEmpty(),collapseOnReplaceEdit:!k.anchor.range.isEmpty(),stickiness:0,[k.anchor.direction]:this._activeRenderMode===0?B:void 0}}})},s=(k,E)=>{const P=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(k,P," ",E?xh.Right:xh.None)},{fontSize:r,fontFamily:a,padding:c,isUniform:u}=this._getLayoutInfo(),f="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(f,a);let g={line:0,totalLen:0};for(const k of t){if(g.line!==k.anchor.range.startLineNumber&&(g={line:k.anchor.range.startLineNumber,totalLen:0}),g.totalLen>bh._MAX_LABEL_LEN)continue;k.hint.paddingLeft&&s(k,!1);const E=typeof k.hint.label=="string"?[{label:k.hint.label}]:k.hint.label;for(let P=0;P<E.length;P++){const A=E[P],U=P===0,B=P===E.length-1,ne={fontSize:`${r}px`,fontFamily:`var(${f}), ${e0.fontFamily}`,verticalAlign:u?"baseline":"middle",unicodeBidi:"isolate"};jo(k.hint.textEdits)&&(ne.cursor="default"),this._fillInColors(ne,k.hint),(A.command||A.location)&&((m=this._activeInlayHintPart)==null?void 0:m.part.item)===k&&this._activeInlayHintPart.part.index===P&&(ne.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(ne.color=_s(kO),ne.cursor="pointer")),c&&(U&&B?(ne.padding=`1px ${Math.max(1,r/4)|0}px`,ne.borderRadius=`${r/4|0}px`):U?(ne.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,ne.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):B?(ne.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,ne.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):ne.padding="1px 0 1px 0");let ie=A.label;g.totalLen+=ie.length;let pe=!1;const _e=g.totalLen-bh._MAX_LABEL_LEN;if(_e>0&&(ie=ie.slice(0,-_e)+"…",pe=!0),n(k,this._ruleFactory.createClassNameRef(ne),iz(ie),B&&!k.hint.paddingRight?xh.Right:xh.None,new EC(k,P)),pe)break}if(k.hint.paddingRight&&s(k,!0),i.length>bh._MAX_DECORATORS)break}const p=[];for(const[k,E]of this._decorationsMetadata){const P=(x=this._editor.getModel())==null?void 0:x.getDecorationRange(k);P&&e.some(A=>A.containsRange(P))&&(p.push(k),E.classNameRef.dispose(),this._decorationsMetadata.delete(k))}const w=gf.capture(this._editor);this._editor.changeDecorations(k=>{const E=k.deltaDecorations(p,i.map(P=>P.decoration));for(let P=0;P<E.length;P++){const A=i[P];this._decorationsMetadata.set(E[P],A)}}),w.restore(this._editor)}_fillInColors(e,t){t.kind===cL.Parameter?(e.backgroundColor=_s(LO),e.color=_s(IO)):t.kind===cL.Type?(e.backgroundColor=_s(DO),e.color=_s(EO)):(e.backgroundColor=_s(TO),e.color=_s(PO))}_getLayoutInfo(){const e=this._editor.getOption(142),t=e.padding,i=this._editor.getOption(52),n=this._editor.getOption(49);let s=e.fontSize;(!s||s<5||s>i)&&(s=i);const r=e.fontFamily||n;return{fontSize:s,fontFamily:r,padding:t,isUniform:!t&&r===n&&s===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}},bh=ul,ul.ID="editor.contrib.InlayHints",ul._MAX_DECORATORS=1500,ul._MAX_LABEL_LEN=43,ul);Mp=bh=ez([sh(1,ei),sh(2,cr),sh(3,bR),sh(4,Ls),sh(5,ao),sh(6,Ti)],Mp);function iz(o){return o.replace(/[ \t]/g," ")}On.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;vn(Dn.isUri(t)),vn(K.isIRange(i));const{inlayHintsProvider:n}=o.get(ei),s=await o.get(ga).createModelReference(t);try{const r=await Sv.create(n,s.object.textEditorModel,[K.lift(i)],Vi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var nz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zl=function(o,e){return function(t,i){e(t,i,o)}};class vI extends Hm{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let Dv=class extends Tp{constructor(e,t,i,n,s,r,a,c,u){super(e,t,i,r,c,n,s,u),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){var n;if(!Mp.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof r0&&i.attachedData instanceof EC?new vI(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof vI?new oa(async n=>{const{part:s}=e;if(await s.item.resolve(i),i.isCancellationRequested)return;let r;typeof s.item.hint.tooltip=="string"?r=new Js().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new Dr(this,e.range,[r],!1,0)),jo(s.item.hint.textEdits)&&n.emitOne(new Dr(this,e.range,[new Js().appendText(C("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Js().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new Dr(this,e.range,[a],!1,1)),s.part.location||s.part.command){let u;const g=this._editor.getOption(78)==="altKey"?Va?C("links.navigate.kb.meta.mac","cmd + click"):C("links.navigate.kb.meta","ctrl + click"):Va?C("links.navigate.kb.alt.mac","option + click"):C("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?u=new Js().appendText(C("hint.defAndCommand","Go to Definition ({0}), right click for more",g)):s.part.location?u=new Js().appendText(C("hint.def","Go to Definition ({0})",g)):s.part.command&&(u=new Js(`[${C("hint.cmd","Execute Command")}](${P4(s.part.command)} "${s.part.command.title}") (${g})`,{isTrusted:!0})),u&&n.emitOne(new Dr(this,e.range,[u],!1,1e4))}const c=await this._resolveInlayHintLabelPartHover(s,i);for await(const u of c)n.emitOne(u)}):oa.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return oa.EMPTY;const{uri:i,range:n}=e.part.location,s=await this._resolverService.createModelReference(i);try{const r=s.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(r)?$0(this._languageFeaturesService.hoverProvider,r,new Jt(n.startLineNumber,n.startColumn),t).filter(a=>!gp(a.hover.contents)).map(a=>new Dr(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):oa.EMPTY}finally{s.dispose()}}};Dv=nz([zl(1,fa),zl(2,ua),zl(3,hs),zl(4,g_),zl(5,$n),zl(6,ga),zl(7,ei),zl(8,Ls)],Dv);class X0 extends ft{constructor(e,t,i,n,s,r){super();const a=t.anchor,c=t.hoverParts;this._renderedHoverParts=this._register(new TC(e,i,c,r,s));const{showAtPosition:u,showAtSecondaryPosition:f}=X0.computeHoverPositions(e,a.range,c);this.shouldAppearBeforeContent=c.some(g=>g.isBeforeContent),this.showAtPosition=u,this.showAtSecondaryPosition=f,this.initialMousePosX=a.initialMousePosX,this.initialMousePosY=a.initialMousePosY,this.shouldFocus=n.shouldFocus,this.source=n.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let n=1;if(e.hasModel()){const f=e._getViewModel(),g=f.coordinatesConverter,p=g.convertModelRangeToViewRange(t),w=f.getLineMinColumn(p.startLineNumber),m=new Jt(p.startLineNumber,w);n=g.convertViewPositionToModelPosition(m).column}const s=t.startLineNumber;let r=t.startColumn,a;for(const f of i){const g=f.range,p=g.startLineNumber===s,w=g.endLineNumber===s;if(p&&w){const x=g.startColumn,k=Math.min(r,x);r=Math.max(k,n)}f.forceShowAtRange&&(a=g)}let c,u;if(a){const f=a.getStartPosition();c=f,u=f}else c=t.getStartPosition(),u=new Jt(s,r);return{showAtPosition:c,showAtSecondaryPosition:u}}}class sz{constructor(e,t){this._statusBar=t,e.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}const Pb=class Pb extends ft{constructor(e,t,i,n,s){super(),this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=s,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,i,s,n)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,i)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(t.length===0)return ft.None;let i=t[0].range;for(const s of t){const r=s.range;i=K.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:Pb._DECORATION_OPTIONS}]),Vn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new wv(n),r={fragment:this._fragment,statusBar:s,...i},a=new dt;for(const u of e){const f=this._renderHoverPartsForParticipant(t,u,r);a.add(f);for(const g of f.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:u,hoverPart:g.hoverPart,hoverElement:g.hoverElement})}const c=this._renderStatusBar(this._fragment,s);return c&&(a.add(c),this._renderedParts.push({type:"statusBar",hoverElement:c.hoverElement,actions:c.actions})),Vn(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new Du([])}_renderStatusBar(e,t){if(t.hasContent)return new sz(e,t)}_registerListenersOnRenderedParts(){const e=new dt;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(_n(n,Zn.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(_n(n,Zn.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof Tp&&!(i instanceof Dv));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof Dp)}async updateHoverVerbosityLevel(e,t,i){if(!this._markdownHoverParticipant)return;const n=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,t);if(n===void 0)return;const s=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,n,i);s&&(this._renderedParts[t]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:s.hoverPart,hoverElement:s.hoverElement},this._context.onContentsChanged())}isColorPickerVisible(){var e;return((e=this._colorHoverParticipant)==null?void 0:e.isColorPickerVisible())??!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){const i=this._renderedParts[t];if(!i||i.type!=="hoverPart"||!(i.participant===e))return;const s=this._renderedParts.findIndex(r=>r.type==="hoverPart"&&r.participant===e);if(s===-1)throw new vf;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};Pb._DECORATION_OPTIONS=tn.register({description:"content-hover-highlight",className:"hoverHighlight"});let TC=Pb;var oz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bI=function(o,e){return function(t,i){e(t,i,o)}};let PC=class extends ft{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new zi),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(mC,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new yv(this._editor,this._participants),this._hoverOperation=this._register(new tR(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of Vu.getAll()){const i=this._instantiationService.createInstance(t,this._editor);e.push(i)}return e.sort((t,i)=>t.hoverOrdinal-i.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(t=>{var i;return(i=t.handleResize)==null?void 0:i.call(t)})})),e}_registerListeners(){this._register(this._hoverOperation.onResult(t=>{if(!this._computer.anchor)return;const i=t.hasLoadingMessage?this._addLoadingMessage(t.value):t.value;this._withResult(new iR(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(yl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(yl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(xy.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(e,t,i,n,s){if(!(this._contentHoverWidget.position&&this._currentResult))return e?(this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):!1;const a=this._editor.getOption(60).sticky,c=s&&this._contentHoverWidget.isMouseGettingCloser(s.event.posx,s.event.posy);return a&&c?(e&&this._startHoverOperationIfNecessary(e,t,i,n,!0),!0):e?this._currentResult.anchor.equals(e)?!0:e.canAdoptVisibleHover(this._currentResult.anchor,this._contentHoverWidget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,n,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,n,s){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=n,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=s,this._hoverOperation.start(t))}_setCurrentResult(e){let t=e;if(this._currentResult===t)return;t&&t.hoverParts.length===0&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(e){if(!this._computer.anchor)return e;for(const t of this._participants){if(!t.createLoadingMessage)continue;const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}return e}_withResult(e){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e),!e.isComplete)return;const n=e.hoverParts.length===0,s=this._computer.insistOnKeepingHoverVisible;n&&s||this._setCurrentResult(e)}_showHover(e){const t=this._getHoverContext();this._renderedContentHover=new X0(this._editor,e,this._participants,this._computer,t,this._keybindingService),this._renderedContentHover.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover):this._renderedContentHover.dispose()}_hideHover(){this._contentHoverWidget.hide()}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._onContentsChanged.fire(),this._contentHoverWidget.onContentsChanged()},setMinimumDimensions:n=>{this._contentHoverWidget.setMinimumDimensions(n)}}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing)return!0;const i=this._findHoverAnchorCandidates(e);if(!(i.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);const s=i[0];return this._startShowingOrUpdateHover(s,0,0,!1,e)}_findHoverAnchorCandidates(e){const t=[];for(const n of this._participants){if(!n.suggestHoverAnchor)continue;const s=n.suggestHoverAnchor(e);s&&t.push(s)}const i=e.target;switch(i.type){case 6:{t.push(new Bw(0,i.range,e.event.posx,e.event.posy));break}case 7:{const n=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;if(!(!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToText<n))break;t.push(new Bw(0,i.range,e.event.posx,e.event.posy));break}}return t.sort((n,s)=>s.priority-n.priority),t}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!qy(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new Bw(0,e,void 0,void 0),t,i,n,null)}async updateHoverVerbosityLevel(e,t,i){var n;(n=this._renderedContentHover)==null||n.updateHoverVerbosityLevel(e,t,i)}focusedHoverPartIndex(){var e;return((e=this._renderedContentHover)==null?void 0:e.focusedHoverPartIndex)??-1}containsNode(e){return e?this._contentHoverWidget.getDomNode().contains(e):!1}focus(){this._contentHoverWidget.focus()}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){var e;return((e=this._renderedContentHover)==null?void 0:e.isColorPickerVisible())??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};PC=oz([bI(1,Ti),bI(2,hs)],PC);var rz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yI=function(o,e){return function(t,i){e(t,i,o)}},MC,Bd;let Ys=(Bd=class extends ft{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new zi),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new dt,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new bs(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(MC.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._shouldNotHideCurrentHoverWidget(e)&&this._hideWidgets()}_shouldNotHideCurrentHoverWidget(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()}_isMouseOnContentHoverWidget(e){var i;const t=(i=this._contentWidget)==null?void 0:i.getDomNode();return t?qy(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._shouldNotHideCurrentHoverWidget(e))||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=(r,a)=>{const c=this._isMouseOnContentHoverWidget(r);return a&&c},n=r=>{var u;const a=this._isMouseOnContentHoverWidget(r),c=((u=this._contentWidget)==null?void 0:u.isColorPickerVisible)??!1;return a&&c},s=(r,a)=>{var c,u,f,g;return(a&&((u=this._contentWidget)==null?void 0:u.containsNode((c=r.event.browserEvent.view)==null?void 0:c.document.activeElement))&&!((g=(f=r.event.browserEvent.view)==null?void 0:f.getSelection())!=null&&g.isCollapsed))??!1};return i(e,t)||n(e)||s(e,t)}_onEditorMouseMove(e){var a,c,u,f;if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=e,(a=this._contentWidget)!=null&&a.isFocused||(c=this._contentWidget)!=null&&c.isResizing))return;const t=this._hoverSettings.sticky;if(t&&((u=this._contentWidget)!=null&&u.isVisibleFromKeyboard))return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const n=this._hoverSettings.hidingDelay;if(((f=this._contentWidget)==null?void 0:f.isVisible)&&t&&n>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(n);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var c;if(!e)return;const i=(c=e.target.element)==null?void 0:c.classList.contains("colorpicker-color-decoration"),n=this._editor.getOption(149),s=this._hoverSettings.enabled,r=this._hoverState.activatedByDecoratorClick;if(i&&(n==="click"&&!r||n==="hover"&&!s||n==="clickAndHover"&&!s&&!r)||!i&&!s&&!r){this._hideWidgets();return}this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateContentWidget().showsOrWillShow(e)}_onKeyDown(e){var n;if(!this._editor.hasModel())return;const t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=t.kind===1||t.kind===2&&(t.commandId===YM||t.commandId===$y||t.commandId===Uy)&&((n=this._contentWidget)==null?void 0:n.isVisible);e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||i||this._hideWidgets()}_hideWidgets(){var e,t;this._hoverState.mouseDown&&((e=this._contentWidget)!=null&&e.isColorPickerVisible)||Df.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(PC,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(e,t,i,n,s=!1){this._hoverState.activatedByDecoratorClick=s,this._getOrCreateContentWidget().startShowingAtRange(e,t,i,n)}_isContentWidgetResizing(){var e;return((e=this._contentWidget)==null?void 0:e.widget.isResizing)||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,i){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,i)}focus(){var e;(e=this._contentWidget)==null||e.focus()}scrollUp(){var e;(e=this._contentWidget)==null||e.scrollUp()}scrollDown(){var e;(e=this._contentWidget)==null||e.scrollDown()}scrollLeft(){var e;(e=this._contentWidget)==null||e.scrollLeft()}scrollRight(){var e;(e=this._contentWidget)==null||e.scrollRight()}pageUp(){var e;(e=this._contentWidget)==null||e.pageUp()}pageDown(){var e;(e=this._contentWidget)==null||e.pageDown()}goToTop(){var e;(e=this._contentWidget)==null||e.goToTop()}goToBottom(){var e;(e=this._contentWidget)==null||e.goToBottom()}get isColorPickerVisible(){var e;return(e=this._contentWidget)==null?void 0:e.isColorPickerVisible}get isHoverVisible(){var e;return(e=this._contentWidget)==null?void 0:e.isVisible}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._contentWidget)==null||e.dispose()}},MC=Bd,Bd.ID="editor.contrib.contentHover",Bd);Ys=MC=rz([yI(1,Ti),yI(2,hs)],Ys);const Fk=class Fk extends ft{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(149);if(t!=="click"&&t!=="clickAndHover")return;const i=e.target;if(i.type!==6||!i.detail.injectedText||i.detail.injectedText.options.attachedData!==$M||!i.range)return;const n=this._editor.getContribution(Ys.ID);if(n&&!n.isColorPickerVisible){const s=new K(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};Fk.ID="editor.contrib.colorContribution";let Ev=Fk;Gi(Ev.ID,Ev,2);Vu.register(Dp);var yR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Eh=function(o,e){return function(t,i){e(t,i,o)}},RC,NC,zd;let Tu=(zd=class extends ft{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=F.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=F.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){var e;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||(e=this._standaloneColorPickerWidget)==null||e.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(AC,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){var e;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),(e=this._standaloneColorPickerWidget)==null||e.hide(),this._editor.focus()}insertColor(){var e;(e=this._standaloneColorPickerWidget)==null||e.updateEditor(),this.hide()}static get(e){return e.getContribution(RC.ID)}},RC=zd,zd.ID="editor.contrib.standaloneColorPickerController",zd);Tu=RC=yR([Eh(1,mn),Eh(2,Ti)],Tu);Gi(Tu.ID,Tu,1);const wI=8,az=22;var Vd;let AC=(Vd=class extends ft{constructor(e,t,i,n,s,r,a){var g;super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=s,this._languageFeaturesService=r,this._editorWorkerService=a,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new zi),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(Ep,this._editor),this._position=(g=this._editor._getViewModel())==null?void 0:g.getPrimaryCursorState().modelState.position;const c=this._editor.getSelection(),u=c?{startLineNumber:c.startLineNumber,startColumn:c.startColumn,endLineNumber:c.endLineNumber,endColumn:c.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},f=this._register(hf(this._body));this._register(f.onDidBlur(p=>{this.hide()})),this._register(f.onDidFocus(p=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(p=>{var m;const w=(m=p.target.element)==null?void 0:m.classList;w&&w.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(p=>{this._render(p.value,p.foundInEditor)})),this._start(u),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return NC.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new lz(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;const t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new Ip(this._editorWorkerService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){const i=document.createDocumentFragment(),n=this._register(new wv(this._keybindingService)),s={fragment:i,statusBar:n,onContentsChanged:()=>{},hide:()=>this.hide()};this._colorHover=e;const r=this._standaloneColorPickerParticipant.renderHoverParts(s,[e]);if(!r)return;this._register(r.disposables);const a=r.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),a.layout();const c=a.body,u=c.saturationBox.domNode.clientWidth,f=c.domNode.clientWidth-u-az-wI,g=a.body.enterButton;g==null||g.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,w=p.pickedColorNode;w.style.width=u+wI+"px";const m=p.originalColorNode;m.style.width=f+"px";const x=a.header.closeButton;x==null||x.onClicked(()=>{this.hide()}),t&&(g&&(g.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},NC=Vd,Vd.ID="editor.contrib.standaloneColorPickerWidget",Vd);AC=NC=yR([Eh(3,Ti),Eh(4,hs),Eh(5,ei),Eh(6,Ml)],AC);class lz{constructor(e,t){this.value=e,this.foundInEditor=t}}class cz extends ca{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...Zt("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:C({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:At.CommandPalette}],metadata:{description:Zt("showOrFocusStandaloneColorPickerDescription","Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(e,t){var i;(i=Tu.get(t))==null||i.showOrFocus()}}class dz extends Qe{constructor(){super({id:"editor.action.hideColorPicker",label:C({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:F.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:Zt("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=Tu.get(t))==null||i.hide()}}class uz extends Qe{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:C({key:"insertColorWithStandaloneColorPicker",comment:["Action that inserts color with standalone color picker"]},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:F.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:Zt("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=Tu.get(t))==null||i.insertColor()}}fe(dz);fe(uz);Ln(cz);class oc{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const n=t.length,s=e.length;if(i+n>s)return!1;for(let r=0;r<n;r++){const a=e.charCodeAt(i+r),c=t.charCodeAt(r);if(a!==c&&!(a>=65&&a<=90&&a+32===c)&&!(c>=65&&c<=90&&c+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,s,r){const a=e.startLineNumber,c=e.startColumn,u=e.endLineNumber,f=e.endColumn,g=s.getLineContent(a),p=s.getLineContent(u);let w=g.lastIndexOf(t,c-1+t.length),m=p.indexOf(i,f-1-i.length);if(w!==-1&&m!==-1)if(a===u)g.substring(w+t.length,m).indexOf(i)>=0&&(w=-1,m=-1);else{const k=g.substring(w+t.length),E=p.substring(0,m);(k.indexOf(i)>=0||E.indexOf(i)>=0)&&(w=-1,m=-1)}let x;w!==-1&&m!==-1?(n&&w+t.length<g.length&&g.charCodeAt(w+t.length)===32&&(t=t+" "),n&&m>0&&p.charCodeAt(m-1)===32&&(i=" "+i,m-=1),x=oc._createRemoveBlockCommentOperations(new K(a,w+t.length+1,u,m+1),t,i)):(x=oc._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=x.length===1?i:null);for(const k of x)r.addTrackedEditOperation(k.range,k.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return K.isEmpty(e)?n.push(Qn.delete(new K(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(Qn.delete(new K(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(Qn.delete(new K(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return K.isEmpty(e)?s.push(Qn.replace(new K(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(Qn.insert(new Jt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Qn.insert(new Jt(e.endLineNumber,e.endColumn),(n?" ":"")+i))),s}getEditOperations(e,t){const i=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const s=e.getLanguageIdAtPosition(i,n),r=this.languageConfigurationService.getLanguageConfiguration(s).comments;!r||!r.blockCommentStartToken||!r.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,r.blockCommentStartToken,r.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length===2){const n=i[0],s=i[1];return new _i(n.range.endLineNumber,n.range.endColumn,s.range.startLineNumber,s.range.startColumn)}else{const n=i[0].range,s=this._usedEndToken?-this._usedEndToken.length-1:0;return new _i(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class el{constructor(e,t,i,n,s,r,a){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=n,this._insertSpace=s,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=r,this._ignoreFirstLine=a||!1}static _gatherPreflightCommentStrings(e,t,i,n){e.tokenization.tokenizeIfCheap(t);const s=e.getLanguageIdAtPosition(t,1),r=n.getLanguageConfiguration(s).comments,a=r?r.lineCommentToken:null;if(!a)return null;const c=[];for(let u=0,f=i-t+1;u<f;u++)c[u]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return c}static _analyzeLines(e,t,i,n,s,r,a,c){let u=!0,f;e===0?f=!0:e===1?f=!1:f=!0;for(let g=0,p=n.length;g<p;g++){const w=n[g],m=s+g;if(m===s&&a){w.ignore=!0;continue}const x=i.getLineContent(m),k=SS(x);if(k===-1){w.ignore=r,w.commentStrOffset=x.length;continue}if(u=!1,w.ignore=!1,w.commentStrOffset=k,f&&!oc._haystackHasNeedleAtOffset(x,w.commentStr,k)&&(e===0?f=!1:e===1||(w.ignore=!0)),f&&t){const E=k+w.commentStrLength;E<x.length&&x.charCodeAt(E)===32&&(w.commentStrLength+=1)}}if(e===0&&u){f=!1;for(let g=0,p=n.length;g<p;g++)n[g].ignore=!1}return{supported:!0,shouldRemoveComments:f,lines:n}}static _gatherPreflightData(e,t,i,n,s,r,a,c){const u=el._gatherPreflightCommentStrings(i,n,s,c);return u===null?{supported:!1}:el._analyzeLines(e,t,i,u,n,r,a,c)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=el._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(el._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new Jt(n.positionLineNumber,n.positionColumn);for(let a=0,c=s.length;a<c;a++)t.addEditOperation(s[a].range,s[a].text),K.isEmpty(s[a].range)&&K.getStartPosition(s[a].range).equals(r)&&e.getLineContent(r.lineNumber).length+1===r.column&&(this._deltaColumn=(s[a].text||"").length);this._selectionId=t.trackSelection(n)}_attemptRemoveBlockComment(e,t,i,n){let s=t.startLineNumber,r=t.endLineNumber;const a=n.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn);let c=e.getLineContent(s).lastIndexOf(i,a-1),u=e.getLineContent(r).indexOf(n,t.endColumn-1-i.length);return c!==-1&&u===-1&&(u=e.getLineContent(s).indexOf(n,c+i.length),r=s),c===-1&&u!==-1&&(c=e.getLineContent(r).lastIndexOf(i,u),s=r),t.isEmpty()&&(c===-1||u===-1)&&(c=e.getLineContent(s).indexOf(i),c!==-1&&(u=e.getLineContent(s).indexOf(n,c+i.length))),c!==-1&&e.getLineContent(s).charCodeAt(c+i.length)===32&&(i+=" "),u!==-1&&e.getLineContent(r).charCodeAt(u-1)===32&&(n=" "+n,u-=1),c!==-1&&u!==-1?oc._createRemoveBlockCommentOperations(new K(s,c+i.length+1,r,u+1),i,n):null}_executeBlockComment(e,t,i){e.tokenization.tokenizeIfCheap(i.startLineNumber);const n=e.getLanguageIdAtPosition(i.startLineNumber,1),s=this.languageConfigurationService.getLanguageConfiguration(n).comments;if(!s||!s.blockCommentStartToken||!s.blockCommentEndToken)return;const r=s.blockCommentStartToken,a=s.blockCommentEndToken;let c=this._attemptRemoveBlockComment(e,i,r,a);if(!c){if(i.isEmpty()){const u=e.getLineContent(i.startLineNumber);let f=SS(u);f===-1&&(f=u.length),c=oc._createAddBlockCommentOperations(new K(i.startLineNumber,f+1,i.startLineNumber,u.length+1),r,a,this._insertSpace)}else c=oc._createAddBlockCommentOperations(new K(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),r,a,this._insertSpace);c.length===1&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(i);for(const u of c)t.addEditOperation(u.range,u.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new K(i.startLineNumber,e.getLineMaxColumn(i.startLineNumber),i.startLineNumber+1,1),i.startLineNumber===e.getLineCount()?"":`
|
|
19
|
+
`),this._selectionId=t.trackSelection(i);return}i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._moveEndPositionDown=!0,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const n=el._gatherPreflightData(this._type,this._insertSpace,e,i.startLineNumber,i.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return n.supported?this._executeLineComments(e,t,n,i):this._executeBlockComment(e,t,i)}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),new _i(i.selectionStartLineNumber,i.selectionStartColumn+this._deltaColumn,i.positionLineNumber,i.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(e,t){const i=[];for(let n=0,s=e.length;n<s;n++){const r=e[n];r.ignore||i.push(Qn.delete(new K(t+n,r.commentStrOffset+1,t+n,r.commentStrOffset+r.commentStrLength+1)))}return i}_createAddLineCommentsOperations(e,t){const i=[],n=this._insertSpace?" ":"";for(let s=0,r=e.length;s<r;s++){const a=e[s];a.ignore||i.push(Qn.insert(new Jt(t+s,a.commentStrOffset+1),a.commentStr+n))}return i}static nextVisibleColumn(e,t,i,n){return i?e+(t-e%t):e+n}static _normalizeInsertionPoint(e,t,i,n){let s=1073741824,r,a;for(let c=0,u=t.length;c<u;c++){if(t[c].ignore)continue;const f=e.getLineContent(i+c);let g=0;for(let p=0,w=t[c].commentStrOffset;g<s&&p<w;p++)g=el.nextVisibleColumn(g,n,f.charCodeAt(p)===9,1);g<s&&(s=g)}s=Math.floor(s/n)*n;for(let c=0,u=t.length;c<u;c++){if(t[c].ignore)continue;const f=e.getLineContent(i+c);let g=0;for(r=0,a=t[c].commentStrOffset;g<s&&r<a;r++)g=el.nextVisibleColumn(g,n,f.charCodeAt(r)===9,1);g>s?t[c].commentStrOffset=r-1:t[c].commentStrOffset=r}}}class Y0 extends Qe{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(Is);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(23),c=t.getSelections().map((f,g)=>({selection:f,index:g,ignoreFirstLine:!1}));c.sort((f,g)=>K.compareRangesUsingStarts(f.selection,g.selection));let u=c[0];for(let f=1;f<c.length;f++){const g=c[f];u.selection.endLineNumber===g.selection.startLineNumber&&(u.index<g.index?g.ignoreFirstLine=!0:(u.ignoreFirstLine=!0,u=g))}for(const f of c)s.push(new el(i,f.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,f.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class hz extends Y0{constructor(){super(0,{id:"editor.action.commentLine",label:C("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:At.MenubarEditMenu,group:"5_insert",title:C({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class fz extends Y0{constructor(){super(1,{id:"editor.action.addCommentLine",label:C("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2081),weight:100}})}}class gz extends Y0{constructor(){super(2,{id:"editor.action.removeCommentLine",label:C("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2099),weight:100}})}}class pz extends Qe{constructor(){super({id:"editor.action.blockComment",label:C("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:At.MenubarEditMenu,group:"5_insert",title:C({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(Is);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new oc(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}fe(hz);fe(fz);fe(gz);fe(pz);var _z=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Zc=function(o,e){return function(t,i){e(t,i,o)}},OC,jd;let Tf=(jd=class{static get(e){return e.getContribution(OC.ID)}constructor(e,t,i,n,s,r,a,c){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=r,this._configurationService=a,this._workspaceContextService=c,this._toDispose=new dt,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(u=>this._onContextMenu(u))),this._toDispose.add(this._editor.onMouseWheel(u=>{if(this._contextMenuIsBeingShownCount>0){const f=this._contextViewService.getContextViewElement(),g=u.srcElement;g.shadowRoot&&MO(f)===g.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(u=>{this._editor.getOption(24)&&u.keyCode===58&&(u.preventDefault(),u.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(const n of this._editor.getSelections())if(n.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24)||!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],n=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(const s of n){const[,r]=s;let a=0;for(const c of r)if(c instanceof RO){const u=this._getMenuActions(e,c.item.submenu);u.length>0&&(i.push(new dL(c.id,c.label,u)),a++)}else i.push(c),a++;a&&i.push(new fp)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let n=t;if(!n){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const r=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),a=po(this._editor.getDomNode()),c=a.left+r.left,u=a.top+r.top+r.height;n={x:c,y:u}}const s=this._editor.getOption(128)&&!CS;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:s?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,getAnchor:()=>n,getActions:()=>e,getActionViewItem:r=>{const a=this._keybindingFor(r);if(a)return new yS(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const c=r;return typeof c.getActionViewItem=="function"?c.getActionViewItem():new yS(r,r,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:r=>this._keybindingFor(r),onHide:r=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||NO(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const n=u=>({id:`menu-action-${++i}`,label:u.label,tooltip:"",class:void 0,enabled:typeof u.enabled>"u"?!0:u.enabled,checked:u.checked,run:u.run}),s=(u,f)=>new dL(`menu-action-${++i}`,u,f,void 0),r=(u,f,g,p,w)=>{if(!f)return n({label:u,enabled:f,run:()=>{}});const m=k=>()=>{this._configurationService.updateValue(g,k)},x=[];for(const k of w)x.push(n({label:k.label,checked:p===k.value,run:m(k.value)}));return s(u,x)},a=[];a.push(n({label:C("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new fp),a.push(n({label:C("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(C("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:C("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:C("context.minimap.size.fill","Fill"),value:"fill"},{label:C("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(C("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:C("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:C("context.minimap.slider.always","Always"),value:"always"}]));const c=this._editor.getOption(128)&&!CS;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:c?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:u=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},OC=jd,jd.ID="editor.contrib.contextmenu",jd);Tf=OC=_z([Zc(1,Bf),Zc(2,my),Zc(3,mn),Zc(4,hs),Zc(5,Ou),Zc(6,$n),Zc(7,df)],Tf);class mz extends Qe{constructor(){super({id:"editor.action.showContextMenu",label:C("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:F.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=Tf.get(t))==null||i.showContextMenu()}}Gi(Tf.ID,Tf,2);fe(mz);class Vw{constructor(e){this.selections=e}equals(e){const t=this.selections.length,i=e.selections.length;if(t!==i)return!1;for(let n=0;n<t;n++)if(!this.selections[n].equalsSelection(e.selections[n]))return!1;return!0}}class jw{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const Mb=class Mb extends ft{static get(e){return e.getContribution(Mb.ID)}constructor(e){super(),this._editor=e,this._isCursorUndoRedo=!1,this._undoStack=[],this._redoStack=[],this._register(e.onDidChangeModel(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new Vw(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new jw(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new jw(new Vw(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new jw(new Vw(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}};Mb.ID="editor.contrib.cursorUndoRedoController";let Pf=Mb;class vz extends Qe{constructor(){super({id:"cursorUndo",label:C("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:F.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=Pf.get(t))==null||n.cursorUndo()}}class bz extends Qe{constructor(){super({id:"cursorRedo",label:C("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=Pf.get(t))==null||n.cursorRedo()}}Gi(Pf.ID,Pf,0);fe(vz);fe(bz);class yz{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new K(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new _i(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new _i(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber<this.selection.endLineNumber){this.targetSelection=new _i(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new _i(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column-this.selection.endColumn+this.selection.startColumn:this.targetPosition.column-this.selection.endColumn+this.selection.startColumn,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new _i(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn)}computeCursorState(e,t){return this.targetSelection}}function oh(o){return Va?o.altKey:o.ctrlKey}const Zl=class Zl extends ft{constructor(e){super(),this._editor=e,this._dndDecorationIds=this._editor.createDecorationsCollection(),this._register(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(t))),this._register(this._editor.onMouseDrag(t=>this._onEditorMouseDrag(t))),this._register(this._editor.onMouseDrop(t=>this._onEditorMouseDrop(t))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(t=>this.onEditorKeyDown(t))),this._register(this._editor.onKeyUp(t=>this.onEditorKeyUp(t))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(35)||this._editor.getOption(22)||(oh(e)&&(this._modifierPressed=!0),this._mouseDown&&oh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(oh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Zl.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(this._dragSelection===null){const n=(this._editor.getSelections()||[]).filter(s=>t.position&&s.containsPosition(t.position));if(n.length===1)this._dragSelection=n[0];else return}oh(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new Jt(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){const n=this._editor.getSelection();if(n){const{selectionStartLineNumber:s,selectionStartColumn:r}=n;i=[new _i(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new _i(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(oh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Zl.ID,new yz(this._dragSelection,t,oh(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(e){this._dndDecorationIds.set([{range:new K(e.lineNumber,e.column,e.lineNumber,e.column),options:Zl._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}};Zl.ID="editor.contrib.dragAndDrop",Zl.TRIGGER_KEY_VALUE=Va?6:5,Zl._DECORATION_OPTIONS=tn.register({description:"dnd-target",className:"dnd-target"});let Tv=Zl;Gi(Tv.ID,Tv,2);Gi(xl.ID,xl,0);jf(YS);ii(new class extends bo{constructor(){super({id:CM,precondition:F0,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=xl.get(e))==null?void 0:t.changePasteType()}});ii(new class extends bo{constructor(){super({id:"editor.hidePasteWidget",precondition:F0,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=xl.get(e))==null||t.clearWidgets()}});var $d;fe(($d=class extends Qe{constructor(){super({id:"editor.action.pasteAs",label:C("pasteAs","Paste As..."),alias:"Paste As...",precondition:F.writable,metadata:{description:"Paste as",args:[{name:"args",schema:$d.argsSchema}]}})}run(e,t,i){var s;let n=typeof(i==null?void 0:i.kind)=="string"?i.kind:void 0;return!n&&i&&(n=typeof i.id=="string"?i.id:void 0),(s=xl.get(t))==null?void 0:s.pasteAs(n?new jn(n):void 0)}},$d.argsSchema={type:"object",properties:{kind:{type:"string",description:C("pasteAs.kind","The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}},$d));fe(class extends Qe{constructor(){super({id:"editor.action.pasteAsText",label:C("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:F.writable})}run(o,e){var t;return(t=xl.get(e))==null?void 0:t.pasteAs({providerId:Cu.id})}});class wz{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class SI{constructor(e){this.identifier=e}}const wR=Tl("treeViewsDndService");Pl(wR,wz,1);var Sz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},im=function(o,e){return function(t,i){e(t,i,o)}},FC;const SR="editor.experimental.dropIntoEditor.defaultProvider",CR="editor.changeDropType",Q0=new dn("dropWidgetVisible",!1,C("dropWidgetVisible","Whether the drop widget is showing"));var Ud;let Mf=(Ud=class extends ft{static get(e){return e.getContribution(FC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=ZS.getInstance(),this._dropProgressManager=this._register(t.createInstance(mv,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(bv,"dropIntoEditor",e,Q0,{id:CR,label:C("postDropWidgetTitle","Show drop options...")})),this._register(e.onDropIntoEditor(r=>this.onDropIntoEditor(e,r.position,r.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){var s;if(!i.dataTransfer||!e.hasModel())return;(s=this._currentOperation)==null||s.cancel(),e.focus(),e.setPosition(t);const n=Rs(async r=>{const a=new dt,c=a.add(new uf(e,1,void 0,r));try{const u=await this.extractDataTransferData(i);if(u.size===0||c.token.isCancellationRequested)return;const f=e.getModel();if(!f)return;const g=this._languageFeaturesService.documentDropEditProvider.ordered(f).filter(w=>w.dropMimeTypes?w.dropMimeTypes.some(m=>u.matches(m)):!0),p=a.add(await this.getDropEdits(g,f,t,u,c));if(c.token.isCancellationRequested)return;if(p.edits.length){const w=this.getInitialActiveEditIndex(f,p.edits),m=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([K.fromPositions(t)],{activeEditIndex:w,allEdits:p.edits},m,async x=>x,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,C("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new dt,a=await r_(Promise.all(e.map(async u=>{try{const f=await u.provideDocumentDropEdits(t,i,n,s.token);return f&&r.add(f),f==null?void 0:f.edits.map(g=>({...g,providerId:u.id}))}catch(f){console.error(f)}})),s.token),c=vl(a??[]).flat();return{edits:wM(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(SR,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new jn(s),a=t.findIndex(c=>r.value===c.providerId&&c.handledMimeType&&hM(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new uM;const t=pM(e.dataTransfer);if(this.treeItemsTransfer.hasData(SI.prototype)){const i=this.treeItemsTransfer.getData(SI.prototype);if(Array.isArray(i))for(const n of i){const s=await this._treeViewsDragAndDropService.removeDragOperationTransfer(n.identifier);if(s)for(const[r,a]of s)t.replace(r,a)}}return t}},FC=Ud,Ud.ID="editor.contrib.dropIntoEditorController",Ud);Mf=FC=Sz([im(1,Ti),im(2,$n),im(3,ei),im(4,wR)],Mf);Gi(Mf.ID,Mf,2);jf(XS);ii(new class extends bo{constructor(){super({id:CR,precondition:Q0,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=Mf.get(e))==null||i.changeDropType()}});ii(new class extends bo{constructor(){super({id:"editor.hideDropWidget",precondition:Q0,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=Mf.get(e))==null||i.clearWidgets()}});da.as(c_.Configuration).registerConfiguration({...by,properties:{[SR]:{type:"object",scope:5,description:C("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const Zs=class Zs{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e<this._decorations.length?this._decorations[e]:null;return t?this._editor.getModel().getDecorationRange(t):null}getCurrentMatchesPosition(e){const t=this._editor.getModel().getDecorationsInRange(e);for(const i of t){const n=i.options;if(n===Zs._FIND_MATCH_DECORATION||n===Zs._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(i.id)}return 0}setCurrentFindMatch(e){let t=null,i=0;if(e)for(let n=0,s=this._decorations.length;n<s;n++){const r=this._editor.getModel().getDecorationRange(this._decorations[n]);if(e.equalsRange(r)){t=this._decorations[n],i=n+1;break}}return(this._highlightedDecorationId!==null||t!==null)&&this._editor.changeDecorations(n=>{if(this._highlightedDecorationId!==null&&(n.changeDecorationOptions(this._highlightedDecorationId,Zs._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,Zs._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(n.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let s=this._editor.getModel().getDecorationRange(t);if(s.startLineNumber!==s.endLineNumber&&s.endColumn===1){const r=s.endLineNumber-1,a=this._editor.getModel().getLineMaxColumn(r);s=new K(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,Zs._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=Zs._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=Zs._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),u=this._editor.getLayoutInfo().height/a,f=Math.max(2,Math.ceil(3/u));let g=e[0].range.startLineNumber,p=e[0].range.endLineNumber;for(let w=1,m=e.length;w<m;w++){const x=e[w].range;p+f>=x.startLineNumber?x.endLineNumber>p&&(p=x.endLineNumber):(s.push({range:new K(g,1,p,1),options:Zs._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),g=x.startLineNumber,p=x.endLineNumber)}s.push({range:new K(g,1,p,1),options:Zs._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const r=new Array(e.length);for(let a=0,c=e.length;a<c;a++)r[a]={range:e[a].range,options:n};this._decorations=i.deltaDecorations(this._decorations,r),this._overviewRulerApproximateDecorations=i.deltaDecorations(this._overviewRulerApproximateDecorations,s),this._rangeHighlightDecorationId&&(i.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(a=>i.removeDecoration(a)),this._findScopeDecorationIds=[]),t!=null&&t.length&&(this._findScopeDecorationIds=t.map(a=>i.addDecoration(a,Zs._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],n=this._editor.getModel().getDecorationRange(i);if(!(!n||n.endLineNumber>e.lineNumber)){if(n.endLineNumber<e.lineNumber)return n;if(!(n.endColumn>e.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;t<i;t++){const n=this._decorations[t],s=this._editor.getModel().getDecorationRange(n);if(!(!s||s.startLineNumber<e.lineNumber)){if(s.startLineNumber>e.lineNumber)return s;if(!(s.startColumn<e.column))return s}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let e=[];return e=e.concat(this._decorations),e=e.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&e.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e}};Zs._CURRENT_FIND_MATCH_DECORATION=tn.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:_s(ww),position:Fa.Center},minimap:{color:_s(uL),position:1}}),Zs._FIND_MATCH_DECORATION=tn.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:_s(ww),position:Fa.Center},minimap:{color:_s(uL),position:1}}),Zs._FIND_MATCH_NO_OVERVIEW_DECORATION=tn.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),Zs._FIND_MATCH_ONLY_OVERVIEW_DECORATION=tn.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:_s(ww),position:Fa.Center}}),Zs._RANGE_HIGHLIGHT_DECORATION=tn.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),Zs._FIND_SCOPE_DECORATION=tn.register({description:"find-scope",className:"findScope",isWholeLine:!0});let HC=Zs;class Cz{constructor(e,t,i){this._editorSelection=e,this._ranges=t,this._replaceStrings=i,this._trackedEditorSelectionId=null}getEditOperations(e,t){if(this._ranges.length>0){const i=[];for(let r=0;r<this._ranges.length;r++)i.push({range:this._ranges[r],text:this._replaceStrings[r]});i.sort((r,a)=>K.compareRangesUsingStarts(r.range,a.range));const n=[];let s=i[0];for(let r=1;r<i.length;r++)s.range.endLineNumber===i[r].range.startLineNumber&&s.range.endColumn===i[r].range.startColumn?(s.range=s.range.plusRange(i[r].range),s.text=s.text+i[r].text):(n.push(s),s=i[r]);n.push(s);for(const r of n)t.addEditOperation(r.range,r.text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)}}function xR(o,e){if(o&&o[0]!==""){const t=CI(o,e,"-"),i=CI(o,e,"_");return t&&!i?xI(o,e,"-"):!t&&i?xI(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():AO(o[0][0])&&e.length>0?e[0].toUpperCase()+e.substr(1):o[0][0].toUpperCase()!==o[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function CI(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function xI(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=xR([n[a]],r)+t}),s.slice(0,-1)}class kI{constructor(e){this.staticValue=e,this.kind=0}}class xz{constructor(e){this.pieces=e,this.kind=1}}class Rf{static fromStaticValue(e){return new Rf([Ld.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new kI(""):e.length===1&&e[0].staticValue!==null?this._state=new kI(e[0].staticValue):this._state=new xz(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?xR(e,this._state.staticValue):this._state.staticValue;let i="";for(let n=0,s=this._state.pieces.length;n<s;n++){const r=this._state.pieces[n];if(r.staticValue!==null){i+=r.staticValue;continue}let a=Rf._substitute(r.matchIndex,e);if(r.caseOps!==null&&r.caseOps.length>0){const c=[],u=r.caseOps.length;let f=0;for(let g=0,p=a.length;g<p;g++){if(f>=u){c.push(a.slice(g));break}switch(r.caseOps[f]){case"U":c.push(a[g].toUpperCase());break;case"u":c.push(a[g].toUpperCase()),f++;break;case"L":c.push(a[g].toLowerCase());break;case"l":c.push(a[g].toLowerCase()),f++;break;default:c.push(a[g])}}a=c.join("")}i+=a}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e<t.length)return(t[e]||"")+i;i=String(e%10)+i,e=Math.floor(e/10)}return"$"+i}}class Ld{static staticValue(e){return new Ld(e,-1,null)}static caseOps(e,t){return new Ld(null,e,t)}constructor(e,t,i){this.staticValue=e,this.matchIndex=t,!i||i.length===0?this.caseOps=null:this.caseOps=i.slice(0)}}class kz{constructor(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e}emitStatic(e,t){this._emitStatic(e),this._lastCharIndex=t}_emitStatic(e){e.length!==0&&(this._currentStaticPiece+=e)}emitMatchIndex(e,t,i){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Ld.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Ld.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Ld.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new Rf(this._result)}}function Lz(o){if(!o||o.length===0)return new Rf(null);const e=[],t=new kz(o);for(let i=0,n=o.length;i<n;i++){const s=o.charCodeAt(i);if(s===92){if(i++,i>=n)break;const r=o.charCodeAt(i);switch(r){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic(`
|
|
20
|
+
`,i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(r));break}continue}if(s===36){if(i++,i>=n)break;const r=o.charCodeAt(i);if(r===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(r===48||r===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=r&&r<=57){let a=r-48;if(i+1<n){const c=o.charCodeAt(i+1);if(48<=c&&c<=57){i++,a=a*10+(c-48),t.emitUnchanged(i-2),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}t.emitUnchanged(i-1),t.emitMatchIndex(a,i+1,e),e.length=0;continue}}}return t.finalize()}const Al=new dn("findWidgetVisible",!1);Al.toNegated();const Yy=new dn("findInputFocussed",!1),J0=new dn("replaceInputFocussed",!1),nm={primary:545,mac:{primary:2593}},sm={primary:565,mac:{primary:2613}},om={primary:560,mac:{primary:2608}},rm={primary:554,mac:{primary:2602}},am={primary:558,mac:{primary:2606}},Tn={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",StartFindWithArgs:"editor.actions.findWithArgs",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",GoToMatchFindAction:"editor.action.goToMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",TogglePreserveCaseCommand:"togglePreserveCase",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},rc=19999,Iz=240;class Xg{constructor(e,t){this._toDispose=new dt,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new a_,this._decorations=new HC(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new bs(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,to(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},Iz)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(a=>{if(a.startLineNumber!==a.endLineNumber){let c=a.endLineNumber;return a.endColumn===1&&(c=c-1),new K(a.startLineNumber,1,c,this._editor.getModel().getLineMaxColumn(c))}return a}));const n=this._findMatches(i,!1,rc);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=ZE(n.map(c=>c.range),c=>K.compareRangesUsingStarts(c,s)>=0);r=a>0?a-1+1:r}this._state.changeMatchInfo(r,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===1?(i===1?i=s.getLineCount():i--,n=s.getLineMaxColumn(i)):n--,new Jt(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const f=this._decorations.matchAfterPosition(e);f&&this._setCurrentFindMatch(f);return}if(this._decorations.getCount()<rc){let f=this._decorations.matchBeforePosition(e);f&&f.isEmpty()&&f.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),f=this._decorations.matchBeforePosition(e)),f&&this._setCurrentFindMatch(f);return}if(this._cannotFind())return;const i=this._decorations.getFindScope(),n=Xg._getSearchRange(this._editor.getModel(),i);n.getEndPosition().isBefore(e)&&(e=n.getEndPosition()),e.isBefore(n.getStartPosition())&&(e=n.getEndPosition());const{lineNumber:s,column:r}=e,a=this._editor.getModel();let c=new Jt(s,r),u=a.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(u&&u.range.isEmpty()&&u.range.getStartPosition().equals(c)&&(c=this._prevSearchPosition(c),u=a.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1)),!!u){if(!t&&!n.containsRange(u.range))return this._moveToPrevMatch(u.range.getStartPosition(),!0);this._setCurrentFindMatch(u.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:n}=e;const s=this._editor.getModel();return t||n===s.getLineMaxColumn(i)?(i===s.getLineCount()?i=1:i++,n=1):n++,new Jt(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<rc){let i=this._decorations.matchAfterPosition(e);i&&i.isEmpty()&&i.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),i=this._decorations.matchAfterPosition(e)),i&&this._setCurrentFindMatch(i);return}const t=this._getNextMatch(e,!1,!0);t&&this._setCurrentFindMatch(t.range)}_getNextMatch(e,t,i,n=!1){if(this._cannotFind())return null;const s=this._decorations.getFindScope(),r=Xg._getSearchRange(this._editor.getModel(),s);r.getEndPosition().isBefore(e)&&(e=r.getStartPosition()),e.isBefore(r.getStartPosition())&&(e=r.getStartPosition());const{lineNumber:a,column:c}=e,u=this._editor.getModel();let f=new Jt(a,c),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t);return i&&g&&g.range.isEmpty()&&g.range.getStartPosition().equals(f)&&(f=this._nextSearchPosition(f),g=u.findNextMatch(this._state.searchString,f,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t)),g?!n&&!r.containsRange(g.range)?this._getNextMatch(g.range.getEndPosition(),t,i,!0):g:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(e){const t=this._decorations.getDecorationRangeAt(e);t&&this._setCurrentFindMatch(t)}moveToMatch(e){this._moveToMatch(e)}_getReplacePattern(){return this._state.isRegex?Lz(this._state.replaceString):Rf.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const e=this._getReplacePattern(),t=this._editor.getSelection(),i=this._getNextMatch(t.getStartPosition(),!0,!1);if(i)if(t.equalsRange(i.range)){const n=e.buildReplaceString(i.matches,this._state.preserveCase),s=new o_(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Jt(t.startLineNumber,t.startColumn+n.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(i.range)}_findMatches(e,t,i){const n=(e||[null]).map(s=>Xg._getSearchRange(this._editor.getModel(),s));return this._editor.getModel().findMatches(this._state.searchString,n,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=rc?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new OO(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let g="mu";i.ignoreCase&&(g+="i"),i.global&&(g+="g"),i=new RegExp(i.source,g)}const n=this._editor.getModel(),s=n.getValue(1),r=n.getFullModelRange(),a=this._getReplacePattern();let c;const u=this._state.preserveCase;a.hasReplacementPatterns||u?c=s.replace(i,function(){return a.buildReplaceString(arguments,u)}):c=s.replace(i,a.buildReplaceString(null,u));const f=new XE(r,c,this._editor.getSelection());this._executeEditorCommand("replaceAll",f)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),n=[];for(let r=0,a=i.length;r<a;r++)n[r]=t.buildReplaceString(i[r].matches,this._state.preserveCase);const s=new Cz(this._editor.getSelection(),i.map(r=>r.range),n);this._executeEditorCommand("replaceAll",s)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let i=this._findMatches(e,!1,1073741824).map(s=>new _i(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn));const n=this._editor.getSelection();for(let s=0,r=i.length;s<r;s++)if(i[s].equalsRange(n)){i=[n].concat(i.slice(0,s)).concat(i.slice(s+1));break}this._editor.setSelections(i)}_executeEditorCommand(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}const Rb=class Rb extends u_{constructor(e,t,i){super(),this._hideSoon=this._register(new bs(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const n={inputActiveOptionBorder:vd(QE),inputActiveOptionForeground:vd(YE),inputActiveOptionBackground:vd(Yx)},s=this._register(xS());this.caseSensitive=this._register(new FO({appendTitle:this._keybindingLabelFor(Tn.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:s,...n})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new HO({appendTitle:this._keybindingLabelFor(Tn.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:s,...n})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new WO({appendTitle:this._keybindingLabelFor(Tn.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:s,...n})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(r=>{let a=!1;r.isRegex&&(this.regex.checked=this._state.isRegex,a=!0),r.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,a=!0),r.matchCase&&(this.caseSensitive.checked=this._state.matchCase,a=!0),!this._state.isRevealed&&a&&this._revealTemporarily()})),this._register(_n(this._domNode,Zn.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(_n(this._domNode,"mouseover",r=>this._onMouseOver()))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return Rb.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}};Rb.ID="editor.contrib.findOptionsWidget";let WC=Rb;function lm(o,e){return o===1?!0:o===2?!1:e}class Dz extends ft{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return lm(this._isRegexOverride,this._isRegex)}get wholeWord(){return lm(this._wholeWordOverride,this._wholeWord)}get matchCase(){return lm(this._matchCaseOverride,this._matchCase)}get preserveCase(){return lm(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new zi),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const n={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,n.matchesPosition=!0,s=!0),this._matchesCount!==t&&(this._matchesCount=t,n.matchesCount=!0,s=!0),typeof i<"u"&&(K.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){var f;const n={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;const r=this.isRegex,a=this.wholeWord,c=this.matchCase,u=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,n.searchString=!0,s=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,n.replaceString=!0,s=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,n.isRevealed=!0,s=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,n.isReplaceRevealed=!0,s=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&((f=e.searchScope)!=null&&f.every(g=>{var p;return(p=this._searchScope)==null?void 0:p.some(w=>!K.equalsRange(w,g))})||(this._searchScope=e.searchScope,n.searchScope=!0,s=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,n.loop=!0,s=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,n.isSearching=!0,s=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,n.filters=!0,s=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,r!==this.isRegex&&(s=!0,n.isRegex=!0),a!==this.wholeWord&&(s=!0,n.wholeWord=!0),c!==this.matchCase&&(s=!0,n.matchCase=!0),u!==this.preserveCase&&(s=!0,n.preserveCase=!0),s&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=rc}}const Ez=C("defaultLabel","input"),Tz=C("label.preserveCaseToggle","Preserve Case");class Pz extends JE{constructor(e){super({icon:yi.preserveCase,title:Tz+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ky("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class Mz extends u_{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new zi),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new zi),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new zi),this._onInput=this._register(new zi),this._onKeyUp=this._register(new zi),this._onPreserveCaseKeyDown=this._register(new zi),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||Ez;const s=n.appendPreserveCaseLabel||"",r=n.history||[],a=!!n.flexibleHeight,c=!!n.flexibleWidth,u=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new BO(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:a,flexibleWidth:c,flexibleMaxHeight:u,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new Pz({appendTitle:s,isChecked:!1,...n.toggleStyles})),this._register(this.preserveCase.onChange(p=>{this._onDidOptionChange.fire(p),!p&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(p=>{this._onPreserveCaseKeyDown.fire(p)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const f=[this.preserveCase.domNode];this.onkeydown(this.domNode,p=>{if(p.equals(15)||p.equals(17)||p.equals(9)){const w=f.indexOf(this.domNode.ownerDocument.activeElement);if(w>=0){let m=-1;p.equals(17)?m=(w+1)%f.length:p.equals(15)&&(w===0?m=f.length-1:m=w-1),p.equals(9)?(f[w].blur(),this.inputBox.focus()):m>=0&&f[m].focus(),tv.stop(p,!0)}}});const g=document.createElement("div");g.className="controls",g.style.display=this._showOptionButtons?"block":"none",g.appendChild(this.preserveCase.domNode),this.domNode.appendChild(g),e==null||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,p=>this._onKeyDown.fire(p)),this.onkeyup(this.inputBox.inputElement,p=>this._onKeyUp.fire(p)),this.oninput(this.inputBox.inputElement,p=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,p=>this._onMouseDown.fire(p))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){var e;(e=this.inputBox)==null||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var kR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},LR=function(o,e){return function(t,i){e(t,i,o)}};const ek=new dn("suggestWidgetVisible",!1,C("suggestWidgetVisible","Whether suggestion are visible")),tk="historyNavigationWidgetFocus",IR="historyNavigationForwardsEnabled",DR="historyNavigationBackwardsEnabled";let _l;const cm=[];function ER(o,e){if(cm.includes(e))throw new Error("Cannot register the same widget multiple times");cm.push(e);const t=new dt,i=new dn(tk,!1).bindTo(o),n=new dn(IR,!0).bindTo(o),s=new dn(DR,!0).bindTo(o),r=()=>{i.set(!0),_l=e},a=()=>{i.set(!1),_l===e&&(_l=void 0)};return VO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(Vn(()=>{cm.splice(cm.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let BC=class extends zO{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(ER(s,this.inputBox))}};BC=kR([LR(3,mn)],BC);let zC=class extends Mz{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(ER(r,this.inputBox))}};zC=kR([LR(3,mn)],zC);qa.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:xe.and(xe.has(tk),xe.equals(DR,!0),xe.not("isComposing"),ek.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{_l==null||_l.showPreviousValue()}});qa.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:xe.and(xe.has(tk),xe.equals(IR,!0),xe.not("isComposing"),ek.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{_l==null||_l.showNextValue()}});function LI(o){var e,t;return((e=o.lookupKeybinding("history.showPrevious"))==null?void 0:e.getElectronAccelerator())==="Up"&&((t=o.lookupKeybinding("history.showNext"))==null?void 0:t.getElectronAccelerator())==="Down"}const II=is("find-collapsed",yi.chevronRight,C("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),DI=is("find-expanded",yi.chevronDown,C("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),Rz=is("find-selection",yi.selection,C("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),Nz=is("find-replace",yi.replace,C("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),Az=is("find-replace-all",yi.replaceAll,C("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),Oz=is("find-previous-match",yi.arrowUp,C("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),Fz=is("find-next-match",yi.arrowDown,C("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),Hz=C("label.findDialog","Find / Replace"),Wz=C("label.find","Find"),Bz=C("placeholder.find","Find"),zz=C("label.previousMatchButton","Previous Match"),Vz=C("label.nextMatchButton","Next Match"),jz=C("label.toggleSelectionFind","Find in Selection"),$z=C("label.closeButton","Close"),Uz=C("label.replace","Replace"),qz=C("placeholder.replace","Replace"),Gz=C("label.replaceButton","Replace"),Kz=C("label.replaceAllButton","Replace All"),Zz=C("label.toggleReplaceButton","Toggle Replace"),Xz=C("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",rc),Yz=C("label.matchesLocation","{0} of {1}"),EI=C("label.noResults","No results"),va=419,Qz=275,Jz=Qz-54;let mg=69;const eV=33,TI="ctrlEnterReplaceAll.windows.donotask",PI=Va?256:2048;class $w{constructor(e){this.afterLineNumber=e,this.heightInPx=eV,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function MI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function RI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const Nb=class Nb extends u_{constructor(e,t,i,n,s,r,a,c,u,f){super(),this._hoverService=f,this._cachedHeight=null,this._revealTimeouts=[],this._codeEditor=e,this._controller=t,this._state=i,this._contextViewProvider=n,this._keybindingService=s,this._contextKeyService=r,this._storageService=c,this._notificationService=u,this._ctrlEnterReplaceAllWarningPrompted=!!c.getBoolean(TI,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new Tc(500),this._register(Vn(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(g=>this._onStateChanged(g))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(g=>{if(g.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),g.hasChanged(146)&&this._tryUpdateWidgetWidth(),g.hasChanged(2)&&this.updateAccessibilitySupport(),g.hasChanged(41)){const p=this._codeEditor.getOption(41).loop;this._state.change({loop:p},!1);const w=this._codeEditor.getOption(41).addExtraSpaceOnTop;w&&!this._viewZone&&(this._viewZone=new $w(0),this._showViewZone()),!w&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const g=await this._controller.getGlobalBufferTerm();g&&g!==this._state.searchString&&(this._state.change({searchString:g},!1),this._findInput.select())}})),this._findInputFocused=Yy.bindTo(r),this._findFocusTracker=this._register(hf(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=J0.bindTo(r),this._replaceFocusTracker=this._register(hf(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new $w(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(g=>{if(g.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return Nb.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(92)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=br(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,Pn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=mg+"px",this._state.matchesCount>=rc?this._matchesCount.title=Xz:this._matchesCount.title="",(t=this._matchesCount.firstChild)==null||t.remove();let e;if(this._state.matchesCount>0){let i=String(this._state.matchesCount);this._state.matchesCount>=rc&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=a0(Yz,n,i)}else e=EI;this._matchesCount.appendChild(document.createTextNode(e)),Ar(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),mg=Math.max(mg,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===EI)return i===""?C("ariaSearchNoResultEmpty","{0} found",e):C("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=C("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),s=this._codeEditor.getModel();return s&&t.startLineNumber<=s.getLineCount()&&t.startLineNumber>=1?`${s.getLineContent(t.startLineNumber)}, ${n}`:n}return C("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(92);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const n=po(i),s=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),r=n.left+(s?s.left:0),a=s?s.top:0;if(this._viewZone&&a<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);const c=jO(this._domNode).left;r>c&&(t=!1);const u=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(u?u.left:0)>c&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(n=>{i.heightInPx=this._getHeight(),this._viewZoneId=n.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new $w(0));const i=this._viewZone;this._codeEditor.changeViewZones(n=>{if(this._viewZoneId!==void 0){const s=this._getHeight();if(s===i.heightInPx)return;const r=s-i.heightInPx;i.heightInPx=s,n.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+r);return}else{let s=this._getHeight();if(s-=this._codeEditor.getOption(84).top,s<=0)return;i.heightInPx=s,this._viewZoneId=n.addZone(i),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=e.width,n=e.minimap.minimapWidth;let s=!1,r=!1,a=!1;if(this._resized&&br(this._domNode)>va){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=br(this._findInput.domNode);return}if(va+28+n>=i&&(r=!0),va+28+n-mg>=i&&(a=!0),va+28+n-mg>=i+50&&(s=!0),this._domNode.classList.toggle("collapsed-find-widget",s),this._domNode.classList.toggle("narrow-find-widget",a),this._domNode.classList.toggle("reduced-find-widget",r),!a&&!s&&(this._domNode.style.maxWidth=`${i-28-n-15}px`),this._findInput.layout({collapsedFindWidget:s,narrowFindWidget:a,reducedFindWidget:r}),this._resized){const c=this._findInput.inputBox.element.clientWidth;c>0&&(this._replaceInput.width=c)}else this._isReplaceVisible&&(this._replaceInput.width=br(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));const i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!K.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(PI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
|
|
21
|
+
`),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return MI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return RI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(PI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{gy&&Vf&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(C("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(TI,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(`
|
|
22
|
+
`),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return MI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return RI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new BC(null,this._contextViewProvider,{width:Jz,label:Wz,placeholder:Bz,appendCaseSensitiveLabel:this._keybindingLabelFor(Tn.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Tn.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Tn.ToggleRegexCommand),validation:f=>{if(f.length===0||!this._findInput.getRegex())return null;try{return new RegExp(f,"gu"),null}catch(g){return{content:g.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>LI(this._keybindingService),inputBoxStyles:fL,toggleStyles:hL},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(f=>this._onFindInputKeyDown(f))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(f=>{f.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),f.preventDefault())})),this._register(this._findInput.onRegexKeyDown(f=>{f.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),f.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(f=>{this._tryUpdateHeight()&&this._showViewZone()})),$O&&this._register(this._findInput.onMouseDown(f=>this._onFindInputMouseDown(f))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(xS());this._prevBtn=this._register(new rh({label:zz+this._keybindingLabelFor(Tn.PreviousMatchFindAction),icon:Oz,hoverDelegate:i,onTrigger:()=>{kh(this._codeEditor.getAction(Tn.PreviousMatchFindAction)).run().then(void 0,Pn)}},this._hoverService)),this._nextBtn=this._register(new rh({label:Vz+this._keybindingLabelFor(Tn.NextMatchFindAction),icon:Fz,hoverDelegate:i,onTrigger:()=>{kh(this._codeEditor.getAction(Tn.NextMatchFindAction)).run().then(void 0,Pn)}},this._hoverService));const n=document.createElement("div");n.className="find-part",n.appendChild(this._findInput.domNode);const s=document.createElement("div");s.className="find-actions",n.appendChild(s),s.appendChild(this._matchesCount),s.appendChild(this._prevBtn.domNode),s.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new JE({icon:Rz,title:jz+this._keybindingLabelFor(Tn.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:vd(Yx),inputActiveOptionBorder:vd(QE),inputActiveOptionForeground:vd(YE)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let f=this._codeEditor.getSelections();f=f.map(g=>(g.endColumn===1&&g.endLineNumber>g.startLineNumber&&(g=g.setEndPosition(g.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(g.endLineNumber-1))),g.isEmpty()?null:g)).filter(g=>!!g),f.length&&this._state.change({searchScope:f},!0)}}else this._state.change({searchScope:null},!0)})),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new rh({label:$z+this._keybindingLabelFor(Tn.CloseFindWidgetCommand),icon:eT,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:f=>{f.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),f.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new zC(null,void 0,{label:Uz,placeholder:qz,appendPreserveCaseLabel:this._keybindingLabelFor(Tn.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>LI(this._keybindingService),inputBoxStyles:fL,toggleStyles:hL},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(f=>this._onReplaceInputKeyDown(f))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(f=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(f=>{f.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),f.preventDefault())}));const r=this._register(xS());this._replaceBtn=this._register(new rh({label:Gz+this._keybindingLabelFor(Tn.ReplaceOneAction),icon:Nz,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:f=>{f.equals(1026)&&(this._closeBtn.focus(),f.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new rh({label:Kz+this._keybindingLabelFor(Tn.ReplaceAllAction),icon:Az,hoverDelegate:r,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const a=document.createElement("div");a.className="replace-part",a.appendChild(this._replaceInput.domNode);const c=document.createElement("div");c.className="replace-actions",a.appendChild(c),c.appendChild(this._replaceBtn.domNode),c.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new rh({label:Zz,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=br(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=Hz,this._domNode.role="dialog",this._domNode.style.width=`${va}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(n),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(a),this._resizeSash=this._register(new Sh(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let u=va;this._register(this._resizeSash.onDidStart(()=>{u=br(this._domNode)})),this._register(this._resizeSash.onDidChange(f=>{this._resized=!0;const g=u+f.startX-f.currentX;if(g<va)return;const p=parseFloat(UO(this._domNode).maxWidth)||0;g>p||(this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=br(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const f=br(this._domNode);if(f<va)return;let g=va;if(!this._resized||f===va){const p=this._codeEditor.getLayoutInfo();g=p.width-28-p.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${g}px`,this._isReplaceVisible&&(this._replaceInput.width=br(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};Nb.ID="editor.contrib.findWidget";let VC=Nb;class rh extends u_{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+bn.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.tabIndex=0,this._domNode.className=i,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this._register(t.setupManagedHover(e.hoverDelegate??ky("element"),this._domNode,this._opts.label)),this.onclick(this._domNode,n=>{this._opts.onTrigger(),n.preventDefault()}),this.onkeydown(this._domNode,n=>{var s,r;if(n.equals(10)||n.equals(3)){this._opts.onTrigger(),n.preventDefault();return}(r=(s=this._opts).onKeyDown)==null||r.call(s,n)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...bn.asClassNameArray(II)),this._domNode.classList.add(...bn.asClassNameArray(DI))):(this._domNode.classList.remove(...bn.asClassNameArray(DI)),this._domNode.classList.add(...bn.asClassNameArray(II)))}}vy((o,e)=>{const t=o.getColor(RE);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${up(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(qO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${up(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(bl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(GO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(KO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var TR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sr=function(o,e){return function(t,i){e(t,i,o)}},jC;const tV=524288;function $C(o,e="single",t=!1){if(!o.hasModel())return null;const i=o.getSelection();if(e==="single"&&i.startLineNumber===i.endLineNumber||e==="multiple"){if(i.isEmpty()){const n=o.getConfiguredWordAtPosition(i.getStartPosition());if(n&&t===!1)return n.word}else if(o.getModel().getValueLengthInRange(i)<tV)return o.getModel().getValueInRange(i)}return null}var qd;let mo=(qd=class extends ft{get editor(){return this._editor}static get(e){return e.getContribution(jC.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Al.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new Tc(500),this._state=this._register(new Dz),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(a=>this._onStateChanged(a))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const a=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),a&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!Yy.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=hp(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const i={...t,isRevealed:!0};if(e.seedSearchStringFromSelection==="single"){const n=$C(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=hp(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=$C(this._editor,e.seedSearchStringFromSelection);n&&(i.searchString=n)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const n=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;n&&(i.searchString=n)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const n=this._editor.getSelections();n.some(s=>!s.isEmpty())&&(i.searchScope=n)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new Xg(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(e){return this._model?(this._model.moveToMatch(e),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){var e;return this._model?(e=this._editor.getModel())!=null&&e.isTooLargeForHeapOperation()?(this._notificationService.warn(C("too.large.for.replaceall","The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}},jC=qd,qd.ID="editor.contrib.findController",qd);mo=jC=TR([sr(1,mn),sr(2,Wc),sr(3,zf),sr(4,ao),sr(5,g_)],mo);let UC=class extends mo{constructor(e,t,i,n,s,r,a,c,u){super(e,i,a,c,r,u),this._contextViewService=t,this._keybindingService=n,this._themeService=s,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let n=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":n=!0;break;case"never":n=!1;break;case"multiline":{n=!!i&&i.startLineNumber!==i.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||n,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new VC(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new WC(this._editor,this._state,this._keybindingService))}};UC=TR([sr(1,my),sr(2,mn),sr(3,hs),sr(4,Hr),sr(5,ao),sr(6,Wc),sr(7,zf),sr(8,g_)],UC);const iV=tT(new iT({id:Tn.StartFindAction,label:C("startFindAction","Find"),alias:"Find",precondition:xe.or(F.focus,xe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:At.MenubarEditMenu,group:"3_find",title:C({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));iV.addImplementation(0,(o,e,t)=>{const i=mo.get(e);return i?i.start({forceRevealReplace:!1,seedSearchStringFromSelection:e.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop}):!1});const nV={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]};class sV extends Qe{constructor(){super({id:Tn.StartFindWithArgs,label:C("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:nV})}async run(e,t,i){const n=mo.get(t);if(n){const s=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:i.replaceString!==void 0,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await n.start({forceRevealReplace:!1,seedSearchStringFromSelection:n.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(i==null?void 0:i.findInSelection)||!1,loop:t.getOption(41).loop},s),n.setGlobalBufferTerm(n.getState().searchString)}}}class oV extends Qe{constructor(){super({id:Tn.StartFindWithSelection,label:C("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=mo.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),i.setGlobalBufferTerm(i.getState().searchString))}}class PR extends Qe{async run(e,t){const i=mo.get(t);i&&!this._run(i)&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:i.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class rV extends PR{constructor(){super({id:Tn.NextMatchFindAction,label:C("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:F.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:xe.and(F.focus,Yy),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class aV extends PR{constructor(){super({id:Tn.PreviousMatchFindAction,label:C("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:F.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:xe.and(F.focus,Yy),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class lV extends Qe{constructor(){super({id:Tn.GoToMatchFindAction,label:C("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Al}),this._highlightDecorations=[]}run(e,t,i){const n=mo.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(ao).notify({severity:o0.Warning,message:C("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(El),a=new dt,c=a.add(r.createInputBox());c.placeholder=C("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",s);const u=g=>{const p=parseInt(g);if(isNaN(p))return;const w=n.getState().matchesCount;if(p>0&&p<=w)return p-1;if(p<0&&p>=-w)return w+p},f=g=>{const p=u(g);if(typeof p=="number"){c.validationMessage=void 0,n.goToMatch(p);const w=n.getState().currentMatch;w&&this.addDecorations(t,w)}else c.validationMessage=C("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};a.add(c.onDidChangeValue(g=>{f(g)})),a.add(c.onDidAccept(()=>{const g=u(c.value);typeof g=="number"?(n.goToMatch(g),c.hide()):c.validationMessage=C("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount)})),a.add(c.onDidHide(()=>{this.clearDecorations(t),a.dispose()})),c.show()}clearDecorations(e){e.changeDecorations(t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(i=>{this._highlightDecorations=i.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:_s(nT),position:Fa.Full}}}])})}}class MR extends Qe{async run(e,t){const i=mo.get(t);if(!i)return;const n=$C(t,"single",!1);n&&i.setSearchString(n),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class cV extends MR{constructor(){super({id:Tn.NextSelectionMatchFindAction,label:C("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:F.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class dV extends MR{constructor(){super({id:Tn.PreviousSelectionMatchFindAction,label:C("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:F.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const uV=tT(new iT({id:Tn.StartFindReplaceAction,label:C("startReplace","Replace"),alias:"Replace",precondition:xe.or(F.focus,xe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:At.MenubarEditMenu,group:"3_find",title:C({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));uV.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=mo.get(e);if(!i)return!1;const n=e.getSelection(),s=i.isFindInputFocused(),r=!n.isEmpty()&&n.startLineNumber===n.endLineNumber&&e.getOption(41).seedSearchStringFromSelection!=="never"&&!s,a=s||r?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:r?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).seedSearchStringFromSelection!=="never",shouldFocus:a,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop})});Gi(mo.ID,UC,0);fe(sV);fe(oV);fe(rV);fe(aV);fe(lV);fe(cV);fe(dV);const pa=bo.bindToContribution(mo.get);ii(new pa({id:Tn.CloseFindWidgetCommand,precondition:Al,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:xe.and(F.focus,xe.not("isComposing")),primary:9,secondary:[1033]}}));ii(new pa({id:Tn.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:F.focus,primary:nm.primary,mac:nm.mac,win:nm.win,linux:nm.linux}}));ii(new pa({id:Tn.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:F.focus,primary:sm.primary,mac:sm.mac,win:sm.win,linux:sm.linux}}));ii(new pa({id:Tn.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:F.focus,primary:om.primary,mac:om.mac,win:om.win,linux:om.linux}}));ii(new pa({id:Tn.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:F.focus,primary:rm.primary,mac:rm.mac,win:rm.win,linux:rm.linux}}));ii(new pa({id:Tn.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:F.focus,primary:am.primary,mac:am.mac,win:am.win,linux:am.linux}}));ii(new pa({id:Tn.ReplaceOneAction,precondition:Al,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:F.focus,primary:3094}}));ii(new pa({id:Tn.ReplaceOneAction,precondition:Al,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:xe.and(F.focus,J0),primary:3}}));ii(new pa({id:Tn.ReplaceAllAction,precondition:Al,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:F.focus,primary:2563}}));ii(new pa({id:Tn.ReplaceAllAction,precondition:Al,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:xe.and(F.focus,J0),primary:void 0,mac:{primary:2051}}}));ii(new pa({id:Tn.SelectAllMatchesAction,precondition:Al,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:F.focus,primary:515}}));const hV={0:" ",1:"u",2:"r"},NI=65535,Jr=16777215,AI=4278190080;class Uw{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return(this._states[t]&1<<i)!==0}set(e,t){const i=e/32|0,n=e%32,s=this._states[i];t?this._states[i]=s|1<<n:this._states[i]=s&~(1<<n)}}class zo{constructor(e,t,i){if(e.length!==t.length||e.length>NI)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Uw(e.length),this._userDefinedStates=new Uw(e.length),this._recoveredStates=new Uw(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(i,n)=>{const s=e[e.length-1];return this.getStartLineNumber(s)<=i&&this.getEndLineNumber(s)>=n};for(let i=0,n=this._startIndexes.length;i<n;i++){const s=this._startIndexes[i],r=this._endIndexes[i];if(s>Jr||r>Jr)throw new Error("startLineNumber or endLineNumber must not exceed "+Jr);for(;e.length>0&&!t(s,r);)e.pop();const a=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=s+((a&255)<<24),this._endIndexes[i]=r+((a&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&Jr}getEndLineNumber(e){return this._endIndexes[e]&Jr}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let n=0;n<this._types.length;n++)this._types[n]===e&&(this.setCollapsed(n,t),i=!0);return i}toRegion(e){return new fV(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&AI)>>>24)+((this._endIndexes[e]&AI)>>>16);return t===NI?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t<i;){const n=Math.floor((t+i)/2);e<this.getStartLineNumber(n)?i=n:t=n+1}return t-1}findRange(e){let t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;t<this.length;t++)e[t]=`[${hV[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Jr,endLineNumber:this._endIndexes[e]&Jr,type:this._types?this._types[e]:void 0,isCollapsed:this.isCollapsed(e),source:this.getSource(e)}}static fromFoldRanges(e){const t=e.length,i=new Uint32Array(t),n=new Uint32Array(t);let s=[],r=!1;for(let c=0;c<t;c++){const u=e[c];i[c]=u.startLineNumber,n[c]=u.endLineNumber,s.push(u.type),u.type&&(r=!0)}r||(s=void 0);const a=new zo(i,n,s);for(let c=0;c<t;c++)e[c].isCollapsed&&a.setCollapsed(c,!0),a.setSource(c,e[c].source);return a}static sanitizeAndMerge(e,t,i,n){i=i??Number.MAX_VALUE;const s=(k,E)=>Array.isArray(k)?(P=>P<E?k[P]:void 0):(P=>P<E?k.toFoldRange(P):void 0),r=s(e,e.length),a=s(t,t.length);let c=0,u=0,f=r(0),g=a(0);const p=[];let w,m=0;const x=[];for(;f||g;){let k;if(g&&(!f||f.startLineNumber>=g.startLineNumber))f&&f.startLineNumber===g.startLineNumber?(g.source===1?k=g:(k=f,k.isCollapsed=g.isCollapsed&&(f.endLineNumber===g.endLineNumber||!(n!=null&&n.startsInside(f.startLineNumber+1,f.endLineNumber+1))),k.source=0),f=r(++c)):(k=g,g.isCollapsed&&g.source===0&&(k.source=2)),g=a(++u);else{let E=u,P=g;for(;;){if(!P||P.startLineNumber>f.endLineNumber){k=f;break}if(P.source===1&&P.endLineNumber>f.endLineNumber)break;P=a(++E)}f=r(++c)}if(k){for(;w&&w.endLineNumber<k.startLineNumber;)w=p.pop();k.endLineNumber>k.startLineNumber&&k.startLineNumber>m&&k.endLineNumber<=i&&(!w||w.endLineNumber>=k.endLineNumber)&&(x.push(k),m=k.startLineNumber,w&&p.push(w),w=k)}}return x}}class fV{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class gV{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new zi,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new zo(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,n)=>i.regionIndex-n.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let n=0,s=-1,r=-1;const a=c=>{for(;n<c;){const u=this._regions.getEndLineNumber(n),f=this._regions.isCollapsed(n);if(u<=s){const g=this.regions.getSource(n)!==0;i.changeDecorationOptions(this._editorDecorationIds[n],this._decorationProvider.getDecorationOption(f,u<=r,g))}f&&u>r&&(r=u),n++}};for(const c of e){const u=c.regionIndex,f=this._editorDecorationIds[u];if(f&&!t[f]){t[f]=!0,a(u);const g=!this._regions.isCollapsed(u);this._regions.setCollapsed(u,g),s=Math.max(s,this._regions.getEndLineNumber(u))}}a(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=n=>{for(const s of e)if(!(s.startLineNumber>n.endLineNumber||n.startLineNumber>s.endLineNumber))return!0;return!1};for(let n=0;n<this._regions.length;n++){const s=this._regions.toFoldRange(n);(s.source===0||!i(s))&&t.push(s)}this.updatePost(zo.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=zo.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(zo.fromFoldRanges(n))}updatePost(e){const t=[];let i=-1;for(let n=0,s=e.length;n<s;n++){const r=e.getStartLineNumber(n),a=e.getEndLineNumber(n),c=e.isCollapsed(n),u=e.getSource(n)!==0,f={startLineNumber:r,startColumn:this._textModel.getLineMaxColumn(r),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:f,options:this._decorationProvider.getDecorationOption(c,a<=i,u)}),c&&a>i&&(i=a)}this._decorationProvider.changeDecorations(n=>this._editorDecorationIds=n.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){const t=[];for(let i=0,n=this._regions.length;i<n;i++){let s=this.regions.isCollapsed(i);const r=this.regions.getSource(i);if(s||r!==0){const a=this._regions.toFoldRange(i),c=this._textModel.getDecorationRange(this._editorDecorationIds[i]);c&&(s&&(e!=null&&e.startsInside(c.startLineNumber+1,c.endLineNumber))&&(s=!1),t.push({startLineNumber:c.startLineNumber,endLineNumber:c.endLineNumber,type:a.type,isCollapsed:s,source:r}))}}return t}getMemento(){const e=this._currentFoldedOrManualRanges(),t=[],i=this._textModel.getLineCount();for(let n=0,s=e.length;n<s;n++){const r=e[n];if(r.startLineNumber>=r.endLineNumber||r.startLineNumber<1||r.endLineNumber>i)continue;const a=this._getLinesChecksum(r.startLineNumber+1,r.endLineNumber);t.push({startLineNumber:r.startLineNumber,endLineNumber:r.endLineNumber,isCollapsed:r.isCollapsed,source:r.source,checksum:a})}return t.length>0?t:void 0}applyMemento(e){if(!Array.isArray(e))return;const t=[],i=this._textModel.getLineCount();for(const s of e){if(s.startLineNumber>=s.endLineNumber||s.startLineNumber<1||s.endLineNumber>i)continue;const r=this._getLinesChecksum(s.startLineNumber+1,s.endLineNumber);(!s.checksum||r===s.checksum)&&t.push({startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,type:void 0,isCollapsed:s.isCollapsed??!0,source:s.source??0})}const n=zo.sanitizeAndMerge(this._regions,t,i);this.updatePost(zo.fromFoldRanges(n))}_getLinesChecksum(e,t){return sT(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let n=this._regions.findRange(e),s=1;for(;n>=0;){const r=this._regions.toRegion(n);(!t||t(r,s))&&i.push(r),s++,n=r.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],n=e?e.regionIndex+1:0,s=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){const r=[];for(let a=n,c=this._regions.length;a<c;a++){const u=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<s){for(;r.length>0&&!u.containedBy(r[r.length-1]);)r.pop();r.push(u),t(u,r.length)&&i.push(u)}else break}}else for(let r=n,a=this._regions.length;r<a;r++){const c=this._regions.toRegion(r);if(this._regions.getStartLineNumber(r)<s)(!t||t(c))&&i.push(c);else break}return i}}function ik(o,e,t){const i=[];for(const n of t){const s=o.getRegionAtLine(n);if(s){const r=!s.isCollapsed;if(i.push(s),e>1){const a=o.getRegionsInside(s,(c,u)=>c.isCollapsed!==r&&u<e);i.push(...a)}}}o.toggleCollapseState(i)}function Xf(o,e,t=Number.MAX_VALUE,i){const n=[];if(i&&i.length>0)for(const s of i){const r=o.getRegionAtLine(s);if(r&&(r.isCollapsed!==e&&n.push(r),t>1)){const a=o.getRegionsInside(r,(c,u)=>c.isCollapsed!==e&&u<t);n.push(...a)}}else{const s=o.getRegionsInside(null,(r,a)=>r.isCollapsed!==e&&a<t);n.push(...s)}o.toggleCollapseState(n)}function RR(o,e,t,i){const n=[];for(const s of i){const r=o.getAllRegionsAtLine(s,(a,c)=>a.isCollapsed!==e&&c<=t);n.push(...r)}o.toggleCollapseState(n)}function pV(o,e,t){const i=[];for(const n of t){const s=o.getAllRegionsAtLine(n,r=>r.isCollapsed!==e);s.length>0&&i.push(s[0])}o.toggleCollapseState(i)}function _V(o,e,t,i){const n=(r,a)=>a===e&&r.isCollapsed!==t&&!i.some(c=>r.containsLine(c)),s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function NR(o,e,t){const i=[];for(const r of t){const a=o.getAllRegionsAtLine(r,void 0);a.length>0&&i.push(a[0])}const n=r=>i.every(a=>!a.containedBy(r)&&!r.containedBy(a))&&r.isCollapsed!==e,s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function nk(o,e,t){const i=o.textModel,n=o.regions,s=[];for(let r=n.length-1;r>=0;r--)if(t!==n.isCollapsed(r)){const a=n.getStartLineNumber(r);e.test(i.getLineContent(a))&&s.push(n.toRegion(r))}o.toggleCollapseState(s)}function sk(o,e,t){const i=o.regions,n=[];for(let s=i.length-1;s>=0;s--)t!==i.isCollapsed(s)&&e===i.getType(s)&&n.push(i.toRegion(s));o.toggleCollapseState(n)}function mV(o,e){let t=null;const i=e.getRegionAtLine(o);if(i!==null&&(t=i.startLineNumber,o===t)){const n=i.parentIndex;n!==-1?t=e.regions.getStartLineNumber(n):t=null}return t}function vV(o,e){let t=e.getRegionAtLine(o);if(t!==null&&t.startLineNumber===o){if(o!==t.startLineNumber)return t.startLineNumber;{const i=t.parentIndex;let n=0;for(i!==-1&&(n=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=n)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber<o)return t.startLineNumber;t.regionIndex>0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function bV(o,e){let t=e.getRegionAtLine(o);if(t!==null&&t.startLineNumber===o){const i=t.parentIndex;let n=0;if(i!==-1)n=e.regions.getEndLineNumber(t.parentIndex);else{if(e.regions.length===0)return null;n=e.regions.getEndLineNumber(e.regions.length-1)}for(;t!==null;)if(t.regionIndex<e.regions.length){if(t=e.regions.toRegion(t.regionIndex+1),t.startLineNumber>=n)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}else if(e.regions.length>0)for(t=e.regions.toRegion(0);t!==null;){if(t.startLineNumber>o)return t.startLineNumber;t.regionIndex<e.regions.length?t=e.regions.toRegion(t.regionIndex+1):t=null}return null}class yV{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new zi,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange(t=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||ZO(t.text)[0]!==0))}updateHiddenRanges(){let e=!1;const t=[];let i=0,n=0,s=Number.MAX_VALUE,r=-1;const a=this._foldingModel.regions;for(;i<a.length;i++){if(!a.isCollapsed(i))continue;const c=a.getStartLineNumber(i)+1,u=a.getEndLineNumber(i);s<=c&&u<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===c&&this._hiddenRanges[n].endLineNumber===u?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new K(c,1,u,1))),s=c,r=u)}(this._hasLineChanges||e||n<this._hiddenRanges.length)&&this.applyHiddenRanges(t)}applyHiddenRanges(e){this._hiddenRanges=e,this._hasLineChanges=!1,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return OI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!wV(r,n))&&(n=OI(this._hiddenRanges,r)),n?n.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let c=e[r];const u=s(c.startLineNumber);u&&(c=c.setStartPosition(u,i.getLineMaxColumn(u)),t=!0);const f=s(c.endLineNumber);f&&(c=c.setEndPosition(f,i.getLineMaxColumn(f)),t=!0),e[r]=c}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function wV(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function OI(o,e){const t=ZE(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const SV=5e3,CV="indent";class ok{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=CV}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(LV(this.editorModel,i,n,this.foldingRangesLimit))}}let xV=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Jr||t>Jr)return;const n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const i=new Uint32Array(this._length),n=new Uint32Array(this._length);for(let s=this._length-1,r=0;s>=0;s--,r++)i[r]=this._startIndexes[s],n[r]=this._endIndexes[s];return new zo(i,n)}else{this._foldingRangesLimit.update(this._length,t);let i=0,n=this._indentOccurrences.length;for(let c=0;c<this._indentOccurrences.length;c++){const u=this._indentOccurrences[c];if(u){if(u+i>t){n=c;break}i+=u}}const s=e.getOptions().tabSize,r=new Uint32Array(t),a=new Uint32Array(t);for(let c=this._length-1,u=0;c>=0;c--){const f=this._startIndexes[c],g=e.getLineContent(f),p=Gx(g,s);(p<n||p===n&&i++<t)&&(r[u]=f,a[u]=this._endIndexes[c],u++)}return new zo(r,a)}}};const kV={limit:SV,update:()=>{}};function LV(o,e,t,i=kV){const n=o.getOptions().tabSize,s=new xV(i);let r;t&&(r=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const a=[],c=o.getLineCount()+1;a.push({indent:-1,endAbove:c,line:c});for(let u=o.getLineCount();u>0;u--){const f=o.getLineContent(u),g=Gx(f,n);let p=a[a.length-1];if(g===-1){e&&(p.endAbove=u);continue}let w;if(r&&(w=f.match(r)))if(w[1]){let m=a.length-1;for(;m>0&&a[m].indent!==-2;)m--;if(m>0){a.length=m+1,p=a[m],s.insertFirst(u,p.line,g),p.line=u,p.indent=g,p.endAbove=u;continue}}else{a.push({indent:-2,endAbove:u,line:u});continue}if(p.indent>g){do a.pop(),p=a[a.length-1];while(p.indent>g);const m=p.endAbove-1;m-u>=1&&s.insertFirst(u,m,g)}p.indent===g?p.endAbove=u:a.push({indent:g,endAbove:u,line:u})}return s.toIndentRanges(o)}const IV=jt("editor.foldBackground",{light:Wa(gL,.3),dark:Wa(gL,.3),hcDark:null,hcLight:null},C("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);jt("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},C("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));jt("editorGutter.foldingControlForeground",XO,C("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Pv=is("folding-expanded",yi.chevronDown,C("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),Mv=is("folding-collapsed",yi.chevronRight,C("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),FI=is("folding-manual-collapsed",Mv,C("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),HI=is("folding-manual-expanded",Pv,C("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),qw={color:_s(IV),position:1},ah=C("linesCollapsed","Click to expand the range."),dm=C("linesExpanded","Click to collapse the range."),os=class os{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?os.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?os.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:os.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:os.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?os.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:os.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?os.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:os.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?os.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:os.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?os.MANUALLY_EXPANDED_VISUAL_DECORATION:os.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};os.COLLAPSED_VISUAL_DECORATION=tn.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:ah,firstLineDecorationClassName:bn.asClassName(Mv)}),os.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=tn.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:qw,isWholeLine:!0,linesDecorationsTooltip:ah,firstLineDecorationClassName:bn.asClassName(Mv)}),os.MANUALLY_COLLAPSED_VISUAL_DECORATION=tn.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:ah,firstLineDecorationClassName:bn.asClassName(FI)}),os.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=tn.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:qw,isWholeLine:!0,linesDecorationsTooltip:ah,firstLineDecorationClassName:bn.asClassName(FI)}),os.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=tn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:ah}),os.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=tn.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:qw,isWholeLine:!0,linesDecorationsTooltip:ah}),os.EXPANDED_VISUAL_DECORATION=tn.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+bn.asClassName(Pv),linesDecorationsTooltip:dm}),os.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=tn.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:bn.asClassName(Pv),linesDecorationsTooltip:dm}),os.MANUALLY_EXPANDED_VISUAL_DECORATION=tn.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+bn.asClassName(HI),linesDecorationsTooltip:dm}),os.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=tn.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:bn.asClassName(HI),linesDecorationsTooltip:dm}),os.NO_CONTROLS_EXPANDED_RANGE_DECORATION=tn.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),os.HIDDEN_RANGE_DECORATION=tn.register({description:"folding-hidden-range-decoration",stickiness:1});let qC=os;const DV={},EV="syntax";class rk{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=EV,this.disposables=new dt,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return TV(this.providers,this.editorModel,e).then(t=>{var i;return t?MV(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function TV(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,DV,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const c=e.getLineCount();for(const u of a)u.start>0&&u.end>u.start&&u.end<=c&&i.push({start:u.start,end:u.end,rank:r,kind:u.kind})}},rs));return Promise.all(n).then(s=>i)}class PV{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,n){if(e>Jr||t>Jr)return;const s=this._length;this._startIndexes[s]=e,this._endIndexes[s]=t,this._nestingLevels[s]=n,this._types[s]=i,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let n=0;n<this._length;n++)t[n]=this._startIndexes[n],i[n]=this._endIndexes[n];return new zo(t,i,this._types)}else{this._foldingRangesLimit.update(this._length,e);let t=0,i=this._nestingLevelCounts.length;for(let a=0;a<this._nestingLevelCounts.length;a++){const c=this._nestingLevelCounts[a];if(c){if(c+t>e){i=a;break}t+=c}}const n=new Uint32Array(e),s=new Uint32Array(e),r=[];for(let a=0,c=0;a<this._length;a++){const u=this._nestingLevels[a];(u<i||u===i&&t++<e)&&(n[c]=this._startIndexes[a],s[c]=this._endIndexes[a],r[c]=this._types[a],c++)}return new zo(n,s,r)}}}function MV(o,e){const t=o.sort((r,a)=>{let c=r.start-a.start;return c===0&&(c=r.rank-a.rank),c}),i=new PV(e);let n;const s=[];for(const r of t)if(!n)n=r,i.add(r.start,r.end,r.kind&&r.kind.value,s.length);else if(r.start>n.start)if(r.end<=n.end)s.push(n),n=r,i.add(r.start,r.end,r.kind&&r.kind.value,s.length);else{if(r.start>n.end){do n=s.pop();while(n&&r.start>n.end);n&&s.push(n),n=r}i.add(r.start,r.end,r.kind&&r.kind.value,s.length)}return i.toIndentRanges()}var RV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vg=function(o,e){return function(t,i){e(t,i,o)}},td;const Ws=new dn("foldingEnabled",!1);var Gd;let Ac=(Gd=class extends ft{static get(e){return e.getContribution(td.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=td._foldingRangeSelector)==null?void 0:n.call(td,i,t))??i}constructor(e,t,i,n,s,r){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=r,this.localToDispose=this._register(new dt),this.editor=e,this._foldingLimitReporter=new AR(e);const a=this.editor.getOptions();this._isEnabled=a.get(43),this._useFoldingProviders=a.get(44)!=="indentation",this._unfoldOnClickAfterEndOfLine=a.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=a.get(46),this.updateDebounceInfo=s.for(r.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new qC(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Ws.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(c=>{if(c.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),c.hasChanged(47)&&this.onModelChanged(),c.hasChanged(111)||c.hasChanged(45)){const u=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=u.get(111),this.foldingDecorationProvider.showFoldingHighlights=u.get(45),this.triggerFoldingModelChanged()}c.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),c.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),c.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new gV(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new yV(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Tc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new bs(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),(t=this.updateScheduler)==null||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,(i=this.rangeProvider)==null||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;(e=this.rangeProvider)==null||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new ok(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=td.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new rk(e,i,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;(t=this.hiddenRangeModel)==null||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;const t=new To,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=Rs(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const u=s.setCollapsedAllOfType(v_.Imports.value,!0);u&&(r=gf.capture(this.editor),this._currentModelHasFoldedImports=u)}const a=this.editor.getSelections();e.update(s,NV(a)),r==null||r.restore(this.editor);const c=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=c)}return e})}).then(void 0,e=>(Pn(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const n=[];for(const s of i){const r=s.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(r)&&n.push(...t.getAllRegionsAtLine(r,a=>a.isCollapsed&&r>a.startLineNumber))}n.length&&(t.toggleCollapseState(n),this.reveal(i[0].getPosition()))}}}).then(void 0,Pn)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const n=e.target.detail,s=e.target.element.offsetLeft;if(n.offsetX-s<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const n=this.editor.getModel();if(n&&t.startColumn===n.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,s=e.target.range;if(!s||s.startLineNumber!==i)return;if(n){if(e.target.type!==4)return}else{const a=this.editor.getModel();if(!a||s.startColumn!==a.getLineMaxColumn(i))return}const r=t.getRegionAtLine(i);if(r&&r.startLineNumber===i){const a=r.isCollapsed;if(n||a){const c=e.event.altKey;let u=[];if(c){const f=p=>!p.containedBy(r)&&!r.containedBy(p),g=t.getRegionsInside(null,f);for(const p of g)p.isCollapsed&&u.push(p);u.length===0&&(u=g)}else{const f=e.event.middleButton||e.event.shiftKey;if(f)for(const g of t.getRegionsInside(r))g.isCollapsed===a&&u.push(g);(a||!f||u.length===0)&&u.push(r)}t.toggleCollapseState(u),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},td=Gd,Gd.ID="editor.contrib.folding",Gd);Ac=td=RV([vg(1,mn),vg(2,Is),vg(3,ao),vg(4,cr),vg(5,ei)],Ac);class AR{constructor(e){this.editor=e,this._onDidChange=new zi,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}class Gs extends Qe{runEditorCommand(e,t,i){const n=e.get(Is),s=Ac.get(t);if(!s)return;const r=s.getFoldingModel();if(r)return this.reportTelemetry(e,t),r.then(a=>{if(a){this.invoke(s,a,t,i,n);const c=t.getSelection();c&&s.reveal(c.getStartPosition())}})}getSelectedLines(e){const t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}}function NV(o){return!o||o.length===0?{startsInside:()=>!1}:{startsInside(e,t){for(const i of o){const n=i.startLineNumber;if(n>=e&&n<=t)return!0}return!1}}}function OR(o){if(!xg(o)){if(!oT(o))return!1;const e=o;if(!xg(e.levels)&&!pL(e.levels)||!xg(e.direction)&&!PE(e.direction)||!xg(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(pL)))return!1}return!0}class AV extends Gs{constructor(){super({id:"editor.unfold",label:C("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument:
|
|
23
|
+
* 'levels': Number of levels to unfold. If not set, defaults to 1.
|
|
24
|
+
* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
|
|
25
|
+
* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.
|
|
26
|
+
`,constraint:OR,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=n&&n.levels||1,r=this.getLineNumbers(n,i);n&&n.direction==="up"?RR(t,!1,s,r):Xf(t,!1,s,r)}}class OV extends Gs{constructor(){super({id:"editor.unfoldRecursively",label:C("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2142),weight:100}})}invoke(e,t,i,n){Xf(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class FV extends Gs{constructor(){super({id:"editor.fold",label:C("foldAction.label","Fold"),alias:"Fold",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument:
|
|
27
|
+
* 'levels': Number of levels to fold.
|
|
28
|
+
* 'direction': If 'up', folds given number of levels up otherwise folds down.
|
|
29
|
+
* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.
|
|
30
|
+
If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
|
|
31
|
+
`,constraint:OR,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){const s=this.getLineNumbers(n,i),r=n&&n.levels,a=n&&n.direction;typeof r!="number"&&typeof a!="string"?pV(t,!0,s):a==="up"?RR(t,!0,r||1,s):Xf(t,!0,r||1,s)}}class HV extends Gs{constructor(){super({id:"editor.toggleFold",label:C("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);ik(t,1,n)}}class WV extends Gs{constructor(){super({id:"editor.foldRecursively",label:C("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Xf(t,!0,Number.MAX_VALUE,n)}}class BV extends Gs{constructor(){super({id:"editor.toggleFoldRecursively",label:C("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);ik(t,Number.MAX_VALUE,n)}}class zV extends Gs{constructor(){super({id:"editor.foldAllBlockComments",label:C("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())sk(t,v_.Comment.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const c=new RegExp("^\\s*"+hp(a.blockCommentStartToken));nk(t,c,!0)}}}}class VV extends Gs{constructor(){super({id:"editor.foldAllMarkerRegions",label:C("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())sk(t,v_.Region.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const c=new RegExp(a.markers.start);nk(t,c,!0)}}}}class jV extends Gs{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:C("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())sk(t,v_.Region.value,!1);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const c=new RegExp(a.markers.start);nk(t,c,!1)}}}}class $V extends Gs{constructor(){super({id:"editor.foldAllExcept",label:C("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);NR(t,!0,n)}}class UV extends Gs{constructor(){super({id:"editor.unfoldAllExcept",label:C("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);NR(t,!1,n)}}class qV extends Gs{constructor(){super({id:"editor.foldAll",label:C("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2069),weight:100}})}invoke(e,t,i){Xf(t,!0)}}class GV extends Gs{constructor(){super({id:"editor.unfoldAll",label:C("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2088),weight:100}})}invoke(e,t,i){Xf(t,!1)}}const Oh=class Oh extends Gs{getFoldingLevel(){return parseInt(this.id.substr(Oh.ID_PREFIX.length))}invoke(e,t,i){_V(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};Oh.ID_PREFIX="editor.foldLevel",Oh.ID=e=>Oh.ID_PREFIX+e;let Rv=Oh;class KV extends Gs{constructor(){super({id:"editor.gotoParentFold",label:C("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=mV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class ZV extends Gs{constructor(){super({id:"editor.gotoPreviousFold",label:C("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=vV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class XV extends Gs{constructor(){super({id:"editor.gotoNextFold",label:C("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=bV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class YV extends Gs{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:C("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2135),weight:100}})}invoke(e,t,i){var r;const n=[],s=i.getSelections();if(s){for(const a of s){let c=a.endLineNumber;a.endColumn===1&&--c,c>a.startLineNumber&&(n.push({startLineNumber:a.startLineNumber,endLineNumber:c,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:a.startLineNumber,startColumn:1,endLineNumber:a.startLineNumber,endColumn:1}))}if(n.length>0){n.sort((c,u)=>c.startLineNumber-u.startLineNumber);const a=zo.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(zo.fromFoldRanges(a))}}}}class QV extends Gs{constructor(){super({id:"editor.removeManualFoldingRanges",label:C("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2137),weight:100}})}invoke(e,t,i){const n=i.getSelections();if(n){const s=[];for(const r of n){const{startLineNumber:a,endLineNumber:c}=r;s.push(c>=a?{startLineNumber:a,endLineNumber:c}:{endLineNumber:c,startLineNumber:a})}t.removeManualRanges(s),e.triggerFoldingModelChanged()}}}Gi(Ac.ID,Ac,0);fe(AV);fe(OV);fe(FV);fe(WV);fe(BV);fe(qV);fe(GV);fe(zV);fe(VV);fe(jV);fe($V);fe(UV);fe(HV);fe(KV);fe(ZV);fe(XV);fe(YV);fe(QV);for(let o=1;o<=7;o++)YO(new Rv({id:Rv.ID(o),label:C("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Ws,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2048|21+o),weight:100}}));On.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof Dn))throw fl();const i=o.get(ei),n=o.get(lo).getModel(t);if(!n)throw fl();const s=o.get($n);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(Is),a=s.getValue("editor.foldingStrategy",{resource:t}),c={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(w,m)=>{}},u=new ok(n,r,c);let f=u;if(a!=="indentation"){const w=Ac.getFoldingRangeProviders(i,n);w.length&&(f=new rk(n,w,()=>{},c,u))}const g=await f.compute(Vi.None),p=[];try{if(g)for(let w=0;w<g.length;w++){const m=g.getType(w);p.push({start:g.getStartLineNumber(w),end:g.getEndLineNumber(w),kind:m?v_.fromValue(m):void 0})}return p}finally{f.dispose()}});class JV extends Qe{constructor(){super({id:"editor.action.fontZoomIn",label:C("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){vp.setZoomLevel(vp.getZoomLevel()+1)}}class ej extends Qe{constructor(){super({id:"editor.action.fontZoomOut",label:C("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){vp.setZoomLevel(vp.getZoomLevel()-1)}}class tj extends Qe{constructor(){super({id:"editor.action.fontZoomReset",label:C("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){vp.setZoomLevel(0)}}fe(JV);fe(ej);fe(tj);var FR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Yg=function(o,e){return function(t,i){e(t,i,o)}},tf;let Nv=(tf=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new dt,this._sessionDisposables=new dt,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(s=>{s.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56)||!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new iv;for(const n of t.autoFormatTriggerCharacters)i.add(n.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(n=>{const s=n.charCodeAt(n.length-1);i.has(s)&&this._trigger(String.fromCharCode(s))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),n=new Ns,s=this._editor.onDidChangeModelContent(r=>{if(r.isFlush){n.cancel(),s.dispose();return}for(let a=0,c=r.changes.length;a<c;a++)if(r.changes[a].range.endLineNumber<=i.lineNumber){n.cancel(),s.dispose();return}});QO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||jo(r)&&(this._accessibilitySignalService.playSignal(aT.format,{userGesture:!1}),JO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},tf.ID="editor.contrib.autoFormat",tf);Nv=FR([Yg(1,ei),Yg(2,Ml),Yg(3,rT)],Nv);var nf;let Av=(nf=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new dt,this._callOnModel=new dt,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(lT,this.editor,e,2,ll.None,Vi.None,!1).catch(Pn))}},nf.ID="editor.contrib.formatOnPaste",nf);Av=FR([Yg(1,ei),Yg(2,Ti)],Av);class ij extends Qe{constructor(){super({id:"editor.action.formatDocument",label:C("formatDocument.label","Format Document"),alias:"Format Document",precondition:xe.and(F.notInCompositeEditor,F.writable,F.hasDocumentFormattingProvider),kbOpts:{kbExpr:F.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const i=e.get(Ti);await e.get(l_).showWhile(i.invokeFunction(e2,t,1,ll.None,Vi.None,!0),250)}}}class nj extends Qe{constructor(){super({id:"editor.action.formatSelection",label:C("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:xe.and(F.writable,F.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2084),weight:100},contextMenuOpts:{when:F.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(Ti),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new K(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(l_).showWhile(i.invokeFunction(lT,t,s,1,ll.None,Vi.None,!0),250)}}Gi(Nv.ID,Nv,2);Gi(Av.ID,Av,2);fe(ij);fe(nj);On.registerCommand("editor.action.format",async o=>{const e=o.get(as).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(Ls);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var sj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Gw=function(o,e){return function(t,i){e(t,i,o)}};class Th{remove(){var e;(e=this.parent)==null||e.children.delete(this.id)}static findId(e,t){let i;typeof e=="string"?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,t.children.get(i)!==void 0&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let n=i;for(let s=0;t.children.get(n)!==void 0;s++)n=`${i}_${s}`;return n}static empty(e){return e.children.size===0}}class GC extends Th{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class HR extends Th{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class il extends Th{static create(e,t,i){const n=new Ns(i),s=new il(t.uri),r=e.ordered(t),a=r.map((u,f)=>{const g=Th.findId(`provider_${f}`,s),p=new HR(g,s,u.displayName??"Unknown Outline Provider",f);return Promise.resolve(u.provideDocumentSymbols(t,n.token)).then(w=>{for(const m of w||[])il._makeOutlineElement(m,p);return p},w=>(rs(w),p)).then(w=>{Th.empty(w)?w.remove():s._groups.set(g,w)})}),c=e.onDidChange(()=>{const u=e.ordered(t);za(u,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?il.create(e,t,i):s._compact()).finally(()=>{n.dispose(),c.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=Th.findId(e,t),n=new GC(i,t,e);if(e.children)for(const s of e.children)il._makeOutlineElement(s,n);t.children.set(n.id,n)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)i.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{const t=hl.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof GC?e.push(t.symbol):e.push(...hl.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>K.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return il._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Jt.compare(K.getStartPosition(i.range),K.getStartPosition(n.range))||Jt.compare(K.getEndPosition(n.range),K.getEndPosition(i.range)))}static _flattenDocumentSymbols(e,t,i){for(const n of t)e.push({kind:n.kind,tags:n.tags,name:n.name,detail:n.detail,containerName:n.containerName||i,range:n.range,selectionRange:n.selectionRange,children:void 0}),n.children&&il._flattenDocumentSymbols(e,n.children,n.name)}}const M_=Tl("IOutlineModelService");let KC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new dt,this._cache=new d_(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(n=>{this._cache.delete(n.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,n=i.ordered(e);let s=this._cache.get(e.id);if(!s||s.versionId!==e.getVersionId()||!za(s.provider,n)){const a=new Ns;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:il.create(i,e,a.token),model:void 0},this._cache.set(e.id,s);const c=Date.now();s.promise.then(u=>{s.model=u,this._debounceInformation.update(e,Date.now()-c)}).catch(u=>{this._cache.delete(e.id)})}if(s.model)return s.model;s.promiseCnt+=1;const r=t.onCancellationRequested(()=>{--s.promiseCnt===0&&(s.source.cancel(),this._cache.delete(e.id))});try{return await s.promise}finally{r.dispose()}}};KC=sj([Gw(0,ei),Gw(1,cr),Gw(2,lo)],KC);Pl(M_,KC,1);On.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;vn(Dn.isUri(t));const i=o.get(M_),s=await o.get(ga).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,Vi.None)).getTopLevelSymbols()}finally{s.dispose()}});const Ca=class Ca extends ft{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=Ca.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Ca.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Ca.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=Ca.suppressSuggestions.bindTo(this.contextKeyService),this._register(Kn(i=>{const n=this.model.read(i),s=n==null?void 0:n.state.read(i),r=!!(s!=null&&s.inlineCompletion)&&(s==null?void 0:s.primaryGhostText)!==void 0&&!(s!=null&&s.primaryGhostText.isEmpty());this.inlineCompletionVisible.set(r),s!=null&&s.primaryGhostText&&(s!=null&&s.inlineCompletion)&&this.suppressSuggestions.set(s.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)})),this._register(Kn(i=>{const n=this.model.read(i);let s=!1,r=!0;const a=n==null?void 0:n.primaryGhostText.read(i);if(n!=null&&n.selectedSuggestItem&&a&&a.parts.length>0){const{column:c,lines:u}=a.parts[0],f=u[0],g=n.textModel.getLineIndentColumn(a.lineNumber);if(c<=g){let w=SS(f);w===-1&&(w=f.length-1),s=w>0;const m=n.textModel.getOptions().tabSize;r=t2.visibleColumnFromColumn(f,w+1,m)<m}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};Ca.inlineSuggestionVisible=new dn("inlineSuggestionVisible",!1,C("inlineSuggestionVisible","Whether an inline suggestion is visible")),Ca.inlineSuggestionHasIndentation=new dn("inlineSuggestionHasIndentation",!1,C("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),Ca.inlineSuggestionHasIndentationLessThanTabSize=new dn("inlineSuggestionHasIndentationLessThanTabSize",!0,C("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),Ca.suppressSuggestions=new dn("inlineSuggestionSuppressSuggestions",void 0,C("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let Eo=Ca;function oj(o){const e=new dt,t=e.add(cT());return e.add(Kn(i=>{t.setStyle(o.read(i))})),e}class Rp{constructor(e,t){this.lineNumber=e,this.parts=t}equals(e){return this.lineNumber===e.lineNumber&&this.parts.length===e.parts.length&&this.parts.every((t,i)=>t.equals(e.parts[i]))}renderForScreenReader(e){if(this.parts.length===0)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return new dT([...this.parts.map(s=>new wl(K.fromPositions(new Jt(1,s.column)),s.lines.join(`
|
|
32
|
+
`)))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}}class Ov{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=Ly(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,i)=>t===e.lines[i])}}class ZC{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new Ov(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=Ly(this.text)}renderForScreenReader(e){return this.newLines.join(`
|
|
33
|
+
`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function WI(o,e){return za(o,e,WR)}function WR(o,e){return o===e?!0:!o||!e?!1:o instanceof Rp&&e instanceof Rp||o instanceof ZC&&e instanceof ZC?o.equals(e):!1}const rj=[];function aj(){return rj}class BR{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new vf(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new K(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function zR(o,e){const t=new dt,i=o.createDecorationsCollection();return t.add(i2({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function lj(o,e){return new Jt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function BI(o,e){return new Jt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var cj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dj=function(o,e){return function(t,i){e(t,i,o)}};const zI="ghost-text";let XC=class extends ft{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=$o(this,!1),this.currentTextModel=xo(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=xn(this,n=>{if(this.isDisposed.read(n))return;const s=this.currentTextModel.read(n);if(s!==this.model.targetTextModel.read(n))return;const r=this.model.ghostText.read(n);if(!r)return;const a=r instanceof ZC?r.columnRange:void 0,c=[],u=[];function f(x,k){if(u.length>0){const E=u[u.length-1];k&&E.decorations.push(new bp(E.content.length+1,E.content.length+1+x[0].length,k,0)),E.content+=x[0],x=x.slice(1)}for(const E of x)u.push({content:E,decorations:k?[new bp(1,E.length+1,k,0)]:[]})}const g=s.getLineContent(r.lineNumber);let p,w=0;for(const x of r.parts){let k=x.lines;p===void 0?(c.push({column:x.column,text:k[0],preview:x.preview}),k=k.slice(1)):f([g.substring(w,x.column-1)],void 0),k.length>0&&(f(k,zI),p===void 0&&x.column<=g.length&&(p=x.column)),w=x.column-1}p!==void 0&&f([g.substring(w)],void 0);const m=p!==void 0?new BR(p,g.length+1):void 0;return{replacedRange:a,inlineTexts:c,additionalLines:u,hiddenRange:m,lineNumber:r.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s}}),this.decorations=xn(this,n=>{const s=this.uiState.read(n);if(!s)return[];const r=[];s.replacedRange&&r.push({range:s.replacedRange.toRange(s.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),s.hiddenRange&&r.push({range:s.hiddenRange.toRange(s.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const a of s.inlineTexts)r.push({range:K.fromPositions(new Jt(s.lineNumber,a.column)),options:{description:zI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:xh.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new uj(this.editor,this.languageService.languageIdCodec,xn(n=>{const s=this.uiState.read(n);return s?{lineNumber:s.lineNumber,additionalLines:s.additionalLines,minReservedLineCount:s.additionalReservedLineCount,targetTextModel:s.targetTextModel}:void 0}))),this._register(Vn(()=>{this.isDisposed.set(!0,void 0)})),this._register(zR(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};XC=cj([dj(2,fa)],XC);class uj extends ft{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=yd("editorOptionChanged",vs.filter(this.editor.onDidChangeConfiguration,n=>n.hasChanged(33)||n.hasChanged(118)||n.hasChanged(100)||n.hasChanged(95)||n.hasChanged(51)||n.hasChanged(50)||n.hasChanged(67))),this._register(Kn(n=>{const s=this.lines.read(n);this.editorOptionsChanged.read(n),s?this.updateLines(s.lineNumber,s.additionalLines,s.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(e,t,i){const n=this.editor.getModel();if(!n)return;const{tabSize:s}=n.getOptions();this.editor.changeViewZones(r=>{this._viewZoneId&&(r.removeZone(this._viewZoneId),this._viewZoneId=void 0);const a=Math.max(t.length,i);if(a>0){const c=document.createElement("div");hj(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function hj(o,e,t,i,n){const s=i.get(33),r=i.get(118),a="none",c=i.get(95),u=i.get(51),f=i.get(50),g=i.get(67),p=new hT(1e4);p.appendString('<div class="suggest-preview-text">');for(let x=0,k=t.length;x<k;x++){const E=t[x],P=E.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(x*g)),p.appendString('px;width:1000000px;">');const A=_T(P),U=n2(P),B=s2.createEmpty(P,n);fT(new gT(f.isMonospace&&!s,f.canUseHalfwidthRightwardsArrow,P,!1,A,U,0,B,E.decorations,e,0,f.spaceWidth,f.middotWidth,f.wsmiddotWidth,r,a,c,u!==o2.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),pT(o,f);const w=p.build(),m=VI?VI.createHTML(w):w;o.innerHTML=m}const VI=uT("editorGhostText",{createHTML:o=>o});function fj(o,e){const t=new c2,i=new a2(t,u=>e.getLanguageConfiguration(u)),n=new r2(new gj([o]),i),s=l2(n,[],void 0,!0);let r="";const a=o.getLineContent();function c(u,f){if(u.kind===2)if(c(u.openingBracket,f),f=fg(f,u.openingBracket.length),u.child&&(c(u.child,f),f=fg(f,u.child.length)),u.closingBracket)c(u.closingBracket,f),f=fg(f,u.closingBracket.length);else{const p=i.getSingleLanguageBracketTokens(u.openingBracket.languageId).findClosingTokenText(u.openingBracket.bracketIds);r+=p}else if(u.kind!==3){if(u.kind===0||u.kind===1)r+=a.substring(_L(f),_L(fg(f,u.length)));else if(u.kind===4)for(const g of u.children)c(g,f),f=fg(f,g.length)}}return c(s,d2),r}class gj{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}async function VR(o,e,t,i,n=Vi.None,s){const r=e instanceof Jt?mj(e,t):e,a=o.all(t),c=new u2;for(const E of a)E.groupId&&c.add(E.groupId,E);function u(E){if(!E.yieldsToGroupIds)return[];const P=[];for(const A of E.yieldsToGroupIds||[]){const U=c.get(A);for(const B of U)P.push(B)}return P}const f=new Map,g=new Set;function p(E,P){if(P=[...P,E],g.has(E))return P;g.add(E);try{const A=u(E);for(const U of A){const B=p(U,P);if(B)return B}}finally{g.delete(E)}}function w(E){const P=f.get(E);if(P)return P;const A=p(E,[]);A&&rs(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${A.map(B=>B.toString?B.toString():""+B).join(" -> ")}`));const U=new py;return f.set(E,U.p),(async()=>{var B;if(!A){const ne=u(E);for(const ie of ne){const pe=await w(ie);if(pe&&pe.items.length>0)return}}try{return e instanceof Jt?await E.provideInlineCompletions(t,e,i,n):await((B=E.provideInlineEdits)==null?void 0:B.call(E,t,e,i,n))}catch(ne){rs(ne);return}})().then(B=>U.complete(B),B=>U.error(B)),U.p}const m=await Promise.all(a.map(async E=>({provider:E,completions:await w(E)}))),x=new Map,k=[];for(const E of m){const P=E.completions;if(!P)continue;const A=new _j(P,E.provider);k.push(A);for(const U of P.items){const B=Fv.from(U,A,r,t,s);x.set(B.hash(),B)}}return new pj(Array.from(x.values()),new Set(x.keys()),k)}class pj{constructor(e,t,i){this.completions=e,this.hashs=t,this.providerResults=i}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}}class _j{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,this.refCount===0&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class Fv{static from(e,t,i,n,s){let r,a,c=e.range?K.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=jI(r,c.getStartPosition(),n,s);const u=r.length-e.insertText.length;u!==0&&(c=new K(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+u))}a=void 0}else if("snippet"in e.insertText){const u=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=jI(e.insertText.snippet,c.getStartPosition(),n,s);const g=e.insertText.snippet.length-u;g!==0&&(c=new K(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+g))}const f=new xu().parse(e.insertText.snippet);f.children.length===1&&f.children[0]instanceof ko?(r=f.children[0].value,a=void 0):(r=f.toString(),a={snippet:e.insertText.snippet,range:c})}else h2(e.insertText);return new Fv(r,e.command,c,r,a,e.additionalTextEdits||aj(),e,t)}constructor(e,t,i,n,s,r,a,c){this.filterText=e,this.command=t,this.range=i,this.insertText=n,this.snippetInfo=s,this.additionalTextEdits=r,this.sourceInlineCompletion=a,this.source=c,e=e.replace(/\r\n|\r/g,`
|
|
34
|
+
`),n=e.replace(/\r\n|\r/g,`
|
|
35
|
+
`)}withRange(e){return new Fv(this.filterText,this.command,e,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}toSingleTextEdit(){return new wl(this.range,this.insertText)}}function mj(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new K(o.lineNumber,t.startColumn,o.lineNumber,i):K.fromPositions(o,o.with(void 0,i))}function jI(o,e,t,i){const s=t.getLineContent(e.lineNumber).substring(0,e.column-1)+o,r=t.tokenization.tokenizeLineWithEdit(e,s.length-(e.column-1),o),a=r==null?void 0:r.sliceAndInflate(e.column-1,s.length,0);return a?fj(a,i):o}function Id(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=m_(n,o.text),r=nv.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),c=K.fromPositions(r,o.range.getEndPosition());return new wl(c,a)}function jR(o,e){return o.text.startsWith(e.text)&&vj(o.range,e.range)}function $I(o,e,t,i,n=0){let s=Id(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=Us(r).length;if(s.range.startColumn-1<=a){const m=Us(s.text).length,x=r.substring(s.range.startColumn-1,a),[k,E]=[s.range.getStartPosition(),s.range.getEndPosition()],P=k.column+x.length<=E.column?k.delta(0,x.length):E,A=K.fromPositions(P,E),U=s.text.startsWith(x)?s.text.substring(x.length):s.text.substring(m);s=new wl(A,U)}const u=e.getValueInRange(s.range),f=bj(u,s.text);if(!f)return;const g=s.range.startLineNumber,p=new Array;if(t==="prefix"){const m=f.filter(x=>x.originalLength===0);if(m.length>1||m.length===1&&m[0].originalStart!==u.length)return}const w=s.text.length-n;for(const m of f){const x=s.range.startColumn+m.originalStart+m.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&x<i.column||m.originalLength>0)return;if(m.modifiedLength===0)continue;const k=m.modifiedStart+m.modifiedLength,E=Math.max(m.modifiedStart,Math.min(k,w)),P=s.text.substring(m.modifiedStart,E),A=s.text.substring(E,Math.max(m.modifiedStart,k));P.length>0&&p.push(new Ov(x,P,!1)),A.length>0&&p.push(new Ov(x,A,!0))}return new Rp(g,p)}function vj(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let ba;function bj(o,e){if((ba==null?void 0:ba.originalValue)===o&&(ba==null?void 0:ba.newValue)===e)return ba==null?void 0:ba.changes;{let t=qI(o,e,!0);if(t){const i=UI(t);if(i>0){const n=qI(o,e,!1);n&&UI(n)<i&&(t=n)}}return ba={originalValue:o,newValue:e,changes:t},t}}function UI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function qI(o,e,t){if(o.length>5e3||e.length>5e3)return;function i(u){let f=0;for(let g=0,p=u.length;g<p;g++){const w=u.charCodeAt(g);w>f&&(f=w)}return f}const n=Math.max(i(o),i(e));function s(u){if(u<0)throw new Error("unexpected");return n+u+1}function r(u){let f=0,g=0;const p=new Int32Array(u.length);for(let w=0,m=u.length;w<m;w++)if(t&&u[w]==="("){const x=g*100+f;p[w]=s(2*x),f++}else if(t&&u[w]===")"){f=Math.max(f-1,0);const x=g*100+f;p[w]=s(2*x+1),f===0&&g++}else p[w]=u.charCodeAt(w);return p}const a=r(o),c=r(e);return new f2({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}var yj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},GI=function(o,e){return function(t,i){e(t,i,o)}};let YC=class extends ft{constructor(e,t,i,n,s){super(),this.textModel=e,this.versionId=t,this._debounceValue=i,this.languageFeaturesService=n,this.languageConfigurationService=s,this._updateOperation=this._register(new qo),this.inlineCompletions=kS("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=kS("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var f,g;const n=new Sj(e,t,this.textModel.getVersionId()),s=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((f=this._updateOperation.value)!=null&&f.request.satisfies(n))return this._updateOperation.value.promise;if((g=s.get())!=null&&g.request.satisfies(n))return Promise.resolve(!0);const r=!!this._updateOperation.value;this._updateOperation.clear();const a=new Ns,c=(async()=>{if((r||t.triggerKind===gl.Automatic)&&await wj(this._debounceValue.get(this.textModel),a.token),a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const w=new Date,m=await VR(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,a.token,this.languageConfigurationService);if(a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const x=new Date;this._debounceValue.update(this.textModel,x.getTime()-w.getTime());const k=new xj(m,n,this.textModel,this.versionId);if(i){const E=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!m.has(E)&&k.prepend(i.inlineCompletion,E.range,!0)}return this._updateOperation.clear(),Fu(E=>{s.set(k,E)}),!0})(),u=new Cj(n,a,c);return this._updateOperation.value=u,c}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){var t;(t=this._updateOperation.value)!=null&&t.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};YC=yj([GI(3,ei),GI(4,Is)],YC);function wj(o,e){return new Promise(t=>{let i;const n=setTimeout(()=>{i&&i.dispose(),t()},o);e&&(i=e.onCancellationRequested(()=>{clearTimeout(n),i&&i.dispose(),t()}))})}class Sj{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&g2(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,_2())&&(e.context.triggerKind===gl.Automatic||this.context.triggerKind===gl.Explicit)&&this.versionId===e.versionId}}class Cj{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class xj{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,i,n){this.inlineCompletionProviderResult=e,this.request=t,this._textModel=i,this._versionId=n,this._refCount=1,this._prependedInlineCompletionItems=[];const s=i.deltaDecorations([],e.completions.map(r=>({range:r.range,options:{description:"inline-completion-tracking-range"}})));this._inlineCompletions=e.completions.map((r,a)=>new KI(r,s[a],this._textModel,this._versionId))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,this._refCount===0){setTimeout(()=>{this._textModel.isDisposed()||this._textModel.deltaDecorations(this._inlineCompletions.map(e=>e.decorationId),[])},0),this.inlineCompletionProviderResult.dispose();for(const e of this._prependedInlineCompletionItems)e.source.removeRef()}}prepend(e,t,i){i&&e.source.addRef();const n=this._textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new KI(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class KI{get forwardStable(){return this.inlineCompletion.source.inlineCompletions.enableForwardStability??!1}constructor(e,t,i,n){this.inlineCompletion=e,this.decorationId=t,this._textModel=i,this._modelVersion=n,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._updatedRange=al({owner:this,equalsFn:K.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??Kw)}toSingleTextEdit(e){return new wl(this._updatedRange.read(e)??Kw,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=Id(this._toFilterTextReplacement(i),e),s=this._updatedRange.read(i);if(!s||!this.inlineCompletion.range.getStartPosition().equals(s.getStartPosition())||t.lineNumber!==n.range.startLineNumber)return!1;const r=e.getValueInRange(n.range,1),a=n.text,c=Math.max(0,t.column-n.range.startColumn);let u=a.substring(0,c),f=a.substring(c),g=r.substring(0,c),p=r.substring(c);const w=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=w&&(g=g.trimStart(),g.length===0&&(p=p.trimStart()),u=u.trimStart(),u.length===0&&(f=f.trimStart())),u.startsWith(g)&&!!p2(p,f)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&nv.ofRange(i).isGreaterThanOrEqualTo(nv.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new wl(this._updatedRange.read(e)??Kw,this.inlineCompletion.filterText)}}const Kw=new K(1,1,1,1),vi={Visible:ek,HasFocusedSuggestion:new dn("suggestWidgetHasFocusedSuggestion",!1,C("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new dn("suggestWidgetDetailsVisible",!1,C("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new dn("suggestWidgetMultipleSuggestions",!1,C("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new dn("suggestionMakesTextEdit",!0,C("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new dn("acceptSuggestionOnEnter",!0,C("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new dn("suggestionHasInsertAndReplaceRange",!1,C("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new dn("suggestionInsertMode",void 0,{type:"string",description:C("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new dn("suggestionCanResolve",!1,C("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},hc=new At("suggestWidgetStatusBar");class kj{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=_p.Default,this.distance=0,this.textLabel=typeof t.label=="string"?t.label:(s=t.label)==null?void 0:s.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,K.isIRange(t.range)?(this.editStart=new Jt(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Jt(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Jt(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||K.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Jt(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Jt(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Jt(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||K.spansMultipleLines(t.range.insert)||K.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof n.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),i=new To(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{Hc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const Ab=class Ab{constructor(e=2,t=new Set,i=new Set,n=new Map,s=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=n,this.showDeprecated=s}};Ab.default=new Ab;let Np=Ab;class Lj{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function ak(o,e,t,i=Np.default,n={triggerKind:0},s=Vi.None){const r=new To;t=t.clone();const a=e.getWordAtPosition(t),c=a?new K(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):K.fromPositions(t),u={replace:c,insert:c.setEndPosition(t.lineNumber,t.column)},f=[],g=new dt,p=[];let w=!1;const m=(k,E,P)=>{var U;let A=!1;if(!E)return A;for(const B of E.suggestions)if(!i.kindFilter.has(B.kind)){if(!i.showDeprecated&&((U=B==null?void 0:B.tags)!=null&&U.includes(1)))continue;B.range||(B.range=u),B.sortText||(B.sortText=typeof B.label=="string"?B.label:B.label.label),!w&&B.insertTextRules&&B.insertTextRules&4&&(w=xu.guessNeedsClipboard(B.insertText)),f.push(new kj(t,B,E,k)),A=!0}return mT(E)&&g.add(E),p.push({providerName:k._debugDisplayName??"unknown_provider",elapsedProvider:E.duration??-1,elapsedOverall:P.elapsed()}),A},x=(async()=>{})();for(const k of o.orderedGroups(e)){let E=!1;if(await Promise.all(k.map(async P=>{if(i.providerItemsToReuse.has(P)){const A=i.providerItemsToReuse.get(P);A.forEach(U=>f.push(U)),E=E||A.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const A=new To,U=await P.provideCompletionItems(e,t,n,s);E=m(P,U,A)||E}catch(A){rs(A)}})),E||s.isCancellationRequested)break}return await x,s.isCancellationRequested?(g.dispose(),Promise.reject(new _y)):new Lj(f.sort(Ej(i.snippetSortOrder)),w,{entries:p,elapsed:r.elapsed()},g)}function lk(o,e){if(o.sortTextLow&&e.sortTextLow){if(o.sortTextLow<e.sortTextLow)return-1;if(o.sortTextLow>e.sortTextLow)return 1}return o.textLabel<e.textLabel?-1:o.textLabel>e.textLabel?1:o.completion.kind-e.completion.kind}function Ij(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return lk(o,e)}function Dj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return lk(o,e)}const Qy=new Map;Qy.set(0,Ij);Qy.set(2,Dj);Qy.set(1,lk);function Ej(o){return Qy.get(o)}On.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;vn(Dn.isUri(t)),vn(Jt.isIPosition(i)),vn(typeof n=="string"||!n),vn(typeof s=="number"||!s);const{completionProvider:r}=o.get(ei),a=await o.get(ga).createModelReference(t);try{const c={incomplete:!1,suggestions:[]},u=[],f=a.object.textEditorModel.validatePosition(i),g=await ak(r,a.object.textEditorModel,f,void 0,{triggerCharacter:n??void 0,triggerKind:n?1:0});for(const p of g.items)u.length<(s??0)&&u.push(p.resolve(Vi.None)),c.incomplete=c.incomplete||p.container.incomplete,c.suggestions.push(p.completion);try{return await Promise.all(u),c}finally{setTimeout(()=>g.disposable.dispose(),100)}}finally{a.dispose()}});function Tj(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class Ph{static isAllOff(e){return e.other==="off"&&e.comments==="off"&&e.strings==="off"}static isAllOn(e){return e.other==="on"&&e.comments==="on"&&e.strings==="on"}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}function ZI(o,e=gy){return m2(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var Pj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Mj=function(o,e){return function(t,i){e(t,i,o)}};class XI{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(i!==void 0)return i}}}class YI{constructor(e,t,i,n){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=n}resolve(e){const{name:t}=e;if(t==="SELECTION"||t==="TM_SELECTED_TEXT"){let i=this._model.getValueInRange(this._selection)||void 0,n=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const s=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);s&&(i=s.value,n=s.multiline)}if(i&&n&&e.snippet){const s=this._model.getLineContent(this._selection.startLineNumber),r=Us(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(u=>u===e?!1:(u instanceof ko&&(a=Us(Ly(u.value).pop())),!0));const c=m_(a,r);i=i.replace(/(\r\n|\r|\n)(.*)/g,(u,f,g)=>`${f}${a.substr(c)}${g}`)}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){const i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{if(t==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(t==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(t==="CURSOR_INDEX")return String(this._selectionIdx);if(t==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}class QI{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return jg(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=jg(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return v2(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(n0(this._model.uri));if(t==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(t==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}class JI{constructor(e,t,i,n){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=n}resolve(e){if(e.name!=="CLIPBOARD")return;const t=this._readClipboardText();if(t){if(this._spread){const i=t.split(/\r\n|\n|\r/).filter(n=>!b2(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let Hv=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),n=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(n){if(t==="LINE_COMMENT")return n.lineCommentToken||void 0;if(t==="BLOCK_COMMENT_START")return n.blockCommentStartToken||void 0;if(t==="BLOCK_COMMENT_END")return n.blockCommentEndToken||void 0}}};Hv=Pj([Mj(2,Is)],Hv);const xa=class xa{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if(t==="CURRENT_YEAR")return String(this._date.getFullYear());if(t==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(t==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(t==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(t==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(t==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(t==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(t==="CURRENT_DAY_NAME")return xa.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return xa.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return xa.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return xa.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3));if(t==="CURRENT_TIMEZONE_OFFSET"){const i=this._date.getTimezoneOffset(),n=i>0?"-":"+",s=Math.trunc(Math.abs(i/60)),r=s<10?"0"+s:s,a=Math.abs(i)-s*60,c=a<10?"0"+a:a;return n+r+":"+c}}};xa.dayNames=[C("Sunday","Sunday"),C("Monday","Monday"),C("Tuesday","Tuesday"),C("Wednesday","Wednesday"),C("Thursday","Thursday"),C("Friday","Friday"),C("Saturday","Saturday")],xa.dayNamesShort=[C("SundayShort","Sun"),C("MondayShort","Mon"),C("TuesdayShort","Tue"),C("WednesdayShort","Wed"),C("ThursdayShort","Thu"),C("FridayShort","Fri"),C("SaturdayShort","Sat")],xa.monthNames=[C("January","January"),C("February","February"),C("March","March"),C("April","April"),C("May","May"),C("June","June"),C("July","July"),C("August","August"),C("September","September"),C("October","October"),C("November","November"),C("December","December")],xa.monthNamesShort=[C("JanuaryShort","Jan"),C("FebruaryShort","Feb"),C("MarchShort","Mar"),C("AprilShort","Apr"),C("MayShort","May"),C("JuneShort","Jun"),C("JulyShort","Jul"),C("AugustShort","Aug"),C("SeptemberShort","Sep"),C("OctoberShort","Oct"),C("NovemberShort","Nov"),C("DecemberShort","Dec")];let Wv=xa;class eD{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=y2(this._workspaceService.getWorkspace());if(!w2(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(mL(e))return jg(e.uri.path);let t=jg(e.configPath.path);return t.endsWith(vL)&&(t=t.substr(0,t.length-vL.length-1)),t}_resoveWorkspacePath(e){if(mL(e))return ZI(e.uri.fsPath);const t=jg(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?ZI(i):"/"}}class tD{resolve(e){const{name:t}=e;if(t==="RANDOM")return Math.random().toString().slice(-6);if(t==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(t==="UUID")return Vy()}}var Rj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Nj=function(o,e){return function(t,i){e(t,i,o)}},qr;const vr=class vr{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=bL(t.placeholders,ar.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations(t=>{for(const i of this._snippet.placeholders){const n=this._snippet.offset(i),s=this._snippet.fullLen(i),r=K.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?vr._decor.inactiveFinal:vr._decor.inactive,c=t.addDecoration(r,a);this._placeholderDecorations.set(i,c)}})}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const n=[];for(const s of this._placeholderGroups[this._placeholderGroupsIdx])if(s.transform){const r=this._placeholderDecorations.get(s),a=this._editor.getModel().getDecorationRange(r),c=this._editor.getModel().getValueInRange(a),u=s.transform.resolve(c).split(/\r\n|\r|\n/);for(let f=1;f<u.length;f++)u[f]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+u[f]);n.push(Qn.replace(a,u.join(this._editor.getModel().getEOL())))}n.length>0&&this._editor.executeEdits("snippet.placeholderTransform",n)}let t=!1;e===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,t=!0):e===!1&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(n=>{const s=new Set,r=[];for(const a of this._placeholderGroups[this._placeholderGroupsIdx]){const c=this._placeholderDecorations.get(a),u=this._editor.getModel().getDecorationRange(c);r.push(new _i(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(c,a.isFinalTabstop?vr._decor.activeFinal:vr._decor.active),s.add(a);for(const f of this._snippet.enclosingPlaceholders(a)){const g=this._placeholderDecorations.get(f);n.changeDecorationOptions(g,f.isFinalTabstop?vr._decor.activeFinal:vr._decor.active),s.add(f)}}for(const[a,c]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(c,a.isFinalTabstop?vr._decor.inactiveFinal:vr._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof ar){const i=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(i).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const n of t){if(n.isFinalTabstop)break;i||(i=[],e.set(n.index,i));const s=this._placeholderDecorations.get(n),r=this._editor.getModel().getDecorationRange(s);if(!r){e.delete(n.index);break}i.push(r)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(e!=null&&e.choice))return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);if(i)return{range:i,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof Zf,!e)),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const s=e.shift();console.assert(s._offset!==-1),console.assert(!s._placeholderDecorations);const r=s._snippet.placeholderInfo.last.index;for(const c of s._snippet.placeholderInfo.all)c.isFinalTabstop?c.index=n.index+(r+1)/this._nestingLevel:c.index=n.index+c.index/this._nestingLevel;this._snippet.replace(n,s._snippet.children);const a=this._placeholderDecorations.get(n);i.removeDecoration(a),this._placeholderDecorations.delete(n);for(const c of s._snippet.placeholders){const u=s._snippet.offset(c),f=s._snippet.fullLen(c),g=K.fromPositions(t.getPositionAt(s._offset+u),t.getPositionAt(s._offset+u+f)),p=i.addDecoration(g,vr._decor.inactive);this._placeholderDecorations.set(c,p)}}this._placeholderGroups=bL(this._snippet.placeholders,ar.compareByIndex)})}};vr._decor={active:tn.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:tn.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:tn.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:tn.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let Bv=vr;const iD={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let zv=qr=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=Us(r,0,t.column-1);let c;return n.walk(u=>{if(!(u instanceof ko)||u.parent instanceof Zf||s&&!s.has(u))return!0;const f=u.value.split(/\r\n|\r|\n/);if(i){const p=n.offset(u);if(p===0)f[0]=e.normalizeIndentation(f[0]);else{c=c??n.toString();const w=c.charCodeAt(p-1);(w===10||w===13)&&(f[0]=e.normalizeIndentation(a+f[0]))}for(let w=1;w<f.length;w++)f[w]=e.normalizeIndentation(a+f[w])}const g=f.join(e.getEOL());return g!==u.value&&(u.parent.replace(u,[new ko(g)]),c=void 0),!0}),a}static adjustSelection(e,t,i,n){if(i!==0||n!==0){const{positionLineNumber:s,positionColumn:r}=t,a=r-i,c=r+n,u=e.validateRange({startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:c});t=_i.createWithDirection(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,n,s,r,a,c,u){const f=[],g=[];if(!e.hasModel())return{edits:f,snippets:g};const p=e.getModel(),w=e.invokeWithinContext(U=>U.get(df)),m=e.invokeWithinContext(U=>new QI(U.get(pp),p)),x=()=>a,k=p.getValueInRange(qr.adjustSelection(p,e.getSelection(),i,0)),E=p.getValueInRange(qr.adjustSelection(p,e.getSelection(),0,n)),P=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),A=e.getSelections().map((U,B)=>({selection:U,idx:B})).sort((U,B)=>K.compareRangesUsingStarts(U.selection,B.selection));for(const{selection:U,idx:B}of A){let ne=qr.adjustSelection(p,U,i,0),ie=qr.adjustSelection(p,U,0,n);k!==p.getValueInRange(ne)&&(ne=U),E!==p.getValueInRange(ie)&&(ie=U);const pe=U.setStartPosition(ne.startLineNumber,ne.startColumn).setEndPosition(ie.endLineNumber,ie.endColumn),_e=new xu().parse(t,!0,s),Ke=pe.getStartPosition(),Re=qr.adjustWhitespace(p,Ke,r||B>0&&P!==p.getLineFirstNonWhitespaceColumn(U.positionLineNumber),_e);_e.resolveVariables(new XI([m,new JI(x,B,A.length,e.getOption(79)==="spread"),new YI(p,U,B,c),new Hv(p,U,u),new Wv,new eD(w),new tD])),f[B]=Qn.replace(pe,_e.toString()),f[B].identifier={major:B,minor:0},f[B]._isTracked=!0,g[B]=new Bv(e,_e,Re)}return{edits:f,snippets:g}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,r,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const c=[],u=e.getModel(),f=new xu,g=new k_,p=new XI([e.invokeWithinContext(m=>new QI(m.get(pp),u)),new JI(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new YI(u,e.getSelection(),0,r),new Hv(u,e.getSelection(),a),new Wv,new eD(e.invokeWithinContext(m=>m.get(df))),new tD]);t=t.sort((m,x)=>K.compareRangesUsingStarts(m.range,x.range));let w=0;for(let m=0;m<t.length;m++){const{range:x,template:k}=t[m];if(m>0){const B=t[m-1].range,ne=K.fromPositions(B.getEndPosition(),x.getStartPosition()),ie=new ko(u.getValueInRange(ne));g.appendChild(ie),w+=ie.value.length}const E=f.parseFragment(k,g);qr.adjustWhitespace(u,x.getStartPosition(),!0,g,new Set(E)),g.resolveVariables(p);const P=g.toString(),A=P.slice(w);w=P.length;const U=Qn.replace(x,A);U.identifier={major:m,minor:0},U._isTracked=!0,c.push(U)}return f.ensureFinalTabstop(g,i,!0),{edits:c,snippets:[new Bv(e,g,"")]}}constructor(e,t,i=iD,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){to(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}=typeof this._template=="string"?qr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):qr.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,i=>{const n=i.filter(s=>!!s.identifier);for(let s=0;s<t.length;s++)t[s].initialize(n[s].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):n.map(s=>_i.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=iD){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=qr.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,s=>{const r=s.filter(c=>!!c.identifier);for(let c=0;c<n.length;c++)n[c].initialize(r[c].textChange);const a=n[0].isTrivialSnippet;if(!a){for(const c of this._snippets)c.merge(n);console.assert(n.length===0)}return this._snippets[0].hasPlaceholder&&!a?this._move(void 0):r.map(c=>_i.fromPositions(c.range.getEndPosition()))})}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const n=i.move(e);t.push(...n)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length<this._snippets.length)return!1;const t=new Map;for(const i of this._snippets){const n=i.computePossibleSelections();if(t.size===0)for(const[s,r]of n){r.sort(K.compareRangesUsingStarts);for(const a of e)if(r[0].containsRange(a)){t.set(s,[]);break}}if(t.size===0)return!1;t.forEach((s,r)=>{s.push(...n.get(r))})}e.sort(K.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(K.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};zv=qr=Rj([Nj(3,Is)],zv);var Aj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},um=function(o,e){return function(t,i){e(t,i,o)}},yh;const nD={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Ma;let ro=(Ma=class{static get(e){return e.getContribution(yh.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new dt,this._modelVersionId=-1,this._inSnippet=yh.InSnippetMode.bindTo(n),this._hasNextTabstop=yh.HasNextTabstop.bindTo(n),this._hasPrevTabstop=yh.HasPrevTabstop.bindTo(n)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(e=this._session)==null||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,typeof t>"u"?nD:{...nD,...t})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}}_doInsert(e,t){var i;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!="string"&&this.cancel(),this._session?(vn(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new zv(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),(i=this._session)!=null&&i.hasChoice){const n={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(f,g)=>{if(!this._session||f!==this._editor.getModel()||!Jt.equals(this._editor.getPosition(),g))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const w=f.getValueInRange(p.range),m=!!p.choice.options.find(k=>k.value===w),x=[];for(let k=0;k<p.choice.options.length;k++){const E=p.choice.options[k];x.push({kind:13,label:E.value,insertText:E.value,sortText:"a".repeat(k+1),range:p.range,filterText:m?`${w}_${E.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:C("next","Go to next placeholder...")}})}return{suggestions:x}}},s=this._editor.getModel();let r,a=!1;const c=()=>{r==null||r.dispose(),a=!1},u=()=>{a||(r=this._languageFeaturesService.completionProvider.register({language:s.getLanguageId(),pattern:s.uri.fsPath,scheme:s.uri.scheme,exclusive:!0},n),this._snippetListener.add(r),a=!0)};this._choiceCompletions={provider:n,enable:u,disable:c}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(n=>n.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var t;if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:e}=this._session;if(!e||!this._choiceCompletions){(t=this._choiceCompletions)==null||t.disable(),this._currentChoice=void 0;return}this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{Tj(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,(t=this._session)==null||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;(e=this._session)==null||e.prev(),this._updateState()}next(){var e;(e=this._session)==null||e.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}},yh=Ma,Ma.ID="snippetController2",Ma.InSnippetMode=new dn("inSnippetMode",!1,C("inSnippetMode","Whether the editor in current in snippet mode")),Ma.HasNextTabstop=new dn("hasNextTabstop",!1,C("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Ma.HasPrevTabstop=new dn("hasPrevTabstop",!1,C("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Ma);ro=yh=Aj([um(1,Hu),um(2,ei),um(3,mn),um(4,Is)],ro);Gi(ro.ID,ro,4);const Jy=bo.bindToContribution(ro.get);ii(new Jy({id:"jumpToNextSnippetPlaceholder",precondition:xe.and(ro.InSnippetMode,ro.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:F.textInputFocus,primary:2}}));ii(new Jy({id:"jumpToPrevSnippetPlaceholder",precondition:xe.and(ro.InSnippetMode,ro.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:F.textInputFocus,primary:1026}}));ii(new Jy({id:"leaveSnippet",precondition:ro.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:F.textInputFocus,primary:9,secondary:[1033]}}));ii(new Jy({id:"acceptSnippet",precondition:ro.InSnippetMode,handler:o=>o.finish()}));var Oj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Zw=function(o,e){return function(t,i){e(t,i,o)}};let QC=class extends ft{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,r,a,c,u,f,g,p){super(),this.textModel=e,this.selectedSuggestItem=t,this._textModelVersionId=i,this._positions=n,this._debounceValue=s,this._suggestPreviewEnabled=r,this._suggestPreviewMode=a,this._inlineSuggestMode=c,this._enabled=u,this._instantiationService=f,this._commandService=g,this._languageConfigurationService=p,this._source=this._register(this._instantiationService.createInstance(YC,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=$o(this,!1),this._forceUpdateExplicitlySignal=l0(this),this._selectedInlineCompletionId=$o(this,void 0),this._primaryPosition=xn(this,m=>this._positions.read(m)[0]??new Jt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([tl.Redo,tl.Undo,tl.AcceptWord]),this._fetchInlineCompletionsPromise=vT({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:gl.Automatic}),handleChange:(m,x)=>(m.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(m.change))?x.preserveCurrentCompletion=!0:m.didChange(this._forceUpdateExplicitlySignal)&&(x.inlineCompletionTriggerKind=gl.Explicit),!0)},(m,x)=>{if(this._forceUpdateExplicitlySignal.read(m),!(this._enabled.read(m)&&this.selectedSuggestItem.read(m)||this._isActive.read(m))){this._source.cancelUpdate();return}this._textModelVersionId.read(m);const E=this._source.suggestWidgetInlineCompletions.get(),P=this.selectedSuggestItem.read(m);if(E&&!P){const ie=this._source.inlineCompletions.get();Fu(pe=>{(!ie||E.request.versionId>ie.request.versionId)&&this._source.inlineCompletions.set(E.clone(),pe),this._source.clearSuggestWidgetInlineCompletions(pe)})}const A=this._primaryPosition.read(m),U={triggerKind:x.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},B=this.selectedInlineCompletion.get(),ne=x.preserveCurrentCompletion||B!=null&&B.forwardStable?B:void 0;return this._source.fetch(A,U,ne)}),this._filteredInlineCompletionItems=al({owner:this,equalsFn:LS()},m=>{const x=this._source.inlineCompletions.read(m);if(!x)return[];const k=this._primaryPosition.read(m);return x.inlineCompletions.filter(P=>P.isVisible(this.textModel,k,m))}),this.selectedInlineCompletionIndex=xn(this,m=>{const x=this._selectedInlineCompletionId.read(m),k=this._filteredInlineCompletionItems.read(m),E=this._selectedInlineCompletionId===void 0?-1:k.findIndex(P=>P.semanticId===x);return E===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):E}),this.selectedInlineCompletion=xn(this,m=>{const x=this._filteredInlineCompletionItems.read(m),k=this.selectedInlineCompletionIndex.read(m);return x[k]}),this.activeCommands=al({owner:this,equalsFn:LS()},m=>{var x;return((x=this.selectedInlineCompletion.read(m))==null?void 0:x.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,m=>m==null?void 0:m.request.context.triggerKind),this.inlineCompletionsCount=xn(this,m=>{if(this.lastTriggerKind.read(m)===gl.Explicit)return this._filteredInlineCompletionItems.read(m).length}),this.state=al({owner:this,equalsFn:(m,x)=>!m||!x?m===x:WI(m.ghostTexts,x.ghostTexts)&&m.inlineCompletion===x.inlineCompletion&&m.suggestItem===x.suggestItem},m=>{const x=this.textModel,k=this.selectedSuggestItem.read(m);if(k){const E=Id(k.toSingleTextEdit(),x),P=this._computeAugmentation(E,m);if(!this._suggestPreviewEnabled.read(m)&&!P)return;const U=(P==null?void 0:P.edit)??E,B=P?P.edit.text.length-E.text.length:0,ne=this._suggestPreviewMode.read(m),ie=this._positions.read(m),pe=[U,...Xw(this.textModel,ie,U)],_e=pe.map((Re,nt)=>$I(Re,x,ne,ie[nt],B)).filter(Im),Ke=_e[0]??new Rp(U.range.endLineNumber,[]);return{edits:pe,primaryGhostText:Ke,ghostTexts:_e,inlineCompletion:P==null?void 0:P.completion,suggestItem:k}}else{if(!this._isActive.read(m))return;const E=this.selectedInlineCompletion.read(m);if(!E)return;const P=E.toSingleTextEdit(m),A=this._inlineSuggestMode.read(m),U=this._positions.read(m),B=[P,...Xw(this.textModel,U,P)],ne=B.map((ie,pe)=>$I(ie,x,A,U[pe],0)).filter(Im);return ne[0]?{edits:B,primaryGhostText:ne[0],ghostTexts:ne,inlineCompletion:E,suggestItem:void 0}:void 0}}),this.ghostTexts=al({owner:this,equalsFn:WI},m=>{const x=this.state.read(m);if(x)return x.ghostTexts}),this.primaryGhostText=al({owner:this,equalsFn:WR},m=>{const x=this.state.read(m);if(x)return x==null?void 0:x.primaryGhostText}),this._register(bT(this._fetchInlineCompletionsPromise));let w;this._register(Kn(m=>{var E,P;const x=this.state.read(m),k=x==null?void 0:x.inlineCompletion;if((k==null?void 0:k.semanticId)!==(w==null?void 0:w.semanticId)&&(w=k,k)){const A=k.inlineCompletion,U=A.source;(P=(E=U.provider).handleItemDidShow)==null||P.call(E,U.inlineCompletions,A.sourceInlineCompletion,A.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?tl.Undo:e!=null&&e.isRedoing?tl.Redo:this.isAcceptingPartially?tl.AcceptWord:tl.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){sv(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){sv(e,t=>{this._isActive.set(!1,t),this._source.clear(t)})}_computeAugmentation(e,t){const i=this.textModel,n=this._source.suggestWidgetInlineCompletions.read(t),s=n?n.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(Im);return S2(s,a=>{let c=a.toSingleTextEdit(t);return c=Id(c,i,K.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),jR(c,e)?{completion:a,edit:c}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){var n;if(e.getModel()!==this.textModel)throw new vf;const t=this.state.get();if(!t||t.primaryGhostText.isEmpty()||!t.inlineCompletion)return;const i=t.inlineCompletion.toInlineCompletion(void 0);if(i.command&&i.source.addRef(),e.pushUndoStop(),i.snippetInfo)e.executeEdits("inlineSuggestion.accept",[Qn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=ro.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=sD(s).map(a=>_i.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>Qn.replace(a.range,a.text)),...i.additionalTextEdits]),e.setSelections(r,"inlineCompletionAccept")}this.stop(),i.command&&(await this._commandService.executeCommand(i.command.id,...i.command.arguments||[]).then(void 0,rs),i.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,(t,i)=>{const n=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),s=this._languageConfigurationService.getLanguageConfiguration(n),r=new RegExp(s.wordDefinition.source,s.wordDefinition.flags.replace("g","")),a=i.match(r);let c=0;a&&a.index!==void 0?a.index===0?c=a[0].length:c=a.index:c=i.length;const f=/\s+/g.exec(i);return f&&f.index!==void 0&&f.index+f[0].length<c&&(c=f.index+f[0].length),c},0)}async acceptNextLine(e){await this._acceptNext(e,(t,i)=>{const n=i.match(/\n/);return n&&n.index!==void 0?n.index+1:i.length},1)}async _acceptNext(e,t,i){if(e.getModel()!==this.textModel)throw new vf;const n=this.state.get();if(!n||n.primaryGhostText.isEmpty()||!n.inlineCompletion)return;const s=n.primaryGhostText,r=n.inlineCompletion.toInlineCompletion(void 0);if(r.snippetInfo||r.filterText!==r.insertText){await this.accept(e);return}const a=s.parts[0],c=new Jt(s.lineNumber,a.column),u=a.text,f=t(c,u);if(f===u.length&&s.parts.length===1){this.accept(e);return}const g=u.substring(0,f),p=this._positions.get(),w=p[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const m=K.fromPositions(w,c),x=e.getModel().getValueInRange(m)+g,k=new wl(m,x),E=[k,...Xw(this.textModel,p,k)],P=sD(E).map(A=>_i.fromPositions(A));e.executeEdits("inlineSuggestion.accept",E.map(A=>Qn.replace(A.range,A.text))),e.setSelections(P,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const m=K.fromPositions(r.range.getStartPosition(),nv.ofText(g).addToPosition(c)),x=e.getModel().getValueInRange(m,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,x.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=Id(e.toSingleTextEdit(),this.textModel),i=this._computeAugmentation(t,void 0);if(!i)return;const n=i.completion.inlineCompletion;(r=(s=n.source.provider).handlePartialAccept)==null||r.call(s,n.source.inlineCompletions,n.sourceInlineCompletion,t.text.length,{kind:2})}};QC=Oj([Zw(9,Ti),Zw(10,Ls),Zw(11,Is)],QC);var tl;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(tl||(tl={}));function Xw(o,e,t){if(e.length===1)return[];const i=e[0],n=e.slice(1),s=t.range.getStartPosition(),r=t.range.getEndPosition(),a=o.getValueInRange(K.fromPositions(i,r)),c=BI(i,s);if(c.lineNumber<1)return Pn(new vf(`positionWithinTextEdit line number should be bigger than 0.
|
|
36
|
+
Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const u=Fj(t.text,c);return n.map(f=>{const g=lj(BI(f,s),r),p=o.getValueInRange(K.fromPositions(f,g)),w=m_(a,p),m=K.fromPositions(f,f.delta(0,w));return new wl(m,u)})}function Fj(o,e){let t="";const i=x2(o);for(let n=e.lineNumber-1;n<i.length;n++)t+=i[n].substring(n===e.lineNumber-1?e.column-1:0);return t}function sD(o){const e=C2.createSortPermutation(o,p_(s=>s.range,K.compareRangesUsingStarts)),i=new dT(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var Hj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},oD=function(o,e){return function(t,i){e(t,i,o)}},Pg;class ck{constructor(e){this.name=e}select(e,t,i){if(i.length===0)return 0;const n=i[0].score[0];for(let s=0;s<i.length;s++){const{score:r,completion:a}=i[s];if(r[0]!==n)break;if(a.preselect)return s}return 0}}class rD extends ck{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class Wj extends ck{constructor(){super("recentlyUsed"),this._cache=new d_(300,.66),this._seq=0}memorize(e,t,i){const n=`${e.getLanguageId()}/${i.textLabel}`;this._cache.set(n,{touch:this._seq++,type:i.completion.kind,insertText:i.completion.insertText})}select(e,t,i){if(i.length===0)return 0;const n=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(n))return super.select(e,t,i);const s=i[0].score[0];let r=-1,a=-1,c=-1;for(let u=0;u<i.length&&i[u].score[0]===s;u++){const f=`${e.getLanguageId()}/${i[u].textLabel}`,g=this._cache.peek(f);if(g&&g.touch>c&&g.type===i[u].completion.kind&&g.insertText===i[u].completion.insertText&&(c=g.touch,a=u),i[u].completion.preselect&&r===-1)return r=u}return a!==-1?a:r!==-1?r:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,n]of e)n.touch=t,n.type=typeof n.type=="number"?n.type:c0.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class Bj extends ck{constructor(){super("recentlyUsedByPrefix"),this._trie=k2.forStrings(),this._seq=0}memorize(e,t,i){const{word:n}=e.getWordUntilPosition(t),s=`${e.getLanguageId()}/${n}`;this._trie.set(s,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:n}=e.getWordUntilPosition(t);if(!n)return super.select(e,t,i);const s=`${e.getLanguageId()}/${n}`;let r=this._trie.get(s);if(r||(r=this._trie.findSubstr(s)),r)for(let a=0;a<i.length;a++){const{kind:c,insertText:u}=i[a].completion;if(c===r.type&&u===r.insertText)return a}return super.select(e,t,i)}toJSON(){const e=[];return this._trie.forEach((t,i)=>e.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:c0.fromString(i.type),this._trie.set(t,i)}}}var wc;let JC=(wc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new dt,this._persistSoon=new bs(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===Jx.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){var n;const i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(((n=this._strategy)==null?void 0:n.name)!==i){this._saveState();const s=Pg._strategyCtors.get(i)||rD;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${Pg._storagePrefix}/${i}`,a);c&&this._strategy.fromJSON(JSON.parse(c))}catch{}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${Pg._storagePrefix}/${this._strategy.name}`,i,t,1)}}},Pg=wc,wc._strategyCtors=new Map([["recentlyUsedByPrefix",Bj],["recentlyUsed",Wj],["first",rD]]),wc._storagePrefix="suggest/memories",wc);JC=Pg=Hj([oD(0,Wc),oD(1,$n)],JC);const ew=Tl("ISuggestMemories");Pl(ew,JC,1);var zj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vj=function(o,e){return function(t,i){e(t,i,o)}},e1,Kd;let Vv=(Kd=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=e1.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(i=>i.hasChanged(124)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),(e=this._selectionListener)==null||e.dispose(),this._ckAtEnd.reset()}_update(){const e=this._editor.getOption(124)==="on";if(this._enabled!==e)if(this._enabled=e,this._enabled){const t=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const i=this._editor.getModel(),n=this._editor.getSelection(),s=i.getWordAtPosition(n.getStartPosition());if(!s){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(s.endColumn===n.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}},e1=Kd,Kd.AtEnd=new dn("atEndOfWord",!1),Kd);Vv=e1=zj([Vj(1,mn)],Vv);var jj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$j=function(o,e){return function(t,i){e(t,i,o)}},Mg,Zd;let Nf=(Zd=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=Mg.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),(e=this._listener)==null||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(e.items.length===0){this.reset();return}if(Mg._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,i){let n=i;for(let s=t.items.length;s>0&&(n=(n+t.items.length+(e?1:-1))%t.items.length,!(n===i||!t.items[n].completion.additionalTextEdits));s--);return n}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=Mg._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},Mg=Zd,Zd.OtherSuggestions=new dn("hasOtherSuggestions",!1),Zd);Nf=Mg=jj([$j(1,mn)],Nf);class Uj{constructor(e,t,i,n){this._disposables=new dt,this._disposables.add(i.onDidSuggest(s=>{s.completionModel.items.length===0&&this.reset()})),this._disposables.add(i.onDidCancel(s=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(s=>{if(this._active&&!t.isFrozen()&&i.state!==0){const r=s.charCodeAt(s.length-1);this._active.acceptCharacters.has(r)&&e.getOption(0)&&n(this._active.item)}}))}_onItem(e){if(!e||!jo(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new iv;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}const tr=class tr{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>tr._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>tr._bracketsLeftYield(a,0,e,n,r,s))}return i}static _bracketsRightYield(e,t,i,n,s){const r=new Map,a=Date.now();for(;;){if(t>=tr._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>tr._maxDuration){setTimeout(()=>tr._bracketsRightYield(e,t+1,i,n,s));break}if(c.bracketInfo.isOpeningBracket){const f=c.bracketInfo.bracketText,g=r.has(f)?r.get(f):0;r.set(f,g+1)}else{const f=c.bracketInfo.getOpeningBrackets()[0].bracketText;let g=r.has(f)?r.get(f):0;if(g-=1,r.set(f,Math.max(0,g)),g<0){let p=s.get(f);p||(p=new yT,s.set(f,p)),p.push(c.range)}}n=c.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,n,s,r){const a=new Map,c=Date.now();for(;;){if(t>=tr._maxRounds&&s.size===0){e();break}if(!n){e();break}const u=i.bracketPairs.findPrevBracket(n);if(!u){e();break}if(Date.now()-c>tr._maxDuration){setTimeout(()=>tr._bracketsLeftYield(e,t+1,i,n,s,r));break}if(u.bracketInfo.isOpeningBracket){const g=u.bracketInfo.bracketText;let p=a.has(g)?a.get(g):0;if(p-=1,a.set(g,Math.max(0,p)),p<0){const w=s.get(g);if(w){const m=w.shift();w.size===0&&s.delete(g);const x=K.fromPositions(u.range.getEndPosition(),m.getStartPosition()),k=K.fromPositions(u.range.getStartPosition(),m.getEndPosition());r.push({range:x}),r.push({range:k}),tr._addBracketLeading(i,k,r)}}}else{const g=u.bracketInfo.getOpeningBrackets()[0].bracketText,p=a.has(g)?a.get(g):0;a.set(g,p+1)}n=u.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const n=t.startLineNumber,s=e.getLineFirstNonWhitespaceColumn(n);s!==0&&s!==t.startColumn&&(i.push({range:K.fromPositions(new Jt(n,s),t.getEndPosition())}),i.push({range:K.fromPositions(new Jt(n,1),t.getEndPosition())}));const r=n-1;if(r>0){const a=e.getLineFirstNonWhitespaceColumn(r);a===t.startColumn&&a!==e.getLineLastNonWhitespaceColumn(r)&&(i.push({range:K.fromPositions(new Jt(r,a),t.getEndPosition())}),i.push({range:K.fromPositions(new Jt(r,1),t.getEndPosition())}))}}};tr._maxDuration=30,tr._maxRounds=2;let jv=tr;const ka=class ka{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return ka.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return ka.None;const[s]=await new jv().provideSelectionRanges(i,[n]);if(s.length===0)return ka.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return ka.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends ka{distance(c,u){if(!n.equals(t.getPosition()))return 0;if(u.kind===17)return 2<<20;const f=typeof u.label=="string"?u.label:u.label.label,g=r[f];if(L2(g))return 2<<20;const p=ov(g,K.fromPositions(c),K.compareRangesUsingStarts),w=p>=0?g[p]:g[Math.max(0,~p-1)];let m=s.length;for(const x of s){if(!K.containsRange(x.range,w))break;m-=1}return m}}}};ka.None=new class extends ka{distance(){return 0}};let $v=ka,aD=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Yl{constructor(e,t,i,n,s,r,a=wT.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=Yl._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=n,this._options=s,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=a,r==="top"?this._snippetCompareFn=Yl._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=Yl._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)}get items(){return this._ensureCachedState(),this._filteredItems}getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();const e=new Set;for(const[t,i]of this.getItemsByProvider())i.length>0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let n="",s="";const r=this._refilterKind===1?this._items:this._filteredItems,a=[],c=!this._options.filterGraceful||r.length>2e3?ST:I2;for(let u=0;u<r.length;u++){const f=r[u];if(f.isInvalid)continue;const g=this._itemsByProvider.get(f.provider);g?g.push(f):this._itemsByProvider.set(f.provider,[f]);const p=f.position.column-f.editStart.column,w=p+i-(f.position.column-this._column);if(n.length!==w&&(n=w===0?"":t.slice(-w),s=n.toLowerCase()),f.word=n,w===0)f.score=_p.Default;else{let m=0;for(;m<p;){const x=n.charCodeAt(m);if(x===32||x===9)m+=1;else break}if(m>=w)f.score=_p.Default;else if(typeof f.completion.filterText=="string"){const x=c(n,s,m,f.completion.filterText,f.filterTextLow,0,this._fuzzyScoreOptions);if(!x)continue;D2(f.completion.filterText,f.textLabel)===0?f.score=x:(f.score=E2(n,s,m,f.textLabel,f.labelLow,0),f.score[0]=x[0])}else{const x=c(n,s,m,f.textLabel,f.labelLow,0,this._fuzzyScoreOptions);if(!x)continue;f.score=x}}f.idx=u,f.distance=this._wordDistance.distance(f.position,f.completion),a.push(f),e.push(f.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?T2(e.length-.85,e,(u,f)=>u-f):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]<t.score[0]?1:e.distance<t.distance?-1:e.distance>t.distance?1:e.idx<t.idx?-1:e.idx>t.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return Yl._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return-1;if(t.completion.kind===27)return 1}return Yl._compareCompletionItems(e,t)}}var qj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vl=function(o,e){return function(t,i){e(t,i,o)}},t1;class Xc{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const n=t.getWordAtPosition(i);return!(!n||n.endColumn!==i.column&&n.startColumn+1!==i.column||!isNaN(Number(n.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}function Gj(o,e,t){if(!e.getContextKeyValue(Eo.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(Eo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function Kj(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(Eo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let Uv=t1=class{constructor(e,t,i,n,s,r,a,c,u){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=s,this._contextKeyService=r,this._configurationService=a,this._languageFeaturesService=c,this._envService=u,this._toDispose=new dt,this._triggerCharacterListener=new dt,this._triggerQuickSuggest=new a_,this._triggerState=void 0,this._completionDisposables=new dt,this._onDidCancel=new zi,this._onDidTrigger=new zi,this._onDidSuggest=new zi,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new _i(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let f=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{f=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{f=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(g=>{f||this._onCursorChange(g)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!f&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){to(this._triggerCharacterListener),to([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(92)||!this._editor.hasModel()||!this._editor.getOption(122))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const n of i.triggerCharacters||[]){let s=e.get(n);s||(s=new Set,e.set(n,s)),s.add(i)}const t=i=>{var r;if(!Kj(this._editor,this._contextKeyService,this._configurationService)||Xc.shouldAutoTrigger(this._editor))return;if(!i){const a=this._editor.getPosition();i=this._editor.getModel().getLineContent(a.lineNumber).substr(0,a.column-1)}let n="";M2(i.charCodeAt(i.length-1))?R2(i.charCodeAt(i.length-2))&&(n=i.substr(i.length-2)):n=i.charAt(i.length-1);const s=e.get(n);if(s){const a=new Map;if(this._completionModel)for(const[c,u]of this._completionModel.getItemsByProvider())s.has(c)||a.set(c,u);this.trigger({auto:!0,triggerKind:1,triggerCharacter:n,retrigger:!!this._completionModel,clipboardText:(r=this._completionModel)==null?void 0:r.clipboardText,completionOptions:{providerFilter:s,providerItemsToReuse:a}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){var t;this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),(t=this._requestToken)==null||t.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!=="keyboard"&&e.source!=="deleteLeft"){this.cancel();return}this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;Ph.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=ro.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!Xc.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),n=this._editor.getOption(90);if(!Ph.isAllOff(n)){if(!Ph.isAllOn(n)){t.tokenization.tokenizeIfCheap(i.lineNumber);const s=t.tokenization.getLineTokens(i.lineNumber),r=s.getStandardTokenType(s.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if(Ph.valueFor(n,r)!=="on")return}Gj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){vn(this._editor.hasModel()),vn(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Xc(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,w,m;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new Xc(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:e.shy??!1,position:this._editor.getPosition()}),this._context=i;let n={triggerKind:e.triggerKind??0};e.triggerCharacter&&(n={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new Ns;const s=this._editor.getOption(113);let r=1;switch(s){case"top":r=0;break;case"bottom":r=2;break}const{itemKind:a,showDeprecated:c}=t1.createSuggestFilter(this._editor),u=new Np(r,((p=e.completionOptions)==null?void 0:p.kindFilter)??a,(w=e.completionOptions)==null?void 0:w.providerFilter,(m=e.completionOptions)==null?void 0:m.providerItemsToReuse,c),f=$v.create(this._editorWorkerService,this._editor),g=ak(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),u,n,this._requestToken.token);Promise.all([g,f]).then(async([x,k])=>{var B;if((B=this._requestToken)==null||B.dispose(),!this._editor.hasModel())return;let E=e==null?void 0:e.clipboardText;if(!E&&x.needsClipboard&&(E=await this._clipboardService.readText()),this._triggerState===void 0)return;const P=this._editor.getModel(),A=new Xc(P,this._editor.getPosition(),e),U={...wT.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Yl(x.items,this._context.column,{leadingLineContent:A.leadingLineContent,characterCountDelta:A.column-this._context.column},k,this._editor.getOption(119),this._editor.getOption(113),U,E),this._completionDisposables.add(x.disposable),this._onNewContext(A),this._reportDurationsTelemetry(x.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const ne of x.items)ne.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${ne.provider._debugDisplayName}`,ne.completion)}).catch(Pn)}_reportDurationsTelemetry(e){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static createSuggestFilter(e){const t=new Set;e.getOption(113)==="none"&&t.add(27);const n=e.getOption(119);return n.showMethods||t.add(0),n.showFunctions||t.add(1),n.showConstructors||t.add(2),n.showFields||t.add(3),n.showVariables||t.add(4),n.showClasses||t.add(5),n.showStructs||t.add(6),n.showInterfaces||t.add(7),n.showModules||t.add(8),n.showProperties||t.add(9),n.showEvents||t.add(10),n.showOperators||t.add(11),n.showUnits||t.add(12),n.showValues||t.add(13),n.showConstants||t.add(14),n.showEnums||t.add(15),n.showEnumMembers||t.add(16),n.showKeywords||t.add(17),n.showWords||t.add(18),n.showColors||t.add(19),n.showFiles||t.add(20),n.showReferences||t.add(21),n.showColors||t.add(22),n.showFolders||t.add(23),n.showTypeParameters||t.add(24),n.showSnippets||t.add(27),n.showUsers||t.add(25),n.showIssues||t.add(26),{itemKind:t,showDeprecated:n.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(Us(e.leadingLineContent)!==Us(this._context.leadingLineContent)){this.cancel();return}if(e.column<this._context.column){e.leadingWord.word?this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0}):this.cancel();return}if(this._completionModel){if(e.leadingWord.word.length!==0&&e.leadingWord.startColumn>this._context.leadingWord.startColumn){if(Xc.shouldAutoTrigger(this._editor)&&this._context){const i=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:i}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){const t=new Map,i=new Set;for(const[n,s]of this._completionModel.getItemsByProvider())s.length>0&&s[0].container.incomplete?i.add(n):t.set(n,s);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){const n=Xc.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(n&&this._context.leadingWord.endColumn<e.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(this._context.triggerOptions.auto){this.cancel();return}else if(this._completionModel.lineContext=t,i=this._completionModel.items.length>0,i&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}}}};Uv=t1=qj([Vl(1,Ml),Vl(2,zf),Vl(3,ha),Vl(4,Hu),Vl(5,mn),Vl(6,$n),Vl(7,ei),Vl(8,P2)],Uv);const Ob=class Ob{constructor(e,t){this._disposables=new dt,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;const i=e.getSelections(),n=i.length;let s=!1;for(let a=0;a<n;a++)if(!i[a].isEmpty()){s=!0;break}if(!s){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];const r=e.getModel();for(let a=0;a<n;a++){const c=i[a];if(r.getValueLengthInRange(c)>Ob._maxSelectionLength)return;this._lastOvertyped[a]={value:r.getValueInRange(c),multiline:c.startLineNumber!==c.endLineNumber}}})),this._disposables.add(t.onDidTrigger(i=>{this._locked=!0})),this._disposables.add(t.onDidCancel(i=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e<this._lastOvertyped.length)return this._lastOvertyped[e]}dispose(){this._disposables.dispose()}};Ob._maxSelectionLength=51200;let i1=Ob;var Zj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Yw=function(o,e){return function(t,i){e(t,i,o)}};let n1=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new dt,this.element=Ft(e,Vt(".suggest-status-bar"));const r=(a=>a instanceof mf?i.createInstance(N2,a,{useComma:!0}):void 0);this._leftActions=new dp(this.element,{actionViewItemProvider:r}),this._rightActions=new dp(this.element,{actionViewItemProvider:r}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const i=[],n=[];for(const[s,r]of e.getActions())s==="left"?i.push(...r):n.push(...r);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(n)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};n1=Zj([Yw(2,Ti),Yw(3,Ou),Yw(4,mn)],n1);var Xj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Yj=function(o,e){return function(t,i){e(t,i,o)}};function dk(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let s1=class{constructor(e,t){this._editor=e,this._onDidClose=new zi,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new zi,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new dt,this._renderDisposeable=new dt,this._borderWidth=1,this._size=new Rn(330,0),this.domNode=Vt(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance($f,{editor:e}),this._body=Vt(".body"),this._scrollbar=new CT(this._body,{alwaysConsumeMouseWheel:!0}),Ft(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=Ft(this._body,Vt(".header")),this._close=Ft(this._header,Vt("span"+bn.asCSSSelector(yi.close))),this._close.title=C("details.close","Close"),this._type=Ft(this._header,Vt("p.type")),this._docs=Ft(this._body,Vt("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),n=e.get(120)||t.fontSize,s=e.get(121)||t.lineHeight,r=t.fontWeight,a=`${n}px`,c=`${s}px`;this.domNode.style.fontSize=a,this.domNode.style.lineHeight=`${s/n}`,this.domNode.style.fontWeight=r,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=c,this._close.style.width=c}getLayoutInfo(){const e=this._editor.getOption(121)||this._editor.getOption(50).lineHeight,t=this._borderWidth,i=t*2;return{lineHeight:e,borderWidth:t,borderHeight:i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=C("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){var s;this._renderDisposeable.clear();let{detail:i,documentation:n}=e.completion;if(t){let r="";r+=`score: ${e.score[0]}
|
|
37
|
+
`,r+=`prefix: ${e.word??"(no prefix)"}
|
|
38
|
+
`,r+=`word: ${e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel}
|
|
39
|
+
`,r+=`distance: ${e.distance} (localityBonus-setting)
|
|
40
|
+
`,r+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}
|
|
41
|
+
`,r+=`commit_chars: ${(s=e.completion.commitCharacters)==null?void 0:s.join("")}
|
|
42
|
+
`,n=new Js().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!dk(e)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),i){const r=i.length>1e5?`${i.substr(0,1e5)}…`:i;this._type.textContent=r,this._type.title=r,Ir(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Ha(this._type),this._type.title="",Ho(this._type),this.domNode.classList.add("no-type");if(Ha(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Ha(this._docs);const r=this._markdownRenderer.render(n);this._docs.appendChild(r.element),this._renderDisposeable.add(r),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=r=>{r.preventDefault(),r.stopPropagation()},this._close.onclick=r=>{r.preventDefault(),r.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new Rn(e,t);Rn.equals(i,this._size)||(this._size=i,A2(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};s1=Xj([Yj(1,Ti)],s1);class Qj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new dt,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new j0,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,n,s=0,r=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,n=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(a=>{if(i&&n){this.widget.layout(a.dimension.width,a.dimension.height);let c=!1;a.west&&(r=n.width-a.dimension.width,c=!0),a.north&&(s=n.height-a.dimension.height,c=!0),c&&this._applyTopLeft({top:i.top+s,left:i.left+r})}a.done&&(i=void 0,n=void 0,s=0,r=0,this._userSize=a.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){const i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,t)}_placeAtAnchor(e,t,i){const n=f_(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new Rn(220,2*s.lineHeight),a=e.top,c=(function(){const B=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),ne=-s.borderWidth+e.left+e.width,ie=new Rn(B,n.height-e.top-s.borderHeight-s.verticalPadding),pe=ie.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:ne,fit:B-t.width,maxSizeTop:ie,maxSizeBottom:pe,minSize:r.with(Math.min(B,r.width))}})(),u=(function(){const B=e.left-s.borderWidth-s.horizontalPadding,ne=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),ie=new Rn(B,n.height-e.top-s.borderHeight-s.verticalPadding),pe=ie.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:ne,fit:B-t.width,maxSizeTop:ie,maxSizeBottom:pe,minSize:r.with(Math.min(B,r.width))}})(),f=(function(){const B=e.left,ne=-s.borderWidth+e.top+e.height,ie=new Rn(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:ne,left:B,fit:ie.height-t.height,maxSizeBottom:ie,maxSizeTop:ie,minSize:r.with(ie.width)}})(),g=[c,u,f],p=g.find(B=>B.fit>=0)??g.sort((B,ne)=>ne.fit-B.fit)[0],w=e.top+e.height-s.borderHeight;let m,x=t.height;const k=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);x>k&&(x=k);let E;i?x<=p.maxSizeTop.height?(m=!0,E=p.maxSizeTop):(m=!1,E=p.maxSizeBottom):x<=p.maxSizeBottom.height?(m=!1,E=p.maxSizeBottom):(m=!0,E=p.maxSizeTop);let{top:P,left:A}=p;!m&&x>e.height&&(P=w-x);const U=this._editor.getDomNode();if(U){const B=U.getBoundingClientRect();P-=B.top,A-=B.left}this._applyTopLeft({left:A,top:P}),this._resizable.enableSashes(!m,p===c,m,p!==c),this._resizable.minSize=p.minSize,this._resizable.maxSize=E,this._resizable.layout(x,Math.min(E.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var Oa;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Oa||(Oa={}));const Jj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function hm(o,e,t,i,n){if(bn.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(Dn.isUri(n))return[];const s=i===Oa.ROOT_FOLDER?["rootfolder-icon"]:i===Oa.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===fo.data)r=rv.parseMetaData(t).get(rv.META_DATA_LABEL);else{const a=t.path.match(Jj);a?(r=fm(a[2].toLowerCase()),a[1]&&s.push(`${fm(a[1].toLowerCase())}-name-dir-icon`)):r=fm(t.authority.toLowerCase())}if(i===Oa.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Oa.FOLDER)s.push(`${r}-name-folder-icon`);else{if(r){if(s.push(`${r}-name-file-icon`),s.push("name-file-icon"),r.length<=255){const c=r.split(".");for(let u=1;u<c.length;u++)s.push(`${c.slice(u).join(".")}-ext-file-icon`)}s.push("ext-file-icon")}const a=e6(o,e,t);a&&s.push(`${fm(a)}-lang-file-icon`)}}return s}function e6(o,e,t){if(!t)return null;let i=null;if(t.scheme===fo.data){const s=rv.parseMetaData(t).get(rv.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==mp?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function fm(o){return o.replace(/[\s]/g,"/")}var t6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qw=function(o,e){return function(t,i){e(t,i,o)}};function $R(o){return`suggest-aria-id:${o}`}const i6=is("suggest-more-info",yi.chevronRight,C("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var ia;const n6=new(ia=class{extract(e,t){if(e.textLabel.match(ia._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(ia._regexStrict))return t[0]=e.completion.detail,!0;if(e.completion.documentation){const i=typeof e.completion.documentation=="string"?e.completion.documentation:e.completion.documentation.value,n=ia._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},ia._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,ia._regexStrict=new RegExp(`^${ia._regexRelaxed.source}$`,"i"),ia);let o1=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new zi,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new dt,i=e;i.classList.add("show-file-icons");const n=Ft(e,Vt(".icon")),s=Ft(n,Vt("span.colorspan")),r=Ft(e,Vt(".contents")),a=Ft(r,Vt(".main")),c=Ft(a,Vt(".icon-label.codicon")),u=Ft(a,Vt("span.left")),f=Ft(a,Vt("span.right")),g=new VE(u,{supportHighlights:!0,supportIcons:!0});t.add(g);const p=Ft(u,Vt("span.signature-label")),w=Ft(u,Vt("span.qualifier-label")),m=Ft(f,Vt("span.details-label")),x=Ft(f,Vt("span.readMore"+bn.asCSSSelector(i6)));return x.title=C("readMore","Read More"),{root:i,left:u,right:f,icon:n,colorspan:s,iconLabel:g,iconContainer:c,parametersLabel:p,qualifierLabel:w,detailsLabel:m,readMore:x,disposables:t,configureFont:()=>{const E=this._editor.getOptions(),P=E.get(50),A=P.getMassagedFontFamily(),U=P.fontFeatureSettings,B=E.get(120)||P.fontSize,ne=E.get(121)||P.lineHeight,ie=P.fontWeight,pe=P.letterSpacing,_e=`${B}px`,Ke=`${ne}px`,Re=`${pe}px`;i.style.fontSize=_e,i.style.fontWeight=ie,i.style.letterSpacing=Re,a.style.fontFamily=A,a.style.fontFeatureSettings=U,a.style.lineHeight=Ke,n.style.height=Ke,n.style.width=Ke,x.style.height=Ke,x.style.width=Ke}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=$R(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:Cy(e.score)},r=[];if(n.kind===19&&n6.extract(e,r))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=r[0];else if(n.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const a=hm(this._modelService,this._languageService,Dn.from({scheme:"fake",path:e.textLabel}),Oa.FILE),c=hm(this._modelService,this._languageService,Dn.from({scheme:"fake",path:n.detail}),Oa.FILE);s.extraClasses=a.length>c.length?a:c}else n.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",s.extraClasses=[hm(this._modelService,this._languageService,Dn.from({scheme:"fake",path:e.textLabel}),Oa.FOLDER),hm(this._modelService,this._languageService,Dn.from({scheme:"fake",path:n.detail}),Oa.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...bn.asClassNameArray(c0.toIcon(n.kind))));n.tags&&n.tags.indexOf(1)>=0&&(s.extraClasses=(s.extraClasses||[]).concat(["deprecated"]),s.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,s),typeof n.label=="string"?(i.parametersLabel.textContent="",i.detailsLabel.textContent=Jw(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Jw(n.label.detail||""),i.detailsLabel.textContent=Jw(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?Ir(i.detailsLabel):Ho(i.detailsLabel),dk(e)?(i.right.classList.add("can-expand-details"),Ir(i.readMore),i.readMore.onmousedown=a=>{a.stopPropagation(),a.preventDefault()},i.readMore.onclick=a=>{a.stopPropagation(),a.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),Ho(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};o1=t6([Qw(1,lo),Qw(2,fa),Qw(3,Hr)],o1);function Jw(o){return o.replace(/\r\n|\r|\n/g,"")}var s6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},gm=function(o,e){return function(t,i){e(t,i,o)}},wh;jt("editorSuggestWidget.background",xT,C("editorSuggestWidgetBackground","Background color of the suggest widget."));jt("editorSuggestWidget.border",O2,C("editorSuggestWidgetBorder","Border color of the suggest widget."));const o6=jt("editorSuggestWidget.foreground",__,C("editorSuggestWidgetForeground","Foreground color of the suggest widget."));jt("editorSuggestWidget.selectedForeground",kT,C("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));jt("editorSuggestWidget.selectedIconForeground",F2,C("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const r6=jt("editorSuggestWidget.selectedBackground",LT,C("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));jt("editorSuggestWidget.highlightForeground",IT,C("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));jt("editorSuggestWidget.focusHighlightForeground",H2,C("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));jt("editorSuggestWidgetStatus.foreground",Wa(o6,.5),C("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class a6{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Fr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(Rn.is(t))return Rn.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var Sc;let r1=(Sc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new qo,this._pendingShowDetails=new qo,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new a_,this._disposables=new dt,this._onDidSelect=new yL,this._onDidFocus=new yL,this._onDidHide=new zi,this._onDidShow=new zi,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new zi,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new j0,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new l6(this,e),this._persistedSize=new a6(t,e);class r{constructor(w,m,x=!1,k=!1){this.persistedSize=w,this.currentSize=m,this.persistHeight=x,this.persistWidth=k}}let a;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),a=new r(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(p=>{var w,m;if(this._resize(p.dimension.width,p.dimension.height),a&&(a.persistHeight=a.persistHeight||!!p.north||!!p.south,a.persistWidth=a.persistWidth||!!p.east||!!p.west),!!p.done){if(a){const{itemHeight:x,defaultSize:k}=this.getLayoutInfo(),E=Math.round(x/2);let{width:P,height:A}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-A)<=E)&&(A=((w=a.persistedSize)==null?void 0:w.height)??k.height),(!a.persistWidth||Math.abs(a.currentSize.width-P)<=E)&&(P=((m=a.persistedSize)==null?void 0:m.width)??k.width),this._persistedSize.store(new Rn(P,A))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=Ft(this.element.domNode,Vt(".message")),this._listElement=Ft(this.element.domNode,Vt(".tree"));const c=this._disposables.add(s.createInstance(s1,this.editor));c.onDidClose(this.toggleDetails,this,this._disposables),this._details=new Qj(c,this.editor);const u=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);u();const f=s.createInstance(o1,this.editor);this._disposables.add(f),this._disposables.add(f.onDidToggleDetails(()=>this.toggleDetails())),this._list=new Xx("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[f],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>C("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let w=p.textLabel;if(typeof p.completion.label!="string"){const{detail:E,description:P}=p.completion.label;E&&P?w=C("label.full","{0} {1}, {2}",w,E,P):E?w=C("label.detail","{0} {1}",w,E):P&&(w=C("label.desc","{0}, {1}",w,P))}if(!p.isResolved||!this._isDetailsVisible())return w;const{documentation:m,detail:x}=p.completion,k=a0("{0}{1}",x||"",m?typeof m=="string"?m:m.value:"");return C("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",w,k)}}}),this._list.style(DT({listInactiveFocusBackground:r6,listInactiveFocusOutline:_u})),this._status=s.createInstance(n1,this.element.domNode,hc);const g=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);g(),this._disposables.add(n.onDidColorThemeChange(p=>this._onThemeChange(p))),this._onThemeChange(n.getColorTheme()),this._disposables.add(this._list.onMouseDown(p=>this._onListMouseDownOrTap(p))),this._disposables.add(this._list.onTap(p=>this._onListMouseDownOrTap(p))),this._disposables.add(this._list.onDidChangeSelection(p=>this._onListSelection(p))),this._disposables.add(this._list.onDidChangeFocus(p=>this._onListFocus(p))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(p=>{p.hasChanged(119)&&(g(),u()),this._completionModel&&(p.hasChanged(50)||p.hasChanged(120)||p.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=vi.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=vi.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=vi.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=vi.HasFocusedSuggestion.bindTo(i),this._disposables.add(yl(this._details.widget.domNode,"keydown",p=>{this._onDetailsKeydown.fire(p)})),this._disposables.add(this.editor.onMouseDown(p=>this._onEditorMouseDown(p)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)==null||e.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){typeof e.element>"u"||typeof e.index>"u"||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=up(e.type)?2:1}_onListFocus(e){var n;if(this._ignoreFocusEvents)return;if(!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const t=e.elements[0],i=e.indexes[0];t!==this._focusedItem&&((n=this._currentSuggestionDetails)==null||n.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(i),this._currentSuggestionDetails=Rs(async s=>{const r=cp(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),a=s.onCancellationRequested(()=>r.dispose());try{return await t.resolve(s)}finally{r.dispose(),a.dispose()}}),this._currentSuggestionDetails.then(()=>{i>=this._list.length||t!==this._list.element(i)||(this._ignoreFocusEvents=!0,this._list.splice(i,1,[t]),this._list.setFocus([i]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:$R(i)}))}).catch(Pn)),this._onDidFocus.fire({item:t,index:i,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",e===4),this.element.domNode.classList.remove("message"),e){case 0:Ho(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=wh.LOADING_MESSAGE,Ho(this._listElement,this._status.element),Ir(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,ff(wh.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=wh.NO_SUGGESTIONS_MESSAGE,Ho(this._listElement,this._status.element),Ir(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,ff(wh.NO_SUGGESTIONS_MESSAGE);break;case 3:Ho(this._messageElement),Ir(this._listElement,this._status.element),this._show();break;case 4:Ho(this._messageElement),Ir(this._listElement,this._status.element),this._show();break;case 5:Ho(this._messageElement),Ir(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=cp(()=>this._setState(1),t)))}showSuggestions(e,t,i,n,s){var c,u;if(this._contentWidget.setPosition(this.editor.getPosition()),(c=this._loadingTimeout)==null||c.dispose(),(u=this._currentSuggestionDetails)==null||u.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}const r=this._completionModel.items.length,a=r===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(r>1),a){this._setState(n?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(s?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=wL(bd(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):(dk(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=wL(bd(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add("shows-details")),this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var i;this._pendingLayout.clear(),this._pendingShowDetails.clear(),(i=this._loadingTimeout)==null||i.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const e=this._persistedSize.restore(),t=Math.ceil(this.getLayoutInfo().itemHeight*4.3);e&&e.height<t&&this._persistedSize.store(e.with(void 0,t))}isFrozen(){return this._state===4}_afterRender(e){if(e===null){this._isDetailsVisible()&&this._details.hide();return}this._state===2||this._state===1||(this._isDetailsVisible()&&!this._details.widget.isEmpty&&this._details.show(),this._positionDetails())}_layout(e){var r,a;if(!this.editor.hasModel()||!this.editor.getDomNode())return;const t=f_(this.element.domNode.ownerDocument.body),i=this.getLayoutInfo();e||(e=i.defaultSize);let n=e.height,s=e.width;if(this._status.element.style.height=`${i.itemHeight}px`,this._state===2||this._state===1)n=i.itemHeight+i.borderHeight,s=i.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new Rn(s,n),this._contentWidget.setPreference(2);else{const c=t.width-i.borderHeight-2*i.horizontalPadding;s>c&&(s=c);const u=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,f=i.statusBarHeight+this._list.contentHeight+i.borderHeight,g=i.itemHeight+i.statusBarHeight,p=po(this.editor.getDomNode()),w=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),m=p.top+w.top+w.height,x=Math.min(t.height-m-i.verticalPadding,f),k=p.top+w.top-i.verticalPadding,E=Math.min(k,f);let P=Math.min(Math.max(E,x)+i.borderHeight,f);n===((r=this._cappedHeight)==null?void 0:r.capped)&&(n=this._cappedHeight.wanted),n<g&&(n=g),n>P&&(n=P),n>x||this._forceRenderingAbove&&k>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),P=E):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),P=x),this.element.preferredSize=new Rn(u,i.defaultSize.height),this.element.maxSize=new Rn(c,P),this.element.minSize=new Rn(220,g),this._cappedHeight=n===f?{wanted:((a=this._cappedHeight)==null?void 0:a.wanted)??e.height,capped:n}:void 0}this._resize(s,n)}_resize(e,t){const{width:i,height:n}=this.element.maxSize;e=Math.min(i,e),t=Math.min(n,t);const{statusBarHeight:s}=this.getLayoutInfo();this._list.layout(t-s,e),this._listElement.style.height=`${t-s}px`,this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((e=this._contentWidget.getPosition())==null?void 0:e.preference[0])===2)}getLayoutInfo(){const e=this.editor.getOption(50),t=W2(this.editor.getOption(121)||e.lineHeight,8,1e3),i=!this.editor.getOption(119).showStatusBar||this._state===2||this._state===1?0:t,n=this._details.widget.borderWidth,s=2*n;return{itemHeight:t,statusBarHeight:i,borderWidth:n,borderHeight:s,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Rn(430,i+12*t+s)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}},wh=Sc,Sc.LOADING_MESSAGE=C("suggestWidget.loading","Loading..."),Sc.NO_SUGGESTIONS_MESSAGE=C("suggestWidget.noSuggestions","No suggestions."),Sc);r1=wh=s6([gm(1,Wc),gm(2,mn),gm(3,Hr),gm(4,Ti)],r1);class l6{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:n}=this._widget.getLayoutInfo();return new Rn(t+2*i+n,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var c6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lh=function(o,e){return function(t,i){e(t,i,o)}},a1;class d6{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=tn.register({description:"suggest-line-suffix",stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){const n=e.getOffsetAt(t),s=e.getPositionAt(n+1);e.changeDecorations(r=>{this._marker&&r.removeDecoration(this._marker),this._marker=r.addDecoration(K.fromPositions(t,s),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}else return this._model.getLineMaxColumn(e.lineNumber)-e.column}}var Xd;let Tr=(Xd=class{static get(e){return e.getContribution(a1.ID)}constructor(e,t,i,n,s,r,a){this._memoryService=t,this._commandService=i,this._contextKeyService=n,this._instantiationService=s,this._logService=r,this._telemetryService=a,this._lineSuffix=new qo,this._toDispose=new dt,this._selectors=new u6(g=>g.priority),this._onWillInsertSuggestItem=new zi,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(Uv,this.editor),this._selectors.register({priority:0,select:(g,p,w)=>this._memoryService.select(g,p,w)});const c=vi.InsertMode.bindTo(n);c.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>c.set(e.getOption(119).insertMode))),this.widget=this._toDispose.add(new Sw(bd(e.getDomNode()),()=>{const g=this._instantiationService.createInstance(r1,this.editor);this._toDispose.add(g),this._toDispose.add(g.onDidSelect(k=>this._insertSuggestion(k,0),this));const p=new Uj(this.editor,g,this.model,k=>this._insertSuggestion(k,2));this._toDispose.add(p);const w=vi.MakesTextEdit.bindTo(this._contextKeyService),m=vi.HasInsertAndReplaceRange.bindTo(this._contextKeyService),x=vi.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Vn(()=>{w.reset(),m.reset(),x.reset()})),this._toDispose.add(g.onDidFocus(({item:k})=>{const E=this.editor.getPosition(),P=k.editStart.column,A=E.column;let U=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!k.completion.additionalTextEdits&&!(k.completion.insertTextRules&4)&&A-P===k.completion.insertText.length&&(U=this.editor.getModel().getValueInRange({startLineNumber:E.lineNumber,startColumn:P,endLineNumber:E.lineNumber,endColumn:A})!==k.completion.insertText),w.set(U),m.set(!Jt.equals(k.editInsertEnd,k.editReplaceEnd)),x.set(!!k.provider.resolveCompletionItem||!!k.completion.documentation||k.completion.detail!==k.completion.label)})),this._toDispose.add(g.onDetailsKeyDown(k=>{if(k.toKeyCodeChord().equals(new SL(!0,!1,!1,!1,33))||Va&&k.toKeyCodeChord().equals(new SL(!1,!1,!1,!0,33))){k.stopPropagation();return}k.toKeyCodeChord().isModifierKey()||this.editor.focus()})),g})),this._overtypingCapturer=this._toDispose.add(new Sw(bd(e.getDomNode()),()=>this._toDispose.add(new i1(this.editor,this.model)))),this._alternatives=this._toDispose.add(new Sw(bd(e.getDomNode()),()=>this._toDispose.add(new Nf(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(Vv,e)),this._toDispose.add(this.model.onDidTrigger(g=>{this.widget.value.showTriggered(g.auto,g.shy?250:50),this._lineSuffix.value=new d6(this.editor.getModel(),g.position)})),this._toDispose.add(this.model.onDidSuggest(g=>{if(g.triggerOptions.shy)return;let p=-1;for(const m of this._selectors.itemsOrderedByPriorityDesc)if(p=m.select(this.editor.getModel(),this.editor.getPosition(),g.completionModel.items),p!==-1)break;if(p===-1&&(p=0),this.model.state===0)return;let w=!1;if(g.triggerOptions.auto){const m=this.editor.getOption(119);m.selectionMode==="never"||m.selectionMode==="always"?w=m.selectionMode==="never":m.selectionMode==="whenTriggerCharacter"?w=g.triggerOptions.triggerKind!==1:m.selectionMode==="whenQuickSuggestion"&&(w=g.triggerOptions.triggerKind===1&&!g.triggerOptions.refilter)}this.widget.value.showSuggestions(g.completionModel,p,g.isFrozen,g.triggerOptions.auto,w)})),this._toDispose.add(this.model.onDidCancel(g=>{g.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const u=vi.AcceptSuggestionsOnEnter.bindTo(n),f=()=>{const g=this.editor.getOption(1);u.set(g==="on"||g==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>f())),f()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const i=ro.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const n=this.editor.getModel(),s=n.getAlternativeVersionId(),{item:r}=e,a=[],c=new Ns;t&1||this.editor.pushUndoStop();const u=this.getOverwriteInfo(r,!!(t&8));this._memoryService.memorize(n,this.editor.getPosition(),r);const f=r.isResolved;let g=-1,p=-1;if(Array.isArray(r.completion.additionalTextEdits)){this.model.cancel();const m=gf.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(x=>{let k=K.lift(x.range);if(k.startLineNumber===r.position.lineNumber&&k.startColumn>r.position.column){const E=this.editor.getPosition().column-r.position.column,P=E,A=K.spansMultipleLines(k)?0:E;k=new K(k.startLineNumber,k.startColumn+P,k.endLineNumber,k.endColumn+A)}return Qn.replaceMove(k,x.text)})),m.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!f){const m=new To;let x;const k=n.onDidChangeContent(U=>{if(U.isFlush){c.cancel(),k.dispose();return}for(const B of U.changes){const ne=K.getEndPosition(B.range);(!x||Jt.isBefore(ne,x))&&(x=ne)}}),E=t;t|=2;let P=!1;const A=this.editor.onWillType(()=>{A.dispose(),P=!0,E&2||this.editor.pushUndoStop()});a.push(r.resolve(c.token).then(()=>{if(!r.completion.additionalTextEdits||c.token.isCancellationRequested)return;if(x&&r.completion.additionalTextEdits.some(B=>Jt.isBefore(x,K.getStartPosition(B.range))))return!1;P&&this.editor.pushUndoStop();const U=gf.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(B=>Qn.replaceMove(K.lift(B.range),B.text))),U.restoreRelativeVerticalPositionOfCursor(this.editor),(P||!(E&2))&&this.editor.pushUndoStop(),!0}).then(U=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",m.elapsed(),U),p=U===!0?1:U===!1?0:-2}).finally(()=>{k.dispose(),A.dispose()}))}let{insertText:w}=r.completion;if(r.completion.insertTextRules&4||(w=xu.escape(w)),this.model.cancel(),i.insert(w,{overwriteBefore:u.overwriteBefore,overwriteAfter:u.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(r.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),r.completion.command)if(r.completion.command.id===qv.id)this.model.trigger({auto:!0,retrigger:!0});else{const m=new To;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(x=>{r.completion.extensionId?rs(x):Pn(x)}).finally(()=>{g=m.elapsed()}))}t&4&&this._alternatives.value.set(e,m=>{for(c.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(m,3|(t&8?8:0));break}}),this._alertCompletionItem(r),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,n,f,g,p,e.index,e.model.items),this.model.clear(),c.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,n,s,r,a){var p;if(Math.floor(Math.random()*100)===0)return;const c=new Map;for(let w=0;w<Math.min(30,a.length);w++){const m=a[w].textLabel;c.has(m)?c.get(m).push(w):c.set(m,[w])}const u=c.get(e.textLabel),g=u&&u.length>1?u[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:((p=e.extensionId)==null?void 0:p.value)??"unknown",providerId:e.provider._debugDisplayName??"unknown",kind:e.completion.kind,basenameHash:sT(ja(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:B2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:g})}getOverwriteInfo(e,t){vn(this.editor.hasModel());let i=this.editor.getOption(119).insertMode==="replace";t&&(i=!i);const n=e.position.column-e.editStart.column,s=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,r=this.editor.getPosition().column-e.position.column,a=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:n+r,overwriteAfter:s+a}}_alertCompletionItem(e){if(jo(e.completion.additionalTextEdits)){const t=C("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);Ar(t)}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t??!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},n=s=>{if(s.completion.insertTextRules&4||s.completion.additionalTextEdits)return!0;const r=this.editor.getPosition(),a=s.editStart.column,c=r.column;return c-a!==s.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:r.lineNumber,startColumn:a,endLineNumber:r.lineNumber,endColumn:c})!==s.completion.insertText};vs.once(this.model.onDidTrigger)(s=>{const r=[];vs.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{to(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(to(r),a.items.length===0){i();return}const c=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),u=a.items[c];if(!n(u)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:c,item:u,model:a},7)},void 0,r)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let n=0;e&&(n|=4),t&&(n|=8),this._insertSuggestion(i,n)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}},a1=Xd,Xd.ID="editor.contrib.suggestController",Xd);Tr=a1=c6([lh(1,ew),lh(2,Ls),lh(3,mn),lh(4,Ti),lh(5,Hu),lh(6,ha)],Tr);class u6{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(this._items.indexOf(e)!==-1)throw new Error("Value is already registered");return this._items.push(e),this._items.sort((t,i)=>this.prioritySelector(i)-this.prioritySelector(t)),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}const Fb=class Fb extends Qe{constructor(){super({id:Fb.id,label:C("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:xe.and(F.writable,F.hasCompletionItemProvider,vi.Visible.toNegated()),kbOpts:{kbExpr:F.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=Tr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};Fb.id="editor.action.triggerSuggest";let qv=Fb;Gi(Tr.ID,Tr,2);fe(qv);const Go=190,uo=bo.bindToContribution(Tr.get);ii(new uo({id:"acceptSelectedSuggestion",precondition:xe.and(vi.Visible,vi.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:xe.and(vi.Visible,F.textInputFocus),weight:Go},{primary:3,kbExpr:xe.and(vi.Visible,F.textInputFocus,vi.AcceptSuggestionsOnEnter,vi.MakesTextEdit),weight:Go}],menuOpts:[{menuId:hc,title:C("accept.insert","Insert"),group:"left",order:1,when:vi.HasInsertAndReplaceRange.toNegated()},{menuId:hc,title:C("accept.insert","Insert"),group:"left",order:1,when:xe.and(vi.HasInsertAndReplaceRange,vi.InsertMode.isEqualTo("insert"))},{menuId:hc,title:C("accept.replace","Replace"),group:"left",order:1,when:xe.and(vi.HasInsertAndReplaceRange,vi.InsertMode.isEqualTo("replace"))}]}));ii(new uo({id:"acceptAlternativeSelectedSuggestion",precondition:xe.and(vi.Visible,F.textInputFocus,vi.HasFocusedSuggestion),kbOpts:{weight:Go,kbExpr:F.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:hc,group:"left",order:2,when:xe.and(vi.HasInsertAndReplaceRange,vi.InsertMode.isEqualTo("insert")),title:C("accept.replace","Replace")},{menuId:hc,group:"left",order:2,when:xe.and(vi.HasInsertAndReplaceRange,vi.InsertMode.isEqualTo("replace")),title:C("accept.insert","Insert")}]}));On.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");ii(new uo({id:"hideSuggestWidget",precondition:vi.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Go,kbExpr:F.textInputFocus,primary:9,secondary:[1033]}}));ii(new uo({id:"selectNextSuggestion",precondition:xe.and(vi.Visible,xe.or(vi.MultipleSuggestions,vi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Go,kbExpr:F.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));ii(new uo({id:"selectNextPageSuggestion",precondition:xe.and(vi.Visible,xe.or(vi.MultipleSuggestions,vi.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Go,kbExpr:F.textInputFocus,primary:12,secondary:[2060]}}));ii(new uo({id:"selectLastSuggestion",precondition:xe.and(vi.Visible,xe.or(vi.MultipleSuggestions,vi.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));ii(new uo({id:"selectPrevSuggestion",precondition:xe.and(vi.Visible,xe.or(vi.MultipleSuggestions,vi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Go,kbExpr:F.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));ii(new uo({id:"selectPrevPageSuggestion",precondition:xe.and(vi.Visible,xe.or(vi.MultipleSuggestions,vi.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Go,kbExpr:F.textInputFocus,primary:11,secondary:[2059]}}));ii(new uo({id:"selectFirstSuggestion",precondition:xe.and(vi.Visible,xe.or(vi.MultipleSuggestions,vi.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));ii(new uo({id:"focusSuggestion",precondition:xe.and(vi.Visible,vi.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Go,kbExpr:F.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));ii(new uo({id:"focusAndAcceptSuggestion",precondition:xe.and(vi.Visible,vi.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));ii(new uo({id:"toggleSuggestionDetails",precondition:xe.and(vi.Visible,vi.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Go,kbExpr:F.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:hc,group:"right",order:1,when:xe.and(vi.DetailsVisible,vi.CanResolve),title:C("detail.more","Show Less")},{menuId:hc,group:"right",order:1,when:xe.and(vi.DetailsVisible.toNegated(),vi.CanResolve),title:C("detail.less","Show More")}]}));ii(new uo({id:"toggleExplainMode",precondition:vi.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));ii(new uo({id:"toggleSuggestionFocus",precondition:vi.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Go,kbExpr:F.textInputFocus,primary:2570,mac:{primary:778}}}));ii(new uo({id:"insertBestCompletion",precondition:xe.and(F.textInputFocus,xe.equals("config.editor.tabCompletion","on"),Vv.AtEnd,vi.Visible.toNegated(),Nf.OtherSuggestions.toNegated(),ro.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(oT(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Go,primary:2}}));ii(new uo({id:"insertNextSuggestion",precondition:xe.and(F.textInputFocus,xe.equals("config.editor.tabCompletion","on"),Nf.OtherSuggestions,vi.Visible.toNegated(),ro.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Go,kbExpr:F.textInputFocus,primary:2}}));ii(new uo({id:"insertPrevSuggestion",precondition:xe.and(F.textInputFocus,xe.equals("config.editor.tabCompletion","on"),Nf.OtherSuggestions,vi.Visible.toNegated(),ro.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Go,kbExpr:F.textInputFocus,primary:1026}}));fe(class extends Qe{constructor(){super({id:"editor.action.resetSuggestSize",label:C("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=Tr.get(e))==null||t.resetWidgetSize()}});class h6 extends ft{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new zi),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown(s=>{s.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(s=>{s.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const n=Tr.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(a,c,u)=>{const f=this.editor.getModel();if(!f)return-1;const g=this.suggestControllerPreselector(),p=g?Id(g,f):void 0;if(!p)return-1;const w=Jt.lift(c),m=u.map((k,E)=>{const P=Qg.fromSuggestion(n,f,w,k,this.isShiftKeyPressed),A=Id(P.toSingleTextEdit(),f),U=jR(p,A);return{index:E,valid:U,prefixLength:A.text.length,suggestItem:k}}).filter(k=>k&&k.valid&&k.prefixLength>0),x=z2(m,p_(k=>k.prefixLength,Sy));return x?x.index:-1}}));let s=!1;const r=()=>{s||(s=!0,this._register(n.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(n.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(n.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(vs.once(n.model.onDidTrigger)(a=>{r()})),this._register(n.onWillInsertSuggestItem(a=>{const c=this.editor.getPosition(),u=this.editor.getModel();if(!c||!u)return;const f=Qg.fromSuggestion(n,u,c,a.item,this.isShiftKeyPressed);this.onWillAccept(f)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!f6(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=Tr.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),n=this.editor.getModel();if(!(!t||!i||!n))return Qg.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=Tr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=Tr.get(this.editor);e==null||e.forceRenderingAbove()}}class Qg{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const u=new xu().parse(r);u.children.length<100&&zv.adjustWhitespace(t,i,!0,u),r=u.toString(),a=!0}const c=e.getOverwriteInfo(n,s);return new Qg(K.fromPositions(i.delta(0,-c.overwriteBefore),i.delta(0,Math.max(c.overwriteAfter,0))),r,n.completion.kind,a)}constructor(e,t,i,n){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=n}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new V2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new wl(this.range,this.insertText)}}function f6(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var g6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ja=function(o,e){return function(t,i){e(t,i,o)}},l1,Yd;let lr=(Yd=class extends ft{static get(e){return e.getContribution(l1.ID)}constructor(e,t,i,n,s,r,a,c,u,f){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=n,this._commandService=s,this._debounceService=r,this._languageFeaturesService=a,this._accessibilitySignalService=c,this._keybindingService=u,this._accessibilityService=f,this._editorObs=Ta(this.editor),this._positions=xn(this,p=>{var w;return((w=this._editorObs.selections.read(p))==null?void 0:w.map(m=>m.getEndPosition()))??[new Jt(1,1)]}),this._suggestWidgetAdaptor=this._register(new h6(this.editor,()=>{var p,w;return this._editorObs.forceUpdate(),(w=(p=this.model.get())==null?void 0:p.selectedInlineCompletion.get())==null?void 0:w.toSingleTextEdit(void 0)},p=>this._editorObs.forceUpdate(w=>{var m;(m=this.model.get())==null||m.handleSuggestAccepted(p)}))),this._suggestWidgetSelectedItem=xo(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(w=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=xo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=xo(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=xo(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=xn(this,p=>this._enabledInConfig.read(p)&&(!this._isScreenReaderEnabled.read(p)||!this._editorDictationInProgress.read(p))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this.model=Pc(this,p=>{if(this._editorObs.isReadonly.read(p))return;const w=this._editorObs.model.read(p);return w?this._instantiationService.createInstance(QC,w,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,xo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),xo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),xo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=xn(this,p=>{const w=this.model.read(p);return(w==null?void 0:w.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=p6(this._ghostTexts,this._store),this._ghostTextWidgets=j2(this,this._stablizedGhostTexts,(p,w)=>w.add(this._instantiationService.createInstance(XC,this.editor,{ghostText:p,minReservedLineCount:cl(0),targetTextModel:this.model.map(m=>m==null?void 0:m.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=l0(this),this._fontFamily=xo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new Eo(this._contextKeyService,this.model)),this._register(CL(this._editorObs.onDidType,(p,w)=>{var m;this._enabled.get()&&((m=this.model.get())==null||m.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([Dm.Tab.id,Dm.DeleteLeft.id,Dm.DeleteRight.id,QM,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(m=>{var x;(x=this.model.get())==null||x.trigger(m)})})),this._register(CL(this._editorObs.selections,(p,w)=>{var m;w.some(x=>x.reason===3||x.source==="api")&&((m=this.model.get())==null||m.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||Df.dropDownVisible||Fu(p=>{var w;(w=this.model.get())==null||w.stop(p)})})),this._register(Kn(p=>{var m;const w=(m=this.model.read(p))==null?void 0:m.state.read(p);w!=null&&w.suggestItem?w.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(Vn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const g=yy(this,(p,w)=>{var k;const m=this.model.read(p),x=m==null?void 0:m.state.read(p);return this._suggestWidgetSelectedItem.get()?w:(k=x==null?void 0:x.inlineCompletion)==null?void 0:k.semanticId});this._register($2(xn(p=>(this._playAccessibilitySignal.read(p),g.read(p),{})),async(p,w,m)=>{const x=this.model.get(),k=x==null?void 0:x.state.get();if(!k||!x)return;const E=x.textModel.getLineContent(k.primaryGhostText.lineNumber);await Iy(50,IS(m)),await U2(this._suggestWidgetSelectedItem,xg,()=>!1,IS(m)),await this._accessibilitySignalService.playSignal(aT.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(k.primaryGhostText.renderForScreenReader(E))})),this._register(new pC(this.editor,this.model,this._instantiationService)),this._register(oj(xn(p=>{const w=this._fontFamily.read(p);return w===""||w==="default"?"":`
|
|
43
|
+
.monaco-editor .ghost-text-decoration,
|
|
44
|
+
.monaco-editor .ghost-text-decoration-preview,
|
|
45
|
+
.monaco-editor .ghost-text {
|
|
46
|
+
font-family: ${w};
|
|
47
|
+
}`}))),this._register(this._configurationService.onDidChangeConfiguration(p=>{p.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}_provideScreenReaderUpdate(e){const t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let n;!t&&i&&this.editor.getOption(150)&&(n=C("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),Ar(n?e+", "+n:e)}shouldShowHoverAt(e){var i;const t=(i=this.model.get())==null?void 0:i.primaryGhostText.get();return t?t.parts.some(n=>e.containsPosition(new Jt(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},l1=Yd,Yd.ID="editor.contrib.inlineCompletionsController",Yd);lr=l1=g6([Ja(1,Ti),Ja(2,mn),Ja(3,$n),Ja(4,Ls),Ja(5,cr),Ja(6,ei),Ja(7,rT),Ja(8,hs),Ja(9,wy)],lr);function p6(o,e){const t=$o("result",[]),i=[];return e.add(Kn(n=>{const s=o.read(n);Fu(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=$o("item",s[a]));t.set([...i],r)}i.forEach((a,c)=>a.set(s[c],r))})})),t}const Hb=class Hb extends Qe{constructor(){super({id:Hb.ID,label:C("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:xe.and(F.writable,Eo.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=lr.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Hb.ID=eR;let c1=Hb;const Wb=class Wb extends Qe{constructor(){super({id:Wb.ID,label:C("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:xe.and(F.writable,Eo.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=lr.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Wb.ID=JM;let d1=Wb;class _6 extends Qe{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:C("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:F.writable})}async run(e,t){const i=lr.get(t);await ET(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n)),i==null||i.playAccessibilitySignal(n)})}}class m6 extends Qe{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:C("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:xe.and(F.writable,Eo.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:xe.and(F.writable,Eo.inlineSuggestionVisible)},menuOpts:[{menuId:At.InlineSuggestionToolbar,title:C("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=lr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class v6 extends Qe{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:C("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:xe.and(F.writable,Eo.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:At.InlineSuggestionToolbar,title:C("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=lr.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class b6 extends Qe{constructor(){super({id:QM,label:C("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Eo.inlineSuggestionVisible,menuOpts:[{menuId:At.InlineSuggestionToolbar,title:C("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:xe.and(Eo.inlineSuggestionVisible,F.tabMovesFocus.toNegated(),Eo.inlineSuggestionHasIndentationLessThanTabSize,vi.Visible.toNegated(),F.hoverFocused.toNegated())}})}async run(e,t){var n;const i=lr.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Bb=class Bb extends Qe{constructor(){super({id:Bb.ID,label:C("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:Eo.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=lr.get(t);Fu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};Bb.ID="editor.action.inlineSuggest.hide";let u1=Bb;const zb=class zb extends vo{constructor(){super({id:zb.ID,title:C("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:At.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:xe.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get($n),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};zb.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let h1=zb;var y6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bg=function(o,e){return function(t,i){e(t,i,o)}};class w6{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let f1=class{constructor(e,t,i,n,s,r){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=n,this._instantiationService=s,this._telemetryService=r,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=lr.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const n=i.detail;if(t.shouldShowHoverAtViewZone(n.viewZoneId))return new Hm(1e3,this,K.fromPositions(this._editor.getModel().validatePosition(n.positionBefore||n.position)),e.event.posx,e.event.posy,!1)}return i.type===7&&t.shouldShowHoverAt(i.range)?new Hm(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new Hm(1e3,this,i.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(62).showToolbar!=="onHover")return[];const i=lr.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new w6(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new dt,n=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&i.add(this.renderScreenReaderText(e,n));const s=n.controller.model.get(),r=this._instantiationService.createInstance(Df,this._editor,!1,cl(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands),a=r.getDomNode();e.fragment.appendChild(a),s.triggerExplicitly(),i.add(r);const c={hoverPart:n,hoverElement:a,dispose(){i.dispose()}};return new Du([c])}renderScreenReaderText(e,t){const i=new dt,n=Vt,s=n("div.hover-row.markdown-hover"),r=Ft(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new $f({editor:this._editor},this._languageService,this._openerService)),c=u=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const f=C("inlineSuggestionFollows","Suggestion:"),g=i.add(a.render(new Js().appendText(f).appendCodeblock("text",u)));r.replaceChildren(g.element)};return i.add(Kn(u=>{var g;const f=(g=t.controller.model.read(u))==null?void 0:g.primaryGhostText.read(u);if(f){const p=this._editor.getModel().getLineContent(f.lineNumber);c(f.renderForScreenReader(p))}else ev(r)})),e.fragment.appendChild(s),i}};f1=y6([bg(1,fa),bg(2,ua),bg(3,wy),bg(4,Ti),bg(5,ha)],f1);class S6{}const tw=new class{constructor(){this._implementations=[]}register(e){return this._implementations.push(e),{dispose:()=>{const t=this._implementations.indexOf(e);t!==-1&&this._implementations.splice(t,1)}}}getImplementations(){return this._implementations}};Gi(lr.ID,lr,3);fe(_6);fe(c1);fe(d1);fe(m6);fe(v6);fe(b6);fe(u1);Ln(h1);Vu.register(f1);tw.register(new S6);var C6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},eS=function(o,e){return function(t,i){e(t,i,o)}},Rg,Cc;let Ap=(Cc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new dt,this.toUnhookForKeyboard=new dt,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new Gy(e);this.toUnhook.add(s),this.toUnhook.add(s.onMouseMoveOrRelevantKeyDown(([r,a])=>{this.startFindDefinitionFromMouse(r,a??void 0)})),this.toUnhook.add(s.onExecute(r=>{this.isEnabled(r)&&this.gotoDefinition(r.target.position,r.hasSideBySideModifier).catch(a=>{Pn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(Rg.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const i=e.target.position;this.startFindDefinition(i)}async startFindDefinition(e){var r;this.toUnhookForKeyboard.clear();const t=e?(r=this.editor.getModel())==null?void 0:r.getWordAtPosition(e):null;if(!t){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===t.startColumn&&this.currentWordAtPosition.endColumn===t.endColumn&&this.currentWordAtPosition.word===t.word)return;this.currentWordAtPosition=t;const i=new TT(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Rs(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){Pn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?K.lift(n[0].originSelectionRange):new K(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:c}of n)c&&(a=K.plusRange(a,c));this.addDecoration(a,new Js().appendText(C("multipleResults","Click to show {0} definitions.",n.length)))}else{const a=n[0];if(!a.uri)return;this.textModelResolverService.createModelReference(a.uri).then(c=>{if(!c.object||!c.object.textEditorModel){c.dispose();return}const{object:{textEditorModel:u}}=c,{startLineNumber:f}=a.range;if(f<1||f>u.getLineCount()){c.dispose();return}const g=this.getPreviewValue(u,f,a),p=this.languageService.guessLanguageIdByFilepathOrFirstLine(u.uri);this.addDecoration(s,g?new Js().appendCodeblock(p||"",g):void 0),c.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=Rg.MAX_SOURCE_PREVIEW_LINES&&(n=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,n)}stripIndentationFromPreviewRange(e,t,i){let s=e.getLineFirstNonWhitespaceColumn(t);for(let a=t+1;a<i.endLineNumber;a++){const c=e.getLineFirstNonWhitespaceColumn(a);s=Math.min(s,c)}return e.getValueInRange(i).replace(new RegExp(`^\\s{${s-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(e,t){const i=e.getLineFirstNonWhitespaceColumn(t),n=Math.min(e.getLineCount(),t+Rg.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new K(t,1,s+1,1)}addDecoration(e,t){const i={range:e,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:t}};this.linkDecorations.set([i])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(e,t){var i;return this.editor.hasModel()&&e.isLeftClick&&e.isNoneOrSingleMouseDown&&e.target.type===6&&!(((i=e.target.detail.injectedText)==null?void 0:i.options)instanceof r0)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?E_(this.languageFeaturesService.definitionProvider,i,e,!1,t):Promise.resolve(null)}gotoDefinition(e,t){return this.editor.setPosition(e),this.editor.invokeWithinContext(i=>{const n=!t&&this.editor.getOption(89)&&!this.isInPeekEditor(i);return new P_({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(mn);return _o.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},Rg=Cc,Cc.ID="editor.contrib.gotodefinitionatposition",Cc.MAX_SOURCE_PREVIEW_LINES=8,Cc);Ap=Rg=C6([eS(1,ga),eS(2,fa),eS(3,ei)],Ap);Gi(Ap.ID,Ap,2);var UR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Gv=function(o,e){return function(t,i){e(t,i,o)}};class lD{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let g1=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new zi,this.onDidChange=this._onDidChange.event,this._dispoables=new dt,this._markers=[],this._nextIdx=-1,Dn.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(a,c)=>{let u=xL(a.resource.toString(),c.resource.toString());return u===0&&(n==="position"?u=K.compareRangesUsingStarts(a,c)||io.compare(a.severity,c.severity):u=io.compare(a.severity,c.severity)||K.compareRangesUsingStarts(a,c)),u},r=()=>{this._markers=this._markerService.read({resource:Dn.isUri(e)?e:void 0,severities:io.Error|io.Warning|io.Info}),typeof e=="function"&&(this._markers=this._markers.filter(a=>this._resourceFilter(a.resource))),this._markers.sort(s)};r(),this._dispoables.add(t.onMarkerChanged(a=>{(!this._resourceFilter||a.some(c=>this._resourceFilter(c)))&&(r(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new lD(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let n=!1,s=this._markers.findIndex(r=>r.resource.toString()===e.uri.toString());s<0&&(s=ov(this._markers,{resource:e.uri},(r,a)=>xL(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=K.lift(this._markers[r]);if(a.isEmpty()){const c=e.getWordAtPosition(a.getStartPosition());c&&(a=new K(a.startLineNumber,c.startColumn,a.startLineNumber,c.endColumn))}if(t&&(a.containsPosition(t)||t.isBeforeOrEqual(a.getStartPosition()))){this._nextIdx=r,n=!0;break}if(this._markers[r].resource.toString()!==e.uri.toString())break}n||(this._nextIdx=i?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(e,t,i){if(this._markers.length===0)return!1;const n=this._nextIdx;return this._nextIdx===-1?this._initIdx(t,i,e):e?this._nextIdx=(this._nextIdx+1)%this._markers.length:e||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),n!==this._nextIdx}find(e,t){let i=this._markers.findIndex(n=>n.resource.toString()===e.toString());if(!(i<0)){for(;i<this._markers.length;i++)if(K.containsPosition(this._markers[i],t))return new lD(this._markers[i],i+1,this._markers.length)}}};g1=UR([Gv(1,Qx),Gv(2,$n)],g1);const qR=Tl("IMarkerNavigationService");let p1=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new yT}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new g1(e,this._markerService,this._configService)}};p1=UR([Gv(0,Qx),Gv(1,$n)],p1);Pl(qR,p1,1);var _1;(function(o){function e(t){switch(t){case K_.Ignore:return"severity-ignore "+bn.asClassName(yi.info);case K_.Info:return bn.asClassName(yi.info);case K_.Warning:return bn.asClassName(yi.warning);case K_.Error:return bn.asClassName(yi.error);default:return""}}o.className=e})(_1||(_1={}));var x6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ch=function(o,e){return function(t,i){e(t,i,o)}},m1;class k6{constructor(e,t,i,n,s){this._openerService=n,this._labelService=s,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new dt,this._editor=t;const r=document.createElement("div");r.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),r.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),r.appendChild(this._relatedBlock),this._disposables.add(yl(this._relatedBlock,"click",a=>{a.preventDefault();const c=this._relatedDiagnostics.get(a.target);c&&i(c)})),this._scrollable=new Q2(r,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(a=>{r.style.left=`-${a.scrollLeft}px`,r.style.top=`-${a.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){to(this._disposables)}update(e){const{source:t,message:i,relatedInformation:n,code:s}=e;let r=((t==null?void 0:t.length)||0)+2;s&&(typeof s=="string"?r+=s.length:r+=s.value.length);const a=Ly(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);Ha(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let c=this._messageBlock;for(const p of a)c=document.createElement("div"),c.innerText=p,p===""&&(c.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(c);if(t||s){const p=document.createElement("span");if(p.classList.add("details"),c.appendChild(p),t){const w=document.createElement("span");w.innerText=t,w.classList.add("source"),p.appendChild(w)}if(s)if(typeof s=="string"){const w=document.createElement("span");w.innerText=`(${s})`,w.classList.add("code"),p.appendChild(w)}else{this._codeLink=Vt("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=m=>{this._openerService.open(s.target,{allowCommands:!0}),m.preventDefault(),m.stopPropagation()};const w=Ft(this._codeLink,Vt("span"));w.innerText=s.value,p.appendChild(this._codeLink)}}if(Ha(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),jo(n)){const p=this._relatedBlock.appendChild(document.createElement("div"));p.style.paddingTop=`${Math.floor(this._editor.getOption(67)*.66)}px`,this._lines+=1;for(const w of n){const m=document.createElement("div"),x=document.createElement("a");x.classList.add("filename"),x.innerText=`${this._labelService.getUriBasenameLabel(w.resource)}(${w.startLineNumber}, ${w.startColumn}): `,x.title=this._labelService.getUriLabel(w.resource),this._relatedDiagnostics.set(x,w);const k=document.createElement("span");k.innerText=w.message,m.appendChild(x),m.appendChild(k),this._lines+=1,p.appendChild(m)}}const u=this._editor.getOption(50),f=Math.ceil(u.typicalFullwidthCharacterWidth*this._longestLineLength*.75),g=u.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:f,scrollHeight:g})}layout(e,t){this._scrollable.getDomNode().style.height=`${e}px`,this._scrollable.getDomNode().style.width=`${t}px`,this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case io.Error:t=C("Error","Error");break;case io.Warning:t=C("Warning","Warning");break;case io.Info:t=C("Info","Info");break;case io.Hint:t=C("Hint","Hint");break}let i=C("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const n=this._editor.getModel();return n&&e.startLineNumber<=n.getLineCount()&&e.startLineNumber>=1&&(i=`${n.getLineContent(e.startLineNumber)}, ${i}`),i}}var Qd;let Op=(Qd=class extends xv{constructor(e,t,i,n,s,r,a){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},s),this._themeService=t,this._openerService=i,this._menuService=n,this._contextKeyService=r,this._labelService=a,this._callOnDispose=new dt,this._onDidSelectRelatedInformation=new zi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=io.Warning,this._backgroundColor=en.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(E6);let t=v1,i=L6;this._severity===io.Warning?(t=Vm,i=I6):this._severity===io.Info&&(t=b1,i=D6);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(dR),secondaryHeadingColor:e.getColor(uR)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(n=>this.editor.focus()));const t=[],i=this._menuService.getMenuActions(m1.TitleMenu,this._contextKeyService);t0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=Ft(e,Vt(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new k6(this._container,this.editor,t=>this._onDidSelectRelatedInformation.fire(t),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const n=K.lift(e),s=this.editor.getPosition(),r=s&&n.containsPosition(s)?s:n.getStartPosition();super.show(r,this.computeRequiredHeight());const a=this.editor.getModel();if(a){const c=i>1?C("problems","{0} of {1} problems",t,i):C("change","{0} of {1} problem",t,i);this.setTitle(ja(a.uri),c)}this._icon.className=`codicon ${_1.className(io.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(r,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height=`${e}px`}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}},m1=Qd,Qd.TitleMenu=new At("gotoErrorTitleMenu"),Qd);Op=m1=x6([ch(1,Hr),ch(2,ua),ch(3,Ou),ch(4,Ti),ch(5,mn),ch(6,pp)],Op);const cD=d0(G2,q2),dD=d0(Z2,K2),uD=d0(wS,X2),v1=jt("editorMarkerNavigationError.background",{dark:cD,light:cD,hcDark:bl,hcLight:bl},C("editorMarkerNavigationError","Editor marker navigation widget error color.")),L6=jt("editorMarkerNavigationError.headerBackground",{dark:Wa(v1,.1),light:Wa(v1,.1),hcDark:null,hcLight:null},C("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),Vm=jt("editorMarkerNavigationWarning.background",{dark:dD,light:dD,hcDark:bl,hcLight:bl},C("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),I6=jt("editorMarkerNavigationWarning.headerBackground",{dark:Wa(Vm,.1),light:Wa(Vm,.1),hcDark:"#0C141F",hcLight:Wa(Vm,.2)},C("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),b1=jt("editorMarkerNavigationInfo.background",{dark:uD,light:uD,hcDark:bl,hcLight:bl},C("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),D6=jt("editorMarkerNavigationInfo.headerBackground",{dark:Wa(b1,.1),light:Wa(b1,.1),hcDark:null,hcLight:null},C("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),E6=jt("editorMarkerNavigation.background",Y2,C("editorMarkerNavigationBackground","Editor marker navigation widget background."));var T6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pm=function(o,e){return function(t,i){e(t,i,o)}},Ng,Jd;let Pu=(Jd=class{static get(e){return e.getContribution(Ng.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new dt,this._editor=e,this._widgetVisible=GR.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(Op,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{var n,s,r;(!((n=this._model)!=null&&n.selected)||!K.containsPosition((s=this._model)==null?void 0:s.selected.marker,i.position))&&((r=this._model)==null||r.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const i=this._model.find(this._editor.getModel().uri,this._widget.position);i?this._widget.updateMarker(i.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(i=>{this._editorService.openCodeEditor({resource:i.resource,options:{pinned:!0,revealIfOpened:!0,selection:K.lift(i).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new Jt(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var i,n;if(this._editor.hasModel()){const s=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(s.move(e,this._editor.getModel(),this._editor.getPosition()),!s.selected)return;if(s.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const r=await this._editorService.openCodeEditor({resource:s.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:s.selected.marker}},this._editor);r&&((i=Ng.get(r))==null||i.close(),(n=Ng.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},Ng=Jd,Jd.ID="editor.contrib.markerController",Jd);Pu=Ng=T6([pm(1,qR),pm(2,mn),pm(3,as),pm(4,Ti)],Pu);class iw extends Qe{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=Pu.get(t))==null||i.nagivate(this._next,this._multiFile))}}const rd=class rd extends iw{constructor(){super(!0,!1,{id:rd.ID,label:rd.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:F.focus,primary:578,weight:100},menuOpts:{menuId:Op.TitleMenu,title:rd.LABEL,icon:is("marker-navigation-next",yi.arrowDown,C("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};rd.ID="editor.action.marker.next",rd.LABEL=C("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let Kv=rd;const ad=class ad extends iw{constructor(){super(!1,!1,{id:ad.ID,label:ad.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:F.focus,primary:1602,weight:100},menuOpts:{menuId:Op.TitleMenu,title:ad.LABEL,icon:is("marker-navigation-previous",yi.arrowUp,C("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};ad.ID="editor.action.marker.prev",ad.LABEL=C("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let y1=ad;class P6 extends iw{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:C("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:F.focus,primary:66,weight:100},menuOpts:{menuId:At.MenubarGoMenu,title:C({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class M6 extends iw{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:C("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:F.focus,primary:1090,weight:100},menuOpts:{menuId:At.MenubarGoMenu,title:C({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}Gi(Pu.ID,Pu,4);fe(Kv);fe(y1);fe(P6);fe(M6);const GR=new dn("markersNavigationVisible",!1),R6=bo.bindToContribution(Pu.get);ii(new R6({id:"closeMarkersNavigation",precondition:GR,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:F.focus,primary:9,secondary:[1033]}}));var Zr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Zr||(Zr={}));class N6 extends Qe{constructor(){super({id:YM,label:C({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse."]},"Show or Focus Hover"),metadata:{description:Zt("showOrFocusHoverDescription","Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position."),args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[Zr.NoAutoFocus,Zr.FocusIfVisible,Zr.AutoFocusImmediately],enumDescriptions:[C("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),C("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),C("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:Zr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Ys.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Zr.FocusIfVisible;Object.values(Zr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Zr.AutoFocusImmediately);const a=u=>{const f=t.getPosition(),g=new K(f.lineNumber,f.column,f.lineNumber,f.column);n.showContentHover(g,1,1,u)},c=t.getOption(2)===2;n.isHoverVisible?r!==Zr.NoAutoFocus?n.focus():a(c):a(c||r===Zr.AutoFocusImmediately)}}class A6 extends Qe{constructor(){super({id:QB,label:C({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0,metadata:{description:Zt("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=Ys.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new K(n.lineNumber,n.column,n.lineNumber,n.column),r=Ap.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class O6 extends Qe{constructor(){super({id:JB,label:C({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:F.hoverFocused,kbOpts:{kbExpr:F.hoverFocused,primary:16,weight:100},metadata:{description:Zt("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.scrollUp()}}class F6 extends Qe{constructor(){super({id:e4,label:C({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:F.hoverFocused,kbOpts:{kbExpr:F.hoverFocused,primary:18,weight:100},metadata:{description:Zt("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.scrollDown()}}class H6 extends Qe{constructor(){super({id:t4,label:C({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:F.hoverFocused,kbOpts:{kbExpr:F.hoverFocused,primary:15,weight:100},metadata:{description:Zt("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.scrollLeft()}}class W6 extends Qe{constructor(){super({id:i4,label:C({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:F.hoverFocused,kbOpts:{kbExpr:F.hoverFocused,primary:17,weight:100},metadata:{description:Zt("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.scrollRight()}}class B6 extends Qe{constructor(){super({id:n4,label:C({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:F.hoverFocused,kbOpts:{kbExpr:F.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:Zt("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.pageUp()}}class z6 extends Qe{constructor(){super({id:s4,label:C({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:F.hoverFocused,kbOpts:{kbExpr:F.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:Zt("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.pageDown()}}class V6 extends Qe{constructor(){super({id:o4,label:C({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:F.hoverFocused,kbOpts:{kbExpr:F.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:Zt("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.goToTop()}}class j6 extends Qe{constructor(){super({id:r4,label:C({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:F.hoverFocused,kbOpts:{kbExpr:F.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:Zt("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Ys.get(t);i&&i.goToBottom()}}class $6 extends Qe{constructor(){super({id:$y,label:a4,alias:"Increase Hover Verbosity Level",precondition:F.hoverVisible})}run(e,t,i){const n=Ys.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(rr.Increase,s,i==null?void 0:i.focus)}}class U6 extends Qe{constructor(){super({id:Uy,label:l4,alias:"Decrease Hover Verbosity Level",precondition:F.hoverVisible})}run(e,t,i){var r;const n=Ys.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Ys.get(t))==null||r.updateHoverVerbosityLevel(rr.Decrease,s,i==null?void 0:i.focus)}}var q6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},tS=function(o,e){return function(t,i){e(t,i,o)}};const gr=Vt;class G6{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const hD={type:1,filter:{include:Nn.QuickFix},triggerAction:Po.QuickFixHover};let w1=class{constructor(e,t,i,n){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=n,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),n=e.range.startLineNumber,s=i.getLineMaxColumn(n),r=[];for(const a of t){const c=a.range.startLineNumber===n?a.range.startColumn:1,u=a.range.endLineNumber===n?a.range.endColumn:s,f=this._markerDecorationsService.getMarker(i.uri,a);if(!f)continue;const g=new K(e.range.startLineNumber,c,e.range.startLineNumber,u);r.push(new G6(this,g,f))}return r}renderHoverParts(e,t){if(!t.length)return new Du([]);const i=new dt,n=[];t.forEach(r=>{const a=this._renderMarkerHover(r);e.fragment.appendChild(a.hoverElement),n.push(a)});const s=t.length===1?t[0]:t.sort((r,a)=>io.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new Du(n)}_renderMarkerHover(e){const t=new dt,i=gr("div.hover-row"),n=Ft(i,gr("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const u=Ft(n,gr("span"));if(u.style.whiteSpace="pre-wrap",u.innerText=r,s||a)if(a&&typeof a!="string"){const g=gr("span");if(s){const x=Ft(g,gr("span"));x.innerText=s}const p=Ft(g,gr("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(_n(p,"click",x=>{this._openerService.open(a.target,{allowCommands:!0}),x.preventDefault(),x.stopPropagation()}));const w=Ft(p,gr("span"));w.innerText=a.value;const m=Ft(n,g);m.style.opacity="0.6",m.style.paddingLeft="6px"}else{const g=Ft(n,gr("span"));g.style.opacity="0.6",g.style.paddingLeft="6px",g.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(jo(c))for(const{message:g,resource:p,startLineNumber:w,startColumn:m}of c){const x=Ft(n,gr("div"));x.style.marginTop="8px";const k=Ft(x,gr("a"));k.innerText=`${ja(p)}(${w}, ${m}): `,k.style.cursor="pointer",t.add(_n(k,"click",P=>{if(P.stopPropagation(),P.preventDefault(),this._openerService){const A={selection:{startLineNumber:w,startColumn:m}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:A}).catch(Pn)}}));const E=Ft(x,gr("span"));E.innerText=g,this._editor.applyFontInfo(E)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===io.Error||t.marker.severity===io.Warning||t.marker.severity===io.Info){const n=Pu.get(this._editor);n&&e.statusBar.addAction({label:C("view problem","View Problem"),commandId:Kv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(gr("div"));this.recentMarkerCodeActionsInfo&&(kL.makeKey(this.recentMarkerCodeActionsInfo.marker)===kL.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=C("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?ft.None:cp(()=>n.textContent=C("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(Vn(()=>r.cancel())),r.then(a=>{if(s.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:a.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){a.dispose(),n.textContent=C("noQuickFixes","No quick fixes available");return}n.style.display="none";let c=!1;i.add(Vn(()=>{c||a.dispose()})),e.statusBar.addAction({label:C("quick fixes","Quick Fix..."),commandId:W0,run:u=>{c=!0;const f=Lf.get(this._editor),g=po(u);e.hide(),f==null||f.showCodeActions(hD,a,{x:g.left,y:g.top,width:g.width,height:g.height})}})},Pn)}}getCodeActions(e){return Rs(t=>Ih(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new K(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),hD,ll.None,t))}};w1=q6([tS(1,J2),tS(2,ua),tS(3,ei)],w1);class K6{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=Qm.Center}computeSync(){var s;const e=r=>({value:r}),t=this._editor.getLineDecorations(this._lineNumber),i=[],n=this._laneOrLine==="lineNo";if(!t)return i;for(const r of t){const a=((s=r.options.glyphMargin)==null?void 0:s.position)??Qm.Center;if(!n&&a!==this._laneOrLine)continue;const c=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!c||gp(c)||i.push(...zE(c).map(e))}return i}}var Z6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},fD=function(o,e){return function(t,i){e(t,i,o)}},S1;const gD=Vt;var eu;let C1=(eu=class extends ft{constructor(e,t,i){super(),this._renderDisposeables=this._register(new dt),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new BE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new $f({editor:this._editor},t,i)),this._computer=new K6(this._editor),this._hoverOperation=this._register(new tR(this._editor,this._computer)),this._register(this._hoverOperation.onResult(n=>{this._withResult(n.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(50)&&this._updateFont()})),this._register(yl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return S1.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}showsOrWillShow(e){const t=e.target;return t.type===2&&t.detail.glyphMarginLane?(this._startShowingAt(t.position.lineNumber,t.detail.glyphMarginLane),!0):t.type===3?(this._startShowingAt(t.position.lineNumber,"lineNo"),!0):!1}_startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const n of t){const s=gD("div.hover-row.markdown-hover"),r=Ft(s,gD("div.hover-contents")),a=this._renderDisposeables.add(this._markdownRenderer.render(n.value));r.appendChild(a.element),i.appendChild(s)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),n=this._editor.getScrollTop(),s=this._editor.getOption(67),r=this._hover.containerDomNode.clientHeight,a=i-n-(r-s)/2,c=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${c}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(a),0)}px`}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!qy(t,e.x,e.y))&&this.hide()}},S1=eu,eu.ID="editor.contrib.modesGlyphHoverWidget",eu);C1=S1=Z6([fD(1,fa),fD(2,ua)],C1);var X6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Y6=function(o,e){return function(t,i){e(t,i,o)}},sf;let Zv=(sf=class extends ft{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new dt,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new bs(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._isMouseOnMarginHoverWidget(e)&&this._hideWidgets()}_isMouseOnMarginHoverWidget(e){var i;const t=(i=this._glyphWidget)==null?void 0:i.getDomNode();return t?qy(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._isMouseOnMarginHoverWidget(e))||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=this._isMouseOnMarginHoverWidget(e);return t&&i}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=e,this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){!e||this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateGlyphWidget().showsOrWillShow(e)}_onKeyDown(e){this._editor.hasModel()&&(e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||this._hideWidgets())}_hideWidgets(){var e;(e=this._glyphWidget)==null||e.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=this._instantiationService.createInstance(C1,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},sf.ID="editor.contrib.marginHover",sf);Zv=X6([Y6(1,Ti)],Zv);class Q6{}class J6{}class e5{}Gi(Ys.ID,Ys,2);Gi(Zv.ID,Zv,2);fe(N6);fe(A6);fe(O6);fe(F6);fe(H6);fe(W6);fe(B6);fe(z6);fe(V6);fe(j6);fe($6);fe(U6);Vu.register(Tp);Vu.register(w1);vy((o,e)=>{const t=o.getColor(eF);t&&(e.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${t.transparent(.5)}; }`),e.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${t.transparent(.5)}; }`))});tw.register(new Q6);tw.register(new J6);tw.register(new e5);function Co(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function Jg(o,e,t){o=o<0?0:o;let i="";if(!t){const n=Math.floor(o/e);o=o%e;for(let s=0;s<n;s++)i+=" "}for(let n=0;n<o;n++)i+=" ";return i}function KR(o,e,t,i){if(o.getLineCount()===1&&o.getLineMaxColumn(1)===1)return[];const n=e.getLanguageConfiguration(o.getLanguageId()).indentRulesSupport;if(!n)return[];const s=new tF(o,n,e);for(i=Math.min(i,o.getLineCount());t<=i&&s.shouldIgnore(t);)t++;if(t>i-1)return[];const{tabSize:r,indentSize:a,insertSpaces:c}=o.getOptions(),u=(x,k)=>(k=k||1,bf.shiftIndent(x,x.length+k,r,a,c)),f=(x,k)=>(k=k||1,bf.unshiftIndent(x,x.length+k,r,a,c)),g=[],p=o.getLineContent(t);let w=Us(p),m=w;s.shouldIncrease(t)?(m=u(m),w=u(w)):s.shouldIndentNextLine(t)&&(m=u(m)),t++;for(let x=t;x<=i;x++){if(t5(o,x))continue;const k=o.getLineContent(x),E=Us(k),P=m;s.shouldDecrease(x,P)&&(m=f(m),w=f(w)),E!==m&&g.push(Qn.replaceMove(new _i(x,1,x,E.length+1),iF(m,a,c))),!s.shouldIgnore(x)&&(s.shouldIncrease(x,P)?(w=u(w),m=w):s.shouldIndentNextLine(x,P)?m=u(m):m=w)}return g}function t5(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var i5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},n5=function(o,e){return function(t,i){e(t,i,o)}};const Vb=class Vb extends Qe{constructor(){super({id:Vb.ID,label:C("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:F.writable,metadata:{description:Zt("indentationToSpacesDescription","Convert the tab indentation to spaces.")}})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),s=t.getSelection();if(!s)return;const r=new l5(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};Vb.ID="editor.action.indentationToSpaces";let x1=Vb;const jb=class jb extends Qe{constructor(){super({id:jb.ID,label:C("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:F.writable,metadata:{description:Zt("indentationToTabsDescription","Convert the spaces indentation to tabs.")}})}run(e,t){const i=t.getModel();if(!i)return;const n=i.getOptions(),s=t.getSelection();if(!s)return;const r=new c5(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};jb.ID="editor.action.indentationToTabs";let k1=jb;class uk extends Qe{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(El),n=e.get(lo),s=t.getModel();if(!s)return;const r=n.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget),a=s.getOptions(),c=[1,2,3,4,5,6,7,8].map(f=>({id:f.toString(),label:f.toString(),description:f===r.tabSize&&f===a.tabSize?C("configuredTabSize","Configured Tab Size"):f===r.tabSize?C("defaultTabSize","Default Tab Size"):f===a.tabSize?C("currentTabSize","Current Tab Size"):void 0})),u=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(c,{placeHolder:C({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:c[u]}).then(f=>{if(f&&s&&!s.isDisposed()){const g=parseInt(f.label,10);this.displaySizeOnly?s.updateOptions({tabSize:g}):s.updateOptions({tabSize:g,indentSize:g,insertSpaces:this.insertSpaces})}})},50)}}const $b=class $b extends uk{constructor(){super(!1,!1,{id:$b.ID,label:C("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:Zt("indentUsingTabsDescription","Use indentation with tabs.")}})}};$b.ID="editor.action.indentUsingTabs";let L1=$b;const Ub=class Ub extends uk{constructor(){super(!0,!1,{id:Ub.ID,label:C("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:Zt("indentUsingSpacesDescription","Use indentation with spaces.")}})}};Ub.ID="editor.action.indentUsingSpaces";let I1=Ub;const qb=class qb extends uk{constructor(){super(!0,!0,{id:qb.ID,label:C("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:Zt("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};qb.ID="editor.action.changeTabDisplaySize";let D1=qb;const Gb=class Gb extends Qe{constructor(){super({id:Gb.ID,label:C("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:Zt("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(lo),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};Gb.ID="editor.action.detectIndentation";let E1=Gb;class s5 extends Qe{constructor(){super({id:"editor.action.reindentlines",label:C("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:F.writable,metadata:{description:Zt("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(Is),n=t.getModel();if(!n)return;const s=KR(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class o5 extends Qe{constructor(){super({id:"editor.action.reindentselectedlines",label:C("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:F.writable,metadata:{description:Zt("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(Is),n=t.getModel();if(!n)return;const s=t.getSelections();if(s===null)return;const r=[];for(const a of s){let c=a.startLineNumber,u=a.endLineNumber;if(c!==u&&a.endColumn===1&&u--,c===1){if(c===u)continue}else c--;const f=KR(n,i,c,u);r.push(...f)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class r5{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&typeof i.text=="string"&&this._edits.push(i)}getEditOperations(e,t){for(const n of this._edits)t.addEditOperation(K.lift(n.range),n.text);let i=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}var of;let Xv=(of=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new dt,this.callOnModel=new dt,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(12)<4||this.editor.getOption(55))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(t===null||t.length>1)return;const i=this.editor.getModel();if(!i||this.rangeContainsOnlyWhitespaceCharacters(i,e)||a5(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:r,indentSize:a,insertSpaces:c}=i.getOptions(),u=[],f={shiftIndent:m=>bf.shiftIndent(m,m.length+1,r,a,c),unshiftIndent:m=>bf.unshiftIndent(m,m.length+1,r,a,c)};let g=e.startLineNumber;for(;g<=e.endLineNumber;){if(this.shouldIgnoreLine(i,g)){g++;continue}break}if(g>e.endLineNumber)return;let p=i.getLineContent(g);if(!/\S/.test(p.substring(0,e.startColumn-1))){const m=$g(s,i,i.getLanguageId(),g,f,this._languageConfigurationService);if(m!==null){const x=Us(p),k=Co(m,r),E=Co(x,r);if(k!==E){const P=Jg(k,r,c);u.push({range:new K(g,1,g,x.length+1),text:P}),p=P+p.substring(x.length)}else{const P=PT(i,g,this._languageConfigurationService);if(P===0||P===8)return}}}const w=g;for(;g<e.endLineNumber;){if(!/\S/.test(i.getLineContent(g+1))){g++;continue}break}if(g!==e.endLineNumber){const x=$g(s,{tokenization:{getLineTokens:k=>i.tokenization.getLineTokens(k),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(k,E)=>i.getLanguageIdAtPosition(k,E)},getLineContent:k=>k===w?p:i.getLineContent(k)},i.getLanguageId(),g+1,f,this._languageConfigurationService);if(x!==null){const k=Co(x,r),E=Co(Us(i.getLineContent(g+1)),r);if(k!==E){const P=k-E;for(let A=g+1;A<=e.endLineNumber;A++){const U=i.getLineContent(A),B=Us(U),ie=Co(B,r)+P,pe=Jg(ie,r,c);pe!==B&&u.push({range:new K(A,1,A,B.length+1),text:pe})}}}}if(u.length>0){this.editor.pushUndoStop();const m=new r5(u,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",m),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(e,t){const i=s=>s.trim().length===0;let n=!0;if(t.startLineNumber===t.endLineNumber){const r=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);n=i(r)}else for(let s=t.startLineNumber;s<=t.endLineNumber;s++){const r=e.getLineContent(s);if(s===t.startLineNumber){const a=r.substring(t.startColumn-1);n=i(a)}else if(s===t.endLineNumber){const a=r.substring(0,t.endColumn-1);n=i(a)}else n=e.getLineFirstNonWhitespaceColumn(s)===0;if(!n)break}return n}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(i===0)return!0;const n=e.tokenization.getLineTokens(t);if(n.getCount()>0){const s=n.findTokenIndexAtOffset(i);if(s>=0&&n.getStandardTokenType(s)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}},of.ID="editor.contrib.autoIndentOnPaste",of);Xv=i5([n5(1,Is)],Xv);function a5(o,e){const t=i=>nF(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function ZR(o,e,t,i){if(o.getLineCount()===1&&o.getLineMaxColumn(1)===1)return;let n="";for(let r=0;r<t;r++)n+=" ";const s=new RegExp(n,"gi");for(let r=1,a=o.getLineCount();r<=a;r++){let c=o.getLineFirstNonWhitespaceColumn(r);if(c===0&&(c=o.getLineMaxColumn(r)),c===1)continue;const u=new K(r,1,r,c),f=o.getValueInRange(u),g=i?f.replace(/\t/ig,n):f.replace(s," ");e.addEditOperation(u,g)}}class l5{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),ZR(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class c5{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),ZR(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}Gi(Xv.ID,Xv,2);fe(x1);fe(k1);fe(L1);fe(I1);fe(D1);fe(E1);fe(s5);fe(o5);Gi(Mp.ID,Mp,1);Vu.register(Dv);class d5{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const n=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new _i(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new _i(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var u5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},h5=function(o,e){return function(t,i){e(t,i,o)}},jm,xc;let Af=(xc=class{static get(e){return e.getContribution(jm.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var c;(c=this.currentRequest)==null||c.cancel();const i=this.editor.getSelection(),n=this.editor.getModel();if(!n||!i)return;let s=i;if(s.startLineNumber!==s.endLineNumber)return;const r=new TT(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=Rs(u=>this.editorWorkerService.navigateValueSet(a,s,t)),this.currentRequest.then(u=>{var m;if(!u||!u.range||!u.value||!r.validate(this.editor))return;const f=K.lift(u.range);let g=u.range;const p=u.value.length-(s.endColumn-s.startColumn);g={startLineNumber:g.startLineNumber,startColumn:g.startColumn,endLineNumber:g.endLineNumber,endColumn:g.startColumn+u.value.length},p>1&&(s=new _i(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const w=new d5(f,s,u.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,w),this.editor.pushUndoStop(),this.decorations.set([{range:g,options:jm.DECORATION}]),(m=this.decorationRemover)==null||m.cancel(),this.decorationRemover=Iy(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(Pn)}).catch(Pn)):Promise.resolve(void 0)}},jm=xc,xc.ID="editor.contrib.inPlaceReplaceController",xc.DECORATION=tn.register({description:"in-place-replace",className:"valueSetReplacement"}),xc);Af=jm=u5([h5(1,Ml)],Af);class f5 extends Qe{constructor(){super({id:"editor.action.inPlaceReplace.up",label:C("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=Af.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class g5 extends Qe{constructor(){super({id:"editor.action.inPlaceReplace.down",label:C("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=Af.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}Gi(Af.ID,Af,4);fe(f5);fe(g5);class p5 extends Qe{constructor(){super({id:"expandLineSelection",label:C("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:F.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;const n=t._getViewModel();n.model.pushStackElement(),n.setCursorStates(i.source,3,u0.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}fe(p5);class _5{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=m5(e,this._cursors,this._trimInRegexesAndStrings);for(let n=0,s=i.length;n<s;n++){const r=i[n];t.addEditOperation(r.range,r.text)}this._selectionId=t.trackSelection(this._selection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}function m5(o,e,t){e.sort((a,c)=>a.lineNumber===c.lineNumber?a.column-c.column:a.lineNumber-c.lineNumber);for(let a=e.length-2;a>=0;a--)e[a].lineNumber===e[a+1].lineNumber&&e.splice(a,1);const i=[];let n=0,s=0;const r=e.length;for(let a=1,c=o.getLineCount();a<=c;a++){const u=o.getLineContent(a),f=u.length+1;let g=0;if(s<r&&e[s].lineNumber===a&&(g=e[s].column,s++,g===f)||u.length===0)continue;const p=Em(u);let w=0;if(p===-1)w=1;else if(p!==u.length-1)w=p+2;else continue;if(!t){if(!o.tokenization.hasAccurateTokensForLine(a))continue;const m=o.tokenization.getLineTokens(a),x=m.getStandardTokenType(m.findTokenIndexAtOffset(w));if(x===2||x===3)continue}w=Math.max(g,w),i[n++]=Qn.delete(new K(a,w,a,f))}return i}class XR{constructor(e,t,i){this._selection=e,this._isCopyingDown=t,this._noop=i||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(e,t){let i=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,i.startLineNumber<i.endLineNumber&&i.endColumn===1&&(this._endLineNumberDelta=1,i=i.setEndPosition(i.endLineNumber-1,e.getLineMaxColumn(i.endLineNumber-1)));const n=[];for(let r=i.startLineNumber;r<=i.endLineNumber;r++)n.push(e.getLineContent(r));const s=n.join(`
|
|
48
|
+
`);s===""&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?t.addEditOperation(new K(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
|
|
49
|
+
`):this._isCopyingDown?t.addEditOperation(new K(i.startLineNumber,1,i.startLineNumber,1),s+`
|
|
50
|
+
`):t.addEditOperation(new K(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),`
|
|
51
|
+
`+s),this._selectionId=t.trackSelection(i),this._selectionDirection=this._selection.getDirection()}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let n=i.startLineNumber,s=i.startColumn,r=i.endLineNumber,a=i.endColumn;this._startLineNumberDelta!==0&&(n=n+this._startLineNumberDelta,s=1),this._endLineNumberDelta!==0&&(r=r+this._endLineNumberDelta,a=1),i=_i.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var v5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},b5=function(o,e){return function(t,i){e(t,i,o)}};let T1=class{constructor(e,t,i,n){this._languageConfigurationService=n,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=()=>e.getLanguageId(),n=(g,p)=>e.getLanguageIdAtPosition(g,p),s=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===s){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumber<r.endLineNumber&&r.endColumn===1&&(this._moveEndPositionDown=!0,r=r.setEndPosition(r.endLineNumber-1,e.getLineMaxColumn(r.endLineNumber-1)));const{tabSize:a,indentSize:c,insertSpaces:u}=e.getOptions(),f=this.buildIndentConverter(a,c,u);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const g=r.startLineNumber,p=this._isMovingDown?g+1:g-1;e.getLineMaxColumn(p)===1?t.addEditOperation(new K(1,1,1,1),null):(t.addEditOperation(new K(g,1,g,1),e.getLineContent(p)),t.addEditOperation(new K(p,1,p,e.getLineMaxColumn(p)),null)),r=new _i(p,1,p,1)}else{let g,p;if(this._isMovingDown){g=r.endLineNumber+1,p=e.getLineContent(g),t.addEditOperation(new K(g-1,e.getLineMaxColumn(g-1),g,e.getLineMaxColumn(g)),null);let w=p;if(this.shouldAutoIndent(e,r)){const m=this.matchEnterRule(e,f,a,g,r.startLineNumber-1);if(m!==null){const k=Us(e.getLineContent(g)),E=m+Co(k,a);w=Jg(E,a,u)+this.trimStart(p)}else{const k={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(g):e.tokenization.getLineTokens(P),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:P=>P===r.startLineNumber?e.getLineContent(g):e.getLineContent(P)},E=$g(this._autoIndent,k,e.getLanguageIdAtPosition(g,1),r.startLineNumber,f,this._languageConfigurationService);if(E!==null){const P=Us(e.getLineContent(g)),A=Co(E,a),U=Co(P,a);A!==U&&(w=Jg(A,a,u)+this.trimStart(p))}}t.addEditOperation(new K(r.startLineNumber,1,r.startLineNumber,1),w+`
|
|
52
|
+
`);const x=this.matchEnterRuleMovingDown(e,f,a,r.startLineNumber,g,w);if(x!==null)x!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,x);else{const k={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(g):P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.tokenization.getLineTokens(P-1):e.tokenization.getLineTokens(P),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:P=>P===r.startLineNumber?w:P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.getLineContent(P-1):e.getLineContent(P)},E=$g(this._autoIndent,k,e.getLanguageIdAtPosition(g,1),r.startLineNumber+1,f,this._languageConfigurationService);if(E!==null){const P=Us(e.getLineContent(r.startLineNumber)),A=Co(E,a),U=Co(P,a);if(A!==U){const B=A-U;this.getIndentEditsOfMovingBlock(e,t,r,a,u,B)}}}}else t.addEditOperation(new K(r.startLineNumber,1,r.startLineNumber,1),w+`
|
|
53
|
+
`)}else if(g=r.startLineNumber-1,p=e.getLineContent(g),t.addEditOperation(new K(g,1,g+1,1),null),t.addEditOperation(new K(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
|
|
54
|
+
`+p),this.shouldAutoIndent(e,r)){const w={tokenization:{getLineTokens:x=>x===g?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(x),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:x=>x===g?e.getLineContent(r.startLineNumber):e.getLineContent(x)},m=this.matchEnterRule(e,f,a,r.startLineNumber,r.startLineNumber-2);if(m!==null)m!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,u,m);else{const x=$g(this._autoIndent,w,e.getLanguageIdAtPosition(r.startLineNumber,1),g,f,this._languageConfigurationService);if(x!==null){const k=Us(e.getLineContent(r.startLineNumber)),E=Co(x,a),P=Co(k,a);if(E!==P){const A=E-P;this.getIndentEditsOfMovingBlock(e,t,r,a,u,A)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>bf.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>bf.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===Z_.None||s.indentAction===Z_.Indent?r=s.indentation+s.appendText:s.indentAction===Z_.IndentOutdent?r=s.indentation:s.indentAction===Z_.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const c=Us(e.getLineContent(n));let u=Us(r);const f=PT(e,n,this._languageConfigurationService);f!==null&&f&2&&(u=t.unshiftIndent(u));const g=Co(u,i),p=Co(c,i);return g-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Em(r)>=0){const a=e.getLineMaxColumn(s),c=Cw(this._autoIndent,e,new K(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,c)}else{let a=n-1;for(;a>=1;){const f=e.getLineContent(a);if(Em(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),u=Cw(this._autoIndent,e,new K(a,c,a,c),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,u)}}matchEnterRule(e,t,i,n,s,r){let a=s;for(;a>=1;){let f;if(a===s&&r!==void 0?f=r:f=e.getLineContent(a),Em(f)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),u=Cw(this._autoIndent,e,new K(a,c,a,c),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,u)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),n=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==n||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,n,s,r){for(let a=i.startLineNumber;a<=i.endLineNumber;a++){const c=e.getLineContent(a),u=Us(c),g=Co(u,n)+r,p=Jg(g,n,s);p!==u&&(t.addEditOperation(new K(a,1,a,u.length+1),p),a===i.endLineNumber&&i.endColumn<=u.length+1&&p===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber<i.endLineNumber&&(i=i.setEndPosition(i.endLineNumber,2)),i}};T1=v5([b5(3,Is)],T1);const Fh=class Fh{static getCollator(){return Fh._COLLATOR||(Fh._COLLATOR=new Intl.Collator),Fh._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=y5(e,this.selection,this.descending);i&&t.addEditOperation(i.range,i.text),this.selectionId=t.trackSelection(this.selection)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}static canRun(e,t,i){if(e===null)return!1;const n=YR(e,t,i);if(!n)return!1;for(let s=0,r=n.before.length;s<r;s++)if(n.before[s]!==n.after[s])return!0;return!1}};Fh._COLLATOR=null;let Fp=Fh;function YR(o,e,t){const i=e.startLineNumber;let n=e.endLineNumber;if(e.endColumn===1&&n--,i>=n)return null;const s=[];for(let a=i;a<=n;a++)s.push(o.getLineContent(a));let r=s.slice(0);return r.sort(Fp.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function y5(o,e,t){const i=YR(o,e,t);return i?Qn.replace(new K(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
|
|
55
|
+
`)):null}class QR extends Qe{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((r,a)=>({selection:r,index:a,ignore:!1}));i.sort((r,a)=>K.compareRangesUsingStarts(r.selection,a.selection));let n=i[0];for(let r=1;r<i.length;r++){const a=i[r];n.selection.endLineNumber===a.selection.startLineNumber&&(n.index<a.index?a.ignore=!0:(n.ignore=!0,n=a))}const s=[];for(const r of i)s.push(new XR(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class w5 extends QR{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:C("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:At.MenubarSelectionMenu,group:"2_line",title:C({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class S5 extends QR{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:C("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:At.MenubarSelectionMenu,group:"2_line",title:C({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class C5 extends Qe{constructor(){super({id:"editor.action.duplicateSelection",label:C("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:F.writable,menuOpts:{menuId:At.MenubarSelectionMenu,group:"2_line",title:C({key:"miDuplicateSelection",comment:["&& denotes a mnemonic"]},"&&Duplicate Selection"),order:5}})}run(e,t,i){if(!t.hasModel())return;const n=[],s=t.getSelections(),r=t.getModel();for(const a of s)if(a.isEmpty())n.push(new XR(a,!0));else{const c=new _i(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new sF(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class JR extends Qe{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(Is),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new T1(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class x5 extends JR{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:C("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:At.MenubarSelectionMenu,group:"2_line",title:C({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class k5 extends JR{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:C("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:At.MenubarSelectionMenu,group:"2_line",title:C({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class eN extends Qe{constructor(e,t){super(t),this.descending=e}run(e,t){if(!t.hasModel())return;const i=t.getModel();let n=t.getSelections();n.length===1&&n[0].isEmpty()&&(n=[new _i(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!Fp.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new Fp(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class L5 extends eN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:C("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:F.writable})}}class I5 extends eN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:C("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:F.writable})}}class D5 extends Qe{constructor(){super({id:"editor.action.removeDuplicateLines",label:C("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:F.writable})}run(e,t){if(!t.hasModel())return;const i=t.getModel();if(i.getLineCount()===1&&i.getLineMaxColumn(1)===1)return;const n=[],s=[];let r=0,a=!0,c=t.getSelections();c.length===1&&c[0].isEmpty()&&(c=[new _i(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const u of c){const f=new Set,g=[];for(let x=u.startLineNumber;x<=u.endLineNumber;x++){const k=i.getLineContent(x);f.has(k)||(g.push(k),f.add(k))}const p=new _i(u.startLineNumber,1,u.endLineNumber,i.getLineMaxColumn(u.endLineNumber)),w=u.startLineNumber-r,m=new _i(w,1,w+g.length-1,g[g.length-1].length);n.push(Qn.replace(p,g.join(`
|
|
56
|
+
`))),s.push(m),r+=u.endLineNumber-u.startLineNumber+1-g.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}const Kb=class Kb extends Qe{constructor(){super({id:Kb.ID,label:C("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:us(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(f=>new Jt(f.positionLineNumber,f.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get($n),a=t.getModel(),c=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),u=new _5(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[u]),t.pushUndoStop()}};Kb.ID="editor.action.trimTrailingWhitespace";let P1=Kb;class E5 extends Qe{constructor(){super({id:"editor.action.deleteLines",label:C("lines.delete","Delete Line"),alias:"Delete Line",precondition:F.writable,kbOpts:{kbExpr:F.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),n=t.getModel();if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let s=0;const r=[],a=[];for(let c=0,u=i.length;c<u;c++){const f=i[c];let g=f.startLineNumber,p=f.endLineNumber,w=1,m=n.getLineMaxColumn(p);p<n.getLineCount()?(p+=1,m=1):g>1&&(g-=1,w=n.getLineMaxColumn(g)),r.push(Qn.replace(new _i(g,w,p,m),"")),a.push(new _i(g-s,f.positionColumn,g-s,f.positionColumn)),s+=f.endLineNumber-f.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,a),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(s=>{let r=s.endLineNumber;return s.startLineNumber<s.endLineNumber&&s.endColumn===1&&(r-=1),{startLineNumber:s.startLineNumber,selectionStartColumn:s.selectionStartColumn,endLineNumber:r,positionColumn:s.positionColumn}});t.sort((s,r)=>s.startLineNumber===r.startLineNumber?s.endLineNumber-r.endLineNumber:s.startLineNumber-r.startLineNumber);const i=[];let n=t[0];for(let s=1;s<t.length;s++)n.endLineNumber+1>=t[s].startLineNumber?n.endLineNumber=t[s].endLineNumber:(i.push(n),n=t[s]);return i.push(n),i}}class T5 extends Qe{constructor(){super({id:"editor.action.indentLines",label:C("lines.indent","Indent Line"),alias:"Indent Line",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,oF.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class P5 extends Qe{constructor(){super({id:"editor.action.outdentLines",label:C("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:2140,weight:100}})}run(e,t){Dm.Outdent.runEditorCommand(e,t,null)}}class M5 extends Qe{constructor(){super({id:"editor.action.insertLineBefore",label:C("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,MT.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class R5 extends Qe{constructor(){super({id:"editor.action.insertLineAfter",label:C("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,MT.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class tN extends Qe{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let c=0,u=n.length-1;c<u;c++){const f=n[c],g=n[c+1];K.intersectRanges(f,g)===null?s.push(f):n[c+1]=K.plusRange(f,g)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(c=>Qn.replace(c,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class N5 extends tN{constructor(){super({id:"deleteAllLeft",label:C("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:F.writable,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];let s=0;return t.forEach(r=>{let a;if(r.endColumn===1&&s>0){const c=r.startLineNumber-s;a=new _i(c,r.startColumn,c,r.startColumn)}else a=new _i(r.startLineNumber,r.startColumn,r.startLineNumber,r.startColumn);s+=r.endLineNumber-r.startLineNumber,r.intersectRanges(e)?i=a:n.push(a)}),i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getSelections();if(t===null)return[];let i=t;const n=e.getModel();return n===null?[]:(i.sort(K.compareRangesUsingStarts),i=i.map(s=>{if(s.isEmpty())if(s.startColumn===1){const r=Math.max(1,s.startLineNumber-1),a=s.startLineNumber===1?1:n.getLineLength(r)+1;return new K(r,a,s.startLineNumber,1)}else return new K(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new K(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class A5 extends tN{constructor(){super({id:"deleteAllRight",label:C("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:F.writable,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const n=[];for(let s=0,r=t.length,a=0;s<r;s++){const c=t[s],u=new _i(c.startLineNumber-a,c.startColumn,c.startLineNumber-a,c.startColumn);c.intersectRanges(e)?i=u:n.push(u)}return i&&n.unshift(i),n}_getRangesToDelete(e){const t=e.getModel();if(t===null)return[];const i=e.getSelections();if(i===null)return[];const n=i.map(s=>{if(s.isEmpty()){const r=t.getLineMaxColumn(s.startLineNumber);return s.startColumn===r?new K(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new K(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(K.compareRangesUsingStarts),n}}class O5 extends Qe{constructor(){super({id:"editor.action.joinLines",label:C("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:F.writable,kbOpts:{kbExpr:F.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(i===null)return;let n=t.getSelection();if(n===null)return;i.sort(K.compareRangesUsingStarts);const s=[],r=i.reduce((p,w)=>p.isEmpty()?p.endLineNumber===w.startLineNumber?(n.equalsSelection(p)&&(n=w),w):w.startLineNumber>p.endLineNumber+1?(s.push(p),w):new _i(p.startLineNumber,p.startColumn,w.endLineNumber,w.endColumn):w.startLineNumber>p.endLineNumber?(s.push(p),w):new _i(p.startLineNumber,p.startColumn,w.endLineNumber,w.endColumn));s.push(r);const a=t.getModel();if(a===null)return;const c=[],u=[];let f=n,g=0;for(let p=0,w=s.length;p<w;p++){const m=s[p],x=m.startLineNumber,k=1;let E=0,P,A;const U=a.getLineLength(m.endLineNumber)-m.endColumn;if(m.isEmpty()||m.startLineNumber===m.endLineNumber){const ie=m.getStartPosition();ie.lineNumber<a.getLineCount()?(P=x+1,A=a.getLineMaxColumn(P)):(P=ie.lineNumber,A=a.getLineMaxColumn(ie.lineNumber))}else P=m.endLineNumber,A=a.getLineMaxColumn(P);let B=a.getLineContent(x);for(let ie=x+1;ie<=P;ie++){const pe=a.getLineContent(ie),_e=a.getLineFirstNonWhitespaceColumn(ie);if(_e>=1){let Ke=!0;B===""&&(Ke=!1),Ke&&(B.charAt(B.length-1)===" "||B.charAt(B.length-1)===" ")&&(Ke=!1,B=B.replace(/[\s\uFEFF\xA0]+$/g," "));const Re=pe.substr(_e-1);B+=(Ke?" ":"")+Re,Ke?E=Re.length+1:E=Re.length}else E=0}const ne=new K(x,k,P,A);if(!ne.isEmpty()){let ie;m.isEmpty()?(c.push(Qn.replace(ne,B)),ie=new _i(ne.startLineNumber-g,B.length-E+1,x-g,B.length-E+1)):m.startLineNumber===m.endLineNumber?(c.push(Qn.replace(ne,B)),ie=new _i(m.startLineNumber-g,m.startColumn,m.endLineNumber-g,m.endColumn)):(c.push(Qn.replace(ne,B)),ie=new _i(m.startLineNumber-g,m.startColumn,m.startLineNumber-g,B.length-U)),K.intersectRanges(ne,n)!==null?f=ie:u.push(ie)}g+=ne.endLineNumber-ne.startLineNumber}u.unshift(f),t.pushUndoStop(),t.executeEdits(this.id,c,u),t.pushUndoStop()}}class F5 extends Qe{constructor(){super({id:"editor.action.transpose",label:C("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:F.writable})}run(e,t){const i=t.getSelections();if(i===null)return;const n=t.getModel();if(n===null)return;const s=[];for(let r=0,a=i.length;r<a;r++){const c=i[r];if(!c.isEmpty())continue;const u=c.getStartPosition(),f=n.getLineMaxColumn(u.lineNumber);if(u.column>=f){if(u.lineNumber===n.getLineCount())continue;const g=new K(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new o_(new _i(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{const g=new K(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(g).split("").reverse().join("");s.push(new XE(g,p,new _i(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Uu extends Qe{run(e,t){const i=t.getSelections();if(i===null)return;const n=t.getModel();if(n===null)return;const s=t.getOption(132),r=[];for(const a of i)if(a.isEmpty()){const c=a.getStartPosition(),u=t.getConfiguredWordAtPosition(c);if(!u)continue;const f=new K(c.lineNumber,u.startColumn,c.lineNumber,u.endColumn),g=n.getValueInRange(f);r.push(Qn.replace(f,this._modifyText(g,s)))}else{const c=n.getValueInRange(a);r.push(Qn.replace(a,this._modifyText(c,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class H5 extends Uu{constructor(){super({id:"editor.action.transformToUppercase",label:C("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:F.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class W5 extends Uu{constructor(){super({id:"editor.action.transformToLowercase",label:C("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:F.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class ml{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}}const Zb=class Zb extends Uu{constructor(){super({id:"editor.action.transformToTitlecase",label:C("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:F.writable})}_modifyText(e,t){const i=Zb.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};Zb.titleBoundary=new ml("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let Yv=Zb;const Hh=class Hh extends Uu{constructor(){super({id:"editor.action.transformToSnakecase",label:C("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:F.writable})}_modifyText(e,t){const i=Hh.caseBoundary.get(),n=Hh.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};Hh.caseBoundary=new ml("(\\p{Ll})(\\p{Lu})","gmu"),Hh.singleLetters=new ml("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let ep=Hh;const Xb=class Xb extends Uu{constructor(){super({id:"editor.action.transformToCamelcase",label:C("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:F.writable})}_modifyText(e,t){const i=Xb.wordBoundary.get();if(!i)return e;const n=e.split(i);return n.shift()+n.map(r=>r.substring(0,1).toLocaleUpperCase()+r.substring(1)).join("")}};Xb.wordBoundary=new ml("[_\\s-]","gm");let Qv=Xb;const Wh=class Wh extends Uu{constructor(){super({id:"editor.action.transformToPascalcase",label:C("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:F.writable})}_modifyText(e,t){const i=Wh.wordBoundary.get(),n=Wh.wordBoundaryToMaintain.get();return!i||!n?e:e.split(n).map(a=>a.split(i)).flat().map(a=>a.substring(0,1).toLocaleUpperCase()+a.substring(1)).join("")}};Wh.wordBoundary=new ml("[_\\s-]","gm"),Wh.wordBoundaryToMaintain=new ml("(?<=\\.)","gm");let Jv=Wh;const Xl=class Xl extends Uu{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:C("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:F.writable})}_modifyText(e,t){const i=Xl.caseBoundary.get(),n=Xl.singleLetters.get(),s=Xl.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Xl.caseBoundary=new ml("(\\p{Ll})(\\p{Lu})","gmu"),Xl.singleLetters=new ml("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Xl.underscoreBoundary=new ml("(\\S)(_)(\\S)","gm");let eb=Xl;fe(w5);fe(S5);fe(C5);fe(x5);fe(k5);fe(L5);fe(I5);fe(D5);fe(P1);fe(E5);fe(T5);fe(P5);fe(M5);fe(R5);fe(N5);fe(A5);fe(O5);fe(F5);fe(H5);fe(W5);ep.caseBoundary.isSupported()&&ep.singleLetters.isSupported()&&fe(ep);Qv.wordBoundary.isSupported()&&fe(Qv);Jv.wordBoundary.isSupported()&&fe(Jv);Yv.titleBoundary.isSupported()&&fe(Yv);eb.isSupported()&&fe(eb);var B5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_m=function(o,e){return function(t,i){e(t,i,o)}},$m;const iN=new dn("LinkedEditingInputVisible",!1),z5="linked-editing-decoration";var kc;let Of=(kc=class extends ft{static get(e){return e.getContribution($m.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new dt),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=iN.bindTo(t),this._debounceInformation=s.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new dt),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(r=>{(r.hasChanged(70)||r.hasChanged(94))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=t!==null&&(this._editor.getOption(70)||this._editor.getOption(94))&&this._providers.has(t);if(i===this._enabled&&!e||(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||t===null))return;this._localToDispose.add(vs.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new Tc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new Tc(0),a=c=>{this._rangeSyncTriggerPromise=r.trigger(()=>this._syncRanges(c))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{s()})),this._localToDispose.add(this._editor.onDidChangeModelContent(c=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const u=this._currentDecorations.getRange(0);if(u&&c.changes.every(f=>u.intersectRanges(f.range))){a(this._syncRangesToken);return}}s()})),this._localToDispose.add({dispose:()=>{n.dispose(),r.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const n=t.getValueInRange(i);if(this._currentWordPattern){const r=n.match(this._currentWordPattern);if((r?r[0].length:0)!==n.length)return this.clearRanges()}const s=[];for(let r=1,a=this._currentDecorations.length;r<a;r++){const c=this._currentDecorations.getRange(r);if(c)if(c.startLineNumber!==c.endLineNumber)s.push({range:c,text:n});else{let u=t.getValueInRange(c),f=n,g=c.startColumn,p=c.endColumn;const w=m_(u,f);g+=w,u=u.substr(w),f=f.substr(w);const m=rF(u,f);p-=m,u=u.substr(0,u.length-m),f=f.substr(0,f.length-m),(g!==p||f.length!==0)&&s.push({range:new K(c.startLineNumber,g,c.endLineNumber,p),text:f})}}if(s.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;const r=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",s),this._editor._getViewModel().setPrevEditOperationType(r)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequestCts&&(this._currentRequestCts.cancel(),this._currentRequestCts=null,this._currentRequestPosition=null)}async updateRanges(e=!1){if(!this._editor.hasModel()){this.clearRanges();return}const t=this._editor.getPosition();if(!this._enabled&&!e||this._editor.getSelections().length>1){this.clearRanges();return}const i=this._editor.getModel(),n=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===n){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const r=this._currentDecorations.getRange(0);if(r&&r.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=n;const s=this._currentRequestCts=new Ns;try{const r=new To(!1),a=await nN(this._providers,i,t,s.token);if(this._debounceInformation.update(i,r.elapsed()),s!==this._currentRequestCts||(this._currentRequestCts=null,n!==i.getVersionId()))return;let c=[];a!=null&&a.ranges&&(c=a.ranges),this._currentWordPattern=(a==null?void 0:a.wordPattern)||this._languageWordPattern;let u=!1;for(let g=0,p=c.length;g<p;g++)if(K.containsPosition(c[g],t)){if(u=!0,g!==0){const w=c[g];c.splice(g,1),c.unshift(w)}break}if(!u){this.clearRanges();return}const f=c.map(g=>({range:g,options:$m.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(f),this._syncRangesToken++}catch(r){Hc(r)||Pn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},$m=kc,kc.ID="editor.contrib.linkedEditing",kc.DECORATION=tn.register({description:"linked-editing",stickiness:0,className:z5}),kc);Of=$m=B5([_m(1,mn),_m(2,ei),_m(3,Is),_m(4,cr)],Of);class V5 extends Qe{constructor(){super({id:"editor.action.linkedEditing",label:C("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:xe.and(F.writable,F.hasRenameProvider),kbOpts:{kbExpr:F.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(as),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Dn.isUri(n)&&Jt.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},Pn):super.runCommand(e,t)}run(e,t){const i=Of.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const j5=bo.bindToContribution(Of.get);ii(new j5({id:"cancelLinkedEditingInput",precondition:iN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:F.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function nN(o,e,t,i){const n=o.ordered(e);return h0(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){rs(r);return}}),s=>!!s&&jo(s==null?void 0:s.ranges))}jt("editor.linkedEditingBackground",{dark:en.fromHex("#f00").transparent(.3),light:en.fromHex("#f00").transparent(.3),hcDark:en.fromHex("#f00").transparent(.3),hcLight:en.white},C("editorLinkedEditingBackground","Background color when the editor auto renames on type."));yo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(ei);return nN(i,e,t,Vi.None)});Gi(Of.ID,Of,1);fe(V5);let $5=class{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))}};class tb{constructor(e){this._disposables=new dt;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new $5(r,n));t=tb._union(t,s),mT(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let n,s,r,a;for(n=0,r=0,s=e.length,a=t.length;n<s&&r<a;){const c=e[n],u=t[r];if(K.areIntersectingOrTouching(c.range,u.range)){n++;continue}K.compareRangesUsingStarts(c.range,u.range)<0?(i.push(c),n++):(i.push(u),r++)}for(;n<s;n++)i.push(e[n]);for(;r<a;r++)i.push(t[r]);return i}}function sN(o,e,t){const i=[],n=o.ordered(e).reverse().map((s,r)=>Promise.resolve(s.provideLinks(e,t)).then(a=>{a&&(i[r]=[a,s])},rs));return Promise.all(n).then(()=>{const s=new tb(vl(i));return t.isCancellationRequested?(s.dispose(),new tb([])):s})}On.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;vn(t instanceof Dn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(ei),s=o.get(lo).getModel(t);if(!s)return[];const r=await sN(n,s,Vi.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(Vi.None);const a=r.links.slice(0);return r.dispose(),a});var U5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mm=function(o,e){return function(t,i){e(t,i,o)}},M1,tu;let Hp=(tu=class extends ft{static get(e){return e.getContribution(M1.ID)}constructor(e,t,i,n,s){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=n,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=s.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new bs(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new Gy(e));this._register(r.onMouseMoveOrRelevantKeyDown(([a,c])=>{this._onEditorMouseMove(a,c)})),this._register(r.onExecute(a=>{this.onEditorMouseUp(a)})),this._register(r.onCancel(a=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(a=>{a.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(a=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(a=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(a=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(a=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=Rs(t=>sN(this.providers,e,t));try{const t=new To(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){Pn(t)}finally{this.computePromise=null}}}updateDecorations(e){const t=this.editor.getOption(78)==="altKey",i=[],n=Object.keys(this.currentOccurrences);for(const r of n){const a=this.currentOccurrences[r];i.push(a.decorationId)}const s=[];if(e)for(const r of e)s.push(jh.decoration(r,t));this.editor.changeDecorations(r=>{const a=r.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let c=0,u=a.length;c<u;c++){const f=new jh(e[c],a[c]);this.currentOccurrences[f.decorationId]=f}})}_onEditorMouseMove(e,t){const i=this.editor.getOption(78)==="altKey";if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();const n=this.getLinkOccurrence(e.target.position);n&&this.editor.changeDecorations(s=>{n.activate(s,i),this.activeLinkDecorationId=n.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e=this.editor.getOption(78)==="altKey";if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:n}=e;n.resolve(Vi.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===fo.file&&s.startsWith(`${fo.file}:`)){const a=Dn.parse(s);if(a.scheme===fo.file){const c=aF(a);let u=null;c.startsWith("/./")||c.startsWith("\\.\\")?u=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(u=`.${c.substr(2)}`),u&&(s=lF(r,u))}}}return this.openerService.open(s,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},s=>{const r=s instanceof Error?s.message:s;r==="invalid"?this.notificationService.warn(C("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(C("missing.url","Failed to open this link because its target is missing.")):Pn(s)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const n=this.currentOccurrences[i.id];if(n)return n}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&((e=this.activeLinksList)==null||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}},M1=tu,tu.ID="editor.linkDetector",tu);Hp=M1=U5([mm(1,ua),mm(2,ao),mm(3,ei),mm(4,cr)],Hp);const pD={general:tn.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:tn.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class jh{static decoration(e,t){return{range:e.range,options:jh._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?pD.active:pD.general};return n.hoverMessage=q5(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,jh._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,jh._getOptions(this.link,t,!1))}}function q5(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?C("links.navigate.executeCmd","Execute command"):C("links.navigate.follow","Follow link"),n=e?Va?C("links.navigate.kb.meta.mac","cmd + click"):C("links.navigate.kb.meta","ctrl + click"):Va?C("links.navigate.kb.alt.mac","option + click"):C("links.navigate.kb.alt","alt + click");if(o.url){let s="";if(/^command:/i.test(o.url.toString())){const a=o.url.toString().match(/^command:([^?#]+)/);if(a){const c=a[1];s=C("tooltip.explanation","Execute command {0}",c)}}return new Js("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Js().appendText(`${i} (${n})`)}class G5 extends Qe{constructor(){super({id:"editor.action.openLink",label:C("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=Hp.get(t);if(!i||!t.hasModel())return;const n=t.getSelections();for(const s of n){const r=i.getLinkOccurrence(s.getEndPosition());r&&i.openLinkOccurrence(r,!1)}}}Gi(Hp.ID,Hp,1);fe(G5);const Hk=class Hk extends ft{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(t=>{const i=this._editor.getOption(118);i>=0&&t.target.type===6&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}};Hk.ID="editor.contrib.longLinesHelper";let ib=Hk;Gi(ib.ID,ib,2);const K5=jt("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},C("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);jt("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},C("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0);jt("editor.wordHighlightTextBackground",K5,C("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const Z5=jt("editor.wordHighlightBorder",{light:null,dark:null,hcDark:_u,hcLight:_u},C("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));jt("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:_u,hcLight:_u},C("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));jt("editor.wordHighlightTextBorder",Z5,C("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const X5=jt("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",C("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Y5=jt("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",C("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Q5=jt("editorOverviewRuler.wordHighlightTextForeground",RT,C("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),J5=tn.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:_s(Y5),position:Fa.Center},minimap:{color:_s(Dy),position:1}}),e$=tn.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:_s(Q5),position:Fa.Center},minimap:{color:_s(Dy),position:1}}),t$=tn.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:_s(RT),position:Fa.Center},minimap:{color:_s(Dy),position:1}}),i$=tn.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),n$=tn.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:_s(X5),position:Fa.Center},minimap:{color:_s(Dy),position:1}});function s$(o){return o===av.Write?J5:o===av.Text?e$:n$}function o$(o){return o?i$:t$}vy((o,e)=>{const t=o.getColor(cF);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var r$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},a$=function(o,e){return function(t,i){e(t,i,o)}},R1;function Bc(o,e){const t=e.filter(i=>!o.find(n=>n.equals(i)));if(t.length>=1){const i=t.map(s=>`line ${s.viewState.position.lineNumber} column ${s.viewState.position.column}`).join(", "),n=t.length===1?C("cursorAdded","Cursor added: {0}",i):C("cursorsAdded","Cursors added: {0}",i);ff(n)}}class l$ extends Qe{constructor(){super({id:"editor.action.insertCursorAbove",label:C("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:F.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:At.MenubarSelectionMenu,group:"3_multi",title:C({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let n=!0;i&&i.logicalLine===!1&&(n=!1);const s=t._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const r=s.getCursorStates();s.setCursorStates(i.source,3,u0.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Bc(r,s.getCursorStates())}}class c$ extends Qe{constructor(){super({id:"editor.action.insertCursorBelow",label:C("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:F.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:At.MenubarSelectionMenu,group:"3_multi",title:C({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let n=!0;i&&i.logicalLine===!1&&(n=!1);const s=t._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const r=s.getCursorStates();s.setCursorStates(i.source,3,u0.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Bc(r,s.getCursorStates())}}class d$ extends Qe{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:C("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:F.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:At.MenubarSelectionMenu,group:"3_multi",title:C({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let n=e.startLineNumber;n<e.endLineNumber;n++){const s=t.getLineMaxColumn(n);i.push(new _i(n,s,n,s))}e.endColumn>1&&i.push(new _i(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=t.getSelections(),s=t._getViewModel(),r=s.getCursorStates(),a=[];n.forEach(c=>this.getCursorsForSelection(c,i,a)),a.length>0&&t.setSelections(a),Bc(r,s.getCursorStates())}}class u$ extends Qe{constructor(){super({id:"editor.action.addCursorsToBottom",label:C("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=t.getModel().getLineCount(),s=[];for(let c=i[0].startLineNumber;c<=n;c++)s.push(new _i(c,i[0].startColumn,c,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Bc(a,r.getCursorStates())}}class h$ extends Qe{constructor(){super({id:"editor.action.addCursorsToTop",label:C("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),n=[];for(let a=i[0].startLineNumber;a>=1;a--)n.push(new _i(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Bc(r,s.getCursorStates())}}class vm{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class Wp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new Wp(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let n=!1,s,r;const a=e.getSelections();a.length===1&&a[0].isEmpty()?(n=!0,s=!0,r=!0):(s=i.wholeWord,r=i.matchCase);const c=e.getSelection();let u,f=null;if(c.isEmpty()){const g=e.getConfiguredWordAtPosition(c.getStartPosition());if(!g)return null;u=g.word,f=new _i(c.startLineNumber,g.startColumn,c.startLineNumber,g.endColumn)}else u=e.getModel().getValueInRange(c).replace(/\r\n/g,`
|
|
57
|
+
`);return new Wp(e,t,n,u,s,r,f)}constructor(e,t,i,n,s,r,a){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=n,this.wholeWord=s,this.matchCase=r,this.currentMatch=a}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new vm(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new vm(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const n=this.currentMatch;return this.currentMatch=null,n}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new _i(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new vm(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new vm(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const n=this.currentMatch;return this.currentMatch=null,n}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new _i(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824)}}const Yb=class Yb extends ft{static get(e){return e.getContribution(Yb.ID)}constructor(e){super(),this._sessionDispose=this._register(new dt),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=Wp.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(n=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(n=>{(n.matchCase||n.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new _i(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const n=e.getState().matchCase;if(!oN(this._editor.getModel(),t,n)){const r=this._editor.getModel(),a=[];for(let c=0,u=t.length;c<u;c++)a[c]=this._expandEmptyToWord(r,t[c]);this._editor.setSelections(a);return}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(e){if(!this._editor.hasModel())return;let t=null;const i=e.getState();if(i.isRevealed&&i.searchString.length>0&&i.isRegex){const n=this._editor.getModel();i.searchScope?t=n.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824):t=n.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const n=this._editor.getSelection();for(let s=0,r=t.length;s<r;s++){const a=t[s];if(a.range.intersectRanges(n)){t[s]=t[0],t[0]=a;break}}this._setSelections(t.map(s=>new _i(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};Yb.ID="editor.contrib.multiCursorController";let Ff=Yb;class Yf extends Qe{run(e,t){const i=Ff.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=mo.get(t);if(r)this._run(i,r);else{const a=e.get(Ti).createInstance(mo,t);this._run(i,a),a.dispose()}Bc(s,n.getCursorStates())}}}class f$ extends Yf{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:C("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:F.focus,primary:2082,weight:100},menuOpts:{menuId:At.MenubarSelectionMenu,group:"3_multi",title:C({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class g$ extends Yf{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:C("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:At.MenubarSelectionMenu,group:"3_multi",title:C({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class p$ extends Yf{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:C("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:F.focus,primary:us(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class _$ extends Yf{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:C("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}class m$ extends Yf{constructor(){super({id:"editor.action.selectHighlights",label:C("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:F.focus,primary:3114,weight:100},menuOpts:{menuId:At.MenubarSelectionMenu,group:"3_multi",title:C({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class v$ extends Yf{constructor(){super({id:"editor.action.changeAll",label:C("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:xe.and(F.writable,F.editorTextFocus),kbOpts:{kbExpr:F.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class b${constructor(e,t,i,n,s){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=n,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,s&&this._model===s._model&&this._searchText===s._searchText&&this._matchCase===s._matchCase&&this._wordSeparators===s._wordSeparators&&this._modelVersionId===s._modelVersionId&&(this._cachedFindMatches=s._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(K.compareRangesUsingStarts)),this._cachedFindMatches}}var iu;let nb=(iu=class extends ft{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new bs(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(n=>{this._isEnabled=e.getOption(109)})),this._register(e.onDidChangeCursorSelection(n=>{this._isEnabled&&(n.selection.isEmpty()?n.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(n=>{this._setState(null)})),this._register(e.onDidChangeModelContent(n=>{this._isEnabled&&this.updateSoon.schedule()}));const i=mo.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(R1._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t||!i.hasModel())return null;const n=i.getSelection();if(n.startLineNumber!==n.endLineNumber)return null;const s=Ff.get(i);if(!s)return null;const r=mo.get(i);if(!r)return null;let a=s.getSession(r);if(!a){const f=i.getSelections();if(f.length>1){const p=r.getState().matchCase;if(!oN(i.getModel(),f,p))return null}a=Wp.create(i,r)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const c=r.getState(),u=c.matchCase;if(c.isRevealed){let f=c.searchString;u||(f=f.toLowerCase());let g=a.searchText;if(u||(g=g.toLowerCase()),f===g&&a.matchCase===c.matchCase&&a.wholeWord===c.wholeWord&&!c.isRegex)return null}return new b$(i.getModel(),a.searchText,a.matchCase,a.wholeWord?i.getOption(132):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),n=this.editor.getSelections();n.sort(K.compareRangesUsingStarts);const s=[];for(let u=0,f=0,g=i.length,p=n.length;u<g;){const w=i[u];if(f>=p)s.push(w),u++;else{const m=K.compareRangesUsingStarts(w,n[f]);m<0?((n[f].isEmpty()||!K.areIntersecting(w,n[f]))&&s.push(w),u++):(m>0||u++,f++)}}const r=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,c=s.map(u=>({range:u,options:o$(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},R1=iu,iu.ID="editor.contrib.selectionHighlighter",iu);nb=R1=r$([a$(1,ei)],nb);function oN(o,e,t){const i=_D(o,e[0],!t);for(let n=1,s=e.length;n<s;n++){const r=e[n];if(r.isEmpty())return!1;const a=_D(o,r,!t);if(i!==a)return!1}return!0}function _D(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class y$ extends Qe{constructor(){super({id:"editor.action.focusNextCursor",label:C("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:C("mutlicursor.focusNextCursor.description","Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),r=s.shift();r&&(s.push(r),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),Bc(s,n.getCursorStates()))}}class w$ extends Qe{constructor(){super({id:"editor.action.focusPreviousCursor",label:C("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:C("mutlicursor.focusPreviousCursor.description","Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(e,t,i){if(!t.hasModel())return;const n=t._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const s=Array.from(n.getCursorStates()),r=s.pop();r&&(s.unshift(r),n.setCursorStates(i.source,3,s),n.revealPrimaryCursor(i.source,!0),Bc(s,n.getCursorStates()))}}Gi(Ff.ID,Ff,4);Gi(nb.ID,nb,1);fe(l$);fe(c$);fe(d$);fe(f$);fe(g$);fe(p$);fe(_$);fe(m$);fe(v$);fe(u$);fe(h$);fe(y$);fe(w$);const S$="editor.action.inlineEdit.accept",C$="editor.action.inlineEdit.reject",x$="editor.action.inlineEdit.jumpTo",k$="editor.action.inlineEdit.jumpBack";var L$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},I$=function(o,e){return function(t,i){e(t,i,o)}};const iS="inline-edit";let N1=class extends ft{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=$o(this,!1),this.currentTextModel=xo(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=xn(this,n=>{var P;if(this.isDisposed.read(n))return;const s=this.currentTextModel.read(n);if(s!==this.model.targetTextModel.read(n))return;const r=this.model.ghostText.read(n);if(!r)return;let a=(P=this.model.range)==null?void 0:P.read(n);a&&a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn&&(a=void 0);const c=(a?a.startLineNumber===a.endLineNumber:!0)&&r.parts.length===1&&r.parts[0].lines.length===1,u=r.parts.length===1&&r.parts[0].lines.every(A=>A.length===0),f=[],g=[];function p(A,U){if(g.length>0){const B=g[g.length-1];U&&B.decorations.push(new bp(B.content.length+1,B.content.length+1+A[0].length,U,0)),B.content+=A[0],A=A.slice(1)}for(const B of A)g.push({content:B,decorations:U?[new bp(1,B.length+1,U,0)]:[]})}const w=s.getLineContent(r.lineNumber);let m,x=0;if(!u&&(c||!a)){for(const A of r.parts){let U=A.lines;a&&!c&&(p(U,iS),U=[]),m===void 0?(f.push({column:A.column,text:U[0],preview:A.preview}),U=U.slice(1)):p([w.substring(x,A.column-1)],void 0),U.length>0&&(p(U,iS),m===void 0&&A.column<=w.length&&(m=A.column)),x=A.column-1}m!==void 0&&p([w.substring(x)],void 0)}const k=m!==void 0?new BR(m,w.length+1):void 0,E=c||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:f,additionalLines:g,hiddenRange:k,lineNumber:E,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:c,isPureRemove:u}}),this.decorations=xn(this,n=>{const s=this.uiState.read(n);if(!s)return[];const r=[];if(s.hiddenRange&&r.push({range:s.hiddenRange.toRange(s.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),s.range){const a=[];if(s.isSingleLine)a.push(s.range);else if(!s.isPureRemove){const c=s.range.endLineNumber-s.range.startLineNumber;for(let u=0;u<c;u++){const f=s.range.startLineNumber+u,g=s.targetTextModel.getLineFirstNonWhitespaceColumn(f),p=s.targetTextModel.getLineLastNonWhitespaceColumn(f),w=new K(f,g,f,p);a.push(w)}}for(const c of a)r.push({range:c,options:f0})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new K(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:g0})}for(const a of s.inlineTexts)r.push({range:K.fromPositions(new Jt(s.lineNumber,a.column)),options:{description:iS,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:xh.Left},showIfCollapsed:!0}});return r}),this._register(Vn(()=>{this.isDisposed.set(!0,void 0)})),this._register(zR(this.editor,this.decorations))}};N1=L$([I$(2,fa)],N1);var hk=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Da=function(o,e){return function(t,i){e(t,i,o)}},Um;let A1=class extends ft{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=xo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=xn(this,n=>{var c,u;const s=(c=this.model.read(n))==null?void 0:c.model.ghostText.read(n);if(!this.alwaysShowToolbar.read(n)||!s||s.parts.length===0)return this.sessionPosition=void 0,null;const r=s.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==s.lineNumber&&(this.sessionPosition=void 0);const a=new Jt(s.lineNumber,Math.min(r,((u=this.sessionPosition)==null?void 0:u.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(h_((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(O1,this.editor,!0,this.position));e.addContentWidget(a),s.add(Vn(()=>e.removeContentWidget(a)))}))}};A1=hk([Da(2,Ti)],A1);var Lc;let O1=(Lc=class extends ft{constructor(e,t,i,n,s,r){super(),this.editor=e,this.withBorder=t,this._position=i,this._contextKeyService=s,this._menuService=r,this.id=`InlineEditHintsContentWidget${Um.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Lr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[Lr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(At.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(F1,this.nodes.toolBar,this.editor,At.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof mf)return n.createInstance(D$,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{Um._dropDownVisible=a})),this._register(Kn(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(Kn(a=>{const c=[];for(const[u,f]of this.inlineCompletionsActionsMenus.getActions())for(const g of f)g instanceof mf&&c.push(g);c.length>0&&c.unshift(new fp),this.toolBar.setAdditionalSecondaryActions(c)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},Um=Lc,Lc._dropDownVisible=!1,Lc.id=0,Lc);O1=Um=hk([Da(3,Ti),Da(4,mn),Da(5,Ou)],O1);class D$ extends OE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=Lr("div.keybinding").root;this._register(new Kx(t,Zx,{disableTitle:!0,...FE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let F1=class extends HE{constructor(e,t,i,n,s,r,a,c,u,f){super(e,{resetMenu:i,...n},s,r,a,c,u,f),this.editor=t,this.menuId=i,this.options2=n,this.menuService=s,this.contextKeyService=r,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,c,u;const e=[],t=[];t0(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(u=(c=this.options2)==null?void 0:c.toolbarOptions)==null?void 0:u.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){za(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};F1=hk([Da(4,Ou),Da(5,mn),Da(6,Bf),Da(7,hs),Da(8,Ls),Da(9,ha)],F1);var rN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qm=function(o,e){return function(t,i){e(t,i,o)}},Ag,H1;function*E$(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function nS(o){var i;const e=((i=o[0].match(/^\s*/))==null?void 0:i[0])??"",t=e.length;return{text:o.map(n=>n.replace(new RegExp("^"+e),"")),shift:t}}var nu;let W1=(nu=class extends ft{static _createUniqueUri(){return Dn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(Ag._modelId++)})}constructor(e,t,i,n,s){super(),this._editor=e,this._model=t,this._instantiationService=i,this._diffProviderFactoryService=n,this._modelService=s,this._position=xn(this,r=>{const a=this._model.read(r);if(!a||a.text.length===0||a.range.startLineNumber===a.range.endLineNumber&&!(a.range.startColumn===a.range.endColumn&&a.range.startColumn===1))return null;const c=this._editor.getModel();if(!c)return null;const u=Array.from(E$(a.range.startLineNumber,a.range.endLineNumber+1)),f=u.map(x=>c.getLineLastNonWhitespaceColumn(x)),g=Math.max(...f),p=u[f.indexOf(g)],w=new Jt(p,g);return{top:a.range.startLineNumber,left:w}}),this._text=xn(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const c=nS(a.text.split(`
|
|
58
|
+
`));return{text:c.text.join(`
|
|
59
|
+
`),shift:c.shift}}),this._originalModel=Pc(()=>this._modelService.createModel("",null,Ag._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Pc(()=>this._modelService.createModel("",null,Ag._createUniqueUri())).keepObserved(this._store),this._diff=xn(this,r=>{var a,c;return(c=(a=this._diffPromise.read(r))==null?void 0:a.promiseResult.read(r))==null?void 0:c.data}),this._diffPromise=xn(this,r=>{const a=this._model.read(r);if(!a)return;const c=this._editor.getModel();if(!c)return;const u=nS(c.getValueInRange(a.range).split(`
|
|
60
|
+
`)).text.join(`
|
|
61
|
+
`),f=nS(a.text.split(`
|
|
62
|
+
`)).text.join(`
|
|
63
|
+
`);this._originalModel.get().setValue(u),this._modifiedModel.get().setValue(f);const g=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return NT.fromFn(async()=>{const p=await g.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},Vi.None);if(!p.identical)return p.changes})}),this._register(h_((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const u=a.add(this._instantiationService.createInstance(B1,this._editor,this._position,this._text.map(f=>f.text),this._text.map(f=>f.shift),this._diff));e.addOverlayWidget(u),a.add(Vn(()=>e.removeOverlayWidget(u)))}))}},Ag=nu,nu._modelId=0,nu);W1=Ag=rN([qm(2,Ti),qm(3,p0),qm(4,lo)],W1);var su;let B1=(su=class extends ft{constructor(e,t,i,n,s,r){var a;super(),this._editor=e,this._position=t,this._text=i,this._shift=n,this._diff=s,this._instantiationService=r,this.id=`InlineEditSideBySideContentWidget${H1.id++}`,this.allowEditorOverflow=!1,this._nodes=Vt("div.inlineEditSideBySide",void 0),this._scrollChanged=yd("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Fr,this._nodes,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,scrollbar:{vertical:"hidden",horizontal:"hidden",alwaysConsumeMouseWheel:!1,handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off",wrappingIndent:"none",wrappingStrategy:void 0},{contributions:[],isSimpleWidget:!0},this._editor)),this._previewEditorObs=Ta(this._previewEditor),this._editorObs=Ta(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(ic,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??mp,ic.DEFAULT_CREATION_OPTIONS,null)),this._setText=xn(c=>{const u=this._text.read(c);u&&this._previewTextModel.setValue(u)}).recomputeInitiallyAndOnChange(this._store),this._decorations=xn(this,c=>{this._setText.read(c);const u=this._position.read(c);if(!u)return{org:[],mod:[]};const f=this._diff.read(c);if(!f)return{org:[],mod:[]};const g=[],p=[];if(f.length===1&&f[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const w=this._shift.get(),m=x=>new K(x.startLineNumber+u.top-1,x.startColumn+w,x.endLineNumber+u.top-1,x.endColumn+w);for(const x of f)if(x.original.isEmpty||g.push({range:m(x.original.toInclusiveRange()),options:g0}),x.modified.isEmpty||p.push({range:x.modified.toInclusiveRange(),options:AT}),x.modified.isEmpty||x.original.isEmpty)x.original.isEmpty||g.push({range:m(x.original.toInclusiveRange()),options:OT}),x.modified.isEmpty||p.push({range:x.modified.toInclusiveRange(),options:FT});else for(const k of x.innerChanges||[])x.original.contains(k.originalRange.startLineNumber)&&g.push({range:m(k.originalRange),options:k.originalRange.isEmpty()?HT:f0}),x.modified.contains(k.modifiedRange.startLineNumber)&&p.push({range:k.modifiedRange,options:k.modifiedRange.isEmpty()?WT:BT});return{org:g,mod:p}}),this._originalDecorations=xn(this,c=>this._decorations.read(c).org),this._modifiedDecorations=xn(this,c=>this._decorations.read(c).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register(Kn(c=>{const u=this._previewEditorObs.contentWidth.read(c),f=this._text.read(c).split(`
|
|
64
|
+
`).length-1,g=this._editor.getOption(67)*f;u<=0||this._previewEditor.layout({height:g,width:u})})),this._register(Kn(c=>{this._position.read(c),this._editor.layoutOverlayWidget(this)})),this._register(Kn(c=>{this._scrollChanged.read(c),this._position.read(c)&&this._editor.layoutOverlayWidget(this)}))}getId(){return this.id}getDomNode(){return this._nodes}getPosition(){const e=this._position.get();if(!e)return null;const t=this._editor.getLayoutInfo(),i=this._editor.getScrolledVisiblePosition(new Jt(e.top,1));if(!i)return null;const n=i.top-1,s=this._editor.getOffsetForColumn(e.left.lineNumber,e.left.column);return{preference:{left:t.contentLeft+s+10,top:n}}}},H1=su,su.id=0,su);B1=H1=rN([qm(5,Ti)],B1);var T$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Yc=function(o,e){return function(t,i){e(t,i,o)}},Og,or;let no=(or=class extends ft{static get(e){return e.getContribution(Og.ID)}constructor(e,t,i,n,s,r,a,c){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=n,this._commandService=s,this._configurationService=r,this._diffProviderFactoryService=a,this._modelService=c,this._isVisibleContext=Og.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=Og.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=$o(this,void 0),this._currentWidget=Pc(this._currentEdit,m=>{const x=this._currentEdit.read(m);if(!x)return;const k=x.range.endLineNumber,E=x.range.endColumn,P=x.text.endsWith(`
|
|
65
|
+
`)&&!(x.range.startLineNumber===x.range.endLineNumber&&x.range.startColumn===x.range.endColumn)?x.text.slice(0,-1):x.text,A=new Rp(k,[new Ov(E,P,!1)]),U=x.range.startLineNumber===x.range.endLineNumber&&A.parts.length===1&&A.parts[0].lines.length===1,B=x.text==="";return!U&&!B?void 0:this.instantiationService.createInstance(N1,this.editor,{ghostText:cl(A),minReservedLineCount:cl(0),targetTextModel:cl(this.editor.getModel()??void 0),range:cl(x.range)})}),this._isAccepting=$o(this,!1),this._enabled=xo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=xo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const u=yd("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(Kn(m=>{this._enabled.read(m)&&(u.read(m),!this._isAccepting.read(m)&&this.getInlineEdit(e,!0))}));const f=xo(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(Kn(m=>{if(!this._enabled.read(m))return;const x=f.read(m);x&&this.checkCursorPosition(x)})),this._register(Kn(m=>{const x=this._currentEdit.read(m);if(this._isCursorAtInlineEditContext.set(!1),!x){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const k=e.getPosition();k&&this.checkCursorPosition(k)}));const g=yd("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(Kn(async m=>{var x;this._enabled.read(m)&&(g.read(m),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((x=this._currentRequestCts)==null||x.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=yd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(Kn(m=>{this._enabled.read(m)&&(p.read(m),this.getInlineEdit(e,!0))}));const w=this._register(cT());this._register(Kn(m=>{const x=this._fontFamily.read(m);w.setStyle(x===""||x==="default"?"":`
|
|
66
|
+
.monaco-editor .inline-edit-decoration,
|
|
67
|
+
.monaco-editor .inline-edit-decoration-preview,
|
|
68
|
+
.monaco-editor .inline-edit {
|
|
69
|
+
font-family: ${x};
|
|
70
|
+
}`)})),this._register(new A1(this.editor,this._currentWidget,this.instantiationService)),this._register(new W1(this.editor,this._currentEdit,this.instantiationService,this._diffProviderFactoryService,this._modelService))}checkCursorPosition(e){if(!this._currentEdit){this._isCursorAtInlineEditContext.set(!1);return}const t=this._currentEdit.get();if(!t){this._isCursorAtInlineEditContext.set(!1);return}this._isCursorAtInlineEditContext.set(K.containsPosition(t.range,e))}validateInlineEdit(e,t){var i;if(t.text.includes(`
|
|
71
|
+
`)&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(t.range.startColumn!==1)return!1;const s=t.range.endLineNumber,r=t.range.endColumn,a=((i=e.getModel())==null?void 0:i.getLineLength(s))??0;if(r!==a+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const i=e.getModel();if(!i)return;const n=i.getVersionId(),s=this.languageFeaturesService.inlineEditProvider.all(i);if(s.length===0)return;const r=s[0];this._currentRequestCts=new Ns;const a=this._currentRequestCts.token,c=t?LL.Automatic:LL.Invoke;if(t&&await P$(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const f=await r.provideInlineEdit(i,{triggerKind:c},a);if(f&&!(a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)&&this.validateInlineEdit(e,f))return f}async getInlineEdit(e,t){this._isCursorAtInlineEditContext.set(!1),await this.clear();const i=await this.fetchInlineEdit(e,t);i&&this._currentEdit.set(i,void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){this._isAccepting.set(!0,void 0);const e=this._currentEdit.get();if(!e)return;let t=e.text;e.text.startsWith(`
|
|
72
|
+
`)&&(t=e.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[Qn.replace(K.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,rs),this.freeEdit(e),Fu(i=>{this._currentEdit.set(void 0,i),this._isAccepting.set(!1,i)})}jumpToCurrent(){var i;this._jumpBackPosition=(i=this.editor.getSelection())==null?void 0:i.getStartPosition();const e=this._currentEdit.get();if(!e)return;const t=Jt.lift({lineNumber:e.range.startLineNumber,column:e.range.startColumn});this.editor.setPosition(t),this.editor.revealPositionInCenterIfOutsideViewport(t)}async clear(e=!0){const t=this._currentEdit.get();t&&(t!=null&&t.rejected)&&e&&await this._commandService.executeCommand(t.rejected.id,...t.rejected.arguments||[]).then(void 0,rs),t&&this.freeEdit(t),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);i.length!==0&&i[0].freeInlineEdit(e)}},Og=or,or.ID="editor.contrib.inlineEditController",or.inlineEditVisibleKey="inlineEditVisible",or.inlineEditVisibleContext=new dn(or.inlineEditVisibleKey,!1),or.cursorAtInlineEditKey="cursorAtInlineEdit",or.cursorAtInlineEditContext=new dn(or.cursorAtInlineEditKey,!1),or);no=Og=T$([Yc(1,Ti),Yc(2,mn),Yc(3,ei),Yc(4,Ls),Yc(5,$n),Yc(6,p0),Yc(7,lo)],no);function P$(o,e){return new Promise(t=>{let i;const n=setTimeout(()=>{i&&i.dispose(),t()},o);e&&(i=e.onCancellationRequested(()=>{clearTimeout(n),i&&i.dispose(),t()}))})}let M$=class extends Qe{constructor(){super({id:S$,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:xe.and(F.writable,no.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:xe.and(F.writable,no.inlineEditVisibleContext,no.cursorAtInlineEditContext)}],menuOpts:[{menuId:At.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=no.get(t);await(i==null?void 0:i.accept())}};class R$ extends Qe{constructor(){const e=xe.and(F.writable,xe.not(no.inlineEditVisibleKey));super({id:"editor.action.inlineEdit.trigger",label:"Trigger Inline Edit",alias:"Trigger Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e}})}async run(e,t){const i=no.get(t);i==null||i.trigger()}}class N$ extends Qe{constructor(){const e=xe.and(F.writable,no.inlineEditVisibleContext,xe.not(no.cursorAtInlineEditKey));super({id:x$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:At.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=no.get(t);i==null||i.jumpToCurrent()}}class A$ extends Qe{constructor(){const e=xe.and(F.writable,no.cursorAtInlineEditContext);super({id:k$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:At.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=no.get(t);i==null||i.jumpBack()}}class O$ extends Qe{constructor(){const e=xe.and(F.writable,no.inlineEditVisibleContext);super({id:C$,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:At.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=no.get(t);await(i==null?void 0:i.clear())}}fe(M$);fe(O$);fe(N$);fe(A$);fe(R$);Gi(no.ID,no,3);const F$="editor.action.inlineEdits.accept",H$="editor.action.inlineEdits.showPrevious",W$="editor.action.inlineEdits.showNext",Hf=new dn("inlineEditsVisible",!1,C("inlineEditsVisible","Whether an inline edit is visible")),B$=new dn("inlineEditsIsPinned",!1,C("isPinned","Whether an inline edit is visible")),Wk=class Wk extends ft{constructor(e){super(),this._editor=e,this._editorObs=Ta(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=al({owner:this,equalsFn:zT},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=z$(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=WE((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=Lr("div.editorPlaceholder");i.add(Kn(s=>{const r=this._state.read(s),a=(r==null?void 0:r.placeholder)!==void 0;n.root.style.display=a?"block":"none",n.root.innerText=(r==null?void 0:r.placeholder)??""})),i.add(Kn(s=>{const r=this._editorObs.layoutInfo.read(s);n.root.style.left=`${r.contentLeft}px`,n.root.style.width=r.contentWidth-r.verticalScrollbarWidth+"px",n.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),i.add(Kn(s=>{n.root.style.fontFamily=this._editorObs.getOption(49).read(s),n.root.style.fontSize=this._editorObs.getOption(52).read(s)+"px",n.root.style.lineHeight=this._editorObs.getOption(67).read(s)+"px"})),i.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:cl(0),position:cl(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};Wk.ID="editor.contrib.placeholderText";let Bp=Wk;function z$(o,e){return yy(o,(t,i)=>i===!0?!0:e(t))}var V$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},j$=function(o,e){return function(t,i){e(t,i,o)}};class $${constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let z1=class extends ft{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=Ta(this._editor),this._elements=Lr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[Lr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[Lr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),Lr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),Lr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),Ju("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Ju("defs",[Ju("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Ju("stop",{offset:"0%",class:"gradient-stop"}),Ju("stop",{offset:"100%",class:"gradient-stop"})])]),Ju("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(ic,"",mp,ic.DEFAULT_CREATION_OPTIONS,null)),this._setText=xn(r=>{const a=this._edit.read(r);a&&this._previewTextModel.setValue(a.newLines.join(`
|
|
73
|
+
`))}).recomputeInitiallyAndOnChange(this._store),this._promptTextModel=this._register(this._instantiationService.createInstance(ic,"",mp,ic.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(Fr,this._elements.promptEditor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,placeholder:"Describe the change you want...",fontFamily:dF},{contributions:uF.getSomeEditorContributions([Tr.ID,Bp.ID,Tf.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Fr,this._elements.editor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0},{contributions:[]},this._editor)),this._previewEditorObs=Ta(this._previewEditor),this._decorations=xn(this,r=>{var f;this._setText.read(r);const a=(f=this._edit.read(r))==null?void 0:f.changes;if(!a)return[];const c=[],u=[];if(a.length===1&&a[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const g of a)if(g.original.isEmpty||c.push({range:g.original.toInclusiveRange(),options:g0}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:AT}),g.modified.isEmpty||g.original.isEmpty)g.original.isEmpty||c.push({range:g.original.toInclusiveRange(),options:OT}),g.modified.isEmpty||u.push({range:g.modified.toInclusiveRange(),options:FT});else for(const p of g.innerChanges||[])g.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?HT:f0}),g.modified.contains(p.modifiedRange.startLineNumber)&&u.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?WT:BT});return u}),this._layout1=xn(this,r=>{const a=this._editor.getModel(),c=this._edit.read(r);if(!c)return null;const u=c.range;let f=0;for(let w=u.startLineNumber;w<u.endLineNumberExclusive;w++){const m=a.getLineMaxColumn(w),x=this._editor.getOffsetForColumn(w,m);f=Math.max(f,x)}return{left:this._editor.getLayoutInfo().contentLeft+f}}),this._layout=xn(this,r=>{const a=this._edit.read(r);if(!a)return null;const c=a.range,u=this._editorObs.scrollLeft.read(r),f=this._layout1.read(r).left+20-u,g=this._editor.getTopForLineNumber(c.startLineNumber)-this._editorObs.scrollTop.read(r),p=this._editor.getTopForLineNumber(c.endLineNumberExclusive)-this._editorObs.scrollTop.read(r),w=new Mh(f,g),m=new Mh(f,p),x=p-g,k=50,E=this._editor.getOption(67)*a.newLines.length,P=x-E,A=new Mh(f+k,g+P/2),U=new Mh(f+k,p-P/2);return{topCode:w,bottomCode:m,codeHeight:x,topEdit:A,bottomEdit:U,editHeight:E}});const s=xn(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(hF(this._elements.root,{display:xn(this,r=>s.read(r)?"block":"none")})),this._register(fF(this._editor.getDomNode(),this._elements.root)),this._register(Ta(e).createOverlayWidget({domNode:this._elements.root,position:cl(null),allowEditorOverflow:!1,minContentWidthInPx:xn(r=>{var u;const a=(u=this._layout1.read(r))==null?void 0:u.left;if(a===void 0)return 0;const c=this._previewEditorObs.contentWidth.read(r);return a+c})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register(Kn(r=>{const a=this._layout.read(r);if(!a)return;const{topCode:c,bottomCode:u,topEdit:f,bottomEdit:g,editHeight:p}=a,w=10,m=0,x=40,k=new q$().moveTo(c).lineTo(c.deltaX(w)).curveTo(c.deltaX(w+x),f.deltaX(-x-m),f.deltaX(-m)).lineTo(f).lineTo(g).lineTo(g.deltaX(-m)).curveTo(g.deltaX(-x-m),u.deltaX(w+x),u.deltaX(w)).lineTo(u).build();this._elements.path.setAttribute("d",k),this._elements.editorContainer.style.top=`${f.y}px`,this._elements.editorContainer.style.left=`${f.x}px`,this._elements.editorContainer.style.height=`${p}px`;const E=this._previewEditorObs.contentWidth.read(r);this._previewEditor.layout({height:p,width:E})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(G$(U$(this._userPrompt,r=>r??"",r=>r),Ta(this._promptEditor).value)),this._register(Kn(r=>{const a=Ta(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};z1=V$([j$(3,Ti)],z1);function U$(o,e,t){return VT(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class Mh{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new Mh(this.x+e,this.y)}}class q${constructor(){this._data=""}moveTo(e){return this._data+=`M ${e.x} ${e.y} `,this}lineTo(e){return this._data+=`L ${e.x} ${e.y} `,this}curveTo(e,t,i){return this._data+=`C ${e.x} ${e.y} ${t.x} ${t.y} ${i.x} ${i.y} `,this}build(){return this._data}}function G$(o,e){const t=new dt;return t.add(Kn(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(Kn(i=>{const n=e.read(i);o.set(n,void 0)})),t}var K$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sS=function(o,e){return function(t,i){e(t,i,o)}},Fg,ou;let V1=(ou=class extends ft{static _createUniqueUri(){return Dn.from({scheme:"inline-edits",path:new Date().toString()+String(Fg._modelId++)})}constructor(e,t,i,n,s,r,a){super(),this.textModel=e,this._textModelVersionId=t,this._selection=i,this._debounceValue=n,this.languageFeaturesService=s,this._diffProviderFactoryService=r,this._modelService=a,this._forceUpdateExplicitlySignal=l0(this),this._selectedInlineCompletionId=$o(this,void 0),this._isActive=$o(this,!1),this._originalModel=Pc(()=>this._modelService.createModel("",null,Fg._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Pc(()=>this._modelService.createModel("",null,Fg._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new X$(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=$o(this,void 0),this.inlineEdit=xn(this,c=>{var u,f;return(f=(u=this._inlineEdit.read(c))==null?void 0:u.promiseResult.read(c))==null?void 0:f.data}),this._inlineEdit=xn(this,c=>{const u=this.selectedInlineEdit.read(c);if(!u)return;const f=u.inlineCompletion.range;if(u.inlineCompletion.insertText.trim()==="")return;let g=u.inlineCompletion.insertText.split(/\r\n|\r|\n/);function p(k){var P;const E=((P=k[0].match(/^\s*/))==null?void 0:P[0])??"";return k.map(A=>A.replace(new RegExp("^"+E),""))}g=p(g);let m=this.textModel.getValueInRange(f).split(/\r\n|\r|\n/);m=p(m),this._originalModel.get().setValue(m.join(`
|
|
74
|
+
`)),this._modifiedModel.get().setValue(g.join(`
|
|
75
|
+
`));const x=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return NT.fromFn(async()=>{const k=await x.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},Vi.None);if(!k.identical)return new $$(gF.fromRangeInclusive(f),p(g),k.changes)})}),this._fetchStore=this._register(new dt),this._inlineEditsFetchResult=kS(this,void 0),this._inlineEdits=al({owner:this,equalsFn:zT},c=>{var u;return((u=this._inlineEditsFetchResult.read(c))==null?void 0:u.completions.map(f=>new Z$(f)))??[]}),this._fetchInlineEditsPromise=vT({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:gl.Automatic}),handleChange:(c,u)=>(c.didChange(this._forceUpdateExplicitlySignal)&&(u.inlineCompletionTriggerKind=gl.Explicit),!0)},async(c,u)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(c),this._textModelVersionId.read(c);function f(x,k){return k(x)}const g=this._pinnedRange.range.read(c)??f(this._selection.read(c),x=>x.isEmpty()?void 0:x);if(!g){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const p={triggerKind:u.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(c)},w=IS(this._fetchStore);await Iy(200,w);const m=await VR(this.languageFeaturesService.inlineCompletionsProvider,g,this.textModel,p,w);w.isCancellationRequested||this._inlineEditsFetchResult.set(m,void 0)}),this._filteredInlineEditItems=al({owner:this,equalsFn:LS()},c=>this._inlineEdits.read(c)),this.selectedInlineCompletionIndex=xn(this,c=>{const u=this._selectedInlineCompletionId.read(c),f=this._filteredInlineEditItems.read(c),g=this._selectedInlineCompletionId===void 0?-1:f.findIndex(p=>p.semanticId===u);return g===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):g}),this.selectedInlineEdit=xn(this,c=>{const u=this._filteredInlineEditItems.read(c),f=this.selectedInlineCompletionIndex.read(c);return u[f]}),this._register(bT(this._fetchInlineEditsPromise))}async triggerExplicitly(e){sv(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){sv(e,t=>{this.userPrompt.set(void 0,t),this._isActive.set(!1,t),this._inlineEditsFetchResult.set(void 0,t),this._pinnedRange.setRange(void 0,t)})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineEditItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){if(e.getModel()!==this.textModel)throw new vf;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},Fg=ou,ou._modelId=0,ou);V1=Fg=K$([sS(4,ei),sS(5,p0),sS(6,lo)],V1);class Z${constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class X$ extends ft{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=$o(this,[]),this.range=xn(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(Vn(()=>{this._textModel.deltaDecorations(this._decorations.get(),[])}))}setRange(e,t){this._decorations.set(this._textModel.deltaDecorations(this._decorations.get(),e?[{range:e,options:{description:"trackedRange"}}]:[]),t)}}var Y$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yg=function(o,e){return function(t,i){e(t,i,o)}},j1,ru;let Ll=(ru=class extends ft{static get(e){return e.getContribution(j1.ID)}constructor(e,t,i,n,s,r){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._debounceService=n,this._languageFeaturesService=s,this._configurationService=r,this._enabled=pF("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Ta(this.editor),this._selection=xn(this,a=>this._editorObs.cursorSelection.read(a)??new _i(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=Pc(this,a=>{if(!this._enabled.read(a)||this._editorObs.isReadonly.read(a))return;const c=this._editorObs.model.read(a);return c?this._instantiationService.createInstance(DS(V1,a),c,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=yy(this,(a,c)=>{var u;return c||((u=this.model.read(a))==null?void 0:u.inlineEdit.read(a))!==void 0}),this._widget=Pc(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(DS(z1,a),this.editor,this.model.map((c,u)=>c==null?void 0:c.inlineEdit.read(u)),Q$(c=>{var u;return((u=this.model.read(c))==null?void 0:u.userPrompt)??$o("empty","")}))}),this._register(IL(Hf,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(IL(B$,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.isPinned.read(a))})),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}},j1=ru,ru.ID="editor.contrib.inlineEditsController",ru);Ll=j1=Y$([yg(1,Ti),yg(2,mn),yg(3,cr),yg(4,ei),yg(5,$n)],Ll);function Q$(o){return VT(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function R_(o){return{label:o.value,alias:o.original}}const Qb=class Qb extends Qe{constructor(){super({id:Qb.ID,...R_(Zt("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:xe.and(F.writable,Hf),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Ll.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Qb.ID=W$;let $1=Qb;const Jb=class Jb extends Qe{constructor(){super({id:Jb.ID,...R_(Zt("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:xe.and(F.writable,Hf),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Ll.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Jb.ID=H$;let U1=Jb;class J$ extends Qe{constructor(){super({id:"editor.action.inlineEdits.trigger",...R_(Zt("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:F.writable})}async run(e,t){const i=Ll.get(t);await ET(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class eU extends Qe{constructor(){super({id:F$,...R_(Zt("action.inlineEdits.accept","Accept Inline Edit")),precondition:Hf,menuOpts:{menuId:At.InlineEditsActions,title:C("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:yi.check},kbOpts:{primary:2058,weight:2e4,kbExpr:Hf}})}async run(e,t){var n;t instanceof Fr&&(t=t.getParentEditor());const i=Ll.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const ey=class ey extends Qe{constructor(){super({id:ey.ID,...R_(Zt("action.inlineEdits.hide","Hide Inline Edit")),precondition:Hf,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Ll.get(t);Fu(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};ey.ID="editor.action.inlineEdits.hide";let q1=ey;Gi(Ll.ID,Ll,3);fe(J$);fe($1);fe(U1);fe(eU);fe(q1);const Mu={Visible:new dn("parameterHintsVisible",!1),MultipleSignatures:new dn("parameterHintsMultipleSignatures",!1)};async function aN(o,e,t,i,n){const s=o.ordered(e);for(const r of s)try{const a=await r.provideSignatureHelp(e,t,n,i);if(a)return a}catch(a){rs(a)}}On.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;vn(Dn.isUri(t)),vn(Jt.isIPosition(i)),vn(typeof n=="string"||!n);const s=o.get(ei),r=await o.get(ga).createModelReference(t);try{const a=await aN(s.signatureHelpProvider,r.object.textEditorModel,Jt.lift(i),{triggerKind:cc.Invoke,isRetrigger:!1,triggerCharacter:n},Vi.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var Gl;(function(o){o.Default={type:0};class e{constructor(n,s){this.request=n,this.previouslyActiveHints=s,this.type=2}}o.Pending=e;class t{constructor(n){this.hints=n,this.type=1}}o.Active=t})(Gl||(Gl={}));const ty=class ty extends ft{constructor(e,t,i=ty.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new zi),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Gl.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new qo),this.triggerChars=new iv,this.retriggerChars=new iv,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Tc(i),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(n=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(n=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(n=>this.onCursorChange(n))),this._register(this.editor.onDidChangeModelContent(n=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(n=>this.onDidType(n))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=Gl.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const n=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(n),t).catch(Pn)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new Gl.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=this.state.type===1||this.state.type===2,i=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const n=this._pendingTriggers.reduce(tU);this._pendingTriggers=[];const s={triggerKind:n.triggerKind,triggerCharacter:n.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const r=this.editor.getModel(),a=this.editor.getPosition();this.state=new Gl.Pending(Rs(c=>aN(this.providers,r,a,s,c)),i);try{const c=await this.state.request;return e!==this.triggerId?(c==null||c.dispose(),!1):!c||!c.value.signatures||c.value.signatures.length===0?(c==null||c.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new Gl.Active(c.value),this._lastSignatureHelpResult.value=c,this._onChangedHints.fire(this.state.hints),!0)}catch(c){return e===this.triggerId&&(this.state=Gl.Default),Pn(c),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const n=i.charCodeAt(0);this.triggerChars.add(n),this.retriggerChars.add(n)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:cc.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:cc.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:cc.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};ty.DEFAULT_DELAY=120;let G1=ty;function tU(o,e){switch(e.triggerKind){case cc.Invoke:return e;case cc.ContentChange:return o;case cc.TriggerCharacter:default:return e}}var iU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bm=function(o,e){return function(t,i){e(t,i,o)}},K1;const No=Vt,nU=is("parameter-hints-next",yi.chevronDown,C("parameterHintsNextIcon","Icon for show next parameter hint.")),sU=is("parameter-hints-previous",yi.chevronUp,C("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var au;let Z1=(au=class extends ft{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new dt),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new $f({editor:e},s,n)),this.keyVisible=Mu.Visible.bindTo(i),this.keyMultipleSignatures=Mu.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=No(".editor-widget.parameter-hints-widget"),t=Ft(e,No(".phwrapper"));t.tabIndex=-1;const i=Ft(t,No(".controls")),n=Ft(i,No(".button"+bn.asCSSSelector(sU))),s=Ft(i,No(".overloads")),r=Ft(i,No(".button"+bn.asCSSSelector(nU)));this._register(_n(n,"click",p=>{tv.stop(p),this.previous()})),this._register(_n(r,"click",p=>{tv.stop(p),this.next()}));const a=No(".body"),c=new CT(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const u=Ft(a,No(".signature")),f=Ft(a,No(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:u,overloads:s,docs:f,scrollbar:c},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(p=>{this.visible&&this.editor.layoutContentWidget(this)}));const g=()=>{if(!this.domNodes)return;const p=this.editor.getOption(50),w=this.domNodes.element;w.style.fontSize=`${p.fontSize}px`,w.style.lineHeight=`${p.lineHeight/p.fontSize}`,w.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",p.fontFamily),w.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",e0.fontFamily)};g(),this._register(vs.chain(this.editor.onDidChangeConfiguration.bind(this.editor),p=>p.filter(w=>w.hasChanged(50)))(g)),this._register(this.editor.onDidLayoutChange(p=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{var e;(e=this.domNodes)==null||e.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)==null||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){if(this.renderDisposeables.clear(),!this.domNodes)return;const t=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const n=Ft(this.domNodes.signature,No(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const u=Ft(n,No("span"));u.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const u=No("span.documentation");if(typeof a.documentation=="string")u.textContent=a.documentation;else{const f=this.renderMarkdownDocs(a.documentation);u.appendChild(f.element)}Ft(this.domNodes.docs,No("p",{},u))}if(i.documentation!==void 0)if(typeof i.documentation=="string")Ft(this.domNodes.docs,No("p",{},i.documentation));else{const u=this.renderMarkdownDocs(i.documentation);Ft(this.domNodes.docs,u.element)}const c=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",c),this.domNodes.docs.classList.toggle("empty",!c),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,a){let u="";const f=i.parameters[r];Array.isArray(f.label)?u=i.label.substring(f.label[0],f.label[1]):u=f.label,f.documentation&&(u+=typeof f.documentation=="string"?`, ${f.documentation}`:`, ${f.documentation.value}`),i.documentation&&(u+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==u&&(Ar(C("hint","{0}, hint",u)),this.announcedLabel=u)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new To,i=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var s;(s=this.domNodes)==null||s.scrollbar.scanDomNode()}}));i.element.classList.add("markdown-docs");const n=t.elapsed();return n>300&&this.telemetryService.publicLog2("parameterHints.parseMarkdown",{renderDuration:n}),i}hasDocs(e,t){return!!(t&&typeof t.documentation=="string"&&kh(t.documentation).length>0||t&&typeof t.documentation=="object"&&kh(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&kh(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&kh(e.documentation.value).length>0)}renderParameters(e,t,i){const[n,s]=this.getParameterLabelOffsets(t,i),r=document.createElement("span");r.textContent=t.label.substring(0,n);const a=document.createElement("span");a.textContent=t.label.substring(n,s),a.className="parameter active";const c=document.createElement("span");c.textContent=t.label.substring(s),Ft(e,r,a,c)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const n=new RegExp(`(\\W|^)${hp(i.label)}(?=\\W|$)`,"g");n.test(e.label);const s=n.lastIndex-i.label.length;return s>=0?[s,n.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return K1.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}},K1=au,au.ID="editor.widget.parameterHintsWidget",au);Z1=K1=iU([bm(2,mn),bm(3,ua),bm(4,fa),bm(5,ha)],Z1);jt("editorHoverWidget.highlightForeground",IT,C("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var oU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mD=function(o,e){return function(t,i){e(t,i,o)}},X1,lu;let Wf=(lu=class extends ft{static get(e){return e.getContribution(X1.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new G1(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints(n=>{var s;n?(this.widget.value.show(),this.widget.value.render(n)):(s=this.widget.rawValue)==null||s.hide()})),this.widget=new qx(()=>this._register(t.createInstance(Z1,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){var e;(e=this.widget.rawValue)==null||e.previous()}next(){var e;(e=this.widget.rawValue)==null||e.next()}trigger(e){this.model.trigger(e,0)}},X1=lu,lu.ID="editor.controller.parameterHints",lu);Wf=X1=oU([mD(1,Ti),mD(2,ei)],Wf);class rU extends Qe{constructor(){super({id:"editor.action.triggerParameterHints",label:C("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:F.hasSignatureHelpProvider,kbOpts:{kbExpr:F.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=Wf.get(t);i==null||i.trigger({triggerKind:cc.Invoke})}}Gi(Wf.ID,Wf,2);fe(rU);const fk=175,gk=bo.bindToContribution(Wf.get);ii(new gk({id:"closeParameterHints",precondition:Mu.Visible,handler:o=>o.cancel(),kbOpts:{weight:fk,kbExpr:F.focus,primary:9,secondary:[1033]}}));ii(new gk({id:"showPrevParameterHint",precondition:xe.and(Mu.Visible,Mu.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:fk,kbExpr:F.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));ii(new gk({id:"showNextParameterHint",precondition:xe.and(Mu.Visible,Mu.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:fk,kbExpr:F.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var aU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lU=function(o,e){return function(t,i){e(t,i,o)}};class cU{constructor(e){this.instantiationService=e}init(...e){}}function dU(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=h_((n,s)=>{const r=DS(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function uU(o){return _F()?dU(o,Y1):o()}let Y1=class extends cU{constructor(e,t){super(t),this.init(e)}};Y1=aU([lU(1,Ti)],Y1);Gi(Bp.ID,uU(()=>Bp),0);jt("editor.placeholder.foreground",mF,C("placeholderForeground","Foreground color of the placeholder text in the editor."));var hU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ym=function(o,e){return function(t,i){e(t,i,o)}};const Qf=new dn("renameInputVisible",!1,C("renameInputVisible","Whether the rename input widget is visible"));new dn("renameInputFocused",!1,C("renameInputFocused","Whether the rename input widget is focused"));let Q1=class{constructor(e,t,i,n,s,r){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=n,this._logService=r,this.allowEditorOverflow=!0,this._disposables=new dt,this._visibleContextKey=Qf.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new To,this._inputWithButton=new fU,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(a=>{a.hasChanged(50)&&this._updateFont()})),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new pk(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._inputWithButton.input.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{var e,t,i;((e=this._renameCandidateListView)==null?void 0:e.focusedCandidate)!==void 0&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??(this._timeBeforeFirstInputFieldEdit=this._beforeFirstInputFieldEditSW.elapsed()),((t=this._renameCandidateProvidersCts)==null?void 0:t.token.isCancellationRequested)===!1&&this._renameCandidateProvidersCts.cancel(),(i=this._renameCandidateListView)==null||i.clearFocus()})),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){if(!this._domNode)return;const t=e.getColor(vF),i=e.getColor(bF);this._domNode.style.backgroundColor=String(e.getColor(xT)??""),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:"",this._domNode.style.border=i?`1px solid ${i}`:"",this._domNode.style.color=String(e.getColor(yF)??"");const n=e.getColor(wF);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(DL)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(DL)??""),this._inputWithButton.domNode.style.borderWidth=n?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=n?"solid":"none",this._inputWithButton.domNode.style.borderColor=(n==null?void 0:n.toString())??"none"}_updateFont(){if(this._domNode===void 0)return;vn(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);const e=this._editor.getOption(50);this._label.style.fontSize=`${this._computeLabelFontSize(e.fontSize)}px`}_computeLabelFontSize(e){return e*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=f_(this.getDomNode().ownerDocument.body),t=po(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const n=this._editor.getOption(67),{totalHeight:s}=zp.getLayoutInfo({lineHeight:n}),r=this._nPxAvailableBelow>s*6?[2,1]:[1,2];return{position:this._position,preference:r}}beforeRender(){var i,n;const[e,t]=this._acceptKeybindings;return this._label.innerText=C({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(i=this._keybindingService.lookupKeybinding(e))==null?void 0:i.getLabel(),(n=this._keybindingService.lookupKeybinding(t))==null?void 0:n.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(e===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;vn(this._renameCandidateListView),vn(this._nPxAvailableAbove!==void 0),vn(this._nPxAvailableBelow!==void 0);const t=Ch(this._inputWithButton.domNode),i=Ch(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:br(this._inputWithButton.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),(t=this._currentAcceptInput)==null||t.call(this,e)}cancelInput(e,t){var i;(i=this._currentCancelInput)==null||i.call(this,e)}focusNextRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,i,n,s){const{start:r,end:a}=this._getSelection(e,t);this._renameCts=s;const c=new dt;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,n===void 0?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=n,this._requestRenameCandidates(t,!1),c.add(_n(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),c.add(_n(this._inputWithButton.button,Zn.KEY_DOWN,f=>{const g=new _0(f);(g.equals(3)||g.equals(10))&&(g.stopPropagation(),g.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new Jt(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute("selectionStart",r.toString()),this._inputWithButton.input.setAttribute("selectionEnd",a.toString()),this._inputWithButton.input.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),c.add(Vn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(Vn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(Vn(()=>this._candidates.clear()));const u=new py;return u.p.finally(()=>{c.dispose(),this._hide()}),this._currentCancelInput=f=>{var g;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(g=this._renameCandidateListView)==null||g.clearCandidates(),u.complete(f),!0},this._currentAcceptInput=f=>{this._trace("invoking _currentAcceptInput"),vn(this._renameCandidateListView!==void 0);const g=this._renameCandidateListView.nCandidates;let p,w;const m=this._renameCandidateListView.focusedCandidate;if(m!==void 0?(this._trace("using new name from renameSuggestion"),p=m,w={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,w=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),p===t||p.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),u.complete({newName:p,wantsPreview:i&&f,stats:{source:w,nRenameSuggestions:g,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},c.add(s.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),c.add(this._editor.onDidBlurEditorWidget(()=>{var f;return this.cancelInput(!((f=this._domNode)!=null&&f.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),u.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),vn(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new Ns;const i=t?ES.Invoke:ES.Automatic,n=this._requestRenameCandidatesOnce(i,this._renameCandidateProvidersCts.token);if(n.length===0){this._inputWithButton.setSparkleButton();return}t||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(n,e,this._renameCts.token)}}_getSelection(e,t){vn(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!K.isEmpty(i)&&!K.spansMultipleLines(i)&&K.containsRange(e,i)&&(n=Math.max(0,i.startColumn-e.startColumn),s=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:n,end:s}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(e,t,i){const n=(...u)=>this._trace("_updateRenameCandidates",...u);n("start");const s=await r_(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),s===void 0){n("returning early - received updateRenameCandidates results - undefined");return}const r=s.flatMap(u=>u.status==="fulfilled"&&Im(u.value)?u.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=EE(r,u=>u.newSymbolName);n(`distinct candidates - ${a.length} candidates.`);const c=a.filter(({newSymbolName:u})=>u.trim().length>0&&u!==this._inputWithButton.input.value&&u!==t&&!this._candidates.has(u));if(n(`valid distinct candidates - ${r.length} candidates.`),c.forEach(u=>this._candidates.add(u.newSymbolName)),c.length<1){n("returning early - no valid distinct candidates");return}n("setting candidates"),this._renameCandidateListView.setCandidates(c),n("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};Q1=hU([ym(2,Hr),ym(3,hs),ym(4,mn),ym(5,Hu)],Q1);class pk{constructor(e,t){this._disposables=new dt,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",e.appendChild(this._listContainer),this._listWidget=pk._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus(i=>{i.elements.length===1&&t.onFocusChange(i.elements[0].newSymbolName)},this._disposables),this._listWidget.onDidChangeSelection(i=>{i.elements.length===1&&t.onSelectionChange()},this._disposables),this._disposables.add(this._listWidget.onDidBlur(i=>{this._listWidget.setFocus([])})),this._listWidget.style(DT({listInactiveFocusForeground:kT,listInactiveFocusBackground:LT}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);const t=this._pickListHeight(this._listWidget.length),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height=`${t}px`,this._listContainer.style.width=`${i}px`,ff(C("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const e=this._listWidget.getSelectedElements()[0];if(e!==void 0)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];if(t!==void 0)return t.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(e[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0){this._listWidget.focusLast();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}else{if(e[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=zp.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map(n=>n.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){const n=new class{getTemplateId(r){return"candidate"}getHeight(r){return t}},s=new class{constructor(){this.templateId="candidate"}renderTemplate(r){return new zp(r,i)}renderElement(r,a,c){c.populate(r)}disposeTemplate(r){r.dispose()}};return new Xx("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class fU{constructor(){this._onDidInputChange=new zi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new dt}get domNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",C("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement("div"),this._buttonNode.className="rename-suggestions-button",this._buttonNode.setAttribute("tabindex","0"),this._buttonGenHoverText=C("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=C("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=SF().setupManagedHover(ky("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(_n(this.input,Zn.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(_n(this.input,Zn.KEY_DOWN,e=>{const t=new _0(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(_n(this.input,Zn.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(_n(this.input,Zn.FOCUS,()=>{this.domNode.style.outlineWidth="1px",this.domNode.style.outlineStyle="solid",this.domNode.style.outlineOffset="-1px",this.domNode.style.outlineColor="var(--vscode-focusBorder)"})),this._disposables.add(_n(this.input,Zn.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return vn(this._inputNode),this._inputNode}get button(){return vn(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=TS(yi.sparkle)),Ha(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),(e=this._buttonHover)==null||e.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){var e;this._buttonState="stop",this._stopIcon??(this._stopIcon=TS(yi.primitiveSquare)),Ha(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),(e=this._buttonHover)==null||e.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}}const lp=class lp{constructor(e,t){this._domNode=document.createElement("div"),this._domNode.className="rename-box rename-candidate",this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${t.lineHeight}px`,this._domNode.style.padding=`${lp._PADDING}px`;const i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height=`${t.lineHeight*.8}px`,this._domNode.appendChild(i),this._icon=TS(yi.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),pT(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){var i;const t=!!((i=e.tags)!=null&&i.includes(CF.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+lp._PADDING*2}}dispose(){}};lp._PADDING=2;let zp=lp;var gU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jl=function(o,e){return function(t,i){e(t,i,o)}},J1;class _k{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){const n=this._providers[this._providerRenameIdx];if(!n.resolveRenameLocation)break;const s=await n.resolveRenameLocation(this.model,this.position,e);if(s){if(s.rejectReason){t.push(s.rejectReason);continue}return s}}this._providerRenameIdx=0;const i=this.model.getWordAtPosition(this.position);return i?{range:new K(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
|
|
76
|
+
`):void 0}:{range:K.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join(`
|
|
77
|
+
`):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,n){const s=this._providers[t];if(!s)return{edits:[],rejectReason:i.join(`
|
|
78
|
+
`)};const r=await s.provideRenameEdits(this.model,this.position,e,n);if(r){if(r.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(r.rejectReason),n)}else return this._provideRenameEdits(e,t+1,i.concat(C("no result","No result.")),n);return r}}async function pU(o,e,t,i){const n=new _k(e,t,o),s=await n.resolveRenameLocation(Vi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,Vi.None)}var cu;let Oc=(cu=class{static get(e){return e.getContribution(J1.ID)}constructor(e,t,i,n,s,r,a,c,u){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=r,this._configService=a,this._languageFeaturesService=c,this._telemetryService=u,this._disposableStore=new dt,this._cts=new Ns,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Q1,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var m,x;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new Ns,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new _k(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new uf(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const k=i.resolveRenameLocation(n.token);this._progressService.showWhile(k,250),s=await k,e("resolved rename location")}catch(k){k instanceof _y?e("resolve rename location cancelled",JSON.stringify(k,null," ")):(e("resolve rename location failed",k instanceof Error?k:JSON.stringify(k,null," ")),(typeof k=="string"||km(k))&&((m=Io.get(this.editor))==null||m.showMessage(k||C("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),t)));return}finally{n.dispose()}if(!s){e("returning early - no loc");return}if(s.rejectReason){e(`returning early - rejected with reason: ${s.rejectReason}`,s.rejectReason),(x=Io.get(this.editor))==null||x.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new uf(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),c=this._languageFeaturesService.newSymbolNamesProvider.all(a),u=await Promise.all(c.map(async k=>[k,await k.supportsAutomaticNewSymbolNamesTriggerKind??!1])),f=(k,E)=>{let P=u.slice();return k===ES.Automatic&&(P=P.filter(([A,U])=>U)),P.map(([A])=>A.provideNewSymbolNames(a,s.range,k,E))};e("creating rename input field and awaiting its result");const g=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),p=await this._renameWidget.getInput(s.range,s.text,g,c.length>0?f:void 0,r);if(e("received response from rename input field"),c.length>0&&this._reportTelemetry(c.length,a.getLanguageId(),p),typeof p=="boolean"){e(`returning early - rename input field response - ${p}`),p&&this.editor.focus(),r.dispose();return}this.editor.focus(),e("requesting rename edits");const w=r_(i.provideRenameEdits(p.newName,r.token),r.token).then(async k=>{if(!k){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(k.rejectReason){e(`returning early - rejected with reason: ${k.rejectReason}`),this._notificationService.info(k.rejectReason);return}this.editor.setSelection(K.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(k,{editor:this.editor,showPreview:p.wantsPreview,label:C("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:C("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(E=>{e("edits applied"),E.ariaSummary&&Ar(C("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",s.text,p.newName,E.ariaSummary))}).catch(E=>{e(`error when applying edits ${JSON.stringify(E,null," ")}`),this._notificationService.error(C("rename.failedApply","Rename failed to apply edits")),this._logService.error(E)})},k=>{e("error when providing rename edits",JSON.stringify(k,null," ")),this._notificationService.error(C("rename.failed","Rename failed to compute edits")),this._logService.error(k)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(w,250),w}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const n=typeof i=="boolean"?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview,nRenameSuggestionsInvocations:i.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:i.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",n)}},J1=cu,cu.ID="editor.contrib.renameController",cu);Oc=J1=gU([jl(1,Ti),jl(2,ao),jl(3,fy),jl(4,l_),jl(5,Hu),jl(6,xF),jl(7,ei),jl(8,ha)],Oc);class _U extends Qe{constructor(){super({id:"editor.action.rename",label:C("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:xe.and(F.writable,F.hasRenameProvider),kbOpts:{kbExpr:F.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(as),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return Dn.isUri(n)&&Jt.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},Pn):super.runCommand(e,t)}run(e,t){const i=e.get(Hu),n=Oc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}Gi(Oc.ID,Oc,4);fe(_U);const mk=bo.bindToContribution(Oc.get);ii(new mk({id:"acceptRenameInput",precondition:Qf,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:xe.and(F.focus,xe.not("isComposing")),primary:3}}));ii(new mk({id:"acceptRenameInputWithPreview",precondition:xe.and(Qf,xe.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:xe.and(F.focus,xe.not("isComposing")),primary:2051}}));ii(new mk({id:"cancelRenameInput",precondition:Qf,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:F.focus,primary:9,secondary:[1033]}}));Ln(class extends vo{constructor(){super({id:"focusNextRenameSuggestion",title:{...Zt("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Qf,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(as).getFocusedCodeEditor();if(!t)return;const i=Oc.get(t);i&&i.focusNextRenameSuggestion()}});Ln(class extends vo{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Zt("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Qf,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(as).getFocusedCodeEditor();if(!t)return;const i=Oc.get(t);i&&i.focusPreviousRenameSuggestion()}});yo("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;vn(typeof n=="string");const{renameProvider:s}=o.get(ei);return pU(s,e,t,n)});yo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(ei),s=await new _k(e,t,i).resolveRenameLocation(Vi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});da.as(c_.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:C("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var mU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vD=function(o,e){return function(t,i){e(t,i,o)}},rf;let sb=(rf=class extends ft{constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(n=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(n=>{var r;const s=(r=this.editor.getModel())==null?void 0:r.getLanguageId();s&&n.affects(s)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(n=>{this.options&&!n.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(n=>{this.computeSectionHeaders.schedule()})),this._register(e.onDidChangeModelTokens(n=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new bs(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,n=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!(n!=null&&n.markers)))return{foldingRules:n,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){var i,n;if(!this.editor.hasModel()||!((i=this.options)!=null&&i.findMarkSectionHeaders)&&!((n=this.options)!=null&&n.findRegionSectionHeaders))return;const e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;const t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then(s=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(s)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(s=>{if(!s.shouldBeInComments)return!0;const r=t.validateRange(s.range),a=t.tokenization.getLineTokens(r.startLineNumber),c=a.findTokenIndexAtOffset(r.startColumn-1),u=a.getStandardTokenType(c);return a.getLanguageId(c)===t.getLanguageId()&&u===1}));const i=Object.values(this.currentOccurrences).map(s=>s.decorationId),n=e.map(s=>vU(s));this.editor.changeDecorations(s=>{const r=s.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,c=r.length;a<c;a++){const u={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[u.decorationId]=u}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},rf.ID="editor.sectionHeaderDetector",rf);sb=mU([vD(1,Is),vD(2,Ml)],sb);function vU(o){return{range:o.range,options:tn.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}Gi(sb.ID,sb,1);function bU(o){for(let e=0,t=o.length;e<t;e+=4){const i=o[e+0],n=o[e+1],s=o[e+2],r=o[e+3];o[e+0]=r,o[e+1]=s,o[e+2]=n,o[e+3]=i}}function yU(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return kF()||bU(e),LF.wrap(e)}function lN(o){const e=new Uint32Array(wU(o));let t=0;if(e[t++]=o.id,o.type==="full")e[t++]=1,e[t++]=o.data.length,e.set(o.data,t),t+=o.data.length;else{e[t++]=2,e[t++]=o.deltas.length;for(const i of o.deltas)e[t++]=i.start,e[t++]=i.deleteCount,i.data?(e[t++]=i.data.length,e.set(i.data,t),t+=i.data.length):e[t++]=0}return yU(e)}function wU(o){let e=0;if(e+=2,o.type==="full")e+=1+o.data.length;else{e+=1,e+=3*o.deltas.length;for(const t of o.deltas)t.data&&(e+=t.data.length)}return e}function nw(o){return o&&!!o.data}function cN(o){return o&&Array.isArray(o.edits)}class SU{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function dN(o,e){return o.has(e)}function CU(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function uN(o,e,t,i,n){const s=CU(o,e),r=await Promise.all(s.map(async a=>{let c,u=null;try{c=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(f){u=f,c=null}return(!c||!nw(c)&&!cN(c))&&(c=null),new SU(a,c,u)}));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function xU(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class kU{constructor(e,t){this.provider=e,this.tokens=t}}function LU(o,e){return o.has(e)}function hN(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function vk(o,e,t,i){const n=hN(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(c){rs(c),a=null}return(!a||!nw(a))&&(a=null),new kU(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}On.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;vn(t instanceof Dn);const i=o.get(lo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(ei),s=xU(n,i);return s?s[0].getLegend():o.get(Ls).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});On.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;vn(t instanceof Dn);const i=o.get(lo).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(ei);if(!dN(n,i))return o.get(Ls).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await uN(n,i,null,null,Vi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!nw(a))return;const c=lN({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),c});On.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;vn(t instanceof Dn);const n=o.get(lo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(ei),r=hN(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!K.isIRange(i))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const a=await vk(s,n,K.lift(i),Vi.None);if(a)return a.provider.getLegend()});On.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;vn(t instanceof Dn),vn(K.isIRange(i));const n=o.get(lo).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(ei),r=await vk(s,n,K.lift(i),Vi.None);if(!(!r||!r.tokens))return lN({id:0,type:"full",data:r.tokens.data})});const bk="editor.semanticHighlighting";function Gm(o,e,t){var n;const i=(n=t.getValue(bk,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var fN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ea=function(o,e){return function(t,i){e(t,i,o)}},ql;let ex=class extends ft{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=f=>{this._watchers[f.uri.toString()]=new tx(f,e,i,s,r)},c=(f,g)=>{g.dispose(),delete this._watchers[f.uri.toString()]},u=()=>{for(const f of t.getModels()){const g=this._watchers[f.uri.toString()];Gm(f,i,n)?g||a(f):g&&c(f,g)}};t.getModels().forEach(f=>{Gm(f,i,n)&&a(f)}),this._register(t.onModelAdded(f=>{Gm(f,i,n)&&a(f)})),this._register(t.onModelRemoved(f=>{const g=this._watchers[f.uri.toString()];g&&c(f,g)})),this._register(n.onDidChangeConfiguration(f=>{f.affectsConfiguration(bk)&&u()})),this._register(i.onDidColorThemeChange(u))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};ex=fN([Ea(0,m0),Ea(1,lo),Ea(2,Hr),Ea(3,$n),Ea(4,cr),Ea(5,ei)],ex);var Ic;let tx=(Ic=class extends ft{constructor(e,t,i,n,s){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=s.documentSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentSemanticTokens",{min:ql.REQUEST_MIN_DELAY,max:ql.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new bs(()=>this._fetchDocumentSemanticTokensNow(),ql.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const r=()=>{to(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const a of this._provider.all(e))typeof a.onDidChange=="function"&&this._documentProvidersChangeListeners.push(a.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};r(),this._register(this._provider.onDidChange(()=>{r(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(i.onDidColorThemeChange(a=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),to(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!dN(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new Ns,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=uN(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const s=[],r=this._model.onDidChangeContent(c=>{s.push(c)}),a=new To(!1);n.then(c=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),!c)this._setDocumentSemanticTokens(null,null,null,s);else{const{provider:u,tokens:f}=c,g=this._semanticTokensStylingService.getStyling(u);this._setDocumentSemanticTokens(u,f||null,g,s)}},c=>{c&&(Hc(c)||typeof c.message=="string"&&c.message.indexOf("busy")!==-1)||Pn(c),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),(s.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,n,s){s=Math.min(s,i.length-n,e.length-t);for(let r=0;r<s;r++)i[n+r]=e[t+r]}_setDocumentSemanticTokens(e,t,i,n){const s=this._currentDocumentResponse,r=()=>{(n.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),r();return}if(cN(t)){if(!s){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:s.data};else{let a=0;for(const p of t.edits)a+=(p.data?p.data.length:0)-p.deleteCount;const c=s.data,u=new Uint32Array(c.length+a);let f=c.length,g=u.length;for(let p=t.edits.length-1;p>=0;p--){const w=t.edits[p];if(w.start>c.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,w.start,c.length),this._model.tokenization.setSemanticTokens(null,!0);return}const m=f-(w.start+w.deleteCount);m>0&&(ql._copy(c,f-m,u,g-m,m),g-=m),w.data&&(ql._copy(w.data,0,u,g-w.data.length,w.data.length),g-=w.data.length),f=w.start}f>0&&ql._copy(c,0,u,0,f),t={resultId:t.resultId,data:u}}}if(nw(t)){this._currentDocumentResponse=new IU(e,t.resultId,t.data);const a=jT(t,i,this._model.getLanguageId());if(n.length>0)for(const c of n)for(const u of a)for(const f of c.changes)u.applyEdit(f.range,f.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},ql=Ic,Ic.REQUEST_MIN_DELAY=300,Ic.REQUEST_MAX_DELAY=2e3,Ic);tx=ql=fN([Ea(1,m0),Ea(2,Hr),Ea(3,cr),Ea(4,ei)],tx);class IU{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}jf(ex);var DU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},wg=function(o,e){return function(t,i){e(t,i,o)}},af;let ob=(af=class extends ft{constructor(e,t,i,n,s,r){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=n,this._editor=e,this._provider=r.documentRangeSemanticTokensProvider,this._debounceInformation=s.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new bs(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const a=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{a()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),a()})),this._register(this._editor.onDidChangeModelContent(c=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(c=>{c.affectsConfiguration(bk)&&(this._cancelAll(),a())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),a()})),a()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;t<i;t++)if(this._outstandingRequests[t]===e){this._outstandingRequests.splice(t,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;const e=this._editor.getModel();if(e.tokenization.hasCompleteSemanticTokens())return;if(!Gm(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!LU(this._provider,e)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}const t=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(t.map(i=>this._requestRange(e,i)))}_requestRange(e,t){const i=e.getVersionId(),n=Rs(r=>Promise.resolve(vk(this._provider,e,t,r))),s=new To(!1);return n.then(r=>{if(this._debounceInformation.update(e,s.elapsed()),!r||!r.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:a,tokens:c}=r,u=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,jT(c,u,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},af.ID="editor.contrib.viewportSemanticTokens",af);ob=DU([wg(1,m0),wg(2,Hr),wg(3,$n),wg(4,cr),wg(5,ei)],ob);Gi(ob.ID,ob,1);class EU{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s),this.selectSubwords&&this._addInWordRanges(s,e,n),this._addWordRanges(s,e,n),this._addWhitespaceLine(s,e,n),s.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const n=t.getWordAtPosition(i);if(!n)return;const{word:s,startColumn:r}=n,a=i.column-r;let c=a,u=a,f=0;for(;c>=0;c--){const g=s.charCodeAt(c);if(c!==a&&(g===95||g===45))break;if(EL(g)&&TL(f))break;f=g}for(c+=1;u<s.length;u++){const g=s.charCodeAt(u);if(TL(g)&&EL(f))break;if(g===95||g===45)break;f=g}c<u&&e.push({range:new K(i.lineNumber,r+c,i.lineNumber,r+u)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new K(i.lineNumber,n.startColumn,i.lineNumber,n.endColumn)})}_addWhitespaceLine(e,t,i){t.getLineLength(i.lineNumber)>0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new K(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var TU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},PU=function(o,e){return function(t,i){e(t,i,o)}},ix;class yk{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new yk(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var du;let Vp=(du=class{static get(e){return e.getContribution(ix.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)==null||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await pN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),Vi.None).then(s=>{var r;if(!(!jo(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!za(this._editor.getSelections(),t,(a,c)=>a.equalsSelection(c)))){for(let a=0;a<s.length;a++)s[a]=s[a].filter(c=>c.containsPosition(t[a].getStartPosition())&&c.containsPosition(t[a].getEndPosition())),s[a].unshift(t[a]);this._state=s.map(a=>new yk(0,a)),(r=this._selectionListener)==null||r.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var a;this._ignoreSelection||((a=this._selectionListener)==null||a.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(s=>s.mov(e));const n=this._state.map(s=>_i.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},ix=du,du.ID="editor.contrib.smartSelectController",du);Vp=ix=TU([PU(1,ei)],Vp);class gN extends Qe{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=Vp.get(t);i&&await i.run(this._forward)}}class MU extends gN{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:C("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:F.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:At.MenubarSelectionMenu,group:"1_basic",title:C({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}On.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class RU extends gN{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:C("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:F.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:At.MenubarSelectionMenu,group:"1_basic",title:C({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}Gi(Vp.ID,Vp,4);fe(MU);fe(RU);async function pN(o,e,t,i,n){const s=o.all(e).concat(new EU(i.selectSubwords));s.length===1&&s.unshift(new jv);const r=[],a=[];for(const c of s)r.push(Promise.resolve(c.provideSelectionRanges(e,t,n)).then(u=>{if(jo(u)&&u.length===t.length)for(let f=0;f<t.length;f++){a[f]||(a[f]=[]);for(const g of u[f])K.isIRange(g.range)&&K.containsPosition(g.range,t[f])&&a[f].push(K.lift(g.range))}},rs));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,w)=>Jt.isBefore(p.getStartPosition(),w.getStartPosition())?1:Jt.isBefore(w.getStartPosition(),p.getStartPosition())||Jt.isBefore(p.getEndPosition(),w.getEndPosition())?-1:Jt.isBefore(w.getEndPosition(),p.getEndPosition())?1:0);const u=[];let f;for(const p of c)(!f||K.containsRange(p,f)&&!K.equalsRange(p,f))&&(u.push(p),f=p);if(!i.selectLeadingAndTrailingWhitespace)return u;const g=[u[0]];for(let p=1;p<u.length;p++){const w=u[p-1],m=u[p];if(m.startLineNumber!==w.startLineNumber||m.endLineNumber!==w.endLineNumber){const x=new K(w.startLineNumber,e.getLineFirstNonWhitespaceColumn(w.startLineNumber),w.endLineNumber,e.getLineLastNonWhitespaceColumn(w.endLineNumber));x.containsRange(w)&&!x.equalsRange(w)&&m.containsRange(x)&&!m.equalsRange(x)&&g.push(x);const k=new K(w.startLineNumber,1,w.endLineNumber,e.getLineMaxColumn(w.endLineNumber));k.containsRange(w)&&!k.equalsRange(x)&&m.containsRange(k)&&!m.equalsRange(k)&&g.push(k)}g.push(m)}return g})}On.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;vn(Dn.isUri(t));const n=o.get(ei).selectionRangeProvider,s=await o.get(ga).createModelReference(t);try{return pN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},Vi.None)}finally{s.dispose()}});const NU=Object.freeze({View:Zt("view","View"),Help:Zt("help","Help"),Test:Zt("test","Test"),File:Zt("file","File"),Preferences:Zt("preferences","Preferences"),Developer:Zt({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class tp{constructor(e,t,i,n=null){this.startLineNumbers=e,this.endLineNumbers=t,this.lastLineRelativePosition=i,this.showEndForLine=n}equals(e){return!!e&&this.lastLineRelativePosition===e.lastLineRelativePosition&&this.showEndForLine===e.showEndForLine&&za(this.startLineNumbers,e.startLineNumbers)&&za(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new tp([],[],0)}}const bD=uT("stickyScrollViewLayer",{createHTML:o=>o}),oS="data-sticky-line-index",yD="data-sticky-is-line",AU="data-sticky-is-line-number",wD="data-sticky-is-folding-icon";class OU extends ft{constructor(e){super(),this._editor=e,this._foldingIconStore=new dt,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof Fr),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(116)&&t(),i.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(i===void 0&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const n=this._isWidgetHeightZero(e),s=n?void 0:e,r=n?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(s,t,r),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const i=[...e.startLineNumbers];e.showEndForLine!==null&&(i[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];return t===0}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(t!==void 0)return t;const i=this._previousState,n=e.startLineNumbers.findIndex(s=>!i.startLineNumbers.includes(s));return n===-1?0:n}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width=`${t}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-e.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${e.width-e.verticalScrollbarWidth}px`}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;t<this._renderedStickyLines.length;t++){const i=this._renderedStickyLines[t];i.lineNumberDomNode.remove(),i.lineDomNode.remove()}this._renderedStickyLines=this._renderedStickyLines.slice(0,e),this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(e){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${e?.5:0}s`)}_setFoldingIconsVisibility(e){for(const t of this._renderedStickyLines){const i=t.foldingIcon;i&&i.setVisible(e?!0:i.isCollapsed)}}async _renderRootNode(e,t,i){if(this._clearStickyLinesFromLine(i),!e)return;for(const a of this._renderedStickyLines)this._updateTopAndZIndexOfStickyLine(a);const n=this._editor.getLayoutInfo(),s=this._lineNumbers.slice(i);for(const[a,c]of s.entries()){const u=this._renderChildNode(a+i,c,t,n);u&&(this._linesDomNode.appendChild(u.lineDomNode),this._lineNumbersDomNode.appendChild(u.lineNumberDomNode),this._renderedStickyLines.push(u))}t&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const r=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${r}px`,this._linesDomNodeScrollable.style.height=`${r}px`,this._rootDomNode.style.height=`${r}px`,this._rootDomNode.style.marginLeft="0px",this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(a=>a.scrollWidth))+n.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(111)==="mouseover"&&(this._foldingIconStore.add(_n(this._lineNumbersDomNode,Zn.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(_n(this._lineNumbersDomNode,Zn.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,n){const s=this._editor._getViewModel();if(!s)return;const r=s.coordinatesConverter.convertModelPositionToViewPosition(new Jt(t,1)).lineNumber,a=s.getViewLineRenderingData(r),c=this._editor.getOption(68);let u;try{u=bp.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{u=[]}const f=new gT(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,u,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),g=new hT(2e3),p=fT(f,g);let w;bD?w=bD.createHTML(g.build()):w=g.build();const m=document.createElement("span");m.setAttribute(oS,String(e)),m.setAttribute(yD,""),m.setAttribute("role","listitem"),m.tabIndex=0,m.className="sticky-line-content",m.classList.add(`stickyLine${t}`),m.style.lineHeight=`${this._lineHeight}px`,m.innerHTML=w;const x=document.createElement("span");x.setAttribute(oS,String(e)),x.setAttribute(AU,""),x.className="sticky-line-number",x.style.lineHeight=`${this._lineHeight}px`;const k=n.contentLeft;x.style.width=`${k}px`;const E=document.createElement("span");c.renderType===1||c.renderType===3&&t%10===0?E.innerText=t.toString():c.renderType===2&&(E.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),E.className="sticky-line-number-inner",E.style.lineHeight=`${this._lineHeight}px`,E.style.width=`${n.lineNumbersWidth}px`,E.style.paddingLeft=`${n.lineNumbersLeft}px`,x.appendChild(E);const P=this._renderFoldingIconForLine(i,t);P&&x.appendChild(P.domNode),this._editor.applyFontInfo(m),this._editor.applyFontInfo(E),x.style.lineHeight=`${this._lineHeight}px`,m.style.lineHeight=`${this._lineHeight}px`,x.style.height=`${this._lineHeight}px`,m.style.height=`${this._lineHeight}px`;const A=new FU(e,t,m,x,P,p.characterMapping,m.scrollWidth);return this._updateTopAndZIndexOfStickyLine(A)}_updateTopAndZIndexOfStickyLine(e){var f;const t=e.index,i=e.lineDomNode,n=e.lineNumberDomNode,s=t===this._lineNumbers.length-1,r="0",a="1";i.style.zIndex=s?r:a,n.style.zIndex=s?r:a;const c=`${t*this._lineHeight+this._lastLineRelativePosition+((f=e.foldingIcon)!=null&&f.isCollapsed?1:0)}px`,u=`${t*this._lineHeight}px`;return i.style.top=s?c:u,n.style.top=s?c:u,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||i==="never")return;const n=e.regions,s=n.findRange(t),r=n.getStartLineNumber(s);if(!(t===r))return;const c=n.isCollapsed(s),u=new HU(c,r,n.getEndLineNumber(s),this._lineHeight);return u.setVisible(this._isOnGlyphMargin?!0:c||i==="always"),u.domNode.setAttribute(wD,""),u}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=IF(t.characterMapping,e,0);return new Jt(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t;return((t=this._getRenderedStickyLineFromChildDomNode(e))==null?void 0:t.lineNumber)??null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,oS);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,yD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,wD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class FU{constructor(e,t,i,n,s,r,a){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=n,this.foldingIcon=s,this.characterMapping=r,this.scrollWidth=a}}class HU{constructor(e,t,i,n){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=n,this.domNode=document.createElement("div"),this.domNode.style.width=`${n}px`,this.domNode.style.height=`${n}px`,this.domNode.className=bn.asClassName(e?Mv:Pv)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class ip{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class rb{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class _N{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var sw=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jp=function(o,e){return function(t,i){e(t,i,o)}},np;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(np||(np={}));var ac;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(ac||(ac={}));let nx=class extends ft{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Tc(300)),this._updateOperation=this._register(new dt),this._editor.getOption(116).defaultModel){case np.OUTLINE_MODEL:this._modelProviders.push(new sx(this._editor,n));case np.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new rx(this._editor,t,n));case np.INDENTATION_MODEL:this._modelProviders.push(new ox(this._editor,i));break}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:n}=t.computeStickyModel(e);this._modelPromise=n;const s=await i;if(this._modelPromise!==n)return null;switch(s){case ac.CANCELED:return this._updateOperation.clear(),null;case ac.VALID:return t.stickyModel}}return null}).catch(t=>(Pn(t),null))}};nx=sw([jp(2,Ti),jp(3,ei)],nx);class mN extends ft{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,ac.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=Rs(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?ac.CANCELED:(this._stickyModel=this.createStickyModel(e,i),ac.VALID):this._invalid()).then(void 0,i=>(Pn(i),ac.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let sx=class extends mN{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return il.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var r;const{stickyOutlineElement:i,providerID:n}=this._stickyModelFromOutlineModel(t,(r=this._stickyModel)==null?void 0:r.outlineProviderId),s=this._editor.getModel();return new _N(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(hl.first(e.children.values())instanceof HR){const a=hl.find(e.children.values(),c=>c.id===t);if(a)i=a.children;else{let c="",u=-1,f;for(const[g,p]of e.children.entries()){const w=this._findSumOfRangesOfGroup(p);w>u&&(f=p,u=w,c=p.id)}t=c,i=f.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort((a,c)=>{const u=new ip(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),f=new ip(c.symbol.range.startLineNumber,c.symbol.range.endLineNumber);return this._comparator(u,f)});for(const a of s)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new rb(void 0,n,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const s of e.children.values())if(s.symbol.selectionRange.startLineNumber!==s.symbol.range.endLineNumber)if(s.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(s,s.symbol.selectionRange.startLineNumber));else for(const r of s.children.values())i.push(this._stickyModelFromOutlineElement(r,s.symbol.selectionRange.startLineNumber));i.sort((s,r)=>this._comparator(s.range,r.range));const n=new ip(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new rb(n,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof GC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};sx=sw([jp(1,ei)],sx);class vN extends mN{constructor(e){super(e),this._foldingLimitReporter=new AR(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new _N(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new rb(void 0,[],void 0);for(let s=0;s<t;s++){const r=e.getParentIndex(s);let a;r!==-1?a=i[r]:a=n;const c=new rb(new ip(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(c),i.push(c)}return n}}let ox=class extends vN{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new ok(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};ox=sw([jp(1,Is)],ox);let rx=class extends vN{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=Ac.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new rk(e.getModel(),n,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){var t;return((t=this.provider)==null?void 0:t.compute(e))??null}};rx=sw([jp(2,ei)],rx);var WU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},SD=function(o,e){return function(t,i){e(t,i,o)}};class BU{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let ax=class extends ft{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new zi),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new dt),this._updateSoon=this._register(new bs(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(116)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(116).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(Vn(()=>{var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){var e;return(e=this._model)==null?void 0:e.version}updateStickyModelProvider(){var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null;const e=this._editor;e.hasModel()&&(this._stickyModelProvider=new nx(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new Ns,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,n,s){if(t.children.length===0)return;let r=s;const a=[];for(let f=0;f<t.children.length;f++){const g=t.children[f];g.range&&a.push(g.range.startLineNumber)}const c=this.updateIndex(ov(a,e.startLineNumber,(f,g)=>f-g)),u=this.updateIndex(ov(a,e.startLineNumber+n,(f,g)=>f-g));for(let f=c;f<=u;f++){const g=t.children[f];if(!g)return;if(g.range){const p=g.range.startLineNumber,w=g.range.endLineNumber;e.startLineNumber<=w+1&&p-1<=e.endLineNumber&&p!==r&&(r=p,i.push(new BU(p,w-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,n+1,p))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,g,i,n,s)}}getCandidateStickyLinesIntersecting(e){var n,s;if(!((n=this._model)!=null&&n.element))return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);const i=(s=this._editor._getViewModel())==null?void 0:s.getHiddenAreas();if(i)for(const r of i)t=t.filter(a=>!(a.startLineNumber>=r.startLineNumber&&a.endLineNumber<=r.endLineNumber+1));return t}};ax=WU([SD(1,ei),SD(2,Is)],ax);var zU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dh=function(o,e){return function(t,i){e(t,i,o)}},lx,uu;let Il=(uu=class extends ft{constructor(e,t,i,n,s,r,a){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=n,this._contextKeyService=a,this._sessionStore=new dt,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._stickyScrollWidget=new OU(this._editor),this._stickyLineCandidateProvider=new ax(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=tp.Empty,this._onDidResize(),this._readConfiguration();const c=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(f=>{this._readConfigurationChange(f)})),this._register(_n(c,Zn.CONTEXT_MENU,async f=>{this._onContextMenu(bd(c),f)})),this._stickyScrollFocusedContextKey=F.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=F.stickyScrollVisible.bindTo(this._contextKeyService);const u=this._register(hf(c));this._register(u.onDidBlur(f=>{this._positionRevealed===!1&&c.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(u.onDidFocus(f=>{this.focus()})),this._registerMouseListeners(),this._register(_n(c,Zn.MOUSE_DOWN,f=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(lx.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),(e=this._focusDisposableStore)==null||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new dt,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(K.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new dt),t=this._register(new Gy(this._editor,{extractLineNumberFromMouseEvent:s=>{const r=this._stickyScrollWidget.getEditorPositionFromNode(s.target.element);return r?r.lineNumber:0}})),i=s=>{if(!this._editor.hasModel()||s.target.type!==12||s.target.detail!==this._stickyScrollWidget.getId())return null;const r=s.target.element;if(!r||r.innerText!==r.innerHTML)return null;const a=this._stickyScrollWidget.getEditorPositionFromNode(r);return a?{range:new K(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(yl(n,Zn.CLICK,s=>{if(s.ctrlKey||s.altKey||s.metaKey||!s.leftButton)return;if(s.shiftKey){const u=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(u===null)return;const f=new Jt(this._endLineNumbers[u],1);this._revealLineInCenterIfOutsideViewport(f);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(s.target)){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);this._toggleFoldingRegionForLine(u);return}if(!this._stickyScrollWidget.isInStickyLine(s.target))return;let c=this._stickyScrollWidget.getEditorPositionFromNode(s.target);if(!c){const u=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);if(u===null)return;c=new Jt(u,1)}this._revealPosition(c)})),this._register(yl(n,Zn.MOUSE_MOVE,s=>{if(s.shiftKey){const r=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(r===null||this._showEndForLine!==null&&this._showEndForLine===r)return;this._showEndForLine=r,this._renderStickyScroll();return}this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(_n(n,Zn.MOUSE_LEAVE,s=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([s,r])=>{const a=i(s);if(!a||!s.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}const{range:c,textElement:u}=a;if(!c.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=c,e.clear();else if(u.style.textDecoration==="underline")return;const f=new Ns;e.add(Vn(()=>f.dispose(!0)));let g;E_(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Jt(c.startLineNumber,c.startColumn+1),!1,f.token).then((p=>{if(!f.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const w=u;g!==w?(e.clear(),g=w,g.style.textDecoration="underline",e.add(Vn(()=>{g.style.textDecoration="none"}))):g||(g=w,g.style.textDecoration="underline",e.add(Vn(()=>{g.style.textDecoration="none"})))}else e.clear()}))})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async s=>{if(s.target.type!==12||s.target.detail!==this._stickyScrollWidget.getId())return;const r=this._stickyScrollWidget.getEditorPositionFromNode(s.target.element);r&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:r.lineNumber,column:1})),this._instaService.invokeFunction(vR,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new DF(e,t);this._contextMenuService.showContextMenu({menuId:At.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t==null?void 0:t.foldingIcon;if(!i)return;ik(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const n=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(n),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(116);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(i=>{i.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)}))}_readConfigurationChange(e){(e.hasChanged(116)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(111)||e.hasChanged(68))&&this._readConfiguration(),e.hasChanged(68)&&this._renderStickyScroll(0)}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const n of e.ranges)if(i>=n.fromLineNumber&&i<=n.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(t*.25)}async _renderStickyScroll(e){const t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._resetState();return}const i=this._updateAndGetMinRebuildFromLine(e),n=this._stickyLineCandidateProvider.getVersionId();if(n===void 0||n===t.getVersionId())if(!this._focused)await this._updateState(i);else if(this._focusedStickyElementIndex===-1)await this._updateState(i),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const r=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(i),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(r)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}_updateAndGetMinRebuildFromLine(e){if(e!==void 0){const t=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){var i;this._minRebuildFromLine=void 0,this._foldingModel=await((i=Ac.get(this._editor))==null?void 0:i.getFoldingModel())??void 0,this._widgetState=this.findScrollWidgetState();const t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=tp.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),i=this._editor.getScrollTop();let n=0;const s=[],r=[],a=this._editor.getVisibleRanges();if(a.length!==0){const c=new ip(a[0].startLineNumber,a[a.length-1].endLineNumber),u=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(c);for(const f of u){const g=f.startLineNumber,p=f.endLineNumber,w=f.nestingDepth;if(p-g>0){const m=(w-1)*e,x=w*e,k=this._editor.getBottomForLineNumber(g)-i,E=this._editor.getTopForLineNumber(p)-i,P=this._editor.getBottomForLineNumber(p)-i;if(m>E&&m<=P){s.push(g),r.push(p+1),n=P-x;break}else x>k&&x<=P&&(s.push(g),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new tp(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},lx=uu,uu.ID="store.contrib.stickyScrollController",uu);Il=lx=zU([dh(1,Bf),dh(2,ei),dh(3,Ti),dh(4,Is),dh(5,cr),dh(6,mn)],Il);class VU extends vo{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...Zt("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:C({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:Zt("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:NU.View,toggled:{condition:xe.equals("config.editor.stickyScroll.enabled",!0),title:C("stickyScroll","Sticky Scroll"),mnemonicTitle:C({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:At.CommandPalette},{id:At.MenubarAppearanceMenu,group:"4_editor",order:3},{id:At.StickyScrollContext}]})}async run(e){const t=e.get($n),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const ow=100;class jU extends ca{constructor(){super({id:"editor.action.focusStickyScroll",title:{...Zt("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:C({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:xe.and(xe.has("config.editor.stickyScroll.enabled"),F.stickyScrollVisible),menu:[{id:At.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focus()}}class $U extends ca{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Zt("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:F.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:18}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusNext()}}class UU extends ca{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Zt("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:F.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:16}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusPrevious()}}class qU extends ca{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Zt("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:F.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:3}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.goToFocused()}}class GU extends ca{constructor(){super({id:"editor.action.selectEditor",title:Zt("selectEditor.title","Select Editor"),precondition:F.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ow,primary:9}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.selectEditor()}}Gi(Il.ID,Il,1);Ln(VU);Ln(jU);Ln(UU);Ln($U);Ln(qU);Ln(GU);var bN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hg=function(o,e){return function(t,i){e(t,i,o)}};class KU{constructor(e,t,i,n,s,r){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=n,this.command=s,this.completion=r}}let cx=class extends EF{constructor(e,t,i,n,s,r){super(s.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=n,this._suggestMemoryService=r}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn<i.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){const e=[],{items:t}=this.completionModel,i=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},t),n=hl.slice(t,i),s=hl.slice(t,0,i);let r=5;for(const a of hl.concat(n,s)){if(a.score===_p.Default)continue;const c=new K(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),u=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new KU(c,u,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(Vi.None)}return e}};cx=bN([Hg(5,ew)],cx);let dx=class extends ft{constructor(e,t,i,n){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=n,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,n){var w;if(i.selectedSuggestionInfo)return;let s;for(const m of this._editorService.listCodeEditors())if(m.getModel()===e){s=m;break}if(!s)return;const r=s.getOption(90);if(Ph.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const a=e.tokenization.getLineTokens(t.lineNumber),c=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(Ph.valueFor(r,c)!=="inline")return;let u=e.getWordAtPosition(t),f;if(u!=null&&u.word||(f=this._getTriggerCharacterInfo(e,t)),!(u!=null&&u.word)&&!f||(u||(u=e.getWordUntilPosition(t)),u.endColumn!==t.column))return;let g;const p=e.getValueInRange(new K(t.lineNumber,1,t.lineNumber,t.column));if(!f&&((w=this._lastResult)!=null&&w.canBeReused(e,t.lineNumber,u))){const m=new aD(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=m,this._lastResult.acquire(),g=this._lastResult}else{const m=await ak(this._languageFeatureService.completionProvider,e,t,new Np(void 0,Uv.createSuggestFilter(s).itemKind,f==null?void 0:f.providers),f&&{triggerKind:1,triggerCharacter:f.ch},n);let x;m.needsClipboard&&(x=await this._clipboardService.readText());const k=new Yl(m.items,t.column,new aD(p,0),$v.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},x);g=new cx(e,t.lineNumber,u,k,m,this._suggestMemoryService)}return this._lastResult=g,g}handleItemDidShow(e,t){t.completion.resolve(Vi.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(K.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),n=new Set;for(const r of this._languageFeatureService.completionProvider.all(e))(s=r.triggerCharacters)!=null&&s.includes(i)&&n.add(r);if(n.size!==0)return{providers:n,ch:i}}};dx=bN([Hg(0,ei),Hg(1,zf),Hg(2,ew),Hg(3,as)],dx);jf(dx);class ZU extends Qe{constructor(){super({id:"editor.action.forceRetokenize",label:C("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const n=new To;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}fe(ZU);const iy=class iy extends vo{constructor(){super({id:iy.ID,title:Zt({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:Zt("tabMovesFocusDescriptions","Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.")},f1:!0})}run(){const t=!PL.getTabFocusMode();PL.setTabFocusMode(t),t?Ar(C("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):Ar(C("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};iy.ID="editor.action.toggleTabFocusMode";let ux=iy;Ln(ux);var XU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},CD=function(o,e){return function(t,i){e(t,i,o)}};let hx=class extends ft{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},n,s){super(),this._link=t,this._hoverService=n,this._enabled=!0,this.el=Ft(e,Vt("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??ky("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new xw(this.el,"click")),a=this._register(new xw(this.el,"keypress")),c=vs.chain(a.event,g=>g.map(p=>new _0(p)).filter(p=>p.keyCode===3)),u=this._register(new xw(this.el,TF.Tap)).event;this._register(ME.addTarget(this.el));const f=vs.any(r.event,c,u);this._register(f(g=>{this.enabled&&(tv.stop(g,!0),i!=null&&i.opener?i.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};hx=XU([CD(3,g_),CD(4,ua)],hx);var yN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},wN=function(o,e){return function(t,i){e(t,i,o)}};const YU=26;let fx=class extends ft{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(gx))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),(t=e.onClose)==null||t.call(e)}}),this._editor.setBanner(this.banner.element,YU)}};fx=yN([wN(1,Ti)],fx);let gx=class extends ft{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance($f,{}),this.element=Vt("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message=="string")return e.message}getBannerMessage(e){if(typeof e=="string"){const t=Vt("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Ha(this.element)}show(e){Ha(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=Ft(this.element,Vt("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(Vt(`div${bn.asCSSSelector(e.icon)}`));const n=Ft(this.element,Vt("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=Ft(this.element,Vt("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(hx,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=Ft(this.element,Vt("div.action-container"));this.actionBar=this._register(new dp(s)),this.actionBar.push(this._register(new _f("banner.close","Close Banner",bn.asClassName(eT),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};gx=yN([wN(0,Ti)],gx);var wk=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$h=function(o,e){return function(t,i){e(t,i,o)}};const QU=is("extensions-warning-message",yi.warning,C("warningIcon","Icon shown with a warning message in the extensions editor."));var lf;let $p=(lf=class extends ft{constructor(e,t,i,n){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=s=>{if(s&&s.hasMore){if(this._bannerClosed)return;const r=Math.max(s.ambiguousCharacterCount,s.nonBasicAsciiCharacterCount,s.invisibleCharacterCount);let a;if(s.nonBasicAsciiCharacterCount>=r)a={message:C("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new qp};else if(s.ambiguousCharacterCount>=r)a={message:C("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new Ru};else if(s.invisibleCharacterCount>=r)a={message:C("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new Up};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:QU,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(fx,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(126),this._register(i.onDidChangeTrust(s=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(s=>{s.hasChanged(126)&&(this._options=e.getOption(126),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=JU(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?PF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new px(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new e8(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},lf.ID="editor.contrib.unicodeHighlighter",lf);$p=wk([$h(1,Ml),$h(2,MF),$h(3,Ti)],$p);function JU(o,e){return{nonBasicASCII:e.nonBasicASCII===kw?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===kw?!o:e.includeComments,includeStrings:e.includeStrings===kw?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let px=class extends ft{constructor(e,t,i,n){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=n,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new bs(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const n of t.ranges)i.push({range:n,options:ab.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!$T(t,e))return null;const i=t.getValueInRange(e.range);return{reason:CN(i,this._options),inComment:qT(t,e),inString:UT(t,e)}}};px=wk([$h(3,Ml)],px);class e8 extends ft{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new bs(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const n of e){const s=GT.computeUnicodeHighlights(this._model,this._options,n);for(const r of s.ranges)i.ranges.push(r);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||s.hasMore}if(!i.hasMore)for(const n of i.ranges)t.push({range:n,options:ab.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return $T(t,e)?{reason:CN(i,this._options),inComment:qT(t,e),inString:UT(t,e)}:null}}const SN=C("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let _x=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),n=this._editor.getContribution($p.ID);if(!n)return[];const s=[],r=new Set;let a=300;for(const c of t){const u=n.getDecorationInfo(c);if(!u)continue;const g=i.getValueInRange(c.range).codePointAt(0),p=rS(g);let w;switch(u.reason.kind){case 0:{_T(u.reason.confusableWith)?w=C("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,rS(u.reason.confusableWith.codePointAt(0))):w=C("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,rS(u.reason.confusableWith.codePointAt(0)));break}case 1:w=C("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:w=C("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",p);break}if(r.has(w))continue;r.add(w);const m={codePoint:g,reason:u.reason,inComment:u.inComment,inString:u.inString},x=C("unicodeHighlight.adjustSettings","Adjust settings"),k=`command:${lb.ID}?${encodeURIComponent(JSON.stringify(m))}`,E=new Js("",!0).appendMarkdown(w).appendText(" ").appendLink(k,x,SN);s.push(new Dr(this,c.range,[E],!1,a++))}return s}renderHoverParts(e,t){return E4(e,t,this._editor,this._languageService,this._openerService)}};_x=wk([$h(1,fa),$h(2,ua)],_x);function mx(o){return`U+${o.toString(16).padStart(4,"0")}`}function rS(o){let e=`\`${mx(o)}\``;return KT.isInvisibleCharacter(o)||(e+=` "${`${t8(o)}`}"`),e}function t8(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function CN(o,e){return GT.computeUnicodeHighlightReason(o,e)}const ny=class ny{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i=`${e}${t}`;let n=this.map.get(i);return n||(n=tn.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,n)),n}};ny.instance=new ny;let ab=ny;class i8 extends Qe{constructor(){super({id:Ru.ID,label:C("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get($n);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.includeComments,!1,2)}}class n8 extends Qe{constructor(){super({id:Ru.ID,label:C("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get($n);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.includeStrings,!1,2)}}const sy=class sy extends Qe{constructor(){super({id:sy.ID,label:C("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get($n);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.ambiguousCharacters,!1,2)}};sy.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Ru=sy;const oy=class oy extends Qe{constructor(){super({id:oy.ID,label:C("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get($n);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.invisibleCharacters,!1,2)}};oy.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let Up=oy;const ry=class ry extends Qe{constructor(){super({id:ry.ID,label:C("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=C("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get($n);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.nonBasicASCII,!1,2)}};ry.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let qp=ry;const ay=class ay extends Qe{constructor(){super({id:ay.ID,label:C("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:n,reason:s,inString:r,inComment:a}=i,c=String.fromCodePoint(n),u=e.get(El),f=e.get($n);function g(m){return KT.isInvisibleCharacter(m)?C("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",mx(m)):C("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${mx(m)} "${c}"`)}const p=[];if(s.kind===0)for(const m of s.notAmbiguousInLocales)p.push({label:C("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',m),run:async()=>{o8(f,[m])}});if(p.push({label:g(n),run:()=>s8(f,[n])}),a){const m=new i8;p.push({label:m.label,run:async()=>m.runAction(f)})}else if(r){const m=new n8;p.push({label:m.label,run:async()=>m.runAction(f)})}if(s.kind===0){const m=new Ru;p.push({label:m.label,run:async()=>m.runAction(f)})}else if(s.kind===1){const m=new Up;p.push({label:m.label,run:async()=>m.runAction(f)})}else if(s.kind===2){const m=new qp;p.push({label:m.label,run:async()=>m.runAction(f)})}else r8(s);const w=await u.pick(p,{title:SN});w&&await w.run()}};ay.ID="editor.action.unicodeHighlight.showExcludeOptions";let lb=ay;async function s8(o,e){const t=o.getValue(Sl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(Sl.allowedCharacters,i,2)}async function o8(o,e){var n;const t=(n=o.inspect(Sl.allowedLocales).user)==null?void 0:n.value;let i;typeof t=="object"&&t?i=Object.assign({},t):i={};for(const s of e)i[s]=!0;await o.updateValue(Sl.allowedLocales,i,2)}function r8(o){throw new Error(`Unexpected value: ${o}`)}fe(Ru);fe(Up);fe(qp);fe(lb);Gi($p.ID,$p,1);Vu.register(_x);var a8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xD=function(o,e){return function(t,i){e(t,i,o)}};const xN="ignoreUnusualLineTerminators";function l8(o,e,t){o.setModelProperty(e.uri,xN,t)}function c8(o,e){return o.getModelProperty(e.uri,xN)}var cf;let cb=(cf=class extends ft{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(127),this._register(this._editor.onDidChangeConfiguration(n=>{n.hasChanged(127)&&(this._config=this._editor.getOption(127),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(n=>{n.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||c8(this._codeEditorService,e)===!0||this._editor.getOption(92))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:C("unusualLineTerminators.title","Unusual Line Terminators"),message:C("unusualLineTerminators.message","Detected unusual line terminators"),detail:C("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",ja(e.uri)),primaryButton:C({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:C("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){l8(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},cf.ID="editor.contrib.unusualLineTerminatorsDetector",cf);cb=a8([xD(1,v0),xD(2,as)],cb);Gi(cb.ID,cb,1);var d8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},u8=function(o,e){return function(t,i){e(t,i,o)}};class kD{constructor(){this.selector={language:"*"}}provideDocumentHighlights(e,t,i){const n=[],s=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});return s?e.isDisposed()?void 0:e.findMatches(s.word,!0,!1,!0,ML,!1).map(a=>({range:a.range,kind:av.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new Ec,r=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!r)return Promise.resolve(s);for(const a of[e,...i]){if(a.isDisposed())continue;const u=a.findMatches(r.word,!0,!1,!0,ML,!1).map(f=>({range:f.range,kind:av.Text}));u&&s.set(a.uri,u)}return s}}let vx=class extends ft{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new kD)),this._register(e.multiDocumentHighlightProvider.register("*",new kD))}};vx=d8([u8(0,ei)],vx);var kN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Km=function(o,e){return function(t,i){e(t,i,o)}},ts,bx;const Sk=new dn("hasWordHighlights",!1);function LN(o,e,t,i){const n=o.ordered(e);return h0(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,rs)),s=>s!=null).then(s=>{if(s){const r=new Ec;return r.set(e.uri,s),r}return new Ec})}function h8(o,e,t,i,n,s){const r=o.ordered(e);return h0(r.map(a=>()=>{const c=s.filter(u=>NF(u)).filter(u=>AF(a.selector,u.uri,u.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,c,n)).then(void 0,rs)}),a=>a!=null)}class IN{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=Rs(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new K(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const n=t.startLineNumber,s=t.startColumn,r=t.endColumn,a=this._getCurrentWordRange(e,t);let c=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let u=0,f=i.length;!c&&u<f;u++){const g=i.getRange(u);g&&g.startLineNumber===n&&g.startColumn<=s&&g.endColumn>=r&&(c=!0)}return c}cancel(){this.result.cancel()}}class f8 extends IN{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return LN(this._providers,e,t.getPosition(),n).then(s=>s||new Ec)}}class g8 extends IN{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return h8(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Ec)}}function p8(o,e,t,i,n){return new f8(e,t,n,o)}function _8(o,e,t,i,n,s){return new g8(e,t,n,o,s)}yo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(ei),n=await LN(i.documentHighlightProvider,e,t,Vi.None);return n==null?void 0:n.get(e.uri)});var Dc;let yx=(Dc=class{constructor(e,t,i,n,s){this.toUnhook=new dt,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Ec,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Tc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=Sk.bindTo(n),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(r=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!=="off"&&this.runDelayer.trigger(()=>{this._onPositionChanged(r)})})),this.toUnhook.add(e.onDidFocusEditorText(r=>{this.occurrencesHighlight!=="off"&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}))})),this.toUnhook.add(e.onDidChangeModelContent(r=>{RF(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():ts.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var c,u;const a=this.editor.getOption(81);if(this.occurrencesHighlight!==a)switch(this.occurrencesHighlight=a,a){case"off":this._stopAll();break;case"singleFile":this._stopAll((u=(c=ts.query)==null?void 0:c.modelInfo)==null?void 0:u.model);break;case"multiFile":ts.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",a);break}})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,ts.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(K.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),i=(e.findIndex(s=>s.containsPosition(this.editor.getPosition()))+1)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const s=this._getWord();if(s){const r=this.editor.getModel().getLineContent(n.startLineNumber);Ar(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),i=(e.findIndex(s=>s.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,n=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(n.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(n);const s=this._getWord();if(s){const r=this.editor.getModel().getLineContent(n.startLineNumber);Ar(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=ts.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),ts.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){const t=this.codeEditorService.listCodeEditors(),i=[];for(const n of t){if(!n.hasModel()||Jm(n.getModel().uri,e==null?void 0:e.uri))continue;const s=ts.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Fc.get(n);r!=null&&r.wordHighlighter&&r.wordHighlighter.decorations.length>0&&(r.wordHighlighter.decorations.clear(),r.wordHighlighter.workerRequest=null,r.wordHighlighter._hasWordHighlights.set(!1))}for(const n of i)ts.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==fo.vscodeNotebookCell&&((i=(t=ts.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==fo.vscodeNotebookCell?(ts.query=null,this._run()):(n=ts.query)!=null&&n.modelInfo&&(ts.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(e){this._removeAllDecorations(e),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){var t;if(this.occurrencesHighlight==="off"){this._stopAll();return}if(e.reason!==3&&((t=this.editor.getModel())==null?void 0:t.uri.scheme)!==fo.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===fo.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===fo.vscodeNotebookCell&&s.push(c)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!ZT(s))continue;const r=s.getModel();r&&e===r.modified&&i.push(r.modified)}if(i.length)return i;if(this.occurrencesHighlight==="singleFile")return[];for(const s of n){const r=s.getModel();r&&r!==e&&i.push(r)}return i}_run(e){var n,s;let t;if(this.editor.hasTextFocus()){const r=this.editor.getSelection();if(!r||r.startLineNumber!==r.endLineNumber){ts.query=null,this._stopAll();return}const a=r.startColumn,c=r.endColumn,u=this._getWord();if(!u||u.startColumn>a||u.endColumn<c){ts.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),ts.query={modelInfo:{model:this.model,selection:r},word:u}}else if(!ts.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),t)this.workerRequestCompleted&&this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else if(Jm(this.editor.getModel().uri,(n=ts.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const c=this.decorations.getRanges();for(const u of c)if(u.containsPosition(this.editor.getPosition()))return}this._stopAll(e?this.model:void 0);const r=++this.workerRequestTokenId;this.workerRequestCompleted=!1;const a=this.getOtherModelsToHighlight(this.editor.getModel());if(!ts.query||!ts.query.modelInfo||ts.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(ts.query.modelInfo.model,ts.query.modelInfo.selection,ts.query.word,a),(s=this.workerRequest)==null||s.result.then(c=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=c||[],this._beginRenderDecorations())},Pn)}}computeWithModel(e,t,i,n){return n.length?_8(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):p8(this.providers,e,t,i,this.editor.getOption(132))}_beginRenderDecorations(){const e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){var t,i,n;this.renderDecorationsTimer=-1;const e=this.codeEditorService.listCodeEditors();for(const s of e){const r=Fc.get(s);if(!r)continue;const a=[],c=(t=s.getModel())==null?void 0:t.uri;if(c&&this.workerRequestValue.has(c)){const u=ts.storedDecorationIDs.get(c),f=this.workerRequestValue.get(c);if(f)for(const p of f)p.range&&a.push({range:p.range,options:s$(p.kind)});let g=[];s.changeDecorations(p=>{g=p.deltaDecorations(u??[],a)}),ts.storedDecorationIDs=ts.storedDecorationIDs.set(c,g),a.length>0&&((i=r.wordHighlighter)==null||i.decorations.set(a),(n=r.wordHighlighter)==null||n._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}},ts=Dc,Dc.storedDecorationIDs=new Ec,Dc.query=null,Dc);yx=ts=kN([Km(4,as)],yx);var hu;let Fc=(hu=class extends ft{static get(e){return e.getContribution(bx.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new yx(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,n))};this._register(e.onDidChangeModel(r=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),s()})),s()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){var e;(e=this._wordHighlighter)==null||e.moveNext()}moveBack(){var e;(e=this._wordHighlighter)==null||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}},bx=hu,hu.ID="editor.contrib.wordHighlighter",hu);Fc=bx=kN([Km(1,mn),Km(2,ei),Km(3,as)],Fc);class DN extends Qe{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Fc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class m8 extends DN{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:C("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:Sk,kbOpts:{kbExpr:F.editorTextFocus,primary:65,weight:100}})}}class v8 extends DN{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:C("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:Sk,kbOpts:{kbExpr:F.editorTextFocus,primary:1089,weight:100}})}}class b8 extends Qe{constructor(){super({id:"editor.action.wordHighlight.trigger",label:C("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:F.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Fc.get(t);n&&n.restoreViewState(!0)}}Gi(Fc.ID,Fc,0);fe(m8);fe(v8);fe(b8);jf(vx);class rw extends bo{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Wu(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,c=r.map(u=>{const f=new Jt(u.positionLineNumber,u.positionColumn),g=this._move(n,s,f,this._wordNavigationType,a);return this._moveTo(u,g,this._inSelectionMode)});if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,c.map(u=>OF.fromModelSelection(u))),c.length===1){const u=new Jt(c[0].positionLineNumber,c[0].positionColumn);t.revealPosition(u,0)}}_moveTo(e,t,i){return i?new _i(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new _i(t.lineNumber,t.column,t.lineNumber,t.column)}}class zc extends rw{_move(e,t,i,n,s){return b_.moveWordLeft(e,t,i,n,s)}}class Vc extends rw{_move(e,t,i,n,s){return b_.moveWordRight(e,t,i,n)}}class y8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class w8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class S8 extends zc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:xe.and(F.textInputFocus,(e=xe.and(Ey,Ty))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class C8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class x8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class k8 extends zc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:xe.and(F.textInputFocus,(e=xe.and(Ey,Ty))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class L8 extends zc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Wu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class I8 extends zc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Wu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class D8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class E8 extends Vc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:xe.and(F.textInputFocus,(e=xe.and(Ey,Ty))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class T8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class P8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class M8 extends Vc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:xe.and(F.textInputFocus,(e=xe.and(Ey,Ty))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class R8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class N8 extends Vc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Wu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class A8 extends Vc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Wu(Py.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class aw extends bo{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(Is);if(!t.hasModel())return;const s=Wu(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),c=t.getOption(6),u=t.getOption(11),f=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),g=t._getViewModel(),p=a.map(w=>{const m=this._delete({wordSeparators:s,model:r,selection:w,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:c,autoClosingQuotes:u,autoClosingPairs:f,autoClosedCharacters:g.getCursorAutoClosedCharacters()},this._wordNavigationType);return new o_(m,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class Ck extends aw{_delete(e,t){const i=b_.deleteWordLeft(e,t);return i||new K(1,1,1,1)}}class xk extends aw{_delete(e,t){const i=b_.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new K(n,s,n,s)}}class O8 extends Ck{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:F.writable})}}class F8 extends Ck{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:F.writable})}}class H8 extends Ck{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:F.writable,kbOpts:{kbExpr:F.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class W8 extends xk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:F.writable})}}class B8 extends xk{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:F.writable})}}class z8 extends xk{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:F.writable,kbOpts:{kbExpr:F.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class V8 extends Qe{constructor(){super({id:"deleteInsideWord",precondition:F.writable,label:C("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Wu(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(c=>{const u=b_.deleteInsideWord(n,s,c);return new o_(u,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}ii(new y8);ii(new w8);ii(new S8);ii(new C8);ii(new x8);ii(new k8);ii(new D8);ii(new E8);ii(new T8);ii(new P8);ii(new M8);ii(new R8);ii(new L8);ii(new I8);ii(new N8);ii(new A8);ii(new O8);ii(new F8);ii(new H8);ii(new W8);ii(new B8);ii(new z8);fe(V8);class j8 extends aw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:F.writable,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=My.deleteWordPartLeft(e);return i||new K(1,1,1,1)}}class $8 extends aw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:F.writable,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=My.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new K(n,s,n,s)}}class EN extends rw{_move(e,t,i,n,s){return My.moveWordPartLeft(e,t,i,s)}}class U8 extends EN{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}On.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class q8 extends EN{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}On.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class TN extends rw{_move(e,t,i,n,s){return My.moveWordPartRight(e,t,i)}}class G8 extends TN{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class K8 extends TN{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:F.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}ii(new j8);ii(new $8);ii(new U8);ii(new q8);ii(new G8);ii(new K8);const Bk=class Bk extends ft{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=Io.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Js(C("editor.simple.readonly","Cannot edit in read-only input")):t=new Js(C("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};Bk.ID="editor.contrib.readOnlyMessageController";let db=Bk;Gi(db.ID,db,2);var Z8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},LD=function(o,e){return function(t,i){e(t,i,o)}};let wx=class extends ft{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=$o(this,void 0);const n=yd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=yd("_textModel.onDidChangeContent",vs.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(h_(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new WF),u=await this._outlineModelService.getOrCreate(this._textModel,c.token);a.isDisposed||this._currentModel.set(u,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const n=i.asListOfDocumentSymbols().filter(s=>e.contains(s.range.startLineNumber)&&!e.contains(s.range.endLineNumber));return n.sort(HF(p_(s=>s.range.endLineNumber-s.range.startLineNumber,Sy))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};wx=Z8([LD(1,ei),LD(2,M_)],wx);FF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(wx,o));const zk=class zk extends ft{constructor(e){super(),this.editor=e,this.widget=null,CS&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new Sx(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};zk.ID="editor.contrib.iPadShowKeyboard";let ub=zk;const ly=class ly extends ft{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(_n(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(_n(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return ly.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};ly.ID="editor.contrib.ShowKeyboardWidget";let Sx=ly;Gi(ub.ID,ub,3);var X8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ID=function(o,e){return function(t,i){e(t,i,o)}},Cx,fu;let Gp=(fu=class extends ft{static get(e){return e.getContribution(Cx.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel(n=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(n=>this.stop())),this._register(xy.onDidChange(n=>this.stop())),this._register(this._editor.onKeyUp(n=>n.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new xx(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},Cx=fu,fu.ID="editor.contrib.inspectTokens",fu);Gp=Cx=X8([ID(1,XT),ID(2,fa)],Gp);class Y8 extends Qe{constructor(){super({id:"editor.action.inspectTokens",label:jF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=Gp.get(t);i==null||i.launch()}}function Q8(o){let e="";for(let t=0,i=o.length;t<i;t++){const n=o.charCodeAt(t);switch(n){case 9:e+="→";break;case 32:e+="·";break;default:e+=String.fromCharCode(n)}}return e}function J8(o,e){const t=xy.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>BF,tokenize:(n,s,r)=>VF(e,r),tokenizeEncoded:(n,s,r)=>zF(i,r)}}const cy=class cy extends ft{constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=J8(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(i=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return cy._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let c=t.tokens1.length-1;c>=0;c--){const u=t.tokens1[c];if(e.column-1>=u.offset){i=c;break}}let n=0;for(let c=t.tokens2.length>>>1;c>=0;c--)if(e.column-1>=t.tokens2[c<<1]){n=c;break}const s=this._model.getLineContent(e.lineNumber);let r="";if(i<t.tokens1.length){const c=t.tokens1[i].offset,u=i+1<t.tokens1.length?t.tokens1[i+1].offset:s.length;r=s.substring(c,u)}ev(this._domNode,Vt("h2.tm-token",void 0,Q8(r),Vt("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),Ft(this._domNode,Vt("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;Ft(this._domNode,Vt("table.tm-metadata-table",void 0,Vt("tbody",void 0,Vt("tr",void 0,Vt("td.tm-metadata-key",void 0,"language"),Vt("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),Vt("tr",void 0,Vt("td.tm-metadata-key",void 0,"token type"),Vt("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),Vt("tr",void 0,Vt("td.tm-metadata-key",void 0,"font style"),Vt("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),Vt("tr",void 0,Vt("td.tm-metadata-key",void 0,"foreground"),Vt("td.tm-metadata-value",void 0,`${a?en.Format.CSS.formatHex(a.foreground):"-?-"}`)),Vt("tr",void 0,Vt("td.tm-metadata-key",void 0,"background"),Vt("td.tm-metadata-value",void 0,`${a?en.Format.CSS.formatHex(a.background):"-?-"}`))))),Ft(this._domNode,Vt("hr.tokens-inspect-separator")),i<t.tokens1.length&&Ft(this._domNode,Vt("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=xy.getColorMap(),i=gg.getLanguageId(e),n=gg.getTokenType(e),s=gg.getFontStyle(e),r=gg.getForeground(e),a=gg.getBackground(e);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(i),tokenType:n,fontStyle:s,foreground:t[r],background:t[a]}}_tokenTypeToString(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 3:return"RegEx";default:return"??"}}_fontStyleToString(e){let t="";return e&1&&(t+="italic "),e&2&&(t+="bold "),e&4&&(t+="underline "),e&8&&(t+="strikethrough "),t.length===0&&(t="---"),t}_getTokensAtLine(e){const t=this._getStateBeforeLine(e),i=this._tokenizationSupport.tokenize(this._model.getLineContent(e),!0,t),n=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(e),!0,t);return{startState:t,tokens1:i.tokens,tokens2:n.tokens,endState:i.endState}}_getStateBeforeLine(e){let t=this._tokenizationSupport.getInitialState();for(let i=1;i<e;i++)t=this._tokenizationSupport.tokenize(this._model.getLineContent(i),!0,t).endState;return t}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}};cy._ID="editor.contrib.inspectTokensWidget";let xx=cy;Gi(Gp.ID,Gp,4);fe(Y8);var e7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},DD=function(o,e){return function(t,i){e(t,i,o)}},Wg,gu;let kx=(gu=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=da.as(y_.Quickaccess)}provide(e){const t=new dt;return t.add(e.onDidAccept(()=>{const[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{const n=this.registry.getQuickAccessProvider(i.substr(Wg.PREFIX.length));n&&n.prefix&&n.prefix!==Wg.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==Wg.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((t,i)=>t.prefix.localeCompare(i.prefix)).flatMap(t=>this.createPicks(t))}createPicks(e){return e.helpEntries.map(t=>{const i=t.prefix||e.prefix,n=i||"…";return{prefix:i,label:n,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:C("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},Wg=gu,gu.PREFIX="?",gu);kx=Wg=e7([DD(0,El),DD(1,hs)],kx);da.as(y_.Quickaccess).registerQuickAccessProvider({ctor:kx,prefix:"",helpEntries:[{description:$F.helpQuickAccessActionLabel}]});class PN{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new dt;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new qo);return s.value=this.doProvide(e,t,i),n.add(this.onDidActiveTextEditorControlChange(()=>{s.value=void 0,s.value=this.doProvide(e,t)})),n}doProvide(e,t,i){const n=new dt,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=YT(s);if(a){let c=s.saveViewState()??void 0;n.add(a.onDidChangeCursorPosition(()=>{c=s.saveViewState()??void 0})),r.restoreViewState=()=>{c&&s===this.activeTextEditorControl&&s.restoreViewState(c)},n.add(QT(t.onCancellationRequested)(()=>{var u;return(u=r.restoreViewState)==null?void 0:u.call(r)}))}n.add(Vn(()=>this.clearDecorations(s))),n.add(this.provideWithTextEditor(r,e,t,i))}else n.add(this.provideWithoutTextEditor(e,t));return n}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const i=e.getModel();i&&"getLineContent"in i&&ff(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return ZT(e)?(t=e.getModel())==null?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(i=>{const n=[];this.rangeHighlightDecorationId&&(n.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),n.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const s=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:_s(nT),position:Fa.Full}}}],[r,a]=i.deltaDecorations(n,s);this.rangeHighlightDecorationId={rangeHighlightId:r,overviewRulerDecorationId:a}})}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(i=>{i.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}const dy=class dy extends PN{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=C("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,ft.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new dt;s.add(t.onDidAccept(c=>{const[u]=t.selectedItems;if(u){if(!this.isValidLineNumber(n,u.lineNumber))return;this.gotoLocation(e,{range:this.toRange(u.lineNumber,u.column),keyMods:t.keyMods,preserveFocus:c.inBackground}),c.inBackground||t.hide()}}));const r=()=>{const c=this.parsePosition(n,t.value.trim().substr(dy.PREFIX.length)),u=this.getPickLabel(n,c.lineNumber,c.column);if(t.items=[{lineNumber:c.lineNumber,column:c.column,label:u}],t.ariaLabel=u,!this.isValidLineNumber(n,c.lineNumber)){this.clearDecorations(n);return}const f=this.toRange(c.lineNumber,c.column);n.revealRangeInCenter(f,0),this.addDecorations(n,f)};r(),s.add(t.onDidChangeValue(()=>r()));const a=YT(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(Vn(()=>a.updateOptions({lineNumbers:"relative"})))),s}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map(s=>parseInt(s,10)).filter(s=>!isNaN(s)),n=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:n+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?C("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):C("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?C("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):C("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",n.lineNumber,n.column)}isValidLineNumber(e,t){return!t||typeof t!="number"?!1:t>0&&t<=this.lineCount(e)}isValidColumn(e,t,i){if(!i||typeof i!="number")return!1;const n=this.getModel(e);if(!n)return!1;const s={lineNumber:t,column:i};return n.validatePosition(s).equals(s)}lineCount(e){var t;return((t=this.getModel(e))==null?void 0:t.getLineCount())??0}};dy.PREFIX=":";let Lx=dy;var t7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},i7=function(o,e){return function(t,i){e(t,i,o)}};let Kp=class extends Lx{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=vs.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Kp=t7([i7(0,as)],Kp);var pu;let MN=(pu=class extends Qe{constructor(){super({id:pu.ID,label:JT.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:F.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(El).quickAccess.show(Kp.PREFIX)}},pu.ID="editor.action.gotoLine",pu);fe(MN);da.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Kp,prefix:Kp.PREFIX,helpEntries:[{description:JT.gotoLineActionLabel,commandId:MN.ID}]});const RN=[void 0,[]];function aS(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?n7(o,n.values,t,i):NN(o,e,t,i)}function n7(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=NN(o,r,t,i);if(typeof a!="number")return RN;n+=a,s.push(...c)}return[n,s7(s)]}function NN(o,e,t,i){const n=ST(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],Cy(n)]:RN}function s7(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!o7(i,n)?(i=n,t.push(n)):(i.start=Math.min(i.start,n.start),i.end=Math.max(i.end,n.end));return t}function o7(o,e){return!(o.end<e.start||e.end<o.start)}function ED(o){return o.startsWith('"')&&o.endsWith('"')}const AN=" ";function Ix(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=TD(o),s=t.indexOf(PS)>=0,r=ED(o);let a;const c=o.split(AN);if(c.length>1)for(const u of c){const f=ED(u),{pathNormalized:g,normalized:p,normalizedLowercase:w}=TD(u);p&&(a||(a=[]),a.push({original:u,originalLowercase:u.toLowerCase(),pathNormalized:g,normalized:p,normalizedLowercase:w,expectContiguousMatch:f}))}return{original:o,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:s,expectContiguousMatch:r}}function TD(o){let e;gy?e=o.replace(/\//g,PS):e=o.replace(/\\/g,PS);const t=UF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function PD(o){return Array.isArray(o)?Ix(o.map(e=>e.original).join(AN)):Ix(o.original)}var r7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},MD=function(o,e){return function(t,i){e(t,i,o)}},Zm,na;let Dd=(na=class extends PN{constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,C("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),ft.None}provideWithTextEditor(e,t,i,n){const s=e.editor,r=this.getModel(s);return r?this._languageFeaturesService.documentSymbolProvider.has(r)?this.doProvideWithEditorSymbols(e,r,t,i,n):this.doProvideWithoutEditorSymbols(e,r,t,i):ft.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new dt;return this.provideLabelPick(i,C("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(async()=>!await this.waitForLanguageSymbolRegistry(t,s)||n.isCancellationRequested||s.add(this.doProvideWithEditorSymbols(e,t,i,n)))(),s}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new py,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(Vn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var g;const r=e.editor,a=new dt;a.add(i.onDidAccept(p=>{var m;const[w]=i.selectedItems;w&&w.range&&(this.gotoLocation(e,{range:w.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(m=s==null?void 0:s.handleAccept)==null||m.call(s,w),p.inBackground||i.hide())})),a.add(i.onDidTriggerItemButton(({item:p})=>{p&&p.range&&(this.gotoLocation(e,{range:p.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const c=this.getDocumentSymbols(t,n);let u;const f=async p=>{u==null||u.dispose(!0),i.busy=!1,u=new Ns(n),i.busy=!0;try{const w=Ix(i.value.substr(Zm.PREFIX.length).trim()),m=await this.doGetSymbolPicks(c,w,void 0,u.token,t);if(n.isCancellationRequested)return;if(m.length>0){if(i.items=m,p&&w.original.length===0){const x=ZF(m,k=>!!(k.type!=="separator"&&k.range&&K.containsPosition(k.range.decoration,p)));x&&(i.activeItems=[x])}}else w.original.length>0?this.provideLabelPick(i,C("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,C("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>f(void 0))),f((g=r.getSelection())==null?void 0:g.getPosition()),a.add(i.onDidChangeActive(()=>{const[p]=i.activeItems;p&&p.range&&(r.revealRangeInCenter(p.range.selection,0),this.addDecorations(r,p.range.decoration))})),a}async doGetSymbolPicks(e,t,i,n,s){var k,E;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(Zm.SCOPE_PREFIX)===0,c=a?1:0;let u,f;t.values&&t.values.length>1?(u=PD(t.values[0]),f=PD(t.values.slice(1))):u=t;let g;const p=(E=(k=this.options)==null?void 0:k.openSideBySideDirection)==null?void 0:E.call(k);p&&(g=[{iconClass:p==="right"?bn.asClassName(yi.splitHorizontal):bn.asClassName(yi.splitVertical),tooltip:p==="right"?C("openToSide","Open to the Side"):C("openToBottom","Open to the Bottom")}]);const w=[];for(let P=0;P<r.length;P++){const A=r[P],U=qF(A.name),B=`$(${GF.toIcon(A.kind).id}) ${U}`,ne=B.length-U.length;let ie=A.containerName;i!=null&&i.extraContainerLabel&&(ie?ie=`${i.extraContainerLabel} • ${ie}`:ie=i.extraContainerLabel);let pe,_e,Ke,Re;if(t.original.length>c){let pt=!1;if(u!==t&&([pe,_e]=aS(B,{...t,values:void 0},c,ne),typeof pe=="number"&&(pt=!0)),typeof pe!="number"&&([pe,_e]=aS(B,u,c,ne),typeof pe!="number"))continue;if(!pt&&f){if(ie&&f.original.length>0&&([Ke,Re]=aS(ie,f)),typeof Ke!="number")continue;typeof pe=="number"&&(pe+=Ke)}}const nt=A.tags&&A.tags.indexOf(1)>=0;w.push({index:P,kind:A.kind,score:pe,label:B,ariaLabel:KF(A.name,A.kind),description:ie,highlights:nt?void 0:{label:_e,description:Re},range:{selection:K.collapseToStart(A.selectionRange),decoration:A.range},uri:s.uri,symbolName:U,strikethrough:nt,buttons:g})}const m=w.sort((P,A)=>a?this.compareByKindAndScore(P,A):this.compareByScore(P,A));let x=[];if(a){let B=function(){A&&typeof P=="number"&&U>0&&(A.label=a0(cS[P]||lS,U))},P,A,U=0;for(const ne of m)P!==ne.kind?(B(),P=ne.kind,U=1,A={type:"separator"},x.push(A)):U++,x.push(ne);B()}else m.length>0&&(x=[{label:C("symbols","symbols ({0})",w.length),type:"separator"},...m]);return x}compareByScore(e,t){if(typeof e.score!="number"&&typeof t.score=="number")return 1;if(typeof e.score=="number"&&typeof t.score!="number")return-1;if(typeof e.score=="number"&&typeof t.score=="number"){if(e.score>t.score)return-1;if(e.score<t.score)return 1}return e.index<t.index?-1:e.index>t.index?1:0}compareByKindAndScore(e,t){const i=cS[e.kind]||lS,n=cS[t.kind]||lS,s=i.localeCompare(n);return s===0?this.compareByScore(e,t):s}async getDocumentSymbols(e,t){const i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}},Zm=na,na.PREFIX="@",na.SCOPE_PREFIX=":",na.PREFIX_BY_CATEGORY=`${na.PREFIX}${na.SCOPE_PREFIX}`,na);Dd=Zm=r7([MD(0,ei),MD(1,M_)],Dd);const lS=C("property","properties ({0})"),cS={5:C("method","methods ({0})"),11:C("function","functions ({0})"),8:C("_constructor","constructors ({0})"),12:C("variable","variables ({0})"),4:C("class","classes ({0})"),22:C("struct","structs ({0})"),23:C("event","events ({0})"),24:C("operator","operators ({0})"),10:C("interface","interfaces ({0})"),2:C("namespace","namespaces ({0})"),3:C("package","packages ({0})"),25:C("typeParameter","type parameters ({0})"),1:C("modules","modules ({0})"),6:C("property","properties ({0})"),9:C("enum","enumerations ({0})"),21:C("enumMember","enumeration members ({0})"),14:C("string","strings ({0})"),0:C("file","files ({0})"),17:C("array","arrays ({0})"),15:C("number","numbers ({0})"),16:C("boolean","booleans ({0})"),18:C("object","objects ({0})"),19:C("key","keys ({0})"),7:C("field","fields ({0})"),13:C("constant","constants ({0})")};var a7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dS=function(o,e){return function(t,i){e(t,i,o)}};let Dx=class extends Dd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=vs.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Dx=a7([dS(0,as),dS(1,ei),dS(2,M_)],Dx);const uy=class uy extends Qe{constructor(){super({id:uy.ID,label:MS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:F.hasDocumentSymbolProvider,kbOpts:{kbExpr:F.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(El).quickAccess.show(Dd.PREFIX,{itemActivation:XF.NONE})}};uy.ID="editor.action.quickOutline";let hb=uy;fe(hb);da.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Dx,prefix:Dd.PREFIX,helpEntries:[{description:MS.quickOutlineActionLabel,prefix:Dd.PREFIX,commandId:hb.ID},{description:MS.quickOutlineByCategoryActionLabel,prefix:Dd.PREFIX_BY_CATEGORY}]});function l7(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class sp{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const i=this.computeEmbedding(e),n=new Map,s=[];for(const[r,a]of this.documents){if(t.isCancellationRequested)return[];for(const c of a.chunks){const u=this.computeSimilarityScore(c,i,n);u>0&&s.push({key:r,score:u})}}return s}static termFrequencies(e){return l7(sp.splitTerms(e))}static*splitTerms(e){const t=i=>i.toLowerCase();for(const[i]of e.matchAll(new RegExp("\\b\\p{Letter}[\\p{Letter}\\d]{2,}\\b","gu"))){yield t(i);const n=i.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(n.length>1)for(const s of n)s.length>2&&new RegExp("\\p{Letter}{3,}","gu").test(s)&&(yield t(s))}}updateDocuments(e){for(const{key:t}of e)this.deleteDocument(t);for(const t of e){const i=[];for(const n of t.textChunks){const s=sp.termFrequencies(n);for(const r of s.keys())this.chunkOccurrences.set(r,(this.chunkOccurrences.get(r)??0)+1);i.push({text:n,tf:s})}this.chunkCount+=i.length,this.documents.set(t.key,{chunks:i})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const i of t.chunks)for(const n of i.tf.keys()){const s=this.chunkOccurrences.get(n);if(typeof s=="number"){const r=s-1;r<=0?this.chunkOccurrences.delete(n):this.chunkOccurrences.set(n,r)}}}}computeSimilarityScore(e,t,i){let n=0;for(const[s,r]of Object.entries(t)){const a=e.tf.get(s);if(!a)continue;let c=i.get(s);typeof c!="number"&&(c=this.computeIdf(s),i.set(s,c));const u=a*c;n+=u*r}return n}computeEmbedding(e){const t=sp.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){const t=this.chunkOccurrences.get(e)??0;return t>0?Math.log((this.chunkCount+1)/t):0}computeTfidf(e){const t=Object.create(null);for(const[i,n]of e){const s=this.computeIdf(i);s>0&&(t[i]=n*s)}return t}}function c7(o){var i;const e=o.slice(0);e.sort((n,s)=>s.score-n.score);const t=((i=e[0])==null?void 0:i.score)??0;if(t>0)for(const n of e)n.score/=t;return e}var Rh;(function(o){o[o.NO_ACTION=0]="NO_ACTION",o[o.CLOSE_PICKER=1]="CLOSE_PICKER",o[o.REFRESH_PICKER=2]="REFRESH_PICKER",o[o.REMOVE_ITEM=3]="REMOVE_ITEM"})(Rh||(Rh={}));function uS(o){return Array.isArray(o.items)}function RD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class d7 extends ft{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var u;const n=new dt;e.canAcceptInBackground=!!((u=this.options)!=null&&u.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new qo),a=async()=>{var k;const f=r.value=new dt;s==null||s.dispose(!0),e.busy=!1,s=new Ns(t);const g=s.token;let p=e.value.substring(this.prefix.length);(k=this.options)!=null&&k.shouldSkipTrimPickFilter||(p=p.trim());const w=this._getPicks(p,f,g,i),m=(E,P)=>{var B;let A,U;if(uS(E)?(A=E.items,U=E.active):A=E,A.length===0){if(P)return!1;(p.length>0||e.hideInput)&&((B=this.options)!=null&&B.noResultsPick)&&(YF(this.options.noResultsPick)?A=[this.options.noResultsPick(p)]:A=[this.options.noResultsPick])}return e.items=A,U&&(e.activeItems=[U]),!0},x=async E=>{let P=!1,A=!1;await Promise.all([(async()=>{typeof E.mergeDelay=="number"&&(await Iy(E.mergeDelay),g.isCancellationRequested)||A||(P=m(E.picks,!0))})(),(async()=>{e.busy=!0;try{const U=await E.additionalPicks;if(g.isCancellationRequested)return;let B,ne;uS(E.picks)?(B=E.picks.items,ne=E.picks.active):B=E.picks;let ie,pe;if(uS(U)?(ie=U.items,pe=U.active):ie=U,ie.length>0||!P){let _e;if(!ne&&!pe){const Ke=e.activeItems[0];Ke&&B.indexOf(Ke)!==-1&&(_e=Ke)}m({items:[...B,...ie],active:ne||pe||_e})}}finally{g.isCancellationRequested||(e.busy=!1),A=!0}})()])};if(w!==null)if(RD(w))await x(w);else if(!(w instanceof Promise))m(w);else{e.busy=!0;try{const E=await w;if(g.isCancellationRequested)return;RD(E)?await x(E):m(E)}finally{g.isCancellationRequested||(e.busy=!1)}}};n.add(e.onDidChangeValue(()=>a())),a(),n.add(e.onDidAccept(f=>{var p;if(i!=null&&i.handleAccept){f.inBackground||e.hide(),(p=i.handleAccept)==null||p.call(i,e.activeItems[0]);return}const[g]=e.selectedItems;typeof(g==null?void 0:g.accept)=="function"&&(f.inBackground||e.hide(),g.accept(e.keyMods,f))}));const c=async(f,g)=>{var w;if(typeof g.trigger!="function")return;const p=((w=g.buttons)==null?void 0:w.indexOf(f))??-1;if(p>=0){const m=g.trigger(p,e.keyMods),x=typeof m=="number"?m:await m;if(t.isCancellationRequested)return;switch(x){case Rh.NO_ACTION:break;case Rh.CLOSE_PICKER:e.hide();break;case Rh.REFRESH_PICKER:a();break;case Rh.REMOVE_ITEM:{const k=e.items.indexOf(g);if(k!==-1){const E=e.items.slice(),P=E.splice(k,1),A=e.activeItems.filter(B=>B!==P[0]),U=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=E,A&&(e.activeItems=A),e.keepScrollPosition=U}break}}}};return n.add(e.onDidTriggerItemButton(({button:f,item:g})=>c(f,g))),n.add(e.onDidTriggerSeparatorButton(({button:f,separator:g})=>c(f,g))),n}}var ON=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ql=function(o,e){return function(t,i){e(t,i,o)}},id,cs,Ra;let Ex=(Ra=class extends d7{constructor(e,t,i,n,s,r){super(id.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(Tx)),this.options=e}async _getPicks(e,t,i,n){var w,m;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=QT(()=>{const x=new sp;x.updateDocuments(s.map(E=>({key:E.commandId,textChunks:[this.getTfIdfChunk(E)]})));const k=x.calculateScores(e,i);return c7(k).filter(E=>E.score>id.TFIDF_THRESHOLD).slice(0,id.TFIDF_MAX_RESULTS)}),a=[];for(const x of s){const k=id.WORD_FILTER(e,x.label)??void 0,E=x.commandAlias?id.WORD_FILTER(e,x.commandAlias)??void 0:void 0;if(k||E)x.highlights={label:k,detail:this.options.showAlias?E:void 0},a.push(x);else if(e===x.commandId)a.push(x);else if(e.length>=3){const P=r();if(i.isCancellationRequested)return[];const A=P.find(U=>U.key===x.commandId);A&&(x.tfIdfScore=A.score,a.push(x))}}const c=new Map;for(const x of a){const k=c.get(x.label);k?(x.description=x.commandId,k.description=k.commandId):c.set(x.label,x)}a.sort((x,k)=>{if(x.tfIdfScore&&k.tfIdfScore)return x.tfIdfScore===k.tfIdfScore?x.label.localeCompare(k.label):k.tfIdfScore-x.tfIdfScore;if(x.tfIdfScore)return 1;if(k.tfIdfScore)return-1;const E=this.commandsHistory.peek(x.commandId),P=this.commandsHistory.peek(k.commandId);if(E&&P)return E>P?-1:1;if(E)return-1;if(P)return 1;if(this.options.suggestedCommandIds){const A=this.options.suggestedCommandIds.has(x.commandId),U=this.options.suggestedCommandIds.has(k.commandId);if(A&&U)return 0;if(A)return-1;if(U)return 1}return x.label.localeCompare(k.label)});const u=[];let f=!1,g=!0,p=!!this.options.suggestedCommandIds;for(let x=0;x<a.length;x++){const k=a[x];x===0&&this.commandsHistory.peek(k.commandId)&&(u.push({type:"separator",label:C("recentlyUsed","recently used")}),f=!0),g&&k.tfIdfScore!==void 0&&(u.push({type:"separator",label:C("suggested","similar commands")}),g=!1),p&&k.tfIdfScore===void 0&&!this.commandsHistory.peek(k.commandId)&&((w=this.options.suggestedCommandIds)!=null&&w.has(k.commandId))&&(u.push({type:"separator",label:C("commonlyUsed","commonly used")}),f=!0,p=!1),f&&k.tfIdfScore===void 0&&!this.commandsHistory.peek(k.commandId)&&!((m=this.options.suggestedCommandIds)!=null&&m.has(k.commandId))&&(u.push({type:"separator",label:C("morecCommands","other commands")}),f=!1),u.push(this.toCommandPick(k,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:u,additionalPicks:(async()=>{var E;const x=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const k=x.map(P=>this.toCommandPick(P,n));return g&&((E=k[0])==null?void 0:E.type)!=="separator"&&k.unshift({type:"separator",label:C("suggested","similar commands")}),k})()}:u}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?C("commandPickAriaLabelWithKeybinding","{0}, {1}",e.label,i.getAriaLabel()):e.label;return{...e,ariaLabel:n,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,accept:async()=>{var s;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:(t==null?void 0:t.from)??"quick open"});try{(s=e.args)!=null&&s.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(r){Hc(r)||this.dialogService.error(C("canNotRun","Command '{0}' resulted in an error",e.label),vv(r))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:i}){let n=e;return t&&t!==e&&(n+=` - ${t}`),i&&i.value!==e&&(n+=` - ${i.value===i.original?i.value:`${i.value} (${i.original})`}`),n}},id=Ra,Ra.PREFIX=">",Ra.TFIDF_THRESHOLD=.5,Ra.TFIDF_MAX_RESULTS=5,Ra.WORD_FILTER=QF(t3,e3,JF),Ra);Ex=id=ON([Ql(1,Ti),Ql(2,hs),Ql(3,Ls),Ql(4,ha),Ql(5,v0)],Ex);var sa;let Tx=(sa=class extends ft{constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===Jx.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=cs.getConfiguredCommandHistoryLength(this.configurationService),cs.cache&&cs.cache.limit!==this.configuredCommandsHistoryLength&&(cs.cache.limit=this.configuredCommandsHistoryLength,cs.hasChanges=!0))}load(){const e=this.storageService.get(cs.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=cs.cache=new d_(this.configuredCommandsHistoryLength,1);if(t){let n;t.usesLRU?n=t.entries:n=t.entries.sort((s,r)=>s.value-r.value),n.forEach(s=>i.set(s.key,s.value))}cs.counter=this.storageService.getNumber(cs.PREF_KEY_COUNTER,0,cs.counter)}push(e){cs.cache&&(cs.cache.set(e,cs.counter++),cs.hasChanges=!0)}peek(e){var t;return(t=cs.cache)==null?void 0:t.peek(e)}saveState(){if(!cs.cache||!cs.hasChanges)return;const e={usesLRU:!0,entries:[]};cs.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(cs.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(cs.PREF_KEY_COUNTER,cs.counter,0,0),cs.hasChanges=!1}static getConfiguredCommandHistoryLength(e){var n,s;const i=(s=(n=e.getValue().workbench)==null?void 0:n.commandPalette)==null?void 0:s.history;return typeof i=="number"?i:cs.DEFAULT_COMMANDS_HISTORY_LENGTH}},cs=sa,sa.DEFAULT_COMMANDS_HISTORY_LENGTH=50,sa.PREF_KEY_CACHE="commandPalette.mru.cache",sa.PREF_KEY_COUNTER="commandPalette.mru.counter",sa.counter=1,sa.hasChanges=!1,sa);Tx=cs=ON([Ql(0,Wc),Ql(1,$n),Ql(2,Hu)],Tx);class u7 extends Ex{constructor(e,t,i,n,s,r){super(e,t,i,n,s,r)}getCodeEditorCommandPicks(){var i;const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const n of e.getSupportedActions()){let s;(i=n.metadata)!=null&&i.description&&(i3(n.metadata.description)?s=n.metadata.description:s={original:n.metadata.description,value:n.metadata.description}),t.push({commandId:n.id,commandAlias:n.alias,commandDescription:s,label:n3(n.label)||n.id})}return t}}var h7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},uh=function(o,e){return function(t,i){e(t,i,o)}};let Zp=class extends u7{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(e,t,i,n,s,r){super({showAlias:!1},e,i,n,s,r),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};Zp=h7([uh(0,Ti),uh(1,as),uh(2,hs),uh(3,Ls),uh(4,ha),uh(5,v0)],Zp);const hy=class hy extends Qe{constructor(){super({id:hy.ID,label:eP.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:F.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(El).quickAccess.show(Zp.PREFIX)}};hy.ID="editor.action.quickCommand";let fb=hy;fe(fb);da.as(y_.Quickaccess).registerQuickAccessProvider({ctor:Zp,prefix:Zp.PREFIX,helpEntries:[{description:eP.quickCommandHelp,commandId:fb.ID}]});var f7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},hh=function(o,e){return function(t,i){e(t,i,o)}};let Px=class extends Eu{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};Px=f7([hh(1,mn),hh(2,as),hh(3,ao),hh(4,Ti),hh(5,Wc),hh(6,$n)],Px);Gi(Eu.ID,Px,4);class g7 extends Qe{constructor(){super({id:"editor.action.toggleHighContrast",label:s3.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(XT),n=i.getColorTheme();up(n.type)?(i.setTheme(this._originalThemeName||(RL(n.type)?o3:r3)),this._originalThemeName=null):(i.setTheme(RL(n.type)?a3:l3),this._originalThemeName=n.themeName)}}fe(g7);let Mx=null;function p7(o){Mx=o}function _7(o={}){return{"Content-Type":"application/json",...o}}async function $t(o,e,t){const i=await fetch(e,{method:o,headers:_7(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw Mx&&Mx(),new Error("Unauthorized");if(!i.ok){const n=await i.json().catch(()=>({error:i.statusText}));throw new Error(n.error??i.statusText)}return i.json()}async function m7(){return await(await fetch("/she/auth/mode")).json()}async function v7(o){const e=await fetch("/she/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:o})});if(!e.ok){const t=await e.json().catch(()=>({error:e.statusText}));throw new Error(t.error??"Login failed")}}async function b7(){await fetch("/she/auth/logout",{method:"POST"})}async function y7(o,e,t,i){const n=await fetch("/she/auth/setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:o,password:e,proxyHeader:t,proxyLogoutUrl:i})});if(!n.ok){const s=await n.json().catch(()=>({error:n.statusText}));throw new Error(s.error??"Setup failed")}}function w7(){return $t("GET","/she/scripts/tree")}function hS(o){return $t("GET",`/she/scripts/${o}`)}function Qc(o,e){return $t("PUT",`/she/scripts/${o}`,{content:e})}function wm(o){return $t("DELETE",`/she/scripts/${o}`)}function ND(o,e){return $t("POST",`/she/scripts/${o}/rename`,{newPath:e})}function S7(o){return $t("POST","/she/scripts/mkdir",{path:o})}function C7(){return $t("GET","/she/git/status")}function Bg(){return $t("GET","/she/status")}function FN(){return $t("POST","/she/restart")}function x7(){return $t("POST","/she/update")}function k7(){return $t("POST","/she/check-update")}function L7(o,e){return $t("POST","/she/git/commit",{path:o,message:e})}function AD(o,e){return $t("POST","/she/git/commit",{files:o,message:e})}function OD(o){return $t("POST","/she/git/commit",{message:o})}function Sm(o){return $t("POST","/she/git/push",{remote:o})}function I7(o,e){return $t("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function D7(o,e){return $t("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Dl(){return $t("GET","/she/config")}function Xp(o){return $t("PUT","/she/config",o)}function HN(){return $t("GET","/she/db/docs")}function E7(o){return $t("GET",`/she/db/docs/${o}`)}function FD(o,e){return $t("PUT",`/she/db/docs/${o}`,e)}function T7(o){return $t("DELETE",`/she/db/docs/${o}`)}function WN(){return $t("GET","/she/db/views")}function P7(o){return $t("GET",`/she/db/views/${o}`)}function HD(o,e){return $t("PUT",`/she/db/views/${o}`,e)}function M7(o){return $t("DELETE",`/she/db/views/${o}`)}function R7(){return $t("GET","/she/deps")}function N7(o){return $t("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function A7(o,e){return $t("POST","/she/deps/install",{name:o,version:null})}function O7(o){return $t("POST","/she/deps/remove",{name:o})}function F7(o){return $t("POST","/she/deps/update",{name:o})}function BN(){return $t("GET","/she/deps/outdated")}function H7(){return $t("POST","/she/deps/check-outdated")}function W7(){return $t("GET","/she/ai/conversations")}function WD(o){return $t("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function B7(o,e,t){return $t("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function z7(o){return $t("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function fS(o){return $t("GET",`/she/db/views/${o}/result`)}function zN(){return $t("GET","/she/matter/devices")}function Xm(o){return $t("GET",`/she/matter/devices/${o}`)}function V7(o){return $t("POST","/she/matter/commission",o)}function j7(o){return $t("DELETE",`/she/matter/devices/${o}`)}function $7(o,e,t,i,n){return $t("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function VN(){return $t("GET","/she/mqtt/state")}function BD(o,e,t=!1,i=0){return $t("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function jN(){return $t("GET","/she/ai/config")}function $N(){return $t("GET","/she/ai/models")}function Rx(o){return $t("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function UN(o){return $t("POST","/she/ai/prompt",o)}async function qN(o,e,t,i){const s=await fetch("/she/ai/chat/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o),signal:t});if(!s.ok){const u=await s.json().catch(()=>({error:s.statusText}));throw new Error(u.error??s.statusText)}const r=s.body.getReader(),a=new TextDecoder;let c="";try{for(;;){const{done:u,value:f}=await r.read();if(u)break;c+=a.decode(f,{stream:!0});const g=c.split(`
|
|
79
|
+
`);c=g.pop()??"";for(const p of g){if(!p.startsWith("data: "))continue;const w=p.slice(6).trim();if(w==="[DONE]")return;try{const m=JSON.parse(w);if(m.error)throw new Error(m.error);if(m.type==="tool_call"||m.type==="tool_result"){i==null||i({type:m.type,name:m.name??"",args:m.args,content:m.content});continue}m.token&&e(m.token)}catch(m){if(m instanceof SyntaxError)continue;throw m}}}}finally{r.releaseLock()}}function lw(){return $t("GET","/she/broker/status")}function U7(){return $t("GET","/she/broker/config")}function q7(o){return $t("PUT","/she/broker/config",o)}function G7(){return $t("POST","/she/broker/reload")}function K7(){return $t("POST","/she/broker/restart")}function Z7(){return $t("POST","/she/broker/wizard/deactivate")}function X7(){return $t("POST","/she/broker/wizard/reinit")}function Y7(){return $t("GET","/she/broker/wizard/diagnose")}function kk(){return $t("GET","/she/broker/users")}function GN(o,e){return $t("POST","/she/broker/users",{username:o,password:e})}function Q7(o){return $t("DELETE",`/she/broker/users/${encodeURIComponent(o)}`)}function J7(o,e){return $t("PUT",`/she/broker/users/${encodeURIComponent(o)}/password`,{password:e})}function KN(){return $t("GET","/she/broker/roles")}function eq(o){return $t("POST","/she/broker/roles",{rolename:o})}function tq(o){return $t("DELETE",`/she/broker/roles/${encodeURIComponent(o)}`)}function iq(o,e){return $t("POST",`/she/broker/roles/${encodeURIComponent(o)}/acls`,e)}function nq(o,e,t){return $t("DELETE",`/she/broker/roles/${encodeURIComponent(o)}/acls`,{acltype:e,topic:t})}function ZN(){return $t("GET","/she/broker/groups")}function sq(o){return $t("POST","/she/broker/groups",{groupname:o})}function oq(o){return $t("DELETE",`/she/broker/groups/${encodeURIComponent(o)}`)}function rq(){return $t("GET","/she/broker/acl-defaults")}function aq(){return $t("GET","/she/broker/ca")}function lq(o){return $t("POST","/she/broker/ca/generate",o??{})}function cq(){return $t("GET","/she/broker/ca/server")}function dq(o){return $t("POST","/she/broker/ca/server/generate",o)}function uq(){return $t("GET","/she/broker/ca/certs")}function hq(o){return $t("POST","/she/broker/ca/certs",o)}function fq(o){return $t("DELETE",`/she/broker/ca/certs/${encodeURIComponent(o)}`)}function Jc(o,e){return`/she/broker/ca/certs/${encodeURIComponent(o)}/download?type=${e}`}function gq(){return $t("GET","/she/broker/ca/trusted")}function pq(o){return $t("POST","/she/broker/ca/trusted",{pem:o})}function _q(o){return $t("DELETE",`/she/broker/ca/trusted/${encodeURIComponent(o)}`)}const mq=2e3,Ym=[];function XN(){return Ym.slice()}let lc=null;const gb=new Set,Nh=new Map;let Nx=null;function Yp(){let o=gb.size;for(const e of Nh.values())o+=e.size;return o}function vq(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function Lk(){if(lc)return;const o=vq(),e=new WebSocket(o);lc=e,e.onmessage=t=>{try{const i=JSON.parse(t.data);if(i.type==="log"){const s={level:i.level,msg:i.msg,ts:i.ts};Ym.length>=mq&&Ym.shift(),Ym.push(s),gb.forEach(r=>r(s))}const n=Nh.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{lc===e&&(lc=null),Yp()>0&&(Nx=setTimeout(Lk,3e3))},e.onerror=()=>{e.close()}}function YN(){Nx&&clearTimeout(Nx),lc==null||lc.close(),lc=null}function Ik(o){return gb.add(o),Yp()===1&&Lk(),()=>{gb.delete(o),Yp()===0&&YN()}}function Pr(o,e){return Nh.has(o)||Nh.set(o,new Set),Nh.get(o).add(e),Yp()===1&&Lk(),()=>{var t;(t=Nh.get(o))==null||t.delete(e),Yp()===0&&YN()}}var bq=T('<button class="cancel svelte-1eh8v5n">Cancel</button>'),yq=T('<div class="backdrop svelte-1eh8v5n" role="presentation"></div> <div class="dialog svelte-1eh8v5n" role="dialog" aria-modal="true"><p class="svelte-1eh8v5n"> </p> <div class="actions svelte-1eh8v5n"><!> <button> </button></div></div>',1);function Jf(o,e){Fs(e,!0);let t=M(!1),i=M(""),n=M("Confirm"),s=M(!1),r=M(!1),a=null;function c(x,k){return y(i,x,!0),y(n,(k==null?void 0:k.confirm)??(k!=null&&k.alert?"OK":"Confirm"),!0),y(s,(k==null?void 0:k.danger)??!1,!0),y(r,(k==null?void 0:k.alert)??!1,!0),y(t,!0),new Promise(E=>a=E)}function u(x){y(t,!1),a==null||a(x),a=null}function f(x){d(t)&&(x.key==="Escape"&&u(!1),x.key==="Enter"&&u(!0))}var g={show:c},p=Ms();ds("keydown",Cd,f);var w=wt(p);{var m=x=>{var k=yq(),E=wt(k),P=b(E,2),A=v(P),U=v(A),B=b(A,2),ne=v(B);{var ie=Re=>{var nt=bq();G("click",nt,()=>u(!1)),D(Re,nt)};W(ne,Re=>{d(r)||Re(ie)})}var pe=b(ne,2);let _e;var Ke=v(pe);z(()=>{O(U,d(i)),_e=It(pe,1,"svelte-1eh8v5n",null,_e,{danger:d(s)}),O(Ke,d(n))}),G("click",E,()=>u(!1)),G("click",pe,()=>u(!0)),D(x,k)};W(w,x=>{d(t)&&x(m)})}return D(o,p),Hs(g)}Qs(["click"]);var wq=T('<div class="backdrop svelte-1vi95tb" role="presentation"></div> <div class="dialog svelte-1vi95tb" role="dialog" aria-modal="true"><p class="svelte-1vi95tb"> </p> <input class="svelte-1vi95tb"/> <div class="actions svelte-1vi95tb"><button class="cancel svelte-1vi95tb">Cancel</button> <button class="svelte-1vi95tb"> </button></div></div>',1);function Sq(o,e){Fs(e,!0);let t=M(!1),i=M(""),n=M(""),s=M("OK"),r=M(""),a=null,c=M(void 0);function u(E,P){return y(i,E,!0),y(n,(P==null?void 0:P.placeholder)??"",!0),y(s,(P==null?void 0:P.confirm)??"OK",!0),y(r,(P==null?void 0:P.initial)??"",!0),y(t,!0),setTimeout(()=>{if(d(c)){d(c).focus();const A=d(c).value.length;d(c).setSelectionRange(A,A)}},0),new Promise(A=>a=A)}function f(){const E=d(r).trim();E&&(y(t,!1),a==null||a(E),a=null,y(r,""))}function g(){y(t,!1),a==null||a(null),a=null,y(r,"")}function p(E){d(t)&&E.key==="Escape"&&(E.stopPropagation(),g())}var w={show:u},m=Ms();ds("keydown",Cd,p);var x=wt(m);{var k=E=>{var P=wq(),A=wt(P),U=b(A,2),B=v(U),ne=v(B),ie=b(B,2);Ps(ie,nt=>y(c,nt),()=>d(c));var pe=b(ie,2),_e=v(pe),Ke=b(_e,2),Re=v(Ke);z(nt=>{O(ne,d(i)),Ei(ie,"placeholder",d(n)),Ke.disabled=nt,O(Re,d(s))},[()=>!d(r).trim()]),G("click",A,g),G("keydown",ie,nt=>{nt.key==="Enter"&&(nt.preventDefault(),f())}),Qt(ie,()=>d(r),nt=>y(r,nt)),G("click",_e,g),G("click",Ke,f),D(E,P)};W(x,E=>{d(t)&&E(k)})}return D(o,m),Hs(w)}Qs(["click","keydown"]);function QN(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var gS,zD;function Cq(){if(zD)return gS;zD=1;function o(N){return N instanceof Map?N.clear=N.delete=N.set=function(){throw new Error("map is read-only")}:N instanceof Set&&(N.add=N.clear=N.delete=function(){throw new Error("set is read-only")}),Object.freeze(N),Object.getOwnPropertyNames(N).forEach(ee=>{const le=N[ee],ye=typeof le;(ye==="object"||ye==="function")&&!Object.isFrozen(le)&&o(le)}),N}class e{constructor(ee){ee.data===void 0&&(ee.data={}),this.data=ee.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(N){return N.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function i(N,...ee){const le=Object.create(null);for(const ye in N)le[ye]=N[ye];return ee.forEach(function(ye){for(const Ne in ye)le[Ne]=ye[Ne]}),le}const n="</span>",s=N=>!!N.scope,r=(N,{prefix:ee})=>{if(N.startsWith("language:"))return N.replace("language:","language-");if(N.includes(".")){const le=N.split(".");return[`${ee}${le.shift()}`,...le.map((ye,Ne)=>`${ye}${"_".repeat(Ne+1)}`)].join(" ")}return`${ee}${N}`};class a{constructor(ee,le){this.buffer="",this.classPrefix=le.classPrefix,ee.walk(this)}addText(ee){this.buffer+=t(ee)}openNode(ee){if(!s(ee))return;const le=r(ee.scope,{prefix:this.classPrefix});this.span(le)}closeNode(ee){s(ee)&&(this.buffer+=n)}value(){return this.buffer}span(ee){this.buffer+=`<span class="${ee}">`}}const c=(N={})=>{const ee={children:[]};return Object.assign(ee,N),ee};class u{constructor(){this.rootNode=c(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(ee){this.top.children.push(ee)}openNode(ee){const le=c({scope:ee});this.add(le),this.stack.push(le)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(ee){return this.constructor._walk(ee,this.rootNode)}static _walk(ee,le){return typeof le=="string"?ee.addText(le):le.children&&(ee.openNode(le),le.children.forEach(ye=>this._walk(ee,ye)),ee.closeNode(le)),ee}static _collapse(ee){typeof ee!="string"&&ee.children&&(ee.children.every(le=>typeof le=="string")?ee.children=[ee.children.join("")]:ee.children.forEach(le=>{u._collapse(le)}))}}class f extends u{constructor(ee){super(),this.options=ee}addText(ee){ee!==""&&this.add(ee)}startScope(ee){this.openNode(ee)}endScope(){this.closeNode()}__addSublanguage(ee,le){const ye=ee.root;le&&(ye.scope=`language:${le}`),this.add(ye)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function g(N){return N?typeof N=="string"?N:N.source:null}function p(N){return x("(?=",N,")")}function w(N){return x("(?:",N,")*")}function m(N){return x("(?:",N,")?")}function x(...N){return N.map(le=>g(le)).join("")}function k(N){const ee=N[N.length-1];return typeof ee=="object"&&ee.constructor===Object?(N.splice(N.length-1,1),ee):{}}function E(...N){return"("+(k(N).capture?"":"?:")+N.map(ye=>g(ye)).join("|")+")"}function P(N){return new RegExp(N.toString()+"|").exec("").length-1}function A(N,ee){const le=N&&N.exec(ee);return le&&le.index===0}const U=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function B(N,{joinWith:ee}){let le=0;return N.map(ye=>{le+=1;const Ne=le;let H=g(ye),Z="";for(;H.length>0;){const J=U.exec(H);if(!J){Z+=H;break}Z+=H.substring(0,J.index),H=H.substring(J.index+J[0].length),J[0][0]==="\\"&&J[1]?Z+="\\"+String(Number(J[1])+Ne):(Z+=J[0],J[0]==="("&&le++)}return Z}).map(ye=>`(${ye})`).join(ee)}const ne=/\b\B/,ie="[a-zA-Z]\\w*",pe="[a-zA-Z_]\\w*",_e="\\b\\d+(\\.\\d+)?",Ke="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Re="\\b(0b[01]+)",nt="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",pt=(N={})=>{const ee=/^#![ ]*\//;return N.binary&&(N.begin=x(ee,/.*\b/,N.binary,/\b.*/)),i({scope:"meta",begin:ee,end:/$/,relevance:0,"on:begin":(le,ye)=>{le.index!==0&&ye.ignoreMatch()}},N)},be={begin:"\\\\[\\s\\S]",relevance:0},_t={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[be]},ot={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[be]},Mt={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},ue=function(N,ee,le={}){const ye=i({scope:"comment",begin:N,end:ee,contains:[]},le);ye.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const Ne=E("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return ye.contains.push({begin:x(/[ ]+/,"(",Ne,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),ye},Rt=ue("//","$"),$e=ue("/\\*","\\*/"),We=ue("#","$"),yt={scope:"number",begin:_e,relevance:0},Ut={scope:"number",begin:Ke,relevance:0},Gt={scope:"number",begin:Re,relevance:0},Dt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[be,{begin:/\[/,end:/\]/,relevance:0,contains:[be]}]},St={scope:"title",begin:ie,relevance:0},Ot={scope:"title",begin:pe,relevance:0},kt={begin:"\\.\\s*"+pe,relevance:0};var hi=Object.freeze({__proto__:null,APOS_STRING_MODE:_t,BACKSLASH_ESCAPE:be,BINARY_NUMBER_MODE:Gt,BINARY_NUMBER_RE:Re,COMMENT:ue,C_BLOCK_COMMENT_MODE:$e,C_LINE_COMMENT_MODE:Rt,C_NUMBER_MODE:Ut,C_NUMBER_RE:Ke,END_SAME_AS_BEGIN:function(N){return Object.assign(N,{"on:begin":(ee,le)=>{le.data._beginMatch=ee[1]},"on:end":(ee,le)=>{le.data._beginMatch!==ee[1]&&le.ignoreMatch()}})},HASH_COMMENT_MODE:We,IDENT_RE:ie,MATCH_NOTHING_RE:ne,METHOD_GUARD:kt,NUMBER_MODE:yt,NUMBER_RE:_e,PHRASAL_WORDS_MODE:Mt,QUOTE_STRING_MODE:ot,REGEXP_MODE:Dt,RE_STARTERS_RE:nt,SHEBANG:pt,TITLE_MODE:St,UNDERSCORE_IDENT_RE:pe,UNDERSCORE_TITLE_MODE:Ot});function Si(N,ee){N.input[N.index-1]==="."&&ee.ignoreMatch()}function Pi(N,ee){N.className!==void 0&&(N.scope=N.className,delete N.className)}function Fi(N,ee){ee&&N.beginKeywords&&(N.begin="\\b("+N.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",N.__beforeBegin=Si,N.keywords=N.keywords||N.beginKeywords,delete N.beginKeywords,N.relevance===void 0&&(N.relevance=0))}function Li(N,ee){Array.isArray(N.illegal)&&(N.illegal=E(...N.illegal))}function bi(N,ee){if(N.match){if(N.begin||N.end)throw new Error("begin & end are not supported with match");N.begin=N.match,delete N.match}}function ri(N,ee){N.relevance===void 0&&(N.relevance=1)}const fi=(N,ee)=>{if(!N.beforeMatch)return;if(N.starts)throw new Error("beforeMatch cannot be used with starts");const le=Object.assign({},N);Object.keys(N).forEach(ye=>{delete N[ye]}),N.keywords=le.keywords,N.begin=x(le.beforeMatch,p(le.begin)),N.starts={relevance:0,contains:[Object.assign(le,{endsParent:!0})]},N.relevance=0,delete le.beforeMatch},st=["of","and","for","in","not","or","if","then","parent","list","value"],Ht="keyword";function gi(N,ee,le=Ht){const ye=Object.create(null);return typeof N=="string"?Ne(le,N.split(" ")):Array.isArray(N)?Ne(le,N):Object.keys(N).forEach(function(H){Object.assign(ye,gi(N[H],ee,H))}),ye;function Ne(H,Z){ee&&(Z=Z.map(J=>J.toLowerCase())),Z.forEach(function(J){const ke=J.split("|");ye[ke[0]]=[H,Ci(ke[0],ke[1])]})}}function Ci(N,ee){return ee?Number(ee):Yi(N)?0:1}function Yi(N){return st.includes(N.toLowerCase())}const xi={},Mi=N=>{console.error(N)},Ii=(N,...ee)=>{console.log(`WARN: ${N}`,...ee)},Ki=(N,ee)=>{xi[`${N}/${ee}`]||(console.log(`Deprecated as of ${N}. ${ee}`),xi[`${N}/${ee}`]=!0)},Di=new Error;function yn(N,ee,{key:le}){let ye=0;const Ne=N[le],H={},Z={};for(let J=1;J<=ee.length;J++)Z[J+ye]=Ne[J],H[J+ye]=!0,ye+=P(ee[J-1]);N[le]=Z,N[le]._emit=H,N[le]._multi=!0}function Ue(N){if(Array.isArray(N.begin)){if(N.skip||N.excludeBegin||N.returnBegin)throw Mi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Di;if(typeof N.beginScope!="object"||N.beginScope===null)throw Mi("beginScope must be object"),Di;yn(N,N.begin,{key:"beginScope"}),N.begin=B(N.begin,{joinWith:""})}}function zt(N){if(Array.isArray(N.end)){if(N.skip||N.excludeEnd||N.returnEnd)throw Mi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Di;if(typeof N.endScope!="object"||N.endScope===null)throw Mi("endScope must be object"),Di;yn(N,N.end,{key:"endScope"}),N.end=B(N.end,{joinWith:""})}}function ci(N){N.scope&&typeof N.scope=="object"&&N.scope!==null&&(N.beginScope=N.scope,delete N.scope)}function Bt(N){ci(N),typeof N.beginScope=="string"&&(N.beginScope={_wrap:N.beginScope}),typeof N.endScope=="string"&&(N.endScope={_wrap:N.endScope}),Ue(N),zt(N)}function Kt(N){function ee(Z,J){return new RegExp(g(Z),"m"+(N.case_insensitive?"i":"")+(N.unicodeRegex?"u":"")+(J?"g":""))}class le{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(J,ke){ke.position=this.position++,this.matchIndexes[this.matchAt]=ke,this.regexes.push([ke,J]),this.matchAt+=P(J)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const J=this.regexes.map(ke=>ke[1]);this.matcherRe=ee(B(J,{joinWith:"|"}),!0),this.lastIndex=0}exec(J){this.matcherRe.lastIndex=this.lastIndex;const ke=this.matcherRe.exec(J);if(!ke)return null;const Ve=ke.findIndex((Se,Je)=>Je>0&&Se!==void 0),ve=this.matchIndexes[Ve];return ke.splice(0,Ve),Object.assign(ke,ve)}}class ye{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(J){if(this.multiRegexes[J])return this.multiRegexes[J];const ke=new le;return this.rules.slice(J).forEach(([Ve,ve])=>ke.addRule(Ve,ve)),ke.compile(),this.multiRegexes[J]=ke,ke}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(J,ke){this.rules.push([J,ke]),ke.type==="begin"&&this.count++}exec(J){const ke=this.getMatcher(this.regexIndex);ke.lastIndex=this.lastIndex;let Ve=ke.exec(J);if(this.resumingScanAtSamePosition()&&!(Ve&&Ve.index===this.lastIndex)){const ve=this.getMatcher(0);ve.lastIndex=this.lastIndex+1,Ve=ve.exec(J)}return Ve&&(this.regexIndex+=Ve.position+1,this.regexIndex===this.count&&this.considerAll()),Ve}}function Ne(Z){const J=new ye;return Z.contains.forEach(ke=>J.addRule(ke.begin,{rule:ke,type:"begin"})),Z.terminatorEnd&&J.addRule(Z.terminatorEnd,{type:"end"}),Z.illegal&&J.addRule(Z.illegal,{type:"illegal"}),J}function H(Z,J){const ke=Z;if(Z.isCompiled)return ke;[Pi,bi,Bt,fi].forEach(ve=>ve(Z,J)),N.compilerExtensions.forEach(ve=>ve(Z,J)),Z.__beforeBegin=null,[Fi,Li,ri].forEach(ve=>ve(Z,J)),Z.isCompiled=!0;let Ve=null;return typeof Z.keywords=="object"&&Z.keywords.$pattern&&(Z.keywords=Object.assign({},Z.keywords),Ve=Z.keywords.$pattern,delete Z.keywords.$pattern),Ve=Ve||/\w+/,Z.keywords&&(Z.keywords=gi(Z.keywords,N.case_insensitive)),ke.keywordPatternRe=ee(Ve,!0),J&&(Z.begin||(Z.begin=/\B|\b/),ke.beginRe=ee(ke.begin),!Z.end&&!Z.endsWithParent&&(Z.end=/\B|\b/),Z.end&&(ke.endRe=ee(ke.end)),ke.terminatorEnd=g(ke.end)||"",Z.endsWithParent&&J.terminatorEnd&&(ke.terminatorEnd+=(Z.end?"|":"")+J.terminatorEnd)),Z.illegal&&(ke.illegalRe=ee(Z.illegal)),Z.contains||(Z.contains=[]),Z.contains=[].concat(...Z.contains.map(function(ve){return nn(ve==="self"?Z:ve)})),Z.contains.forEach(function(ve){H(ve,ke)}),Z.starts&&H(Z.starts,J),ke.matcher=Ne(ke),ke}if(N.compilerExtensions||(N.compilerExtensions=[]),N.contains&&N.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return N.classNameAliases=i(N.classNameAliases||{}),H(N)}function Hi(N){return N?N.endsWithParent||Hi(N.starts):!1}function nn(N){return N.variants&&!N.cachedVariants&&(N.cachedVariants=N.variants.map(function(ee){return i(N,{variants:null},ee)})),N.cachedVariants?N.cachedVariants:Hi(N)?i(N,{starts:N.starts?i(N.starts):null}):Object.isFrozen(N)?i(N):N}var lt="11.11.1";class xt extends Error{constructor(ee,le){super(ee),this.name="HTMLInjectionError",this.html=le}}const Pe=t,Q=i,re=Symbol("nomatch"),Ie=7,Ae=function(N){const ee=Object.create(null),le=Object.create(null),ye=[];let Ne=!0;const H="Could not find the language '{}', did you forget to load/include a language module?",Z={disableAutodetect:!0,name:"Plain text",contains:[]};let J={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function ke(V){return J.noHighlightRe.test(V)}function Ve(V){let se=V.className+" ";se+=V.parentNode?V.parentNode.className:"";const Xe=J.languageDetectRe.exec(se);if(Xe){const X=wi(Xe[1]);return X||(Ii(H.replace("{}",Xe[1])),Ii("Falling back to no-highlight mode for this block.",V)),X?Xe[1]:"no-highlight"}return se.split(/\s+/).find(X=>ke(X)||wi(X))}function ve(V,se,Xe){let X="",$="";typeof se=="object"?(X=V,Xe=se.ignoreIllegals,$=se.language):(Ki("10.7.0","highlight(lang, code, ...args) has been deprecated."),Ki("10.7.0",`Please use highlight(code, options) instead.
|
|
80
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),$=V,X=se),Xe===void 0&&(Xe=!0);const te={code:X,language:$};ni("before:highlight",te);const we=te.result?te.result:Se(te.language,te.code,Xe);return we.code=te.code,ni("after:highlight",we),we}function Se(V,se,Xe,X){const $=Object.create(null);function te(Ce,Ge){return Ce.keywords[Ge]}function we(){if(!Ye.keywords){tt.addText(ge);return}let Ce=0;Ye.keywordPatternRe.lastIndex=0;let Ge=Ye.keywordPatternRe.exec(ge),rt="";for(;Ge;){rt+=ge.substring(Ce,Ge.index);const at=Me.case_insensitive?Ge[0].toLowerCase():Ge[0],et=te(Ye,at);if(et){const[qt,Xt]=et;if(tt.addText(rt),rt="",$[at]=($[at]||0)+1,$[at]<=Ie&&(Ee+=Xt),qt.startsWith("_"))rt+=Ge[0];else{const sn=Me.classNameAliases[qt]||qt;De(Ge[0],sn)}}else rt+=Ge[0];Ce=Ye.keywordPatternRe.lastIndex,Ge=Ye.keywordPatternRe.exec(ge)}rt+=ge.substring(Ce),tt.addText(rt)}function it(){if(ge==="")return;let Ce=null;if(typeof Ye.subLanguage=="string"){if(!ee[Ye.subLanguage]){tt.addText(ge);return}Ce=Se(Ye.subLanguage,ge,!0,Pt[Ye.subLanguage]),Pt[Ye.subLanguage]=Ce._top}else Ce=Lt(ge,Ye.subLanguage.length?Ye.subLanguage:null);Ye.relevance>0&&(Ee+=Ce.relevance),tt.__addSublanguage(Ce._emitter,Ce.language)}function ae(){Ye.subLanguage!=null?it():we(),ge=""}function De(Ce,Ge){Ce!==""&&(tt.startScope(Ge),tt.addText(Ce),tt.endScope())}function vt(Ce,Ge){let rt=1;const at=Ge.length-1;for(;rt<=at;){if(!Ce._emit[rt]){rt++;continue}const et=Me.classNameAliases[Ce[rt]]||Ce[rt],qt=Ge[rt];et?De(qt,et):(ge=qt,we(),ge=""),rt++}}function Be(Ce,Ge){return Ce.scope&&typeof Ce.scope=="string"&&tt.openNode(Me.classNameAliases[Ce.scope]||Ce.scope),Ce.beginScope&&(Ce.beginScope._wrap?(De(ge,Me.classNameAliases[Ce.beginScope._wrap]||Ce.beginScope._wrap),ge=""):Ce.beginScope._multi&&(vt(Ce.beginScope,Ge),ge="")),Ye=Object.create(Ce,{parent:{value:Ye}}),Ye}function qe(Ce,Ge,rt){let at=A(Ce.endRe,rt);if(at){if(Ce["on:end"]){const et=new e(Ce);Ce["on:end"](Ge,et),et.isMatchIgnored&&(at=!1)}if(at){for(;Ce.endsParent&&Ce.parent;)Ce=Ce.parent;return Ce}}if(Ce.endsWithParent)return qe(Ce.parent,Ge,rt)}function Tt(Ce){return Ye.matcher.regexIndex===0?(ge+=Ce[0],1):(Ct=!0,0)}function q(Ce){const Ge=Ce[0],rt=Ce.rule,at=new e(rt),et=[rt.__beforeBegin,rt["on:begin"]];for(const qt of et)if(qt&&(qt(Ce,at),at.isMatchIgnored))return Tt(Ge);return rt.skip?ge+=Ge:(rt.excludeBegin&&(ge+=Ge),ae(),!rt.returnBegin&&!rt.excludeBegin&&(ge=Ge)),Be(rt,Ce),rt.returnBegin?0:Ge.length}function oe(Ce){const Ge=Ce[0],rt=se.substring(Ce.index),at=qe(Ye,Ce,rt);if(!at)return re;const et=Ye;Ye.endScope&&Ye.endScope._wrap?(ae(),De(Ge,Ye.endScope._wrap)):Ye.endScope&&Ye.endScope._multi?(ae(),vt(Ye.endScope,Ce)):et.skip?ge+=Ge:(et.returnEnd||et.excludeEnd||(ge+=Ge),ae(),et.excludeEnd&&(ge=Ge));do Ye.scope&&tt.closeNode(),!Ye.skip&&!Ye.subLanguage&&(Ee+=Ye.relevance),Ye=Ye.parent;while(Ye!==at.parent);return at.starts&&Be(at.starts,Ce),et.returnEnd?0:Ge.length}function ze(){const Ce=[];for(let Ge=Ye;Ge!==Me;Ge=Ge.parent)Ge.scope&&Ce.unshift(Ge.scope);Ce.forEach(Ge=>tt.openNode(Ge))}let Ze={};function Fe(Ce,Ge){const rt=Ge&&Ge[0];if(ge+=Ce,rt==null)return ae(),0;if(Ze.type==="begin"&&Ge.type==="end"&&Ze.index===Ge.index&&rt===""){if(ge+=se.slice(Ge.index,Ge.index+1),!Ne){const at=new Error(`0 width match regex (${V})`);throw at.languageName=V,at.badRule=Ze.rule,at}return 1}if(Ze=Ge,Ge.type==="begin")return q(Ge);if(Ge.type==="illegal"&&!Xe){const at=new Error('Illegal lexeme "'+rt+'" for mode "'+(Ye.scope||"<unnamed>")+'"');throw at.mode=Ye,at}else if(Ge.type==="end"){const at=oe(Ge);if(at!==re)return at}if(Ge.type==="illegal"&&rt==="")return ge+=`
|
|
81
|
+
`,1;if(He>1e5&&He>Ge.index*3)throw new Error("potential infinite loop, way more iterations than matches");return ge+=rt,rt.length}const Me=wi(V);if(!Me)throw Mi(H.replace("{}",V)),new Error('Unknown language: "'+V+'"');const Nt=Kt(Me);let gt="",Ye=X||Nt;const Pt={},tt=new J.__emitter(J);ze();let ge="",Ee=0,Le=0,He=0,Ct=!1;try{if(Me.__emitTokens)Me.__emitTokens(se,tt);else{for(Ye.matcher.considerAll();;){He++,Ct?Ct=!1:Ye.matcher.considerAll(),Ye.matcher.lastIndex=Le;const Ce=Ye.matcher.exec(se);if(!Ce)break;const Ge=se.substring(Le,Ce.index),rt=Fe(Ge,Ce);Le=Ce.index+rt}Fe(se.substring(Le))}return tt.finalize(),gt=tt.toHTML(),{language:V,value:gt,relevance:Ee,illegal:!1,_emitter:tt,_top:Ye}}catch(Ce){if(Ce.message&&Ce.message.includes("Illegal"))return{language:V,value:Pe(se),illegal:!0,relevance:0,_illegalBy:{message:Ce.message,index:Le,context:se.slice(Le-100,Le+100),mode:Ce.mode,resultSoFar:gt},_emitter:tt};if(Ne)return{language:V,value:Pe(se),illegal:!1,relevance:0,errorRaised:Ce,_emitter:tt,_top:Ye};throw Ce}}function Je(V){const se={value:Pe(V),illegal:!1,relevance:0,_top:Z,_emitter:new J.__emitter(J)};return se._emitter.addText(V),se}function Lt(V,se){se=se||J.languages||Object.keys(ee);const Xe=Je(V),X=se.filter(wi).filter(gn).map(ae=>Se(ae,V,!1));X.unshift(Xe);const $=X.sort((ae,De)=>{if(ae.relevance!==De.relevance)return De.relevance-ae.relevance;if(ae.language&&De.language){if(wi(ae.language).supersetOf===De.language)return 1;if(wi(De.language).supersetOf===ae.language)return-1}return 0}),[te,we]=$,it=te;return it.secondBest=we,it}function ut(V,se,Xe){const X=se&&le[se]||Xe;V.classList.add("hljs"),V.classList.add(`language-${X}`)}function mt(V){let se=null;const Xe=Ve(V);if(ke(Xe))return;if(ni("before:highlightElement",{el:V,language:Xe}),V.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",V);return}if(V.children.length>0&&(J.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(V)),J.throwUnescapedHTML))throw new xt("One of your code blocks includes unescaped HTML.",V.innerHTML);se=V;const X=se.textContent,$=Xe?ve(X,{language:Xe,ignoreIllegals:!0}):Lt(X);V.innerHTML=$.value,V.dataset.highlighted="yes",ut(V,Xe,$.language),V.result={language:$.language,re:$.relevance,relevance:$.relevance},$.secondBest&&(V.secondBest={language:$.secondBest.language,relevance:$.secondBest.relevance}),ni("after:highlightElement",{el:V,result:$,text:X})}function Et(V){J=Q(J,V)}const Wt=()=>{ai(),Ki("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function oi(){ai(),Ki("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let ti=!1;function ai(){function V(){ai()}if(document.readyState==="loading"){ti||window.addEventListener("DOMContentLoaded",V,!1),ti=!0;return}document.querySelectorAll(J.cssSelector).forEach(mt)}function ki(V,se){let Xe=null;try{Xe=se(N)}catch(X){if(Mi("Language definition for '{}' could not be registered.".replace("{}",V)),Ne)Mi(X);else throw X;Xe=Z}Xe.name||(Xe.name=V),ee[V]=Xe,Xe.rawDefinition=se.bind(null,N),Xe.aliases&&Ni(Xe.aliases,{languageName:V})}function Ri(V){delete ee[V];for(const se of Object.keys(le))le[se]===V&&delete le[se]}function ji(){return Object.keys(ee)}function wi(V){return V=(V||"").toLowerCase(),ee[V]||ee[le[V]]}function Ni(V,{languageName:se}){typeof V=="string"&&(V=[V]),V.forEach(Xe=>{le[Xe.toLowerCase()]=se})}function gn(V){const se=wi(V);return se&&!se.disableAutodetect}function Fn(V){V["before:highlightBlock"]&&!V["before:highlightElement"]&&(V["before:highlightElement"]=se=>{V["before:highlightBlock"](Object.assign({block:se.el},se))}),V["after:highlightBlock"]&&!V["after:highlightElement"]&&(V["after:highlightElement"]=se=>{V["after:highlightBlock"](Object.assign({block:se.el},se))})}function Un(V){Fn(V),ye.push(V)}function In(V){const se=ye.indexOf(V);se!==-1&&ye.splice(se,1)}function ni(V,se){const Xe=V;ye.forEach(function(X){X[Xe]&&X[Xe](se)})}function Wi(V){return Ki("10.7.0","highlightBlock will be removed entirely in v12.0"),Ki("10.7.0","Please use highlightElement now."),mt(V)}Object.assign(N,{highlight:ve,highlightAuto:Lt,highlightAll:ai,highlightElement:mt,highlightBlock:Wi,configure:Et,initHighlighting:Wt,initHighlightingOnLoad:oi,registerLanguage:ki,unregisterLanguage:Ri,listLanguages:ji,getLanguage:wi,registerAliases:Ni,autoDetection:gn,inherit:Q,addPlugin:Un,removePlugin:In}),N.debugMode=function(){Ne=!1},N.safeMode=function(){Ne=!0},N.versionString=lt,N.regex={concat:x,lookahead:p,either:E,optional:m,anyNumberOfTimes:w};for(const V in hi)typeof hi[V]=="object"&&o(hi[V]);return Object.assign(N,hi),N},Oe=Ae({});return Oe.newInstance=()=>Ae({}),gS=Oe,Oe.HighlightJS=Oe,Oe.default=Oe,gS}var xq=Cq();const pb=QN(xq),VD="[A-Za-z$_][0-9A-Za-z$_]*",kq=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Lq=["true","false","null","undefined","NaN","Infinity"],JN=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],eA=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],tA=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Iq=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Dq=[].concat(tA,JN,eA);function iA(o){const e=o.regex,t=(ue,{after:Rt})=>{const $e="</"+ue[0].slice(1);return ue.input.indexOf($e,Rt)!==-1},i=VD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ue,Rt)=>{const $e=ue[0].length+ue.index,We=ue.input[$e];if(We==="<"||We===","){Rt.ignoreMatch();return}We===">"&&(t(ue,{after:$e})||Rt.ignoreMatch());let yt;const Ut=ue.input.substring($e);if(yt=Ut.match(/^\s*=/)){Rt.ignoreMatch();return}if((yt=Ut.match(/^\s+extends\s+/))&&yt.index===0){Rt.ignoreMatch();return}}},a={$pattern:VD,keyword:kq,literal:Lq,built_in:Dq,"variable.language":Iq},c="[0-9](_?[0-9])*",u=`\\.(${c})`,f="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${f})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${f})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},w={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"css"}},x={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[o.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[o.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),o.C_BLOCK_COMMENT_MODE,o.C_LINE_COMMENT_MODE]},A=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,w,m,x,k,{match:/\$\d+/},g];p.contains=A.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(A)});const U=[].concat(P,p.contains),B=U.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(U)}]),ne={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B},ie={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},pe={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...JN,...eA]}},_e={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Ke={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[ne],illegal:/%/},Re={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function nt(ue){return e.concat("(?!",ue.join("|"),")")}const pt={match:e.concat(/\b/,nt([...tA,"super","import"].map(ue=>`${ue}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},be={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},_t={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},ne]},ot="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Mt={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(ot)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[ne]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:pe},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),_e,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,w,m,x,k,P,{match:/\$\d+/},g,pe,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Mt,{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,o.REGEXP_MODE,{className:"function",begin:ot,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:n.begin,end:n.end},{match:s},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},Ke,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[ne,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},be,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[ne]},pt,Re,ie,_t,{match:/\$[(.]/}]}}function Dk(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var qu=Dk();function nA(o){qu=o}var od={exec:()=>null};function fh(o){let e=[];return t=>{let i=Math.max(0,Math.min(3,t-1)),n=e[i];return n||(n=o(i),e[i]=n),n}}function An(o,e=""){let t=typeof o=="string"?o:o.source,i={replace:(n,s)=>{let r=typeof s=="string"?s:s.source;return r=r.replace(go.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var Eq=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),go={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:o=>new RegExp(`^( {0,3}${o})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:fh(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:fh(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:fh(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:fh(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:fh(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:fh(o=>new RegExp(`^ {0,${o}}>`))},Tq=/^(?:[ \t]*(?:\n|$))+/,Pq=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Mq=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,N_=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Rq=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Ek=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,sA=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,oA=An(sA).replace(/bull/g,Ek).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Nq=An(sA).replace(/bull/g,Ek).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Tk=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Aq=/^[^\n]+/,Pk=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Oq=An(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Pk).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Fq=An(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Ek).getRegex(),cw="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Mk=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Hq=An("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Mk).replace("tag",cw).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),rA=An(Tk).replace("hr",N_).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cw).getRegex(),Wq=An(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",rA).getRegex(),Rk={blockquote:Wq,code:Pq,def:Oq,fences:Mq,heading:Rq,hr:N_,html:Hq,lheading:oA,list:Fq,newline:Tq,paragraph:rA,table:od,text:Aq},jD=An("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",N_).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cw).getRegex(),Bq={...Rk,lheading:Nq,table:jD,paragraph:An(Tk).replace("hr",N_).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",jD).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cw).getRegex()},zq={...Rk,html:An(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Mk).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:od,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:An(Tk).replace("hr",N_).replace("heading",` *#{1,6} *[^
|
|
82
|
+
]`).replace("lheading",oA).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Vq=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,jq=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,aA=/^( {2,}|\\)\n(?!\s*$)/,$q=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,eg=/[\p{P}\p{S}]/u,dw=/[\s\p{P}\p{S}]/u,Nk=/[^\s\p{P}\p{S}]/u,Uq=An(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,dw).getRegex(),lA=/(?!~)[\p{P}\p{S}]/u,qq=/(?!~)[\s\p{P}\p{S}]/u,Gq=/(?:[^\s\p{P}\p{S}]|~)/u,Kq=An(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Eq?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),cA=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Zq=An(cA,"u").replace(/punct/g,eg).getRegex(),Xq=An(cA,"u").replace(/punct/g,lA).getRegex(),dA="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Yq=An(dA,"gu").replace(/notPunctSpace/g,Nk).replace(/punctSpace/g,dw).replace(/punct/g,eg).getRegex(),Qq=An(dA,"gu").replace(/notPunctSpace/g,Gq).replace(/punctSpace/g,qq).replace(/punct/g,lA).getRegex(),Jq=An("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Nk).replace(/punctSpace/g,dw).replace(/punct/g,eg).getRegex(),e9=An(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,eg).getRegex(),t9="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",i9=An(t9,"gu").replace(/notPunctSpace/g,Nk).replace(/punctSpace/g,dw).replace(/punct/g,eg).getRegex(),n9=An(/\\(punct)/,"gu").replace(/punct/g,eg).getRegex(),s9=An(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),o9=An(Mk).replace("(?:-->|$)","-->").getRegex(),r9=An("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",o9).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),_b=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,a9=An(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",_b).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),uA=An(/^!?\[(label)\]\[(ref)\]/).replace("label",_b).replace("ref",Pk).getRegex(),hA=An(/^!?\[(ref)\](?:\[\])?/).replace("ref",Pk).getRegex(),l9=An("reflink|nolink(?!\\()","g").replace("reflink",uA).replace("nolink",hA).getRegex(),$D=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Ak={_backpedal:od,anyPunctuation:n9,autolink:s9,blockSkip:Kq,br:aA,code:jq,del:od,delLDelim:od,delRDelim:od,emStrongLDelim:Zq,emStrongRDelimAst:Yq,emStrongRDelimUnd:Jq,escape:Vq,link:a9,nolink:hA,punctuation:Uq,reflink:uA,reflinkSearch:l9,tag:r9,text:$q,url:od},c9={...Ak,link:An(/^!?\[(label)\]\((.*?)\)/).replace("label",_b).getRegex(),reflink:An(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",_b).getRegex()},Ax={...Ak,emStrongRDelimAst:Qq,emStrongLDelim:Xq,delLDelim:e9,delRDelim:i9,url:An(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",$D).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:An(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",$D).getRegex()},d9={...Ax,br:An(aA).replace("{2,}","*").getRegex(),text:An(Ax.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Cm={normal:Rk,gfm:Bq,pedantic:zq},Sg={normal:Ak,gfm:Ax,breaks:d9,pedantic:c9},u9={"&":"&","<":"<",">":">",'"':""","'":"'"},UD=o=>u9[o];function wa(o,e){if(e){if(go.escapeTest.test(o))return o.replace(go.escapeReplace,UD)}else if(go.escapeTestNoEncode.test(o))return o.replace(go.escapeReplaceNoEncode,UD);return o}function qD(o){try{o=encodeURI(o).replace(go.percentDecode,"%")}catch{return null}return o}function GD(o,e){var s;let t=o.replace(go.findPipe,(r,a,c)=>{let u=!1,f=a;for(;--f>=0&&c[f]==="\\";)u=!u;return u?"|":" |"}),i=t.split(go.splitPipe),n=0;if(i[0].trim()||i.shift(),i.length>0&&!((s=i.at(-1))!=null&&s.trim())&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length<e;)i.push("");for(;n<i.length;n++)i[n]=i[n].trim().replace(go.slashPipe,"|");return i}function $l(o,e,t){let i=o.length;if(i===0)return"";let n=0;for(;n<i&&o.charAt(i-n-1)===e;)n++;return o.slice(0,i-n)}function KD(o){let e=o.split(`
|
|
83
|
+
`),t=e.length-1;for(;t>=0&&go.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
|
|
84
|
+
`)}function h9(o,e){if(o.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<o.length;i++)if(o[i]==="\\")i++;else if(o[i]===e[0])t++;else if(o[i]===e[1]&&(t--,t<0))return i;return t>0?-2:-1}function f9(o,e=0){let t=e,i="";for(let n of o)if(n===" "){let s=4-t%4;i+=" ".repeat(s),t+=s}else i+=n,t++;return i}function ZD(o,e,t,i,n){let s=e.href,r=e.title||null,a=o[1].replace(n.other.outputLinkReplace,"$1");i.state.inLink=!0;let c={type:o[0].charAt(0)==="!"?"image":"link",raw:t,href:s,title:r,text:a,tokens:i.inlineTokens(a)};return i.state.inLink=!1,c}function g9(o,e,t){let i=o.match(t.other.indentCodeCompensation);if(i===null)return e;let n=i[1];return e.split(`
|
|
85
|
+
`).map(s=>{let r=s.match(t.other.beginningSpace);if(r===null)return s;let[a]=r;return a.length>=n.length?s.slice(n.length):s}).join(`
|
|
86
|
+
`)}var mb=class{constructor(o){pn(this,"options");pn(this,"rules");pn(this,"lexer");this.options=o||qu}space(o){let e=this.rules.block.newline.exec(o);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(o){let e=this.rules.block.code.exec(o);if(e){let t=this.options.pedantic?e[0]:KD(e[0]),i=t.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t,codeBlockStyle:"indented",text:i}}}fences(o){let e=this.rules.block.fences.exec(o);if(e){let t=e[0],i=g9(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(o){let e=this.rules.block.heading.exec(o);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let i=$l(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:$l(e[0],`
|
|
87
|
+
`),depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(o){let e=this.rules.block.hr.exec(o);if(e)return{type:"hr",raw:$l(e[0],`
|
|
88
|
+
`)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=$l(e[0],`
|
|
89
|
+
`).split(`
|
|
90
|
+
`),i="",n="",s=[];for(;t.length>0;){let r=!1,a=[],c;for(c=0;c<t.length;c++)if(this.rules.other.blockquoteStart.test(t[c]))a.push(t[c]),r=!0;else if(!r)a.push(t[c]);else break;t=t.slice(c);let u=a.join(`
|
|
91
|
+
`),f=u.replace(this.rules.other.blockquoteSetextReplace,`
|
|
92
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
|
|
93
|
+
${u}`:u,n=n?`${n}
|
|
94
|
+
${f}`:f;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(f,s,!0),this.lexer.state.top=g,t.length===0)break;let p=s.at(-1);if((p==null?void 0:p.type)==="code")break;if((p==null?void 0:p.type)==="blockquote"){let w=p,m=w.raw+`
|
|
95
|
+
`+t.join(`
|
|
96
|
+
`),x=this.blockquote(m);s[s.length-1]=x,i=i.substring(0,i.length-w.raw.length)+x.raw,n=n.substring(0,n.length-w.text.length)+x.text;break}else if((p==null?void 0:p.type)==="list"){let w=p,m=w.raw+`
|
|
97
|
+
`+t.join(`
|
|
98
|
+
`),x=this.list(m);s[s.length-1]=x,i=i.substring(0,i.length-p.raw.length)+x.raw,n=n.substring(0,n.length-w.raw.length)+x.raw,t=m.substring(s.at(-1).raw.length).split(`
|
|
99
|
+
`);continue}}return{type:"blockquote",raw:i,tokens:s,text:n}}}list(o){let e=this.rules.block.list.exec(o);if(e){let t=e[1].trim(),i=t.length>1,n={type:"list",raw:"",ordered:i,start:i?+t.slice(0,-1):"",loose:!1,items:[]};t=i?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=i?t:"[*+-]");let s=this.rules.other.listItemRegex(t),r=!1;for(;o;){let c=!1,u="",f="";if(!(e=s.exec(o))||this.rules.block.hr.test(o))break;u=e[0],o=o.substring(u.length);let g=f9(e[2].split(`
|
|
100
|
+
`,1)[0],e[1].length),p=o.split(`
|
|
101
|
+
`,1)[0],w=!g.trim(),m=0;if(this.options.pedantic?(m=2,f=g.trimStart()):w?m=e[1].length+1:(m=g.search(this.rules.other.nonSpaceChar),m=m>4?1:m,f=g.slice(m),m+=e[1].length),w&&this.rules.other.blankLine.test(p)&&(u+=p+`
|
|
102
|
+
`,o=o.substring(p.length+1),c=!0),!c){let x=this.rules.other.nextBulletRegex(m),k=this.rules.other.hrRegex(m),E=this.rules.other.fencesBeginRegex(m),P=this.rules.other.headingBeginRegex(m),A=this.rules.other.htmlBeginRegex(m),U=this.rules.other.blockquoteBeginRegex(m);for(;o;){let B=o.split(`
|
|
103
|
+
`,1)[0],ne;if(p=B,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),ne=p):ne=p.replace(this.rules.other.tabCharGlobal," "),E.test(p)||P.test(p)||A.test(p)||U.test(p)||x.test(p)||k.test(p))break;if(ne.search(this.rules.other.nonSpaceChar)>=m||!p.trim())f+=`
|
|
104
|
+
`+ne.slice(m);else{if(w||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||E.test(g)||P.test(g)||k.test(g))break;f+=`
|
|
105
|
+
`+p}w=!p.trim(),u+=B+`
|
|
106
|
+
`,o=o.substring(B.length+1),g=ne.slice(m)}}n.loose||(r?n.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(r=!0)),n.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(f),loose:!1,text:f,tokens:[]}),n.raw+=u}let a=n.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let c of n.items){this.lexer.state.top=!1,c.tokens=this.lexer.blockTokens(c.text,[]);let u=c.tokens[0];if(c.task&&((u==null?void 0:u.type)==="text"||(u==null?void 0:u.type)==="paragraph")){c.text=c.text.replace(this.rules.other.listReplaceTask,""),u.raw=u.raw.replace(this.rules.other.listReplaceTask,""),u.text=u.text.replace(this.rules.other.listReplaceTask,"");for(let g=this.lexer.inlineQueue.length-1;g>=0;g--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[g].src)){this.lexer.inlineQueue[g].src=this.lexer.inlineQueue[g].src.replace(this.rules.other.listReplaceTask,"");break}let f=this.rules.other.listTaskCheckbox.exec(c.raw);if(f){let g={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};c.checked=g.checked,n.loose?c.tokens[0]&&["paragraph","text"].includes(c.tokens[0].type)&&"tokens"in c.tokens[0]&&c.tokens[0].tokens?(c.tokens[0].raw=g.raw+c.tokens[0].raw,c.tokens[0].text=g.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(g)):c.tokens.unshift({type:"paragraph",raw:g.raw,text:g.raw,tokens:[g]}):c.tokens.unshift(g)}}else c.task&&(c.task=!1);if(!n.loose){let f=c.tokens.filter(p=>p.type==="space"),g=f.length>0&&f.some(p=>this.rules.other.anyLine.test(p.raw));n.loose=g}}if(n.loose)for(let c of n.items){c.loose=!0;for(let u of c.tokens)u.type==="text"&&(u.type="paragraph")}return n}}html(o){let e=this.rules.block.html.exec(o);if(e){let t=KD(e[0]);return{type:"html",block:!0,raw:t,pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:t}}}def(o){let e=this.rules.block.def.exec(o);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:$l(e[0],`
|
|
107
|
+
`),href:i,title:n}}}table(o){var r;let e=this.rules.block.table.exec(o);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=GD(e[1]),i=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),n=(r=e[3])!=null&&r.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
108
|
+
`):[],s={type:"table",raw:$l(e[0],`
|
|
109
|
+
`),header:[],align:[],rows:[]};if(t.length===i.length){for(let a of i)this.rules.other.tableAlignRight.test(a)?s.align.push("right"):this.rules.other.tableAlignCenter.test(a)?s.align.push("center"):this.rules.other.tableAlignLeft.test(a)?s.align.push("left"):s.align.push(null);for(let a=0;a<t.length;a++)s.header.push({text:t[a],tokens:this.lexer.inline(t[a]),header:!0,align:s.align[a]});for(let a of n)s.rows.push(GD(a,s.header.length).map((c,u)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:s.align[u]})));return s}}lheading(o){let e=this.rules.block.lheading.exec(o);if(e){let t=e[1].trim();return{type:"heading",raw:$l(e[0],`
|
|
110
|
+
`),depth:e[2].charAt(0)==="="?1:2,text:t,tokens:this.lexer.inline(t)}}}paragraph(o){let e=this.rules.block.paragraph.exec(o);if(e){let t=e[1].charAt(e[1].length-1)===`
|
|
111
|
+
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(o){let e=this.rules.block.text.exec(o);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(o){let e=this.rules.inline.escape.exec(o);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(o){let e=this.rules.inline.tag.exec(o);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(o){let e=this.rules.inline.link.exec(o);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let s=$l(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=h9(e[2],"()");if(s===-2)return;if(s>-1){let r=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,r).trim(),e[3]=""}}let i=e[2],n="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],n=s[3])}else n=e[3]?e[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?i=i.slice(1):i=i.slice(1,-1)),ZD(e,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(o,e){let t;if((t=this.rules.inline.reflink.exec(o))||(t=this.rules.inline.nolink.exec(o))){let i=(t[2]||t[1]).replace(this.rules.other.multipleSpaceGlobal," "),n=e[i.toLowerCase()];if(!n){let s=t[0].charAt(0);return{type:"text",raw:s,text:s}}return ZD(t,n,t[0],this.lexer,this.rules)}}emStrong(o,e,t=""){let i=this.rules.inline.emStrongLDelim.exec(o);if(!(!i||!i[1]&&!i[2]&&!i[3]&&!i[4]||i[4]&&t.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[3])||!t||this.rules.inline.punctuation.exec(t))){let n=[...i[0]].length-1,s,r,a=n,c=0,u=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,e=e.slice(-1*o.length+n);(i=u.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(r=[...s].length,i[3]||i[4]){a+=r;continue}else if((i[5]||i[6])&&n%3&&!((n+r)%3)){c+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a+c);let f=[...i[0]][0].length,g=o.slice(0,n+i.index+f+r);if(Math.min(n,r)%2){let w=g.slice(1,-1);return{type:"em",raw:g,text:w,tokens:this.lexer.inlineTokens(w)}}let p=g.slice(2,-2);return{type:"strong",raw:g,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(o){let e=this.rules.inline.code.exec(o);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(t),n=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return i&&n&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(o){let e=this.rules.inline.br.exec(o);if(e)return{type:"br",raw:e[0]}}del(o,e,t=""){let i=this.rules.inline.delLDelim.exec(o);if(i&&(!i[1]||!t||this.rules.inline.punctuation.exec(t))){let n=[...i[0]].length-1,s,r,a=n,c=this.rules.inline.delRDelim;for(c.lastIndex=0,e=e.slice(-1*o.length+n);(i=c.exec(e))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s||(r=[...s].length,r!==n))continue;if(i[3]||i[4]){a+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a);let u=[...i[0]][0].length,f=o.slice(0,n+i.index+u+r),g=f.slice(n,-n);return{type:"del",raw:f,text:g,tokens:this.lexer.inlineTokens(g)}}}}autolink(o){let e=this.rules.inline.autolink.exec(o);if(e){let t,i;return e[2]==="@"?(t=e[1],i="mailto:"+t):(t=e[1],i=t),{type:"link",raw:e[0],text:t,href:i,tokens:[{type:"text",raw:t,text:t}]}}}url(o){var t;let e;if(e=this.rules.inline.url.exec(o)){let i,n;if(e[2]==="@")i=e[0],n="mailto:"+i;else{let s;do s=e[0],e[0]=((t=this.rules.inline._backpedal.exec(e[0]))==null?void 0:t[0])??"";while(s!==e[0]);i=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:i,href:n,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(o){let e=this.rules.inline.text.exec(o);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},ea=class Ox{constructor(e){pn(this,"tokens");pn(this,"options");pn(this,"state");pn(this,"inlineQueue");pn(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||qu,this.options.tokenizer=this.options.tokenizer||new mb,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:go,block:Cm.normal,inline:Sg.normal};this.options.pedantic?(t.block=Cm.pedantic,t.inline=Sg.pedantic):this.options.gfm&&(t.block=Cm.gfm,this.options.breaks?t.inline=Sg.breaks:t.inline=Sg.gfm),this.tokenizer.rules=t}static get rules(){return{block:Cm,inline:Sg}}static lex(e,t){return new Ox(t).lex(e)}static lexInline(e,t){return new Ox(t).inlineTokens(e)}lex(e){e=e.replace(go.carriageReturn,`
|
|
112
|
+
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){var s,r,a;this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(go.tabCharGlobal," ").replace(go.spaceLine,""));let n=1/0;for(;e;){if(e.length<n)n=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let c;if((r=(s=this.options.extensions)==null?void 0:s.block)!=null&&r.some(f=>(c=f.call({lexer:this},e,t))?(e=e.substring(c.raw.length),t.push(c),!0):!1))continue;if(c=this.tokenizer.space(e)){e=e.substring(c.raw.length);let f=t.at(-1);c.raw.length===1&&f!==void 0?f.raw+=`
|
|
113
|
+
`:t.push(c);continue}if(c=this.tokenizer.code(e)){e=e.substring(c.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
|
|
114
|
+
`)?"":`
|
|
115
|
+
`)+c.raw,f.text+=`
|
|
116
|
+
`+c.text,this.inlineQueue.at(-1).src=f.text):t.push(c);continue}if(c=this.tokenizer.fences(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.heading(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.hr(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.blockquote(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.list(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.html(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.def(e)){e=e.substring(c.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
|
|
117
|
+
`)?"":`
|
|
118
|
+
`)+c.raw,f.text+=`
|
|
119
|
+
`+c.raw,this.inlineQueue.at(-1).src=f.text):this.tokens.links[c.tag]||(this.tokens.links[c.tag]={href:c.href,title:c.title},t.push(c));continue}if(c=this.tokenizer.table(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.lheading(e)){e=e.substring(c.raw.length),t.push(c);continue}let u=e;if((a=this.options.extensions)!=null&&a.startBlock){let f=1/0,g=e.slice(1),p;this.options.extensions.startBlock.forEach(w=>{p=w.call({lexer:this},g),typeof p=="number"&&p>=0&&(f=Math.min(f,p))}),f<1/0&&f>=0&&(u=e.substring(0,f+1))}if(this.state.top&&(c=this.tokenizer.paragraph(u))){let f=t.at(-1);i&&(f==null?void 0:f.type)==="paragraph"?(f.raw+=(f.raw.endsWith(`
|
|
120
|
+
`)?"":`
|
|
121
|
+
`)+c.raw,f.text+=`
|
|
122
|
+
`+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(c),i=u.length!==e.length,e=e.substring(c.raw.length);continue}if(c=this.tokenizer.text(e)){e=e.substring(c.raw.length);let f=t.at(-1);(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
|
|
123
|
+
`)?"":`
|
|
124
|
+
`)+c.raw,f.text+=`
|
|
125
|
+
`+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):t.push(c);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){var u,f,g,p,w;this.tokenizer.lexer=this;let i=e,n=null;if(this.tokens.links){let m=Object.keys(this.tokens.links);if(m.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)m.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(i))!==null;)i=i.slice(0,n.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let s;for(;(n=this.tokenizer.rules.inline.blockSkip.exec(i))!==null;)s=n[2]?n[2].length:0,i=i.slice(0,n.index+s)+"["+"a".repeat(n[0].length-s-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);i=((f=(u=this.options.hooks)==null?void 0:u.emStrongMask)==null?void 0:f.call({lexer:this},i))??i;let r=!1,a="",c=1/0;for(;e;){if(e.length<c)c=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(a=""),r=!1;let m;if((p=(g=this.options.extensions)==null?void 0:g.inline)!=null&&p.some(k=>(m=k.call({lexer:this},e,t))?(e=e.substring(m.raw.length),t.push(m),!0):!1))continue;if(m=this.tokenizer.escape(e)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.tag(e)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.link(e)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(m.raw.length);let k=t.at(-1);m.type==="text"&&(k==null?void 0:k.type)==="text"?(k.raw+=m.raw,k.text+=m.text):t.push(m);continue}if(m=this.tokenizer.emStrong(e,i,a)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.codespan(e)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.br(e)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.del(e,i,a)){e=e.substring(m.raw.length),t.push(m);continue}if(m=this.tokenizer.autolink(e)){e=e.substring(m.raw.length),t.push(m);continue}if(!this.state.inLink&&(m=this.tokenizer.url(e))){e=e.substring(m.raw.length),t.push(m);continue}let x=e;if((w=this.options.extensions)!=null&&w.startInline){let k=1/0,E=e.slice(1),P;this.options.extensions.startInline.forEach(A=>{P=A.call({lexer:this},E),typeof P=="number"&&P>=0&&(k=Math.min(k,P))}),k<1/0&&k>=0&&(x=e.substring(0,k+1))}if(m=this.tokenizer.inlineText(x)){e=e.substring(m.raw.length),m.raw.slice(-1)!=="_"&&(a=m.raw.slice(-1)),r=!0;let k=t.at(-1);(k==null?void 0:k.type)==="text"?(k.raw+=m.raw,k.text+=m.text):t.push(m);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw new Error(t)}},vb=class{constructor(o){pn(this,"options");pn(this,"parser");this.options=o||qu}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(go.notSpaceStart))==null?void 0:s[0],n=o.replace(go.endingNewline,"")+`
|
|
126
|
+
`;return i?'<pre><code class="language-'+wa(i)+'">'+(t?n:wa(n,!0))+`</code></pre>
|
|
127
|
+
`:"<pre><code>"+(t?n:wa(n,!0))+`</code></pre>
|
|
128
|
+
`}blockquote({tokens:o}){return`<blockquote>
|
|
129
|
+
${this.parser.parse(o)}</blockquote>
|
|
130
|
+
`}html({text:o}){return o}def(o){return""}heading({tokens:o,depth:e}){return`<h${e}>${this.parser.parseInline(o)}</h${e}>
|
|
131
|
+
`}hr(o){return`<hr>
|
|
132
|
+
`}list(o){let e=o.ordered,t=o.start,i="";for(let r=0;r<o.items.length;r++){let a=o.items[r];i+=this.listitem(a)}let n=e?"ol":"ul",s=e&&t!==1?' start="'+t+'"':"";return"<"+n+s+`>
|
|
133
|
+
`+i+"</"+n+`>
|
|
134
|
+
`}listitem(o){return`<li>${this.parser.parse(o.tokens)}</li>
|
|
135
|
+
`}checkbox({checked:o}){return"<input "+(o?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:o}){return`<p>${this.parser.parseInline(o)}</p>
|
|
136
|
+
`}table(o){let e="",t="";for(let n=0;n<o.header.length;n++)t+=this.tablecell(o.header[n]);e+=this.tablerow({text:t});let i="";for(let n=0;n<o.rows.length;n++){let s=o.rows[n];t="";for(let r=0;r<s.length;r++)t+=this.tablecell(s[r]);i+=this.tablerow({text:t})}return i&&(i=`<tbody>${i}</tbody>`),`<table>
|
|
137
|
+
<thead>
|
|
138
|
+
`+e+`</thead>
|
|
139
|
+
`+i+`</table>
|
|
140
|
+
`}tablerow({text:o}){return`<tr>
|
|
141
|
+
${o}</tr>
|
|
142
|
+
`}tablecell(o){let e=this.parser.parseInline(o.tokens),t=o.header?"th":"td";return(o.align?`<${t} align="${o.align}">`:`<${t}>`)+e+`</${t}>
|
|
143
|
+
`}strong({tokens:o}){return`<strong>${this.parser.parseInline(o)}</strong>`}em({tokens:o}){return`<em>${this.parser.parseInline(o)}</em>`}codespan({text:o}){return`<code>${wa(o,!0)}</code>`}br(o){return"<br>"}del({tokens:o}){return`<del>${this.parser.parseInline(o)}</del>`}link({href:o,title:e,tokens:t}){let i=this.parser.parseInline(t),n=qD(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+wa(e)+'"'),s+=">"+i+"</a>",s}image({href:o,title:e,text:t,tokens:i}){i&&(t=this.parser.parseInline(i,this.parser.textRenderer));let n=qD(o);if(n===null)return wa(t);o=n;let s=`<img src="${o}" alt="${wa(t)}"`;return e&&(s+=` title="${wa(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:wa(o.text)}},Ok=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},ta=class Fx{constructor(e){pn(this,"options");pn(this,"renderer");pn(this,"textRenderer");this.options=e||qu,this.options.renderer=this.options.renderer||new vb,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Ok}static parse(e,t){return new Fx(t).parse(e)}static parseInline(e,t){return new Fx(t).parseInline(e)}parse(e){var i,n;this.renderer.parser=this;let t="";for(let s=0;s<e.length;s++){let r=e[s];if((n=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&n[r.type]){let c=r,u=this.options.extensions.renderers[c.type].call({parser:this},c);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(c.type)){t+=u||"";continue}}let a=r;switch(a.type){case"space":{t+=this.renderer.space(a);break}case"hr":{t+=this.renderer.hr(a);break}case"heading":{t+=this.renderer.heading(a);break}case"code":{t+=this.renderer.code(a);break}case"table":{t+=this.renderer.table(a);break}case"blockquote":{t+=this.renderer.blockquote(a);break}case"list":{t+=this.renderer.list(a);break}case"checkbox":{t+=this.renderer.checkbox(a);break}case"html":{t+=this.renderer.html(a);break}case"def":{t+=this.renderer.def(a);break}case"paragraph":{t+=this.renderer.paragraph(a);break}case"text":{t+=this.renderer.text(a);break}default:{let c='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return t}parseInline(e,t=this.renderer){var n,s;this.renderer.parser=this;let i="";for(let r=0;r<e.length;r++){let a=e[r];if((s=(n=this.options.extensions)==null?void 0:n.renderers)!=null&&s[a.type]){let u=this.options.extensions.renderers[a.type].call({parser:this},a);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){i+=u||"";continue}}let c=a;switch(c.type){case"escape":{i+=t.text(c);break}case"html":{i+=t.html(c);break}case"link":{i+=t.link(c);break}case"image":{i+=t.image(c);break}case"checkbox":{i+=t.checkbox(c);break}case"strong":{i+=t.strong(c);break}case"em":{i+=t.em(c);break}case"codespan":{i+=t.codespan(c);break}case"br":{i+=t.br(c);break}case"del":{i+=t.del(c);break}case"text":{i+=t.text(c);break}default:{let u='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return i}},xm,zg=(xm=class{constructor(o){pn(this,"options");pn(this,"block");this.options=o||qu}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?ea.lex:ea.lexInline}provideParser(o=this.block){return o?ta.parse:ta.parseInline}},pn(xm,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),pn(xm,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),xm),p9=class{constructor(...o){pn(this,"defaults",Dk());pn(this,"options",this.setOptions);pn(this,"parse",this.parseMarkdown(!0));pn(this,"parseInline",this.parseMarkdown(!1));pn(this,"Parser",ta);pn(this,"Renderer",vb);pn(this,"TextRenderer",Ok);pn(this,"Lexer",ea);pn(this,"Tokenizer",mb);pn(this,"Hooks",zg);this.use(...o)}walkTokens(o,e){var i,n;let t=[];for(let s of o)switch(t=t.concat(e.call(this,s)),s.type){case"table":{let r=s;for(let a of r.header)t=t.concat(this.walkTokens(a.tokens,e));for(let a of r.rows)for(let c of a)t=t.concat(this.walkTokens(c.tokens,e));break}case"list":{let r=s;t=t.concat(this.walkTokens(r.items,e));break}default:{let r=s;(n=(i=this.defaults.extensions)==null?void 0:i.childTokens)!=null&&n[r.type]?this.defaults.extensions.childTokens[r.type].forEach(a=>{let c=r[a].flat(1/0);t=t.concat(this.walkTokens(c,e))}):r.tokens&&(t=t.concat(this.walkTokens(r.tokens,e)))}}return t}use(...o){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return o.forEach(t=>{let i={...t};if(i.async=this.defaults.async||i.async||!1,t.extensions&&(t.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let s=e.renderers[n.name];s?e.renderers[n.name]=function(...r){let a=n.renderer.apply(this,r);return a===!1&&(a=s.apply(this,r)),a}:e.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=e[n.level];s?s.unshift(n.tokenizer):e[n.level]=[n.tokenizer],n.start&&(n.level==="block"?e.startBlock?e.startBlock.push(n.start):e.startBlock=[n.start]:n.level==="inline"&&(e.startInline?e.startInline.push(n.start):e.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(e.childTokens[n.name]=n.childTokens)}),i.extensions=e),t.renderer){let n=this.defaults.renderer||new vb(this.defaults);for(let s in t.renderer){if(!(s in n))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let r=s,a=t.renderer[r],c=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=c.apply(n,u)),f||""}}i.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new mb(this.defaults);for(let s in t.tokenizer){if(!(s in n))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let r=s,a=t.tokenizer[r],c=n[r];n[r]=(...u)=>{let f=a.apply(n,u);return f===!1&&(f=c.apply(n,u)),f}}i.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new zg;for(let s in t.hooks){if(!(s in n))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let r=s,a=t.hooks[r],c=n[r];zg.passThroughHooks.has(s)?n[r]=u=>{if(this.defaults.async&&zg.passThroughHooksRespectAsync.has(s))return(async()=>{let g=await a.call(n,u);return c.call(n,g)})();let f=a.call(n,u);return c.call(n,f)}:n[r]=(...u)=>{if(this.defaults.async)return(async()=>{let g=await a.apply(n,u);return g===!1&&(g=await c.apply(n,u)),g})();let f=a.apply(n,u);return f===!1&&(f=c.apply(n,u)),f}}i.hooks=n}if(t.walkTokens){let n=this.defaults.walkTokens,s=t.walkTokens;i.walkTokens=function(r){let a=[];return a.push(s.call(this,r)),n&&(a=a.concat(n.call(this,r))),a}}this.defaults={...this.defaults,...i}}),this}setOptions(o){return this.defaults={...this.defaults,...o},this}lexer(o,e){return ea.lex(o,e??this.defaults)}parser(o,e){return ta.parse(o,e??this.defaults)}parseMarkdown(o){return(e,t)=>{let i={...t},n={...this.defaults,...i},s=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=o),n.async)return(async()=>{let r=n.hooks?await n.hooks.preprocess(e):e,a=await(n.hooks?await n.hooks.provideLexer(o):o?ea.lex:ea.lexInline)(r,n),c=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(c,n.walkTokens));let u=await(n.hooks?await n.hooks.provideParser(o):o?ta.parse:ta.parseInline)(c,n);return n.hooks?await n.hooks.postprocess(u):u})().catch(s);try{n.hooks&&(e=n.hooks.preprocess(e));let r=(n.hooks?n.hooks.provideLexer(o):o?ea.lex:ea.lexInline)(e,n);n.hooks&&(r=n.hooks.processAllTokens(r)),n.walkTokens&&this.walkTokens(r,n.walkTokens);let a=(n.hooks?n.hooks.provideParser(o):o?ta.parse:ta.parseInline)(r,n);return n.hooks&&(a=n.hooks.postprocess(a)),a}catch(r){return s(r)}}}onError(o,e){return t=>{if(t.message+=`
|
|
144
|
+
Please report this to https://github.com/markedjs/marked.`,o){let i="<p>An error occurred:</p><pre>"+wa(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Nu=new p9;function qn(o,e){return Nu.parse(o,e)}qn.options=qn.setOptions=function(o){return Nu.setOptions(o),qn.defaults=Nu.defaults,nA(qn.defaults),qn};qn.getDefaults=Dk;qn.defaults=qu;qn.use=function(...o){return Nu.use(...o),qn.defaults=Nu.defaults,nA(qn.defaults),qn};qn.walkTokens=function(o,e){return Nu.walkTokens(o,e)};qn.parseInline=Nu.parseInline;qn.Parser=ta;qn.parser=ta.parse;qn.Renderer=vb;qn.TextRenderer=Ok;qn.Lexer=ea;qn.lexer=ea.lex;qn.Tokenizer=mb;qn.Hooks=zg;qn.parse=qn;qn.options;qn.setOptions;qn.use;qn.walkTokens;qn.parseInline;ta.parse;ea.lex;var _9=T('<span class="chat-model svelte-10ayso4"><!></span>'),m9=T('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),v9=T('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),b9=T('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),y9=T('<ul class="history-list svelte-10ayso4"></ul>'),w9=T('<div class="history-panel svelte-10ayso4"><div class="history-hdr svelte-10ayso4"><span class="svelte-10ayso4">Conversations</span> <button class="new-conv-btn svelte-10ayso4">+ New</button></div> <!></div>'),S9=T('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),C9=T('Chatting in context of <code class="svelte-10ayso4"> </code>',1),x9=T('<button class="chip svelte-10ayso4"> </button>'),k9=T('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),L9=T('<div class="msg-content user-text svelte-10ayso4"> </div>'),XD=T('<span class="tool-args svelte-10ayso4"> </span>'),YD=T('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),QD=T('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),JD=T('<div class="tool-events svelte-10ayso4"></div>'),eE=T('<div class="text-block svelte-10ayso4"></div>'),I9=T('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),D9=T('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),E9=T('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),T9=T('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),P9=T('<button class="expand-btn svelte-10ayso4"> </button>'),M9=T('<div class="code-block svelte-10ayso4"><div class="code-header svelte-10ayso4"><span class="code-lang svelte-10ayso4"> </span> <div class="code-actions svelte-10ayso4"><button class="svelte-10ayso4">Copy</button> <!></div></div> <div><pre class="svelte-10ayso4"><code class="hljs svelte-10ayso4"></code></pre> <!></div></div>'),R9=T('<!> <div class="msg-content svelte-10ayso4"></div>',1),N9=T("<div><!></div>"),A9=T('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),O9=T('<div class="code-block svelte-10ayso4"><div class="code-header svelte-10ayso4"><span class="code-lang svelte-10ayso4"> </span></div> <pre class="svelte-10ayso4"><code class="hljs svelte-10ayso4"></code></pre></div>'),F9=T('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),H9=T('<div class="chat-error svelte-10ayso4"> </div>'),W9=T('<span class="ctx-indicator svelte-10ayso4"><svg width="12" height="12" viewBox="0 0 12 12" class="svelte-10ayso4"><circle cx="6" cy="6" r="5" fill="none" stroke="var(--border-sub)" stroke-width="2" class="svelte-10ayso4"></circle><circle cx="6" cy="6" r="5" fill="none" stroke-width="2" stroke-dashoffset="7.85" stroke-linecap="round" class="svelte-10ayso4"></circle></svg></span>'),B9=T('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),z9=T('<span class="file-chip svelte-10ayso4"><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4" title="Remove from context">×</button></span>'),V9=T('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),j9=T('<button class="send-btn svelte-10ayso4">↑</button>'),$9=T('<option class="svelte-10ayso4"> </option>'),U9=T('<select class="model-select svelte-10ayso4"></select>'),q9=T('<span class="model-name svelte-10ayso4"> </span>'),G9=T('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),K9=T('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),Z9=T('<p class="info-status svelte-10ayso4">Loading…</p>'),X9=T('<p class="info-status info-err svelte-10ayso4"> </p>'),Y9=T('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),Q9=T('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),J9=T('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),eG=T('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),tG=T('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),iG=T('<div class="running-model svelte-10ayso4"> </div>'),nG=T('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),sG=T('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),oG=T('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),rG=T('<div class="info-overlay svelte-10ayso4"><div class="info-popup svelte-10ayso4"><div class="info-popup-header svelte-10ayso4"><span class="svelte-10ayso4"> </span> <button title="Close" class="svelte-10ayso4">✕</button></div> <div class="info-popup-body svelte-10ayso4"><!></div></div></div>'),aG=T('<div class="chat-panel svelte-10ayso4"><div class="chat-header svelte-10ayso4"><span class="chat-title svelte-10ayso4">AI Assistant</span> <!> <button title="Conversation history"><svg width="13" height="13" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-10ayso4"><circle cx="8" cy="8" r="6" class="svelte-10ayso4"></circle><polyline points="8,5 8,8 10,10" class="svelte-10ayso4"></polyline></svg></button> <!></div> <!> <div class="messages svelte-10ayso4"><!> <!> <!> <!> <!></div> <!> <div class="context-row svelte-10ayso4"><label title="Include she API reference in context" class="svelte-10ayso4"><input type="checkbox" class="svelte-10ayso4"/><span class="checkmark svelte-10ayso4"></span> she API</label> <label title="Let the AI query MQTT state, sheDB documents and Matter devices on demand. Disables real-time streaming." class="svelte-10ayso4"><input type="checkbox" class="svelte-10ayso4"/><span class="checkmark svelte-10ayso4"></span> 😎 Agent</label> <span class="req-size svelte-10ayso4"> <!></span></div> <div class="files-row svelte-10ayso4"><!> <!> <button class="add-file-btn svelte-10ayso4" title="Attach file to context">+</button> <input type="file" multiple="" class="file-input-hidden svelte-10ayso4"/></div> <div><div><textarea rows="3" class="svelte-10ayso4"></textarea></div> <!></div> <!></div> <!>',1);function lG(o,e){Fs(e,!0),pb.registerLanguage("javascript",iA),qn.use({breaks:!0,gfm:!0});let t=wu(e,"currentScript",3,null),i=wu(e,"extraFiles",31,()=>pi([])),n=M(pi([])),s=M(null),r=M(""),a=M(!1),c=M(""),u=M(null);const f="she:conversationId";function g(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=M(pi(localStorage.getItem(f)??g())),w=M(pi([])),m=M(!1);zn(()=>{localStorage.setItem(f,d(p))});let x=M(pi([])),k=M(pi(localStorage.getItem("she:selectedModel")??"")),E=M(null);const P=ct(()=>{var q;return d(E)!==null&&((q=t())==null?void 0:q.path)===d(E)});let A=M(pi(new Set)),U=M(!1),B=M(null),ne=M(!1),ie=M(""),pe=M(0),_e=null,Ke=M(0);const Re=["[core] reticulating splines…","[io] calibrating the flux capacitor…","[net] pinging the oracle (no response)…","[gpu] overclocking the neurons…","[fs] loading sarcasm module v4.2…","[mem] defragmenting the embedding space…","[sched] running gradient descent into madness…","[net] synchronizing with the hive mind…","[model] tickling the transformer…","[io] consulting rubber duck debugger…","[core] solving P=NP as a warmup…","[gpu] burning GPU cycles for warmth…","[mem] compressing knowledge into tensors…","[net] asking my inner voice (busy)…","[fs] mining opinions from the void…","[core] summoning attention heads…","[io] tokenizing the vibes…","[sched] hallucinating thoughtfully…","[net] traversing the knowledge graph…","[model] manifesting an answer…"];let nt=M(!0),pt=M(!0),be=M(!0),_t=M(!1),ot,Mt=M(pi([])),ue,Rt;const $e=ct(()=>({apiref:d(nt),tools:d(pt)})),We=ct(()=>{var q;return((q=d(u))==null?void 0:q.configured)??!1}),yt=ct(()=>{var q;return d(We)||!!((q=d(u))!=null&&q.provider)&&!!d(k)}),Ut=ct(()=>d(pe)+new TextEncoder().encode(d(r)).length),Gt=ct(()=>d(be)?t():null);zn(()=>{var oe;const q=(oe=t())==null?void 0:oe.path;y(be,!0),d(E)!==null&&q!==d(E)&&y(E,null)}),zn(()=>{var Ze;if(!d(P))return;const q=d(n).at(-1);if(!q||q.role!=="assistant")return;const ze=St(q.content).find(Fe=>Fe.type==="code"&&bi(Fe.lang));if(ze){const Fe=ri(ze.text);(Ze=e.onApply)==null||Ze.call(e,Fe?Fe.code:ze.text)}});async function Dt(){try{const q=await jN();y(u,q,!0),q.configured&&!d(k)&&y(k,q.model,!0)}catch{}}zn(()=>(window.addEventListener("she:config-changed",Dt),()=>window.removeEventListener("she:config-changed",Dt))),zn(()=>{d(k)&&localStorage.setItem("she:selectedModel",d(k))}),zn(()=>{var q;(q=d(u))!=null&&q.provider&&$N().then(oe=>{y(x,oe.models,!0),!d(k)&&oe.models.length>0&&y(k,oe.models[0],!0)}).catch(()=>{})}),zn(()=>{d(k),y(B,null),y(ie,"")}),zn(()=>{var oe,ze;if(((oe=d(u))==null?void 0:oe.provider)!=="ollama")return;const q=d(k)||((ze=d(u))==null?void 0:ze.model);!q||d(B)||Rx(q).then(Ze=>{y(B,Ze,!0)}).catch(()=>{})}),zn(()=>{if(!d(a))return;y(Ke,Math.floor(Math.random()*Re.length),!0);const q=setInterval(()=>{y(Ke,(d(Ke)+1)%Re.length)},1e4);return()=>clearInterval(q)}),zn(()=>{var q;Rt&&(d(n).length+(((q=d(s))==null?void 0:q.length)??0),requestAnimationFrame(()=>{Rt&&(Rt.scrollTop=Rt.scrollHeight)}))}),zn(()=>{const q=d($e),oe=d(Gt),ze=i();d(yt)&&UN({context:q,currentScript:oe??null,extraFiles:ze.length>0?ze:void 0}).then(Ze=>{y(pe,new TextEncoder().encode(Ze.prompt).length,!0)}).catch(()=>{})});function St(q){const oe=q.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
145
|
+
$2
|
|
146
|
+
`),ze=[],Ze=/```(\w*)\n([\s\S]*?)```/g;let Fe=0,Me;for(;(Me=Ze.exec(oe))!==null;)Me.index>Fe&&ze.push({type:"text",text:oe.slice(Fe,Me.index)}),ze.push({type:"code",lang:Me[1]||"text",text:Me[2].trimEnd()}),Fe=Me.index+Me[0].length;return Fe<oe.length&&ze.push({type:"text",text:oe.slice(Fe)}),ze}const Ot=15;function kt(q){return q.split(`
|
|
147
|
+
`).length>Ot}function mi(q){const oe=new Set(d(A));oe.has(q)?oe.delete(q):oe.add(q),y(A,oe,!0)}function hi(q,oe){if(bi(oe))try{return pb.highlight(q,{language:"javascript"}).value}catch{}return q.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Si(q){return qn.parse(q)}function Pi(q){const oe=q.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
148
|
+
$2
|
|
149
|
+
`),ze=[],Ze=/```(\w*)\n([\s\S]*?)```/g;let Fe=0,Me;for(;(Me=Ze.exec(oe))!==null;)Me.index>Fe&&ze.push({type:"text",text:oe.slice(Fe,Me.index)}),ze.push({type:"code",lang:Me[1]||"text",text:Me[2].trimEnd()}),Fe=Me.index+Me[0].length;const Nt=oe.slice(Fe),gt=Nt.match(/```(\w*)\n([\s\S]*)$/);return gt?(gt.index>0&&ze.push({type:"text",text:Nt.slice(0,gt.index)}),ze.push({type:"code",lang:gt[1]||"text",text:gt[2]})):Nt&&ze.push({type:"text",text:Nt}),ze}function Fi(q){navigator.clipboard.writeText(q).catch(()=>{})}function Li(q,oe=!1){var ze;oe&&t()&&y(E,t().path,!0),(ze=e.onApply)==null||ze.call(e,q)}function bi(q){return!q||q==="js"||q==="javascript"}function ri(q){const oe=q.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return oe?{filename:oe[1],code:q.slice(oe[0].length)}:null}function fi(q){return q>=1e9?`${(q/1e9).toFixed(1)} GB`:q>=1e6?`${(q/1e6).toFixed(0)} MB`:q>=1024?`${(q/1024).toFixed(1)} kB`:`${q} B`}async function st(){if(y(U,!0),!(d(B)||d(ne))){y(ne,!0),y(ie,"");try{y(B,await Rx(d(k)||d(u).model),!0)}catch(q){y(ie,q.message,!0)}y(ne,!1)}}function Ht(q){const oe=q.match(/\.([^.]+)$/);return oe?oe[1].toUpperCase():"?"}function gi(q){switch(q){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return q}}function Ci(q){i(i().filter((oe,ze)=>ze!==q))}function Yi(){ot.click()}async function xi(q){if(!(!q||q.length===0))for(const oe of Array.from(q)){const ze=await oe.text();i([...i(),{name:oe.name,content:ze}])}}function Mi(q){const oe=q.target;xi(oe.files),oe.value=""}function Ii(q){var oe;q.preventDefault(),y(_t,!1),xi(((oe=q.dataTransfer)==null?void 0:oe.files)??null)}function Ki(q){var oe;(oe=q.dataTransfer)!=null&&oe.types.includes("Files")&&(q.preventDefault(),y(_t,!0))}function Di(){y(_t,!1)}async function yn(){try{y(w,await W7(),!0)}catch{}}async function Ue(){var oe;if(d(n).length===0)return;const q=((oe=d(n).find(ze=>ze.role==="user"))==null?void 0:oe.content.slice(0,80))??d(p);try{await B7(d(p),q,d(n)),await yn()}catch{}}async function zt(q){try{const oe=await WD(q);y(n,oe.messages,!0),y(p,q,!0),y(m,!1),y(c,"")}catch{}}async function ci(q){try{await z7(q),await yn(),q===d(p)&&Bt()}catch{}}function Bt(){y(n,[],!0),y(c,""),y(p,g(),!0),y(m,!1)}co(async()=>{Dt();try{const q=await WD(d(p));y(n,q.messages,!0)}catch{}await yn()});async function Kt(){const q=d(r).trim();if(!q||d(a))return;y(r,""),y(c,""),y(a,!0);const oe={role:"user",content:q};y(n,[...d(n),oe],!0),_e=new AbortController,y(Mt,[],!0);try{await qN({messages:d(n),currentScript:d(Gt),context:d($e),modelOverride:d(k)||void 0,extraFiles:i().length>0?i():void 0},ze=>{y(s,(d(s)??"")+ze)},_e.signal,ze=>{y(Mt,[...d(Mt),ze],!0)}),y(n,[...d(n),{role:"assistant",content:d(s)??"",toolEvents:d(Mt).length>0?[...d(Mt)]:void 0}],!0),y(Mt,[],!0)}catch(ze){if(ze.name==="AbortError"){const Ze=d(s);Ze&&Ze.trim()&&y(n,[...d(n),{role:"assistant",content:Ze+`
|
|
150
|
+
|
|
151
|
+
*[stopped]*`,toolEvents:d(Mt).length>0?[...d(Mt)]:void 0}],!0)}else y(c,ze.message,!0)}finally{_e=null,y(s,null),y(Mt,[],!0),y(a,!1),Ue()}}function Hi(){_e==null||_e.abort()}function nn(q){q.key==="Enter"&&!q.shiftKey&&(q.preventDefault(),Kt())}function lt(){Bt()}const xt=["Explain what this script does","Add error handling","Add a 30-minute schedule before sunrise","Write a new script that forwards MQTT topic A to topic B","Write a new script that turns lights on at sunset"];function Pe(q){y(r,q,!0),ue==null||ue.focus()}var Q=aG(),re=wt(Q),Ie=v(re),Ae=b(v(Ie),2);{var Oe=q=>{var oe=_9(),ze=v(oe);{var Ze=Nt=>{var gt=Er();z(()=>O(gt,`${d(u).provider??""} · ${(d(k)||d(u).model)??""}`)),D(Nt,gt)},Fe=Nt=>{var gt=Er();z(()=>O(gt,`${d(u).provider??""} · pick a model below`)),D(Nt,gt)},Me=Nt=>{var gt=Er("Not configured");D(Nt,gt)};W(ze,Nt=>{d(yt)?Nt(Ze):d(u).provider?Nt(Fe,1):Nt(Me,-1)})}z(()=>Ei(oe,"title",`Provider: ${d(u).provider??""}`)),D(q,oe)};W(Ae,q=>{d(u)&&q(Oe)})}var N=b(Ae,2);let ee;var le=b(N,2);{var ye=q=>{var oe=m9();G("click",oe,lt),D(q,oe)};W(le,q=>{d(n).length>0&&q(ye)})}var Ne=b(Ie,2);{var H=q=>{var oe=w9(),ze=v(oe),Ze=b(v(ze),2),Fe=b(ze,2);{var Me=gt=>{var Ye=v9();D(gt,Ye)},Nt=gt=>{var Ye=y9();ui(Ye,21,()=>d(w),Pt=>Pt.id,(Pt,tt)=>{var ge=b9();let Ee;var Le=v(ge),He=v(Le),Ct=b(Le,2);z(()=>{Ee=It(ge,1,"history-item svelte-10ayso4",null,Ee,{"history-active":d(tt).id===d(p)}),Ei(Le,"title",d(tt).id),O(He,d(tt).title||d(tt).id)}),G("click",Le,()=>zt(d(tt).id)),G("click",Ct,()=>ci(d(tt).id)),D(Pt,ge)}),D(gt,Ye)};W(Fe,gt=>{d(w).length===0?gt(Me):gt(Nt,-1)})}G("click",Ze,Bt),D(q,oe)};W(Ne,q=>{d(m)&&q(H)})}var Z=b(Ne,2),J=v(Z);{var ke=q=>{var oe=S9();D(q,oe)},Ve=q=>{var oe=k9(),ze=v(oe),Ze=v(ze);{var Fe=gt=>{var Ye=C9(),Pt=b(wt(Ye)),tt=v(Pt);z(ge=>O(tt,ge),[()=>t().path.split("/").pop()]),D(gt,Ye)},Me=gt=>{var Ye=Er("No script open. Ask a general she scripting question.");D(gt,Ye)};W(Ze,gt=>{t()?gt(Fe):gt(Me,-1)})}var Nt=b(ze,2);ui(Nt,17,()=>xt,qi,(gt,Ye)=>{var Pt=x9(),tt=v(Pt);z(()=>O(tt,d(Ye))),G("click",Pt,()=>Pe(d(Ye))),D(gt,Pt)}),D(q,oe)};W(J,q=>{d(We)?d(n).length===0&&d(s)===null&&q(Ve,1):q(ke)})}var ve=b(J,2);ui(ve,17,()=>d(n),qi,(q,oe,ze)=>{var Ze=N9(),Fe=v(Ze);{var Me=gt=>{var Ye=L9(),Pt=v(Ye);z(()=>O(Pt,d(oe).content)),D(gt,Ye)},Nt=gt=>{const Ye=ct(()=>St(d(oe).content));var Pt=R9(),tt=wt(Pt);{var ge=Le=>{var He=JD();ui(He,21,()=>d(oe).toolEvents,qi,(Ct,Ce)=>{var Ge=Ms(),rt=wt(Ge);{var at=qt=>{var Xt=YD(),sn=b(v(Xt),2),Bi=v(sn),hn=b(sn,2);{var Hn=si=>{var on=XD(),Qi=v(on);z(es=>O(Qi,es),[()=>Object.entries(d(Ce).args).map(([es,Bs])=>`${es}=${JSON.stringify(Bs)}`).join(", ")]),D(si,on)},Ai=ct(()=>d(Ce).args&&Object.keys(d(Ce).args).length>0);W(hn,si=>{d(Ai)&&si(Hn)})}z(si=>O(Bi,si),[()=>d(Ce).name.replace(/_/g," ")]),D(qt,Xt)},et=qt=>{var Xt=QD(),sn=b(v(Xt),2),Bi=v(sn);z(hn=>O(Bi,hn),[()=>d(Ce).name.replace(/_/g," ")]),D(qt,Xt)};W(rt,qt=>{d(Ce).type==="tool_call"?qt(at):qt(et,-1)})}D(Ct,Ge)}),D(Le,He)};W(tt,Le=>{var He;(He=d(oe).toolEvents)!=null&&He.length&&Le(ge)})}var Ee=b(tt,2);ui(Ee,21,()=>d(Ye),qi,(Le,He,Ct)=>{var Ce=Ms(),Ge=wt(Ce);{var rt=et=>{var qt=eE();sc(qt,()=>Si(d(He).text),!0),D(et,qt)},at=et=>{const qt=ct(()=>bi(d(He).lang)?ri(d(He).text):null),Xt=ct(()=>d(qt)?d(qt).code:d(He).text),sn=ct(()=>`${ze}:${Ct}`),Bi=ct(()=>kt(d(Xt))),hn=ct(()=>d(A).has(d(sn)));var Hn=M9(),Ai=v(Hn),si=v(Ai),on=v(si),Qi=b(si,2),es=v(Qi),Bs=b(es,2);{var ho=ns=>{var Es=I9();G("click",Es,()=>e.onCreateFile(d(qt).filename,d(qt).code)),D(ns,Es)},Ko=ns=>{var Es=T9(),Wr=wt(Es),Ka=b(Wr,2);{var Ol=Xo=>{var Br=D9();D(Xo,Br)},Za=Xo=>{var Br=E9();G("click",Br,()=>Li(d(He).text,!0)),D(Xo,Br)};W(Ka,Xo=>{d(P)?Xo(Ol):Xo(Za,-1)})}G("click",Wr,()=>Li(d(He).text)),D(ns,Es)},dr=ct(()=>bi(d(He).lang)&&t());W(Bs,ns=>{d(qt)&&e.onCreateFile?ns(ho):d(dr)&&ns(Ko,1)})}var Xn=b(Ai,2);let Zo;var ur=v(Xn),un=v(ur);sc(un,()=>hi(d(Xt),d(He).lang??""),!0);var Ds=b(ur,2);{var fs=ns=>{var Es=P9(),Wr=v(Es);z(()=>O(Wr,d(hn)?"▲ collapse":"▼ expand")),G("click",Es,()=>mi(d(sn))),D(ns,Es)};W(Ds,ns=>{d(Bi)&&ns(fs)})}z(()=>{O(on,d(qt)?`new: ${d(qt).filename}`:d(He).lang),Zo=It(Xn,1,"code-body svelte-10ayso4",null,Zo,{collapsed:d(Bi)&&!d(hn)})}),G("click",es,()=>Fi(d(Xt))),D(et,Hn)};W(Ge,et=>{d(He).type==="text"?et(rt):et(at,-1)})}D(Le,Ce)}),D(gt,Pt)};W(Fe,gt=>{d(oe).role==="user"?gt(Me):gt(Nt,-1)})}z(()=>It(Ze,1,`message ${d(oe).role??""}`,"svelte-10ayso4")),D(q,Ze)});var Se=b(ve,2);{var Je=q=>{var oe=JD();ui(oe,21,()=>d(Mt),qi,(ze,Ze)=>{var Fe=Ms(),Me=wt(Fe);{var Nt=Ye=>{var Pt=YD(),tt=b(v(Pt),2),ge=v(tt),Ee=b(tt,2);{var Le=Ct=>{var Ce=XD(),Ge=v(Ce);z(rt=>O(Ge,rt),[()=>Object.entries(d(Ze).args).map(([rt,at])=>`${rt}=${JSON.stringify(at)}`).join(", ")]),D(Ct,Ce)},He=ct(()=>d(Ze).args&&Object.keys(d(Ze).args).length>0);W(Ee,Ct=>{d(He)&&Ct(Le)})}z(Ct=>O(ge,Ct),[()=>d(Ze).name.replace(/_/g," ")]),D(Ye,Pt)},gt=Ye=>{var Pt=QD(),tt=b(v(Pt),2),ge=v(tt);z(Ee=>O(ge,Ee),[()=>d(Ze).name.replace(/_/g," ")]),D(Ye,Pt)};W(Me,Ye=>{d(Ze).type==="tool_call"?Ye(Nt):Ye(gt,-1)})}D(ze,Fe)}),D(q,oe)};W(Se,q=>{d(Mt).length>0&&q(Je)})}var Lt=b(Se,2);{var ut=q=>{var oe=A9(),ze=v(oe),Ze=v(ze),Fe=v(Ze);z(()=>O(Fe,Re[d(Ke)])),D(q,oe)};W(Lt,q=>{d(a)&&d(s)===null&&d(Mt).length===0&&q(ut)})}var mt=b(Lt,2);{var Et=q=>{var oe=F9(),ze=v(oe);ui(ze,21,()=>Pi(d(s)),qi,(Ze,Fe)=>{var Me=Ms(),Nt=wt(Me);{var gt=Pt=>{var tt=eE();sc(tt,()=>Si(d(Fe).text),!0),D(Pt,tt)},Ye=Pt=>{var tt=O9(),ge=v(tt),Ee=v(ge),Le=v(Ee),He=b(ge,2),Ct=v(He);sc(Ct,()=>hi(d(Fe).text,d(Fe).lang??""),!0),z(()=>O(Le,d(Fe).lang)),D(Pt,tt)};W(Nt,Pt=>{d(Fe).type==="text"?Pt(gt):Pt(Ye,-1)})}D(Ze,Me)}),D(q,oe)};W(mt,q=>{d(s)!==null&&q(Et)})}Ps(Z,q=>Rt=q,()=>Rt);var Wt=b(Z,2);{var oi=q=>{var oe=H9(),ze=v(oe);z(()=>O(ze,d(c))),D(q,oe)};W(Wt,q=>{d(c)&&q(oi)})}var ti=b(Wt,2),ai=v(ti),ki=v(ai),Ri=b(ai,2),ji=v(Ri),wi=b(Ri,2),Ni=v(wi),gn=b(Ni);{var Fn=q=>{const oe=ct(()=>Math.min(100,Math.round(d(Ut)/4/d(B).contextLength*100)));var ze=W9(),Ze=v(ze),Fe=b(v(Ze));z((Me,Nt)=>{Ei(ze,"title",`~${d(oe)??""}% of ${Me??""} token context window used`),Ei(Fe,"stroke",d(oe)>80?"var(--fg-err)":d(oe)>50?"var(--fg-warn)":"var(--fg-ok)"),Ei(Fe,"stroke-dasharray",`${Nt??""} 31.4`)},[()=>d(B).contextLength.toLocaleString(),()=>(d(oe)/100*31.4).toFixed(1)]),D(q,ze)};W(gn,q=>{var oe;(oe=d(B))!=null&&oe.contextLength&&q(Fn)})}var Un=b(ti,2),In=v(Un);{var ni=q=>{const oe=ct(()=>Ht(t().path.split("/").pop()??t().path));var ze=B9();let Ze;var Fe=v(ze),Me=v(Fe),Nt=b(Fe,2),gt=v(Nt),Ye=b(Nt,2),Pt=v(Ye);z((tt,ge)=>{Ze=It(ze,1,"file-chip svelte-10ayso4",null,Ze,{inactive:!d(be)}),It(Fe,1,`badge badge-${tt??""}`,"svelte-10ayso4"),O(Me,ge),O(gt,t().path),Ei(Ye,"title",d(be)?"Remove from context":"Re-add to context"),O(Pt,d(be)?"×":"+")},[()=>d(oe).toLowerCase(),()=>gi(d(oe))]),G("click",Ye,()=>y(be,!d(be))),D(q,ze)};W(In,q=>{t()&&q(ni)})}var Wi=b(In,2);ui(Wi,17,i,qi,(q,oe,ze)=>{const Ze=ct(()=>Ht(d(oe).name));var Fe=z9(),Me=v(Fe),Nt=v(Me),gt=b(Me,2),Ye=v(gt),Pt=b(gt,2);z((tt,ge)=>{It(Me,1,`badge badge-${tt??""}`,"svelte-10ayso4"),O(Nt,ge),O(Ye,d(oe).name)},[()=>d(Ze).toLowerCase(),()=>gi(d(Ze))]),G("click",Pt,()=>Ci(ze)),D(q,Fe)});var V=b(Wi,2),se=b(V,2);Ps(se,q=>ot=q,()=>ot);var Xe=b(Un,2);let X;var $=v(Xe);let te;var we=v($);Ps(we,q=>ue=q,()=>ue);var it=b($,2);{var ae=q=>{var oe=V9();G("click",oe,Hi),D(q,oe)},De=q=>{var oe=j9();z(ze=>oe.disabled=ze,[()=>!d(r).trim()||!d(yt)]),G("click",oe,Kt),D(q,oe)};W(it,q=>{d(a)?q(ae):q(De,-1)})}var vt=b(Xe,2);{var Be=q=>{var oe=K9(),ze=v(oe),Ze=v(ze),Fe=b(ze,2);{var Me=Pt=>{var tt=U9();ui(tt,21,()=>d(x),qi,(ge,Ee)=>{var Le=$9(),He=v(Le),Ct={};z(()=>{O(He,d(Ee)),Ct!==(Ct=d(Ee))&&(Le.value=(Le.__value=d(Ee))??"")}),D(ge,Le)}),z(()=>tt.disabled=d(a)),Bo(tt,()=>d(k),ge=>y(k,ge)),D(Pt,tt)},Nt=Pt=>{var tt=q9(),ge=v(tt);z(()=>O(ge,d(k)||d(u).model)),D(Pt,tt)};W(Fe,Pt=>{d(x).length>0?Pt(Me):Pt(Nt,-1)})}var gt=b(Fe,2);{var Ye=Pt=>{var tt=G9();G("click",tt,st),D(Pt,tt)};W(gt,Pt=>{d(u).provider==="ollama"&&Pt(Ye)})}z(()=>O(Ze,d(u).provider)),D(q,oe)};W(vt,q=>{var oe;(oe=d(u))!=null&&oe.provider&&(d(We)||d(x).length>0)&&q(Be)})}var qe=b(re,2);{var Tt=q=>{var oe=rG(),ze=v(oe),Ze=v(ze),Fe=v(Ze),Me=v(Fe),Nt=b(Fe,2),gt=b(Ze,2),Ye=v(gt);{var Pt=Ee=>{var Le=Z9();D(Ee,Le)},tt=Ee=>{var Le=X9(),He=v(Le);z(()=>O(He,d(ie))),D(Ee,Le)},ge=Ee=>{var Le=oG(),He=v(Le);{var Ct=Ai=>{var si=Y9(),on=b(wt(si)),Qi=v(on);z(()=>O(Qi,d(B).version)),D(Ai,si)};W(He,Ai=>{d(B).version&&Ai(Ct)})}var Ce=b(He,2);{var Ge=Ai=>{var si=Q9(),on=b(wt(si)),Qi=v(on);z(()=>O(Qi,d(B).details.family)),D(Ai,si)};W(Ce,Ai=>{var si;(si=d(B).details)!=null&&si.family&&Ai(Ge)})}var rt=b(Ce,2);{var at=Ai=>{var si=J9(),on=b(wt(si)),Qi=v(on);z(()=>O(Qi,d(B).details.parameter_size)),D(Ai,si)};W(rt,Ai=>{var si;(si=d(B).details)!=null&&si.parameter_size&&Ai(at)})}var et=b(rt,2);{var qt=Ai=>{var si=eG(),on=b(wt(si)),Qi=v(on);z(()=>O(Qi,d(B).details.quantization_level)),D(Ai,si)};W(et,Ai=>{var si;(si=d(B).details)!=null&&si.quantization_level&&Ai(qt)})}var Xt=b(et,2);{var sn=Ai=>{var si=tG(),on=b(wt(si)),Qi=v(on);z(()=>O(Qi,d(B).details.format)),D(Ai,si)};W(Xt,Ai=>{var si;(si=d(B).details)!=null&&si.format&&Ai(sn)})}var Bi=b(Xt,2);{var hn=Ai=>{var si=nG(),on=b(wt(si),2);ui(on,21,()=>d(B).running,qi,(Qi,es)=>{var Bs=iG(),ho=v(Bs);z(Ko=>O(ho,`${d(es).name??""} · ${Ko??""} VRAM`),[()=>fi(d(es).size_vram)]),D(Qi,Bs)}),D(Ai,si)},Hn=Ai=>{var si=sG();D(Ai,si)};W(Bi,Ai=>{d(B).running&&d(B).running.length>0?Ai(hn):d(B).running!==null&&Ai(Hn,1)})}D(Ee,Le)};W(Ye,Ee=>{d(ne)?Ee(Pt):d(ie)?Ee(tt,1):d(B)&&Ee(ge,2)})}z(()=>{var Ee;return O(Me,`Ollama · ${(d(k)||((Ee=d(u))==null?void 0:Ee.model))??""}`)}),G("click",oe,()=>y(U,!1)),G("click",ze,Ee=>Ee.stopPropagation()),G("click",Nt,()=>y(U,!1)),D(q,oe)};W(qe,q=>{d(U)&&q(Tt)})}z(q=>{ee=It(N,1,"icon-hdr-btn svelte-10ayso4",null,ee,{active:d(m)}),O(Ni,q),X=It(Xe,1,"input-row svelte-10ayso4",null,X,{"drag-over":d(_t)}),te=It($,1,"textarea-wrap svelte-10ayso4",null,te,{loading:d(a)}),Ei(we,"placeholder",d(yt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":d(We)?"Select a model above to start chatting":"AI not configured"),we.disabled=d(a)||!d(yt)},[()=>fi(d(Ut))]),G("click",N,()=>y(m,!d(m))),xs(ki,()=>d(nt),q=>y(nt,q)),xs(ji,()=>d(pt),q=>y(pt,q)),G("click",V,Yi),G("change",se,Mi),ds("dragover",Xe,Ki),ds("dragleave",Xe,Di),ds("drop",Xe,Ii),G("keydown",we,nn),Qt(we,()=>d(r),q=>y(r,q)),D(o,Q),Hs()}Qs(["click","change","keydown"]);const cG={OnOff:["onOff","globalSceneControl","onTime","offWaitTime"],LevelControl:["currentLevel","remainingTime","minLevel","maxLevel","currentFrequency","onOffTransitionTime","onLevel"],ColorControl:["currentHue","currentSaturation","remainingTime","currentX","currentY","colorTemperatureMireds","colorMode","colorTempPhysicalMinMireds","colorTempPhysicalMaxMireds"],BasicInformation:["vendorName","vendorId","productName","productId","nodeLabel","location","softwareVersion","softwareVersionString","serialNumber"],Identify:["identifyTime","identifyType"],Groups:["nameSupport"],OccupancySensing:["occupancy","occupancySensorType"],IlluminanceMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance","lightSensorType"],TemperatureMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance"],RelativeHumidityMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance"],PressureMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue"],Thermostat:["localTemperature","outdoorTemperature","occupiedCoolingSetpoint","occupiedHeatingSetpoint","unoccupiedCoolingSetpoint","unoccupiedHeatingSetpoint","minHeatSetpointLimit","maxHeatSetpointLimit","systemMode","thermostatRunningMode","occupancy"],DoorLock:["lockState","lockType","actuatorEnabled","doorState"],WindowCovering:["type","currentPositionLiftPercent100ths","currentPositionTiltPercent100ths","operationalStatus","targetPositionLiftPercent100ths","targetPositionTiltPercent100ths","endProductType","mode"],FanControl:["fanMode","fanModeSequence","percentSetting","percentCurrent","speedMax","speedSetting","speedCurrent"],Descriptor:["deviceTypeList","serverList","clientList","partsList"],PowerSource:["status","order","description","wiredCurrentType","wiredMaximumCurrent","batteryVoltage","batteryPercentRemaining","batChargeLevel"],Switch:["numberOfPositions","currentPosition","multiPressMax"],BooleanState:["stateValue"],FlowMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue"]},dG={OnOff:["on","off","toggle"],LevelControl:["moveToLevel","move","step","stop","moveToLevelWithOnOff","moveWithOnOff","stepWithOnOff","stopWithOnOff"],ColorControl:["moveToHue","moveHue","stepHue","moveToSaturation","moveSaturation","stepSaturation","moveToHueAndSaturation","moveToColor","moveColor","stepColor","moveToColorTemperature","moveColorTemperature","stepColorTemperature"],Identify:["identify","triggerEffect"],Groups:["addGroup","viewGroup","getGroupMembership","removeGroup","removeAllGroups","addGroupIfIdentifying"],Thermostat:["setpointRaiseLower","setWeeklySchedule","getWeeklySchedule","clearWeeklySchedule"],DoorLock:["lockDoor","unlockDoor","unlockWithTimeout"],WindowCovering:["upOrOpen","downOrClose","stopMotion","goToLiftValue","goToLiftPercentage","goToTiltValue","goToTiltPercentage"],FanControl:[]};let Hx=[],Wx=[],Bx=[];const bb=new Map;let fA=[];const zx=new Map,Vx=new Map;async function tE(){try{Hx=(await VN()).map(e=>e.topic)}catch{}}async function iE(){try{const[o,e]=await Promise.all([HN(),WN()]);Wx=o,Bx=e}catch{}}async function nE(){try{const o=await zN();fA=o.map(e=>e.nodeId),zx.clear(),Vx.clear();for(const e of o)e.name&&(zx.set(e.nodeId,e.name),Vx.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!bb.has(e.nodeId))try{bb.set(e.nodeId,await Xm(e.nodeId))}catch{}}))}catch{}}function uG(o){const e=/(?:she\.mqtt\.(?:sub|pub|get|set|link|age|getProp|or|and|max|min|timer)|she\.(?:getValue|setValue|getProp))\s*\([^)]*?['"]([^'"]*)\s*$/,t=o.match(e);if(t)return{type:"mqtt",prefix:t[1]};const i=/she\.db\.sub\s*\([^)]*?['"]([^'"]*)\s*$/,n=o.match(i);if(n)return{type:"db",prefix:n[1],includeViews:!0};const s=/she\.db\.(?:get|set|extend|delete|prop|query)\s*\([^)]*?['"]([^'"]*)\s*$/,r=o.match(s);if(r)return{type:"db",prefix:r[1],includeViews:!1};const a=/she\.matter\.(?:sub|get|send|on)\s*\(\s*(.*)\s*$/,c=o.match(a);if(c){const u=c[1],f=hG(u),g=fG(u);if(f===0)return{type:"matter-nodeId",prefix:g};if(f===1){const p=gh(u,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(f===2){const p=gh(u,0),w=sE(u,1)??gh(u,1);if(p&&w!==null)return{type:"matter-cluster",nodeId:p,endpointId:w}}if(f>=3){const p=gh(u,0),w=sE(u,1)??gh(u,1),m=gh(u,2),x=/she\.matter\.send\s*\(/.test(o);if(p&&w!==null&&m)return{type:"matter-attr",nodeId:p,endpointId:w,cluster:m,isSend:x}}}return null}function hG(o){let e=0,t=0,i=!1,n="";for(const s of o){if(i){s===n&&(i=!1);continue}if(s==='"'||s==="'"){i=!0,n=s;continue}if(s==="("||s==="["||s==="{"){e++;continue}if(s===")"||s==="]"||s==="}"){e--;continue}s===","&&e===0&&t++}return t}function fG(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function gh(o,e){var s;const i=(s=gA(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function sE(o,e){var s;const i=(s=gA(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function gA(o){const e=[];let t="",i=0,n=!1,s="";for(const r of o){if(n){r===s&&(n=!1),t+=r;continue}if(r==='"'||r==="'"){n=!0,s=r,t+=r;continue}if(r==="("||r==="["||r==="{"){i++,t+=r;continue}if(r===")"||r==="]"||r==="}"){i--,t+=r;continue}if(r===","&&i===0){e.push(t),t="";continue}t+=r}return e.push(t),e}const Au=nd.CompletionItemKind;function gG(o,e){return(e?Hx.filter(i=>i.startsWith(e)):Hx).map(i=>({label:i,kind:Au.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function pG(o,e,t){const i=t?[...Wx,...Bx]:Wx;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Au.Value,insertText:s,range:o,detail:Bx.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function _G(o,e){return fA.map(t=>{const i=zx.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Au.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function pA(o){return Vx.get(o)??o}function mG(o,e){if(typeof e=="number")return o.endpoints.find(i=>i.endpointId===e);const t=parseInt(e,10);return isNaN(t)?o.endpoints.find(i=>i.name===e):o.endpoints.find(i=>i.endpointId===t)}function vG(o,e){const t=bb.get(pA(e));return t?t.endpoints.map(i=>{const n=i.name??String(i.endpointId),s=i.clusters.map(r=>r.name).join(", ");return{label:n,kind:Au.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function bG(o,e,t){const i=bb.get(pA(e));if(!i)return[];const n=mG(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Au.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function yG(o,e,t){return(t?dG[e]??[]:cG[e]??[]).map(n=>({label:n,kind:t?Au.Function:Au.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let oE=!1;function wG(){oE||(oE=!0,tE(),iE(),nE(),setInterval(tE,15e3),setInterval(iE,1e4),setInterval(nE,6e4),nd.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=uG(t);if(!i)return null;const n=o.getWordUntilPosition(e),s=Math.max(t.lastIndexOf("'"),t.lastIndexOf('"')),r=s>=0?s+2:n.startColumn,a={startLineNumber:e.lineNumber,endLineNumber:e.lineNumber,startColumn:r,endColumn:e.column};switch(i.type){case"mqtt":return{suggestions:gG(a,i.prefix)};case"db":return{suggestions:pG(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:_G(a,i.prefix)};case"matter-endpointId":return{suggestions:vG(a,i.nodeId)};case"matter-cluster":return{suggestions:bG(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:yG(a,i.cluster,i.isSend)};default:return null}}}))}var SG=T('<button class="svelte-1pyfjii">New file here</button> <button class="svelte-1pyfjii">New subfolder here</button> <hr class="svelte-1pyfjii"/> <button class="svelte-1pyfjii">Rename folder…</button> <button class="danger svelte-1pyfjii">Delete folder…</button>',1),CG=T('<button class="svelte-1pyfjii">Show git history</button>'),xG=T('<button class="svelte-1pyfjii">Open</button> <button class="svelte-1pyfjii">Rename…</button> <button class="svelte-1pyfjii">Add to AI context</button> <!> <hr class="svelte-1pyfjii"/> <button class="danger svelte-1pyfjii">Delete</button>',1),kG=T('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),LG=T('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),rE=T('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),IG=T('<ul class="tree-children svelte-1pyfjii"></ul>'),DG=T('<li class="tree-dir svelte-1pyfjii"><div role="treeitem" tabindex="-1" draggable="true"><button>›</button> <span role="button" tabindex="0"> </span> <!> <label class="lib-label svelte-1pyfjii" title="Library directory — files here are not auto-loaded as scripts"><input type="checkbox" class="svelte-1pyfjii"/> <span class="lib-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 3h8a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H3V3z"></path><line x1="3" y1="12" x2="13" y2="12"></line><line x1="6" y1="3" x2="6" y2="12"></line></svg></label> <label class="dis-label svelte-1pyfjii" title="Disable — scripts in this folder will not be executed"><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label></div> <!></li>'),EG=T('<span class="dirty-dot svelte-1pyfjii">●</span>'),TG=T('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),PG=T('<span class="err-dot svelte-1pyfjii">●</span>'),MG=T('<label><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label>'),RG=T('<span class="dis-spacer svelte-1pyfjii"></span>'),NG=T('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),AG=T('<div class="err svelte-1pyfjii"> </div>'),OG=T('<div class="history-empty svelte-1pyfjii">Loading…</div>'),FG=T('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),HG=T('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),WG=T('<button class="history-load-more svelte-1pyfjii"> </button>'),BG=T("<!> <!>",1),zG=T('<div class="history-panel svelte-1pyfjii"><div class="history-resize-handle svelte-1pyfjii" role="separator"></div> <div class="history-hdr svelte-1pyfjii"><span class="history-title svelte-1pyfjii"> </span> <button class="history-close svelte-1pyfjii">✕</button></div> <div class="history-body svelte-1pyfjii"><!></div></div>'),VG=T('<span class="tab-dirty svelte-1pyfjii">●</span>'),jG=T('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),$G=T('<div class="tab-bar svelte-1pyfjii"></div>'),UG=T('<li class="changes-item svelte-1pyfjii"><input type="checkbox" class="changes-check svelte-1pyfjii"/> <span class="changes-status svelte-1pyfjii"> </span> <span class="changes-file svelte-1pyfjii"> </span></li>'),qG=T('<div class="changes-err svelte-1pyfjii"> </div>'),GG=T('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii">Uncommitted changes</div> <ul class="changes-list svelte-1pyfjii"></ul> <div class="changes-commit-row svelte-1pyfjii"><input class="changes-msg-input svelte-1pyfjii" type="text" placeholder="Commit message…"/> <button class="changes-commit-btn svelte-1pyfjii"> </button></div> <!></div>',1),KG=T('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),ZG=T('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii"> </div> <div class="changes-commit-row svelte-1pyfjii"><button class="changes-commit-btn svelte-1pyfjii">Push</button></div></div>',1),XG=T('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),YG=T('<span class="git-behind svelte-1pyfjii"> </span>'),QG=T('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),JG=T('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><button class="svelte-1pyfjii">Save</button> <button class="svelte-1pyfjii">Save & Commit</button></div>',1),eK=T('<button class="danger svelte-1pyfjii">Delete</button>'),tK=T(`<div class="welcome svelte-1pyfjii"><div class="welcome-inner svelte-1pyfjii"><div class="welcome-logo svelte-1pyfjii">she</div> <p class="welcome-sub svelte-1pyfjii">Smart Home Engine — a scriptable smart home automation engine</p> <div class="welcome-hint svelte-1pyfjii"><strong>Quick start:</strong> click <kbd class="svelte-1pyfjii">+ File</kbd> in the sidebar to create your first script,
|
|
152
|
+
or click an existing file to open it. Scripts run in a sandboxed VM with access to the <code class="svelte-1pyfjii">she</code> object for MQTT, scheduling, and more.</div> <div class="welcome-links svelte-1pyfjii"><a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-1pyfjii">GitHub</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/sandbox-api.md" target="_blank" rel="noopener" class="svelte-1pyfjii">API reference</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/README.md" target="_blank" rel="noopener" class="svelte-1pyfjii">README</a></div> <div class="welcome-shortcuts svelte-1pyfjii"><div class="welcome-shortcuts-title svelte-1pyfjii">Keyboard shortcuts</div> <div class="welcome-shortcuts-grid svelte-1pyfjii"><span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">S</kbd></span><span class="svelte-1pyfjii">Save</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">F</kbd></span><span class="svelte-1pyfjii">Find</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">H</kbd></span><span class="svelte-1pyfjii">Find & Replace</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">G</kbd></span><span class="svelte-1pyfjii">Go to line</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Undo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Shift</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Redo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">/</kbd></span><span class="svelte-1pyfjii">Toggle comment</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Alt</kbd><kbd class="svelte-1pyfjii">↑ / ↓</kbd></span><span class="svelte-1pyfjii">Move line up / down</span></div></div></div></div>`),iK=T('<button class="svelte-1pyfjii">Always accept in this session</button>'),nK=T('<button class="svelte-1pyfjii">Disable auto-accept</button>'),sK=T('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),oK=T('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Proposed changes — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><div class="split-wrap svelte-1pyfjii"><div class="split-btn accept-split svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Accept options">▾</button></div> <!></div> <button class="discard-btn svelte-1pyfjii">Discard</button></div></div> <div class="diff-container svelte-1pyfjii"></div></div>'),rK=T('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),aK=T('<div class="diff-container svelte-1pyfjii"></div>'),lK=T('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Commit <code> </code> → current — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><button class="discard-btn svelte-1pyfjii">Close</button></div></div> <!></div>'),cK=T('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),dK=T('<span class="log-file svelte-1pyfjii"> </span>'),uK=T("<option> </option>"),hK=T('<select class="log-filter-level svelte-1pyfjii"></select> <input class="log-filter-text svelte-1pyfjii" type="search" placeholder="Filter…"/> <label class="log-filter-regex svelte-1pyfjii" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-1pyfjii"/> <span class="log-filter-checkmark svelte-1pyfjii"></span> Regex</label> <button class="log-clear svelte-1pyfjii">Clear</button>',1),fK=T('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),gK=T('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),pK=T('<div class="log-body svelte-1pyfjii"><!> <!></div>'),_K=T('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),mK=T('<!> <!> <!> <!> <div class="layout svelte-1pyfjii"><aside class="svelte-1pyfjii"><div class="toolbar svelte-1pyfjii"><button title="New script" class="svelte-1pyfjii">+ File</button> <button title="New folder" class="svelte-1pyfjii">+ Folder</button> <button title="Refresh" class="refresh svelte-1pyfjii">↻</button></div> <!> <ul class="tree svelte-1pyfjii"><li role="presentation"></li> <!></ul> <!></aside> <div class="sidebar-resize-handle svelte-1pyfjii" role="separator"></div> <div class="editor-area svelte-1pyfjii"><!> <div class="editor-toolbar svelte-1pyfjii"><span class="filename svelte-1pyfjii"> </span> <!> <div class="split-wrap svelte-1pyfjii"><div class="split-btn svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Save options">▾</button></div> <!></div> <!> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"><line x1="5.5" y1="5" x2="4" y2="2.5"></line><line x1="10.5" y1="5" x2="12" y2="2.5"></line><path d="M3 11 V7 A5 3.5 0 0 0 13 7 V11 Z" stroke-linejoin="round"></path><circle cx="6" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle><circle cx="10" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle></svg> AI</button></div> <div class="editor-body svelte-1pyfjii"><div class="editor-left svelte-1pyfjii"><div class="editor-stack svelte-1pyfjii"><div class="editor-container svelte-1pyfjii"></div> <!> <!> <!></div> <div><!> <div class="log-header svelte-1pyfjii"><button class="log-toggle svelte-1pyfjii"> <!></button> <!></div> <!></div></div> <!></div></div></div>',1);function vK(o,e){Fs(e,!0);let t=M(pi([])),i=M(pi({})),n=M(null),s=M(null),r=M(null),a=M(null),c=M(pi([])),u=M(null),f=M(!1),g=M(""),p=M(!1),w=M(!0),m=M(null),x=M(!1),k=M(!1),E=M(null),P=M(pi([])),A=M(!1),U=M(30),B=M(void 0),ne=null,ie=null,pe=null,_e=M(!1),Ke=M(""),Re=M(!1),nt=M(void 0),pt=M(pi(new Set));const be=new Set;let _t=M(pi(new Set)),ot=M(pi([])),Mt=M("all"),ue=M(""),Rt=M(!1);const $e=["all","debug","info","warn","error"],We={debug:0,info:1,warn:2,error:3};function yt(j){if(d(Mt)!=="all"&&We[j.level]<We[d(Mt)])return!1;if(!d(ue))return!0;if(d(Rt))try{return new RegExp(d(ue),"i").test(j.msg)}catch{}return j.msg.toLowerCase().includes(d(ue).toLowerCase())}let Ut=M(null);function Gt(j){const ce=j.currentTarget.getBoundingClientRect();y(Ut,{x:ce.left,y:ce.top},!0)}function Dt(){y(Ut,null)}let St,Ot,kt,mi=!1,hi=null,Si=null,Pi=!1,Fi=!1,Li=M(!1),bi=M(null),ri=M(!1),fi=M(!1),st=M(void 0),Ht=null,gi=null,Ci=null,Yi=M(pi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),xi=M(pi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),Mi=M(pi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Ii=M(pi(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),Ki=!1,Di=0,yn=0,Ue=!1,zt=0,ci=0,Bt=!1,Kt=0,Hi=0,nn=!1,lt=0,xt=0;const Pe=ct(()=>{var j;return d(u)&&d(Z)?{path:d(u),content:((j=d(Z).model)==null?void 0:j.getValue())??d(Z).savedContent}:null}),Q=ct(()=>{var j;return new Set(((j=d(m))==null?void 0:j.changes.map(ce=>ce.file))??[])}),re=ct(()=>{const j=new Set;for(const ce of d(Q)){const je=ce.split("/");for(let me=1;me<je.length;me++)j.add(je.slice(0,me).join("/"))}return j});let Ie=M(!1),Ae=M(!1),Oe=M(""),N=M(!1),ee=M(""),le=M(pi(new Set));async function ye(){var j;if(!(!d(Oe).trim()||d(le).size===0)){y(N,!0),y(ee,"");try{const ce=d(m).changes.filter(je=>d(le).has(je.file)).map(je=>je.file);if(ce.length===d(m).changes.length?await OD(d(Oe).trim()):await AD(ce,d(Oe).trim()),d(k))try{await Sm()}catch{}y(Oe,""),await ji(),(j=d(m))!=null&&j.changes.length?y(le,new Set(d(m).changes.map(je=>je.file)),!0):y(Ie,!1)}catch(ce){y(ee,ce.message,!0)}finally{y(N,!1)}}}let Ne,H,Z=ct(()=>d(c).find(j=>j.path===d(u))??null);const J="she-tabs",ke="she-active-tab",Ve="she-log-open",ve="she-chat-open";let Se=wu(e,"active",3,!0);zn(()=>{Fi&&(localStorage.setItem(J,JSON.stringify(d(c).map(j=>j.path))),d(u)?localStorage.setItem(ke,d(u)):localStorage.removeItem(ke))}),zn(()=>{Fi&&localStorage.setItem(ve,String(d(Li)))}),zn(()=>{Se()&&Ot&&Ot.layout()});const Je=`
|
|
153
|
+
declare const she: {
|
|
154
|
+
log(...args: any[]): void;
|
|
155
|
+
info(...args: any[]): void;
|
|
156
|
+
debug(...args: any[]): void;
|
|
157
|
+
warn(...args: any[]): void;
|
|
158
|
+
error(...args: any[]): void;
|
|
159
|
+
now(): number;
|
|
160
|
+
/** Schedule with a cron string, Date, node-schedule literal, array of any of those,
|
|
161
|
+
* or a suncalc event name ('sunrise', 'sunset', 'dawn', 'dusk', …) for solar scheduling.
|
|
162
|
+
* opts.shift (seconds) offsets solar events; opts.random adds a random delay. */
|
|
163
|
+
schedule(pattern: string | Date | object | (string | Date | object)[], opts?: { shift?: number; random?: number }, cb?: () => void): void;
|
|
164
|
+
mqtt: {
|
|
165
|
+
sub(topic: string | string[], opts?: any, cb?: (topic: string, val: any, obj: any, prev: any, msg: any) => void): void;
|
|
166
|
+
pub(topic: string | string[], payload: any, opts?: { qos?: number; retain?: boolean }): void;
|
|
167
|
+
get(topic: string): any;
|
|
168
|
+
getProp(topic: string, ...prop: string[]): any;
|
|
169
|
+
link(source: string | string[], target: string | string[], value?: any): void;
|
|
170
|
+
age(topic: string): number;
|
|
171
|
+
or(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
|
|
172
|
+
and(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
|
|
173
|
+
max(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
|
|
174
|
+
min(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
|
|
175
|
+
timer(src: string | string[], ms: number, target: string | ((topic: string | null, val: 0 | 1) => void)): void;
|
|
176
|
+
};
|
|
177
|
+
http: {
|
|
178
|
+
fetch(url: string, opts?: RequestInit): Promise<any>;
|
|
179
|
+
sub(path: string, callback: (body: any, req: { params: any; query: any; headers: any }) => any): void;
|
|
180
|
+
};
|
|
181
|
+
api: {
|
|
182
|
+
get(path: string, handler: (req: any) => any): void;
|
|
183
|
+
post(path: string, handler: (req: any, body: any) => any): void;
|
|
184
|
+
put(path: string, handler: (req: any, body: any) => any): void;
|
|
185
|
+
delete(path: string, handler: (req: any) => any): void;
|
|
186
|
+
};
|
|
187
|
+
db: {
|
|
188
|
+
get(id: string): any;
|
|
189
|
+
set(id: string, doc: object): void;
|
|
190
|
+
extend(id: string, partial: object): void;
|
|
191
|
+
delete(id: string): void;
|
|
192
|
+
prop(id: string, method: 'set' | 'create' | 'del', prop: string, val?: any): void;
|
|
193
|
+
sub(pattern: string, callback: (id: string, doc: any) => void): void;
|
|
194
|
+
query(filter: string | null, mapFn: Function, reduceFn?: Function): any[];
|
|
195
|
+
};
|
|
196
|
+
matter: {
|
|
197
|
+
sub(nodeId: string, endpointId: number, cluster: string, attr: string, cb: (val: any, old: any) => void): number;
|
|
198
|
+
unsub(listenerId: number): void;
|
|
199
|
+
get(nodeId: string, endpointId: number, cluster: string, attr: string): Promise<any>;
|
|
200
|
+
send(nodeId: string, endpointId: number, cluster: string, command: string, args?: object): Promise<any>;
|
|
201
|
+
on(nodeId: string, endpointId: number, cluster: string, event: string, cb: (val: any) => void): number;
|
|
202
|
+
};
|
|
203
|
+
influx: {
|
|
204
|
+
query(fluxQuery: string): Promise<any[]>;
|
|
205
|
+
write(measurement: string, fields: object, tags?: object, timestamp?: number | Date): Promise<void>;
|
|
206
|
+
getLast(topic: string, n: number): Promise<Array<{ ts: number; val: any }>>;
|
|
207
|
+
getRange(topic: string, from: number | string | Date, to: number | string | Date): Promise<Array<{ ts: number; val: any }>>;
|
|
208
|
+
};
|
|
209
|
+
elastic: {
|
|
210
|
+
search(index: string, query: object): Promise<{ hits: any[]; total: number }>;
|
|
211
|
+
get(index: string, id: string): Promise<object | null>;
|
|
212
|
+
index(index: string, doc: object, id?: string): Promise<{ id: string }>;
|
|
213
|
+
find(index: string, field: string, text: string, size?: number): Promise<any[]>;
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
`;function Lt(j){d(c).some(ce=>ce.dirty)&&j.preventDefault()}co(async()=>{var me;window.addEventListener("beforeunload",Lt),y(w,localStorage.getItem(Ve)!=="false"),y(Li,localStorage.getItem(ve)==="true"),nd.typescript.javascriptDefaults.addExtraLib(Je,"she-api.d.ts"),nd.typescript.javascriptDefaults.setCompilerOptions({target:nd.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),nd.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),wG(),kt=pr.createModel("","javascript"),Ot=pr.create(St,{model:kt,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),Ot.onDidChangeModelContent(()=>{if(mi)return;const bt=d(c).find(Yt=>Yt.path===d(u));bt&&(bt.dirty=Ot.getValue()!==bt.savedContent),Pt&&clearTimeout(Pt),Pt=setTimeout(tt,600)}),hi=Ik(bt=>{const Yt=bt.msg.match(/^([^:\n]+\.js):\s/);if(!Yt)return;const li=Yt[1];if(bt.level==="error")be.add(li),d(pt).has(li)||y(pt,new Set([...d(pt),li]),!0);else if(be.has(li)){be.delete(li);const $i=new Set(d(pt));$i.delete(li),y(pt,$i,!0)}const rn=d(c).find($i=>$i.path===li);rn&&(rn.logEntries=[...rn.logEntries.slice(-199),bt],rn.path===d(u)&&d(w)&&d(nt)&&Om().then(()=>{d(nt)&&(d(nt).scrollTop=d(nt).scrollHeight)}))}),Si=Pr("script:running",bt=>{const Yt=bt.path;if(bt.running)y(_t,new Set([...d(_t),Yt]),!0);else{const li=new Set(d(_t));li.delete(Yt),y(_t,li,!0)}}),await ut(),ji();try{const bt=await Dl();typeof bt.gitAutoCommit=="boolean"&&y(x,bt.gitAutoCommit,!0),typeof bt.gitAutoPush=="boolean"&&y(k,bt.gitAutoPush,!0)}catch{}try{const bt=await getDaemonStatus();y(_t,new Set(bt.runningScripts??[]),!0)}catch{}const j=JSON.parse(localStorage.getItem(J)??"[]"),ce=localStorage.getItem(ke);for(const bt of j)await ti(bt,!1);const je=ce&&d(c).some(bt=>bt.path===ce)?ce:((me=d(c)[0])==null?void 0:me.path)??null;je&&await ki(je),Fi=!0}),Wy(()=>{var j;window.removeEventListener("beforeunload",Lt),Pt&&clearTimeout(Pt),hi==null||hi(),Si==null||Si();for(const ce of d(c))(j=ce.model)==null||j.dispose();kt==null||kt.dispose(),Ot==null||Ot.dispose()});async function ut(){try{if(y(t,await w7(),!0),!Pi){let ce=function(je){for(const me of je)me.type==="dir"&&(j[me.path]=!0,me.children&&ce(me.children))};Pi=!0;const j={};ce(d(t)),y(i,j,!0)}y(g,"")}catch(j){y(g,j.message,!0)}}function mt(j){d(i)[j]=!d(i)[j]}function Et(j){switch(j){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return j}}async function Wt(j,ce){try{ce?await Qc(`${j}/.shelib`,""):await wm(`${j}/.shelib`),await ut(),await wi("all",ce?`lib ${j}`:`unlib ${j}`)}catch(je){y(g,je.message,!0)}}async function oi(j,ce){const je=j.split("/").pop(),me=j.includes("/")?j.slice(0,j.lastIndexOf("/")):"",bt=me?`${me}/.shedisable-${je}`:`.shedisable-${je}`;try{ce?await Qc(bt,""):await wm(bt),await ut(),await wi("all",ce?`disable ${j}`:`enable ${j}`)}catch(Yt){y(g,Yt.message,!0)}}async function ti(j,ce=!0){var je;if(d(c).some(me=>me.path===j)){ce&&await ki(j);return}try{const{content:me}=await hS(j),bt=c3.parse(`file:///she-scripts/${encodeURIComponent(j)}`);(je=pr.getModel(bt))==null||je.dispose();const Yt=pr.createModel(me,Ye(j),bt);y(c,[...d(c),{path:j,dirty:!1,savedContent:me,model:Yt,logEntries:[]}],!0),ce&&await ki(j)}catch(me){y(g,me.message,!0)}}async function ai(j){await ti(j,!0)}async function ki(j){const ce=d(c).find(je=>je.path===j);ce!=null&&ce.model&&(Xe(),y(bi,null),y(u,j,!0),mi=!0,Ot.setModel(ce.model),mi=!1,tt())}async function Ri(j){var me;const ce=d(c).find(bt=>bt.path===j);if(!ce||ce.dirty&&!await Ne.show(`Discard unsaved changes to ${j}?`,{confirm:"Discard"}))return;const je=d(c).findIndex(bt=>bt.path===j);if((me=ce.model)==null||me.dispose(),y(c,d(c).filter(bt=>bt.path!==j),!0),d(u)===j){const bt=d(c)[je]??d(c)[je-1]??null;bt?await ki(bt.path):(y(u,null),Ot.setModel(kt))}}async function ji(){try{y(m,await C7(),!0)}catch{y(m,null)}}async function wi(j,ce){if(d(m))try{if(j==="all"?await OD(ce):await AD(j,ce),d(k))try{await Sm()}catch{}await ji()}catch{}}async function Ni(){if(!d(u))return;const j=d(c).find(ce=>ce.path===d(u));if(j){y(f,!0);try{const ce=Ot.getValue();await Qc(d(u),ce),j.savedContent=ce,j.dirty=!1,y(g,""),d(x)?await wi([d(u)],`update ${d(u)}`):ji()}catch(ce){y(g,ce.message,!0)}finally{y(f,!1)}}}async function gn(){if(!d(u)||(await Ni(),d(g)))return;const j=await H.show("Commit message:",{initial:`update ${d(u)}`,placeholder:"Update script",confirm:"Commit"});if(j)try{if(await L7(d(u),j),d(k))try{await Sm()}catch{}ji()}catch(ce){y(g,"Git: "+ce.message)}}async function Fn(){y(p,!1);try{await Sm(),await ji(),y(g,"")}catch(j){y(g,"Git push: "+j.message)}}function Un(j){const ce=Date.now()-new Date(j).getTime(),je=Math.floor(ce/1e3);if(je<60)return"just now";const me=Math.floor(je/60);if(me<60)return`${me}m ago`;const bt=Math.floor(me/60);if(bt<24)return`${bt}h ago`;const Yt=Math.floor(bt/24);if(Yt<30)return`${Yt}d ago`;const li=Math.floor(Yt/30);return li<12?`${li}mo ago`:`${Math.floor(li/12)}y ago`}async function In(j){we(),y(E,j,!0),y(P,[],!0),y(U,30),await ni()}async function ni(){if(d(E)){y(A,!0);try{y(P,await I7(d(E).path,d(U)),!0)}catch{}finally{y(A,!1)}}}async function Wi(){y(U,d(U)+30),await ni()}function V(){y(E,null),y(P,[],!0),Xe()}async function se(j){if(!d(E))return;Xe(),await ai(d(E).path);let ce;try{ce=await D7(j.hash,d(E).path)}catch{return}if(y(Ke,j.hash,!0),y(Re,ce.binary,!0),y(_e,!0),ce.binary||ce.content===null)return;let je="";const me=d(c).find(Yt=>Yt.path===d(E).path);if(me!=null&&me.model)je=me.model.getValue();else try{je=(await hS(d(E).path)).content}catch{}if(await Om(),!d(B))return;const bt=Ye(d(E).path);ie=pr.createModel(ce.content,bt),pe=pr.createModel(je,bt),ne=pr.createDiffEditor(d(B),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),ne.setModel({original:ie,modified:pe})}function Xe(){y(_e,!1),y(Re,!1),ne==null||ne.dispose(),ne=null,ie==null||ie.dispose(),ie=null,pe==null||pe.dispose(),pe=null}async function X(){const j=d(n)?`${d(n)}/`:"",ce=await H.show("New script name:",{placeholder:j?`${j}myscript.js`:"myscript.js",initial:j,confirm:"Create"});if(!ce)return;const je=ce.endsWith(".js")?`/* global she */
|
|
217
|
+
'use strict';
|
|
218
|
+
|
|
219
|
+
`:"";await Qc(ce,je),await ut(),await ti(ce,!0)}async function $(){const j=d(n)?`${d(n)}/`:"",ce=await H.show("New folder name:",{placeholder:j?`${j}subfolder`:"myfolder",initial:j,confirm:"Create"});ce&&(await S7(ce),d(i)[ce]=!0,await ut())}function te(j,ce){j.preventDefault(),y(s,{x:j.clientX,y:j.clientY,entry:ce},!0)}function we(){y(s,null)}async function it(j){we(),y(n,j,!0),d(i)[j]=!0,await X()}async function ae(j){we(),y(n,j,!0),await $()}async function De(j){we();const ce=j.path.includes("/")?j.path.slice(0,j.path.lastIndexOf("/")+1):"",je=await H.show(j.type==="dir"?"Rename folder:":"Rename script:",{initial:j.name,placeholder:j.name,confirm:"Rename"});if(!je||je===j.name)return;const me=ce+je;try{await ND(j.path,me);const bt=d(c).find(Yt=>Yt.path===j.path);bt&&(bt.path=me,d(u)===j.path&&y(u,me)),await ut(),await wi("all",`rename ${j.path} → ${me}`)}catch(bt){y(g,bt.message,!0)}}function vt(j){if(!j.children)return 0;let ce=0;for(const je of j.children)ce++,je.type==="dir"&&(ce+=vt(je));return ce}async function Be(j){we();let ce=`Delete ${j.type==="dir"?"folder":"file"} "${j.path}"?`;if(j.type==="dir"){const je=vt(j);je>0&&(ce+=` This will also delete ${je} item${je===1?"":"s"} inside.`)}if(await Ne.show(ce,{confirm:"Delete",danger:!0})){if(j.type==="dir")for(const je of[...d(c)])je.path.startsWith(j.path+"/")&&await Ri(je.path);else await Ri(j.path);await wm(j.path),await ut(),await wi("all",`delete ${j.path}`)}}async function qe(j){we();const{content:ce}=await hS(j.path);d(ot).some(je=>je.name===j.path)||y(ot,[...d(ot),{name:j.path,content:ce}],!0),y(Li,!0)}function Tt(j,ce){var je;y(r,ce,!0),(je=j.dataTransfer)==null||je.setData("text/plain",ce)}function q(j,ce){if(j.preventDefault(),d(r)&&(d(r)===ce||ce.startsWith(d(r)+"/"))){j.dataTransfer&&(j.dataTransfer.dropEffect="none"),y(a,null);return}j.dataTransfer&&(j.dataTransfer.dropEffect="move"),y(a,ce,!0)}function oe(){y(a,null)}async function ze(j,ce){var li,rn,$i;j.preventDefault(),y(a,null);const je=Array.from(((li=j.dataTransfer)==null?void 0:li.items)??[]).filter(fn=>fn.kind==="file");if(je.length>0&&!d(r)){for(const fn of je){const Ui=(rn=fn.webkitGetAsEntry)==null?void 0:rn.call(fn);Ui&&await Ze(Ui,ce,!0)}await ut();return}const me=d(r)??(($i=j.dataTransfer)==null?void 0:$i.getData("text/plain"));if(y(r,null),!me||me===ce||ce.startsWith(me+"/"))return;const bt=me.split("/").pop(),Yt=ce?`${ce}/${bt}`:bt;if(Yt!==me)try{await ND(me,Yt);for(const fn of d(c))if(fn.path===me)d(u)===me&&y(u,Yt,!0),fn.path=Yt;else if(fn.path.startsWith(me+"/")){const Ui=Yt+fn.path.slice(me.length);d(u)===fn.path&&y(u,Ui),fn.path=Ui}await ut(),await wi("all",`rename ${me} → ${Yt}`)}catch(fn){y(g,fn.message,!0)}}async function Ze(j,ce,je){if(j.isFile){const bt=await(await new Promise((li,rn)=>j.file(li,rn))).text(),Yt=ce?`${ce}/${j.name}`:j.name;await Qc(Yt,bt),je&&j.name.endsWith(".js")&&await oi(Yt,!0)}else if(j.isDirectory){const me=j.createReader();let bt=[],Yt;do Yt=await new Promise((li,rn)=>me.readEntries(li,rn)),bt=[...bt,...Yt];while(Yt.length>0);for(const li of bt)await Ze(li,ce?`${ce}/${j.name}`:j.name,!1);if(je){const li=ce?`${ce}/${j.name}`:j.name;await oi(li,!0)}}}async function Fe(){if(!d(u)||!await Ne.show(`Delete ${d(u)}?`,{confirm:"Delete",danger:!0}))return;const j=d(u);await Ri(j),await wm(j),await ut(),await wi("all",`delete ${j}`)}function Me(){d(Z)&&(d(Z).logEntries=[])}function Nt(){y(w,!d(w)),localStorage.setItem(Ve,String(d(w)))}function gt(j){return new Date(j).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ye(j){var me;const ce=((me=j.split(".").pop())==null?void 0:me.toLowerCase())??"";return{js:"javascript",mjs:"javascript",cjs:"javascript",ts:"typescript",tsx:"typescript",json:"json",jsonc:"json",md:"markdown",markdown:"markdown",yaml:"yaml",yml:"yaml",sh:"shell",bash:"shell",css:"css",html:"html",xml:"xml",ini:"ini",toml:"ini"}[ce]??"plaintext"}let Pt=null;async function tt(){const j=d(c).find(je=>je.path===d(u));if(!(j!=null&&j.model))return;const ce=j.model;try{const Yt=(await(await(await nd.typescript.getJavaScriptWorker())(ce.uri)).getSyntacticDiagnostics(ce.uri.toString())).map(li=>{const rn=ce.getPositionAt(li.start??0),$i=ce.getPositionAt((li.start??0)+(li.length??0));return{severity:d3.Error,startLineNumber:rn.lineNumber,startColumn:rn.column,endLineNumber:$i.lineNumber,endColumn:$i.column,message:typeof li.messageText=="string"?li.messageText:JSON.stringify(li.messageText),source:"she-syntax"}});if(pr.setModelMarkers(ce,"she-syntax",Yt),d(u)){if(Yt.length>0)be.add(d(u)),d(pt).has(d(u))||y(pt,new Set([...d(pt),d(u)]),!0);else if(be.has(d(u))){be.delete(d(u));const li=new Set(d(pt));li.delete(d(u)),y(pt,li,!0)}}}catch{}}function ge(j){Ki=!0,Di=j.clientX,yn=d(Yi),j.preventDefault()}function Ee(j){Ue=!0,zt=j.clientY,ci=d(xi),j.preventDefault()}function Le(j){Bt=!0,Kt=j.clientX,Hi=d(Mi),j.preventDefault()}function He(j){nn=!0,lt=j.clientY,xt=d(Ii),j.preventDefault()}function Ct(j){Ki&&y(Yi,Math.max(140,Math.min(500,yn+j.clientX-Di)),!0),Ue&&y(xi,Math.max(60,Math.min(500,ci-(j.clientY-zt))),!0),Bt&&y(Mi,Math.max(200,Math.min(700,Hi-(j.clientX-Kt))),!0),nn&&y(Ii,Math.max(80,Math.min(600,xt-(j.clientY-lt))),!0)}function Ce(){Ki&&(Ki=!1,localStorage.setItem("she-scripts-sidebar-width",String(d(Yi)))),Ue&&(Ue=!1,localStorage.setItem("she-scripts-log-height",String(d(xi)))),Bt&&(Bt=!1,localStorage.setItem("she-scripts-chat-width",String(d(Mi)))),nn&&(nn=!1,localStorage.setItem("she-scripts-history-height",String(d(Ii))))}function Ge(j){(j.ctrlKey||j.metaKey)&&j.key==="s"&&(j.preventDefault(),Ni()),j.key==="Escape"&&(y(p,!1),y(s,null),y(Ae,!1))}async function rt(j,ce){const je=await H.show("Save new script as:",{placeholder:"myscript.js",initial:j,confirm:"Create"});if(je)try{await Qc(je,ce),await ut(),await ti(je,!0)}catch(me){y(g,me.message,!0)}}async function at(j){var je,me;if(d(ri)&&d(u)){y(bi,j,!0),await et();return}if(y(bi,j,!0),await Om(),!d(st))return;gi==null||gi.dispose(),Ci==null||Ci.dispose(),Ht==null||Ht.dispose();const ce=((me=(je=d(Z))==null?void 0:je.model)==null?void 0:me.getValue())??"";gi=pr.createModel(ce,"javascript"),Ci=pr.createModel(j,"javascript"),Ht=pr.createDiffEditor(d(st),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Ht.setModel({original:gi,modified:Ci})}zn(()=>{d(u),y(ri,!1),y(fi,!1)});async function et(){if(d(bi)===null||!d(u))return;const j=d(bi);y(bi,null);const ce=d(c).find(je=>je.path===d(u));ce!=null&&ce.model&&(mi=!0,ce.model.setValue(j),mi=!1,ce.dirty=!1,ce.savedContent=j);try{await Qc(d(u),j),y(g,""),d(x)?await wi([d(u)],`update ${d(u)}`):ji()}catch(je){y(g,je.message,!0)}Xt()}function qt(){y(bi,null),Xt()}function Xt(){Ht==null||Ht.dispose(),Ht=null,gi==null||gi.dispose(),gi=null,Ci==null||Ci.dispose(),Ci=null}var sn=mK();ds("keydown",Cd,Ge),ds("mousemove",Cd,Ct),ds("mouseup",Cd,Ce);var Bi=wt(sn);Ps(Jf(Bi,{}),j=>Ne=j,()=>Ne);var hn=b(Bi,2);Ps(Sq(hn,{}),j=>H=j,()=>H);var Hn=b(hn,2);{var Ai=j=>{var ce=kG(),je=wt(ce),me=b(je,2);let bt;var Yt=v(me);{var li=$i=>{var fn=SG(),Ui=wt(fn),an=b(Ui,2),Zi=b(an,4),Wn=b(Zi,2);G("click",Ui,()=>it(d(s).entry.path)),G("click",an,()=>ae(d(s).entry.path)),G("click",Zi,()=>De(d(s).entry)),G("click",Wn,()=>Be(d(s).entry)),D($i,fn)},rn=$i=>{var fn=xG(),Ui=wt(fn),an=b(Ui,2),Zi=b(an,2),Wn=b(Zi,2);{var Yn=Ji=>{var gs=CG();G("click",gs,()=>In(d(s).entry)),D(Ji,gs)};W(Wn,Ji=>{d(m)&&Ji(Yn)})}var Gn=b(Wn,4);G("click",Ui,()=>ai(d(s).entry.path)),G("click",an,()=>De(d(s).entry)),G("click",Zi,()=>qe(d(s).entry)),G("click",Gn,()=>Be(d(s).entry)),D($i,fn)};W(Yt,$i=>{d(s).entry.type==="dir"?$i(li):$i(rn,-1)})}z(()=>bt=Wo(me,"",bt,{left:`${d(s).x??""}px`,top:`${d(s).y??""}px`})),G("click",je,we),G("contextmenu",je,$i=>{$i.preventDefault(),we()}),D(j,ce)};W(Hn,j=>{d(s)&&j(Ai)})}var si=b(Hn,2);{var on=j=>{var ce=LG();let je;z(()=>je=Wo(ce,"",je,{left:`${d(Ut).x??""}px`,top:`${d(Ut).y-4}px`})),D(j,ce)};W(si,j=>{d(Ut)&&j(on)})}var Qi=b(si,2),es=v(Qi);let Bs;{const j=(je,me=Ny,bt)=>{let Yt=C0(()=>m3(bt==null?void 0:bt(),!1));var li=Ms(),rn=wt(li);{var $i=Ui=>{var an=DG(),Zi=v(an);let Wn;var Yn=v(Zi);let Gn;var Ji=b(Yn,2);let gs;var zs=v(Ji),ws=b(Ji,2);{var ls=wn=>{var Jo=rE();D(wn,Jo)},ss=ct(()=>d(Q).has(me().path)||d(re).has(me().path));W(ws,wn=>{d(ss)&&wn(ls)})}var ps=b(ws,2),Ss=v(ps),Vs=b(ps,2),_a=v(Vs),jr=b(Zi,2);{var js=wn=>{var Jo=IG();ui(Jo,21,()=>me().children,Ts=>Ts.path,(Ts,$r)=>{j(Ts,()=>d($r),()=>me().disabled||d(Yt))}),D(wn,Jo)};W(jr,wn=>{d(i)[me().path]&&me().children&&wn(js)})}z(()=>{Wn=It(Zi,1,"dir-row svelte-1pyfjii",null,Wn,{"dir-selected":d(n)===me().path,"drag-target":d(a)===me().path}),Ei(Zi,"aria-selected",d(n)===me().path),Gn=It(Yn,1,"chevron svelte-1pyfjii",null,Gn,{open:d(i)[me().path]}),gs=It(Ji,1,"dir-name svelte-1pyfjii",null,gs,{lib:me().lib}),O(zs,me().name),Eg(Ss,me().lib),Eg(_a,me().disabled)}),ds("dragstart",Zi,wn=>Tt(wn,me().path)),ds("dragover",Zi,wn=>q(wn,me().path)),ds("dragleave",Zi,oe),ds("drop",Zi,wn=>ze(wn,me().path)),G("contextmenu",Zi,wn=>te(wn,me())),G("click",Yn,()=>mt(me().path)),G("click",Ji,()=>{y(n,me().path,!0),d(i)[me().path]=!0}),G("keydown",Ji,wn=>wn.key==="Enter"&&y(n,me().path,!0)),ds("mouseenter",ps,Gt),ds("mouseleave",ps,Dt),G("change",Ss,()=>Wt(me().path,!me().lib)),G("change",_a,()=>oi(me().path,!me().disabled)),D(Ui,an)},fn=Ui=>{const an=ct(()=>d(pt).has(me().path)),Zi=ct(()=>d(Q).has(me().path)),Wn=ct(()=>d(c).some(En=>En.path===me().path&&En.dirty)),Yn=ct(()=>(me().name.split(".").pop()??"txt").toUpperCase()),Gn=ct(()=>me().name.endsWith(".js"));var Ji=NG();let gs;var zs=v(Ji),ws=v(zs);let ls;var ss=v(ws);let ps;var Ss=v(ss),Vs=b(ss,2),_a=v(Vs),jr=b(Vs,2);{var js=En=>{var ms=rE();D(En,ms)};W(jr,En=>{d(Zi)&&En(js)})}var wn=b(jr);{var Jo=En=>{var ms=EG();D(En,ms)};W(wn,En=>{d(Wn)&&En(Jo)})}var Ts=b(wn,2);{var $r=En=>{var ms=TG();D(En,ms)},cg=ct(()=>d(Gn)&&d(_t).has(me().path)&&!d(an));W(Ts,En=>{d(cg)&&En($r)})}var Wl=b(Ts,2);{var dg=En=>{var ms=PG();D(En,ms)};W(Wl,En=>{d(an)&&En(dg)})}var Ur=b(ws,2);{var _w=En=>{var ms=MG();let Gc;var Yu=v(ms);z(()=>{Gc=It(ms,1,"dis-label svelte-1pyfjii",null,Gc,{"dis-locked":d(Yt)}),Ei(ms,"title",d(Yt)?"Disabled by parent directory":"Disable — this script will not be executed"),Eg(Yu,me().disabled),Yu.disabled=d(Yt)}),G("change",Yu,()=>oi(me().path,!me().disabled)),D(En,ms)},qc=En=>{var ms=RG();D(En,ms)};W(Ur,En=>{d(Gn)?En(_w):En(qc,-1)})}z((En,ms,Gc)=>{gs=It(Ji,1,"tree-file svelte-1pyfjii",null,gs,En),ls=It(ws,1,"svelte-1pyfjii",null,ls,{lib:me().lib,dis:me().disabled,err:d(an)}),ps=It(ss,1,`badge badge-${ms??""}`,"svelte-1pyfjii",ps,{"badge-shelib":me().lib}),O(Ss,Gc),O(_a,me().name)},[()=>({active:d(c).some(En=>En.path===me().path),"active-tab":me().path===d(u)}),()=>d(Yn).toLowerCase(),()=>Et(d(Yn))]),ds("dragstart",Ji,En=>Tt(En,me().path)),G("contextmenu",Ji,En=>te(En,me())),G("click",ws,()=>ai(me().path)),D(Ui,Ji)};W(rn,Ui=>{me().type==="dir"?Ui($i):Ui(fn,-1)})}D(je,li)};var ho=v(es),Ko=v(ho),dr=b(Ko,2),Xn=b(dr,2),Zo=b(ho,2);{var ur=je=>{var me=AG(),bt=v(me);z(()=>O(bt,d(g))),D(je,me)};W(Zo,je=>{d(g)&&je(ur)})}var un=b(Zo,2),Ds=v(un);let ce;var fs=b(Ds,2);ui(fs,17,()=>d(t),je=>je.path,(je,me)=>{j(je,()=>d(me))});var ns=b(un,2);{var Es=je=>{var me=zG();let bt;var Yt=v(me),li=b(Yt,2),rn=v(li),$i=v(rn),fn=b(rn,2),Ui=b(li,2),an=v(Ui);{var Zi=Gn=>{var Ji=OG();D(Gn,Ji)},Wn=Gn=>{var Ji=FG();D(Gn,Ji)},Yn=Gn=>{var Ji=BG(),gs=wt(Ji);ui(gs,17,()=>d(P),ls=>ls.hash,(ls,ss)=>{var ps=HG(),Ss=v(ps),Vs=v(Ss),_a=b(Ss,2),jr=v(_a);z((js,wn)=>{O(Vs,d(ss).subject),O(jr,`${js??""} · ${wn??""}`)},[()=>d(ss).hash.slice(0,7),()=>Un(d(ss).date)]),G("click",ps,()=>se(d(ss))),D(ls,ps)});var zs=b(gs,2);{var ws=ls=>{var ss=WG(),ps=v(ss);z(()=>{ss.disabled=d(A),O(ps,d(A)?"Loading…":"Load more")}),G("click",ss,Wi),D(ls,ss)};W(zs,ls=>{d(P).length>=d(U)&&ls(ws)})}D(Gn,Ji)};W(an,Gn=>{d(A)&&d(P).length===0?Gn(Zi):d(P).length===0?Gn(Wn,1):Gn(Yn,-1)})}z(()=>{bt=Wo(me,"",bt,{height:`${d(Ii)??""}px`}),Ei(rn,"title",d(E).path),O($i,`History: ${d(E).name??""}`)}),G("mousedown",Yt,He),G("click",fn,V),D(je,me)};W(ns,je=>{d(E)&&je(Es)})}z(()=>ce=It(Ds,1,"tree-root-drop svelte-1pyfjii",null,ce,{"drag-target":d(a)===""})),G("click",Ko,X),G("click",dr,$),G("click",Xn,ut),ds("dragover",Ds,je=>q(je,"")),ds("dragleave",Ds,oe),ds("drop",Ds,je=>ze(je,""))}var Wr=b(es,2),Ka=b(Wr,2),Ol=v(Ka);{var Za=j=>{var ce=$G();ui(ce,21,()=>d(c),je=>je.path,(je,me)=>{var bt=jG();let Yt;var li=v(bt),rn=v(li),$i=b(li,2);{var fn=an=>{var Zi=VG();D(an,Zi)};W($i,an=>{d(me).dirty&&an(fn)})}var Ui=b($i,2);z(an=>{Yt=It(bt,1,"tab svelte-1pyfjii",null,Yt,{active:d(me).path===d(u)}),O(rn,an)},[()=>d(me).path.split("/").pop()]),G("click",bt,()=>ki(d(me).path)),G("keydown",bt,an=>an.key==="Enter"&&ki(d(me).path)),G("click",Ui,an=>{an.stopPropagation(),Ri(d(me).path)}),D(je,bt)}),D(j,ce)};W(Ol,j=>{d(c).length>0&&j(Za)})}var Xo=b(Ol,2),Br=v(Xo),zr=v(Br),A_=b(Br,2);{var hr=j=>{var ce=QG(),je=v(ce),me=v(je),bt=b(je,2);{var Yt=Ui=>{var an=KG(),Zi=v(an),Wn=v(Zi),Yn=b(Zi,2);{var Gn=Ji=>{var gs=GG(),zs=wt(gs),ws=b(zs,2),ls=b(v(ws),2);ui(ls,21,()=>d(m).changes,qi,(js,wn)=>{var Jo=UG(),Ts=v(Jo),$r=b(Ts,2),cg=v($r),Wl=b($r,2),dg=v(Wl);z(Ur=>{Eg(Ts,Ur),O(cg,d(wn).status),O(dg,d(wn).file)},[()=>d(le).has(d(wn).file)]),G("change",Ts,()=>{const Ur=new Set(d(le));Ur.has(d(wn).file)?Ur.delete(d(wn).file):Ur.add(d(wn).file),y(le,Ur,!0)}),D(js,Jo)});var ss=b(ls,2),ps=v(ss),Ss=b(ps,2),Vs=v(Ss),_a=b(ss,2);{var jr=js=>{var wn=qG(),Jo=v(wn);z(()=>O(Jo,d(ee))),D(js,wn)};W(_a,js=>{d(ee)&&js(jr)})}z(js=>{var wn;Ss.disabled=js,O(Vs,d(N)?"…":d(le).size===((wn=d(m))==null?void 0:wn.changes.length)?"Commit all":`Commit ${d(le).size}`)},[()=>!d(Oe).trim()||d(N)||d(le).size===0]),G("click",zs,()=>y(Ie,!1)),G("keydown",ps,js=>js.key==="Enter"&&ye()),Qt(ps,()=>d(Oe),js=>y(Oe,js)),G("click",Ss,ye),D(Ji,gs)};W(Yn,Ji=>{d(Ie)&&Ji(Gn)})}z(()=>{Ei(Zi,"title",`${d(m).changes.length??""} uncommitted change(s) — click to view`),O(Wn,`✎${d(m).changes.length??""}`)}),G("click",Zi,()=>{d(Ie)||y(le,new Set(d(m).changes.map(Ji=>Ji.file)),!0),y(Ie,!d(Ie)),y(ee,"")}),D(Ui,an)};W(bt,Ui=>{d(m).changes.length>0&&Ui(Yt)})}var li=b(bt,2);{var rn=Ui=>{var an=XG(),Zi=v(an),Wn=v(Zi),Yn=b(Zi,2);{var Gn=Ji=>{var gs=ZG(),zs=wt(gs),ws=b(zs,2),ls=v(ws),ss=v(ls),ps=b(ls,2),Ss=v(ps);z(()=>O(ss,`${d(m).ahead??""} unpushed commit(s)`)),G("click",zs,()=>y(Ae,!1)),G("click",Ss,()=>{y(Ae,!1),Fn()}),D(Ji,gs)};W(Yn,Ji=>{d(Ae)&&Ji(Gn)})}z(()=>{Ei(Zi,"title",`${d(m).ahead??""} commit(s) ahead of upstream — click to push`),O(Wn,`↑${d(m).ahead??""}`)}),G("click",Zi,()=>y(Ae,!d(Ae))),D(Ui,an)};W(li,Ui=>{d(m).ahead>0&&Ui(rn)})}var $i=b(li,2);{var fn=Ui=>{var an=YG(),Zi=v(an);z(()=>{Ei(an,"title",`${d(m).behind??""} commit(s) behind upstream`),O(Zi,`↓${d(m).behind??""}`)}),D(Ui,an)};W($i,Ui=>{d(m).behind>0&&Ui(fn)})}z(()=>{Ei(je,"title",`Branch: ${d(m).branch??""}`),O(me,`⎇ ${d(m).branch??""}`)}),D(j,ce)};W(A_,j=>{d(m)&&j(hr)})}var O_=b(A_,2),tg=v(O_),Yo=v(tg),F_=v(Yo),ig=b(Yo,2),ng=b(tg,2);{var uw=j=>{var ce=JG(),je=wt(ce),me=b(je,2),bt=v(me),Yt=b(bt,2);G("click",je,()=>y(p,!1)),G("click",bt,()=>{y(p,!1),Ni()}),G("click",Yt,()=>{y(p,!1),gn()}),D(j,ce)};W(ng,j=>{d(p)&&j(uw)})}var sg=b(O_,2);{var H_=j=>{var ce=eK();G("click",ce,Fe),D(j,ce)};W(sg,j=>{d(u)&&j(H_)})}var og=b(sg,2);let W_;var rg=b(Xo,2),B_=v(rg),ag=v(B_),lg=v(ag);Ps(lg,j=>St=j,()=>St);var jc=b(lg,2);{var Xa=j=>{var ce=tK();D(j,ce)};W(jc,j=>{d(u)||j(Xa)})}var z_=b(jc,2);{var $c=j=>{var ce=oK(),je=v(ce),me=v(je),bt=b(v(me)),Yt=v(bt),li=b(me,2),rn=v(li),$i=v(rn),fn=v($i),Ui=v(fn),an=b(fn,2),Zi=b($i,2);{var Wn=Ji=>{var gs=sK(),zs=wt(gs),ws=b(zs,2),ls=v(ws);{var ss=Ss=>{var Vs=iK();G("click",Vs,()=>{y(fi,!1),y(ri,!0),et()}),D(Ss,Vs)},ps=Ss=>{var Vs=nK();G("click",Vs,()=>{y(fi,!1),y(ri,!1)}),D(Ss,Vs)};W(ls,Ss=>{d(ri)?Ss(ps,-1):Ss(ss)})}G("click",zs,()=>y(fi,!1)),D(Ji,gs)};W(Zi,Ji=>{d(fi)&&Ji(Wn)})}var Yn=b(rn,2),Gn=b(je,2);Ps(Gn,Ji=>y(st,Ji),()=>d(st)),z(Ji=>{O(Yt,Ji),O(Ui,d(ri)?"Auto-accept ✓":"Accept")},[()=>{var Ji;return(Ji=d(u))==null?void 0:Ji.split("/").pop()}]),G("click",fn,et),G("click",an,()=>y(fi,!d(fi))),G("click",Yn,qt),D(j,ce)};W(z_,j=>{d(bi)!==null&&j($c)})}var Mo=b(z_,2);{var V_=j=>{var ce=lK(),je=v(ce),me=v(je),bt=b(v(me)),Yt=v(bt),li=b(bt,2),rn=v(li),$i=b(me,2),fn=v($i),Ui=b(je,2);{var an=Wn=>{var Yn=rK();D(Wn,Yn)},Zi=Wn=>{var Yn=aK();Ps(Yn,Gn=>y(B,Gn),()=>d(B)),D(Wn,Yn)};W(Ui,Wn=>{d(Re)?Wn(an):Wn(Zi,-1)})}z(Wn=>{var Yn;O(Yt,Wn),O(rn,(Yn=d(E))==null?void 0:Yn.name)},[()=>d(Ke).slice(0,7)]),G("click",fn,Xe),D(j,ce)};W(Mo,j=>{d(_e)&&j(V_)})}var Gu=b(ag,2);let j_,Ku;var Zu=v(Gu);{var hw=j=>{var ce=cK();G("mousedown",ce,Ee),D(j,ce)};W(Zu,j=>{d(w)&&j(hw)})}var $_=b(Zu,2),Xu=v($_),U_=v(Xu),Qo=b(U_);{var Fl=j=>{var ce=dK(),je=v(ce);z(me=>O(je,`— ${me??""}`),[()=>d(u).split("/").pop()]),D(j,ce)};W(Qo,j=>{d(u)&&j(Fl)})}var fw=b(Xu,2);{var Vr=j=>{var ce=hK(),je=wt(ce);ui(je,21,()=>$e,qi,(rn,$i)=>{var fn=uK(),Ui=v(fn),an={};z(()=>{O(Ui,d($i)),an!==(an=d($i))&&(fn.value=(fn.__value=d($i))??"")}),D(rn,fn)});var me=b(je,2),bt=b(me,2),Yt=v(bt),li=b(bt,2);Bo(je,()=>d(Mt),rn=>y(Mt,rn)),Qt(me,()=>d(ue),rn=>y(ue,rn)),xs(Yt,()=>d(Rt),rn=>y(Rt,rn)),G("click",li,Me),D(j,ce)};W(fw,j=>{d(w)&&j(Vr)})}var gw=b($_,2);{var Hl=j=>{var ce=pK(),je=v(ce);ui(je,17,()=>{var Yt;return(((Yt=d(Z))==null?void 0:Yt.logEntries)??[]).filter(yt)},Yt=>Yt.ts+Yt.msg,(Yt,li)=>{var rn=fK(),$i=v(rn),fn=v($i),Ui=b($i,2),an=v(Ui),Zi=b(Ui,2),Wn=v(Zi);z((Yn,Gn)=>{It(rn,1,`log-line ${d(li).level??""}`,"svelte-1pyfjii"),O(fn,Yn),O(an,Gn),O(Wn,d(li).msg)},[()=>gt(d(li).ts),()=>d(li).level.toUpperCase()]),D(Yt,rn)});var me=b(je,2);{var bt=Yt=>{var li=gK();D(Yt,li)};W(me,Yt=>{var li;(((li=d(Z))==null?void 0:li.logEntries.length)??0)===0&&Yt(bt)})}Ps(ce,Yt=>y(nt,Yt),()=>d(nt)),D(j,ce)};W(gw,j=>{d(w)&&j(Hl)})}var pw=b(B_,2);{var Uc=j=>{var ce=_K(),je=wt(ce),me=b(je,2);let bt;var Yt=v(me);lG(Yt,{get currentScript(){return d(Pe)},onApply:at,onCreateFile:rt,get extraFiles(){return d(ot)},set extraFiles(li){y(ot,li,!0)}}),z(()=>bt=Wo(me,"",bt,{width:`${d(Mi)??""}px`})),G("mousedown",je,Le),D(j,ce)};W(pw,j=>{d(Li)&&j(Uc)})}z(()=>{var j;Bs=Wo(es,"",Bs,{width:`${d(Yi)??""}px`}),O(zr,d(u)??"No file selected"),Yo.disabled=!((j=d(Z))!=null&&j.dirty)||d(f),O(F_,d(f)?"Saving…":"Save"),ig.disabled=!d(u),W_=It(og,1,"ai-toggle svelte-1pyfjii",null,W_,{"ai-open":d(Li)}),Ei(og,"title",d(Li)?"Close AI assistant":"Open AI assistant"),j_=It(Gu,1,"log-panel svelte-1pyfjii",null,j_,{collapsed:!d(w)}),Ku=Wo(Gu,"",Ku,{height:d(w)?`${d(xi)}px`:"26px"}),O(U_,`${d(w)?"▾":"▸"} Script Log `)}),G("mousedown",Wr,ge),G("click",Yo,Ni),G("click",ig,()=>y(p,!d(p))),G("click",og,()=>y(Li,!d(Li))),G("click",Xu,Nt),D(o,sn),Hs()}Qs(["click","contextmenu","keydown","change","mousedown"]);const _A="she-theme";function bK(){return localStorage.getItem(_A)??"dark"}function yK(o){localStorage.setItem(_A,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var Vg={exports:{}};/* @preserve
|
|
220
|
+
* Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
|
|
221
|
+
* (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
|
|
222
|
+
*/var wK=Vg.exports,aE;function SK(){return aE||(aE=1,(function(o,e){(function(t,i){i(e)})(wK,(function(t){var i="1.9.4";function n(l){var h,_,S,I;for(_=1,S=arguments.length;_<S;_++){I=arguments[_];for(h in I)l[h]=I[h]}return l}var s=Object.create||(function(){function l(){}return function(h){return l.prototype=h,new l}})();function r(l,h){var _=Array.prototype.slice;if(l.bind)return l.bind.apply(l,_.call(arguments,1));var S=_.call(arguments,2);return function(){return l.apply(h,S.length?S.concat(_.call(arguments)):arguments)}}var a=0;function c(l){return"_leaflet_id"in l||(l._leaflet_id=++a),l._leaflet_id}function u(l,h,_){var S,I,R,Y;return Y=function(){S=!1,I&&(R.apply(_,I),I=!1)},R=function(){S?I=arguments:(l.apply(_,arguments),setTimeout(Y,h),S=!0)},R}function f(l,h,_){var S=h[1],I=h[0],R=S-I;return l===S&&_?l:((l-I)%R+R)%R+I}function g(){return!1}function p(l,h){if(h===!1)return l;var _=Math.pow(10,h===void 0?6:h);return Math.round(l*_)/_}function w(l){return l.trim?l.trim():l.replace(/^\s+|\s+$/g,"")}function m(l){return w(l).split(/\s+/)}function x(l,h){Object.prototype.hasOwnProperty.call(l,"options")||(l.options=l.options?s(l.options):{});for(var _ in h)l.options[_]=h[_];return l.options}function k(l,h,_){var S=[];for(var I in l)S.push(encodeURIComponent(_?I.toUpperCase():I)+"="+encodeURIComponent(l[I]));return(!h||h.indexOf("?")===-1?"?":"&")+S.join("&")}var E=/\{ *([\w_ -]+) *\}/g;function P(l,h){return l.replace(E,function(_,S){var I=h[S];if(I===void 0)throw new Error("No value provided for variable "+_);return typeof I=="function"&&(I=I(h)),I})}var A=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function U(l,h){for(var _=0;_<l.length;_++)if(l[_]===h)return _;return-1}var B="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function ne(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var ie=0;function pe(l){var h=+new Date,_=Math.max(0,16-(h-ie));return ie=h+_,window.setTimeout(l,_)}var _e=window.requestAnimationFrame||ne("RequestAnimationFrame")||pe,Ke=window.cancelAnimationFrame||ne("CancelAnimationFrame")||ne("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function Re(l,h,_){if(_&&_e===pe)l.call(h);else return _e.call(window,r(l,h))}function nt(l){l&&Ke.call(window,l)}var pt={__proto__:null,extend:n,create:s,bind:r,get lastId(){return a},stamp:c,throttle:u,wrapNum:f,falseFn:g,formatNum:p,trim:w,splitWords:m,setOptions:x,getParamString:k,template:P,isArray:A,indexOf:U,emptyImageUrl:B,requestFn:_e,cancelFn:Ke,requestAnimFrame:Re,cancelAnimFrame:nt};function be(){}be.extend=function(l){var h=function(){x(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},_=h.__super__=this.prototype,S=s(_);S.constructor=h,h.prototype=S;for(var I in this)Object.prototype.hasOwnProperty.call(this,I)&&I!=="prototype"&&I!=="__super__"&&(h[I]=this[I]);return l.statics&&n(h,l.statics),l.includes&&(_t(l.includes),n.apply(null,[S].concat(l.includes))),n(S,l),delete S.statics,delete S.includes,S.options&&(S.options=_.options?s(_.options):{},n(S.options,l.options)),S._initHooks=[],S.callInitHooks=function(){if(!this._initHooksCalled){_.callInitHooks&&_.callInitHooks.call(this),this._initHooksCalled=!0;for(var R=0,Y=S._initHooks.length;R<Y;R++)S._initHooks[R].call(this)}},h},be.include=function(l){var h=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=h,this.mergeOptions(l.options)),this},be.mergeOptions=function(l){return n(this.prototype.options,l),this},be.addInitHook=function(l){var h=Array.prototype.slice.call(arguments,1),_=typeof l=="function"?l:function(){this[l].apply(this,h)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(_),this};function _t(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=A(l)?l:[l];for(var h=0;h<l.length;h++)l[h]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",new Error().stack)}}var ot={on:function(l,h,_){if(typeof l=="object")for(var S in l)this._on(S,l[S],h);else{l=m(l);for(var I=0,R=l.length;I<R;I++)this._on(l[I],h,_)}return this},off:function(l,h,_){if(!arguments.length)delete this._events;else if(typeof l=="object")for(var S in l)this._off(S,l[S],h);else{l=m(l);for(var I=arguments.length===1,R=0,Y=l.length;R<Y;R++)I?this._off(l[R]):this._off(l[R],h,_)}return this},_on:function(l,h,_,S){if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}if(this._listens(l,h,_)===!1){_===this&&(_=void 0);var I={fn:h,ctx:_};S&&(I.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(I)}},_off:function(l,h,_){var S,I,R;if(this._events&&(S=this._events[l],!!S)){if(arguments.length===1){if(this._firingCount)for(I=0,R=S.length;I<R;I++)S[I].fn=g;delete this._events[l];return}if(typeof h!="function"){console.warn("wrong listener type: "+typeof h);return}var Y=this._listens(l,h,_);if(Y!==!1){var he=S[Y];this._firingCount&&(he.fn=g,this._events[l]=S=S.slice()),S.splice(Y,1)}}},fire:function(l,h,_){if(!this.listens(l,_))return this;var S=n({},h,{type:l,target:this,sourceTarget:h&&h.sourceTarget||this});if(this._events){var I=this._events[l];if(I){this._firingCount=this._firingCount+1||1;for(var R=0,Y=I.length;R<Y;R++){var he=I[R],Te=he.fn;he.once&&this.off(l,Te,he.ctx),Te.call(he.ctx||this,S)}this._firingCount--}}return _&&this._propagateEvent(S),this},listens:function(l,h,_,S){typeof l!="string"&&console.warn('"string" type argument expected');var I=h;typeof h!="function"&&(S=!!h,I=void 0,_=void 0);var R=this._events&&this._events[l];if(R&&R.length&&this._listens(l,I,_)!==!1)return!0;if(S){for(var Y in this._eventParents)if(this._eventParents[Y].listens(l,h,_,S))return!0}return!1},_listens:function(l,h,_){if(!this._events)return!1;var S=this._events[l]||[];if(!h)return!!S.length;_===this&&(_=void 0);for(var I=0,R=S.length;I<R;I++)if(S[I].fn===h&&S[I].ctx===_)return I;return!1},once:function(l,h,_){if(typeof l=="object")for(var S in l)this._on(S,l[S],h,!0);else{l=m(l);for(var I=0,R=l.length;I<R;I++)this._on(l[I],h,_,!0)}return this},addEventParent:function(l){return this._eventParents=this._eventParents||{},this._eventParents[c(l)]=l,this},removeEventParent:function(l){return this._eventParents&&delete this._eventParents[c(l)],this},_propagateEvent:function(l){for(var h in this._eventParents)this._eventParents[h].fire(l.type,n({layer:l.target,propagatedFrom:l.target},l),!0)}};ot.addEventListener=ot.on,ot.removeEventListener=ot.clearAllEventListeners=ot.off,ot.addOneTimeEventListener=ot.once,ot.fireEvent=ot.fire,ot.hasEventListeners=ot.listens;var Mt=be.extend(ot);function ue(l,h,_){this.x=_?Math.round(l):l,this.y=_?Math.round(h):h}var Rt=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};ue.prototype={clone:function(){return new ue(this.x,this.y)},add:function(l){return this.clone()._add($e(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract($e(l))},_subtract:function(l){return this.x-=l.x,this.y-=l.y,this},divideBy:function(l){return this.clone()._divideBy(l)},_divideBy:function(l){return this.x/=l,this.y/=l,this},multiplyBy:function(l){return this.clone()._multiplyBy(l)},_multiplyBy:function(l){return this.x*=l,this.y*=l,this},scaleBy:function(l){return new ue(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new ue(this.x/l.x,this.y/l.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=Rt(this.x),this.y=Rt(this.y),this},distanceTo:function(l){l=$e(l);var h=l.x-this.x,_=l.y-this.y;return Math.sqrt(h*h+_*_)},equals:function(l){return l=$e(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=$e(l),Math.abs(l.x)<=Math.abs(this.x)&&Math.abs(l.y)<=Math.abs(this.y)},toString:function(){return"Point("+p(this.x)+", "+p(this.y)+")"}};function $e(l,h,_){return l instanceof ue?l:A(l)?new ue(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new ue(l.x,l.y):new ue(l,h,_)}function We(l,h){if(l)for(var _=h?[l,h]:l,S=0,I=_.length;S<I;S++)this.extend(_[S])}We.prototype={extend:function(l){var h,_;if(!l)return this;if(l instanceof ue||typeof l[0]=="number"||"x"in l)h=_=$e(l);else if(l=yt(l),h=l.min,_=l.max,!h||!_)return this;return!this.min&&!this.max?(this.min=h.clone(),this.max=_.clone()):(this.min.x=Math.min(h.x,this.min.x),this.max.x=Math.max(_.x,this.max.x),this.min.y=Math.min(h.y,this.min.y),this.max.y=Math.max(_.y,this.max.y)),this},getCenter:function(l){return $e((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return $e(this.min.x,this.max.y)},getTopRight:function(){return $e(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(l){var h,_;return typeof l[0]=="number"||l instanceof ue?l=$e(l):l=yt(l),l instanceof We?(h=l.min,_=l.max):h=_=l,h.x>=this.min.x&&_.x<=this.max.x&&h.y>=this.min.y&&_.y<=this.max.y},intersects:function(l){l=yt(l);var h=this.min,_=this.max,S=l.min,I=l.max,R=I.x>=h.x&&S.x<=_.x,Y=I.y>=h.y&&S.y<=_.y;return R&&Y},overlaps:function(l){l=yt(l);var h=this.min,_=this.max,S=l.min,I=l.max,R=I.x>h.x&&S.x<_.x,Y=I.y>h.y&&S.y<_.y;return R&&Y},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var h=this.min,_=this.max,S=Math.abs(h.x-_.x)*l,I=Math.abs(h.y-_.y)*l;return yt($e(h.x-S,h.y-I),$e(_.x+S,_.y+I))},equals:function(l){return l?(l=yt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function yt(l,h){return!l||l instanceof We?l:new We(l,h)}function Ut(l,h){if(l)for(var _=h?[l,h]:l,S=0,I=_.length;S<I;S++)this.extend(_[S])}Ut.prototype={extend:function(l){var h=this._southWest,_=this._northEast,S,I;if(l instanceof Dt)S=l,I=l;else if(l instanceof Ut){if(S=l._southWest,I=l._northEast,!S||!I)return this}else return l?this.extend(St(l)||Gt(l)):this;return!h&&!_?(this._southWest=new Dt(S.lat,S.lng),this._northEast=new Dt(I.lat,I.lng)):(h.lat=Math.min(S.lat,h.lat),h.lng=Math.min(S.lng,h.lng),_.lat=Math.max(I.lat,_.lat),_.lng=Math.max(I.lng,_.lng)),this},pad:function(l){var h=this._southWest,_=this._northEast,S=Math.abs(h.lat-_.lat)*l,I=Math.abs(h.lng-_.lng)*l;return new Ut(new Dt(h.lat-S,h.lng-I),new Dt(_.lat+S,_.lng+I))},getCenter:function(){return new Dt((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new Dt(this.getNorth(),this.getWest())},getSouthEast:function(){return new Dt(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(l){typeof l[0]=="number"||l instanceof Dt||"lat"in l?l=St(l):l=Gt(l);var h=this._southWest,_=this._northEast,S,I;return l instanceof Ut?(S=l.getSouthWest(),I=l.getNorthEast()):S=I=l,S.lat>=h.lat&&I.lat<=_.lat&&S.lng>=h.lng&&I.lng<=_.lng},intersects:function(l){l=Gt(l);var h=this._southWest,_=this._northEast,S=l.getSouthWest(),I=l.getNorthEast(),R=I.lat>=h.lat&&S.lat<=_.lat,Y=I.lng>=h.lng&&S.lng<=_.lng;return R&&Y},overlaps:function(l){l=Gt(l);var h=this._southWest,_=this._northEast,S=l.getSouthWest(),I=l.getNorthEast(),R=I.lat>h.lat&&S.lat<_.lat,Y=I.lng>h.lng&&S.lng<_.lng;return R&&Y},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,h){return l?(l=Gt(l),this._southWest.equals(l.getSouthWest(),h)&&this._northEast.equals(l.getNorthEast(),h)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Gt(l,h){return l instanceof Ut?l:new Ut(l,h)}function Dt(l,h,_){if(isNaN(l)||isNaN(h))throw new Error("Invalid LatLng object: ("+l+", "+h+")");this.lat=+l,this.lng=+h,_!==void 0&&(this.alt=+_)}Dt.prototype={equals:function(l,h){if(!l)return!1;l=St(l);var _=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return _<=(h===void 0?1e-9:h)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return kt.distance(this,St(l))},wrap:function(){return kt.wrapLatLng(this)},toBounds:function(l){var h=180*l/40075017,_=h/Math.cos(Math.PI/180*this.lat);return Gt([this.lat-h,this.lng-_],[this.lat+h,this.lng+_])},clone:function(){return new Dt(this.lat,this.lng,this.alt)}};function St(l,h,_){return l instanceof Dt?l:A(l)&&typeof l[0]!="object"?l.length===3?new Dt(l[0],l[1],l[2]):l.length===2?new Dt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Dt(l.lat,"lng"in l?l.lng:l.lon,l.alt):h===void 0?null:new Dt(l,h,_)}var Ot={latLngToPoint:function(l,h){var _=this.projection.project(l),S=this.scale(h);return this.transformation._transform(_,S)},pointToLatLng:function(l,h){var _=this.scale(h),S=this.transformation.untransform(l,_);return this.projection.unproject(S)},project:function(l){return this.projection.project(l)},unproject:function(l){return this.projection.unproject(l)},scale:function(l){return 256*Math.pow(2,l)},zoom:function(l){return Math.log(l/256)/Math.LN2},getProjectedBounds:function(l){if(this.infinite)return null;var h=this.projection.bounds,_=this.scale(l),S=this.transformation.transform(h.min,_),I=this.transformation.transform(h.max,_);return new We(S,I)},infinite:!1,wrapLatLng:function(l){var h=this.wrapLng?f(l.lng,this.wrapLng,!0):l.lng,_=this.wrapLat?f(l.lat,this.wrapLat,!0):l.lat,S=l.alt;return new Dt(_,h,S)},wrapLatLngBounds:function(l){var h=l.getCenter(),_=this.wrapLatLng(h),S=h.lat-_.lat,I=h.lng-_.lng;if(S===0&&I===0)return l;var R=l.getSouthWest(),Y=l.getNorthEast(),he=new Dt(R.lat-S,R.lng-I),Te=new Dt(Y.lat-S,Y.lng-I);return new Ut(he,Te)}},kt=n({},Ot,{wrapLng:[-180,180],R:6371e3,distance:function(l,h){var _=Math.PI/180,S=l.lat*_,I=h.lat*_,R=Math.sin((h.lat-l.lat)*_/2),Y=Math.sin((h.lng-l.lng)*_/2),he=R*R+Math.cos(S)*Math.cos(I)*Y*Y,Te=2*Math.atan2(Math.sqrt(he),Math.sqrt(1-he));return this.R*Te}}),mi=6378137,hi={R:mi,MAX_LATITUDE:85.0511287798,project:function(l){var h=Math.PI/180,_=this.MAX_LATITUDE,S=Math.max(Math.min(_,l.lat),-_),I=Math.sin(S*h);return new ue(this.R*l.lng*h,this.R*Math.log((1+I)/(1-I))/2)},unproject:function(l){var h=180/Math.PI;return new Dt((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*h,l.x*h/this.R)},bounds:(function(){var l=mi*Math.PI;return new We([-l,-l],[l,l])})()};function Si(l,h,_,S){if(A(l)){this._a=l[0],this._b=l[1],this._c=l[2],this._d=l[3];return}this._a=l,this._b=h,this._c=_,this._d=S}Si.prototype={transform:function(l,h){return this._transform(l.clone(),h)},_transform:function(l,h){return h=h||1,l.x=h*(this._a*l.x+this._b),l.y=h*(this._c*l.y+this._d),l},untransform:function(l,h){return h=h||1,new ue((l.x/h-this._b)/this._a,(l.y/h-this._d)/this._c)}};function Pi(l,h,_,S){return new Si(l,h,_,S)}var Fi=n({},kt,{code:"EPSG:3857",projection:hi,transformation:(function(){var l=.5/(Math.PI*hi.R);return Pi(l,.5,-l,.5)})()}),Li=n({},Fi,{code:"EPSG:900913"});function bi(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function ri(l,h){var _="",S,I,R,Y,he,Te;for(S=0,R=l.length;S<R;S++){for(he=l[S],I=0,Y=he.length;I<Y;I++)Te=he[I],_+=(I?"L":"M")+Te.x+" "+Te.y;_+=h?Se.svg?"z":"x":""}return _||"M0 0"}var fi=document.documentElement.style,st="ActiveXObject"in window,Ht=st&&!document.addEventListener,gi="msLaunchUri"in navigator&&!("documentMode"in document),Ci=ve("webkit"),Yi=ve("android"),xi=ve("android 2")||ve("android 3"),Mi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Ii=Yi&&ve("Google")&&Mi<537&&!("AudioNode"in window),Ki=!!window.opera,Di=!gi&&ve("chrome"),yn=ve("gecko")&&!Ci&&!Ki&&!st,Ue=!Di&&ve("safari"),zt=ve("phantom"),ci="OTransition"in fi,Bt=navigator.platform.indexOf("Win")===0,Kt=st&&"transition"in fi,Hi="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!xi,nn="MozPerspective"in fi,lt=!window.L_DISABLE_3D&&(Kt||Hi||nn)&&!ci&&!zt,xt=typeof orientation<"u"||ve("mobile"),Pe=xt&&Ci,Q=xt&&Hi,re=!window.PointerEvent&&window.MSPointerEvent,Ie=!!(window.PointerEvent||re),Ae="ontouchstart"in window||!!window.TouchEvent,Oe=!window.L_NO_TOUCH&&(Ae||Ie),N=xt&&Ki,ee=xt&&yn,le=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,ye=(function(){var l=!1;try{var h=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("testPassiveEventSupport",g,h),window.removeEventListener("testPassiveEventSupport",g,h)}catch{}return l})(),Ne=(function(){return!!document.createElement("canvas").getContext})(),H=!!(document.createElementNS&&bi("svg").createSVGRect),Z=!!H&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),J=!H&&(function(){try{var l=document.createElement("div");l.innerHTML='<v:shape adj="1"/>';var h=l.firstChild;return h.style.behavior="url(#default#VML)",h&&typeof h.adj=="object"}catch{return!1}})(),ke=navigator.platform.indexOf("Mac")===0,Ve=navigator.platform.indexOf("Linux")===0;function ve(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var Se={ie:st,ielt9:Ht,edge:gi,webkit:Ci,android:Yi,android23:xi,androidStock:Ii,opera:Ki,chrome:Di,gecko:yn,safari:Ue,phantom:zt,opera12:ci,win:Bt,ie3d:Kt,webkit3d:Hi,gecko3d:nn,any3d:lt,mobile:xt,mobileWebkit:Pe,mobileWebkit3d:Q,msPointer:re,pointer:Ie,touch:Oe,touchNative:Ae,mobileOpera:N,mobileGecko:ee,retina:le,passiveEvents:ye,canvas:Ne,svg:H,vml:J,inlineSvg:Z,mac:ke,linux:Ve},Je=Se.msPointer?"MSPointerDown":"pointerdown",Lt=Se.msPointer?"MSPointerMove":"pointermove",ut=Se.msPointer?"MSPointerUp":"pointerup",mt=Se.msPointer?"MSPointerCancel":"pointercancel",Et={touchstart:Je,touchmove:Lt,touchend:ut,touchcancel:mt},Wt={touchstart:Fn,touchmove:gn,touchend:gn,touchcancel:gn},oi={},ti=!1;function ai(l,h,_){return h==="touchstart"&&Ni(),Wt[h]?(_=Wt[h].bind(this,_),l.addEventListener(Et[h],_,!1),_):(console.warn("wrong event specified:",h),g)}function ki(l,h,_){if(!Et[h]){console.warn("wrong event specified:",h);return}l.removeEventListener(Et[h],_,!1)}function Ri(l){oi[l.pointerId]=l}function ji(l){oi[l.pointerId]&&(oi[l.pointerId]=l)}function wi(l){delete oi[l.pointerId]}function Ni(){ti||(document.addEventListener(Je,Ri,!0),document.addEventListener(Lt,ji,!0),document.addEventListener(ut,wi,!0),document.addEventListener(mt,wi,!0),ti=!0)}function gn(l,h){if(h.pointerType!==(h.MSPOINTER_TYPE_MOUSE||"mouse")){h.touches=[];for(var _ in oi)h.touches.push(oi[_]);h.changedTouches=[h],l(h)}}function Fn(l,h){h.MSPOINTER_TYPE_TOUCH&&h.pointerType===h.MSPOINTER_TYPE_TOUCH&&Qi(h),gn(l,h)}function Un(l){var h={},_,S;for(S in l)_=l[S],h[S]=_&&_.bind?_.bind(l):_;return l=h,h.type="dblclick",h.detail=2,h.isTrusted=!1,h._simulated=!0,h}var In=200;function ni(l,h){l.addEventListener("dblclick",h);var _=0,S;function I(R){if(R.detail!==1){S=R.detail;return}if(!(R.pointerType==="mouse"||R.sourceCapabilities&&!R.sourceCapabilities.firesTouchEvents)){var Y=Bs(R);if(!(Y.some(function(Te){return Te instanceof HTMLLabelElement&&Te.attributes.for})&&!Y.some(function(Te){return Te instanceof HTMLInputElement||Te instanceof HTMLSelectElement}))){var he=Date.now();he-_<=In?(S++,S===2&&h(Un(R))):S=1,_=he}}}return l.addEventListener("click",I),{dblclick:h,simDblclick:I}}function Wi(l,h){l.removeEventListener("dblclick",h.dblclick),l.removeEventListener("click",h.simDblclick)}var V=Ze(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),se=Ze(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Xe=se==="webkitTransition"||se==="OTransition"?se+"End":"transitionend";function X(l){return typeof l=="string"?document.getElementById(l):l}function $(l,h){var _=l.style[h]||l.currentStyle&&l.currentStyle[h];if((!_||_==="auto")&&document.defaultView){var S=document.defaultView.getComputedStyle(l,null);_=S?S[h]:null}return _==="auto"?null:_}function te(l,h,_){var S=document.createElement(l);return S.className=h||"",_&&_.appendChild(S),S}function we(l){var h=l.parentNode;h&&h.removeChild(l)}function it(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function ae(l){var h=l.parentNode;h&&h.lastChild!==l&&h.appendChild(l)}function De(l){var h=l.parentNode;h&&h.firstChild!==l&&h.insertBefore(l,h.firstChild)}function vt(l,h){if(l.classList!==void 0)return l.classList.contains(h);var _=q(l);return _.length>0&&new RegExp("(^|\\s)"+h+"(\\s|$)").test(_)}function Be(l,h){if(l.classList!==void 0)for(var _=m(h),S=0,I=_.length;S<I;S++)l.classList.add(_[S]);else if(!vt(l,h)){var R=q(l);Tt(l,(R?R+" ":"")+h)}}function qe(l,h){l.classList!==void 0?l.classList.remove(h):Tt(l,w((" "+q(l)+" ").replace(" "+h+" "," ")))}function Tt(l,h){l.className.baseVal===void 0?l.className=h:l.className.baseVal=h}function q(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function oe(l,h){"opacity"in l.style?l.style.opacity=h:"filter"in l.style&&ze(l,h)}function ze(l,h){var _=!1,S="DXImageTransform.Microsoft.Alpha";try{_=l.filters.item(S)}catch{if(h===1)return}h=Math.round(h*100),_?(_.Enabled=h!==100,_.Opacity=h):l.style.filter+=" progid:"+S+"(opacity="+h+")"}function Ze(l){for(var h=document.documentElement.style,_=0;_<l.length;_++)if(l[_]in h)return l[_];return!1}function Fe(l,h,_){var S=h||new ue(0,0);l.style[V]=(Se.ie3d?"translate("+S.x+"px,"+S.y+"px)":"translate3d("+S.x+"px,"+S.y+"px,0)")+(_?" scale("+_+")":"")}function Me(l,h){l._leaflet_pos=h,Se.any3d?Fe(l,h):(l.style.left=h.x+"px",l.style.top=h.y+"px")}function Nt(l){return l._leaflet_pos||new ue(0,0)}var gt,Ye,Pt;if("onselectstart"in document)gt=function(){et(window,"selectstart",Qi)},Ye=function(){Xt(window,"selectstart",Qi)};else{var tt=Ze(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);gt=function(){if(tt){var l=document.documentElement.style;Pt=l[tt],l[tt]="none"}},Ye=function(){tt&&(document.documentElement.style[tt]=Pt,Pt=void 0)}}function ge(){et(window,"dragstart",Qi)}function Ee(){Xt(window,"dragstart",Qi)}var Le,He;function Ct(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(Ce(),Le=l,He=l.style.outlineStyle,l.style.outlineStyle="none",et(window,"keydown",Ce))}function Ce(){Le&&(Le.style.outlineStyle=He,Le=void 0,He=void 0,Xt(window,"keydown",Ce))}function Ge(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function rt(l){var h=l.getBoundingClientRect();return{x:h.width/l.offsetWidth||1,y:h.height/l.offsetHeight||1,boundingClientRect:h}}var at={__proto__:null,TRANSFORM:V,TRANSITION:se,TRANSITION_END:Xe,get:X,getStyle:$,create:te,remove:we,empty:it,toFront:ae,toBack:De,hasClass:vt,addClass:Be,removeClass:qe,setClass:Tt,getClass:q,setOpacity:oe,testProp:Ze,setTransform:Fe,setPosition:Me,getPosition:Nt,get disableTextSelection(){return gt},get enableTextSelection(){return Ye},disableImageDrag:ge,enableImageDrag:Ee,preventOutline:Ct,restoreOutline:Ce,getSizedParentNode:Ge,getScale:rt};function et(l,h,_,S){if(h&&typeof h=="object")for(var I in h)hn(l,I,h[I],_);else{h=m(h);for(var R=0,Y=h.length;R<Y;R++)hn(l,h[R],_,S)}return this}var qt="_leaflet_events";function Xt(l,h,_,S){if(arguments.length===1)sn(l),delete l[qt];else if(h&&typeof h=="object")for(var I in h)Hn(l,I,h[I],_);else if(h=m(h),arguments.length===2)sn(l,function(he){return U(h,he)!==-1});else for(var R=0,Y=h.length;R<Y;R++)Hn(l,h[R],_,S);return this}function sn(l,h){for(var _ in l[qt]){var S=_.split(/\d/)[0];(!h||h(S))&&Hn(l,S,null,null,_)}}var Bi={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function hn(l,h,_,S){var I=h+c(_)+(S?"_"+c(S):"");if(l[qt]&&l[qt][I])return this;var R=function(he){return _.call(S||l,he||window.event)},Y=R;!Se.touchNative&&Se.pointer&&h.indexOf("touch")===0?R=ai(l,h,R):Se.touch&&h==="dblclick"?R=ni(l,R):"addEventListener"in l?h==="touchstart"||h==="touchmove"||h==="wheel"||h==="mousewheel"?l.addEventListener(Bi[h]||h,R,Se.passiveEvents?{passive:!1}:!1):h==="mouseenter"||h==="mouseleave"?(R=function(he){he=he||window.event,Xn(l,he)&&Y(he)},l.addEventListener(Bi[h],R,!1)):l.addEventListener(h,Y,!1):l.attachEvent("on"+h,R),l[qt]=l[qt]||{},l[qt][I]=R}function Hn(l,h,_,S,I){I=I||h+c(_)+(S?"_"+c(S):"");var R=l[qt]&&l[qt][I];if(!R)return this;!Se.touchNative&&Se.pointer&&h.indexOf("touch")===0?ki(l,h,R):Se.touch&&h==="dblclick"?Wi(l,R):"removeEventListener"in l?l.removeEventListener(Bi[h]||h,R,!1):l.detachEvent("on"+h,R),l[qt][I]=null}function Ai(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function si(l){return hn(l,"wheel",Ai),this}function on(l){return et(l,"mousedown touchstart dblclick contextmenu",Ai),l._leaflet_disable_click=!0,this}function Qi(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function es(l){return Qi(l),Ai(l),this}function Bs(l){if(l.composedPath)return l.composedPath();for(var h=[],_=l.target;_;)h.push(_),_=_.parentNode;return h}function ho(l,h){if(!h)return new ue(l.clientX,l.clientY);var _=rt(h),S=_.boundingClientRect;return new ue((l.clientX-S.left)/_.x-h.clientLeft,(l.clientY-S.top)/_.y-h.clientTop)}var Ko=Se.linux&&Se.chrome?window.devicePixelRatio:Se.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function dr(l){return Se.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Ko:l.deltaY&&l.deltaMode===1?-l.deltaY*20:l.deltaY&&l.deltaMode===2?-l.deltaY*60:l.deltaX||l.deltaZ?0:l.wheelDelta?(l.wheelDeltaY||l.wheelDelta)/2:l.detail&&Math.abs(l.detail)<32765?-l.detail*20:l.detail?l.detail/-32765*60:0}function Xn(l,h){var _=h.relatedTarget;if(!_)return!0;try{for(;_&&_!==l;)_=_.parentNode}catch{return!1}return _!==l}var Zo={__proto__:null,on:et,off:Xt,stopPropagation:Ai,disableScrollPropagation:si,disableClickPropagation:on,preventDefault:Qi,stop:es,getPropagationPath:Bs,getMousePosition:ho,getWheelDelta:dr,isExternalTarget:Xn,addListener:et,removeListener:Xt},ur=Mt.extend({run:function(l,h,_,S){this.stop(),this._el=l,this._inProgress=!0,this._duration=_||.25,this._easeOutPower=1/Math.max(S||.5,.2),this._startPos=Nt(l),this._offset=h.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=Re(this._animate,this),this._step()},_step:function(l){var h=+new Date-this._startTime,_=this._duration*1e3;h<_?this._runFrame(this._easeOut(h/_),l):(this._runFrame(1),this._complete())},_runFrame:function(l,h){var _=this._startPos.add(this._offset.multiplyBy(l));h&&_._round(),Me(this._el,_),this.fire("step")},_complete:function(){nt(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),un=Mt.extend({options:{crs:Fi,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(l,h){h=x(this,h),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(l),this._initLayout(),this._onResize=r(this._onResize,this),this._initEvents(),h.maxBounds&&this.setMaxBounds(h.maxBounds),h.zoom!==void 0&&(this._zoom=this._limitZoom(h.zoom)),h.center&&h.zoom!==void 0&&this.setView(St(h.center),h.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=se&&Se.any3d&&!Se.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),et(this._proxy,Xe,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(l,h,_){if(h=h===void 0?this._zoom:this._limitZoom(h),l=this._limitCenter(St(l),h,this.options.maxBounds),_=_||{},this._stop(),this._loaded&&!_.reset&&_!==!0){_.animate!==void 0&&(_.zoom=n({animate:_.animate},_.zoom),_.pan=n({animate:_.animate,duration:_.duration},_.pan));var S=this._zoom!==h?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,h,_.zoom):this._tryAnimatedPan(l,_.pan);if(S)return clearTimeout(this._sizeTimer),this}return this._resetView(l,h,_.pan&&_.pan.noMoveStart),this},setZoom:function(l,h){return this._loaded?this.setView(this.getCenter(),l,{zoom:h}):(this._zoom=l,this)},zoomIn:function(l,h){return l=l||(Se.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,h)},zoomOut:function(l,h){return l=l||(Se.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,h)},setZoomAround:function(l,h,_){var S=this.getZoomScale(h),I=this.getSize().divideBy(2),R=l instanceof ue?l:this.latLngToContainerPoint(l),Y=R.subtract(I).multiplyBy(1-1/S),he=this.containerPointToLatLng(I.add(Y));return this.setView(he,h,{zoom:_})},_getBoundsCenterZoom:function(l,h){h=h||{},l=l.getBounds?l.getBounds():Gt(l);var _=$e(h.paddingTopLeft||h.padding||[0,0]),S=$e(h.paddingBottomRight||h.padding||[0,0]),I=this.getBoundsZoom(l,!1,_.add(S));if(I=typeof h.maxZoom=="number"?Math.min(h.maxZoom,I):I,I===1/0)return{center:l.getCenter(),zoom:I};var R=S.subtract(_).divideBy(2),Y=this.project(l.getSouthWest(),I),he=this.project(l.getNorthEast(),I),Te=this.unproject(Y.add(he).divideBy(2).add(R),I);return{center:Te,zoom:I}},fitBounds:function(l,h){if(l=Gt(l),!l.isValid())throw new Error("Bounds are not valid.");var _=this._getBoundsCenterZoom(l,h);return this.setView(_.center,_.zoom,h)},fitWorld:function(l){return this.fitBounds([[-90,-180],[90,180]],l)},panTo:function(l,h){return this.setView(l,this._zoom,{pan:h})},panBy:function(l,h){if(l=$e(l).round(),h=h||{},!l.x&&!l.y)return this.fire("moveend");if(h.animate!==!0&&!this.getSize().contains(l))return this._resetView(this.unproject(this.project(this.getCenter()).add(l)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new ur,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),h.noMoveStart||this.fire("movestart"),h.animate!==!1){Be(this._mapPane,"leaflet-pan-anim");var _=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,_,h.duration||.25,h.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,h,_){if(_=_||{},_.animate===!1||!Se.any3d)return this.setView(l,h,_);this._stop();var S=this.project(this.getCenter()),I=this.project(l),R=this.getSize(),Y=this._zoom;l=St(l),h=h===void 0?Y:h;var he=Math.max(R.x,R.y),Te=he*this.getZoomScale(Y,h),ht=I.distanceTo(S)||1,di=1.42,Xi=di*di;function Sn(As){var G_=As?-1:1,LA=As?Te:he,IA=Te*Te-he*he+G_*Xi*Xi*ht*ht,DA=2*LA*Xi*ht,mw=IA/DA,tL=Math.sqrt(mw*mw+1)-mw,EA=tL<1e-9?-18:Math.log(tL);return EA}function wo(As){return(Math.exp(As)-Math.exp(-As))/2}function Ks(As){return(Math.exp(As)+Math.exp(-As))/2}function fr(As){return wo(As)/Ks(As)}var Ro=Sn(0);function Qu(As){return he*(Ks(Ro)/Ks(Ro+di*As))}function SA(As){return he*(Ks(Ro)*fr(Ro+di*As)-wo(Ro))/Xi}function CA(As){return 1-Math.pow(1-As,1.5)}var xA=Date.now(),Jk=(Sn(1)-Ro)/di,kA=_.duration?1e3*_.duration:1e3*Jk*.8;function eL(){var As=(Date.now()-xA)/kA,G_=CA(As)*Jk;As<=1?(this._flyToFrame=Re(eL,this),this._move(this.unproject(S.add(I.subtract(S).multiplyBy(SA(G_)/ht)),Y),this.getScaleZoom(he/Qu(G_),Y),{flyTo:!0})):this._move(l,h)._moveEnd(!0)}return this._moveStart(!0,_.noMoveStart),eL.call(this),this},flyToBounds:function(l,h){var _=this._getBoundsCenterZoom(l,h);return this.flyTo(_.center,_.zoom,h)},setMaxBounds:function(l){return l=Gt(l),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),l.isValid()?(this.options.maxBounds=l,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(l){var h=this.options.minZoom;return this.options.minZoom=l,this._loaded&&h!==l&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(l):this},setMaxZoom:function(l){var h=this.options.maxZoom;return this.options.maxZoom=l,this._loaded&&h!==l&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(l):this},panInsideBounds:function(l,h){this._enforcingBounds=!0;var _=this.getCenter(),S=this._limitCenter(_,this._zoom,Gt(l));return _.equals(S)||this.panTo(S,h),this._enforcingBounds=!1,this},panInside:function(l,h){h=h||{};var _=$e(h.paddingTopLeft||h.padding||[0,0]),S=$e(h.paddingBottomRight||h.padding||[0,0]),I=this.project(this.getCenter()),R=this.project(l),Y=this.getPixelBounds(),he=yt([Y.min.add(_),Y.max.subtract(S)]),Te=he.getSize();if(!he.contains(R)){this._enforcingBounds=!0;var ht=R.subtract(he.getCenter()),di=he.extend(R).getSize().subtract(Te);I.x+=ht.x<0?-di.x:di.x,I.y+=ht.y<0?-di.y:di.y,this.panTo(this.unproject(I),h),this._enforcingBounds=!1}return this},invalidateSize:function(l){if(!this._loaded)return this;l=n({animate:!1,pan:!0},l===!0?{animate:!0}:l);var h=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var _=this.getSize(),S=h.divideBy(2).round(),I=_.divideBy(2).round(),R=S.subtract(I);return!R.x&&!R.y?this:(l.animate&&l.pan?this.panBy(R):(l.pan&&this._rawPanBy(R),this.fire("move"),l.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:h,newSize:_}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(l){if(l=this._locateOptions=n({timeout:1e4,watch:!1},l),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var h=r(this._handleGeolocationResponse,this),_=r(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(h,_,l):navigator.geolocation.getCurrentPosition(h,_,l),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(l){if(this._container._leaflet_id){var h=l.code,_=l.message||(h===1?"permission denied":h===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:h,message:"Geolocation error: "+_+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var h=l.coords.latitude,_=l.coords.longitude,S=new Dt(h,_),I=S.toBounds(l.coords.accuracy*2),R=this._locateOptions;if(R.setView){var Y=this.getBoundsZoom(I);this.setView(S,R.maxZoom?Math.min(Y,R.maxZoom):Y)}var he={latlng:S,bounds:I,timestamp:l.timestamp};for(var Te in l.coords)typeof l.coords[Te]=="number"&&(he[Te]=l.coords[Te]);this.fire("locationfound",he)}},addHandler:function(l,h){if(!h)return this;var _=this[l]=new h(this);return this._handlers.push(_),this.options[l]&&_.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),we(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(nt(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var l;for(l in this._layers)this._layers[l].remove();for(l in this._panes)we(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,h){var _="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),S=te("div",_,h||this._mapPane);return l&&(this._panes[l]=S),S},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var l=this.getPixelBounds(),h=this.unproject(l.getBottomLeft()),_=this.unproject(l.getTopRight());return new Ut(h,_)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(l,h,_){l=Gt(l),_=$e(_||[0,0]);var S=this.getZoom()||0,I=this.getMinZoom(),R=this.getMaxZoom(),Y=l.getNorthWest(),he=l.getSouthEast(),Te=this.getSize().subtract(_),ht=yt(this.project(he,S),this.project(Y,S)).getSize(),di=Se.any3d?this.options.zoomSnap:1,Xi=Te.x/ht.x,Sn=Te.y/ht.y,wo=h?Math.max(Xi,Sn):Math.min(Xi,Sn);return S=this.getScaleZoom(wo,S),di&&(S=Math.round(S/(di/100))*(di/100),S=h?Math.ceil(S/di)*di:Math.floor(S/di)*di),Math.max(I,Math.min(R,S))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new ue(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(l,h){var _=this._getTopLeftPoint(l,h);return new We(_,_.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(l){return this.options.crs.getProjectedBounds(l===void 0?this.getZoom():l)},getPane:function(l){return typeof l=="string"?this._panes[l]:l},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(l,h){var _=this.options.crs;return h=h===void 0?this._zoom:h,_.scale(l)/_.scale(h)},getScaleZoom:function(l,h){var _=this.options.crs;h=h===void 0?this._zoom:h;var S=_.zoom(l*_.scale(h));return isNaN(S)?1/0:S},project:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.latLngToPoint(St(l),h)},unproject:function(l,h){return h=h===void 0?this._zoom:h,this.options.crs.pointToLatLng($e(l),h)},layerPointToLatLng:function(l){var h=$e(l).add(this.getPixelOrigin());return this.unproject(h)},latLngToLayerPoint:function(l){var h=this.project(St(l))._round();return h._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(St(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(Gt(l))},distance:function(l,h){return this.options.crs.distance(St(l),St(h))},containerPointToLayerPoint:function(l){return $e(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return $e(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var h=this.containerPointToLayerPoint($e(l));return this.layerPointToLatLng(h)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(St(l)))},mouseEventToContainerPoint:function(l){return ho(l,this._container)},mouseEventToLayerPoint:function(l){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(l))},mouseEventToLatLng:function(l){return this.layerPointToLatLng(this.mouseEventToLayerPoint(l))},_initContainer:function(l){var h=this._container=X(l);if(h){if(h._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");et(h,"scroll",this._onScroll,this),this._containerId=c(h)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&Se.any3d,Be(l,"leaflet-container"+(Se.touch?" leaflet-touch":"")+(Se.retina?" leaflet-retina":"")+(Se.ielt9?" leaflet-oldie":"")+(Se.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var h=$(l,"position");h!=="absolute"&&h!=="relative"&&h!=="fixed"&&h!=="sticky"&&(l.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var l=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Me(this._mapPane,new ue(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Be(l.markerPane,"leaflet-zoom-hide"),Be(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,h,_){Me(this._mapPane,new ue(0,0));var S=!this._loaded;this._loaded=!0,h=this._limitZoom(h),this.fire("viewprereset");var I=this._zoom!==h;this._moveStart(I,_)._move(l,h)._moveEnd(I),this.fire("viewreset"),S&&this.fire("load")},_moveStart:function(l,h){return l&&this.fire("zoomstart"),h||this.fire("movestart"),this},_move:function(l,h,_,S){h===void 0&&(h=this._zoom);var I=this._zoom!==h;return this._zoom=h,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),S?_&&_.pinch&&this.fire("zoom",_):((I||_&&_.pinch)&&this.fire("zoom",_),this.fire("move",_)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return nt(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){Me(this._mapPane,this._getMapPanePos().subtract(l))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(l){this._targets={},this._targets[c(this._container)]=this;var h=l?Xt:et;h(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&h(window,"resize",this._onResize,this),Se.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){nt(this._resizeRequest),this._resizeRequest=Re(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var l=this._getMapPanePos();Math.max(Math.abs(l.x),Math.abs(l.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(l,h){for(var _=[],S,I=h==="mouseout"||h==="mouseover",R=l.target||l.srcElement,Y=!1;R;){if(S=this._targets[c(R)],S&&(h==="click"||h==="preclick")&&this._draggableMoved(S)){Y=!0;break}if(S&&S.listens(h,!0)&&(I&&!Xn(R,l)||(_.push(S),I))||R===this._container)break;R=R.parentNode}return!_.length&&!Y&&!I&&this.listens(h,!0)&&(_=[this]),_},_isClickDisabled:function(l){for(;l&&l!==this._container;){if(l._leaflet_disable_click)return!0;l=l.parentNode}},_handleDOMEvent:function(l){var h=l.target||l.srcElement;if(!(!this._loaded||h._leaflet_disable_events||l.type==="click"&&this._isClickDisabled(h))){var _=l.type;_==="mousedown"&&Ct(h),this._fireDOMEvent(l,_)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(l,h,_){if(l.type==="click"){var S=n({},l);S.type="preclick",this._fireDOMEvent(S,S.type,_)}var I=this._findEventTargets(l,h);if(_){for(var R=[],Y=0;Y<_.length;Y++)_[Y].listens(h,!0)&&R.push(_[Y]);I=R.concat(I)}if(I.length){h==="contextmenu"&&Qi(l);var he=I[0],Te={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var ht=he.getLatLng&&(!he._radius||he._radius<=10);Te.containerPoint=ht?this.latLngToContainerPoint(he.getLatLng()):this.mouseEventToContainerPoint(l),Te.layerPoint=this.containerPointToLayerPoint(Te.containerPoint),Te.latlng=ht?he.getLatLng():this.layerPointToLatLng(Te.layerPoint)}for(Y=0;Y<I.length;Y++)if(I[Y].fire(h,Te,!0),Te.originalEvent._stopped||I[Y].options.bubblingMouseEvents===!1&&U(this._mouseEvents,h)!==-1)return}},_draggableMoved:function(l){return l=l.dragging&&l.dragging.enabled()?l:this,l.dragging&&l.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var l=0,h=this._handlers.length;l<h;l++)this._handlers[l].disable()},whenReady:function(l,h){return this._loaded?l.call(h||this,{target:this}):this.on("load",l,h),this},_getMapPanePos:function(){return Nt(this._mapPane)||new ue(0,0)},_moved:function(){var l=this._getMapPanePos();return l&&!l.equals([0,0])},_getTopLeftPoint:function(l,h){var _=l&&h!==void 0?this._getNewPixelOrigin(l,h):this.getPixelOrigin();return _.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(l,h){var _=this.getSize()._divideBy(2);return this.project(l,h)._subtract(_)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(l,h,_){var S=this._getNewPixelOrigin(_,h);return this.project(l,h)._subtract(S)},_latLngBoundsToNewLayerBounds:function(l,h,_){var S=this._getNewPixelOrigin(_,h);return yt([this.project(l.getSouthWest(),h)._subtract(S),this.project(l.getNorthWest(),h)._subtract(S),this.project(l.getSouthEast(),h)._subtract(S),this.project(l.getNorthEast(),h)._subtract(S)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(l){return this.latLngToLayerPoint(l).subtract(this._getCenterLayerPoint())},_limitCenter:function(l,h,_){if(!_)return l;var S=this.project(l,h),I=this.getSize().divideBy(2),R=new We(S.subtract(I),S.add(I)),Y=this._getBoundsOffset(R,_,h);return Math.abs(Y.x)<=1&&Math.abs(Y.y)<=1?l:this.unproject(S.add(Y),h)},_limitOffset:function(l,h){if(!h)return l;var _=this.getPixelBounds(),S=new We(_.min.add(l),_.max.add(l));return l.add(this._getBoundsOffset(S,h))},_getBoundsOffset:function(l,h,_){var S=yt(this.project(h.getNorthEast(),_),this.project(h.getSouthWest(),_)),I=S.min.subtract(l.min),R=S.max.subtract(l.max),Y=this._rebound(I.x,-R.x),he=this._rebound(I.y,-R.y);return new ue(Y,he)},_rebound:function(l,h){return l+h>0?Math.round(l-h)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(h))},_limitZoom:function(l){var h=this.getMinZoom(),_=this.getMaxZoom(),S=Se.any3d?this.options.zoomSnap:1;return S&&(l=Math.round(l/S)*S),Math.max(h,Math.min(_,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){qe(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(l,h){var _=this._getCenterOffset(l)._trunc();return(h&&h.animate)!==!0&&!this.getSize().contains(_)?!1:(this.panBy(_,h),!0)},_createAnimProxy:function(){var l=this._proxy=te("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(h){var _=V,S=this._proxy.style[_];Fe(this._proxy,this.project(h.center,h.zoom),this.getZoomScale(h.zoom,1)),S===this._proxy.style[_]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){we(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),h=this.getZoom();Fe(this._proxy,this.project(l,h),this.getZoomScale(h,1))},_catchTransitionEnd:function(l){this._animatingZoom&&l.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(l,h,_){if(this._animatingZoom)return!0;if(_=_||{},!this._zoomAnimated||_.animate===!1||this._nothingToAnimate()||Math.abs(h-this._zoom)>this.options.zoomAnimationThreshold)return!1;var S=this.getZoomScale(h),I=this._getCenterOffset(l)._divideBy(1-1/S);return _.animate!==!0&&!this.getSize().contains(I)?!1:(Re(function(){this._moveStart(!0,_.noMoveStart||!1)._animateZoom(l,h,!0)},this),!0)},_animateZoom:function(l,h,_,S){this._mapPane&&(_&&(this._animatingZoom=!0,this._animateToCenter=l,this._animateToZoom=h,Be(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:l,zoom:h,noUpdate:S}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(r(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&qe(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Ds(l,h){return new un(l,h)}var fs=be.extend({options:{position:"topright"},initialize:function(l){x(this,l)},getPosition:function(){return this.options.position},setPosition:function(l){var h=this._map;return h&&h.removeControl(this),this.options.position=l,h&&h.addControl(this),this},getContainer:function(){return this._container},addTo:function(l){this.remove(),this._map=l;var h=this._container=this.onAdd(l),_=this.getPosition(),S=l._controlCorners[_];return Be(h,"leaflet-control"),_.indexOf("bottom")!==-1?S.insertBefore(h,S.firstChild):S.appendChild(h),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(we(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(l){this._map&&l&&l.screenX>0&&l.screenY>0&&this._map.getContainer().focus()}}),ns=function(l){return new fs(l)};un.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},h="leaflet-",_=this._controlContainer=te("div",h+"control-container",this._container);function S(I,R){var Y=h+I+" "+h+R;l[I+R]=te("div",Y,_)}S("top","left"),S("top","right"),S("bottom","left"),S("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)we(this._controlCorners[l]);we(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Es=fs.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(l,h,_,S){return _<S?-1:S<_?1:0}},initialize:function(l,h,_){x(this,_),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var S in l)this._addLayer(l[S],S);for(S in h)this._addLayer(h[S],S,!0)},onAdd:function(l){this._initLayout(),this._update(),this._map=l,l.on("zoomend",this._checkDisabledLayers,this);for(var h=0;h<this._layers.length;h++)this._layers[h].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(l){return fs.prototype.addTo.call(this,l),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var l=0;l<this._layers.length;l++)this._layers[l].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(l,h){return this._addLayer(l,h),this._map?this._update():this},addOverlay:function(l,h){return this._addLayer(l,h,!0),this._map?this._update():this},removeLayer:function(l){l.off("add remove",this._onLayerChange,this);var h=this._getLayer(c(l));return h&&this._layers.splice(this._layers.indexOf(h),1),this._map?this._update():this},expand:function(){Be(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var l=this._map.getSize().y-(this._container.offsetTop+50);return l<this._section.clientHeight?(Be(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):qe(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return qe(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",h=this._container=te("div",l),_=this.options.collapsed;h.setAttribute("aria-haspopup",!0),on(h),si(h);var S=this._section=te("section",l+"-list");_&&(this._map.on("click",this.collapse,this),et(h,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var I=this._layersLink=te("a",l+"-toggle",h);I.href="#",I.title="Layers",I.setAttribute("role","button"),et(I,{keydown:function(R){R.keyCode===13&&this._expandSafely()},click:function(R){Qi(R),this._expandSafely()}},this),_||this.expand(),this._baseLayersList=te("div",l+"-base",S),this._separator=te("div",l+"-separator",S),this._overlaysList=te("div",l+"-overlays",S),h.appendChild(S)},_getLayer:function(l){for(var h=0;h<this._layers.length;h++)if(this._layers[h]&&c(this._layers[h].layer)===l)return this._layers[h]},_addLayer:function(l,h,_){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:h,overlay:_}),this.options.sortLayers&&this._layers.sort(r(function(S,I){return this.options.sortFunction(S.layer,I.layer,S.name,I.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;it(this._baseLayersList),it(this._overlaysList),this._layerControlInputs=[];var l,h,_,S,I=0;for(_=0;_<this._layers.length;_++)S=this._layers[_],this._addItem(S),h=h||S.overlay,l=l||!S.overlay,I+=S.overlay?0:1;return this.options.hideSingleBase&&(l=l&&I>1,this._baseLayersList.style.display=l?"":"none"),this._separator.style.display=h&&l?"":"none",this},_onLayerChange:function(l){this._handlingClick||this._update();var h=this._getLayer(c(l.target)),_=h.overlay?l.type==="add"?"overlayadd":"overlayremove":l.type==="add"?"baselayerchange":null;_&&this._map.fire(_,h)},_createRadioElement:function(l,h){var _='<input type="radio" class="leaflet-control-layers-selector" name="'+l+'"'+(h?' checked="checked"':"")+"/>",S=document.createElement("div");return S.innerHTML=_,S.firstChild},_addItem:function(l){var h=document.createElement("label"),_=this._map.hasLayer(l.layer),S;l.overlay?(S=document.createElement("input"),S.type="checkbox",S.className="leaflet-control-layers-selector",S.defaultChecked=_):S=this._createRadioElement("leaflet-base-layers_"+c(this),_),this._layerControlInputs.push(S),S.layerId=c(l.layer),et(S,"click",this._onInputClick,this);var I=document.createElement("span");I.innerHTML=" "+l.name;var R=document.createElement("span");h.appendChild(R),R.appendChild(S),R.appendChild(I);var Y=l.overlay?this._overlaysList:this._baseLayersList;return Y.appendChild(h),this._checkDisabledLayers(),h},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,h,_,S=[],I=[];this._handlingClick=!0;for(var R=l.length-1;R>=0;R--)h=l[R],_=this._getLayer(h.layerId).layer,h.checked?S.push(_):h.checked||I.push(_);for(R=0;R<I.length;R++)this._map.hasLayer(I[R])&&this._map.removeLayer(I[R]);for(R=0;R<S.length;R++)this._map.hasLayer(S[R])||this._map.addLayer(S[R]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,h,_,S=this._map.getZoom(),I=l.length-1;I>=0;I--)h=l[I],_=this._getLayer(h.layerId).layer,h.disabled=_.options.minZoom!==void 0&&S<_.options.minZoom||_.options.maxZoom!==void 0&&S>_.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var l=this._section;this._preventClick=!0,et(l,"click",Qi),this.expand();var h=this;setTimeout(function(){Xt(l,"click",Qi),h._preventClick=!1})}}),Wr=function(l,h,_){return new Es(l,h,_)},Ka=fs.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">−</span>',zoomOutTitle:"Zoom out"},onAdd:function(l){var h="leaflet-control-zoom",_=te("div",h+" leaflet-bar"),S=this.options;return this._zoomInButton=this._createButton(S.zoomInText,S.zoomInTitle,h+"-in",_,this._zoomIn),this._zoomOutButton=this._createButton(S.zoomOutText,S.zoomOutTitle,h+"-out",_,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),_},onRemove:function(l){l.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(l){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(l.shiftKey?3:1))},_zoomOut:function(l){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(l.shiftKey?3:1))},_createButton:function(l,h,_,S,I){var R=te("a",_,S);return R.innerHTML=l,R.href="#",R.title=h,R.setAttribute("role","button"),R.setAttribute("aria-label",h),on(R),et(R,"click",es),et(R,"click",I,this),et(R,"click",this._refocusOnMap,this),R},_updateDisabled:function(){var l=this._map,h="leaflet-disabled";qe(this._zoomInButton,h),qe(this._zoomOutButton,h),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(Be(this._zoomOutButton,h),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(Be(this._zoomInButton,h),this._zoomInButton.setAttribute("aria-disabled","true"))}});un.mergeOptions({zoomControl:!0}),un.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ka,this.addControl(this.zoomControl))});var Ol=function(l){return new Ka(l)},Za=fs.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var h="leaflet-control-scale",_=te("div",h),S=this.options;return this._addScales(S,h+"-line",_),l.on(S.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),_},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,h,_){l.metric&&(this._mScale=te("div",h,_)),l.imperial&&(this._iScale=te("div",h,_))},_update:function(){var l=this._map,h=l.getSize().y/2,_=l.distance(l.containerPointToLatLng([0,h]),l.containerPointToLatLng([this.options.maxWidth,h]));this._updateScales(_)},_updateScales:function(l){this.options.metric&&l&&this._updateMetric(l),this.options.imperial&&l&&this._updateImperial(l)},_updateMetric:function(l){var h=this._getRoundNum(l),_=h<1e3?h+" m":h/1e3+" km";this._updateScale(this._mScale,_,h/l)},_updateImperial:function(l){var h=l*3.2808399,_,S,I;h>5280?(_=h/5280,S=this._getRoundNum(_),this._updateScale(this._iScale,S+" mi",S/_)):(I=this._getRoundNum(h),this._updateScale(this._iScale,I+" ft",I/h))},_updateScale:function(l,h,_){l.style.width=Math.round(this.options.maxWidth*_)+"px",l.innerHTML=h},_getRoundNum:function(l){var h=Math.pow(10,(Math.floor(l)+"").length-1),_=l/h;return _=_>=10?10:_>=5?5:_>=3?3:_>=2?2:1,h*_}}),Xo=function(l){return new Za(l)},Br='<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg>',zr=fs.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(Se.inlineSvg?Br+" ":"")+"Leaflet</a>"},initialize:function(l){x(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=te("div","leaflet-control-attribution"),on(this._container);for(var h in l._layers)l._layers[h].getAttribution&&this.addAttribution(l._layers[h].getAttribution());return this._update(),l.on("layeradd",this._addAttribution,this),this._container},onRemove:function(l){l.off("layeradd",this._addAttribution,this)},_addAttribution:function(l){l.layer.getAttribution&&(this.addAttribution(l.layer.getAttribution()),l.layer.once("remove",function(){this.removeAttribution(l.layer.getAttribution())},this))},setPrefix:function(l){return this.options.prefix=l,this._update(),this},addAttribution:function(l){return l?(this._attributions[l]||(this._attributions[l]=0),this._attributions[l]++,this._update(),this):this},removeAttribution:function(l){return l?(this._attributions[l]&&(this._attributions[l]--,this._update()),this):this},_update:function(){if(this._map){var l=[];for(var h in this._attributions)this._attributions[h]&&l.push(h);var _=[];this.options.prefix&&_.push(this.options.prefix),l.length&&_.push(l.join(", ")),this._container.innerHTML=_.join(' <span aria-hidden="true">|</span> ')}}});un.mergeOptions({attributionControl:!0}),un.addInitHook(function(){this.options.attributionControl&&new zr().addTo(this)});var A_=function(l){return new zr(l)};fs.Layers=Es,fs.Zoom=Ka,fs.Scale=Za,fs.Attribution=zr,ns.layers=Wr,ns.zoom=Ol,ns.scale=Xo,ns.attribution=A_;var hr=be.extend({initialize:function(l){this._map=l},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});hr.addTo=function(l,h){return l.addHandler(h,this),this};var O_={Events:ot},tg=Se.touch?"touchstart mousedown":"mousedown",Yo=Mt.extend({options:{clickTolerance:3},initialize:function(l,h,_,S){x(this,S),this._element=l,this._dragStartTarget=h||l,this._preventOutline=_},enable:function(){this._enabled||(et(this._dragStartTarget,tg,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Yo._dragging===this&&this.finishDrag(!0),Xt(this._dragStartTarget,tg,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!vt(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){Yo._dragging===this&&this.finishDrag();return}if(!(Yo._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(Yo._dragging=this,this._preventOutline&&Ct(this._element),ge(),gt(),!this._moving)){this.fire("down");var h=l.touches?l.touches[0]:l,_=Ge(this._element);this._startPoint=new ue(h.clientX,h.clientY),this._startPos=Nt(this._element),this._parentScale=rt(_);var S=l.type==="mousedown";et(document,S?"mousemove":"touchmove",this._onMove,this),et(document,S?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(l){if(this._enabled){if(l.touches&&l.touches.length>1){this._moved=!0;return}var h=l.touches&&l.touches.length===1?l.touches[0]:l,_=new ue(h.clientX,h.clientY)._subtract(this._startPoint);!_.x&&!_.y||Math.abs(_.x)+Math.abs(_.y)<this.options.clickTolerance||(_.x/=this._parentScale.x,_.y/=this._parentScale.y,Qi(l),this._moved||(this.fire("dragstart"),this._moved=!0,Be(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Be(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(_),this._moving=!0,this._lastEvent=l,this._updatePosition())}},_updatePosition:function(){var l={originalEvent:this._lastEvent};this.fire("predrag",l),Me(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){qe(document.body,"leaflet-dragging"),this._lastTarget&&(qe(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Xt(document,"mousemove touchmove",this._onMove,this),Xt(document,"mouseup touchend touchcancel",this._onUp,this),Ee(),Ye();var h=this._moved&&this._moving;this._moving=!1,Yo._dragging=!1,h&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function F_(l,h,_){var S,I=[1,4,2,8],R,Y,he,Te,ht,di,Xi,Sn;for(R=0,di=l.length;R<di;R++)l[R]._code=Xa(l[R],h);for(he=0;he<4;he++){for(Xi=I[he],S=[],R=0,di=l.length,Y=di-1;R<di;Y=R++)Te=l[R],ht=l[Y],Te._code&Xi?ht._code&Xi||(Sn=jc(ht,Te,Xi,h,_),Sn._code=Xa(Sn,h),S.push(Sn)):(ht._code&Xi&&(Sn=jc(ht,Te,Xi,h,_),Sn._code=Xa(Sn,h),S.push(Sn)),S.push(Te));l=S}return l}function ig(l,h){var _,S,I,R,Y,he,Te,ht,di;if(!l||l.length===0)throw new Error("latlngs not passed");Mo(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Xi=St([0,0]),Sn=Gt(l),wo=Sn.getNorthWest().distanceTo(Sn.getSouthWest())*Sn.getNorthEast().distanceTo(Sn.getNorthWest());wo<1700&&(Xi=ng(l));var Ks=l.length,fr=[];for(_=0;_<Ks;_++){var Ro=St(l[_]);fr.push(h.project(St([Ro.lat-Xi.lat,Ro.lng-Xi.lng])))}for(he=Te=ht=0,_=0,S=Ks-1;_<Ks;S=_++)I=fr[_],R=fr[S],Y=I.y*R.x-R.y*I.x,Te+=(I.x+R.x)*Y,ht+=(I.y+R.y)*Y,he+=Y*3;he===0?di=fr[0]:di=[Te/he,ht/he];var Qu=h.unproject($e(di));return St([Qu.lat+Xi.lat,Qu.lng+Xi.lng])}function ng(l){for(var h=0,_=0,S=0,I=0;I<l.length;I++){var R=St(l[I]);h+=R.lat,_+=R.lng,S++}return St([h/S,_/S])}var uw={__proto__:null,clipPolygon:F_,polygonCenter:ig,centroid:ng};function sg(l,h){if(!h||!l.length)return l.slice();var _=h*h;return l=B_(l,_),l=W_(l,_),l}function H_(l,h,_){return Math.sqrt($c(l,h,_,!0))}function og(l,h,_){return $c(l,h,_)}function W_(l,h){var _=l.length,S=typeof Uint8Array<"u"?Uint8Array:Array,I=new S(_);I[0]=I[_-1]=1,rg(l,I,h,0,_-1);var R,Y=[];for(R=0;R<_;R++)I[R]&&Y.push(l[R]);return Y}function rg(l,h,_,S,I){var R=0,Y,he,Te;for(he=S+1;he<=I-1;he++)Te=$c(l[he],l[S],l[I],!0),Te>R&&(Y=he,R=Te);R>_&&(h[Y]=1,rg(l,h,_,S,Y),rg(l,h,_,Y,I))}function B_(l,h){for(var _=[l[0]],S=1,I=0,R=l.length;S<R;S++)z_(l[S],l[I])>h&&(_.push(l[S]),I=S);return I<R-1&&_.push(l[R-1]),_}var ag;function lg(l,h,_,S,I){var R=S?ag:Xa(l,_),Y=Xa(h,_),he,Te,ht;for(ag=Y;;){if(!(R|Y))return[l,h];if(R&Y)return!1;he=R||Y,Te=jc(l,h,he,_,I),ht=Xa(Te,_),he===R?(l=Te,R=ht):(h=Te,Y=ht)}}function jc(l,h,_,S,I){var R=h.x-l.x,Y=h.y-l.y,he=S.min,Te=S.max,ht,di;return _&8?(ht=l.x+R*(Te.y-l.y)/Y,di=Te.y):_&4?(ht=l.x+R*(he.y-l.y)/Y,di=he.y):_&2?(ht=Te.x,di=l.y+Y*(Te.x-l.x)/R):_&1&&(ht=he.x,di=l.y+Y*(he.x-l.x)/R),new ue(ht,di,I)}function Xa(l,h){var _=0;return l.x<h.min.x?_|=1:l.x>h.max.x&&(_|=2),l.y<h.min.y?_|=4:l.y>h.max.y&&(_|=8),_}function z_(l,h){var _=h.x-l.x,S=h.y-l.y;return _*_+S*S}function $c(l,h,_,S){var I=h.x,R=h.y,Y=_.x-I,he=_.y-R,Te=Y*Y+he*he,ht;return Te>0&&(ht=((l.x-I)*Y+(l.y-R)*he)/Te,ht>1?(I=_.x,R=_.y):ht>0&&(I+=Y*ht,R+=he*ht)),Y=l.x-I,he=l.y-R,S?Y*Y+he*he:new ue(I,R)}function Mo(l){return!A(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function V_(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Mo(l)}function Gu(l,h){var _,S,I,R,Y,he,Te,ht;if(!l||l.length===0)throw new Error("latlngs not passed");Mo(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var di=St([0,0]),Xi=Gt(l),Sn=Xi.getNorthWest().distanceTo(Xi.getSouthWest())*Xi.getNorthEast().distanceTo(Xi.getNorthWest());Sn<1700&&(di=ng(l));var wo=l.length,Ks=[];for(_=0;_<wo;_++){var fr=St(l[_]);Ks.push(h.project(St([fr.lat-di.lat,fr.lng-di.lng])))}for(_=0,S=0;_<wo-1;_++)S+=Ks[_].distanceTo(Ks[_+1])/2;if(S===0)ht=Ks[0];else for(_=0,R=0;_<wo-1;_++)if(Y=Ks[_],he=Ks[_+1],I=Y.distanceTo(he),R+=I,R>S){Te=(R-S)/I,ht=[he.x-Te*(he.x-Y.x),he.y-Te*(he.y-Y.y)];break}var Ro=h.unproject($e(ht));return St([Ro.lat+di.lat,Ro.lng+di.lng])}var j_={__proto__:null,simplify:sg,pointToSegmentDistance:H_,closestPointOnSegment:og,clipSegment:lg,_getEdgeIntersection:jc,_getBitCode:Xa,_sqClosestPointOnSegment:$c,isFlat:Mo,_flat:V_,polylineCenter:Gu},Ku={project:function(l){return new ue(l.lng,l.lat)},unproject:function(l){return new Dt(l.y,l.x)},bounds:new We([-180,-90],[180,90])},Zu={R:6378137,R_MINOR:6356752314245179e-9,bounds:new We([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var h=Math.PI/180,_=this.R,S=l.lat*h,I=this.R_MINOR/_,R=Math.sqrt(1-I*I),Y=R*Math.sin(S),he=Math.tan(Math.PI/4-S/2)/Math.pow((1-Y)/(1+Y),R/2);return S=-_*Math.log(Math.max(he,1e-10)),new ue(l.lng*h*_,S)},unproject:function(l){for(var h=180/Math.PI,_=this.R,S=this.R_MINOR/_,I=Math.sqrt(1-S*S),R=Math.exp(-l.y/_),Y=Math.PI/2-2*Math.atan(R),he=0,Te=.1,ht;he<15&&Math.abs(Te)>1e-7;he++)ht=I*Math.sin(Y),ht=Math.pow((1-ht)/(1+ht),I/2),Te=Math.PI/2-2*Math.atan(R*ht)-Y,Y+=Te;return new Dt(Y*h,l.x*h/_)}},hw={__proto__:null,LonLat:Ku,Mercator:Zu,SphericalMercator:hi},$_=n({},kt,{code:"EPSG:3395",projection:Zu,transformation:(function(){var l=.5/(Math.PI*Zu.R);return Pi(l,.5,-l,.5)})()}),Xu=n({},kt,{code:"EPSG:4326",projection:Ku,transformation:Pi(1/180,1,-1/180,.5)}),U_=n({},Ot,{projection:Ku,transformation:Pi(1,0,-1,0),scale:function(l){return Math.pow(2,l)},zoom:function(l){return Math.log(l)/Math.LN2},distance:function(l,h){var _=h.lng-l.lng,S=h.lat-l.lat;return Math.sqrt(_*_+S*S)},infinite:!0});Ot.Earth=kt,Ot.EPSG3395=$_,Ot.EPSG3857=Fi,Ot.EPSG900913=Li,Ot.EPSG4326=Xu,Ot.Simple=U_;var Qo=Mt.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(l){return l.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(l){return l&&l.removeLayer(this),this},getPane:function(l){return this._map.getPane(l?this.options[l]||l:this.options.pane)},addInteractiveTarget:function(l){return this._map._targets[c(l)]=this,this},removeInteractiveTarget:function(l){return delete this._map._targets[c(l)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(l){var h=l.target;if(h.hasLayer(this)){if(this._map=h,this._zoomAnimated=h._zoomAnimated,this.getEvents){var _=this.getEvents();h.on(_,this),this.once("remove",function(){h.off(_,this)},this)}this.onAdd(h),this.fire("add"),h.fire("layeradd",{layer:this})}}});un.include({addLayer:function(l){if(!l._layerAdd)throw new Error("The provided object is not a Layer.");var h=c(l);return this._layers[h]?this:(this._layers[h]=l,l._mapToAdd=this,l.beforeAdd&&l.beforeAdd(this),this.whenReady(l._layerAdd,l),this)},removeLayer:function(l){var h=c(l);return this._layers[h]?(this._loaded&&l.onRemove(this),delete this._layers[h],this._loaded&&(this.fire("layerremove",{layer:l}),l.fire("remove")),l._map=l._mapToAdd=null,this):this},hasLayer:function(l){return c(l)in this._layers},eachLayer:function(l,h){for(var _ in this._layers)l.call(h,this._layers[_]);return this},_addLayers:function(l){l=l?A(l)?l:[l]:[];for(var h=0,_=l.length;h<_;h++)this.addLayer(l[h])},_addZoomLimit:function(l){(!isNaN(l.options.maxZoom)||!isNaN(l.options.minZoom))&&(this._zoomBoundLayers[c(l)]=l,this._updateZoomLevels())},_removeZoomLimit:function(l){var h=c(l);this._zoomBoundLayers[h]&&(delete this._zoomBoundLayers[h],this._updateZoomLevels())},_updateZoomLevels:function(){var l=1/0,h=-1/0,_=this._getZoomSpan();for(var S in this._zoomBoundLayers){var I=this._zoomBoundLayers[S].options;l=I.minZoom===void 0?l:Math.min(l,I.minZoom),h=I.maxZoom===void 0?h:Math.max(h,I.maxZoom)}this._layersMaxZoom=h===-1/0?void 0:h,this._layersMinZoom=l===1/0?void 0:l,_!==this._getZoomSpan()&&this.fire("zoomlevelschange"),this.options.maxZoom===void 0&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Fl=Qo.extend({initialize:function(l,h){x(this,h),this._layers={};var _,S;if(l)for(_=0,S=l.length;_<S;_++)this.addLayer(l[_])},addLayer:function(l){var h=this.getLayerId(l);return this._layers[h]=l,this._map&&this._map.addLayer(l),this},removeLayer:function(l){var h=l in this._layers?l:this.getLayerId(l);return this._map&&this._layers[h]&&this._map.removeLayer(this._layers[h]),delete this._layers[h],this},hasLayer:function(l){var h=typeof l=="number"?l:this.getLayerId(l);return h in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(l){var h=Array.prototype.slice.call(arguments,1),_,S;for(_ in this._layers)S=this._layers[_],S[l]&&S[l].apply(S,h);return this},onAdd:function(l){this.eachLayer(l.addLayer,l)},onRemove:function(l){this.eachLayer(l.removeLayer,l)},eachLayer:function(l,h){for(var _ in this._layers)l.call(h,this._layers[_]);return this},getLayer:function(l){return this._layers[l]},getLayers:function(){var l=[];return this.eachLayer(l.push,l),l},setZIndex:function(l){return this.invoke("setZIndex",l)},getLayerId:function(l){return c(l)}}),fw=function(l,h){return new Fl(l,h)},Vr=Fl.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),Fl.prototype.addLayer.call(this,l),this.fire("layeradd",{layer:l}))},removeLayer:function(l){return this.hasLayer(l)?(l in this._layers&&(l=this._layers[l]),l.removeEventParent(this),Fl.prototype.removeLayer.call(this,l),this.fire("layerremove",{layer:l})):this},setStyle:function(l){return this.invoke("setStyle",l)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var l=new Ut;for(var h in this._layers){var _=this._layers[h];l.extend(_.getBounds?_.getBounds():_.getLatLng())}return l}}),gw=function(l,h){return new Vr(l,h)},Hl=be.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(l){x(this,l)},createIcon:function(l){return this._createIcon("icon",l)},createShadow:function(l){return this._createIcon("shadow",l)},_createIcon:function(l,h){var _=this._getIconUrl(l);if(!_){if(l==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var S=this._createImg(_,h&&h.tagName==="IMG"?h:null);return this._setIconStyles(S,l),(this.options.crossOrigin||this.options.crossOrigin==="")&&(S.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),S},_setIconStyles:function(l,h){var _=this.options,S=_[h+"Size"];typeof S=="number"&&(S=[S,S]);var I=$e(S),R=$e(h==="shadow"&&_.shadowAnchor||_.iconAnchor||I&&I.divideBy(2,!0));l.className="leaflet-marker-"+h+" "+(_.className||""),R&&(l.style.marginLeft=-R.x+"px",l.style.marginTop=-R.y+"px"),I&&(l.style.width=I.x+"px",l.style.height=I.y+"px")},_createImg:function(l,h){return h=h||document.createElement("img"),h.src=l,h},_getIconUrl:function(l){return Se.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function pw(l){return new Hl(l)}var Uc=Hl.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(l){return typeof Uc.imagePath!="string"&&(Uc.imagePath=this._detectIconPath()),(this.options.imagePath||Uc.imagePath)+Hl.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var h=function(_,S,I){var R=S.exec(_);return R&&R[I]};return l=h(l,/^url\((['"])?(.+)\1\)$/,2),l&&h(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=te("div","leaflet-default-icon-path",document.body),h=$(l,"background-image")||$(l,"backgroundImage");if(document.body.removeChild(l),h=this._stripUrl(h),h)return h;var _=document.querySelector('link[href$="leaflet.css"]');return _?_.href.substring(0,_.href.length-11-1):""}}),j=hr.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new Yo(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Be(l,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&qe(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(l){var h=this._marker,_=h._map,S=this._marker.options.autoPanSpeed,I=this._marker.options.autoPanPadding,R=Nt(h._icon),Y=_.getPixelBounds(),he=_.getPixelOrigin(),Te=yt(Y.min._subtract(he).add(I),Y.max._subtract(he).subtract(I));if(!Te.contains(R)){var ht=$e((Math.max(Te.max.x,R.x)-Te.max.x)/(Y.max.x-Te.max.x)-(Math.min(Te.min.x,R.x)-Te.min.x)/(Y.min.x-Te.min.x),(Math.max(Te.max.y,R.y)-Te.max.y)/(Y.max.y-Te.max.y)-(Math.min(Te.min.y,R.y)-Te.min.y)/(Y.min.y-Te.min.y)).multiplyBy(S);_.panBy(ht,{animate:!1}),this._draggable._newPos._add(ht),this._draggable._startPos._add(ht),Me(h._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=Re(this._adjustPan.bind(this,l))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(l){this._marker.options.autoPan&&(nt(this._panRequest),this._panRequest=Re(this._adjustPan.bind(this,l)))},_onDrag:function(l){var h=this._marker,_=h._shadow,S=Nt(h._icon),I=h._map.layerPointToLatLng(S);_&&Me(_,S),h._latlng=I,l.latlng=I,l.oldLatLng=this._oldLatLng,h.fire("move",l).fire("drag",l)},_onDragEnd:function(l){nt(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),ce=Qo.extend({options:{icon:new Uc,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(l,h){x(this,h),this._latlng=St(l)},onAdd:function(l){this._zoomAnimated=this._zoomAnimated&&l.options.markerZoomAnimation,this._zoomAnimated&&l.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(l){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&l.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(l){var h=this._latlng;return this._latlng=St(l),this.update(),this.fire("move",{oldLatLng:h,latlng:this._latlng})},setZIndexOffset:function(l){return this.options.zIndexOffset=l,this.update()},getIcon:function(){return this.options.icon},setIcon:function(l){return this.options.icon=l,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var l=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(l)}return this},_initIcon:function(){var l=this.options,h="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),_=l.icon.createIcon(this._icon),S=!1;_!==this._icon&&(this._icon&&this._removeIcon(),S=!0,l.title&&(_.title=l.title),_.tagName==="IMG"&&(_.alt=l.alt||"")),Be(_,h),l.keyboard&&(_.tabIndex="0",_.setAttribute("role","button")),this._icon=_,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&et(_,"focus",this._panOnFocus,this);var I=l.icon.createShadow(this._shadow),R=!1;I!==this._shadow&&(this._removeShadow(),R=!0),I&&(Be(I,h),I.alt=""),this._shadow=I,l.opacity<1&&this._updateOpacity(),S&&this.getPane().appendChild(this._icon),this._initInteraction(),I&&R&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Xt(this._icon,"focus",this._panOnFocus,this),we(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&we(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&Me(this._icon,l),this._shadow&&Me(this._shadow,l),this._zIndex=l.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(l){this._icon&&(this._icon.style.zIndex=this._zIndex+l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center).round();this._setPos(h)},_initInteraction:function(){if(this.options.interactive&&(Be(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),j)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new j(this),l&&this.dragging.enable()}},setOpacity:function(l){return this.options.opacity=l,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var l=this.options.opacity;this._icon&&oe(this._icon,l),this._shadow&&oe(this._shadow,l)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var l=this._map;if(l){var h=this.options.icon.options,_=h.iconSize?$e(h.iconSize):$e(0,0),S=h.iconAnchor?$e(h.iconAnchor):$e(0,0);l.panInside(this._latlng,{paddingTopLeft:S,paddingBottomRight:_.subtract(S)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function je(l,h){return new ce(l,h)}var me=Qo.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(l){this._renderer=l.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(l){return x(this,l),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&l&&Object.prototype.hasOwnProperty.call(l,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),bt=me.extend({options:{fill:!0,radius:10},initialize:function(l,h){x(this,h),this._latlng=St(l),this._radius=this.options.radius},setLatLng:function(l){var h=this._latlng;return this._latlng=St(l),this.redraw(),this.fire("move",{oldLatLng:h,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(l){return this.options.radius=this._radius=l,this.redraw()},getRadius:function(){return this._radius},setStyle:function(l){var h=l&&l.radius||this._radius;return me.prototype.setStyle.call(this,l),this.setRadius(h),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var l=this._radius,h=this._radiusY||l,_=this._clickTolerance(),S=[l+_,h+_];this._pxBounds=new We(this._point.subtract(S),this._point.add(S))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(l){return l.distanceTo(this._point)<=this._radius+this._clickTolerance()}});function Yt(l,h){return new bt(l,h)}var li=bt.extend({initialize:function(l,h,_){if(typeof h=="number"&&(h=n({},_,{radius:h})),x(this,h),this._latlng=St(l),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(l){return this._mRadius=l,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var l=[this._radius,this._radiusY||this._radius];return new Ut(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:me.prototype.setStyle,_project:function(){var l=this._latlng.lng,h=this._latlng.lat,_=this._map,S=_.options.crs;if(S.distance===kt.distance){var I=Math.PI/180,R=this._mRadius/kt.R/I,Y=_.project([h+R,l]),he=_.project([h-R,l]),Te=Y.add(he).divideBy(2),ht=_.unproject(Te).lat,di=Math.acos((Math.cos(R*I)-Math.sin(h*I)*Math.sin(ht*I))/(Math.cos(h*I)*Math.cos(ht*I)))/I;(isNaN(di)||di===0)&&(di=R/Math.cos(Math.PI/180*h)),this._point=Te.subtract(_.getPixelOrigin()),this._radius=isNaN(di)?0:Te.x-_.project([ht,l-di]).x,this._radiusY=Te.y-Y.y}else{var Xi=S.unproject(S.project(this._latlng).subtract([this._mRadius,0]));this._point=_.latLngToLayerPoint(this._latlng),this._radius=this._point.x-_.latLngToLayerPoint(Xi).x}this._updateBounds()}});function rn(l,h,_){return new li(l,h,_)}var $i=me.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,h){x(this,h),this._setLatLngs(l)},getLatLngs:function(){return this._latlngs},setLatLngs:function(l){return this._setLatLngs(l),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(l){for(var h=1/0,_=null,S=$c,I,R,Y=0,he=this._parts.length;Y<he;Y++)for(var Te=this._parts[Y],ht=1,di=Te.length;ht<di;ht++){I=Te[ht-1],R=Te[ht];var Xi=S(l,I,R,!0);Xi<h&&(h=Xi,_=S(l,I,R))}return _&&(_.distance=Math.sqrt(h)),_},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Gu(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,h){return h=h||this._defaultShape(),l=St(l),h.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new Ut,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return Mo(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var h=[],_=Mo(l),S=0,I=l.length;S<I;S++)_?(h[S]=St(l[S]),this._bounds.extend(h[S])):h[S]=this._convertLatLngs(l[S]);return h},_project:function(){var l=new We;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,l),this._bounds.isValid()&&l.isValid()&&(this._rawPxBounds=l,this._updateBounds())},_updateBounds:function(){var l=this._clickTolerance(),h=new ue(l,l);this._rawPxBounds&&(this._pxBounds=new We([this._rawPxBounds.min.subtract(h),this._rawPxBounds.max.add(h)]))},_projectLatlngs:function(l,h,_){var S=l[0]instanceof Dt,I=l.length,R,Y;if(S){for(Y=[],R=0;R<I;R++)Y[R]=this._map.latLngToLayerPoint(l[R]),_.extend(Y[R]);h.push(Y)}else for(R=0;R<I;R++)this._projectLatlngs(l[R],h,_)},_clipPoints:function(){var l=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}var h=this._parts,_,S,I,R,Y,he,Te;for(_=0,I=0,R=this._rings.length;_<R;_++)for(Te=this._rings[_],S=0,Y=Te.length;S<Y-1;S++)he=lg(Te[S],Te[S+1],l,S,!0),he&&(h[I]=h[I]||[],h[I].push(he[0]),(he[1]!==Te[S+1]||S===Y-2)&&(h[I].push(he[1]),I++))}},_simplifyPoints:function(){for(var l=this._parts,h=this.options.smoothFactor,_=0,S=l.length;_<S;_++)l[_]=sg(l[_],h)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(l,h){var _,S,I,R,Y,he,Te=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(_=0,R=this._parts.length;_<R;_++)for(he=this._parts[_],S=0,Y=he.length,I=Y-1;S<Y;I=S++)if(!(!h&&S===0)&&H_(l,he[I],he[S])<=Te)return!0;return!1}});function fn(l,h){return new $i(l,h)}$i._flat=V_;var Ui=$i.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return ig(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var h=$i.prototype._convertLatLngs.call(this,l),_=h.length;return _>=2&&h[0]instanceof Dt&&h[0].equals(h[_-1])&&h.pop(),h},_setLatLngs:function(l){$i.prototype._setLatLngs.call(this,l),Mo(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Mo(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,h=this.options.weight,_=new ue(h,h);if(l=new We(l.min.subtract(_),l.max.add(_)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}for(var S=0,I=this._rings.length,R;S<I;S++)R=F_(this._rings[S],l,!0),R.length&&this._parts.push(R)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var h=!1,_,S,I,R,Y,he,Te,ht;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(R=0,Te=this._parts.length;R<Te;R++)for(_=this._parts[R],Y=0,ht=_.length,he=ht-1;Y<ht;he=Y++)S=_[Y],I=_[he],S.y>l.y!=I.y>l.y&&l.x<(I.x-S.x)*(l.y-S.y)/(I.y-S.y)+S.x&&(h=!h);return h||$i.prototype._containsPoint.call(this,l,!0)}});function an(l,h){return new Ui(l,h)}var Zi=Vr.extend({initialize:function(l,h){x(this,h),this._layers={},l&&this.addData(l)},addData:function(l){var h=A(l)?l:l.features,_,S,I;if(h){for(_=0,S=h.length;_<S;_++)I=h[_],(I.geometries||I.geometry||I.features||I.coordinates)&&this.addData(I);return this}var R=this.options;if(R.filter&&!R.filter(l))return this;var Y=Wn(l,R);return Y?(Y.feature=ls(l),Y.defaultOptions=Y.options,this.resetStyle(Y),R.onEachFeature&&R.onEachFeature(l,Y),this.addLayer(Y)):this},resetStyle:function(l){return l===void 0?this.eachLayer(this.resetStyle,this):(l.options=n({},l.defaultOptions),this._setLayerStyle(l,this.options.style),this)},setStyle:function(l){return this.eachLayer(function(h){this._setLayerStyle(h,l)},this)},_setLayerStyle:function(l,h){l.setStyle&&(typeof h=="function"&&(h=h(l.feature)),l.setStyle(h))}});function Wn(l,h){var _=l.type==="Feature"?l.geometry:l,S=_?_.coordinates:null,I=[],R=h&&h.pointToLayer,Y=h&&h.coordsToLatLng||Gn,he,Te,ht,di;if(!S&&!_)return null;switch(_.type){case"Point":return he=Y(S),Yn(R,l,he,h);case"MultiPoint":for(ht=0,di=S.length;ht<di;ht++)he=Y(S[ht]),I.push(Yn(R,l,he,h));return new Vr(I);case"LineString":case"MultiLineString":return Te=Ji(S,_.type==="LineString"?0:1,Y),new $i(Te,h);case"Polygon":case"MultiPolygon":return Te=Ji(S,_.type==="Polygon"?1:2,Y),new Ui(Te,h);case"GeometryCollection":for(ht=0,di=_.geometries.length;ht<di;ht++){var Xi=Wn({geometry:_.geometries[ht],type:"Feature",properties:l.properties},h);Xi&&I.push(Xi)}return new Vr(I);case"FeatureCollection":for(ht=0,di=_.features.length;ht<di;ht++){var Sn=Wn(_.features[ht],h);Sn&&I.push(Sn)}return new Vr(I);default:throw new Error("Invalid GeoJSON object.")}}function Yn(l,h,_,S){return l?l(h,_):new ce(_,S&&S.markersInheritOptions&&S)}function Gn(l){return new Dt(l[1],l[0],l[2])}function Ji(l,h,_){for(var S=[],I=0,R=l.length,Y;I<R;I++)Y=h?Ji(l[I],h-1,_):(_||Gn)(l[I]),S.push(Y);return S}function gs(l,h){return l=St(l),l.alt!==void 0?[p(l.lng,h),p(l.lat,h),p(l.alt,h)]:[p(l.lng,h),p(l.lat,h)]}function zs(l,h,_,S){for(var I=[],R=0,Y=l.length;R<Y;R++)I.push(h?zs(l[R],Mo(l[R])?0:h-1,_,S):gs(l[R],S));return!h&&_&&I.length>0&&I.push(I[0].slice()),I}function ws(l,h){return l.feature?n({},l.feature,{geometry:h}):ls(h)}function ls(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var ss={toGeoJSON:function(l){return ws(this,{type:"Point",coordinates:gs(this.getLatLng(),l)})}};ce.include(ss),li.include(ss),bt.include(ss),$i.include({toGeoJSON:function(l){var h=!Mo(this._latlngs),_=zs(this._latlngs,h?1:0,!1,l);return ws(this,{type:(h?"Multi":"")+"LineString",coordinates:_})}}),Ui.include({toGeoJSON:function(l){var h=!Mo(this._latlngs),_=h&&!Mo(this._latlngs[0]),S=zs(this._latlngs,_?2:h?1:0,!0,l);return h||(S=[S]),ws(this,{type:(_?"Multi":"")+"Polygon",coordinates:S})}}),Fl.include({toMultiPoint:function(l){var h=[];return this.eachLayer(function(_){h.push(_.toGeoJSON(l).geometry.coordinates)}),ws(this,{type:"MultiPoint",coordinates:h})},toGeoJSON:function(l){var h=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(h==="MultiPoint")return this.toMultiPoint(l);var _=h==="GeometryCollection",S=[];return this.eachLayer(function(I){if(I.toGeoJSON){var R=I.toGeoJSON(l);if(_)S.push(R.geometry);else{var Y=ls(R);Y.type==="FeatureCollection"?S.push.apply(S,Y.features):S.push(Y)}}}),_?ws(this,{geometries:S,type:"GeometryCollection"}):{type:"FeatureCollection",features:S}}});function ps(l,h){return new Zi(l,h)}var Ss=ps,Vs=Qo.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,h,_){this._url=l,this._bounds=Gt(h),x(this,_)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Be(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){we(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(l){return this.options.opacity=l,this._image&&this._updateOpacity(),this},setStyle:function(l){return l.opacity&&this.setOpacity(l.opacity),this},bringToFront:function(){return this._map&&ae(this._image),this},bringToBack:function(){return this._map&&De(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=Gt(l),this._map&&this._reset(),this},getEvents:function(){var l={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var l=this._url.tagName==="IMG",h=this._image=l?this._url:te("img");if(Be(h,"leaflet-image-layer"),this._zoomAnimated&&Be(h,"leaflet-zoom-animated"),this.options.className&&Be(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onload=r(this.fire,this,"load"),h.onerror=r(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(h.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),l){this._url=h.src;return}h.src=this._url,h.alt=this.options.alt},_animateZoom:function(l){var h=this._map.getZoomScale(l.zoom),_=this._map._latLngBoundsToNewLayerBounds(this._bounds,l.zoom,l.center).min;Fe(this._image,_,h)},_reset:function(){var l=this._image,h=new We(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),_=h.getSize();Me(l,h.min),l.style.width=_.x+"px",l.style.height=_.y+"px"},_updateOpacity:function(){oe(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var l=this.options.errorOverlayUrl;l&&this._url!==l&&(this._url=l,this._image.src=l)},getCenter:function(){return this._bounds.getCenter()}}),_a=function(l,h,_){return new Vs(l,h,_)},jr=Vs.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var l=this._url.tagName==="VIDEO",h=this._image=l?this._url:te("video");if(Be(h,"leaflet-image-layer"),this._zoomAnimated&&Be(h,"leaflet-zoom-animated"),this.options.className&&Be(h,this.options.className),h.onselectstart=g,h.onmousemove=g,h.onloadeddata=r(this.fire,this,"load"),l){for(var _=h.getElementsByTagName("source"),S=[],I=0;I<_.length;I++)S.push(_[I].src);this._url=_.length>0?S:[h.src];return}A(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(h.style,"objectFit")&&(h.style.objectFit="fill"),h.autoplay=!!this.options.autoplay,h.loop=!!this.options.loop,h.muted=!!this.options.muted,h.playsInline=!!this.options.playsInline;for(var R=0;R<this._url.length;R++){var Y=te("source");Y.src=this._url[R],h.appendChild(Y)}}});function js(l,h,_){return new jr(l,h,_)}var wn=Vs.extend({_initImage:function(){var l=this._image=this._url;Be(l,"leaflet-image-layer"),this._zoomAnimated&&Be(l,"leaflet-zoom-animated"),this.options.className&&Be(l,this.options.className),l.onselectstart=g,l.onmousemove=g}});function Jo(l,h,_){return new wn(l,h,_)}var Ts=Qo.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,h){l&&(l instanceof Dt||A(l))?(this._latlng=St(l),x(this,h)):(x(this,l),this._source=h),this.options.content&&(this._content=this.options.content)},openOn:function(l){return l=arguments.length?l:this._source._map,l.hasLayer(this)||l.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(l){return this._map?this.close():(arguments.length?this._source=l:l=this._source,this._prepareOpen(),this.openOn(l._map)),this},onAdd:function(l){this._zoomAnimated=l._zoomAnimated,this._container||this._initLayout(),l._fadeAnimated&&oe(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&oe(this._container,1),this.bringToFront(),this.options.interactive&&(Be(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(oe(this._container,0),this._removeTimeout=setTimeout(r(we,void 0,this._container),200)):we(this._container),this.options.interactive&&(qe(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=St(l),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(l){return this._content=l,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var l={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ae(this._container),this},bringToBack:function(){return this._map&&De(this._container),this},_prepareOpen:function(l){var h=this._source;if(!h._map)return!1;if(h instanceof Vr){h=null;var _=this._source._layers;for(var S in _)if(_[S]._map){h=_[S];break}if(!h)return!1;this._source=h}if(!l)if(h.getCenter)l=h.getCenter();else if(h.getLatLng)l=h.getLatLng();else if(h.getBounds)l=h.getBounds().getCenter();else throw new Error("Unable to get source layer LatLng.");return this.setLatLng(l),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var l=this._contentNode,h=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof h=="string")l.innerHTML=h;else{for(;l.hasChildNodes();)l.removeChild(l.firstChild);l.appendChild(h)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var l=this._map.latLngToLayerPoint(this._latlng),h=$e(this.options.offset),_=this._getAnchor();this._zoomAnimated?Me(this._container,l.add(_)):h=h.add(l).add(_);var S=this._containerBottom=-h.y,I=this._containerLeft=-Math.round(this._containerWidth/2)+h.x;this._container.style.bottom=S+"px",this._container.style.left=I+"px"}},_getAnchor:function(){return[0,0]}});un.include({_initOverlay:function(l,h,_,S){var I=h;return I instanceof l||(I=new l(S).setContent(h)),_&&I.setLatLng(_),I}}),Qo.include({_initOverlay:function(l,h,_,S){var I=_;return I instanceof l?(x(I,S),I._source=this):(I=h&&!S?h:new l(S,this),I.setContent(_)),I}});var $r=Ts.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(l){return l=arguments.length?l:this._source._map,!l.hasLayer(this)&&l._popup&&l._popup.options.autoClose&&l.removeLayer(l._popup),l._popup=this,Ts.prototype.openOn.call(this,l)},onAdd:function(l){Ts.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof me||this._source.on("preclick",Ai))},onRemove:function(l){Ts.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof me||this._source.off("preclick",Ai))},getEvents:function(){var l=Ts.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(l.preclick=this.close),this.options.keepInView&&(l.moveend=this._adjustPan),l},_initLayout:function(){var l="leaflet-popup",h=this._container=te("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),_=this._wrapper=te("div",l+"-content-wrapper",h);if(this._contentNode=te("div",l+"-content",_),on(h),si(this._contentNode),et(h,"contextmenu",Ai),this._tipContainer=te("div",l+"-tip-container",h),this._tip=te("div",l+"-tip",this._tipContainer),this.options.closeButton){var S=this._closeButton=te("a",l+"-close-button",h);S.setAttribute("role","button"),S.setAttribute("aria-label","Close popup"),S.href="#close",S.innerHTML='<span aria-hidden="true">×</span>',et(S,"click",function(I){Qi(I),this.close()},this)}},_updateLayout:function(){var l=this._contentNode,h=l.style;h.width="",h.whiteSpace="nowrap";var _=l.offsetWidth;_=Math.min(_,this.options.maxWidth),_=Math.max(_,this.options.minWidth),h.width=_+1+"px",h.whiteSpace="",h.height="";var S=l.offsetHeight,I=this.options.maxHeight,R="leaflet-popup-scrolled";I&&S>I?(h.height=I+"px",Be(l,R)):qe(l,R),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),_=this._getAnchor();Me(this._container,h.add(_))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var l=this._map,h=parseInt($(this._container,"marginBottom"),10)||0,_=this._container.offsetHeight+h,S=this._containerWidth,I=new ue(this._containerLeft,-_-this._containerBottom);I._add(Nt(this._container));var R=l.layerPointToContainerPoint(I),Y=$e(this.options.autoPanPadding),he=$e(this.options.autoPanPaddingTopLeft||Y),Te=$e(this.options.autoPanPaddingBottomRight||Y),ht=l.getSize(),di=0,Xi=0;R.x+S+Te.x>ht.x&&(di=R.x+S-ht.x+Te.x),R.x-di-he.x<0&&(di=R.x-he.x),R.y+_+Te.y>ht.y&&(Xi=R.y+_-ht.y+Te.y),R.y-Xi-he.y<0&&(Xi=R.y-he.y),(di||Xi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([di,Xi]))}},_getAnchor:function(){return $e(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),cg=function(l,h){return new $r(l,h)};un.mergeOptions({closePopupOnClick:!0}),un.include({openPopup:function(l,h,_){return this._initOverlay($r,l,h,_).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),Qo.include({bindPopup:function(l,h){return this._popup=this._initOverlay($r,this._popup,l,h),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(l){return this._popup&&(this instanceof Vr||(this._popup._source=this),this._popup._prepareOpen(l||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(l){return this._popup&&this._popup.setContent(l),this},getPopup:function(){return this._popup},_openPopup:function(l){if(!(!this._popup||!this._map)){es(l);var h=l.layer||l.target;if(this._popup._source===h&&!(h instanceof me)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(l.latlng);return}this._popup._source=h,this.openPopup(l.latlng)}},_movePopup:function(l){this._popup.setLatLng(l.latlng)},_onKeyPress:function(l){l.originalEvent.keyCode===13&&this._openPopup(l)}});var Wl=Ts.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){Ts.prototype.onAdd.call(this,l),this.setOpacity(this.options.opacity),l.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(l){Ts.prototype.onRemove.call(this,l),l.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var l=Ts.prototype.getEvents.call(this);return this.options.permanent||(l.preclick=this.close),l},_initLayout:function(){var l="leaflet-tooltip",h=l+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=te("div",h),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+c(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var h,_,S=this._map,I=this._container,R=S.latLngToContainerPoint(S.getCenter()),Y=S.layerPointToContainerPoint(l),he=this.options.direction,Te=I.offsetWidth,ht=I.offsetHeight,di=$e(this.options.offset),Xi=this._getAnchor();he==="top"?(h=Te/2,_=ht):he==="bottom"?(h=Te/2,_=0):he==="center"?(h=Te/2,_=ht/2):he==="right"?(h=0,_=ht/2):he==="left"?(h=Te,_=ht/2):Y.x<R.x?(he="right",h=0,_=ht/2):(he="left",h=Te+(di.x+Xi.x)*2,_=ht/2),l=l.subtract($e(h,_,!0)).add(di).add(Xi),qe(I,"leaflet-tooltip-right"),qe(I,"leaflet-tooltip-left"),qe(I,"leaflet-tooltip-top"),qe(I,"leaflet-tooltip-bottom"),Be(I,"leaflet-tooltip-"+he),Me(I,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&oe(this._container,l)},_animateZoom:function(l){var h=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(h)},_getAnchor:function(){return $e(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),dg=function(l,h){return new Wl(l,h)};un.include({openTooltip:function(l,h,_){return this._initOverlay(Wl,l,h,_).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),Qo.include({bindTooltip:function(l,h){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Wl,this._tooltip,l,h),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(l){if(!(!l&&this._tooltipHandlersAdded)){var h=l?"off":"on",_={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?_.add=this._openTooltip:(_.mouseover=this._openTooltip,_.mouseout=this.closeTooltip,_.click=this._openTooltip,this._map?this._addFocusListeners():_.add=this._addFocusListeners),this._tooltip.options.sticky&&(_.mousemove=this._moveTooltip),this[h](_),this._tooltipHandlersAdded=!l}},openTooltip:function(l){return this._tooltip&&(this instanceof Vr||(this._tooltip._source=this),this._tooltip._prepareOpen(l)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(l){return this._tooltip&&this._tooltip.setContent(l),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(l){var h=typeof l.getElement=="function"&&l.getElement();h&&(et(h,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),et(h,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(l){var h=typeof l.getElement=="function"&&l.getElement();h&&h.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(l){if(!(!this._tooltip||!this._map)){if(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag){this._openOnceFlag=!0;var h=this;this._map.once("moveend",function(){h._openOnceFlag=!1,h._openTooltip(l)});return}this._tooltip._source=l.layer||l.target,this.openTooltip(this._tooltip.options.sticky?l.latlng:void 0)}},_moveTooltip:function(l){var h=l.latlng,_,S;this._tooltip.options.sticky&&l.originalEvent&&(_=this._map.mouseEventToContainerPoint(l.originalEvent),S=this._map.containerPointToLayerPoint(_),h=this._map.layerPointToLatLng(S)),this._tooltip.setLatLng(h)}});var Ur=Hl.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(l){var h=l&&l.tagName==="DIV"?l:document.createElement("div"),_=this.options;if(_.html instanceof Element?(it(h),h.appendChild(_.html)):h.innerHTML=_.html!==!1?_.html:"",_.bgPos){var S=$e(_.bgPos);h.style.backgroundPosition=-S.x+"px "+-S.y+"px"}return this._setIconStyles(h,"icon"),h},createShadow:function(){return null}});function _w(l){return new Ur(l)}Hl.Default=Uc;var qc=Qo.extend({options:{tileSize:256,opacity:1,updateWhenIdle:Se.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(l){x(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),we(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ae(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(De(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(l){return this.options.opacity=l,this._updateOpacity(),this},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){if(this._map){this._removeAllTiles();var l=this._clampZoom(this._map.getZoom());l!==this._tileZoom&&(this._tileZoom=l,this._updateLevels()),this._update()}return this},getEvents:function(){var l={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=u(this._onMoveEnd,this.options.updateInterval,this)),l.move=this._onMove),this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},createTile:function(){return document.createElement("div")},getTileSize:function(){var l=this.options.tileSize;return l instanceof ue?l:new ue(l,l)},_updateZIndex:function(){this._container&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(l){for(var h=this.getPane().children,_=-l(-1/0,1/0),S=0,I=h.length,R;S<I;S++)R=h[S].style.zIndex,h[S]!==this._container&&R&&(_=l(_,+R));isFinite(_)&&(this.options.zIndex=_+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!Se.ielt9){oe(this._container,this.options.opacity);var l=+new Date,h=!1,_=!1;for(var S in this._tiles){var I=this._tiles[S];if(!(!I.current||!I.loaded)){var R=Math.min(1,(l-I.loaded)/200);oe(I.el,R),R<1?h=!0:(I.active?_=!0:this._onOpaqueTile(I),I.active=!0)}}_&&!this._noPrune&&this._pruneTiles(),h&&(nt(this._fadeFrame),this._fadeFrame=Re(this._updateOpacity,this))}},_onOpaqueTile:g,_initContainer:function(){this._container||(this._container=te("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var l=this._tileZoom,h=this.options.maxZoom;if(l!==void 0){for(var _ in this._levels)_=Number(_),this._levels[_].el.children.length||_===l?(this._levels[_].el.style.zIndex=h-Math.abs(l-_),this._onUpdateLevel(_)):(we(this._levels[_].el),this._removeTilesAtZoom(_),this._onRemoveLevel(_),delete this._levels[_]);var S=this._levels[l],I=this._map;return S||(S=this._levels[l]={},S.el=te("div","leaflet-tile-container leaflet-zoom-animated",this._container),S.el.style.zIndex=h,S.origin=I.project(I.unproject(I.getPixelOrigin()),l).round(),S.zoom=l,this._setZoomTransform(S,I.getCenter(),I.getZoom()),g(S.el.offsetWidth),this._onCreateLevel(S)),this._level=S,S}},_onUpdateLevel:g,_onRemoveLevel:g,_onCreateLevel:g,_pruneTiles:function(){if(this._map){var l,h,_=this._map.getZoom();if(_>this.options.maxZoom||_<this.options.minZoom){this._removeAllTiles();return}for(l in this._tiles)h=this._tiles[l],h.retain=h.current;for(l in this._tiles)if(h=this._tiles[l],h.current&&!h.active){var S=h.coords;this._retainParent(S.x,S.y,S.z,S.z-5)||this._retainChildren(S.x,S.y,S.z,S.z+2)}for(l in this._tiles)this._tiles[l].retain||this._removeTile(l)}},_removeTilesAtZoom:function(l){for(var h in this._tiles)this._tiles[h].coords.z===l&&this._removeTile(h)},_removeAllTiles:function(){for(var l in this._tiles)this._removeTile(l)},_invalidateAll:function(){for(var l in this._levels)we(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,h,_,S){var I=Math.floor(l/2),R=Math.floor(h/2),Y=_-1,he=new ue(+I,+R);he.z=+Y;var Te=this._tileCoordsToKey(he),ht=this._tiles[Te];return ht&&ht.active?(ht.retain=!0,!0):(ht&&ht.loaded&&(ht.retain=!0),Y>S?this._retainParent(I,R,Y,S):!1)},_retainChildren:function(l,h,_,S){for(var I=2*l;I<2*l+2;I++)for(var R=2*h;R<2*h+2;R++){var Y=new ue(I,R);Y.z=_+1;var he=this._tileCoordsToKey(Y),Te=this._tiles[he];if(Te&&Te.active){Te.retain=!0;continue}else Te&&Te.loaded&&(Te.retain=!0);_+1<S&&this._retainChildren(I,R,_+1,S)}},_resetView:function(l){var h=l&&(l.pinch||l.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),h,h)},_animateZoom:function(l){this._setView(l.center,l.zoom,!0,l.noUpdate)},_clampZoom:function(l){var h=this.options;return h.minNativeZoom!==void 0&&l<h.minNativeZoom?h.minNativeZoom:h.maxNativeZoom!==void 0&&h.maxNativeZoom<l?h.maxNativeZoom:l},_setView:function(l,h,_,S){var I=Math.round(h);this.options.maxZoom!==void 0&&I>this.options.maxZoom||this.options.minZoom!==void 0&&I<this.options.minZoom?I=void 0:I=this._clampZoom(I);var R=this.options.updateWhenZooming&&I!==this._tileZoom;(!S||R)&&(this._tileZoom=I,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),I!==void 0&&this._update(l),_||this._pruneTiles(),this._noPrune=!!_),this._setZoomTransforms(l,h)},_setZoomTransforms:function(l,h){for(var _ in this._levels)this._setZoomTransform(this._levels[_],l,h)},_setZoomTransform:function(l,h,_){var S=this._map.getZoomScale(_,l.zoom),I=l.origin.multiplyBy(S).subtract(this._map._getNewPixelOrigin(h,_)).round();Se.any3d?Fe(l.el,I,S):Me(l.el,I)},_resetGrid:function(){var l=this._map,h=l.options.crs,_=this._tileSize=this.getTileSize(),S=this._tileZoom,I=this._map.getPixelWorldBounds(this._tileZoom);I&&(this._globalTileRange=this._pxBoundsToTileRange(I)),this._wrapX=h.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,h.wrapLng[0]],S).x/_.x),Math.ceil(l.project([0,h.wrapLng[1]],S).x/_.y)],this._wrapY=h.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([h.wrapLat[0],0],S).y/_.x),Math.ceil(l.project([h.wrapLat[1],0],S).y/_.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(l){var h=this._map,_=h._animatingZoom?Math.max(h._animateToZoom,h.getZoom()):h.getZoom(),S=h.getZoomScale(_,this._tileZoom),I=h.project(l,this._tileZoom).floor(),R=h.getSize().divideBy(S*2);return new We(I.subtract(R),I.add(R))},_update:function(l){var h=this._map;if(h){var _=this._clampZoom(h.getZoom());if(l===void 0&&(l=h.getCenter()),this._tileZoom!==void 0){var S=this._getTiledPixelBounds(l),I=this._pxBoundsToTileRange(S),R=I.getCenter(),Y=[],he=this.options.keepBuffer,Te=new We(I.getBottomLeft().subtract([he,-he]),I.getTopRight().add([he,-he]));if(!(isFinite(I.min.x)&&isFinite(I.min.y)&&isFinite(I.max.x)&&isFinite(I.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var ht in this._tiles){var di=this._tiles[ht].coords;(di.z!==this._tileZoom||!Te.contains(new ue(di.x,di.y)))&&(this._tiles[ht].current=!1)}if(Math.abs(_-this._tileZoom)>1){this._setView(l,_);return}for(var Xi=I.min.y;Xi<=I.max.y;Xi++)for(var Sn=I.min.x;Sn<=I.max.x;Sn++){var wo=new ue(Sn,Xi);if(wo.z=this._tileZoom,!!this._isValidTile(wo)){var Ks=this._tiles[this._tileCoordsToKey(wo)];Ks?Ks.current=!0:Y.push(wo)}}if(Y.sort(function(Ro,Qu){return Ro.distanceTo(R)-Qu.distanceTo(R)}),Y.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var fr=document.createDocumentFragment();for(Sn=0;Sn<Y.length;Sn++)this._addTile(Y[Sn],fr);this._level.el.appendChild(fr)}}}},_isValidTile:function(l){var h=this._map.options.crs;if(!h.infinite){var _=this._globalTileRange;if(!h.wrapLng&&(l.x<_.min.x||l.x>_.max.x)||!h.wrapLat&&(l.y<_.min.y||l.y>_.max.y))return!1}if(!this.options.bounds)return!0;var S=this._tileCoordsToBounds(l);return Gt(this.options.bounds).overlaps(S)},_keyToBounds:function(l){return this._tileCoordsToBounds(this._keyToTileCoords(l))},_tileCoordsToNwSe:function(l){var h=this._map,_=this.getTileSize(),S=l.scaleBy(_),I=S.add(_),R=h.unproject(S,l.z),Y=h.unproject(I,l.z);return[R,Y]},_tileCoordsToBounds:function(l){var h=this._tileCoordsToNwSe(l),_=new Ut(h[0],h[1]);return this.options.noWrap||(_=this._map.wrapLatLngBounds(_)),_},_tileCoordsToKey:function(l){return l.x+":"+l.y+":"+l.z},_keyToTileCoords:function(l){var h=l.split(":"),_=new ue(+h[0],+h[1]);return _.z=+h[2],_},_removeTile:function(l){var h=this._tiles[l];h&&(we(h.el),delete this._tiles[l],this.fire("tileunload",{tile:h.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){Be(l,"leaflet-tile");var h=this.getTileSize();l.style.width=h.x+"px",l.style.height=h.y+"px",l.onselectstart=g,l.onmousemove=g,Se.ielt9&&this.options.opacity<1&&oe(l,this.options.opacity)},_addTile:function(l,h){var _=this._getTilePos(l),S=this._tileCoordsToKey(l),I=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(I),this.createTile.length<2&&Re(r(this._tileReady,this,l,null,I)),Me(I,_),this._tiles[S]={el:I,coords:l,current:!0},h.appendChild(I),this.fire("tileloadstart",{tile:I,coords:l})},_tileReady:function(l,h,_){h&&this.fire("tileerror",{error:h,tile:_,coords:l});var S=this._tileCoordsToKey(l);_=this._tiles[S],_&&(_.loaded=+new Date,this._map._fadeAnimated?(oe(_.el,0),nt(this._fadeFrame),this._fadeFrame=Re(this._updateOpacity,this)):(_.active=!0,this._pruneTiles()),h||(Be(_.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:_.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Se.ielt9||!this._map._fadeAnimated?Re(this._pruneTiles,this):setTimeout(r(this._pruneTiles,this),250)))},_getTilePos:function(l){return l.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(l){var h=new ue(this._wrapX?f(l.x,this._wrapX):l.x,this._wrapY?f(l.y,this._wrapY):l.y);return h.z=l.z,h},_pxBoundsToTileRange:function(l){var h=this.getTileSize();return new We(l.min.unscaleBy(h).floor(),l.max.unscaleBy(h).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var l in this._tiles)if(!this._tiles[l].loaded)return!1;return!0}});function En(l){return new qc(l)}var ms=qc.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(l,h){this._url=l,h=x(this,h),h.detectRetina&&Se.retina&&h.maxZoom>0?(h.tileSize=Math.floor(h.tileSize/2),h.zoomReverse?(h.zoomOffset--,h.minZoom=Math.min(h.maxZoom,h.minZoom+1)):(h.zoomOffset++,h.maxZoom=Math.max(h.minZoom,h.maxZoom-1)),h.minZoom=Math.max(0,h.minZoom)):h.zoomReverse?h.minZoom=Math.min(h.maxZoom,h.minZoom):h.maxZoom=Math.max(h.minZoom,h.maxZoom),typeof h.subdomains=="string"&&(h.subdomains=h.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(l,h){return this._url===l&&h===void 0&&(h=!0),this._url=l,h||this.redraw(),this},createTile:function(l,h){var _=document.createElement("img");return et(_,"load",r(this._tileOnLoad,this,h,_)),et(_,"error",r(this._tileOnError,this,h,_)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(_.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(_.referrerPolicy=this.options.referrerPolicy),_.alt="",_.src=this.getTileUrl(l),_},getTileUrl:function(l){var h={r:Se.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var _=this._globalTileRange.max.y-l.y;this.options.tms&&(h.y=_),h["-y"]=_}return P(this._url,n(h,this.options))},_tileOnLoad:function(l,h){Se.ielt9?setTimeout(r(l,this,null,h),0):l(null,h)},_tileOnError:function(l,h,_){var S=this.options.errorTileUrl;S&&h.getAttribute("src")!==S&&(h.src=S),l(_,h)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,h=this.options.maxZoom,_=this.options.zoomReverse,S=this.options.zoomOffset;return _&&(l=h-l),l+S},_getSubdomain:function(l){var h=Math.abs(l.x+l.y)%this.options.subdomains.length;return this.options.subdomains[h]},_abortLoading:function(){var l,h;for(l in this._tiles)if(this._tiles[l].coords.z!==this._tileZoom&&(h=this._tiles[l].el,h.onload=g,h.onerror=g,!h.complete)){h.src=B;var _=this._tiles[l].coords;we(h),delete this._tiles[l],this.fire("tileabort",{tile:h,coords:_})}},_removeTile:function(l){var h=this._tiles[l];if(h)return h.el.setAttribute("src",B),qc.prototype._removeTile.call(this,l)},_tileReady:function(l,h,_){if(!(!this._map||_&&_.getAttribute("src")===B))return qc.prototype._tileReady.call(this,l,h,_)}});function Gc(l,h){return new ms(l,h)}var Yu=ms.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(l,h){this._url=l;var _=n({},this.defaultWmsParams);for(var S in h)S in this.options||(_[S]=h[S]);h=x(this,h);var I=h.detectRetina&&Se.retina?2:1,R=this.getTileSize();_.width=R.x*I,_.height=R.y*I,this.wmsParams=_},onAdd:function(l){this._crs=this.options.crs||l.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var h=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[h]=this._crs.code,ms.prototype.onAdd.call(this,l)},getTileUrl:function(l){var h=this._tileCoordsToNwSe(l),_=this._crs,S=yt(_.project(h[0]),_.project(h[1])),I=S.min,R=S.max,Y=(this._wmsVersion>=1.3&&this._crs===Xu?[I.y,I.x,R.y,R.x]:[I.x,I.y,R.x,R.y]).join(","),he=ms.prototype.getTileUrl.call(this,l);return he+k(this.wmsParams,he,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+Y},setParams:function(l,h){return n(this.wmsParams,l),h||this.redraw(),this}});function mA(l,h){return new Yu(l,h)}ms.WMS=Yu,Gc.wms=mA;var Ya=Qo.extend({options:{padding:.1},initialize:function(l){x(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Be(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var l={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(l.zoomanim=this._onAnimZoom),l},_onAnimZoom:function(l){this._updateTransform(l.center,l.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(l,h){var _=this._map.getZoomScale(h,this._zoom),S=this._map.getSize().multiplyBy(.5+this.options.padding),I=this._map.project(this._center,h),R=S.multiplyBy(-_).add(I).subtract(this._map._getNewPixelOrigin(l,h));Se.any3d?Fe(this._container,R,_):Me(this._container,R)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var l in this._layers)this._layers[l]._reset()},_onZoomEnd:function(){for(var l in this._layers)this._layers[l]._project()},_updatePaths:function(){for(var l in this._layers)this._layers[l]._update()},_update:function(){var l=this.options.padding,h=this._map.getSize(),_=this._map.containerPointToLayerPoint(h.multiplyBy(-l)).round();this._bounds=new We(_,_.add(h.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Vk=Ya.extend({options:{tolerance:0},getEvents:function(){var l=Ya.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Ya.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");et(l,"mousemove",this._onMouseMove,this),et(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),et(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){nt(this._redrawRequest),delete this._ctx,we(this._container),Xt(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var l;this._redrawBounds=null;for(var h in this._layers)l=this._layers[h],l._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ya.prototype._update.call(this);var l=this._bounds,h=this._container,_=l.getSize(),S=Se.retina?2:1;Me(h,l.min),h.width=S*_.x,h.height=S*_.y,h.style.width=_.x+"px",h.style.height=_.y+"px",Se.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Ya.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(l){this._updateDashArray(l),this._layers[c(l)]=l;var h=l._order={layer:l,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=h),this._drawLast=h,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(l){this._requestRedraw(l)},_removePath:function(l){var h=l._order,_=h.next,S=h.prev;_?_.prev=S:this._drawLast=S,S?S.next=_:this._drawFirst=_,delete l._order,delete this._layers[c(l)],this._requestRedraw(l)},_updatePath:function(l){this._extendRedrawBounds(l),l._project(),l._update(),this._requestRedraw(l)},_updateStyle:function(l){this._updateDashArray(l),this._requestRedraw(l)},_updateDashArray:function(l){if(typeof l.options.dashArray=="string"){var h=l.options.dashArray.split(/[, ]+/),_=[],S,I;for(I=0;I<h.length;I++){if(S=Number(h[I]),isNaN(S))return;_.push(S)}l.options._dashArray=_}else l.options._dashArray=l.options.dashArray},_requestRedraw:function(l){this._map&&(this._extendRedrawBounds(l),this._redrawRequest=this._redrawRequest||Re(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var h=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new We,this._redrawBounds.extend(l._pxBounds.min.subtract([h,h])),this._redrawBounds.extend(l._pxBounds.max.add([h,h]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var l=this._redrawBounds;if(l){var h=l.getSize();this._ctx.clearRect(l.min.x,l.min.y,h.x,h.y)}else this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore()},_draw:function(){var l,h=this._redrawBounds;if(this._ctx.save(),h){var _=h.getSize();this._ctx.beginPath(),this._ctx.rect(h.min.x,h.min.y,_.x,_.y),this._ctx.clip()}this._drawing=!0;for(var S=this._drawFirst;S;S=S.next)l=S.layer,(!h||l._pxBounds&&l._pxBounds.intersects(h))&&l._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(l,h){if(this._drawing){var _,S,I,R,Y=l._parts,he=Y.length,Te=this._ctx;if(he){for(Te.beginPath(),_=0;_<he;_++){for(S=0,I=Y[_].length;S<I;S++)R=Y[_][S],Te[S?"lineTo":"moveTo"](R.x,R.y);h&&Te.closePath()}this._fillStroke(Te,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var h=l._point,_=this._ctx,S=Math.max(Math.round(l._radius),1),I=(Math.max(Math.round(l._radiusY),1)||S)/S;I!==1&&(_.save(),_.scale(1,I)),_.beginPath(),_.arc(h.x,h.y/I,S,0,Math.PI*2,!1),I!==1&&_.restore(),this._fillStroke(_,l)}},_fillStroke:function(l,h){var _=h.options;_.fill&&(l.globalAlpha=_.fillOpacity,l.fillStyle=_.fillColor||_.color,l.fill(_.fillRule||"evenodd")),_.stroke&&_.weight!==0&&(l.setLineDash&&l.setLineDash(h.options&&h.options._dashArray||[]),l.globalAlpha=_.opacity,l.lineWidth=_.weight,l.strokeStyle=_.color,l.lineCap=_.lineCap,l.lineJoin=_.lineJoin,l.stroke())},_onClick:function(l){for(var h=this._map.mouseEventToLayerPoint(l),_,S,I=this._drawFirst;I;I=I.next)_=I.layer,_.options.interactive&&_._containsPoint(h)&&(!(l.type==="click"||l.type==="preclick")||!this._map._draggableMoved(_))&&(S=_);this._fireEvent(S?[S]:!1,l)},_onMouseMove:function(l){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var h=this._map.mouseEventToLayerPoint(l);this._handleMouseHover(l,h)}},_handleMouseOut:function(l){var h=this._hoveredLayer;h&&(qe(this._container,"leaflet-interactive"),this._fireEvent([h],l,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(l,h){if(!this._mouseHoverThrottled){for(var _,S,I=this._drawFirst;I;I=I.next)_=I.layer,_.options.interactive&&_._containsPoint(h)&&(S=_);S!==this._hoveredLayer&&(this._handleMouseOut(l),S&&(Be(this._container,"leaflet-interactive"),this._fireEvent([S],l,"mouseover"),this._hoveredLayer=S)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,l),this._mouseHoverThrottled=!0,setTimeout(r(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(l,h,_){this._map._fireDOMEvent(h,_||h.type,l)},_bringToFront:function(l){var h=l._order;if(h){var _=h.next,S=h.prev;if(_)_.prev=S;else return;S?S.next=_:_&&(this._drawFirst=_),h.prev=this._drawLast,this._drawLast.next=h,h.next=null,this._drawLast=h,this._requestRedraw(l)}},_bringToBack:function(l){var h=l._order;if(h){var _=h.next,S=h.prev;if(S)S.next=_;else return;_?_.prev=S:S&&(this._drawLast=S),h.prev=null,h.next=this._drawFirst,this._drawFirst.prev=h,this._drawFirst=h,this._requestRedraw(l)}}});function jk(l){return Se.canvas?new Vk(l):null}var ug=(function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(l){return document.createElement("<lvml:"+l+' class="lvml">')}}catch{}return function(l){return document.createElement("<"+l+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}})(),vA={_initContainer:function(){this._container=te("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Ya.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var h=l._container=ug("shape");Be(h,"leaflet-vml-shape "+(this.options.className||"")),h.coordsize="1 1",l._path=ug("path"),h.appendChild(l._path),this._updateStyle(l),this._layers[c(l)]=l},_addPath:function(l){var h=l._container;this._container.appendChild(h),l.options.interactive&&l.addInteractiveTarget(h)},_removePath:function(l){var h=l._container;we(h),l.removeInteractiveTarget(h),delete this._layers[c(l)]},_updateStyle:function(l){var h=l._stroke,_=l._fill,S=l.options,I=l._container;I.stroked=!!S.stroke,I.filled=!!S.fill,S.stroke?(h||(h=l._stroke=ug("stroke")),I.appendChild(h),h.weight=S.weight+"px",h.color=S.color,h.opacity=S.opacity,S.dashArray?h.dashStyle=A(S.dashArray)?S.dashArray.join(" "):S.dashArray.replace(/( *, *)/g," "):h.dashStyle="",h.endcap=S.lineCap.replace("butt","flat"),h.joinstyle=S.lineJoin):h&&(I.removeChild(h),l._stroke=null),S.fill?(_||(_=l._fill=ug("fill")),I.appendChild(_),_.color=S.fillColor||S.color,_.opacity=S.fillOpacity):_&&(I.removeChild(_),l._fill=null)},_updateCircle:function(l){var h=l._point.round(),_=Math.round(l._radius),S=Math.round(l._radiusY||_);this._setPath(l,l._empty()?"M0 0":"AL "+h.x+","+h.y+" "+_+","+S+" 0,"+65535*360)},_setPath:function(l,h){l._path.v=h},_bringToFront:function(l){ae(l._container)},_bringToBack:function(l){De(l._container)}},q_=Se.vml?ug:bi,hg=Ya.extend({_initContainer:function(){this._container=q_("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=q_("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){we(this._container),Xt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ya.prototype._update.call(this);var l=this._bounds,h=l.getSize(),_=this._container;(!this._svgSize||!this._svgSize.equals(h))&&(this._svgSize=h,_.setAttribute("width",h.x),_.setAttribute("height",h.y)),Me(_,l.min),_.setAttribute("viewBox",[l.min.x,l.min.y,h.x,h.y].join(" ")),this.fire("update")}},_initPath:function(l){var h=l._path=q_("path");l.options.className&&Be(h,l.options.className),l.options.interactive&&Be(h,"leaflet-interactive"),this._updateStyle(l),this._layers[c(l)]=l},_addPath:function(l){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(l._path),l.addInteractiveTarget(l._path)},_removePath:function(l){we(l._path),l.removeInteractiveTarget(l._path),delete this._layers[c(l)]},_updatePath:function(l){l._project(),l._update()},_updateStyle:function(l){var h=l._path,_=l.options;h&&(_.stroke?(h.setAttribute("stroke",_.color),h.setAttribute("stroke-opacity",_.opacity),h.setAttribute("stroke-width",_.weight),h.setAttribute("stroke-linecap",_.lineCap),h.setAttribute("stroke-linejoin",_.lineJoin),_.dashArray?h.setAttribute("stroke-dasharray",_.dashArray):h.removeAttribute("stroke-dasharray"),_.dashOffset?h.setAttribute("stroke-dashoffset",_.dashOffset):h.removeAttribute("stroke-dashoffset")):h.setAttribute("stroke","none"),_.fill?(h.setAttribute("fill",_.fillColor||_.color),h.setAttribute("fill-opacity",_.fillOpacity),h.setAttribute("fill-rule",_.fillRule||"evenodd")):h.setAttribute("fill","none"))},_updatePoly:function(l,h){this._setPath(l,ri(l._parts,h))},_updateCircle:function(l){var h=l._point,_=Math.max(Math.round(l._radius),1),S=Math.max(Math.round(l._radiusY),1)||_,I="a"+_+","+S+" 0 1,0 ",R=l._empty()?"M0 0":"M"+(h.x-_)+","+h.y+I+_*2+",0 "+I+-_*2+",0 ";this._setPath(l,R)},_setPath:function(l,h){l._path.setAttribute("d",h)},_bringToFront:function(l){ae(l._path)},_bringToBack:function(l){De(l._path)}});Se.vml&&hg.include(vA);function $k(l){return Se.svg||Se.vml?new hg(l):null}un.include({getRenderer:function(l){var h=l.options.renderer||this._getPaneRenderer(l.options.pane)||this.options.renderer||this._renderer;return h||(h=this._renderer=this._createRenderer()),this.hasLayer(h)||this.addLayer(h),h},_getPaneRenderer:function(l){if(l==="overlayPane"||l===void 0)return!1;var h=this._paneRenderers[l];return h===void 0&&(h=this._createRenderer({pane:l}),this._paneRenderers[l]=h),h},_createRenderer:function(l){return this.options.preferCanvas&&jk(l)||$k(l)}});var Uk=Ui.extend({initialize:function(l,h){Ui.prototype.initialize.call(this,this._boundsToLatLngs(l),h)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=Gt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function bA(l,h){return new Uk(l,h)}hg.create=q_,hg.pointsToPath=ri,Zi.geometryToLayer=Wn,Zi.coordsToLatLng=Gn,Zi.coordsToLatLngs=Ji,Zi.latLngToCoords=gs,Zi.latLngsToCoords=zs,Zi.getFeature=ws,Zi.asFeature=ls,un.mergeOptions({boxZoom:!0});var qk=hr.extend({initialize:function(l){this._map=l,this._container=l._container,this._pane=l._panes.overlayPane,this._resetStateTimeout=0,l.on("unload",this._destroy,this)},addHooks:function(){et(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Xt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){we(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(l){if(!l.shiftKey||l.which!==1&&l.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),gt(),ge(),this._startPoint=this._map.mouseEventToContainerPoint(l),et(document,{contextmenu:es,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=te("div","leaflet-zoom-box",this._container),Be(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var h=new We(this._point,this._startPoint),_=h.getSize();Me(this._box,h.min),this._box.style.width=_.x+"px",this._box.style.height=_.y+"px"},_finish:function(){this._moved&&(we(this._box),qe(this._container,"leaflet-crosshair")),Ye(),Ee(),Xt(document,{contextmenu:es,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(l){if(!(l.which!==1&&l.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(r(this._resetState,this),0);var h=new Ut(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(h).fire("boxzoomend",{boxZoomBounds:h})}},_onKeyDown:function(l){l.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});un.addInitHook("addHandler","boxZoom",qk),un.mergeOptions({doubleClickZoom:!0});var Gk=hr.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(l){var h=this._map,_=h.getZoom(),S=h.options.zoomDelta,I=l.originalEvent.shiftKey?_-S:_+S;h.options.doubleClickZoom==="center"?h.setZoom(I):h.setZoomAround(l.containerPoint,I)}});un.addInitHook("addHandler","doubleClickZoom",Gk),un.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Kk=hr.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new Yo(l._mapPane,l._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),l.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),l.on("zoomend",this._onZoomEnd,this),l.whenReady(this._onZoomEnd,this))}Be(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){qe(this._map._container,"leaflet-grab"),qe(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var l=this._map;if(l._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var h=Gt(this._map.options.maxBounds);this._offsetLimit=yt(this._map.latLngToContainerPoint(h.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(h.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;l.fire("movestart").fire("dragstart"),l.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(l){if(this._map.options.inertia){var h=this._lastTime=+new Date,_=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(_),this._times.push(h),this._prunePositions(h)}this._map.fire("move",l).fire("drag",l)},_prunePositions:function(l){for(;this._positions.length>1&&l-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var l=this._map.getSize().divideBy(2),h=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=h.subtract(l).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(l,h){return l-(l-h)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var l=this._draggable._newPos.subtract(this._draggable._startPos),h=this._offsetLimit;l.x<h.min.x&&(l.x=this._viscousLimit(l.x,h.min.x)),l.y<h.min.y&&(l.y=this._viscousLimit(l.y,h.min.y)),l.x>h.max.x&&(l.x=this._viscousLimit(l.x,h.max.x)),l.y>h.max.y&&(l.y=this._viscousLimit(l.y,h.max.y)),this._draggable._newPos=this._draggable._startPos.add(l)}},_onPreDragWrap:function(){var l=this._worldWidth,h=Math.round(l/2),_=this._initialWorldOffset,S=this._draggable._newPos.x,I=(S-h+_)%l+h-_,R=(S+h+_)%l-h-_,Y=Math.abs(I+_)<Math.abs(R+_)?I:R;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=Y},_onDragEnd:function(l){var h=this._map,_=h.options,S=!_.inertia||l.noInertia||this._times.length<2;if(h.fire("dragend",l),S)h.fire("moveend");else{this._prunePositions(+new Date);var I=this._lastPos.subtract(this._positions[0]),R=(this._lastTime-this._times[0])/1e3,Y=_.easeLinearity,he=I.multiplyBy(Y/R),Te=he.distanceTo([0,0]),ht=Math.min(_.inertiaMaxSpeed,Te),di=he.multiplyBy(ht/Te),Xi=ht/(_.inertiaDeceleration*Y),Sn=di.multiplyBy(-Xi/2).round();!Sn.x&&!Sn.y?h.fire("moveend"):(Sn=h._limitOffset(Sn,h.options.maxBounds),Re(function(){h.panBy(Sn,{duration:Xi,easeLinearity:Y,noMoveStart:!0,animate:!0})}))}}});un.addInitHook("addHandler","dragging",Kk),un.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Zk=hr.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(l){this._map=l,this._setPanDelta(l.options.keyboardPanDelta),this._setZoomDelta(l.options.zoomDelta)},addHooks:function(){var l=this._map._container;l.tabIndex<=0&&(l.tabIndex="0"),et(l,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),Xt(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var l=document.body,h=document.documentElement,_=l.scrollTop||h.scrollTop,S=l.scrollLeft||h.scrollLeft;this._map._container.focus(),window.scrollTo(S,_)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(l){var h=this._panKeys={},_=this.keyCodes,S,I;for(S=0,I=_.left.length;S<I;S++)h[_.left[S]]=[-1*l,0];for(S=0,I=_.right.length;S<I;S++)h[_.right[S]]=[l,0];for(S=0,I=_.down.length;S<I;S++)h[_.down[S]]=[0,l];for(S=0,I=_.up.length;S<I;S++)h[_.up[S]]=[0,-1*l]},_setZoomDelta:function(l){var h=this._zoomKeys={},_=this.keyCodes,S,I;for(S=0,I=_.zoomIn.length;S<I;S++)h[_.zoomIn[S]]=l;for(S=0,I=_.zoomOut.length;S<I;S++)h[_.zoomOut[S]]=-l},_addHooks:function(){et(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Xt(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(l){if(!(l.altKey||l.ctrlKey||l.metaKey)){var h=l.keyCode,_=this._map,S;if(h in this._panKeys){if(!_._panAnim||!_._panAnim._inProgress)if(S=this._panKeys[h],l.shiftKey&&(S=$e(S).multiplyBy(3)),_.options.maxBounds&&(S=_._limitOffset($e(S),_.options.maxBounds)),_.options.worldCopyJump){var I=_.wrapLatLng(_.unproject(_.project(_.getCenter()).add(S)));_.panTo(I)}else _.panBy(S)}else if(h in this._zoomKeys)_.setZoom(_.getZoom()+(l.shiftKey?3:1)*this._zoomKeys[h]);else if(h===27&&_._popup&&_._popup.options.closeOnEscapeKey)_.closePopup();else return;es(l)}}});un.addInitHook("addHandler","keyboard",Zk),un.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var Xk=hr.extend({addHooks:function(){et(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Xt(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var h=dr(l),_=this._map.options.wheelDebounceTime;this._delta+=h,this._lastMousePos=this._map.mouseEventToContainerPoint(l),this._startTime||(this._startTime=+new Date);var S=Math.max(_-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),S),es(l)},_performZoom:function(){var l=this._map,h=l.getZoom(),_=this._map.options.zoomSnap||0;l._stop();var S=this._delta/(this._map.options.wheelPxPerZoomLevel*4),I=4*Math.log(2/(1+Math.exp(-Math.abs(S))))/Math.LN2,R=_?Math.ceil(I/_)*_:I,Y=l._limitZoom(h+(this._delta>0?R:-R))-h;this._delta=0,this._startTime=null,Y&&(l.options.scrollWheelZoom==="center"?l.setZoom(h+Y):l.setZoomAround(this._lastMousePos,h+Y))}});un.addInitHook("addHandler","scrollWheelZoom",Xk);var yA=600;un.mergeOptions({tapHold:Se.touchNative&&Se.safari&&Se.mobile,tapTolerance:15});var Yk=hr.extend({addHooks:function(){et(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Xt(this._map._container,"touchstart",this._onDown,this)},_onDown:function(l){if(clearTimeout(this._holdTimeout),l.touches.length===1){var h=l.touches[0];this._startPos=this._newPos=new ue(h.clientX,h.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(et(document,"touchend",Qi),et(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",h))},this),yA),et(document,"touchend touchcancel contextmenu",this._cancel,this),et(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){Xt(document,"touchend",Qi),Xt(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),Xt(document,"touchend touchcancel contextmenu",this._cancel,this),Xt(document,"touchmove",this._onMove,this)},_onMove:function(l){var h=l.touches[0];this._newPos=new ue(h.clientX,h.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(l,h){var _=new MouseEvent(l,{bubbles:!0,cancelable:!0,view:window,screenX:h.screenX,screenY:h.screenY,clientX:h.clientX,clientY:h.clientY});_._simulated=!0,h.target.dispatchEvent(_)}});un.addInitHook("addHandler","tapHold",Yk),un.mergeOptions({touchZoom:Se.touch,bounceAtZoomLimits:!0});var Qk=hr.extend({addHooks:function(){Be(this._map._container,"leaflet-touch-zoom"),et(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){qe(this._map._container,"leaflet-touch-zoom"),Xt(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(l){var h=this._map;if(!(!l.touches||l.touches.length!==2||h._animatingZoom||this._zooming)){var _=h.mouseEventToContainerPoint(l.touches[0]),S=h.mouseEventToContainerPoint(l.touches[1]);this._centerPoint=h.getSize()._divideBy(2),this._startLatLng=h.containerPointToLatLng(this._centerPoint),h.options.touchZoom!=="center"&&(this._pinchStartLatLng=h.containerPointToLatLng(_.add(S)._divideBy(2))),this._startDist=_.distanceTo(S),this._startZoom=h.getZoom(),this._moved=!1,this._zooming=!0,h._stop(),et(document,"touchmove",this._onTouchMove,this),et(document,"touchend touchcancel",this._onTouchEnd,this),Qi(l)}},_onTouchMove:function(l){if(!(!l.touches||l.touches.length!==2||!this._zooming)){var h=this._map,_=h.mouseEventToContainerPoint(l.touches[0]),S=h.mouseEventToContainerPoint(l.touches[1]),I=_.distanceTo(S)/this._startDist;if(this._zoom=h.getScaleZoom(I,this._startZoom),!h.options.bounceAtZoomLimits&&(this._zoom<h.getMinZoom()&&I<1||this._zoom>h.getMaxZoom()&&I>1)&&(this._zoom=h._limitZoom(this._zoom)),h.options.touchZoom==="center"){if(this._center=this._startLatLng,I===1)return}else{var R=_._add(S)._divideBy(2)._subtract(this._centerPoint);if(I===1&&R.x===0&&R.y===0)return;this._center=h.unproject(h.project(this._pinchStartLatLng,this._zoom).subtract(R),this._zoom)}this._moved||(h._moveStart(!0,!1),this._moved=!0),nt(this._animRequest);var Y=r(h._move,h,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=Re(Y,this,!0),Qi(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,nt(this._animRequest),Xt(document,"touchmove",this._onTouchMove,this),Xt(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});un.addInitHook("addHandler","touchZoom",Qk),un.BoxZoom=qk,un.DoubleClickZoom=Gk,un.Drag=Kk,un.Keyboard=Zk,un.ScrollWheelZoom=Xk,un.TapHold=Yk,un.TouchZoom=Qk,t.Bounds=We,t.Browser=Se,t.CRS=Ot,t.Canvas=Vk,t.Circle=li,t.CircleMarker=bt,t.Class=be,t.Control=fs,t.DivIcon=Ur,t.DivOverlay=Ts,t.DomEvent=Zo,t.DomUtil=at,t.Draggable=Yo,t.Evented=Mt,t.FeatureGroup=Vr,t.GeoJSON=Zi,t.GridLayer=qc,t.Handler=hr,t.Icon=Hl,t.ImageOverlay=Vs,t.LatLng=Dt,t.LatLngBounds=Ut,t.Layer=Qo,t.LayerGroup=Fl,t.LineUtil=j_,t.Map=un,t.Marker=ce,t.Mixin=O_,t.Path=me,t.Point=ue,t.PolyUtil=uw,t.Polygon=Ui,t.Polyline=$i,t.Popup=$r,t.PosAnimation=ur,t.Projection=hw,t.Rectangle=Uk,t.Renderer=Ya,t.SVG=hg,t.SVGOverlay=wn,t.TileLayer=ms,t.Tooltip=Wl,t.Transformation=Si,t.Util=pt,t.VideoOverlay=jr,t.bind=r,t.bounds=yt,t.canvas=jk,t.circle=rn,t.circleMarker=Yt,t.control=ns,t.divIcon=_w,t.extend=n,t.featureGroup=gw,t.geoJSON=ps,t.geoJson=Ss,t.gridLayer=En,t.icon=pw,t.imageOverlay=_a,t.latLng=St,t.latLngBounds=Gt,t.layerGroup=fw,t.map=Ds,t.marker=je,t.point=$e,t.polygon=an,t.polyline=fn,t.popup=cg,t.rectangle=bA,t.setOptions=x,t.stamp=c,t.svg=$k,t.svgOverlay=Jo,t.tileLayer=Gc,t.tooltip=dg,t.transformation=Pi,t.version=i,t.videoOverlay=js;var wA=window.L;t.noConflict=function(){return window.L=wA,this},window.L=t}))})(Vg,Vg.exports)),Vg.exports}var CK=SK();const Cg=QN(CK),xK="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=",kK="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcYBeBeoQIhRAkLlRDGrhIgY3BJL8CVeKzuyXFzzjkn5ZxzzuScg3PO8cKzu70JkO0LfxdTU//pM9vTu7Xgf6KqOVTb9X7toRrVEfBf1HTVjZccrT/2by1VV928Yty9ZbVuucdz90frG8DBjl9pVApbOstvmMuvVgaNXSfAAd6pGxpy6yxf5ph43pS/4f3uoaGm2rdu72S9xzOvMymkZFq/ptDrk90mhW7e4zl7HLzhxGWPR20xmSxJ/VqldG5m9XhaVOA1DadsNh3Pu5L2N6QtPO/32JpqQBVVk20oy/Pi2s23WEvyfHbe1thadVQttvm7Llf65gGmXK67XtupyoM7HQhmXdLS8oGWJNeOJ3C5fG5XCEJnkez3/oFdsvgJ4l2ANZwhrJKk/7OSXa+3Vw2WJMlKnGkobouYk6T0TyX30klOUnTD9HJ5qpckL3EW/w4XF3Xd0FGywXUrstrclVsqz5Pd/sXFYyDnPdrLcQODmGOK47IZb4CmibmMn+MYRzFZ5jg33ZL/EJrWcszHmANy3ARBK/IXtciJy8VsitPSdE3uuHxzougojcUdr8/32atnz/ev3f/K5wtpxUTpcaI45zusVDpYtZi+jg0oU9b3x74h7+n9ABvYEZeKaVq0sh0AtLKsFtqNBdeT0MrSzwwlq9+x6xAO4tgOtSzbCjrNQQiNvQUbUEubvzBUeGw26yDCsRHCoLkTHDa7IdOLIThs/gHvChszh2CimE8peRs47cxANI0lYNB5y1DljpOF0IhzBDPOZnDOqYYbeGKECbPzWnXludPphw5c2YBq5zlwXphIbO4VDCZ0gnPfUO1TwZoYwAs2ExPCedAu9DAjfQUjzITQb3jNj0KG2Sgt6BHaQUdYzWz+XmBktOHwanXjaSTcwwziBcuMOtwBmqPrTOxFQR/DRKKPqyur0aiW6cULYsx6tBm0jXpR/AUWR6HRq9WVW6MRhIq5jLyjbaCTDCijyYJNpCajdyobP/eTw0iexBAKkJ3gA5KcQb2zBXsIBckn+xVv8jkZSaEFHE+jFEleAEfayRU0MouNoBmB/L50Ai/HSLIHxcrpCvnhSQAuakKp2C/YbCylJjXRVy/z3+Kv/RrNcCo+WUzlVEhzKffnTQnxeN9fWF88fiNCUdSTsaufaChKWInHeysygfpIqagoakW+vV20J8uyl6TyNKEZWV4oRSPyCkWpgOLSbkCObT8o2r6tlG58HQquf6O0v50tB7JM7F4EORd2dx/K0w/KHsVkLPaoYrwgP/y7krr3SSMA4zj+OBgmjYkxcdIJQyQRKgg2viX9Hddi9UBb29LrKR7CVVEEEXWojUkXNyfTNDE14W9gbHJNuhjDettN3ZvbOvdOqCD3Jp/9l+/wJE+9PkYGjx/fqkys3S2rMozM/o2106rfMUINo6hVqz+eu/hd1c4xTg0TAfy5kV+4UG6+IthHTU9woWmxuKNbTfuCSfovBCxq7EtHqvYL4Sm6F8GVxsSXHMQ07TOi1DKtZxjWaaIyi4CXWjxPccUw8WVbMYY5wxC1mzEyXMJWkllpRloi+Kkoq69sxBTlElF6aAxYUbjXNlhlDZilDnM4U5SlN5biRsRHnbx3mbeWjEh4mEyiuJDl5XcWVmX5GvNkFgLWZM5qwsop4/AWfLhU1cR7k1VVvcYCWRkOI6Xy5gmnphCYIkvzuNYzHzosq2oNk2RtSs8khfUOfHIDgR6ysYBaMpl4uEgk2U/oJTs9AaTSwma7dT69geAE2ZpEjUsn2ieJNHeKfrI3EcAGJ2ZaNgVuC8EBctCLc57P5u5led6IOBkIYkuQMrmmjChs4VkfOerHqSBkPzZlhe06RslZ3zMjk2sscqKwY0RcjKK+LWbzd7KiHhkncs/siFJ+V5eXxD34B8nVuJEpGJNmxN2gH3vSvp7J70tF+D1Ej8qUJD1TkErAND2GZwTFg/LubvmgiBG3SOvdlsqFQrkEzJCL1rstlnVFROixZoDDSuXQFHESwVGlcuQcMb/b42NgjLowh5MTDFE3vNB5qStRIErdCQEh6pLPR92anSUb/wAIhldAaDMpGgAAAABJRU5ErkJggg==",LK="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Mn=(o,e=Ny)=>{var t=IK(),i=b(v(t),2),n=v(i);z(()=>O(n,e())),D(o,t)};var IK=T('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),DK=T("<button> </button>"),EK=T('<span class="err svelte-767znw"> </span>'),TK=T('<span class="ok svelte-767znw"> </span>'),PK=T('<div class="loading svelte-767znw">Loading…</div>'),MK=T('<section id="sec-appearance" class="svelte-767znw"><h3 class="svelte-767znw">Appearance</h3> <div class="field svelte-767znw"><label for="theme-select" class="svelte-767znw">Color theme</label> <select id="theme-select" class="svelte-767znw"><option>Dark</option><option>Light</option><option>System (OS preference)</option></select></div></section>'),RK=T('<div class="field svelte-767znw"><label class="svelte-767znw">CA certificate <!></label> <textarea rows="4" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" spellcheck="false" class="svelte-767znw"></textarea></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client certificate <!></label> <textarea rows="4" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" spellcheck="false" class="svelte-767znw"></textarea></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client private key <!></label> <textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" spellcheck="false" class="svelte-767znw"></textarea></div>',1),NK=T('<section id="sec-mqtt" class="svelte-767znw"><h3 class="svelte-767znw">MQTT</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Protocol <!></label> <select class="svelte-767znw"><option>mqtt (plain TCP)</option><option>mqtts (TLS)</option><option>ws (WebSocket)</option><option>wss (WebSocket + TLS)</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Broker address <!></label> <input type="text" placeholder="localhost:1883" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Username <!></label> <input type="text" placeholder="(optional)" autocomplete="off" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Password <!></label> <input type="password" placeholder="(optional)" autocomplete="new-password" class="svelte-767znw"/></div> <!> <div class="field svelte-767znw"><label class="svelte-767znw">MQTT protocol version <!></label> <select class="svelte-767znw"><option>3.1.1 (default)</option><option>5.0</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client name <!></label> <input type="text" placeholder="she" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Variable prefix <!></label> <input type="text" placeholder="var" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable variable system <!></label></div></section>'),AK=T('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),OK=T('<div class="field svelte-767znw"><label class="svelte-767znw">Proxy user header <!></label> <input type="text" placeholder="X-Remote-User" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Logout URL <!></label> <input type="text" placeholder="https://auth.example.com/…/end-session/" class="svelte-767znw"/></div>',1),FK=T('<div class="field-error svelte-767znw"> </div>'),HK=T('<div class="field-ok svelte-767znw"> </div>'),WK=T('<section id="sec-auth" class="svelte-767znw"><h3 class="svelte-767znw">Authentication</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Mode <!></label> <select class="svelte-767znw"><option>None (open)</option><option>Password</option><option>Proxy header (nginx / authentik)</option></select></div> <!> <!> <!> <!> <div class="field svelte-767znw"><span></span> <button class="save-auth-btn svelte-767znw"> </button></div></section>'),BK=T('<section id="sec-webserver" class="svelte-767znw"><h3 class="svelte-767znw">Web server</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Port <!></label> <input type="number" min="0" max="65535" placeholder="8080" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Bind address <!></label> <input type="text" placeholder="0.0.0.0 (default)" class="svelte-767znw"/></div></section>'),zK=T('<section id="sec-scripts" class="svelte-767znw"><h3 class="svelte-767znw">Scripts</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Scripts directory <!></label> <input type="text" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable file watching <!></label></div></section>'),VK=T('<section id="sec-git" class="svelte-767znw"><h3 class="svelte-767znw">Git</h3> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-commit on save <!></label></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-push after commit <!></label></div></section>'),lE=T("<option> </option>"),jK=T('<div class="field svelte-767znw"><div class="map-label svelte-767znw">Map <span class="map-note svelte-767znw">(click or drag marker to set location — requires internet for tiles)</span></div> <div class="map-container svelte-767znw"></div></div>'),$K=T('<section id="sec-solar" class="svelte-767znw"><h3 class="svelte-767znw">Location</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Timezone <!></label> <input type="text" list="tz-list" placeholder="(system default)" autocomplete="off" spellcheck="false" class="svelte-767znw"/> <datalist id="tz-list"></datalist></div> <div class="field svelte-767znw"><label class="svelte-767znw">Latitude <!></label> <input type="number" step="0.0001" placeholder="48.7408" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Longitude <!></label> <input type="number" step="0.0001" placeholder="9.1778" class="svelte-767znw"/></div> <div class="field geo-actions svelte-767znw"><span></span> <div class="geo-btns svelte-767znw"><button class="geo-btn svelte-767znw"><!></button> <button class="geo-btn svelte-767znw"> </button></div></div> <!></section>'),UK=T('<section id="sec-logging" class="svelte-767znw"><h3 class="svelte-767znw">Logging</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Verbosity <!></label> <select class="svelte-767znw"><option>debug</option><option>info</option><option>warn</option><option>error</option></select></div></section>'),qK=T('<div class="field field--check svelte-767znw"><span></span> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Retain document messages <!></label></div>'),GK=T('<section id="sec-shedb" class="svelte-767znw"><h3 class="svelte-767znw">sheDB</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Database path <!></label> <input type="text" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">MQTT topic prefix <!></label> <input type="text" placeholder="she/db/ (default)" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Publish documents to MQTT <!></label></div> <!></section>'),KK=T('<section id="sec-redis" class="svelte-767znw"><h3 class="svelte-767znw">Redis</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Redis URL <!></label> <input type="text" placeholder="leave empty to disable" class="svelte-767znw"/></div></section>'),ZK=T('<span class="free-badge svelte-767znw">FREE</span> ',1),XK=T(' — <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),YK=T("<div><!> <!></div>"),QK=T('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),JK=T('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),eZ=T('<section id="sec-ai" class="svelte-767znw"><h3 class="svelte-767znw">AI Assistant</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Provider <!></label> <select class="svelte-767znw"></select></div> <!> <!> <div class="field svelte-767znw"><label class="svelte-767znw">Model <!></label> <input type="text" class="svelte-767znw"/></div> <!></section>'),tZ=T('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),iZ=T('<!> <div class="config-root svelte-767znw"><aside class="config-sidebar svelte-767znw"><div class="sidebar-search svelte-767znw"><svg class="search-icon svelte-767znw" width="13" height="13" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="6.5" cy="6.5" r="4.5"></circle><line x1="10" y1="10" x2="14" y2="14"></line></svg> <input class="search-input svelte-767znw" type="search" placeholder="Filter settings…" autocomplete="off" spellcheck="false"/></div> <nav class="section-nav svelte-767znw"></nav></aside> <div class="config-main svelte-767znw"><div class="config-topbar svelte-767znw"><span class="topbar-title svelte-767znw">Settings</span> <!> <!> <button class="save-btn svelte-767znw"> </button></div> <!></div></div>',1);function nZ(o,e){Fs(e,!0),delete Cg.Icon.Default.prototype._getIconUrl,Cg.Icon.Default.mergeOptions({iconUrl:xK,iconRetinaUrl:kK,shadowUrl:LK});let t=M(pi(bK())),i=M("~/.she"),n=M("mqtt"),s=M(""),r=M(""),a=M(""),c=M(""),u=M(""),f=M(""),g=M("logic"),p=M("var"),w=M(""),m=M(!1),x=M(8080),k=M(""),E=M("none"),P=M(""),A=M("X-Remote-User"),U=M(""),B=M(!1),ne=M(""),ie=M(""),pe=M(""),_e=M(!1),Ke=M(!1),Re=M(!1),nt=M(""),pt=M(48.7408),be=M(9.1778),_t=M(!1),ot=M(void 0),Mt=M(!1),ue=M(null),Rt=M("info"),$e=M(""),We=M(""),yt=M(!1),Ut=M(!1),Gt=M("");const Dt=[{id:"ollama",label:"Ollama (local)",provider:"ollama",baseUrl:"",defaultModel:"",freeNote:"",apiKeyUrl:""},{id:"lmstudio",label:"LM Studio (local)",provider:"openai",baseUrl:"http://localhost:1234",defaultModel:"",freeNote:"",apiKeyUrl:""},{id:"groq",label:"Groq — Qwen 2.5 Coder 32B (free)",provider:"openai",baseUrl:"https://api.groq.com/openai/v1",defaultModel:"qwen-2.5-coder-32b",freeNote:"14 400 req/day · no credit card needed",apiKeyUrl:"https://console.groq.com/keys"},{id:"gemini",label:"Google Gemini 2.0 Flash (free)",provider:"openai",baseUrl:"https://generativelanguage.googleapis.com/v1beta/openai",defaultModel:"gemini-2.0-flash",freeNote:"15 RPM · 1 000 000 tokens/day · no credit card",apiKeyUrl:"https://aistudio.google.com/apikey"},{id:"openai",label:"OpenAI (paid)",provider:"openai",baseUrl:"",defaultModel:"gpt-4o-mini",freeNote:"",apiKeyUrl:"https://platform.openai.com/api-keys"},{id:"anthropic",label:"Anthropic (paid)",provider:"anthropic",baseUrl:"",defaultModel:"claude-3-5-haiku-20241022",freeNote:"",apiKeyUrl:"https://console.anthropic.com/settings/keys"}];let St=M("ollama"),Ot=M("ollama"),kt=M(""),mi=M(""),hi=M("");const Si={};let Pi="ollama";function Fi(H,Z){return H==="anthropic"?"anthropic":H==="ollama"?"ollama":Z?Z.includes("localhost:1234")?"lmstudio":Z.includes("groq.com")?"groq":Z.includes("googleapis.com")?"gemini":"openai":"openai"}function Li(){Si[Pi]={baseUrl:d(kt),model:d(mi),apiKey:d(hi)};const H=Dt.find(J=>J.id===d(St));if(!H)return;y(Ot,H.provider,!0);const Z=Si[d(St)];y(kt,(Z==null?void 0:Z.baseUrl)??H.baseUrl,!0),y(mi,(Z==null?void 0:Z.model)??H.defaultModel,!0),y(hi,(Z==null?void 0:Z.apiKey)??"",!0),Pi=d(St)}const bi=ct(()=>Dt.find(H=>H.id===d(St)));let ri=M(pi({}));const fi=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","mqttVersion","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","gitAutoCommit","gitAutoPush","latitude","longitude","timezone","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai"]);zn(()=>{if(!d(ot))return;const H=typeof d(pt)=="number"?d(pt):48.7408,Z=typeof d(be)=="number"?d(be):9.1778,J=Cg.map(d(ot)).setView([H,Z],10);Cg.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(J);const ke=Cg.marker([H,Z],{draggable:!0}).addTo(J);y(ue,ke,!0);const Ve=ve=>{y(pt,+ve.lat.toFixed(6)),y(be,+ve.lng.toFixed(6))};return ke.on("dragend",()=>Ve(ke.getLatLng())),J.on("click",ve=>{ke.setLatLng(ve.latlng),Ve(ve.latlng)}),()=>{y(ue,null),J.remove()}}),zn(()=>{!d(ue)||d(pt)===""||d(be)===""||d(ue).setLatLng([Number(d(pt)),Number(d(be))])});let st;function Ht(){if(!navigator.geolocation){st.show("Geolocation is not supported by this browser.",{alert:!0});return}y(Mt,!0),navigator.geolocation.getCurrentPosition(H=>{y(pt,+H.coords.latitude.toFixed(6)),y(be,+H.coords.longitude.toFixed(6)),y(Mt,!1)},()=>{y(Mt,!1)})}let gi=M(!0),Ci=M(!1),Yi=M(""),xi=M(""),Mi=M(""),Ii=M("appearance");const Ki=[{id:"appearance",label:"Appearance",terms:["theme","color","dark","light"]},{id:"auth",label:"Authentication",terms:["auth","password","login","proxy","header","nginx","authentik","secure"]},{id:"mqtt",label:"MQTT",terms:["broker","url","client","name","variable","prefix","protocol","version","mqtt5"]},{id:"webserver",label:"Web server",terms:["port","http","server","bind","address"]},{id:"scripts",label:"Scripts",terms:["directory","watch","hot reload","dir"]},{id:"git",label:"Git",terms:["git","auto commit","auto push","commit","push","repository"]},{id:"solar",label:"Location",terms:["latitude","longitude","sunrise","sunset","geo","timezone","time zone","iana","schedule"]},{id:"logging",label:"Logging",terms:["verbosity","debug","info","warn","error"]},{id:"shedb",label:"sheDB",terms:["database","db","path","retain"]},{id:"redis",label:"Redis",terms:["redis","cache"]},{id:"ai",label:"AI Assistant",terms:["llm","ollama","openai","anthropic","model","provider","base url"]}];let Di=ct(()=>Ki.filter(H=>{const Z=d(Mi).trim().toLowerCase();return!Z||H.label.toLowerCase().includes(Z)||H.terms.some(J=>J.includes(Z))}));function yn(H){var Z;y(Ii,H,!0),(Z=document.getElementById("sec-"+H))==null||Z.scrollIntoView({behavior:"smooth",block:"start"})}co(async()=>{try{const H=await Bg();H.dataDir&&y(i,H.dataDir,!0)}catch{}try{const H=await Dl();if(typeof H.url=="string"&&H.url)try{const ke=new URL(H.url);y(n,ke.protocol.replace(":",""),!0),y(s,ke.host,!0)}catch{y(s,H.url,!0)}typeof H.mqttUsername=="string"&&y(r,H.mqttUsername,!0),typeof H.mqttPassword=="string"&&y(a,H.mqttPassword,!0),typeof H.mqttCa=="string"&&y(c,H.mqttCa,!0),typeof H.mqttCert=="string"&&y(u,H.mqttCert,!0),typeof H.mqttKey=="string"&&y(f,H.mqttKey,!0),typeof H.mqttVersion=="string"&&y(w,H.mqttVersion,!0),typeof H.name=="string"&&y(g,H.name,!0),typeof H.variablePrefix=="string"&&y(p,H.variablePrefix,!0),typeof H.disableVariables=="boolean"&&y(m,H.disableVariables,!0),typeof H.port=="number"&&y(x,H.port,!0),typeof H.bindAddress=="string"&&y(k,H.bindAddress,!0),typeof H.auth=="string"&&y(E,H.auth,!0),typeof H.proxyHeader=="string"&&y(A,H.proxyHeader,!0),typeof H.proxyLogoutUrl=="string"&&y(U,H.proxyLogoutUrl,!0),typeof H.dir=="string"&&y(pe,H.dir,!0),typeof H.disableWatch=="boolean"&&y(_e,H.disableWatch,!0),typeof H.gitAutoCommit=="boolean"&&y(Ke,H.gitAutoCommit,!0),typeof H.gitAutoPush=="boolean"&&y(Re,H.gitAutoPush,!0),typeof H.latitude=="number"&&y(pt,H.latitude,!0),typeof H.longitude=="number"&&y(be,H.longitude,!0),typeof H.timezone=="string"&&y(nt,H.timezone,!0),typeof H.verbosity=="string"&&y(Rt,H.verbosity,!0),typeof H.dbPath=="string"&&y($e,H.dbPath,!0),typeof H.dbPrefix=="string"&&y(We,H.dbPrefix,!0),typeof H.dbPublish=="boolean"&&y(yt,H.dbPublish,!0),typeof H.dbRetain=="boolean"&&y(Ut,H.dbRetain,!0);const Z=H.redis;Z!=null&&Z.url&&y(Gt,Z.url,!0);const J=H.ai;J!=null&&J.provider&&y(Ot,J.provider,!0),J!=null&&J.baseUrl&&y(kt,J.baseUrl,!0),J!=null&&J.model&&y(mi,J.model,!0),J!=null&&J.apiKey&&y(hi,J.apiKey,!0),y(St,Fi(d(Ot),d(kt)),!0),Pi=d(St),y(ri,Object.fromEntries(Object.entries(H).filter(([ke])=>!fi.has(ke))),!0)}catch(H){y(xi,H.message,!0)}finally{y(gi,!1)}});async function Ue(){if(y(ie,""),y(ne,""),d(E)==="password"&&!d(P)){y(ie,"A password is required to enable password authentication.");return}y(B,!0);try{await y7(d(E),d(E)==="password"?d(P):void 0,d(E)==="proxy"?d(A):void 0,d(E)==="proxy"?d(U):void 0),y(P,""),y(ne,"Authentication settings saved.")}catch(H){y(ie,H.message,!0)}finally{y(B,!1)}}async function zt(){y(xi,""),y(Yi,"");const H={...d(ri)};d(s)&&(H.url=`${d(n)}://${d(s)}`),H.name=d(g),H.variablePrefix=d(p),d(w)&&(H.mqttVersion=d(w)),d(m)&&(H.disableVariables=!0),d(r)&&(H.mqttUsername=d(r)),d(a)&&(H.mqttPassword=d(a)),d(c)&&(H.mqttCa=d(c)),d(u)&&(H.mqttCert=d(u)),d(f)&&(H.mqttKey=d(f)),d(x)!==""&&(H.port=Number(d(x))),d(k)&&(H.bindAddress=d(k)),d(pe)&&(H.dir=d(pe)),d(_e)&&(H.disableWatch=!0),d(Ke)&&(H.gitAutoCommit=!0),d(Re)&&(H.gitAutoPush=!0),d(pt)!==""&&(H.latitude=Number(d(pt))),d(be)!==""&&(H.longitude=Number(d(be))),d(nt)&&(H.timezone=d(nt)),H.verbosity=d(Rt),d($e)&&(H.dbPath=d($e),d(We)&&(H.dbPrefix=d(We)),d(yt)&&(H.dbPublish=!0,d(Ut)&&(H.dbRetain=!0))),d(Gt)&&(H.redis={url:d(Gt)}),d(Ot)&&(H.ai={provider:d(Ot),...d(kt)?{baseUrl:d(kt)}:{},...d(mi)?{model:d(mi)}:{},...d(hi)?{apiKey:d(hi)}:{}}),y(Ci,!0);try{const Z=await Xp(H);window.dispatchEvent(new CustomEvent("she:config-changed")),y(Yi,Z.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(Z){y(xi,Z.message,!0)}finally{y(Ci,!1)}}var ci=iZ(),Bt=wt(ci);Ps(Jf(Bt,{}),H=>st=H,()=>st);var Kt=b(Bt,2),Hi=v(Kt),nn=v(Hi),lt=b(v(nn),2),xt=b(nn,2);ui(xt,21,()=>Ki,H=>H.id,(H,Z)=>{var J=Ms(),ke=wt(J);{var Ve=Se=>{var Je=DK();let Lt;var ut=v(Je);z(()=>{Lt=It(Je,1,"section-link svelte-767znw",null,Lt,{active:d(Ii)===d(Z).id}),O(ut,d(Z).label)}),G("click",Je,()=>yn(d(Z).id)),D(Se,Je)},ve=ct(()=>d(Di).some(Se=>Se.id===d(Z).id));W(ke,Se=>{d(ve)&&Se(Ve)})}D(H,J)});var Pe=b(Hi,2),Q=v(Pe),re=b(v(Q),2);{var Ie=H=>{var Z=EK(),J=v(Z);z(()=>O(J,d(xi))),D(H,Z)};W(re,H=>{d(xi)&&H(Ie)})}var Ae=b(re,2);{var Oe=H=>{var Z=TK(),J=v(Z);z(()=>O(J,d(Yi))),D(H,Z)};W(Ae,H=>{d(Yi)&&H(Oe)})}var N=b(Ae,2),ee=v(N),le=b(Q,2);{var ye=H=>{var Z=PK();D(H,Z)},Ne=H=>{var Z=tZ(),J=v(Z);{var ke=ae=>{var De=MK(),vt=b(v(De),2),Be=b(v(vt),2),qe=v(Be);qe.value=qe.__value="dark";var Tt=b(qe);Tt.value=Tt.__value="light";var q=b(Tt);q.value=q.__value="system",G("change",Be,()=>yK(d(t))),Bo(Be,()=>d(t),oe=>y(t,oe)),D(ae,De)},Ve=ct(()=>d(Di).some(ae=>ae.id==="appearance"));W(J,ae=>{d(Ve)&&ae(ke)})}var ve=b(J,2);{var Se=ae=>{var De=NK(),vt=b(v(De),2),Be=v(vt),qe=b(v(Be));Mn(qe,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var Tt=b(Be,2),q=v(Tt);q.value=q.__value="mqtt";var oe=b(q);oe.value=oe.__value="mqtts";var ze=b(oe);ze.value=ze.__value="ws";var Ze=b(ze);Ze.value=Ze.__value="wss";var Fe=b(vt,2),Me=v(Fe),Nt=b(v(Me));Mn(Nt,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var gt=b(Me,2),Ye=b(Fe,2),Pt=v(Ye),tt=b(v(Pt));Mn(tt,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var ge=b(Pt,2),Ee=b(Ye,2),Le=v(Ee),He=b(v(Le));Mn(He,()=>"MQTT broker password. Stored in plain text in config.json.");var Ct=b(Le,2),Ce=b(Ee,2);{var Ge=Xn=>{var Zo=RK(),ur=wt(Zo),un=v(ur),Ds=b(v(un));Mn(Ds,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var fs=b(un,2),ns=b(ur,2),Es=v(ns),Wr=b(v(Es));Mn(Wr,()=>"PEM-encoded client certificate for mutual TLS authentication.");var Ka=b(Es,2),Ol=b(ns,2),Za=v(Ol),Xo=b(v(Za));Mn(Xo,()=>"PEM-encoded private key matching the client certificate.");var Br=b(Za,2);Qt(fs,()=>d(c),zr=>y(c,zr)),Qt(Ka,()=>d(u),zr=>y(u,zr)),Qt(Br,()=>d(f),zr=>y(f,zr)),D(Xn,Zo)};W(Ce,Xn=>{(d(n)==="mqtts"||d(n)==="wss")&&Xn(Ge)})}var rt=b(Ce,2),at=v(rt),et=b(v(at));Mn(et,()=>"MQTT protocol version used when connecting to the broker. Choose 5 only if your broker supports MQTT 5.0. Default: 3.1.1 (mqtt.js default).");var qt=b(at,2),Xt=v(qt);Xt.value=Xt.__value="";var sn=b(Xt);sn.value=sn.__value="5";var Bi=b(rt,2),hn=v(Bi),Hn=b(v(hn));Mn(Hn,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var Ai=b(hn,2),si=b(Bi,2),on=v(si),Qi=b(v(on));Mn(Qi,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var es=b(on,2),Bs=b(si,2),ho=b(v(Bs),2),Ko=v(ho),dr=b(Ko,4);Mn(dr,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),Bo(Tt,()=>d(n),Xn=>y(n,Xn)),Qt(gt,()=>d(s),Xn=>y(s,Xn)),Qt(ge,()=>d(r),Xn=>y(r,Xn)),Qt(Ct,()=>d(a),Xn=>y(a,Xn)),Bo(qt,()=>d(w),Xn=>y(w,Xn)),Qt(Ai,()=>d(g),Xn=>y(g,Xn)),Qt(es,()=>d(p),Xn=>y(p,Xn)),xs(Ko,()=>d(m),Xn=>y(m,Xn)),D(ae,De)},Je=ct(()=>d(Di).some(ae=>ae.id==="mqtt"));W(ve,ae=>{d(Je)&&ae(Se)})}var Lt=b(ve,2);{var ut=ae=>{var De=WK(),vt=b(v(De),2),Be=v(vt),qe=b(v(Be));Mn(qe,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var Tt=b(Be,2),q=v(Tt);q.value=q.__value="none";var oe=b(q);oe.value=oe.__value="password";var ze=b(oe);ze.value=ze.__value="proxy";var Ze=b(vt,2);{var Fe=He=>{var Ct=AK(),Ce=v(Ct),Ge=v(Ce),rt=b(Ge);Mn(rt,()=>"Set a new password. Leave empty to keep the current password (if already set).");var at=b(Ce,2);z(()=>O(Ge,`${d(P)?"New password":"Password"} `)),Qt(at,()=>d(P),et=>y(P,et)),D(He,Ct)};W(Ze,He=>{d(E)==="password"&&He(Fe)})}var Me=b(Ze,2);{var Nt=He=>{var Ct=OK(),Ce=wt(Ct),Ge=v(Ce),rt=b(v(Ge));Mn(rt,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var at=b(Ge,2),et=b(Ce,2),qt=v(et),Xt=b(v(qt));Mn(Xt,()=>"URL to redirect to when the user clicks Logout (e.g. https://auth.example.com/application/o/she/end-session/ for Authentik). Leave empty to do nothing on logout.");var sn=b(qt,2);Qt(at,()=>d(A),Bi=>y(A,Bi)),Qt(sn,()=>d(U),Bi=>y(U,Bi)),D(He,Ct)};W(Me,He=>{d(E)==="proxy"&&He(Nt)})}var gt=b(Me,2);{var Ye=He=>{var Ct=FK(),Ce=v(Ct);z(()=>O(Ce,d(ie))),D(He,Ct)};W(gt,He=>{d(ie)&&He(Ye)})}var Pt=b(gt,2);{var tt=He=>{var Ct=HK(),Ce=v(Ct);z(()=>O(Ce,d(ne))),D(He,Ct)};W(Pt,He=>{d(ne)&&He(tt)})}var ge=b(Pt,2),Ee=b(v(ge),2),Le=v(Ee);z(()=>{Ee.disabled=d(B)||d(E)==="password"&&!d(P),O(Le,d(B)?"Saving…":"Apply authentication settings")}),Bo(Tt,()=>d(E),He=>y(E,He)),G("click",Ee,Ue),D(ae,De)},mt=ct(()=>d(Di).some(ae=>ae.id==="auth"));W(Lt,ae=>{d(mt)&&ae(ut)})}var Et=b(Lt,2);{var Wt=ae=>{var De=BK(),vt=b(v(De),2),Be=v(vt),qe=b(v(Be));Mn(qe,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var Tt=b(Be,2),q=b(vt,2),oe=v(q),ze=b(v(oe));Mn(ze,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Ze=b(oe,2);Qt(Tt,()=>d(x),Fe=>y(x,Fe)),Qt(Ze,()=>d(k),Fe=>y(k,Fe)),D(ae,De)},oi=ct(()=>d(Di).some(ae=>ae.id==="webserver"));W(Et,ae=>{d(oi)&&ae(Wt)})}var ti=b(Et,2);{var ai=ae=>{var De=zK(),vt=b(v(De),2),Be=v(vt),qe=b(v(Be));Mn(qe,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var Tt=b(Be,2),q=b(vt,2),oe=b(v(q),2),ze=v(oe),Ze=b(ze,4);Mn(Ze,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),z(()=>Ei(Tt,"placeholder",`${d(i)??""}/scripts (default)`)),Qt(Tt,()=>d(pe),Fe=>y(pe,Fe)),xs(ze,()=>d(_e),Fe=>y(_e,Fe)),D(ae,De)},ki=ct(()=>d(Di).some(ae=>ae.id==="scripts"));W(ti,ae=>{d(ki)&&ae(ai)})}var Ri=b(ti,2);{var ji=ae=>{var De=VK(),vt=b(v(De),2),Be=b(v(vt),2),qe=v(Be),Tt=b(qe,4);Mn(Tt,()=>"When enabled, saving or renaming/deleting a script automatically creates a git commit. Only effective when the scripts directory is inside a git repository.");var q=b(vt,2),oe=b(v(q),2),ze=v(oe),Ze=b(ze,4);Mn(Ze,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),xs(qe,()=>d(Ke),Fe=>y(Ke,Fe)),xs(ze,()=>d(Re),Fe=>y(Re,Fe)),D(ae,De)},wi=ct(()=>d(Di).some(ae=>ae.id==="git"));W(Ri,ae=>{d(wi)&&ae(ji)})}var Ni=b(Ri,2);{var gn=ae=>{var De=$K(),vt=b(v(De),2),Be=v(vt),qe=b(v(Be));Mn(qe,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var Tt=b(Be,2),q=b(Tt,2);ui(q,20,()=>{var at;return((at=Intl.supportedValuesOf)==null?void 0:at.call(Intl,"timeZone"))??[]},qi,(at,et)=>{var qt=lE(),Xt=v(qt),sn={};z(()=>{O(Xt,et),sn!==(sn=et)&&(qt.value=(qt.__value=et)??"")}),D(at,qt)});var oe=b(vt,2),ze=v(oe),Ze=b(v(ze));Mn(Ze,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Fe=b(ze,2),Me=b(oe,2),Nt=v(Me),gt=b(v(Nt));Mn(gt,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ye=b(Nt,2),Pt=b(Me,2),tt=b(v(Pt),2),ge=v(tt),Ee=v(ge);{var Le=at=>{var et=Er("…");D(at,et)},He=at=>{var et=Er("📍 Use my location");D(at,et)};W(Ee,at=>{d(Mt)?at(Le):at(He,-1)})}var Ct=b(ge,2),Ce=v(Ct),Ge=b(Pt,2);{var rt=at=>{var et=jK(),qt=b(v(et),2);Ps(qt,Xt=>y(ot,Xt),()=>d(ot)),D(at,et)};W(Ge,at=>{d(_t)&&at(rt)})}z(()=>{ge.disabled=d(Mt),O(Ce,d(_t)?"Hide map":"Pick on map")}),Qt(Tt,()=>d(nt),at=>y(nt,at)),Qt(Fe,()=>d(pt),at=>y(pt,at)),Qt(Ye,()=>d(be),at=>y(be,at)),G("click",ge,Ht),G("click",Ct,()=>y(_t,!d(_t))),D(ae,De)},Fn=ct(()=>d(Di).some(ae=>ae.id==="solar"));W(Ni,ae=>{d(Fn)&&ae(gn)})}var Un=b(Ni,2);{var In=ae=>{var De=UK(),vt=b(v(De),2),Be=v(vt),qe=b(v(Be));Mn(qe,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var Tt=b(Be,2),q=v(Tt);q.value=q.__value="debug";var oe=b(q);oe.value=oe.__value="info";var ze=b(oe);ze.value=ze.__value="warn";var Ze=b(ze);Ze.value=Ze.__value="error",Bo(Tt,()=>d(Rt),Fe=>y(Rt,Fe)),D(ae,De)},ni=ct(()=>d(Di).some(ae=>ae.id==="logging"));W(Un,ae=>{d(ni)&&ae(In)})}var Wi=b(Un,2);{var V=ae=>{var De=GK(),vt=b(v(De),2),Be=v(vt),qe=b(v(Be));Mn(qe,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var Tt=b(Be,2),q=b(vt,2),oe=v(q),ze=b(v(oe));Mn(ze,()=>"Prefix for all sheDB MQTT topics. Defaults to she/db/ — documents publish to {prefix}doc/{id}, views to {prefix}view/{id}, commands use {prefix}set/{id} etc.");var Ze=b(oe,2),Fe=b(q,2),Me=b(v(Fe),2);let Nt;var gt=v(Me),Ye=b(gt,4);Mn(Ye,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var Pt=b(Fe,2);{var tt=ge=>{var Ee=qK(),Le=b(v(Ee),2);let He;var Ct=v(Le),Ce=b(Ct,4);Mn(Ce,()=>"When enabled, MQTT messages for document changes are published as retained messages."),z(()=>{He=It(Le,1,"check-label svelte-767znw",null,He,{muted:!d($e)}),Ct.disabled=!d($e)}),xs(Ct,()=>d(Ut),Ge=>y(Ut,Ge)),D(ge,Ee)};W(Pt,ge=>{d(yt)&&ge(tt)})}z(()=>{Ei(Tt,"placeholder",`defaults to ${d(i)??""}/db`),Ze.disabled=!d($e),Nt=It(Me,1,"check-label svelte-767znw",null,Nt,{muted:!d($e)}),gt.disabled=!d($e)}),Qt(Tt,()=>d($e),ge=>y($e,ge)),Qt(Ze,()=>d(We),ge=>y(We,ge)),xs(gt,()=>d(yt),ge=>y(yt,ge)),D(ae,De)},se=ct(()=>d(Di).some(ae=>ae.id==="shedb"));W(Wi,ae=>{d(se)&&ae(V)})}var Xe=b(Wi,2);{var X=ae=>{var De=KK(),vt=b(v(De),2),Be=v(vt),qe=b(v(Be));Mn(qe,()=>"redis:// URL for the optional Redis write-through cache. All state store changes are written to the she:state hash. Leave empty to disable.");var Tt=b(Be,2);Qt(Tt,()=>d(Gt),q=>y(Gt,q)),D(ae,De)},$=ct(()=>d(Di).some(ae=>ae.id==="redis"));W(Xe,ae=>{d($)&&ae(X)})}var te=b(Xe,2);{var we=ae=>{var De=eZ(),vt=b(v(De),2),Be=v(vt),qe=b(v(Be));Mn(qe,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var Tt=b(Be,2);ui(Tt,21,()=>Dt,qi,(tt,ge)=>{var Ee=lE(),Le=v(Ee),He={};z(()=>{O(Le,d(ge).label),He!==(He=d(ge).id)&&(Ee.value=(Ee.__value=d(ge).id)??"")}),D(tt,Ee)});var q=b(vt,2);{var oe=tt=>{var ge=YK();let Ee;var Le=v(ge);{var He=Ge=>{var rt=ZK(),at=b(wt(rt));z(()=>O(at,` ${d(bi).freeNote??""}`)),D(Ge,rt)};W(Le,Ge=>{d(bi).freeNote&&Ge(He)})}var Ct=b(Le,2);{var Ce=Ge=>{var rt=XK(),at=b(wt(rt));z(()=>Ei(at,"href",d(bi).apiKeyUrl)),D(Ge,rt)};W(Ct,Ge=>{d(bi).apiKeyUrl&&Ge(Ce)})}z(()=>Ee=It(ge,1,"preset-note svelte-767znw",null,Ee,{free:!!d(bi).freeNote})),D(tt,ge)};W(q,tt=>{var ge,Ee;((ge=d(bi))!=null&&ge.freeNote||(Ee=d(bi))!=null&&Ee.apiKeyUrl)&&tt(oe)})}var ze=b(q,2);{var Ze=tt=>{var ge=QK(),Ee=v(ge),Le=b(v(Ee));Mn(Le,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var He=b(Ee,2);z(()=>{var Ct;return Ei(He,"placeholder",d(St)==="ollama"?"http://localhost:11434":d(St)==="lmstudio"?"http://localhost:1234":((Ct=d(bi))==null?void 0:Ct.baseUrl)??"")}),Qt(He,()=>d(kt),Ct=>y(kt,Ct)),D(tt,ge)};W(ze,tt=>{d(St)!=="anthropic"&&tt(Ze)})}var Fe=b(ze,2),Me=v(Fe),Nt=b(v(Me));Mn(Nt,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var gt=b(Me,2),Ye=b(Fe,2);{var Pt=tt=>{var ge=JK(),Ee=v(ge),Le=b(v(Ee));Mn(Le,()=>"Stored in config.json. Not needed for local providers.");var He=b(Ee,2);Qt(He,()=>d(hi),Ct=>y(hi,Ct)),D(tt,ge)};W(Ye,tt=>{d(St)!=="ollama"&&d(St)!=="lmstudio"&&tt(Pt)})}z(()=>{var tt;return Ei(gt,"placeholder",((tt=d(bi))==null?void 0:tt.defaultModel)||"e.g. llama3.2")}),G("change",Tt,Li),Bo(Tt,()=>d(St),tt=>y(St,tt)),Qt(gt,()=>d(mi),tt=>y(mi,tt)),D(ae,De)},it=ct(()=>d(Di).some(ae=>ae.id==="ai"));W(te,ae=>{d(it)&&ae(we)})}D(H,Z)};W(le,H=>{d(gi)?H(ye):H(Ne,-1)})}z(()=>{N.disabled=d(Ci),O(ee,d(Ci)?"Saving…":"Save")}),Qt(lt,()=>d(Mi),H=>y(Mi,H)),G("click",N,zt),D(o,ci),Hs()}Qs(["click","change"]);var sZ=T("<option> </option>"),oZ=T('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),rZ=T('<div class="page svelte-18loop9"><div class="toolbar svelte-18loop9"><h2 class="svelte-18loop9">Logs</h2> <select class="svelte-18loop9"></select> <input class="filter-in svelte-18loop9" type="search" placeholder="Filter messages…"/> <label class="check-label svelte-18loop9" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-18loop9"/> <span class="checkmark svelte-18loop9"></span> Regex</label> <label class="check-label svelte-18loop9"><input type="checkbox" class="svelte-18loop9"/> <span class="checkmark svelte-18loop9"></span> Auto-scroll</label> <button class="svelte-18loop9">Clear</button></div> <div class="log svelte-18loop9"></div></div>');function aZ(o,e){Fs(e,!0);let t=M(pi(XN())),i,n=M(!0),s=M("all"),r=M(""),a=M(!1);const c=["all","debug","info","warn","error"],u={debug:0,info:1,warn:2,error:3};Ik(ie=>{y(t,[...d(t).slice(-1999),ie],!0)}),co(()=>{i&&(i.scrollTop=i.scrollHeight)}),zn(()=>{d(t).length,d(n)&&i&&(i.scrollTop=i.scrollHeight)});function f(){y(t,[],!0)}function g(ie){if(d(s)!=="all"&&u[ie.level]<u[d(s)])return!1;if(!d(r))return!0;if(d(a))try{return new RegExp(d(r),"i").test(ie.msg)}catch{}return ie.msg.toLowerCase().includes(d(r).toLowerCase())}function p(ie){return new Date(ie).toLocaleTimeString()}var w=rZ(),m=v(w),x=b(v(m),2);ui(x,21,()=>c,qi,(ie,pe)=>{var _e=sZ(),Ke=v(_e),Re={};z(()=>{O(Ke,d(pe)),Re!==(Re=d(pe))&&(_e.value=(_e.__value=d(pe))??"")}),D(ie,_e)});var k=b(x,2),E=b(k,2),P=v(E),A=b(E,2),U=v(A),B=b(A,2),ne=b(m,2);ui(ne,21,()=>d(t).filter(g),ie=>ie.ts+ie.msg,(ie,pe)=>{var _e=oZ(),Ke=v(_e),Re=v(Ke),nt=b(Ke,2),pt=v(nt),be=b(nt,2),_t=v(be);z((ot,Mt)=>{It(_e,1,`line ${d(pe).level??""}`,"svelte-18loop9"),O(Re,ot),O(pt,Mt),O(_t,d(pe).msg)},[()=>p(d(pe).ts),()=>d(pe).level.toUpperCase()]),D(ie,_e)}),Ps(ne,ie=>i=ie,()=>i),Bo(x,()=>d(s),ie=>y(s,ie)),Qt(k,()=>d(r),ie=>y(r,ie)),xs(P,()=>d(a),ie=>y(a,ie)),xs(U,()=>d(n),ie=>y(n,ie)),G("click",B,f),D(o,w),Hs()}Qs(["click"]);var lZ=T('<span class="chat-model svelte-1twuiul"><!></span>'),cZ=T('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),dZ=T('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),uZ=T('Working on view <code class="svelte-1twuiul"> </code>',1),hZ=T('<button class="chip svelte-1twuiul"> </button>'),fZ=T('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),gZ=T('<div class="msg-content user-text svelte-1twuiul"> </div>'),cE=T('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),dE=T('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),uE=T('<div class="tool-events svelte-1twuiul"></div>'),hE=T('<div class="text-block svelte-1twuiul"></div>'),pZ=T('<button class="expand-btn svelte-1twuiul"> </button>'),_Z=T('<div class="code-block svelte-1twuiul"><div class="code-header svelte-1twuiul"><span class="code-lang svelte-1twuiul"> </span> <div class="code-actions svelte-1twuiul"><button class="svelte-1twuiul">Copy</button></div></div> <div><pre class="svelte-1twuiul"><code class="hljs svelte-1twuiul"></code></pre> <!></div></div>'),mZ=T('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),vZ=T('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),bZ=T("<div><!></div>"),yZ=T('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),wZ=T('<div class="code-block svelte-1twuiul"><div class="code-header svelte-1twuiul"><span class="code-lang svelte-1twuiul"> </span></div> <pre class="svelte-1twuiul"><code class="hljs svelte-1twuiul"></code></pre></div>'),SZ=T('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),CZ=T('<div class="chat-error svelte-1twuiul"> </div>'),xZ=T('<span><span class="badge badge-db svelte-1twuiul">db</span> <span class="chip-name svelte-1twuiul"> </span> <button class="chip-remove svelte-1twuiul"> </button></span>'),kZ=T('<span class="file-chip svelte-1twuiul"><span> </span> <span class="chip-name svelte-1twuiul"> </span> <button class="chip-remove svelte-1twuiul" title="Remove from context">×</button></span>'),LZ=T('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),IZ=T('<button class="send-btn svelte-1twuiul">↑</button>'),DZ=T('<option class="svelte-1twuiul"> </option>'),EZ=T('<select class="model-select svelte-1twuiul"></select>'),TZ=T('<span class="model-name svelte-1twuiul"> </span>'),PZ=T('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),MZ=T('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),RZ=T('<p class="info-status svelte-1twuiul">Loading…</p>'),NZ=T('<p class="info-status info-err svelte-1twuiul"> </p>'),AZ=T('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),OZ=T('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),FZ=T('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),HZ=T('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),WZ=T('<div class="running-model svelte-1twuiul"> </div>'),BZ=T('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),zZ=T('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),VZ=T('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),jZ=T('<div class="info-overlay svelte-1twuiul"><div class="info-popup svelte-1twuiul"><div class="info-popup-header svelte-1twuiul"><span class="svelte-1twuiul"> </span> <button title="Close" class="svelte-1twuiul">✕</button></div> <div class="info-popup-body svelte-1twuiul"><!></div></div></div>'),$Z=T('<div class="chat-panel svelte-1twuiul"><div class="chat-header svelte-1twuiul"><span class="chat-title svelte-1twuiul">AI — View assistant</span> <!> <!></div> <div class="messages svelte-1twuiul"><!> <!> <!> <!> <!></div> <!> <div class="context-row svelte-1twuiul"><label title="Include sheDB document IDs in context" class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> Doc IDs</label> <label title="Include sample document content in context (first 10 docs)" class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> Sample docs</label> <label title="Let the AI query sheDB documents on demand. Disables real-time streaming." class="svelte-1twuiul"><input type="checkbox" class="svelte-1twuiul"/><span class="checkmark svelte-1twuiul"></span> 😎 Agent</label> <span class="req-size svelte-1twuiul"> </span></div> <div class="files-row svelte-1twuiul"><!> <!> <button class="add-file-btn svelte-1twuiul" title="Attach file to context">+</button> <input type="file" multiple="" class="file-input-hidden svelte-1twuiul"/></div> <div><div><textarea rows="3" class="svelte-1twuiul"></textarea></div> <!></div> <!></div> <!>',1);function UZ(o,e){Fs(e,!0),pb.registerLanguage("javascript",iA),qn.use({breaks:!0,gfm:!0});let t=wu(e,"currentView",3,null);const i="she:viewchat:messages";let n=M(pi(JSON.parse(localStorage.getItem(i)??"[]"))),s=M(null),r=M(""),a=M(!1),c=M(""),u=M(null),f=M(pi([])),g=M(pi(localStorage.getItem("she:selectedModel")??""));zn(()=>{localStorage.setItem(i,JSON.stringify(d(n)))});let p=M(pi(new Set)),w=M(!1),m=M(null),x=M(!1),k=M(""),E=null,P=M(0);const A=["[core] reticulating splines…","[io] calibrating the flux capacitor…","[net] pinging the oracle (no response)…","[gpu] overclocking the neurons…","[fs] loading sarcasm module v4.2…","[mem] defragmenting the embedding space…","[sched] running gradient descent into madness…","[net] synchronizing with the hive mind…","[model] tickling the transformer…","[io] consulting rubber duck debugger…"];let U=M(!0),B=M(!0),ne=M(!0),ie=M(pi([])),pe=M(!0),_e=M(!1),Ke,Re=M(pi([])),nt=M(0),pt,be;const _t=ct(()=>({apiref:!1,shedb:d(U),sampleDocs:d(B),tools:d(ne)})),ot=ct(()=>{var V;return((V=d(u))==null?void 0:V.configured)??!1}),Mt=ct(()=>d(nt)+new TextEncoder().encode(d(r)).length),ue=ct(()=>d(pe)?t():null);async function Rt(){try{const V=await jN();y(u,V,!0),V.configured&&!d(g)&&y(g,V.model,!0)}catch{}}zn(()=>(window.addEventListener("she:config-changed",Rt),()=>window.removeEventListener("she:config-changed",Rt))),co(()=>{Rt()}),zn(()=>{d(g)&&localStorage.setItem("she:selectedModel",d(g))}),zn(()=>{var V;(V=d(u))!=null&&V.provider&&$N().then(se=>{y(f,se.models,!0),!d(g)&&se.models.length>0&&y(g,se.models[0],!0)}).catch(()=>{})}),zn(()=>{d(g),y(m,null),y(k,"")}),zn(()=>{const V=d(_t),se=d(ue),Xe=d(ie);d(ot)&&UN({context:V,currentView:se??null,extraFiles:Xe.length>0?Xe:void 0}).then(X=>{y(nt,new TextEncoder().encode(X.prompt).length,!0)}).catch(()=>{})}),zn(()=>{if(!d(a))return;y(P,Math.floor(Math.random()*A.length),!0);const V=setInterval(()=>{y(P,(d(P)+1)%A.length)},1e4);return()=>clearInterval(V)}),zn(()=>{var V;be&&(d(n).length+(((V=d(s))==null?void 0:V.length)??0),requestAnimationFrame(()=>{be&&(be.scrollTop=be.scrollHeight)}))});function $e(V){const se=[],Xe=/```(\w*)\n([\s\S]*?)```/g;let X=0,$;for(;($=Xe.exec(V))!==null;)$.index>X&&se.push({type:"text",text:V.slice(X,$.index)}),se.push({type:"code",lang:$[1]||"text",text:$[2].trimEnd()}),X=$.index+$[0].length;return X<V.length&&se.push({type:"text",text:V.slice(X)}),se}function We(V){const se=[],Xe=/```(\w*)\n([\s\S]*?)```/g;let X=0,$;for(;($=Xe.exec(V))!==null;)$.index>X&&se.push({type:"text",text:V.slice(X,$.index)}),se.push({type:"code",lang:$[1]||"text",text:$[2].trimEnd()}),X=$.index+$[0].length;const te=V.slice(X),we=te.match(/```(\w*)\n([\s\S]*)$/);return we?(we.index>0&&se.push({type:"text",text:te.slice(0,we.index)}),se.push({type:"code",lang:we[1]||"text",text:we[2]})):te&&se.push({type:"text",text:te}),se}function yt(V){const se={};for(const Xe of V)if(Xe.type==="code"){if(Xe.lang==="filter")se.filter=Xe.text.trim();else if(hi(Xe.lang)){const X=Xe.text.split(`
|
|
223
|
+
`)[0].trim();X==="// @view-map"?se.map=Xe.text.split(`
|
|
224
|
+
`).slice(1).join(`
|
|
225
|
+
`).trim():X==="// @view-reduce"&&(se.reduce=Xe.text.split(`
|
|
226
|
+
`).slice(1).join(`
|
|
227
|
+
`).trim())}}return se}function Ut(V){return V.filter!==void 0||V.map!==void 0||V.reduce!==void 0}function Gt(V){const se=[];return V.filter!==void 0&&se.push("filter"),V.map!==void 0&&se.push("map"),V.reduce!==void 0&&se.push("reduce"),`Apply ${se.join(" + ")}`}const Dt=15;function St(V){return V.split(`
|
|
228
|
+
`).length>Dt}function Ot(V){const se=new Set(d(p));se.has(V)?se.delete(V):se.add(V),y(p,se,!0)}function kt(V,se){if(hi(se))try{return pb.highlight(V,{language:"javascript"}).value}catch{}return V.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function mi(V){return qn.parse(V)}function hi(V){return!V||V==="js"||V==="javascript"}function Si(V){navigator.clipboard.writeText(V).catch(()=>{})}async function Pi(){if(y(w,!0),!(d(m)||d(x))){y(x,!0),y(k,"");try{y(m,await Rx(d(g)||d(u).model),!0)}catch(V){y(k,V.message,!0)}y(x,!1)}}function Fi(V){return V>=1e9?`${(V/1e9).toFixed(1)} GB`:V>=1e6?`${(V/1e6).toFixed(0)} MB`:`${V} B`}function Li(V){const se=V.match(/\.([^.]+)$/);return se?se[1].toUpperCase():"?"}function bi(V){switch(V){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return V}}function ri(V){y(ie,d(ie).filter((se,Xe)=>Xe!==V),!0)}function fi(){Ke.click()}async function st(V){if(!(!V||V.length===0))for(const se of Array.from(V)){const Xe=await se.text();y(ie,[...d(ie),{name:se.name,content:Xe}],!0)}}function Ht(V){const se=V.target;st(se.files),se.value=""}function gi(V){var se;V.preventDefault(),y(_e,!1),st(((se=V.dataTransfer)==null?void 0:se.files)??null)}function Ci(V){var se;(se=V.dataTransfer)!=null&&se.types.includes("Files")&&(V.preventDefault(),y(_e,!0))}function Yi(){y(_e,!1)}async function xi(){const V=d(r).trim();if(!(!V||d(a))){y(r,""),y(c,""),y(a,!0),y(n,[...d(n),{role:"user",content:V}],!0),E=new AbortController,y(Re,[],!0);try{await qN({messages:d(n),currentView:d(ue),context:d(_t),modelOverride:d(g)||void 0,extraFiles:d(ie).length>0?d(ie):void 0},se=>{y(s,(d(s)??"")+se)},E.signal,se=>{y(Re,[...d(Re),se],!0)}),y(n,[...d(n),{role:"assistant",content:d(s)??"",toolEvents:d(Re).length>0?[...d(Re)]:void 0}],!0),y(Re,[],!0)}catch(se){if(se.name==="AbortError"){const Xe=d(s);Xe!=null&&Xe.trim()&&y(n,[...d(n),{role:"assistant",content:Xe+`
|
|
229
|
+
|
|
230
|
+
*[stopped]*`,toolEvents:d(Re).length>0?[...d(Re)]:void 0}],!0)}else y(c,se.message,!0)}finally{E=null,y(s,null),y(Re,[],!0),y(a,!1)}}}function Mi(){E==null||E.abort()}function Ii(V){V.key==="Enter"&&!V.shiftKey&&(V.preventDefault(),xi())}function Ki(){y(n,[],!0),y(c,"")}const Di=["Write a view to list all document IDs","Write a view to sum a numeric property across all documents","Write a view that filters to a specific prefix and emits a field","Write a reduce that returns the maximum value","Explain how the current view works"];function yn(V){y(r,V,!0),pt==null||pt.focus()}var Ue=$Z(),zt=wt(Ue),ci=v(zt),Bt=b(v(ci),2);{var Kt=V=>{var se=lZ(),Xe=v(se);{var X=te=>{var we=Er();z(()=>O(we,`${d(u).provider??""} · ${(d(g)||d(u).model)??""}`)),D(te,we)},$=te=>{var we=Er("Not configured");D(te,we)};W(Xe,te=>{d(ot)?te(X):te($,-1)})}z(()=>Ei(se,"title",`Provider: ${d(u).provider??""}`)),D(V,se)};W(Bt,V=>{d(u)&&V(Kt)})}var Hi=b(Bt,2);{var nn=V=>{var se=cZ();G("click",se,Ki),D(V,se)};W(Hi,V=>{d(n).length>0&&V(nn)})}var lt=b(ci,2),xt=v(lt);{var Pe=V=>{var se=dZ();D(V,se)},Q=V=>{var se=fZ(),Xe=v(se),X=v(Xe);{var $=it=>{var ae=uZ(),De=b(wt(ae)),vt=v(De);z(()=>O(vt,t().id)),D(it,ae)},te=it=>{var ae=Er("No view selected. Ask a general sheDB view question.");D(it,ae)};W(X,it=>{t()?it($):it(te,-1)})}var we=b(Xe,2);ui(we,17,()=>Di,qi,(it,ae)=>{var De=hZ(),vt=v(De);z(()=>O(vt,d(ae))),G("click",De,()=>yn(d(ae))),D(it,De)}),D(V,se)};W(xt,V=>{d(ot)?d(n).length===0&&d(s)===null&&V(Q,1):V(Pe)})}var re=b(xt,2);ui(re,17,()=>d(n),qi,(V,se,Xe)=>{var X=bZ(),$=v(X);{var te=it=>{var ae=gZ(),De=v(ae);z(()=>O(De,d(se).content)),D(it,ae)},we=it=>{const ae=ct(()=>$e(d(se).content)),De=ct(()=>yt(d(ae)));var vt=vZ(),Be=wt(vt);{var qe=Fe=>{var Me=uE();ui(Me,21,()=>d(se).toolEvents,qi,(Nt,gt)=>{var Ye=Ms(),Pt=wt(Ye);{var tt=Ee=>{var Le=cE(),He=b(v(Le)),Ct=v(He);z(Ce=>O(Ct,Ce),[()=>d(gt).name.replace(/_/g," ")]),D(Ee,Le)},ge=Ee=>{var Le=dE(),He=b(v(Le)),Ct=v(He);z(Ce=>O(Ct,Ce),[()=>d(gt).name.replace(/_/g," ")]),D(Ee,Le)};W(Pt,Ee=>{d(gt).type==="tool_call"?Ee(tt):Ee(ge,-1)})}D(Nt,Ye)}),D(Fe,Me)};W(Be,Fe=>{var Me;(Me=d(se).toolEvents)!=null&&Me.length&&Fe(qe)})}var Tt=b(Be,2),q=v(Tt);ui(q,17,()=>d(ae),qi,(Fe,Me,Nt)=>{var gt=Ms(),Ye=wt(gt);{var Pt=ge=>{var Ee=hE();sc(Ee,()=>mi(d(Me).text),!0),D(ge,Ee)},tt=ge=>{const Ee=ct(()=>`${Xe}:${Nt}`),Le=ct(()=>St(d(Me).text)),He=ct(()=>d(p).has(d(Ee))),Ct=ct(()=>d(Me).lang==="filter");var Ce=_Z(),Ge=v(Ce),rt=v(Ge),at=v(rt),et=b(rt,2),qt=v(et),Xt=b(Ge,2);let sn;var Bi=v(Xt),hn=v(Bi);sc(hn,()=>kt(d(Me).text,d(Me).lang??""),!0);var Hn=b(Bi,2);{var Ai=si=>{var on=pZ(),Qi=v(on);z(()=>O(Qi,d(He)?"▲ collapse":"▼ expand")),G("click",on,()=>Ot(d(Ee))),D(si,on)};W(Hn,si=>{d(Le)&&si(Ai)})}z(()=>{O(at,d(Ct)?"filter":d(Me).lang),sn=It(Xt,1,"code-body svelte-1twuiul",null,sn,{collapsed:d(Le)&&!d(He)})}),G("click",qt,()=>Si(d(Me).text)),D(ge,Ce)};W(Ye,ge=>{d(Me).type==="text"?ge(Pt):ge(tt,-1)})}D(Fe,gt)});var oe=b(q,2);{var ze=Fe=>{var Me=mZ(),Nt=v(Me),gt=v(Nt);z(Ye=>O(gt,Ye),[()=>Gt(d(De))]),G("click",Nt,()=>e.onApplyView(d(De))),D(Fe,Me)},Ze=ct(()=>Ut(d(De))&&e.onApplyView);W(oe,Fe=>{d(Ze)&&Fe(ze)})}D(it,vt)};W($,it=>{d(se).role==="user"?it(te):it(we,-1)})}z(()=>It(X,1,`message ${d(se).role??""}`,"svelte-1twuiul")),D(V,X)});var Ie=b(re,2);{var Ae=V=>{var se=uE();ui(se,21,()=>d(Re),qi,(Xe,X)=>{var $=Ms(),te=wt($);{var we=ae=>{var De=cE(),vt=b(v(De)),Be=v(vt);z(qe=>O(Be,qe),[()=>d(X).name.replace(/_/g," ")]),D(ae,De)},it=ae=>{var De=dE(),vt=b(v(De)),Be=v(vt);z(qe=>O(Be,qe),[()=>d(X).name.replace(/_/g," ")]),D(ae,De)};W(te,ae=>{d(X).type==="tool_call"?ae(we):ae(it,-1)})}D(Xe,$)}),D(V,se)};W(Ie,V=>{d(Re).length>0&&V(Ae)})}var Oe=b(Ie,2);{var N=V=>{var se=yZ(),Xe=v(se),X=v(Xe),$=v(X);z(()=>O($,A[d(P)])),D(V,se)};W(Oe,V=>{d(a)&&d(s)===null&&d(Re).length===0&&V(N)})}var ee=b(Oe,2);{var le=V=>{var se=SZ(),Xe=v(se);ui(Xe,21,()=>We(d(s)),qi,(X,$)=>{var te=Ms(),we=wt(te);{var it=De=>{var vt=hE();sc(vt,()=>mi(d($).text),!0),D(De,vt)},ae=De=>{var vt=wZ(),Be=v(vt),qe=v(Be),Tt=v(qe),q=b(Be,2),oe=v(q);sc(oe,()=>kt(d($).text,d($).lang??""),!0),z(()=>O(Tt,d($).lang)),D(De,vt)};W(we,De=>{d($).type==="text"?De(it):De(ae,-1)})}D(X,te)}),D(V,se)};W(ee,V=>{d(s)!==null&&V(le)})}Ps(lt,V=>be=V,()=>be);var ye=b(lt,2);{var Ne=V=>{var se=CZ(),Xe=v(se);z(()=>O(Xe,d(c))),D(V,se)};W(ye,V=>{d(c)&&V(Ne)})}var H=b(ye,2),Z=v(H),J=v(Z),ke=b(Z,2),Ve=v(ke),ve=b(ke,2),Se=v(ve),Je=b(ve,2),Lt=v(Je),ut=b(H,2),mt=v(ut);{var Et=V=>{var se=xZ();let Xe;var X=b(v(se),2),$=v(X),te=b(X,2),we=v(te);z(()=>{Xe=It(se,1,"file-chip svelte-1twuiul",null,Xe,{inactive:!d(pe)}),O($,t().id),Ei(te,"title",d(pe)?"Remove from context":"Re-add to context"),O(we,d(pe)?"×":"+")}),G("click",te,()=>y(pe,!d(pe))),D(V,se)};W(mt,V=>{t()&&V(Et)})}var Wt=b(mt,2);ui(Wt,17,()=>d(ie),qi,(V,se,Xe)=>{const X=ct(()=>Li(d(se).name));var $=kZ(),te=v($),we=v(te),it=b(te,2),ae=v(it),De=b(it,2);z((vt,Be)=>{It(te,1,`badge badge-${vt??""}`,"svelte-1twuiul"),O(we,Be),O(ae,d(se).name)},[()=>d(X).toLowerCase(),()=>bi(d(X))]),G("click",De,()=>ri(Xe)),D(V,$)});var oi=b(Wt,2),ti=b(oi,2);Ps(ti,V=>Ke=V,()=>Ke);var ai=b(ut,2);let ki;var Ri=v(ai);let ji;var wi=v(Ri);Ps(wi,V=>pt=V,()=>pt);var Ni=b(Ri,2);{var gn=V=>{var se=LZ();G("click",se,Mi),D(V,se)},Fn=V=>{var se=IZ();z(Xe=>se.disabled=Xe,[()=>!d(r).trim()||!d(ot)]),G("click",se,xi),D(V,se)};W(Ni,V=>{d(a)?V(gn):V(Fn,-1)})}var Un=b(ai,2);{var In=V=>{var se=MZ(),Xe=v(se),X=v(Xe),$=b(Xe,2);{var te=De=>{var vt=EZ();ui(vt,21,()=>d(f),qi,(Be,qe)=>{var Tt=DZ(),q=v(Tt),oe={};z(()=>{O(q,d(qe)),oe!==(oe=d(qe))&&(Tt.value=(Tt.__value=d(qe))??"")}),D(Be,Tt)}),z(()=>vt.disabled=d(a)),Bo(vt,()=>d(g),Be=>y(g,Be)),D(De,vt)},we=De=>{var vt=TZ(),Be=v(vt);z(()=>O(Be,d(g)||d(u).model)),D(De,vt)};W($,De=>{d(f).length>0?De(te):De(we,-1)})}var it=b($,2);{var ae=De=>{var vt=PZ();G("click",vt,Pi),D(De,vt)};W(it,De=>{d(u).provider==="ollama"&&De(ae)})}z(()=>O(X,d(u).provider)),D(V,se)};W(Un,V=>{d(ot)&&d(u)&&V(In)})}var ni=b(zt,2);{var Wi=V=>{var se=jZ(),Xe=v(se),X=v(Xe),$=v(X),te=v($),we=b($,2),it=b(X,2),ae=v(it);{var De=qe=>{var Tt=RZ();D(qe,Tt)},vt=qe=>{var Tt=NZ(),q=v(Tt);z(()=>O(q,d(k))),D(qe,Tt)},Be=qe=>{var Tt=VZ(),q=v(Tt);{var oe=ge=>{var Ee=AZ(),Le=b(wt(Ee)),He=v(Le);z(()=>O(He,d(m).version)),D(ge,Ee)};W(q,ge=>{d(m).version&&ge(oe)})}var ze=b(q,2);{var Ze=ge=>{var Ee=OZ(),Le=b(wt(Ee)),He=v(Le);z(()=>O(He,d(m).details.family)),D(ge,Ee)};W(ze,ge=>{var Ee;(Ee=d(m).details)!=null&&Ee.family&&ge(Ze)})}var Fe=b(ze,2);{var Me=ge=>{var Ee=FZ(),Le=b(wt(Ee)),He=v(Le);z(()=>O(He,d(m).details.parameter_size)),D(ge,Ee)};W(Fe,ge=>{var Ee;(Ee=d(m).details)!=null&&Ee.parameter_size&&ge(Me)})}var Nt=b(Fe,2);{var gt=ge=>{var Ee=HZ(),Le=b(wt(Ee)),He=v(Le);z(()=>O(He,d(m).details.quantization_level)),D(ge,Ee)};W(Nt,ge=>{var Ee;(Ee=d(m).details)!=null&&Ee.quantization_level&&ge(gt)})}var Ye=b(Nt,2);{var Pt=ge=>{var Ee=BZ(),Le=b(wt(Ee),2);ui(Le,21,()=>d(m).running,qi,(He,Ct)=>{var Ce=WZ(),Ge=v(Ce);z(rt=>O(Ge,`${d(Ct).name??""} · ${rt??""} VRAM`),[()=>Fi(d(Ct).size_vram)]),D(He,Ce)}),D(ge,Ee)},tt=ge=>{var Ee=zZ();D(ge,Ee)};W(Ye,ge=>{d(m).running&&d(m).running.length>0?ge(Pt):d(m).running!==null&&ge(tt,1)})}D(qe,Tt)};W(ae,qe=>{d(x)?qe(De):d(k)?qe(vt,1):d(m)&&qe(Be,2)})}z(()=>{var qe;return O(te,`Ollama · ${(d(g)||((qe=d(u))==null?void 0:qe.model))??""}`)}),G("click",se,()=>y(w,!1)),G("click",Xe,qe=>qe.stopPropagation()),G("click",we,()=>y(w,!1)),D(V,se)};W(ni,V=>{d(w)&&V(Wi)})}z(V=>{O(Lt,V),ki=It(ai,1,"input-row svelte-1twuiul",null,ki,{"drag-over":d(_e)}),ji=It(Ri,1,"textarea-wrap svelte-1twuiul",null,ji,{loading:d(a)}),Ei(wi,"placeholder",d(ot)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),wi.disabled=d(a)||!d(ot)},[()=>Fi(d(Mt))]),xs(J,()=>d(U),V=>y(U,V)),xs(Ve,()=>d(B),V=>y(B,V)),xs(Se,()=>d(ne),V=>y(ne,V)),G("click",oi,fi),G("change",ti,Ht),ds("dragover",ai,Ci),ds("dragleave",ai,Yi),ds("drop",ai,gi),G("keydown",wi,Ii),Qt(wi,()=>d(r),V=>y(r,V)),D(o,Ue),Hs()}Qs(["click","change","keydown"]);var qZ=T('<div class="me svelte-1pxdb1"></div>');function pS(o,e){Fs(e,!0);let t=wu(e,"value",15,""),i=wu(e,"language",3,"javascript"),n,s,r=!1;co(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=pr.create(n,{value:t(),language:i(),theme:"vs-dark",minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:13,fontFamily:"'Cascadia Code', 'Fira Code', monospace",automaticLayout:!0,wordWrap:"on",lineNumbers:"on",renderLineHighlight:"none",overviewRulerLanes:0,scrollbar:{verticalScrollbarSize:6,horizontalScrollbarSize:6},...c}),s.onDidChangeModelContent(()=>{r||t(s.getValue())})}),Wy(()=>s==null?void 0:s.dispose()),zn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=qZ();Ps(a,c=>n=c,()=>n),D(o,a),Hs()}var GZ=T('<!> <div class="welcome svelte-rrt0o"><div class="welcome-inner svelte-rrt0o"><div class="welcome-logo svelte-rrt0o">db</div> <p class="welcome-sub svelte-rrt0o">sheDB — embedded JSON document store with MapReduce views</p> <div class="welcome-hint svelte-rrt0o"><strong>In scripts:</strong> use <code class="svelte-rrt0o">she.db.get(id)</code>, <code class="svelte-rrt0o">she.db.set(id, doc)</code>, <code class="svelte-rrt0o">she.db.extend(id, partial)</code>, <code class="svelte-rrt0o">she.db.sub(pattern, cb)</code>.<br/> <strong>Views:</strong> <code class="svelte-rrt0o">this</code> = current document — call <code class="svelte-rrt0o">emit(value)</code> to add to result.</div> <div class="welcome-links svelte-rrt0o"><a href="https://github.com/hobbyquaker/she/blob/main/doc/db/README.md" target="_blank" rel="noopener" class="svelte-rrt0o">sheDB docs</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/db/view-examples.md" target="_blank" rel="noopener" class="svelte-rrt0o">View examples</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-rrt0o">GitHub</a></div></div></div>',1),KZ=T('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"><line x1="5.5" y1="5" x2="4" y2="2.5"></line><line x1="10.5" y1="5" x2="12" y2="2.5"></line><path d="M3 11 V7 A5 3.5 0 0 0 13 7 V11 Z" stroke-linejoin="round"></path><circle cx="6" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle><circle cx="10" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle></svg> AI</button>'),fE=T('<div class="form-error svelte-rrt0o"> </div>'),ZZ=T('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),gE=T("<li> </li>"),pE=T('<div class="error-bar svelte-rrt0o"> </div>'),_E=T('<div class="loading svelte-rrt0o">Loading…</div>'),XZ=T('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),YZ=T('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),QZ=T('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ Doc</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main></div>'),JZ=T('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),eX=T('<label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Retain <span class="section-hint svelte-rrt0o">— send as retained MQTT message</span></label>'),tX=T('<span class="badge-error svelte-rrt0o">error</span>'),iX=T('<span class="badge-ok svelte-rrt0o"> </span>'),nX=T('<pre class="result-error svelte-rrt0o"> </pre>'),sX=T('<pre class="result-json svelte-rrt0o"> </pre>'),oX=T('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),rX=T('<div class="view-sections svelte-rrt0o"><div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Description <span class="section-hint svelte-rrt0o">— optional, shown in sidebar</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="(optional description)"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Filter <span class="section-hint svelte-rrt0o">— MQTT wildcard, optional</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="#"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Map <span class="section-hint svelte-rrt0o">— <code>this</code> = document · call <code>emit(this)</code> to include in result</span></div> <div class="monaco-view-wrap monaco-view-wrap--map svelte-rrt0o"><!></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Reduce <span class="section-hint svelte-rrt0o">— receives <code>result</code> array, must <code>return</code> new value (optional)</span></div> <div class="monaco-view-wrap monaco-view-wrap--reduce svelte-rrt0o"><!></div></div> <div class="view-section view-section--options svelte-rrt0o"><label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Publish to MQTT <span class="section-hint svelte-rrt0o">— publish view to MQTT topic <code> </code></span></label> <!></div> <!></div>'),aX=T('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button title="Re-run view" class="svelte-rrt0o">Refresh</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),lX=T('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),cX=T('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ View</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main> <!></div>'),dX=T('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function uX(o,e){Fs(e,!0);const t=Pe=>{var Q=GZ(),re=wt(Q);Ps(Jf(re,{}),Ie=>bi=Ie,()=>bi),D(Pe,Q)};let i=M(pi([])),n=M(null),s=M("{}"),r=M(!1),a=M(null);const c="she-db-selected-view";let u=M(pi([])),f=M(pi(localStorage.getItem(c))),g=M("#"),p=M("// emit(this.someProperty)"),w=M(""),m=M(""),x=M(!1),k=M(!1),E=M(null),P=M(!1),A=M(null),U=M("she/db/view/");const B="she-db-panel";let ne=M(pi(localStorage.getItem(B)??"docs")),ie=M(""),pe=M(!1),_e=M(null),Ke=M(""),Re=M(!1),nt=M(null);const pt="she-db-sidebar-width";let be=M(pi(parseInt(localStorage.getItem(pt)??"220",10))),_t=!1,ot=0,Mt=0;const ue="she-db-chat-width",Rt="she-db-chat-open";let $e=M(localStorage.getItem(Rt)==="true"),We=M(pi(parseInt(localStorage.getItem(ue)??"320",10))),yt=!1,Ut=0,Gt=0;const Dt=ct(()=>d(f)?{id:d(f),filter:d(g),map:d(p),reduce:d(w)}:null);function St(Pe){Pe.filter!==void 0&&y(g,Pe.filter,!0),Pe.map!==void 0&&y(p,Pe.map,!0),Pe.reduce!==void 0&&y(w,Pe.reduce,!0)}zn(()=>{localStorage.setItem(Rt,String(d($e)))}),zn(()=>{localStorage.setItem(B,d(ne))}),zn(()=>{d(f)?localStorage.setItem(c,d(f)):localStorage.removeItem(c)});function Ot(Pe){_t=!0,ot=Pe.clientX,Mt=d(be),Pe.preventDefault()}function kt(Pe){_t&&y(be,Math.max(140,Math.min(500,Mt+Pe.clientX-ot)),!0),yt&&y(We,Math.max(240,Math.min(600,Gt-(Pe.clientX-Ut))),!0)}function mi(){_t&&(_t=!1,localStorage.setItem(pt,String(d(be)))),yt&&(yt=!1,localStorage.setItem(ue,String(d(We))))}function hi(Pe){yt=!0,Ut=Pe.clientX,Gt=d(We),Pe.preventDefault()}async function Si(){try{y(i,await HN(),!0)}catch{}}async function Pi(){try{y(u,await WN(),!0)}catch{}}async function Fi(Pe){y(n,Pe,!0),y(a,null),y(r,!0);try{const Q=await E7(Pe);y(s,JSON.stringify(Q,null,2),!0)}catch(Q){y(a,Q instanceof Error?Q.message:String(Q),!0)}finally{y(r,!1)}}async function Li(){if(d(n)){y(a,null);try{const Pe=JSON.parse(d(s));await FD(d(n),Pe)}catch(Pe){y(a,Pe instanceof Error?Pe.message:String(Pe),!0)}}}let bi;async function ri(){if(d(n)&&await bi.show(`Delete document "${d(n)}"?`,{confirm:"Delete",danger:!0}))try{await T7(d(n)),y(n,null),y(s,"{}")}catch(Pe){y(a,Pe instanceof Error?Pe.message:String(Pe),!0)}}async function fi(){const Pe=d(ie).trim();if(Pe){y(_e,null);try{await FD(Pe,{}),y(pe,!1),y(ie,""),await Fi(Pe)}catch(Q){y(_e,Q instanceof Error?Q.message:String(Q),!0)}}}async function st(Pe){y(f,Pe,!0),y(A,null),y(P,!0),y(E,null);try{const Q=await P7(Pe);y(g,Q.filter??"",!0),y(p,Q.map,!0),y(w,Q.reduce??"",!0),y(m,Q.description??"",!0),y(x,Q.mqttpub??!1,!0),y(k,Q.retain??!1,!0),y(E,await fS(Pe).catch(()=>null),!0)}catch(Q){y(A,Q instanceof Error?Q.message:String(Q),!0)}finally{y(P,!1)}}async function Ht(){if(d(f)){y(A,null);try{const Pe={map:d(p)};d(g).trim()&&(Pe.filter=d(g).trim()),d(w).trim()&&(Pe.reduce=d(w).trim()),d(m).trim()&&(Pe.description=d(m).trim()),d(x)&&(Pe.mqttpub=!0),d(k)&&(Pe.retain=!0),await HD(d(f),Pe)}catch(Pe){y(A,Pe instanceof Error?Pe.message:String(Pe),!0)}}}async function gi(){if(d(f))try{y(E,await fS(d(f)),!0)}catch(Pe){y(A,Pe instanceof Error?Pe.message:String(Pe),!0)}}async function Ci(){if(d(f)&&await bi.show(`Delete view "${d(f)}"?`,{confirm:"Delete",danger:!0}))try{await M7(d(f)),y(f,null),y(g,""),y(p,"// emit(this.someProperty)"),y(w,""),y(m,""),y(x,!1),y(k,!1),y(E,null)}catch(Pe){y(A,Pe instanceof Error?Pe.message:String(Pe),!0)}}async function Yi(){if(!d(Ke).trim())return;const Pe=d(Ke).trim();y(nt,null);try{await HD(Pe,{map:"// emit(this.someProperty)"}),y(Re,!1),y(Ke,""),await Pi(),await st(Pe)}catch(Q){y(nt,Q instanceof Error?Q.message:String(Q),!0)}}let xi=M(""),Mi=M(""),Ii=ct(()=>[...d(i)].filter(Pe=>!d(xi)||Pe.toLowerCase().includes(d(xi).toLowerCase())).sort()),Ki=ct(()=>[...d(u)].filter(Pe=>!d(Mi)||Pe.toLowerCase().includes(d(Mi).toLowerCase())).sort());co(()=>{Si(),Pi().then(()=>{d(f)&&d(u).includes(d(f))?st(d(f)):y(f,null)}),Dl().then(Ae=>{const Oe=Ae.dbPrefix||"she/db/",N=Oe.endsWith("/")?Oe:Oe+"/";y(U,N+"view/")}).catch(()=>{});const Pe=Pr("db:ids",Ae=>{y(i,Ae.ids??[],!0)}),Q=Pr("db:viewIds",Ae=>{y(u,Ae.ids??[],!0)}),re=Pr("db:change",async Ae=>{const Oe=Ae.id;d(n)===Oe&&(Ae.doc===null?(y(n,null),y(s,"{}")):y(s,JSON.stringify(Ae.doc,null,2),!0))}),Ie=Pr("db:viewUpdate",async Ae=>{const Oe=Ae.id;d(f)===Oe&&y(E,await fS(Oe).catch(()=>null),!0)});return()=>{Pe(),Q(),re(),Ie()}});var Di=dX(),yn=v(Di),Ue=v(yn);let zt;var ci=b(Ue,2);let Bt;var Kt=b(ci,2);{var Hi=Pe=>{var Q=KZ();let re;z(()=>{re=It(Q,1,"ai-toggle svelte-rrt0o",null,re,{"ai-open":d($e)}),Ei(Q,"title",d($e)?"Close AI assistant":"Open AI assistant")}),G("click",Q,()=>y($e,!d($e))),D(Pe,Q)};W(Kt,Pe=>{d(ne)==="views"&&Pe(Hi)})}var nn=b(yn,2);{var lt=Pe=>{var Q=QZ(),re=v(Q);let Ie;var Ae=v(re),Oe=v(Ae),N=b(Ae,2);{var ee=ve=>{var Se=ZZ(),Je=wt(Se),Lt=v(Je),ut=b(Lt,2),mt=b(Je,2);{var Et=Wt=>{var oi=fE(),ti=v(oi);z(()=>O(ti,d(_e))),D(Wt,oi)};W(mt,Wt=>{d(_e)&&Wt(Et)})}G("keydown",Lt,Wt=>Wt.key==="Enter"&&fi()),Qt(Lt,()=>d(ie),Wt=>y(ie,Wt)),G("click",ut,fi),D(ve,Se)};W(N,ve=>{d(pe)&&ve(ee)})}var le=b(N,2),ye=v(le),Ne=b(le,2);ui(Ne,20,()=>d(Ii),ve=>ve,(ve,Se)=>{var Je=gE();let Lt;var ut=v(Je);z(()=>{Lt=It(Je,1,"flat-item svelte-rrt0o",null,Lt,{"active-item":d(n)===Se}),O(ut,Se)}),G("click",Je,()=>Fi(Se)),D(ve,Je)});var H=b(re,2),Z=b(H,2),J=v(Z);{var ke=ve=>{var Se=YZ(),Je=wt(Se),Lt=v(Je),ut=v(Lt),mt=b(Lt,2),Et=b(mt,2),Wt=b(Je,2);{var oi=Ri=>{var ji=pE(),wi=v(ji);z(()=>O(wi,d(a))),D(Ri,ji)};W(Wt,Ri=>{d(a)&&Ri(oi)})}var ti=b(Wt,2);{var ai=Ri=>{var ji=_E();D(Ri,ji)},ki=Ri=>{var ji=XZ(),wi=v(ji);pS(wi,{language:"json",get value(){return d(s)},set value(Ni){y(s,Ni,!0)}}),D(Ri,ji)};W(ti,Ri=>{d(r)?Ri(ai):Ri(ki,-1)})}z(()=>O(ut,d(n))),G("click",mt,Li),G("click",Et,ri),D(ve,Se)},Ve=ve=>{t(ve)};W(J,ve=>{d(n)?ve(ke):ve(Ve,-1)})}z(()=>Ie=Wo(re,"",Ie,{width:`${d(be)??""}px`})),G("click",Oe,()=>{y(pe,!d(pe)),y(_e,null)}),Qt(ye,()=>d(xi),ve=>y(xi,ve)),G("mousedown",H,Ot),D(Pe,Q)},xt=Pe=>{var Q=cX(),re=v(Q);let Ie;var Ae=v(re),Oe=v(Ae),N=b(Ae,2);{var ee=Je=>{var Lt=JZ(),ut=wt(Lt),mt=v(ut),Et=b(mt,2),Wt=b(ut,2);{var oi=ti=>{var ai=fE(),ki=v(ai);z(()=>O(ki,d(nt))),D(ti,ai)};W(Wt,ti=>{d(nt)&&ti(oi)})}G("keydown",mt,ti=>ti.key==="Enter"&&Yi()),Qt(mt,()=>d(Ke),ti=>y(Ke,ti)),G("click",Et,Yi),D(Je,Lt)};W(N,Je=>{d(Re)&&Je(ee)})}var le=b(N,2),ye=v(le),Ne=b(le,2);ui(Ne,20,()=>d(Ki),Je=>Je,(Je,Lt)=>{var ut=gE();let mt;var Et=v(ut);z(()=>{mt=It(ut,1,"flat-item svelte-rrt0o",null,mt,{"active-item":d(f)===Lt}),O(Et,Lt)}),G("click",ut,()=>st(Lt)),D(Je,ut)});var H=b(re,2),Z=b(H,2),J=v(Z);{var ke=Je=>{var Lt=aX(),ut=wt(Lt),mt=v(ut),Et=v(mt),Wt=b(mt,2),oi=b(Wt,2),ti=b(oi,2),ai=b(ut,2);{var ki=Ni=>{var gn=pE(),Fn=v(gn);z(()=>O(Fn,d(A))),D(Ni,gn)};W(ai,Ni=>{d(A)&&Ni(ki)})}var Ri=b(ai,2);{var ji=Ni=>{var gn=_E();D(Ni,gn)},wi=Ni=>{var gn=rX(),Fn=v(gn),Un=b(v(Fn),2),In=v(Un),ni=b(Fn,2),Wi=b(v(ni),2),V=v(Wi),se=b(ni,2),Xe=b(v(se),2),X=v(Xe);pS(X,{language:"javascript",get value(){return d(p)},set value(Ze){y(p,Ze,!0)}});var $=b(se,2),te=b(v($),2),we=v(te);pS(we,{language:"javascript",get value(){return d(w)},set value(Ze){y(w,Ze,!0)}});var it=b($,2),ae=v(it),De=v(ae),vt=b(De,4),Be=b(v(vt)),qe=v(Be),Tt=b(ae,2);{var q=Ze=>{var Fe=eX(),Me=v(Fe);xs(Me,()=>d(k),Nt=>y(k,Nt)),D(Ze,Fe)};W(Tt,Ze=>{d(x)&&Ze(q)})}var oe=b(it,2);{var ze=Ze=>{var Fe=oX(),Me=v(Fe),Nt=b(v(Me));{var gt=Ee=>{var Le=tX();D(Ee,Le)},Ye=Ee=>{var Le=iX(),He=v(Le);z(()=>O(He,`${d(E).length??0??""} items · rev ${d(E)._rev??""}`)),D(Ee,Le)};W(Nt,Ee=>{d(E).error?Ee(gt):Ee(Ye,-1)})}var Pt=b(Me,2);{var tt=Ee=>{var Le=nX(),He=v(Le);z(()=>O(He,d(E).error)),D(Ee,Le)},ge=Ee=>{var Le=sX(),He=v(Le);z(Ct=>O(He,Ct),[()=>JSON.stringify(d(E).result,null,2)]),D(Ee,Le)};W(Pt,Ee=>{d(E).error?Ee(tt):Ee(ge,-1)})}D(Ze,Fe)};W(oe,Ze=>{d(E)&&Ze(ze)})}z(()=>O(qe,`${d(U)??""}${d(f)??""} on every update`)),Qt(In,()=>d(m),Ze=>y(m,Ze)),Qt(V,()=>d(g),Ze=>y(g,Ze)),xs(De,()=>d(x),Ze=>y(x,Ze)),D(Ni,gn)};W(Ri,Ni=>{d(P)?Ni(ji):Ni(wi,-1)})}z(()=>O(Et,d(f))),G("click",Wt,Ht),G("click",oi,gi),G("click",ti,Ci),D(Je,Lt)},Ve=Je=>{t(Je)};W(J,Je=>{d(f)?Je(ke):Je(Ve,-1)})}var ve=b(Z,2);{var Se=Je=>{var Lt=lX(),ut=wt(Lt),mt=b(ut,2);let Et;var Wt=v(mt);UZ(Wt,{get currentView(){return d(Dt)},onApplyView:St}),z(()=>Et=Wo(mt,"",Et,{width:`${d(We)??""}px`})),G("mousedown",ut,hi),D(Je,Lt)};W(ve,Je=>{d($e)&&Je(Se)})}z(()=>Ie=Wo(re,"",Ie,{width:`${d(be)??""}px`})),G("click",Oe,()=>{y(Re,!d(Re)),y(nt,null)}),Qt(ye,()=>d(Mi),Je=>y(Mi,Je)),G("mousedown",H,Ot),D(Pe,Q)};W(nn,Pe=>{d(ne)==="docs"?Pe(lt):Pe(xt,-1)})}z(()=>{zt=It(Ue,1,"svelte-rrt0o",null,zt,{active:d(ne)==="docs"}),Bt=It(ci,1,"svelte-rrt0o",null,Bt,{active:d(ne)==="views"})}),G("mousemove",Di,kt),G("mouseup",Di,mi),ds("mouseleave",Di,mi),G("click",Ue,()=>y(ne,"docs")),G("click",ci,()=>y(ne,"views")),D(o,Di),Hs()}Qs(["mousemove","mouseup","click","keydown","mousedown"]);var hX=T('<label class="svelte-1ua3isv">Passcode <input type="number" placeholder="20202021" class="svelte-1ua3isv"/></label> <label class="svelte-1ua3isv">Discriminator (optional) <input type="number" placeholder="3840" class="svelte-1ua3isv"/></label>',1),fX=T('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),mE=T('<p class="err svelte-1ua3isv"> </p>'),gX=T('<div class="wizard svelte-1ua3isv"><div class="wizard-tabs svelte-1ua3isv"><button>Passcode</button> <button>QR / Code</button></div> <!> <label class="svelte-1ua3isv">IP Address (optional, bypasses mDNS) <input type="text" placeholder="192.168.1.100 or 192.168.1.100:5540" class="svelte-1ua3isv"/></label> <!> <button class="commission-btn svelte-1ua3isv"> </button></div>'),pX=T('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),_X=T('<span class="device-name svelte-1ua3isv"> </span>'),mX=T('<li><button class="device-select-btn svelte-1ua3isv"><span></span> <span class="device-label svelte-1ua3isv"><!></span></button> <button class="unpair-btn svelte-1ua3isv" title="Unpair">✕</button></li>'),vX=T('<li class="empty svelte-1ua3isv">No paired devices</li>'),bX=T('<p class="info svelte-1ua3isv">Loading…</p>'),yX=T('<p class="device-subtitle svelte-1ua3isv"> </p>'),wX=T('<span class="ep-chip svelte-1ua3isv"> </span>'),SX=T('<span class="attr-id svelte-1ua3isv"> </span>'),CX=T('<button class="attr-action-btn svelte-1ua3isv"> </button>'),xX=T('<div class="attr-actions svelte-1ua3isv"></div>'),kX=T('<span class="cmd-sep svelte-1ua3isv">,</span>'),LX=T('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),IX=T('<span class="cmd-id svelte-1ua3isv"> </span>'),DX=T("<!> <!>",1),EX=T('<span class="cmd-list svelte-1ua3isv"></span>'),TX=T(' <span class="cmd-id svelte-1ua3isv"> </span>',1),PX=T('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),MX=T('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"><th class="svelte-1ua3isv">deviceType</th><th class="svelte-1ua3isv">revision</th></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),RX=T('<th class="svelte-1ua3isv"> </th>'),NX=T('<td class="svelte-1ua3isv"> </td>'),AX=T('<tr class="svelte-1ua3isv"></tr>'),OX=T('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),FX=T('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),HX=T('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),WX=T('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),BX=T('<span class="attr-val svelte-1ua3isv"> </span>'),zX=T('<tr class="svelte-1ua3isv"><td class="attr-name-cell svelte-1ua3isv"><span class="attr-key svelte-1ua3isv"> </span><!></td><td class="attr-actions-cell svelte-1ua3isv"><!></td><td class="attr-val-cell svelte-1ua3isv"><!></td></tr>'),VX=T('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),jX=T('<table class="cluster-table svelte-1ua3isv"><colgroup><col class="col-attr-name svelte-1ua3isv"/><col class="col-attr-actions svelte-1ua3isv"/><col class="col-attr-val"/></colgroup><tbody class="svelte-1ua3isv"></tbody></table>'),$X=T('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),UX=T('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),qX=T('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),GX=T('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),KX=T('<span class="stream-badge svelte-1ua3isv"> </span>'),ZX=T('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),_S=T(' <span class="e-sub svelte-1ua3isv"> </span>',1),XX=T('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),YX=T('<span class="e-badge e-badge-attr svelte-1ua3isv">attr</span> <span class="e-node svelte-1ua3isv"> <!></span> <span class="e-ep svelte-1ua3isv"> <!></span> <span class="e-cluster svelte-1ua3isv"> </span> <span class="e-attr svelte-1ua3isv"> </span> <span class="e-val svelte-1ua3isv"> </span>',1),QX=T('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),JX=T('<div class="stream-body svelte-1ua3isv"><!></div>'),eY=T('<!> <div class="matter-page svelte-1ua3isv"><div class="matter-main svelte-1ua3isv"><div class="sidebar svelte-1ua3isv"><div class="sidebar-header svelte-1ua3isv"><span class="sidebar-title svelte-1ua3isv">Matter Devices</span> <button class="add-btn svelte-1ua3isv" title="Commission new device">+</button></div> <!> <ul class="device-list svelte-1ua3isv"><!> <!></ul></div> <div class="detail svelte-1ua3isv"><!></div></div> <div class="stream-panel svelte-1ua3isv"><div class="stream-resize svelte-1ua3isv"></div> <div class="stream-hdr-row svelte-1ua3isv"><span class="stream-title svelte-1ua3isv">Matter Events</span> <!> <button class="stream-toggle svelte-1ua3isv" title="Toggle event feed"> </button></div> <!></div></div>',1);function tY(o,e){Fs(e,!0);const t={onOff:{onOff:[{label:"On",command:"on"},{label:"Off",command:"off"},{label:"Toggle",command:"toggle"}]},levelControl:{currentLevel:[{label:"Step ▲",command:"stepWithOnOff",args:{stepMode:0,stepSize:25,transitionTime:5}},{label:"Step ▼",command:"stepWithOnOff",args:{stepMode:1,stepSize:25,transitionTime:5}}]},windowCovering:{currentPositionLiftPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}],currentPositionTiltPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}]}};async function i(Q,re,Ie,Ae,Oe){try{await $7(Q,re,Ie,Ae,Oe)}catch(N){console.error("matter command failed",N)}}const n={identify:{0:"identify",1:"triggerEffect"},groups:{0:"addGroup",1:"viewGroup",2:"getGroupMembership",3:"removeGroup",4:"removeAllGroups",5:"addGroupIfIdentifying"},scenes:{0:"addScene",1:"viewScene",2:"removeScene",3:"removeAllScenes",4:"storeScene",5:"recallScene",6:"getSceneMembership",64:"enhancedAddScene",65:"enhancedViewScene",66:"copyScene"},onOff:{0:"off",1:"on",2:"toggle",64:"offWithEffect",65:"onWithRecallGlobalScene",66:"onWithTimedOff"},levelControl:{0:"moveToLevel",1:"move",2:"step",3:"stop",4:"moveToLevelWithOnOff",5:"moveWithOnOff",6:"stepWithOnOff",7:"stopWithOnOff",8:"moveToClosestFrequency"},colorControl:{0:"moveToHue",1:"moveHue",2:"stepHue",3:"moveToSaturation",4:"moveSaturation",5:"stepSaturation",6:"moveToHueAndSaturation",7:"moveToColor",8:"moveColor",9:"stepColor",10:"moveToColorTemperature",64:"enhancedMoveToHue",65:"enhancedMoveHue",66:"enhancedStepHue",67:"enhancedMoveToHueAndSaturation",68:"colorLoopSet",71:"stopMoveStep",75:"moveColorTemperature",76:"stepColorTemperature"},thermostat:{0:"setpointRaiseLower",1:"setWeeklySchedule",2:"getWeeklySchedule",3:"clearWeeklySchedule"},doorLock:{0:"lockDoor",1:"unlockDoor",3:"unlockWithTimeout",11:"setWeekDaySchedule",12:"getWeekDaySchedule",13:"clearWeekDaySchedule",14:"setYearDaySchedule",15:"getYearDaySchedule",16:"clearYearDaySchedule",17:"setHolidaySchedule",18:"getHolidaySchedule",19:"clearHolidaySchedule",26:"setUser",27:"getUser",28:"clearUser",34:"setCredential",36:"getCredential",38:"clearCredential"},windowCovering:{0:"upOrOpen",1:"downOrClose",2:"stopMotion",4:"goToLiftValue",5:"goToLiftPercentage",7:"goToTiltValue",8:"goToTiltPercentage"},fanControl:{0:"step"}};function s(Q,re){const Ie=n[Q];return re.map(Ae=>{const Oe=typeof Ae=="number"?Ae:Number(Ae);return{id:Oe,name:(Ie==null?void 0:Ie[Oe])??null}})}const r={10:"Door Lock",11:"Door Lock Controller",14:"Aggregator",15:"Generic Switch",17:"On/Off Plug-In Unit",18:"Dimmable Plug-In Unit",19:"Pump",20:"On/Off Light Switch",21:"Dimmer Switch",22:"Color Dimmer Switch",23:"Control Bridge",24:"Pump Controller",256:"On/Off Light",257:"Dimmable Light",268:"Extended Color Light",269:"Color Temperature Light",262:"Light Sensor",263:"Occupancy Sensor",514:"Window Covering",515:"Window Covering Controller",768:"Heating/Cooling Unit",769:"Thermostat",770:"Temperature Sensor",771:"Pressure Sensor",772:"Flow Sensor",773:"Humidity Sensor",774:"On/Off Sensor",2112:"Air Quality Sensor"},a={generatedCommandList:65528,acceptedCommandList:65529,eventList:65530,attributeList:65531,featureMap:65532,clusterRevision:65533},c={descriptor:{deviceTypeList:0,serverList:1,clientList:2,partsList:3,tagList:4},basicInformation:{dataModelRevision:0,vendorName:1,vendorID:2,vendorId:2,productName:3,productID:4,productId:4,nodeLabel:5,location:6,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,localConfigDisabled:16,reachable:17,uniqueID:18,uniqueId:18,capabilityMinima:19,productAppearance:20,specificationVersion:21,maxPathsPerInvoke:22},bridgedDeviceBasicInformation:{vendorName:1,vendorID:2,vendorId:2,productName:3,productId:4,nodeLabel:5,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,reachable:17,uniqueID:18,uniqueId:18,productAppearance:20},identify:{identifyTime:0,identifyType:1},groups:{nameSupport:0},onOff:{onOff:0,globalSceneControl:16384,onTime:16385,offWaitTime:16386,startUpOnOff:16387},levelControl:{currentLevel:0,remainingTime:1,minLevel:2,maxLevel:3,currentFrequency:4,minFrequency:5,maxFrequency:6,options:15,onOffTransitionTime:16,onLevel:17,onTransitionTime:18,offTransitionTime:19,defaultMoveRate:20,startUpCurrentLevel:16384},colorControl:{currentHue:0,currentSaturation:1,remainingTime:2,currentX:3,currentY:4,colorTemperatureMireds:7,colorMode:8,options:15,enhancedCurrentHue:16384,enhancedColorMode:16385,colorLoopActive:16386,colorLoopDirection:16387,colorLoopTime:16388,colorCapabilities:16394,colorTempPhysicalMinMireds:16395,colorTempPhysicalMaxMireds:16396,coupleColorTempToLevelMinMireds:16397,startUpColorTemperatureMireds:16400},thermostat:{localTemperature:0,outdoorTemperature:1,occupancy:2,absMinHeatSetpointLimit:3,absMaxHeatSetpointLimit:4,absMinCoolSetpointLimit:5,absMaxCoolSetpointLimit:6,piCoolingDemand:7,piHeatingDemand:8,localTemperatureCalibration:16,occupiedCoolingSetpoint:17,occupiedHeatingSetpoint:18,unoccupiedCoolingSetpoint:19,unoccupiedHeatingSetpoint:20,minHeatSetpointLimit:21,maxHeatSetpointLimit:22,minCoolSetpointLimit:23,maxCoolSetpointLimit:24,minSetpointDeadBand:25,remoteSensing:26,controlSequenceOfOperation:27,systemMode:28,thermostatRunningMode:30,startOfWeek:32,numberOfWeeklyTransitions:33,numberOfDailyTransitions:34,temperatureSetpointHold:35,temperatureSetpointHoldDuration:36,thermostatProgrammingOperationMode:37,thermostatRunningState:41,setpointChangeSource:48,setpointChangeAmount:49,setpointChangeSourceTimestamp:50,occupiedSetback:52,unoccupiedSetback:55,emergencyHeatDelta:58},windowCovering:{type:0,physicalClosedLimitLift:1,physicalClosedLimitTilt:2,currentPositionLift:3,currentPositionTilt:4,numberOfActuationsLift:5,numberOfActuationsTilt:6,configStatus:7,currentPositionLiftPercentage:8,currentPositionTiltPercentage:9,operationalStatus:10,targetPositionLiftPercent100ths:11,targetPositionTiltPercent100ths:12,endProductType:13,currentPositionLiftPercent100ths:14,currentPositionTiltPercent100ths:15,installedOpenLimitLift:16,installedClosedLimitLift:17,installedOpenLimitTilt:18,installedClosedLimitTilt:19,mode:23,safetyStatus:26},doorLock:{lockState:0,lockType:1,actuatorEnabled:2,doorState:3,numberOfTotalUsersSupported:17,numberOfPINUsersSupported:18,maxPINCodeLength:23,minPINCodeLength:24,language:33,autoRelockTime:35,soundVolume:36,operatingMode:37,supportedOperatingModes:38,wrongCodeEntryLimit:48},fanControl:{fanMode:0,fanModeSequence:1,percentSetting:2,percentCurrent:3,speedMax:4,speedSetting:5,speedCurrent:6,rockSupport:7,rockSetting:8,windSupport:9,windSetting:10,airflowDirectionSupport:11,airflowDirection:12},occupancySensing:{occupancy:0,occupancySensorType:1,occupancySensorTypeBitmap:2,holdTime:3,pirOccupiedToUnoccupiedDelay:16,pirUnoccupiedToOccupiedDelay:17},illuminanceMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,lightSensorType:4},temperatureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},pressureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,scaledValue:16,minScaledValue:17,maxScaledValue:18,scale:20},flowMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},relativeHumidityMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},powerSource:{status:0,order:1,description:2,batVoltage:11,batPercentRemaining:12,batTimeRemaining:13,batChargeLevel:14,batReplacementNeeded:15,batReplaceability:16,batPresent:17,activeBatFaults:18,batChargeState:26}};function u(Q){return"0x"+Q.toString(16).toUpperCase().padStart(4,"0")}let f=M(pi([])),g=pi(new Map);function p(Q){if(Q==null)return"—";if(typeof Q=="boolean"||typeof Q=="number")return String(Q);if(typeof Q=="string")return Q.length>50?Q.slice(0,47)+"…":Q;const re=JSON.stringify(Q);return re.length>60?re.slice(0,57)+"…":re}function w(Q){return Q==null?"—":typeof Q=="boolean"||typeof Q=="number"?String(Q):typeof Q=="string"?Q:JSON.stringify(Q)}function m(Q){return Q!==null&&typeof Q=="object"&&!Array.isArray(Q)}function x(Q){return Array.isArray(Q)&&Q.length>0&&Q.every(m)}function k(Q,re){return!!(re==="attributeList"||Array.isArray(Q)&&Q.length===0||m(Q)&&Object.keys(Q).length===0)}function E(Q){return new Date(Q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,A=20,U=32;let B=0,ne=M(pi([])),ie=M(!0),pe=M(180),_e=ct(()=>{const Q=Math.max(1,Math.floor((d(pe)-U)/A)+1);return d(ne).slice(0,Q)});function Ke(Q){Q.preventDefault();const re=Q.clientY,Ie=d(pe);function Ae(N){y(pe,Math.max(60,Math.min(600,Ie+re-N.clientY)),!0)}function Oe(){document.removeEventListener("mousemove",Ae),document.removeEventListener("mouseup",Oe)}document.addEventListener("mousemove",Ae),document.addEventListener("mouseup",Oe)}let Re=M(null),nt=M(!1),pt=M(null),be=M(!1),_t=M("passcode"),ot=M(""),Mt=M(""),ue=M(""),Rt=M(!1),$e=M(null),We=M("");const yt="she:matter:selectedNodeId";async function Ut(){try{y(f,await zN(),!0);for(const Q of d(f))Xm(Q.nodeId).then(re=>{g.set(Q.nodeId,re)}).catch(()=>{});if(d(f).length>0&&!d(Re)){const Q=localStorage.getItem(yt),re=Q&&d(f).find(Ie=>Ie.nodeId===Q)?Q:d(f)[0].nodeId;Gt(re)}}catch{y(f,[],!0)}}async function Gt(Q){y(nt,!0),y(pt,null);try{y(Re,await Xm(Q),!0),g.set(Q,d(Re)),localStorage.setItem(yt,Q)}catch(re){y(pt,re instanceof Error?re.message:String(re),!0)}finally{y(nt,!1)}}let Dt;async function St(Q){var re;if(await Dt.show(`Unpair device ${Q}?`,{confirm:"Unpair",danger:!0}))try{await j7(Q),((re=d(Re))==null?void 0:re.nodeId)===Q&&y(Re,null),await Ut()}catch(Ie){y(pt,Ie instanceof Error?Ie.message:String(Ie),!0)}}async function Ot(){y(Rt,!0),y($e,null);try{let Q;d(_t)==="passcode"?(Q={passcode:Number(d(ot))},d(Mt)&&(Q={...Q,discriminator:Number(d(Mt))})):Q={pairingCode:d(ue).trim()},d(We).trim()&&(Q={...Q,discoveryAddress:d(We).trim()}),await V7(Q),y(be,!1),y(ot,""),y(Mt,""),y(ue,""),y(We,""),await Ut()}catch(Q){y($e,Q instanceof Error?Q.message:String(Q),!0)}finally{y(Rt,!1)}}co(()=>{Ut()});const kt=Pr("matter:deviceList",Q=>{if(!Array.isArray(Q.devices))return;const re=Q.devices;for(const Ie of re)g.has(Ie.nodeId)||Xm(Ie.nodeId).then(Ae=>{g.set(Ie.nodeId,Ae)}).catch(()=>{});y(f,re,!0)}),mi=Pr("matter:deviceStatus",Q=>{if(Q.nodeId===void 0)return;const re=String(Q.nodeId),Ie=!!Q.online;y(f,d(f).map(Ae=>Ae.nodeId===re?{...Ae,online:Ie}:Ae),!0),y(ne,[{id:B++,kind:"status",nodeId:re,online:Ie,ts:Date.now()},...d(ne).slice(0,P-1)],!0)}),hi=Pr("matter:attr",Q=>{const re=String(Q.nodeId),Ie=Q.endpointId,Ae=String(Q.clusterName),Oe=String(Q.attrName),N=Q.value;if(d(Re)&&d(Re).nodeId===re){const le=d(Re).endpoints.find(Ne=>Ne.endpointId===Ie),ye=le==null?void 0:le.clusters.find(Ne=>Ne.name===Ae);ye&&(ye.attrs[Oe]=N)}const ee=g.get(re);if(ee){const le=ee.endpoints.find(Ne=>Ne.endpointId===Ie),ye=le==null?void 0:le.clusters.find(Ne=>Ne.name===Ae);ye&&(ye.attrs[Oe]=N)}y(ne,[{id:B++,kind:"attr",nodeId:re,endpointId:Ie,clusterName:Ae,attrName:Oe,value:N,ts:Q.ts??Date.now()},...d(ne).slice(0,P-1)],!0)});Wy(()=>{kt(),mi(),hi()});var Si=eY(),Pi=wt(Si);Ps(Jf(Pi,{}),Q=>Dt=Q,()=>Dt);var Fi=b(Pi,2),Li=v(Fi),bi=v(Li),ri=v(bi),fi=b(v(ri),2),st=b(ri,2);{var Ht=Q=>{var re=gX(),Ie=v(re),Ae=v(Ie);let Oe;var N=b(Ae,2);let ee;var le=b(Ie,2);{var ye=Se=>{var Je=hX(),Lt=wt(Je),ut=b(v(Lt)),mt=b(Lt,2),Et=b(v(mt));Qt(ut,()=>d(ot),Wt=>y(ot,Wt)),Qt(Et,()=>d(Mt),Wt=>y(Mt,Wt)),D(Se,Je)},Ne=Se=>{var Je=fX(),Lt=b(v(Je));Qt(Lt,()=>d(ue),ut=>y(ue,ut)),D(Se,Je)};W(le,Se=>{d(_t)==="passcode"?Se(ye):Se(Ne,-1)})}var H=b(le,2),Z=b(v(H)),J=b(H,2);{var ke=Se=>{var Je=mE(),Lt=v(Je);z(()=>O(Lt,d($e))),D(Se,Je)};W(J,Se=>{d($e)&&Se(ke)})}var Ve=b(J,2),ve=v(Ve);z(()=>{Oe=It(Ae,1,"svelte-1ua3isv",null,Oe,{active:d(_t)==="passcode"}),ee=It(N,1,"svelte-1ua3isv",null,ee,{active:d(_t)==="pairingCode"}),Ve.disabled=d(Rt),O(ve,d(Rt)?"Commissioning…":"Commission")}),G("click",Ae,()=>y(_t,"passcode")),G("click",N,()=>y(_t,"pairingCode")),Qt(Z,()=>d(We),Se=>y(We,Se)),G("click",Ve,Ot),D(Q,re)};W(st,Q=>{d(be)&&Q(Ht)})}var gi=b(st,2),Ci=v(gi);ui(Ci,17,()=>d(f),Q=>Q.nodeId,(Q,re)=>{var Ie=mX();let Ae;var Oe=v(Ie),N=v(Oe);let ee;var le=b(N,2),ye=v(le);{var Ne=J=>{var ke=pX(),Ve=wt(ke),ve=v(Ve),Se=b(Ve,2),Je=v(Se);z(()=>{O(ve,d(re).name),O(Je,`#${d(re).nodeId??""}`)}),D(J,ke)},H=J=>{var ke=_X(),Ve=v(ke);z(()=>O(Ve,`Node ${d(re).nodeId??""}`)),D(J,ke)};W(ye,J=>{d(re).name?J(Ne):J(H,-1)})}var Z=b(Oe,2);z(()=>{var J;Ae=It(Ie,1,"svelte-1ua3isv",null,Ae,{selected:((J=d(Re))==null?void 0:J.nodeId)===d(re).nodeId}),ee=It(N,1,"status-dot svelte-1ua3isv",null,ee,{online:d(re).online})}),G("click",Oe,()=>Gt(d(re).nodeId)),G("click",Z,()=>St(d(re).nodeId)),D(Q,Ie)});var Yi=b(Ci,2);{var xi=Q=>{var re=vX();D(Q,re)};W(Yi,Q=>{d(f).length===0&&Q(xi)})}var Mi=b(bi,2),Ii=v(Mi);{var Ki=Q=>{var re=bX();D(Q,re)},Di=Q=>{var re=mE(),Ie=v(re);z(()=>O(Ie,d(pt))),D(Q,re)},yn=Q=>{var re=qX(),Ie=wt(re),Ae=v(Ie),Oe=v(Ae),N=b(Ae,2);{var ee=H=>{var Z=yX(),J=v(Z);z(()=>O(J,d(Re).subtitle)),D(H,Z)};W(N,H=>{d(Re).subtitle&&H(ee)})}var le=b(N,2),ye=v(le),Ne=b(Ie,2);ui(Ne,17,()=>d(Re).endpoints,H=>H.endpointId,(H,Z)=>{var J=UX(),ke=v(J),Ve=v(ke),ve=b(Ve),Se=v(ve),Je=b(ve,2);ui(Je,21,()=>d(Z).clusters,qi,(Et,Wt)=>{var oi=wX(),ti=v(oi);z(()=>O(ti,d(Wt).name)),D(Et,oi)});var Lt=b(ke,2);{var ut=Et=>{var Wt=jX(),oi=b(v(Wt));ui(oi,21,()=>d(Z).clusters,qi,(ti,ai)=>{var ki=VX(),Ri=wt(ki),ji=v(Ri),wi=v(ji),Ni=b(Ri,2);ui(Ni,17,()=>Object.entries(d(ai).attrs),qi,(gn,Fn)=>{var Un=ct(()=>AL(d(Fn),2));let In=()=>d(Un)[0],ni=()=>d(Un)[1];var Wi=Ms(),V=wt(Wi);{var se=X=>{const $=ct(()=>{var Le;return(Le=t[d(ai).name])==null?void 0:Le[In()]}),te=ct(()=>(In()==="acceptedCommandList"||In()==="generatedCommandList")&&Array.isArray(ni())),we=ct(()=>{var Le;return((Le=c[d(ai).name])==null?void 0:Le[In()])??a[In()]});var it=zX(),ae=v(it),De=v(ae),vt=v(De),Be=b(De);{var qe=Le=>{var He=SX(),Ct=v(He);z(Ce=>O(Ct,`(${Ce??""})`),[()=>u(d(we))]),D(Le,He)};W(Be,Le=>{d(we)!==void 0&&Le(qe)})}var Tt=b(ae),q=v(Tt);{var oe=Le=>{var He=xX();ui(He,21,()=>d($),qi,(Ct,Ce)=>{var Ge=CX(),rt=v(Ge);z(()=>O(rt,d(Ce).label)),G("click",Ge,()=>i(d(Re).nodeId,d(Z).endpointId,d(ai).name,d(Ce).command,d(Ce).args)),D(Ct,Ge)}),D(Le,He)};W(q,Le=>{d($)&&Le(oe)})}var ze=b(Tt),Ze=v(ze);{var Fe=Le=>{var He=EX();ui(He,21,()=>s(d(ai).name,ni()),qi,(Ct,Ce,Ge)=>{var rt=DX(),at=wt(rt);{var et=Bi=>{var hn=kX();D(Bi,hn)};W(at,Bi=>{Ge>0&&Bi(et)})}var qt=b(at,2);{var Xt=Bi=>{var hn=LX(),Hn=wt(hn),Ai=v(Hn),si=b(Hn),on=v(si);z(()=>{O(Ai,d(Ce).name),O(on,`(${d(Ce).id??""})`)}),D(Bi,hn)},sn=Bi=>{var hn=IX(),Hn=v(hn);z(()=>O(Hn,d(Ce).id)),D(Bi,hn)};W(qt,Bi=>{d(Ce).name?Bi(Xt):Bi(sn,-1)})}D(Ct,rt)}),D(Le,He)},Me=Le=>{var He=MX(),Ct=b(v(He));ui(Ct,21,ni,qi,(Ce,Ge)=>{const rt=ct(()=>d(Ge)),at=ct(()=>d(rt).deviceType),et=ct(()=>r[d(at)]);var qt=PX(),Xt=v(qt),sn=v(Xt);{var Bi=si=>{var on=TX(),Qi=wt(on),es=b(Qi),Bs=v(es);z(ho=>{O(Qi,`${d(et)??""} `),O(Bs,`(${ho??""})`)},[()=>u(d(at))]),D(si,on)},hn=si=>{var on=Er();z(Qi=>O(on,Qi),[()=>u(d(at))]),D(si,on)};W(sn,si=>{d(et)?si(Bi):si(hn,-1)})}var Hn=b(Xt),Ai=v(Hn);z(si=>O(Ai,si),[()=>w(d(rt).revision)]),D(Ce,qt)}),D(Le,He)},Nt=ct(()=>In()==="deviceTypeList"&&Array.isArray(ni())),gt=Le=>{const He=ct(()=>[...new Set(ni().flatMap(at=>Object.keys(at)))]);var Ct=OX(),Ce=v(Ct),Ge=v(Ce);ui(Ge,21,()=>d(He),qi,(at,et)=>{var qt=RX(),Xt=v(qt);z(()=>O(Xt,d(et))),D(at,qt)});var rt=b(Ce);ui(rt,21,ni,qi,(at,et)=>{var qt=AX();ui(qt,21,()=>d(He),qi,(Xt,sn)=>{var Bi=NX(),hn=v(Bi);z(Hn=>O(hn,Hn),[()=>w(d(et)[d(sn)])]),D(Xt,Bi)}),D(at,qt)}),D(Le,Ct)},Ye=ct(()=>x(ni())),Pt=Le=>{var He=HX(),Ct=v(He);ui(Ct,21,()=>Object.entries(ni()),qi,(Ce,Ge)=>{var rt=ct(()=>AL(d(Ge),2));let at=()=>d(rt)[0],et=()=>d(rt)[1];var qt=FX(),Xt=v(qt),sn=v(Xt),Bi=b(Xt),hn=v(Bi);z(Hn=>{O(sn,at()),O(hn,Hn)},[()=>w(et())]),D(Ce,qt)}),D(Le,He)},tt=ct(()=>m(ni())),ge=Le=>{var He=WX(),Ct=v(He);z(()=>{Ei(He,"href",ni()),O(Ct,ni())}),D(Le,He)},Ee=Le=>{var He=BX(),Ct=v(He);z(Ce=>O(Ct,Ce),[()=>w(ni())]),D(Le,He)};W(Ze,Le=>{d(te)?Le(Fe):d(Nt)?Le(Me,1):d(Ye)?Le(gt,2):d(tt)?Le(Pt,3):(In()==="productUrl"||In()==="productURL")&&typeof ni()=="string"?Le(ge,4):Le(Ee,-1)})}z(()=>{Ei(ae,"title",In()),O(vt,In())}),D(X,it)},Xe=ct(()=>!k(ni(),In()));W(V,X=>{d(Xe)&&X(se)})}D(gn,Wi)}),z(()=>O(wi,d(ai).name)),D(ti,ki)}),D(Et,Wt)},mt=Et=>{var Wt=$X();D(Et,Wt)};W(Lt,Et=>{d(Z).clusters.length>0?Et(ut):Et(mt,-1)})}z(()=>{O(Ve,`${d(Z).name??`Endpoint ${d(Z).endpointId}`??""} `),O(Se,`ep${d(Z).endpointId??""}`)}),D(H,J)}),z(()=>{O(Oe,d(Re).name??`Node ${d(Re).nodeId}`),O(ye,`Node ID: ${d(Re).nodeId??""}`)}),D(Q,re)},Ue=Q=>{var re=GX();D(Q,re)};W(Ii,Q=>{d(nt)?Q(Ki):d(pt)?Q(Di,1):d(Re)?Q(yn,2):Q(Ue,-1)})}var zt=b(Li,2),ci=v(zt),Bt=b(ci,2),Kt=b(v(Bt),2);{var Hi=Q=>{var re=KX(),Ie=v(re);z(()=>O(Ie,d(ne).length)),D(Q,re)};W(Kt,Q=>{!d(ie)&&d(ne).length>0&&Q(Hi)})}var nn=b(Kt,2),lt=v(nn),xt=b(Bt,2);{var Pe=Q=>{var re=JX(),Ie=v(re);{var Ae=N=>{var ee=ZX();D(N,ee)},Oe=N=>{var ee=Ms(),le=wt(ee);ui(le,17,()=>d(_e),ye=>ye.id,(ye,Ne)=>{const H=ct(()=>{var ut,mt;return((ut=g.get(d(Ne).nodeId))==null?void 0:ut.name)??((mt=d(f).find(Et=>Et.nodeId===d(Ne).nodeId))==null?void 0:mt.name)??null}),Z=ct(()=>{var ut,mt;return d(Ne).endpointId!==void 0?((mt=(ut=g.get(d(Ne).nodeId))==null?void 0:ut.endpoints.find(Et=>Et.endpointId===d(Ne).endpointId))==null?void 0:mt.name)??null:null}),J=ct(()=>d(Ne).attrName??d(Ne).clusterName);var ke=QX(),Ve=v(ke),ve=v(Ve),Se=b(Ve,2);{var Je=ut=>{var mt=XX(),Et=b(wt(mt),2),Wt=v(Et),oi=b(Wt);{var ti=ji=>{var wi=_S(),Ni=b(wt(wi)),gn=v(Ni);z(()=>O(gn,`(#${d(Ne).nodeId??""})`)),D(ji,wi)};W(oi,ji=>{d(H)&&ji(ti)})}var ai=b(Et,2);let ki;var Ri=v(ai);z(()=>{O(Wt,d(H)??`#${d(Ne).nodeId}`),ki=It(ai,1,"e-val svelte-1ua3isv",null,ki,{"e-online":d(Ne).online,"e-offline":!d(Ne).online}),O(Ri,d(Ne).online?"online":"offline")}),D(ut,mt)},Lt=ut=>{var mt=YX(),Et=b(wt(mt),2),Wt=v(Et),oi=b(Wt);{var ti=ni=>{var Wi=_S(),V=b(wt(Wi)),se=v(V);z(()=>O(se,`(#${d(Ne).nodeId??""})`)),D(ni,Wi)};W(oi,ni=>{d(H)&&ni(ti)})}var ai=b(Et,2),ki=v(ai),Ri=b(ki);{var ji=ni=>{var Wi=_S(),V=b(wt(Wi)),se=v(V);z(()=>O(se,`(ep ${d(Ne).endpointId??""})`)),D(ni,Wi)};W(Ri,ni=>{d(Z)&&ni(ji)})}var wi=b(ai,2),Ni=v(wi),gn=b(wi,2),Fn=v(gn),Un=b(gn,2),In=v(Un);z(ni=>{O(Wt,d(H)??`#${d(Ne).nodeId}`),O(ki,d(Z)??`ep${d(Ne).endpointId}`),O(Ni,d(Ne).clusterName),O(Fn,d(J)),O(In,ni)},[()=>p(d(Ne).value)]),D(ut,mt)};W(Se,ut=>{d(Ne).kind==="status"?ut(Je):ut(Lt,-1)})}z(ut=>O(ve,ut),[()=>E(d(Ne).ts)]),D(ye,ke)}),D(N,ee)};W(Ie,N=>{d(_e).length===0?N(Ae):N(Oe,-1)})}D(Q,re)};W(xt,Q=>{d(ie)&&Q(Pe)})}z(()=>{Wo(zt,d(ie)?`height: ${d(pe)}px;`:""),O(lt,d(ie)?"▾":"▸")}),G("click",fi,()=>y(be,!d(be))),G("mousedown",ci,Ke),G("click",nn,()=>{y(ie,!d(ie))}),D(o,Si),Hs()}Qs(["click","mousedown"]);var iY=T("<button>›</button>"),nY=T('<span class="chev-ph svelte-1vejtrc"></span>'),sY=T('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),oY=T("<button>🔒</button>"),rY=T("<span> </span>"),aY=T('<span class="acl-dyn svelte-1vejtrc" title="per-user/client pattern — cannot evaluate statically">⚠%u/%c</span>'),lY=T('<span class="acl-members svelte-1vejtrc"> </span>'),cY=T('<span class="acl-group svelte-1vejtrc"> </span>'),dY=T('<span> <strong class="svelte-1vejtrc"> </strong> <!> <!> <!></span>'),uY=T('<div class="acl-sec svelte-1vejtrc"><span class="acl-sec-hdr svelte-1vejtrc"> </span> <!></div>'),hY=T('<div class="acl-panel svelte-1vejtrc"></div>'),fY=T('<div class="tc svelte-1vejtrc"></div>'),gY=T('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!> <!></div> <!> <!></div>'),pY=T('<button class="acl-refresh svelte-1vejtrc" title="Refresh ACL data">↺</button>'),_Y=T('<button title="Show ACL coverage for topics"><svg width="11" height="11" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><rect x="3" y="7" width="10" height="8" rx="1.5"></rect><path d="M5 7V5a3 3 0 0 1 6 0v2" fill="none" stroke="currentColor" stroke-width="1.8"></path></svg> ACL<!></button> <!>',1),mY=T("<option></option>"),vY=T('<span class="pub-ok svelte-1vejtrc">✓</span>'),bY=T('<span class="pub-err svelte-1vejtrc"> </span>'),yY=T('<div class="info svelte-1vejtrc">Loading…</div>'),wY=T('<div class="info err svelte-1vejtrc"> </div>'),SY=T('<div class="info svelte-1vejtrc">No topics match.</div>'),CY=T('<div class="vr svelte-1vejtrc"><span class="v-topic svelte-1vejtrc"> </span> <span class="v-val svelte-1vejtrc"> </span> <span class="v-ts svelte-1vejtrc"> </span></div>'),xY=T('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),kY=T('<div class="info svelte-1vejtrc">No topics yet.</div>'),LY=T('<div class="tree-wrap svelte-1vejtrc"><!></div>'),IY=T('<span class="stream-badge"> </span>'),DY=T('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),EY=T('<span class="s-ret svelte-1vejtrc" title="retained snapshot">⊛</span>'),TY=T('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),PY=T('<div class="stream-body svelte-1vejtrc"><!></div>'),MY=T('<div class="ctx-bd svelte-1vejtrc"></div> <div class="ctx-menu svelte-1vejtrc"><button class="svelte-1vejtrc">Copy topic</button> <button class="svelte-1vejtrc">Clear retained</button></div>',1),RY=T('<label class="modal-check svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> Recursive — also clear all child topics</label>'),NY=T('<div class="modal-bd svelte-1vejtrc"></div> <div class="modal svelte-1vejtrc"><div class="modal-title svelte-1vejtrc">Clear retained</div> <div class="modal-body svelte-1vejtrc"><p class="svelte-1vejtrc">Clear retained value for <code class="svelte-1vejtrc"> </code>?</p> <!></div> <div class="modal-footer svelte-1vejtrc"><button class="btn-cancel svelte-1vejtrc">Cancel</button> <button class="btn-confirm svelte-1vejtrc">Clear</button></div></div>',1),AY=T('<div class="page svelte-1vejtrc"><div class="toolbar svelte-1vejtrc"><h2 class="svelte-1vejtrc">MQTT</h2> <!></div> <div class="main-group svelte-1vejtrc"><div class="pub-bar svelte-1vejtrc"><input class="pt svelte-1vejtrc" type="text" placeholder="topic" list="pub-topic-list" autocomplete="off"/> <datalist id="pub-topic-list"></datalist> <input class="pp svelte-1vejtrc" type="text" placeholder="payload"/> <label class="rl svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> retain</label> <select class="svelte-1vejtrc"><option>QoS 0</option><option>QoS 1</option><option>QoS 2</option></select> <button class="svelte-1vejtrc">Publish</button> <!> <!></div> <div class="tree-filter-bar svelte-1vejtrc"><input class="filter-in svelte-1vejtrc" type="search" placeholder="Filter topics…"/> <span class="count svelte-1vejtrc"><!> </span></div> <!></div> <div class="stream-panel svelte-1vejtrc"><div class="stream-resize svelte-1vejtrc"></div> <div class="stream-hdr-row svelte-1vejtrc"><input class="filter-in stream-filter-in svelte-1vejtrc" type="search" placeholder="Live stream filter (MQTT wildcard, default: #)"/> <!> <button class="stream-toggle svelte-1vejtrc" title="Toggle live stream"> </button></div> <!></div> <!> <!></div>');function OY(o,e){Fs(e,!0);const t=(X,$=Ny)=>{const te=ct(()=>d(g).has($().path)),we=ct(()=>d(a)>=0&&$().children.size>0),it=ct(()=>d(a)>=0&&$().isLeaf&&!n.has($().path));var ae=gY(),De=v(ae);let vt;var Be=v(De);{var qe=ge=>{var Ee=iY();let Le;z(()=>{Le=It(Ee,1,"chev svelte-1vejtrc",null,Le,{open:d(te)}),Ei(Ee,"aria-label",d(te)?"Collapse":"Expand")}),G("click",Ee,()=>p($().path)),D(ge,Ee)},Tt=ge=>{var Ee=nY();D(ge,Ee)};W(Be,ge=>{d(we)?ge(qe):ge(Tt,-1)})}var q=b(Be,2),oe=v(q),ze=b(q,2);{var Ze=ge=>{var Ee=sY(),Le=wt(Ee),He=v(Le),Ct=b(Le,2),Ce=v(Ct);z((Ge,rt,at)=>{Ei(Le,"title",Ge),O(He,rt),O(Ce,at)},[()=>{var Ge;return Fi((Ge=ri($().path))==null?void 0:Ge.val)},()=>{var Ge;return Fi((Ge=ri($().path))==null?void 0:Ge.val)},()=>{var Ge;return((Ge=ri($().path))==null?void 0:Ge.ts)!=null?Li(ri($().path).ts):""}]),D(ge,Ee)},Fe=ct(()=>$().isLeaf&&i.has($().path));W(ze,ge=>{d(Fe)&&ge(Ze)})}var Me=b(ze,2);{var Nt=ge=>{const Ee=ct(()=>!!d(Ii)&&yn($().path));var Le=oY();let He;z(()=>{He=It(Le,1,"acl-badge svelte-1vejtrc",null,He,{matched:d(Ee)}),Ei(Le,"title",d(Ee)?"Has explicit ACL — click to inspect":"No explicit ACL — uses defaults")}),G("click",Le,Ct=>{Ct.stopPropagation(),y(Ki,d(Ki)===$().path?null:$().path,!0)}),D(ge,Le)};W(Me,ge=>{d(xi)&&$().isLeaf&&ge(Nt)})}var gt=b(De,2);{var Ye=ge=>{const Ee=ct(()=>Ue($().path,Ht)),Le=ct(()=>Ue($().path,gi)),He=ct(()=>Ue($().path,Ci));var Ct=hY();ui(Ct,21,()=>[{label:"Send",roles:d(Ee),defType:"publishClientSend"},{label:"Subscribe",roles:d(Le),defType:"subscribePattern"},{label:"Receive",roles:d(He),defType:"publishClientReceive"}],qi,(Ce,Ge)=>{var rt=uY(),at=v(rt),et=v(at),qt=b(at,2);{var Xt=Bi=>{var hn=rY();let Hn;var Ai=v(hn);z((si,on)=>{Hn=It(hn,1,"acl-def svelte-1vejtrc",null,Hn,si),O(Ai,`${on??""} (default)`)},[()=>({allow:ci(d(Ge).defType),deny:!ci(d(Ge).defType)}),()=>ci(d(Ge).defType)?"allow":"deny"]),D(Bi,hn)},sn=Bi=>{var hn=Ms(),Hn=wt(hn);ui(Hn,17,()=>d(Ge).roles,qi,(Ai,si)=>{const on=ct(()=>zt(d(si).rolename));var Qi=dY();let es;var Bs=v(Qi),ho=b(Bs),Ko=v(ho),dr=b(ho,2);{var Xn=Ds=>{var fs=aY();D(Ds,fs)};W(dr,Ds=>{d(si).dynamic&&Ds(Xn)})}var Zo=b(dr,2);{var ur=Ds=>{var fs=lY(),ns=v(fs);z(Es=>O(ns,Es),[()=>d(on).direct.join(", ")]),D(Ds,fs)};W(Zo,Ds=>{d(on).direct.length>0&&Ds(ur)})}var un=b(Zo,2);ui(un,17,()=>d(on).viaGroup,qi,(Ds,fs)=>{var ns=cY(),Es=v(ns);z(()=>O(Es,d(fs).groupname)),D(Ds,ns)}),z(()=>{es=It(Qi,1,"acl-role svelte-1vejtrc",null,es,{allow:d(si).allow,deny:!d(si).allow}),O(Bs,`${d(si).allow?"✓":"✗"} `),O(Ko,d(si).rolename)}),D(Ai,Qi)}),D(Bi,hn)};W(qt,Bi=>{d(Ge).roles.length===0?Bi(Xt):Bi(sn,-1)})}z(()=>O(et,d(Ge).label)),D(Ce,rt)}),D(ge,Ct)};W(gt,ge=>{d(xi)&&$().isLeaf&&d(Ki)===$().path&&d(Ii)&&ge(Ye)})}var Pt=b(gt,2);{var tt=ge=>{var Ee=fY();ui(Ee,21,()=>[...$().children.values()].sort((Le,He)=>Le.seg.localeCompare(He.seg)),Le=>Le.path,(Le,He)=>{t(Le,()=>d(He))}),D(ge,Ee)};W(Pt,ge=>{d(we)&&d(te)&&ge(tt)})}z(()=>{vt=It(De,1,"tr svelte-1vejtrc",null,vt,{stale:d(it)}),O(oe,$().seg)}),G("click",De,()=>{y(nt,$().path+"/#")}),G("contextmenu",De,ge=>{ge.preventDefault(),y(We,{x:ge.clientX,y:ge.clientY,topic:$().path},!0)}),D(X,ae)},i=new Map,n=new Set,s=new Set;let r=null,a=M(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const X of s)f(X);s.clear(),HL(a)}))}const u=new Map;function f(X){const $=X.split("/");let te=u,we="";for(let it=0;it<$.length;it++){const ae=$[it];we=it===0?ae:`${we}/${ae}`,te.has(ae)||te.set(ae,{seg:ae,path:we,children:new Map,isLeaf:!1});const De=te.get(ae);it===$.length-1&&(De.isLeaf=!0),te=De.children}}let g=M(pi(new Set));function p(X){const $=new Set(d(g));$.has(X)?$.delete(X):$.add(X),y(g,$,!0)}let w=M("");const m=24,x=5;let k=M(0),E=M(300),P=ct(()=>{if(d(a),!d(w))return[];const X=d(w).toLowerCase().split(/\s+/).filter(Boolean),$=[];for(const[te,we]of i){const it=te.toLowerCase();X.every(ae=>it.includes(ae))&&$.push({topic:te,...we})}return $.sort((te,we)=>te.topic.localeCompare(we.topic))}),A=ct(()=>{const X=d(P).length,$=Math.max(0,Math.floor(d(k)/m)-x),te=Math.min(X,Math.ceil((d(k)+d(E))/m)+x);return{start:$,end:te,totalH:X*m,top:$*m}});const U=1e3,B=200,ne=20,ie=36;let pe=0,_e=M(pi([])),Ke=M(pi([])),Re=M(!0),nt=M("#"),pt=M(200);zn(()=>{const X=d(nt).trim(),$=Nl(()=>d(_e)),te=!X||X==="#"?$.slice(0,B):$.filter(we=>be(X,we.topic)).slice(0,B);if(X&&X!=="#"){const we=new Set(te.map(ae=>ae.topic)),it=[];for(const[ae,De]of i)we.has(ae)||be(X,ae)&&it.push({id:-(it.length+1),topic:ae,val:De.val,ts:De.ts,retained:!0});it.sort((ae,De)=>ae.topic.localeCompare(De.topic)),y(Ke,[...te,...it],!0)}else y(Ke,te,!0)});function be(X,$){if(X==="#")return!0;const te=X.split("/"),we=$.split("/");for(let it=0;it<te.length;it++){if(te[it]==="#")return!0;if(it>=we.length||te[it]!=="+"&&te[it]!==we[it])return!1}return te.length===we.length}function _t(X){X.preventDefault();const $=X.clientY,te=d(pt);function we(ae){y(pt,Math.max(60,Math.min(800,te+$-ae.clientY)),!0)}function it(){document.removeEventListener("mousemove",we),document.removeEventListener("mouseup",it)}document.addEventListener("mousemove",we),document.addEventListener("mouseup",it)}let ot=ct(()=>{const X=Math.max(1,Math.floor((d(pt)-ie)/ne)+1);return d(Ke).slice(0,X)}),Mt=M(!0),ue=M(null);async function Rt(){y(Mt,!0),y(ue,null);try{const X=await VN();for(const $ of X)i.set($.topic,{val:$.val,ts:$.ts}),f($.topic)}catch(X){y(ue,X instanceof Error?X.message:String(X),!0)}finally{y(Mt,!1),HL(a)}}const $e=Pr("mqtt",X=>{const{topic:$,val:te,ts:we}=X;i.set($,{val:te,ts:we}),n.add($),s.add($),c();const it={id:pe++,topic:$,val:te,ts:we};y(_e,[it,...d(_e).slice(0,U-1)],!0);const ae=d(nt).trim();(!ae||ae==="#"||be(ae,$))&&y(Ke,[it,...d(Ke).filter(De=>!(De.retained&&De.topic===$)).slice(0,B-1)],!0)});let We=M(null),yt=M(null);async function Ut(X,$){const te=[X];if($){const we=X+"/";for(const it of i.keys())it.startsWith(we)&&te.push(it)}for(const we of te)await BD(we,"",!0,0)}let Gt=ct(()=>(d(a),[...i.keys()].sort())),Dt=M(""),St=M(""),Ot=M(!1),kt=M(0),mi=M(!1),hi=M(null),Si=M(!1);async function Pi(){if(d(Dt)){y(mi,!0),y(hi,null),y(Si,!1);try{await BD(d(Dt),d(St),d(Ot),d(kt)),y(Si,!0),setTimeout(()=>{y(Si,!1)},2e3)}catch(X){y(hi,X instanceof Error?X.message:String(X),!0)}finally{y(mi,!1)}}}function Fi(X){return X==null?"":typeof X=="object"?JSON.stringify(X):String(X)}function Li(X){return new Date(X).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function bi(X){return new Date(X).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function ri(X){return d(a),i.get(X)}let fi=ct(()=>(d(a),[...u.values()].sort((X,$)=>X.seg.localeCompare($.seg)))),st=ct(()=>(d(a),i.size));const Ht=new Set(["publishClientSend"]),gi=new Set(["subscribePattern","subscribeLiteral"]),Ci=new Set(["publishClientReceive"]);let Yi=M(!1),xi=M(!1),Mi=M(!1),Ii=M(null),Ki=M(null);function Di(X,$,te){return $.includes("%u")||$.includes("%c")?"dynamic":X==="subscribeLiteral"||X==="unsubscribeLiteral"?$===te?"match":"no-match":be($,te)?"match":"no-match"}function yn(X){if(!d(Ii))return!1;for(const $ of d(Ii).roles)if($.acls){for(const te of $.acls)if(Di(te.acltype,te.topic,X)!=="no-match")return!0}return!1}function Ue(X,$){if(!d(Ii))return[];const te=[];for(const we of d(Ii).roles)if(we.acls)for(const it of we.acls){if(!$.has(it.acltype))continue;const ae=Di(it.acltype,it.topic,X);if(ae!=="no-match"){te.push({rolename:we.rolename,allow:it.allow,dynamic:ae==="dynamic"});break}}return te}function zt(X){if(!d(Ii))return{direct:[],viaGroup:[]};const $=d(Ii).users.filter(we=>{var it;return(it=we.roles)==null?void 0:it.some(ae=>ae.rolename===X)}).map(we=>we.username),te=d(Ii).groups.filter(we=>{var it;return(it=we.roles)==null?void 0:it.some(ae=>ae.rolename===X)}).map(we=>({groupname:we.groupname,members:(we.clients??[]).map(it=>it.username)}));return{direct:$,viaGroup:te}}function ci(X){if(!d(Ii))return!1;const $=d(Ii).defaults.find(te=>te.acltype===X);return($==null?void 0:$.allow)??!1}async function Bt(){y(Mi,!0);try{const[X,$,te,we]=await Promise.all([KN(),kk(),ZN(),rq()]);y(Ii,{roles:X.roles,users:$.users,groups:te.groups,defaults:we.acls},!0)}catch{y(Ii,null),y(xi,!1)}finally{y(Mi,!1)}}async function Kt(){d(xi)?(y(xi,!1),y(Ki,null)):(y(xi,!0),y(Ki,null),d(Ii)||await Bt())}co(async()=>{Rt();try{const X=await lw();y(Yi,X.dynsec.dynsecReady,!0)}catch{y(Yi,!1)}}),Wy(()=>{$e(),r!==null&&cancelAnimationFrame(r)});var Hi=AY(),nn=v(Hi),lt=b(v(nn),2);{var xt=X=>{var $=_Y(),te=wt($);let we;var it=b(v(te),2);{var ae=Be=>{var qe=Er("…");D(Be,qe)};W(it,Be=>{d(Mi)&&Be(ae)})}var De=b(te,2);{var vt=Be=>{var qe=pY();z(()=>qe.disabled=d(Mi)),G("click",qe,Bt),D(Be,qe)};W(De,Be=>{d(xi)&&Be(vt)})}z(()=>{we=It(te,1,"acl-btn svelte-1vejtrc",null,we,{active:d(xi)}),te.disabled=d(Mi)}),G("click",te,Kt),D(X,$)};W(lt,X=>{d(Yi)&&X(xt)})}var Pe=b(nn,2),Q=v(Pe),re=v(Q),Ie=b(re,2);ui(Ie,20,()=>d(Gt),X=>X,(X,$)=>{var te=mY(),we={};z(()=>{we!==(we=$)&&(te.value=(te.__value=$)??"")}),D(X,te)});var Ae=b(Ie,2),Oe=b(Ae,2),N=v(Oe),ee=b(Oe,2),le=v(ee);le.value=le.__value=0;var ye=b(le);ye.value=ye.__value=1;var Ne=b(ye);Ne.value=Ne.__value=2;var H=b(ee,2),Z=b(H,2);{var J=X=>{var $=vY();D(X,$)};W(Z,X=>{d(Si)&&X(J)})}var ke=b(Z,2);{var Ve=X=>{var $=bY(),te=v($);z(()=>O(te,d(hi))),D(X,$)};W(ke,X=>{d(hi)&&X(Ve)})}var ve=b(Q,2),Se=v(ve),Je=b(Se,2),Lt=v(Je);{var ut=X=>{var $=Er();z(()=>O($,`${d(P).length??""} /`)),D(X,$)};W(Lt,X=>{d(w)&&X(ut)})}var mt=b(Lt),Et=b(ve,2);{var Wt=X=>{var $=yY();D(X,$)},oi=X=>{var $=wY(),te=v($);z(()=>O(te,d(ue))),D(X,$)},ti=X=>{var $=Ms(),te=wt($);{var we=ae=>{var De=SY();D(ae,De)},it=ae=>{var De=xY(),vt=v(De),Be=v(vt);ui(Be,21,()=>d(P).slice(d(A).start,d(A).end),qe=>qe.topic,(qe,Tt)=>{var q=CY(),oe=v(q),ze=v(oe),Ze=b(oe,2),Fe=v(Ze),Me=b(Ze,2),Nt=v(Me);z((gt,Ye,Pt)=>{O(ze,d(Tt).topic),Ei(Ze,"title",gt),O(Fe,Ye),O(Nt,Pt)},[()=>Fi(d(Tt).val),()=>Fi(d(Tt).val),()=>Li(d(Tt).ts)]),D(qe,q)}),z(()=>{Wo(vt,`height: ${d(A).totalH??""}px; position: relative;`),Wo(Be,`top: ${d(A).top??""}px;`)}),ds("scroll",De,qe=>{y(k,qe.currentTarget.scrollTop,!0)}),XH(De,"clientHeight",qe=>y(E,qe)),D(ae,De)};W(te,ae=>{d(P).length===0?ae(we):ae(it,-1)})}D(X,$)},ai=X=>{var $=LY(),te=v($);{var we=ae=>{var De=kY();D(ae,De)},it=ae=>{var De=Ms(),vt=wt(De);ui(vt,17,()=>d(fi),Be=>Be.path,(Be,qe)=>{t(Be,()=>d(qe))}),D(ae,De)};W(te,ae=>{d(fi).length===0?ae(we):ae(it,-1)})}D(X,$)};W(Et,X=>{d(Mt)?X(Wt):d(ue)?X(oi,1):d(w)?X(ti,2):X(ai,-1)})}var ki=b(Pe,2),Ri=v(ki),ji=b(Ri,2),wi=v(ji),Ni=b(wi,2);{var gn=X=>{var $=IY(),te=v($);z(()=>O(te,d(Ke).length)),D(X,$)};W(Ni,X=>{!d(Re)&&d(Ke).length>0&&X(gn)})}var Fn=b(Ni,2),Un=v(Fn),In=b(ji,2);{var ni=X=>{var $=PY(),te=v($);{var we=ae=>{var De=DY();D(ae,De)},it=ae=>{var De=Ms(),vt=wt(De);ui(vt,17,()=>d(ot),Be=>Be.id,(Be,qe)=>{var Tt=TY();let q;var oe=v(Tt),ze=v(oe),Ze=b(oe,2);{var Fe=Pt=>{var tt=EY();D(Pt,tt)};W(Ze,Pt=>{d(qe).retained&&Pt(Fe)})}var Me=b(Ze,2),Nt=v(Me),gt=b(Me,2),Ye=v(gt);z((Pt,tt,ge)=>{q=It(Tt,1,"sr svelte-1vejtrc",null,q,{retained:d(qe).retained}),O(ze,Pt),O(Nt,d(qe).topic),Ei(gt,"title",tt),O(Ye,ge)},[()=>bi(d(qe).ts),()=>Fi(d(qe).val),()=>Fi(d(qe).val)]),D(Be,Tt)}),D(ae,De)};W(te,ae=>{d(ot).length===0?ae(we):ae(it,-1)})}D(X,$)};W(In,X=>{d(Re)&&X(ni)})}var Wi=b(ki,2);{var V=X=>{var $=MY(),te=wt($),we=b(te,2);let it;var ae=v(we),De=b(ae,2);z(()=>it=Wo(we,"",it,{left:`${d(We).x??""}px`,top:`${d(We).y??""}px`})),G("click",te,()=>y(We,null)),G("contextmenu",te,vt=>{vt.preventDefault(),y(We,null)}),G("click",ae,()=>{navigator.clipboard.writeText(d(We).topic),y(We,null)}),G("click",De,()=>{const vt=d(We).topic,Be=vt+"/",qe=[...i.keys()].some(Tt=>Tt.startsWith(Be));y(yt,{topic:vt,hasChildren:qe,recursive:!1},!0),y(We,null)}),D(X,$)};W(Wi,X=>{d(We)&&X(V)})}var se=b(Wi,2);{var Xe=X=>{var $=NY(),te=wt($),we=b(te,2),it=b(v(we),2),ae=v(it),De=b(v(ae)),vt=v(De),Be=b(ae,2);{var qe=ze=>{var Ze=RY(),Fe=v(Ze);xs(Fe,()=>d(yt).recursive,Me=>d(yt).recursive=Me),D(ze,Ze)};W(Be,ze=>{d(yt).hasChildren&&ze(qe)})}var Tt=b(it,2),q=v(Tt),oe=b(q,2);z(()=>O(vt,d(yt).topic)),G("click",te,()=>y(yt,null)),G("click",q,()=>y(yt,null)),G("click",oe,()=>{const{topic:ze,recursive:Ze}=d(yt);y(yt,null),Ut(ze,Ze)}),D(X,$)};W(se,X=>{d(yt)&&X(Xe)})}z(()=>{H.disabled=d(mi)||!d(Dt),O(mt,` ${d(st)??""}`),Wo(ki,d(Re)?`height: ${d(pt)}px;`:""),O(Un,d(Re)?"▾":"▸")}),Qt(re,()=>d(Dt),X=>y(Dt,X)),Qt(Ae,()=>d(St),X=>y(St,X)),xs(N,()=>d(Ot),X=>y(Ot,X)),Bo(ee,()=>d(kt),X=>y(kt,X)),G("click",H,Pi),Qt(Se,()=>d(w),X=>y(w,X)),G("mousedown",Ri,_t),Qt(wi,()=>d(nt),X=>y(nt,X)),G("click",Fn,()=>{y(Re,!d(Re))}),D(o,Hi),Hs()}Qs(["click","contextmenu","mousedown"]);var FY=T('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),HY=T('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. <button class="restart-btn svelte-twakcj">Restart now</button></div>'),WY=T('<div class="err svelte-twakcj"> </div>'),BY=T('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),zY=T('<p class="empty svelte-twakcj">No packages installed.</p>'),VY=T('<p class="empty svelte-twakcj">No match.</p>'),jY=T("<span> </span>"),$Y=qP('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="8" cy="8" r="6" stroke-dasharray="18" stroke-dashoffset="4"></circle></svg>'),UY=qP('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg>'),qY=T('<div><div class="dep-info svelte-twakcj"><a class="dep-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="dep-ver svelte-twakcj"> </span> <!></div> <div class="dep-btns svelte-twakcj"><button><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4"></path><line x1="9" y1="15" x2="4.5" y2="19.5"></line><line x1="14.5" y1="4" x2="20" y2="9.5"></line></svg></button> <button><!></button> <button class="icon-btn icon-btn--danger svelte-twakcj" title="Uninstall"><svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><line x1="2" y1="2" x2="14" y2="14"></line><line x1="14" y1="2" x2="2" y2="14"></line></svg></button></div></div>'),GY=T('<span class="result-author svelte-twakcj"> </span>'),KY=T('<span class="result-date svelte-twakcj"> </span>'),ZY=T('<span class="result-desc svelte-twakcj"> </span>'),XY=T('<div class="result-row svelte-twakcj"><div class="result-info svelte-twakcj"><a class="result-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="result-ver svelte-twakcj"> </span> <!> <!> <!></div> <button class="install-btn svelte-twakcj"> </button></div>'),YY=T('<div class="results-list svelte-twakcj"></div>'),QY=T('<pre class="npm-output svelte-twakcj"> </pre>'),JY=T(`<p class="hint svelte-twakcj">Install npm packages into <code class="svelte-twakcj">~/.she/</code>. Scripts can then <code class="svelte-twakcj">require('package-name')</code> directly.</p>`),eQ=T('<!> <div class="pkg-shell svelte-twakcj"><!> <!> <div class="pkg-body svelte-twakcj"><div class="pkg-left svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Installed</span> <span class="pane-count svelte-twakcj"> </span> <!> <button class="icon-btn check-outdated-btn svelte-twakcj" title="Check for package updates"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg></button></div> <div class="filter-row svelte-twakcj"><input class="filter-in svelte-twakcj" type="search" placeholder="Filter…"/></div> <div class="installed-list svelte-twakcj"><!></div></div> <div class="pkg-right svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Search npm</span></div> <div class="search-row svelte-twakcj"><input class="search-in svelte-twakcj" type="text" placeholder="Package name, e.g. axios, lodash…"/> <button class="search-btn svelte-twakcj"> </button></div> <!> <!> <!></div></div></div>',1);function tQ(o,e){Fs(e,!0);let t=M(pi([])),i=M(""),n=M(pi({})),s=M(pi([])),r=M(!1),a=M(""),c=M(pi([])),u=M(!1),f=M(!1),g=M(!1),p=M(""),w=M(""),m=pi({});const x=ct(()=>d(i).trim()?d(t).filter(Ue=>Ue.name.toLowerCase().includes(d(i).toLowerCase())):d(t)),k=ct(()=>Object.keys(d(n)).filter(Ue=>!d(s).includes(Ue)).length);co(async()=>{await Promise.all([E(),P(),A()])});async function E(){try{y(t,await R7(),!0),y(p,"")}catch(Ue){y(p,Ue.message,!0)}}async function P(){try{y(n,await BN(),!0)}catch{}}async function A(){try{const Ue=await Dl();y(s,Array.isArray(Ue.pinnedPackages)?Ue.pinnedPackages:[],!0)}catch{}}async function U(Ue){const zt=d(s).includes(Ue)?d(s).filter(ci=>ci!==Ue):[...d(s),Ue];y(s,zt,!0);try{const ci=await Dl();await Xp({...ci,pinnedPackages:zt})}catch{}}async function B(){y(r,!0);try{y(n,await H7(),!0)}catch{}finally{y(r,!1)}}async function ne(){const Ue=d(a).trim();if(!Ue){y(c,[],!0);return}y(g,!0),y(p,"");try{y(c,await N7(Ue),!0)}catch(zt){y(p,zt.message,!0)}finally{y(g,!1)}}function ie(Ue){if(!Ue)return"";try{return new Date(Ue).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function pe(Ue,zt){m[Ue]=!0,y(p,""),y(w,"");try{const ci=await A7(Ue,zt);y(w,ci.stdout||ci.stderr||"Done.",!0),y(u,!0),await E()}catch(ci){y(p,ci.message,!0)}finally{m[Ue]=!1}}async function _e(Ue){m[Ue]=!0,y(p,""),y(w,"");try{const zt=await O7(Ue);y(w,zt.stdout||zt.stderr||"Done.",!0),y(u,!0);const ci={...d(n)};delete ci[Ue],y(n,ci,!0),await E()}catch(zt){y(p,zt.message,!0)}finally{m[Ue]=!1}}async function Ke(Ue){m[Ue]=!0,y(p,""),y(w,"");try{const zt=await F7(Ue);y(w,zt.stdout||zt.stderr||"Done.",!0),y(u,!0);const ci={...d(n)};delete ci[Ue],y(n,ci,!0),await E()}catch(zt){y(p,zt.message,!0)}finally{m[Ue]=!1}}let Re;async function nt(){if(await Re.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){y(f,!0);try{await FN()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var pt=eQ(),be=wt(pt);Ps(Jf(be,{}),Ue=>Re=Ue,()=>Re);var _t=b(be,2),ot=v(_t);{var Mt=Ue=>{var zt=FY();D(Ue,zt)},ue=Ue=>{var zt=HY(),ci=b(v(zt));G("click",ci,nt),D(Ue,zt)};W(ot,Ue=>{d(f)?Ue(Mt):d(u)&&Ue(ue,1)})}var Rt=b(ot,2);{var $e=Ue=>{var zt=WY(),ci=v(zt);z(()=>O(ci,d(p))),D(Ue,zt)};W(Rt,Ue=>{d(p)&&Ue($e)})}var We=b(Rt,2),yt=v(We),Ut=v(yt),Gt=b(v(Ut),2),Dt=v(Gt),St=b(Gt,2);{var Ot=Ue=>{var zt=BY(),ci=v(zt);z(()=>O(ci,`${d(k)??""} outdated`)),D(Ue,zt)};W(St,Ue=>{d(k)>0&&Ue(Ot)})}var kt=b(St,2),mi=v(kt);let hi;var Si=b(Ut,2),Pi=v(Si),Fi=b(Si,2),Li=v(Fi);{var bi=Ue=>{var zt=zY();D(Ue,zt)},ri=Ue=>{var zt=VY();D(Ue,zt)},fi=Ue=>{var zt=Ms(),ci=wt(zt);ui(ci,17,()=>d(x),Bt=>Bt.name,(Bt,Kt)=>{var Hi=qY();let nn;var lt=v(Hi),xt=v(lt),Pe=v(xt),Q=b(xt,2),re=v(Q),Ie=b(Q,2);{var Ae=ke=>{var Ve=jY();let ve;var Se=v(Ve);z(Je=>{ve=It(Ve,1,"dep-latest svelte-twakcj",null,ve,Je),O(Se,`→ v${d(n)[d(Kt).name].latest??""}`)},[()=>({"dep-latest--pinned":d(s).includes(d(Kt).name)})]),D(ke,Ve)};W(Ie,ke=>{d(n)[d(Kt).name]&&ke(Ae)})}var Oe=b(lt,2),N=v(Oe);let ee;var le=b(N,2);let ye;var Ne=v(le);{var H=ke=>{var Ve=$Y();D(ke,Ve)},Z=ke=>{var Ve=UY();D(ke,Ve)};W(Ne,ke=>{m[d(Kt).name]?ke(H):ke(Z,-1)})}var J=b(le,2);z((ke,Ve,ve)=>{nn=It(Hi,1,"dep-row svelte-twakcj",null,nn,{"dep-busy":!!m[d(Kt).name]}),Ei(xt,"href",d(Kt).url??`https://www.npmjs.com/package/${d(Kt).name}`),O(Pe,d(Kt).name),O(re,d(Kt).installedVersion??d(Kt).version),ee=It(N,1,"icon-btn svelte-twakcj",null,ee,ke),Ei(N,"title",Ve),ye=It(le,1,"icon-btn svelte-twakcj",null,ye,ve),le.disabled=!!m[d(Kt).name],Ei(le,"title",d(n)[d(Kt).name]?`Update to v${d(n)[d(Kt).name].latest}`:"Update to latest"),J.disabled=!!m[d(Kt).name]},[()=>({"icon-btn--pinned":d(s).includes(d(Kt).name)}),()=>d(s).includes(d(Kt).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!d(n)[d(Kt).name]&&!d(s).includes(d(Kt).name)})]),G("click",N,()=>U(d(Kt).name)),G("click",le,()=>Ke(d(Kt).name)),G("click",J,()=>_e(d(Kt).name)),D(Bt,Hi)}),D(Ue,zt)};W(Li,Ue=>{d(t).length===0?Ue(bi):d(x).length===0?Ue(ri,1):Ue(fi,-1)})}var st=b(yt,2),Ht=b(v(st),2),gi=v(Ht),Ci=b(gi,2),Yi=v(Ci),xi=b(Ht,2);{var Mi=Ue=>{var zt=YY();ui(zt,21,()=>d(c),ci=>ci.name,(ci,Bt)=>{var Kt=XY(),Hi=v(Kt),nn=v(Hi),lt=v(nn),xt=b(nn,2),Pe=v(xt),Q=b(xt,2);{var re=ye=>{var Ne=GY(),H=v(Ne);z(()=>O(H,d(Bt).author)),D(ye,Ne)};W(Q,ye=>{d(Bt).author&&ye(re)})}var Ie=b(Q,2);{var Ae=ye=>{var Ne=KY(),H=v(Ne);z(Z=>{Ei(Ne,"title",d(Bt).date),O(H,Z)},[()=>ie(d(Bt).date)]),D(ye,Ne)};W(Ie,ye=>{d(Bt).date&&ye(Ae)})}var Oe=b(Ie,2);{var N=ye=>{var Ne=ZY(),H=v(Ne);z(()=>O(H,d(Bt).description)),D(ye,Ne)};W(Oe,ye=>{d(Bt).description&&ye(N)})}var ee=b(Hi,2),le=v(ee);z(()=>{Ei(nn,"href",d(Bt).url??`https://www.npmjs.com/package/${d(Bt).name}`),O(lt,d(Bt).name),O(Pe,d(Bt).version),ee.disabled=!!m[d(Bt).name],O(le,m[d(Bt).name]?"Installing…":"Install")}),G("click",ee,()=>pe(d(Bt).name)),D(ci,Kt)}),D(Ue,zt)};W(xi,Ue=>{d(c).length>0&&Ue(Mi)})}var Ii=b(xi,2);{var Ki=Ue=>{var zt=QY(),ci=v(zt);z(()=>O(ci,d(w))),D(Ue,zt)};W(Ii,Ue=>{d(w)&&Ue(Ki)})}var Di=b(Ii,2);{var yn=Ue=>{var zt=JY();D(Ue,zt)};W(Di,Ue=>{!d(c).length&&!d(w)&&Ue(yn)})}z(()=>{O(Dt,d(t).length),kt.disabled=d(r),hi=It(mi,0,"svelte-twakcj",null,hi,{spinning:d(r)}),Ci.disabled=d(g),O(Yi,d(g)?"Searching…":"Search")}),G("click",kt,B),Qt(Pi,()=>d(i),Ue=>y(i,Ue)),G("keydown",gi,Ue=>Ue.key==="Enter"&&ne()),Qt(gi,()=>d(a),Ue=>y(a,Ue)),G("click",Ci,ne),D(o,pt),Hs()}Qs(["click","keydown"]);var iQ=T('<div class="plugin-warning svelte-3itf14">⚠ The dynamic-security plugin is not responding. Add <code class="svelte-3itf14">plugin …/mosquitto_dynamic_security.so</code> and <code class="svelte-3itf14">plugin_opt_config_file …/dynamic-security.json</code> to your mosquitto.conf and restart mosquitto. Operations below will time out until the plugin is active.</div>'),Ul=T('<div class="err svelte-3itf14"> </div>'),nQ=T('<div class="empty svelte-3itf14">No users found.</div>'),vE=T('<span class="tag svelte-3itf14"> </span>'),bE=T('<span class="tag tag--group svelte-3itf14"> </span>'),sQ=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="tags svelte-3itf14"></td><td class="tags svelte-3itf14"></td><td class="actions svelte-3itf14"><button title="Set password" class="svelte-3itf14">🔑</button> <button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),oQ=T('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Username</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14">Groups</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),rQ=T('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Users</h3> <button class="btn-add svelte-3itf14">+ Add user</button></div> <!> <!></div>'),aQ=T('<div class="empty svelte-3itf14">No roles found.</div>'),lQ=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="actions svelte-3itf14"><button title="Edit ACLs" class="svelte-3itf14">Edit ACLs</button> <button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),cQ=T('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Role</th><th class="svelte-3itf14">ACLs</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),dQ=T('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Roles</h3> <button class="btn-add svelte-3itf14">+ Add role</button></div> <!> <!></div>'),uQ=T('<div class="empty svelte-3itf14">No groups found.</div>'),hQ=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="tags svelte-3itf14"></td><td class="tags svelte-3itf14"></td><td class="actions svelte-3itf14"><button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),fQ=T('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Group</th><th class="svelte-3itf14">Members</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),gQ=T('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Groups</h3> <button class="btn-add svelte-3itf14">+ Add group</button></div> <!> <!></div>'),pQ=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add user</h3> <label class="svelte-3itf14">Username<input autocomplete="off" class="svelte-3itf14"/></label> <label class="svelte-3itf14">Password <div class="pw-row svelte-3itf14"><input autocomplete="new-password" class="svelte-3itf14"/> <button class="toggle-pw svelte-3itf14"> </button></div></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),_Q=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Set password for <em class="svelte-3itf14"> </em></h3> <label class="svelte-3itf14">New password <input type="password" autocomplete="new-password" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),mQ=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add role</h3> <label class="svelte-3itf14">Role name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),vQ=T('<tr class="svelte-3itf14"><td class="mono small svelte-3itf14"> </td><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="svelte-3itf14"><button class="danger">✕</button></td></tr>'),bQ=T('<table class="acl-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Type</th><th class="svelte-3itf14">Topic</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),yQ=T('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),wQ=T("<option> </option>"),SQ=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-3itf14"><h3 class="svelte-3itf14">ACLs for role <em class="svelte-3itf14"> </em></h3> <!> <div class="acl-add-row svelte-3itf14"><select class="svelte-3itf14"></select> <input placeholder="topic or pattern" class="svelte-3itf14"/> <label class="allow-toggle svelte-3itf14"><input type="checkbox" class="svelte-3itf14"/> Allow</label> <button class="svelte-3itf14">Add</button></div> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Close</button></div></div></div>'),CQ=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add group</h3> <label class="svelte-3itf14">Group name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),xQ=T('<div class="users-page svelte-3itf14"><!> <div class="panel-tabs svelte-3itf14"><button>Users</button> <button>Roles</button> <button>Groups</button> <button class="reload-btn svelte-3itf14" title="Refresh">↺</button></div> <!> <!> <!></div> <!> <!> <!> <!> <!>',1);function kQ(o,e){Fs(e,!0);let t=wu(e,"dynsecReady",3,!1),i=M(pi([])),n=M(pi([])),s=M(pi([])),r=M(""),a=M(""),c=M(""),u=M("users"),f=M(!1),g=M(""),p=M(""),w=M(!1),m=M(""),x=M(!1),k=M(!1),E=M(""),P=M(""),A=M(""),U=M(!1),B=M(!1),ne=M(""),ie=M(""),pe=M(!1),_e=M(null),Ke=M(!1),Re=M("publishClientSend"),nt=M(""),pt=M(!0),be=M(""),_t=M(!1),ot=M(""),Mt=M(""),ue=M(!1);const Rt=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function $e(){var re,Ie,Ae;try{const[Oe,N,ee]=await Promise.allSettled([kk(),KN(),ZN()]);Oe.status==="fulfilled"?(y(i,Oe.value.users,!0),y(r,"")):y(r,((re=Oe.reason)==null?void 0:re.message)??"Failed to load users",!0),N.status==="fulfilled"?(y(n,N.value.roles,!0),y(a,"")):y(a,((Ie=N.reason)==null?void 0:Ie.message)??"Failed to load roles",!0),ee.status==="fulfilled"?(y(s,ee.value.groups,!0),y(c,"")):y(c,((Ae=ee.reason)==null?void 0:Ae.message)??"Failed to load groups",!0)}catch{}}co(()=>{$e()});async function We(){y(m,""),y(x,!0);try{await GN(d(g),d(p)),y(g,""),y(p,""),y(f,!1),await $e()}catch(re){y(m,re.message??"Failed to create user",!0)}finally{y(x,!1)}}async function yt(re){if(confirm(`Delete user "${re}"?`))try{await Q7(re),await $e()}catch(Ie){y(r,Ie.message,!0)}}async function Ut(re){y(E,re,!0),y(P,""),y(A,""),y(k,!0)}async function Gt(){y(A,""),y(U,!0);try{await J7(d(E),d(P)),y(k,!1)}catch(re){y(A,re.message,!0)}finally{y(U,!1)}}async function Dt(){y(ie,""),y(pe,!0);try{await eq(d(ne)),y(ne,""),y(B,!1),await $e()}catch(re){y(ie,re.message??"Failed to create role",!0)}finally{y(pe,!1)}}async function St(re){var Ie;if(confirm(`Delete role "${re}"?`))try{await tq(re),((Ie=d(_e))==null?void 0:Ie.rolename)===re&&(y(_e,null),y(Ke,!1)),await $e()}catch(Ae){y(a,Ae.message,!0)}}function Ot(re){y(_e,re,!0),y(Ke,!0),y(Re,"publishClientSend"),y(nt,""),y(pt,!0),y(be,"")}async function kt(){if(d(_e)){y(be,"");try{await iq(d(_e).rolename,{acltype:d(Re),topic:d(nt),allow:d(pt)}),y(nt,""),await $e(),y(_e,d(n).find(re=>re.rolename===d(_e).rolename)??d(_e),!0)}catch(re){y(be,re.message,!0)}}}async function mi(re,Ie,Ae){try{await nq(re,Ie,Ae),await $e(),y(_e,d(n).find(Oe=>Oe.rolename===re)??d(_e),!0)}catch(Oe){y(be,Oe.message,!0)}}async function hi(){y(Mt,""),y(ue,!0);try{await sq(d(ot)),y(ot,""),y(_t,!1),await $e()}catch(re){y(Mt,re.message??"Failed to create group",!0)}finally{y(ue,!1)}}async function Si(re){if(confirm(`Delete group "${re}"?`))try{await oq(re),await $e()}catch(Ie){y(c,Ie.message,!0)}}var Pi=xQ(),Fi=wt(Pi),Li=v(Fi);{var bi=re=>{var Ie=iQ();D(re,Ie)};W(Li,re=>{t()||re(bi)})}var ri=b(Li,2),fi=v(ri);let st;var Ht=b(fi,2);let gi;var Ci=b(Ht,2);let Yi;var xi=b(Ci,2),Mi=b(ri,2);{var Ii=re=>{var Ie=rQ(),Ae=v(Ie),Oe=b(v(Ae),2),N=b(Ae,2);{var ee=H=>{var Z=Ul(),J=v(Z);z(()=>O(J,d(r))),D(H,Z)};W(N,H=>{d(r)&&H(ee)})}var le=b(N,2);{var ye=H=>{var Z=nQ();D(H,Z)},Ne=H=>{var Z=oQ(),J=b(v(Z));ui(J,21,()=>d(i),qi,(ke,Ve)=>{var ve=sQ(),Se=v(ve),Je=v(Se),Lt=b(Se);ui(Lt,21,()=>d(Ve).roles??[],qi,(oi,ti)=>{var ai=vE(),ki=v(ai);z(()=>O(ki,d(ti).rolename)),D(oi,ai)});var ut=b(Lt);ui(ut,21,()=>d(Ve).groups??[],qi,(oi,ti)=>{var ai=bE(),ki=v(ai);z(()=>O(ki,d(ti).groupname)),D(oi,ai)});var mt=b(ut),Et=v(mt),Wt=b(Et,2);z(()=>O(Je,d(Ve).username)),G("click",Et,()=>Ut(d(Ve).username)),G("click",Wt,()=>yt(d(Ve).username)),D(ke,ve)}),D(H,Z)};W(le,H=>{d(i).length===0?H(ye):H(Ne,-1)})}G("click",Oe,()=>{y(f,!0),y(m,"")}),D(re,Ie)};W(Mi,re=>{d(u)==="users"&&re(Ii)})}var Ki=b(Mi,2);{var Di=re=>{var Ie=dQ(),Ae=v(Ie),Oe=b(v(Ae),2),N=b(Ae,2);{var ee=H=>{var Z=Ul(),J=v(Z);z(()=>O(J,d(a))),D(H,Z)};W(N,H=>{d(a)&&H(ee)})}var le=b(N,2);{var ye=H=>{var Z=aQ();D(H,Z)},Ne=H=>{var Z=cQ(),J=b(v(Z));ui(J,21,()=>d(n),qi,(ke,Ve)=>{var ve=lQ(),Se=v(ve),Je=v(Se),Lt=b(Se),ut=v(Lt),mt=b(Lt),Et=v(mt),Wt=b(Et,2);z(()=>{var oi;O(Je,d(Ve).rolename),O(ut,((oi=d(Ve).acls)==null?void 0:oi.length)??0)}),G("click",Et,()=>Ot(d(Ve))),G("click",Wt,()=>St(d(Ve).rolename)),D(ke,ve)}),D(H,Z)};W(le,H=>{d(n).length===0?H(ye):H(Ne,-1)})}G("click",Oe,()=>{y(B,!0),y(ie,""),y(ne,"")}),D(re,Ie)};W(Ki,re=>{d(u)==="roles"&&re(Di)})}var yn=b(Ki,2);{var Ue=re=>{var Ie=gQ(),Ae=v(Ie),Oe=b(v(Ae),2),N=b(Ae,2);{var ee=H=>{var Z=Ul(),J=v(Z);z(()=>O(J,d(c))),D(H,Z)};W(N,H=>{d(c)&&H(ee)})}var le=b(N,2);{var ye=H=>{var Z=uQ();D(H,Z)},Ne=H=>{var Z=fQ(),J=b(v(Z));ui(J,21,()=>d(s),qi,(ke,Ve)=>{var ve=hQ(),Se=v(ve),Je=v(Se),Lt=b(Se);ui(Lt,21,()=>d(Ve).clients??[],qi,(Wt,oi)=>{var ti=vE(),ai=v(ti);z(()=>O(ai,d(oi).username)),D(Wt,ti)});var ut=b(Lt);ui(ut,21,()=>d(Ve).roles??[],qi,(Wt,oi)=>{var ti=bE(),ai=v(ti);z(()=>O(ai,d(oi).rolename)),D(Wt,ti)});var mt=b(ut),Et=v(mt);z(()=>O(Je,d(Ve).groupname)),G("click",Et,()=>Si(d(Ve).groupname)),D(ke,ve)}),D(H,Z)};W(le,H=>{d(s).length===0?H(ye):H(Ne,-1)})}G("click",Oe,()=>{y(_t,!0),y(Mt,""),y(ot,"")}),D(re,Ie)};W(yn,re=>{d(u)==="groups"&&re(Ue)})}var zt=b(Fi,2);{var ci=re=>{var Ie=pQ(),Ae=v(Ie),Oe=b(v(Ae),2),N=b(v(Oe)),ee=b(Oe,2),le=b(v(ee)),ye=v(le),Ne=b(ye,2),H=v(Ne),Z=b(ee,2);{var J=Je=>{var Lt=Ul(),ut=v(Lt);z(()=>O(ut,d(m))),D(Je,Lt)};W(Z,Je=>{d(m)&&Je(J)})}var ke=b(Z,2),Ve=v(ke),ve=b(Ve,2),Se=v(ve);z(()=>{Ei(ye,"type",d(w)?"text":"password"),O(H,d(w)?"Hide":"Show"),ve.disabled=d(x)||!d(g)||!d(p),O(Se,d(x)?"Creating…":"Create")}),Qt(N,()=>d(g),Je=>y(g,Je)),Qt(ye,()=>d(p),Je=>y(p,Je)),G("click",Ne,()=>y(w,!d(w))),G("click",Ve,()=>y(f,!1)),G("click",ve,We),D(re,Ie)};W(zt,re=>{d(f)&&re(ci)})}var Bt=b(zt,2);{var Kt=re=>{var Ie=_Q(),Ae=v(Ie),Oe=v(Ae),N=b(v(Oe)),ee=v(N),le=b(Oe,2),ye=b(v(le)),Ne=b(le,2);{var H=ve=>{var Se=Ul(),Je=v(Se);z(()=>O(Je,d(A))),D(ve,Se)};W(Ne,ve=>{d(A)&&ve(H)})}var Z=b(Ne,2),J=v(Z),ke=b(J,2),Ve=v(ke);z(()=>{O(ee,d(E)),ke.disabled=d(U)||!d(P),O(Ve,d(U)?"Saving…":"Set password")}),Qt(ye,()=>d(P),ve=>y(P,ve)),G("click",J,()=>y(k,!1)),G("click",ke,Gt),D(re,Ie)};W(Bt,re=>{d(k)&&re(Kt)})}var Hi=b(Bt,2);{var nn=re=>{var Ie=mQ(),Ae=v(Ie),Oe=b(v(Ae),2),N=b(v(Oe)),ee=b(Oe,2);{var le=J=>{var ke=Ul(),Ve=v(ke);z(()=>O(Ve,d(ie))),D(J,ke)};W(ee,J=>{d(ie)&&J(le)})}var ye=b(ee,2),Ne=v(ye),H=b(Ne,2),Z=v(H);z(()=>{H.disabled=d(pe)||!d(ne),O(Z,d(pe)?"Creating…":"Create")}),Qt(N,()=>d(ne),J=>y(ne,J)),G("click",Ne,()=>y(B,!1)),G("click",H,Dt),D(re,Ie)};W(Hi,re=>{d(B)&&re(nn)})}var lt=b(Hi,2);{var xt=re=>{var Ie=SQ(),Ae=v(Ie),Oe=v(Ae),N=b(v(Oe)),ee=v(N),le=b(Oe,2);{var ye=mt=>{var Et=bQ(),Wt=b(v(Et));ui(Wt,21,()=>d(_e).acls??[],qi,(oi,ti)=>{var ai=vQ(),ki=v(ai),Ri=v(ki),ji=b(ki),wi=v(ji),Ni=b(ji),gn=v(Ni),Fn=b(Ni),Un=v(Fn);z(()=>{O(Ri,d(ti).acltype),O(wi,d(ti).topic),O(gn,d(ti).allow?"✓":"✗")}),G("click",Un,()=>mi(d(_e).rolename,d(ti).acltype,d(ti).topic)),D(oi,ai)}),D(mt,Et)},Ne=mt=>{var Et=yQ();D(mt,Et)};W(le,mt=>{var Et;(((Et=d(_e).acls)==null?void 0:Et.length)??0)>0?mt(ye):mt(Ne,-1)})}var H=b(le,2),Z=v(H);ui(Z,21,()=>Rt,qi,(mt,Et)=>{var Wt=wQ(),oi=v(Wt),ti={};z(()=>{O(oi,d(Et)),ti!==(ti=d(Et))&&(Wt.value=(Wt.__value=d(Et))??"")}),D(mt,Wt)});var J=b(Z,2),ke=b(J,2),Ve=v(ke),ve=b(ke,2),Se=b(H,2);{var Je=mt=>{var Et=Ul(),Wt=v(Et);z(()=>O(Wt,d(be))),D(mt,Et)};W(Se,mt=>{d(be)&&mt(Je)})}var Lt=b(Se,2),ut=v(Lt);z(()=>{O(ee,d(_e).rolename),ve.disabled=!d(nt)}),Bo(Z,()=>d(Re),mt=>y(Re,mt)),Qt(J,()=>d(nt),mt=>y(nt,mt)),xs(Ve,()=>d(pt),mt=>y(pt,mt)),G("click",ve,kt),G("click",ut,()=>y(Ke,!1)),D(re,Ie)};W(lt,re=>{d(Ke)&&d(_e)&&re(xt)})}var Pe=b(lt,2);{var Q=re=>{var Ie=CQ(),Ae=v(Ie),Oe=b(v(Ae),2),N=b(v(Oe)),ee=b(Oe,2);{var le=J=>{var ke=Ul(),Ve=v(ke);z(()=>O(Ve,d(Mt))),D(J,ke)};W(ee,J=>{d(Mt)&&J(le)})}var ye=b(ee,2),Ne=v(ye),H=b(Ne,2),Z=v(H);z(()=>{H.disabled=d(ue)||!d(ot),O(Z,d(ue)?"Creating…":"Create")}),Qt(N,()=>d(ot),J=>y(ot,J)),G("click",Ne,()=>y(_t,!1)),G("click",H,hi),D(re,Ie)};W(Pe,re=>{d(_t)&&re(Q)})}z(()=>{st=It(fi,1,"svelte-3itf14",null,st,{active:d(u)==="users"}),gi=It(Ht,1,"svelte-3itf14",null,gi,{active:d(u)==="roles"}),Yi=It(Ci,1,"svelte-3itf14",null,Yi,{active:d(u)==="groups"})}),G("click",fi,()=>y(u,"users")),G("click",Ht,()=>y(u,"roles")),G("click",Ci,()=>y(u,"groups")),G("click",xi,$e),D(o,Pi),Hs()}Qs(["click"]);var yE=T('<div class="err svelte-9i68x"> </div>'),LQ=T('<div class="ok svelte-9i68x">Saved.</div>'),IQ=T('<div class="reload-msg svelte-9i68x"> </div>'),DQ=T('<div class="loading svelte-9i68x">Loading…</div>'),EQ=T('<div class="tls-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Certificate file (certfile) <input placeholder="/etc/mosquitto/certs/server.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Key file (keyfile) <input placeholder="/etc/mosquitto/certs/server.key" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CA file (cafile) — single CA cert <input placeholder="/etc/mosquitto/ca.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">CA path (capath) — CA cert directory <input placeholder="/etc/mosquitto/ca-certs/" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CRL file (crlfile) <input placeholder="/etc/mosquitto/crl.pem" class="svelte-9i68x"/></label> <label class="svelte-9i68x">TLS version <select class="svelte-9i68x"><option>Default</option><option>tlsv1.3</option><option>tlsv1.2</option></select></label></div> <div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> Require client certificate (require_certificate)</label> <label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> Use cert CN as username (use_identity_as_username)</label></div></div>'),TQ=T('<div class="listener-card svelte-9i68x"><div class="card-title svelte-9i68x"><span> </span> <button class="remove-btn svelte-9i68x" title="Remove listener">✕</button></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">Port <input type="number" min="1" max="65535" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Protocol <select class="svelte-9i68x"><option>mqtt</option><option>websockets</option></select></label> <label class="svelte-9i68x">Bind address <input placeholder="(all interfaces)" class="svelte-9i68x"/></label></div> <div class="tls-toggle-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox"/> TLS</label></div> <!></div>'),PQ=T('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),MQ=T('<div class="cards svelte-9i68x"><!> <!></div>'),RQ=T('<div class="listeners-page svelte-9i68x"><div class="page-header svelte-9i68x"><h3 class="svelte-9i68x">Listeners</h3> <div class="header-actions svelte-9i68x"><button class="svelte-9i68x">+ Add listener</button> <button class="btn-save svelte-9i68x"> </button> <button class="btn-reload svelte-9i68x" title="Apply & Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function NQ(o,e){Fs(e,!0);let t=M(null),i=M(""),n=M(!1),s=M(""),r=M(!1),a=M(!1),c=M(""),u=M(pi([])),f=M(null);co(()=>{g()});async function g(){try{y(t,await U7(),!0),y(u,JSON.parse(JSON.stringify(d(t).listeners)),!0),y(f,d(t).checksum,!0),y(i,"")}catch(We){y(i,We.message??"Failed to load broker config",!0)}}function p(){y(u,[...d(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0)}function w(We){y(u,d(u).filter((yt,Ut)=>Ut!==We),!0)}async function m(){if(d(t)){y(n,!0),y(s,""),y(r,!1);try{await q7({listeners:d(u),managed:d(t).managed,passthrough:d(t).passthrough,checksum:d(f)}),y(r,!0),setTimeout(()=>y(r,!1),3e3),await g()}catch(We){y(s,We.message??"Save failed",!0)}finally{y(n,!1)}}}async function x(){y(a,!0),y(c,"");try{const We=await G7();y(c,We.stderr||We.stdout||"Reloaded",!0)}catch(We){y(c,"Error: "+(We.message??"reload failed"))}finally{y(a,!1)}}function k(We){var yt,Ut,Gt,Dt;return!!((yt=We.tls)!=null&&yt.certfile||(Ut=We.tls)!=null&&Ut.keyfile||(Gt=We.tls)!=null&&Gt.capath||(Dt=We.tls)!=null&&Dt.cafile)}function E(We,yt){yt||(We.tls={}),y(u,[...d(u)],!0)}var P=RQ(),A=v(P),U=b(v(A),2),B=v(U),ne=b(B,2),ie=v(ne),pe=b(ne,2),_e=v(pe),Ke=b(A,2);{var Re=We=>{var yt=yE(),Ut=v(yt);z(()=>O(Ut,d(i))),D(We,yt)};W(Ke,We=>{d(i)&&We(Re)})}var nt=b(Ke,2);{var pt=We=>{var yt=yE(),Ut=v(yt);z(()=>O(Ut,d(s))),D(We,yt)};W(nt,We=>{d(s)&&We(pt)})}var be=b(nt,2);{var _t=We=>{var yt=LQ();D(We,yt)};W(be,We=>{d(r)&&We(_t)})}var ot=b(be,2);{var Mt=We=>{var yt=IQ(),Ut=v(yt);z(()=>O(Ut,d(c))),D(We,yt)};W(ot,We=>{d(c)&&We(Mt)})}var ue=b(ot,2);{var Rt=We=>{var yt=DQ();D(We,yt)},$e=We=>{var yt=MQ(),Ut=v(yt);ui(Ut,17,()=>d(u),qi,(St,Ot,kt)=>{var mi=TQ(),hi=v(mi),Si=v(hi),Pi=v(Si),Fi=b(Si,2),Li=b(hi,2),bi=v(Li),ri=b(v(bi)),fi=b(bi,2),st=b(v(fi)),Ht=v(st);Ht.value=Ht.__value="mqtt";var gi=b(Ht);gi.value=gi.__value="websockets";var Ci=b(fi,2),Yi=b(v(Ci)),xi=b(Li,2),Mi=v(xi),Ii=v(Mi),Ki=b(xi,2);{var Di=Ue=>{var zt=EQ(),ci=v(zt),Bt=v(ci),Kt=b(v(Bt)),Hi=b(Bt,2),nn=b(v(Hi)),lt=b(ci,2),xt=v(lt),Pe=b(v(xt)),Q=b(xt,2),re=b(v(Q)),Ie=b(lt,2),Ae=v(Ie),Oe=b(v(Ae)),N=b(Ae,2),ee=b(v(N)),le=v(ee);le.value=le.__value="";var ye=b(le);ye.value=ye.__value="tlsv1.3";var Ne=b(ye);Ne.value=Ne.__value="tlsv1.2";var H=b(Ie,2),Z=v(H),J=v(Z),ke=b(Z,2),Ve=v(ke);Qt(Kt,()=>d(Ot).tls.certfile,ve=>d(Ot).tls.certfile=ve),Qt(nn,()=>d(Ot).tls.keyfile,ve=>d(Ot).tls.keyfile=ve),Qt(Pe,()=>d(Ot).tls.cafile,ve=>d(Ot).tls.cafile=ve),Qt(re,()=>d(Ot).tls.capath,ve=>d(Ot).tls.capath=ve),Qt(Oe,()=>d(Ot).tls.crlfile,ve=>d(Ot).tls.crlfile=ve),Bo(ee,()=>d(Ot).tls.tls_version,ve=>d(Ot).tls.tls_version=ve),xs(J,()=>d(Ot).tls.require_certificate,ve=>d(Ot).tls.require_certificate=ve),xs(Ve,()=>d(Ot).tls.use_identity_as_username,ve=>d(Ot).tls.use_identity_as_username=ve),D(Ue,zt)},yn=ct(()=>k(d(Ot)));W(Ki,Ue=>{d(yn)&&Ue(Di)})}z(Ue=>{O(Pi,`Port ${d(Ot).port??""}`),Eg(Ii,Ue)},[()=>k(d(Ot))]),G("click",Fi,()=>w(kt)),Qt(ri,()=>d(Ot).port,Ue=>d(Ot).port=Ue),Bo(st,()=>d(Ot).protocol,Ue=>d(Ot).protocol=Ue),Qt(Yi,()=>d(Ot).bindAddress,Ue=>d(Ot).bindAddress=Ue),G("change",Ii,Ue=>E(d(Ot),Ue.target.checked)),D(St,mi)});var Gt=b(Ut,2);{var Dt=St=>{var Ot=PQ();D(St,Ot)};W(Gt,St=>{d(u).length===0&&St(Dt)})}D(We,yt)};W(ue,We=>{d(t)===null&&!d(i)?We(Rt):We($e,-1)})}z(()=>{ne.disabled=d(n),O(ie,d(n)?"Saving…":"Save"),pe.disabled=d(a),O(_e,d(a)?"Reloading…":"Apply & Reload")}),G("click",B,p),G("click",ne,m),G("click",pe,x),D(o,P),Hs()}Qs(["click","change"]);var ph=T('<div class="err svelte-9auejo"> </div>'),AQ=T('<div class="info-card svelte-9auejo"><dl class="svelte-9auejo"><dt class="svelte-9auejo">CN</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint (SHA-256)</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd> </dd></dl> <div class="card-actions svelte-9auejo"><a class="btn-download svelte-9auejo" download="ca.crt">Download ca.crt</a></div></div>'),OQ=T('<div class="empty svelte-9auejo">No local CA generated yet.</div>'),FQ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Local Certificate Authority</h3> <button class="svelte-9auejo"> </button></div> <!></div>'),HQ=T('<div class="info-card svelte-9auejo"><dl class="svelte-9auejo"><dt class="svelte-9auejo">CN</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint (SHA-256)</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd> </dd></dl></div>'),WQ=T('<div class="empty svelte-9auejo">No managed server certificate yet. Generate one or configure paths manually in Listeners.</div>'),BQ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo"> </button></div> <!></div>'),zQ=T('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),VQ=T('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td> </td><td class="actions svelte-9auejo"><button class="danger svelte-9auejo">✕</button></td></tr>'),jQ=T('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Fingerprint</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),$Q=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates (capath)</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div>'),UQ=T('<div class="empty svelte-9auejo">No client certificates issued yet.</div>'),qQ=T('<th class="svelte-9auejo">User</th>'),GQ=T('<span class="badge-revoked svelte-9auejo">Revoked</span>'),KQ=T('<span class="badge-expired svelte-9auejo">Expired</span>'),ZQ=T('<span class="badge-expiring svelte-9auejo">Expiring soon</span>'),XQ=T('<span class="badge-ok svelte-9auejo">Valid</span>'),YQ=T('<span class="badge-user-linked svelte-9auejo" title="dynsec user exists with matching username">linked</span>'),QQ=T('<span class="badge-user-none svelte-9auejo" title="No dynsec user with this CN">—</span>'),JQ=T('<td class="svelte-9auejo"><!></td>'),eJ=T('<a class="btn-dl svelte-9auejo">.p12</a> <a class="btn-dl svelte-9auejo">.crt</a> <a class="btn-dl svelte-9auejo">.key</a> <button class="danger svelte-9auejo">Revoke</button>',1),tJ=T('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td class="svelte-9auejo"> </td><td> </td><td class="svelte-9auejo"><!></td><!><td class="actions svelte-9auejo"><!></td></tr>'),iJ=T('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Serial</th><th class="svelte-9auejo">Issued</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo">Status</th><!><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),nJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Issued Client Certificates</h3> <button class="svelte-9auejo">+ Issue cert</button></div> <!></div>'),sJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate Local CA</h3> <label class="svelte-9auejo">Common Name<input class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),oJ=T('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Server cert generated</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Cert path</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Key path</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd></dl> <p class="hint svelte-9auejo">Update your Listeners config to use these paths, then Apply & Reload.</p></div>'),rJ=T('<button class="btn-primary svelte-9auejo"> </button>'),aJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate Server Certificate</h3> <label class="svelte-9auejo">Common Name (hostname)<input placeholder="mybroker.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">SANs (comma-separated IPs/hostnames)<input placeholder="192.168.1.10, mybroker.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div></div></div>'),lJ=T("<option></option>"),cJ=T('<datalist id="issue-cn-list"></datalist> <div class="mtls-hint svelte-9auejo">ℹ For mTLS auth the CN must match a dynsec username. Enable <em>use_identity_as_username</em> in the Listeners tab.</div> <label class="toggle-label svelte-9auejo"><input type="checkbox" class="svelte-9auejo"/> </label>',1),dJ=T('<label class="svelte-9auejo">Common Name (device ID) <input placeholder="esp32-bedroom" list="issue-cn-list" autocomplete="off" class="svelte-9auejo"/></label> <!> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),uJ=T('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate issued for <strong> </strong></p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Serial</dt><dd class="mono svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">PKCS#12 passphrase</dt> <dd class="svelte-9auejo"><code class="passphrase svelte-9auejo"> </code> <small>(shown once — save it now)</small></dd></dl> <div class="download-row svelte-9auejo"><a class="btn-dl svelte-9auejo">Download .p12</a> <a class="btn-dl svelte-9auejo">Download .crt</a> <a class="btn-dl svelte-9auejo">Download .key</a> <a class="btn-dl svelte-9auejo" download="ca.crt">Download CA</a></div></div> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button></div>',1),hJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Issue Client Certificate</h3> <!></div></div>'),fJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Add Trusted CA Certificate</h3> <label class="svelte-9auejo">PEM certificate <textarea rows="8" placeholder="-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),gJ=T('<div class="certs-page svelte-9auejo"><div class="panel-tabs svelte-9auejo"><button>Local CA</button> <button>Server Cert</button> <button>Trusted CAs</button> <button>Client Certs</button> <button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <!></div> <!> <!> <!> <!>',1);function pJ(o,e){Fs(e,!0);let t=M("ca"),i=M(null),n=M(null),s=M(pi([])),r=M(pi([])),a=M(""),c=M(!1),u=M("she-broker-ca"),f=M(365),g=M(!1),p=M(""),w=M(!1),m=M(""),x=M(""),k=M(365),E=M(!1),P=M(""),A=M(null),U=M(!1),B=M(""),ne=M(365),ie=M(!1),pe=M(""),_e=M(null),Ke=M(!1),Re=M(!1),nt=M(pi([])),pt=M(!1),be=M(""),_t=M(!1),ot=M(""),Mt=M("");async function ue(){try{const[lt,xt,Pe,Q,re]=await Promise.allSettled([aq(),cq(),uq(),gq(),lw()]);if(lt.status==="fulfilled"&&y(i,lt.value.ca,!0),xt.status==="fulfilled"&&y(n,xt.value.server,!0),Pe.status==="fulfilled"&&y(s,Pe.value.certs,!0),Q.status==="fulfilled"&&y(r,Q.value.certs,!0),re.status==="fulfilled"&&y(Re,re.value.dynsec.dynsecReady,!0),d(Re))try{const{users:Ie}=await kk();y(nt,Ie.map(Ae=>Ae.username),!0)}catch{y(nt,[],!0)}y(a,"")}catch(lt){y(a,lt.message,!0)}}co(()=>{ue()});async function Rt(){y(p,""),y(g,!0);try{await lq({cn:d(u),days:d(f)}),y(c,!1),await ue()}catch(lt){y(p,lt.message,!0)}finally{y(g,!1)}}async function $e(){y(P,""),y(E,!0),y(A,null);try{const lt=d(x).split(",").map(Pe=>Pe.trim()).filter(Boolean),xt=await dq({cn:d(m),san:lt,days:d(k)});y(A,xt,!0),await ue()}catch(lt){y(P,lt.message,!0)}finally{y(E,!1)}}async function We(){y(pe,""),y(ie,!0),y(_e,null);try{const lt=await hq({cn:d(B),days:d(ne)});if(y(_e,lt,!0),d(Ke)&&d(Re)&&!d(nt).includes(d(B))){const xt=Array.from(crypto.getRandomValues(new Uint8Array(16))).map(Pe=>Pe.toString(16).padStart(2,"0")).join("");try{await GN(d(B),xt)}catch{}}y(B,""),await ue()}catch(lt){y(pe,lt.message,!0)}finally{y(ie,!1)}}async function yt(lt){if(confirm(`Revoke certificate for "${lt.cn}" (serial ${lt.serial})?`))try{await fq(lt.serial),await ue()}catch(xt){y(Mt,xt.message,!0)}}async function Ut(){y(ot,""),y(_t,!0);try{await pq(d(be)),y(be,""),y(pt,!1),await ue()}catch(lt){y(ot,lt.message,!0)}finally{y(_t,!1)}}async function Gt(lt){if(confirm("Remove this trusted CA cert?"))try{await _q(lt),await ue()}catch(xt){y(Mt,xt.message,!0)}}function Dt(lt){const xt=new Date(lt).getTime()-Date.now();return xt<0?"expired":xt<30*864e5?"expiring":""}function St(lt){return new Date(lt).toLocaleDateString()}var Ot=gJ(),kt=wt(Ot),mi=v(kt),hi=v(mi);let Si;var Pi=b(hi,2);let Fi;var Li=b(Pi,2);let bi;var ri=b(Li,2);let fi;var st=b(ri,2),Ht=b(mi,2);{var gi=lt=>{var xt=ph(),Pe=v(xt);z(()=>O(Pe,d(a))),D(lt,xt)};W(Ht,lt=>{d(a)&<(gi)})}var Ci=b(Ht,2);{var Yi=lt=>{var xt=ph(),Pe=v(xt);z(()=>O(Pe,d(Mt))),D(lt,xt)};W(Ci,lt=>{d(Mt)&<(Yi)})}var xi=b(Ci,2);{var Mi=lt=>{var xt=FQ(),Pe=v(xt),Q=b(v(Pe),2),re=v(Q),Ie=b(Pe,2);{var Ae=N=>{var ee=AQ(),le=v(ee),ye=b(v(le)),Ne=v(ye),H=b(ye,3),Z=v(H),J=b(H,3),ke=v(J),Ve=b(le,2),ve=v(Ve);z((Se,Je,Lt)=>{O(Ne,d(i).cn),O(Z,d(i).fingerprint),It(J,1,Se,"svelte-9auejo"),O(ke,Je),Ei(ve,"href",`data:application/x-pem-file;charset=utf-8,${Lt??""}`)},[()=>ud(Dt(d(i).expires)),()=>St(d(i).expires),()=>encodeURIComponent(d(i).crt)]),D(N,ee)},Oe=N=>{var ee=OQ();D(N,ee)};W(Ie,N=>{d(i)?N(Ae):N(Oe,-1)})}z(()=>O(re,d(i)?"Regenerate CA":"Generate CA")),G("click",Q,()=>{y(c,!0),y(p,"")}),D(lt,xt)},Ii=lt=>{var xt=BQ(),Pe=v(xt),Q=b(v(Pe),2),re=v(Q),Ie=b(Pe,2);{var Ae=N=>{var ee=HQ(),le=v(ee),ye=b(v(le)),Ne=v(ye),H=b(ye,3),Z=v(H),J=b(H,3),ke=v(J);z((Ve,ve)=>{O(Ne,d(n).cn),O(Z,d(n).fingerprint),It(J,1,Ve,"svelte-9auejo"),O(ke,ve)},[()=>ud(Dt(d(n).expires)),()=>St(d(n).expires)]),D(N,ee)},Oe=N=>{var ee=WQ();D(N,ee)};W(Ie,N=>{d(n)?N(Ae):N(Oe,-1)})}z(()=>O(re,d(n)?"Regenerate":"Generate server cert")),G("click",Q,()=>{y(w,!0),y(P,""),y(A,null)}),D(lt,xt)},Ki=lt=>{var xt=$Q(),Pe=v(xt),Q=b(v(Pe),2),re=b(Pe,2);{var Ie=Oe=>{var N=zQ();D(Oe,N)},Ae=Oe=>{var N=jQ(),ee=b(v(N));ui(ee,21,()=>d(r),qi,(le,ye)=>{var Ne=VQ(),H=v(Ne),Z=v(H),J=b(H),ke=v(J),Ve=b(J),ve=v(Ve),Se=b(Ve),Je=v(Se);z((Lt,ut,mt)=>{O(Z,d(ye).cn),O(ke,`${Lt??""}…`),It(Ve,1,ut,"svelte-9auejo"),O(ve,mt)},[()=>d(ye).fingerprint.slice(0,29),()=>ud(Dt(d(ye).expires)),()=>St(d(ye).expires)]),G("click",Je,()=>Gt(d(ye).fingerprint)),D(le,Ne)}),D(Oe,N)};W(re,Oe=>{d(r).length===0?Oe(Ie):Oe(Ae,-1)})}G("click",Q,()=>{y(pt,!0),y(ot,""),y(be,"")}),D(lt,xt)},Di=lt=>{var xt=nJ(),Pe=v(xt),Q=b(v(Pe),2),re=b(Pe,2);{var Ie=Oe=>{var N=UQ();D(Oe,N)},Ae=Oe=>{var N=iJ(),ee=v(N),le=v(ee),ye=b(v(le),5);{var Ne=Z=>{var J=qQ();D(Z,J)};W(ye,Z=>{d(Re)&&Z(Ne)})}var H=b(ee);ui(H,21,()=>d(s),qi,(Z,J)=>{var ke=tJ(),Ve=v(ke),ve=v(Ve),Se=b(Ve),Je=v(Se),Lt=b(Se),ut=v(Lt),mt=b(Lt),Et=v(mt),Wt=b(mt),oi=v(Wt);{var ti=ni=>{var Wi=GQ();D(ni,Wi)},ai=ni=>{var Wi=KQ();D(ni,Wi)},ki=ct(()=>Dt(d(J).expires)==="expired"),Ri=ni=>{var Wi=ZQ();D(ni,Wi)},ji=ct(()=>Dt(d(J).expires)==="expiring"),wi=ni=>{var Wi=XQ();D(ni,Wi)};W(oi,ni=>{d(J).revoked?ni(ti):d(ki)?ni(ai,1):d(ji)?ni(Ri,2):ni(wi,-1)})}var Ni=b(Wt);{var gn=ni=>{var Wi=JQ(),V=v(Wi);{var se=$=>{var te=YQ();D($,te)},Xe=ct(()=>d(nt).includes(d(J).cn)),X=$=>{var te=QQ();D($,te)};W(V,$=>{d(Xe)?$(se):$(X,-1)})}D(ni,Wi)};W(Ni,ni=>{d(Re)&&ni(gn)})}var Fn=b(Ni),Un=v(Fn);{var In=ni=>{var Wi=eJ(),V=wt(Wi),se=b(V,2),Xe=b(se,2),X=b(Xe,2);z(($,te,we)=>{Ei(V,"href",$),Ei(V,"download",`${d(J).cn??""}.p12`),Ei(se,"href",te),Ei(se,"download",`${d(J).cn??""}.crt`),Ei(Xe,"href",we),Ei(Xe,"download",`${d(J).cn??""}.key`)},[()=>Jc(d(J).serial,"p12"),()=>Jc(d(J).serial,"crt"),()=>Jc(d(J).serial,"key")]),G("click",X,()=>yt(d(J))),D(ni,Wi)};W(Un,ni=>{d(J).revoked||ni(In)})}z((ni,Wi,V)=>{O(ve,d(J).cn),O(Je,d(J).serial),O(ut,ni),It(mt,1,Wi,"svelte-9auejo"),O(Et,V)},[()=>new Date(d(J).issued).toLocaleDateString(),()=>ud(d(J).revoked?"":Dt(d(J).expires)),()=>St(d(J).expires)]),D(Z,ke)}),D(Oe,N)};W(re,Oe=>{d(s).length===0?Oe(Ie):Oe(Ae,-1)})}G("click",Q,()=>{y(U,!0),y(pe,""),y(_e,null),y(B,""),y(ne,365),y(Ke,!1)}),D(lt,xt)};W(xi,lt=>{d(t)==="ca"?lt(Mi):d(t)==="server"?lt(Ii,1):d(t)==="trusted"?lt(Ki,2):d(t)==="clients"&<(Di,3)})}var yn=b(kt,2);{var Ue=lt=>{var xt=sJ(),Pe=v(xt),Q=b(v(Pe),2),re=b(v(Q)),Ie=b(Q,2),Ae=b(v(Ie)),Oe=b(Ie,2);{var N=H=>{var Z=ph(),J=v(Z);z(()=>O(J,d(p))),D(H,Z)};W(Oe,H=>{d(p)&&H(N)})}var ee=b(Oe,2),le=v(ee),ye=b(le,2),Ne=v(ye);z(()=>{ye.disabled=d(g)||!d(u),O(Ne,d(g)?"Generating…":"Generate")}),Qt(re,()=>d(u),H=>y(u,H)),Qt(Ae,()=>d(f),H=>y(f,H)),G("click",le,()=>y(c,!1)),G("click",ye,Rt),D(lt,xt)};W(yn,lt=>{d(c)&<(Ue)})}var zt=b(yn,2);{var ci=lt=>{var xt=aJ(),Pe=v(xt),Q=b(v(Pe),2),re=b(v(Q)),Ie=b(Q,2),Ae=b(v(Ie)),Oe=b(Ie,2),N=b(v(Oe)),ee=b(Oe,2);{var le=Ve=>{var ve=ph(),Se=v(ve);z(()=>O(Se,d(P))),D(Ve,ve)};W(ee,Ve=>{d(P)&&Ve(le)})}var ye=b(ee,2);{var Ne=Ve=>{var ve=oJ(),Se=b(v(ve),2),Je=b(v(Se)),Lt=v(Je),ut=b(Je,3),mt=v(ut),Et=b(ut,3),Wt=v(Et);z(()=>{O(Lt,d(A).certPath),O(mt,d(A).keyPath),O(Wt,d(A).fingerprint)}),D(Ve,ve)};W(ye,Ve=>{d(A)&&Ve(Ne)})}var H=b(ye,2),Z=v(H),J=b(Z,2);{var ke=Ve=>{var ve=rJ(),Se=v(ve);z(()=>{ve.disabled=d(E)||!d(m),O(Se,d(E)?"Generating…":"Generate")}),G("click",ve,$e),D(Ve,ve)};W(J,Ve=>{d(A)||Ve(ke)})}Qt(re,()=>d(m),Ve=>y(m,Ve)),Qt(Ae,()=>d(x),Ve=>y(x,Ve)),Qt(N,()=>d(k),Ve=>y(k,Ve)),G("click",Z,()=>y(w,!1)),D(lt,xt)};W(zt,lt=>{d(w)&<(ci)})}var Bt=b(zt,2);{var Kt=lt=>{var xt=hJ(),Pe=v(xt),Q=b(v(Pe),2);{var re=Ae=>{var Oe=dJ(),N=wt(Oe),ee=b(v(N)),le=b(N,2);{var ye=Je=>{var Lt=cJ(),ut=wt(Lt);ui(ut,21,()=>d(nt),qi,(oi,ti)=>{var ai=lJ(),ki={};z(()=>{ki!==(ki=d(ti))&&(ai.value=(ai.__value=d(ti))??"")}),D(oi,ai)});var mt=b(ut,4),Et=v(mt),Wt=b(Et);z(oi=>O(Wt,` Also create dynsec user "${(d(B)||"…")??""}"${oi??""}`),[()=>d(nt).includes(d(B))?" (already exists)":""]),xs(Et,()=>d(Ke),oi=>y(Ke,oi)),D(Je,Lt)};W(le,Je=>{d(Re)&&Je(ye)})}var Ne=b(le,2),H=b(v(Ne)),Z=b(Ne,2);{var J=Je=>{var Lt=ph(),ut=v(Lt);z(()=>O(ut,d(pe))),D(Je,Lt)};W(Z,Je=>{d(pe)&&Je(J)})}var ke=b(Z,2),Ve=v(ke),ve=b(Ve,2),Se=v(ve);z(()=>{ve.disabled=d(ie)||!d(B),O(Se,d(ie)?"Issuing…":"Issue")}),Qt(ee,()=>d(B),Je=>y(B,Je)),Qt(H,()=>d(ne),Je=>y(ne,Je)),G("click",Ve,()=>y(U,!1)),G("click",ve,We),D(Ae,Oe)},Ie=Ae=>{var Oe=uJ(),N=wt(Oe),ee=v(N),le=b(v(ee)),ye=v(le),Ne=b(ee,2),H=b(v(Ne)),Z=v(H),J=b(H,3),ke=v(J),Ve=b(J,3),ve=v(Ve),Se=b(Ve,4),Je=v(Se),Lt=v(Je),ut=b(Ne,2),mt=v(ut),Et=b(mt,2),Wt=b(Et,2),oi=b(Wt,2),ti=b(N,2),ai=v(ti);z((ki,Ri,ji,wi,Ni)=>{O(ye,d(_e).cn),O(Z,d(_e).serial),O(ke,d(_e).fingerprint),O(ve,ki),O(Lt,d(_e).passphrase),Ei(mt,"href",Ri),Ei(mt,"download",`${d(_e).cn??""}.p12`),Ei(Et,"href",ji),Ei(Et,"download",`${d(_e).cn??""}.crt`),Ei(Wt,"href",wi),Ei(Wt,"download",`${d(_e).cn??""}.key`),Ei(oi,"href",Ni)},[()=>St(d(_e).expires),()=>Jc(d(_e).serial,"p12"),()=>Jc(d(_e).serial,"crt"),()=>Jc(d(_e).serial,"key"),()=>Jc(d(_e).serial,"ca")]),G("click",ai,()=>y(U,!1)),D(Ae,Oe)};W(Q,Ae=>{d(_e)?Ae(Ie,-1):Ae(re)})}D(lt,xt)};W(Bt,lt=>{d(U)&<(Kt)})}var Hi=b(Bt,2);{var nn=lt=>{var xt=fJ(),Pe=v(xt),Q=b(v(Pe),2),re=b(v(Q)),Ie=b(Q,2);{var Ae=ye=>{var Ne=ph(),H=v(Ne);z(()=>O(H,d(ot))),D(ye,Ne)};W(Ie,ye=>{d(ot)&&ye(Ae)})}var Oe=b(Ie,2),N=v(Oe),ee=b(N,2),le=v(ee);z(()=>{ee.disabled=d(_t)||!d(be),O(le,d(_t)?"Adding…":"Add")}),Qt(re,()=>d(be),ye=>y(be,ye)),G("click",N,()=>y(pt,!1)),G("click",ee,Ut),D(lt,xt)};W(Hi,lt=>{d(pt)&<(nn)})}z(()=>{Si=It(hi,1,"svelte-9auejo",null,Si,{active:d(t)==="ca"}),Fi=It(Pi,1,"svelte-9auejo",null,Fi,{active:d(t)==="server"}),bi=It(Li,1,"svelte-9auejo",null,bi,{active:d(t)==="trusted"}),fi=It(ri,1,"svelte-9auejo",null,fi,{active:d(t)==="clients"})}),G("click",hi,()=>y(t,"ca")),G("click",Pi,()=>y(t,"server")),G("click",Li,()=>y(t,"trusted")),G("click",ri,()=>y(t,"clients")),G("click",st,ue),D(o,Ot),Hs()}Qs(["click"]);var mS=T('<div class="err svelte-17yczfe"> </div>'),_J=T('<div class="ok svelte-17yczfe">Saved.</div>'),mJ=T('<label class="svelte-17yczfe">Install command (run on your local machine) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),vJ=T('<label class="svelte-17yczfe">Public key (copy and install on the broker host) <div class="pubkey-row svelte-17yczfe"><textarea readonly="" rows="3" class="svelte-17yczfe"></textarea> <button class="copy-btn svelte-17yczfe">Copy</button></div></label> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>',1),bJ=T('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),yJ=T("<span> </span>"),wJ=T(`<div class="ssh-page svelte-17yczfe"><!> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH / Remote Mode</h3> <p class="hint svelte-17yczfe">SSH is used only for file operations (mosquitto.conf, certificates). User/ACL management works without SSH as long as she is connected to the broker's MQTT port.</p> <div class="fields svelte-17yczfe"><label class="svelte-17yczfe">Host <input placeholder="192.168.1.10 or broker.local" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Port <input type="number" min="1" max="65535" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">SSH user <input placeholder="root" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Identity file (private key) <input class="svelte-17yczfe"/></label></div> <!> <!> <div class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH Keypair</h3> <p class="hint svelte-17yczfe">Generate a dedicated Ed25519 keypair for she to authenticate to the broker host. The private key is stored at <code class="svelte-17yczfe"> </code>.</p> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test SSH Connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div></div>`);function SJ(o,e){Fs(e,!0);let t=M(pi({})),i=M(""),n=M(!1),s=M(!1),r=M(""),a=M("~/.she/ssh/broker_id_ed25519"),c=M(""),u=M(!1),f=M(""),g=M(!1),p=M(""),w=M(pi({}));co(async()=>{try{const[st,Ht,gi]=await Promise.all([Dl(),lw(),fetch("/she/broker/ssh/pubkey").then(Yi=>Yi.json()).catch(()=>({publicKey:null}))]);y(w,st,!0),Ht.sshKeyDefault&&y(a,Ht.sshKeyDefault,!0);const Ci=d(w).broker??{};y(t,Ci.ssh??{},!0),d(t).port||(d(t).port=22),d(t).identityFile||(d(t).identityFile=d(a)),gi.publicKey&&y(c,gi.publicKey,!0)}catch(st){y(i,st.message,!0)}});async function m(){y(n,!0),y(r,""),y(s,!1);try{const st=d(w).broker??{},Ht={...d(w),broker:{...st,ssh:d(t)}};await Xp(Ht),y(s,!0),setTimeout(()=>y(s,!1),3e3)}catch(st){y(r,st.message,!0)}finally{y(n,!1)}}async function x(){y(u,!0),y(f,"");try{const st=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),Ht=await st.json();if(!st.ok)throw new Error(Ht.error??st.statusText);y(c,Ht.publicKey,!0)}catch(st){y(f,st.message,!0)}finally{y(u,!1)}}async function k(){y(g,!0),y(p,"");try{const st=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),Ht=await st.json();if(!st.ok)throw new Error(Ht.error??st.statusText);y(p,Ht.ok?"✓ Connection successful":"✗ "+(Ht.error??"Failed"),!0)}catch(st){y(p,"✗ "+st.message)}finally{y(g,!1)}}function E(st){navigator.clipboard.writeText(st).catch(()=>{})}const P=ct(()=>d(t).identityFile&&d(t).user&&d(t).host?`ssh-copy-id -i ${d(t).identityFile}.pub ${d(t).user}@${d(t).host}`:"");var A=wJ(),U=v(A);{var B=st=>{var Ht=mS(),gi=v(Ht);z(()=>O(gi,d(i))),D(st,Ht)};W(U,st=>{d(i)&&st(B)})}var ne=b(U,2),ie=b(v(ne),4),pe=v(ie),_e=b(v(pe)),Ke=b(pe,2),Re=b(v(Ke)),nt=b(Ke,2),pt=b(v(nt)),be=b(nt,2),_t=b(v(be)),ot=b(ie,2);{var Mt=st=>{var Ht=mS(),gi=v(Ht);z(()=>O(gi,d(r))),D(st,Ht)};W(ot,st=>{d(r)&&st(Mt)})}var ue=b(ot,2);{var Rt=st=>{var Ht=_J();D(st,Ht)};W(ue,st=>{d(s)&&st(Rt)})}var $e=b(ue,2),We=v($e),yt=v(We),Ut=b(ne,2),Gt=b(v(Ut),2),Dt=b(v(Gt)),St=v(Dt),Ot=b(Gt,2);{var kt=st=>{var Ht=vJ(),gi=wt(Ht),Ci=b(v(gi)),Yi=v(Ci),xi=b(Yi,2),Mi=b(gi,2);{var Ii=Ue=>{var zt=mJ(),ci=b(v(zt)),Bt=v(ci),Kt=b(Bt,2);z(()=>GL(Bt,d(P))),G("click",Kt,()=>E(d(P))),D(Ue,zt)};W(Mi,Ue=>{d(P)&&Ue(Ii)})}var Ki=b(Mi,2),Di=v(Ki),yn=v(Di);z(()=>{GL(Yi,d(c)),Di.disabled=d(u),O(yn,d(u)?"Generating…":"Regenerate keypair")}),G("click",xi,()=>E(d(c))),G("click",Di,x),D(st,Ht)},mi=st=>{var Ht=bJ(),gi=v(Ht),Ci=v(gi);z(()=>{gi.disabled=d(u),O(Ci,d(u)?"Generating…":"Generate keypair")}),G("click",gi,x),D(st,Ht)};W(Ot,st=>{d(c)?st(kt):st(mi,-1)})}var hi=b(Ot,2);{var Si=st=>{var Ht=mS(),gi=v(Ht);z(()=>O(gi,d(f))),D(st,Ht)};W(hi,st=>{d(f)&&st(Si)})}var Pi=b(Ut,2),Fi=b(v(Pi),2),Li=v(Fi),bi=v(Li),ri=b(Li,2);{var fi=st=>{var Ht=yJ();let gi;var Ci=v(Ht);z(Yi=>{gi=It(Ht,1,"test-result svelte-17yczfe",null,gi,Yi),O(Ci,d(p))},[()=>({ok:d(p).startsWith("✓"),fail:d(p).startsWith("✗")})]),D(st,Ht)};W(ri,st=>{d(p)&&st(fi)})}z(()=>{Ei(_t,"placeholder",d(a)),We.disabled=d(n),O(yt,d(n)?"Saving…":"Save"),O(St,d(t).identityFile||d(a)),Li.disabled=d(g)||!d(t).host,O(bi,d(g)?"Testing…":"Test SSH connection")}),Qt(_e,()=>d(t).host,st=>d(t).host=st),Qt(Re,()=>d(t).port,st=>d(t).port=st),Qt(pt,()=>d(t).user,st=>d(t).user=st),Qt(_t,()=>d(t).identityFile,st=>d(t).identityFile=st),G("click",We,m),G("click",Li,k),D(o,A),Hs()}Qs(["click"]);var CJ=T('<div class="err svelte-d31be1"> </div>'),xJ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1">This wizard will configure the <strong>Mosquitto Dynamic Security plugin</strong> for use with she. It will:</p> <ul class="svelte-d31be1"><li>Create a <code class="svelte-d31be1">she-admin</code> service account with a random strong password.</li> <li>Write <code class="svelte-d31be1">dynamic-security.json</code> to your mosquitto config directory.</li> <li>Add the <code class="svelte-d31be1">plugin</code> line to <code class="svelte-d31be1">mosquitto.conf</code>.</li> <li>Ask you to restart mosquitto to activate the plugin.</li></ul> <p class="hint svelte-d31be1">In <strong>remote mode</strong> (SSH host configured), <code class="svelte-d31be1">mosquitto_ctrl</code> is invoked on the broker host via SSH. In local mode, it must be installed on this machine. <code class="svelte-d31be1">mosquitto_ctrl</code> is part of the <code class="svelte-d31be1">mosquitto</code> package.</p> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Start</button></div></div>'),kJ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),LJ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1">dynsec is not yet active. Configure bootstrap settings:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" placeholder="(leave blank to auto-generate)" class="svelte-d31be1"/></label> <label class="svelte-d31be1">Mosquitto config directory<input class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1"> </button></div></div>'),IJ=T('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),DJ=T(`<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec files written and credentials saved.</div> <p class="svelte-d31be1">The <code class="svelte-d31be1">plugin</code> line has been added to <code class="svelte-d31be1"> </code>.</p> <p class="svelte-d31be1">Enabling a new plugin requires a <strong>full mosquitto restart</strong> (not just SIGHUP):</p> <div class="actions svelte-d31be1"><button class="btn-warn svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),EJ=T('<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec is configured and connected.</div> <p class="svelte-d31be1">she is now managing broker users and ACLs via the Dynamic Security plugin. You can use the <strong>Users & Roles</strong> tab to add users, create roles, and define ACL rules.</p> <div class="actions svelte-d31be1"><button class="btn-primary svelte-d31be1">Done</button></div></div>'),TJ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1">Enter the credentials of an existing dynsec admin account:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Back</button> <button class="btn-primary svelte-d31be1"> </button></div></div>'),PJ=T('<div class="wizard svelte-d31be1"><div class="wizard-header svelte-d31be1"><h3 class="svelte-d31be1">dynsec Setup Wizard</h3> <button class="skip-btn svelte-d31be1">Manual setup instead</button></div> <!> <!></div>');function MJ(o,e){Fs(e,!0);let t=M("intro"),i=M(""),n=M(!1),s=M("she-admin"),r=M(""),a=M("/etc/mosquitto"),c=M(null),u=M(!1),f=M(!1),g=M("she-admin"),p=M(""),w=M(!1);async function m(){y(n,!0),y(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?y(t,"done"):y(t,"config")}catch(be){y(i,be.message,!0)}finally{y(n,!1)}}async function x(){y(n,!0),y(i,"");try{const be=await fetch("/she/broker/wizard/bootstrap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adminUsername:d(s),adminPassword:d(r)||void 0,configDir:d(a)})}),_t=await be.json();if(!be.ok||!_t.ok)throw new Error(_t.error??"Bootstrap failed");y(c,_t,!0);const ot=await Dl(),Mt=ot.broker??{};await Xp({...ot,broker:{...Mt,dynsec:{adminUsername:_t.adminUsername,adminPassword:_t.adminPassword}}}),await X7().catch(()=>{}),y(t,"restart")}catch(be){y(i,be.message,!0)}finally{y(n,!1)}}async function k(){y(f,!0),y(i,"");try{await K7(),await new Promise(be=>setTimeout(be,2e3)),y(u,!0),y(t,"done")}catch(be){y(i,be.message,!0)}finally{y(f,!1)}}async function E(){y(w,!0),y(i,"");try{const be=await Dl(),_t=be.broker??{};await Xp({...be,broker:{..._t,dynsec:{adminUsername:d(g),adminPassword:d(p)}}}),y(t,"done")}catch(be){y(i,be.message,!0)}finally{y(w,!1)}}var P=PJ(),A=v(P),U=b(v(A),2),B=b(A,2);{var ne=be=>{var _t=CJ(),ot=v(_t);z(()=>O(ot,d(i))),D(be,_t)};W(B,be=>{d(i)&&be(ne)})}var ie=b(B,2);{var pe=be=>{var _t=xJ(),ot=b(v(_t),6),Mt=v(ot);z(()=>Mt.disabled=d(n)),G("click",Mt,()=>{y(t,"probe"),m()}),D(be,_t)},_e=be=>{var _t=kJ(),ot=v(_t),Mt=v(ot);z(()=>O(Mt,d(n)?"Probing dynsec…":"Checking dynsec status…")),D(be,_t)},Ke=be=>{var _t=LJ(),ot=b(v(_t),2),Mt=b(v(ot)),ue=b(ot,2),Rt=b(v(ue)),$e=b(ue,2),We=b(v($e)),yt=b($e,2),Ut=v(yt),Gt=v(Ut);z(()=>{Ut.disabled=d(n)||!d(s),O(Gt,d(n)?"Bootstrapping…":"Bootstrap dynsec")}),Qt(Mt,()=>d(s),Dt=>y(s,Dt)),Qt(Rt,()=>d(r),Dt=>y(r,Dt)),Qt(We,()=>d(a),Dt=>y(a,Dt)),G("click",Ut,x),D(be,_t)},Re=be=>{var _t=DJ(),ot=b(v(_t),2),Mt=b(v(ot),3),ue=v(Mt),Rt=b(ot,4),$e=v(Rt),We=v($e),yt=b($e,2),Ut=b(Rt,2);{var Gt=Dt=>{var St=IJ();D(Dt,St)};W(Ut,Dt=>{d(f)&&Dt(Gt)})}z(()=>{O(ue,d(c).confFilePath),$e.disabled=d(f),O(We,d(f)?"Restarting…":"Restart mosquitto now")}),G("click",$e,k),G("click",yt,()=>{y(t,"done")}),D(be,_t)},nt=be=>{var _t=EJ(),ot=b(v(_t),4),Mt=v(ot);G("click",Mt,function(...ue){var Rt;(Rt=e.onDone)==null||Rt.apply(this,ue)}),D(be,_t)},pt=be=>{var _t=TJ(),ot=b(v(_t),2),Mt=b(v(ot)),ue=b(ot,2),Rt=b(v(ue)),$e=b(ue,2),We=v($e),yt=b(We,2),Ut=v(yt);z(()=>{yt.disabled=d(w)||!d(g)||!d(p),O(Ut,d(w)?"Saving…":"Save credentials")}),Qt(Mt,()=>d(g),Gt=>y(g,Gt)),Qt(Rt,()=>d(p),Gt=>y(p,Gt)),G("click",We,()=>y(t,"intro")),G("click",yt,E),D(be,_t)};W(ie,be=>{d(t)==="intro"?be(pe):d(t)==="probe"?be(_e,1):d(t)==="config"?be(Ke,2):d(t)==="restart"&&d(c)?be(Re,3):d(t)==="done"?be(nt,4):d(t)==="manual"&&be(pt,5)})}G("click",U,()=>y(t,"manual")),D(o,P),Hs()}Qs(["click"]);var RJ=T('<div class="loading svelte-zuhcpo">Loading…</div>'),NJ=T('<div class="error-banner svelte-zuhcpo"> </div>'),AJ=T('<button class="deactivate-btn svelte-zuhcpo"> </button>'),OJ=T('<div class="error-inline svelte-zuhcpo"> </div>'),FJ=T('<div class="status-badge ok svelte-zuhcpo">Connected</div>'),HJ=T('<button class="diag-btn svelte-zuhcpo"> </button>'),wE=T('<p class="diag-issue svelte-zuhcpo"> </p>'),WJ=T('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),BJ=T('<p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">File</span><code class="svelte-zuhcpo"> </code></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Admin user exists</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Has admin role</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">$CONTROL publish ACL</span><span> </span></p> <!> <!>',1),zJ=T('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),SE=T('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),VJ=T('<div class="status-badge warn svelte-zuhcpo">Connected — plugin not responding</div> <p class="hint svelte-zuhcpo">The MQTT connection is up but the dynamic-security plugin is not responding.</p> <!> <!>',1),jJ=T('<div class="status-badge err svelte-zuhcpo">Disconnected</div>'),$J=T('<div class="status-badge warn svelte-zuhcpo">Not configured</div> <p class="hint svelte-zuhcpo">Set <code class="svelte-zuhcpo">broker.dynsec.adminUsername</code> and <code class="svelte-zuhcpo">broker.dynsec.adminPassword</code> in Config to enable dynsec management.</p> <!>',1),UJ=T('<div style="margin-top: 20px;"><!></div>'),qJ=T('<div class="status-grid svelte-zuhcpo"><div class="status-card svelte-zuhcpo"><div class="card-header svelte-zuhcpo"><h3 class="svelte-zuhcpo">Dynamic Security</h3> <!></div> <!> <!></div> <div class="status-card svelte-zuhcpo"><h3 class="svelte-zuhcpo">Broker</h3> <dl class="svelte-zuhcpo"><dt class="svelte-zuhcpo">Version</dt> <dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Uptime</dt> <dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Clients connected</dt> <dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Clients total</dt> <dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Messages received</dt> <dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Messages sent</dt> <dd class="svelte-zuhcpo"> </dd></dl></div></div> <!>',1),GJ=T('<div class="tab-content svelte-zuhcpo"><!></div>'),KJ=T('<div class="broker-page svelte-zuhcpo"><div class="sub-nav svelte-zuhcpo"><button>Status</button> <button>Users & Roles</button> <button>Listeners</button> <button>Certificates</button> <button>SSH / Remote</button></div> <!></div>');function ZJ(o,e){Fs(e,!0);let t=M(!1),i=M(!1),n=M(""),s=M(!1),r=M(null);const a="she-broker-tab";let c=M(pi(localStorage.getItem(a)??"status"));zn(()=>{localStorage.setItem(a,d(c))});let u=M(null),f=M(""),g=M(!0);async function p(){try{y(u,await lw(),!0),y(f,"")}catch(ue){y(f,ue.message??"Failed to load broker status",!0)}finally{y(g,!1)}}co(()=>{p();const ue=setInterval(p,1e4);return()=>clearInterval(ue)});async function w(){y(s,!0),y(r,null);try{y(r,await Y7(),!0)}catch(ue){y(r,{ok:!1,dynSecPath:"",issues:[ue.message??"Diagnose request failed"]},!0)}finally{y(s,!1)}}async function m(){if(confirm("Remove dynsec plugin lines from mosquitto.conf and clear credentials? You will need to restart mosquitto afterwards.")){y(i,!0),y(n,"");try{await Z7(),await p()}catch(ue){y(n,ue.message??"Deactivate failed",!0)}finally{y(i,!1)}}}function x(ue){var $e;if(!(($e=d(u))!=null&&$e.sys))return"—";const Rt=d(u).sys[ue];return Rt?String(Rt.val??"—"):"—"}var k=KJ(),E=v(k),P=v(E);let A;var U=b(P,2);let B;var ne=b(U,2);let ie;var pe=b(ne,2);let _e;var Ke=b(pe,2);let Re;var nt=b(E,2);{var pt=ue=>{var Rt=GJ(),$e=v(Rt);{var We=Gt=>{var Dt=RJ();D(Gt,Dt)},yt=Gt=>{var Dt=NJ(),St=v(Dt);z(()=>O(St,d(f))),D(Gt,Dt)},Ut=Gt=>{var Dt=qJ(),St=wt(Dt),Ot=v(St),kt=v(Ot),mi=b(v(kt),2);{var hi=Bt=>{var Kt=AJ(),Hi=v(Kt);z(()=>{Kt.disabled=d(i),O(Hi,d(i)?"Deactivating…":"Deactivate")}),G("click",Kt,m),D(Bt,Kt)};W(mi,Bt=>{d(u).dynsec.configured&&Bt(hi)})}var Si=b(kt,2);{var Pi=Bt=>{var Kt=OJ(),Hi=v(Kt);z(()=>O(Hi,d(n))),D(Bt,Kt)};W(Si,Bt=>{d(n)&&Bt(Pi)})}var Fi=b(Si,2);{var Li=Bt=>{var Kt=Ms(),Hi=wt(Kt);{var nn=xt=>{var Pe=Ms(),Q=wt(Pe);{var re=Ae=>{var Oe=FJ();D(Ae,Oe)},Ie=Ae=>{var Oe=VJ(),N=b(wt(Oe),4);{var ee=H=>{var Z=HJ(),J=v(Z);z(()=>{Z.disabled=d(s),O(J,d(s)?"Running diagnostics…":"Run diagnostics")}),G("click",Z,w),D(H,Z)},le=H=>{var Z=zJ(),J=wt(Z);let ke;var Ve=v(J);{var ve=ut=>{var mt=wE(),Et=v(mt);z(()=>O(Et,`⚠ ${d(r).error??""}`)),D(ut,mt)},Se=ut=>{var mt=BJ(),Et=wt(mt),Wt=b(v(Et)),oi=v(Wt),ti=b(Et,2),ai=b(v(ti)),ki=v(ai),Ri=b(ti,2),ji=b(v(Ri)),wi=v(ji),Ni=b(Ri,2),gn=b(v(Ni)),Fn=v(gn),Un=b(Ni,2);ui(Un,17,()=>d(r).issues,qi,(Wi,V)=>{var se=wE(),Xe=v(se);z(()=>O(Xe,`⚠ ${d(V)??""}`)),D(Wi,se)});var In=b(Un,2);{var ni=Wi=>{var V=WJ();D(Wi,V)};W(In,Wi=>{d(r).ok&&Wi(ni)})}z(()=>{O(oi,d(r).dynSecPath),It(ai,1,ud(d(r).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),O(ki,d(r).adminClientExists?"✓ yes":"✗ no"),It(ji,1,ud(d(r).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),O(wi,d(r).hasAdminRole?"✓ yes":"✗ no"),It(gn,1,ud(d(r).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),O(Fn,d(r).hasControlSendAcl?"✓ present":"✗ missing")}),D(ut,mt)};W(Ve,ut=>{d(r).error?ut(ve):ut(Se,-1)})}var Je=b(J,2),Lt=v(Je);z(()=>{ke=It(J,1,"diag-card svelte-zuhcpo",null,ke,{"diag-ok":d(r).ok,"diag-fail":!d(r).ok}),Je.disabled=d(s),O(Lt,d(s)?"Running…":"Re-run")}),G("click",Je,w),D(H,Z)};W(N,H=>{d(r)?H(le,-1):H(ee)})}var ye=b(N,2);{var Ne=H=>{var Z=SE();G("click",Z,()=>y(t,!0)),D(H,Z)};W(ye,H=>{d(t)||H(Ne)})}D(Ae,Oe)};W(Q,Ae=>{d(u).dynsec.dynsecReady?Ae(re):Ae(Ie,-1)})}D(xt,Pe)},lt=xt=>{var Pe=jJ();D(xt,Pe)};W(Hi,xt=>{d(u).dynsec.connected?xt(nn):xt(lt,-1)})}D(Bt,Kt)},bi=Bt=>{var Kt=$J(),Hi=b(wt(Kt),4);{var nn=lt=>{var xt=SE();G("click",xt,()=>y(t,!0)),D(lt,xt)};W(Hi,lt=>{d(t)||lt(nn)})}D(Bt,Kt)};W(Fi,Bt=>{d(u).dynsec.configured?Bt(Li):Bt(bi,-1)})}var ri=b(Ot,2),fi=b(v(ri),2),st=b(v(fi),2),Ht=v(st),gi=b(st,4),Ci=v(gi),Yi=b(gi,4),xi=v(Yi),Mi=b(Yi,4),Ii=v(Mi),Ki=b(Mi,4),Di=v(Ki),yn=b(Ki,4),Ue=v(yn),zt=b(St,2);{var ci=Bt=>{var Kt=UJ(),Hi=v(Kt);MJ(Hi,{onDone:()=>{y(t,!1),p()}}),D(Bt,Kt)};W(zt,Bt=>{d(t)&&(!d(u).dynsec.configured||!d(u).dynsec.dynsecReady)&&Bt(ci)})}z((Bt,Kt,Hi,nn,lt,xt)=>{O(Ht,Bt),O(Ci,Kt),O(xi,Hi),O(Ii,nn),O(Di,lt),O(Ue,xt)},[()=>x("$SYS/broker/version"),()=>x("$SYS/broker/uptime"),()=>x("$SYS/broker/clients/connected"),()=>x("$SYS/broker/clients/total"),()=>x("$SYS/broker/messages/received"),()=>x("$SYS/broker/messages/sent")]),D(Gt,Dt)};W($e,Gt=>{d(g)?Gt(We):d(f)?Gt(yt,1):d(u)&&Gt(Ut,2)})}D(ue,Rt)},be=ue=>{{let Rt=ct(()=>{var $e;return(($e=d(u))==null?void 0:$e.dynsec.dynsecReady)??!1});kQ(ue,{get dynsecReady(){return d(Rt)}})}},_t=ue=>{NQ(ue,{})},ot=ue=>{pJ(ue,{})},Mt=ue=>{SJ(ue,{})};W(nt,ue=>{d(c)==="status"?ue(pt):d(c)==="users"?ue(be,1):d(c)==="listeners"?ue(_t,2):d(c)==="certs"?ue(ot,3):d(c)==="ssh"&&ue(Mt,4)})}z(()=>{A=It(P,1,"svelte-zuhcpo",null,A,{active:d(c)==="status"}),B=It(U,1,"svelte-zuhcpo",null,B,{active:d(c)==="users"}),ie=It(ne,1,"svelte-zuhcpo",null,ie,{active:d(c)==="listeners"}),_e=It(pe,1,"svelte-zuhcpo",null,_e,{active:d(c)==="certs"}),Re=It(Ke,1,"svelte-zuhcpo",null,Re,{active:d(c)==="ssh"})}),G("click",P,()=>y(c,"status")),G("click",U,()=>y(c,"users")),G("click",ne,()=>y(c,"listeners")),G("click",pe,()=>y(c,"certs")),G("click",Ke,()=>y(c,"ssh")),D(o,k),Hs()}Qs(["click"]);var XJ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),YJ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),QJ=T('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),JJ=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),eee=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),tee=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),iee=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),nee=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),see=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),oee=T('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),ree=T('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),aee=T('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),lee=T('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button>'),cee=T('<div class="version-popup svelte-1n46o8q"><dl class="svelte-1n46o8q"><dt class="svelte-1n46o8q">Installed</dt><dd class="svelte-1n46o8q"></dd> <!></dl> <div class="version-actions svelte-1n46o8q"><!> <button class="check-btn svelte-1n46o8q" title="Check for updates now"><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button></div></div>'),dee=T('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),uee=T('<dt class="svelte-1n46o8q">Matter nodes</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Matter endpoints</dt><dd class="svelte-1n46o8q"> </dd>',1),hee=T('<dt class="svelte-1n46o8q">DB docs</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">DB views</dt><dd class="svelte-1n46o8q"> </dd>',1),fee=T('<dl class="svelte-1n46o8q"><!> <dt class="svelte-1n46o8q">Scripts</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT topics</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT msg/s</dt><dd class="svelte-1n46o8q"> </dd> <!> <!> <dt class="svelte-1n46o8q">Handlers</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Memory</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">CPU</dt><dd class="svelte-1n46o8q"> </dd></dl>'),gee=T('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),pee=T('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M18.36 6.64a9 9 0 1 1-12.73 0" class="svelte-1n46o8q"></path><line x1="12" y1="2" x2="12" y2="12" class="svelte-1n46o8q"></line></svg> Restart daemon</button>'),_ee=T('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),mee=T('<button class="nav-logout svelte-1n46o8q" title="Logout"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" class="svelte-1n46o8q"></path><polyline points="16 17 21 12 16 7" class="svelte-1n46o8q"></polyline><line x1="21" y1="12" x2="9" y2="12" class="svelte-1n46o8q"></line></svg></button>'),vee=T('<div class="shell svelte-1n46o8q"><nav class="svelte-1n46o8q"><span class="brand svelte-1n46o8q">she</span> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="5,3 1,8 5,13" class="svelte-1n46o8q"></polyline><polyline points="11,3 15,8 11,13" class="svelte-1n46o8q"></polyline></svg> Scripts</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" class="svelte-1n46o8q"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1" class="svelte-1n46o8q"></rect><path d="M2,11 V5 H5 V11" class="svelte-1n46o8q"></path><path d="M6,12 V5 H9 V8 H6" class="svelte-1n46o8q"></path><path d="M10,11 V5 H15 V11" class="svelte-1n46o8q"></path><line x1="12.5" y1="5" x2="12.5" y2="11" class="svelte-1n46o8q"></line></svg> Packages <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle" class="svelte-1n46o8q"><path fill-rule="evenodd" d="M2,0 H14 A2,2 0 0,1 16,2 V14 A2,2 0 0,1 14,16 H0 V2 A2,2 0 0,1 2,0 Z M0,16 L0,12 A4,4 0 0,1 4,16 Z M0,10.5 A5.5,5.5 0 0,1 5.5,16 L9,16 A9,9 0 0,0 0,7 Z M0,5.5 A10.5,10.5 0 0,1 10.5,16 L13.5,16 A13.5,13.5 0 0,0 0,2.5 Z" class="svelte-1n46o8q"></path></svg> MQTT <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><rect x="2.5" y="7" width="11" height="8" rx="1.5" class="svelte-1n46o8q"></rect><path d="M5.5,7 V5 A2.5,2.5 0,0,1 10.5,5 V7" class="svelte-1n46o8q"></path><circle cx="8" cy="11.5" r="1" fill="currentColor" stroke="none" class="svelte-1n46o8q"></circle></svg> Security</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M8,2 L8,7" class="svelte-1n46o8q"></path><path d="M6,5 L8,7.5 L10,5" class="svelte-1n46o8q"></path><path d="M2.5,14 L6,10" class="svelte-1n46o8q"></path><path d="M6.2,12.8 L6,10 L3.2,10.2" class="svelte-1n46o8q"></path><path d="M13.5,14 L10,10" class="svelte-1n46o8q"></path><path d="M9.8,12.8 L10,10 L12.8,10.2" class="svelte-1n46o8q"></path></svg> Matter <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><ellipse cx="8" cy="4.5" rx="5" ry="1.8" class="svelte-1n46o8q"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7" class="svelte-1n46o8q"></path><path d="M3,8 a5,1.8 0,0,0 10,0" class="svelte-1n46o8q"></path></svg> DB</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-1n46o8q"><line x1="2" y1="5" x2="14" y2="5" class="svelte-1n46o8q"></line><line x1="2" y1="8" x2="14" y2="8" class="svelte-1n46o8q"></line><line x1="2" y1="11" x2="9" y2="11" class="svelte-1n46o8q"></line></svg> Logs <!></button> <div class="nav-spacer svelte-1n46o8q"></div> <div class="nav-right svelte-1n46o8q"><a class="nav-icon svelte-1n46o8q" href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" title="GitHub"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" class="svelte-1n46o8q"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" class="svelte-1n46o8q"></path></svg></a> <div class="version-wrap svelte-1n46o8q"><button class="version svelte-1n46o8q"> <!></button> <!></div> <div class="stats-wrap svelte-1n46o8q"><button class="nav-icon svelte-1n46o8q" title="Daemon status"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><line x1="18" y1="20" x2="18" y2="10" class="svelte-1n46o8q"></line><line x1="12" y1="20" x2="12" y2="4" class="svelte-1n46o8q"></line><line x1="6" y1="20" x2="6" y2="14" class="svelte-1n46o8q"></line></svg></button> <!></div> <button title="Settings"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" class="svelte-1n46o8q"></path><circle cx="12" cy="12" r="3" class="svelte-1n46o8q"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),bee=T('<div class="login-error svelte-1n46o8q"> </div>'),yee=T('<div class="login-overlay svelte-1n46o8q"><form class="login-box svelte-1n46o8q"><div class="login-brand svelte-1n46o8q">she</div> <h2 class="svelte-1n46o8q">Sign in</h2> <div class="login-field svelte-1n46o8q"><label for="she-password" class="svelte-1n46o8q">Password</label> <input id="she-password" type="password" placeholder="Enter password" autocomplete="current-password" class="svelte-1n46o8q"/></div> <!> <button type="submit" class="login-btn svelte-1n46o8q"> </button></form></div>'),wee=T('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Restarting smart-home-engine…</div></div>'),See=T('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Updating smart-home-engine…</div></div>'),Cee=T("<!> <!> <!> <!>",1);function xee(o,e){Fs(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const kt=location.hash.slice(1);return t.includes(kt)?kt:"scripts"}let n=M(pi(i())),s=M(null),r=M(!1),a=M(!1),c=M(!1),u=M(!1),f=M("none"),g=M(""),p=M(!1),w=M(""),m=M(""),x=M(!1),k=M(!1);p7(()=>{y(p,!0)});async function E(){y(m,""),y(x,!0);try{await v7(d(w)),y(w,""),y(p,!1)}catch(kt){y(m,kt.message??"Login failed",!0)}finally{y(x,!1)}}async function P(){if(d(f)==="proxy"&&d(g)){window.location.href=d(g);return}await b7(),y(p,!0)}let A=M(null),U=M(!1),B=M(!1),ne=M(!1),ie=M(!1),pe=M(pi([])),_e=M(0),Ke=M(pi([]));const Re=ct(()=>d(Ke).filter(kt=>kt.online).length),nt=ct(()=>d(Ke).length===0?"none":d(Re)===d(Ke).length?"all":d(Re)>0?"some":"offline");let pt=M(!1),be=M(!1);async function _t(){if(!await d(A).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;y(U,!0);let kt;try{kt=(await Bg()).startedAt}catch{}try{await FN()}catch{}const mi=Date.now()+6e4;for(;Date.now()<mi;){await new Promise(hi=>setTimeout(hi,250));try{const hi=await Bg();if(kt===void 0||hi.startedAt!==kt){location.reload();return}}catch{}}location.reload()}async function ot(){y(c,!0);try{const kt=await k7();d(s)&&y(s,{...d(s),latestVersion:kt.latestVersion??void 0},!0)}catch{}finally{y(c,!1)}}async function Mt(){var hi,Si;if(!await d(A).show(`Update to v${(hi=d(s))==null?void 0:hi.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;y(a,!1),y(u,!0);const kt=(Si=d(s))==null?void 0:Si.startedAt;try{await x7()}catch{}const mi=Date.now()+18e4;for(;Date.now()<mi;){await new Promise(Pi=>setTimeout(Pi,1e3));try{const Pi=await Bg();if(kt===void 0||Pi.startedAt!==kt){location.reload();return}}catch{y(u,!1),y(U,!0)}}location.reload()}function ue(kt){y(n,kt,!0),location.hash=kt}co(async()=>{location.hash||(location.hash=d(n));const kt=()=>{y(n,i(),!0)};window.addEventListener("hashchange",kt);try{const ri=await m7();y(f,ri.mode,!0),y(g,ri.proxyLogoutUrl??"",!0),d(f)==="password"&&(await fetch("/she/scripts")).status===401&&y(p,!0)}catch{}y(k,!0);async function mi(){try{y(s,await Bg(),!0)}catch{}try{const[ri,fi]=await Promise.all([BN(),Dl()]);y(pe,Array.isArray(fi.pinnedPackages)?fi.pinnedPackages:[],!0),y(_e,Object.keys(ri).filter(st=>!d(pe).includes(st)).length,!0)}catch{}}mi();const hi=setInterval(mi,5e3),Si=Pr("mqtt:status",ri=>{ri.connected===!1?(y(ie,!0),y(B,!1),y(ne,!1)):(y(ie,!1),y(B,ri.ready===!1),y(ne,ri.ready===!0))}),Pi=Pr("matter:deviceList",ri=>{Array.isArray(ri.devices)&&y(Ke,ri.devices.map(fi=>({nodeId:String(fi.nodeId),online:!!fi.online})),!0)}),Fi=Pr("matter:deviceStatus",ri=>{if(ri.nodeId===void 0)return;const fi=String(ri.nodeId),st=!!ri.online;y(Ke,d(Ke).map(Ht=>Ht.nodeId===fi?{...Ht,online:st}:Ht),!0)}),Li=XN();y(pt,Li.some(ri=>ri.level==="error"),!0),y(be,!d(pt)&&Li.some(ri=>ri.level==="warn"),!0);const bi=Ik(ri=>{ri.level==="error"?(y(pt,!0),y(be,!1)):ri.level==="warn"&&!d(pt)&&y(be,!0)});return()=>{window.removeEventListener("hashchange",kt),clearInterval(hi),Si(),Pi(),Fi(),bi()}});var Rt=Cee();ds("click",kP,()=>{d(r)&&y(r,!1),d(a)&&y(a,!1)});var $e=wt(Rt);{var We=kt=>{var mi=vee(),hi=v(mi),Si=b(v(hi),2);let Pi;var Fi=b(Si,2);let Li;var bi=b(v(Fi),2);{var ri=$=>{var te=XJ();z(()=>Ei(te,"title",`${d(_e)??""} package update${d(_e)===1?"":"s"} available`)),D($,te)};W(bi,$=>{d(_e)>0&&$(ri)})}var fi=b(Fi,2);let st;var Ht=b(v(fi),2);{var gi=$=>{var te=YJ();D($,te)},Ci=$=>{var te=QJ();D($,te)},Yi=$=>{var te=JJ();D($,te)};W(Ht,$=>{d(ie)?$(gi):d(B)?$(Ci,1):d(ne)&&$(Yi,2)})}var xi=b(fi,2);let Mi;var Ii=b(xi,2);let Ki;var Di=b(v(Ii),2);{var yn=$=>{var te=eee();D($,te)},Ue=$=>{var te=tee();D($,te)},zt=$=>{var te=iee();D($,te)};W(Di,$=>{d(nt)==="all"?$(yn):d(nt)==="some"?$(Ue,1):d(nt)==="offline"&&$(zt,2)})}var ci=b(Ii,2);let Bt;var Kt=b(ci,2);let Hi;var nn=b(v(Kt),2);{var lt=$=>{var te=nee();D($,te)},xt=$=>{var te=see();D($,te)};W(nn,$=>{d(pt)?$(lt):d(be)&&$(xt,1)})}var Pe=b(Kt,4),Q=b(v(Pe),2),re=v(Q),Ie=v(re);Ie.nodeValue="v1.2.0 ";var Ae=b(Ie);{var Oe=$=>{var te=oee();D($,te)};W(Ae,$=>{var te,we;(te=d(s))!=null&&te.latestVersion&&!((we=d(s))!=null&&we.docker)&&$(Oe)})}var N=b(re,2);{var ee=$=>{var te=cee(),we=v(te),it=b(v(we));it.textContent="v1.2.0";var ae=b(it,2);{var De=Fe=>{var Me=ree(),Nt=b(wt(Me)),gt=v(Nt);z(()=>O(gt,`v${d(s).latestVersion??""}`)),D(Fe,Me)},vt=Fe=>{var Me=aee();D(Fe,Me)};W(ae,Fe=>{var Me;(Me=d(s))!=null&&Me.latestVersion?Fe(De):Fe(vt,-1)})}var Be=b(we,2),qe=v(Be);{var Tt=Fe=>{var Me=lee(),Nt=b(v(Me));z(()=>O(Nt,` Update to v${d(s).latestVersion??""}`)),G("click",Me,Mt),D(Fe,Me)};W(qe,Fe=>{var Me;(Me=d(s))!=null&&Me.latestVersion&&Fe(Tt)})}var q=b(qe,2),oe=v(q);let ze;var Ze=b(oe);z(()=>{q.disabled=d(c),ze=It(oe,0,"svelte-1n46o8q",null,ze,{spinning:d(c)}),O(Ze,` ${d(c)?"Checking…":"Check for updates"}`)}),G("click",te,Fe=>Fe.stopPropagation()),G("click",q,ot),D($,te)};W(N,$=>{var te;d(a)&&!((te=d(s))!=null&&te.docker)&&$(ee)})}var le=b(Q,2),ye=v(le),Ne=b(ye,2);{var H=$=>{var te=_ee(),we=v(te);{var it=qe=>{var Tt=fee(),q=v(Tt);{var oe=rt=>{const at=ct(()=>Math.floor((Date.now()-d(s).startedAt)/1e3)),et=ct(()=>Math.floor(d(at)/86400)),qt=ct(()=>Math.floor(d(at)%86400/3600)),Xt=ct(()=>Math.floor(d(at)%3600/60));var sn=dee(),Bi=b(wt(sn)),hn=v(Bi);z(()=>O(hn,`${d(et)>0?d(et)+"d ":""}${d(qt)>0||d(et)>0?d(qt)+"h ":""}${d(Xt)??""}m`)),D(rt,sn)};W(q,rt=>{d(s).startedAt&&rt(oe)})}var ze=b(q,3),Ze=v(ze),Fe=b(ze,3),Me=v(Fe),Nt=b(Fe,3),gt=v(Nt),Ye=b(Nt,2);{var Pt=rt=>{var at=uee(),et=b(wt(at)),qt=v(et),Xt=b(et,3),sn=v(Xt);z(()=>{O(qt,d(s).matterNodes??0),O(sn,d(s).matterEndpoints??0)}),D(rt,at)};W(Ye,rt=>{d(s).matterEnabled&&rt(Pt)})}var tt=b(Ye,2);{var ge=rt=>{var at=hee(),et=b(wt(at)),qt=v(et),Xt=b(et,3),sn=v(Xt);z(()=>{O(qt,d(s).dbDocs??"—"),O(sn,d(s).dbViews??"—")}),D(rt,at)};W(tt,rt=>{d(s).dbEnabled&&rt(ge)})}var Ee=b(tt,3),Le=v(Ee),He=b(Ee,3),Ct=v(He),Ce=b(He,3),Ge=v(Ce);z(()=>{O(Ze,d(s).scripts),O(Me,d(s).topics),O(gt,d(s).mqttMsgPerSec??"—"),O(Le,d(s).handlers??"—"),O(Ct,d(s).memMb!=null?d(s).memMb+" MB":"—"),O(Ge,d(s).cpuPercent!=null?d(s).cpuPercent+" %":"—")}),D(qe,Tt)},ae=qe=>{var Tt=gee();D(qe,Tt)};W(we,qe=>{d(s)?qe(it):qe(ae,-1)})}var De=b(we,2),vt=v(De);{var Be=qe=>{var Tt=pee();G("click",Tt,()=>{y(r,!1),_t()}),D(qe,Tt)};W(vt,qe=>{var Tt;(Tt=d(s))!=null&&Tt.docker||qe(Be)})}G("click",te,qe=>qe.stopPropagation()),D($,te)};W(Ne,$=>{d(r)&&$(H)})}var Z=b(le,2);let J;var ke=b(Z,2);{var Ve=$=>{var te=mee();G("click",te,P),D($,te)};W(ke,$=>{d(f)==="password"&&$(Ve)})}var ve=b(hi,2),Se=v(ve);Ps(Jf(Se,{}),$=>y(A,$,!0),()=>d(A));var Je=b(Se,2);let Lt;var ut=v(Je);{let $=ct(()=>d(n)==="scripts");vK(ut,{get active(){return d($)}})}var mt=b(Je,2);let Et;var Wt=v(mt);tQ(Wt,{});var oi=b(mt,2);let ti;var ai=v(oi);OY(ai,{});var ki=b(oi,2);let Ri;var ji=v(ki);tY(ji,{});var wi=b(ki,2);let Ni;var gn=v(wi);ZJ(gn,{});var Fn=b(wi,2);let Un;var In=v(Fn);uX(In,{});var ni=b(Fn,2);let Wi;var V=v(ni);nZ(V,{});var se=b(ni,2);let Xe;var X=v(se);aZ(X,{}),z(()=>{Pi=It(Si,1,"svelte-1n46o8q",null,Pi,{active:d(n)==="scripts"}),Li=It(Fi,1,"svelte-1n46o8q",null,Li,{active:d(n)==="packages"}),st=It(fi,1,"svelte-1n46o8q",null,st,{active:d(n)==="mqtt"}),Mi=It(xi,1,"svelte-1n46o8q",null,Mi,{active:d(n)==="security"}),Ki=It(Ii,1,"svelte-1n46o8q",null,Ki,{active:d(n)==="matter"}),Bt=It(ci,1,"svelte-1n46o8q",null,Bt,{active:d(n)==="db"}),Hi=It(Kt,1,"svelte-1n46o8q",null,Hi,{active:d(n)==="logs"}),J=It(Z,1,"nav-settings svelte-1n46o8q",null,J,{active:d(n)==="config"}),Lt=It(Je,1,"page-wrap svelte-1n46o8q",null,Lt,{hidden:d(n)!=="scripts"}),Et=It(mt,1,"page-wrap svelte-1n46o8q",null,Et,{hidden:d(n)!=="packages"}),ti=It(oi,1,"page-wrap svelte-1n46o8q",null,ti,{hidden:d(n)!=="mqtt"}),Ri=It(ki,1,"page-wrap svelte-1n46o8q",null,Ri,{hidden:d(n)!=="matter"}),Ni=It(wi,1,"page-wrap svelte-1n46o8q",null,Ni,{hidden:d(n)!=="security"}),Un=It(Fn,1,"page-wrap svelte-1n46o8q",null,Un,{hidden:d(n)!=="db"}),Wi=It(ni,1,"page-wrap svelte-1n46o8q",null,Wi,{hidden:d(n)!=="config"}),Xe=It(se,1,"page-wrap svelte-1n46o8q",null,Xe,{hidden:d(n)!=="logs"})}),G("click",Si,()=>ue("scripts")),G("click",Fi,()=>ue("packages")),G("click",fi,()=>ue("mqtt")),G("click",xi,()=>ue("security")),G("click",Ii,()=>ue("matter")),G("click",ci,()=>ue("db")),G("click",Kt,()=>{ue("logs"),y(pt,!1),y(be,!1)}),G("click",re,$=>{$.stopPropagation(),y(a,!d(a)),y(r,!1)}),G("click",ye,$=>{$.stopPropagation(),y(r,!d(r)),y(a,!1)}),G("click",Z,()=>ue("config")),D(kt,mi)};W($e,kt=>{d(k)&&!d(p)&&kt(We)})}var yt=b($e,2);{var Ut=kt=>{var mi=yee(),hi=v(mi),Si=b(v(hi),4),Pi=b(v(Si),2),Fi=b(Si,2);{var Li=fi=>{var st=bee(),Ht=v(st);z(()=>O(Ht,d(m))),D(fi,st)};W(Fi,fi=>{d(m)&&fi(Li)})}var bi=b(Fi,2),ri=v(bi);z(()=>{Pi.disabled=d(x),bi.disabled=d(x)||!d(w),O(ri,d(x)?"Signing in…":"Sign in")}),ds("submit",hi,fi=>{fi.preventDefault(),E()}),Qt(Pi,()=>d(w),fi=>y(w,fi)),D(kt,mi)};W(yt,kt=>{d(p)&&kt(Ut)})}var Gt=b(yt,2);{var Dt=kt=>{var mi=wee();D(kt,mi)};W(Gt,kt=>{d(U)&&kt(Dt)})}var St=b(Gt,2);{var Ot=kt=>{var mi=See();D(kt,mi)};W(St,kt=>{d(u)&&kt(Ot)})}D(o,Rt),Hs()}Qs(["click"]);NH(xee,{target:document.getElementById("app")});export{oM as t};
|